/* Къща за гости „Сианна“ · Цигов чарк
   Type: Literata (upright, optical sizes) for display, Onest for interface. Both OFL, self-hosted, Cyrillic + Latin.
   Two moods: Daylight linen (default) and "Вечер край камината" (html[data-theme="evening"]).
   ========================================================================== */

/* ---------- Fonts ---------- */
@font-face{font-family:"Onest";src:url(/assets/fonts/onest-cyrillic-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";src:url(/assets/fonts/onest-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest Fallback";src:local("Arial"),local("Helvetica");size-adjust:101%;ascent-override:96%;descent-override:26%}

/* ---------- Tokens ---------- */
:root{
  /* day: warm ivory and stone, one soft bronze accent */
  --bg:#f8f6f2; --bg-2:#f1ede6; --surface:#fffdfa; --ph:#e7e1d8;
  --ink:#1f1d1a; --ink-2:#6b655d; --ink-3:#6b655d;
  --accent:#a8865a; --accent-ink:#86663f; --on-accent:#ffffff;
  --line:rgba(31,29,26,.08); --line-2:rgba(31,29,26,.16);
  --pine:#18221b; --pine-2:#121a14; --on-pine:#f3efea; --on-pine-2:rgba(243,239,234,.72); --line-pine:rgba(243,239,234,.16);
  --glass:rgba(248,246,242,.74); --glass-line:rgba(31,29,26,.06);
  --shadow:0 24px 60px -34px rgba(31,29,26,.22);
  --map-filter:sepia(.18) saturate(.75);

  --sans:"Onest","Onest Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --rad:18px; --rad-lg:28px;
  --gutter:clamp(20px,4vw,64px);
  --maxw:1400px;
  --pad:max(var(--gutter),calc((100vw - var(--maxw))/2));
  --sec:clamp(104px,12vw,200px);
  --gap:clamp(16px,2vw,32px);
  color-scheme:light;
}
/* evening by the fireplace */
[data-theme="evening"]{
  --bg:#12110f; --bg-2:#181714; --surface:#1e1c19; --ph:#2a2723;
  --ink:#f4f1ec; --ink-2:#aaa49b; --ink-3:#958f86;
  --accent:#c9a27a; --accent-ink:#d2ad86; --on-accent:#17120c;
  --line:rgba(255,255,255,.1); --line-2:rgba(255,255,255,.2);
  --pine:#0d110e; --pine-2:#090c0a;
  --glass:rgba(30,28,25,.72); --glass-line:rgba(255,255,255,.07);
  --shadow:0 30px 60px -30px rgba(0,0,0,.75);
  --map-filter:invert(.92) hue-rotate(180deg) saturate(.4);
  color-scheme:dark;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px;background:var(--bg)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
/* Lenis (smooth wheel scrolling on desktops) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis.lenis-smooth .loc__map.is-live iframe{pointer-events:auto}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16.5px/1.65 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
picture{display:block}
a{color:inherit}
button,input{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
[tabindex="-1"]:focus{outline:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:200;background:var(--surface);color:var(--ink);padding:12px 18px;border-radius:999px;font-weight:600;text-decoration:none;transition:top .3s}
.skip:focus{top:16px}
.wrap{width:min(100% - 2*var(--gutter),var(--maxw));margin-inline:auto}
.sec{padding-block:var(--sec);position:relative}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}


/* the mood change: a single crossfade */
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s;animation-timing-function:ease}
.theming,.theming *,.theming *::before,.theming *::after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,fill .45s ease,stroke .45s ease!important}

/* ---------- Type ---------- */
.eyebrow{font:400 clamp(15px,1.2vw,17px)/1.3 var(--sans);letter-spacing:-.01em;text-transform:none;color:var(--accent-ink);margin-bottom:clamp(14px,1.6vw,22px)}
.h2{font:400 clamp(38px,5.2vw,80px)/1.04 var(--sans);letter-spacing:-.025em;text-wrap:balance}
.h3{font:400 clamp(24px,2.2vw,32px)/1.15 var(--sans);letter-spacing:-.02em}
.lead{font:400 clamp(20px,1.7vw,25px)/1.45 var(--sans);letter-spacing:-.01em}
.muted{color:var(--ink-2)}
p{text-wrap:pretty}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--line-2);color:var(--accent-ink);transition:text-decoration-color .3s}
.link:hover{text-decoration-color:currentColor}
.link .ic{width:16px;height:16px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;border:1px solid transparent;font:500 15px/1 var(--sans);letter-spacing:.005em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}
.btn:active{transform:scale(.98)}
.btn .ic{width:18px;height:18px}
.btn--sm{min-height:42px;padding:0 18px;font-size:14px}
.btn--accent{background:var(--accent-ink);color:var(--on-accent)}
[data-theme="evening"] .btn--accent{background:var(--accent)}
.btn--accent:hover{background:var(--ink);color:var(--bg)}
.btn--ink{background:var(--ink);color:var(--bg)}
.btn--ink:hover{background:var(--accent-ink);color:var(--on-accent)}
.btn--line{border-color:var(--line-2);color:var(--ink)}
.btn--line:hover{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.btn--quiet{background:transparent;color:var(--ink-2);padding-inline:14px}
.btn--quiet:hover{color:var(--ink)}
.btn--glass{background:rgba(243,239,234,.1);color:#f3efea;border-color:rgba(243,239,234,.36);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn--glass:hover{background:#f3efea;color:#18221b;border-color:#f3efea}
.round{width:48px;height:48px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--ink);cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,opacity .3s}
.round:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.round:disabled,.round[aria-disabled="true"]{opacity:.35;cursor:default;background:transparent;color:var(--ink);border-color:var(--line-2)}
.round--glass{border-color:rgba(243,239,234,.24);color:#f3efea;background:rgba(243,239,234,.06)}
.round--glass:hover{background:#f3efea;color:#121613;border-color:#f3efea}
.pill{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:transparent;font:500 14px/1 var(--sans);color:var(--ink-2);cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.pill:hover{border-color:var(--ink);color:var(--ink)}
.pill[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}

/* ---------- Header: floating glass ---------- */
.hdr{position:fixed;top:12px;left:12px;right:12px;z-index:70;transition:transform .6s var(--ease)}
.hdr.is-hidden{transform:translateY(calc(-100% - 16px))}
.hdr__in{position:relative;display:flex;align-items:center;gap:20px;max-width:calc(var(--maxw) + 40px);height:62px;margin-inline:auto;padding:0 8px 0 20px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 12px 30px -24px rgba(0,0,0,.4)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand__roof{width:32px;height:auto;fill:var(--accent);margin-top:-3px}
.brand__script{height:24px;width:auto;fill:currentColor}
.nav{margin-inline:auto}
.nav ul{display:flex;gap:clamp(18px,2.4vw,38px)}
.nav a{position:relative;display:block;padding:10px 0;font:500 14.5px/1 var(--sans);text-decoration:none;color:var(--ink-2);transition:color .3s}
.nav a:hover,.nav a.is-current{color:var(--ink)}
.nav a::after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .4s var(--ease)}
.nav a.is-current::after{transform:none}
.hdr__act{display:flex;align-items:center;gap:8px;margin-left:auto}
.nav+.hdr__act{margin-left:0}
/* theme switch: sun and flame on one small track */
.theme{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 14px 0 6px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;color:var(--ink)}
.theme__track{position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:58px;height:30px;padding:0 7px;border-radius:999px;background:var(--bg-2)}
.theme__thumb{position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:var(--surface);box-shadow:0 2px 8px -2px rgba(0,0,0,.3);transition:transform .45s var(--ease),background-color .45s}
.theme .ic{position:relative;width:15px;height:15px;stroke-width:1.7;transition:color .45s,opacity .45s}
.theme__sun{color:var(--accent-ink)}
.theme__flame{color:var(--ink-3);opacity:.7}
[data-theme="evening"] .theme__thumb{transform:translateX(28px);background:#2b221a}
[data-theme="evening"] .theme__sun{color:var(--ink-3);opacity:.7}
[data-theme="evening"] .theme__flame{color:var(--accent);opacity:1}
.theme__l{display:grid;font:500 13.5px/1 var(--sans)}
.theme__l>span{grid-area:1/1;transition:opacity .35s,transform .45s var(--ease)}
.theme__e{opacity:0;transform:translateY(6px)}
[data-theme="evening"] .theme__d{opacity:0;transform:translateY(-6px)}
[data-theme="evening"] .theme__e{opacity:1;transform:none}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;place-items:center}
.burger__lines{position:relative;width:18px;height:10px}
.burger__lines i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger__lines i:first-child{top:0}
.burger__lines i:last-child{top:8.5px}
.menu-open .burger__lines i:first-child{top:4.25px;transform:rotate(45deg)}
.menu-open .burger__lines i:last-child{top:4.25px;transform:rotate(-45deg)}
.menu-open .hdr.is-hidden{transform:none}

.menu{position:fixed;inset:0;z-index:65;background:var(--bg);color:var(--ink);opacity:0;transition:opacity .5s var(--ease);overflow-y:auto}
.menu.is-open{opacity:1}
.menu__in{min-height:100%;display:grid;align-content:end;gap:40px;padding:110px var(--gutter) calc(40px + env(safe-area-inset-bottom))}
.menu__nav a{display:block;padding:4px 0;font:400 clamp(34px,9vw,56px)/1.12 var(--sans);letter-spacing:-.025em;text-decoration:none}
.menu__nav li{opacity:0;transform:translateY(12px);transition:opacity .5s,transform .7s var(--ease)}
.menu.is-open .menu__nav li{opacity:1;transform:none;transition-delay:calc(var(--mi,0)*40ms + 80ms)}
.menu__side{display:grid;gap:8px}
.menu__side .eyebrow{margin:0 0 4px}
.menu__phone{font:600 28px/1.2 var(--sans);text-decoration:none;font-variant-numeric:lining-nums tabular-nums}
.menu__links{display:flex;flex-wrap:wrap;gap:20px;margin-top:14px}
.menu__links a{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:14.5px;text-decoration:none;color:var(--ink-2)}

/* ---------- Hero: full bleed, three scenes ---------- */
.hero{position:relative;height:92vh;min-height:620px;max-height:1100px;display:flex;flex-direction:column;justify-content:flex-end;color:#f3efea;overflow:hidden;background:#1a1f1b;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;will-change:transform}
.hero__scene{position:absolute;inset:0;opacity:0;transition:opacity 1.6s cubic-bezier(.25,.1,.25,1)}
.hero__scene.is-on{opacity:1}
.hero__scene picture,.hero__img{width:100%;height:100%}
.hero__img{object-fit:cover}
.hero__scene[data-scene="0"] .hero__img{object-position:50% 58%}
.hero__scene[data-scene="2"] .hero__img{object-position:50% 72%}
.hero__scene.is-on .hero__img{animation:lens-hero 2.4s cubic-bezier(.25,.1,.25,1) both}
@keyframes lens-hero{from{transform:scale(1.025)}to{transform:none}}
.hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,14,11,.5) 0%,rgba(10,14,11,.18) 45%,rgba(10,14,11,0) 70%),linear-gradient(180deg,rgba(10,14,11,.34) 0%,rgba(10,14,11,0) 20%,rgba(10,14,11,0) 36%,rgba(10,14,11,.5) 66%,rgba(10,14,11,.84) 100%)}
[data-theme="evening"] .hero__shade{background:linear-gradient(180deg,rgba(8,10,9,.5) 0%,rgba(8,10,9,.1) 24%,rgba(8,10,9,.2) 44%,rgba(8,10,9,.66) 70%,rgba(8,10,9,.9) 100%)}
.hero__in{padding-bottom:clamp(28px,4vh,44px)}
.wx{will-change:transform;display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:0 14px 0 12px;border-radius:999px;border:1px solid rgba(243,239,234,.24);background:rgba(15,20,17,.32);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font:500 13px/1 var(--sans);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.wx__dot{position:relative;width:7px;height:7px;border-radius:50%;background:#e9bb8c}
.wx__dot::after{content:none}
@keyframes wx-pulse{0%{opacity:.7;transform:scale(.5)}70%,100%{opacity:0;transform:scale(1.6)}}
.js.anim .hero__kicker,.js.anim .hero__name,.js.anim .hero__sub,.js.anim .hero__cta,.js.anim .wx,.js.anim .hero__scenes{opacity:0;animation:hero-in 1.6s cubic-bezier(.25,.1,.25,1) .15s forwards}
.js.anim .hero__kicker{animation-delay:.24s}.js.anim .hero__name{animation-delay:.33s}.js.anim .hero__sub{animation-delay:.42s}.js.anim .hero__cta{animation-delay:.51s}.js.anim .hero__scenes{animation-delay:.6s}
@keyframes hero-in{to{opacity:1}}
@keyframes safety-show{to{opacity:1}}
.hero__title{margin-top:clamp(18px,2.6vh,28px);font-weight:400}
.hero__kicker{display:block;font:500 clamp(13px,1vw,14.5px)/1.2 var(--sans);letter-spacing:0;text-transform:none;color:#f3efea;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.hero__name{display:block;margin:4px 0 0 -.04em;font:400 clamp(92px,15.5vw,236px)/.9 var(--sans);letter-spacing:-.035em}
.hero__sub{max-width:30em;text-shadow:0 1px 18px rgba(0,0,0,.3);margin-top:clamp(14px,2vh,22px);font:400 clamp(17px,1.4vw,21px)/1.5 var(--sans);color:rgba(243,239,234,.88)}
.hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(22px,3vh,32px)}
.hero .btn--accent{background:#f3efea;color:#18221b}
.hero .btn--accent:hover{background:var(--accent);color:#fffaf4}
.hero__scenes{display:flex;gap:clamp(16px,3vw,44px);padding-block:16px calc(18px + env(safe-area-inset-bottom));border-top:1px solid rgba(243,239,234,.2)}
.scene-b{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0;border:0;background:none;font:500 13.5px/1 var(--sans);color:rgba(243,239,234,.66);cursor:pointer;transition:color .4s}
.scene-b i{width:22px;height:1px;background:currentColor;opacity:.6;transition:width .6s var(--ease),opacity .4s}
.scene-b:hover,.scene-b[aria-pressed="true"]{color:#f3efea}
.scene-b[aria-pressed="true"] i{width:40px;opacity:1}

/* ---------- Photos: lens settle the first time they are seen ---------- */
.js [data-lens] img{scale:1.02;opacity:.001}
.js [data-lens].is-lens img{animation:lens 1.6s cubic-bezier(.25,.1,.25,1) forwards}
@keyframes lens{from{scale:1.02;opacity:.001}to{scale:1;opacity:1}}

/* ---------- The house ---------- */
.house__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.house__story{grid-column:1/span 5;display:grid;gap:22px}
.house__story .h2{margin-bottom:6px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--gap);margin-top:18px}
.stat{padding:18px 0 22px;border-top:1px solid var(--line)}
.stat dt{font:500 14px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
.stat dd{display:grid;gap:4px;margin-top:10px}
.stat b{font:400 clamp(58px,6.4vw,104px)/.92 var(--sans);letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums}
.stat span{color:var(--ink-2);font-size:15px}
.house__out,.house__price{display:grid;grid-template-columns:90px 1fr;gap:16px;padding-top:16px;border-top:1px solid var(--line);font-size:15.5px;color:var(--ink-2)}
.house__out span,.house__price span{font:500 14px/1.6 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
.house__price a{white-space:nowrap;color:var(--ink);font-variant-numeric:tabular-nums;text-underline-offset:4px;text-decoration-color:var(--line-2)}
.house__photos{grid-column:7/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gap)}
.ph{margin:0}
.ph__in{display:block;overflow:hidden;border-radius:var(--rad);background:var(--ph)}
.ph__in picture,.ph__in img{width:100%;height:100%}
.ph__in img{object-fit:cover;transition:transform 1.2s var(--ease)}
.ph__in:hover img{transform:scale(1.025)}
.ph figcaption,.slide figcaption{margin-top:12px;font-size:13.5px;color:var(--ink-3)}
.ph--a{grid-column:1/span 4;grid-row:1}
.ph--a .ph__in{aspect-ratio:4/5}
.ph--c{grid-column:5/span 2;grid-row:1;align-self:end;margin-bottom:28%}
.ph--c .ph__in{aspect-ratio:3/4}
.ph--b{grid-column:2/span 5;grid-row:2;margin-top:-14%}
.ph--b .ph__in{aspect-ratio:4/3;box-shadow:0 0 0 clamp(6px,.7vw,10px) var(--bg)}

/* ---------- Sleep: who sleeps where ---------- */
.sleep{background:var(--bg-2)}
.sleep__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.sleep__head{grid-column:1/span 5;display:grid;gap:20px;position:sticky;top:110px}
.party{display:grid;gap:14px;margin-top:10px}
.party__l{font:500 14px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
.party__opts{display:flex;flex-wrap:wrap;gap:8px}
.party__note{min-height:1.6em;color:var(--ink-2);font-size:15px}
.ledger{grid-column:7/-1;border-bottom:1px solid var(--line)}
.ledger__row{display:grid;grid-template-columns:clamp(70px,7.5vw,116px) 1fr;gap:0 clamp(16px,2vw,28px);padding:clamp(24px,2.8vw,38px) 0;border-top:1px solid var(--line);transition:opacity .45s var(--ease)}
.ledger__n{font:400 clamp(56px,6.2vw,96px)/.9 var(--sans);letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums;transition:color .45s var(--ease)}
.ledger__t{font:400 clamp(20px,1.7vw,24px)/1.25 var(--sans);letter-spacing:-.015em}
.ledger__s{margin-top:2px;color:var(--ink-2);font-size:15px}
.ledger__icons{display:flex;flex-wrap:wrap;gap:12px clamp(8px,1vw,14px);margin-top:20px}
.plan{width:clamp(34px,3.4vw,48px);height:auto;flex:none;fill:none;stroke:var(--ink-2);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:stroke .45s var(--ease)}
.ledger.is-picking .ledger__row:not(.is-pick){opacity:.35}
.ledger.is-picking .is-pick .plan{stroke:var(--accent-ink)}
.ledger.is-picking .is-pick .ledger__n{color:var(--accent-ink)}

/* inquiry builder */
.ask{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,5fr);gap:clamp(24px,3vw,48px);margin-top:clamp(64px,7vw,110px);padding:clamp(24px,3vw,44px);border-radius:var(--rad-lg);background:var(--surface);border:1px solid var(--line)}
.ask__head{display:grid;gap:12px;align-content:start}
.ask__head .muted{font-size:15px}
.ask__ctl{display:grid;gap:22px;align-content:start}
.range{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px 12px}
.range__l{font:500 14px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
.range__v{font:600 44px/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums}
.range input{grid-column:1/-1;width:100%;height:28px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.range input::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent-ink) var(--fill,50%),var(--line-2) var(--fill,50%))}
.range input::-moz-range-track{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent-ink) var(--fill,50%),var(--line-2) var(--fill,50%))}
.range input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-10px;border-radius:50%;background:var(--surface);border:1.5px solid var(--accent-ink);box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}
.range input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--surface);border:1.5px solid var(--accent-ink)}
.ask__out{display:grid;gap:16px;align-content:start}
.ask__alloc{font:600 19px/1.4 var(--sans);letter-spacing:-.01em}
.ask__msg{padding:16px 18px;border-radius:var(--rad);background:var(--bg-2);color:var(--ink-2);font-size:15px;line-height:1.55}
.ask__btns{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- Filmstrips ---------- */
.strip-sec{padding-bottom:calc(var(--sec)*.8)}
.rooms{padding-top:0}
.strip-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;margin-bottom:clamp(36px,4vw,60px)}
.strip-head>div{grid-column:1/span 7}
.strip-head>p{grid-column:9/-1}
.strip__scroller{display:flex;gap:clamp(14px,1.8vw,28px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding-inline:var(--pad);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline-offset:-2px}
.strip__scroller::-webkit-scrollbar{display:none}
.strip__scroller.is-drag{scroll-snap-type:none;cursor:grabbing;user-select:none}
@media (hover:hover) and (pointer:fine){.strip__scroller{cursor:grab}}
.slide{flex:none;margin:0;scroll-snap-align:start;width:min-content}
.slide__ph{display:block;height:clamp(320px,62vh,640px);aspect-ratio:4/3;overflow:hidden;border-radius:var(--rad);background:var(--ph)}
.slide--port .slide__ph{aspect-ratio:4/5}
.slide__ph picture,.slide__ph img{width:100%;height:100%}
.slide__ph img{object-fit:cover;-webkit-user-drag:none}
.slide figcaption{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;max-width:420px;margin-top:16px}
.slide__n{grid-row:span 2;font:600 15px/1.5 var(--sans);color:var(--accent-ink);font-variant-numeric:lining-nums tabular-nums}
.slide figcaption b{font:600 21px/1.3 var(--sans);letter-spacing:-.015em;color:var(--ink)}
.slide figcaption span:not(.slide__n){color:var(--ink-2);font-size:14.5px}
.slide:last-child{margin-right:var(--pad)}
.strip__meta{display:flex;align-items:center;gap:22px;margin-top:clamp(24px,3vw,40px)}
.strip__n{font:400 15px/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink-3);white-space:nowrap}
.strip__n b{font-weight:500;color:var(--ink)}
.strip__bar{position:relative;flex:1;height:1px;background:var(--line-2);overflow:hidden}
.strip__bar i{position:absolute;inset:0;background:var(--ink);transform:scaleX(var(--p,0));transform-origin:left;transition:transform .2s linear}
.strip__btns{display:flex;gap:8px}

/* ---------- Amenities and occasions: one index ---------- */
.idx{background:var(--bg-2)}
.idx__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.idx__head{grid-column:1/span 4;display:grid;gap:18px;position:sticky;top:110px}
.idx__body{grid-column:6/-1}
.tabs{display:flex;gap:6px;padding:5px;border-radius:999px;background:var(--surface);border:1px solid var(--line);overflow-x:auto;scrollbar-width:none;width:max-content;max-width:100%}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:40px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--ink-2);font:500 14.5px/1 var(--sans);cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease)}
.tab sup{top:0;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.tab[aria-selected="true"] sup{color:inherit;opacity:.6}
.idx__panel{margin-top:clamp(28px,3vw,44px)}
.idx__panel:not([hidden]){animation:panel-in .6s var(--ease)}
@keyframes panel-in{from{opacity:0}to{opacity:1}}
.idx__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gap);border-bottom:1px solid var(--line)}
.idx__list li{display:flex;align-items:center;gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.idx__list b{display:block;font:400 clamp(19px,1.5vw,22px)/1.3 var(--sans);letter-spacing:-.01em}
.idx__list small{display:block;margin-top:3px;color:var(--ink-2);font-size:14.5px;line-height:1.5}
.idx__list--wide{grid-template-columns:1fr}
.idx__list--wide li{align-items:flex-start}
.idx-ic{width:30px;height:30px;flex:none;fill:none;stroke:var(--accent-ink);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Gallery: magazine masonry ---------- */
.gal__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end}
.gal__head>div{grid-column:1/span 7}
.gal__head>p{grid-column:9/-1}
.gal__filters{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(32px,3.6vw,52px) 0 clamp(24px,2.6vw,36px)}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--ink-2);font:500 14px/1 var(--sans);cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.chip sup{top:0;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip[aria-pressed="true"] sup{color:inherit;opacity:.6}
.gal__grid{columns:3;column-gap:clamp(12px,1.4vw,20px);transition:opacity .3s ease}
.gal__grid.is-switching{opacity:0}
.gi{break-inside:avoid;margin:0 0 clamp(12px,1.4vw,20px)}
.gi.is-out,.gi.is-more{display:none}
.gi a{position:relative;display:block;overflow:hidden;border-radius:var(--rad);background:var(--c,var(--ph));aspect-ratio:3/4;cursor:zoom-in}
.gi--land a{aspect-ratio:4/3}
.gi--port:nth-child(5n+2) a{aspect-ratio:2/3}
.gi--port:nth-child(7n+4) a{aspect-ratio:4/5}
.gi picture,.gi img{width:100%;height:100%}
.gi img{object-fit:cover;transition:transform 1s var(--ease)}
.gi figcaption{margin-top:10px;font-size:13.5px;color:var(--ink-3)}
.gi__pill{position:absolute;left:14px;bottom:14px;padding:9px 14px;border-radius:999px;background:rgba(15,20,17,.42);border:1px solid rgba(243,239,234,.24);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f3efea;font:500 13px/1 var(--sans);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .5s var(--ease);pointer-events:none}
@media (hover:hover) and (pointer:fine){
  .gi a:hover img{transform:scale(1.03)}
  .gi a:hover .gi__pill,.gi a:focus-visible .gi__pill{opacity:1;transform:none}
}
.gal__more{display:flex;justify-content:center;margin-top:clamp(24px,3vw,44px)}
.gal__more[hidden]{display:none}

/* ---------- Around: an explorer ---------- */
.around{background:var(--bg-2)}
.around__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.around__head{grid-column:1/span 6;display:grid;gap:18px}
.places{grid-column:1/span 6;margin-top:clamp(36px,4vw,56px);border-bottom:1px solid var(--line)}
.place{border-top:1px solid var(--line)}
.place__b{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:6px 16px;width:100%;padding:18px 0 16px;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}
.place__b .ic{width:24px;height:24px;stroke-width:1.25;color:var(--ink-3);transition:color .35s}
.place__name{font:400 clamp(19px,1.6vw,23px)/1.25 var(--sans);letter-spacing:-.015em;transition:color .35s}
.place__km{font:500 14.5px/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink-2)}
.place__bar{grid-column:2/-1;position:relative;height:1px;background:var(--line);margin-top:8px}
.place__bar i{position:absolute;left:0;top:0;height:1px;width:max(6px,calc(var(--d)*100%));background:var(--ink-3);transition:background-color .35s,height .35s}
.place.is-on .place__name,.place.is-on .place__b .ic{color:var(--accent-ink)}
.place.is-on .place__bar i{background:var(--accent-ink);height:2px;top:-.5px}
.place__more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.place__more>div{overflow:hidden;padding-left:44px}
.place.is-on .place__more{grid-template-rows:1fr}
.place.is-on .place__more>div{padding-bottom:22px}
.place__tag{font:500 14px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-3)}
.place__txt{margin:8px 0 12px;color:var(--ink-2);font-size:15.5px}
.around__card{grid-column:8/-1;grid-row:1/span 2;position:sticky;top:110px;display:none;padding:clamp(28px,3vw,44px);border-radius:var(--rad-lg);background:var(--surface);border:1px solid var(--line)}
.around__km{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.around__km b{font:400 clamp(64px,7vw,112px)/.9 var(--sans);letter-spacing:-.045em;font-variant-numeric:lining-nums tabular-nums}
.around__km span{color:var(--ink-2);font-size:15px;text-align:right}
.around__name{margin-top:22px;font:400 clamp(26px,2.4vw,34px)/1.15 var(--sans);letter-spacing:-.02em}
.around__card [data-pc-body]{margin-top:10px}
.around__card .place__txt{font-size:16px}
.around__card.is-swap [data-pc-km],.around__card.is-swap [data-pc-name],.around__card.is-swap [data-pc-body]{opacity:0}
.around__card [data-pc-km],.around__card [data-pc-name],.around__card [data-pc-body]{transition:opacity .25s ease}

/* ---------- FAQ ---------- */
.faq__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.faq__side{grid-column:1/span 4;display:grid;gap:18px;position:sticky;top:110px}
.faq__call{display:grid;gap:4px;margin-top:6px}
.faq__call a{font:400 clamp(26px,2.4vw,34px)/1.2 var(--sans);letter-spacing:-.02em;text-decoration:none;font-variant-numeric:lining-nums tabular-nums;transition:color .3s}
.faq__call a:hover{color:var(--accent-ink)}
.faq__list{grid-column:6/-1;border-bottom:1px solid var(--line)}
.qa{border-top:1px solid var(--line)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(20px,2vw,26px) 0;cursor:pointer;list-style:none;font:400 clamp(19px,1.5vw,22px)/1.35 var(--sans);letter-spacing:-.01em;transition:color .3s}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--accent-ink)}
.qa__i{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);transition:background-color .4s,border-color .4s,color .4s}
.qa__i::before,.qa__i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:currentColor;transition:transform .5s var(--ease)}
.qa__i::after{transform:rotate(90deg)}
.qa[open] .qa__i{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.qa[open] .qa__i::after{transform:rotate(0)}
.qa__a{overflow:hidden}
.qa__a>div{padding:0 60px 26px 0;color:var(--ink-2);max-width:62ch}
.qa__a a{color:var(--accent-ink);text-underline-offset:3px}

/* ---------- Location ---------- */
.loc__head{margin-bottom:clamp(32px,4vw,56px)}
.loc__box{position:relative}
.loc__map{position:relative;height:clamp(440px,64vh,640px);border-radius:var(--rad-lg);background:var(--ph);overflow:hidden;border:1px solid var(--line)}
.loc__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:var(--map-filter);transition:filter .45s ease}
.loc__ph{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;color:var(--ink-3);font-size:14px}
.loc__ph svg{width:72px;fill:currentColor;opacity:.5}
.loc__shield{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-start;justify-content:flex-end;padding:16px;border:0;background:transparent;cursor:pointer}
.loc__shield span{padding:10px 16px;border-radius:999px;background:var(--glass);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:500 13px/1 var(--sans);opacity:0;transition:opacity .35s}
.loc__shield:hover span{opacity:1}
.loc__map.is-live .loc__shield{display:none}
.loc__card{position:absolute;z-index:2;left:clamp(14px,2vw,32px);bottom:clamp(14px,2vw,32px);width:min(420px,calc(100% - 28px));display:grid;gap:12px;padding:clamp(24px,2.4vw,34px);border-radius:var(--rad-lg);background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line)}
.loc__card .eyebrow{margin:0}
.loc__addr{font:400 clamp(20px,1.6vw,23px)/1.4 var(--sans);letter-spacing:-.01em}
.loc__card .muted{font-size:15px}
.loc__btns{display:grid;gap:8px;margin-top:8px}
.loc__btns .btn{justify-content:flex-start}

/* ---------- Contact: the forest at the end of the page ---------- */
.cta{position:relative;background:var(--pine);color:var(--on-pine);padding-bottom:clamp(96px,11vw,170px)}
/* ---------- Layered landscapes: planes that drift apart as the page scrolls (driven by GSAP, see sianna.js) ---------- */
.scape{position:relative;overflow:hidden;pointer-events:none;isolation:isolate}
.scape__l{position:absolute;left:0;right:0;bottom:-15%;height:125%;will-change:transform;backface-visibility:hidden}
.scape__shape{position:absolute;inset:0;background:currentColor;-webkit-mask:var(--m) no-repeat;mask:var(--m) no-repeat}
.scape__shape--stretch{-webkit-mask-size:100% 100%;mask-size:100% 100%}
.scape__shape--left,.scape__shape--right{-webkit-mask-size:100% 100%;mask-size:100% 100%}
.scape__shape--crop{-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:50% 100%;mask-position:50% 100%}
/* a misty Rhodope morning, above the questions */
.scape--mist{height:220px;background:linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 100%);-webkit-mask:linear-gradient(180deg,#000 66%,transparent 100%);mask:linear-gradient(180deg,#000 66%,transparent 100%);
  --m1:#c9d4c8;--m2:#9bb09b;--m3:#6e8570;--fog:rgba(245,241,232,.65)}
[data-theme="evening"] .scape--mist{--m1:#33403a;--m2:#25302a;--m3:#2c3a31;--fog:rgba(18,22,19,.55)}
.scape__l--m1{color:var(--m1);opacity:.55}
.scape__mist-spruce{color:var(--m2);opacity:.75}
.scape__fog{position:absolute;left:0;right:0;top:46%;height:34%;background:linear-gradient(to bottom,transparent,var(--fog),transparent)}
.scape__l--m3{bottom:-25%;height:135%}
.scape__l--m3{color:var(--m3);-webkit-mask:linear-gradient(180deg,#000 60%,transparent 90%);mask:linear-gradient(180deg,#000 60%,transparent 90%)}
/* sunset to night, above the reservations: the meadow rises past you into the dark */
.scape--dusk{height:320px;background:var(--bg);
  --sky-a:var(--bg);--sky-b:#e6c39c;--sky-c:#4a5d52;--r1:#3b4d42;--r2:#2b3a31;--canopy:#1f2d24}
[data-theme="evening"] .scape--dusk{--sky-b:#5a3f2b;--sky-c:#1e2822;--r1:#1b241e;--r2:#151c17;--canopy:#111712}
.scape__l--sky{top:-30%;bottom:-30%;height:auto;background:linear-gradient(180deg,var(--sky-a) 0%,var(--sky-b) 48%,var(--sky-c) 82%,var(--sky-c) 100%)}
.scape__sun{position:absolute;left:62%;top:56%;width:min(34vw,420px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,224,170,.85),rgba(246,196,132,.35) 45%,rgba(246,196,132,0))}
[data-theme="evening"] .scape__sun{opacity:.45}
.scape__dusk-ridge-far{color:var(--r1)}
.scape__dusk-ridge-near{color:var(--r2)}
.scape__dusk-pines{color:var(--canopy)}
.scape__haze{position:absolute;left:0;right:0;top:30%;height:30%;opacity:.35;background:linear-gradient(180deg,transparent,rgba(230,195,156,.7),transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.scape__l--d4{bottom:-25%;height:135%}
.scape__l--d4::after{content:"";position:absolute;left:0;right:0;top:calc(100% - 2px);height:100%;background:var(--pine)}
.scape__l--d4{color:var(--pine)}
@media (min-width:960px){.scape--mist{height:300px}.scape--dusk{height:440px}}
/* reduced motion or no script: the layers simply rest where they are drawn */


.cta__in{padding-top:clamp(56px,7vw,110px)}
.cta .eyebrow{color:#e5b58a}
.cta__title{max-width:12em}
.cta__lead{max-width:34em;margin-top:22px;color:var(--on-pine-2);font-size:17.5px}
.cta__phones{margin-top:clamp(40px,5vw,72px);border-bottom:1px solid var(--line-pine)}
.phone-big{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(16px,2vw,26px) 0;border-top:1px solid var(--line-pine);text-decoration:none;transition:color .35s}
.phone-big__n{font:400 clamp(44px,7.6vw,124px)/1 var(--sans);letter-spacing:-.035em;font-variant-numeric:lining-nums tabular-nums}
.phone-big__h{font:500 13.5px/1.3 var(--sans);color:var(--on-pine-2);text-align:right;transition:color .35s}
.hint-copy{display:none}
@media (hover:hover) and (pointer:fine){.hint-copy{display:inline}.hint-call{display:none}}
.phone-big:hover{color:#e5b58a}
.phone-big:hover .phone-big__h{color:var(--on-pine)}
.cta__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(32px,4vw,52px)}
.cta .btn--accent{background:#e5b58a;color:#1a120b}
.cta .btn--accent:hover{background:#f3efea;color:#18221b}

/* ---------- Footer ---------- */
.foot{background:var(--pine-2);color:var(--on-pine-2);padding:clamp(64px,7vw,100px) 0 32px}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px var(--gap)}
.foot__logo{width:min(220px,70%);height:auto;fill:var(--on-pine);margin-bottom:24px}
.foot__brand p{max-width:30ch;font-size:15px}
.foot__h{font:500 14px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:#e5b58a;margin-bottom:16px}
.foot__col li{margin-bottom:9px}
.foot__col a,.foot__col address{font-size:15px;text-decoration:none;color:var(--on-pine-2);transition:color .3s}
.foot__col a:hover{color:var(--on-pine)}
.foot__map{display:inline-block;margin-top:12px;border-bottom:1px solid var(--line-pine);padding-bottom:3px}
.foot__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:clamp(48px,6vw,80px);padding-top:24px;border-top:1px solid var(--line-pine);font-size:13.5px}
.foot__bottom a{color:var(--on-pine-2);text-decoration:none}
.foot__bottom a:hover{color:var(--on-pine)}

/* ---------- Mobile glass dock, toast ---------- */
.dock{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:none;grid-template-columns:1fr 52px 52px;gap:6px;padding:6px;border-radius:999px;background:rgba(18,22,19,.6);border:1px solid rgba(243,239,234,.14);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 18px 40px -18px rgba(0,0,0,.6);transform:translateY(calc(100% + 30px));transition:transform .6s var(--ease)}
.dock.is-on{transform:none}
.dock a{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;border-radius:999px;text-decoration:none;font:600 15px/1 var(--sans);color:#f3efea}
.dock__call{background:#e5b58a;color:#1a120b!important}
.dock__ic{background:rgba(243,239,234,.1)}
.toast{position:fixed;left:50%;bottom:28px;z-index:100;max-width:calc(100% - 32px);padding:13px 20px;border-radius:999px;background:rgba(18,22,19,.86);color:#f3efea;border:1px solid rgba(243,239,234,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px -18px rgba(0,0,0,.6);font:500 14.5px/1.3 var(--sans);text-align:center;opacity:0;transform:translate(-50%,18px);pointer-events:none;transition:opacity .4s var(--ease),transform .6s var(--ease)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ---------- Lightbox: frosted pine, gestures ---------- */
.lb{position:fixed;inset:0;z-index:120;color:#f3efea;background:rgba(15,20,17,calc(.95*var(--bo,1)));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;transition:opacity .4s var(--ease);overscroll-behavior:contain}
.lb[hidden]{display:none}
.lb.is-open{opacity:1}
.lb__stage{position:absolute;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.lb__track{position:absolute;inset:0;will-change:transform}
.lb__track.is-anim{transition:transform .45s var(--ease)}
.lb__slide{position:absolute;inset:0;display:grid;place-items:center;padding:72px clamp(12px,6vw,110px) 104px;transform:translateX(calc(var(--k)*(100% + 24px)))}
.lb__slide picture{display:grid;place-items:center;max-width:100%;max-height:100%}
.lb__slide img{max-width:100%;max-height:calc(100vh - 176px);max-height:calc(100svh - 176px);width:auto;height:auto;object-fit:contain;border-radius:4px;transform-origin:center;-webkit-user-drag:none}
.lb__slide img.is-anim{transition:transform .4s var(--ease)}
.lb__top{position:absolute;top:calc(14px + env(safe-area-inset-top));right:clamp(12px,2vw,28px);z-index:2}
.lb__nav{position:absolute;top:50%;z-index:2;margin-top:-24px}
.lb__nav--prev{left:clamp(12px,2vw,28px)}
.lb__nav--next{right:clamp(12px,2vw,28px)}
.lb__bar{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;gap:14px;padding:18px clamp(16px,3vw,40px) calc(22px + env(safe-area-inset-bottom));transition:opacity .3s}
.lb__badge{flex:none;padding:6px 11px;border-radius:999px;border:1px solid rgba(243,239,234,.24);font:500 14px/1.2 var(--sans);letter-spacing:.04em;color:rgba(243,239,234,.86)}
.lb__badge[hidden]{display:none}
.lb__cap{flex:1;min-width:0;font:600 17px/1.3 var(--sans);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb__count{flex:none;font:500 14px/1 var(--sans);font-variant-numeric:tabular-nums;color:rgba(243,239,234,.7)}
.lb__count b{font-weight:500;color:#f3efea}
.lb.is-dragging .lb__bar,.lb.is-dragging .lb__top,.lb.is-dragging .lb__nav,.lb.is-zoomed .lb__nav{opacity:0;pointer-events:none}
.lb__top,.lb__nav{transition:opacity .3s}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nav{display:none}
  .burger{display:inline-grid}
  .ask{grid-template-columns:1fr 1fr}
  .ask__head{grid-column:1/-1}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (min-width:1101px){.menu{display:none!important}}
@media (min-width:960px){
  .around__card{display:block}
  .place__more{display:none}
}
@media (max-width:959px){
  html{scroll-padding-top:84px}
  .hdr{top:10px;left:10px;right:10px}
  .hdr__in{height:56px;padding:0 6px 0 16px;gap:10px}
  .brand__roof{width:28px}
  .brand__script{height:21px}
  .hdr__book{display:none}
  .theme{padding:0 6px;border:0}
  .theme__l{display:none}
  .hero{height:100vh;height:100svh;min-height:560px;max-height:none}
  .hero__scenes{gap:18px;overflow-x:auto;scrollbar-width:none}
  .hero__scenes::-webkit-scrollbar{display:none}
  .scene-b{flex:none;font-size:13px}
  .scene-b{font-size:12.5px;gap:7px}
  .scene-b i{width:0}
  .scene-b[aria-pressed="true"] i{width:16px}
  .hero__cta .btn{flex:1 1 auto}
  .house__story,.house__photos{grid-column:1/-1}
  .house__photos{margin-top:56px}
  .ph--b{grid-column:1/-1;margin-top:0}
  .ph--b .ph__in{box-shadow:none}
  .ph--c{margin-bottom:0}
  .sleep__head{grid-column:1/-1;position:relative;top:0}
  .ledger{grid-column:1/-1;margin-top:44px}
  .ask{grid-template-columns:1fr}
  .strip-head>div,.strip-head>p{grid-column:1/-1}
  .strip-head>p{margin-top:16px}
  .slide__ph{height:auto;width:84vw;max-width:520px}
  .slide--port .slide__ph{width:68vw;max-width:420px}
  .strip__btns{display:none}
  .idx__head{grid-column:1/-1;position:relative;top:0}
  .idx__body{grid-column:1/-1;margin-top:36px}
  .tabs{width:auto;max-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);border-radius:0;border-inline:0;background:transparent;border:0;padding-block:0}
  .tab{border:1px solid var(--line-2)}
  .tab[aria-selected="true"]{border-color:var(--ink)}
  .idx__list{grid-template-columns:1fr}
  .gal__head>div,.gal__head>p{grid-column:1/-1}
  .gal__head>p{margin-top:14px}
  .gal__grid{columns:2}
  .gi figcaption{display:none}
  .gi__pill{display:none}
  .around__head,.places{grid-column:1/-1}
  .faq__side{grid-column:1/-1;position:relative;top:0}
  .faq__list{grid-column:1/-1;margin-top:44px}
  .qa__a>div{padding-right:0}
  .loc__map{height:clamp(340px,56vh,480px)}
  .loc__card{position:relative;left:auto;bottom:auto;width:auto;margin:-36px 12px 0}
  .phone-big{flex-direction:column;align-items:flex-start;gap:6px}
  .phone-big__h{text-align:left}
  .dock{display:grid}
  .foot{padding-bottom:120px}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
  .lb__nav{display:none}
  .lb__slide{padding:64px 0 96px}
  .lb__slide img{border-radius:0}
}
@media (max-width:600px){
  .hide-sm{display:none}
  .stats{gap:0 18px}
  .stat b{font-size:clamp(52px,15vw,72px)}
  .house__out,.house__price{grid-template-columns:1fr;gap:4px}
  .ledger__row{grid-template-columns:56px 1fr}
  .ledger__icons{gap:10px 6px}
  .plan{width:min(32px,calc((100vw - 190px)/7))}
  .foot__grid{grid-template-columns:1fr}
  .hero__cta{flex-wrap:nowrap}
  .hero__cta .btn{padding:0 16px;font-size:14.5px}
}
@media (max-width:959px) and (max-height:700px){
  .hero__name{font-size:clamp(76px,22vw,120px)}
  .hero__sub{font-size:16px}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js [data-lens] img{scale:1}
  .wx__dot::after{display:none}
}
@media print{
  .hdr,.dock,.menu,.lb,.toast,.scape,.hero__scenes{display:none!important}
  .hero{height:auto;min-height:0;color:var(--ink)}
}

/* ======================================================================
   Calm, app-like layer (2026-11): one family, soft cards, segmented controls,
   and one photo that opens up as you scroll.
   ====================================================================== */
.h2{font-weight:400;letter-spacing:-.035em;line-height:1.06}
.hero__name{font-weight:300;letter-spacing:-.05em;line-height:.92}
.stat b,.ledger__n,.around__km b,.phone-big__n{letter-spacing:-.045em}
.ask,.around__card,.loc__card{border:0}
.ask{background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.04),0 18px 50px -30px rgba(0,0,0,.18)}
.around__card{box-shadow:0 1px 2px rgba(0,0,0,.04),0 18px 50px -30px rgba(0,0,0,.18)}
.loc__map{border:0}
.qa__i{border-color:var(--line-2)}

/* iOS segmented controls: the selected segment is a raised white thumb */
.tabs{background:rgba(118,118,128,.12);border:0;padding:3px;gap:2px}
.tab{min-height:36px;border-radius:999px}
.tab[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
.tab[aria-selected="true"] sup{opacity:.5}
[data-theme="evening"] .tab[aria-selected="true"]{background:#636366;color:#fff}
.hero__scenes{display:inline-flex;width:max-content;max-width:100%;gap:2px;padding:3px;margin-bottom:calc(20px + env(safe-area-inset-bottom));border:0;border-radius:999px;background:rgba(20,20,22,.34);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6)}
.hero__scenes.wrap{margin-left:max(var(--gutter),calc((100vw - var(--maxw))/2))}
.scene-b{min-height:34px;padding:0 16px;border-radius:999px;color:rgba(255,255,255,.82);font:500 14px/1 var(--sans);transition:background-color .35s var(--ease),color .35s var(--ease)}
.scene-b[aria-pressed="true"]{background:rgba(255,255,255,.92);color:#1d1d1f}
.scene-b:hover{color:#fff}
.scene-b[aria-pressed="true"]:hover{color:#1d1d1f}
.hero__in{padding-bottom:22px}

@media (max-width:959px){
  .hero__scenes{margin-bottom:calc(16px + env(safe-area-inset-bottom))}
  .scene-b{padding:0 11px;font-size:12.5px;min-height:32px}
  .hero__scenes{max-width:calc(100% - 2*var(--gutter))}
}
@media (max-width:600px){
  .ledger__row{grid-template-columns:76px 1fr}
  .ledger__n{font-size:52px}
}

/* ---------- Stillness (2026-11): quiet surfaces, soft presses, no scroll-driven motion ---------- */
.hero__shade{background:linear-gradient(180deg,rgba(18,16,13,.28) 0%,rgba(18,16,13,0) 22%,rgba(18,16,13,0) 42%,rgba(18,16,13,.38) 70%,rgba(18,16,13,.66) 100%)}
.btn,.pill,.chip,.tab,.scene-b,.round,.dock a,.theme,.place__b,.qa summary{-webkit-tap-highlight-color:transparent;transition-timing-function:cubic-bezier(.25,.1,.25,1)}
.btn:active,.pill:active,.chip:active,.tab:active,.scene-b:active,.round:active,.dock a:active,.theme:active{transform:scale(.97);transition:transform .12s ease}
.eyebrow{color:var(--accent-ink)}
.ph__in img,.gi img,.cl__in img{transition:transform 1.6s cubic-bezier(.25,.1,.25,1)}
.ph__in:hover img{transform:scale(1.015)}
@media (hover:hover) and (pointer:fine){.gi a:hover img{transform:scale(1.015)}}
.lead{font-weight:400}

/* =====================================================================
   Liquid layer (2026-11). Glass that lets the colours underneath through
   and catches a highlight; springs instead of timing curves; an iOS sheet
   for the menu; a bottom bar that is always there on phones.
   ===================================================================== */
:root{
  --spring:linear(0, 0.0372, 0.1293, 0.252, 0.3866, 0.52, 0.6431, 0.7508, 0.8407, 0.9122, 0.9664, 1.0052, 1.0309, 1.0461, 1.0531, 1.0541, 1.051, 1.0453, 1.0384, 1.031, 1.0239, 1.0175, 1.0119, 1.0073, 1.0038, 1.0011, 0.9992, 0.998, 0.9973, 0.9971, 0.9971, 0.9973, 0.9977, 0.998, 0.9984, 0.9988, 1);
  --spring-soft:linear(0, 0.0291, 0.1002, 0.1944, 0.2982, 0.4026, 0.5017, 0.592, 0.6719, 0.7407, 0.7988, 0.8468, 0.8859, 0.917, 0.9414, 0.9602, 0.9743, 0.9848, 0.9923, 0.9975, 1.001, 1.0032, 1.0044, 1.0049, 1.005, 1.0048, 1.0044, 1.0039, 1.0034, 1.0028, 1.0024, 1.0019, 1.0015, 1.0012, 1.0009, 1.0007, 1);
  --lg-bg:linear-gradient(180deg,rgba(255,255,255,.64),rgba(255,255,255,.36));
  --lg-edge:rgba(255,255,255,.7);
  --lg-shine:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.3),inset 0 0 0 .5px rgba(255,255,255,.35);
  --lg-drop:0 1px 2px rgba(31,29,26,.05),0 14px 36px -16px rgba(31,29,26,.3);
  --lg-blur:blur(24px) saturate(1.9);
}
[data-theme="evening"]{
  --lg-bg:linear-gradient(180deg,rgba(56,52,46,.6),rgba(30,28,25,.5));
  --lg-edge:rgba(255,255,255,.14);
  --lg-shine:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 1px rgba(255,255,255,.04),inset 0 0 0 .5px rgba(255,255,255,.06);
  --lg-drop:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.7);
}
/* the glass itself */
.hdr__in,.dock,.toast,.menu__in{background:var(--lg-bg);border:1px solid var(--lg-edge);box-shadow:var(--lg-shine),var(--lg-drop);-webkit-backdrop-filter:var(--lg-blur);backdrop-filter:var(--lg-blur)}
.hdr__in::after,.dock::after,.menu__in::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 160% at var(--gx,22%) -30%,rgba(255,255,255,.5),rgba(255,255,255,0) 46%);opacity:.7;mix-blend-mode:soft-light;transition:background-position .6s var(--spring-soft)}
[data-theme="evening"] .hdr__in::after,[data-theme="evening"] .dock::after,[data-theme="evening"] .menu__in::after{opacity:.35}
.hdr__in>*{position:relative;z-index:1}
.toast{color:var(--ink)}

/* header: fits every phone, clears the notch */
.hdr{top:calc(10px + env(safe-area-inset-top));transition:transform .7s var(--spring-soft)}
@media (max-width:1100px){.hdr__act,.nav+.hdr__act{margin-left:auto}}
@media (max-width:959px){
  .hdr{left:8px;right:8px}
  .hdr__in{height:54px;padding:0 6px 0 16px;gap:8px}
  .brand{gap:8px;min-width:0}
  .brand__script{height:20px}
  .theme{height:40px;padding:0 4px}
  .burger{width:42px;height:42px;border:0;background:rgba(127,127,127,.12)}
}
@media (max-width:340px){.brand__roof{display:none}.theme__track{width:52px}[data-theme="evening"] .theme__thumb{transform:translateX(22px)}}

/* springs on everything that answers a touch */
.btn,.pill,.chip,.tab,.scene-b,.round,.dock a,.theme,.burger{transition:transform .55s var(--spring),background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease}
.btn:active,.pill:active,.chip:active,.tab:active,.scene-b:active,.round:active,.dock a:active,.theme:active,.burger:active{transform:scale(.95);transition:transform .1s ease}
.theme__thumb{transition:transform .6s var(--spring),background-color .45s ease}
.theme__l>span{transition:opacity .3s ease,transform .6s var(--spring)}

/* segmented controls: one thumb that glides to the chosen segment */
[data-seg]{position:relative;isolation:isolate}
.seg-thumb{position:absolute;top:3px;bottom:3px;left:0;width:0;z-index:-1;border-radius:999px;pointer-events:none;
  transform:translateX(var(--sx,0px));width:var(--sw,0px);transition:transform .6s var(--spring),width .6s var(--spring)}
.seg-ready .scene-b[aria-pressed="true"],.seg-ready .tab[aria-selected="true"]{background:transparent;box-shadow:none}
.hero__scenes{background:rgba(24,21,17,.26);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 30px -14px rgba(0,0,0,.45)}
.hero__scenes .seg-thumb{background:rgba(255,255,255,.94);box-shadow:0 3px 10px rgba(0,0,0,.18),inset 0 1px 0 #fff}
.tabs .seg-thumb{background:var(--surface);box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
[data-theme="evening"] .tabs .seg-thumb{background:#5a564f}
.wx{background:rgba(24,21,17,.26);border-color:rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}

/* the bottom bar on phones: both numbers and Messenger, always there */
@media (max-width:959px){
  .dock{display:grid;grid-template-columns:1fr 1fr 54px;gap:6px;padding:6px;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));transform:none;animation:dock-in .9s var(--spring) .35s both}
  .dock a{height:50px;font:600 14px/1 var(--sans);letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--ink)}
  .dock__call{gap:7px!important;background:var(--ink)!important;color:var(--bg)!important;padding:0 8px}
  .dock__call .ic{width:15px;height:15px;opacity:.75}
  .dock__ic{background:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 .5px rgba(0,0,0,.06)}
  [data-theme="evening"] .dock__ic{background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
  .dock__ic .ic{width:22px;height:22px}
  .foot{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
}
@media (max-width:360px){.dock a{font-size:13px}.dock__call .ic{display:none}}
@keyframes dock-in{from{transform:translateY(calc(100% + 24px))}to{transform:none}}

/* the menu as an iOS sheet: it rises from the bottom and can be pulled down */
.menu{background:rgba(12,11,9,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .45s ease;overflow:hidden}
.menu.is-open{opacity:1}
.menu__in{position:absolute;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));min-height:0;max-height:calc(100% - 96px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:1fr;align-content:start;gap:26px;padding:8px 26px 28px;border-radius:34px;transform:translateY(calc(100% + 24px));transition:transform .75s var(--spring)}
.menu.is-open .menu__in{transform:none}
.menu__in.is-dragging{transition:none}
.menu__grab{display:grid;place-items:center;height:26px;margin:0 -26px;touch-action:none;cursor:grab}
.menu__grab i{width:40px;height:5px;border-radius:3px;background:var(--line-2)}
.menu__nav a{font:400 clamp(26px,7.4vw,34px)/1.18 var(--sans);letter-spacing:-.025em;padding:5px 0}
.menu__nav li{transition:opacity .45s ease,transform .8s var(--spring)}
.menu__phone{font:400 24px/1.25 var(--sans);letter-spacing:-.02em}
@media (prefers-reduced-motion:reduce){.js.anim .hero__media{scale:1}}

/* ---------- Hero: the name, a few words, the house as one large rounded photograph ---------- */
.hero--card{height:auto;min-height:0;max-height:none;display:block;color:var(--ink);background:var(--bg);overflow:visible;isolation:auto;padding:calc(104px + env(safe-area-inset-top)) 0 clamp(48px,6vw,96px)}
.hero--card .hero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:end;gap:20px clamp(32px,5vw,96px);padding:0;margin-bottom:clamp(26px,3vw,44px)}
.hero--card .hero__title{margin:0}
.hero--card .hero__kicker{font:500 15px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-2);text-shadow:none}
.hero--card .hero__name{display:block;margin:6px 0 0 -.06em;font:300 clamp(88px,14.5vw,232px)/.84 var(--sans);letter-spacing:-.06em;color:var(--ink)}
.hero--card .hero__sub{margin:0;max-width:none;color:var(--ink-2);text-shadow:none;font:400 clamp(17px,1.3vw,19px)/1.55 var(--sans)}
.hero--card .hero__cta{margin-top:22px;flex-wrap:wrap}
.hero--card .hero__cta .btn{min-height:50px}
.hero__aside{padding-bottom:10px}
.hero__card{position:relative;height:clamp(440px,68vh,780px);border-radius:34px;overflow:hidden;isolation:isolate;background:var(--ph);box-shadow:0 1px 2px rgba(31,29,26,.06),0 50px 90px -60px rgba(31,29,26,.55);transform:translateZ(0)}
.hero--card .hero__media{position:absolute;inset:0;z-index:0}
.hero--card .hero__scene[data-scene="0"] .hero__img{object-position:50% 62%}
.hero--card .hero__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,12,10,.2) 0%,rgba(14,12,10,0) 26%,rgba(14,12,10,0) 62%,rgba(14,12,10,.34) 100%)}
.hero--card .wx{position:absolute;top:18px;left:18px;z-index:2;color:#fff}
.hero--card .hero__scenes{position:absolute;left:18px;bottom:18px;z-index:2;margin:0;max-width:calc(100% - 36px);overflow-x:auto;scrollbar-width:none}
.hero__facts{position:absolute;right:18px;bottom:18px;z-index:2;display:flex;align-items:center;gap:12px;margin:0;padding:0 18px;height:42px;border-radius:999px;color:#fff;font:500 14px/1 var(--sans);
  background:rgba(24,21,17,.26);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 30px -14px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6)}
.hero__facts i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.7)}
.js.anim .hero__card{animation:card-in 1.4s var(--spring-soft) .25s both}
@keyframes card-in{from{opacity:0;transform:translateY(28px) scale(.975)}to{opacity:1;transform:translateZ(0)}}
@media (max-width:1100px){.hero__facts span:last-child,.hero__facts i:last-of-type{display:none}}
@media (max-width:959px){
  .hero--card{padding-top:calc(86px + env(safe-area-inset-top));padding-bottom:40px}
  .hero--card .hero__in{grid-template-columns:1fr;gap:16px;margin-bottom:22px}
  .hero--card .hero__name{font-size:clamp(76px,23vw,120px);margin-top:4px}
  .hero--card .hero__sub{font-size:16px}
  .hero--card .hero__cta{margin-top:16px;flex-wrap:nowrap}
  .hero--card .hero__cta .btn{flex:1 1 0;padding:0 14px}
  .hero__aside{padding:0}
  .hero__card{width:calc(100% - 20px);height:clamp(360px,56svh,560px);border-radius:28px}
  .hero__facts{display:none}
  .hero--card .wx{top:12px;left:12px}
  .hero--card .hero__scenes{left:12px;bottom:12px;max-width:calc(100% - 24px)}
}
@media (prefers-reduced-motion:reduce){.js.anim .hero__card{animation:none}}

/* the numbers in the bar never break; the sheet is frosted enough to read */
@media (max-width:959px){
  .dock__call span{white-space:nowrap}
  .dock a{font-size:14px;letter-spacing:0}
}
@media (max-width:430px){.dock__call .ic{display:none}.dock a{font-size:13.5px}}
@media (max-width:340px){.dock a{font-size:12.5px}.dock{grid-template-columns:1fr 1fr 50px}}
.menu__in{background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(30px) saturate(1.8);backdrop-filter:blur(30px) saturate(1.8)}
.menu{background:rgba(12,11,9,.36)}

/* ---------- The name in the logo's own script ---------- */
.hero--card .hero__name{line-height:0;margin:14px 0 0 -.02em}
.hero__script{display:block;width:min(100%,clamp(300px,46vw,720px));height:auto;fill:currentColor;overflow:visible}
@media (max-width:959px){.hero__script{width:min(84vw,400px)}.hero--card .hero__name{margin-top:10px}}

/* ---------- Call buttons: the numbers are always something to tap ---------- */
.calls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.call{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 18px 10px 10px;border-radius:22px;text-decoration:none;color:var(--ink);background:var(--surface);
  box-shadow:0 1px 2px rgba(31,29,26,.05),0 10px 26px -18px rgba(31,29,26,.35),inset 0 0 0 1px var(--line);transition:transform .55s var(--spring),box-shadow .35s ease,background-color .35s ease}
.call:hover{box-shadow:0 1px 2px rgba(31,29,26,.05),0 16px 34px -18px rgba(31,29,26,.45),inset 0 0 0 1px var(--line-2)}
.call:active{transform:scale(.96);transition:transform .1s ease}
.call__ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--bg)}
.call__ic .ic{width:18px;height:18px}
.call__t{display:grid;gap:3px;min-width:0}
.call__t small{font:500 12.5px/1 var(--sans);color:var(--ink-2)}
.call__t b{font:500 17px/1.1 var(--sans);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.calls--house{margin-top:4px}
.calls--faq{grid-template-columns:1fr;max-width:340px;margin-top:6px}
.calls--menu{grid-template-columns:1fr 1fr;margin-top:4px}
.calls--menu .call{background:color-mix(in srgb,var(--surface) 80%,transparent)}
.house__price{border-top:1px solid var(--line)}
@media (max-width:600px){.calls{grid-template-columns:1fr}.calls--menu{grid-template-columns:1fr}}
@media (max-width:380px){.call__t b{font-size:16px}}
/* the big numbers in the reservations block carry a real button */
.phone-big{align-items:center}
.phone-big__btn{flex:none;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 22px;border-radius:999px;background:#f3efea;color:#1f1d1a;font:500 15px/1 var(--sans);transition:transform .55s var(--spring),background-color .35s ease}
.phone-big__btn .ic{width:18px;height:18px}
.phone-big:hover .phone-big__btn{background:#e5c9a6}
.phone-big:active .phone-big__btn{transform:scale(.95);transition:transform .1s ease}
.phone-big__h{margin-left:auto;margin-right:18px}
@media (max-width:959px){
  .phone-big{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}
  .phone-big__n{flex:1 1 100%}
  .phone-big__h{display:none}
  .phone-big__btn{height:48px}
}

/* ---------- The Rhodope ridges: ridge behind ridge in the haze ---------- */
.scape--ridges{height:clamp(420px,62vh,620px);background:linear-gradient(180deg,var(--bg) 0%,var(--rg-sky) 46%,var(--bg) 100%);
  --rg-sky:#efe9df;--rg1:#ddd7cc;--rg2:#c9c6b9;--rg3:#acb0a1;--rg4:#8c9585;--rg5:#5f6d5f;--rg-haze:rgba(248,246,242,.75)}
[data-theme="evening"] .scape--ridges{--rg-sky:#1b1916;--rg1:#262420;--rg2:#2b2b26;--rg3:#2c302a;--rg4:#252b25;--rg5:#1a201b;--rg-haze:rgba(18,17,15,.6)}
.scape--ridges .scape__l{bottom:-18%;height:130%}
.scape__l--r1{color:var(--rg1)}.scape__l--r2{color:var(--rg2)}.scape__l--r3{color:var(--rg3)}.scape__l--r4{color:var(--rg4)}.scape__l--r5{color:var(--rg5)}
.scape__l--haze i{position:absolute;left:0;right:0;top:44%;height:26%;background:linear-gradient(180deg,transparent,var(--rg-haze),transparent)}
.scape__l--r5{-webkit-mask:linear-gradient(180deg,#000 70%,transparent 96%);mask:linear-gradient(180deg,#000 70%,transparent 96%)}
.scape--ridges{-webkit-mask:linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%);mask:linear-gradient(180deg,transparent 0%,#000 14%,#000 82%,transparent 100%)}
.ridges__txt{position:absolute;left:0;right:0;top:15%;z-index:3;width:min(92vw,820px);margin-inline:auto;text-align:center;will-change:transform}
.ridges__txt .eyebrow{margin-bottom:12px}
.ridges__h{font:300 clamp(38px,5.6vw,84px)/1.04 var(--sans);letter-spacing:-.045em;color:var(--ink);text-wrap:balance}
@media (max-width:959px){.scape--ridges{height:440px}.ridges__txt{top:11%}}

/* ---------- Lighter, airier (2026-11): bronze instead of black, light phone bar, a light footer ---------- */
:root{--cta:#8a6a43;--cta-hover:#6f5434;--on-cta:#ffffff;--cta-soft:rgba(168,134,90,.15);--pine:#2b362e;--pine-2:#232c25}
[data-theme="evening"]{--cta:#c9a27a;--cta-hover:#d8b48d;--on-cta:#17120c;--cta-soft:rgba(201,162,122,.16);--pine:#0d110e;--pine-2:#090c0a}
.btn--ink{background:var(--cta);color:var(--on-cta)}
.btn--ink:hover{background:var(--cta-hover);color:var(--on-cta)}
.pill[aria-pressed="true"],.chip[aria-pressed="true"]{background:var(--cta);border-color:var(--cta);color:var(--on-cta)}
.qa[open] .qa__i{background:var(--cta);border-color:var(--cta);color:var(--on-cta)}
.call__ic{background:var(--cta-soft);color:var(--accent-ink)}
.call:hover .call__ic{background:var(--cta);color:var(--on-cta)}
.call__ic,.call:hover .call__ic{transition:background-color .35s ease,color .35s ease}

/* phone bar: light frosted pills, each with a handset */
@media (max-width:959px){
  .dock__call{background:rgba(255,255,255,.84)!important;color:var(--ink)!important;gap:6px!important;padding:0 8px;box-shadow:inset 0 1px 0 #fff,0 0 0 .5px rgba(31,29,26,.08),0 4px 12px -6px rgba(31,29,26,.25)}
  .dock__call .ic{display:block!important;width:16px;height:16px;opacity:1;color:var(--accent-ink);stroke-width:1.8}
  .dock__ic{color:var(--accent-ink)}
  [data-theme="evening"] .dock__call{background:rgba(255,255,255,.12)!important;color:#f4f1ec!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
  [data-theme="evening"] .dock__call .ic,[data-theme="evening"] .dock__ic{color:var(--accent)}
}
@media (max-width:430px){.dock a{font-size:13.5px}}
@media (max-width:360px){.dock a{font-size:12.5px;letter-spacing:-.01em}.dock__call{gap:4px!important;padding:0 5px}.dock__call .ic{width:14px;height:14px}}

/* the footer in light stone */
.foot{background:var(--bg-2);color:var(--ink-2);border-top:1px solid var(--line)}
.foot__logo{fill:var(--accent-ink)}
.foot__h{color:var(--accent-ink)}
.foot__col a,.foot__col address,.foot__bottom a{color:var(--ink-2)}
.foot__col a:hover,.foot__bottom a:hover{color:var(--ink)}
.foot__map,.foot__bottom{border-color:var(--line)}

/* ---------- Hero, app style: a photo card that turns by itself, the name, the facts, two actions ---------- */
.hero--app{height:auto;min-height:0;max-height:none;display:block;color:var(--ink);background:var(--bg);overflow:visible;isolation:auto;padding:calc(100px + env(safe-area-inset-top)) 0 clamp(56px,7vw,110px)}
.hx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(36px,5vw,96px);min-height:calc(100svh - 160px)}
.hx__body{order:-1;display:grid;gap:22px;align-content:center}
.hero--app .hero__title{margin:0}
.hero--app .hero__kicker{font:500 15px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-2);text-shadow:none}
.hero--app .hero__name{display:block;line-height:0;margin:14px 0 0 -.02em;font-size:0}
.hero--app .hero__script{width:min(100%,clamp(300px,38vw,600px))}
.hero--app .hero__sub{margin:0;max-width:30em;color:var(--ink-2);text-shadow:none;font:400 clamp(17px,1.35vw,20px)/1.55 var(--sans)}
.hx__chips{display:flex;flex-wrap:wrap;gap:8px}
.hx__chips li{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 15px 0 12px;border-radius:999px;background:var(--surface);font:500 14.5px/1 var(--sans);color:var(--ink);white-space:nowrap;
  box-shadow:0 1px 2px rgba(31,29,26,.05),inset 0 0 0 1px var(--line)}
.hx__chips .ic{width:18px;height:18px;color:var(--accent-ink);stroke-width:1.6}
.hero--app .hero__cta{display:flex;gap:10px;margin-top:6px}
.hero--app .hero__cta .btn{min-height:54px;padding:0 26px;font-size:16px}
.hx__media{touch-action:pan-y pinch-zoom;position:relative;height:clamp(520px,calc(100svh - 170px),820px);border-radius:36px;overflow:hidden;isolation:isolate;background:var(--ph);
  box-shadow:0 1px 2px rgba(31,29,26,.06),0 40px 80px -48px rgba(31,29,26,.5);transform:translateZ(0)}
.hx__media .hero__media{position:absolute;inset:0;z-index:0;transform:none!important;scale:1}
.hx__media .hero__scene{transition:opacity 1.4s cubic-bezier(.25,.1,.25,1)}
.hx__media .hero__scene.is-on .hero__img{animation:none}
.hx__media .hero__scene[data-scene="0"] .hero__img{object-position:50% 70%}
.hx__media .hero__scene[data-scene="2"] .hero__img{object-position:40% 60%}
.hx__media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(14,12,10,.22) 0%,rgba(14,12,10,0) 22%,rgba(14,12,10,0) 74%,rgba(14,12,10,.28) 100%)}
.hx__media .wx{position:absolute;top:16px;left:16px;z-index:2;color:#fff}
.hx__dots{position:absolute;left:50%;bottom:16px;z-index:2;display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;transform:translateX(-50%);
  background:rgba(24,21,17,.24);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.hx__dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.5);cursor:pointer;transition:width .6s var(--spring),background-color .4s ease}
.hx__dots button.is-on{width:22px;background:#fff}
.hx__dots button::before{content:"";position:absolute;inset:-10px -4px}
.hx__dots button{position:relative}
.js.anim .hx__chips{opacity:0;animation:hero-in 1.6s cubic-bezier(.25,.1,.25,1) .5s forwards}
@media (max-width:959px){
  .hero--app{padding:calc(76px + env(safe-area-inset-top)) 0 44px}
  .hx{grid-template-columns:1fr;gap:24px;min-height:0;width:calc(100% - 20px)}
  .hx__body{order:0;gap:16px;padding:0 10px}
  .hx__media{height:clamp(360px,56svh,560px);border-radius:30px}
  .hero--app .hero__script{width:min(76vw,380px)}
  .hero--app .hero__name{margin-top:10px}
  .hero--app .hero__sub{font-size:16.5px}
  .hx__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px}
  .hx__chips::-webkit-scrollbar{display:none}
  .hero--app .hero__cta{display:grid;grid-template-columns:1fr 1fr;margin-top:2px}
  .hero--app .hero__cta .btn{padding:0 12px}
}

/* amenity tabs on phones: a clean row of pills, the chosen one in bronze (no strip, no double outline) */
@media (max-width:959px){
  .tabs{background:transparent!important;border:0!important;box-shadow:none;padding:2px var(--gutter)!important;gap:8px!important}
  .tabs .seg-thumb{display:none}
  .tab{min-height:40px;border:1px solid var(--line-2)!important;background:transparent!important;box-shadow:none!important}
  .tab[aria-selected="true"]{background:var(--cta)!important;border-color:var(--cta)!important;color:var(--on-cta)!important}
  .tab[aria-selected="true"] sup{color:inherit;opacity:.7}
}
@media (max-width:959px){
  .hx{grid-template-columns:minmax(0,1fr)}
  .hx__body,.hx__media{min-width:0}
  .hx__media{height:clamp(320px,50svh,520px)}
}
@media (max-width:959px){
  .hx__body{grid-template-columns:minmax(0,1fr)}
  .hero--app .hero__cta .btn{min-width:0}
}
@media (max-width:360px){
  .hero--app .hero__cta .btn{font-size:15px;padding:0 8px;gap:6px}
  .hero--app .hero__cta .btn .ic{display:none}
}

/* ---------- Amenities: everything at once, a bento grid that arrives and answers the pointer ---------- */
.bento__intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.bento__intro>div{grid-column:1/span 7}
.bento__intro>p{grid-column:9/-1}
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);align-items:stretch}
.bento__cell{display:flex;will-change:transform}
.bento__cell--a,.bento__cell--b,.bento__cell--c{grid-column:span 4}
.bento__cell--d{grid-column:span 5}
.bento__cell--e{grid-column:span 7}
.bento__card{position:relative;flex:1;display:flex;flex-direction:column;gap:18px;padding:clamp(22px,2.2vw,32px);border-radius:30px;background:var(--surface);overflow:hidden;isolation:isolate;
  box-shadow:0 1px 2px rgba(31,29,26,.05),0 22px 50px -36px rgba(31,29,26,.4),inset 0 0 0 1px var(--line);
  transition:transform .7s var(--spring),box-shadow .5s ease}
.bento__card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .5s ease;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%)}
@media (hover:hover) and (pointer:fine){
  .bento__card:hover{transform:translateY(-5px);box-shadow:0 1px 2px rgba(31,29,26,.05),0 32px 60px -34px rgba(31,29,26,.5),inset 0 0 0 1px var(--line-2)}
  .bento__card:hover::before{opacity:1}
}
.bento__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bento__head h3{font:400 clamp(22px,1.9vw,28px)/1.15 var(--sans);letter-spacing:-.025em}
.bento__n{display:grid;place-items:center;min-width:32px;height:32px;padding:0 10px;border-radius:999px;background:var(--cta-soft);color:var(--accent-ink);font:600 13.5px/1 var(--sans);font-variant-numeric:tabular-nums}
.bento__list{display:grid;gap:2px}
.bento__list li{display:flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.bento__list li:first-child{border-top:0}
.bento__list b{display:block;font:400 16.5px/1.35 var(--sans);letter-spacing:-.01em}
.bento__list small{display:block;margin-top:2px;color:var(--ink-2);font-size:14px;line-height:1.5}
.bento__list .idx-ic{width:26px;height:26px;stroke-width:1.35}
.bento__card--wide .bento__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.bento__card--wide .bento__list li{align-items:flex-start;border-top:1px solid var(--line)}
.bento__card--wide .bento__list li:nth-child(-n+2){border-top:0}
/* arrival: cards rise one after another on a spring, the icons draw themselves */
.js.anim .bento__card{opacity:0;transform:translateY(46px) scale(.97);transition:opacity .9s ease,transform 1.2s var(--spring-soft),box-shadow .5s ease;transition-delay:calc(var(--i)*110ms)}
.js.anim .bento__card.is-in{opacity:1;transform:none}
.js.anim .bento__card.is-in:hover{transform:translateY(-5px);transition:transform .7s var(--spring),box-shadow .5s ease}
.js.anim .bento__card .idx-ic{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s cubic-bezier(.45,0,.2,1);transition-delay:calc(var(--i)*110ms + var(--j)*70ms + 350ms)}
.js.anim .bento__card.is-in .idx-ic{stroke-dashoffset:0}
.js.anim .bento__list li{opacity:0;transform:translateX(-8px);transition:opacity .7s ease,transform .9s var(--spring-soft);transition-delay:calc(var(--i)*110ms + var(--j)*60ms + 250ms)}
.js.anim .bento__card.is-in .bento__list li{opacity:1;transform:none}
@media (max-width:1100px){
  .bento__cell--a,.bento__cell--b{grid-column:span 6}
  .bento__cell--c,.bento__cell--d{grid-column:span 6}
  .bento__cell--e{grid-column:1/-1}
}
@media (max-width:959px){
  .bento__intro>div,.bento__intro>p{grid-column:1/-1}
  .bento__intro>p{margin-top:14px}
  .bento{grid-template-columns:1fr;gap:12px}
  .bento__cell{grid-column:1/-1!important}
  .bento__card{border-radius:26px}
  .bento__card--wide .bento__list{grid-template-columns:1fr}
  .bento__card--wide .bento__list li:nth-child(2){border-top:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){.js.anim .bento__card,.js.anim .bento__list li{opacity:1;transform:none}.js.anim .bento__card .idx-ic{stroke-dashoffset:0}}

/* ---------- Filmstrips on desktops: the strip holds still and the photos glide with the page scroll ---------- */
.strip__pin{position:relative}
@media (min-width:960px){
  .strip.is-pinned .strip__pin{position:sticky}
  .strip.is-pinned .strip__scroller{overflow:hidden;scroll-snap-type:none;cursor:default}
}

/* ---------- Amenities: four cards, no counts ---------- */
.bento__cell--a,.bento__cell--b,.bento__cell--c,.bento__cell--d{grid-column:span 3}
@media (max-width:1100px){.bento__cell--a,.bento__cell--b,.bento__cell--c,.bento__cell--d{grid-column:span 6}}
@media (max-width:959px){.bento__cell{grid-column:1/-1!important}}

/* ---------- Occasions: cards that stack like a deck ---------- */
.occ2{background:var(--bg)}
.occ2__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}
.occ2__head{grid-column:1/span 4;position:sticky;top:120px;display:grid;gap:18px}
.occ2__stack{grid-column:6/-1;display:grid;gap:28px;padding-bottom:12px}
.oc{position:sticky;top:calc(112px + var(--i)*16px)}
.oc__in{position:relative;display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);min-height:clamp(280px,32vh,340px);border-radius:32px;overflow:hidden;background:var(--surface);
  box-shadow:0 1px 2px rgba(31,29,26,.05),0 30px 60px -40px rgba(31,29,26,.45),inset 0 0 0 1px var(--line);
  transform-origin:50% 0;transform:scale(calc(1 - var(--p,0)*.07));will-change:transform}
.oc__in::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:#14120f;opacity:calc(var(--p,0)*.16)}
.oc__ph{position:relative;overflow:hidden;background:var(--ph)}
.oc__ph picture,.oc__ph img{position:absolute;inset:0;width:100%;height:100%}
.oc__ph img{object-fit:cover;scale:calc(1.08 - var(--p,0)*.08)}
.oc__t{display:grid;align-content:center;gap:12px;padding:clamp(24px,2.6vw,40px)}
.oc__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--cta-soft)}
.oc__ic .idx-ic{width:24px;height:24px}
.oc__t h3{font:400 clamp(24px,2.2vw,32px)/1.12 var(--sans);letter-spacing:-.03em}
.oc__t p{color:var(--ink-2);font-size:16px;line-height:1.55;max-width:30ch}
.js.anim .oc__in{opacity:0;translate:0 50px;transition:opacity .9s ease,translate 1.2s var(--spring-soft)}
.js.anim .oc.is-in .oc__in{opacity:1;translate:0 0}
.js.anim .oc .idx-ic{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s cubic-bezier(.45,0,.2,1) .45s}
.js.anim .oc.is-in .idx-ic{stroke-dashoffset:0}
@media (max-width:959px){
  .occ2__head{grid-column:1/-1;position:relative;top:0}
  .occ2__stack{grid-column:1/-1;margin-top:36px;gap:18px}
  .oc{top:calc(80px + var(--i)*10px)}
  .oc__in{grid-template-columns:1fr;min-height:0;border-radius:28px}
  .oc__ph{height:190px}
  .oc__t{padding:22px 22px 26px}
}
@media (prefers-reduced-motion:reduce){.js.anim .oc__in{opacity:1;translate:none}.js.anim .oc .idx-ic{stroke-dashoffset:0}.oc{position:relative;top:0}}

/* ---------- FAQ: the open question becomes a soft card ---------- */
.qa{position:relative;border-top:1px solid var(--line);transition:border-color .4s ease}
.qa::before{content:"";position:absolute;inset:0 -18px;border-radius:24px;background:var(--surface);box-shadow:0 1px 2px rgba(31,29,26,.05),0 18px 40px -30px rgba(31,29,26,.4);
  opacity:0;transform:scale(.985);transition:opacity .45s ease,transform .6s var(--spring);pointer-events:none;z-index:0}
.qa>*{position:relative;z-index:1}
.qa.is-open::before{opacity:1;transform:none}
.qa.is-open,.qa.is-open+.qa{border-top-color:transparent}
.qa summary{transition:color .3s ease}
.qa.is-open summary{color:var(--ink)}
.qa__i{transition:background-color .4s ease,border-color .4s ease,color .4s ease,transform .6s var(--spring)}
.qa.is-open .qa__i{background:var(--cta);border-color:var(--cta);color:var(--on-cta);transform:rotate(45deg)}
.qa.is-open .qa__i::after{transform:rotate(90deg)}
.qa__a>div{padding-bottom:28px}
@media (max-width:959px){.qa::before{inset:0 -12px;border-radius:20px}}

/* ---------- Their house, drawn from the photographs: sky, clouds, ridges, forest, the house, the birch ---------- */
.hs{position:relative;height:clamp(560px,82vh,780px);overflow:hidden;isolation:isolate;
  --h-sky1:var(--bg);--h-sky2:#dfe9ee;--h-sky3:#f6efe2;--h-cloud:#ffffff;--h-r1:#c8d3d0;--h-r2:#a9b9b0;--h-f1:#557562;--h-f2:#3f5d4b;--h-f3:#2f4a3a;
  --h-lawn:#7da653;--h-lawn2:#6b9447;--h-path:#ddd6c9;--h-wall:#f1e2c6;--h-wall2:#ecd8b5;--h-ochre:#d79a52;--h-roof:#6e2f26;--h-roof2:#4f211b;--h-wood:#5b3a26;
  --h-frame:#4b3a2e;--h-glass:#4c5b62;--h-warm:#f2c77e;--h-glow:0;--h-lampglow:.55;--h-metal:#8c8f8f;--h-pipe:#b07a4b;--h-iron:#2c2420;
  --h-base:#b8a487;--h-st1:#c9b493;--h-st2:#a99173;--h-st3:#d6c3a2;--h-st4:#9a7f63;--h-slab:#e3d7c2;--h-step1:#9b6a4c;--h-step2:#8b5d41;--h-stepedge:#c7a184;
  --h-render:#efe9e0;--h-tile:#b3563a;--h-leaf1:#4f7a3c;--h-leaf2:#6b9b4c;--h-hyd:#f4f0f5;--h-flower:#e07a8a;
  --h-birch:#f2efe8;--h-mark:#2c2a27;--h-bl1:#9cbc5f;--h-bl2:#b9cf6e;--h-bl3:#7da24b;
  -webkit-mask:linear-gradient(180deg,#000 88%,transparent 100%);mask:linear-gradient(180deg,#000 88%,transparent 100%)}
[data-theme="evening"] .hs{--h-sky1:var(--bg);--h-sky2:#1d2430;--h-sky3:#4b3a33;--h-cloud:#3a3a40;--h-r1:#2c3235;--h-r2:#252b2c;--h-f1:#1d2620;--h-f2:#161d18;--h-f3:#0f1411;
  --h-lawn:#25331f;--h-lawn2:#1f2b1a;--h-path:#4a4640;--h-wall:#6f6454;--h-wall2:#62574a;--h-ochre:#6e5235;--h-roof:#2d1714;--h-roof2:#200f0d;--h-wood:#2a1c13;
  --h-frame:#2a221c;--h-glass:#f3b866;--h-warm:#ffc777;--h-glow:.85;--h-lampglow:1;--h-metal:#4a4c4c;--h-pipe:#5a4330;--h-iron:#120f0d;
  --h-base:#5b5246;--h-st1:#665c4f;--h-st2:#544b40;--h-st3:#6f6557;--h-st4:#4a4137;--h-slab:#7a7062;--h-step1:#4a3426;--h-step2:#3f2c20;--h-stepedge:#6b5040;
  --h-render:#5f5a53;--h-tile:#5a2b1f;--h-leaf1:#1d2b18;--h-leaf2:#26381f;--h-hyd:#9a97a3;--h-flower:#7a4a52;
  --h-birch:#b9b4aa;--h-mark:#1a1918;--h-bl1:#2e3b22;--h-bl2:#38472a;--h-bl3:#26331d}
.hs .scape__l{top:-6%;bottom:-6%;height:auto}
.hs__l--sky{background:linear-gradient(180deg,var(--h-sky1) 0%,var(--h-sky2) 22%,var(--h-sky3) 62%)}
.hs__svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.h-cloud ellipse{fill:var(--h-cloud);opacity:.92}
.hs__clouds{animation:clouds 90s linear infinite alternate}
@keyframes clouds{from{transform:translateX(-3%)}to{transform:translateX(3%)}}
.h-r1{fill:var(--h-r1)}.h-r2{fill:var(--h-r2)}
.scape__house-forest-back{color:var(--h-f1)}.scape__house-forest-front{color:var(--h-f2)}.h-f3{fill:var(--h-f3)}
.h-lawn{fill:var(--h-lawn)}.h-lawn2{fill:var(--h-lawn2)}.h-path{fill:var(--h-path)}
.h-wall{fill:var(--h-wall)}.h-wall2{fill:var(--h-wall2)}.h-ochre{fill:var(--h-ochre)}
.h-roof{fill:var(--h-roof)}.h-roof2{fill:var(--h-roof2)}.h-wood{fill:var(--h-wood)}
.h-frame{fill:var(--h-frame)}.h-glass{fill:var(--h-glass)}.h-glass--warm{fill:var(--h-warm)}
.h-glow{fill:#ffc777;opacity:var(--h-glow)}.h-glow--door{opacity:calc(.35 + var(--h-glow)*.6)}
.h-lamp{fill:var(--h-warm)}.h-lampglow{fill:#ffcf86;opacity:var(--h-lampglow)}
.h-metal{fill:var(--h-metal)}.h-pipe{fill:var(--h-pipe)}
.h-ironc{fill:var(--h-iron)}.h-ironl{fill:none;stroke:var(--h-iron);stroke-width:1.5;stroke-linecap:round}
.h-base{fill:var(--h-base)}.h-st1{fill:var(--h-st1)}.h-st2{fill:var(--h-st2)}.h-st3{fill:var(--h-st3)}.h-st4{fill:var(--h-st4)}.h-slab{fill:var(--h-slab)}
.h-step1{fill:var(--h-step1)}.h-step2{fill:var(--h-step2)}.h-stepedge{fill:var(--h-stepedge)}
.h-render{fill:var(--h-render)}.h-tile{fill:var(--h-tile)}
.h-leaf1{fill:var(--h-leaf1)}.h-leaf2{fill:var(--h-leaf2)}.h-hyd{fill:var(--h-hyd)}.h-flower{fill:var(--h-flower)}
.h-birch{fill:var(--h-birch)}.h-birchmark{fill:var(--h-mark)}.h-twig{fill:none;stroke:var(--h-mark);stroke-width:1.6;stroke-linecap:round;opacity:.7}
.h-bl1{fill:var(--h-bl1)}.h-bl2{fill:var(--h-bl2)}.h-bl3{fill:var(--h-bl3)}
.hs__txt{position:absolute;left:0;right:0;top:7%;z-index:3;width:min(92vw,820px);margin-inline:auto;text-align:center;will-change:transform}
.hs__txt .eyebrow{margin-bottom:10px}
.hs__h{font:300 clamp(38px,5.4vw,80px)/1.04 var(--sans);letter-spacing:-.045em;color:var(--ink);text-wrap:balance}
@media (max-width:959px){.hs{height:560px}.hs__txt{top:6%}}
@media (prefers-reduced-motion:reduce){.hs__clouds{animation:none}}

/* the phone bar waits until the first screen has been scrolled, then rises on a spring */
@media (max-width:959px){
  .dock{animation:none;transform:translateY(calc(100% + 40px));transition:transform .75s var(--spring)}
  .dock.is-on{transform:none}
  .hs{-webkit-mask:linear-gradient(180deg,#000 94%,transparent 100%);mask:linear-gradient(180deg,#000 94%,transparent 100%)}
}
/* the reservations block sits on their own photo of the entrance at dusk */
.cta{isolation:isolate}
.cta__bg{position:absolute;left:0;right:0;bottom:0;top:clamp(320px,30vw,440px);z-index:-1;overflow:hidden}
.cta__bg picture,.cta__bg img{width:100%;height:100%}
.cta__img{object-fit:cover;object-position:50% 62%;opacity:.5;transform:none}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--pine) 0%,color-mix(in srgb,var(--pine) 55%,transparent) 26%,color-mix(in srgb,var(--pine) 70%,transparent) 70%,var(--pine) 100%)}
@media (max-width:959px){.cta__bg{top:320px}.cta__img{opacity:.42}}

/* reservations: their own photo of the entrance at dusk, rising out of the page and drifting slowly */
.cta{padding-top:clamp(140px,16vw,240px)}
.cta__bg{top:0}
.cta__img{object-position:50% 58%;opacity:.62;scale:1.14}
.cta__bg::after{background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--pine) 35%,transparent) 22%,color-mix(in srgb,var(--pine) 62%,transparent) 55%,var(--pine) 100%)}
@media (max-width:959px){.cta__bg{top:0}.cta__img{opacity:.55}}

/* the reservoir in the house scene */
.hs{--h-w1:#a9c3c6;--h-w2:#cfdcd5;--h-glint:#ffffff;--h-reflo:.38}
[data-theme="evening"] .hs{--h-w1:#1f2a2e;--h-w2:#141a1b;--h-glint:#e8b57a;--h-reflo:.45}
.h-w1s{stop-color:var(--h-w1)}.h-w2s{stop-color:var(--h-w2)}
.h-refl{opacity:var(--h-reflo)}
.h-shore{fill:#ffffff;opacity:.5}
[data-theme="evening"] .h-shore{opacity:.12}
.h-glint{fill:var(--h-glint);opacity:.15;animation:glint2 7s ease-in-out var(--d) infinite alternate}
@keyframes glint2{from{opacity:.12;transform:translateX(-10px)}to{opacity:.75;transform:translateX(12px)}}
@media (prefers-reduced-motion:reduce){.h-glint{animation:none;opacity:.4}}
.hs__txt{top:4%}
.hs__h{font-size:clamp(34px,4.4vw,66px)}
@media (max-width:959px){.hs__txt{top:4%}.hs__h{font-size:30px}}

/* the sunset meadow flows straight into the dark block: the photo starts below it, under solid green */
.cta{padding-top:0}
.cta__bg{top:clamp(320px,30vw,440px)}
.cta__bg::after{background:linear-gradient(180deg,var(--pine) 0%,var(--pine) 8%,color-mix(in srgb,var(--pine) 60%,transparent) 40%,color-mix(in srgb,var(--pine) 70%,transparent) 75%,var(--pine) 100%)}
.cta__img{opacity:.5}
@media (max-width:959px){.cta__bg{top:320px}}

/* ---------- Язовир Батак, quiet: tonal ridges, the water, their house small on the shore ---------- */
.hs{height:clamp(520px,74vh,700px);background:var(--bg);
  --t-sky1:var(--bg);--t-sky2:#eae3d6;--t-sun:rgba(255,230,196,.9);--t-far:#cfcabd;--t-mid:#b3b6a6;--t-w1:#c9d0c6;--t-w2:#e6e3d8;--t-shore:#8f9886;
  --t-hill:#7f8c78;--t-house:#55604f;--t-win:#e9c48c;--t-glow:0;--t-front:#4c5a4a;--t-mist:rgba(248,246,242,.7);
  -webkit-mask:linear-gradient(180deg,#000 90%,transparent 100%);mask:linear-gradient(180deg,#000 90%,transparent 100%)}
[data-theme="evening"] .hs{--t-sky1:var(--bg);--t-sky2:#2a221c;--t-sun:rgba(222,150,90,.5);--t-far:#2b2925;--t-mid:#24241f;--t-w1:#1f201d;--t-w2:#16171a;--t-shore:#1a1c18;
  --t-hill:#171a16;--t-house:#0f110e;--t-win:#ffc777;--t-glow:.55;--t-front:#0c0e0b;--t-mist:rgba(18,17,15,.55)}
.hs .scape__l{top:-8%;bottom:-8%;height:auto}
.hs__sky{background:linear-gradient(180deg,var(--t-sky1) 0%,var(--t-sky2) 60%)}
.hs__sun{position:absolute;left:66%;top:48%;width:min(30vw,380px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,var(--t-sun),transparent)}
.scape__hs-ridge-far{color:var(--t-far)}.scape__hs-ridge-mid{color:var(--t-mid)}
.hs__water{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--t-w1),var(--t-w2));overflow:hidden}
.hs__mirror{position:absolute;left:0;right:0;top:0;height:170%;transform:scaleY(-1);transform-origin:50% 0;translate:0 -100%;opacity:.35;filter:blur(1.5px)}
.hs__mirror .hs__m1{color:var(--t-far)}.hs__mirror .hs__m2{color:var(--t-mid)}
.hs__glints i{position:absolute;left:var(--x);top:var(--y);width:var(--l);height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);animation:glint 8s ease-in-out var(--d) infinite alternate}
[data-theme="evening"] .hs__glints i{background:linear-gradient(90deg,transparent,rgba(240,180,110,.55),transparent)}
.scape__hs-far-shore{color:var(--t-shore)}
.hs__mist{position:absolute;left:0;right:0;top:46%;height:9%;background:linear-gradient(180deg,transparent,var(--t-mist),transparent)}
.hs__house{position:absolute;inset:0;width:100%;height:100%}
.hs__hill{fill:var(--t-hill)}.hs__h-body{fill:var(--t-house)}.hs__win{fill:var(--t-win);opacity:calc(.35 + var(--t-glow))}
.hs__glow{fill:#ffc777;opacity:calc(var(--t-glow)*.35);filter:blur(10px)}
.hs__fl,.hs__fr{color:var(--t-front)}
.hs__fl{left:0;right:auto!important;width:min(34vw,520px);inset:auto auto 0 0;height:100%}
.hs__fr{right:0;left:auto!important;width:min(34vw,520px);inset:auto 0 0 auto;height:100%}
.hs__txt{top:9%}
.hs__h{font:300 clamp(36px,4.8vw,72px)/1.04 var(--sans);letter-spacing:-.045em}
@media (max-width:959px){.hs{height:520px}.hs__fl,.hs__fr{width:42vw}.hs__h{font-size:32px}.hs__txt{top:7%}}
.scape__hs-front{color:var(--t-front)}

/* ---------- FAQ: a fast accordion (grid rows), the open answer as a soft card ---------- */
.qa__h{margin:0;font:inherit}
.qa__q{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:clamp(20px,2vw,26px) 0;border:0;background:none;text-align:left;cursor:pointer;
  color:var(--ink);font:400 clamp(19px,1.5vw,22px)/1.35 var(--sans);letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;transition:color .2s ease}
.qa__q:hover{color:var(--accent-ink)}
.qa.is-open .qa__q{color:var(--ink)}
.qa__q:focus-visible{outline-offset:6px}
.qa__a{display:grid;grid-template-rows:1fr}
.qa__clip{overflow:hidden;min-height:0}
.qa__in{padding:0 60px 26px 0;color:var(--ink-2);max-width:62ch}
.qa__in a{color:var(--accent-ink);text-underline-offset:3px}
.js .qa__a{grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.32,.72,0,1)}
.js .qa.is-open .qa__a{grid-template-rows:1fr;transition-duration:.34s}
.js .qa__in{opacity:0;transform:translateY(-6px);transition:opacity .14s ease,transform .26s cubic-bezier(.32,.72,0,1)}
.js .qa.is-open .qa__in{opacity:1;transform:none;transition:opacity .26s ease .05s,transform .34s cubic-bezier(.32,.72,0,1)}
.qa::before{transition:opacity .22s ease,transform .34s cubic-bezier(.32,.72,0,1)}
.qa__i{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .34s cubic-bezier(.32,.72,0,1)}
.qa.is-open .qa__i{background:var(--cta);border-color:var(--cta);color:var(--on-cta);transform:rotate(45deg)}
.qa.is-open .qa__i::after{transform:rotate(90deg)}
@media (max-width:959px){.qa__in{padding-right:0}}

/* ---------- Sunset over the reservoir: light far away, darker toward us, the meadow exactly the colour below ---------- */
.scape--dusk{--sky-b:#edcfaa;--sky-c:#dcae84;--r1:#8f9384;--r2:#6c7564;--water-t:#c9a080;--water-b:#5d6857;--shore:#4f5a4b;--canopy:#3a483d;--sunglow:rgba(255,224,176,.9)}
[data-theme="evening"] .scape--dusk{--sky-b:#3a2a20;--sky-c:#6b4128;--r1:#2a2824;--r2:#1f201c;--water-t:#4a3122;--water-b:#151815;--shore:#161814;--canopy:#10140f;--sunglow:rgba(226,150,90,.55)}
.scape__l--sky{background:linear-gradient(180deg,var(--sky-a) 0%,var(--sky-b) 46%,var(--sky-c) 74%,var(--sky-c) 100%)}
.scape__sun{background:radial-gradient(closest-side,var(--sunglow),rgba(255,214,160,.32) 48%,rgba(255,214,160,0))}
.scape__dusk-ridge-far{color:var(--r1)}
.scape__dusk-ridge-near{color:var(--r2)}
.dusk__water{position:absolute;left:0;right:0;bottom:0;overflow:hidden;
  background:radial-gradient(9% 70% at 62% 0%,var(--sunglow),transparent 75%),linear-gradient(180deg,var(--water-t) 0%,var(--water-b) 70%)}
.dusk__glints i{position:absolute;left:var(--x);top:var(--y);width:var(--l);height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,236,206,.85),transparent);animation:glint 8s ease-in-out var(--d) infinite alternate}
[data-theme="evening"] .dusk__glints i{background:linear-gradient(90deg,transparent,rgba(236,170,110,.6),transparent)}
.scape__dusk-shore{color:var(--shore)}
.scape__dusk-edges{color:var(--canopy)}
.scape__haze{top:38%;height:22%;opacity:.4}
.scape__l--d4{color:var(--pine)}
.scape__l--d4::after{background:var(--pine)}
.cta{background:var(--pine)}
@media (prefers-reduced-motion:reduce){.dusk__glints i{animation:none;opacity:.5}}
/* the sky starts in the page colour, so the scene has no top edge */
.scape__l--sky{background:linear-gradient(180deg,var(--sky-a) 0%,var(--sky-a) 24%,var(--sky-b) 50%,var(--sky-c) 76%,var(--sky-c) 100%)}

/* =====================================================================
   The landscape of Цигов чарк (2026-11-11, redrawn from the owners' photos and photos of the resort):
   rounded forested hills, the calm reservoir with its pine island, Scots pines, the house among them.
   ===================================================================== */
.vz{--vz-sky1:var(--bg);--vz-sky2:#e7ebea;--vz-sky3:#f2ece2;--vz-sun:rgba(255,236,206,.85);--vz-far:#bcc5c0;--vz-mid:#a3b0a3;--vz-w1:#c5d1cf;--vz-w2:#dfe4dc;
  --vz-island:#8a9a88;--vz-mist:rgba(248,246,242,.75);--vz-slope:#86947a;--vz-front:#566551;
  --vz-wall:#ecdfc8;--vz-wall2:#e3d4b9;--vz-roof:#7e4436;--vz-base:#a99c89;--vz-stairs:#9b7d66;--vz-win:#66737a;--vz-glow:0}
[data-theme="evening"] .vz{--vz-sky1:var(--bg);--vz-sky2:#181a1f;--vz-sky3:#2a241f;--vz-sun:rgba(214,150,96,.4);--vz-far:#2a2d2c;--vz-mid:#232726;--vz-w1:#1c2021;--vz-w2:#141716;
  --vz-island:#1a1d1b;--vz-mist:rgba(18,17,15,.55);--vz-slope:#181b17;--vz-front:#0d0f0c;
  --vz-wall:#433d35;--vz-wall2:#3c372f;--vz-roof:#26150f;--vz-base:#312d27;--vz-stairs:#3a2c22;--vz-win:#f4c27a;--vz-glow:.6}
.vz__sky{background:linear-gradient(180deg,var(--vz-sky1) 0%,var(--vz-sky1) 12%,var(--vz-sky2) 40%,var(--vz-sky3) 60%)}
.vz__sun{position:absolute;left:62%;top:44%;width:min(28vw,360px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,var(--vz-sun),transparent)}
.scape__vz-hills-far{color:var(--vz-far)}
.scape__vz-hills-mid{color:var(--vz-mid)}
.vz__water{position:absolute;left:0;right:0;bottom:0;overflow:hidden;background:linear-gradient(180deg,var(--vz-w1),var(--vz-w2) 40%)}
.vz__mirror{position:absolute;left:0;right:0;top:0;height:120%;transform:scaleY(-1);transform-origin:50% 0;translate:0 -100%;opacity:.28;filter:blur(1.4px)}
.vz__mirror .vz__m{color:var(--vz-mid)}
.vz__glints i{position:absolute;left:var(--x);top:var(--y);width:var(--l);height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);animation:glint 8s ease-in-out var(--d) infinite alternate}
[data-theme="evening"] .vz__glints i{background:linear-gradient(90deg,transparent,rgba(236,176,110,.5),transparent)}
.scape__vz-island{color:var(--vz-island)}
.vz__mist{position:absolute;left:0;right:0;top:50%;height:9%;background:linear-gradient(180deg,transparent,var(--vz-mist),transparent);pointer-events:none}
.scape__vz-slope{color:var(--vz-slope)}
.scape__vz-front{color:var(--vz-front)}
.vz__house{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.vz-wall{fill:var(--vz-wall)}.vz-wall2{fill:var(--vz-wall2)}.vz-roof{fill:var(--vz-roof)}.vz-base{fill:var(--vz-base)}.vz-stairs{fill:var(--vz-stairs)}
.vz-win{fill:var(--vz-win)}.vz-win--door{opacity:calc(.7 + var(--vz-glow)*.5)}
.vz-glow{fill:#ffc777;opacity:calc(var(--vz-glow)*.32);filter:blur(12px)}
@media (prefers-reduced-motion:reduce){.vz__glints i{animation:none;opacity:.45}}

/* the sunset: rounded hills, a thin distant strip of the reservoir, forest stepping darker into the dark block */
.scape--dusk{--r1:#a69c8b;--r2:#888b78;--dk-slope:#4f5c4b;--dk-w1:#f0cda4;--dk-w2:#c99f7c}
[data-theme="evening"] .scape--dusk{--r1:#2b2824;--r2:#22221e;--dk-slope:#151914;--dk-w1:#6b4429;--dk-w2:#2e2219}
.scape__dk-hills-far{color:var(--r1)}
.scape__dk-hills-mid{color:var(--r2)}
.dk__water{position:absolute;left:0;right:0;overflow:hidden;background:radial-gradient(10% 120% at 62% 0%,var(--sunglow),transparent 80%),linear-gradient(180deg,var(--dk-w1),var(--dk-w2))}
.dk__glints i{position:absolute;left:var(--x);top:var(--y);width:var(--l);height:1.2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,240,214,.85),transparent);animation:glint 8s ease-in-out var(--d) infinite alternate}
.scape__dk-slope{color:var(--dk-slope)}
.scape__dk-near{color:var(--pine)}
@media (prefers-reduced-motion:reduce){.dk__glints i{animation:none;opacity:.45}}

/* depth from tone: each layer of the landscapes is a soft vertical gradient, not a flat fill */
.vz .scape__vz-hills-far{background:linear-gradient(180deg,var(--vz-far) 43%,var(--vz-far2) 57%)}
.vz .scape__vz-hills-mid{background:linear-gradient(180deg,var(--vz-mid) 50%,var(--vz-mid2) 58%)}
.vz .scape__vz-slope{background:linear-gradient(180deg,var(--vz-slope) 58%,var(--vz-slope2) 100%)}
.vz .scape__vz-front{background:linear-gradient(180deg,var(--vz-front) 40%,var(--vz-front2) 100%)}
.vz{--vz-far:#b3bdb7;--vz-far2:#d5dad4;--vz-mid:#93a395;--vz-mid2:#b9c4b8;--vz-w1:#c9d4d2;--vz-w2:#e2e6df;--vz-island:#8a9a88;--vz-slope:#7a8a72;--vz-slope2:#a7b29b;--vz-front:#55634f;--vz-front2:#6d7a64}
[data-theme="evening"] .vz{--vz-far:#2b2e2d;--vz-far2:#232625;--vz-mid:#232726;--vz-mid2:#1d201f;--vz-w1:#1c2021;--vz-w2:#151817;--vz-island:#191c1a;--vz-slope:#191c18;--vz-slope2:#141613;--vz-front:#0e100d;--vz-front2:#121411}
.scape--dusk .scape__dk-hills-far{background:linear-gradient(180deg,var(--r1) 48%,var(--r1b) 62%)}
.scape--dusk .scape__dk-hills-mid{background:linear-gradient(180deg,var(--r2) 56%,var(--r2b) 66%)}
.scape--dusk .scape__dk-slope{background:linear-gradient(180deg,var(--dk-slope) 66%,var(--dk-slope2) 90%)}
.scape--dusk{--r1:#a59a8a;--r1b:#c4b39c;--r2:#868872;--r2b:#a29a84;--dk-slope:#556150;--dk-slope2:#3c4a3f}
[data-theme="evening"] .scape--dusk{--r1:#2c2824;--r1b:#3a2d22;--r2:#22221e;--r2b:#2a241d;--dk-slope:#161a15;--dk-slope2:#10140f}

/* =====================================================================
   Forest scenes, phone first (2026-11-11): soft ridges, a small far strip of the reservoir, dense spruces.
   Below 700px every layer switches to its own phone composition (--mm).
   ===================================================================== */
@media (max-width:700px){
  .scape__shape.has-m{-webkit-mask-image:var(--mm);mask-image:var(--mm);-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:50% 100%;mask-position:50% 100%}
}
.fs{--fs-sky1:var(--bg);--fs-sky2:#e6ebea;--fs-sky3:#f1ebe0;--fs-sun:rgba(255,234,204,.8);--fs-far:#cbc8bc;--fs-mid:#aeb4a5;--fs-w1:#c6cfc8;--fs-w2:#dfe2d8;
  --fs-shore:#8d9884;--fs-mist:rgba(248,246,242,.7);--fs-fmid:#8c9a85;--fs-fmid2:#a3ae99;--fs-near:#53624f;--fs-near2:#647259}
[data-theme="evening"] .fs{--fs-sky1:var(--bg);--fs-sky2:#191b1f;--fs-sky3:#28221d;--fs-sun:rgba(214,150,96,.38);--fs-far:#2a2925;--fs-mid:#23241f;--fs-w1:#1d2020;--fs-w2:#161817;
  --fs-shore:#1a1c18;--fs-mist:rgba(18,17,15,.55);--fs-fmid:#1a1d18;--fs-fmid2:#161914;--fs-near:#0f120e;--fs-near2:#121510}
.fs__sky{background:linear-gradient(180deg,var(--fs-sky1) 0%,var(--fs-sky1) 12%,var(--fs-sky2) 40%,var(--fs-sky3) 62%)}
.fs__sun{position:absolute;left:62%;top:46%;width:min(30vw,360px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,var(--fs-sun),transparent)}
.scape__fs-ridge-far{color:var(--fs-far)}
.scape__fs-ridge-mid{color:var(--fs-mid)}
.fs__water{position:absolute;left:0;right:0;overflow:hidden;background:linear-gradient(180deg,var(--fs-w1),var(--fs-w2))}
.fs__mirror{position:absolute;left:0;right:0;top:0;height:1100%;transform:scaleY(-1);transform-origin:50% 0;translate:0 -100%;opacity:.25;filter:blur(1.2px)}
.fs__mirror .fs__m{color:var(--fs-mid)}
.fs__glints i{position:absolute;left:var(--x);top:var(--y);width:var(--l);height:1.3px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);animation:glint 8s ease-in-out var(--d) infinite alternate}
[data-theme="evening"] .fs__glints i{background:linear-gradient(90deg,transparent,rgba(236,176,110,.5),transparent)}
.scape__fs-shore{color:var(--fs-shore)}
.fs__mist{position:absolute;left:0;right:0;top:51%;height:8%;background:linear-gradient(180deg,transparent,var(--fs-mist),transparent);pointer-events:none}
.fs .scape__fs-forest-mid{background:linear-gradient(180deg,var(--fs-fmid) 62%,var(--fs-fmid2) 100%)}
.fs .scape__fs-forest-near{background:linear-gradient(180deg,var(--fs-near) 55%,var(--fs-near2) 100%)}
@media (prefers-reduced-motion:reduce){.fs__glints i{animation:none;opacity:.45}}

.scape--dusk{--dk-r1:#a39a8b;--dk-r2:#80857a;--dk-fmid:#47554a}
[data-theme="evening"] .scape--dusk{--dk-r1:#2c2824;--dk-r2:#23221e;--dk-fmid:#141813}
.scape__dk-ridge-far{color:var(--dk-r1)}
.scape__dk-ridge-mid{color:var(--dk-r2)}
.scape__dk-forest-mid{color:var(--dk-fmid)}
.scape__dk-forest-near{color:var(--pine)}

/* photo viewer: arrows on phones as well */
@media (max-width:959px){
  .lb__nav{display:inline-grid;width:44px;height:44px;margin-top:-22px;background:rgba(18,17,15,.5);border-color:rgba(255,255,255,.28);box-shadow:0 4px 14px rgba(0,0,0,.22)}
  .lb__nav--prev{left:8px}
  .lb__nav--next{right:8px}
  .lb__nav .ic{width:18px;height:18px}
  .strip__btns{display:flex}
  .strip__btns .round{width:40px;height:40px}
}

/* ---------- entrances: blocks rise a little and come into focus, once ---------- */
.js.anim [data-rise]{opacity:0;transform:translateY(26px);filter:blur(5px);transition:opacity .9s ease var(--rd,0s),transform 1.15s var(--spring-soft) var(--rd,0s),filter .9s ease var(--rd,0s)}
.js.anim [data-rise].is-in{opacity:1;transform:none;filter:none}
@media (prefers-reduced-motion:reduce){.js.anim [data-rise]{opacity:1;transform:none;filter:none}}

/* ---------- the forest scene moves further on phones; its layers get room so no edge ever shows ---------- */
.hs .scape__l{top:-20%;bottom:-20%;height:auto}

/* ---------- night by the forest: moonlight, cool blue-greys, silver on the water ---------- */
[data-theme="evening"] .fs{--fs-sky1:var(--bg);--fs-sky2:#171c26;--fs-sky3:#232b38;--fs-sun:rgba(206,218,236,.30);--fs-far:#2e3746;--fs-mid:#252d39;--fs-w1:#26303d;--fs-w2:#1b222c;
  --fs-shore:#1b222b;--fs-mist:rgba(160,176,198,.10);--fs-fmid:#18201f;--fs-fmid2:#151b1b;--fs-near:#0e1312;--fs-near2:#111615}
[data-theme="evening"] .fs__sun{top:36%;left:84%;width:min(36vw,320px)}
@media (min-width:701px) and (max-width:1199px){[data-theme="evening"] .fs__sun{left:80%;top:40%}}
[data-theme="evening"] .fs__sun::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;
  background:radial-gradient(circle at 38% 38%,#f4f2ea,#d9dccf 62%,#c2c6ba);box-shadow:0 0 18px 4px rgba(214,224,240,.22)}
[data-theme="evening"] .fs__glints i{background:linear-gradient(90deg,transparent,rgba(214,226,244,.55),transparent)}
[data-theme="evening"] .fs__mirror{opacity:.32}
@media (max-width:700px){[data-theme="evening"] .fs__sun{top:35%;left:80%}}

/* =====================================================================
   Lighter for older phones (2026-11-11, measured): live blurs are the cost, not the code.
   ===================================================================== */
/* menu: a plain soft dim behind, a solid sheet in front, nothing re-blurred while it moves */
.menu{background:rgba(14,12,10,.42);-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.menu__in{background:color-mix(in srgb,var(--surface) 98%,transparent)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;will-change:transform;contain:layout paint}
.menu__in::after{display:none}
/* entrances: the soft rise stays, the blur goes */
.js.anim [data-rise]{filter:none!important;transition:opacity .8s ease var(--rd,0s),transform 1s var(--spring-soft) var(--rd,0s)}
/* photo viewer: it is 95% opaque, so a backdrop blur only cost speed */
.lb{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(15,20,17,calc(.97*var(--bo,1)))}
/* glass bars: a smaller blur radius, same look */
.hdr__in{-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5)}
.dock{-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4)}
/* the FAQ answer: a touch quicker */
.js .qa__a{transition-duration:.22s}
.js .qa.is-open .qa__a{transition-duration:.3s}

/* ---------- lighter on older phones ---------- */
/* the menu is always laid out and only shown: it starts moving on the next frame; it hides once it has faded */
.menu{visibility:hidden;transition:opacity .4s ease,visibility 0s linear .5s}
.menu.is-open{visibility:visible;transition:opacity .4s ease,visibility 0s}
/* the burger turns into a cross with transforms only (no layout on every frame) */
.burger__lines i{transition:transform .45s var(--ease)}
.menu-open .burger__lines i:first-child{top:0;transform:translateY(4.25px) rotate(45deg)}
.menu-open .burger__lines i:last-child{top:8.5px;transform:translateY(-4.25px) rotate(-45deg)}
/* the open question's card fades in place with a light shadow; nothing is scaled while the answer grows */
.qa::before{transform:none;box-shadow:0 1px 2px rgba(31,29,26,.05),0 10px 24px -18px rgba(31,29,26,.32);transition:opacity .22s ease}
.qa.is-open::before{transform:none}
[data-theme="evening"] .qa::before{box-shadow:none}
/* the stacked occasion cards: the photo and the shade change on their own layers instead of being repainted on
   every scroll frame (the shade is a plain rectangle clipped by the card, which the compositor draws for free) */
.oc__ph img{will-change:transform}
.oc__in::after{border-radius:0;will-change:opacity}
/* the sheet is fully solid: at 98% the page text showed through it faintly */
.menu__in{background:var(--surface)!important}

/* ---------- second audit ---------- */
/* closed questions have no leftover space under them */
.qa__a>.qa__clip{padding:0}
/* the photo viewer's caption wraps on phones instead of being cut */
@media (max-width:700px){.lb__bar{flex-wrap:wrap;row-gap:8px}.lb__cap{order:-1;flex:1 0 100%;white-space:normal}.lb__count{margin-left:auto}}
/* the phone numbers fit on one line on the narrowest phones */
@media (max-width:359px){.phone-big__n{font-size:40px;white-space:nowrap}}
/* the phone bar is out of reach for the keyboard until it has risen */
@media (max-width:959px){
  html{scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .dock:not(.is-on){visibility:hidden;transition:transform .75s var(--spring),visibility 0s linear .75s}
  .dock.is-on{visibility:visible;transition:transform .75s var(--spring),visibility 0s}
}
