/* Clearer body copy and navigation; preserve the large display typography. */
:root { --muted: #64695f; }

.site-nav { font-size: 16px; font-weight: 600; }
.hero-kicker { font-size: 12px; }
.hero-lede { font-size: 17px; line-height: 1.85; }
.hero-link { font-size: 12px; }
.hero-foot { font-size: 10px; }
.video-toggle { font-size: 12px; min-height: 44px; }
.scroll-cue { font-size: 10px; }
.eyebrow { font-size: 12px; }

.heading-note p { font-size: 16px; line-height: 1.85; }
.heading-note > span { font-size: 12px; }
.world-index { font-size: 11px; }
.world-caption > div > span { font-size: 15px; line-height: 1.5; }
.statement-note { font-size: 16px; line-height: 1.85; }
.w-caption { font-size: 12px; }
.w-caption small { font-size: 10px; color: #676d60; }
.statement-bottom { font-size: 11px; color: #62685c; }

.real-note { font-size: 15px; line-height: 1.8; }
.filters { gap: 28px; }
.filter { font-size: 15px; min-height: 44px; color: #696f62; }
.filter sup { font-size: 10px; }
.case-tag { font-size: 11px; line-height: 1.6; color: #646b5b; }
.case-info h3 { font-size: 17px; line-height: 1.65; margin-top: 7px; }
.case-info { padding-top: 15px; }

.service-toggle > span { font-size: 12px; }
.service-toggle small { font-size: 14px; line-height: 1.6; }
.service-detail p { font-size: 16px; line-height: 1.85; color: #c2c6ba; }
.contact-line { font-size: 17px; line-height: 1.8; }
.brief-panel summary { font-size: 17px; line-height: 1.6; }
.brief-form label { font-size: 14px; line-height: 1.6; }
.brief-form input,
.brief-form select,
.brief-form textarea { font-size: 16px; line-height: 1.6; }
.button { font-size: 16px; line-height: 1.6; }
.form-note { font-size: 13px; line-height: 1.85; color: #414f19; }
.copy-status { font-size: 14px; line-height: 1.8; }

.picker-head .eyebrow { font-size: 11px; }
.picker-head p:not(.eyebrow) { font-size: 15px; line-height: 1.8; }
.scene-choice > span { font-size: 14px; line-height: 1.65; align-items: start; }
.scene-choice i { flex: none; }
.picker-note { font-size: 12px; line-height: 1.8; color: #b1b8a6; }
.footer-top > p { font-size: 14px; }
.footer-top > a:last-child { font-size: 13px; }
.footer-bottom { font-size: 12px; line-height: 1.8; color: #aab29e; }

@media (max-width: 760px) {
  .site-nav { font-size: 20px; line-height: 1.5; }
  .site-nav > a { padding: 15px 0; }
  .menu-toggle { min-width: 44px; min-height: 44px; justify-content: center; align-items: end; }
  .hero-kicker { font-size: 11px; letter-spacing: .08em; }
  .hero-lede { font-size: 16px; line-height: 1.85; }
  .hero-link { font-size: 11px; }
  .hero-foot { font-size: 9px; }
  .hero-foot > span { max-width: 145px; }
  .hero-foot .video-toggle { font-size: 11px; }
  .scroll-cue { font-size: 0; }
  .eyebrow { font-size: 11px; line-height: 1.6; }
  .heading-note p { font-size: 15px; line-height: 1.85; }
  .heading-note > span { font-size: 12px; }
  .world-index { font-size: 10px; }
  .world-caption > div > span { font-size: 14px; }
  .statement-note { font-size: 15px; line-height: 1.85; }
  .w-caption { font-size: 11px; }
  .w-caption small { font-size: 10px; }
  .statement-bottom { font-size: 10px; }
  .real-note { font-size: 14px; line-height: 1.8; }
  .filters { gap: 25px; }
  .filter { font-size: 14px; }
  .case-tag { font-size: 11px; }
  .case-info h3 { font-size: 15px; line-height: 1.65; }
  .case-info { padding-top: 12px; }
  .project-grid { row-gap: 30px; }
  .service-toggle small { display: block; font-size: 13px; margin: 8px 0 0; }
  .service-detail p { font-size: 15px; line-height: 1.85; }
  .contact-line { font-size: 16px; }
  .brief-panel summary { font-size: 16px; }
  .brief-form { row-gap: 24px; }
  .brief-form label { font-size: 14px; }
  .brief-form input,
  .brief-form select,
  .brief-form textarea { font-size: 16px; }
  .form-note { font-size: 13px; }
  .picker-head .eyebrow { font-size: 10px; }
  .picker-head p:not(.eyebrow) { font-size: 14px; }
  .scene-choice > span { font-size: 14px; }
  .picker-note { font-size: 12px; }
  .footer-top > p { font-size: 13px; }
  .footer-top > a:last-child { font-size: 13px; }
  .footer-bottom { flex-direction: column; align-items: start; gap: 8px; font-size: 12px; }
  .footer-bottom > span:last-child { text-align: left; }
}

@media (max-width: 760px) and (max-height: 600px) {
  .hero h1 { font-size: min(23vw, 23svh); }
}
