/* Glassy Lodging · site.css
   Tokens: claude/Glassy_Lodging_Brand_Guidelines.md v1.1 (binding). Do not hand-type hex values below the :root block. */

@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jost-latin-500-normal.woff2) format("woff2")}

:root{
  --olive:#4d4f2f; --moss:#737840; --copper:#a66a12; --copper-deep:#8a5a10;
  --paper:#f7f6f3; --mist:#e2dcd3; --greige:#ccc2b2; --tan:#d0ae8e;
  --espresso:#302b29; --stone:#655f57; --white:#fff; --scrim:rgba(48,43,41,.38);
  --rule:var(--greige);
  --s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:32px; --s6:48px; --s7:64px; --s8:96px;
  --display:"Cormorant Garamond",Georgia,serif;
  --sans:Jost,"Century Gothic",Arial,sans-serif;
  --max:1200px; --gutter:24px;
}
@media (min-width:768px){:root{--gutter:48px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--espresso);font:400 16px/1.65 var(--sans)}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:var(--olive);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--copper-deep)}
:focus-visible{outline:2px solid var(--copper-deep);outline-offset:3px}
p{margin:0 0 var(--s3)}
ul{margin:0;padding:0;list-style:none}

.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--s3);top:var(--s3);background:var(--paper);padding:var(--s2) var(--s3);z-index:10}

.wrap{max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--s7) 0}
@media (min-width:768px){.section{padding:var(--s8) 0}}
.section--mist{background:var(--mist)}
.section--tight{padding-top:0}

/* Type scale (web column of the brand table; mobile steps down, never below 26px for Cormorant) */
.eyebrow{font:400 12px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--copper-deep);margin:0 0 var(--s2)}
.label{font:500 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin:0}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--olive);margin:0;letter-spacing:0}
.display{font-size:40px;line-height:1.08}
.headline{font-size:32px;line-height:1.15}
.title{font-size:26px;line-height:1.2;font-weight:500}
@media (min-width:768px){.display{font-size:64px}.headline{font-size:44px}.title{font-size:30px}}
.subhead{font-size:18px;line-height:1.55;color:var(--stone);margin:var(--s3) 0 0;max-width:36em}
.body-sm{font-size:14px}
.caption{font-size:12px;color:var(--stone)}
.lead{max-width:38em}
.prose{max-width:38em}
.prose p:last-child{margin-bottom:0}
em.name,.name{font-style:italic}

.rule-copper{display:block;width:40px;height:1px;background:var(--copper);border:0;margin:0 0 var(--s4)}
.hairline{border:0;border-top:1px solid var(--rule);margin:0}
.head-block{margin-bottom:var(--s6)}
.head-block .title,.head-block .headline{margin-top:var(--s2)}

/* Buttons: rectangles, no radius, no shadow */
.btn{display:inline-block;font:500 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:16px 24px;border:1px solid var(--olive);color:var(--olive);background:transparent}
.btn:hover{background:var(--olive);color:var(--paper)}
.btn--solid{background:var(--olive);color:var(--paper)}
.btn--solid:hover{background:var(--espresso);border-color:var(--espresso);color:var(--paper)}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin-top:var(--s5)}
.price{font:300 15px/1.4 var(--sans);letter-spacing:.04em;color:var(--espresso);margin:var(--s4) 0 0}
.price strong{font-weight:500}

/* Header: logo Version B on paper, never on a photo */
.site-header{background:var(--paper);border-bottom:1px solid var(--rule)}
.site-header .wrap{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding-top:var(--s4);padding-bottom:var(--s3)}
.brand{display:block;padding:8px}
.brand img{width:140px;height:auto}
.nav{display:flex;gap:var(--s4);align-items:center;flex-wrap:wrap;justify-content:center}
.nav a{font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--espresso);text-decoration:none;padding:12px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--olive);border-bottom-color:var(--copper)}
.nav .lang{color:var(--stone)}
@media (min-width:900px){
  .site-header .wrap{flex-direction:row;justify-content:space-between;padding-top:var(--s3);padding-bottom:var(--s3)}
  .brand img{width:150px}
  .nav{gap:var(--s5)}
}

/* Hero: paper panel + photo (cover layout from the brand slide set) */
.hero{display:grid;grid-template-columns:1fr;background:var(--paper)}
.hero__media{order:-1}
.hero__media img{width:100%;height:56vw;max-height:72vh;object-fit:cover}
.hero__text{padding:var(--s6) var(--gutter) var(--s7)}
@media (min-width:900px){
  .hero{grid-template-columns:5fr 7fr;min-height:620px}
  .hero__media{order:0}
  .hero__media img{height:100%;max-height:none;min-height:620px}
  .hero__text{align-self:center;padding:var(--s7) var(--s6) var(--s7) max(var(--gutter),calc((100vw - var(--max))/2))}
}

/* Key facts */
.facts{display:grid;grid-template-columns:1fr;gap:var(--s5)}
@media (min-width:768px){.facts{grid-template-columns:repeat(3,1fr);gap:var(--s6)}}
.fact{border-top:1px solid var(--rule);padding-top:var(--s4)}
.numeral{font:300 40px/1 var(--sans);color:var(--copper);margin:0 0 var(--s3);letter-spacing:-.01em}
.fact p{margin:var(--s2) 0 0}

/* Two-column text + photo */
.split{display:grid;gap:var(--s5);align-items:center}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:var(--s7)}.split--rev>:first-child{order:2}}

/* Photo rows on the grid */
.photo-row{display:grid;gap:var(--s3)}
@media (min-width:768px){.photo-row--2{grid-template-columns:1fr 1fr}.photo-row--3{grid-template-columns:repeat(3,1fr)}.photo-row--2-1{grid-template-columns:2fr 1fr}}
.photo-row img{width:100%;height:100%;object-fit:cover}
.photo-row figure{margin:0}
.photo-row picture{height:100%}
figcaption{font-size:12px;color:var(--stone);margin-top:var(--s2)}
.ratio-3x2 img{aspect-ratio:3/2}
.ratio-4x5 img{aspect-ratio:3/2}
@media (min-width:768px){.ratio-4x5 img{aspect-ratio:4/5}}
.bleed img{width:100%;max-height:78vh;object-fit:cover}

/* Reviews */
.quotes{display:grid;gap:var(--s5)}
@media (min-width:900px){.quotes{grid-template-columns:repeat(3,1fr);gap:var(--s6)}}
.quote{margin:0;border-top:1px solid var(--rule);padding-top:var(--s4)}
.quote blockquote{margin:0;font:italic 400 26px/1.3 var(--display);color:var(--espresso)}
.quote figcaption{margin-top:var(--s3);font:500 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}

/* Definition lists / fact tables: hairline rows, no vertical lines */
.specs{display:grid;grid-template-columns:1fr;margin:0}
.specs div{display:grid;grid-template-columns:1fr;gap:var(--s1);padding:var(--s3) 0;border-top:1px solid var(--rule)}
.specs div:last-child{border-bottom:1px solid var(--rule)}
@media (min-width:600px){.specs div{grid-template-columns:200px 1fr;gap:var(--s4)}}
.specs dt{font:500 11px/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
.specs dd{margin:0}

.dash li{position:relative;padding-left:24px;margin:0 0 var(--s2)}
.dash li::before{content:"–";position:absolute;left:0;color:var(--copper)}
.cols-2{columns:1}
@media (min-width:768px){.cols-2{columns:2;column-gap:var(--s6)}.cols-2 li{break-inside:avoid}}

/* Extras */
.extras{display:grid;gap:0}
.extra{display:grid;grid-template-columns:1fr auto;gap:var(--s2) var(--s4);padding:var(--s4) 0;border-top:1px solid var(--rule)}
.extra:last-child{border-bottom:1px solid var(--rule)}
.extra h3{font:500 16px/1.4 var(--sans);color:var(--olive);letter-spacing:0}
.extra p{grid-column:1/-1;margin:0;color:var(--stone);font-size:15px}
.extra .amount{font:300 22px/1 var(--sans);color:var(--copper-deep);white-space:nowrap}

/* Press */
.press{display:grid;gap:var(--s4)}
@media (min-width:768px){.press{grid-template-columns:1fr 1fr;gap:var(--s6)}}
.press li{border-top:1px solid var(--rule);padding-top:var(--s3)}
.press .source{font:500 13px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--olive)}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
@media (min-width:900px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}}
.gallery>*{min-width:0;overflow:hidden}
.gallery a{display:block}
.gallery a{aspect-ratio:1/1}
.gallery picture,.gallery img{width:100%;height:100%}
.gallery img{object-fit:cover}
.gallery .wide{grid-column:span 2;aspect-ratio:auto}

/* CTA band with one facet-line motif, cropped by the edge */
.cta{position:relative;overflow:hidden;background:var(--mist)}
.cta .wrap{position:relative;z-index:1}
.cta .facet{position:absolute;right:-60px;top:-40px;width:420px;height:auto;z-index:0;pointer-events:none}
@media (max-width:767px){.cta .facet{width:220px;right:-110px;top:auto;bottom:-150px}}

/* Breadcrumb */
.crumbs{font-size:12px;color:var(--stone);padding-top:var(--s4)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;gap:var(--s2);flex-wrap:wrap}
.crumbs li+li::before{content:"/";margin-right:var(--s2);color:var(--greige)}
.crumbs a{color:var(--stone)}

/* Page intro (non-home pages) */
.intro{padding:var(--s6) 0 var(--s6)}
@media (min-width:768px){.intro{padding:var(--s7) 0 var(--s7)}}

/* Footer */
.site-footer{background:var(--paper);border-top:1px solid var(--rule);padding:var(--s7) 0 var(--s5);font-size:14px}
.footer-grid{display:grid;gap:var(--s5)}
@media (min-width:900px){.footer-grid{grid-template-columns:280px 1fr 1fr;gap:var(--s6)}}
.footer-logo img{width:240px;height:auto}
.site-footer h2{font:500 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin:0 0 var(--s3)}
.site-footer li{margin-bottom:var(--s2)}
.site-footer a{color:var(--espresso)}
.legal{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--rule);color:var(--stone);font-size:12px;line-height:1.7}
.legal p{margin:0}

/* Preview-only marker (remove before launch) */
.flag{background:var(--tan);color:var(--espresso);font:500 11px/1.4 var(--sans);letter-spacing:.08em;padding:2px 6px;text-transform:uppercase;vertical-align:middle}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.prose .headline+p,.prose .title+p,.prose .display+p{margin-top:var(--s4)}
.head-block .caption{margin-top:var(--s2)}
.hero__media img{object-position:50% 35%}
.split--top{align-items:start}
.fig{margin:0}
.mt-3{margin-top:var(--s3)}.mt-4{margin-top:var(--s4)}.mt-5{margin-top:var(--s5)}
.gallery .wide{aspect-ratio:2/1}
@media (min-width:900px){.gallery .wide{aspect-ratio:auto;position:relative}.gallery .wide picture{position:absolute;inset:0}}

/* Form (radius 2px allowed for form fields only) */
.form-layout{display:grid;gap:var(--s6)}
@media (min-width:900px){.form-layout{grid-template-columns:7fr 5fr;gap:var(--s7)}}
.form{margin-top:var(--s4);display:grid;gap:var(--s4)}
.field{display:grid;gap:var(--s2);margin:0;border:0;padding:0;min-width:0}
.field label,.field legend{font:500 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--stone);padding:0}
.field .opt{text-transform:none;letter-spacing:0;font-weight:400}
.field-row{display:grid;gap:var(--s4)}
@media (min-width:600px){.field-row{grid-template-columns:1fr 1fr}}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=date],.form input[type=number],.form textarea{
  width:100%;font:400 16px/1.4 var(--sans);color:var(--espresso);background:var(--white);border:1px solid var(--greige);border-radius:2px;padding:12px 14px;min-height:48px}
.form textarea{resize:vertical}
.form input:focus,.form textarea:focus{outline:2px solid var(--copper-deep);outline-offset:0;border-color:var(--copper-deep)}
.choices{display:flex;gap:var(--s4);flex-wrap:wrap}
.choices label,.consent label{font:400 16px/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--espresso);display:flex;gap:var(--s2);align-items:flex-start}
.consent label{font-size:14px}
.form input[type=radio],.form input[type=checkbox]{accent-color:var(--olive);width:20px;height:20px;margin:2px 0 0;flex:none}
.form .btn{justify-self:start;cursor:pointer}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.steps{background:var(--mist);padding:var(--s5) var(--s4)}
@media (min-width:900px){.steps{padding:var(--s6) var(--s5);align-self:start}}
.steps-list{list-style:none;margin:var(--s4) 0;padding:0}
.steps-list li{display:grid;grid-template-columns:40px 1fr;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--greige)}
.steps-list .numeral{font-size:28px;margin:0}
.steps-list p{margin:0}

/* FAQ: native details, no script */
.faq{border-bottom:1px solid var(--rule)}
.faq-item{border-top:1px solid var(--rule)}
.faq-item summary{cursor:pointer;list-style:none;padding:var(--s3) 40px var(--s3) 0;position:relative;font:500 16px/1.5 var(--sans);color:var(--olive)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:12px;font:300 24px/1 var(--sans);color:var(--copper)}
.faq-item[open] summary::after{content:"–"}
.faq-item>div{padding:0 0 var(--s3)}
.faq-item p{margin:0;max-width:40em}
.legal-text h2{margin:var(--s5) 0 var(--s3)}
.legal-text h2:first-child{margin-top:0}
.legal-text .specs{margin-bottom:var(--s4)}
.wrap.prose{max-width:calc(var(--max) + 2*var(--gutter))}
.wrap.prose>*{max-width:38em}
.map{display:block;position:relative;margin-top:var(--s4);border:1px solid var(--greige);background:var(--paper);text-decoration:none}
.map img{width:100%;height:auto}
.map__cta{position:absolute;left:var(--s3);bottom:var(--s3);background:var(--paper);border:1px solid var(--olive);color:var(--olive);font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:12px 16px}
.map:hover .map__cta{background:var(--olive);color:var(--paper)}
.bleed--soft img{max-height:70vh}
/* QA fixes */
.ratio-3x2 img,.ratio-4x5 img{width:100%;object-fit:cover}
.section--mist .eyebrow,.cta .eyebrow,.steps .eyebrow{color:var(--olive)} /* copper-deep on mist = 4.4:1, below WCAG AA 4.5 */
@media (max-width:599px){.map__cta{position:static;display:block;text-align:center;border-width:1px 0 0}}

/* ===== Premium home layout (v2) ===== */
.hero-full{position:relative;height:calc(100svh - var(--header-h,108px));min-height:520px;overflow:hidden;background:var(--mist)}
@media (max-width:899px){.hero-full{--header-h:150px;height:calc(100svh - 150px);min-height:460px}}
.hero-full picture,.hero-full img{width:100%;height:100%}
.hero-full img{object-fit:cover;object-position:50% 32%}
@media (prefers-reduced-motion:no-preference){.hero-full img{animation:settle 2.8s cubic-bezier(.2,.6,.2,1) both}}
@keyframes settle{from{transform:scale(1.05);opacity:.6}to{transform:none;opacity:1}}
.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);color:var(--white);font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:12px 16px 40px;text-shadow:0 0 12px rgba(48,43,41,.45)}
.scroll-cue::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:28px;background:var(--white)}
.scroll-cue:hover{color:var(--white)}

.statement{text-align:center;padding:var(--s8) 0}
@media (min-width:900px){.statement{padding:128px 0 112px}}
.statement .display{max-width:12em;margin:0 auto}
.rule-copper--center{margin-left:auto;margin-right:auto}
.statement__lead{font:400 20px/1.6 var(--sans);color:var(--espresso);max-width:30em;margin:var(--s4) auto 0}
.statement__facts{font:400 12px/1.8 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin:var(--s5) auto 0}
.statement__facts span{color:var(--copper);margin:0 .5em}
.actions--center{justify-content:center}

.story{display:grid;grid-template-columns:1fr;align-items:center;max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;padding:var(--s7) var(--gutter)}
.story__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.story__text{padding:var(--s5) 0 0;max-width:30em}
.story__text .headline{margin-top:var(--s2)}
.story__text p{margin-top:var(--s4)}
@media (min-width:900px){
  .story{grid-template-columns:7fr 5fr;gap:var(--s7);padding:var(--s8) var(--gutter)}
  .story__text{padding:0}
  .story--rev{grid-template-columns:5fr 7fr}
  .story--rev .story__media{order:2}
}
.story--rev .story__media img[src*="portrait"]{aspect-ratio:4/5}
.more{display:inline-block;margin-top:var(--s3);font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--olive);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--copper)}
.more::after{content:" →";letter-spacing:0}
.more:hover{color:var(--copper-deep)}

.band{margin:var(--s7) 0 0}
.band img{width:100%;height:78vh;min-height:360px;object-fit:cover}

.quote-big{text-align:center;padding:var(--s8) 0}
.quote-big figure{margin:0}
.quote-big>.wrap>figure blockquote{margin:0 auto;max-width:18em;font:italic 400 34px/1.25 var(--display);color:var(--olive)}
@media (min-width:900px){.quote-big>.wrap>figure blockquote{font-size:44px}}
.quote-big figcaption{margin-top:var(--s4);font:500 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
.quote-pair{display:grid;gap:var(--s5);max-width:900px;margin:var(--s7) auto 0}
@media (min-width:768px){.quote-pair{grid-template-columns:1fr 1fr;gap:var(--s6)}}
.quote-pair blockquote{margin:0;font:italic 400 26px/1.3 var(--display);color:var(--espresso)}
.quote-pair figure{border-top:1px solid var(--rule);padding-top:var(--s4)}

.about-short{text-align:center;padding:var(--s7) 0 var(--s8)}
.about-short p{max-width:36em;margin:var(--s4) auto 0}
.about-short .title{margin-top:var(--s2)}
.press-line{display:flex;gap:var(--s3);justify-content:center;align-items:center;flex-wrap:wrap}
.press-line .label{margin-right:var(--s2)}
.press-line a{font:400 15px/1.4 var(--sans);letter-spacing:.06em}

.cta--center{text-align:center}
.cta--center .subhead{margin-left:auto;margin-right:auto}

/* Variant A: statement inside the image on a flat scrim */
.hero-full--text::after{content:"";position:absolute;inset:0;background:var(--scrim)}
.hero-full__overlay{position:absolute;inset:auto 0 0 0;z-index:1;padding:0 var(--gutter) 96px;max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;color:var(--white)}
.hero-full__overlay .display{color:var(--white);max-width:11em}
.hero-full__overlay .eyebrow{color:var(--white)}
.hero-full__overlay p{color:var(--white)}
.hero-full--text .scroll-cue{z-index:1}
.btn--light{border-color:var(--white);color:var(--white)}
.btn--light:hover{background:var(--white);color:var(--olive)}

/* Scroll reveal: CSS only, progressive enhancement */
@supports (animation-timeline: view()){
 @media (prefers-reduced-motion:no-preference){
  .reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  @keyframes reveal{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
 }
}

/* Slim header v2 */
.site-header{position:relative;z-index:5}
.site-header .wrap{flex-direction:row;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:12px;gap:var(--s4)}
.brand{padding:0}
.brand img{width:140px}
.nav--desk{display:none}
.menu{position:static}
.menu summary{list-style:none;cursor:pointer;font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--olive);padding:14px 16px;border:1px solid var(--olive)}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--olive);color:var(--paper)}
.menu__panel{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;padding:var(--s3) var(--gutter) var(--s4)}
.menu__panel a{font:400 26px/1.2 var(--display);color:var(--olive);text-decoration:none;padding:12px 0;border-top:1px solid var(--rule);letter-spacing:0;text-transform:none}
.menu__panel a.lang{font:500 12px/1 var(--sans);letter-spacing:.16em;color:var(--stone);padding-top:20px}
@media (min-width:900px){
  .nav--desk{display:flex}
  .menu{display:none}
  .nav--desk a[href$="/anfrage/"],.nav--desk a[href$="/enquire/"]{border:1px solid var(--olive);padding:12px 18px;color:var(--olive)}
  .nav--desk a[href$="/anfrage/"]:hover,.nav--desk a[href$="/enquire/"]:hover{background:var(--olive);color:var(--paper)}
}
.hero-full{height:calc(100svh - 101px)}
@media (max-width:899px){.hero-full{height:calc(100svh - 101px)}}
.hero-facts{font:400 12px/1.8 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin:var(--s4) 0 0}
.hero-facts .dot{margin:0 .5em;opacity:.8}
@media (max-width:599px){.hero-facts .dot{display:none}.hero-facts span{display:block}.hero-full__overlay{padding-bottom:88px}}
.statement--quiet{padding:var(--s8) 0 var(--s6)}
.statement--quiet .statement__lead{font:italic 400 28px/1.35 var(--display);color:var(--olive);max-width:24em}
@media (min-width:900px){.statement--quiet .statement__lead{font-size:34px}}
.hero-full--text .scroll-cue{display:none}
@media (min-width:900px){.hero-full--text .scroll-cue{display:block}.hero-full__overlay{padding-bottom:120px}}

/* ===== Design v3: site-wide refinements ===== */
.site-header{position:sticky;top:0;z-index:20;background:var(--paper)}
/* Footer v2: centred, airy */
.site-footer{padding:var(--s8) 0 var(--s5);text-align:center}
.footer-v2{display:flex;flex-direction:column;align-items:center}
.footer-logo{width:240px;height:auto}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2) var(--s5);margin-top:var(--s6)}
.footer-nav a{font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--espresso);text-decoration:none;padding:12px 0}
.footer-nav a:hover{color:var(--copper-deep)}
.footer-contact{margin:var(--s5) 0 0;font-size:15px}
.footer-contact span{margin:0 .7em;color:var(--copper)}
@media (max-width:599px){.footer-contact span{display:block;height:0;overflow:hidden}.footer-contact a{display:inline-block;margin:4px 0}}
.footer-partner{margin:var(--s3) 0 0;font-size:14px;color:var(--stone)}
.site-footer .legal{width:100%;margin-top:var(--s7)}

/* Sub-page hero: slightly shorter so it is clear the page continues */
.hero-full--sub{height:calc(88svh - 101px)}
.hero-full__overlay .display .name{font-style:italic}

/* Text band: full-width image with one centred line on the brand scrim */
.band--text{position:relative;margin:0}
.band--text::after{content:"";position:absolute;inset:0;background:var(--scrim)}
.band__text{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--gutter);color:var(--white)}
.band__text .eyebrow{color:var(--white)}
.band__text .headline{color:var(--white);max-width:16em;margin-top:var(--s2)}
.band__text p{max-width:30em;margin:var(--s4) auto 0}

/* Centred section heading */
.head-center{text-align:center;max-width:40em;margin:0 auto var(--s7)}
.head-center .headline,.head-center .title{margin-top:var(--s2)}
.head-center p{margin-top:var(--s4)}

/* Pair of tall portraits (Forestis-style) */
.pair{display:grid;gap:var(--s3);max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
@media (min-width:768px){.pair{grid-template-columns:1fr 1fr;gap:var(--s4)}.pair figure:nth-child(2){margin-top:var(--s8)}}
.pair figure{margin:0}
.pair img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pair figcaption{margin-top:var(--s3);font:400 14px/1.6 var(--sans);color:var(--stone);max-width:28em}
.pair figcaption strong{display:block;font:400 26px/1.2 var(--display);color:var(--olive);margin-bottom:var(--s2)}

/* Airy spec list */
.specs--airy{max-width:820px;margin:0 auto}
.specs--airy div{padding:var(--s4) 0}
@media (min-width:600px){.specs--airy div{grid-template-columns:240px 1fr}}

/* Menu-style price list for extras */
.menu-list{max-width:560px}
.menu-list .extra{grid-template-columns:1fr auto}

/* Experiences grid (Lage) */
.experiences{display:grid;gap:0;max-width:1000px;margin:0 auto}
@media (min-width:768px){.experiences{grid-template-columns:repeat(3,1fr);column-gap:var(--s6)}}
.experience{border-top:1px solid var(--rule);padding:var(--s4) 0 var(--s5)}
.experience h3{font:400 26px/1.2 var(--display);color:var(--olive)}
.experience p{margin:var(--s2) 0 0;color:var(--stone);font-size:15px}
.band__text .headline{font-family:var(--display);font-weight:400;line-height:1.15}
.intro--center{text-align:center}
.intro--center .rule-copper{margin-left:auto;margin-right:auto}
.intro--center .subhead{margin-left:auto;margin-right:auto}

/* ===== Design v4: motion, edge-to-edge images, tighter rhythm ===== */

/* Hero slideshow: base photo + three layers that cross-fade in turn (CSS only) */
.slides,.slides .slide{position:absolute;inset:0}
.slides .slide img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.slides .slide+.slide{opacity:0}
@media (prefers-reduced-motion:no-preference){
 .hero-full--slides .slides .slide img{animation:kenburns 8s ease-out both}
 .slides .slide+.slide{animation:xfade 28s infinite}
 .slides .slide+.slide img{animation:kenburns 9s linear infinite}
 .slides .slide:nth-child(2){animation-delay:6s}
 .slides .slide:nth-child(3){animation-delay:13s}
 .slides .slide:nth-child(4){animation-delay:20s}
 .slides .slide:nth-child(2) img{animation-delay:6s}
 .slides .slide:nth-child(3) img{animation-delay:13s}
 .slides .slide:nth-child(4) img{animation-delay:20s}
}
@keyframes xfade{0%{opacity:0}6%{opacity:1}25%{opacity:1}31%{opacity:0}100%{opacity:0}}
@keyframes kenburns{from{transform:scale(1.08)}to{transform:scale(1)}}

/* Single-image heroes (Lodge, Lage): slow drift */
@media (prefers-reduced-motion:no-preference){
 .hero-full--sub img{animation:drift 22s ease-in-out infinite alternate}
}
@keyframes drift{from{transform:scale(1.04) translateX(0)}to{transform:scale(1.1) translateX(-1.5%)}}

/* Hero text arrives after the image */
@media (prefers-reduced-motion:no-preference){
 .hero-full__overlay>*{animation:rise 1.2s cubic-bezier(.2,.6,.2,1) both}
 .hero-full__overlay>*:nth-child(2){animation-delay:.15s}
 .hero-full__overlay>*:nth-child(3){animation-delay:.3s}
 .hero-full__overlay>*:nth-child(4){animation-delay:.45s}
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Images zoom gently into place while scrolling */
.story__media,.pair figure>picture,.band{overflow:hidden}
@supports (animation-timeline: view()){
 @media (prefers-reduced-motion:no-preference){
  .story__media img,.pair img,.band img{animation:settle-scroll linear both;animation-timeline:view();animation-range:entry 0% cover 50%}
  @keyframes settle-scroll{from{transform:scale(1.12)}to{transform:scale(1)}}
 }
}

/* Edge-to-edge stories on desktop (photos bleed off the page edge) */
@media (min-width:900px){
 .story{max-width:none;margin:0;grid-template-columns:58% 1fr;gap:0;padding:40px 0}
 .story__text{padding:0 max(48px,calc((100vw - 1200px)/2)) 0 80px}
 .story--rev{grid-template-columns:1fr 58%}
 .story--rev .story__text{padding:0 80px 0 max(48px,calc((100vw - 1200px)/2));justify-self:end}
 .story__media img{aspect-ratio:3/2;max-height:84vh}
 .story--rev .story__media img[src*="portrait"]{aspect-ratio:4/5}
}

/* Tighter rhythm everywhere */
.section{padding:var(--s6) 0}
@media (min-width:768px){.section{padding:72px 0}}
.story{padding-top:var(--s5);padding-bottom:var(--s5)}
.statement{padding:72px 0}
.statement--quiet{padding:72px 0 var(--s5)}
@media (max-width:899px){.statement--quiet{padding:var(--s6) 0 var(--s4)}}
.head-center{margin-bottom:var(--s6)}
.quote-big{padding:72px 0}
.quote-pair{margin-top:var(--s6)}
.about-short{padding:var(--s6) 0 72px}
.band{margin:var(--s5) 0 0}
.band--text{margin:0}
.site-footer{padding:72px 0 var(--s5)}
.footer-nav{margin-top:var(--s5)}
.site-footer .legal{margin-top:var(--s6)}

/* Whirlpool / fire pair: aligned */
@media (min-width:768px){.pair figure:nth-child(2){margin-top:0}}

/* Gallery: quiet hover zoom */
.gallery img{transition:transform .9s cubic-bezier(.2,.6,.2,1)}
.gallery a:hover img{transform:scale(1.04)}

/* Full-screen menu on phones */
.menu__panel{position:fixed;left:0;right:0;top:101px;bottom:0;border:0;padding:var(--s5) var(--gutter);overflow-y:auto}
.menu__panel a{font-size:34px;padding:16px 0}
@media (prefers-reduced-motion:no-preference){.menu[open] .menu__panel{animation:rise .5s cubic-bezier(.2,.6,.2,1) both}}
.story--top{align-items:start}
@media (max-width:899px){.slides .slide+.slide{display:none}}
.menu__contact{margin-top:auto;padding-top:var(--s5);font-size:15px}.menu__contact a{font:400 15px/1.8 var(--sans);border:0;padding:0;color:var(--espresso)}

/* RC3.1: extras – photo fills the full height of the text column (no empty space beside a long list) */
@media(min-width:900px){
 .story--top{align-items:stretch}
 .story--top .story__media{position:relative;min-height:560px}
 .story--top .story__media picture{position:absolute;inset:0}
 .story--top .story__media img{height:100%;aspect-ratio:auto;max-height:none;object-position:50% 60%}
 .story--top .story__text{padding-top:var(--s6);padding-bottom:var(--s6);align-self:center}
}
.menu-list .extra{row-gap:6px;padding:var(--s3) 0}

/* RC3.2: enquiry page – shorter hero, text on the right (keeps the guest in the photo clear), price guide */
.hero-full--short{height:min(64svh,640px)}
.hero-full--short .scroll-cue{display:none!important}
.hero-full--right .hero-full__media img{object-position:62% 85%}
@media(min-width:900px){.hero-full--right .hero-full__media img{object-position:30% 88%}}
@media(min-width:900px){
 .hero-full--right .hero-full__overlay{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding-bottom:72px}
 .hero-full--right .hero-facts{justify-content:flex-end}
}
.price-note{margin:0 0 var(--s4);padding:var(--s4) var(--s4);background:var(--mist);border-left:2px solid var(--copper)}
.price-note p{margin:0;font-size:15px;line-height:1.6;color:var(--espresso)}
.price-note p+p{margin-top:var(--s2);color:var(--stone)}
.price-note strong{font-weight:500;color:var(--olive)}

/* RC3.3: home slideshow – no flat grey wash; the brand scrim only as a soft gradient behind the text */
.hero-full--text::after{background:linear-gradient(to top,rgba(48,43,41,.62) 0%,rgba(48,43,41,.30) 32%,rgba(48,43,41,0) 58%),linear-gradient(to right,rgba(48,43,41,.22) 0%,rgba(48,43,41,0) 55%)}
.hero-full--text .hero-full__overlay{text-shadow:0 1px 18px rgba(48,43,41,.35)}

.hero-full--short .hero-full__media img{object-position:50% 78%}

/* RC3.5: framing of the page-top photos */
.hero-full__media img[src*="lodge-exterior-autumn"]{object-position:50% 62%}
.hero-full__media img[src*="hot-tub-view"]{object-position:50% 58%}
.hero-full--short .hero-full__media img[src*="deck-dusk-wide"]{object-position:40% 74%}

/* RC3.7: press band */
.press-band{text-align:center;padding:var(--s6) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0 var(--gutter)}
.pb__list{list-style:none;margin:var(--s4) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s5) var(--s7)}
.pb__list a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--olive)}
.pb__name{font:italic 400 30px/1.1 var(--display)}
.pb__note{font:400 12px/1.4 var(--sans);letter-spacing:.08em;color:var(--stone)}
.pb__list a:hover .pb__name{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

.pb__list li{border:0;padding:0}
