/* V17: a phone reading and touch layer. Desktop compositions are unchanged. */
@media (max-width:800px) {
  html { scroll-padding-top:96px; -webkit-text-size-adjust:100%; }
  .site-header,.site-header.is-scrolled { background:#101411; backdrop-filter:none; }
  .site-header.is-scrolled { animation:none; }
  .menu-toggle { width:44px; height:44px; padding:10px; flex-shrink:0; }
  .header-actions { gap:7px; }
  .header-cta { min-height:44px; font-size:11px; gap:10px; }
  .site-header nav {
    height:calc(100dvh - 80px); bottom:auto; overflow-y:auto;
    overscroll-behavior:contain; justify-content:flex-start;
    padding:clamp(28px,7svh,65px) 6vw max(28px,env(safe-area-inset-bottom));
    gap:12px; background:#101411;
  }
  .site-header nav a { font-size:clamp(30px,7vw,42px); min-height:48px; }
  .site-header nav .motion-toggle {
    position:static; flex-shrink:0; margin-top:auto; min-height:48px;
    padding:12px 16px; font-size:12px; gap:12px; backdrop-filter:none;
  }
  .site-header nav .motion-toggle:focus-visible { outline-offset:3px; }
  .text-link,.identity-cta,.project-link,.copy-brief { min-height:44px; align-items:center; font-size:12px; }
  .footer-bottom nav { gap:8px 22px; }
  .footer-bottom nav a,.footer-top>a:last-child { min-height:44px; display:inline-flex; align-items:center; }
  .agency-enquiry label { font-size:13px; }
  .agency-enquiry input,.agency-enquiry select,.agency-enquiry textarea { font-size:16px; min-height:48px; }
  .agency-enquiry .form-hint,.form-status { font-size:12px; line-height:1.75; }
  .contact-details>a { overflow-wrap:anywhere; }

  /* Body copy stays still; small movements belong to the artwork. */
  .motion-ready .reveal { opacity:1; transform:translateY(10px); transition:transform .45s var(--ease); }
  .motion-ready .reveal.visible { transform:none; }
  .intro .read-word,.project-word,.project-word.is-read { color:inherit; transition:none; }
  .project-intro-copy .project-word { color:#25301f; }
  .identity-bottom { padding-right:0; }
  .identity-copy>p { font-size:13px; line-height:1.75; }
  .identity-scroll { font-size:10px; }
  .identity-topline .eyebrow,.eyebrow { font-size:10px; }
  .work-intro-aside p { font-size:13px; }
  .work-intro-aside a { font-size:11px; min-height:44px; display:inline-flex; align-items:center; }
  .scene-copy p { font-size:14px; line-height:1.75; }
  .scene-tags { font-size:10px; line-height:1.7; }
  .scene-topline { font-size:10px; }
  .scene-open { min-height:44px; font-size:12px; }
  .scene-note { font-size:9px; }
  .project-collection summary small,.collection-count { font-size:10px; }
  .collection-archive { font-size:13px; }
  .company-scope { font-size:11px; }
  .services-introduction>div>p:not(.eyebrow),.service-reading>p,
  .intelligence-experience>.ai-heading>p,.home .process-steps p,
  .ai-foundation-home>div>p:not(.eyebrow),.ai-role-detail p,
  .studio-biography p,.studio-belief>p,.edition-reading>p,.edition-0 .edition-reading>p { font-size:15px; line-height:1.8; }
  .service-reading .capability-detail p { font-size:14px; }
  .service-reading .capability-detail strong { font-size:13px; }
  .capability-detail a { min-height:44px; display:inline-flex; align-items:center; font-size:12px; }
  .service-reading .capability-detail a { font-size:12px; }
  .studio-location,.studio-beliefs-label,.signature-caption,.edition-meta { font-size:10px; line-height:1.7; }
  .edition-meta { flex-wrap:wrap; }
  .edition-read { font-size:11px; }
  .journal-heading-aside>.text-link { font-size:11px; min-height:44px; }
  .knowledge-labels span { font-size:11px; }

  /* The same travelling information, with room for the four touch controls. */
  .ai-story-top { font-size:9px; letter-spacing:.02em; }
  .ai-story-top>span+span { max-width:155px; }
  .ai-story .ai-beat small { font-size:9px; }
  .ai-story .ai-beat>p { font-size:13px; line-height:1.6; }
  .motion-ready .ai-story .ai-beat-navigation { gap:10px; padding-right:0; }
  .ai-story .ai-beat-navigation button { min-height:44px; font-size:9px; padding:9px 0 5px; }
  .ai-story .ai-beat-navigation button span { font-size:11px; margin-top:4px; }
  .ai-story-foot { font-size:12px; line-height:1.75; }

  /* Project pages and the portfolio keep their art direction and reading order. */
  .project-opening-top,.project-opening-top>span { font-size:10px; line-height:1.7; }
  .project-opening-copy .project-kicker { font-size:10px; }
  .project-opening-copy>p { font-size:13px; max-width:290px; line-height:1.75; }
  .project-opening-foot>a { font-size:12px; min-height:44px; }
  .project-chapter-nav>.wrap { gap:14px; }
  .project-chapter-nav a { font-size:10px; min-height:48px; }
  .project-chapter-nav a>span { font-size:10px; }
  .project-summary { font-size:14px; line-height:1.8; }
  .project-kicker,.project-scope-item>span,.project-artwork figcaption,
  .project-study-spread figcaption,.project-screen figcaption,.project-food-pair figcaption { font-size:10px; line-height:1.7; }
  .project-detail-note,.project-disclosure .presentation-note,.project-type-study>p { font-size:12px; line-height:1.8; }
  .project-overview a { font-size:12px; min-height:44px; display:inline-flex; align-items:center; }
  .project-next-top,.project-next-bottom { font-size:10px; }
  .collection-intro-bottom p { font-size:15px; line-height:1.8; }
  .collection-intro-bottom a { font-size:12px; min-height:44px; }
  .collection-toolbar button,.collection-view-switch button { min-height:48px; font-size:12px; }
  .collection-filters { gap:12px; flex-wrap:wrap; }
  .collection-caption p { font-size:11px; line-height:1.7; }
  .collection-notes summary { font-size:13px; min-height:48px; }
  .collection-notes p { font-size:14px; }
  .collection-notes small,.collection-notes .brand-service-tags>span,.collection-disclosure { font-size:10px; }
  .work-collection[data-work-view="index"] .collection-caption p { font-size:10px; }
  .collection-back-top { min-height:44px; font-size:12px; }
  .collection-topline,.collection-topline>span+span,.collection-colophon,
  .collection-colophon>span:last-child { font-size:9px; line-height:1.7; }

  .expertise-eyeline,.expertise-eyeline>span+span,
  .intelligence-eyeline,.intelligence-eyeline>span+span { font-size:9px; line-height:1.7; }
  .expertise-intro-bottom>p,.expertise-reading .capability-detail p,.expertise-steps p,
  .intelligence-intro-grid>div>p,.role-reading>p,.knowledge-step p,
  .intelligence-use p,.intelligence-project>p,.intelligence-question>p { font-size:15px; line-height:1.8; }
  .expertise-heading p,.expertise-figure figcaption,.expertise-approach-head>span { font-size:10px; }
  .expertise-overview>a { font-size:14px; }
  .expertise-overview>a>span { font-size:10px; }
  .expertise-wayfinder a { font-size:12px; min-height:48px; }
  .expertise-wayfinder a>span { display:none; }
  .expertise-discuss,.expertise-work-link { font-size:12px; min-height:48px; }
  .expertise-reading .capability-detail a { font-size:12px; }
  .intelligence-index a>em,.intelligence-index a>span,.intelligence-index>span,
  .intelligence-section-heading>span,.intelligence-use-heading>span,.intelligence-faq>div>span,
  .role-stage-meta,.role-personality,.role-label,.knowledge-step>span { font-size:10px; line-height:1.7; }
  .intelligence-index>a { grid-template-columns:22px 62px 1fr 14px; }
  .role-reading li { font-size:13px; }
  .role-shared,.intelligence-disclosure,.intelligence-project>small { font-size:11px; line-height:1.7; }
  .intelligence-question summary { font-size:18px; }

  /* A comfortable reading measure and labels that need no zooming. */
  .j-opening-foot>p,.j-feature-copy>p,.j-note p { font-size:15px; line-height:1.8; }
  .j-chapter>p { font-size:16px; line-height:1.85; }
  .j-practice li,.j-article-outro { font-size:15px; line-height:1.8; }
  .j-topic-filters { gap:4px 22px; }
  .j-topic-filters button { font-size:13px; min-height:48px; }
  .j-search input { min-height:48px; }
  .j-search>span:first-child,.j-results,.j-meta,.j-feature-copy .j-meta,.j-note .j-meta,
  .j-article-meta,.j-related-note .j-meta,.j-practice-label { font-size:10px; line-height:1.7; }
  .j-reading-guide nav>a { min-height:48px; font-size:12px; }
  .j-read,.j-related-note .j-read,.j-article-top>a { font-size:12px; min-height:44px; }
  .j-kicker,.j-masthead,.j-article-title .j-kicker { font-size:10px; }
  .j-note .j-meta,.j-related-note .j-meta { flex-wrap:wrap; gap:5px 15px; }
  .page-hero>p,.case-story p,.brain-flow p,.brain-services p { font-size:16px; }
}

@media (max-width:520px) {
  .site-header { padding-inline:5%; gap:6px; }
  .brand { gap:7px; }
  .header-cta { padding:8px 9px; font-size:10px; }
  .identity-copy>p { max-width:95%; }
  .identity-cta { margin-top:12px; }
  .scene-copy { bottom:122px; }
  .scene-copy p { max-width:340px; }
  .scene--faffin .scene-phones { top:27%; bottom:44%; }
  .scene--raven-group .scene-editorial-photo { bottom:46%; }
  .scene--archana .scene-dishes { top:26%; bottom:46%; }
  .scene-open,.scene--raven-group .scene-open { bottom:44px; }
  .scene-note { bottom:17px; }
  .ai-story .knowledge-paper small { font-size:7px; }
  .ai-story .paper-front p,.ai-story .reply-written>p { font-size:9px; line-height:1.65; }
  .ai-story .paper-front .paper-foot { display:none; }
  .ai-story .reply-written>small,.ai-story .reply-empty>span { font-size:7px; }
  .ai-story .reply-written,.ai-story .reply-empty { padding:12px; }
  .ai-story .ai-core>span:not(.core-label) { font-size:7px; }
  .ai-story .ai-core>small { font-size:8px; }
  .ai-story .review-stamp b { font-size:8px; }
  .ai-story .review-stamp small { font-size:7px; }
  .ai-story .reply-lines { display:none; }
  .project-chapter-nav a { gap:5px; }
  .project-chapter-nav>.wrap { gap:10px; }
  .collection-contact-sheet figure>span { font-size:8px; }
  .collection-colophon>span:first-child { max-width:55%; }
  .collection-colophon i { display:none; }
  .collection-filters { justify-content:space-between; gap:6px; }
  .collection-filters button>sup { font-size:8px; margin-left:3px; }
  .edition-1 .edition-link,.edition-2 .edition-link { grid-template-columns:24% 1fr; gap:18px; }
  .edition-1 .edition-cover,.edition-2 .edition-cover { min-height:190px; }
  .edition-reading h3 { font-size:23px; }
  .j-related-note { grid-template-columns:25% 1fr; gap:18px; }
}

@media (max-width:520px) and (min-height:650px) {
  .motion-ready .ai-story-stage {
    padding-top:100px; padding-bottom:max(18px,env(safe-area-inset-bottom));
    grid-template-rows:auto minmax(280px,1fr) 126px 48px;
  }
}
@media (max-width:800px) and (max-height:600px) {
  .site-header nav { gap:6px; padding-block:16px; }
  .site-header nav a { font-size:26px; padding-block:5px; min-height:42px; }
  .site-header nav .motion-toggle { margin-top:12px; }
  /* A short landscape viewport reads naturally rather than trapping a tall stage. */
  .identity-hero { height:auto; }
  .identity-stage { position:relative; height:auto; min-height:600px; }
  .identity-copy,.identity-copy .headline-line,.identity-art { transform:none!important; opacity:1!important; }
  .identity-payoff { display:none; }
  .identity-topline { opacity:1; }
}
@media (max-width:350px) {
  .brand>span:last-child { display:none; }
  .scene-copy h3 { font-size:28px; }
  .scene-tags { font-size:9px; }
  .project-chapter-nav a { font-size:9px; }
  .project-chapter-nav a>span { display:none; }
  .collection-toolbar button { font-size:11px; }
}
@media (max-width:520px) and (max-height:600px) {
  .identity-stage { display:block; min-height:0; padding-bottom:20px; }
  .identity-layout { display:flex; flex-direction:column; gap:28px; padding-top:24px; }
  .identity-art { position:relative; inset:auto; width:90%; max-width:none; margin:0 auto; align-self:center; }
  .identity-object { height:230px; min-height:0; }
  .identity-bottom { position:relative; margin-top:24px; padding:18px 0; }
}
@media (max-width:520px) and (prefers-reduced-motion:reduce) {
  .project-opening-stage { height:auto; min-height:0; }
}
