/* =================================================================
   Tiny Stays Berlin — "A pair"
   Two homes, two color worlds: The Scandi in pine and charcoal,
   The Lux in navy and brass, on a cool birch ground. Bricolage
   Grotesque (condensed) for display + UI, Newsreader for reading.
   ================================================================= */

@font-face{font-family:'Bricolage';font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url('/assets/fonts/bricolage-grotesque-normal.woff2') format('woff2');}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300 600;font-display:swap;src:url('/assets/fonts/newsreader-normal.woff2') format('woff2');}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:300 600;font-display:swap;src:url('/assets/fonts/newsreader-italic.woff2') format('woff2');}

:root{
  --birch:#eef0ec;
  --birch-2:#e2e6e0;
  --paper:#f8f9f6;
  --ink:#1d2420;
  --ink-2:#38423d;
  --muted:#5a645e;
  --line:#c9d0ca;

  --pine:#22302a;      /* The Scandi */
  --pine-2:#2e4037;
  --moss:#a9bba5;
  --lux:#162843;       /* The Lux */
  --lux-2:#213a5f;
  --brass:#c9a265;
  --on-dark:#eef0ec;
  --on-dark-2:rgba(238,240,236,.78);

  --display:'Bricolage', 'Arial Narrow', system-ui, sans-serif;
  --read:'Newsreader', Georgia, 'Times New Roman', serif;

  --wrap:1180px;
  --pad:clamp(1rem, 4vw, 2.75rem);
  --sec:clamp(4rem, 9vw, 7.5rem);
  --r:6px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--read);font-size:1.15rem;line-height:1.6;color:var(--ink);background:var(--birch);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,picture,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:var(--on-dark);padding:.6rem 1rem;font-family:var(--display)}
.skip:focus{top:1rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- type ---------- */
h1,h2,h3,.btn,.nav,.brand,.mmenu,.footer h3,.compare,.facts dt,.place__town,.steps__time,.featured__k,.other__kicker,.hcard__link,.dip__label,.review figcaption,.intro__proof,.toc{font-family:var(--display)}
h1,h2{font-stretch:78%;font-weight:640;letter-spacing:-.018em;line-height:.95}
h2{font-size:clamp(2.2rem,5vw,3.9rem)}
h3{font-size:1.3rem;font-weight:600;font-stretch:88%;letter-spacing:-.005em;line-height:1.15}
p{max-width:66ch}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.cover{display:block;width:100%;height:100%}
.cover img{width:100%;height:100%;object-fit:cover}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.75rem 1.5rem;border-radius:999px;background:var(--ink);color:var(--on-dark);font-size:1rem;font-weight:560;font-stretch:92%;text-decoration:none;border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--ink-2)}
.btn--sm{min-height:2.5rem;padding:.5rem 1.15rem;font-size:.95rem}
.btn--light{background:var(--on-dark);color:var(--ink)}
.btn--light:hover{background:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:currentColor}
.btn--ghost:hover{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}
.btn--ghost-light{background:transparent;color:var(--on-dark);border-color:rgba(238,240,236,.6)}
.btn--ghost-light:hover{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}
.btn--scandi{background:var(--pine);color:var(--on-dark)}
.btn--scandi:hover{background:var(--pine-2)}
.btn--lux{background:var(--lux);color:var(--on-dark)}
.btn--lux:hover{background:var(--lux-2)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(238,240,236,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav__inner{display:flex;align-items:center;gap:1.5rem;max-width:1400px;margin-inline:auto;padding:.7rem var(--pad)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:650;font-stretch:80%;font-size:1.3rem;letter-spacing:-.01em;margin-right:auto}
.brand .mark{width:2.4rem;height:auto}
.nav__links{display:flex;gap:1.6rem}
.nav__link{text-decoration:none;font-size:1rem;font-weight:500;color:var(--ink-2);padding:.3rem 0;border-bottom:1.5px solid transparent}
.nav__link:hover,.nav__link[aria-current]{color:var(--ink);border-color:currentColor}
.nav__toggle{display:none;width:2.75rem;height:2.75rem;flex-direction:column;justify-content:center;gap:7px;padding:0 .55rem}
.nav__toggle span{display:block;height:2px;background:currentColor;transition:transform .25s}
.menu-open .nav__toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-open .nav__toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
/* home: nav floats over the diptych until you scroll */
.nav--overlay{position:fixed;inset:0 0 auto;background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--on-dark);transition:background .3s,color .3s,border-color .3s}
.nav--overlay .nav__link{color:var(--on-dark-2)}
.nav--overlay .nav__link:hover{color:var(--on-dark)}
.nav--overlay .nav__book{background:var(--on-dark);color:var(--ink)}
.nav--overlay.is-solid,.menu-open .nav--overlay{background:rgba(238,240,236,.94);color:var(--ink);border-color:var(--line);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.nav--overlay.is-solid .nav__link,.menu-open .nav--overlay .nav__link{color:var(--ink-2)}
.nav--overlay.is-solid .nav__book,.menu-open .nav--overlay .nav__book{background:var(--ink);color:var(--on-dark)}
.mmenu{position:fixed;inset:0;z-index:40;background:var(--pine);color:var(--on-dark);padding:6.5rem var(--pad) 2rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}
.mmenu[hidden]{display:none}
.mmenu nav{display:flex;flex-direction:column}
.mmenu__link{font-size:2rem;font-weight:600;font-stretch:80%;text-decoration:none;padding:.4rem 0;border-bottom:1px solid rgba(238,240,236,.15)}
.mmenu__phone{font-size:1.1rem}
.menu-open{overflow:hidden}

/* ---------- home: the diptych ---------- */
.dip{position:relative;display:grid;grid-template-columns:1fr 1fr;height:100svh;min-height:600px;max-height:1100px;background:var(--ink);color:var(--on-dark);overflow:hidden}
.dip__half{position:relative;display:block;overflow:hidden;text-decoration:none}
.dip__half picture{position:absolute;inset:0}
.dip__half::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,14,12,.72) 0%,rgba(10,14,12,0) 38%),linear-gradient(to bottom,rgba(10,14,12,.45) 0%,rgba(10,14,12,0) 22%)}
.dip__half--scandi{animation:dip-l 1.1s cubic-bezier(.2,.7,.2,1) both}
.dip__half--lux{animation:dip-r 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes dip-l{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@keyframes dip-r{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
.dip__half img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.dip__half:hover img{transform:scale(1.03)}
.dip__label{position:absolute;z-index:1;bottom:clamp(1.25rem,3vw,2.5rem);display:flex;flex-direction:column;gap:.2rem}
.dip__half--scandi .dip__label{left:var(--pad)}
.dip__half--lux .dip__label{right:var(--pad);text-align:right}
.dip__name{font-size:clamp(1.4rem,2.4vw,2rem);font-weight:620;font-stretch:80%;line-height:1}
.dip__note{font-size:1rem;color:var(--on-dark-2)}
.dip__half--scandi .dip__name{border-bottom:3px solid var(--moss);padding-bottom:.25rem;align-self:flex-start}
.dip__half--lux .dip__name{border-bottom:3px solid var(--brass);padding-bottom:.25rem;align-self:flex-end}
.dip__center{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-56%);width:min(92%,980px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem;pointer-events:none;animation:dip-c .9s .55s cubic-bezier(.2,.7,.2,1) both}
.dip__center .btn{pointer-events:auto}
.dip__center::before{content:'';position:absolute;inset:-18% -12%;background:radial-gradient(closest-side,rgba(10,14,12,.55),rgba(10,14,12,.25) 60%,rgba(10,14,12,0));z-index:-1}
@keyframes dip-c{from{opacity:0;transform:translate(-50%,-50%)}to{opacity:1;transform:translate(-50%,-56%)}}
.dip__title{font-size:clamp(3.2rem,8.4vw,8rem);font-stretch:75%;font-weight:680;line-height:.88;letter-spacing:-.025em;text-shadow:0 2px 40px rgba(0,0,0,.45)}
.dip__sub{font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--on-dark);max-width:34ch;text-shadow:0 1px 18px rgba(0,0,0,.6)}
.dip::before{content:'';position:absolute;z-index:1;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--birch);opacity:.85}

/* ---------- intro ---------- */
.intro{padding-block:var(--sec) calc(var(--sec) * .7);display:grid;grid-template-columns:1.25fr 1fr;gap:1.5rem 4rem;align-items:end}
.intro__lede{grid-column:1/-1;font-size:clamp(1.6rem,3vw,2.45rem);line-height:1.22;letter-spacing:-.01em;max-width:30ch;font-weight:400}
.intro__p{color:var(--ink-2)}
.intro__proof{font-size:1rem;color:var(--muted);justify-self:start;align-self:end}
.stars{color:var(--brass);letter-spacing:.1em;margin-right:.35rem}

/* ---------- home bands (one per tiny home) ---------- */
.band{color:var(--on-dark)}
.band--scandi{background:var(--pine)}
.band--lux{background:var(--lux)}
.band__inner{display:grid;grid-template-columns:1fr 1fr;min-height:min(92vh,860px)}
.band--flip .band__media{order:2}
.band__media{position:relative;min-height:420px}
.band__media picture{position:absolute;inset:0}
.band__body{padding:clamp(3rem,7vw,6.5rem) clamp(1.25rem,5vw,5.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.4rem}
.band__name{font-size:clamp(3.4rem,8vw,7.2rem);font-stretch:75%;line-height:.85}
.band--scandi .band__name{color:var(--moss)}
.band--lux .band__name{color:var(--brass)}
.band__tag{font-size:1.3rem;line-height:1.4;max-width:30ch}
.sig{display:grid;gap:1.2rem;margin-top:.6rem;border-top:1px solid rgba(238,240,236,.18)}
.sig li{padding-top:1.2rem;border-bottom:1px solid rgba(238,240,236,.18);padding-bottom:1.2rem;display:grid;grid-template-columns:minmax(9rem,.8fr) 1.4fr;gap:1.25rem}
.sig li:last-child{border-bottom:0}
.sig h3{font-size:1.2rem}
.sig p{color:var(--on-dark-2);font-size:1.05rem}
.band__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.band__strip{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding-top:2px}
.band__strip-item{aspect-ratio:4/3;overflow:hidden}

/* ---------- generic sections ---------- */
.sec{padding-block:var(--sec)}
.sec--tint{background:var(--birch-2)}
.sec__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.5rem 2rem;margin-bottom:clamp(2rem,4vw,3rem)}
.sec__head p{color:var(--muted);max-width:44ch}

/* ---------- compare ---------- */
.compare{border-top:2px solid var(--ink)}
.compare__row{display:grid;grid-template-columns:minmax(7rem,.7fr) 1fr 1fr;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.compare__row--head{padding:1.2rem 0;align-items:center}
.compare__row--foot{border-bottom:0;padding-top:1.5rem}
.compare__k{font-size:.95rem;color:var(--muted);font-weight:500}
.compare__v{font-family:var(--read);font-size:1.1rem;line-height:1.4}
.compare__name{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:640;font-stretch:78%;text-decoration:none;line-height:1}
.compare__name--scandi{color:var(--pine);box-shadow:inset 0 -4px 0 var(--moss)}
.compare__name--lux{color:var(--lux);box-shadow:inset 0 -4px 0 var(--brass)}
.compare__name{justify-self:start;padding-bottom:.2rem}

/* ---------- shared list ---------- */
.shared{display:grid;grid-template-columns:repeat(3,1fr);gap:0 3rem}
.shared--4{grid-template-columns:repeat(2,1fr)}
.shared li{padding:1.5rem 0;border-top:1px solid var(--line)}
.shared h3{margin-bottom:.45rem}
.shared p{color:var(--ink-2);font-size:1.08rem}

/* ---------- reviews ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.review blockquote{font-style:italic;font-size:1.35rem;line-height:1.4;font-weight:380}
.review figcaption{margin-top:1rem;font-size:.95rem;color:var(--muted)}

/* ---------- club ---------- */
.club{display:grid;grid-template-columns:1.15fr 1fr;background:var(--paper)}
.club__media{position:relative;min-height:440px}
.club__media picture{position:absolute;inset:0}
.club__body{padding:clamp(2.5rem,6vw,5.5rem) clamp(1.25rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center;gap:1.25rem}
.club__thumbs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem;max-width:26rem}
.club__thumbs picture{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden}

/* ---------- teaser ---------- */
.teaser{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:var(--sec)}
.teaser__media{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden}
.teaser__body{display:flex;flex-direction:column;gap:1.25rem}
.teaser__links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}

/* ---------- page hero ---------- */
.phero{position:relative;min-height:min(78vh,760px);display:flex;align-items:flex-end;color:var(--on-dark);background:var(--ink);overflow:hidden}
.phero__media{position:absolute;inset:0}
.phero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,14,12,.78) 0%,rgba(10,14,12,.25) 45%,rgba(10,14,12,.15) 100%)}
.phero--scandi::after{background:linear-gradient(to top,rgba(20,30,25,.9) 0%,rgba(20,30,25,.3) 50%,rgba(20,30,25,.1) 100%)}
.phero--lux::after{background:linear-gradient(to top,rgba(14,25,42,.9) 0%,rgba(14,25,42,.3) 50%,rgba(14,25,42,.1) 100%)}
.phero__content{position:relative;z-index:1;width:100%;padding-block:clamp(7rem,14vw,10rem) clamp(2.5rem,6vw,4.5rem);display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}
.phero__title{font-size:clamp(2.9rem,7vw,6.4rem);font-stretch:75%;max-width:16ch;line-height:.9}
.phero--scandi .phero__title{color:var(--on-dark);border-left:6px solid var(--moss);padding-left:1.2rem}
.phero--lux .phero__title{color:var(--on-dark);border-left:6px solid var(--brass);padding-left:1.2rem}
.phero__sub{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:46ch;color:var(--on-dark)}
.phero__actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- home detail ---------- */
.detail{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,6vw,6rem);padding-block:var(--sec);align-items:start}
.detail__body{display:flex;flex-direction:column;gap:1.25rem}
.detail__lede{font-size:clamp(1.35rem,2.2vw,1.65rem);line-height:1.4}
.facts{position:sticky;top:5.5rem;border-radius:var(--r);padding:1.75rem;color:var(--on-dark)}
.facts--scandi{background:var(--pine)}
.facts--lux{background:var(--lux)}
.facts__h{font-size:1.6rem;margin-bottom:1rem}
.facts dl div{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:.7rem 0;border-top:1px solid rgba(238,240,236,.16);font-size:1rem;line-height:1.4}
.facts dt{color:var(--on-dark-2);font-size:.9rem;padding-top:.1rem}
.facts--scandi dt{color:var(--moss)}
.facts--lux dt{color:var(--brass)}
.facts__btn{width:100%;margin-top:1.25rem;background:var(--on-dark);color:var(--ink)}
.facts__btn:hover{background:#fff}
.facts__note{font-size:.92rem;color:var(--on-dark-2);margin-top:.9rem}

.feats{display:flex;flex-direction:column;gap:2px;color:var(--on-dark)}
.feats--scandi{background:var(--pine)}
.feats--lux{background:var(--lux)}
.feat{display:grid;grid-template-columns:1fr 1fr;min-height:min(80vh,720px)}
.feat--flip .feat__media{order:2}
.feat__media{position:relative;min-height:360px}
.feat__media picture{position:absolute;inset:0}
.feat__body{padding:clamp(2.5rem,7vw,6rem) clamp(1.25rem,5vw,5.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.1rem}
.feat__body h2{font-size:clamp(2.2rem,4.4vw,3.8rem);max-width:12ch}
.feats--scandi .feat__body h2{color:var(--moss)}
.feats--lux .feat__body h2{color:var(--brass)}
.feat__body p{color:var(--on-dark-2);font-size:1.2rem;max-width:40ch}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(180px,22vw);gap:.6rem}
.gallery__item{border-radius:var(--r);overflow:hidden}
.gallery__item:nth-child(1){grid-column:span 2;grid-row:span 2}
.gallery__item:nth-child(6){grid-column:span 2}
@media (min-width:1300px){.gallery{grid-auto-rows:280px}}

.amen{columns:3 14rem;column-gap:3rem}
.amen li{break-inside:avoid;padding:.6rem 0 .6rem 1.4rem;border-top:1px solid var(--line);position:relative;font-size:1.08rem}
.amen li::before{content:'';position:absolute;left:0;top:1.15rem;width:.55rem;height:.55rem;border-radius:2px}
.t-scandi .amen li::before{background:var(--pine)}
.t-lux .amen li::before{background:var(--brass)}

.other{display:grid;grid-template-columns:1fr 1fr;color:var(--on-dark)}
.other--scandi{background:var(--pine)}
.other--lux{background:var(--lux)}
.other__media{position:relative;min-height:420px}
.other__media picture{position:absolute;inset:0}
.other__body{padding:clamp(2.5rem,6vw,5.5rem) clamp(1.25rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center;gap:1rem}
.other__kicker{font-size:1rem;color:var(--on-dark-2)}
.other h2{font-size:clamp(3rem,7vw,6rem);font-stretch:75%}
.other--scandi h2{color:var(--moss)}
.other--lux h2{color:var(--brass)}
.other__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}

/* ---------- home cards ---------- */
.hcards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.hcard{display:flex;flex-direction:column;text-decoration:none;border-radius:var(--r);overflow:hidden;color:var(--on-dark)}
.hcard--scandi{background:var(--pine)}
.hcard--lux{background:var(--lux)}
.hcard__media{aspect-ratio:3/2;overflow:hidden}
.hcard__media img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hcard:hover .hcard__media img{transform:scale(1.03)}
.hcard__body{padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.hcard__name{font-size:clamp(2rem,3.4vw,2.9rem);font-stretch:76%;font-weight:640}
.hcard--scandi .hcard__name{color:var(--moss)}
.hcard--lux .hcard__name{color:var(--brass)}
.hcard__tag{color:var(--on-dark-2)}
.hcard__link{margin-top:auto;padding-top:.6rem;font-size:1rem;text-decoration:underline;text-underline-offset:4px}

/* ---------- prose pages ---------- */
.prose{padding-block:var(--sec) calc(var(--sec)*.6);display:flex;flex-direction:column;gap:1.2rem;max-width:calc(46rem + 2*var(--pad))}
.prose__lede{font-size:clamp(1.4rem,2.4vw,1.75rem);line-height:1.38}
.prose h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-top:1.5rem}
.prose a{text-underline-offset:3px}
.prose__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}

.steps{display:flex;flex-direction:column;margin-block:1rem}
.steps li{display:grid;grid-template-columns:6.5rem 1fr;gap:.25rem 1.5rem;padding:1.5rem 0;border-top:1px solid var(--line)}
.steps__time{grid-row:span 2;font-size:1rem;color:var(--muted);padding-top:.55rem}
.steps h2{margin-top:0;font-size:clamp(1.6rem,3vw,2.2rem)}

/* ---------- guide ---------- */
.toc{display:flex;flex-wrap:wrap;gap:.6rem;padding-bottom:2.5rem}
.toc a{font-size:.98rem;text-decoration:none;padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.toc a:hover{border-color:var(--ink)}
.featured{display:block;text-decoration:none;background:var(--lux);color:var(--on-dark);border-radius:var(--r);padding:clamp(2rem,5vw,3.75rem)}
.featured__k{color:var(--brass);font-size:1rem}
.featured__name{font-size:clamp(2.4rem,5.5vw,4.6rem);margin:.6rem 0 1rem}
.featured p{color:var(--on-dark-2)}
.featured__cta{display:inline-block;margin-top:1.25rem;font-family:var(--display);text-decoration:underline;text-underline-offset:4px}
.guide{padding-bottom:0}
.guide__title{margin-bottom:1.5rem}
.places{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:0 2.5rem}
.place{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;align-items:baseline;padding:1.25rem 0 1.4rem;border-top:1px solid var(--line);text-decoration:none;height:100%}
.place:hover .place__name{text-decoration:underline;text-underline-offset:4px}
.place__town{font-size:.9rem;color:var(--muted)}
.place__desc{grid-column:1/-1;color:var(--ink-2);font-size:1.05rem;margin-top:.3rem}

/* ---------- faq ---------- */
.faqwrap{max-width:calc(52rem + 2*var(--pad))}
.faqs{border-top:2px solid var(--ink)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;padding:1.25rem 0;font-family:var(--display);font-size:1.25rem;font-weight:580;font-stretch:88%;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:1.6rem;line-height:1;font-weight:400;transition:transform .2s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 0 1.4rem;color:var(--ink-2)}
.faqwrap__more{margin-top:2rem;color:var(--muted)}
.faqwrap__more a{color:var(--ink)}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem)}
.contact__info{display:flex;flex-direction:column}
.cblock{padding:1.5rem 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.cblock h2{font-size:1.25rem;font-stretch:88%;letter-spacing:0;line-height:1.2;color:var(--muted);font-weight:540}
.cblock__big{font-family:var(--display);font-size:clamp(2rem,4vw,2.8rem);font-weight:640;font-stretch:78%;text-decoration:none}
.cblock__books{display:flex;flex-wrap:wrap;gap:.6rem}
.cblock a{text-underline-offset:3px}
.contact__map{min-height:440px;border-radius:var(--r);overflow:hidden;background:var(--birch-2)}
.contact__map iframe{width:100%;height:100%;min-height:440px;border:0;display:block}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:var(--on-dark)}
.footer__cta{padding-block:clamp(4rem,8vw,6.5rem);display:flex;flex-direction:column;gap:1rem;align-items:flex-start;border-bottom:1px solid rgba(238,240,236,.14)}
.footer__h{font-size:clamp(2.6rem,6vw,5rem);font-stretch:75%}
.footer__p{color:var(--on-dark-2)}
.footer__books{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.footer .btn--scandi{background:var(--pine-2);box-shadow:inset 0 -3px 0 var(--moss)}
.footer .btn--lux{background:var(--lux-2);box-shadow:inset 0 -3px 0 var(--brass)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem;padding-block:3.5rem}
.footer__brand .mark{width:3.25rem;margin-bottom:1rem;color:var(--moss)}
.footer__brand p{color:var(--on-dark-2);font-size:1rem;max-width:26ch}
.footer__col{display:flex;flex-direction:column;gap:.55rem;font-size:1rem}
.footer__col h3{font-size:1rem;color:var(--on-dark-2);font-weight:500;margin-bottom:.3rem}
.footer__col a{text-decoration:none;color:var(--on-dark)}
.footer__col a:hover{text-decoration:underline;text-underline-offset:3px}
.footer__col address{color:var(--on-dark)}
.footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.5rem 2rem;border-top:1px solid rgba(238,240,236,.14);font-size:.92rem;color:var(--on-dark-2)}
.footer__base a{color:var(--on-dark)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav__links{display:none}
  .nav__toggle{display:flex}
  .nav__inner{gap:.75rem}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .band__inner,.feat,.other,.club,.teaser,.detail,.contact{grid-template-columns:1fr}
  .band--flip .band__media,.feat--flip .feat__media{order:0}
  .band__media,.feat__media,.other__media,.club__media{min-height:0;aspect-ratio:4/3}
  .band__inner{min-height:0}
  .feat{min-height:0}
  .facts{position:static}
  .shared{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr;gap:2rem}
  .intro{grid-template-columns:1fr}
  .teaser__media{aspect-ratio:3/2}
}
@media (max-width:760px){
  body{font-size:1.08rem}
  .dip{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none}
  .dip::before{display:none}
  .dip__half{min-height:50svh}
  .dip__half--scandi{order:1;animation-name:dip-fade}
  .dip__half--lux{order:3;min-height:44svh;animation-name:dip-fade}
  @keyframes dip-fade{from{opacity:0}to{opacity:1}}
  .dip__center{order:2;position:relative;left:auto;top:auto;transform:none;width:100%;padding:2.25rem var(--pad) 2.5rem;background:var(--ink);animation:dip-fade .8s .3s both;gap:1rem}
  .dip__center::before{display:none}
  .dip__title{font-size:clamp(2.9rem,13vw,4.2rem);text-shadow:none}
  .dip__sub{text-shadow:none;color:var(--on-dark-2)}
  .dip__half--lux .dip__label{right:auto;left:var(--pad);text-align:left}
  .dip__half--lux .dip__name{align-self:flex-start}
  .hcards{grid-template-columns:1fr}
  .shared,.shared--4{grid-template-columns:1fr}
  .sig li{grid-template-columns:1fr;gap:.35rem}
  .compare__row{grid-template-columns:1fr 1fr;gap:.35rem 1rem}
  .compare__k{grid-column:1/-1}
  .compare__row--head>span:first-child,.compare__row--foot>span:first-child{display:none}
  .compare__v{font-size:1rem}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:42vw}
  .gallery__item:nth-child(6){grid-column:auto}
  .steps li{grid-template-columns:1fr}
  .steps__time{grid-row:auto;padding-top:0}
  .footer__grid{grid-template-columns:1fr}
  .band__strip{grid-template-columns:1fr 1fr}
  .band__strip-item:nth-child(3){display:none}
}
