:root{--night:#0a0a0d;--ivory:#f2eee7;--gold:#c89a4b;--garden:#0e6f5c;--serif:'Source Serif 4',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--night);color:var(--ivory);font:16px/1.6 var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.045em}em{font-weight:400}button{background:none;color:inherit}img{display:block;max-width:100%}.nav{position:fixed;z-index:30;inset:0 0 auto;padding:22px 3.5%;display:flex;align-items:center;gap:32px;color:var(--ivory);transition:color .35s,background .35s}.nav.is-light{color:var(--night);background:rgba(242,238,231,.94)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:28px;line-height:1}.brand img{height:37px;width:auto}.nav.is-light .brand img{filter:brightness(0)}.desktop-nav{display:flex;gap:32px;margin-left:auto;font-size:14px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;height:1px;background:currentColor;left:0;right:100%;bottom:-4px;transition:right .35s}.desktop-nav a:hover:after{right:0}.reserve{border:1px solid currentColor;border-radius:100px;padding:11px 23px;font-size:14px;transition:background .3s,color .3s,border-color .3s}.reserve:hover{background:var(--gold);color:var(--night);border-color:var(--gold)}.menu-toggle{display:none}.mobile-menu{display:none}.hero-track{height:220vh;position:relative}.hero-sticky{height:100svh;position:sticky;top:0;overflow:hidden;display:grid;place-items:center}.hero-back{position:absolute;inset:-5%;background:linear-gradient(#0a0a0da6,#0a0a0dcc),url('/experiencia/assets/interior.webp') center/cover;filter:blur(28px);opacity:.24}.portal{position:absolute;width:min(31vw,430px);height:65svh;max-height:650px;overflow:hidden;border-radius:250px;will-change:width,height,border-radius}.portal video{width:100%;height:100%;object-fit:cover;object-position:63% center;transform:scale(1.02)}.portal-shade{position:absolute;inset:0;background:linear-gradient(transparent,#0a0a0d28)}.hero-identity{position:relative;z-index:2;text-align:center;width:min(34vw,460px);will-change:transform,opacity}.hero-identity img{width:100%;filter:drop-shadow(0 4px 18px #0008)}.hero-identity p{margin-top:23px;letter-spacing:.14em;font-size:14px}.hero-meta{position:absolute;bottom:34px;left:3.5%;right:3.5%;display:flex;justify-content:space-between;align-items:end;font-size:12px;letter-spacing:.12em}.hero-meta small{display:block;font-size:13px;letter-spacing:0;color:#b7b4b0;margin-top:6px}.scroll-note{display:flex;align-items:center;gap:18px;font-size:12px}.scroll-line{height:48px;width:1px;background:linear-gradient(var(--gold),transparent)}.motion-toggle{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);font-size:12px;color:#b7b4b0;border:0;padding:6px;border-bottom:1px solid #ffffff33}.light{background:var(--ivory);color:var(--night)}.dark{background:var(--night);color:var(--ivory)}.intro{padding:110px 7% 120px}.eyebrow{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;border-top:1px solid #7775;padding-top:17px}.intro h1{font-size:clamp(70px,10.6vw,170px);margin:75px 0 60px}.intro h1 em{color:var(--garden)}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:13%;margin-left:25%;font-size:18px;line-height:1.7;color:#494842}.text-link{display:inline-block;margin:38px 0 0 25%;font-size:14px}.link-line{display:block;height:1px;background:var(--night);margin-top:8px}.gallery-track{height:260vh;position:relative}.gallery-sticky{position:sticky;top:0;height:100svh;padding:115px 3.5% 30px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.gallery-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;margin-bottom:23px}.gallery-window{overflow:visible}.gallery-rail{display:flex;gap:28px;will-change:transform}.gallery-card{flex:none;width:78vw;position:relative}.gallery-card>img,.gallery-card>video{height:58svh;min-height:240px;width:100%;object-fit:cover;border-radius:10px}.gallery-card>video{object-position:center}.gallery-card>div{display:grid;grid-template-columns:50px 1fr auto;align-items:end;margin-top:20px}.gallery-card>div>span{font-size:13px}.gallery-card h2{font-size:clamp(40px,5vw,80px)}.gallery-card p{font-size:14px;color:#625f58}.gallery-progress{display:flex;gap:9px;margin-top:24px;align-self:end}.gallery-progress i{width:44px;height:2px;background:#b6b2aa}.gallery-progress i.active{background:var(--night)}.experiences{padding:110px 7% 130px}.experiences-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:75px 0}.experiences-heading h2{font-size:clamp(52px,7.5vw,118px)}.experiences-heading h2 em{color:var(--gold)}.experiences-heading>p{font-size:16px;color:#bcb8b0}.experience{border-top:1px solid #ffffff35;--accent:var(--gold);transition:color .3s}.experience:last-child{border-bottom:1px solid #ffffff35}.experience summary{list-style:none;display:flex;align-items:center;gap:35px;padding:30px 0;cursor:pointer}.experience summary::-webkit-details-marker{display:none}.experience-num{font-size:13px;color:#aaa59c}.experience h3{font-size:clamp(40px,5.5vw,85px);transition:color .3s}.experience-plus{margin-left:auto;font-size:35px;font-weight:400;transition:transform .4s}.experience[open] h3{color:var(--accent)}.experience[open] .experience-plus{transform:rotate(45deg);color:var(--accent)}.experience-body{margin:0 0 42px 64px;display:grid;grid-template-columns:1fr 1fr;gap:7%;animation:fadein .5s ease}.experience-body>span{font-size:12px;letter-spacing:.1em;color:var(--accent);padding-top:8px}.experience-body p{font-size:18px;color:#c2beb6;max-width:560px}.city{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding:130px 7%}.city-image{overflow:hidden;border-radius:240px 240px 8px 8px;aspect-ratio:.8}.city-image img{width:100%;height:100%;object-fit:cover;object-position:28% center}.city-copy h2{font-size:clamp(55px,6.7vw,105px);margin:45px 0 35px}.city-copy h2 em{color:var(--garden)}.city-copy p{font-size:18px;color:#494842;max-width:470px}.city-signature{display:block;font-size:12px;letter-spacing:.12em;margin-top:45px}.visit{background:var(--garden);padding:90px 7% 25px;min-height:100svh}.visit-pre{margin-top:65px;font-size:18px}.visit h2{font-size:clamp(78px,11vw,175px);margin:20px 0 40px}.visit h2 em{color:var(--gold)}.large{font-size:17px;padding:15px 29px;color:var(--night);background:var(--gold);border-color:var(--gold)}.large:hover{background:var(--ivory);border-color:var(--ivory)}footer{border-top:1px solid #ffffff35;margin-top:100px;padding-top:25px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.reservation-dialog{border:1px solid #c89a4b66;border-radius:8px;padding:60px 40px;background:var(--night);color:var(--ivory);text-align:center;width:min(500px,90vw)}.reservation-dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}.reservation-dialog>img{height:80px;margin:0 auto 30px}.reservation-dialog h2{font-size:60px}.reservation-dialog p{margin:25px 0 30px;color:#c2beb6}.dialog-close{position:absolute;right:17px;top:8px;font-size:30px;border:0}.reveal{opacity:1}.dialog-return{color:var(--gold)}@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.nav{padding:18px 5%;gap:15px}.brand{font-size:23px;gap:8px}.brand img{height:30px}.desktop-nav{display:none}.nav>.reserve{margin-left:auto;font-size:12px;padding:9px 13px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;padding:8px;z-index:40}.menu-toggle span{width:19px;height:1px;background:currentColor;transition:transform .3s}.menu-open .menu-toggle span:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:25;background:var(--garden);display:flex;flex-direction:column;padding:145px 8% 45px;gap:25px;transform:translateX(100%);transition:transform .6s cubic-bezier(.16,1,.3,1)}.mobile-menu a{font:48px/1.1 var(--serif)}.mobile-menu>span{margin-top:auto;font-size:14px}.menu-open .mobile-menu{transform:translateX(0)}.menu-open .nav{color:var(--ivory);background:none}.menu-open .nav img{filter:none}.hero-track{height:175vh}.portal{width:66vw;height:56svh;max-height:none}.hero-identity{width:72vw}.hero-identity p{font-size:12px;letter-spacing:.06em;margin-top:20px}.hero-meta{bottom:30px;left:5%;right:5%;font-size:11px}.hero-meta small{font-size:12px;max-width:150px;line-height:1.5}.scroll-note{font-size:11px;max-width:120px;gap:10px;line-height:1.4}.motion-toggle{bottom:105px;font-size:11px}.intro{padding:75px 6% 80px}.eyebrow{font-size:10px;letter-spacing:.08em}.intro h1{font-size:22vw;margin:55px 0 40px}.intro-bottom{margin-left:0;grid-template-columns:1fr;gap:23px;font-size:17px}.text-link{margin-left:0}.gallery-track{height:auto}.gallery-sticky{height:auto;position:relative;padding:20px 6% 75px}.gallery-window{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--garden) transparent}.gallery-rail{gap:16px}.gallery-card{width:82vw;scroll-snap-align:start}.gallery-card>img,.gallery-card>video{height:48svh}.gallery-card>div{grid-template-columns:25px 1fr;gap:4px}.gallery-card h2{font-size:45px}.gallery-card p{grid-column:2;font-size:13px}.gallery-progress{display:none}.experiences{padding:80px 6%}.experiences-heading{display:block;margin:50px 0}.experiences-heading h2{font-size:13vw}.experiences-heading>p{margin-top:25px}.experience summary{padding:25px 0;gap:18px}.experience h3{font-size:10vw}.experience-plus{font-size:27px}.experience-body{margin-left:35px;grid-template-columns:1fr;gap:15px}.experience-body p{font-size:16px}.city{padding:80px 6%;grid-template-columns:1fr;gap:55px}.city-image{aspect-ratio:.95;max-height:530px}.city-copy h2{font-size:17vw;margin:35px 0}.city-copy p{font-size:17px}.visit{padding:70px 6% 25px;min-height:85svh}.visit h2{font-size:21vw}.visit-pre{margin-top:50px;font-size:16px}footer{flex-wrap:wrap;gap:22px;margin-top:75px}footer .brand{width:100%}footer>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-track{height:100svh}.gallery-track{height:auto}.gallery-sticky{position:relative;height:auto}.gallery-window{overflow-x:auto}.gallery-rail{transform:none!important}.reveal{opacity:1!important;transform:none!important}}
.motion-ready .reveal{opacity:0;transform:translateY(45px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}.hero-identity{animation:identity-in 1.6s cubic-bezier(.16,1,.3,1) backwards}.hero-back{animation:back-in 2s ease both}@keyframes identity-in{from{opacity:0;translate:0 45px}to{opacity:1;translate:0 0}}@keyframes back-in{from{opacity:0}to{opacity:.24}}
/* Keep the original logo geometry; animate its supplied artwork through masks. */
.portal{background:var(--night) url('/experiencia/assets/interior.webp') 63% center/cover;animation:portal-enter 2.5s cubic-bezier(.16,1,.3,1) backwards}.portal video{animation:video-enter 3s cubic-bezier(.16,1,.3,1) backwards}.hero-identity{animation:none}.hero-emblem{width:50.5%;margin:0 auto 6.17%;will-change:opacity,transform}.hero-emblem>img{width:100%;animation:emblem-enter 1.8s .4s cubic-bezier(.16,1,.3,1) backwards}.hero-numerals{display:flex;width:100%;overflow:hidden;align-items:start}.numeral-mask{flex:var(--portion);overflow:hidden}.numeral-shift{display:block;will-change:transform}.numeral-shift img{width:100%;animation:numeral-enter 1.2s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(.65s + var(--part)*.11s)}.hero-identity p{animation:tagline-enter 1.2s 1.5s ease backwards}.nav{animation:nav-enter 1.4s 1.2s cubic-bezier(.16,1,.3,1) backwards}@keyframes portal-enter{from{transform:scale(.2)}to{transform:scale(1)}}@keyframes video-enter{from{transform:scale(2)}to{transform:scale(1.02)}}@keyframes emblem-enter{from{opacity:0;transform:translateY(25px) scale(.85)}to{opacity:1;transform:none}}@keyframes numeral-enter{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes tagline-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes nav-enter{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hero-identity,.hero-emblem,.hero-identity p{opacity:1!important;transform:none!important}.numeral-shift{transform:none!important}}
/* A compact capsule, with the brand signature following its lower arc. */
.portal{width:min(27vw,390px);height:min(40.5vw,585px);max-height:none}.hero-identity{width:min(49vw,670px)}.hero-emblem{position:absolute;width:16%;bottom:calc(100% + 25px);left:42%;margin:0}.hero-numerals{position:relative}.hero-arc{position:absolute;z-index:3;width:min(32.94vw,475.8px);height:min(49.41vw,713.7px);pointer-events:none;overflow:visible;animation:tagline-enter 1.2s 1.5s ease backwards}.hero-arc text{font-family:var(--serif);font-size:20px;letter-spacing:1.1px;fill:var(--ivory);font-weight:400}.hero-identity img{filter:drop-shadow(0 3px 12px #0004)}
@media(max-width:760px){.portal{width:46vw;height:69vw}.hero-identity{width:78vw}.hero-emblem{width:16%;bottom:calc(100% + 15px);left:42%}.hero-arc{width:56.12vw;height:84.18vw}.hero-arc text{font-size:22px;letter-spacing:.6px}}
@media(prefers-reduced-motion:reduce){.hero-arc{opacity:1!important;transform:none!important}}
.hero-arc{translate:0 8%}

/* The capsule and caption share circular end geometry. */
.portal{border-radius: min(13.5vw,195px)}.hero-arc{width:min(27vw,390px);height:min(40.5vw,585px);translate:none}.hero-arc text{font-size:23px;letter-spacing:1.35px;font-weight:300}
@media(max-width:760px){.portal{border-radius:23vw}.hero-arc{width:46vw;height:69vw}.hero-arc text{font-size:24px;letter-spacing:1px}}

/* Reference proportion: 27 wide by 38 high, with semicircular ends. */
.portal,.hero-arc{height:min(38vw,548.889px)}
@media(max-width:760px){.portal,.hero-arc{height:64.7407vw}}

/* Red curtain artwork and a quieter numeral scale. */
.portal{background-image:url("/experiencia/assets/hero-cortinas.webp")}
.portal .hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.hero-identity{width:min(37vw,506px)}
@media(max-width:760px){.hero-identity{width:60vw}}

.hero-emblem{bottom:calc(100% + 80px)}
@media(max-width:760px){.hero-emblem{bottom:calc(100% + 40px)}}

/* Main reservation action sits within easy thumb reach. */
.hero-reserve{position:absolute;z-index:6;left:50%;transform:translateX(-50%);bottom:calc(32px + env(safe-area-inset-bottom));min-width:180px;min-height:56px;background:var(--ivory);color:var(--night,#0A0A0D);border-color:var(--ivory);font-weight:600;letter-spacing:.14em}
.hero-reserve:hover{background:#C89A4B;border-color:#C89A4B;color:#0A0A0D}
.hero-meta{justify-content:flex-end}
.motion-toggle{left:40px;transform:none}
@media(max-width:760px){.hero-reserve{min-width:200px;min-height:58px;bottom:calc(24px + env(safe-area-inset-bottom))}.motion-toggle{left:20px;bottom:104px;font-size:10px}.hero-meta{bottom:105px;left:auto;right:20px}.scroll-note{max-width:120px;font-size:10px}}

.hero-reserve{bottom:calc(12svh + env(safe-area-inset-bottom))}
@media(max-width:760px){.nav{justify-content:space-between}.menu-toggle{margin-left:auto;min-width:44px;min-height:44px}.hero-reserve{bottom:calc(16svh + env(safe-area-inset-bottom))}}

/* Soft charcoal palette with translucent navigation surfaces. */
:root{--night:#1c1c1e;--garden:#1c1c1e;--gold:#c9c6c0;--ivory:#f2eee7}
body,.light,.dark,.visit{background:var(--night);color:var(--ivory)}
.hero-back{background:linear-gradient(rgba(28,28,30,.92),rgba(28,28,30,.97)),url('/experiencia/assets/hero-retrato.webp') center/cover;filter:blur(28px);opacity:1;animation:none}
.portal{background-image:url('/experiencia/assets/hero-retrato.webp')}
.portal-shade{background:linear-gradient(transparent,rgba(28,28,30,.12))}
.nav.is-light{background:rgba(28,28,30,.78);backdrop-filter:blur(16px);color:var(--ivory)}
.nav.is-light .brand img{filter:none}
.mobile-menu{background:rgba(28,28,30,.94);backdrop-filter:blur(18px)}
.intro h1 em,.city-copy h2 em,.experiences-heading h2 em,.visit h2 em{color:#c9c6c0}
.intro-bottom,.city-copy p,.gallery-card p,.experience-body p,.experiences-heading>p,.reservation-dialog p{color:#c9c6c0}
.eyebrow{border-color:#ffffff33}
.link-line,.gallery-progress i.active{background:var(--ivory)}
.gallery-progress i{background:#ffffff33}
.experience-num{color:#c9c6c0}
.reservation-dialog{background:rgba(28,28,30,.96);border-color:#ffffff44}
.large,.hero-reserve{background:var(--ivory);border-color:var(--ivory);color:var(--night)}
.large:hover,.reserve:hover,.hero-reserve:hover{background:#c9c6c0;border-color:#c9c6c0;color:var(--night)}

@media(min-width:761px){.hero-reserve{bottom:min(12svh,max(16px,calc(50svh - min(19vw,274.444px) - 104px)))}}

/* Display the supplied gold artwork intact, using CSS windows for each numeral. */
.gold-logo{display:block;width:58px;height:65px;background:url('/experiencia/assets/logo-dorado.png') 48% 48%/180.5% 162% no-repeat;mix-blend-mode:screen}
.brand{gap:0}.dialog-logo{width:85px;height:95px;margin:0 auto 30px}
.hero-identity{mix-blend-mode:screen}
.numeral-shift{position:relative;aspect-ratio:var(--portion)/204;overflow:hidden}
.numeral-shift img{position:absolute;max-width:none;width:calc(1254 / var(--portion) * 100%);left:calc(var(--crop-x) / var(--portion) * -100%);top:calc(821 / 204 * -100%);filter:none}
@media(max-width:760px){.brand .gold-logo{width:45px;height:50px}}

.nav{mix-blend-mode:screen}.brand{mix-blend-mode:screen}

/* Give the original gold numerals room for their complete lower contours. */
.numeral-shift{aspect-ratio:var(--portion)/224}
.numeral-shift img{top:calc(811 / 224 * -100%)}
.nav .brand{gap:12px}
@media(max-width:760px){.nav .brand{gap:8px}}

/* Animate one complete numeral window; never move the full logo inside it. */
.numeral-shift img{animation:none!important}
.numeral-mask{animation:whole-numeral-enter 1.5s .65s cubic-bezier(.16,1,.3,1) backwards}
@keyframes whole-numeral-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* Opening slot-machine roll, easing into the complete 15-37 artwork. */
.numeral-mask{animation:none}
.casino-reel{display:block;width:100%;height:700%;animation:casino-roll 3.2s .35s cubic-bezier(.12,.65,.2,1) backwards;will-change:transform}
.reel-cell{display:block;position:relative;width:100%;height:calc(100% / 7);overflow:hidden}
.reel-cell img{animation:none!important;top:calc(811 / 224 * -100%)}
@keyframes casino-roll{0%{transform:translateY(-85.7142857%);filter:blur(2px)}65%{filter:blur(1px)}90%{transform:translateY(.5%);filter:blur(0)}100%{transform:translateY(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.casino-reel{animation:none;transform:none}}

/* Independent reels settle from left to right. */
.casino-reel{animation-duration:var(--roll-time);animation-delay:.3s;animation-timing-function:cubic-bezier(.1,.5,.16,1)}
.numeral-mask:nth-child(2) .casino-reel{animation-name:casino-roll-reverse}
.numeral-mask:nth-child(4) .casino-reel{animation-timing-function:cubic-bezier(.08,.35,.16,1)}
.numeral-mask:nth-child(5) .casino-reel{animation-name:casino-roll-reverse;animation-timing-function:cubic-bezier(.08,.25,.12,1)}
@keyframes casino-roll-reverse{0%{transform:translateY(0);filter:blur(2px)}65%{filter:blur(1px)}90%{transform:translateY(-86.2%);filter:blur(0)}100%{transform:translateY(-85.7142857%);filter:blur(0)}}

/* Initial casino reels share a direction and cycle through all four gold digits.
   Scroll motion remains on the unchanged numeral-shift wrapper. */
.casino-reel,.numeral-mask:nth-child(2) .casino-reel,.numeral-mask:nth-child(4) .casino-reel,.numeral-mask:nth-child(5) .casino-reel{height:calc(var(--cells) * 100%);animation:casino-sequence var(--roll-time) .45s cubic-bezier(.18,.05,.1,1) backwards}
.reel-cell{height:calc(100% / var(--cells));display:flex;align-items:center;justify-content:center}
.reel-glyph{display:block;position:relative;overflow:hidden;width:min(100%,calc(var(--glyph-width) / var(--portion) * 100%));aspect-ratio:var(--glyph-width)/224}
.reel-glyph img{width:calc(1254 / var(--glyph-width) * 100%);left:calc(var(--glyph-x) / var(--glyph-width) * -100%);top:calc(811 / 224 * -100%)}
@keyframes casino-sequence{0%{transform:translateY(var(--roll-start));filter:blur(1px)}80%{filter:blur(.5px)}100%{transform:translateY(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.casino-reel{animation:none!important;transform:none!important}}

/* Marquet-inspired staggered reveal, separate from the existing scroll motion. */
.numeral-entry{display:block;position:relative;width:100%;height:100%;overflow:hidden;animation:marquet-numeral-entry 1.65s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(.65s + var(--part) * .12s)}
.numeral-entry img{animation:none!important}
@keyframes marquet-numeral-entry{from{transform:translateY(110%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.numeral-entry{animation:none!important}}

/* The 3 and 7 overlap in horizontal bounds: isolate their diagonal contours. */
.numeral-mask:nth-child(4),.numeral-mask:nth-child(5),.numeral-mask:nth-child(4) .numeral-shift,.numeral-mask:nth-child(5) .numeral-shift,.numeral-mask:nth-child(4) .numeral-entry,.numeral-mask:nth-child(5) .numeral-entry{overflow:visible}
.numeral-mask:nth-child(4) img{clip-path:polygon(52.392% 64.673%,66.268% 64.673%,66.268% 75.758%,63.796% 82.536%,50.239% 82.536%,50.239% 75.758%,52.392% 74.163%)}
.numeral-mask:nth-child(5) img{clip-path:polygon(66.268% 64.673%,80.223% 64.673%,80.223% 82.536%,63.796% 82.536%,66.268% 75.758%)}

/* Exclude the neighboring 3 below the dash baseline. */
.numeral-mask:nth-child(3) img{clip-path:polygon(44.258% 71.531%,51.116% 71.531%,51.116% 75.359%,44.258% 75.359%)}

/* Delicate outlined menu and slimmer reservation action. */
.menu-label{display:flex;align-items:center;justify-content:center;margin-left:auto;min-width:76px;min-height:36px;padding:6px 18px;border:1px solid #f2eee777;border-radius:100px;background:transparent;font-size:13px;font-weight:400;line-height:1;letter-spacing:.02em}
.hero-reserve{min-width:160px;min-height:44px;padding:9px 24px;font-size:12px;font-weight:500;letter-spacing:.12em}
@media(max-width:760px){.menu-label{min-width:76px;min-height:36px;padding:6px 18px;position:relative}.menu-label:before{content:'';position:absolute;inset:-5px 0}.hero-reserve{min-width:170px;min-height:46px;padding:9px 24px}}

/* A concise introduction with only the two brand paragraphs. */
.intro{padding:52px 7%}.intro-bottom{margin:0 auto;max-width:960px;grid-template-columns:1fr 1fr;gap:48px;font-size:16px;line-height:1.7}
@media(max-width:760px){.intro{padding:36px 6%}.intro-bottom{grid-template-columns:1fr;gap:18px;font-size:15px;line-height:1.65}}

/* A black centered interlude, feathered into the neighboring sections. */
#casa{position:relative;background:#080809;padding:48px 7%;z-index:2}
#casa:before{content:'';position:absolute;left:0;right:0;top:-100px;height:101px;background:linear-gradient(transparent,#080809);pointer-events:none}
#casa:after{content:'';position:absolute;left:0;right:0;bottom:-80px;height:81px;background:linear-gradient(#080809,#1c1c1e);pointer-events:none}
#casa .intro-bottom{display:block;max-width:620px;margin:auto;text-align:center}
@media(max-width:760px){#casa{padding:36px 7%}#casa:before{top:-64px;height:65px}#casa:after{bottom:-48px;height:49px}}

/* Masked upward text entrance and scroll-driven image travel on every screen. */
.intro-line{display:block;overflow:hidden}
.intro-line>span{display:block;transform:translateY(115%);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.visible .intro-line>span{transform:translateY(0)}
.intro-line:nth-child(2)>span{transition-delay:.12s}.intro-line:nth-child(3)>span{transition-delay:.24s}
#casa .reveal{opacity:1;transform:none}
@media(max-width:760px){.gallery-track{height:240svh}.gallery-sticky{position:sticky;top:0;height:100svh;overflow:hidden;padding:85px 6% 35px;justify-content:center}.gallery-window{overflow:visible;scroll-snap-type:none}.gallery-rail{transform:translate3d(0,0,0);transform:none}.gallery-card{width:82vw}.intro-line{overflow:hidden}.intro-line>span{font-size:14px}.gallery-rail{will-change:transform}}
@media(prefers-reduced-motion:reduce){.intro-line>span{transform:none;transition:none}.gallery-track{height:auto}.gallery-sticky{position:relative;height:auto}.gallery-window{overflow-x:auto}.gallery-rail{transform:none!important}}

/* Gallery rises over the preceding interlude, then pins for horizontal travel. */
#casa{position:sticky;top:80px;z-index:1}
.gallery-track{position:relative;z-index:3;background:var(--night);box-shadow:0 -24px 48px #0003}
.gallery-sticky{background:var(--night)}
@media(max-width:760px){#casa{top:72px}.gallery-track{height:300svh}.gallery-sticky{height:100svh;padding:80px 5% 24px;justify-content:flex-start}.gallery-top{font-size:10px;margin-bottom:18px}.gallery-card{width:90vw}.gallery-card>img,.gallery-card>video{height:calc(100svh - 210px);min-height:260px;border-radius:8px}.gallery-card h2{font-size:34px}.gallery-card>div{margin-top:16px}.gallery-card p{font-size:12px}}
@media(prefers-reduced-motion:reduce){#casa{position:relative;top:auto}.gallery-track{height:auto}.gallery-sticky{position:relative;height:auto}.gallery-card>img,.gallery-card>video{height:55svh}}

/* Feather the gallery lower edge into the following section. */
.gallery-sticky:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(to bottom,transparent,var(--night));pointer-events:none;z-index:4}
.gallery-track:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:120px;background:linear-gradient(to bottom,transparent,var(--night));pointer-events:none;z-index:5}
@media(max-width:760px){.gallery-sticky:after{height:56px}.gallery-track:after{height:88px}}

/* Full portrait posters replace the interior gallery. */
.gallery-track{height:450svh}.gallery-card{width:auto;flex:0 0 auto}.gallery-card>img{height:70svh;width:auto;max-width:none;object-fit:contain;border-radius:8px}.gallery-sticky{justify-content:center}.gallery-sticky:after{height:38px}
@media(max-width:760px){.gallery-track{height:450svh}.gallery-sticky{justify-content:flex-start}.gallery-card{width:90vw}.gallery-card>img{width:100%;height:calc(100svh - 160px);min-height:0;object-fit:contain}.gallery-sticky:after{height:24px}}
@media(prefers-reduced-motion:reduce){.gallery-track{height:auto}.gallery-card>img{height:65svh}}

/* Compact navigation and a static introduction without persistent overlay. */
.nav{height:58px;min-height:0;padding:8px 3.5%}.nav .brand img{height:32px;width:auto}.nav .brand{font-size:26px}.menu-label{min-height:34px;padding:6px 16px}
#casa{position:relative;top:auto;z-index:1}#casa p{margin:0}.city{padding:72px 7%;gap:8%}.city-image{border-radius:50%;overflow:hidden;aspect-ratio:3/4;height:auto;max-width:420px;justify-self:center;width:100%;clip-path:none}.city-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}.city-copy h2{font-size:clamp(30px,3.3vw,46px);line-height:1.15;font-weight:400;margin:24px 0}.city-copy p{max-width:440px;font-size:16px;line-height:1.7}
@media(max-width:760px){.nav{height:54px;padding:7px 5%}.nav .brand{font-size:23px}.nav .brand img{height:28px}.city{padding:48px 7%;gap:30px}.city-image{max-width:270px}.city-copy h2{font-size:32px}.city-copy{text-align:center}.city-copy p{font-size:15px}.gallery-sticky{padding-top:66px}}

/* Compact final section with a square photograph, location and shared footer. */
.city{min-height:0;padding:40px 7% 24px;gap:28px 5%;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}.city-image{aspect-ratio:1/1;max-width:360px;border-radius:24px}.city-image img{border-radius:24px}.city-copy h2{font-size:34px;margin:14px 0}.city-copy p{font-size:14px;margin:0 0 14px;line-height:1.6}.city-copy .eyebrow{padding-top:12px}.location iframe{display:block;border:0;border-radius:14px;height:190px}.location .location-address{font-size:12px;margin-bottom:8px}.location>a{display:inline-block;font-size:12px;margin-top:8px;border-bottom:1px solid #f2eee755;padding-bottom:3px}.city footer{grid-column:1/-1;margin:4px 0 0;padding:18px 0 0;width:100%;font-size:12px}.city footer .brand{font-size:25px}.city footer .brand img{width:auto;height:30px}
@media(max-width:760px){.city{grid-template-columns:1fr;padding:28px 7% 20px;gap:22px}.city-image{max-width:260px;border-radius:20px}.city-image img{border-radius:20px}.city-copy h2{font-size:29px}.location iframe{height:180px}.city footer{gap:12px;flex-wrap:wrap;justify-content:center;text-align:center}.city footer .brand{width:100%;justify-content:center}}

/* Nearly opaque black surfaces reveal only a trace of the photographs. */
#recorrido{background:#080808}
#recorrido .gallery-sticky{isolation:isolate;background:#080808}
#recorrido .gallery-sticky:before{content:'';position:absolute;inset:-40px;z-index:-1;pointer-events:none;background:linear-gradient(#000e,#000e),url('/experiencia/assets/cartel-2.jpg') center/cover;filter:blur(35px)}
#recorrido .gallery-sticky:after,#recorrido:after{background:linear-gradient(to bottom,transparent,#080808)}
#visita.city{position:relative;isolation:isolate;overflow:hidden;background:#080808}
#visita.city:before{content:'';position:absolute;inset:-50px;z-index:-1;pointer-events:none;background:linear-gradient(#000e,#000e),url('/experiencia/assets/interior.webp') center/cover;filter:blur(40px)}
#visita.city:before{background:linear-gradient(#000e,#000e),url('/experiencia/assets/interior.webp') center/cover}

/* Smaller mobile posters, tighter transitions and a nocturnal map. */
.location iframe{filter:invert(90%) hue-rotate(180deg) brightness(.8) contrast(.9)}.location .location-address{margin:10px 0 0}.city-copy h2{max-width:420px;font-size:30px;line-height:1.22}.city footer .brand{font-size:20px}.city footer .brand img{height:24px}
@media(max-width:760px){.nav{top:calc(12px + env(safe-area-inset-top));height:54px;border-radius:12px;margin:0 3%;width:94%;padding:7px 4%}.gallery-track{height:340svh}.gallery-sticky{height:calc(78svh + 0px);padding:88px 5% 20px;justify-content:flex-start}.gallery-top{margin-bottom:14px}.gallery-card{width:74vw}.gallery-card>img{width:100%;height:auto;max-height:58svh;min-height:0;object-fit:contain;aspect-ratio:3/4}.gallery-window{flex:none}.gallery-rail{gap:18px}.city{padding-top:20px;gap:18px}.city-copy h2{font-size:26px;max-width:300px;margin:12px auto 16px}.city footer .brand{font-size:19px}.city footer .brand img{height:23px}}
@media(max-width:760px){.gallery-sticky{height:calc(74vw * 4 / 3 + 132px)}.gallery-track{margin-bottom:calc(74vw * 4 / 3 + 132px - 100svh)}#visita.city{z-index:4}.gallery-sticky:after{height:20px}}
@media(prefers-reduced-motion:reduce){.gallery-track{margin-bottom:0}.gallery-sticky{height:auto}}

/* Words emerge with each poster's scroll position. */
.gallery-caption{max-width:380px;margin:18px 0 0;font-family:'Source Serif 4',serif;font-size:25px;line-height:1.35;font-weight:400;color:#f2eee7}.caption-word{display:inline-block;opacity:.12;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}.caption-word.is-shown{opacity:1;transform:translateY(0)}
@media(max-width:760px){.gallery-card .gallery-caption{font-size:22px;line-height:1.35;margin:18px 0 0;padding:0 4px;max-width:100%;min-height:90px}.gallery-sticky{height:calc(74vw * 4 / 3 + 250px)}.gallery-track{margin-bottom:calc(74vw * 4 / 3 + 250px - 100svh)}}
@media(prefers-reduced-motion:reduce){.caption-word{opacity:1;transform:none;transition:none}.gallery-track{margin-bottom:0}.gallery-sticky{height:auto}}

/* Keep the final mobile composition below the floating navigation at scroll end. */
@media(max-width:760px){#visita.city{padding:82px 7% 18px;gap:12px;scroll-margin-top:78px}.city-image{max-width:180px}.city-copy .eyebrow{font-size:9px;padding-top:8px}.city-copy h2{font-size:24px;margin:10px auto 12px}.city-copy p{font-size:14px;line-height:1.5;margin-bottom:12px}.location iframe{height:145px}.location .location-address{font-size:11px;margin:8px 0 0}.location>a{margin-top:6px}.city footer{padding-top:12px;margin-top:0;gap:8px;font-size:11px}}

/* Solid black final screen; media stays just below the navigation. */
#visita.city{background:#000}#visita.city:before{display:none}.nav.is-visit{background:#000;backdrop-filter:none}.city-image{opacity:1!important;transform:none!important}.city-copy h2{opacity:1!important;transform:none!important}
@media(max-width:760px){#visita.city{min-height:100svh;align-content:start;padding:82px 7% 20px;gap:14px}.city-image{max-width:240px;aspect-ratio:1;border-radius:20px}.city-image img,.city-image video{width:100%;height:100%;object-fit:cover;border-radius:20px}.city-copy h2{font-size:26px;margin:4px auto 14px}.city footer{margin-top:4px}}

.city-image video{display:block;width:100%;height:100%;object-fit:cover;border-radius:24px}.location{text-align:center;margin-left:auto;margin-right:auto}.location iframe{margin-left:auto;margin-right:auto}.city footer{font-size:10px;color:#999}.city footer .brand{color:#aaa;font-size:18px}.city footer .brand img{opacity:.7;height:22px}@media(max-width:760px){.city-image video{border-radius:20px}.city footer{font-size:10px}.city footer .brand{font-size:17px}.city footer .brand img{height:21px}}

/* Balanced mobile welcome: larger media and footer at the screen bottom. */
@media(max-width:760px){#visita.city{display:flex;flex-direction:column;min-height:100svh;padding:82px 7% max(18px,env(safe-area-inset-bottom));gap:18px}.city-image{flex:none;max-width:280px;width:min(100%,280px);aspect-ratio:1;margin:0 auto}.city-copy{width:100%}.city-copy h2{margin:0 auto 14px}.city footer{margin-top:auto;padding-top:14px;flex:none;width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px}.city footer .brand{width:100%;justify-content:center}.city footer>span{font-size:10px}}

/* Distribute the welcome content vertically instead of leaving a footer gap. */
@media(max-width:760px){#visita.city{gap:24px}.city-image{width:min(100%,300px);max-width:300px}.city-copy{display:flex;flex-direction:column;align-items:center}.city-copy h2{margin:0 auto 16px}.city-copy>p{width:100%;max-width:330px;margin:0 auto;line-height:1.5}.city-copy .location{width:100%;max-width:335px;margin:28px auto 0}.location iframe{height:145px}.city footer{margin-top:auto;padding-top:12px}}
@media(max-width:760px) and (max-height:780px){.city-image{width:min(100%,260px)}#visita.city{gap:20px}.city-copy .location{margin-top:22px}}

/* Scroll-linked brand statement, reversible as the visitor scrolls back. */
#casa{padding:64px 7%;background:#080809}#casa .intro-bottom{max-width:740px}#casa .intro-statement{font-family:'Source Serif 4',serif;font-size:clamp(24px,2.8vw,36px);line-height:1.45;font-weight:400;text-align:center;will-change:transform}.intro-word{display:inline-block;will-change:transform,opacity}
@media(max-width:760px){#casa{padding:48px 8%}#casa .intro-statement{font-size:24px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.intro-word{opacity:1!important;transform:none!important}.intro-statement{transform:none!important}}

/* Restore the original statement scale and blend into the gallery black. */
#casa{background:#080808;padding:48px 7%}#casa .intro-bottom{max-width:620px}#casa .intro-statement{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}#casa:before{background:linear-gradient(transparent,#080808)}#casa:after{background:linear-gradient(#080808,transparent)}
@media(max-width:760px){#casa{padding:36px 7%}#casa .intro-statement{font-size:15px;line-height:1.65}}

/* White editorial identity appears during the final image expansion. */
.hero-expanded-copy{position:absolute;z-index:5;left:5%;right:5%;top:43%;text-align:center;pointer-events:none;visibility:hidden;color:#f2eee7;font-family:'Source Serif 4',serif;text-shadow:0 2px 20px #0005}.expanded-line{opacity:0;will-change:transform,opacity}.expanded-number{font-size:clamp(100px,12vw,180px);line-height:.98;font-weight:400}.expanded-tagline{font-size:clamp(28px,3.7vw,55px);line-height:1.2;margin-top:12px;white-space:nowrap}.expanded-experiences{font-size:clamp(16px,1.8vw,25px);letter-spacing:.1em;line-height:1.4;margin-top:24px}
@media(max-width:760px){.hero-expanded-copy{top:43%;left:4%;right:4%}.expanded-number{font-size:25vw}.expanded-tagline{font-size:6vw;margin-top:8px;letter-spacing:-.025em}.expanded-experiences{font-size:3.5vw;letter-spacing:.08em;margin-top:20px}}
@media(prefers-reduced-motion:reduce){.hero-expanded-copy{display:none}}

/* Reference proportions: fine Roman serifs and generously spaced details. */
.hero-expanded-copy{font-family:'Times New Roman',Times,serif;font-weight:400;text-shadow:0 2px 16px #0003}
.hero-expanded-copy .expanded-line{font-family:inherit;font-weight:400}
.expanded-number{font-size:clamp(110px,14vw,210px);line-height:.9;letter-spacing:-.035em;font-variant-numeric:lining-nums}
.expanded-tagline{font-size:clamp(30px,4.2vw,62px);line-height:1.15;letter-spacing:-.015em;margin-top:16px}
.expanded-experiences{font-size:clamp(16px,1.9vw,28px);letter-spacing:.14em;margin-top:28px;white-space:nowrap}
@media(max-width:760px){.hero-expanded-copy{top:43%;left:4%;right:4%}.expanded-number{font-size:30vw;line-height:.9;letter-spacing:-.035em}.expanded-tagline{font-size:8vw;line-height:1.15;letter-spacing:-.025em;margin-top:12px}.expanded-experiences{font-size:3.7vw;letter-spacing:.14em;margin-top:20px}}
@media(max-width:760px){.expanded-tagline{font-size:8.2vw;letter-spacing:0;margin-top:-4px}.expanded-experiences{font-size:3.9vw;letter-spacing:.16em}}

/* Match the header wordmark and tighten the supporting line. */
.hero-expanded-copy .expanded-number{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
.hero-expanded-copy .expanded-experiences{margin-top:10px}
@media(max-width:760px){.hero-expanded-copy .expanded-experiences{margin-top:8px}}

/* Individually lifted numerals, with restrained depth over the portrait. */
.hero-expanded-copy{ text-shadow:0 2px 2px rgba(0,0,0,.35),0 5px 14px rgba(0,0,0,.3)}
.expanded-number{display:flex;justify-content:center;gap:0}
.expanded-digit-mask{display:inline-block;overflow:hidden;padding:0 .025em .1em;margin:0 -.025em -.1em;line-height:.95}
.expanded-digit{display:block;will-change:transform,opacity;transform:translate3d(0,115%,0);opacity:0}

/* Editorial supporting typography; numeral choreography remains unchanged. */
.hero-expanded-copy{color:#F6F1E8;text-shadow:0 2px 8px rgba(0,0,0,.18)}
.hero-expanded-copy .expanded-tagline{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(30px,4.8vw,64px);line-height:.95;letter-spacing:-.015em;margin-top:0;color:#F6F1E8}
.hero-expanded-copy .expanded-experiences{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(14px,2vw,24px);line-height:1.2;letter-spacing:.14em;margin-top:20px;color:#F6F1E8;text-transform:uppercase}
@media(max-width:760px){.hero-expanded-copy .expanded-tagline{font-size:8.6vw;letter-spacing:-.02em;margin-top:0}.hero-expanded-copy .expanded-experiences{font-size:3.9vw;letter-spacing:.14em;margin-top:18px}}

/* Compact, descending editorial hierarchy over the torso. */
.hero-expanded-copy .expanded-number{font-size:clamp(140px,18vw,250px)}
.hero-expanded-copy .expanded-tagline{font-size:clamp(24px,3.6vw,48px);line-height:.95;margin-top:-8px;letter-spacing:-.02em}
.hero-expanded-copy .expanded-experiences{font-size:clamp(11px,1.35vw,18px);line-height:1.2;letter-spacing:.09em;margin-top:8px}
@media(max-width:760px){.hero-expanded-copy .expanded-number{font-size:37vw}.hero-expanded-copy .expanded-tagline{font-size:6.6vw;margin-top:-9px}.hero-expanded-copy .expanded-experiences{font-size:2.75vw;letter-spacing:.09em;margin-top:7px}}

/* Reference width: supporting text extends beyond the numeral silhouette. */
.hero-expanded-copy .expanded-tagline{font-size:clamp(30px,4.8vw,64px)}
.hero-expanded-copy .expanded-experiences{font-size:clamp(14px,1.76vw,23.5px)}
@media(max-width:760px){.hero-expanded-copy .expanded-tagline{font-size:8.6vw}.hero-expanded-copy .expanded-experiences{font-size:3.58vw}}

/* Carry the mobile editorial proportions into the desktop hero. */
@media(min-width:761px){.hero-expanded-copy{left:50%;right:auto;width:min(86vw,760px);transform:translateX(-50%);top:42%}.hero-expanded-copy .expanded-number{font-size:clamp(170px,18vw,250px)}.hero-expanded-copy .expanded-tagline{font-size:clamp(42px,4.8vw,64px);margin-top:-12px}.hero-expanded-copy .expanded-experiences{font-size:clamp(18px,1.76vw,23.5px);margin-top:10px;letter-spacing:.09em}}

.whatsapp-contact{display:inline-flex;align-items:center;justify-content:center;gap:14px;align-self:center;padding:12px 22px;margin:20px 0 0;border:1px solid #f6f1e866;border-radius:99px;color:#F6F1E8;font-family:'DM Sans',sans-serif;font-size:14px;text-decoration:none;transition:background .2s,border-color .2s}
.whatsapp-contact:hover{background:#f6f1e814;border-color:#F6F1E8}.whatsapp-contact:focus-visible{outline:2px solid #F6F1E8;outline-offset:4px}
@media(max-width:760px){.whatsapp-contact{margin-top:18px;padding:10px 20px;font-size:13px}.city-copy .location{margin-top:22px}}
@media(min-width:761px){.whatsapp-contact+.location{margin-top:20px}}

/* Black hero backdrop with the existing translucency and blur. */
.hero-back{background:linear-gradient(rgba(0,0,0,.92),rgba(0,0,0,.97)),url('/experiencia/assets/hero-retrato.webp') center/cover}
.hero-sticky{background:#000}
