@font-face{font-family:Aranya Sans;src:url("/fonts/Inter.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Aranya Serif;src:url("/fonts/PlayfairDisplay.woff2") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:Aranya Script;src:url("/fonts/PinyonScript.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}

:root {
  --paper:#e7e4df;
  --paper-warm:#eee9df;
  --ink:#11110f;
  --red:#d92718;
  --blue:#7793a9;
  --green:#414733;
  --ochre:#bd8443;
  --serif:"Aranya Serif",Georgia,serif;
  --sans:"Aranya Sans",Arial,sans-serif;
  --script:"Aranya Script","Segoe Print",cursive;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans)}
body.menu-open{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%}
button{color:inherit;font:inherit}
address{font-style:normal}
.skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;padding:.8rem 1rem;background:var(--ink);color:#fff;transform:translateY(-150%);transition:transform .15s}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #1261a0;outline-offset:4px}
.kicker{margin:0 0 2rem;font-size:.67rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}

.preloader{position:fixed;z-index:500;inset:0;display:grid;place-content:center;justify-items:center;background:var(--paper);transition:opacity .45s ease,visibility .45s}
.preloader.is-gone{opacity:0;visibility:hidden}
.preloader__wordmark{display:grid;place-items:center;line-height:1}
.preloader__wordmark strong{font:600 clamp(1.7rem,4vw,2.5rem)/1 var(--sans);letter-spacing:.38em;text-indent:.38em}
.preloader__wordmark span{margin-top:.75rem;font-size:.52rem;font-weight:600;letter-spacing:.42em;text-indent:.42em}
.preloader>i{position:relative;width:min(220px,54vw);height:1px;margin-top:2rem;overflow:hidden;background:rgba(17,17,15,.18)}
.preloader>i::after{position:absolute;inset:0;background:var(--red);content:"";transform:translateX(-100%);animation:loader-line .65s cubic-bezier(.7,0,.2,1) forwards}
@keyframes loader-line{to{transform:translateX(0)}}

.site-header{position:relative;z-index:50;display:grid;height:98px;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:var(--paper);padding:0 clamp(1.5rem,3vw,3.5rem)}
.menu-pill{display:flex;width:106px;height:62px;align-items:center;justify-content:center;gap:.78rem;border:1.5px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer;letter-spacing:.16em;text-transform:uppercase;transform:rotate(-2deg)}
.menu-pill i{width:6px;height:6px;background:var(--ink);transform:rotate(45deg)}
.menu-pill span{font-size:.74rem;font-weight:600}
.wordmark{display:grid;place-items:center;text-decoration:none;line-height:1}
.wordmark strong{font-size:1.5rem;letter-spacing:.28em}
.wordmark small{margin-top:.45rem;font-size:.47rem;letter-spacing:.28em}
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:2rem}
.header-call{font-size:.72rem;letter-spacing:.15em;text-decoration:none;text-transform:uppercase}
.reserve-button{display:grid;width:176px;height:65px;place-items:center;outline:1px solid rgba(231,228,223,.75);outline-offset:-6px;background:var(--red);color:white;font-size:.78rem;letter-spacing:.18em;text-decoration:none;text-transform:uppercase}

.menu-drawer{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:30% 1fr;grid-template-rows:auto 1fr auto;background:var(--green);padding:2rem clamp(1.5rem,5vw,5rem);opacity:0;transition:opacity .35s ease}
.menu-drawer[hidden]{display:none}.menu-drawer.is-open{opacity:1}
.menu-drawer__close{justify-self:start;border:0;background:transparent;cursor:pointer;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.menu-drawer__brand{grid-row:2;align-self:center}
.menu-drawer__brand img{width:14rem;filter:sepia(.2) saturate(.9)}
.menu-drawer__brand p{margin:1rem 0;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase}
.menu-drawer nav{grid-column:2;grid-row:2;display:grid;align-content:center}
.menu-drawer nav a{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid rgba(16,16,15,.25);padding:.45rem 0;font:500 clamp(2.7rem,6.4vw,6.8rem)/.94 var(--serif);text-decoration:none}
.menu-drawer nav span{font:500 .58rem/1 var(--sans);letter-spacing:.15em}
.menu-drawer__footer{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid rgba(16,16,15,.4);padding-top:1rem}
.menu-drawer__footer a{font-size:.68rem;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}

.hero{position:relative;height:calc(100svh - 98px);min-height:620px;overflow:hidden;background:#171e21;color:white}
.hero__media,.hero__shade{position:absolute;inset:0;width:100%;height:100%}
.hero__media{object-fit:cover;object-position:center 61%;animation:hero-drift 14s ease-out both}
@keyframes hero-drift{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.06) 22%,rgba(0,0,0,.65))}
.hero__eyebrow{position:absolute;left:clamp(1.5rem,5vw,5rem);bottom:45%;margin:0;font-size:.75rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.hero h1{position:absolute;right:3vw;bottom:8.5%;left:clamp(1.5rem,5vw,5rem);max-width:1100px;margin:0;font:600 clamp(4rem,8.4vw,8.5rem)/.82 var(--serif);letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance}
.hero__scroll{position:absolute;right:3rem;bottom:2.5rem;display:flex;align-items:center;gap:1rem;font-size:.65rem;letter-spacing:.17em;text-decoration:none;text-transform:uppercase}
.hero__scroll i{display:grid;width:3rem;height:3rem;place-items:center;border:1px solid white;border-radius:50%;font-style:normal}

.ink-story{--ink-progress:0;position:relative;min-height:125vh;padding:13rem max(8vw,5rem) 10rem}
.vertical-note{position:absolute;top:15rem;left:1.1rem;margin:0;font-size:.61rem;letter-spacing:.22em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.ink-story h2{max-width:1120px;margin:0;background:linear-gradient(90deg,var(--ink) 0 calc(var(--ink-progress)*100%),rgba(17,17,15,.17) calc(var(--ink-progress)*100%) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;font:500 clamp(4.2rem,7.4vw,8rem)/.92 var(--serif);letter-spacing:-.04em}
.ink-story__footer{display:grid;max-width:730px;grid-template-columns:1fr 1fr;gap:3rem;margin:6rem 0 0 auto;line-height:1.7}

.editorial-story{position:relative;min-height:1900px;padding:5rem 5vw 12rem;background:#c8bdb2}
.editorial-shot{position:absolute;margin:0}
.editorial-shot img{width:100%;height:100%;object-fit:cover}
.editorial-shot--one{top:7rem;left:5vw;width:46vw;height:680px}
.editorial-shot--two{top:31rem;right:6vw;width:33vw;height:650px}
.editorial-shot--three{bottom:8rem;left:15vw;width:40vw;height:570px}
figcaption{margin-top:.8rem;font-size:.58rem;letter-spacing:.17em;text-transform:uppercase}
.story-seal{position:absolute;top:-4rem;right:-3rem;display:grid;width:145px;height:145px;place-content:center;border:4px double var(--red);border-radius:50%;background:var(--paper);color:var(--red);text-align:center;transform:rotate(10deg)}
.story-seal b{font:600 1.8rem/1 var(--serif)}.story-seal span{max-width:100px;margin-top:.4rem;font-size:.45rem;letter-spacing:.12em}
.slow-note{position:absolute;top:54rem;left:6vw;width:36vw;min-height:450px;padding:4rem;background:var(--green);color:#f1eee7;transform:rotate(-2deg)}
.slow-note>span{font-size:.58rem;letter-spacing:.2em}
.slow-note h2{margin:4rem 0 2rem;font:500 clamp(3.5rem,5vw,6rem)/.88 var(--serif);letter-spacing:-.04em}
.slow-note p{max-width:24rem;line-height:1.7}

.room-feature{padding:11rem 5vw 14rem;background:var(--paper-warm)}
.room-feature__intro{display:grid;grid-template-columns:.45fr 1fr .75fr;align-items:end;gap:2rem;margin-bottom:7rem}
.room-feature__intro .kicker{align-self:start}.room-feature__intro h2{margin:0;font:500 clamp(4.5rem,8vw,8.5rem)/.85 var(--serif);letter-spacing:-.045em}.room-feature__intro>p:last-child{max-width:32rem;margin:0 0 .8rem;line-height:1.7}
.room-feature__composition{position:relative;min-height:950px}
.room-feature__composition figure{margin:0}
.room-feature__main{width:73%;height:auto;aspect-ratio:3/2}.room-feature__main img{width:100%;height:100%;object-fit:cover}
.room-feature__detail{position:absolute;z-index:2;top:31rem;right:1vw;width:28%;height:500px;border:12px solid var(--paper-warm);transform:rotate(2deg)}.room-feature__detail img{width:100%;height:100%;object-fit:cover}
.postcard{position:absolute;z-index:3;right:7vw;top:2rem;width:310px;min-height:390px;padding:2.2rem;border:1px solid rgba(17,17,15,.4);background:#f5f0e4;box-shadow:8px 13px 0 rgba(17,17,15,.11);transform:rotate(4deg)}
.postcard::before{position:absolute;top:1.2rem;right:1.2rem;width:64px;height:76px;border:1px dashed rgba(17,17,15,.4);content:""}
.postcard__script{max-width:190px;margin:0 0 3rem;font:600 2rem/1 var(--script);transform:rotate(-3deg)}
.postcard dl{margin:0}.postcard dl div{display:flex;justify-content:space-between;border-top:1px solid rgba(17,17,15,.3);padding:.8rem 0;font-size:.68rem;text-transform:uppercase}.postcard dt{letter-spacing:.15em}.postcard dd{margin:0}
.postcard a{display:inline-block;margin-top:2rem;border-bottom:1px solid;padding-bottom:.25rem;font-size:.65rem;letter-spacing:.15em;text-decoration:none;text-transform:uppercase}

.direct-offer{display:grid;min-height:850px;grid-template-columns:1fr 1fr;background:var(--red);color:var(--paper)}
.direct-offer__media img{width:100%;height:100%;object-fit:cover}.direct-offer__copy{display:grid;align-content:center;padding:7vw}.direct-offer__copy h2{margin:0;font:500 clamp(4rem,7vw,7.5rem)/.86 var(--serif);letter-spacing:-.045em}.direct-offer__copy>p:not(.kicker){max-width:31rem;margin:3rem 0;line-height:1.7}.direct-offer__actions{display:flex;flex-wrap:wrap;gap:.7rem}.direct-offer__actions a{display:grid;min-width:180px;min-height:62px;place-items:center;border:1px solid var(--paper);font-size:.67rem;letter-spacing:.17em;text-decoration:none;text-transform:uppercase}.direct-offer__actions a:first-child{background:var(--paper);color:var(--red)}

.journey{padding:11rem 0;background:#d9d4ca;overflow:hidden}
.journey__intro{display:grid;grid-template-columns:1.1fr .6fr;align-items:end;gap:5rem;padding:0 5vw 7rem}.journey__intro h2{margin:0;font:500 clamp(5rem,9vw,9rem)/.8 var(--serif);letter-spacing:-.05em}.journey__intro>p{max-width:30rem;margin:0;line-height:1.7}
.hand-map{position:relative;width:min(1180px,90vw);height:600px;margin:0 auto 8rem;border:1px solid rgba(17,17,15,.35);background-color:#eee8db;background-image:linear-gradient(rgba(17,17,15,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,15,.035) 1px,transparent 1px);background-size:24px 24px;box-shadow:12px 15px 0 rgba(17,17,15,.1);transform:rotate(-.8deg)}
.map-route{position:absolute;height:2px;border-top:2px dashed rgba(17,17,15,.62);transform-origin:left}
.map-route--a{top:310px;left:27%;width:29%;transform:rotate(-24deg)}.map-route--b{top:295px;left:27%;width:48%;transform:rotate(12deg)}.map-route--c{top:310px;left:27%;width:42%;transform:rotate(38deg)}
.map-river{position:absolute;top:7%;right:14%;color:#54758d;font:600 2.8rem var(--script);transform:rotate(13deg)}
.map-place{position:absolute;display:grid;justify-items:center;gap:.25rem;text-align:center;font-size:.66rem;text-transform:uppercase}.map-place i{width:14px;height:14px;border:4px solid var(--red);border-radius:50%;background:var(--paper)}.map-place b{letter-spacing:.12em}.map-place small{font:500 1rem var(--script);text-transform:none}
.map-place--hotel{top:46%;left:23%}.map-place--one{top:58%;left:10%}.map-place--two{top:21%;left:54%}.map-place--three{top:57%;right:13%}.map-place--four{right:27%;bottom:8%}
.map-hand{position:absolute;left:5%;bottom:7%;margin:0;font:600 2rem/1 var(--script);transform:rotate(-7deg)}
.postcard-rail{display:grid;grid-auto-columns:min(30vw,410px);grid-auto-flow:column;gap:2.2rem;overflow-x:auto;padding:2rem 8vw 3rem;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.postcard-rail::-webkit-scrollbar{display:none}
.attraction-card{position:relative;min-height:530px;overflow:hidden;border:1px solid rgba(17,17,15,.25);background:#f3ede2;box-shadow:7px 9px 0 rgba(17,17,15,.12);scroll-snap-align:center;transform:rotate(-1deg)}.attraction-card:nth-child(even){transform:rotate(1.2deg)}
.attraction-card--photo{display:grid;grid-template-rows:315px 1fr;padding:1rem}.attraction-card--photo img{width:100%;height:100%;object-fit:contain;background:#ddd4c5}.attraction-card--photo>div{padding:1.4rem .5rem .5rem}
.attraction-card small{font-size:.55rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.attraction-card h3{margin:.8rem 0 .5rem;font:500 2.35rem/.92 var(--serif)}.attraction-card p{margin:0;line-height:1.5}
.attraction-card:nth-child(1){background:#d8a05d}.attraction-card:nth-child(2){background:#88a391}.attraction-card:nth-child(3){background:#bb6f63}.attraction-card:nth-child(4){background:#9b8da7}
.attraction-card:nth-child(5){background:#6f8fa1}.attraction-card:nth-child(6){background:#d3b275}.attraction-card:nth-child(7){background:#7f8b5a}.attraction-card:nth-child(8){background:#c67f67}
.attraction-card:nth-child(9){background:#789494}.attraction-card:nth-child(10){background:#bd8ea0}.attraction-card:nth-child(11){background:#a89b72}.attraction-card:nth-child(12){background:#697f98}
.attraction-card:nth-child(13){background:#c58e4c}.attraction-card:nth-child(14){background:#8a9c73}.attraction-card:nth-child(15){background:#ad6d78}.attraction-card:nth-child(16){background:#897c67}
.attraction-card:nth-child(3),.attraction-card:nth-child(5),.attraction-card:nth-child(7),.attraction-card:nth-child(9),.attraction-card:nth-child(12),.attraction-card:nth-child(15),.attraction-card:nth-child(16){color:#fff8ee}
.attraction-card--type{display:grid;align-content:space-between;padding:2rem;color:white}.attraction-card--type h3{font-size:3.5rem}.attraction-card--type p{max-width:17rem}.tone-red{background:#b74435}.tone-blue{background:#607f94}.tone-ochre{background:#af7a3a}.tone-green{background:#4a563f}.tone-ink{background:#1d1e1d}.tone-sky{background:#7e9eab}.tone-stone{background:#776c61}
.journey__controls{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin:1rem 0 5rem}.journey__controls button{display:grid;width:3.2rem;height:3.2rem;place-items:center;border:1px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer}.journey__controls span{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase}
.learn-more{display:flex;width:min(900px,90vw);align-items:center;justify-content:space-between;margin:auto;border-top:1px solid;border-bottom:1px solid;padding:1.8rem 0;font:500 clamp(2.4rem,4vw,4.5rem)/1 var(--serif);text-decoration:none}.learn-more span{display:grid;width:4rem;height:4rem;place-items:center;border:1px solid;border-radius:50%;font:400 1.5rem var(--sans)}

.closing{position:relative;min-height:92vh;color:white}.closing__image,.closing__shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.closing__shade{background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.08))}.closing__content{position:relative;z-index:2;display:grid;min-height:92vh;align-content:center;padding:7vw}.closing__content h2{margin:0;font:500 clamp(4.5rem,8vw,8rem)/.84 var(--serif);letter-spacing:-.045em}.closing__content a{display:grid;width:200px;height:65px;place-items:center;margin-top:3rem;background:var(--red);font-size:.68rem;letter-spacing:.17em;text-decoration:none;text-transform:uppercase}

footer{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:3rem;background:var(--ink);color:var(--paper);padding:6rem 5vw}.footer-wordmark{font:600 clamp(3.5rem,6vw,7rem)/1 var(--serif);letter-spacing:-.03em}footer>div:not(.footer-wordmark){display:grid;align-content:start;gap:.7rem;font-size:.72rem;line-height:1.55}footer strong{margin-bottom:.6rem;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase}footer a{text-decoration:none}
.mobile-dock{display:none}
.reveal{opacity:1;transform:none}
@media(scripting:enabled){.reveal{opacity:0;transform:translateY(4rem) rotate(.2deg);transition:opacity 1.1s ease,transform 1.25s cubic-bezier(.18,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.editorial-shot--two.reveal{transform:translateY(5rem) rotate(3deg)}.editorial-shot--two.reveal.is-visible{transform:rotate(1.5deg)}}
.editorial-story,.room-feature,.direct-offer,.journey,.closing,.gallery-wall,.guide-section{content-visibility:auto;contain-intrinsic-size:auto 1100px}

.hotel-faq{padding:9rem 5vw;background:var(--paper-warm)}
.hotel-faq__head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem}
.hotel-faq h2{max-width:760px;margin:0;font:500 clamp(3.5rem,7vw,7rem)/.88 var(--serif);letter-spacing:-.045em}
.hotel-faq__head>p{max-width:34rem;margin:0 0 .7rem;line-height:1.7}
.hotel-faq__list{max-width:1000px;margin-left:auto}
.hotel-faq details{border-top:1px solid rgba(17,17,15,.35);padding:1.4rem 0}
.hotel-faq details:last-child{border-bottom:1px solid rgba(17,17,15,.35)}
.hotel-faq summary{cursor:pointer;font:500 clamp(1.65rem,3vw,2.7rem)/1.05 var(--serif)}
.hotel-faq details p{max-width:760px;margin:1rem 0 0;line-height:1.7}
.hotel-faq a{text-underline-offset:.2em}

.guide-body .site-header{position:relative}.guide-hero{padding:3rem 5vw 8rem;text-align:center}.guide-hero h1{margin:0;font:500 clamp(5rem,10vw,10rem)/.84 var(--serif);letter-spacing:-.05em;text-transform:uppercase}.guide-hero h1 span{display:inline}.guide-hero__lede{position:relative;max-width:780px;margin:3rem auto 0;font-size:1.08rem;font-weight:600;letter-spacing:.12em;line-height:1.5;text-transform:uppercase}.guide-hero__lede em{color:var(--red);font-style:normal}.guide-stamp{position:absolute;right:-10rem;bottom:-2rem;display:grid;width:155px;height:155px;place-content:center;border:5px double var(--red);border-radius:50%;color:var(--red);font:600 1.25rem/1 var(--serif);transform:rotate(10deg)}
.guide-categories{display:flex;justify-content:center;gap:1rem;padding-bottom:8rem}.guide-categories a{display:grid;min-width:190px;min-height:60px;place-items:center;border:1px solid;border-radius:50%;font-size:.65rem;letter-spacing:.16em;text-decoration:none;text-transform:uppercase}
.guide-section{padding:8rem 5vw}.guide-section:nth-child(even){background:#cbc0b5}.guide-section__head{display:grid;grid-template-columns:1fr .7fr;gap:4rem;align-items:end;margin-bottom:6rem}.guide-section h2{margin:0;font:500 clamp(5rem,9vw,9rem)/.8 var(--serif);letter-spacing:-.05em}.guide-quote{max-width:500px;margin:0 0 1rem;font:600 2.2rem/1.08 var(--script);transform:rotate(-2deg)}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.guide-card{min-height:480px;border-top:1px solid;padding-top:1rem}.guide-card img{width:100%;height:280px;object-fit:contain;background:#ddd4c5}.guide-card h3{margin:1.4rem 0 .7rem;font:500 2.2rem/.95 var(--serif)}.guide-card p{line-height:1.6}.guide-card small{font-size:.54rem;letter-spacing:.16em;text-transform:uppercase}
.guide-type{display:grid;height:280px;align-content:center;justify-items:center;gap:1rem;color:white;text-align:center}.guide-type b{font:500 clamp(2.2rem,4vw,4rem)/.9 var(--serif)}.guide-type span{font:600 1.45rem var(--script)}
.guide-back{text-decoration:none}.guide-back i{transform:rotate(45deg)}

@media(max-width:760px){
  .site-header{height:88px;grid-template-columns:1fr 1.45fr;padding:0 .6rem}.wordmark,.header-call{display:none}.menu-pill{width:96px;height:58px}.header-actions{gap:0}.reserve-button{width:160px;height:60px}
  .menu-drawer{grid-template-columns:1fr;padding:1.2rem}.menu-drawer__brand{display:none}.menu-drawer nav{grid-column:1}.menu-drawer nav a{font-size:clamp(2.7rem,15vw,4.4rem)}
  .hero{height:calc(100svh - 88px);min-height:600px}.hero__media{object-position:62% center}.hero__eyebrow{bottom:43%;left:1.1rem;font-size:.58rem;letter-spacing:.12em}.hero h1{right:1rem;bottom:7rem;left:1rem;font-size:clamp(3rem,15vw,4.8rem);line-height:.85}.hero__scroll{right:1rem;bottom:1rem}
  .ink-story{min-height:120vh;padding:8rem 1.2rem}.vertical-note{display:none}.ink-story h2{font-size:clamp(3.6rem,15.5vw,5.4rem)}.ink-story__footer{grid-template-columns:1fr;gap:1rem;margin-top:4rem}
  .editorial-story{min-height:1850px;padding:4rem 1rem 8rem}.editorial-shot--one{top:4rem;left:1rem;width:82vw;height:510px}.editorial-shot--two{top:33rem;right:1rem;width:72vw;height:510px}.story-seal{top:-3rem;right:-.5rem;width:112px;height:112px}.story-seal b{font-size:1.4rem}.slow-note{top:64rem;left:1rem;width:84vw;min-height:390px;padding:2.2rem}.slow-note h2{margin:3rem 0 2rem;font-size:3.7rem}.editorial-shot--three{bottom:6rem;left:12vw;width:76vw;height:450px}
  .room-feature{padding:7rem 1.2rem 9rem}.room-feature__intro{display:block;margin-bottom:4rem}.room-feature__intro h2{font-size:clamp(4rem,20vw,6rem);margin-bottom:2rem}.room-feature__composition{min-height:800px}.room-feature__main{width:100%;height:auto;aspect-ratio:3/2}.room-feature__detail{top:11rem;right:-.5rem;width:54%;height:300px;border-width:8px}.postcard{top:23rem;right:auto;left:.5rem;width:82%;min-height:340px}
  .direct-offer{grid-template-columns:1fr}.direct-offer__media{height:60vh}.direct-offer__copy{padding:6rem 1.2rem 7rem}.direct-offer__copy h2{font-size:clamp(3.6rem,16vw,5.5rem)}.direct-offer__actions{display:grid}
  .journey{padding:7rem 0}.journey__intro{display:block;padding:0 1.2rem 4rem}.journey__intro h2{font-size:clamp(5rem,23vw,7rem);margin-bottom:2rem}.hand-map{width:92vw;height:520px;margin-bottom:5rem}.map-route--a{left:28%;width:35%}.map-route--b{left:28%;width:48%}.map-route--c{left:28%;width:43%}.map-place--hotel{left:22%}.map-place--one{left:3%}.map-place--three{right:2%}.map-place--four{right:12%}.map-hand{font-size:1.5rem}.map-river{right:4%}
  .postcard-rail{grid-auto-columns:84vw;gap:1rem;padding:2rem 7vw 3rem}.attraction-card{min-height:520px}.attraction-card--photo{grid-template-rows:310px 1fr}.learn-more{font-size:2.5rem}
  .closing__content{padding:1.2rem}.closing__content h2{font-size:clamp(4rem,18vw,6rem)}
  footer{grid-template-columns:1fr 1fr;padding:5rem 1.2rem 8rem}.footer-wordmark{grid-column:1/-1}
  .hotel-faq{padding:6rem 1.2rem 7rem}.hotel-faq__head{grid-template-columns:1fr;margin-bottom:3rem}.hotel-faq h2{font-size:clamp(3.7rem,16vw,5rem)}
  .mobile-dock{position:fixed;z-index:60;right:.45rem;bottom:max(.45rem,env(safe-area-inset-bottom));left:.45rem;display:grid;min-height:76px;grid-template-columns:1fr 1.25fr 1fr;gap:.25rem;border:1px solid var(--ink);background:rgba(231,228,223,.96);padding:.28rem;backdrop-filter:blur(12px)}
  .mobile-dock a{display:grid;grid-template-rows:28px auto;place-items:center;align-content:center;gap:.2rem;font-size:.61rem;font-weight:600;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.mobile-dock svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mobile-dock__book{background:var(--red);color:white}
  .guide-hero{padding:3rem 1.2rem 5rem}.guide-hero h1{font-size:clamp(4rem,19vw,5.4rem)}.guide-hero h1 span{display:block}.guide-hero__lede{font-size:.78rem}.guide-stamp{position:relative;right:auto;bottom:auto;margin:2rem auto 0}.guide-categories{overflow-x:auto;justify-content:flex-start;padding:0 1.2rem 5rem}.guide-categories a{min-width:160px}.guide-section{padding:6rem 1.2rem}.guide-section__head{display:block;margin-bottom:4rem}.guide-section h2{font-size:clamp(4rem,19vw,6rem);margin-bottom:2rem}.guide-grid{grid-template-columns:1fr}.guide-card{min-height:0}.guide-card img{height:330px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.preloader,.hero__media,.reveal{animation:none;transition:none}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.postcard-rail{scroll-behavior:auto}}

/* Resilient editorial layout and multi-page navigation */
.site-header,.guide-body .site-header{position:sticky;top:0}
.postcard__script{max-width:240px;font-size:1.7rem}
.postcard__actions{display:grid;gap:.85rem;margin-top:1.6rem}
.postcard__actions a{margin-top:0}

.ink-story h2{background:none;color:inherit}
.ink-story h2 .ink-char{color:rgba(17,17,15,.14);transition:color .16s ease}
.ink-story h2 .ink-char.is-inked{color:var(--ink)}
.ink-story h2 .ink-space{display:inline}

.editorial-story{display:grid;min-height:0;grid-template-columns:repeat(12,1fr);gap:7rem 2.5vw;padding:9rem 5vw 13rem}
.editorial-shot,.slow-note{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:auto;height:auto;margin:0}
.editorial-shot img{aspect-ratio:4/3;height:auto}
.editorial-shot--one{grid-column:1/8;grid-row:1}
.editorial-shot--two{grid-column:8/13;grid-row:1;margin-top:24rem}
.slow-note{grid-column:1/6;grid-row:2;min-height:470px;margin-top:-7rem}
.editorial-shot--three{grid-column:6/12;grid-row:2;margin-top:7rem}

.map-postcard{position:relative;width:min(1180px,90vw);margin:0 auto 8rem;padding:1.1rem 1.1rem 4.8rem;border:1px solid rgba(17,17,15,.35);background:#eee8db;box-shadow:12px 15px 0 rgba(17,17,15,.1);transform:rotate(-.35deg)}
.real-map{position:relative;z-index:1;width:100%;height:590px;overflow:hidden;background:#d7d2c7;filter:saturate(.66) contrast(.95)}
.map-loading{display:grid;min-height:100%;place-content:center;margin:0;padding:2rem;color:#3c3b37;font-size:.75rem;letter-spacing:.08em;line-height:1.6;text-align:center;text-transform:uppercase}
.map-loading a{text-underline-offset:.25em}
.map-postcard .map-hand{left:2.5rem;bottom:.9rem}
.map-stamp{position:absolute;z-index:3;right:2rem;bottom:1rem;display:grid;width:92px;height:48px;place-content:center;border:2px solid var(--red);border-radius:50%;color:var(--red);font-size:.48rem;font-weight:600;letter-spacing:.11em;text-align:center;transform:rotate(6deg)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#f3ede2;color:var(--ink)}
.leaflet-popup-content{font-family:var(--sans);font-size:.72rem;line-height:1.35}
.leaflet-control-attribution{font:9px var(--sans)}
.attraction-card--photo img,.guide-card img{object-fit:cover;object-position:center;background:#d8d0c3}

/* Leaflet geometry is kept locally so map tiles cannot escape their frame. */
.leaflet-container{position:relative;overflow:hidden;outline:0;-webkit-tap-highlight-color:transparent}
.leaflet-container .leaflet-pane,.leaflet-container .leaflet-map-pane,.leaflet-container .leaflet-tile-pane,.leaflet-container .leaflet-overlay-pane,.leaflet-container .leaflet-shadow-pane,.leaflet-container .leaflet-marker-pane,.leaflet-container .leaflet-tooltip-pane,.leaflet-container .leaflet-popup-pane{position:absolute;top:0;left:0}
.leaflet-container .leaflet-map-pane{z-index:400}
.leaflet-container .leaflet-tile-pane{z-index:200}
.leaflet-container .leaflet-overlay-pane{z-index:400}
.leaflet-container .leaflet-shadow-pane{z-index:500}
.leaflet-container .leaflet-marker-pane{z-index:600}
.leaflet-container .leaflet-tooltip-pane{z-index:650}
.leaflet-container .leaflet-popup-pane{z-index:700}
.leaflet-container .leaflet-tile,.leaflet-container .leaflet-marker-icon,.leaflet-container .leaflet-marker-shadow{position:absolute;top:0;left:0;max-width:none!important;max-height:none!important}
.leaflet-container .leaflet-tile{visibility:hidden}
.leaflet-container .leaflet-tile-loaded{visibility:inherit}
.leaflet-container svg{position:relative}
.leaflet-container .leaflet-zoom-animated{transform-origin:0 0}
.leaflet-container .leaflet-control{position:relative;z-index:800;pointer-events:auto}
.leaflet-container .leaflet-top,.leaflet-container .leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}
.leaflet-container .leaflet-top{top:0}.leaflet-container .leaflet-right{right:0}.leaflet-container .leaflet-bottom{bottom:0}.leaflet-container .leaflet-left{left:0}
.leaflet-container .leaflet-control-zoom{margin:12px;border:1px solid rgba(17,17,15,.35);background:#f3ede2}
.leaflet-container .leaflet-control-zoom a{display:grid;width:34px;height:34px;place-items:center;border-bottom:1px solid rgba(17,17,15,.2);color:var(--ink);font:500 20px/1 var(--sans);text-decoration:none}
.leaflet-container .leaflet-control-attribution{margin:0;padding:3px 6px;background:rgba(243,237,226,.86)}
.map-photo-marker-shell{overflow:visible!important;border:0!important;background:transparent!important}
.map-photo-marker{position:relative;display:block;width:46px;height:46px;border:3px solid #f4eee4;border-radius:50% 50% 50% 12%;background:#11110f;box-shadow:0 5px 14px rgba(17,17,15,.34);transform:rotate(-45deg);transition:transform .2s ease,filter .2s ease}
.map-photo-marker img{width:100%;height:100%;border-radius:50%;object-fit:cover;transform:rotate(45deg)}
.map-photo-marker b{position:absolute;top:9px;left:48px;min-width:max-content;max-width:155px;border:1px solid rgba(17,17,15,.25);border-radius:2px;background:rgba(244,238,228,.94);box-shadow:2px 3px 0 rgba(17,17,15,.13);padding:.36rem .48rem;color:#11110f;font:700 9px/1.15 var(--sans);letter-spacing:.035em;text-transform:uppercase;transform:rotate(45deg)}
.map-photo-marker-shell:hover,.map-photo-marker-shell:focus{z-index:1000!important}
.map-photo-marker-shell:hover .map-photo-marker,.map-photo-marker-shell:focus .map-photo-marker{filter:saturate(1.15);transform:rotate(-45deg) scale(1.08)}
.map-photo-marker-shell.is-hotel .map-photo-marker{border-color:var(--red);box-shadow:0 0 0 3px #f4eee4,0 7px 18px rgba(17,17,15,.38)}
.map-photo-marker-shell.is-hotel .map-photo-marker b{background:var(--red);color:white}
.map-popup-card{overflow:hidden;margin:-1px;width:210px;background:#f3ede2}
.map-popup-card>img{display:block;width:100%;height:118px;object-fit:cover}
.map-popup-card>div{display:grid;gap:.3rem;padding:.8rem .85rem .9rem}
.map-popup-card strong{font:500 1.35rem/.95 var(--serif)}
.map-popup-card span{font-size:.64rem;line-height:1.4}
.leaflet-popup-content .map-popup-card{margin:-1px}
.leaflet-popup-content-wrapper{overflow:hidden;padding:0}.leaflet-popup-content{margin:0}

@media(max-width:760px){
  .map-photo-marker{width:40px;height:40px}
  .map-photo-marker b{top:8px;left:41px;max-width:105px;padding:.3rem .38rem;font-size:7px}
}

.gallery-intro{position:relative;min-height:72vh;padding:8rem 8vw;background:var(--paper)}
.gallery-intro h1{margin:0;font:500 clamp(6rem,13vw,13rem)/.72 var(--serif);letter-spacing:-.055em;text-transform:uppercase}
.gallery-intro>p:not(.kicker){max-width:31rem;margin:4rem 0 0 auto;line-height:1.7}
.gallery-wall{display:grid;grid-template-columns:repeat(12,1fr);gap:7rem 2vw;padding:5rem 5vw 13rem;background:#c8bdb2}
.gallery-item{grid-column:span 4;margin:0}
.gallery-item--wide{grid-column:span 8}.gallery-item--portrait{grid-column:span 4;margin-top:10rem}.gallery-item--tall{grid-column:span 5}
.gallery-item img{width:100%;height:440px;object-fit:cover}.gallery-item--wide img{height:650px}.gallery-item--portrait img,.gallery-item--tall img{height:620px}
.gallery-note{grid-column:span 5;align-self:center;min-height:420px;padding:4rem;background:var(--green);color:white;transform:rotate(-2deg)}
.gallery-note span{font-size:.58rem;letter-spacing:.18em}.gallery-note p{margin:5rem 0 0;font:600 clamp(2.7rem,4.5vw,5rem)/.92 var(--script)}

@media (min-width:761px) and (max-width:1050px){
  .hero h1{font-size:clamp(4rem,8vw,6.2rem)}
  .hero__eyebrow{bottom:48%}
  .editorial-story{gap:5rem 2vw}
  .editorial-shot--two{margin-top:14rem}
  .slow-note{grid-column:1/7;margin-top:-2rem}
  .editorial-shot--three{grid-column:7/13;margin-top:5rem}
  .postcard{right:2vw}
}

@media(max-width:760px){
  .hero{min-height:520px}
  .hero h1{bottom:6.8rem;font-size:clamp(2.8rem,12vw,4rem);line-height:.86}
  .hero__eyebrow{top:auto;bottom:calc(6.8rem + clamp(9.5rem,38vw,12.5rem))}
  .editorial-story{display:grid;min-height:0;grid-template-columns:1fr;gap:5rem;padding:6rem 1rem 8rem}
  .editorial-shot--one,.editorial-shot--two,.slow-note,.editorial-shot--three{grid-column:1;grid-row:auto;width:auto;height:auto;margin:0}
  .editorial-shot--one{width:88%}.editorial-shot--two{width:78%;justify-self:end}.slow-note{width:92%;min-height:390px}.editorial-shot--three{width:84%;justify-self:center}
  .story-seal{top:-2.8rem}
  .map-postcard{width:92vw;margin-bottom:5rem;padding:.55rem .55rem 4.8rem;transform:none}
  .real-map{height:480px}
  .map-postcard .map-hand{left:1.2rem;bottom:1rem;font-size:1.35rem}
  .map-stamp{right:1rem}
  .gallery-intro{min-height:68vh;padding:6rem 1.2rem}
  .gallery-intro h1{font-size:clamp(5rem,23vw,7rem)}
  .gallery-intro>p:not(.kicker){margin-top:3rem}
  .gallery-wall{grid-template-columns:1fr 1fr;gap:4.5rem 1rem;padding:4rem 1rem 8rem}
  .gallery-item,.gallery-item--wide,.gallery-item--portrait,.gallery-item--tall,.gallery-note{grid-column:auto;margin:0}
  .gallery-item--wide,.gallery-note{grid-column:1/-1}
  .gallery-item img,.gallery-item--wide img,.gallery-item--portrait img,.gallery-item--tall img{height:55vw;min-height:220px}
  .gallery-item--wide img{height:75vw}
  .gallery-note{min-height:360px;padding:2.2rem}.gallery-note p{margin-top:4rem;font-size:3rem}
}

@media(max-width:460px) and (max-height:650px){
  .hero{height:calc(100svh - 88px);min-height:0}
  .hero h1{font-size:2.55rem;line-height:.82;bottom:5.4rem}
  .hero__eyebrow{bottom:calc(5.4rem + 7.2rem)}
  .hero__scroll{display:none}
}

/* Editorial ad-landing extensions */
picture.hero__media{display:block}
picture.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-breadcrumbs{position:absolute;z-index:3;top:1.25rem;left:5vw;display:flex;max-width:80vw;flex-wrap:wrap;align-items:center;gap:.5rem;color:white;font-size:.52rem;font-weight:700;letter-spacing:.11em;line-height:1.4;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.hero-breadcrumbs a{text-decoration:none}.hero-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:.25em}.hero-breadcrumbs i{font-style:normal;opacity:.65}.hero-breadcrumbs span{opacity:.82}
.facility-atlas{display:grid;grid-template-columns:minmax(220px,.6fr) 2fr;border-top:1px solid;border-bottom:1px solid;background:var(--paper-warm)}
.facility-atlas header{display:grid;align-content:center;border-right:1px solid;padding:2rem 2.5rem}
.facility-atlas header h2{max-width:270px;margin:.8rem 0 0;font:500 clamp(1.7rem,2.5vw,2.65rem)/.98 var(--serif);letter-spacing:-.025em}
.facility-atlas ul{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none}
.facility-atlas li{display:grid;min-height:112px;grid-template-rows:38px auto;place-items:center;align-content:center;gap:.7rem;border-right:1px solid rgba(17,17,15,.22);border-bottom:1px solid rgba(17,17,15,.22);padding:1rem;text-align:center}
.facility-atlas li:nth-child(5n){border-right:0}.facility-atlas li:nth-last-child(-n+5){border-bottom:0}
.facility-atlas svg{width:31px;height:31px;stroke:var(--ink);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.facility-atlas li span{max-width:110px;font-size:.58rem;font-weight:700;letter-spacing:.08em;line-height:1.25;text-transform:uppercase}
.route-board__origin span{font-size:.53rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.editorial-shot figcaption{margin-top:.65rem;font-size:.56rem;letter-spacing:.15em;text-transform:uppercase}
.hero__eyebrow{max-width:min(78vw,620px);line-height:1.45}
.journey-route{display:grid;width:min(1180px,90vw);grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:center;margin:0 auto 7rem}
.journey-route__copy h3{margin:0;font:500 clamp(3.5rem,6vw,6.8rem)/.86 var(--serif);letter-spacing:-.045em}
.journey-route__copy>p{max-width:31rem;margin:2rem 0;line-height:1.7}
.journey-route__links{display:flex;flex-wrap:wrap;gap:.7rem}
.journey-route__links a{display:grid;min-height:55px;place-items:center;border:1px solid;padding:.7rem 1rem;font-size:.62rem;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}
.route-board{overflow:hidden;border:1px solid rgba(17,17,15,.35);background:#f5f0e4;box-shadow:10px 13px 0 rgba(17,17,15,.11);transform:rotate(.7deg)}
.route-board__origin{padding:1.4rem 1.5rem;background:#d8a05d}
.route-board__origin strong{display:block;margin-top:.25rem;font:500 1.5rem var(--serif)}
.route-board__row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;min-height:86px;border-top:1px solid rgba(17,17,15,.2);padding:1rem 1.4rem}
.route-board__row strong,.route-board__row span{display:block}
.route-board__row strong{font:500 1.08rem var(--serif)}
.route-board__row span{margin-top:.15rem;font-size:.65rem;opacity:.68}
.route-board__row b,.route-board__row em{white-space:nowrap;font-size:.69rem;font-style:normal}
.route-board__row em{border-radius:999px;background:#dce4da;padding:.42rem .6rem}
.attraction-card--photo img{object-fit:cover}
.attraction-card--photo.attraction-card--brihadeeswarar picture{display:block;height:100%;background:#d8a05d}
.attraction-card--photo.attraction-card--brihadeeswarar img{object-fit:contain;object-position:center center;background:#d8a05d}
.closing__content p{max-width:34rem;margin:2rem 0 0;line-height:1.7}
.closing__content .closing-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.closing__content .closing-actions a{width:auto;min-width:175px;height:60px;margin:0;border:1px solid white;background:transparent;color:white}
.closing__content .closing-actions a:first-child{border-color:var(--red);background:var(--red)}
.whatsapp-link{display:flex!important;align-items:center;justify-content:center;gap:.65rem}
.whatsapp-logo{width:25px;height:25px;flex:none;stroke:none!important}
.whatsapp-logo .wa-green{fill:#25d366}.whatsapp-logo .wa-glyph{fill:#fff}
.mobile-dock .whatsapp-logo{width:29px;height:29px;fill:initial;stroke:none!important;stroke-width:0}
.journey__controls button{font-size:1.2rem;transition:background .2s ease,color .2s ease,transform .2s ease}
.journey__controls button:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.journey__controls button:focus-visible{outline:3px solid var(--red);outline-offset:3px}

.consent-scrim{position:fixed;z-index:9998;inset:0;background:rgba(17,17,15,.42);backdrop-filter:blur(5px)}
.consent-panel{position:fixed;z-index:9999;right:1rem;bottom:1rem;width:min(360px,calc(100vw - 2rem));border:1px solid rgba(17,17,15,.24);background:#f5f0e4;box-shadow:0 22px 70px rgba(0,0,0,.28);padding:1.2rem}
.consent-panel h2{margin:0;font:500 2rem/1 var(--serif)}
.consent-panel p{margin:.7rem 0 1rem;font-size:.78rem;line-height:1.5}
.consent-accept,.consent-save{width:100%;min-height:48px;border:0;background:var(--red);color:white;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.consent-manage{display:block;margin:.8rem auto 0;border:0;background:transparent;font-size:.72rem;text-decoration:underline;text-underline-offset:.2em}
.consent-settings{margin-top:.8rem;border-top:1px solid rgba(17,17,15,.2);padding-top:.5rem}
.consent-settings label{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.78rem}
.consent-settings small{display:block;opacity:.65}
.consent-save{margin-top:.6rem;background:var(--ink)}

@media(max-width:760px){
  body{padding-bottom:84px}
  .hero-breadcrumbs{top:.8rem;left:1.1rem;max-width:calc(100vw - 2.2rem);gap:.35rem;font-size:.43rem;letter-spacing:.07em}
  .facility-atlas{grid-template-columns:1fr}
  .facility-atlas header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-right:0;border-bottom:1px solid;padding:1.1rem 1.2rem}
  .facility-atlas header h2{max-width:210px;margin:0;text-align:right;font-size:1.5rem}
  .facility-atlas ul{grid-template-columns:repeat(5,1fr)}
  .facility-atlas li{min-height:94px;grid-template-rows:30px auto;gap:.45rem;padding:.65rem .25rem}
  .facility-atlas svg{width:27px;height:27px}
  .facility-atlas li span{max-width:68px;font-size:.48rem;letter-spacing:.045em}
  .journey-route{grid-template-columns:1fr;gap:3rem;width:auto;margin:0 1.2rem 5rem}
  .route-board__row{grid-template-columns:1fr auto}
  .route-board__row em{grid-column:1/-1;width:max-content;margin-left:auto}
  .closing__content .closing-actions{display:grid}
  .closing__content .closing-actions a{width:100%}
  .consent-panel{right:.6rem;bottom:.6rem;width:calc(100vw - 1.2rem)}
}
