@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..800;1,9..144,400..700&family=Work+Sans:ital,wght@0,400..700;1,400..600&display=swap');
:root{
  --serif:"Fraunces",Rockwell,"Roboto Slab","Zilla Slab",Georgia,serif;
  --sans:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Helvetica,Arial,sans-serif;
  --display:var(--serif);
  --bg:#FBF7EF;--surface:#FFFDF8;--sunk:#F3ECDF;--line:#E4D9C6;--edge:#7A6B52;
  --ink:#241C12;--ink-2:#5A4A36;
  --accent:#5A6B1E;--on-accent:#FFFDF8;--hover:#43501A;
  --accent-line:#9BAE4E;--wash:#EEF1DC;
  --good:#3F6B1E;--warn:#8A5700;--bad:#A8322A;
  --t-xs:12px;--t-sm:14px;--t-md:16px;--t-lg:20px;--t-xl:25px;--t-2xl:31px;
  --r:10px;--r-card:16px;
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    color-scheme:dark;
    --bg:#15140F;--surface:#1D1B14;--sunk:#252218;--line:#332F23;--edge:#8B8069;
    --ink:#F2EEE2;--ink-2:#C2B9A4;
    --accent:#C3D67A;--on-accent:#1A1A0E;--hover:#D6E59B;
    --accent-line:#7C8A3E;--wash:#262A18;
    --good:#8FD06A;--warn:#EDBE4F;--bad:#FF8A80;
  }
}
:root[data-theme=dark]{
  color-scheme:dark;
  --bg:#15140F;--surface:#1D1B14;--sunk:#252218;--line:#332F23;--edge:#8B8069;
  --ink:#F2EEE2;--ink-2:#C2B9A4;
  --accent:#C3D67A;--on-accent:#1A1A0E;--hover:#D6E59B;
  --accent-line:#7C8A3E;--wash:#262A18;
  --good:#8FD06A;--warn:#EDBE4F;--bad:#FF8A80;
}
/* thick accent underline under headings and the active nav item */
#main h1,#main .sec h2{position:relative;padding-bottom:.18em}
#main h1::after,#main .sec h2::after{content:"";position:absolute;left:0;bottom:0;width:2.4em;height:4px;border-radius:2px;background:var(--accent)}
#main .sec h2::after{width:1.8em}
.nav ul a[aria-current=page]{color:var(--ink);box-shadow:none;position:relative}
.nav ul a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:14px;height:3px;border-radius:2px;background:var(--accent)}
.brand{letter-spacing:-.03em;font-weight:600}
.brand::first-letter{color:var(--accent)}
.kicker{color:var(--accent)}
#main .items h3{font-weight:500}
#main .items .caps{color:var(--accent);letter-spacing:.1em}
.price{color:var(--ink)}
.quotes figure::before{color:var(--accent)}
.facts>div{border-top:2px solid var(--accent)}
.btn-primary{background:var(--accent);color:var(--on-accent);border:0}
.btn-primary:hover{background:var(--hover)}
#head.ph .btn-primary{background:var(--accent);color:var(--on-accent)}
#head.ph .btn-primary:hover{background:var(--hover)}
.sec[data-sec=proof]{background:var(--sunk);box-shadow:0 0 0 100vmax var(--sunk)}
.foot{background:#1E1B12;color:#CFC6B2}
.foot .brand{color:#F7F2E6}
.foot a{color:#F7F2E6}
.foot .hours dt{color:#CFC6B2}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .foot{background:#0E0D09}}
:root[data-theme=dark] .foot{background:#0E0D09}

/* tap-targets: comfortable phone taps -- the sizes win on phones, the page's own layout stays */
@media (max-width: 600px) {
  a[href]:not(p a, li p a, blockquote a, figcaption a, td a, dd a, label a), button, [role=button], [onclick], summary, select, input:not([type=hidden], [type=checkbox], [type=radio], [type=range]) { min-height: 44px !important; min-width: 44px !important; }
  :where(a[href]:not(p a, li p a, blockquote a, figcaption a, td a, dd a, label a)) { display: inline-flex; align-items: center; justify-content: center; }
  input, select, textarea { font-size: max(16px, 1em) !important; }
}
