/* Shared compatibility fixes; desktop art direction is preserved. */
html{scroll-padding-top:24px}body{overflow-wrap:break-word}img,video{max-width:100%}
header nav a,.underlined,.film-close{min-height:44px;display:inline-flex;align-items:center}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.contact-email{overflow-wrap:anywhere}.contact-primary,.project-title>*,.nea-composition>*,.thinking>*{min-width:0}
.film-dialog,.art-dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}
.film-dialog video,.art-dialog img{max-height:72vh;max-height:72dvh;object-fit:contain}
.film-fallback{display:block;margin:0 20px 16px;font-size:13px;border-bottom:1px solid;width:max-content;max-width:calc(100% - 40px);overflow-wrap:anywhere}
.dialog-open{overflow:hidden}.skip-link{position:fixed;top:8px;left:8px;z-index:20000;background:#f2efe8;color:#070707;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.field input,.field textarea,.scope select,.quantity{font-size:16px}
.discipline-name{min-height:44px}.scope summary{padding:12px 0;min-height:44px}
.discipline-head>*,.brief-grid>*,.fields>*,.summary-item>*{min-width:0}
.service-price{white-space:normal}.scope select{min-width:0}.summary-item strong{overflow-wrap:anywhere}
.charges{table-layout:fixed}.charges td:first-child{width:70%;padding-right:12px}.charges td:last-child{white-space:normal}
.reference-heading{overflow-wrap:normal}
.scene.depth-scene-ready .orbit-item:focus-visible{opacity:1!important;outline:2px solid #070707;outline-offset:5px;z-index:7}
.scene:not(.depth-scene-ready) .orbit-fallback-gallery{position:absolute;left:44%;right:4%;bottom:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;z-index:4}
.scene:not(.depth-scene-ready) .orbit-fallback-gallery .orbit-item{visibility:visible;position:relative;left:auto!important;top:auto!important;width:100%!important;height:110px!important;transform:none!important;translate:none!important;scale:none!important;opacity:1!important}
.orbit-fallback-gallery .orbit-item>img{width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.scene:not(.depth-scene-ready) .orbit-fallback-gallery{left:24px;right:24px;bottom:24px}.scene:not(.depth-scene-ready) .orbit-fallback-gallery .orbit-item{height:80px!important}}
@media(max-width:700px){header{flex-wrap:wrap;height:auto!important;min-height:96px;padding:16px 0;gap:8px 18px}header nav{display:flex!important;order:3;flex:0 0 100%;justify-content:space-between;gap:8px;font-size:12px}header>.underlined,header>.link{margin-left:auto;font-size:13px}header nav a{padding:6px 0;min-height:44px}.contact-composition{grid-template-columns:1fr}.contact footer{flex-wrap:wrap;gap:18px}.project-title{flex-wrap:wrap}.section-title{gap:20px}.intro .reference-heading{font-size:clamp(46px,11.5vw,80px)}.intro-tail{gap:24px}.review-actions>button{width:100%}.work-bottom{flex-wrap:wrap}}
@media(max-width:600px){.hero{height:1160px!important}.hero .hero-title{top:95px;width:calc(100% - 48px);max-width:400px}.hero .hero-title h1{font-size:clamp(48px,15vw,84px)}.hero .hero-title .hero-disciplines{font-size:17px!important}.hero .hero-title .hero-description{font-size:14px}.scene .portrait{top:420px;width:min(170vw,660px);left:55%}.experimental-kicker{max-width:calc(100% - 48px);overflow-wrap:normal}.contact-email{font-size:clamp(20px,5.7vw,32px)!important}.thinking h2,.about-reference h2{overflow-wrap:normal}.summary-item{grid-template-columns:1fr}.summary-item strong{grid-column:1}.scope{margin-left:0}.discipline-head{grid-template-columns:26px minmax(0,1fr) 24px}.service-price{grid-column:2}.film-dialog-head{align-items:start}.film-dialog-head p{min-width:0}.art-dialog{padding:12px}.project-start-sequence span{min-height:32px}}
/* Final phone-only composition: desktop values above remain untouched. */
@media(max-width:600px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:0;padding:16px 24px!important;gap:8px 16px;width:100%;min-height:0}
 header>.brand{grid-column:1;grid-row:1;justify-self:start;font-size:20px;min-height:44px;justify-content:center}
 header>.underlined,header>.link{grid-column:2;grid-row:1;justify-self:end;margin:0;white-space:nowrap;font-size:13px;min-height:44px;display:flex;align-items:center;padding:0}
 header nav{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;font-size:13px}
 header nav a,header nav a:not(:first-child){display:flex!important;align-items:center;justify-content:center;min-height:44px;padding:0;white-space:nowrap}
 .hero{height:var(--phone-hero-height,850px)!important;min-height:0!important}
 .hero .hero-title{position:relative;left:auto;top:auto;width:calc(100% - 48px)!important;max-width:none;margin:0 24px;padding:72px 0 0;text-align:left}
 .hero .hero-title,.hero .hero-greeting,.hero .hero-name,.hero .hero-disciplines,.hero .hero-description,.hero .experimental-kicker,.hero .portrait{translate:none!important;scale:1!important}
 .hero .hero-title h1{font-size:clamp(72px,24vw,136px);max-width:none;margin:0;line-height:.94}
 .hero .hero-title h1>.hero-greeting{font-size:12px;margin-bottom:9px}
 .hero .hero-title h1>.hero-name{margin-bottom:18px}
 .hero .hero-title .hero-disciplines{font-size:16px!important;line-height:1.35}
 .hero .hero-title .hero-description{width:100%!important;font-size:13px;line-height:1.55;margin:12px 0 0;max-width:38ch}
 .hero .experimental-kicker{left:24px;top:22px;font-size:11px;max-width:calc(100% - 48px)}
 .hero .experimental-word{left:24px;right:24px;top:38px;width:auto;height:calc(100% - 66px);opacity:.35;translate:none!important;scale:1!important}
 .hero .scene{inset:0}
 .hero .scene .portrait{left:50%;top:var(--phone-portrait-top,300px);width:min(125vw,640px);transform:translateX(-50%)}
 .hero .orbit-line{display:none!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-enabled [data-reveal]{opacity:1!important;transform:none!important}}
