/* Къща за гости „Сианна“ · Цигов чарк
   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:"Literata";src:url(/assets/fonts/literata-cyrillic-opsz-normal.woff2) format("woff2");font-weight:200 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:"Literata";src:url(/assets/fonts/literata-latin-opsz-normal.woff2) format("woff2");font-weight:200 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";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:"Literata Fallback";src:local("Georgia"),local("Times New Roman");size-adjust:104%;ascent-override:92%;descent-override:26%}
@font-face{font-family:"Onest Fallback";src:local("Arial"),local("Helvetica");size-adjust:101%;ascent-override:96%;descent-override:26%}

/* ---------- Tokens ---------- */
:root{
  /* daylight linen */
  --bg:#f6f3ec; --bg-2:#eee9df; --surface:#fbf9f5; --ph:#e2dbce;
  --ink:#18221b; --ink-2:#5a635c; --ink-3:#646b65;
  --accent:#b86b43; --accent-ink:#9a5332; --on-accent:#fffaf4;
  --line:rgba(24,34,27,.12); --line-2:rgba(24,34,27,.26);
  --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(246,243,236,.7); --glass-line:rgba(24,34,27,.1);
  --shadow:0 30px 60px -36px rgba(24,34,27,.5);
  --map-filter:sepia(.18) saturate(.75);

  --serif:"Literata","Literata Fallback",Georgia,"Times New Roman",serif;
  --sans:"Onest","Onest Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --rad:8px; --rad-lg:14px;
  --gutter:clamp(20px,4vw,64px);
  --maxw:1400px;
  --pad:max(var(--gutter),calc((100vw - var(--maxw))/2));
  --sec:clamp(88px,10vw,168px);
  --gap:clamp(16px,2vw,32px);
  color-scheme:light;
}
/* evening by the fireplace */
[data-theme="evening"]{
  --bg:#121613; --bg-2:#171c18; --surface:#1c221d; --ph:#262d27;
  --ink:#f3efea; --ink-2:#b5b1a8; --ink-3:#9e9a91;
  --accent:#d49b63; --accent-ink:#d9a46f; --on-accent:#1a120b;
  --line:rgba(243,239,234,.11); --line-2:rgba(243,239,234,.24);
  --pine:#0d110e; --pine-2:#090c0a;
  --glass:rgba(18,22,19,.66); --glass-line:rgba(243,239,234,.1);
  --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}}
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}

/* paper grain: one tiny tile, printed over everything */
.grain{position:fixed;inset:0;z-index:300;pointer-events:none;opacity:.03;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .08 0 0 0 0 .05 0 0 0 1.6 -.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
[data-theme="evening"] .grain{mix-blend-mode:screen;opacity:.05;filter:invert(1)}

/* 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:500 12.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:clamp(14px,1.6vw,22px)}
.h2{font:400 clamp(38px,5.2vw,80px)/1.04 var(--serif);letter-spacing:-.025em;text-wrap:balance}
.h3{font:400 clamp(24px,2.2vw,32px)/1.15 var(--serif);letter-spacing:-.02em}
.lead{font:400 clamp(20px,1.7vw,25px)/1.45 var(--serif);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{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{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(--serif);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:400 28px/1.2 var(--serif);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}
.hero__scene{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--ease)}
.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 1.4s var(--ease) both}
@keyframes lens-hero{from{transform:scale(1.05)}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{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:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid #e9bb8c;opacity:0;animation:wx-pulse 4s var(--ease) infinite}
@keyframes wx-pulse{0%{opacity:.7;transform:scale(.5)}70%,100%{opacity:0;transform:scale(1.6)}}
.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:.2em;text-transform:uppercase;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(--serif);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.04}
.js [data-lens].is-lens img{animation:lens 1.1s var(--ease) forwards}
@keyframes lens{from{scale:1.04}to{scale: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 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.stat dd{display:grid;gap:4px;margin-top:10px}
.stat b{font:400 clamp(58px,6.4vw,104px)/.92 var(--serif);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 12px/1.9 var(--sans);letter-spacing:.14em;text-transform:uppercase;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 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;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(--serif);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(--serif);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 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.range__v{font:400 44px/1 var(--serif);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:400 19px/1.4 var(--serif);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}
.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;transform:translate3d(var(--px,0px),0,0) scale(1.1);-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:400 15px/1.5 var(--serif);color:var(--accent-ink);font-variant-numeric:lining-nums tabular-nums}
.slide figcaption b{font:400 21px/1.3 var(--serif);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(--serif);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(--serif);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 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;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(--serif);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(--serif);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(--serif);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(--serif);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(--serif);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)}
.forest{position:relative;height:clamp(90px,12vw,190px);background:var(--bg);overflow:hidden}
.forest i{position:absolute;left:0;right:0;bottom:-1px;height:100%;-webkit-mask:var(--m) repeat-x var(--x,50%) 100%/auto 100%;mask:var(--m) repeat-x var(--x,50%) 100%/auto 100%}
.forest__far{--m:url(/assets/img/brand/forest-far.svg?v=2);background:color-mix(in srgb,var(--pine) 22%,var(--bg))}
.forest__mid{--m:url(/assets/img/brand/forest-back.svg?v=2);--x:35%;background:color-mix(in srgb,var(--pine) 55%,var(--bg))}
.forest__near{--m:url(/assets/img/brand/forest-front.svg?v=3);background:var(--pine)}
[data-theme="evening"] .forest__far{background:color-mix(in srgb,var(--ink) 9%,var(--bg))}
[data-theme="evening"] .forest__mid{background:color-mix(in srgb,var(--ink) 5%,var(--pine))}
[data-theme="evening"] .forest{background:linear-gradient(180deg,var(--bg) 30%,color-mix(in srgb,#d49b63 10%,var(--bg)) 100%)}
.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(--serif);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 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;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 12px/1 var(--sans);letter-spacing:.04em;color:rgba(243,239,234,.86)}
.lb__badge[hidden]{display:none}
.lb__cap{flex:1;min-width:0;font:400 17px/1.3 var(--serif);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(34px,calc((100vw - 150px)/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,.grain,.forest,.hero__scenes{display:none!important}
  .hero{height:auto;min-height:0;color:var(--ink)}
}
