.immersive-home{--tour-ink:var(--ink);--tour-surface:var(--bg)}
.immersive-home .site-header{height:94px;border:0;background:none;gap:32px}.immersive-home .site-header .contact-link{padding:11px 18px}.immersive-home .brand{font-size:25px}.immersive-home .brand img{width:43px;height:46px}.immersive-home .desktop-nav{gap:30px}.immersive-home .site-header:before{content:'';position:absolute;inset:0 calc(-1 * var(--gutter)) -28px;background:linear-gradient(var(--bg),transparent);opacity:.9;z-index:-1;pointer-events:none}
.tour-scroll{height:620svh}.tour-viewport{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--bg)}.tour-film,.tour-film img,.tour-film video,.tour-veil{position:absolute;inset:0;width:100%;height:100%}.tour-film img,.tour-film video{object-fit:cover;object-position:center}.tour-film video{opacity:0}.tour-film video.ready{opacity:1}.tour-veil{background:linear-gradient(90deg,rgba(245,245,242,.98),rgba(245,245,242,.92) 24%,rgba(245,245,242,.40) 49%,transparent 76%),linear-gradient(0deg,rgba(245,245,242,.88),transparent 24%);pointer-events:none;transition:opacity .5s}
[data-theme=dark] .tour-veil{background:linear-gradient(90deg,rgba(21,27,30,.97),rgba(21,27,30,.91) 24%,rgba(21,27,30,.4) 49%,transparent 76%),linear-gradient(0deg,rgba(21,27,30,.85),transparent 24%)}
.tour-editorial{position:absolute;top:22%;bottom:155px;left:var(--gutter);width:min(670px,52vw);overflow:hidden;mask-image:linear-gradient(transparent,#000 9px,#000 calc(100% - 16px),transparent)}.tour-chapter{width:100%;height:100%}.tour-chapter[hidden],.tour-signature[hidden]{display:none!important}.chapter-reading{padding:12px 0 26px;will-change:transform}.tour-kicker{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 28px}.tour-chapter h1,.tour-chapter h2{font-size:clamp(48px,5.9vw,94px);font-weight:500;line-height:1.02;letter-spacing:-.066em;margin:0 0 30px}.tour-chapter h1 em{font-style:normal;color:var(--accent)}.tour-chapter h2{font-size:clamp(44px,5.1vw,80px)}.tour-lead{font-size:clamp(16px,1.4vw,21px);line-height:1.6;max-width:35ch;margin:0 0 30px}.tour-chapter h1,.tour-chapter h2,.tour-lead,.tour-kicker{animation:tour-copy-in .75s cubic-bezier(.16,1,.3,1) both}.tour-lead{animation-delay:.09s}.tour-kicker{animation-delay:.02s}@keyframes tour-copy-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.detail-copy{display:none;padding-top:42px;max-width:39ch}.detail-copy article{margin-bottom:55px}.detail-copy h3{font-size:27px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin:0 0 16px}.detail-copy p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}.tour-manual .detail-copy{display:block}.tour-manual .tour-editorial{top:145px;bottom:145px;width:min(570px,45vw)}.tour-manual .tour-chapter h1,.tour-manual .tour-chapter h2{font-size:clamp(36px,4vw,62px)}
.tour-controls{position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:88px;display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);z-index:10;font-size:11px}.tour-controls nav{display:flex;gap:22px}.tour-controls nav a{padding:14px 0;color:var(--muted);position:relative}.tour-controls nav a[aria-current]{color:var(--ink)}.tour-controls nav a[aria-current]:after{content:'';height:2px;background:var(--accent);position:absolute;bottom:5px;left:0;right:0}.tour-controls button{font-size:11px;padding:10px 0}.tour-controls #tour-toggle{min-width:115px;text-align:left}.tour-mode{margin-left:auto;color:var(--muted)}.tour-progress{position:absolute;bottom:0;height:2px;left:0;right:0;background:var(--line)}.tour-progress i{height:100%;width:0;display:block;background:var(--accent)}.tour-credit{position:absolute;bottom:102px;right:var(--gutter);font-size:9px;color:var(--muted);background:var(--header);padding:4px 7px}.tour-status{position:absolute;bottom:106px;left:var(--gutter);font-size:11px;color:var(--muted)}
@media(max-width:1000px){.tour-mode{display:none}.tour-controls{gap:22px}.tour-controls #tour-motion{margin-left:auto}.tour-editorial{width:66vw}.tour-manual .tour-editorial{width:54vw}}
@media(max-width:640px){.immersive-home .site-header{height:78px}.immersive-home .brand{font-size:22px}.tour-editorial{top:21%;width:calc(100% - 48px);bottom:170px}.tour-chapter h1{font-size:clamp(42px,11.5vw,66px)}.tour-chapter h2{font-size:clamp(39px,10.3vw,60px)}.tour-kicker{font-size:10px;margin-bottom:24px}.tour-lead{font-size:15px;max-width:29ch}.tour-veil{background:linear-gradient(90deg,rgba(245,245,242,.96),rgba(245,245,242,.75) 40%,rgba(245,245,242,.12)),linear-gradient(0deg,rgba(245,245,242,.98),transparent 45%)}[data-theme=dark] .tour-veil{background:linear-gradient(90deg,rgba(21,27,30,.96),rgba(21,27,30,.75) 40%,rgba(21,27,30,.12)),linear-gradient(0deg,rgba(21,27,30,.98),transparent 45%)}.tour-manual .tour-editorial{top:110px;bottom:175px;width:72vw}.tour-manual .tour-chapter h1,.tour-manual .tour-chapter h2{font-size:34px}.detail-copy{padding-top:28px}.detail-copy h3{font-size:24px}.detail-copy p{font-size:14px}.tour-controls{height:115px;display:grid;grid-template-columns:1fr 1fr;gap:0}.tour-controls nav{grid-column:1/-1;grid-row:2;justify-content:space-between}.tour-controls #tour-motion{grid-column:2;grid-row:1}.tour-controls nav a{font-size:11px}.tour-credit{bottom:129px}.tour-status{bottom:151px;font-size:10px}.tour-signature{top:22%;bottom:185px}.signature-thought h2{font-size:38px}.signature-lockup{gap:8px}.signature-lockup img{width:44px}.signature-lockup span{font-size:clamp(45px,13.8vw,85px)}.signature-baseline{flex-direction:column;align-items:flex-start;gap:12px;font-size:10px}.signature-baseline button{font-size:11px}.signature-thought p{font-size:12px}}
@media(max-height:700px){.tour-editorial{top:18%;bottom:155px}.tour-chapter h1,.tour-chapter h2{font-size:clamp(34px,5.5vw,65px)}.tour-kicker{margin-bottom:15px}.tour-chapter h1,.tour-chapter h2{margin-bottom:18px}.tour-lead{margin-bottom:18px}.tour-signature{top:19%;bottom:150px}.signature-thought h2{font-size:clamp(28px,3.7vw,48px)}.signature-thought p{margin-bottom:10px}.signature-baseline{margin-top:12px}.signature-lockup span{font-size:clamp(43px,10vw,130px)}}
@media(prefers-reduced-motion:reduce){.tour-chapter h1,.tour-chapter h2,.tour-lead,.tour-kicker{animation:none}.tour-veil{transition:none}}
.immersive-home[data-page] .tour-scroll{height:300svh}.tour-reduced .tour-scroll{height:100svh}.tour-reduced .tour-editorial{overflow-y:auto;mask-image:none}.tour-reduced .chapter-reading{transform:none!important}.tour-reduced .tour-film video{display:none}.tour-controls button[hidden]{display:none}.tour-reduced .signature-baseline button{display:none}

/* The finale is an editorial gateway over the last film frame. */
.tour-signature{position:absolute;inset:24% var(--gutter) 125px;display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(24px,4vh,54px);animation:signature-enter 1.1s cubic-bezier(.16,1,.3,1) both}
.signature-thought p{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 24px;color:var(--muted)}.signature-thought p span{width:7px;height:7px;background:var(--accent);border-radius:50%}
.signature-thought h2{font-size:clamp(52px,7.4vw,118px);font-weight:500;line-height:.98;letter-spacing:-.065em;margin:0}.signature-thought h2 em{font-style:normal;font-weight:400;color:var(--muted)}
.signature-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.signature-description{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}.signature-links{display:flex;flex-direction:column}.signature-links a{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:clamp(18px,1.8vw,28px);letter-spacing:-.035em;transition:color .25s,padding .25s}.signature-links small{font-size:10px;color:var(--muted);letter-spacing:0}.signature-links a span{margin-left:auto}.signature-links a:hover{color:var(--accent);padding-left:8px}.signature-baseline{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--muted)}.signature-baseline button{font-size:11px;padding:8px 0}.tour-ending .tour-controls{visibility:hidden}.tour-ending .tour-credit{bottom:18px}.tour-ending .tour-veil{opacity:.88}
@keyframes signature-enter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}
/* Animate the entrance wrapper independently from the scroll-driven reading track. */
body[data-page] .tour-editorial{--entry-x:calc(-1 * min(48vw,620px));--entry-y:0px;animation:page-enter 1.8s cubic-bezier(.22,.65,.25,1) .12s both;overflow-x:clip}
body[data-page=servicios] .tour-editorial{--entry-x:0px;--entry-y:-48vh}
body[data-page=proyectos] .tour-editorial{--entry-x:min(48vw,620px);--entry-y:0px}
body[data-page] .tour-chapter h1,body[data-page] .tour-chapter h2,body[data-page] .tour-lead,body[data-page] .tour-kicker{animation:none}
@keyframes page-enter{0%{opacity:0;transform:translate3d(var(--entry-x),var(--entry-y),0)}18%{opacity:0}100%{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:640px){.tour-signature{inset:22% 24px 65px;gap:28px}.signature-thought h2{font-size:clamp(45px,12vw,70px)}.signature-thought p{font-size:9px;letter-spacing:.04em;margin-bottom:20px}.signature-bottom{grid-template-columns:1fr;gap:20px}.signature-description{font-size:12px}.signature-links a{padding:12px 0;font-size:20px}.signature-baseline{font-size:9px;flex-direction:row;align-items:center;gap:12px}.signature-baseline span{max-width:150px}}
@media(max-height:700px) and (min-width:641px){.tour-signature{top:21%;bottom:65px;gap:20px}.signature-thought h2{font-size:clamp(48px,6vw,80px)}.signature-links a{padding:8px 0}.signature-thought p{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){body[data-page] .tour-editorial,.tour-signature{animation:none}.signature-links a{transition:none}}
.tour-reduced .tour-editorial{animation:none}

.tour-film #living-city{opacity:0;transition:opacity 1.2s ease;pointer-events:none}.tour-film #living-city.visible{opacity:1}.tour-reduced #living-city{display:none}@media(prefers-reduced-motion:reduce){.tour-film #living-city{transition:none}}

/* Transparent closing navigation over the city. */
[data-theme=light] .signature-links{background:none;padding:8px 24px;backdrop-filter:none;color:#20272a;border-top:0}
[data-theme=light] .signature-links a{color:#20272a;border-bottom-color:rgba(32,39,42,.24);font-weight:500}
[data-theme=light] .signature-links a:last-child{border-bottom:0}
[data-theme=light] .signature-links small{color:#525b5e}
[data-theme=light] .signature-links a:hover,[data-theme=light] .signature-links a:focus-visible{color:#a41e19}
.signature-links a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:640px){[data-theme=light] .signature-links{padding:4px 18px}}
