/* Responsive refinement — Horizons3D */
img{max-width:100%}button,input,textarea{font:inherit}button,a,summary{touch-action:manipulation}button{min-height:44px}main,section,.split>*,.contact-layout>*{min-width:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.gallery-track{overscroll-behavior-x:contain}.image-dialog{overscroll-behavior:contain}.image-dialog[open]{overflow:auto}body:has(.image-dialog[open]){overflow:hidden}.application-copy a{display:inline-block;min-height:44px;padding-top:8px}.copy-draft,.edit-draft{min-height:44px}.motion-control{min-height:44px}.hero{min-height:780px}.hero-copy{top:clamp(170px,24vh,290px)}
@media(min-width:801px) and (max-width:1100px){header{padding:24px 3%}.wordmark{width:220px}header nav{gap:12px;font-size:12px}.nav-contact{padding:12px}.hero-copy{max-width:680px}.hero h1{font-size:80px}.hero .intro{font-size:21px}}
@media(max-width:800px){
 html{scroll-padding-top:90px}header{position:absolute;padding:20px max(6%,env(safe-area-inset-right)) 20px max(6%,env(safe-area-inset-left));gap:12px;flex-wrap:nowrap;min-height:84px}.wordmark{width:220px;max-width:calc(100% - 94px)}.wordmark span{font-size:6.5px;letter-spacing:.7px}.menu-toggle:not([hidden]){min-width:78px;min-height:44px;justify-content:space-between;gap:10px;padding:10px}.js-menu.menu-open{background:#151e28}.js-menu nav{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}.js-menu nav a{font-size:18px;min-height:48px;padding:14px 0}
 .hero{height:auto;min-height:100svh;display:flex;flex-direction:column;padding:145px 6% max(24px,env(safe-area-inset-bottom));gap:42px}.hero-copy{position:relative;inset:auto;max-width:620px;margin:auto 0;z-index:1}.hero h1{font-size:clamp(48px,11.5vw,78px);letter-spacing:-2.5px;margin:24px 0;line-height:1.06}.hero-copy .eyebrow{font-size:10px;letter-spacing:1.5px}.hero .intro{font-size:18px;line-height:1.65}.hero .intro br{display:none}.actions{margin-top:28px;gap:14px;align-items:stretch}.actions .button{padding:18px 20px;min-height:56px;gap:12px}.actions .text-link{align-self:flex-start;min-height:44px;display:flex;align-items:center}.hero-bottom{position:relative;inset:auto;z-index:1;gap:12px;margin-top:auto}.hero-bottom-left{gap:10px}.scene-label{font-size:10px!important}.hero-bottom>span{font-size:8px;letter-spacing:1px}.scene{object-position:60% center}.shade{background:linear-gradient(90deg,#0c121be6,#0c121b69),linear-gradient(0deg,#0c121bba,transparent 65%)}
 .section{padding:52px 6%}.section p{font-size:16px;line-height:1.75}.section .lead{font-size:20px;line-height:1.55}h2,.development-copy h2,.gallery-heading h2{font-size:clamp(32px,8.5vw,46px);letter-spacing:-1.2px;line-height:1.15}h3{line-height:1.3}.split{margin-top:20px}.development-image img{aspect-ratio:1.5;object-fit:contain}.development-image figcaption span{white-space:normal}.outputs-grid{gap:26px}.visual-break{height:auto;min-height:440px}.visual-break img{position:absolute;inset:0;object-position:center}.visual-caption{position:relative;inset:auto;padding:220px 6% 28px}.visual-caption h2{font-size:34px}.visual-caption p{font-size:16px}.request .button{width:100%}.processes{gap:34px}.processes article img{aspect-ratio:1.5;object-fit:contain}.request h3{margin-top:0}summary{font-size:19px;line-height:1.5;min-height:44px;align-items:center}summary span{flex-shrink:0}details{padding:15px 0}
 .gallery-track{padding:0 6% 20px;scroll-padding-inline:6vw;gap:14px}.application-card{flex-basis:94%}.zoom-image img{aspect-ratio:1.5;object-fit:contain}.zoom-image>span{right:10px;bottom:10px;font-size:18px;padding:7px 12px}.application-copy{padding:20px;min-height:0}.application-copy h3{font-size:23px}.application-copy>p:not(.eyebrow){font-size:15px}.gallery-heading{padding-inline:6%}.gallery-controls{justify-content:flex-start}.gallery-disclaimer{line-height:1.7}.image-dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 20px);padding:62px 8px 16px;margin:auto}.image-dialog>img{max-height:65dvh;aspect-ratio:auto;object-fit:contain}.image-dialog>p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.close-image{min-height:44px;top:8px;right:8px}
 .sculpture-section{padding:52px 6% 32px}.art-heading>div>p:not(.eyebrow){font-size:17px}.art-caption>span{font-size:10px}.journey{gap:25px 12px}.journey li{padding-right:8px}.journey h3{font-size:20px}.funding{padding:22px}.contact h2{font-size:clamp(40px,11vw,62px)}.contact .email{font-size:clamp(16px,4.4vw,25px);line-height:1.6}.contact-intro{font-size:18px!important}.contact-bottom a{min-height:44px;display:inline-flex;align-items:center}.brief-panel{padding:20px 16px;margin-top:28px}.request-options{display:grid;grid-template-columns:1fr;gap:8px}.request-options span{min-height:46px;display:flex;align-items:center;font-size:15px}.brief-panel textarea,.brief-panel input[type=text]{font-size:16px}.brief-panel .button{width:100%;min-height:52px;padding:17px}.draft-actions{gap:8px}.draft-actions .button{justify-content:center}footer{padding-bottom:max(28px,env(safe-area-inset-bottom));line-height:1.6}
}
@media(max-width:360px){.hero{padding-top:128px}.hero h1{font-size:46px}.wordmark span{font-size:5.8px}.hero-bottom-left{align-items:flex-start;flex-direction:column}.application-copy{padding:17px}.button{font-size:14px}.hero .intro{font-size:17px}}
@media(max-height:500px) and (orientation:landscape){.hero{min-height:650px}.js-menu nav{max-height:calc(100dvh - 84px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.scene{animation:none;transition:none}}

.development-image img,.processes article img{height:auto}.development-image img{aspect-ratio:1.5;object-fit:contain}.development-layout{align-items:center}.application-card{display:flex;flex-direction:column}.application-copy{flex:1;display:flex;flex-direction:column}.application-copy a{align-self:flex-start;margin-top:auto}.application-copy h3{text-wrap:pretty}.gallery-track{align-items:stretch}@media(min-width:801px){.hero{height:auto;min-height:100svh;padding:190px 6% 140px;display:flex;align-items:center}.hero-copy{position:relative;inset:auto;max-width:760px}.hero h1{font-size:clamp(72px,7.4vw,112px)}.hero-bottom{bottom:28px}.visual-break{min-height:480px;max-height:720px}.gallery-heading>div:first-child{flex:1}.gallery-intro{flex:0 1 390px}.request .button{flex-shrink:0}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.approach-heading h2{flex:1}.approach-heading>p{flex:1}}

footer{align-items:flex-start}footer>span{flex-shrink:0}footer .image-policy{max-width:850px;margin:0;font-size:12px;line-height:1.7;color:#5c6268}@media(max-width:800px){footer .image-policy{font-size:12px}}
/* Logo: proporzioni native e scala fluida, senza deformazioni */
header .wordmark{width:clamp(220px,24vw,330px);max-width:38%;flex:0 0 auto}
header .brand-logo{display:block;width:100%;height:auto;aspect-ratio:486 / 48;object-fit:contain}
header .wordmark span{white-space:nowrap;font-size:clamp(6px,.65vw,9px);letter-spacing:clamp(.4px,.1vw,1.5px);line-height:1.5}
@media(max-width:800px){header .wordmark{width:220px;max-width:calc(100% - 94px)}header .wordmark span{font-size:clamp(5.5px,1.65vw,7px);letter-spacing:.45px;margin-top:9px}}
