/* V14 technical corrections; commercial design and V13 motion timings retained. */
:root{--anchor-offset:98px}
html{scroll-padding-top:calc(var(--anchor-offset) + env(safe-area-inset-top,0px))}
.site-nav{padding-top:env(safe-area-inset-top,0px)}
.mobile-menu-panel{height:100%;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom));padding-right:max(18px,env(safe-area-inset-right))}
.mobile-menu-links{position:static;background:transparent;border:0;backdrop-filter:none}
.mobile-menu-head,.mobile-menu-links,.mobile-contact-btn,.mobile-menu-note{flex-shrink:0}
body.overlay-open{overflow:hidden}
.modal{overflow-y:auto;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
.modal .box{max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.toast{max-width:calc(100% - 28px);bottom:max(24px,env(safe-area-inset-bottom));pointer-events:none}
:focus-visible{outline:3px solid #2962FF;outline-offset:4px}
.concept-card:focus-visible{border-color:#2962FF}
/* Individual translate composes with the reveal transform instead of replacing it. */
.card.zt-reveal,.concept-card.zt-reveal,.step.zt-reveal{transition-property:opacity,transform,filter,translate,border-color,box-shadow;transition-duration:.62s,.62s,.62s,.26s,.26s,.26s}
@media(hover:hover){.card.zt-reveal.zt-visible:hover,.concept-card.zt-reveal.zt-visible:hover{translate:0 -6px}.step.zt-reveal.zt-visible:hover{translate:0 -4px}}
.motion-paused .ribbon-set,.motion-paused .ribbon,.motion-paused .ribbon-glow,.motion-paused .motion-halo,.motion-zone-cta.motion-paused:after{animation-play-state:paused}
@media(max-width:960px){:root{--anchor-offset:88px}}
@media(max-width:720px){.c{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}}
@media(max-width:430px){:root{--anchor-offset:82px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero-ribbon-bg{transition:none;transform:none}
 .btn,.mobile-menu-backdrop,.mobile-menu-panel,.toast,.concept-preview,.concept-copy{transition:none!important}
 .card,.concept-card,.step{translate:none!important}
 .concept-stage.zt-switching .concept-preview,.concept-stage.zt-switching .concept-copy{opacity:1;transform:none;filter:none}
}
