@font-face{font-family:Jost;src:url('assets/jost-var-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}:root{--forest:#263e30;--green:#3b5b48;--sage:#9eaf8f;--paper:#e9e4ca;--line:#e9e4ca35;--display:Jost,Futura,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--forest);color:var(--paper);font:14px/1.5 Arial,Helvetica,sans-serif}button,a{color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{text-decoration:none}button{font:inherit;border:0;cursor:pointer}img{display:block;max-width:100%}h1,h2,p{margin:0}h1,h2{font-family:var(--display);font-weight:350;letter-spacing:-.045em;line-height:1.02}button:focus-visible,a:focus-visible{outline:2px solid var(--paper);outline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);color:var(--forest);padding:15px;z-index:100}.skip:focus{top:10px}
.nav{position:absolute;z-index:20;left:0;right:0;top:0;padding:28px 4.2%;display:flex;align-items:center;gap:30px}.nav>a>img{width:185px;max-height:60px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:30px;font-size:13px}.nav nav button{background:none;padding:8px 0}.nav-contact{padding:11px 22px;background:transparent;border:1px solid #e9e4ca65;border-radius:40px;font-size:13px;display:flex;gap:27px;align-items:center}.nav-contact:hover{background:var(--paper);color:var(--forest)}.nav-contact span{font-size:21px}
.journey{position:relative;height:820svh}.world-stage{height:100svh;min-height:600px;position:sticky;top:0;overflow:hidden;background:#263e30;isolation:isolate}.world-aura{position:absolute;inset:0;background:radial-gradient(ellipse at 68% 42%,#9eaf8f3b,transparent 57%);z-index:-1}.world-word{position:absolute;top:27%;left:30%;font:500 14vw/.8 var(--display);letter-spacing:-.05em;color:#c5d0ad0c;user-select:none}#world{position:absolute;inset:0;z-index:1}#world canvas{display:block;width:100%;height:100%;touch-action:pan-y}.free #world canvas{touch-action:none;cursor:grab}.free #world canvas:active{cursor:grabbing}#world-fallback{position:absolute;inset:0;z-index:1}#world-fallback img{width:100%;height:100%;object-fit:cover;opacity:.4}.film-reveal{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;clip-path:circle(0% at 65% 50%)}.film-reveal{background:#1b3028}.film-reveal img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;}.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,#183024bb,transparent 65%),linear-gradient(0deg,#183024b0,transparent 30%)}.world-labels{position:absolute;inset:0;pointer-events:none;z-index:5}.world-labels button{position:absolute;left:0;top:0;background:none;padding:8px;display:flex;align-items:center;gap:9px;white-space:nowrap;transform:translate(-50%,-100%);pointer-events:auto;opacity:0;font-size:11px}.world-labels button span{background:#203a30dd;border:1px solid #e9e4ca55;border-radius:30px;padding:7px 13px;backdrop-filter:blur(8px)}.world-labels button b{width:7px;height:7px;border-radius:50%;background:var(--paper);box-shadow:0 0 0 4px #e9e4ca20}.world-labels button:hover span{background:var(--paper);color:var(--forest)}
.chapters{position:absolute;inset:0;z-index:6;pointer-events:none}.chapter{position:absolute;left:7%;top:22%;width:39%;opacity:0;visibility:hidden;pointer-events:none;will-change:transform,opacity}.chapter.active{opacity:1;visibility:visible}.chapter button,.chapter a{pointer-events:auto}.chapter:not(.active) button,.chapter:not(.active) a{pointer-events:none}.place,.chapter-kicker{font-size:12px;margin-bottom:26px;color:#d4decb}.place:before{content:'';display:inline-block;background:var(--sage);width:6px;height:6px;border-radius:50%;margin:0 8px 1px 0}.chapter h1{font-size:clamp(64px,min(7vw,11svh),115px);line-height:.97;letter-spacing:-.055em}.chapter h1 em{font-style:normal;color:var(--sage)}.chapter h2{font-size:clamp(56px,6vw,95px)}.chapter-description{margin-top:25px;line-height:1.7;font-size:15px;color:#d4decb}.begin{margin-top:30px;background:none;padding:0;display:flex;align-items:center;gap:15px;font-size:12px}.round-arrow{border:1px solid #e9e4ca70;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:22px}.begin:hover .round-arrow{background:var(--paper);color:var(--forest)}.underlink{background:none;border-bottom:1px solid #e9e4ca70;padding:13px 0;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-size:13px;margin-top:25px}.underlink>span{font-size:24px;line-height:1}.chapter-logo{max-height:70px;width:auto;max-width:245px;margin-bottom:12px}.chapter-logo.logo-torres{max-width:320px}.developer{font-size:11px;color:#b8c6ae;margin-bottom:30px}.final-chapter{top:27%}.chapter-counter{position:absolute;left:4.2%;bottom:100px;display:flex;align-items:center;gap:9px;font:13px var(--display);z-index:6}.chapter-counter>span:first-child{font-size:26px}.chapter-counter i{font-style:normal;opacity:.4}.world-tools{position:absolute;right:4.2%;bottom:105px;display:flex;gap:8px;z-index:7}.world-tools button{background:#213c30cc;border:1px solid #e9e4ca45;backdrop-filter:blur(12px);border-radius:40px;padding:9px 16px;display:flex;align-items:center;gap:9px;font-size:11px}.world-tools button[aria-pressed=true]{background:var(--paper);color:var(--forest)}.world-tools button>span:first-child{font-size:20px}.world-hint{position:absolute;right:4.2%;bottom:78px;font-size:10px;color:#c6d2b9;z-index:7}.journey-footer{position:absolute;left:4.2%;right:4.2%;bottom:0;height:65px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:10px;z-index:7}.chapter-nav{display:flex;gap:12px}.chapter-nav button{width:26px;height:32px;position:relative;background:none;padding:0}.chapter-nav button:after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#e9e4ca70;margin:auto;transition:.2s}.chapter-nav button[aria-current=step]:after{width:22px;border-radius:10px;background:var(--paper)}.illustration-note{color:#bbc9b0;font-size:9px}.journey-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#e9e4ca10;z-index:8}.journey-progress i{display:block;width:100%;height:100%;background:var(--sage);transform:scaleX(0);transform-origin:left}.free .chapter{opacity:0!important;visibility:hidden!important}
.project-cinema{height:320svh;position:relative}.cinema-pin{position:sticky;top:0;height:100svh;overflow:hidden}.cinema-track{display:flex;width:300%;height:100%;will-change:transform}.cinema-panel{width:33.333333%;height:100%;position:relative;overflow:hidden}.cinema-image{width:100%;height:100%;object-fit:cover;will-change:transform}.cinema-panel:first-child .cinema-image{object-position:50% 45%}.cinema-shade{position:absolute;inset:0;background:linear-gradient(180deg,#14282088,transparent 35%,#142820c9)}.cinema-top{position:absolute;top:45px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px}.cinema-logo{position:absolute;left:7%;top:27%;max-width:42%;max-height:27%;width:auto;filter:drop-shadow(0 2px 20px #0003)}.cinema-logo.torres-logo{max-width:65%;width:820px}.cinema-bottom{position:absolute;bottom:120px;left:7%;right:7%;display:flex;align-items:end;justify-content:space-between;gap:30px}.cinema-bottom h2{font-size:clamp(38px,4vw,65px);line-height:1.1}.cinema-bottom button{background:#e9e4ca;color:var(--forest);border-radius:3px;padding:16px 22px;display:flex;align-items:center;gap:45px;font-size:13px}.cinema-bottom button span{font-size:24px}.cinema-guide{position:absolute;bottom:0;left:5%;right:5%;height:66px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e9e4ca60;font-size:11px}
.park-story{background:var(--paper);color:var(--forest)}.park-window{height:115svh;position:relative;overflow:hidden}.park-window>img{width:100%;height:120%;object-fit:cover;position:absolute;top:-10%;will-change:transform}.park-shade{position:absolute;inset:0;background:linear-gradient(180deg,#18302455,transparent 60%,#18302477)}.park-title{position:absolute;left:7%;top:20%;color:var(--paper)}.park-title p{font-size:13px;margin-bottom:28px}.park-title h2{font-size:clamp(70px,10vw,150px)}.park-credit{position:absolute;left:7%;bottom:35px;color:var(--paper);font-size:10px}.park-text{padding:100px 7%;display:grid;grid-template-columns:1fr 2fr;gap:20px;align-items:center}.flower{font:130px/1 var(--display);color:#6c8366;justify-self:center}.park-text>p{font:350 clamp(36px,4vw,64px)/1.2 var(--display);letter-spacing:-.035em}.park-text>p>span{color:#6c8366}.park-text .underlink{grid-column:2;justify-self:start;border-color:#263e3070;margin-top:12px}.next-chapter{position:relative;overflow:hidden;padding:100px 7%;background:var(--green)}.next-chapter>p{font-size:13px;margin-bottom:30px}.next-chapter h2{font-size:clamp(55px,6vw,95px);position:relative;z-index:2}.next-chapter button{position:relative;z-index:2;display:flex;align-items:center;gap:40px;margin-top:35px;padding:15px 24px;background:var(--paper);color:var(--forest);border-radius:3px;font-size:13px}.next-chapter button span{font-size:25px}.next-chapter>img{position:absolute;right:-9%;top:12%;width:45%;opacity:.07;transform:rotate(-20deg)}footer{padding:50px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px}footer>img{width:170px}footer>p{max-width:290px;font-size:9px;color:#becbb5}footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.nav nav{gap:18px;margin-right:0}.chapter{width:45%;left:6%}.chapter h1{font-size:90px}.chapter h2{font-size:65px}.chapter-logo.logo-torres{max-width:260px}.illustration-note{max-width:160px;text-align:right}.park-text{padding-block:70px}}
@media(max-width:650px){.nav{padding:23px 6%;gap:10px}.nav>a>img{width:140px}.nav nav{display:none}.nav-contact{margin-left:auto;font-size:11px;padding:9px 15px;gap:15px}.journey{height:760svh}.world-stage{min-height:620px}.world-word{top:44%;left:3%;font-size:23vw}.chapter{top:16%;left:7%;width:86%}.place,.chapter-kicker{font-size:10px;margin-bottom:18px}.chapter h1{font-size:clamp(57px,14vw,85px);line-height:.95}.chapter h1 br:nth-child(2){display:none}.chapter h1 em{display:inline-block;margin-left:.08em}.chapter h2{font-size:clamp(47px,12vw,70px);max-width:12ch}.chapter-description{font-size:12px;line-height:1.6;margin-top:15px}.begin{font-size:10px;margin-top:18px;gap:10px}.round-arrow{width:32px;height:32px;font-size:18px}.chapter-logo{max-height:42px;max-width:165px;margin-bottom:7px}.chapter-logo.logo-torres{max-width:230px}.developer{font-size:10px;margin-bottom:16px}.underlink{font-size:11px;padding:9px 0;margin-top:14px;gap:25px}.world-labels button span{font-size:9px;padding:5px 9px}.world-labels button{gap:5px;padding:5px}.world-labels button b{width:5px;height:5px}.world-tools{bottom:83px;right:5%;left:5%;justify-content:center;gap:6px}.world-tools button{padding:7px 12px;font-size:10px}.world-tools button>span:first-child{font-size:17px}.world-hint{bottom:60px;right:0;left:0;text-align:center;font-size:9px}.chapter-counter{left:6%;bottom:132px;font-size:11px}.chapter-counter>span:first-child{font-size:20px}.journey-footer{height:48px;left:6%;right:6%}.journey-footer>span:first-child{display:none}.illustration-note{font-size:8px;max-width:140px}.chapter-nav{gap:5px}.chapter-nav button{width:22px}.final-chapter{top:25%}.final-chapter h2{font-size:90px}.project-cinema{height:auto}.cinema-pin{position:relative;height:auto;overflow:visible}.cinema-track{width:100%;display:block;height:auto;transform:none!important}.cinema-panel{width:100%;height:88svh;min-height:620px}.cinema-top{top:25px;left:7%;right:7%;font-size:10px}.cinema-logo{left:7%;top:25%;max-width:65%;max-height:18%}.cinema-logo.torres-logo{max-width:86%}.cinema-bottom{bottom:50px;left:7%;right:7%;display:block}.cinema-bottom h2{font-size:40px}.cinema-bottom button{font-size:12px;padding:12px 17px;margin-top:25px;gap:30px}.cinema-guide{display:none}.park-window{height:90svh;min-height:650px}.park-window>img{object-position:55% center}.park-title{top:15%}.park-title h2{font-size:73px}.park-title p{font-size:11px;margin-bottom:18px}.park-credit{font-size:9px;left:7%;right:7%;bottom:25px}.park-text{padding:45px 7%;grid-template-columns:1fr;gap:18px}.flower{justify-self:start;font-size:65px}.park-text>p{font-size:37px}.park-text .underlink{grid-column:1}.next-chapter{padding:55px 7%}.next-chapter>p{font-size:11px;margin-bottom:22px}.next-chapter h2{font-size:48px}.next-chapter button{font-size:12px;padding:12px 20px;margin-top:25px}.next-chapter>img{top:40%;width:70%;right:-25%}footer{padding:40px 7%;flex-direction:column;align-items:start;gap:24px}footer>img{width:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.journey{height:100svh;min-height:720px}.world-stage{position:relative}.project-cinema{height:auto}.cinema-pin{position:relative;height:auto}.cinema-track{display:block;width:100%;transform:none!important}.cinema-panel{width:100%;height:100svh;min-height:650px}.cinema-guide{display:none}}
dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(550px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:0;border:0;background:var(--paper);color:var(--forest);overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#0d2019a8;backdrop-filter:blur(4px)}dialog[open]{animation:enter .35s ease-out}.detail{position:relative;min-height:100%}.close-detail{position:absolute;top:20px;right:20px;z-index:3;border-radius:50%;width:44px;height:44px;background:var(--paper);color:var(--forest);font:28px/1 var(--body)}.detail-visual{height:300px;position:relative;background:var(--forest)}.detail-visual>img{width:100%;height:100%;object-fit:cover}.detail-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#15271cd9);pointer-events:none}.detail-logo{position:absolute;bottom:35px;left:32px;z-index:1}.detail-logo img{max-height:72px;width:auto;max-width:290px}.detail-visual>span{position:absolute;bottom:8px;right:15px;font-size:9px;color:#eee;z-index:1}.detail-content{padding:32px}.detail-content>p:first-child{font-size:12px;color:#55674d;margin-bottom:13px}.detail-content h2{font-size:43px;margin-bottom:20px}.detail-content>p{font-size:14px;line-height:1.7}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-block:1px solid #233e3030;padding:20px 0;margin:24px 0 18px}.detail-facts b{display:block;font:400 25px var(--display);letter-spacing:-.02em}.detail-facts span{font-size:11px;color:#58664e}.detail-status{font-size:12px!important;color:#4d6248;background:#9eaf8f2c;padding:12px 14px;border-left:2px solid var(--green)}.detail-cta{background:var(--forest);color:var(--paper);width:100%;margin-top:24px}.detail-cta:hover{background:var(--green)}.detail-contact{font-size:11px!important;margin-top:12px;color:#54624b}.back-map{background:transparent;border-bottom:1px solid #233e3060;display:flex;justify-content:space-between;width:100%;padding:18px 0 9px;margin-top:12px;font-size:13px}.back-map span{font-size:18px}@keyframes enter{from{transform:translateX(100%)}to{transform:none}}

.primary{display:flex;align-items:center;justify-content:space-between;padding:15px 20px}.detail-cta{font-size:13px}
@media(max-width:650px){.detail-visual{height:250px}.detail-content{padding:25px}.detail-content h2{font-size:37px}.detail-logo{left:25px}.detail-logo img{max-width:250px}}

@media(min-width:651px) and (max-height:760px){.chapter-kicker,.place{margin-bottom:18px}.chapter h2{font-size:clamp(48px,8svh,76px)}.developer{margin-bottom:18px}.chapter-description{margin-top:18px}.begin{margin-top:22px}.chapter-logo{max-height:55px}.underlink{margin-top:17px}}

.world-tools button:disabled{opacity:.35;cursor:default}

.avenue-label{position:absolute;left:0;top:0;z-index:5;pointer-events:none;display:flex;align-items:center;gap:10px;opacity:0;font-size:10px;line-height:1.45;letter-spacing:.025em}.avenue-label span{padding:7px 10px;background:#203a30ec;border-left:2px solid #d4bd82}.avenue-label i{width:13px;height:13px;border:1px solid #d4bd82;border-radius:50%;box-shadow:0 0 0 4px #d4bd8228}
@media(max-width:650px){.avenue-label{font-size:8px;gap:6px}.avenue-label span{padding:5px 7px}.final-chapter{top:14%}.final-chapter h2{font-size:60px}.film-reveal img{object-position:center 62%}.film-shade{background:linear-gradient(0deg,#183024b0,transparent 22%)}}

.avenue-label{margin-left:-145px;flex-direction:row-reverse;text-align:right}.avenue-label span{border-left:0;border-right:2px solid #d4bd82}
@media(max-width:650px){.avenue-label{margin-left:-112px}}
/* v8 — the model remains the main interaction; controls explain where the visitor is. */
body{font-family:Jost,Arial,sans-serif}.chapter h1 em{color:inherit}.world-word{opacity:.45}.chapter-description{max-width:30ch}.world-aura{background:radial-gradient(ellipse at 72% 42%,#c5d0ad32,transparent 60%)}
.world-loading{position:absolute;left:72%;top:51%;transform:translate(-50%,-50%);z-index:4;display:grid;justify-items:center;gap:12px;font-size:13px;color:var(--paper)}.world-loading small{opacity:.65;font-size:10px}.loading-ring{width:36px;height:36px;border:1px solid #e9e4ca35;border-top-color:var(--paper);border-radius:50%;animation:load-turn 1.1s linear infinite}@keyframes load-turn{to{transform:rotate(360deg)}}
.world-labels button span{display:grid;justify-items:center;gap:4px;border-color:#e9e4ca35;background:#203a30ed;border-radius:6px;min-width:62px;font-size:10px;padding:9px 12px}.world-labels button span img{max-width:76px;max-height:24px;object-fit:contain;width:auto}.world-labels button:hover span{background:#46604b;color:var(--paper);border-color:var(--paper)}.world-labels button b{width:5px;height:5px}.world-labels button:focus-visible span{outline:2px solid var(--paper)}
.chapter-nav{gap:6px;align-items:stretch;height:100%}.chapter-nav button{width:auto;min-width:46px;height:100%;padding:0 10px;font-size:11px;color:#c2cbb8;white-space:nowrap}.chapter-nav button:after{position:absolute;left:10px;right:10px;bottom:12px;width:auto;height:1px;transform:scaleX(0);transform-origin:left;transition:transform .35s;background:var(--paper);border-radius:0}.chapter-nav button[aria-current=step]{color:var(--paper)}.chapter-nav button[aria-current=step]:after{width:auto;border-radius:0;transform:scaleX(1)}.chapter-nav button:hover{color:var(--paper)}.journey-footer{height:65px}.world-tools button{transition:background .2s,border-color .2s}.world-tools button:hover:not(:disabled){border-color:#e9e4caaa;background:#3b5b48}.world-tools button[aria-pressed=true]:hover{background:var(--paper);color:var(--forest)}
.final-chapter{top:18%;width:36%}.final-chapter h2{font-size:clamp(60px,6.3vw,100px)}.final-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:30px}.panorama-button{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper);color:var(--forest);padding:15px 20px;font-size:13px;border-radius:3px;box-shadow:0 3px 24px #14291a18}.panorama-button span{font-size:23px;line-height:1}.panorama-button:hover{background:#fffbea}.final-actions .underlink{margin-top:7px}.film-shade{background:linear-gradient(90deg,#183024d9,transparent 60%),linear-gradient(0deg,#183024c0,transparent 24%)}.showing-panorama .world-tools #night-mode,.showing-panorama .world-tools #motion-toggle{display:none}.showing-panorama .world-hint{opacity:0}.showing-panorama .world-tools{bottom:88px}
.panorama-dialog{inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;background:#14271f;color:var(--paper);overflow:hidden;border:0;padding:0}.panorama-dialog[open]{display:flex;flex-direction:column;animation:none}.panorama-header{display:flex;justify-content:space-between;align-items:center;padding:22px 30px;gap:20px;border-bottom:1px solid var(--line)}.panorama-header h2{font-size:28px;letter-spacing:-.02em}.panorama-header p{font-size:11px;color:#b8c6ae;margin-top:6px}.panorama-tools{display:flex;align-items:center;gap:8px}.panorama-tools button{font:inherit;font-size:12px;background:#263e30;color:var(--paper);border:1px solid #e9e4ca55;padding:10px 15px;border-radius:4px}.panorama-tools button:hover{background:#3b5b48}.panorama-tools button:disabled{opacity:.4;cursor:wait}.panorama-tools span{font-size:20px;margin-left:12px}.panorama-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-color:#758570 #14271f;display:flex;align-items:center;justify-content:center}.panorama-viewport img{width:100%;height:100%;object-fit:contain;max-width:none;user-select:none;flex-shrink:0}.panorama-viewport.zoomed{display:block;cursor:grab}.panorama-viewport.zoomed:active{cursor:grabbing}.panorama-viewport.zoomed img{width:max(1600px,180%);height:auto;object-fit:initial}.panorama-foot{display:flex;justify-content:space-between;gap:20px;padding:14px 30px;font-size:10px;color:#b8c6ae;border-top:1px solid var(--line)}
.cinema-panel .cinema-image{transition:filter .5s}.cinema-panel:focus-within .cinema-image{filter:brightness(1.08)}.cinema-bottom button:hover{background:var(--paper);color:var(--forest)}
@media(max-width:1100px){.journey-footer>span:first-child{display:none}.chapter-nav{gap:0}.final-chapter{width:42%}}
@media(max-width:650px){.world-loading{left:50%;top:60%;font-size:11px}.chapter h1{font-size:clamp(57px,14vw,85px)}.world-labels button span{padding:6px 8px;font-size:8px;min-width:48px}.world-labels button span img{max-width:50px;max-height:17px}.world-labels button{gap:4px}.journey-footer{height:54px;left:4%;right:4%;justify-content:center}.journey-footer .illustration-note{display:none}.chapter-nav{width:100%;justify-content:space-between;gap:0}.chapter-nav button{padding:0 5px;min-width:0;font-size:10px}.chapter-nav button:after{left:5px;right:5px;bottom:10px}.world-tools{bottom:90px}.world-hint{bottom:67px}.chapter-counter{bottom:139px}.final-chapter{top:14%;width:86%}.final-chapter h2{font-size:62px;line-height:.95}.final-actions{margin-top:20px;gap:2px}.panorama-button{padding:12px 16px;font-size:11px;gap:24px}.final-actions .underlink{font-size:10px;padding:7px 0}.film-reveal img{object-position:center 66%}.film-shade{background:linear-gradient(0deg,#183024b0,transparent 22%)}.showing-panorama .world-tools{bottom:83px}.panorama-header{padding:20px 16px;align-items:flex-start;gap:12px}.panorama-header h2{font-size:23px;max-width:10ch}.panorama-tools{gap:6px}.panorama-tools button{padding:9px 10px;font-size:11px}.panorama-tools span{display:none}.panorama-foot{padding:12px 16px;font-size:9px;flex-wrap:wrap;gap:4px}.panorama-viewport.zoomed img{width:1400px}.panorama-foot span{width:100%}}
@media(prefers-reduced-motion:reduce){.loading-ring{animation:none}.chapter-nav button:after,.world-tools button,.cinema-panel .cinema-image{transition:none}}

/* Separate the two eastern project labels while keeping their location dots. */
.world-stage[data-chapter="0"] [data-point="joinn"] span{transform:translate(-20px,-45px);position:relative}.world-stage[data-chapter="0"] [data-point="joinn"] span:after{content:"";position:absolute;top:100%;left:70%;height:43px;border-left:1px solid #e9e4ca70;pointer-events:none}
/* Vistas elegidas sobre la misma maqueta. */
.perspective-panel{position:absolute;z-index:7;left:7%;right:7%;top:115px;display:flex;align-items:flex-start;gap:40px;justify-content:space-between;pointer-events:none}.perspective-copy{max-width:350px;text-shadow:0 2px 15px #183024}.perspective-copy h2{font-size:32px;max-width:16ch;line-height:1.1}.perspective-copy p{font-size:12px;color:#d4decb;margin-top:12px;max-width:40ch;line-height:1.6}.perspective-choices{display:flex;gap:4px;background:#203a30e6;border:1px solid #e9e4ca45;border-radius:32px;padding:4px;backdrop-filter:blur(12px);pointer-events:auto}.perspective-choices button{padding:11px 18px;min-height:44px;background:none;border-radius:28px;font-size:12px;white-space:nowrap}.perspective-choices button[aria-pressed=true]{background:var(--paper);color:var(--forest)}.perspective-choices button:hover:not([aria-pressed=true]){background:#e9e4ca16}.perspective-actions{position:absolute;top:105px;left:0;display:flex;gap:15px;align-items:center;pointer-events:auto}.perspective-actions>button{font-size:11px;background:#203a30e6;border:1px solid #e9e4ca45;border-radius:25px;padding:10px 15px;min-height:44px}.perspective-actions>div{display:flex;background:#203a30e6;border:1px solid #e9e4ca45;border-radius:25px;overflow:hidden}.perspective-actions>div button{background:none;width:44px;height:44px;font:300 24px Jost;display:grid;place-items:center}.perspective-actions>div button+button{border-left:1px solid var(--line)}.free .chapter-counter{opacity:0}.free .world-word{opacity:.18}.film-reveal{will-change:opacity;clip-path:none}
@media(max-width:1000px){.perspective-panel{left:5%;right:5%;gap:20px}.perspective-copy h2{font-size:27px}.perspective-copy{max-width:260px}.perspective-choices button{padding:10px 13px;font-size:11px}.perspective-actions{top:115px}}
@media(max-width:650px){.perspective-panel{left:6%;right:6%;top:105px;display:block}.perspective-copy h2{font-size:27px;max-width:23ch}.perspective-copy p{font-size:11px;max-width:43ch;margin-top:9px;min-height:35px}.perspective-copy{max-width:none}.perspective-choices{margin-top:17px;justify-content:space-between;gap:0;width:100%;padding:3px}.perspective-choices button{padding:8px 12px;font-size:11px;flex:1}.perspective-actions{position:static;margin-top:10px;justify-content:space-between}.perspective-actions>button{font-size:10px;padding:8px 12px}.perspective-actions>div button{height:44px;width:44px}.free .world-tools{bottom:90px}.free .world-hint{font-size:9px}.free .avenue-label{font-size:8px}}
@media(max-height:700px) and (min-width:651px){.perspective-panel{top:90px}.perspective-copy h2{font-size:26px}.perspective-copy p{font-size:11px}.perspective-actions{top:100px}}

@media(min-width:651px){.perspective-actions{top:150px}}

@media(min-width:651px){.perspective-panel{display:grid;grid-template-columns:350px auto;gap:16px 30px}.perspective-copy{grid-column:1;grid-row:1;background:#203a30df;backdrop-filter:blur(8px);padding:17px 20px;border-left:1px solid #e9e4ca55}.perspective-copy h2{font-size:28px}.perspective-actions{position:static;grid-column:1;grid-row:2;align-self:start}.perspective-choices{grid-column:2;grid-row:1;align-self:start}}

.free #motion-toggle{display:none}
/* The architecture takes the centre of the film; its identity stays in the margin. */
.film-shortcut{margin-top:17px;background:none;padding:4px 0;display:flex;align-items:center;gap:10px;font-size:12px;color:#d4decb}.film-shortcut span{font-size:21px}.film-shortcut:hover{text-decoration:underline;text-underline-offset:5px}
.cinema-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s}.film-playing .cinema-video{opacity:1}.cinema-living .cinema-image{position:relative;transition:opacity .65s}.film-playing .cinema-image{opacity:0}.cinema-living .cinema-logo{top:12%;max-width:190px;max-height:70px}.cinema-living .cinema-bottom h2{font-size:clamp(32px,3.6vw,58px)}.cinema-living .cinema-shade{background:linear-gradient(180deg,#14282088,transparent 26%,transparent 52%,#142820c9)}
.cinema-film-controls{position:absolute;right:5%;top:12%;width:220px;font-size:10px}.cinema-film-controls>div{display:flex;gap:8px}.cinema-film-controls button{border:1px solid #e9e4ca60;background:#213c30b8;color:var(--paper);backdrop-filter:blur(8px);border-radius:30px;min-height:44px;padding:10px 13px;font-size:11px}.cinema-film-controls button:hover{background:var(--paper);color:var(--forest)}.cinema-film-controls button:disabled{opacity:.5;cursor:default}.cinema-film-controls progress{display:block;width:100%;height:2px;appearance:none;border:none;background:#e9e4ca35;margin:12px 0 7px}.cinema-film-controls progress::-webkit-progress-bar{background:#e9e4ca35}.cinema-film-controls progress::-webkit-progress-value{background:var(--paper)}.cinema-film-controls progress::-moz-progress-bar{background:var(--paper)}.cinema-film-controls>span{display:block;text-align:right;text-shadow:0 1px 6px #142820}
@media(max-width:650px){.film-shortcut{font-size:10px;margin-top:9px}.film-shortcut span{font-size:17px}.cinema-living{height:100svh;min-height:700px}.cinema-living .cinema-logo{top:11%;max-width:145px;max-height:58px}.cinema-living .cinema-video,.cinema-living .cinema-image{object-position:49% center}.cinema-living .cinema-bottom{bottom:165px}.cinema-living .cinema-bottom h2{font-size:38px}.cinema-film-controls{left:7%;right:7%;top:auto;bottom:30px;width:auto}.cinema-film-controls>span{text-align:left}.cinema-film-controls>div{gap:10px}.cinema-living .cinema-shade{background:linear-gradient(180deg,#14282088,transparent 30%,transparent 42%,#142820ed 90%)}}
.park-window.cinema-living{height:100svh;min-height:650px;color:var(--paper)}.park-window.cinema-living>.cinema-image{position:absolute;top:0;width:100%;height:100%;object-fit:cover;transform:none;will-change:opacity}.park-window.cinema-living .park-title{top:12%}.park-window.cinema-living .park-title h2{font-size:clamp(65px,6vw,95px)}.park-window.cinema-living .park-shade{background:linear-gradient(180deg,#18302490,transparent 40%,transparent 80%,#183024aa)}
@media(max-width:650px){.park-window.cinema-living{min-height:740px}.park-window.cinema-living .park-title h2{font-size:62px}.park-window.cinema-living .cinema-film-controls{bottom:65px}.park-window.cinema-living .park-shade{background:linear-gradient(180deg,#183024aa,transparent 40%,#183024cc)}.park-window.cinema-living>.cinema-image,.park-window.cinema-living>.cinema-video{object-position:22% center}}
.cinema-jacaranda .cinema-logo.torres-logo{max-width:320px;width:320px;max-height:75px}.cinema-jacaranda .cinema-video,.cinema-jacaranda .cinema-image{object-position:50% center}
@media(max-width:650px){.cinema-jacaranda .cinema-logo.torres-logo{max-width:240px;width:240px}}

/* Compact mobile map labels keep nearby projects distinct. */
@media(max-width:650px){.free .world-labels button span img{display:none}.free .world-labels button span{padding:7px 9px;min-width:0}}

/* v20 · mundo: velo de lectura sobre el lado del texto; el barrio real queda detrás. */
.world-aura{background:linear-gradient(90deg,#182b20d9 0%,#182b2099 30%,#182b2000 58%),linear-gradient(0deg,#182b20b3,transparent 26%),radial-gradient(ellipse at 72% 42%,#c5d0ad22,transparent 60%);z-index:2;pointer-events:none}.free .world-aura{opacity:.45}
@media(max-width:650px){.world-aura{background:linear-gradient(180deg,#182b20e6 0%,#182b2099 34%,#182b2000 55%),linear-gradient(0deg,#182b20b3,transparent 26%)}}

/* v20 · la foto cubre el escenario (mismo encuadre que la cámara u6); en vertical se recorta centrada en el predio. */
.film-reveal img{object-fit:cover;object-position:50% 50%}
@media(max-width:650px){.film-reveal img{object-position:33% 50%}}
/* v20 · panorámica: al acercar, la imagen va a su tamaño real (4000 px) para ver el detalle original. */
.panorama-viewport.zoomed img{width:4000px;max-width:none;height:auto;object-fit:initial}
@media(max-width:650px){.panorama-viewport.zoomed img{width:3000px}}
#world-fallback{display:grid;place-items:end center;padding-bottom:max(22vh,150px)}#world-fallback img{position:absolute;inset:0}#world-retry{position:relative;z-index:2;font:inherit;font-size:13px;padding:13px 22px;border-radius:40px;background:var(--paper);color:var(--forest);box-shadow:0 3px 24px #14291a40}#world-retry:hover{background:#fffbea}
/* v20 · la foto aérea cobra vida: el clip (misma cámara fija) se funde sobre la imagen cuando está listo; sin clip queda la foto. */
#film-living{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:0;transition:opacity 1.2s ease}#film-living.vivo{opacity:1}
@media(max-width:650px){#film-living{object-position:33% 50%}}

/* v22 · Película por capítulo: el render oficial en movimiento se funde sobre la maqueta al llegar a cada proyecto. El texto sigue en HTML. */
.chapter-film{position:absolute;inset:0;z-index:2;opacity:0;transition:opacity 1.1s ease;pointer-events:none;background:#1b3028}.chapter-film.on{opacity:1}.chapter-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.chapter-film-shade{position:absolute;inset:0;background:linear-gradient(90deg,#183024d6 0%,#18302470 36%,transparent 60%),linear-gradient(0deg,#183024b8,transparent 30%)}.chapter-film-note{position:absolute;right:7%;bottom:66px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#d4decbb0}.chapter-film-on .world-labels,.chapter-film-on .avenue-label{opacity:0!important;transition:opacity .5s}.chapter-film-on .world-hint{opacity:0}
@media(max-width:650px){.chapter-film-shade{background:linear-gradient(0deg,#183024e6 0%,#18302488 46%,transparent 72%),linear-gradient(180deg,#183024c4,#18302470 34%,transparent 52%)}.chapter-film-note{right:4%;bottom:150px;font-size:8px}}

/* v25 · películas de capítulo atadas al scroll: sin transición CSS, opacidad y escala las fija immersive.js */
.chapter-film{transition:none;will-change:opacity}.chapter-film video{transform-origin:50% 50%;will-change:transform}html.lenis,html.lenis body{height:auto}

/* v31 · Primero la foto: mientras la maqueta 3D no está lista, la foto del conjunto ocupa el escenario; el aviso de carga va en la línea de ayuda. */
.film-reveal picture{display:contents}
.world-stage:not([data-ready]) .film-reveal{opacity:1}
.world-loading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;left:0;top:0;transform:none}
.world-stage:not([data-ready]) .world-word,.world-stage.foto-plena .world-word{opacity:0}

/* v31 · auditoría de lanzamiento */
/* El cine no se corre con el foco del teclado: se recorta sin poder desplazarse; el foco lleva la página al panel (immersive.js). */
@media(min-width:651px) and (prefers-reduced-motion:no-preference){.cinema-pin{overflow:clip}}
/* Marca y botón del encabezado siempre legibles, también sobre cielo claro. */
.nav::before{content:"";position:absolute;inset:0 0 -34px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#14282080,#14282000)}
@media(max-width:650px){.nav::before{inset:0 0 -46px;background:linear-gradient(180deg,#142820b0,#14282000)}.nav-contact{background:#14282055;border-color:#e9e4ca8c;backdrop-filter:blur(6px)}}
/* Piso de lectura: nada por debajo de 11 px; lo que se toca, 12 px en teléfono; rótulos sobre la maqueta incluidos. */
.world-hint,.journey-footer,.illustration-note,.park-credit,footer>p,.detail-visual>span,.avenue-label,.world-loading small,.world-labels button span,.panorama-foot,.cinema-film-controls,.chapter-film-note{font-size:11px}
@media(max-width:650px){
.place,.chapter-kicker,.developer,.cinema-top,.world-hint,.free .world-hint,.park-credit,.panorama-foot,.illustration-note,.chapter-film-note{font-size:11px}
.begin,.film-shortcut,.world-tools button,.final-actions .underlink,.perspective-actions>button,.nav-contact{font-size:12px}
.chapter-nav button{font-size:11px}
.world-labels button span,.avenue-label,.free .avenue-label{font-size:11px}
}
@media(max-width:650px){.chapter-film-note{text-transform:none;letter-spacing:.01em;max-width:60%;text-align:right;line-height:1.3}}
