/* Monitor-independent content grid. Horizontal overflow belongs only to the gallery. */
:root{--page-gutter:clamp(32px,4.5vw,96px);--content-width:min(1440px,calc(100vw - var(--page-gutter)*2));--page-inset:max(var(--page-gutter),calc((100vw - 1440px)/2));--gallery-slide-width:min(var(--content-width),calc(max(260px,100svh - 350px)*1.6));--gallery-preview-height:calc(var(--gallery-slide-width)/1.6);--compare-width:min(var(--content-width),calc(max(280px,100svh - 290px)*1.6));--compare-height:calc(var(--compare-width)/1.6)}
html,body{width:100%;max-width:100%;overflow-x:clip}main{min-width:0}header,.hero,.compare-pin,.assembly-pin,.device-pin,.manifesto-pin,.closing-v3,body>footer{padding-left:var(--page-inset);padding-right:var(--page-inset)}
header{gap:30px}.hero-copy{min-width:0;max-width:840px}.hero .portrait-scene{right:max(0px,calc((100vw - 1640px)/2));width:min(54vw,880px)}.hero .scroll-cue{left:var(--page-inset)}.hero .hero-index{right:var(--page-inset)}
.gallery-heading,.gallery-controls{padding-left:var(--page-inset);padding-right:var(--page-inset);min-width:0}.gallery-heading>div{min-width:0}.gallery-heading h2{font-size:clamp(30px,3.2vw,48px)}.gallery-heading .eyebrow{margin-bottom:12px}.gallery-pin{min-height:0;height:100svh;padding-top:clamp(20px,2.5svh,36px);padding-bottom:clamp(20px,2.5svh,36px);gap:clamp(14px,1.7svh,22px);justify-content:center}.sector-viewport{width:100%;max-width:100%;padding:10px 0 20px;flex-shrink:0;overflow-y:hidden}.sector-track{padding-left:var(--page-inset);padding-right:var(--page-inset);gap:clamp(20px,2.5vw,40px)}.sector-slide{width:var(--gallery-slide-width);max-width:none;min-width:0;flex:0 0 var(--gallery-slide-width)}.sector-preview{width:100%;height:var(--gallery-preview-height);min-height:0;max-height:none;aspect-ratio:16/10}.sector-slide-footer{min-height:66px;padding-top:16px}.gallery-controls{min-height:44px}.gallery-arrows button{height:44px;width:44px}.gallery-current{min-width:210px}
.compare-pin{min-height:0;height:100svh;padding-top:clamp(24px,3svh,42px);padding-bottom:clamp(24px,3svh,42px);gap:clamp(18px,2.1svh,28px)}.chapter-heading{width:100%;min-width:0}.chapter-heading h2{font-size:clamp(30px,3.4vw,56px)}.comparison-v3{width:var(--compare-width);height:var(--compare-height);min-height:0;max-height:none;aspect-ratio:16/10;flex-shrink:0;margin-left:auto;margin-right:auto}.compare-caption{width:var(--compare-width);max-width:100%;margin-left:auto;margin-right:auto;flex-shrink:0}
.assembly-pin{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,4vw,76px);min-height:0;height:100svh}.assembly-copy{min-width:0}.assembly-copy h2{font-size:clamp(32px,3.6vw,60px);overflow-wrap:normal}.assembly-art{min-width:0;min-height:0;max-height:none;height:clamp(400px,71svh,750px);width:100%}.assembly-perspective{width:100%;height:auto;aspect-ratio:16/10;flex-shrink:0}.assembly-shell,.assembly-frame{height:100%;width:100%}.assembly-orbit{left:0;right:0}.assembly-side-label{right:-18px}
.device-pin{min-height:0;height:100svh;padding-top:clamp(24px,3svh,42px);padding-bottom:clamp(24px,3svh,42px)}.device-heading{width:100%;min-width:0}.device-heading h2{font-size:clamp(32px,3.5vw,60px)}.device-stage{width:min(100%,1120px);height:auto;min-height:0;max-height:none;aspect-ratio:16/9;left:0;flex-shrink:0}.v3-desktop{height:auto;aspect-ratio:16/10}.v3-tablet{height:auto;aspect-ratio:3/4}.v3-phone{height:auto;aspect-ratio:9/19.5}.device-chapter-progress{max-width:min(100%,650px)}.v3-desktop-preview,.v3-tablet-preview,.v3-phone-preview{position:absolute;inset:0}.v3-desktop-preview{top:24px;height:auto}.v3-tablet-preview{inset:7px;height:auto}.v3-phone-preview{inset:5px;height:auto}
.manifesto-pin{min-height:0;height:100svh}.manifesto-pin h2{font-size:clamp(48px,8.5vw,139px)}.manifesto-signature{max-width:100%;min-width:0}.closing-v3 h2{font-size:clamp(38px,6vw,94px);max-width:100%;overflow-wrap:normal}.closing-sculpture{font-size:min(43vw,820px)}body>footer{flex-wrap:wrap;gap:28px}body>footer>p{min-width:0}.back-top{right:var(--page-inset)}
/* Medium widths keep real margins when display scaling reduces CSS pixels. */
@media(min-width:701px) and (max-width:1050px){header nav{gap:20px}.hero h1{font-size:6.7vw}.hero .hero-copy{width:68%}.assembly-pin{gap:32px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.assembly-copy h2{font-size:4.4vw}.assembly-steps{max-width:100%}.manifesto-pin h2{font-size:9.8vw}.device-stage{width:100%}.gallery-current{min-width:180px}}
@media(min-width:701px) and (max-height:720px){.gallery-pin{padding-top:18px;padding-bottom:18px;gap:12px}.gallery-heading h2{font-size:clamp(27px,4.2svh,34px)}.gallery-heading .eyebrow{font-size:6px;margin-bottom:9px}.gallery-instructions p{font-size:9px}.gallery-instructions>span{font-size:6px}.sector-slide-footer{min-height:57px;padding-top:12px}.sector-slide-footer h3{font-size:18px;margin-top:5px}.sector-slide-footer .button{padding-top:9px;padding-bottom:9px}.gallery-controls{min-height:38px}.gallery-arrows button{height:38px;width:38px}.sector-preview{height:var(--gallery-preview-height);aspect-ratio:16/10}.compare-pin{padding-top:22px;padding-bottom:22px;gap:18px}.chapter-heading h2{font-size:clamp(28px,4.5svh,36px)}.chapter-heading>p{font-size:9px}.comparison-v3{height:var(--compare-height);max-height:none;aspect-ratio:16/10}.assembly-pin{padding-top:25px;padding-bottom:25px}.assembly-copy h2{font-size:clamp(30px,6svh,44px)}.assembly-art{height:76svh}.assembly-perspective{height:auto;aspect-ratio:16/10}.device-heading h2{font-size:clamp(28px,4.5svh,36px)}.device-heading>p{margin-top:12px}.device-stage{width:min(100%,calc(57svh*16/9));height:auto;aspect-ratio:16/9}.device-pin{gap:0}.manifesto-pin h2{font-size:clamp(44px,14svh,96px)}}
@media(max-width:700px){:root{--page-gutter:clamp(20px,5.5vw,36px);--content-width:calc(100vw - var(--page-gutter)*2);--page-inset:var(--page-gutter);--gallery-slide-width:var(--content-width);--gallery-preview-height:calc(var(--gallery-slide-width)/.82);--compare-width:var(--content-width);--compare-height:calc(var(--compare-width)/1.28)}header{gap:15px}.hero{padding-left:var(--page-inset);padding-right:var(--page-inset)}.hero .hero-copy{width:100%}.hero .portrait-scene{width:100%;right:0}.gallery-pin{padding-top:24px;padding-bottom:24px;gap:18px;min-height:0}.gallery-heading h2{font-size:7.4vw}.gallery-instructions{max-width:80px;padding-top:24px}.gallery-instructions p{font-size:7px}.gallery-instructions>span{font-size:5px}.sector-track{gap:18px}.sector-preview{height:var(--gallery-preview-height);min-height:0;max-height:none;aspect-ratio:.82}.sector-slide-footer{min-height:60px;padding-top:15px}.sector-slide-footer h3{font-size:16px}.gallery-current{min-width:0}.gallery-arrows button{height:38px;width:38px}.compare-pin{padding-top:32px;padding-bottom:32px;min-height:0;gap:24px}.chapter-heading h2{font-size:8.1vw}.comparison-v3{height:var(--compare-height);aspect-ratio:1.28;max-height:none}.compare-caption{font-size:5px}.assembly-pin{min-height:0;height:100svh;gap:8px;display:flex;padding-top:28px;padding-bottom:28px}.assembly-copy h2{font-size:7.8vw}.assembly-art{height:clamp(260px,39svh,380px);max-height:none;min-height:0}.assembly-perspective{width:94%;height:auto;aspect-ratio:16/10}.assembly-copy>#step-description{min-height:28px}.device-pin{min-height:0;padding-top:35px;padding-bottom:35px}.device-heading h2{font-size:8vw}.device-stage{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1.24;left:0;margin-top:30px}.v3-desktop{aspect-ratio:16/10;height:auto}.v3-tablet{aspect-ratio:3/4;height:auto}.v3-phone{aspect-ratio:9/19.5;height:auto}.v3-desktop-preview{top:16px}.v3-tablet-preview{inset:4px}.v3-phone-preview{inset:3px}.device-floating-label.label-everywhere{right:0}.device-parts{left:0;right:0}.device-chapter-progress{margin-top:40px}.manifesto-pin{min-height:0;padding-top:45px;padding-bottom:45px}.manifesto-pin h2{font-size:11.4vw}.closing-v3 h2{font-size:9.8vw}.closing-v3 .button{min-width:min(285px,100%)}body>footer{gap:24px}.rodrigo-logo{flex-shrink:0}.nav-contact{white-space:nowrap}.manifesto-signature>div{margin-left:67px}}
/* Short/landscape windows get natural vertical space instead of squashed artwork. */
@media(max-height:580px){.gallery-story,.compare-story,.assembly-story,.device-story,.manifesto-v3{height:auto;min-height:0}.gallery-pin,.compare-pin,.assembly-pin,.device-pin,.manifesto-pin{position:relative;height:auto;min-height:0;padding-top:44px;padding-bottom:44px;overflow:visible}.gallery-pin{overflow:hidden}.sector-slide{width:min(var(--content-width),960px);flex-basis:min(var(--content-width),960px)}.sector-preview{height:auto;aspect-ratio:16/10}.comparison-v3{width:min(100%,960px);height:auto;aspect-ratio:16/10}.compare-caption{width:min(100%,960px)}.assembly-art{height:500px}.device-stage{width:min(100%,960px);height:auto;aspect-ratio:16/9}.manifesto-pin{min-height:440px}.hero{max-height:none}header nav{gap:15px}.gallery-current{min-width:0}.gallery-controls{padding-top:5px}}
@media(prefers-reduced-motion:reduce){.gallery-pin,.compare-pin,.assembly-pin,.device-pin,.manifesto-pin{height:auto!important;min-height:0!important}.sector-preview{height:var(--gallery-preview-height);aspect-ratio:16/10}.assembly-perspective{height:auto;aspect-ratio:16/10}.device-stage{height:auto;min-height:0;aspect-ratio:16/9}.comparison-v3{height:var(--compare-height)}}
.sector-slide{container-type:inline-size}.sector-slide-footer>div{min-width:0}.sector-slide-footer h3{overflow-wrap:anywhere}.sector-slide-footer>div:last-child{flex-shrink:0}
@container(max-width:640px){.sector-slide-footer{gap:12px}.sector-about{display:none}.sector-slide-footer h3{font-size:17px}.sector-slide-footer .button{font-size:7px;padding:10px 12px 10px 16px;gap:12px}.sector-slide-footer .button>span{height:25px;width:25px;font-size:16px}}
@media(prefers-reduced-motion:reduce) and (max-height:580px){.sector-preview{height:auto;aspect-ratio:16/10}.comparison-v3{height:auto;aspect-ratio:16/10}}
