/* ==========================================================================
   Best Way Inn — Santa Ana, CA
   Palette : warm plaster ground · slate ink · Valencia-orange accent
   Type    : Bricolage Grotesque (display) · Public Sans (text & data)
   Target  : WCAG 2.1 Level AA, light and dark
   ========================================================================== */

/* ---------- tokens (light is the base; every token declared here) --------- */
:root{
  --ground:#F5F3EF;
  --surface:#FFFFFF;
  --surface-2:#EBE7E0;
  --ink:#15191F;
  --ink-soft:#2E3742;
  --muted:#565F6A;
  --tab-count:#606770;
  --accent:#1D5FA8;
  --accent-strong:#174E8E;
  --accent-wash:#E4EDF7;
  --on-accent:#FFFFFF;
  --line:#E2DED7;
  --line-strong:#C7C1B7;

  --dark-ground:#101418;
  --dark-surface:#191E24;
  --dark-surface-2:#20262D;
  --dark-ink:#E9E7E3;
  --dark-muted:#A5AEB8;
  --dark-accent:#7FB3E8;
  --dark-line:#2A3138;

  --sh-1:0 1px 2px rgba(21,25,31,.04), 0 8px 20px -14px rgba(21,25,31,.28);
  --sh-2:0 2px 6px rgba(21,25,31,.05), 0 26px 50px -28px rgba(21,25,31,.42);
  --sh-3:0 4px 10px rgba(21,25,31,.06), 0 44px 80px -40px rgba(21,25,31,.5);

  --f-display:"Bricolage Grotesque","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-text:"Public Sans","Helvetica Neue",Helvetica,Arial,sans-serif;

  --wrap:1220px;
  --gut:clamp(1.15rem,4vw,3rem);
  --r-s:8px;
  --r-m:14px;
  --r-l:22px;
  color-scheme:light;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:var(--dark-ground); --surface:var(--dark-surface); --surface-2:var(--dark-surface-2);
    --ink:var(--dark-ink); --ink-soft:#CFD5DB; --muted:var(--dark-muted);--tab-count:#A5AEB8;
    --accent:var(--dark-accent); --accent-strong:#A9CBEF; --accent-wash:#16283A; --on-accent:#101418;
    --line:var(--dark-line); --line-strong:#3A434C;
    --sh-1:0 1px 2px rgba(0,0,0,.45), 0 8px 20px -14px rgba(0,0,0,.8);
    --sh-2:0 2px 6px rgba(0,0,0,.5), 0 26px 50px -28px rgba(0,0,0,.9);
    --sh-3:0 4px 10px rgba(0,0,0,.55), 0 44px 80px -40px rgba(0,0,0,.95);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ground:var(--dark-ground); --surface:var(--dark-surface); --surface-2:var(--dark-surface-2);
  --ink:var(--dark-ink); --ink-soft:#CFD5DB; --muted:var(--dark-muted);--tab-count:#A5AEB8;
  --accent:var(--dark-accent); --accent-strong:#A9CBEF; --accent-wash:#16283A; --on-accent:#101418;
  --line:var(--dark-line); --line-strong:#3A434C;
  --sh-1:0 1px 2px rgba(0,0,0,.45), 0 8px 20px -14px rgba(0,0,0,.8);
  --sh-2:0 2px 6px rgba(0,0,0,.5), 0 26px 50px -28px rgba(0,0,0,.9);
  --sh-3:0 4px 10px rgba(0,0,0,.55), 0 44px 80px -40px rgba(0,0,0,.95);
  color-scheme:dark;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--f-text);
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.62;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.06;text-wrap:balance;margin:0;letter-spacing:-.025em}
p{margin:0}
ul,ol{margin:0;padding:0}
a{color:var(--accent-strong);text-underline-offset:.19em;text-decoration-thickness:.07em}
a:hover{color:var(--ink)}
button{font:inherit;color:inherit}
table{border-collapse:collapse}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}
:focus:not(:focus-visible){outline:none}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nowrap{white-space:nowrap}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}

.skip{
  position:absolute;left:var(--gut);top:-120px;z-index:100;
  background:var(--accent);color:var(--on-accent);
  padding:.9rem 1.35rem;border-radius:var(--r-s);font-weight:600;text-decoration:none;transition:top .15s ease;
}
.skip:focus{top:.85rem;color:var(--on-accent)}

/* ---------- shared type devices ---------- */
.eyebrow{
  font-family:var(--f-display);font-weight:600;font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0;
}
.step-rule{
  display:block;width:44px;height:11px;margin-bottom:1.15rem;background-repeat:no-repeat;
  --s1:var(--accent);
  --s2:color-mix(in srgb, var(--accent) 60%, transparent);
  --s3:color-mix(in srgb, var(--accent) 32%, transparent);
  background-image:
    linear-gradient(var(--s1),var(--s1)),
    linear-gradient(var(--s2),var(--s2)),
    linear-gradient(var(--s3),var(--s3));
  background-size:44px 3px,32px 3px,20px 3px;
  background-position:0 0,0 4px,0 8px;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:50px;padding:.75rem 1.55rem;
  font-family:var(--f-display);font-weight:600;font-size:1rem;
  border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.btn-solid{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:var(--sh-1)}
.btn-solid:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent);box-shadow:var(--sh-2)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn-invert{background:var(--ground);color:var(--ink);border-color:var(--ground)}
.btn-invert:hover{background:var(--surface);color:var(--ink)}
.btn-sm{min-height:44px;padding:.55rem 1.15rem;font-size:.92rem}

/* ---------- header ---------- */
.site-head{
  position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--ground) 88%,transparent);
  backdrop-filter:saturate(1.5) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.site-head.stuck{border-bottom-color:var(--line);box-shadow:var(--sh-1)}
.head-inner{display:flex;align-items:center;gap:1rem;padding-block:.85rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink);margin-right:auto}
.brand-mark{display:flex;flex-direction:column;gap:2.5px;align-items:flex-start;padding-top:3px}
.brand-mark i{display:block;height:3px;border-radius:2px;background:var(--accent)}
.brand-mark i:nth-child(1){width:28px}
.brand-mark i:nth-child(2){width:20px;opacity:.6}
.brand-mark i:nth-child(3){width:12px;opacity:.32}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--f-display);font-weight:700;font-size:1.24rem;letter-spacing:-.022em}
.brand-sub{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

.nav-toggle{
  display:none;align-items:center;gap:.5rem;min-height:46px;padding:.5rem 1rem;
  background:transparent;border:2px solid var(--line-strong);border-radius:999px;cursor:pointer;
  font-family:var(--f-display);font-weight:600;font-size:.92rem;
}
.bars{display:flex;flex-direction:column;gap:3.5px}
.bars i{display:block;width:16px;height:2px;background:currentColor;border-radius:2px}

.primary{display:flex;align-items:center;gap:.35rem 1.6rem;flex-wrap:wrap}
.primary ul{display:flex;gap:.25rem 1.6rem;list-style:none;flex-wrap:wrap}
.primary a:not(.btn){
  position:relative;display:inline-flex;align-items:center;min-height:44px;
  color:var(--ink);text-decoration:none;font-weight:500;font-size:.97rem;
}
.primary a:not(.btn)::after{
  content:"";position:absolute;left:0;right:0;bottom:9px;height:2px;border-radius:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
}
.primary a:not(.btn):hover::after,.primary a[aria-current="page"]::after{transform:scaleX(1)}
.primary a[aria-current="page"]{color:var(--accent-strong);font-weight:600}

/* ---------- hero ---------- */
.hero{padding-block:clamp(2.75rem,7vw,5.5rem) clamp(2.25rem,5vw,4rem);position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
@media (min-width:1000px){
  .hero-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
}
.hero-copy{display:flex;flex-direction:column;gap:1.3rem;max-width:35rem}
.hero-copy h1{font-size:clamp(2.35rem,1.3rem + 4.1vw,4.15rem);font-weight:700;letter-spacing:-.035em;line-height:1.02}
.lede{font-size:clamp(1.06rem,1rem + .38vw,1.2rem);color:var(--ink-soft);max-width:33rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-addr{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;
  font-size:.94rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1.2rem}
.addr-line{font-variant-numeric:tabular-nums}
.quiet-link{color:var(--accent-strong);font-weight:600}

.hero-fig{margin:0;position:relative;border-radius:var(--r-l);overflow:hidden;
  box-shadow:var(--sh-3);background:var(--surface-2)}
.hero-fig img{width:100%;aspect-ratio:16/10;object-fit:cover}
@media (min-width:1000px){
  /* let the photo bleed toward the right edge of the viewport */
  .hero-fig{margin-right:calc(-1 * max(0px, (100vw - var(--wrap)) / 2 + var(--gut) - 2rem))}
  .hero-fig img{aspect-ratio:16/11}
}
.hero-tag{
  position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.5rem;
  background:color-mix(in srgb, var(--dark-ground) 82%, transparent);
  backdrop-filter:blur(8px);color:#FFF;
  padding:.5rem .95rem;border-radius:999px;font-size:.82rem;letter-spacing:.02em;
}
.hero-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dark-accent)}

/* ---------- quick facts strip ---------- */
.strip{border-block:1px solid var(--line);background:var(--surface-2)}
.strip-inner{display:grid;gap:1px;background:var(--line);grid-template-columns:1fr}
@media (min-width:600px){.strip-inner{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.strip-inner{grid-template-columns:repeat(4,1fr)}}
.strip-inner > div{background:var(--surface-2);padding:1.35rem clamp(1rem,2.5vw,1.75rem);
  display:flex;flex-direction:column;gap:.15rem}
.strip-k{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.strip-v{font-family:var(--f-display);font-weight:600;font-size:1.08rem;letter-spacing:-.015em}

/* ---------- section shell ---------- */
.band{padding-block:clamp(3.25rem,8vw,6rem)}
.band-alt{background:var(--surface-2)}
.band-head{max-width:46rem;display:flex;flex-direction:column;gap:.6rem;margin-bottom:clamp(2rem,4.5vw,3.25rem)}
.band-head h2{font-size:clamp(1.95rem,1.35rem + 2.3vw,3.1rem)}
.band-intro{color:var(--muted);max-width:38rem}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}

/* ---------- room cards (editorial, not boxes) ---------- */
.cards{display:grid;gap:clamp(1.25rem,2.5vw,1.9rem);grid-template-columns:1fr}
@media (min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;gap:1.1rem}
.card-media{position:relative;border-radius:var(--r-m);overflow:hidden;background:var(--surface-2);box-shadow:var(--sh-1)}
.card-media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.card:hover .card-media img{transform:scale(1.04)}
.card-rate{
  position:absolute;top:.8rem;left:.8rem;
  background:color-mix(in srgb, var(--dark-ground) 84%, transparent);backdrop-filter:blur(8px);
  color:#FFF;padding:.4rem .8rem;border-radius:999px;
  font-family:var(--f-display);font-weight:600;font-size:.82rem;font-variant-numeric:tabular-nums;
}
.card h3{font-size:clamp(1.3rem,1.15rem + .7vw,1.6rem)}
.card p{color:var(--ink-soft);font-size:.99rem}
.card-specs{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.35rem}
.card-specs li{
  font-size:.82rem;letter-spacing:.01em;color:var(--muted);
  border:1px solid var(--line-strong);border-radius:999px;padding:.28rem .7rem;
}
.cards-foot{margin-top:clamp(1.75rem,3.5vw,2.5rem);display:flex;flex-wrap:wrap;gap:1rem 1.75rem;align-items:center}
.cards-foot p{color:var(--muted);font-size:.95rem;max-width:38rem}

/* ---------- amenities ---------- */
.amen{list-style:none;display:grid;gap:clamp(1.1rem,2.2vw,1.6rem);grid-template-columns:1fr}
@media (min-width:560px){.amen{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.amen{grid-template-columns:repeat(4,1fr)}}
.amen li{display:flex;flex-direction:column;gap:.35rem;padding-top:1.1rem;border-top:2px solid var(--ink)}
.amen li:nth-child(4n+1){border-top-color:var(--accent)}
.amen h3{font-size:1.05rem}
.amen p{font-size:.93rem;color:var(--muted)}

.facts{margin-top:clamp(2.25rem,5vw,3.25rem)}
.facts-h{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.fact-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-m);overflow:hidden;grid-template-columns:1fr}
@media (min-width:560px){.fact-list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.fact-list{grid-template-columns:repeat(3,1fr)}}
.fact-list > div{background:var(--ground);padding:1.1rem 1.3rem;display:flex;flex-direction:column;gap:.25rem}
.band-alt .fact-list > div{background:var(--surface)}
.fact-list dt{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.fact-list dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- gallery ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1.5rem,3vw,2.25rem);
  border-bottom:1px solid var(--line);padding-bottom:1rem}
.tab{
  min-height:44px;padding:.5rem 1.15rem;border-radius:999px;cursor:pointer;
  background:transparent;border:1px solid var(--line-strong);color:var(--muted);
  font-family:var(--f-display);font-weight:600;font-size:.92rem;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.tab:hover{color:var(--ink);border-color:var(--ink)}
.tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.tab-count{opacity:1;color:var(--tab-count);font-variant-numeric:tabular-nums;margin-left:.3rem}
.tab[aria-selected="true"] .tab-count{color:inherit;opacity:.85}

.grid-gal{list-style:none;display:grid;gap:clamp(.7rem,1.6vw,1.1rem);grid-template-columns:1fr}
@media (min-width:520px){.grid-gal{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.grid-gal{grid-template-columns:repeat(3,1fr)}}
.grid-gal li.is-hidden{display:none}
.gal-btn{
  position:relative;display:block;width:100%;padding:0;border:0;
  border-radius:var(--r-m);overflow:hidden;background:var(--surface-2);cursor:pointer;
  box-shadow:var(--sh-1);transition:box-shadow .22s ease,transform .22s ease;
}
.gal-btn img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.gal-btn:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.gal-btn:hover img{transform:scale(1.05)}
.gal-zoom{
  position:absolute;left:.7rem;bottom:.7rem;
  background:color-mix(in srgb, var(--dark-ground) 84%, transparent);backdrop-filter:blur(8px);color:#FFF;
  font-family:var(--f-display);font-weight:600;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;
  padding:.36rem .75rem;border-radius:999px;opacity:0;transform:translateY(5px);
  transition:opacity .2s ease,transform .2s ease;
}
.gal-btn:hover .gal-zoom,.gal-btn:focus-visible .gal-zoom{opacity:1;transform:none}
.gal-empty{color:var(--muted);padding:2rem 0}

/* exterior placeholders */
.ph{
  display:flex;flex-direction:column;justify-content:center;gap:.35rem;
  aspect-ratio:4/3;padding:1rem;text-align:center;
  border:2px dashed var(--accent);border-radius:var(--r-m);
  background:var(--accent-wash);color:var(--accent-strong);
}
.ph-k{font-family:var(--f-display);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.ph-t{font-size:.96rem;color:var(--ink-soft)}
.ph code,.ph-note code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;
  background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:.12em .4em;color:var(--ink-soft)}
.ph-note{margin-top:1.25rem;font-size:.92rem;color:var(--muted);max-width:48rem;
  border-left:3px solid var(--accent);padding-left:1.1rem}
.ph-note strong{color:var(--ink)}

/* ---------- accessibility band ---------- */
.band-dark{background:var(--dark-ground);color:var(--dark-ink)}
.band-dark .eyebrow{color:var(--dark-accent)}
.band-dark .band-intro{color:var(--dark-muted)}
.band-dark a{color:var(--dark-accent)}
.band-dark a:hover{color:#FFF}
.band-dark .step-rule{--s1:var(--dark-accent);
  --s2:color-mix(in srgb, var(--dark-accent) 60%, transparent);
  --s3:color-mix(in srgb, var(--dark-accent) 32%, transparent)}
.band-dark :focus-visible{outline-color:var(--dark-accent)}
.acc-grid{display:grid;gap:clamp(1.25rem,3vw,2rem);grid-template-columns:1fr}
@media (min-width:780px){.acc-grid{grid-template-columns:repeat(2,1fr)}}
.acc-col{background:var(--dark-surface);border-radius:var(--r-m);padding:clamp(1.35rem,3vw,2rem)}
.acc-col h3{font-size:1.15rem;margin-bottom:1rem;color:#FFF}
.ticks{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.ticks li{position:relative;padding-left:1.75rem;color:var(--dark-muted);font-size:.96rem}
.ticks li::before{content:"";position:absolute;left:0;top:.52em;width:10px;height:10px;border-radius:3px;background:var(--dark-accent)}
.ticks-no li::before{top:.78em;height:3px;width:13px;border-radius:2px;background:var(--dark-muted)}
.acc-call{margin-top:1.5rem;background:var(--dark-surface);border-left:4px solid var(--dark-accent);
  border-radius:var(--r-m);padding:clamp(1.25rem,3vw,1.75rem)}
.acc-call p{color:var(--dark-muted)}
.acc-call strong{color:#FFF}
.acc-statement{margin-top:1.5rem;border-top:1px solid var(--dark-line);padding-top:1.25rem}
.acc-statement summary{cursor:pointer;font-family:var(--f-display);font-weight:600;font-size:1.08rem;color:#FFF;
  min-height:46px;display:flex;align-items:center;gap:.7rem;list-style:none}
.acc-statement summary::-webkit-details-marker{display:none}
.sum-chev{display:inline-block;width:0;height:0;flex:0 0 auto;
  border-left:7px solid var(--dark-accent);border-top:5px solid transparent;border-bottom:5px solid transparent;
  transition:transform .2s ease}
.acc-statement[open] .sum-chev{transform:rotate(90deg)}
.acc-statement-body{display:flex;flex-direction:column;gap:.95rem;padding-top:1rem;max-width:48rem;color:var(--dark-muted)}
.acc-statement-body ul{padding-left:1.2rem;display:flex;flex-direction:column;gap:.5rem}
.acc-statement-body strong{color:#FFF}
.acc-rev{font-size:.88rem}

/* ---------- location ---------- */
.loc-grid{display:grid;gap:clamp(2rem,4vw,3.5rem);grid-template-columns:1fr}
@media (min-width:920px){.loc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}}
.addr-big{font-family:var(--f-display);font-weight:600;font-size:clamp(1.2rem,1rem + .8vw,1.5rem);
  line-height:1.35;margin-block:1.1rem .25rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.loc-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.35rem}
.loc-note{margin-top:1.35rem;color:var(--muted);max-width:34rem}
.dist-wrap{background:var(--surface);border-radius:var(--r-m);box-shadow:var(--sh-1);
  padding:clamp(1.25rem,3vw,1.9rem);overflow-x:auto}
.dist-h{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.dist{width:100%;font-size:.95rem}
.dist caption{caption-side:bottom;text-align:left;padding-top:1rem;font-size:.84rem;color:var(--muted)}
.dist th,.dist td{padding:.6rem .4rem;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.dist thead th{font-family:var(--f-display);font-weight:600;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--line-strong)}
.dist tbody th{font-weight:500;color:var(--ink)}
.dist .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.dist tbody tr:last-child th,.dist tbody tr:last-child td{border-bottom:0}

/* ---------- cta ---------- */
.cta-band{background:var(--accent);color:var(--on-accent);padding-block:clamp(2.5rem,5.5vw,3.75rem)}
.cta-inner{display:flex;flex-wrap:wrap;gap:1.75rem;align-items:center;justify-content:space-between}
.cta-inner h2{font-size:clamp(1.65rem,1.25rem + 1.6vw,2.4rem)}
.cta-inner p{margin-top:.5rem;max-width:34rem;opacity:.94}
.cta-band :focus-visible{outline-color:var(--on-accent)}

/* ---------- footer ---------- */
.site-foot{background:var(--dark-ground);color:var(--dark-muted);padding-block:clamp(2.5rem,5vw,3.75rem) 1.5rem}
.foot-grid{display:grid;gap:clamp(1.75rem,4vw,3rem);grid-template-columns:1fr}
@media (min-width:640px){.foot-grid{grid-template-columns:repeat(3,1fr)}}
.foot-name{font-family:var(--f-display);font-weight:700;font-size:1.2rem;color:#FFF;margin-bottom:.6rem;letter-spacing:-.02em}
.site-foot address{font-style:normal;line-height:1.8}
.site-foot a{color:var(--dark-accent)}
.site-foot a:hover{color:#FFF}
.foot-h{font-family:var(--f-display);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:#FFF;margin-bottom:.8rem;font-weight:600}
.site-foot nav ul{list-style:none;display:flex;flex-direction:column;gap:.1rem}
.site-foot nav a{display:inline-flex;align-items:center;min-height:40px;text-decoration:none}
.site-foot nav a:hover{text-decoration:underline}
.foot-hours{line-height:1.8}
.foot-legal{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;justify-content:space-between;
  margin-top:clamp(2rem,4vw,2.75rem);padding-top:1.35rem;border-top:1px solid var(--dark-line);font-size:.87rem}
.site-foot :focus-visible{outline-color:var(--dark-accent)}

/* ---------- lightbox ---------- */
.lb{border:0;padding:0;background:transparent;max-width:min(1120px,94vw);max-height:94vh;width:100%;color:var(--dark-ink)}
.lb::backdrop{background:rgba(8,11,14,.92)}
.lb-inner{position:relative;background:var(--dark-surface);border-radius:var(--r-l);
  padding:clamp(.85rem,2vw,1.25rem);display:flex;flex-direction:column;gap:.9rem}
.lb-fig{margin:0;display:flex;flex-direction:column;gap:.8rem;min-height:0}
.lb-fig img{width:100%;max-height:68vh;object-fit:contain;border-radius:var(--r-s);background:#0A0D10}
.lb-fig figcaption{font-size:.93rem;color:var(--dark-muted);max-width:62rem}
.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.lb-nav{min-height:44px;padding:.55rem 1.2rem;background:transparent;color:var(--dark-ink);
  border:1px solid var(--dark-line);border-radius:999px;cursor:pointer;
  font-family:var(--f-display);font-weight:600;font-size:.92rem}
.lb-nav:hover{border-color:var(--dark-accent);color:var(--dark-accent)}
.lb-count{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark-muted);font-variant-numeric:tabular-nums}
.lb-close{position:absolute;top:-16px;right:-16px;width:48px;height:48px;border-radius:50%;
  background:var(--dark-accent);color:#101418;border:0;cursor:pointer;font-size:1.1rem;font-weight:700;
  box-shadow:0 8px 22px rgba(0,0,0,.55)}
.lb-close:hover{background:#FFF}
.lb :focus-visible{outline-color:var(--dark-accent)}

/* ---------- page hero (inner pages) ---------- */
.page-head{padding-block:clamp(2.5rem,6vw,4.25rem) clamp(1.5rem,3vw,2.25rem)}
.page-head h1{font-size:clamp(2.2rem,1.4rem + 3.2vw,3.5rem);max-width:16ch}
.page-head .lede{margin-top:1rem}
.crumb{display:flex;gap:.5rem;align-items:center;list-style:none;font-size:.86rem;color:var(--muted);margin-bottom:1.15rem}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--accent-strong);text-decoration:underline}
.crumb li+li::before{content:"/";margin-right:.5rem;color:var(--line-strong)}

/* ---------- room detail rows (rooms page) ---------- */
.rows{display:flex;flex-direction:column;gap:clamp(2.5rem,6vw,4.5rem)}
.row{display:grid;gap:clamp(1.5rem,3.5vw,3rem);grid-template-columns:1fr;align-items:center}
@media (min-width:860px){
  .row{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .row-flip .row-media{order:2}
}
.row-media{border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-2);background:var(--surface-2)}
.row-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.row-body{display:flex;flex-direction:column;gap:1rem}
.row-body h2{font-size:clamp(1.65rem,1.25rem + 1.5vw,2.35rem)}
.row-body p{color:var(--ink-soft)}
.row-rate{display:flex;align-items:baseline;gap:.5rem}
.rate-num{font-family:var(--f-display);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rate-unit{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.row-specs{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;margin-top:.35rem}
.row-specs li{background:var(--ground);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.15rem}
.spec-k{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.spec-v{font-weight:600;font-size:.96rem}

/* ---------- small screens ---------- */
@media (max-width:900px){
  .nav-toggle{display:inline-flex}
  .primary{
    display:none;order:3;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.25rem;
    padding-block:.75rem 1.1rem;border-top:1px solid var(--line);margin-top:.5rem;
  }
  .primary.open{display:flex}
  .primary ul{flex-direction:column;gap:0}
  .primary li{border-bottom:1px solid var(--line)}
  .primary a:not(.btn){min-height:54px;width:100%;font-size:1.04rem}
  .primary a:not(.btn)::after{bottom:12px}
  .head-cta{margin-top:.85rem;width:100%}
}
@media (max-width:520px){
  .cta-inner .btn,.hero-actions .btn,.loc-actions .btn{width:100%}
  .lb-close{top:-10px;right:-10px}
  .lb-bar{justify-content:center}
}


/* ==========================================================================
   Landing page
   ========================================================================== */
.landing{
  position:relative;padding-block:clamp(3rem,9vw,7rem) clamp(2.5rem,6vw,4.5rem);
  text-align:center;overflow:hidden;
}
.landing-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:44rem;margin-inline:auto}
.landing-mark{display:flex;flex-direction:column;gap:4px;align-items:center;margin-bottom:.25rem}
.landing-mark i{display:block;height:4px;border-radius:2px;background:var(--accent)}
.landing-mark i:nth-child(1){width:76px}
.landing-mark i:nth-child(2){width:52px;opacity:.58}
.landing-mark i:nth-child(3){width:30px;opacity:.3}
.landing h1{
  font-size:clamp(2.9rem,1.5rem + 6.2vw,5.75rem);
  font-weight:700;letter-spacing:-.045em;line-height:.95;
}
.motto{
  font-family:var(--f-display);font-weight:500;
  font-size:clamp(1.12rem,1rem + .75vw,1.55rem);
  line-height:1.42;color:var(--ink-soft);max-width:26ch;letter-spacing:-.012em;
}
.motto em{font-style:normal;color:var(--accent-strong)}
.landing-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:.25rem}
.landing-addr{
  display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;align-items:baseline;
  font-size:.95rem;color:var(--muted);font-variant-numeric:tabular-nums;
}

.landing-photo{margin:clamp(2.25rem,5vw,3.5rem) 0 0;border-radius:var(--r-l);overflow:hidden;
  box-shadow:var(--sh-3);background:var(--surface-2)}
.landing-photo img{width:100%;aspect-ratio:2/1;object-fit:cover}
@media (max-width:700px){.landing-photo img{aspect-ratio:4/3}}

.landing-near{
  font-size:.88rem;letter-spacing:.01em;color:var(--muted);
  font-variant-numeric:tabular-nums;max-width:40ch;
}

/* ---------- menu tiles ---------- */
.tiles{display:grid;gap:clamp(1rem,2.2vw,1.6rem);grid-template-columns:1fr}
@media (min-width:640px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{
  position:relative;display:flex;flex-direction:column;gap:.75rem;
  padding:0 0 1.4rem;text-decoration:none;color:inherit;
  border-radius:var(--r-m);overflow:hidden;background:var(--surface);
  box-shadow:var(--sh-1);transition:box-shadow .22s ease,transform .22s ease;
}
.tile:hover{box-shadow:var(--sh-2);transform:translateY(-3px);color:inherit}
.tile-media{background:var(--surface-2);overflow:hidden}
.tile-media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.tile:hover .tile-media img{transform:scale(1.05)}
.tile-body{padding-inline:clamp(1.15rem,2.5vw,1.5rem);display:flex;flex-direction:column;gap:.35rem}
.tile h3{font-size:1.22rem}
.tile p{font-size:.93rem;color:var(--muted)}
.tile-go{margin-top:.55rem;font-family:var(--f-display);font-weight:600;font-size:.9rem;
  color:var(--accent-strong);display:inline-flex;align-items:center;gap:.4rem}
.tile:hover .tile-go{gap:.7rem}
.tile-go span{transition:transform .2s ease}

/* ---------- map ---------- */
.map-grid{display:grid;gap:clamp(1.5rem,3.5vw,2.5rem);grid-template-columns:1fr}
@media (min-width:900px){.map-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}}
.map-frame{
  position:relative;border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-2);
  background:var(--surface-2);aspect-ratio:4/3;min-height:320px;
}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-fallback{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.75rem;padding:2rem;text-align:center;color:var(--muted);font-size:.95rem;
}
.map-fallback strong{color:var(--ink);font-family:var(--f-display);font-size:1.05rem}

/* ---------- points of interest ---------- */
.poi-group{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3rem)}
.poi-h{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;
  border-bottom:2px solid var(--ink);padding-bottom:.65rem;margin-bottom:1.35rem}
.poi-h h3{font-size:1.3rem}
.poi-h span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.poi{list-style:none;display:grid;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;grid-template-columns:1fr}
@media (min-width:720px){.poi{grid-template-columns:repeat(2,1fr)}}
.poi li{background:var(--surface);padding:1.1rem 1.3rem;display:grid;
  grid-template-columns:1fr auto;gap:.2rem 1rem;align-items:baseline}
.poi-name{font-family:var(--f-display);font-weight:600;font-size:1.02rem;letter-spacing:-.012em}
.poi-mi{font-variant-numeric:tabular-nums;font-weight:600;font-size:.9rem;color:var(--accent-strong);white-space:nowrap}
.poi-note{grid-column:1 / -1;font-size:.9rem;color:var(--muted)}

/* ---------- print ---------- */
@media print{
  .site-head,.cta-band,.gal-zoom,.lb,.tabs,.map-frame{display:none!important}
  body{background:#fff;color:#000}
  .band,.hero{padding-block:1rem}
  .grid-gal li.is-hidden{display:block}
}


/* ---------- bright blue: buttons & links (added 2026-09-17) ---------- */
:root{ --bright:#0B63E5; }
@media (prefers-color-scheme:dark){ :root{ --bright:#5AA7FF; } }
.btn-solid{ background:var(--bright); border-color:var(--bright); }
.quiet-link, .tile-go, main p a, .band a:not(.btn):not(.tab){ color:var(--bright); }
.cta-band .btn-invert{ color:var(--bright); }
.tab{ border-color:#8F887C; }
