:root{--mint:#9cc4b6;--paper:#f3f0e8;--green:#014235;--accent:#c59152}
*{box-sizing:border-box}html,body{margin:0;background:#050807;color:#f4f1e9;font-family:Inter,Arial,sans-serif}
body{overflow-x:hidden}.intro,.outro{min-height:74vh;width:min(1100px,90vw);margin:auto;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:.72rem;letter-spacing:.22em;color:var(--mint);text-transform:uppercase}
.intro h1,.outro h2{font-size:clamp(2.7rem,6.7vw,6.6rem);line-height:.96;font-weight:300;margin:.18em 0;max-width:16ch}
.intro p,.outro p{max-width:64ch;color:#adb7b2;line-height:1.6}
#experience{height:900vh;position:relative}#sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#050807}
#webgl{position:absolute;inset:0;width:100%;height:100%;display:block}
.full-overlay{position:absolute;inset:0;z-index:20;opacity:0;pointer-events:none;display:grid;place-items:center;background:#050807}
.paper-overlay img{width:100%;height:100%;object-fit:contain;background:var(--paper)}#startOverlay{opacity:1}
.compare-overlay{z-index:25;background:#08100d;padding:6vh 5vw}
.compare-stage{position:relative;width:min(92vw,1450px);aspect-ratio:16/9;overflow:hidden;background:var(--paper);pointer-events:auto}
.compare-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--paper)}
.compare-built{position:absolute;inset:0;clip-path:inset(0 0 0 50%);overflow:hidden}
.compare-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--green);transform:translateX(-1px)}
.compare-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--green);border:1px solid var(--green)}
.compare-label{position:absolute;top:16px;padding:6px 8px;background:rgba(243,240,232,.9);color:#19372d;font-size:10px;letter-spacing:.18em;z-index:5}
.compare-label.left{left:16px}.compare-label.right{right:16px}
.scanline{position:absolute;z-index:18;top:-5%;bottom:-5%;left:100%;width:84px;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(156,196,182,.08),rgba(156,196,182,.25),transparent)}
.scanline::after{content:"";position:absolute;left:41px;top:0;bottom:0;width:2px;background:#c3f2e2;box-shadow:0 0 8px #9cc4b6,0 0 24px #9cc4b6,0 0 58px rgba(156,196,182,.8)}
.hud{position:absolute;z-index:40;left:24px;right:24px;top:20px;display:flex;justify-content:space-between;pointer-events:none;text-shadow:0 1px 12px #000}
.hud small{display:block;color:var(--mint);font-size:9px;letter-spacing:.18em;margin-bottom:5px}.hud strong{font-size:12px;letter-spacing:.13em;font-weight:500}.hud>span{font-size:11px;letter-spacing:.15em}
.copy{position:absolute;z-index:40;left:clamp(22px,6vw,88px);bottom:clamp(68px,10vh,116px);max-width:min(590px,78vw);text-shadow:0 2px 20px rgba(0,0,0,.95);pointer-events:none}
.copy small{font-size:10px;letter-spacing:.2em;color:var(--mint)}.copy h2{font-size:clamp(1.7rem,4vw,4.3rem);line-height:1.03;font-weight:300;margin:.22em 0}.copy p{color:#ced5d1;max-width:46ch;line-height:1.5}
.rail{position:absolute;z-index:42;left:24px;right:24px;bottom:18px;display:grid;grid-template-columns:repeat(10,1fr);gap:5px}
.rail i{height:2px;background:rgba(255,255,255,.18);position:relative}.rail i.active{background:var(--accent)}
.rail i::after{content:attr(data-id);position:absolute;bottom:7px;color:#fff;font-size:8px;letter-spacing:.12em;opacity:.45}.rail i.active::after{opacity:1}
.debug-toggle{position:absolute;z-index:60;right:20px;bottom:34px;background:rgba(3,7,6,.72);border:1px solid rgba(255,255,255,.16);color:#d7e2dd;padding:7px 9px;font-size:9px;letter-spacing:.14em}
.debug-panel{display:none;position:absolute;z-index:61;right:20px;top:70px;width:min(430px,calc(100vw - 40px));padding:14px;background:rgba(3,7,6,.9);border:1px solid rgba(156,196,182,.3);backdrop-filter:blur(8px);font-size:11px}
.debug-panel.open{display:block}.debug-panel>b{display:block;color:var(--mint);letter-spacing:.13em;margin-bottom:10px}
.debug-panel>div{display:grid;grid-template-columns:75px 1fr;gap:8px;margin:6px 0}.debug-panel span{color:#8f9a95}.debug-panel code{color:#f2efe8;white-space:normal}.debug-panel p{color:#8f9a95;line-height:1.4}
@media(max-width:760px){#experience{height:760vh}.copy{left:14px;right:14px;bottom:58px;max-width:none;padding:12px 13px;background:linear-gradient(90deg,rgba(4,8,7,.82),rgba(4,8,7,.35));border-left:2px solid var(--mint)}.copy h2{font-size:clamp(1.45rem,7.5vw,2.7rem)}.hud{left:14px;right:14px;top:12px}.rail{left:14px;right:14px}.rail i::after{display:none}.compare-overlay{padding:14vh 8px}.compare-stage{width:100%;aspect-ratio:4/5}}

.loading-cloud{position:absolute;inset:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#050807;color:#e8eee9;transition:opacity .45s ease;pointer-events:none}
.loading-cloud b{font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.loading-cloud span{font-size:10px;letter-spacing:.11em;color:#9cc4b6}
.loading-cloud.ready{opacity:0}

/* V5 — cinematic grading: subtle, not a fake "filter". */
#sticky::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:16;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 46%, transparent 0 56%, rgba(0,0,0,.15) 82%, rgba(0,0,0,.28) 100%),
    linear-gradient(to top, rgba(4,8,7,.15), transparent 30%);
}
#startOverlay,#endOverlay{
  transform-origin:50% 52%;
  will-change:opacity,transform,filter;
}

/* V6 — E2E corrections */
.compare-stage{
  aspect-ratio:16/9;
  background:#091212;
}
.compare-img{
  object-fit:cover;
  background:#091212;
}
#startOverlay,#endOverlay{
  will-change:opacity,transform,filter;
}
/* Direção arquitetos — leitura editorial e foco no existente. */
html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:#f3f0e8;color:#243d34}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible,.compare-stage:focus-visible{outline:3px solid #c59152;outline-offset:6px}
.site-nav{padding:25px 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #243d3425;font-size:11px}.brand{font-size:27px;font-weight:600;letter-spacing:-1.3px}.brand span{display:block;font-size:8px;letter-spacing:2px;font-weight:400;margin-top:5px}
.intro{width:90vw;max-width:1500px;min-height:calc(100svh - 98px);display:grid;grid-template-columns:1fr 1fr;gap:5vw;padding:48px 0 60px;align-items:center}.intro-copy{padding:20px 0}.eyebrow{color:#527063;font-size:10px;letter-spacing:.17em}.intro h1{font-size:clamp(40px,4.6vw,76px);line-height:1.08;max-width:13ch;letter-spacing:-.045em;font-weight:400;margin:28px 0}.intro h1 em,.outro h2 em{font-family:Georgia,serif;font-weight:400;color:#638171}.intro p{color:#536258;font-size:15px;line-height:1.8;max-width:44ch}.intro .eyebrow{font-size:10px}.primary-link{display:flex;width:max-content;gap:42px;padding:17px 22px;background:#234c3d;color:#faf8f0;font-size:12px;margin:30px 0 18px}.primary-link:hover{background:#35614e}.text-link{font-size:11px;border-bottom:1px solid #8f9e91;padding-bottom:5px}
.intro-drawing{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;position:relative;background:#e7e6dc;border:1px solid #243d3420;padding:24px;overflow:hidden}.drawing-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.8px;color:#596d60}.intro-drawing img{width:100%;margin:40px 0;mix-blend-mode:multiply}.intro-drawing figcaption{font-family:Georgia,serif;font-size:clamp(19px,2vw,30px);line-height:1.4;letter-spacing:-.5px}.intro-drawing figcaption em{color:#6b7b6b}.drawing-note{font-size:8px;letter-spacing:1.5px;margin-top:30px;color:#607165}
.experience-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:#203c30;color:#edf0e5;font-size:9px;letter-spacing:1.2px}.experience-heading p{margin:0}.experience-heading a{letter-spacing:0;font-size:11px}
#sticky{color:#f4f1e9}.copy{max-width:min(530px,80vw);padding:18px 22px;background:linear-gradient(90deg,#07140ee8,#07140eaa);border-left:1px solid #9cc4b6}.copy h2{font-size:clamp(26px,3.5vw,52px)}.copy p{font-size:13px}.copy small{font-size:9px}.hud{padding:10px 14px;background:#07140ed9;top:16px}.paper-state .copy{background:#f3f0e8f5;color:#243d34;text-shadow:none;border-color:#527063}.paper-state .copy small,.paper-state .copy p{color:#435d4d}.compare-state .copy{bottom:50px;max-width:440px;padding:10px 16px}.compare-state .copy h2{font-size:25px}.compare-state .copy p{margin:8px 0}.compare-overlay{padding:12vh 4vw 25vh}.compare-stage{width:min(86vw,1100px);max-height:60vh}.compare-img{object-fit:contain}.debug-toggle{display:none}.rail i::after{color:#aab9ae}.rail i{background:#78948480}
.outro{width:90vw;max-width:1400px;min-height:auto;padding:100px 0 60px}.outro h2{font-size:clamp(36px,4.8vw,68px);max-width:22ch;line-height:1.08;letter-spacing:-2px;margin:20px 0}.outro>p{color:#536258;font-size:15px;max-width:65ch}.deliveries{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:55px 0 70px}.deliveries article{border-top:1px solid #8b9a893d;padding-top:23px}.deliveries small{font-size:9px;letter-spacing:1.6px;color:#667c67}.deliveries h3{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.15}.deliveries p,.project-brief p{font-size:14px;color:#536258;line-height:1.8}.project-brief{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#e7e9de;padding:40px}.project-brief h3{font-family:Georgia,serif;font-size:40px;font-weight:400;margin:20px 0}.project-brief .scope-note{font-size:12px}summary{cursor:pointer;font-size:13px;padding:14px 0;border-top:1px solid #9aac983d}.outro .illustration-note{font-size:11px;max-width:100ch;margin:38px 0 0;color:#667065}footer{display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;border-top:1px solid #243d3425;font-size:10px}
@media(max-width:760px){.site-nav{padding:20px 5vw}.site-nav>a:last-child{font-size:10px}.intro{grid-template-columns:1fr;padding:20px 0 35px;gap:20px}.intro h1{font-size:clamp(42px,10vw,66px);max-width:17ch}.intro-copy{padding:10px 0}.intro-drawing{padding:20px}.intro-drawing img{margin:24px 0}.intro-drawing figcaption{font-size:24px}.experience-heading{gap:25px;line-height:1.5}.experience-heading p{max-width:24ch}.copy{max-width:none}.compare-stage{width:96vw;max-height:55vh}.compare-overlay{padding:10vh 2vw 30vh}.compare-state .copy{left:14px;right:14px;max-width:none;bottom:48px}.deliveries{grid-template-columns:1fr;gap:20px;margin:30px 0}.project-brief{grid-template-columns:1fr;gap:10px;padding:24px}.outro{padding-top:60px}.outro h2{letter-spacing:-1px}footer{gap:20px;flex-wrap:wrap}footer>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#experience{height:400vh}}

/* Cinema 02: architecture fills the stage; controls stay outside the focal area. */
#experience{height:1000vh}#sticky{background:#14251f}#webgl{touch-action:pan-y}.hud{left:4vw;right:4vw;top:24px;background:none;padding:0;text-shadow:0 1px 8px #000}.hud small{font-size:8px;letter-spacing:.22em}.hud strong{font-size:11px;text-transform:uppercase}.hud>span{font-size:10px}
.copy{left:4vw;bottom:116px;max-width:400px;padding:0;border:0;background:none;text-shadow:0 2px 16px #000}.copy h2{font-family:Georgia,serif;font-weight:400;line-height:1.08;font-size:clamp(28px,3vw,45px);letter-spacing:-1px}.copy p{font-size:12px;line-height:1.6;max-width:40ch}.copy small{letter-spacing:.18em;font-size:8px}.paper-state .copy{background:#f3f0e8ec;padding:15px;max-width:370px}.paper-state .hud{color:#274339;text-shadow:none}.paper-state .hud small{color:#4f6a60}.compare-state .hud{color:#eef1e5}.compare-state .hud small{color:#b8c8bd}.compare-state .copy{bottom:116px;max-width:370px}.compare-state .copy h2{font-size:25px}
#sticky::after{z-index:16;background:linear-gradient(0deg,#07130ff5 0%,#07130fb3 11%,transparent 37%,transparent 88%,#07130f66 100%)}.paper-state::after{opacity:0}.compare-state::after{opacity:1}
.rail{left:4vw;right:4vw;bottom:20px;display:flex;justify-content:space-between;gap:4px}.rail button{flex:1;background:transparent;color:#b5c2ba;border:0;border-top:1px solid #78887a66;padding:12px 4px 3px;font-size:10px;letter-spacing:.06em;cursor:pointer;text-align:left}.rail button.active{border-color:#d1ba89;color:#fff}.rail button:hover{color:#fff;border-color:#fff}.paper-state .rail button{color:#2b4a3b}.paper-state .rail button.active{color:#0b2c20;border-color:#37604d}.compare-state .rail button{color:#b5c2ba}.compare-state .rail button.active{color:#fff}
.cinema-transport{position:absolute;z-index:45;bottom:72px;left:4vw;right:4vw;display:flex;gap:24px;align-items:center}.cinema-transport button{color:#e1e8de;border:1px solid #a7b6a866;background:#0c1c17cc;border-radius:2px;font-size:10px;padding:10px 14px;cursor:pointer;white-space:nowrap}.cinema-transport input{flex:1;min-width:20px;accent-color:#c9b385;height:2px;cursor:pointer}.cinema-transport>span{color:#b5c2ba;font-size:8px;letter-spacing:.15em}.paper-state .cinema-transport>span{color:#315640}.compare-state .cinema-transport>span{color:#b5c2ba}
.reveal-control{position:absolute;z-index:46;right:4vw;bottom:132px;width:260px;padding:15px 18px;border:1px solid #b3c4b647;background:#0b1b16df;backdrop-filter:blur(12px);color:#dfebde}.reveal-control[hidden]{display:none}.reveal-control>div{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em}.reveal-control input{width:100%;margin:20px 0 12px;accent-color:#d6bc85;cursor:ew-resize}.reveal-control button{background:none;color:#9aada0;border:0;padding:0;font-size:9px;cursor:pointer}.compare-overlay{padding:11vh 4vw 30vh}.compare-stage{max-height:57vh}.compare-label{font-size:8px}.loading-cloud{z-index:44;background:radial-gradient(circle at 50% 42%,#23463b 0%,#14251f 58%,#10201b 100%)}.loading-cloud b{font-family:Georgia,serif;font-size:25px;font-weight:400;letter-spacing:0;text-transform:none}.loading-cloud span{font-size:10px;max-width:75vw;text-align:center;line-height:1.6}
@media(max-width:700px){#experience{height:850vh}.hud{top:20px}.copy,.compare-state .copy{bottom:134px;max-width:82vw}.copy h2{font-size:28px;max-width:20ch}.copy p{font-size:11px}.cinema-transport{bottom:91px;gap:16px}.cinema-transport>span{display:none}.rail{bottom:16px;flex-wrap:wrap;gap:6px}.rail button{flex:1 1 21%;font-size:9px;padding:7px 1px 3px}.reveal-control{bottom:290px;right:4vw;width:205px;padding:12px}.reveal-control input{margin:14px 0 8px}.compare-overlay{padding:12vh 2vw 40vh}.compare-stage{max-height:43vh}.paper-state .copy{padding:12px}.paper-state .hud small{font-size:7px}}
@media(prefers-reduced-motion:reduce){#experience{height:700vh}}
/* Pranchas finais com leitura de documento arquitetônico. */
.compare-stage{background:#eeeae0;border:1px solid #afbaac}.compare-img{filter:grayscale(1) invert(1) contrast(1.2);mix-blend-mode:multiply;background:transparent}.compare-line{background:#315544}.compare-label.right{background:#d6dfcf;color:#254332}.compare-label.left{background:#f2ede0;color:#3e4a3e}.reveal-control small{font-size:9px;color:#b8c7b9}.reveal-control output{font-size:9px}
#sticky{overflow:clip}
@media(max-width:700px){.compare-stage{width:100%;max-width:100%}.rail{bottom:10px}.rail button{min-height:44px}.cinema-transport{bottom:116px}.copy,.compare-state .copy{bottom:163px}.reveal-control{bottom:320px}}
