/* Readable text on the existing light brand themes; loaded after theme.css. */
body.ivory {
  --text: #2c342b;
  --muted: #50594e;
  --accent: #805727;
  --button: #805727;
  --button-text: #fffefa;
  --control-line: #6d7568;
}
body.light {
  --muted: #435867;
  --control-line: #6c7b83;
}
body { line-height: 1.7; }
.navigation { font-size: 14px; }
.hero .intro { font-size: 16px; }
.eyebrow { font-size: 12px; line-height: 1.65; letter-spacing: .13em; }
.status-bar { font-size: 12px; letter-spacing: .06em; }
.logo small { font-size: 12px; }
.hero-baseline { font-size: 12px; }
.principle > span, .card-heading .number { font-size: 12px; }
.text-link { font-size: 14px; border-bottom-color: var(--accent); }
.button { font-size: 14px; }
.principle h3 { font-size: 15px; }
.principle p, .category-card > p, .product-card p { font-size: 14px; }
.section-heading p, .process-item p, .cta-panel p { font-size: 15px; }
.story-copy p, .page-intro, .content-block p { font-size: 16px; }
.visual-caption, .section-note, .results-count { font-size: 12px; }
.image-badge {
  color: #fff;
  background: #243129;
  font-size: 12px;
  opacity: 1;
}
.hero-visual::before {
  background: var(--bg);
  padding: 5px 9px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .08em;
}
.notice, .content-band p, .request-aside p, .request-aside ol { font-size: 14px; }
.filter-button, .placeholder-list li, .specs div { font-size: 14px; }
.product-meta, .footer-title, .breadcrumb { font-size: 12px; }
.footer-grid p, .footer-bottom { font-size: 12px; }
.footer-links, .footer-contact, .contact-visual p { font-size: 14px; }
.detail-copy > p { font-size: 16px; }
.detail-copy .small-note, .contact-card small { font-size: 13px; }
.field label { font-size: 14px; }
.field label span { font-size: 12px; }
input, select, textarea { font-size: 16px; border-color: var(--control-line); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
.form-note, .form-result p { font-size: 14px; }
.form-result pre { font: 14px/1.85 Arial, Helvetica, sans-serif; }
.reset-button { font-size: 14px; }
.filter-button, .menu-toggle, .navigation .nav-cta, .button.secondary {
  border-color: var(--control-line);
}
:focus-visible { outline-width: 3px; outline-offset: 4px; }
.site-header { position: relative; }
@media (max-width: 980px) {
  .menu-toggle { display: block; }
  .navigation {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    z-index: 50;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--bg);
    border: 1px solid var(--control-line);
    padding: 15px;
    box-shadow: 0 12px 25px #20302015;
  }
  .navigation.is-open { display: flex; }
  .navigation a { padding: 13px; }
  .navigation .nav-cta { margin-top: 8px; }
}
@media (max-width: 800px), (max-width: 980px) and (max-height: 560px) {
  body { --contact-clearance: calc(112px + env(safe-area-inset-bottom, 0px)); }
  html { scroll-padding-bottom: calc(132px + env(safe-area-inset-bottom, 0px)); }
  input, select, textarea, button, a, [tabindex] {
    scroll-margin-bottom: calc(132px + env(safe-area-inset-bottom, 0px));
  }
  .hero .intro { font-size: 16px; }
  .eyebrow { font-size: 12px; }
  .hero-actions .text-link { font-size: 13px; }
  .visual-caption { font-size: 12px; }
  .mobile-contact-button {
    gap: 8px;
    padding: 10px 12px;
    min-height: 58px;
    min-width: 0;
  }
  .mobile-contact-button.whatsapp { background: #116c3d; }
  .mobile-contact-button small { font-size: 12px; opacity: 1; }
  .contact-icon { flex-shrink: 0; }
  .contact-icon svg { width: 21px; height: 21px; }
  .contact-feedback p { font-size: 15px; }
  .contact-nojs { font-size: 12px; }
}
