/* Hotel Otavalo V3 — cinematic, compact, scroll-driven */
:root{--v3-crimson:#9d1732;--v3-mist:#eef1ed;--v3-ease:cubic-bezier(.22,1,.36,1);--v3-ease-io:cubic-bezier(.76,0,.24,1)}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
body{overflow-x:hidden}

/* Entrance */
.v3-intro{position:fixed;inset:0;z-index:999;background:#102326;color:#f7f4ed;display:grid;place-items:center;overflow:hidden}.v3-intro-inner{position:relative;width:min(760px,84vw);height:min(640px,76vh);display:grid;place-items:center;text-align:center}.v3-intro-arch{position:absolute;inset:0;margin:auto;width:min(360px,48vw);height:min(560px,62vh);border:1px solid rgba(255,255,255,.28);border-radius:180px 180px 0 0;transform-origin:50% 100%}.v3-intro-arch::before,.v3-intro-arch::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.12);border-radius:160px 160px 0 0}.v3-intro-copy{position:relative;z-index:2;display:grid;gap:14px}.v3-intro-copy small{font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.6}.v3-intro-copy strong{font-family:var(--serif);font-size:clamp(42px,6vw,82px);line-height:.9;font-weight:400;letter-spacing:-.05em}.v3-intro-copy span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.64}.v3-intro-progress{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:min(260px,44vw);height:1px;background:rgba(255,255,255,.16);overflow:hidden}.v3-intro-progress i{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}.v3-intro.is-gone{pointer-events:none}

/* Hero */
.hero-v2{height:100svh!important;min-height:680px!important;overflow:hidden}.hero-v2 .hero-content{z-index:6}.hero-v2 h1{letter-spacing:-.055em}.hero-title-mask{display:block;overflow:hidden}.hero-v2 .hero-foot{z-index:6}.hero-v2 .hero-media{transform:scale(1.025);will-change:transform}.hero-v2 .hero-shade{z-index:2;background:linear-gradient(90deg,rgba(5,18,20,.72) 0%,rgba(5,18,20,.34) 46%,rgba(5,18,20,.16) 70%),linear-gradient(0deg,rgba(5,18,20,.68) 0%,transparent 38%)}
.hero-award{display:none!important}.v3-award{position:absolute;z-index:8;right:clamp(26px,5vw,76px);top:clamp(126px,17vh,168px);width:clamp(126px,11.5vw,176px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#c72348 0%,var(--v3-crimson) 58%,#691023 100%);color:white;display:grid;place-items:center;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.3);transform-origin:center;overflow:hidden}.v3-award::after{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(255,255,255,.32)}.v3-award-inner{position:relative;z-index:2;display:grid;justify-items:center;gap:2px}.v3-award svg{width:24px;height:24px;margin-bottom:3px;fill:none;stroke:currentColor;stroke-width:1.4}.v3-award small{font-size:7px;letter-spacing:.12em;text-transform:uppercase;opacity:.78}.v3-award strong{font-size:clamp(13px,1.25vw,18px);letter-spacing:.04em;line-height:1;text-transform:uppercase}.v3-award span{font-size:8px;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.v3-award em{font-style:normal;font-family:var(--serif);font-size:11px;opacity:.82;margin-top:4px}.v3-award:hover{box-shadow:0 22px 62px rgba(0,0,0,.32)}
.hero-utility{position:absolute;z-index:6;right:clamp(26px,5vw,76px);bottom:30px;display:flex;gap:24px;align-items:center}.hero-utility a{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#fff;display:flex;gap:8px;align-items:center;opacity:.76}.hero-utility a::before{content:"";width:28px;height:1px;background:currentColor;opacity:.5}.hero-utility a:hover{opacity:1}.hero-sequence{right:clamp(26px,5vw,76px);top:auto;bottom:72px;transform:none}
.booking-strip{position:relative;z-index:10}

/* Compact chapter headings */
.v3-scene-head{max-width:var(--max);margin:0 auto 64px;display:grid;grid-template-columns:.45fr 1.15fr .65fr;gap:34px;align-items:end}.v3-scene-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(54px,6.4vw,98px);line-height:.9;letter-spacing:-.05em;margin:0}.v3-scene-head>p:last-child{margin:0;color:#66706d;max-width:440px}.v3-scene-head .section-index{align-self:start}

/* Heritage: one visual chapter, not a long block */
.heritage-story{grid-template-columns:.52fr 1.05fr .9fr!important;gap:clamp(34px,5vw,74px)!important;padding-top:clamp(90px,9vw,138px)!important;padding-bottom:clamp(90px,9vw,138px)!important}.heritage-story .heritage-head{position:sticky;top:120px}.heritage-story .heritage-head h2{font-size:clamp(50px,5.3vw,82px)}.heritage-story .heritage-head>p:last-child{font-size:14px}.heritage-visual{top:108px!important;height:calc(100svh - 150px)!important;max-height:760px!important;border-radius:0}.heritage-frame{transition:none!important}.heritage-frame figcaption{display:none}.heritage-story .timeline-item{min-height:32svh!important;padding:34px 0}.heritage-story .timeline-item .year{font-size:clamp(46px,5vw,82px);letter-spacing:-.055em;line-height:.85}.heritage-story .timeline-item h3{font-size:22px}.heritage-story .timeline-item p{max-width:360px}.heritage-kicker{font-family:var(--serif);font-size:clamp(24px,2.4vw,38px);line-height:1.05;margin:24px 0 0;color:var(--ink)}

/* Stay scene */
.stay-scene{background:#f4f1ea;padding:clamp(90px,9vw,150px) clamp(24px,6.5vw,100px)}.stay-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(42px,7vw,110px);align-items:start}.stay-visual{position:sticky;top:105px;height:calc(100svh - 145px);max-height:760px;min-height:540px;background:#17282c;overflow:hidden}.stay-frame{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04);will-change:opacity,transform}.stay-frame.is-active{opacity:1;transform:scale(1)}.stay-frame img{width:100%;height:100%;object-fit:cover}.stay-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,13,15,.03),rgba(3,13,15,.32))}.stay-counter{position:absolute;z-index:4;left:20px;top:18px;color:#fff;font-size:10px;letter-spacing:.14em}.stay-counter b{font-weight:400;font-family:var(--serif);font-size:28px;margin-right:8px}.stay-steps{padding-top:4vh}.stay-step{min-height:35svh;padding:38px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:58px 1fr;gap:22px;align-content:center;color:var(--ink);opacity:.28;transition:opacity .35s ease}.stay-step:last-child{border-bottom:1px solid var(--line)}.stay-step.is-active{opacity:1}.stay-step>span{font-size:10px;letter-spacing:.12em}.stay-step h3{font-family:var(--serif);font-size:clamp(42px,5vw,72px);font-weight:400;line-height:.92;letter-spacing:-.045em;margin:0 0 15px}.stay-step p{margin:0 0 20px;color:#626965;max-width:430px}.stay-step small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:4px}

/* Experiences become one immersive scene */
.experience-scene{position:relative;background:#102326;color:#fff;padding:clamp(90px,9vw,150px) clamp(24px,6.5vw,100px);overflow:clip}.experience-scene .v3-scene-head h2,.experience-scene .v3-scene-head p{color:#fff}.experience-scene .v3-scene-head>p:last-child{color:rgba(255,255,255,.62)}.experience-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(42px,7vw,110px);align-items:start}.experience-visual{position:sticky;top:105px;height:calc(100svh - 145px);min-height:540px;max-height:760px;overflow:hidden;background:#071416}.experience-frame{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.045);will-change:opacity,transform}.experience-frame.is-active{opacity:1;transform:scale(1)}.experience-frame img{width:100%;height:100%;object-fit:cover}.experience-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,13,15,.04),rgba(3,13,15,.48))}.experience-steps{padding-top:3vh}.experience-step{min-height:30svh;padding:28px 0;border-top:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:64px 1fr;gap:18px;align-content:center;color:#fff;opacity:.26;transition:opacity .35s ease}.experience-step:last-child{border-bottom:1px solid rgba(255,255,255,.15)}.experience-step.is-active{opacity:1}.experience-step>span{font-size:10px;letter-spacing:.14em}.experience-step h3{font-family:var(--serif);font-size:clamp(44px,5.2vw,78px);font-weight:400;letter-spacing:-.05em;line-height:.9;margin:0 0 12px}.experience-step p{color:rgba(255,255,255,.66);max-width:440px;margin:0 0 18px}.experience-step small{font-size:10px;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:4px}.experience-thread{position:absolute;z-index:0;right:-8vw;top:11%;width:42vw;height:auto;color:rgba(199,93,63,.32);pointer-events:none}.experience-thread path{fill:none;stroke:currentColor;stroke-width:1.2;stroke-dasharray:8 12;vector-effect:non-scaling-stroke}.experience-layout,.experience-scene .v3-scene-head{position:relative;z-index:2}

/* Mist bridge */
.v3-mist{height:150px;position:relative;margin-top:-1px;background:#102326;overflow:hidden;pointer-events:none}.v3-mist-layer{position:absolute;width:140%;height:190%;left:-20%;top:-55%;filter:blur(20px);opacity:.72;will-change:transform}.v3-mist-layer:nth-child(1){background:radial-gradient(ellipse at 20% 50%,rgba(241,239,232,.78),transparent 34%),radial-gradient(ellipse at 68% 56%,rgba(230,235,230,.72),transparent 35%)}.v3-mist-layer:nth-child(2){background:radial-gradient(ellipse at 44% 52%,rgba(248,247,242,.82),transparent 29%),radial-gradient(ellipse at 90% 45%,rgba(220,228,223,.65),transparent 30%);opacity:.54}.v3-mist-layer:nth-child(3){background:radial-gradient(ellipse at 12% 60%,rgba(255,255,255,.68),transparent 24%),radial-gradient(ellipse at 61% 60%,rgba(246,246,240,.78),transparent 31%);opacity:.45}

/* Taste: restaurant and rooftop share one scene */
.taste-scene{background:#eeeae2;padding:clamp(90px,9vw,145px) clamp(24px,6.5vw,100px)}.taste-stage{max-width:var(--max);height:min(74svh,720px);min-height:560px;margin:auto;position:relative;background:#152629;overflow:hidden;color:#fff}.taste-panel{position:absolute;inset:0;opacity:0;pointer-events:none;transform:scale(1.025);transition:opacity .7s ease,transform 1.1s var(--v3-ease)}.taste-panel.is-active{opacity:1;pointer-events:auto;transform:scale(1)}.taste-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.taste-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,15,17,.73),rgba(4,15,17,.08) 70%),linear-gradient(0deg,rgba(4,15,17,.5),transparent 50%)}.taste-copy{position:absolute;z-index:2;left:clamp(28px,5vw,74px);bottom:clamp(30px,6vw,78px);max-width:620px}.taste-copy small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}.taste-copy h3{font-family:var(--serif);font-size:clamp(54px,7vw,104px);font-weight:400;letter-spacing:-.055em;line-height:.86;margin:12px 0 18px}.taste-copy p{color:rgba(255,255,255,.7);max-width:510px}.taste-switch{position:absolute;z-index:6;right:24px;top:22px;display:flex;background:rgba(5,18,20,.34);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);padding:4px}.taste-switch button{border:0;background:transparent;color:#fff;padding:10px 14px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;opacity:.5}.taste-switch button.is-active{background:#fff;color:#13272b;opacity:1}

/* Trust is a line, not a section */
.trust-ribbon{background:#e7e2d8;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 clamp(24px,6.5vw,100px)}.trust-ribbon-inner{max-width:var(--max);margin:auto;min-height:84px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}.trust-ribbon strong{font-family:var(--serif);font-size:22px;font-weight:400}.trust-ribbon p{font-size:11px;color:#666d69;margin:0}.trust-ribbon a{font-size:9px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}

/* Collection shorter and more editorial */
.journey{padding:clamp(90px,9vw,138px) clamp(24px,6.5vw,100px)!important}.journey-head{margin-bottom:48px!important}.journey-head h2{font-size:clamp(52px,6vw,88px)!important}.journey-grid{gap:1px!important;background:rgba(255,255,255,.18)}.journey-card{min-height:420px!important;overflow:hidden}.journey-card img{transition:transform 1.2s var(--v3-ease)}.journey-card:hover img{transform:scale(1.045)}.journey-card>div{inset:auto 24px 24px!important}.journey-card h3{font-size:36px!important}.journey-card p{display:none}.journey-corporate{margin-top:20px!important}

/* Location is functional, not another giant chapter */
.location-section{padding:clamp(74px,7vw,110px) clamp(24px,6.5vw,100px)!important}.location-inner{grid-template-columns:.82fr 1.18fr!important;gap:clamp(36px,5vw,72px)!important;align-items:center!important}.location-copy{position:relative!important;top:auto!important}.location-copy h2{font-size:clamp(48px,5.2vw,74px)!important}.location-copy>p{font-size:14px!important;margin-bottom:24px!important}.location-detail{padding:12px 0!important}.location-map{min-height:430px!important;height:54vh;max-height:520px}.location-actions{margin-top:22px!important}

/* Cookie UI */
.v3-cookies{position:fixed;z-index:300;left:24px;bottom:24px;width:min(360px,calc(100vw - 48px));background:#f3efe7;color:#182326;border:1px solid rgba(24,35,38,.16);padding:20px 22px;box-shadow:0 20px 60px rgba(0,0,0,.14);visibility:hidden;opacity:0;transform:translateY(14px)}.v3-cookies.is-visible{visibility:visible}.v3-cookies-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.v3-cookies-top strong{font-family:var(--serif);font-size:28px;font-weight:400}.v3-cookies-top span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#727875}.v3-cookies p{font-size:12px;line-height:1.55;color:#626965;margin:0}.v3-cookie-actions{display:flex;gap:14px;margin-top:18px}.v3-cookie-actions button{border:0;background:none;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:0 0 3px;border-bottom:1px solid currentColor;cursor:pointer;color:inherit}

/* Small interactions */
.v3-magnetic{will-change:transform}.split-line{overflow:hidden}.split-line>div{will-change:transform}.v3-reveal-media{clip-path:inset(0 0 100% 0);will-change:clip-path}

@media(max-width:1080px){.v3-scene-head{grid-template-columns:1fr;gap:18px}.heritage-story{grid-template-columns:1fr!important}.heritage-story .heritage-head{position:relative;top:auto}.heritage-visual,.stay-visual,.experience-visual{position:relative;top:auto!important;height:64vw!important;min-height:480px!important;max-height:680px!important}.stay-layout,.experience-layout{grid-template-columns:1fr}.stay-steps,.experience-steps{padding-top:0}.stay-step,.experience-step{min-height:auto;opacity:1;padding:28px 0}.v3-award{width:132px;top:122px}.journey-grid{grid-template-columns:1fr 1fr!important}.journey-card:last-child{grid-column:1/-1}.location-inner{grid-template-columns:1fr!important}.trust-ribbon-inner{grid-template-columns:1fr auto;padding:20px 0}.trust-ribbon p{grid-column:1/-1;grid-row:2}}
@media(max-width:760px){.v3-intro-inner{height:72vh}.v3-intro-arch{width:64vw;height:52vh}.hero-v2{min-height:720px!important}.hero-v2 .hero-content{padding-top:150px!important;padding-bottom:170px!important}.v3-award{width:104px;top:94px;right:16px}.v3-award svg{width:18px;height:18px}.v3-award strong{font-size:11px}.v3-award small,.v3-award span{font-size:6px}.v3-award em{display:none}.hero-utility{right:18px;bottom:22px}.hero-utility a{font-size:8px}.hero-sequence{display:none!important}.heritage-story,.stay-scene,.experience-scene,.taste-scene,.journey,.location-section{padding-left:20px!important;padding-right:20px!important}.heritage-visual,.stay-visual,.experience-visual{height:68vh!important;min-height:480px!important}.heritage-story .timeline-item{min-height:auto!important}.stay-step,.experience-step{grid-template-columns:44px 1fr}.taste-stage{min-height:620px;height:76svh}.taste-switch{right:12px;top:12px}.taste-copy{left:22px;right:22px;bottom:30px}.taste-copy h3{font-size:clamp(52px,15vw,76px)}.trust-ribbon-inner{grid-template-columns:1fr;padding:18px 0;gap:8px}.journey-grid{grid-template-columns:1fr!important}.journey-card,.journey-card:last-child{grid-column:auto!important;min-height:390px!important}.location-map{height:48vh;min-height:360px!important}.v3-cookies{left:12px;bottom:12px;width:calc(100vw - 24px)}.experience-thread{width:82vw;right:-34vw}}
@media(prefers-reduced-motion:reduce){.v3-intro{display:none}.stay-frame,.experience-frame,.taste-panel{transition:none!important}.v3-mist-layer,.experience-thread{display:none}.v3-reveal-media{clip-path:none}}
