/* Phone and tablet refinements; desktop keeps the approved presentation. */
.identity .identity-mobile{display:none}

@media(max-width:960px){
  .header-inner{min-height:78px;gap:14px;flex-wrap:wrap}
  .identity{gap:12px;min-width:0}
  .identity .identity-description{display:none}
  .identity .identity-mobile{display:block;color:var(--ink);font-size:1.25rem;letter-spacing:.12em;line-height:1.2}
  .header .brand-logo{width:35px;flex:none}
  .header .motion-control{width:44px;height:44px;flex:0 0 44px;margin-left:auto}
  .header .menu-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;flex:none;padding:10px 0 10px 8px;border:0;background:transparent;font-size:1rem;line-height:1.3}
  .menu-button>span{font-size:25px;line-height:1}
  .header nav{position:absolute;top:100%;left:0;right:0;width:100%;display:none;flex-direction:column;align-items:stretch;gap:4px;padding:12px var(--gutter) 22px;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100svh - var(--header-height,90px));overflow-y:auto;overscroll-behavior:contain}
  .header nav.open{display:flex}
  .header nav a{display:flex;align-items:center;min-height:48px;padding:12px 4px;font-size:1.25rem;line-height:1.4}
  .header nav .nav-contact{font-size:1rem;min-height:50px;padding:14px 18px;margin-top:8px;justify-content:space-between}
  .header nav a:not(.nav-contact):after{bottom:4px}
  html{scroll-padding-top:calc(var(--header-height,78px) + 18px)}
}

@media(max-width:760px){
  :root{--gutter:clamp(18px,5vw,28px)}
  .header-inner{gap:10px}
  .wrap>*{min-width:0}
  .motion-hero-grid,.contact-page,.about-story,.founder,.case-overview,.service-details-copy{min-width:0}
  h1,h2,h3,.contact-methods a,.invite-email,.selection-heading,.footer{overflow-wrap:break-word}
  .motion-hero h1{font-size:clamp(2.35rem,9vw,4.25rem);line-height:1.12}
  .motion-hero-copy>p,.story-scene-copy>p:not(.eyebrow),.service-motion-row p,.deliverables li{font-size:1rem;line-height:1.6}
  .motion-hero .actions,.invitation-bottom .actions{display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:none}
  .motion-hero .button,.invitation .button,.case-enquiry .button,.work-end .button{font-size:1rem;min-height:50px;padding:14px 18px;gap:16px;width:100%;line-height:1.4}
  .motion-hero-foot{flex-wrap:wrap;gap:12px;font-size:.875rem}
  .motion-hero-foot>p{max-width:none;flex:1 1 230px}
  .motion-hero-foot>a{min-height:44px;max-width:none;align-items:center}
  .motion-hero-top>p:last-child,.motion-hero-top .eyebrow,.section-top .eyebrow{font-size:.75rem;line-height:1.5}
  .hero-product-caption{flex-wrap:wrap;font-size:.875rem;gap:8px 16px}
  .hero-product-caption>span:last-child{white-space:normal}
  .meaning-heading>.meaning-identity{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
  .meaning-heading>.meaning-identity>p:not(.eyebrow){font-size:.875rem;line-height:1.6}
  .meaning-imprint{max-width:100%}
  .story-topline{font-size:.75rem;letter-spacing:.04em;flex-wrap:wrap;gap:10px 20px}
  .story-caption{font-size:.75rem;line-height:1.5}
  .page-heading h1{font-size:clamp(2.5rem,9.4vw,4rem);line-height:1.1}
  .contact-intro h1{font-size:clamp(2.8rem,11vw,4.5rem);line-height:1.1}
  .case-heading h1{font-size:clamp(2.5rem,10vw,4.25rem);line-height:1.1}
  .home-motion-work .section-heading h2{font-size:clamp(2.5rem,9vw,3.75rem)}
  .work-page .filters{gap:8px}
  .work-page .filter{min-height:48px;font-size:.875rem;line-height:1.4;padding:11px 14px;max-width:100%;white-space:normal}
  .text-link,.back-link,.category-expand{min-height:44px;font-size:.875rem}
  .work-end p,.selection-status,.case-figure figcaption,.chapter-gallery .case-figure figcaption,.service-work-preview figcaption small{font-size:.875rem;line-height:1.6}
  .selection-heading h3{min-width:0}
  .selection-heading>span,.type-card-heading>span{flex:none}
  .chapter-gallery .image-action{opacity:1;transform:none;width:44px;height:44px}
  .service-detail{grid-template-columns:24px minmax(0,1fr);gap:14px}
  .service-index{font-size:1.8rem}
  .service-details-copy h2,.service-motion-row h3{overflow-wrap:anywhere}
  .contact-page{gap:32px}
  .contact-methods a{font-size:clamp(1rem,5vw,1.25rem);min-height:44px;line-height:1.5}
  .form-row{grid-template-columns:minmax(0,1fr)}
  .enquiry-form label{font-size:1rem;line-height:1.5}
  .enquiry-form label span{font-size:.875rem}
  .enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:1rem;width:100%;max-width:100%;min-width:0;min-height:52px;padding:14px 12px}
  .enquiry-form textarea{min-height:180px}
  .form-actions .button{width:100%;min-height:52px;font-size:1rem;justify-content:center}
  .enquiry-form #form-status{font-size:1rem;line-height:1.6}
  .enquiry-form #form-status[data-state=error]{color:#7D2828}
  .footer{grid-template-columns:35px minmax(0,1fr);gap:16px}
  .footer p,.footer span{font-size:.75rem;line-height:1.6}
  .footer-links{gap:8px 20px}
  .footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}

  /* The original 16:9 film is selected on phones, without cropping its artwork. */
  .brand-film .film-stage video{aspect-ratio:16/9;width:100%;height:auto;object-fit:contain}
  .film-toggle{position:static;display:flex;margin:8px var(--gutter) 8px auto;align-items:center;justify-content:center;min-height:44px;min-width:120px;font-size:.875rem;line-height:1.4;padding:10px 16px}

  #gallery{width:100vw;max-width:100vw;height:100svh;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0}
  .gallery-bar{padding:8px 14px;font-size:.875rem}
  .gallery-bar button,.gallery-bottom button{min-width:48px;min-height:48px}
  .gallery-stage{flex:1;min-width:0;min-height:0;touch-action:pan-y pinch-zoom;padding:8px 12px}
  .gallery-stage img{max-height:68dvh;max-width:100%;object-fit:contain}
  .gallery-stage>.asset-visual{width:min(92vw,calc(68dvh * var(--art-ratio)),calc(var(--art-width)*1px))}
  .gallery-bottom{gap:8px;padding:10px 12px max(12px,env(safe-area-inset-bottom))}
  .gallery-bottom p{min-width:0;font-size:.875rem;line-height:1.5;max-height:22dvh;overflow-y:auto}
  .book-contents{min-width:0;flex-wrap:wrap}
  .book-contents select{font-size:1rem;width:100%;min-height:48px}
  .book-dialog-controls{flex-wrap:wrap}
  .book-dialog-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .book-transcript summary{min-height:44px;display:list-item}
}

@media(max-width:480px){
  .gallery-four,.gallery-six,.gallery-series{grid-template-columns:minmax(0,1fr);gap:30px}
  .gallery-four .case-figure:nth-child(even),.gallery-six .case-figure:nth-child(even),.gallery-series .case-figure:nth-child(even){margin-top:0;padding-top:0}
  .gallery-series .case-figure,.gallery-series .case-figure:nth-child(4),.gallery-series .case-figure:nth-child(5),.gallery-series .case-figure:last-child{grid-column:auto;width:100%}
  .story-artwork{height:clamp(270px,90vw,360px)}
  .founder-portrait figcaption{flex-wrap:wrap;text-align:center;gap:10px 16px}
}

@media(hover:none){
  .button:hover{transform:none}
  .hero-product-link:hover .hero-product-image>.asset-visual{transform:none}
}
