:root{--forest:#3E5E3A;--forest-dk:#2C4529;--sage:#8AAE7E;--sage-lt:#E3EDDD;--orange:#E8A04C;--orange-lt:#F6D9A8;--blue:#2E5A8F;--cream:#FBF5E6;--line:#E4DCC7;--ink:#24331F;--muted:#4A5744}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.55 'Source Sans 3',system-ui,sans-serif}
h1,h2,h3,.lex{font-family:'Lexend',sans-serif;line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(34px,5vw,54px);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(28px,3.4vw,38px);font-weight:700;color:var(--forest-dk)}
h3{font-size:21px;font-weight:600}
p{margin:0 0 1em}
a{color:var(--blue)}a:hover{color:#1F4470}
img{max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.section{padding:64px 0}
.lead{font-size:20px;color:var(--muted);max-width:720px}
.eyebrow{font:600 15px 'Lexend',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);margin:0 0 10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:9;background:#fff;padding:8px 12px}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
/* alert */
.alert{background:var(--orange-lt);border-bottom:1px solid var(--orange);color:#4A2A05;font-size:16px}
.alert .wrap{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding-top:12px;padding-bottom:12px}
.alert a{color:#4A2A05;font-weight:700;margin-left:auto}
/* header */
.hdr{background:#fff;border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-top:12px;padding-bottom:12px}
.hdr .brand img{width:132px;height:110px;object-fit:contain;display:block}
.nav{display:flex;flex-wrap:wrap;gap:2px 20px;flex:1 1 520px;justify-content:center;font:500 16px 'Lexend',sans-serif}
.nav a{color:var(--ink);text-decoration:none;padding:10px 0;border-bottom:3px solid transparent}
.nav a[aria-current]{border-color:var(--orange)}
.call{display:inline-flex;align-items:center;gap:8px;background:var(--forest);color:#fff!important;text-decoration:none;font:600 16px 'Lexend',sans-serif;padding:12px 18px;border-radius:10px;min-height:44px}
.namebar{background:var(--forest-dk);border-bottom:4px solid var(--orange);text-align:center;padding:20px 24px}
.namebar p{margin:0;font:700 clamp(22px,3vw,34px)/1.15 'Lexend',sans-serif;letter-spacing:.02em;color:#fff;text-transform:uppercase}
/* page heads */
.phead{background:var(--forest);color:#fff;padding:48px 0}
.phead h1{color:#fff}.phead p{color:#E3EDDD;font-size:20px;max-width:760px;margin:0}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:12px;font:600 16px 'Lexend',sans-serif;text-decoration:none;border:none;cursor:pointer}
.btn-p{background:var(--forest);color:#fff!important}
.btn-o{background:var(--orange);color:#2A1A05!important}
.btn-g{background:#fff;color:var(--forest-dk)!important;border:1px solid #A9C29E}
.row{display:flex;flex-wrap:wrap;gap:12px}
/* cards */
.grid{display:flex;flex-wrap:wrap;gap:20px}
.card{flex:1 1 340px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.card.link{display:flex;gap:18px;text-decoration:none;color:var(--ink)}
.card .ic{flex:0 0 52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--sage-lt)}
.card .more{display:block;margin-top:10px;font-weight:700;color:var(--blue)}
.muted{color:var(--muted)}
.small{font-size:15px}
.pill{display:inline-block;font-size:14px;font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap}
.open{background:#DDEFD6;color:#1F4A1B}.closed{background:#F3E1E1;color:#6E1F1F}.lunch{background:var(--orange-lt);color:#5A3407}
.note{background:var(--orange-lt);border-radius:12px;padding:14px 18px;font-size:16px;color:#4A2A05}
.tint{background:var(--sage-lt)}
ul.clean{list-style:none;padding:0;margin:0}
ul.ticks{padding-left:1.2em;margin:0 0 1em}ul.ticks li{margin-bottom:6px}
table{width:100%;border-collapse:collapse;font-size:16px;background:#fff}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:'Lexend',sans-serif;font-weight:600;background:#F4EFE2}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
/* hero */
.hero{background:var(--forest);color:#fff}
.hero .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:64px;padding-bottom:72px}
.hero .main{flex:999 1 560px;min-width:0}
.hero .eyebrow{color:#F2C07E}
.hero p.sub{font-size:20px;color:#E3EDDD;max-width:620px;margin-bottom:28px}
.search{display:flex;flex-wrap:wrap;gap:10px;max-width:680px}
.search input{flex:1 1 300px;min-width:0;font:19px 'Source Sans 3',sans-serif;padding:16px 18px;border-radius:12px;border:2px solid #fff;min-height:56px;color:var(--ink)}
.search button{min-height:56px;padding:0 28px;font-size:17px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;align-items:center}
.chips a{font-size:15px;font-weight:600;color:#fff;text-decoration:none;border:1px solid var(--sage);border-radius:999px;padding:8px 14px}
.today{flex:1 1 340px;min-width:0;background:#fff;color:var(--ink);border-radius:18px;padding:28px;box-shadow:0 12px 32px rgba(20,35,18,.25)}
.chips a.all{background:var(--orange);border-color:var(--orange);color:#2A1A05}
.trow a.site{display:block;font-weight:600;color:var(--ink);text-decoration:none}
.trow a.site:hover,.trow a.site:focus-visible{color:var(--blue);text-decoration:underline}
[id]{scroll-margin-top:16px}
dialog.form{border:none;border-radius:18px;padding:0;width:min(520px,calc(100vw - 32px));box-shadow:0 20px 50px rgba(0,0,0,.3)}
dialog.form::backdrop{background:rgba(20,35,18,.55)}
.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;font-size:16px;font-weight:600}
.fld input{font:17px 'Source Sans 3',sans-serif;padding:12px 14px;border:1px solid #B9B29C;border-radius:10px;min-height:48px}
.trow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #ECE5D3}
/* item results */
.result{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:12px}
.result h3{margin-bottom:4px}
/* footer */
.ftr{background:var(--forest-dk);color:#E3EDDD;font-size:16px}
.ftr .wrap{display:flex;flex-wrap:wrap;gap:40px;padding-top:56px;padding-bottom:32px}
.ftr a{color:#F2C07E}
.ftr .col{flex:1 1 200px;min-width:0}
.ftr .t{font:600 18px 'Lexend',sans-serif;color:#fff;margin-bottom:8px}
.ftr .legal{border-top:1px solid #44613F;padding:18px 24px 32px;font-size:14px;color:#C9D8C2;max-width:1240px;margin:0 auto}
.map{width:100%;min-height:340px;border:0;border-radius:16px;display:block}
.alert span{flex:1 1 300px}
@media (max-width:900px){.nav{order:3;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:20px;white-space:nowrap;padding-bottom:2px}.call{margin-left:auto}}
@media (max-width:640px){.section{padding:44px 0}.hero .wrap{padding-top:44px}.hdr .brand img{width:88px;height:74px}.alert{font-size:15px}}