/* Scott Brand System v1.0 — Hearth. Loaded after the existing layout. */
:root {
 --canvas:#f5f1e8; --ink:#282a26; --ground:#62684a; --field:#d4a184;
 --signal:#b43b1b; --quiet:#ded8cb; --muted:#5b5d53; --border:#77796d;
 --paper:var(--canvas); --surface:var(--canvas); --line:var(--quiet); --wash:var(--quiet);
 --heading:'Plus Jakarta Sans',system-ui,sans-serif;
 --body:Inter,system-ui,sans-serif;
 --technical:'JetBrains Mono',ui-monospace,monospace;
 font-family:var(--body); line-height:1.6;
}
a { color:var(--signal); }
:focus-visible { outline:3px solid var(--ink); outline-offset:3px; box-shadow:0 0 0 3px #fff; }
.skip { background:var(--canvas); }
.brand { font-family:var(--heading); font-weight:600; font-size:1.625rem; letter-spacing:-.04em; color:var(--ink); }
.brand strong { font-weight:700; }
.header-note, .intro>div>p, label, .results-heading p, .deal-top, .restaurant,
.address, .terms, .deal-foot, .empty p, .about, footer { color:var(--muted); }
.intro { gap:3rem; padding:3rem 0; }
.eyebrow { font-family:var(--technical); font-size:.875rem; letter-spacing:.02em; font-weight:500; }
.signal-line { display:block; width:4rem; height:3px; margin-block:1.5rem; background:var(--signal); }
h1,h2,h3 { font-family:var(--heading); overflow-wrap:anywhere; }
h1 { font-family:var(--heading); font-weight:700; font-size:clamp(2.25rem,4.7vw,3.75rem); letter-spacing:-.035em; line-height:1.08; margin:0 0 1.25rem; }
h2 { font-family:var(--heading); font-weight:600; font-size:clamp(1.5rem,3vw,1.875rem); line-height:1.2; letter-spacing:-.025em; }
.intro>div>p { max-width:36rem; }
.feature { background:var(--ground); color:#fff; transform:none; border-radius:.5rem; padding:2rem; }
.feature h2 { font-family:var(--heading); font-size:1.75rem; font-weight:600; margin:1rem 0; }
.feature a { display:inline-flex; align-items:center; gap:.5rem; color:#fff; min-height:44px; margin-top:.75rem; font-weight:600; }
.feature :focus-visible { outline-color:#fff; box-shadow:0 0 0 3px var(--ink); }
.filters { gap:1rem; padding:1.5rem 0; scroll-margin-top:1rem; }
label { gap:.5rem; font-size:.875rem; font-weight:600; color:var(--ink); }
select,input { min-height:48px; border-color:var(--border); border-radius:.25rem; padding:.75rem; font-size:1rem; }
input::placeholder { color:var(--muted); opacity:1; }
.results-heading { margin:2rem 0 1.5rem; }
.results-heading p { font-size:.875rem; margin-top:.5rem; }
.result-actions { gap:1rem; font-size:.875rem; }
#count { font-family:var(--technical); }
button { border-color:var(--border); border-radius:.25rem; min-height:44px; padding:.625rem 1rem; font-weight:600; }
button:active { border-color:var(--ink); }
.grid { gap:1.5rem; }
.deal { min-width:0; border-radius:.5rem; padding:1.5rem; transition:border-color 120ms cubic-bezier(.2,0,0,1); }
.deal:hover { border-color:var(--border); }
.deal-top { flex-wrap:wrap; font-size:.875rem; }
.badge { padding:.25rem .5rem; font-size:.875rem; }
.price { font-family:var(--heading); font-size:clamp(1.75rem,3vw,2.25rem); font-weight:700; letter-spacing:-.035em; margin:1.5rem 0 1rem; overflow-wrap:anywhere; }
.deal h3 { font-size:1.125rem; margin-bottom:.5rem; }
.restaurant { font-size:.875rem; font-weight:500; }
.deal-location, .terms, .deal-foot { font-size:.875rem; }
.deal-location a, .deal-foot a { display:inline-flex; align-items:center; min-height:44px; color:var(--signal); }
.deal-foot a { font-weight:600; }
.deal-foot { align-items:center; padding-top:1rem; }
.terms { margin-bottom:1.5rem; }
.empty { text-align:left; border:1px solid var(--border); border-radius:.5rem; padding:3rem 1.5rem; }
.empty h3 { font-family:var(--heading); font-size:1.5rem; font-weight:600; }
.about { margin-top:3rem; font-size:1rem; }
.about p { max-width:65ch; }
summary { min-height:44px; padding-block:.625rem; font-weight:600; }
footer { font-size:.875rem; }
.footer-brand { font-size:1.25rem; }
@media(max-width:850px) { .intro { gap:1.5rem; } .feature { padding:1.5rem; } }
@media(max-width:570px) {
 .brand { font-size:1.375rem; }
 .intro { padding:2rem 0; }
 .feature { display:block; margin-top:1.5rem; }
 .feature .eyebrow { display:none; }
 .feature h2 { margin-top:0; font-size:1.375rem; }
 .filters { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }
@media(forced-colors:active) {
 :focus-visible { outline:3px solid Highlight; box-shadow:none; }
 .deal,.feature,button,select,input { border:1px solid CanvasText; }
 .signal-line { background:CanvasText; }
}
