/* Responsive overrides preserve the desktop reference layout. */
@media(max-width:900px){
header{top:0;left:0;right:0;padding:calc(8px + env(safe-area-inset-top)) 24px 8px;min-height:64px;gap:12px}
header .brand{font-size:16px;min-height:44px;flex-shrink:0}header nav{display:none}
#menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 8px;font:12px Mono,monospace}
.scrolled header{opacity:1;pointer-events:auto;background:#080808eb;backdrop-filter:blur(12px)}.scrolled header .brand{opacity:1}
#mobile-menu{position:fixed;inset:0;z-index:19;background:#0b0b0bf5;padding:calc(90px + env(safe-area-inset-top)) 24px calc(32px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
#mobile-menu[hidden]{display:none}#mobile-menu nav{display:flex;flex-direction:column;gap:12px;font:300 clamp(32px,8vw,62px)/1.15 'Seta Serif',Georgia,serif}
#mobile-menu a{display:flex;align-items:center;min-height:56px;padding:8px 0}.menu-open{overflow:hidden}.menu-open header{opacity:1;background:#0b0b0b}.menu-open .frame-footer,.menu-open .cookies{visibility:hidden}
.hero,.hero:not(.page-hero){padding:100px 24px 150px;min-height:100svh}
.hero:not(.page-hero) h1{font-size:clamp(48px,16vw,100px);line-height:1.05;white-space:normal;max-width:100%;letter-spacing:-.055em}
.hero .explore{font-size:clamp(24px,5.7vw,32px);margin-top:28px;gap:14px;min-height:48px}
.round{width:48px;height:48px;flex:0 0 48px}
.page-hero{min-height:80svh;padding-bottom:80px}.page-hero h1{font-size:clamp(48px,14vw,100px);white-space:normal;line-height:1.02}
.gateway{min-height:90svh;padding:100px 24px}.gateway h2,.gateway#pos h2{font-size:clamp(50px,13vw,100px);white-space:normal;line-height:1.08}.gateway .explore{font-size:clamp(23px,5vw,32px);gap:14px}
.story{height:480svh}.story-text{font-size:clamp(38px,10.5vw,70px);line-height:1.15;left:8%;right:8%}
.frame-footer{bottom:calc(12px + env(safe-area-inset-bottom));left:24px;right:24px;flex-direction:column;gap:0;font-size:11px}
.frame-footer .languages,.frame-footer .legal{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.frame-footer a{display:inline-flex;align-items:center;min-height:36px}.frame-footer time{display:none}
body:has(.cookies:not([hidden])) .frame-footer{bottom:calc(78px + env(safe-area-inset-bottom))}
.cookies{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));justify-content:flex-end;gap:8px;padding:6px;font-size:12px}
.cookies span{margin-right:auto;padding:0 8px}.cookies button{width:44px;height:44px;flex:0 0 44px}
.registration{inset:24px 14px}.registration .top,.registration .bottom{display:none}
.panel{border-radius:24px;margin:0 5px;padding-top:70px}.panel-close{height:48px;width:48px}
.panel-heading h2,.panel-heading>p{font-size:clamp(32px,6.8vw,46px);line-height:1.12;overflow-wrap:break-word}
.panel-links{flex-wrap:wrap;gap:4px 18px;padding-top:24px}
.panel-links a,.panel-link,.panel-bottom a,.legal-copy a{min-height:44px;display:inline-flex;align-items:center}
.panel .lead{font-size:22px;line-height:1.45;color:#626262}
.product-view{height:410px;margin:16px 0 44px}.model-host{bottom:100px}.viewer-controls{bottom:34px;gap:16px}.viewer-controls button{width:48px;height:48px}
.product-counter{bottom:4px;right:20px;font-size:11px}.model-note{bottom:4px;left:20px;font-size:10px}.product-word{font-size:18vw!important;letter-spacing:-.06em}
.feature-grid{grid-template-columns:1fr 1fr;margin:30px 0 70px}.feature{min-height:300px;padding:24px 20px;border-bottom:1px solid #bbb}.feature:nth-child(2n){border-right:0}
.feature h3{font-size:27px;margin-top:40px}.feature-sub{font-size:23px}.feature p{font-size:17px;line-height:1.5}
.accordion summary{font-size:22px;line-height:1.3;gap:20px;min-height:64px}.accordion summary span{flex-shrink:0}.format-list{grid-template-columns:1fr 1fr;font-size:18px;line-height:1.45}
.contact-page,.contact-end{padding:140px 24px 190px;text-align:left;min-height:100svh}
.contact-page .contact-big,.contact-end .contact-big{font-size:clamp(30px,8vw,60px);line-height:1.35}.contact-email{font-size:clamp(22px,6.5vw,44px)}.contact-big a{min-height:44px;padding:4px 0}
.contact-bottom{flex-direction:column;align-items:flex-start;gap:28px;margin-top:48px}.contact-bottom address{font-size:17px;line-height:1.5}.contact-bottom a{min-height:44px;align-items:center;display:inline-flex;margin-top:4px}.contact-bottom>p{font-size:13px;line-height:1.6}
.strengths article{grid-template-columns:28px 1fr;gap:14px}.strengths h3{font-size:28px}.strengths p{grid-column:2;font-size:18px;line-height:1.5}
.legal-copy{font-size:18px;line-height:1.55}.panel-bottom{font-size:16px;gap:20px;align-items:center}
.offset-art{height:420px;gap:3%}.offset-art>div{width:42%;padding:20px;font-size:clamp(34px,6vw,56px)}.offset-art small{font-size:9px;margin-top:35px}
}
@media(max-width:400px){
.feature-grid{grid-template-columns:1fr}.feature{min-height:245px;border-right:0}.feature h3{margin-top:25px}.format-list{grid-template-columns:1fr}
.panel-bottom{align-items:flex-start;flex-direction:column;gap:8px}.offset-art{height:340px}.offset-art>div{padding:15px;font-size:32px}.offset-art small{font-size:8px}.contact-email{letter-spacing:-.04em}
}
@media(max-width:900px) and (max-height:500px){
.cookies{left:auto;right:16px;width:310px;max-width:calc(100% - 32px)}
.hero,.hero:not(.page-hero){min-height:650px;padding-top:110px}.hero:not(.page-hero) h1{font-size:72px}
.frame-footer{position:absolute;top:550px;bottom:auto}body:has(.cookies:not([hidden])) .frame-footer{bottom:auto}
#mobile-menu{padding-top:76px}#mobile-menu nav{font-size:30px;gap:4px}#mobile-menu a{min-height:48px}
}
@media(hover:none){.feature:hover{background:inherit;color:inherit}.explore:hover .round{background:transparent;color:inherit;transform:none}button,a{touch-action:manipulation}}
@media(max-width:900px){body:has(.contact-page) .frame-footer{position:relative;inset:auto;bottom:auto!important;left:auto;right:auto;padding:0 24px calc(24px + env(safe-area-inset-bottom));opacity:1;pointer-events:auto}body:has(.contact-page):has(.cookies:not([hidden])) .frame-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.contact-page{padding-bottom:36px;min-height:0}}
@media(max-width:900px){.panel-heading,.accordion details{scroll-margin-top:90px}.contact-bottom .panel-link{min-height:44px}.cookies a{display:inline-flex;align-items:center;min-height:44px}}
@media(prefers-reduced-motion:reduce){.story{height:100svh}.story-stage{position:relative}.story-text{top:50%;transform:translateY(-50%)}}
