/* Ember & Oak — site-2026.css
   4px spacing scale · fluid type · one accent · no decorative motion */
@font-face{font-family:"Fraunces";src:url("../assets/fonts/fraunces-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("../assets/fonts/fraunces-latin-wght-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Outfit";src:url("../assets/fonts/outfit-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces Fallback";src:local("Georgia"),local("Gelasio"),local("Georgia Pro");size-adjust:104%;ascent-override:92%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Outfit Fallback";src:local("Arial"),local("Arimo"),local("Liberation Sans"),local("Helvetica");size-adjust:101%;ascent-override:100%;descent-override:26%;line-gap-override:0%}

:root{
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --gutter:clamp(20px,4vw,56px);--wrap:1280px;--wrap-narrow:880px;
  --sec:64px;
  --f-display:"Fraunces","Fraunces Fallback",Georgia,serif;
  --f-body:"Outfit","Outfit Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --t-display:clamp(3.5rem,2.1rem + 7vw,8rem);
  --t-h1:clamp(2.75rem,1.7rem + 4.4vw,5.5rem);
  --t-h2:clamp(2rem,1.45rem + 2.4vw,3.5rem);
  --t-h3:clamp(1.375rem,1.2rem + .6vw,1.75rem);
  --t-lead:clamp(1.125rem,1.05rem + .35vw,1.3125rem);
  --t-body:1rem;--t-label:.875rem;
  --r-ctl:2px;
  --header:64px;
  /* dark (default) */
  --bg:#0c0907;--surface:#14100d;--surface-2:#1c1612;--line:#2d251f;--line-strong:#74675a;
  --fg:#f4eadc;--muted:#b9a794;--accent:#e8923f;--accent-btn:#b4501a;--accent-btn-h:#9f4412;--on-accent:#fff;
  --field:#0c0907;--danger:#ff9d8a;--ok:#9fd6a8;--shade:rgba(12,9,7,.72);
  color-scheme:dark;
}
@media (min-width:768px){:root{--sec:96px;--header:72px}}
@media (min-width:1280px){:root{--sec:128px}}
[data-theme="light"]{
  --bg:#f6f0e6;--surface:#fffaf2;--surface-2:#efe6d8;--line:#dccfbb;--line-strong:#8a7b6a;
  --fg:#1a1410;--muted:#5e5042;--accent:#a3470f;--accent-btn:#b4501a;--accent-btn-h:#9f4412;
  --field:#fffdf8;--danger:#a02c12;--ok:#1f6b34;--shade:rgba(246,240,230,.8);
  color-scheme:light;
}
/* sections that stay dark in both themes */
.night.surface{background:var(--surface)}
.night{--bg:#0c0907;--surface:#14100d;--surface-2:#1c1612;--line:#2d251f;--line-strong:#74675a;--fg:#f4eadc;--muted:#b9a794;--accent:#e8923f;--field:#0c0907;--danger:#ff9d8a;--ok:#9fd6a8;color-scheme:dark;background:var(--bg);color:var(--fg)}

*,*::before,*::after{box-sizing:border-box;margin:0}
/* global safety: no decorative motion anywhere */
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header) + var(--s5))}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:var(--t-body);line-height:1.6;font-weight:400;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100svh;display:flex;flex-direction:column}
main{flex:1}
img,picture,svg{display:block;max-inline-size:100%}
img{block-size:auto;border-radius:0}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
::selection{background:var(--accent-btn);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.night :focus-visible,.site-header :focus-visible{outline-color:var(--accent)}
[hidden]{display:none!important}
.js-only{display:none}
.js .js-only{display:grid}
.js .no-js-note{display:none}
.sr-only{position:absolute!important;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:var(--s4);inset-block-start:-100px;z-index:100;background:var(--fg);color:var(--bg);padding:var(--s3) var(--s5);min-block-size:44px;display:inline-flex;align-items:center;font-weight:500}
.skip-link:focus{inset-block-start:var(--s2)}

/* type */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;line-height:1.08;letter-spacing:-.015em;text-wrap:balance;font-variation-settings:"opsz" 144}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);line-height:1.2;letter-spacing:-.005em}
em,.amp{font-style:italic}
p{text-wrap:pretty}
.lead{font-size:var(--t-lead);line-height:1.55;color:var(--muted);max-inline-size:44ch}
.muted{color:var(--muted)}
.kicker{display:flex;align-items:center;gap:var(--s3);font-size:var(--t-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.kicker::before{content:"";inline-size:var(--s6);block-size:1px;background:currentColor}
.label{font-size:var(--t-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.prose>*+*{margin-block-start:var(--s4)}
.prose p{color:var(--muted);max-inline-size:56ch}
.prose a:not(.btn):not(.link-arrow),.link{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.28em}
.prose a:not(.btn):not(.link-arrow):hover,.link:hover{text-decoration-color:var(--accent);color:var(--accent)}
.link-arrow{display:inline-flex;align-items:center;gap:var(--s2);min-block-size:44px;font-weight:500;color:var(--accent);text-decoration:none;border-block-end:1px solid transparent}
.link-arrow::after{content:"→"}
.link-arrow:hover{color:var(--fg)}

/* layout */
.wrap{inline-size:100%;max-inline-size:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-inline-size:calc(var(--wrap-narrow) + var(--gutter)*2)}
.section{padding-block:var(--sec)}
.section--tight{padding-block:calc(var(--sec)*.75)}
.surface{background:var(--surface)}
.surface-2{background:var(--surface-2)}
.rule-top{border-block-start:1px solid var(--line)}
.sec-head{display:grid;gap:var(--s4);margin-block-end:var(--s7);max-inline-size:44rem}
.sec-head h2{margin:0}
.grid{display:grid;gap:var(--s6)}
.split{display:grid;gap:var(--s7);align-items:center}
@media (min-width:1024px){
  .split{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6)}
  .split>:first-child{grid-column:1/span 6}
  .split>:last-child{grid-column:8/span 5}
  .split--r>:first-child{grid-column:1/span 5}
  .split--r>:last-child{grid-column:7/span 6}
  .split--r{}
  .split--top{align-items:start}
  .split--wide>:first-child{grid-column:1/span 7}
  .split--wide>:last-child{grid-column:9/span 4}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-block-size:48px;padding:var(--s3) var(--s5);border:1px solid var(--accent-btn);border-radius:var(--r-ctl);background:var(--accent-btn);color:var(--on-accent);font:500 1rem/1.2 var(--f-body);letter-spacing:.02em;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.btn:hover{background:var(--accent-btn-h);border-color:var(--accent-btn-h)}
.btn--ghost{background:transparent;border-color:var(--line-strong);color:var(--fg)}
.btn--ghost:hover{background:transparent;border-color:var(--fg);color:var(--fg)}
.btn--block{inline-size:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.btn[disabled]{opacity:1;background:var(--surface-2);border-color:var(--line);color:var(--muted);cursor:not-allowed}

/* header */
.site-header{position:sticky;inset-block-start:0;z-index:50;background:var(--shade);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-block-end:1px solid var(--line);color:var(--fg)}
.site-header.night{background:rgba(12,9,7,.78)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);block-size:var(--header)}
.brand{display:inline-flex;align-items:center;min-block-size:44px;font-family:var(--f-display);font-size:1.5rem;letter-spacing:-.01em;text-decoration:none;color:var(--fg);font-variation-settings:"opsz" 144;white-space:nowrap}
.brand em{color:var(--accent);padding-inline:.08em}
.nav{display:none}
.nav a{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;min-inline-size:44px;padding-inline:var(--s3);color:var(--muted);text-decoration:none;font-weight:500}
.nav a:hover,.nav a[aria-current="page"]{color:var(--fg)}
.nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
.hdr-actions{display:flex;align-items:center;gap:var(--s2)}
.hdr-actions .btn{min-block-size:44px;padding-block:var(--s2)}
.hdr-actions .btn--cta{display:none}
.icon-btn{display:inline-grid;place-items:center;inline-size:44px;block-size:44px;border:1px solid transparent;border-radius:var(--r-ctl);background:transparent;color:var(--fg);cursor:pointer;-webkit-appearance:none;appearance:none}
.icon-btn:hover{border-color:var(--line-strong)}
.icon-btn svg{inline-size:20px;block-size:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .i-sun{display:none}
[data-theme="light"] .theme-toggle .i-sun{display:block}
[data-theme="light"] .theme-toggle .i-moon{display:none}
/* mobile menu: native <details>, works without JS */
.m-menu{position:relative}
.m-menu summary{list-style:none;cursor:pointer}
.m-menu summary::-webkit-details-marker{display:none}
.m-menu .i-close{display:none}
.m-menu[open] .i-open{display:none}
.m-menu[open] .i-close{display:block}
.m-panel{position:fixed;inset:var(--header) 0 auto 0;max-block-size:calc(100svh - var(--header));overflow:auto;background:var(--bg);color:var(--fg);border-block-end:1px solid var(--line);padding:var(--s4) var(--gutter) var(--s6)}
.m-panel a{display:flex;align-items:center;justify-content:space-between;min-block-size:56px;border-block-end:1px solid var(--line);font-family:var(--f-display);font-size:1.75rem;text-decoration:none;color:var(--fg)}
.m-panel a[aria-current="page"]{color:var(--accent)}
.m-panel .btn{margin-block-start:var(--s5);inline-size:100%;font-family:var(--f-body);font-size:1rem;border-block-end:1px solid var(--accent-btn);justify-content:center}
@media (min-width:960px){
  .nav{display:flex;align-items:center;gap:var(--s2)}
  .m-menu{display:none}
  .hdr-actions .btn--cta{display:inline-flex}
}

/* hero */
.hero{position:relative;overflow:clip;padding-block:var(--s8) 0}
.hero-grid{display:grid;gap:var(--s7);align-items:center}
.hero h1{font-size:var(--t-display);line-height:.96;letter-spacing:-.03em;margin-block:var(--s4) var(--s5)}
.hero h1 em{color:var(--accent)}
@media (max-width:1023px){.hero h1{white-space:nowrap}}
.hero .lead{color:var(--muted);font-size:var(--t-lead);max-inline-size:34ch}
.hero .btn-row{margin-block-start:var(--s6)}
.hero-stage{position:relative;inline-size:100%}
.hero-stage img{inline-size:100%;block-size:auto;aspect-ratio:4/3;object-fit:cover}
.hero-cap{margin-block-start:var(--s3);color:var(--muted);font-size:var(--t-body);display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4)}
.hero-cap span:first-child{color:var(--fg)}
.hero-meta{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);margin-block-start:var(--s7);padding-block-start:var(--s5);border-block-start:1px solid var(--line);color:var(--muted)}
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-block-start:var(--s7);padding-block-start:var(--s5);border-block-start:1px solid var(--line)}
.proof dt{font-family:var(--f-display);font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);line-height:1;color:var(--fg)}
.proof dd{margin-block-start:var(--s2);color:var(--muted);font-size:var(--t-body);line-height:1.4}
.hero-foot{margin-block-start:var(--s8);border-block:1px solid var(--line);background:var(--surface)}
.hero-foot ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);padding-block:var(--s4);justify-content:flex-start}
@media (min-width:1280px){.hero-foot ul{justify-content:space-between}}
.hero-foot li{font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:var(--s3)}
.hero-foot li::before{content:"";inline-size:6px;block-size:6px;background:var(--accent)}
@media (min-width:1024px){
  .hero{padding-block:var(--s9) 0}
  .hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s6)}
  .hero-copy{grid-column:1/span 6}
  .hero-stage{grid-column:7/span 6;inline-size:calc(100% + var(--gutter))}
}
@media (min-width:1392px){.hero-stage{inline-size:calc(100% + (100vw - var(--wrap))/2)}}

/* edge fade — hero + primary feature only */
.img-fade{-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.35) 8%,#000 28%),linear-gradient(to bottom,#000 62%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.35) 8%,#000 28%),linear-gradient(to bottom,#000 62%,transparent 100%);mask-composite:intersect}
.img-fade--r{-webkit-mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.35) 8%,#000 28%),linear-gradient(to bottom,#000 80%,transparent 100%);mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.35) 8%,#000 28%),linear-gradient(to bottom,#000 80%,transparent 100%)}
@media (max-width:1023.98px){
  .img-fade,.img-fade--r{-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}
}
@media (forced-colors:active){.img-fade,.img-fade--r{-webkit-mask-image:none;mask-image:none}}

/* figures */
.fig{margin:0}
.fig img{inline-size:100%;object-fit:cover;border-radius:0}
.fig figcaption{margin-block-start:var(--s3);color:var(--muted);font-size:var(--t-body);line-height:1.5}
.fig .stock{display:block;color:var(--muted);font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;margin-block-start:var(--s1)}
.ar-43 img{aspect-ratio:4/3}.ar-1 img{aspect-ratio:1}.ar-45 img{aspect-ratio:4/5}.ar-32 img{aspect-ratio:3/2}

/* house */
.house-media{display:grid;gap:var(--s5)}
@media (min-width:640px){.house-media{grid-template-columns:3fr 2fr;align-items:end}}
.facts{display:grid;gap:var(--s6);margin-block-start:var(--s8);padding-block-start:var(--s7);border-block-start:1px solid var(--line)}
@media (min-width:768px){.facts{grid-template-columns:repeat(3,1fr);gap:var(--s7)}}
.facts dt{font-family:var(--f-display);font-size:clamp(2.5rem,2rem + 2vw,4rem);line-height:1;letter-spacing:-.02em}
.facts .u{display:block;margin-block-start:var(--s3);font-size:var(--t-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.facts dd{margin-block-start:var(--s1);color:var(--muted)}

/* signature */
.sig{display:grid;gap:var(--s7);align-items:center}
.sig-price{display:flex;align-items:baseline;gap:var(--s3);margin-block:var(--s5) var(--s4)}
.sig-price b{font-family:var(--f-display);font-weight:400;font-size:clamp(2.5rem,2rem + 2vw,3.75rem);line-height:1}
.sig-price span{color:var(--muted)}
.sig-media img{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:1024px){.sig{grid-template-columns:repeat(12,1fr);gap:var(--s6)}.sig-media{grid-column:1/span 7}.sig-copy{grid-column:8/span 5}}

/* menu rows */
.rows{list-style:none;padding:0;border-block-start:1px solid var(--line)}
.row{display:grid;grid-template-columns:1fr auto;gap:var(--s1) var(--s5);padding-block:var(--s4);border-block-end:1px solid var(--line);align-items:baseline}
.row h3{margin:0}
.row p{grid-column:1;color:var(--muted)}
.row .price{grid-row:1;grid-column:2;font-weight:500;font-size:1.25rem}
.price::before{content:"$";color:var(--muted);font-weight:400;margin-inline-end:1px}
.menu-tease{display:grid;gap:var(--s7)}
@media (min-width:1024px){.menu-tease{grid-template-columns:repeat(12,1fr);gap:var(--s6);align-items:start}.menu-tease>:first-child{grid-column:1/span 4;position:sticky;inset-block-start:calc(var(--header) + var(--s6))}.menu-tease>:last-child{grid-column:6/span 7}}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;padding:0}
.chips a{display:inline-flex;align-items:center;min-block-size:44px;padding-inline:var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-ctl);text-decoration:none;font-weight:500;color:var(--fg)}
.chips a:hover,.chips a[aria-current="true"]{border-color:var(--accent);color:var(--accent)}

/* ember band */
.band{position:relative;isolation:isolate;overflow:clip}
.band picture,.band img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:-2}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,9,7,.92),rgba(12,9,7,.55) 60%,rgba(12,9,7,.3))}
.band .wrap{padding-block:var(--s9)}
.band blockquote{font-family:var(--f-display);font-size:var(--t-h2);line-height:1.1;letter-spacing:-.015em;max-inline-size:18ch;text-wrap:balance}
.band blockquote em{color:var(--accent)}
.band .stock{margin-block-start:var(--s5);display:block;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* reserve strip + cards */
.card{background:var(--surface);border:1px solid var(--line);padding:var(--s5)}
@media (min-width:768px){.card{padding:var(--s7)}}
.card h3{margin-block-end:var(--s4)}
.hours{border-block-start:1px solid var(--line);margin-block-start:var(--s5)}
.hours div{display:flex;justify-content:space-between;gap:var(--s5);padding-block:var(--s3);border-block-end:1px solid var(--line)}
.hours dt{color:var(--muted)}
.hours dd{font-weight:500}
.hours .today dt,.hours .today dd{color:var(--accent)}
.status{display:inline-flex;align-items:center;gap:var(--s2);min-block-size:32px;font-size:var(--t-body);font-weight:500;color:var(--fg)}
.status::before{content:"";inline-size:8px;block-size:8px;background:var(--muted)}
.status[data-state="open"]::before{background:var(--ok)}
.status[data-state="closed"]::before{background:var(--accent)}
address{font-style:normal}
.contact-lines a{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.25em;min-block-size:44px;display:inline-flex;align-items:center}
.contact-lines a:hover{color:var(--accent);text-decoration-color:var(--accent)}

/* rooms */
.rooms{display:grid;gap:var(--s6)}
.room h3{margin-block:var(--s4) var(--s2)}
.room .seats{display:inline-block;margin-block-end:var(--s2);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500}
.room p{color:var(--muted)}
.room img{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:900px){
  .rooms{grid-template-columns:repeat(12,1fr);gap:var(--s6)}
  .room--main{grid-column:1/span 7}
  .rooms-side{grid-column:8/span 5;display:grid;gap:var(--s6);align-content:start}
  .room--side{display:grid;grid-template-columns:2fr 3fr;gap:var(--s5);align-items:start}
  .room--side h3{margin-block-start:0}
  .room--side img{aspect-ratio:1}
}

/* page header (inner) */
.page-head{padding-block:var(--s8) var(--s7);border-block-end:1px solid var(--line)}
.page-head h1{margin-block:var(--s4);max-inline-size:16ch}
.page-head--wide h1{max-inline-size:22ch}
@media (min-width:768px){.page-head{padding-block:var(--s9) var(--s8)}}

/* menu page */
.menu-nav{position:sticky;inset-block-start:var(--header);z-index:20;background:var(--bg);border-block-end:1px solid var(--line)}
.menu-nav .chips{flex-wrap:nowrap;overflow-x:auto;padding-block:var(--s3);scrollbar-width:thin}
.menu-nav .chips li{flex:none}
.menu-sec{padding-block:var(--sec);border-block-end:1px solid var(--line)}
.menu-sec:last-of-type{border-block-end:0}
.menu-grid{display:grid;gap:var(--s7)}
@media (min-width:1024px){.menu-grid{grid-template-columns:repeat(12,1fr);gap:var(--s6)}.menu-grid>.menu-side{grid-column:1/span 4;position:sticky;inset-block-start:calc(var(--header) + 80px);align-self:start}.menu-grid>.menu-list{grid-column:6/span 7}}
.menu-side h2{margin-block:var(--s3) var(--s4)}
.menu-side .fig{margin-block-start:var(--s6)}
.note{margin-block-start:var(--s5);padding:var(--s4) var(--s5);border-inline-start:2px solid var(--accent);background:var(--surface);color:var(--muted)}
.table-wrap{overflow-x:auto}
table{inline-size:100%;border-collapse:collapse}
caption{text-align:start}
th,td{padding:var(--s4) var(--s3);text-align:start;border-block-end:1px solid var(--line);vertical-align:baseline}
th{font-size:var(--t-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-block-end-color:var(--line-strong);padding-block:var(--s3)}
td a.link{display:inline-flex;align-items:center;min-block-size:44px}
td:first-child,th:first-child{padding-inline-start:0}
td.num,th.num{text-align:end;white-space:nowrap}
tbody th{border-block-end-color:var(--line);font-size:var(--t-body);letter-spacing:0;text-transform:none;color:var(--fg);font-weight:400;padding-block:var(--s4)}
tbody th strong{display:block;font-family:var(--f-display);font-weight:400;font-size:1.25rem;line-height:1.3}
tbody th .muted{display:block}
td .price::before{content:"$"}
.dash{color:var(--muted)}

/* house page */
.story{display:grid;gap:var(--s7)}
@media (min-width:1024px){.story{grid-template-columns:repeat(12,1fr);gap:var(--s6)}.story>:first-child{grid-column:1/span 5}.story>:last-child{grid-column:7/span 6}}
.ledger{list-style:none;padding:0;border-block-start:1px solid var(--line)}
.ledger li{display:grid;gap:var(--s1) var(--s6);padding-block:var(--s5);border-block-end:1px solid var(--line)}
.ledger h3{margin:0}
.ledger p{color:var(--muted);max-inline-size:52ch}
@media (min-width:768px){.ledger li{grid-template-columns:200px 1fr;align-items:baseline}}
.ledger .when{font-size:var(--t-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.photo-pair{display:grid;gap:var(--s5)}
@media (min-width:768px){.photo-pair{grid-template-columns:repeat(2,1fr);gap:var(--s6)}}
.photo-pair img{aspect-ratio:4/3;inline-size:100%;object-fit:cover}

/* forms */
.form{display:grid;gap:var(--s5)}
.form.js-only{display:none}
.js .form.js-only{display:grid}
.form-grid{display:grid;gap:var(--s5)}
@media (min-width:640px){.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:1/-1}}
.field{display:grid;gap:var(--s2);align-content:start}
.field>label,.field>.legend,legend{font-size:var(--t-body);font-weight:500;color:var(--fg)}
fieldset{border:0;padding:0;margin:0;min-inline-size:0}
legend{padding:0;margin-block-end:var(--s2)}
.hint{color:var(--muted);font-size:var(--t-body);line-height:1.45}
.err{display:none;color:var(--danger);font-size:var(--t-body);font-weight:500}
.field[data-invalid] .err,.err:not(:empty){display:block}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{inline-size:100%;min-block-size:48px;padding:var(--s3) var(--s4);font:400 1rem/1.4 var(--f-body);color:var(--fg);background:var(--field);border:1px solid var(--line-strong);border-radius:var(--r-ctl);-webkit-appearance:none;appearance:none;font-variant-numeric:tabular-nums}
textarea{min-block-size:128px;resize:vertical;line-height:1.5}
::placeholder{color:var(--muted);opacity:1}
input:hover,select:hover,textarea:hover{border-color:var(--fg)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
[aria-invalid="true"]{border-color:var(--danger)!important}
input[type=date]{color-scheme:inherit}
select{padding-inline-end:var(--s8);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 24px) 50%,calc(100% - 18px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer}
select option{background:var(--surface);color:var(--fg)}
@supports (appearance:base-select){
  select,::picker(select){appearance:base-select}
  select::picker-icon{display:none}
  select{background-image:none;padding-inline-end:var(--s4);display:flex;align-items:center;justify-content:space-between}
  select::after{content:"";inline-size:8px;block-size:8px;border-inline-end:1.5px solid currentColor;border-block-end:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);flex:none}
  ::picker(select){background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);border-radius:var(--r-ctl);padding:var(--s1);margin-block:var(--s1)}
  option{min-block-size:44px;padding:var(--s2) var(--s3);display:flex;align-items:center;border-radius:0}
  option:hover,option:focus-visible{background:var(--surface-2)}
  option:checked{background:var(--accent-btn);color:#fff}
  option::checkmark{display:none}
}
/* segmented radios */
.seg{display:flex;flex-wrap:wrap;gap:var(--s2)}
.seg label{position:relative}
.seg input{position:absolute;inset:0;inline-size:100%;block-size:100%;opacity:0;margin:0;cursor:pointer}
.seg span{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;min-inline-size:44px;padding:var(--s2) var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-ctl);font-weight:500;background:var(--field);color:var(--fg)}
.seg input:hover+span{border-color:var(--fg)}
.seg input:checked+span{background:var(--accent-btn);border-color:var(--accent-btn);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.seg input:disabled+span{color:var(--muted);text-decoration:line-through;border-color:var(--line);cursor:not-allowed}
.seg input:disabled{cursor:not-allowed}
.seg .ltd{display:block;font-size:var(--t-label);font-weight:400;color:var(--muted);line-height:1.2}
.seg input:checked+span .ltd{color:#fff}
.slot span{flex-direction:column;gap:0;min-inline-size:96px}
.form-actions{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center}
.form-error{padding:var(--s4);border:1px solid var(--danger);color:var(--danger);font-weight:500}
.confirm{border:1px solid var(--accent);padding:var(--s6);background:var(--surface)}
.confirm .code{font-family:var(--f-display);font-size:clamp(2.5rem,2rem + 2vw,3.5rem);line-height:1;margin-block:var(--s3) var(--s5);letter-spacing:.02em}
.confirm dl{display:grid;gap:0;border-block-start:1px solid var(--line)}
.confirm dl div{display:flex;justify-content:space-between;gap:var(--s5);padding-block:var(--s3);border-block-end:1px solid var(--line)}
.confirm dt{color:var(--muted)}
.confirm dd{text-align:end;font-weight:500}
.confirm .btn{margin-block-start:var(--s5)}
/* room picker */
.room-pick{display:grid;gap:var(--s3)}
.room-pick label{position:relative;display:grid;grid-template-columns:96px 1fr auto;gap:var(--s4);align-items:center;padding:var(--s3);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer}
.room-pick input{position:absolute;opacity:0;inset:0;inline-size:100%;block-size:100%;margin:0;cursor:pointer}
.room-pick img{inline-size:96px;block-size:72px;object-fit:cover}
.room-pick b{font-family:var(--f-display);font-weight:400;font-size:1.375rem;display:block;line-height:1.2}
.room-pick small{display:block;color:var(--muted);font-size:var(--t-body);line-height:1.4;margin-block-start:var(--s1)}
.room-pick .n{font-weight:500}
.room-pick label:hover{border-color:var(--fg)}
.room-pick label:has(input:checked){border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.room-pick label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:519.98px){.room-pick label{grid-template-columns:72px 1fr}.room-pick img{inline-size:72px;block-size:72px}.room-pick .n{grid-column:2}}
.form-layout{display:grid;gap:var(--s7)}
@media (min-width:1024px){.form-layout{grid-template-columns:repeat(12,1fr);gap:var(--s6);align-items:start}.form-layout>:first-child{grid-column:1/span 7}.form-layout>:last-child{grid-column:9/span 4;position:sticky;inset-block-start:calc(var(--header) + var(--s6))}}
.aside-block+.aside-block{margin-block-start:var(--s7)}
.aside-block h2{font-size:var(--t-h3);margin-block:var(--s3) var(--s4);font-family:var(--f-display)}

/* quick reserve (home) */
.quick{display:grid;gap:var(--s5)}
@media (min-width:640px){.quick{grid-template-columns:1fr 1fr}.quick .btn{grid-column:1/-1}}

/* footer */
.site-footer{margin-block-start:auto;background:var(--bg);color:var(--fg);border-block-start:1px solid var(--line)}
.f-grid{display:grid;gap:var(--s7) var(--s6);padding-block:var(--s8) var(--s7)}
.f-brand p{color:var(--muted);max-inline-size:34ch;margin-block-start:var(--s3)}
.f-brand .brand{font-size:2rem}
.f-col h2{font-family:var(--f-body);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-block-end:var(--s3);line-height:1.4}
.f-col ul{list-style:none;padding:0}
.f-col a{display:inline-flex;align-items:center;min-block-size:44px;min-inline-size:44px;color:var(--fg);text-decoration:none}
.f-col a:hover{color:var(--accent)}
.f-col address{color:var(--fg);line-height:1.6}
.f-col .hrs{display:grid;gap:var(--s1);color:var(--muted)}
.f-col .hrs div{display:flex;justify-content:space-between;gap:var(--s4);min-block-size:28px}
.f-col .hrs dd{white-space:nowrap}
.f-col .hrs dd{color:var(--fg)}
@media (min-width:640px){.f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.f-brand{grid-column:1/-1}}
@media (min-width:1024px){.f-grid{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:var(--s7)}.f-brand{grid-column:auto}}
.f-bar{border-block-start:1px solid var(--line);color:var(--muted)}
.f-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s6);padding-block:var(--s3)}
.f-bar p{max-inline-size:68ch;font-size:var(--t-body);line-height:1.5}
.f-bar a{display:inline-flex;align-items:center;min-block-size:44px;color:var(--muted)}
.f-bar a:hover{color:var(--fg)}
.f-bar .links{display:flex;gap:var(--s5)}

/* 404 */
.nf{min-block-size:60svh;display:grid;align-content:center;gap:var(--s5);padding-block:var(--s9)}
.nf h1{max-inline-size:14ch}

/* demo kit */
.kit>section{padding-block:var(--s7);border-block-end:1px solid var(--line)}
.kit h2{font-size:var(--t-h3);margin-block-end:var(--s5)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-footer,.menu-nav{display:none}body{background:#fff;color:#000}}
