:root{
  --blue:#4e7cff;
  --blue-deep:#0e5bda;
  --blue-night:#092a63;
  --ink:#151a22;
  --muted:#68707b;
  --paper:#f5f1e8;
  --cream:#ebe4d7;
  --white:#fff;
  --line:rgba(21,26,34,.16);
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  scrollbar-color:var(--blue-deep) var(--blue);
  scrollbar-width:auto;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
html::-webkit-scrollbar{width:14px}
html::-webkit-scrollbar-track{background:var(--blue)}
html::-webkit-scrollbar-thumb{background:var(--blue-deep);border-radius:999px;border:3px solid var(--blue)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.55;text-rendering:optimizeLegibility;overflow-x:hidden}
@media (pointer:fine){body{cursor:url("icons/cursor-blue.svg") 4 4,auto}a,button,summary{cursor:url("icons/cursor-blue-pointer.svg") 9 3,pointer}}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;padding:.8rem 1rem;border-radius:999px}.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:30;top:0;left:0;width:100%;height:92px;padding:0 clamp(20px,4vw,72px);display:grid;grid-template-columns:220px 1fr auto;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.22);transition:.3s ease}
.site-header--solid{position:relative;background:var(--blue-night)}
.brand{width:180px}.brand img{max-height:42px;object-fit:contain;object-position:left center}
.main-nav{display:flex;justify-content:center;gap:clamp(16px,2.2vw,36px);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.main-nav a{position:relative;padding:12px 0}.main-nav a:after{content:"";position:absolute;left:0;bottom:5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s}.main-nav a:hover:after,.main-nav a[aria-current="page"]:after{transform:scaleX(1);transform-origin:left}
.book--header{border:1px solid rgba(255,255,255,.8);border-radius:999px;padding:10px 17px;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.mobile-quick-nav{display:none}
.hero{position:relative;min-height:min(960px,100svh);height:100svh;color:#fff;background:var(--blue-night);overflow:hidden;display:flex;align-items:flex-end}
.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,33,.7) 0%,rgba(3,13,33,.3) 47%,rgba(3,13,33,.06) 76%),linear-gradient(0deg,rgba(3,13,33,.55) 0%,transparent 48%)}
.hero__content{position:relative;z-index:2;width:min(760px,86vw);margin:0 0 clamp(100px,12vh,155px) clamp(22px,7vw,120px)}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.73rem;font-weight:700;margin:0 0 1.1rem}.hero h1,.area-hero h1{font-family:var(--serif);font-size:clamp(3rem,6.6vw,7.2rem);line-height:.9;font-weight:500;letter-spacing:-.04em;margin:0;max-width:12ch}.hero__lede{font-size:clamp(1rem,1.4vw,1.3rem);max-width:620px;margin:1.6rem 0 2rem;color:rgba(255,255,255,.9)}
.hero__actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button--light{background:#fff;color:var(--ink)}.button--ghost{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(0,0,0,.1)}.button--blue{background:var(--blue-deep);color:#fff}
.hero__note{position:absolute;z-index:2;right:clamp(22px,4vw,72px);bottom:28px;margin:0;font-family:var(--serif);font-style:italic;font-size:.96rem}.hero__note span{margin:0 .5em}
.section{padding:clamp(76px,10vw,160px) clamp(22px,7vw,120px)}.section--cream{background:var(--cream)}.section--blue{background:var(--blue-deep);color:#fff}.section--ink{background:var(--ink);color:#fff}
.intro{display:grid;grid-template-columns:.15fr .95fr .75fr;gap:clamp(28px,5vw,80px);align-items:start}.intro__number{font-family:var(--serif);font-size:1.1rem;color:var(--blue-deep)}.intro h2,.section-heading h2,.bathroom-callout h2,.hosts h2,.plan h2,.garden-band h2,.booking h2,.area-intro h2{font-family:var(--serif);font-size:clamp(2.7rem,5vw,5.5rem);line-height:.95;font-weight:500;letter-spacing:-.04em;margin:0}.intro__copy{font-size:1.08rem;color:#343a43;padding-top:2.2rem}.intro__copy p:first-child{font-size:1.28rem;color:var(--ink)}
.section-heading{display:grid;grid-template-columns:1.2fr .6fr;column-gap:5vw;align-items:end;margin-bottom:clamp(50px,8vw,110px)}.section-heading .kicker{grid-column:1/-1}.section-heading>p:last-child{max-width:450px;color:var(--muted);font-size:1.05rem}.section-heading--split>p:last-child{align-self:end}
.room-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,5vw,90px);align-items:center;margin-bottom:clamp(90px,12vw,180px)}.room-feature--red{grid-template-columns:.7fr 1.3fr}.photo-frame{position:relative;overflow:hidden;background:#ddd}.photo-frame:before{content:"";display:block;padding-top:64%}.photo-frame button,.photo-frame img{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:none}.photo-frame img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.1,1)}.photo-frame:hover img{transform:scale(1.025)}.room-feature__text{position:relative;padding:5vw 0}.room-feature__text .room-index{position:absolute;right:0;top:0;font-family:var(--serif);font-size:clamp(4rem,8vw,9rem);line-height:1;color:rgba(78,124,255,.12)}.room-feature__text h3{font-family:var(--serif);font-size:clamp(2.1rem,3.4vw,4rem);line-height:1;font-weight:500;margin:.4rem 0 1.3rem}.room-feature__text p:not(.kicker){color:var(--muted);font-size:1.05rem}.text-link{border:0;background:none;padding:0;margin-top:1rem;border-bottom:1px solid var(--ink);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.text-link span{color:var(--blue-deep)}
.bathroom-callout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,110px);align-items:center}.kicker--light{color:#bcd1ff}.bathroom-callout__copy>p:not(.kicker){max-width:620px;font-size:1.08rem;color:rgba(255,255,255,.88)}.bathroom-callout .small{font-size:.9rem!important;opacity:.8}.bathroom-callout__gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;align-items:end}.bathroom-callout__gallery img{height:480px;object-fit:cover}.bathroom-callout__gallery img+img{height:360px}
.editorial-grid{display:grid;grid-template-columns:1.4fr .8fr;grid-template-rows:1fr 1fr;gap:14px}.editorial-grid figure{margin:0;position:relative;overflow:hidden;min-height:320px}.editorial-grid__large{grid-row:1/3;min-height:680px!important}.editorial-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.editorial-grid figure:hover img{transform:scale(1.02)}.editorial-grid figcaption{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:13px 15px;display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.editorial-grid figcaption span{color:var(--muted)}
.amenities{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenities div{min-height:120px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.amenities span{font-family:var(--serif);color:var(--blue-deep);font-size:.9rem}.amenities strong{font-size:.95rem;font-weight:600}
.hosts{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(45px,7vw,120px);align-items:center}.hosts__portrait{position:relative}.hosts__portrait:before{content:"";position:absolute;width:46%;height:42%;right:-4%;bottom:-7%;border:1px solid rgba(78,124,255,.55);z-index:0}.hosts__portrait img{position:relative;z-index:1}.hosts__copy{max-width:660px}.hosts__lead{font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.3;color:#fff}.hosts__copy>p:not(.kicker):not(.hosts__lead):not(.signature){color:rgba(255,255,255,.74)}.signature{font-family:var(--serif);font-style:italic;color:#9dbbff;font-size:1.4rem}
.plan{display:grid;grid-template-columns:1fr .8fr;gap:7vw;align-items:center}.floor-cards{display:grid;grid-template-columns:1fr 1fr;margin-top:44px;border-top:1px solid var(--line)}.floor-cards article{padding:25px 30px 0 0}.floor-cards article+article{border-left:1px solid var(--line);padding-left:30px}.floor-cards span{color:var(--blue-deep);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.floor-cards h3{font-family:var(--serif);font-size:1.8rem;font-weight:500;margin:.45rem 0}.floor-cards p{color:var(--muted)}.rough-plan{background:#fff;padding:22px;border:1px solid rgba(21,26,34,.1)}.rough-plan summary{font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;color:var(--blue-deep)}.rough-plan img{margin-top:18px}.rough-plan p{font-size:.8rem;color:var(--muted);margin-bottom:0}
.garden-band{position:relative;min-height:680px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.garden-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.garden-band:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,26,40,.72),rgba(7,26,40,.05) 65%)}.garden-band>div{position:relative;z-index:2;padding:80px clamp(22px,7vw,120px)}.garden-band h2{margin-bottom:28px}
.booking{display:grid;grid-template-columns:1fr .75fr;gap:8vw;align-items:end}.booking__copy{max-width:620px}.booking__copy p{font-size:1.08rem;color:var(--muted);margin:0 0 28px}
.site-footer{background:var(--blue-night);color:#fff;padding:65px clamp(22px,7vw,120px) 30px;display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px;align-items:start;font-size:.88rem}.site-footer__brand img{width:180px;margin-bottom:12px}.site-footer a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:4px}.site-footer__small{grid-column:1/-1;padding-top:35px;border-top:1px solid rgba(255,255,255,.18);opacity:.6}
.lightbox{width:min(1120px,94vw);max-width:none;border:0;padding:0;background:transparent}.lightbox::backdrop{background:rgba(5,13,25,.88);backdrop-filter:blur(5px)}.lightbox img{max-height:88vh;object-fit:contain}.lightbox__close{position:fixed;right:20px;top:20px;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.35);color:#fff;border-radius:50%;font-size:2rem;line-height:1}
.area-hero{position:relative;height:75vh;min-height:560px;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.area-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.area-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,20,45,.72),rgba(5,20,45,.12))}.area-hero>div{position:relative;z-index:2;padding:0 clamp(22px,7vw,120px) 80px;max-width:900px}.area-hero>div>p:last-child{max-width:650px;font-size:1.1rem}.area-intro{max-width:1100px}.area-intro>p:not(.kicker){max-width:720px;color:var(--muted);font-size:1.12rem}.area-intro .button{margin-top:20px}.area-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.area-cards article{background:var(--cream);padding:50px}.area-cards span{color:var(--blue-deep);font-family:var(--serif)}.area-cards h3{font-family:var(--serif);font-size:2.2rem;font-weight:500;margin:.5rem 0}.area-cards p{color:var(--muted)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.photo-frame img,.editorial-grid img,.button{transition:none}}
@media (max-width:900px){.site-header{height:66px;padding:0 18px;grid-template-columns:1fr auto}.brand{width:130px}.main-nav{display:none}.book--header{padding:8px 13px}.mobile-quick-nav{display:grid;grid-template-columns:1fr 1fr 1.15fr;position:absolute;z-index:29;top:66px;left:0;width:100%;height:44px;background:rgba(7,25,55,.88);backdrop-filter:blur(10px);color:#fff;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.18)}.mobile-quick-nav a{display:flex;align-items:center;justify-content:center;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;border-right:1px solid rgba(255,255,255,.18)}.mobile-quick-nav .quick-book{background:var(--blue-deep)}.hero{min-height:760px;height:100svh}.hero__image{object-position:62% center}.hero__content{margin:0 22px 98px;width:auto}.hero h1{font-size:clamp(3.1rem,14vw,5.2rem);max-width:9ch}.hero__lede{font-size:1rem;max-width:90%}.hero__note{left:22px;right:auto;bottom:24px;font-size:.82rem}.intro,.section-heading,.room-feature,.room-feature--red,.bathroom-callout,.hosts,.plan,.booking{grid-template-columns:1fr}.intro__number{display:none}.intro__copy{padding-top:0}.section-heading{align-items:start}.section-heading .kicker{grid-column:auto}.section-heading>p:last-child{margin-top:15px}.room-feature--red .room-feature__text{order:2}.room-feature{margin-bottom:90px}.bathroom-callout__gallery img{height:360px}.bathroom-callout__gallery img+img{height:280px}.amenities{grid-template-columns:repeat(2,1fr)}.hosts__portrait{max-width:680px}.floor-cards{grid-template-columns:1fr}.floor-cards article+article{border-left:0;border-top:1px solid var(--line);padding-left:0;margin-top:25px}.garden-band{min-height:580px}.booking{align-items:start}.site-footer{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}.area-hero{height:68vh}.area-cards{grid-template-columns:1fr}}
@media (max-width:600px){.section{padding:72px 20px}.hero__actions{display:grid;grid-template-columns:1fr}.button{width:100%}.intro h2,.section-heading h2,.bathroom-callout h2,.hosts h2,.plan h2,.garden-band h2,.booking h2,.area-intro h2{font-size:clamp(2.55rem,13vw,4.2rem)}.room-feature__text{padding:12px 0}.room-feature__media{order:-1}.room-feature--red .room-feature__media{order:-1}.bathroom-callout__gallery{grid-template-columns:1fr}.bathroom-callout__gallery img,.bathroom-callout__gallery img+img{height:300px}.editorial-grid{grid-template-columns:1fr;grid-template-rows:none}.editorial-grid__large{grid-row:auto;min-height:440px!important}.editorial-grid figure{min-height:320px}.editorial-grid figcaption{flex-direction:column}.amenities{grid-template-columns:1fr}.amenities div{min-height:95px}.hosts{padding-top:85px}.plan{gap:45px}.garden-band>div{padding:60px 20px}.site-footer{grid-template-columns:1fr}.site-footer__brand{grid-column:auto}.area-hero>div{padding:0 20px 55px}.area-cards article{padding:38px 20px}}

/* V2 — room details, practical notes and booking choices */
.room-facts{display:flex;flex-wrap:wrap;gap:8px;margin:1.25rem 0 .2rem}
.room-facts span{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.42)}
.house-rules{border-top:1px solid var(--line)}
.rules-grid{display:grid;grid-template-columns:1.05fr .65fr 1.3fr;gap:1px;background:var(--line);margin-top:55px}
.rules-grid article{background:var(--paper);padding:34px;min-height:280px}
.rules-grid span{font-family:var(--serif);color:var(--blue-deep)}
.rules-grid h3{font-family:var(--serif);font-size:2rem;line-height:1.05;font-weight:500;margin:2.2rem 0 1rem}
.rules-grid p{color:var(--muted);margin:0}
.finished-plan{margin:0;background:#fff;border:1px solid rgba(21,26,34,.1);padding:18px}
.finished-plan img{aspect-ratio:1/1;object-fit:contain;background:#fff}
.finished-plan figcaption{font-size:.78rem;color:var(--muted);padding:12px 4px 2px}
.booking-choice{border-left:4px solid var(--blue-deep);background:#fff;padding:28px 30px;margin:26px 0}
.booking-choice h3{font-family:var(--serif);font-size:1.85rem;font-weight:500;margin:0 0 12px}
.booking-choice p{font-size:.98rem!important;margin-bottom:16px!important}
.booking-choice ul{padding-left:1.2rem;margin:0}
.booking-choice li{margin:.7rem 0;color:#343a43}
.booking-choice a{color:var(--blue-deep);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.booking__platform-note{font-size:.9rem!important;font-style:italic}
@media (max-width:900px){.rules-grid{grid-template-columns:1fr}.rules-grid article{min-height:0}.finished-plan{max-width:680px}.booking-choice{padding:24px}}
@media (max-width:600px){.rules-grid{margin-top:35px}.rules-grid article{padding:28px 22px}.booking-choice{margin:22px 0;padding:22px 20px}.room-facts{gap:6px}.room-facts span{font-size:.68rem}}

/* V3 — bilingual, geographic SEO and professional-stay additions */
p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
.header-actions{display:flex;align-items:center;gap:10px}
.language-link{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.12em;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.language-link:hover{background:rgba(255,255,255,.16)}
.language-suggestion{position:fixed;z-index:100;right:18px;bottom:18px;display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;background:rgba(255,255,255,.96);color:var(--ink);border:1px solid rgba(14,91,218,.22);box-shadow:0 14px 45px rgba(9,42,99,.18);backdrop-filter:blur(12px);font-size:.82rem}
.language-suggestion[hidden]{display:none}
.language-suggestion a{color:var(--blue-deep);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.language-suggestion button{margin-left:auto;border:0;background:transparent;font-size:1.3rem;line-height:1;padding:3px 5px}
.professional-teaser{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}
.professional-teaser__copy{max-width:680px}
.professional-teaser__copy>p{margin-top:0;color:rgba(255,255,255,.86);font-size:1.08rem}
.professional-teaser__copy .button{margin-top:18px}
.location-section{border-top:1px solid var(--line)}
.location-copy{max-width:980px;font-size:1.08rem;color:var(--muted);margin:45px 0 25px}
.location-chips{display:flex;flex-wrap:wrap;gap:9px}
.location-chips span{border:1px solid rgba(14,91,218,.22);background:rgba(78,124,255,.07);padding:8px 12px;border-radius:999px;font-size:.76rem;font-weight:700}
.professional-stay{display:grid;grid-template-columns:.85fr 1fr;gap:6vw;align-items:start}
.professional-stay__copy p{color:rgba(255,255,255,.86);font-size:1.06rem}
.professional-stay__copy a,.rail-project-note a{color:#fff;text-decoration:underline;text-underline-offset:4px;font-weight:800}
.rail-project-note{grid-column:1/-1;margin-top:25px;padding:35px;border:1px solid rgba(255,255,255,.28);background:rgba(9,42,99,.28);max-width:1100px}
.rail-project-note h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;font-weight:500;margin:.4rem 0 1rem}
.rail-project-note p:not(.kicker){max-width:900px;color:rgba(255,255,255,.82)}
@media (max-width:900px){
  .site-header{grid-template-columns:1fr auto}
  .header-actions{gap:7px}
  .language-link{min-width:38px;height:38px}
  .mobile-quick-nav{grid-template-columns:1fr 1fr 1.15fr .58fr}
  .professional-teaser,.professional-stay{grid-template-columns:1fr}
  .rail-project-note{grid-column:auto}
}
@media (max-width:600px){
  .book--header{padding:8px 10px;font-size:.7rem}
  .language-link{min-width:34px;height:34px;font-size:.66rem}
  .mobile-quick-nav a{font-size:.62rem;letter-spacing:.05em}
  .professional-teaser,.professional-stay{padding-top:78px;padding-bottom:78px}
  .rail-project-note{padding:26px 20px}
  .language-suggestion{left:12px;right:12px;bottom:12px;max-width:none}
}
