/* NoVA: a regional atlas with an editorial directory. */
:root{--paper:#f7f6f3;--paper-2:#eceae4;--paper2:#eceae4;--ink:#12110f;--ink-2:#57554e;--ink-3:#67645c;--stone:#67645c;--line:rgba(18,17,15,.14);--line-mid:rgba(18,17,15,.25);--accent:#8e1d13;--open:#1f5c5e;--gutter:40px;--maxw:1440px}
body{font-optical-sizing:auto}a{text-underline-offset:4px}button,input,select{font-family:var(--sans)}a,button,input,select,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}
.enter-1,.enter-2,.enter-3,.enter-4{animation:none!important;opacity:1!important;transform:none!important}
.masthead{background:var(--paper);border-bottom:1px solid var(--line-mid);position:relative}.masthead-main{padding-block:23px}.logo-top{font-size:11px;letter-spacing:.25em;margin-right:-.25em}.logo-main{font-size:27px;letter-spacing:.1em;margin-right:-.1em;font-weight:750}.logo-mark,.logo-mark svg{height:44px}.masthead .nav a,.mast .nav a{font-size:14px;text-transform:none;letter-spacing:0;font-weight:600;min-height:44px;display:inline-flex;align-items:center;color:var(--ink)}.masthead .nav a[aria-current]{color:var(--accent)}
.crumb{display:flex;gap:10px;align-items:center;font-family:var(--sans);font-size:12px;color:var(--ink-2);padding-top:24px;flex-wrap:wrap}.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}
.opener{padding-top:23px}.opener-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr);gap:0 60px;align-items:center;border-bottom:0;padding-bottom:0;position:relative}.opener-head>div:first-child{grid-column:1;grid-row:1;padding-block:12px 26px}.opener h1{font-size:clamp(42px,4.7vw,68px);font-stretch:83%;font-weight:750;letter-spacing:-.04em;line-height:1.015;max-width:19ch;text-wrap:balance}.opener .lede{font-size:16px;line-height:1.75;max-width:57ch;color:#57554e;margin:20px 0 0}.opener-photo{grid-column:2;grid-row:1;margin:0;position:relative;align-self:stretch;min-height:270px}.opener-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.opener-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#f7f6f3ee;padding:6px 10px;font:10px/1.5 var(--sans);color:#57554e}.tally{grid-column:1/-1;grid-row:2;display:flex;gap:32px;align-items:baseline;border-top:1px solid var(--line-mid);border-bottom:1px solid var(--line-mid);margin-top:28px;padding:15px 0}.tally>div{padding:0!important;border:0;gap:10px;display:flex;align-items:baseline;flex-direction:row-reverse}.tally dt{font-size:12px;letter-spacing:0;text-transform:none}.tally dd{font-size:27px;line-height:1;font-stretch:88%;font-weight:700}.tally .asof{margin-left:auto}.tally .asof dd{font-size:12px;letter-spacing:0}.tally a{color:var(--accent)}
/* Direct discovery is visible before the map and before the directory. */
.local-finder{padding-block:17px;border-bottom:1px solid var(--line);font-family:var(--sans)}.local-finder summary{display:flex;justify-content:space-between;font-size:14px;font-weight:600;cursor:pointer;list-style:none;min-height:28px;align-items:center}.local-finder[open] .place-finder{margin-top:17px}.place-finder{display:grid;grid-template-columns:1fr 1.15fr auto;gap:0;border:1px solid #aaa397;background:#fffefa;font-family:var(--sans)}.place-finder label{display:flex;flex-direction:column;gap:5px;padding:12px 16px;font-size:11px;color:#67645c;border-right:1px solid var(--line);min-width:0}.place-finder select{border:0;background:transparent;font-size:15px;font-weight:600;width:100%;min-width:0;min-height:30px;color:var(--ink)}.place-finder button{border:0;background:var(--accent);color:white;font-size:13px;font-weight:600;padding:16px 20px;cursor:pointer;display:flex;gap:18px;align-items:center;justify-content:center}.place-finder button:hover{background:#65150e}.place-finder button span{font-size:19px}
/* A deliberate filter column and readable venue records, with the original table semantics. */
.directory-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:42px;margin-top:30px;align-items:start}.directory-results{min-width:0}.filters{display:flex;flex-direction:column;align-items:stretch;gap:0;position:sticky;top:18px;padding:0 20px 20px 0;background:transparent;border:0;border-right:1px solid var(--line)}.filter-title{font-size:25px;letter-spacing:-.03em;margin:0 0 18px;order:-10}.filters .search{order:-9;margin:0 0 18px}.search input,.search input:focus{width:100%;height:46px;border-radius:3px;background:#fffefa;font-size:14px;padding:10px 12px;transition:none}.filters .fgroup,.filters .fsel{border:0;padding:0 0 18px;margin:0;display:flex;flex-wrap:wrap;gap:7px;align-items:center}.filters .fgroup>.meta,.filters .fsel>.meta{flex:0 0 100%;font-size:12px;letter-spacing:0;text-transform:none;margin:0 0 3px;color:#57554e}.filters .fsel select{width:100%;border-radius:3px;font-size:14px;height:43px;background-color:#fffefa;padding-left:12px}.filters .geo-county{order:-8}.filters .geo-town{order:-7}.legacy-area{display:none!important}.chip{min-height:38px;border-radius:3px;border-color:var(--line-mid);font-size:12px;padding-inline:11px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.chip:hover{border-color:var(--ink)}.local-guide-link{order:-6;font:12px/1.5 var(--sans);color:var(--accent);margin:-6px 0 22px}.clear-filters{font:12px var(--sans);color:#57554e;min-height:44px;display:flex;align-items:center}.ledger{margin:0}.ledger thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ledger tbody{display:block}.ledger tbody tr{display:grid;grid-template-columns:104px minmax(160px,1fr) minmax(100px,.7fr) minmax(200px,1.25fr);gap:6px 20px;padding:23px 0;border-bottom:1px solid var(--line);align-items:start}.ledger tbody tr:first-child{padding-top:0}.ledger tbody tr:hover{background:#eeece5}.ledger td{display:block;padding:0!important;border:0;width:auto!important}.ledger .c-tile{grid-column:1;grid-row:1 / 3}.ledger .tile,.ledger .tile img{width:104px;height:104px;object-fit:cover;border-radius:3px}.ledger tr:hover .tile{transform:none}.ledger .c-venue{grid-column:2;grid-row:1 / 3}.ledger .v-name,.ledger .v-name a{font:700 23px/1.1 var(--sans);font-stretch:88%;letter-spacing:-.025em;text-decoration:none}.ledger .c-venue .meta{display:block;margin-top:10px}.ledger .meta{font-size:11px;line-height:1.5;letter-spacing:.01em;text-transform:none;color:#67645c}.ledger .c-days{grid-column:3;grid-row:1}.ledger .c-when{grid-column:3;grid-row:2;font-size:12px;line-height:1.6}.ledger .c-deal{grid-column:4;grid-row:1 / 3;font-size:14px;line-height:1.7}.daystrip{font-size:11px}.ledger .c-deal .meta{margin-top:9px;display:inline-block}.count{font:12px/1.6 var(--sans);color:#67645c;padding-top:20px}
#radar tbody tr{grid-template-columns:minmax(180px,.8fr) 90px minmax(250px,1.3fr) 90px;gap:20px;padding-block:25px}#radar td.venue{font:700 22px/1.15 var(--sans);font-stretch:88%;letter-spacing:-.02em}#radar .cuisine{font:13px/1.6 var(--serif);margin-top:8px;color:#67645c}#radar .deal{font-size:15px;line-height:1.75}#radar .hood,#radar .when{font:12px/1.5 var(--sans);color:#67645c}
/* Town maps stay local and legible, followed by every existing record and FAQ. */
.area-map{margin-top:25px}.area-map .am-box{height:360px;border:1px solid var(--line)}.area-hero{margin-top:24px}.area-hero img{width:100%;max-height:350px;object-fit:cover}.pattern{font-size:16px;line-height:1.75;max-width:85ch;margin-block:26px}.browse{margin-top:40px}.browse-grid a{min-height:44px;align-items:center;font:14px var(--sans)}.faq dt{font-size:18px;line-height:1.4;font-stretch:88%}.faq dd{font-size:16px;line-height:1.8;color:#57554e}.faq dl>div{padding-block:24px}.rule-statement{font-size:30px;line-height:1.3;font-stretch:88%;font-weight:650;max-width:45ch}.article-contents{float:left;width:220px;position:sticky;top:24px;margin-top:24px}.article-contents h2{font-size:22px;letter-spacing:-.02em;margin-bottom:15px}.article-contents a{display:block;font:13px/1.45 var(--sans);padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:#57554e}.article-contents a:hover{color:var(--accent)}.article-contents+.faq{margin-left:270px}.article-contents+.faq dl>div{display:block}.article-contents+.faq dt{font-size:26px;letter-spacing:-.02em;margin-bottom:10px}.article-contents+.faq dd{max-width:66ch}dt[id]{scroll-margin-top:25px}.section:has(.article-contents){display:flow-root}
.place-index{margin-top:65px;border-top:2px solid var(--ink);padding:32px 0 10px;clear:both}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading h2{font:700 35px/1.1 var(--sans);font-stretch:88%;letter-spacing:-.035em}.section-heading p{font:14px/1.6 var(--serif);color:#67645c;margin:0}.place-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.place-groups details{border-top:1px solid var(--line-mid)}.place-groups summary{font:650 19px/1.3 var(--sans);padding:16px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;gap:6px}.place-groups summary::after{content:'+';color:var(--accent);font-size:22px}.place-groups details[open] summary::after{content:'−'}.place-groups summary span{font-size:11px;font-weight:400;color:#67645c;margin-left:auto}.place-groups ul{list-style:none;padding:0;margin:0}.place-groups a{font:13px/1.4 var(--sans);display:flex;align-items:center;justify-content:space-between;min-height:40px;border-top:1px solid var(--line);text-decoration:none;gap:8px}.place-groups a:hover{color:var(--accent)}.place-groups a span{font-variant-numeric:tabular-nums;color:#67645c}.footer{margin-top:55px;background:#eceae4;color:var(--ink);border-top:1px solid var(--line-mid);padding-block:38px}.footer .logo span{color:var(--ink)}.footer .logo-top{color:var(--accent)!important}.footer h4,.footer .meta,.footer p{color:#57554e}.footer a:hover{color:var(--accent)}
/* Homepage: the atlas remains the signature, with geographic discovery up front. */
html:has(.home-atlas),body.home-atlas{height:auto;overflow:auto;overscroll-behavior:auto}.home-atlas .page{height:auto;min-height:100svh;overflow:visible}.mast{padding-block:23px 12px;border-bottom:1px solid var(--line-mid);max-width:1360px}.mast .lock{font-size:27px;font-weight:750;letter-spacing:.04em}.mast .lock i{font-size:11px;letter-spacing:.25em}.mast .legendbar{display:none}.atlas-intro{width:100%;padding-block:30px 25px;display:grid;grid-template-columns:1fr 1.2fr;gap:45px;align-items:center}.atlas-intro h1{font:750 clamp(34px,3.8vw,57px)/1.02 var(--sans);font-stretch:83%;letter-spacing:-.04em;margin:0}.atlas-intro h1 em{font-style:normal;color:var(--accent)}.atlas-find>p{font:15px/1.5 var(--serif);margin:0 0 15px;color:#57554e}.atlas-find .place-finder{grid-template-columns:1fr 1.2fr}.atlas-find .place-finder button{grid-column:1/-1;min-height:44px;padding:10px 15px;justify-content:space-between}.home-atlas .stage{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;flex:none;min-height:530px;height:560px;padding-top:0;padding-bottom:20px}.home-atlas .mapwrap{border:1px solid var(--line-mid);border-top:3px solid var(--accent);background:#efeee8}.home-atlas .side{justify-content:start;display:flex;flex-direction:column;background:#eceae4;padding:0 20px 18px;overflow:auto}.home-atlas #selected-photo{width:calc(100% + 40px);max-width:none;margin:0 -20px 17px;height:170px;object-fit:cover;flex:none}.home-atlas .big{font-size:52px;line-height:1;font-weight:750;letter-spacing:-.035em;margin:0}.home-atlas .side .lab{font-size:10px;letter-spacing:.07em;margin:4px 0 0}.home-atlas .side .sub{font-size:12px;line-height:1.6;margin-top:10px}.home-atlas .pick{margin-top:15px;padding-top:15px;min-height:0}.home-atlas .pick h3{font-size:24px;line-height:1.1;letter-spacing:-.025em}.home-atlas .pick .hood,.home-atlas .pick .win{font-size:10px;letter-spacing:.04em}.home-atlas .pick .deal{font-size:14px;line-height:1.65}.home-atlas .pick .crawl{font-size:10px;letter-spacing:.02em}.home-atlas .scrub{width:calc(100% - 80px);max-width:1360px;margin:auto;padding-inline:0}.home-atlas .track{height:40px}.home-atlas .nowbtn{min-height:40px;background:var(--accent);color:white;border:0;border-radius:3px;letter-spacing:.03em;font-size:12px;padding-inline:20px}.home-atlas .foot{width:calc(100% - 80px);max-width:1360px;padding-inline:0;font-size:10px;letter-spacing:.035em}.home-neighborhoods{width:100%;padding-bottom:35px}.home-atlas .place-index{margin-top:32px}.home-atlas .key{min-height:30px}.home-atlas .legendbar{display:block}.home-atlas .legend{gap:18px}.home-atlas .legend .key{font-size:10px;letter-spacing:.02em}
@media(max-width:1100px) and (min-width:721px){.directory-shell{grid-template-columns:215px minmax(0,1fr);gap:25px}.ledger tbody tr{grid-template-columns:80px 1fr 1fr;gap:8px 14px}.ledger .tile,.ledger .tile img{width:80px;height:90px}.ledger .c-days{grid-column:2;grid-row:3}.ledger .c-when{grid-column:3;grid-row:3}.ledger .c-deal{grid-column:3;grid-row:1 / 3}.opener-head{gap:0 30px}.home-atlas .stage{grid-template-columns:1fr 290px}.atlas-intro{gap:24px}.place-finder{grid-template-columns:1fr 1fr}.place-finder button{grid-column:1/-1}.tally{gap:20px}.article-contents{width:180px}.article-contents+.faq{margin-left:220px}}
@media(max-width:760px){
 .home-atlas .mast{display:flex;flex-direction:column;gap:10px;padding:14px 0 10px;margin-inline:20px;max-width:none}.home-atlas .brand{padding:0 0 10px;border-bottom:1px solid var(--line);gap:8px}.home-atlas .mast .lock{font-size:18px}.home-atlas .mast .lock i{font-size:inherit;letter-spacing:inherit}.home-atlas .nav{gap:5px}.home-atlas .nav a{font-size:11px;min-height:40px;height:40px;border-radius:3px;border-color:var(--line-mid)}.home-atlas .legend .key{font-size:9px;min-height:24px;letter-spacing:0}.home-atlas .legend{gap:8px}.atlas-intro{display:block;padding:22px 20px}.atlas-intro h1{font-size:38px;line-height:1.02}.atlas-find>p{font-size:13px;margin:13px 0}.place-finder{grid-template-columns:1fr}.atlas-find .place-finder{grid-template-columns:1fr}.place-finder label{padding:9px 12px;border:0;border-bottom:1px solid var(--line);font-size:11px}.place-finder select{font-size:16px;min-height:33px}.place-finder button{grid-column:1;min-height:44px;padding:12px}.home-atlas .stage{display:flex;flex-direction:column;height:auto;min-height:0;padding:0 20px 15px;gap:0}.home-atlas .mapwrap{height:360px;min-height:360px;flex:none;max-height:none;aspect-ratio:auto}.home-atlas .side{display:grid;grid-template-columns:90px 1fr;gap:5px 14px;padding:16px;margin-top:16px;overflow:visible}.home-atlas #selected-photo{grid-column:1;grid-row:1 / 5;width:90px;height:115px;margin:0}.home-atlas .big{grid-column:2;grid-row:1;font-size:32px;justify-self:start;align-self:start;pointer-events:auto;text-shadow:none;margin:0}.home-atlas .side .lab{grid-column:2;grid-row:2;font-size:9px;line-height:1.3;text-shadow:none;align-self:start;margin:0;justify-self:start}.home-atlas .side .sub{display:none}.home-atlas .pick{grid-column:1/-1;grid-row:5;height:auto;min-height:0;overflow:visible;margin-top:5px;padding-top:12px}.home-atlas .pick h3{font-size:23px;white-space:normal;line-height:1.15}.home-atlas .pick .deal{display:block;font-size:14px;line-height:1.6;overflow:visible}.home-atlas .pick .win,.home-atlas .pick .crawl{white-space:normal}.home-atlas .scrub,.home-atlas .foot{width:calc(100% - 40px)}.home-atlas .foot{flex-wrap:wrap;white-space:normal;overflow:visible}.home-neighborhoods{padding-inline:20px}.home-atlas .place-index{margin-top:25px}.home-atlas .nowbtn{min-height:44px}.home-atlas .track{height:44px}
}
@media(max-width:720px){
 :root{--gutter:20px}.masthead-main{padding-block:15px;gap:12px}.logo-mark,.logo-mark svg{height:32px}.logo-top{font-size:9px;letter-spacing:.23em}.logo-main{font-size:22px}.nav-toggle{min-height:44px;border-radius:3px;font-size:11px;letter-spacing:.04em}.masthead .nav a{min-height:44px;width:100%;font-size:16px}.crumb{font-size:11px;padding-top:18px;gap:7px}.opener{padding-top:18px}.opener-head{display:flex;flex-direction:column;gap:0;align-items:stretch}.opener-head>div:first-child{padding:0 0 20px}.opener h1{font-size:39px;line-height:1.02;letter-spacing:-.04em;max-width:none}.opener .lede{font-size:14px;line-height:1.7;margin-top:14px}.opener-photo{min-height:170px;height:170px;order:2}.opener-photo img{position:static;height:170px}.tally{order:3;display:flex;flex-wrap:wrap;gap:12px 20px;margin:0;padding:13px 0}.tally>div{gap:6px}.tally dt{font-size:10px;line-height:1.3;max-width:100px}.tally dd{font-size:22px}.tally .asof{margin-left:0}.tally .asof dd{font-size:11px}.local-finder{padding-block:14px}.local-finder summary{font-size:12px;min-height:32px}.directory-shell{display:block;margin-top:22px}.filters{display:grid;grid-template-columns:minmax(0,1fr);position:sticky;top:0;z-index:20;background:var(--paper);padding:9px 0;border:0;border-bottom:1px solid var(--line-mid);gap:8px}.filter-title{display:none}.filters .search{margin:0}.search input,.search input:focus{font-size:16px;height:46px}.filters .fgroup,.filters .fsel{display:none;padding:0}.filters .geo-county,.filters .geo-town{display:flex!important;order:-7;gap:3px;padding:0}.filters .geo-county>.meta,.filters .geo-town>.meta{font-size:10px;margin:0}.filters .geo-county select,.filters .geo-town select{min-height:44px;font-size:16px}.filters .fbar{order:-5}.filters .geo-county{order:-8}.filters .local-guide-link{order:-6;margin:2px 0 4px;font-size:12px;min-height:32px;align-items:center}.filters .clear-filters{display:none}.filters.open .clear-filters{display:flex}.filters.open .fgroup,.filters.open .fsel{padding:10px 0 0;position:static;display:flex;border-top:1px solid var(--line);gap:6px}.filters.open .fgroup .meta,.filters.open .fsel .meta{position:static;flex-basis:100%;font-size:12px}.filters .ftoggle,.filters .fdone{border-radius:3px}.filters .chip{min-height:44px;font-size:13px;padding-inline:12px}.filters.open{max-height:95dvh}.filters .fsel select{font-size:16px;min-height:44px}.directory-results{padding-top:20px}.ledger tbody tr{display:grid;grid-template-columns:76px minmax(0,1fr);gap:7px 14px;padding:22px 0}.ledger .c-tile{grid-column:1;grid-row:1 / 5}.ledger .tile,.ledger .tile img{height:90px;width:76px}.ledger .c-venue{grid-column:2;grid-row:1}.ledger .v-name,.ledger .v-name a{font-size:23px;line-height:1.1}.ledger .c-venue .meta{margin-top:6px}.ledger .c-days{grid-column:2;grid-row:2;margin-top:6px}.ledger .c-when{grid-column:2;grid-row:3;font-size:12px}.ledger .c-deal{grid-column:2;grid-row:4;font-size:14px;line-height:1.65}.ledger .meta{font-size:11px}#radar tbody tr{display:block;padding-block:23px}#radar td{padding:4px 0!important}#radar td.venue{font-size:23px}#radar .deal{font-size:14px}.area-map .am-box{height:310px}.area-hero img{height:230px}.pattern{font-size:14px}.section-heading{display:block}.section-heading h2{font-size:31px}.section-heading p{font-size:13px;margin-top:10px}.place-index{padding-top:25px;margin-top:40px}.place-groups{grid-template-columns:1fr;gap:0}.place-groups summary{min-height:58px;padding:15px 0}.place-groups a{min-height:44px;font-size:14px}.article-contents{float:none;position:static;width:100%;margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:16px}.article-contents h2{font-size:20px}.article-contents a{display:inline-block;margin-right:16px;font-size:12px;border:0;min-height:44px}.article-contents+.faq{margin-left:0}.article-contents+.faq dt{font-size:24px}.faq dd{font-size:15px;line-height:1.8}.rule-statement{font-size:25px;line-height:1.3}.footer{padding-block:30px;margin-top:40px}.footer-grid{gap:25px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Align nested homepage sections to the existing outer page grid. */
.home-atlas .atlas-intro,.home-atlas .home-neighborhoods{padding-inline:0}
.home-atlas .scrub,.home-atlas .foot{width:100%}
.daystrip{display:flex;gap:3px}.daystrip span{display:inline-flex;align-items:center;justify-content:center;min-width:16px;min-height:23px;font-size:10px;color:#928d83}.daystrip .on{background:var(--accent);color:#fff;border-radius:2px}
@media(max-width:760px){.home-atlas .mast{margin-inline:0}.home-atlas .stage{padding-inline:0}.home-atlas .atlas-intro{padding-block:20px}.home-atlas .page{padding-inline:20px}.home-atlas .side{min-height:0}.home-atlas #selected-photo{grid-row:1 / 4}.home-atlas .side .lab{align-self:start}.home-atlas .side .big{align-self:end}}
@media(max-width:720px){
 .crumb{line-height:1.4;padding-top:15px;gap:6px}.opener{padding-top:16px}.opener h1{font-size:34px}.opener .lede{font-size:13px;line-height:1.6;margin-top:12px}.opener-head>div:first-child{padding-bottom:17px}.opener-photo,.opener-photo img{height:115px;min-height:115px}.opener-photo figcaption{font-size:9px;padding:3px 7px}.tally{padding-block:11px}.directory-shell{margin-top:15px}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px}.filters .search,.filters .fbar,.filters .local-guide-link,.filters .fdone,.filters .clear-filters,.filters .fgroup,.filters .fsel:not(.geo-county):not(.geo-town){grid-column:1/-1}.filters .geo-county{grid-column:1}.filters .geo-town{grid-column:2}.filters .geo-county select,.filters .geo-town select{padding-left:8px;padding-right:25px;font-size:14px;background-position:right 9px center}.filters .geo-county>.meta,.filters .geo-town>.meta{font-size:10px}.filters.open .geo-county,.filters.open .geo-town{padding:0;border:0}.filters .fbar{margin-top:3px}.filters.open .geo-county>.meta,.filters.open .geo-town>.meta{font-size:10px}
}
@media(max-width:720px){.filters .geo-county select,.filters .geo-town select{font-size:16px}}
.opener-head>.area-hero{margin:0;min-height:270px}.opener-head>.area-hero img{max-height:none;height:100%}
@media(max-width:720px){.opener-head>.area-hero{min-height:115px;height:115px}.opener-head>.area-hero img{height:115px}.opener-head>.area-hero figcaption{font-size:9px;letter-spacing:0;text-transform:none}}
@media(min-width:721px) and (max-width:1000px){.masthead-main{gap:14px}.masthead .nav{gap:14px}.masthead .nav a{font-size:12px;white-space:nowrap}.logo-main{font-size:22px}.logo-top{font-size:9px}.logo-mark,.logo-mark svg{height:32px}}
.page-why .section{padding-block:28px}.article-contents+.faq{margin-top:0;padding-top:24px;border-top:0}.page-why .article-contents{margin-top:24px}
@media(max-width:720px){.filters:not(:has(.geo-town)) .geo-county{grid-column:1/-1}.page-why .article-contents{margin-top:0}.article-contents+.faq{padding-top:20px}.tally{display:grid;grid-template-columns:1fr 1fr;gap:11px 18px}.tally>div{justify-content:flex-end}.tally dt{max-width:none}.tally .asof{justify-content:flex-start;grid-column:auto;gap:7px}.tally .asof dt{font-size:9px}.tally .asof dd{font-size:10px}}

/* First-screen atlas: the map, its layers and timeline form one workspace. */
.home-atlas .mast{padding-block:16px 14px;align-items:center}
.home-atlas .mast .brand{grid-row:1}
.home-atlas .atlas-intro{padding-block:20px 14px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px}
.home-atlas .atlas-intro h1{font-size:clamp(30px,3.1vw,47px);line-height:1.06}
.home-atlas .atlas-find>p{margin:0 0 10px;font-size:14px}
.home-atlas .atlas-find .place-finder{grid-template-columns:1fr 1.2fr auto}
.home-atlas .place-finder label{padding:8px 12px}
.home-atlas .atlas-find .place-finder button{grid-column:auto;max-width:135px;gap:14px;padding:10px 14px;text-align:left}
.home-atlas .legendbar{padding:0 0 8px;display:flex;justify-content:flex-start}
.home-atlas .legend{justify-content:flex-start;gap:24px}
.home-atlas .legend .key{min-height:32px}
.home-atlas .stage{height:auto;min-height:0;padding:0;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:var(--atlas-map-height,400px) auto;gap:10px 24px;align-items:start}
.home-atlas .mapwrap{height:100%;min-height:0}
.home-atlas .side{max-height:100%;height:auto;min-height:0;padding:18px;overflow:auto;align-self:start}
.home-atlas #selected-photo{width:calc(100% + 36px);margin:-18px -18px 14px;height:clamp(100px,16svh,150px)}
.home-atlas .side .big{font-size:42px}
.home-atlas .pick{margin-top:12px;padding-top:12px}
.home-atlas .pick h3{font-size:23px}
.home-atlas .pick:has(:only-child.tick),.home-atlas .side.is-empty .pick{display:none}
.scan-help{border-top:1px solid var(--line-mid);margin-top:16px;padding-top:12px;font:13px/1.6 var(--sans)}
.scan-help p{margin:0 0 12px;color:var(--ink-2)}
.scan-help a{display:flex;align-items:center;justify-content:space-between;min-height:44px;color:var(--accent);font-weight:650}
.home-atlas .scrub{grid-column:1/-1;padding-block:6px}
.home-atlas .foot{padding-block:6px 10px}
/* Local guides lead with their place and full map, never a decorative hero. */
.map-guide .crumb{padding-top:12px}
.map-guide .opener{padding-top:12px}
.map-guide .opener-head{grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:center;padding-bottom:14px}
.map-guide .opener-head>div:first-child{padding:0}
.map-guide .opener h1{font-size:clamp(30px,3.1vw,45px);max-width:none;line-height:1.08;text-wrap:initial}
.map-guide .opener .lede{max-width:100ch;font-size:14px;line-height:1.6;margin-top:10px}
.map-guide .tally{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;border:0;margin:0;padding:0}
.map-guide .tally>div{display:block}
.map-guide .tally dt{font-size:10px;line-height:1.3;margin-bottom:5px}
.map-guide .tally dd{font-size:25px}
.map-guide .tally .asof{margin:0}
.map-guide .tally .asof dd{font-size:11px;line-height:1.5}
.map-guide .area-map{margin-top:0;margin-bottom:0}
.map-guide .area-map .am-box{height:var(--local-map-height,380px);border-top:3px solid var(--accent)}
.map-guide .am-cap{font-size:10px;line-height:1.5;margin-top:6px}
.map-guide .local-finder{margin-top:14px;border-top:1px solid var(--line);padding-block:10px}
@media(max-width:760px){
 .home-atlas .mast{padding-block:10px 5px;gap:4px}
 .home-atlas .brand{padding-bottom:6px}
 .home-atlas .atlas-intro{padding-block:14px 8px;display:block}
 .home-atlas .atlas-intro h1{font-size:29px;line-height:1.02}
 .home-atlas .atlas-find>p{font-size:12px;line-height:1.45;margin:8px 0}
 .home-atlas .atlas-find .place-finder{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
 .home-atlas .place-finder label{padding:6px 9px;font-size:10px}
 .home-atlas .place-finder select{font-size:16px;min-height:34px}
 .home-atlas .atlas-find .place-finder button{grid-column:1/-1;max-width:none;min-height:44px;padding:8px 10px}
 .home-atlas .legendbar{padding-bottom:6px}
 .home-atlas .legend{gap:14px;justify-content:space-between;width:100%}
 .home-atlas .legend .key{font-size:9px;min-height:32px;gap:5px}
 .home-atlas .stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--atlas-map-height,300px) auto auto;gap:0}
 .home-atlas .mapwrap{grid-row:1;height:100%;min-height:0}
 .home-atlas .scrub{grid-row:2;margin-top:8px}
 .home-atlas .side{grid-row:3;grid-template-columns:70px 1fr;max-height:none;margin-top:12px;overflow:visible;padding:14px;gap:5px 12px}
 .home-atlas #selected-photo{width:70px;height:80px;margin:0;grid-row:1/3}
 .home-atlas .side.is-empty{display:block}
 .home-atlas .side .big{font-size:32px}
 .home-atlas .side .sub{display:block;grid-column:1/-1;font-size:12px;margin-top:5px}
 .home-atlas .scan-help{grid-column:1/-1}
 .home-atlas .pick{grid-row:4}
}
@media(max-width:720px){
 .map-guide .crumb{padding-top:10px;font-size:10px}
 .map-guide .opener{padding-top:10px}
 .map-guide .opener-head{display:block;padding-bottom:12px}
 .map-guide .opener h1{font-size:29px;line-height:1.08}
 .map-guide .opener .lede{font-size:12px;line-height:1.5;margin-top:8px}
 .map-guide .tally{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
 .map-guide .tally>div{display:flex;gap:5px;align-items:baseline}
 .map-guide .tally dt{margin:0;font-size:9px}
 .map-guide .tally dd{font-size:20px}
 .map-guide .tally .asof{flex-basis:100%;flex-direction:row}
 .map-guide .tally .asof dd{font-size:10px}
 .map-guide .am-legend{gap:6px 12px;margin-top:8px}
 .map-guide .am-legend span{font-size:10px}
}
.map-guide .area-map .am-box{height:var(--local-map-height,380px)!important}
@media(min-width:761px){
 .home-atlas .side{display:grid;grid-template-columns:90px minmax(0,1fr);gap:5px 14px}
 .home-atlas #selected-photo{grid-column:1;grid-row:1/3;width:90px;height:84px;margin:0;object-fit:cover}
 .home-atlas .side .big{grid-column:2;grid-row:1;align-self:end}
 .home-atlas .side .lab{grid-column:2;grid-row:2;line-height:1.4;align-self:start}
 .home-atlas .side .sub,.home-atlas .pick,.home-atlas .scan-help{grid-column:1/-1}
 .home-atlas .side.is-empty{display:block}
 .home-atlas .pick .deal{font-size:13px;line-height:1.5}
}
.home-atlas .side:not(:has(#selected-photo:not([hidden]))){display:block}
@media(min-width:761px){.home-atlas .atlas-find .place-finder button{max-width:none;white-space:nowrap;font-size:12px}}

/* One full-width introduction leads into the geographic finder. */
.home-atlas .atlas-intro{display:block;padding-block:24px 18px}
.home-atlas .atlas-intro h1{font-size:clamp(28px,2.8vw,41px);font-weight:620;font-stretch:100%;letter-spacing:-.025em;line-height:1.2;text-align:center;text-wrap:balance}
.home-atlas .atlas-intro h1 em{font:inherit;letter-spacing:inherit;white-space:normal}
.home-atlas .atlas-intro p{font:15px/1.6 var(--serif);color:var(--ink-2);margin:8px 0 18px;max-width:none;text-align:center;text-wrap:balance}
.home-atlas .atlas-find .place-finder{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr) 160px}
.home-atlas .place-finder label{padding:8px 16px;flex-direction:column;align-items:stretch;gap:0;text-align:left}
.home-atlas .place-finder select{min-height:42px;font-size:15px}
.home-atlas .place-finder label{font-size:11px;white-space:nowrap}
.home-atlas .stage{grid-template-columns:minmax(0,1fr) 340px;gap:10px 24px}
.home-atlas .side,.home-atlas .side:not(:has(#selected-photo:not([hidden]))){display:flex;flex-direction:column;height:100%;max-height:100%;align-self:stretch;padding:18px;gap:0}
.home-atlas #selected-photo{display:block;width:calc(100% + 36px);height:clamp(110px,calc(var(--atlas-map-height) - 330px),245px);min-height:80px;margin:-18px -18px 14px;object-fit:cover;flex:0 1 auto}
.home-atlas .live-readout{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;align-items:center;flex:none}
.home-atlas .side .big{grid-column:1;grid-row:1;font-size:38px;align-self:center}
.home-atlas .side .lab{grid-column:2;grid-row:1;margin:0;align-self:center;font-size:10px}
.home-atlas .side .sub{grid-column:1/-1;font-size:12px;line-height:1.5;margin:2px 0 0}
.home-atlas .pick{margin-top:14px;padding-top:14px;flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;overflow:visible}
.home-atlas .pick>div{flex:none;min-width:0}
.home-atlas .pick h3{font-stretch:94%;font-size:24px;line-height:1.08;letter-spacing:-.025em}
.home-atlas .pick .deal{font-size:13px;line-height:1.5}
.home-atlas .pick .crawl{margin-top:10px;padding-top:10px;line-height:1.4}
.home-atlas .side.is-empty .live-readout{margin-top:auto}
.home-atlas .side.is-empty .scan-help{margin-bottom:auto}
.home-atlas .scan-help a{text-decoration:none}
/* Every directory entry point retains a working map of its visible results. */
.directory-map-page .opener-head{grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:center}
.directory-map-page .opener-head>div:first-child{padding:0}
.directory-map-page .opener h1{font-size:37px;line-height:1.1;max-width:30ch;font-stretch:95%}
.directory-map-page .opener .lede{font-size:13px;line-height:1.6;margin-top:12px;max-width:90ch}
.directory-map-page .tally{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;border:0;margin:0;padding:0;gap:18px}
.directory-map-page .tally .asof{margin:0}
.directory-map{margin:0 0 28px}
.directory-map-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px}
.directory-map h2{font:650 24px/1.2 var(--sans);letter-spacing:-.02em;margin:0}
.directory-map-heading a{font:12px/1.4 var(--sans);color:var(--accent)}
.county-map-links{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.county-map-links a{font:12px/1.5 var(--sans);color:var(--ink-2);min-height:30px;display:inline-flex;align-items:center}
.directory-map-box{position:relative;height:350px;border:1px solid var(--line);border-top:3px solid var(--accent);background:#efeee8;overflow:hidden}
.directory-map svg{display:block;width:100%;height:100%}
.directory-map svg a:focus-visible circle:last-child{stroke:var(--ink);stroke-width:3}
.directory-map-status{position:absolute;bottom:12px;left:12px;right:12px;margin:0;padding:12px;background:var(--paper);font:13px/1.5 var(--sans);border:1px solid var(--line)}
.directory-map-caption{font:11px/1.6 var(--sans);color:var(--ink-2);margin:9px 0 0}
@media(max-width:1100px) and (min-width:761px){.home-atlas .atlas-intro h1{font-size:30px}.home-atlas .stage{grid-template-columns:1fr 300px}.home-atlas .place-finder label{flex-direction:column;align-items:stretch;gap:0;padding-block:6px}}
@media(max-width:760px){
 .home-atlas .atlas-intro{display:block;padding-block:16px 12px}
 .home-atlas .atlas-intro h1{font-size:29px;line-height:1.18;letter-spacing:-.025em}
 .home-atlas .atlas-intro h1 em{display:block}
 .home-atlas .atlas-intro p{font-size:12px;line-height:1.5;max-width:none;margin:9px 0 14px}
 .home-atlas .atlas-find .place-finder{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
 .home-atlas .place-finder label{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:6px 9px;font-size:10px}
 .home-atlas .place-finder select{font-size:16px;min-height:34px}
 .home-atlas .place-finder label:nth-child(2){border-right:0}
 .home-atlas .place-finder label:has(.place-cuisine){border-top:1px solid var(--line)}
 .home-atlas .atlas-find .place-finder button{grid-column:2;justify-content:center;gap:10px;font-size:12px;padding:8px}
 .home-atlas .stage{grid-template-columns:minmax(0,1fr);gap:0}
 .home-atlas .side,.home-atlas .side:not(:has(#selected-photo:not([hidden]))){height:auto;max-height:none;margin-top:14px;padding:18px}
 .home-atlas #selected-photo{width:calc(100% + 36px);height:190px;margin:-18px -18px 16px;flex:none}
 .home-atlas .pick{display:block;margin-top:14px;padding-top:14px;flex:none}
 .home-atlas .pick .hood{white-space:normal;overflow:visible}
 .home-atlas .pick .crawl:last-child{display:block}
 .directory-map-page .opener-head{display:block}
 .directory-map-page .opener h1{font-size:29px}
 .directory-map-page .tally{display:flex;margin-top:15px;padding-block:10px;border-block:1px solid var(--line);gap:12px}
 .directory-map-heading{display:block}
 .directory-map h2{font-size:23px;margin-bottom:8px}
 .directory-map-heading a{display:inline-flex;align-items:center;min-height:40px}
 .county-map-links{gap:4px 14px}
 .county-map-links a{min-height:36px}
 .directory-map-box{height:300px}
}
.home-atlas .pick .fade{animation:none!important;opacity:1!important}
.home-atlas .side::-webkit-scrollbar{width:6px}
.home-atlas .side::-webkit-scrollbar-thumb{background:var(--line-mid);border-radius:3px}

/* Keep long records inside the results column at intermediate widths. */
.ledger td{min-width:0;overflow-wrap:anywhere}
@media(min-width:721px) and (max-width:1100px){
 .ledger tbody tr{grid-template-columns:80px minmax(0,1fr) minmax(0,1fr)}
 #radar tbody tr{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px 20px}
 #radar .venue{grid-column:1;grid-row:1}
 #radar .hood{grid-column:1;grid-row:2}
 #radar .when{grid-column:1;grid-row:3}
 #radar .deal{grid-column:2;grid-row:1/4}
}
@media(min-width:761px) and (max-width:1100px){
 .home-atlas .mast .nav{gap:12px}
 .home-atlas .mast .nav a{font-size:12px}
}
/* A short landscape viewport scrolls as a page, not a tiny venue panel. */
@media(min-width:761px) and (max-width:1100px) and (max-height:520px){
 .home-atlas .stage{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--atlas-map-height,300px) auto auto}
 .home-atlas .mapwrap{grid-row:1}
 .home-atlas .scrub{grid-row:2}
 .home-atlas .side,.home-atlas .side:not(:has(#selected-photo:not([hidden]))){grid-row:3;height:auto;max-height:none;margin-top:14px;overflow:visible}
 .home-atlas #selected-photo{height:160px;flex:none}
 .home-atlas .pick{flex:none;justify-content:flex-start}
}
/* Oct 13 2026, the owner: "find your next pour" leads; the map takes about three
   quarters of a desktop screen on the left; a slim finder and the selected venue
   share a rail on the right; the card is a big photo, the name, the neighborhood
   and one link to the venue on our site. No paragraph of legend copy. */
.home-atlas .atlas-intro h1 em{color:var(--accent);font-style:normal}
.home-atlas .side .sub,.home-atlas .side .pick p:not(.hood){display:none}
.home-atlas .pick-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 14px/1.3 var(--sans);color:var(--accent);text-decoration:none}
.home-atlas .pick-link:hover{text-decoration:underline}
@media(min-width:761px){
 .home-atlas .atlas-intro{padding-block:26px 22px}
 .home-atlas .atlas-intro h1{font-size:clamp(36px,3.6vw,54px);font-weight:700;line-height:1.04;margin:0}
 .home-atlas .atlas-intro p{margin:8px 0 0;font-size:17px}
 .home-atlas .stage{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1fr);grid-template-rows:auto var(--atlas-map-height,520px) auto;column-gap:28px;row-gap:8px;align-items:stretch}
 .home-atlas .stage>.legendbar{grid-column:1;grid-row:1;padding:0}
 .home-atlas .stage>.mapwrap{grid-column:1;grid-row:2;height:100%}
 .home-atlas .stage>.scrub{grid-column:1;grid-row:3;padding-block:6px}
 .home-atlas .rail{grid-column:2;grid-row:2/4;align-self:stretch;contain:size;display:flex;flex-direction:column;gap:16px;min-height:0}
 .home-atlas .rail .atlas-find{flex:none}
 .home-atlas .rail .place-finder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .home-atlas .rail .place-finder label{padding:6px 12px;font-size:10px;white-space:nowrap;border-right:0;border-bottom:1px solid var(--line)}
 .home-atlas .rail .place-finder label:first-child{border-right:1px solid var(--line)}
 .home-atlas .rail .place-finder label:nth-child(3){grid-column:1/-1}
 .home-atlas .rail .place-finder select{min-height:32px;font-size:14px}
 .home-atlas .rail .place-finder button{grid-column:1/-1;max-width:none;min-height:44px;padding:10px 16px;font-size:13px;justify-content:space-between}
 .home-atlas .rail .side,.home-atlas .rail .side:not(:has(#selected-photo:not([hidden]))){flex:1 1 auto;display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;padding:0;gap:0;overflow:hidden}
 .home-atlas .rail .live-readout{order:1;display:flex;align-items:baseline;gap:10px;padding:14px 18px;margin:0}
 .home-atlas .rail .side .big{font-size:30px}
 .home-atlas .rail .side .lab{margin:0;font-size:10px}
 .home-atlas .rail #selected-photo{order:2;flex:1 1 0;min-height:140px;width:100%;height:auto;margin:0;object-fit:cover}
 .home-atlas .rail .pick{order:3;flex:none;display:block;margin:0;padding:16px 18px 0;min-height:0;border-top:0}
 .home-atlas .rail .pick h3{font-size:26px;line-height:1.08}
 .home-atlas .rail .pick .hood{margin-top:6px}
 .home-atlas .rail .scan-help{order:3;padding:0 18px}
 .home-atlas .rail .pick-link{order:4;padding:4px 18px 10px}
 .home-atlas .rail .side:not(.is-empty):has(#selected-photo[hidden]) .pick{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;padding-top:0}
}
@media(max-width:760px){
 .home-atlas .atlas-intro p{margin:6px 0 14px}
 .home-atlas .atlas-intro h1{font-size:min(30px,8.2vw);white-space:nowrap}
 .home-atlas .atlas-intro h1 em{display:inline}
 .home-atlas .rail{display:contents}
 .home-atlas .stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto var(--atlas-map-height,300px) auto auto}
 .home-atlas .stage>*,.home-atlas .stage .atlas-find,.home-atlas .stage .side{grid-column:1}
 .home-atlas .stage .atlas-find{grid-row:1;margin-bottom:14px}
 .home-atlas .stage>.legendbar{grid-row:2}
 .home-atlas .stage>.mapwrap{grid-row:3}
 .home-atlas .stage>.scrub{grid-row:4}
 .home-atlas .stage .side{grid-row:5}
 .home-atlas .pick-link{grid-column:1/-1}
 .home-atlas .legendbar .legend .key{min-height:44px}
}
/* Nothing poured yet (the opening sweep, or late at night): the count, when the
   next one starts, and one link, centred in the card. */
.home-atlas .live-readout:has(.big.zero) .sub{display:block}
@media(min-width:761px){
 .home-atlas .rail .side.is-empty{justify-content:center;align-items:center;text-align:center}
 .home-atlas .rail .side.is-empty .live-readout{margin:0;flex-wrap:wrap;justify-content:center}
 .home-atlas .rail .side.is-empty .scan-help{margin:0;padding:0 18px 8px}
 .home-atlas .rail .side .sub{flex-basis:100%;margin:6px 0 0;font-size:13px}
}
/* The homepage card links here: mark the row it landed on. */
.ledger tbody tr:target{background:var(--paper-2);box-shadow:inset 3px 0 0 var(--accent)}
/* Oct 14 2026, the owner: clean up the directory every Explore lands on, with
   the spacing standard. Desktop only; the phone filter drawer is unchanged.
   Filter rail: readable labels, one rhythm between groups, two choices are two
   equal buttons. Rows: a bigger photo, the text centred on it, days and window
   read together, the deal at reading size. */
@media(min-width:1101px){
 .directory-shell{grid-template-columns:272px minmax(0,1fr);column-gap:48px}
 .directory-shell .filters{gap:24px;padding:0 32px 32px 0;top:24px}
 .directory-shell .filters .filter-title{font-size:28px;line-height:1.1;margin:0}
 .directory-shell .filters .meta{font-size:12px;letter-spacing:.04em;color:var(--ink-2);text-transform:none}
 .directory-shell .filters .fsel,.directory-shell .filters .fgroup{display:grid;gap:8px;margin:0}
 .directory-shell .filters .fgroup{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .directory-shell .filters .fgroup>.meta{grid-column:1/-1}
 .directory-shell .filters .fgroup .chip{width:100%;min-height:44px;font-size:13px;padding-inline:6px;justify-content:center;white-space:nowrap}
 .directory-shell .filters select,.directory-shell .filters input[type=search]{min-height:48px;font-size:15px}
 .directory-shell .filters .local-guide-link{font-size:13px;margin-top:-12px}
 .directory-shell .filters .clear-filters{font-size:13px;min-height:44px;display:inline-flex;align-items:center}
 .redesigned .ledger tbody tr{grid-template-columns:120px minmax(0,1fr) 200px minmax(0,1.15fr);column-gap:32px;row-gap:8px;align-items:center;padding:28px 0}
 .redesigned .ledger .tile,.redesigned .ledger .tile img{width:120px;height:120px}
 .redesigned .ledger .c-tile{grid-row:1/3}
 .redesigned .ledger .c-venue{grid-row:1/3;align-self:center}
 .redesigned .ledger .v-name{font-size:24px;line-height:1.15}
 .redesigned .ledger .c-venue .meta{font-size:13px;margin-top:6px;display:block}
 .redesigned .ledger .c-days{grid-column:3;grid-row:1;align-self:end}
 .redesigned .ledger .c-when{grid-column:3;grid-row:2;align-self:start;font-size:16px;font-weight:650}
 .redesigned .ledger .c-deal{grid-column:4;grid-row:1/3;align-self:center;font-size:16px;line-height:1.55}
 .redesigned .ledger .c-deal .meta{font-size:12px;display:inline-block;margin-top:8px}
 .redesigned .ledger .daystrip span{min-width:22px;min-height:26px;font-size:11px}
}
/* Phone and tablet filter drawer: each pair of choices is two equal buttons
   across the full width. */
@media(min-width:761px) and (max-width:1100px){
 .directory-shell .filters .fgroup:not(.legacy-area){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .directory-shell .filters .fgroup:not(.legacy-area)>.meta{grid-column:1/-1}
 .directory-shell .filters .fgroup:not(.legacy-area) .chip{width:100%;justify-content:center;white-space:nowrap;padding-inline:6px}
}
/* Oct 14 2026, the owner on the phone homepage: no rules above and below the
   page buttons, and the map, not the filters, owns the first screen. The finder
   drops below the timeline as two slim rows with no captions (the choices name
   themselves: All areas, All neighborhoods, All cuisines). */
@media(max-width:760px){
 .home-atlas .mast,.home-atlas .mast .brand{border-bottom:0}
 .home-atlas .atlas-intro{padding-block:10px 4px}
 .home-atlas .atlas-intro p{margin:4px 0 10px}
 .home-atlas .stage{grid-template-rows:auto var(--atlas-map-height,300px) auto auto auto}
 .home-atlas .stage>.legendbar{grid-row:1}
 .home-atlas .stage>.mapwrap{grid-row:2}
 .home-atlas .stage>.scrub{grid-row:3}
 .home-atlas .stage .atlas-find{grid-row:4;margin:14px 0 0}
 .home-atlas .stage .side{grid-row:5}
 .home-atlas .atlas-find .place-finder label{font-size:0;padding:0 10px;gap:0;justify-content:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
 .home-atlas .atlas-find .place-finder label:nth-child(2){border-right:0}
 .home-atlas .atlas-find .place-finder label{line-height:0}
 .home-atlas .atlas-find .place-finder select{font-size:16px;min-height:44px;line-height:normal}
 .home-atlas .atlas-find .place-finder button{grid-column:auto;min-height:44px;max-height:44px;padding:0 12px;font-size:14px;white-space:nowrap;justify-content:space-between}
 .home-atlas .atlas-find .place-finder button span{font-size:16px}
}
/* "Going out": two time choices side by side, styled as the other selects. */
.filters .time-range select{width:100%;min-width:0;min-height:44px;padding:0 10px;border:1px solid var(--line-mid);border-radius:3px;background:#fffefa;font:600 15px/1.2 var(--sans);color:var(--ink)}
@media(max-width:1100px){.filters .time-range select{font-size:16px}}
@media(min-width:1101px){.directory-shell .filters .time-range select{min-height:48px}}
@media(min-width:1101px){.directory-shell .filters .fgroup.time-range{grid-template-columns:minmax(0,1fr)}}
/* Oct 14 2026, the owner: the homepage finder is one slim component on every
   screen, two even rows (area | neighborhood, cuisine | Explore), 44px boxes,
   no captions, one hairline between boxes. Phones keep it under the map. */
.home-atlas .stage .atlas-find .place-finder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid #aaa397;background:#fffefa}
.home-atlas .stage .atlas-find .place-finder label{font-size:0;line-height:0;padding:0;gap:0;margin:0;border:0;grid-column:auto;display:block;min-width:0}
.home-atlas .stage .atlas-find .place-finder label:nth-child(1){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-atlas .stage .atlas-find .place-finder label:nth-child(2){border-bottom:1px solid var(--line)}
.home-atlas .stage .atlas-find .place-finder label:nth-child(3){border-right:1px solid var(--line)}
.home-atlas .stage .atlas-find .place-finder select{-webkit-appearance:none;appearance:none;display:block;width:100%;min-height:44px;height:44px;margin:0;padding:0 26px 0 10px;border:0;border-radius:0;font:600 16px/44px var(--sans);letter-spacing:-.015em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2312110f' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 10px center/10px 6px}
.home-atlas .stage .atlas-find .place-finder button{grid-column:auto;display:flex;align-items:center;justify-content:space-between;min-height:44px;height:44px;max-width:none;margin:0;padding:0 12px;font:600 14px/1 var(--sans);white-space:nowrap;border:0}
.home-atlas .stage .atlas-find .place-finder button span{font-size:16px}
.home-atlas .stage .atlas-find .place-finder select{padding:0 24px 0 9px;background-position:right 9px center}
@media(min-width:761px){.home-atlas .stage .atlas-find .place-finder select{font-size:14px;letter-spacing:-.01em;padding:0 22px 0 10px;background-position:right 8px center}}
/* Oct 15 2026, the owner on the phone homepage: no dead band between the
   subtitle and the map; the key sits inside the map's empty north-east corner;
   the finder ends on the address bar and the toolbar band below it is paper. */
@media(max-width:760px){
 .home-atlas .atlas-intro{padding-block:6px 0}
 .home-atlas .atlas-intro p{margin:2px 0 12px}
 .home-atlas .stage{grid-template-rows:var(--atlas-map-height,300px) auto auto auto}
 .home-atlas .stage>.mapwrap{grid-row:1}
 .home-atlas .stage>.legendbar{grid-row:1;grid-column:1;align-self:start;justify-self:end;z-index:3;margin:12px 10px 0 0;padding:6px 10px;width:auto;background:rgba(247,246,243,.94);border:1px solid var(--line)}
 .home-atlas .stage>.legendbar .legend{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:auto}
 .home-atlas .stage>.legendbar .legend .key{min-height:28px;font-size:10px;letter-spacing:.06em;gap:7px;padding:0}
 .home-atlas .stage>.scrub{grid-row:2}
 .home-atlas .stage .atlas-find{grid-row:3;margin:14px 0 var(--toolbar-band,0px)}
 .home-atlas .stage .side{grid-row:4}
}
@media(max-width:760px){
 .home-atlas .stage>.legendbar{margin:8px 8px 0 0;padding:5px 8px}
 .home-atlas .stage>.legendbar .legend{gap:0}
 .home-atlas .stage>.legendbar .legend .key{min-height:20px;font-size:9.5px;line-height:1}
 .home-atlas .stage>.legendbar .wkl{display:none}
}
/* Oct 15 2026, the owner: the phone map key is see-through, no border, smaller. */
@media(max-width:760px){
 .home-atlas .stage>.legendbar{background:transparent;border:0;padding:0;margin:8px 8px 0 0}
 .home-atlas .stage>.legendbar .legend .key{min-height:16px;font-size:8.5px;letter-spacing:.05em;gap:5px}
 .home-atlas .stage>.legendbar .legend .key .sw{width:6px;height:6px}
 .home-atlas .stage>.legendbar .legend .key .sw.wk{width:10px;height:1px}
}
/* Oct 15 2026, the owner on the phone directory: "the first thing is see the map
   and then a few of the names", no wall of text, no filters stacked on top, and
   every filter in one place. Phones: a short title, the map, compact rows; one
   small Filters button rides the map's top-right corner (sticky while scrolling)
   and opens a panel from the right holding every filter. */
@media(max-width:760px){
 .results-page .crumb,.results-page .opener .lede,.results-page .opener .tally{display:none}
 .results-page .opener{padding-block:12px 10px}
 .results-page .opener-head{display:block}
 .results-page .opener h1{font-size:23px;line-height:1.15;max-width:none;margin:0}
 .results-page .directory-shell{display:block;position:relative}
 /* closed: the bar takes no height, so the map leads; only the button shows */
 .results-page .filters:not(.open){position:sticky;top:8px;z-index:30;height:0;padding:0;margin:0;border:0;background:transparent;display:block;overflow:visible}
 .results-page .filters:not(.open)>*:not(.fbar){display:none!important}
 .results-page .filters:not(.open) .fbar{position:absolute;top:12px;right:8px;display:block;margin:0;padding:0;border:0;background:transparent}
 .results-page .filters:not(.open) .fstatus{display:none}
 .results-page .ftoggle{min-height:40px;padding:0 14px;border:1px solid var(--ink);border-radius:999px;background:var(--paper);font:600 14px/1 var(--sans);color:var(--ink);display:inline-flex;align-items:center;gap:8px}
 .results-page .ftoggle::after{content:none}
 .results-page .fbadge{min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
 /* open: a panel from the right, every filter inside, the page dimmed behind */
 .results-page .filters.open{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(88vw,360px);max-height:none;height:auto;z-index:60;display:flex;flex-direction:column;gap:14px;padding:18px 18px 140px;margin:0;background:var(--paper);border:0;border-left:1px solid var(--line-mid);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 0 0 100vmax rgba(18,17,15,.38)}
 .results-page .filters.open::after{content:"";position:fixed;left:auto;right:0;width:min(88vw,360px);top:100%;height:220px;background:var(--paper)}
 .results-page .filters.open .fbar{order:-2;display:flex;align-items:center;gap:12px;margin:0;padding:0;border:0}
 .results-page .filters.open .search{order:-1}
 .results-page .filters.open .geo-county,.results-page .filters.open .geo-town{display:flex;flex-direction:column;gap:6px}
 .results-page .filters.open .fgroup:not(.legacy-area){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:12px 0 0;border-top:1px solid var(--line)}
 .results-page .filters.open .fgroup:not(.legacy-area)>.meta{grid-column:1/-1}
 .results-page .filters.open .fgroup:not(.legacy-area) .chip{width:100%;justify-content:center;white-space:nowrap;padding-inline:6px;min-height:44px}
 .results-page .filters.open .fdone{display:flex;justify-content:center;align-items:center;min-height:48px}
 .results-page .filters.open .local-guide-link:not([hidden]){display:inline-flex}
 /* the map first, without its heading, county links or caption */
 .results-page .directory-map{margin:0 0 6px}
 .results-page .directory-map-heading,.results-page .county-map-links,.results-page .directory-map-caption{display:none}
 .results-page .directory-map-box{height:260px}
 /* compact rows: photo, name, area and window, the deal on one line */
 .results-page #ledger thead{display:none}
 .results-page .ledger tbody tr{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"tile venue" "tile when" "tile deal";column-gap:12px;row-gap:3px;padding:12px 0;align-items:center}
 .results-page .ledger .c-tile{grid-area:tile;align-self:start}
 .results-page .ledger .tile,.results-page .ledger .tile img{width:64px;height:64px}
 .results-page .ledger .c-venue{grid-area:venue}
 .results-page .ledger .v-name{font-size:17px;line-height:1.2}
 .results-page .ledger .c-venue .meta{font-size:12px;margin-top:2px}
 .results-page .ledger .c-days{display:none}
 .results-page .ledger .c-when{grid-area:when;font-size:13px;font-weight:650}
 .results-page .ledger .c-deal{grid-area:deal;font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .results-page .ledger .c-deal br,.results-page .ledger .c-deal .meta{display:none}
}
@media(max-width:760px){
 .results-page .filters.open{flex-wrap:nowrap;align-items:stretch}
 .results-page .filters.open>*{flex:none;width:100%;max-width:100%;min-width:0;margin:0}
 .results-page .filters.open .fbar{order:-5}
 .results-page .filters.open .search{order:-4}
 .results-page .filters.open .geo-county{order:-3}
 .results-page .filters.open .geo-town{order:-2}
 .results-page .filters.open .local-guide-link{order:-1}
 .results-page .filters.open .fsel:not(.geo-county):not(.geo-town){order:1}
 .results-page .filters.open .fdone{order:2}
 .results-page .filters.open .clear-filters{order:3}
 .results-page .filters.open .fsel{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:12px 0 0;border-top:1px solid var(--line)}
 .results-page .filters.open .geo-county{border-top:0;padding-top:0}
 .results-page .filters.open .fsel select,.results-page .filters.open .search input{width:100%;min-height:44px;font-size:16px}
 .results-page .filters.open .fsel>.meta{font-size:12px}
 .results-page .filters.open .fsum{display:none}
 .results-page .filters.open .time-range select{width:100%}
}
/* Safari kept the label beside its select in the flex version; a one-column
   grid stacks them in every engine. */
@media(max-width:760px){
 .results-page .filters.open .fsel,.results-page .filters.open .geo-county,.results-page .filters.open .geo-town{display:grid!important;grid-template-columns:minmax(0,1fr);gap:6px;padding-left:0}
 .results-page .filters.open .fsel>.meta{position:static;display:block;width:auto}
 .results-page .filters.open .fsel>select{grid-column:1;width:100%;max-width:100%}
}
@media(max-width:760px){
 .results-page .directory-shell{margin-top:0}
 .results-page .directory-results{padding-top:0}
 .results-page .filters.open .time-range select{-webkit-appearance:none;appearance:none;height:44px;min-height:44px;padding:0 28px 0 12px;border:1px solid var(--line-mid);border-radius:0;font:600 16px/44px var(--sans);color:var(--ink);background:#fffefa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2312110f' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 11px center/10px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:760px){.results-page .filters:not(.open) .ftoggle{box-shadow:0 2px 10px rgba(18,17,15,.18)}}
/* Oct 15 2026, the owner on the phone filter panel: no dead spacing, everything
   on one screen, the count centred at the top with a small X to close, and a
   nicer Filters button. One 10px rhythm, no rules between groups, captions only
   where a choice does not name itself, Day and Cuisine side by side. */
@media(max-width:760px){
 .results-page .filters.open{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8px;row-gap:10px;align-content:start;padding:12px 16px 16px}
 .results-page .filters.open>*{grid-column:1/-1}
 .results-page .filters.open .fsel:not(.geo-county):not(.geo-town){grid-column:auto}
 .results-page .filters.open .fgroup:not(.legacy-area),.results-page .filters.open .fsel{padding:0;border:0;row-gap:4px}
 .results-page .filters.open .fgroup>.meta{font-size:11px;line-height:14px;margin:0;color:var(--ink-2)}
 .results-page .filters.open .geo-county>.meta,.results-page .filters.open .geo-town>.meta,.results-page .filters.open .fsel>.meta{display:none}
 .results-page .filters.open .chip,.results-page .filters.open select,.results-page .filters.open .search input{height:44px;min-height:44px}
 .results-page .filters.open .fdone{min-height:48px;margin-top:4px}
 .results-page .filters.open .clear-filters{justify-self:center;min-height:32px;font-size:13px}
 .results-page .filters.open .local-guide-link:not([hidden]){font-size:13px;margin:-4px 0 0}
 /* the panel's top: count on the centre line, a small X on the right */
 .results-page .filters.open .fbar{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;min-height:40px}
 .results-page .filters.open .fstatus{grid-column:2;grid-row:1;margin:0;text-align:center}
 .results-page .filters.open .fcount{font:650 17px/1.2 var(--sans);color:var(--ink)}
 .results-page .filters.open .ftoggle{grid-column:3;grid-row:1;justify-self:end;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 3l10 10M13 3L3 13' stroke='%2312110f' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/16px;font-size:0;box-shadow:none}
 .results-page .filters.open .ftoggle .fbadge{display:none}
 /* closed: an ink pill with a sliders mark */
 .results-page .filters:not(.open) .ftoggle{background:var(--ink);color:#fff;border-color:var(--ink);padding:0 16px 0 14px;gap:8px}
 .results-page .filters:not(.open) .ftoggle::before{content:"";width:14px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='12' viewBox='0 0 14 12'%3E%3Cg stroke='%23fff' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M1 2h12M1 6h12M1 10h12'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Ccircle cx='4' cy='2' r='1.8'/%3E%3Ccircle cx='10' cy='6' r='1.8'/%3E%3Ccircle cx='6' cy='10' r='1.8'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain}
}
@media(max-width:760px){.results-page .filters.open .clear-filters{justify-content:center;text-align:center;text-decoration:none}.results-page .filters.open .clear-filters{color:var(--ink-2)}}
/* Oct 15 2026, the owner: Coming Soon lands like Happy Hour on a phone; the
   rules above now ride .results-page, so this only adds what differs. Rows:
   name and street, then what it is and when we first saw it. */
@media(max-width:760px){
 .results-page .opener-photo{display:none}
 .radar-map-page #radar thead{display:none}
 .radar-map-page #radar tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"venue when" "deal deal";column-gap:12px;row-gap:3px;padding:12px 0;align-items:baseline}
 .radar-map-page #radar td{padding:0;border:0}
 .radar-map-page #radar td.venue{grid-area:venue;font:650 17px/1.25 var(--sans)}
 .radar-map-page #radar td.venue .cuisine{display:block;font:400 12px/1.4 var(--sans);color:var(--ink-2);margin-top:2px}
 .radar-map-page #radar td.c-area{display:none}
 .radar-map-page #radar td.deal{grid-area:deal;font-size:13px}
 .radar-map-page #radar td.deal br,.radar-map-page #radar td.deal .credit{display:none}
 .radar-map-page #radar td.when{grid-area:when;font-size:12px;color:var(--ink-2);white-space:nowrap}
}
/* Oct 15 2026, the owner: the homepage is happy hours only (no opening-soon key),
   and no dead band under the phone finder: the venue card puts its words first
   and its photo last, so text, not a photo, sits under Safari's address bar. */
.home-atlas #kOP{display:none}
@media(max-width:760px){
 .home-atlas .stage .atlas-find{margin-bottom:16px}
 .home-atlas .stage .side,.home-atlas .stage .side:not(:has(#selected-photo:not([hidden]))){display:flex;flex-direction:column;padding:16px;gap:0}
 .home-atlas .stage .side .live-readout{order:1;display:flex;align-items:baseline;gap:10px;margin:0}
 .home-atlas .stage .side .pick{order:2;margin:10px 0 0;padding:10px 0 0}
 .home-atlas .stage .side .pick-link{order:3}
 .home-atlas .stage .side .scan-help{order:3}
 .home-atlas .stage .side #selected-photo{order:4;width:calc(100% + 32px);height:200px;margin:8px -16px -16px;object-fit:cover;grid-row:auto}
}
/* Coming Soon status: a filled pine tag for open, an outlined one for a dated opening. */
.op-status{display:inline-flex;margin:0 0 4px}
.op-status a{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font:650 11px/1 var(--sans);letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.op-status.is-open a{background:var(--open);color:#fff}
.op-status.is-dated a{border:1px solid var(--open);color:var(--open)}
.op-status.is-late a{border-color:var(--line-mid);color:var(--ink-2)}
#radar td.when{text-align:right}
#radar td.when .op-status{display:flex;justify-content:flex-end}
@media(max-width:760px){
 .radar-map-page #radar tbody tr td{padding:0}
 .radar-map-page #radar tbody tr{row-gap:4px;padding:14px 0}
 .radar-map-page #radar td.venue .lane{display:inline-block;margin:0 0 0 6px;padding:1px 6px;font:600 10px/1.4 var(--sans);letter-spacing:.06em;vertical-align:2px}
 .radar-map-page #radar td.deal .permit{font-size:11px;letter-spacing:.06em}
 .radar-map-page #radar td.when{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
 .radar-map-page #radar td.when .op-status{margin:0}
}
@media(max-width:760px){
 .radar-map-page #radar tbody tr{align-items:start}
 .radar-map-page #radar td.deal,.radar-map-page #radar td.deal .permit{margin:0;line-height:1.3}
}
@media(max-width:760px){
 .radar-map-page #radar tbody tr td{padding:0!important}
 .radar-map-page #radar td.deal .permit{display:block}
}
@media(max-width:760px){.radar-map-page #radar tbody tr{grid-template-areas:"venue when" "deal when"}}
/* Three choices in a group sit as three equal buttons on one row. */
.directory-shell .filters .fgroup:not(.legacy-area):has(.chip:nth-of-type(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.results-page .filters.open .fgroup:not(.legacy-area):has(.chip:nth-of-type(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.directory-shell .filters .fgroup:not(.legacy-area):has(.chip:nth-of-type(3)) .chip{font-size:12px;padding-inline:2px;letter-spacing:-.005em}
.directory-shell .filters .fgroup:not(.legacy-area):has(.chip:nth-of-type(3)) .chip{font-size:11.5px;letter-spacing:-.01em}
/* Oct 15 2026, the owner picked concept B for the lower homepage. Phone: one
   column (pouring now, then neighborhoods); desktop: a mirrored pair whose
   headings, lists and buttons share lines. The old venue card leaves the phone
   (this list replaces it) and the old footer line is gone; the map keeps the
   live count in its corner on phones. */
.home-atlas .page>.foot{display:none}
.home-lower{padding-block:28px 40px}
.home-lower .hl-pair{display:grid;row-gap:56px}
.home-lower .hl-h{font:700 28px/1.1 var(--sans);font-stretch:88%;letter-spacing:-.035em;margin:0 0 24px;text-align:center}
.home-lower .hl-h b{color:var(--accent);font-weight:inherit;font-variant-numeric:tabular-nums}
.home-lower .hl-vlist{display:grid;gap:12px}
.home-lower .hl-vrow{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;min-height:76px;color:inherit;text-decoration:none}
.home-lower .hl-vrow img,.home-lower .hl-vrow .hl-ph{width:76px;height:76px;border-radius:3px;object-fit:cover;background:var(--paper-2)}
.home-lower .hl-t{display:grid;gap:3px;min-width:0}
.home-lower .hl-t b{font:650 17px/1.25 var(--sans)}
.home-lower .hl-meta{font:13px/1.4 var(--sans);color:var(--ink-2)}
.home-lower .hl-until{color:var(--accent);font-weight:600}
.home-lower .hl-deal{font:14px/1.45 var(--serif)}
.home-lower .hl-clamp,.home-lower .hl-t>*{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-lower .hl-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border-radius:3px;font:600 15px/1.2 var(--sans);width:100%;margin-top:24px;text-decoration:none}
.home-lower .hl-fill{background:var(--accent);color:#fff}
.home-lower .hl-line{border:1px solid var(--ink);color:var(--ink)}
.home-lower .hl-btn i{font-style:normal}
.home-lower .hl-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-mid);border-radius:3px;overflow:hidden}
.home-lower .hl-tabs button{appearance:none;border:0;background:transparent;min-height:44px;font:600 14px/1 var(--sans);font-stretch:92%;color:var(--ink);cursor:pointer;padding:0 4px}
.home-lower .hl-tabs button+button{border-left:1px solid var(--line-mid)}
.home-lower .hl-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.home-lower .hl-hlist{display:grid;margin-top:24px;border-top:1px solid var(--line)}
.home-lower .hl-hrow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;font:500 16px/1.25 var(--sans);color:inherit;text-decoration:none}
.home-lower .hl-hrow .hl-num{color:var(--ink-2);font-size:14px;font-variant-numeric:tabular-nums}
.home-lower .hl-hrow:nth-child(n+7){display:none}
.home-lower [hidden]{display:none!important}
@media(max-width:760px){
 .home-atlas .stage .side{display:none!important}
 .home-atlas .map-count{position:absolute;left:10px;bottom:10px;z-index:3;display:flex;align-items:baseline;gap:6px;pointer-events:none}
 .home-atlas .map-count b{font:800 30px/1 var(--sans);font-stretch:78%;color:var(--accent);font-variant-numeric:tabular-nums}
 .home-atlas .map-count b.zero{color:var(--ink)}
 .home-atlas .map-count span{font:600 10px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
}
@media(min-width:761px){
 .home-atlas .map-count{display:none}
 .home-lower{padding-block:56px 64px}
 .home-lower .hl-pair{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;row-gap:0;grid-template-rows:auto 1fr auto}
 .home-lower .hl-col{display:grid;grid-row:span 3;grid-template-rows:subgrid;align-content:start}
 .home-lower .hl-h{font-size:35px;margin-bottom:40px}
 .home-lower .hl-btn{margin-top:32px}
 .home-lower .hl-vlist{gap:20px;align-content:start}
 .home-lower .hl-vrow{grid-template-columns:88px minmax(0,1fr);min-height:88px;gap:20px}
 .home-lower .hl-vrow img,.home-lower .hl-vrow .hl-ph{width:88px;height:88px}
 .home-lower .hl-t b{font-size:18px}
 .home-lower .hl-side{display:grid;grid-template-rows:auto 1fr auto;align-content:start}
 .home-lower .hl-hlist{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;align-content:start;border-top:0;margin-top:24px}
 .home-lower .hl-hrow{min-height:52px;border-top:1px solid var(--line)}
 .home-lower .hl-hrow:nth-child(n+13){display:none}
 .home-lower .hl-hrow:nth-child(n+7):nth-child(-n+12){display:grid}
}
/* the lower section lives inside the page's own gutter: no second gutter */
.home-lower.wrap{padding-inline:0}
/* Oct 15 2026, the owner: the desktop pair must be congruent (both columns and
   both buttons end on the same lines, no hole under the neighborhoods), and on
   phones nothing peeks under Safari's address bar at landing. */
@media(min-width:761px){
 .home-lower .hl-vlist{gap:16px}
 .home-lower .hl-vrow{grid-template-columns:76px minmax(0,1fr);min-height:76px;gap:18px}
 .home-lower .hl-vrow img,.home-lower .hl-vrow .hl-ph{width:76px;height:76px}
 .home-lower .hl-side{display:grid;grid-template-rows:auto 1fr;align-self:stretch;min-height:0}
 .home-lower .hl-hlist{grid-auto-rows:1fr;align-content:stretch;margin-top:20px}
 .home-lower .hl-hrow{min-height:0}
 .home-lower .hl-col>.hl-btn{align-self:end}
}
@media(max-width:760px){
 /* the lower section starts below Safari's toolbar band on landing */
 .home-lower{padding-top:max(28px,calc(var(--toolbar-band,0px) - 8px))}
}
/* Oct 15 2026, the owner: "each part of the page should have its own page".
   Phone homepage = three chapters that each settle onto one screen: the atlas
   (map, count, timeline, finder), pouring now, neighborhoods. Measured recipe
   from website-refresh phone-review: chapter minimum = the painted window,
   20px top padding, 20px plus the browser-control reserve at the bottom,
   content centred, the reserve excluded from the snap area. */
@media(max-width:760px){
 html:has(body.home-atlas.chapters){scroll-snap-type:y mandatory}
 html:has(body.home-atlas.chapters.chapters-loose){scroll-snap-type:y proximity}
 .home-atlas.chapters .page>.mast{scroll-snap-align:start}
 .home-atlas.chapters .home-lower{padding:0;margin-top:var(--reserve,0px)}
 .home-atlas.chapters .home-lower .hl-pair{row-gap:0}
 .home-atlas.chapters .home-lower .hl-col{min-height:var(--paint,100svh);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:20px 0 calc(20px + var(--reserve,0px));scroll-snap-align:start;scroll-margin-bottom:calc(-1 * var(--reserve,0px))}
 .home-atlas.chapters .home-lower .hl-col .hl-h{margin-bottom:24px}
}
/* iOS Safari snaps only on the viewport scroller: the chapter page lets the
   window scroll (no overflow on html or body), and each chapter fills its
   screen top to bottom instead of centring a small block in empty space. */
@media(max-width:760px){
 html:has(body.home-atlas.chapters),body.home-atlas.chapters{overflow:visible;height:auto}
 .home-atlas.chapters .home-lower .hl-col{justify-content:space-between}
 .home-atlas.chapters .home-lower .hl-col>.hl-vlist,.home-atlas.chapters .home-lower .hl-col>.hl-side{flex:1 1 auto;align-content:space-evenly}
 .home-atlas.chapters .home-lower .hl-col>.hl-side{display:flex;flex-direction:column}
 .home-atlas.chapters .home-lower .hl-col>.hl-side>.hl-hlist{flex:1 1 auto;grid-auto-rows:1fr;align-content:stretch}
 .home-atlas.chapters .home-lower .hl-hrow:nth-child(n+7):nth-child(-n+9){display:grid}
}
/* Oct 15 2026, the owner: the contact address and the company in the space
   under the last chapter. */
.home-lower{position:relative}
.home-lower .hl-foot{display:flex;flex-direction:column;align-items:center;gap:4px;margin:48px 0 0;font:500 13px/1.4 var(--sans);color:var(--ink-2);text-align:center}
.home-lower .hl-foot a{color:var(--ink);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.home-lower .hl-foot a:hover{text-decoration:underline}
@media(max-width:760px){
 /* the footer closes the last chapter, in the visible space above Safari's bar */
 .home-atlas.chapters .home-lower .hl-pair>.hl-col:last-child{padding-bottom:calc(20px + var(--reserve,0px) + 64px)}
 .home-atlas.chapters .home-lower .hl-foot{position:absolute;left:0;right:0;bottom:calc(var(--reserve,0px) + 14px);margin:0;gap:2px}
}
/* Oct 16 2026: Coming Soon by town, a link list under every radar page */
.radar-towns{padding-block:40px}
.radar-towns .radar-town-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:32px;border-top:1px solid var(--line)}
.radar-towns .radar-town-list a{display:flex;justify-content:space-between;align-items:center;min-height:52px;border-bottom:1px solid var(--line);font:500 16px/1.3 var(--sans);color:var(--ink);text-decoration:none}
.radar-towns .radar-town-list a span{color:var(--ink-2);font-size:14px;font-variant-numeric:tabular-nums}
/* Oct 16 2026: popular pages, small pills above the county lists */
.place-index .popular-links{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.place-index .popular-links a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line-mid);border-radius:999px;font:600 14px/1 var(--sans);color:var(--ink);text-decoration:none;background:var(--paper)}
.place-index .popular-links a:hover{border-color:var(--ink)}
/* Oct 16 2026: recently closed list */
.closed-list{list-style:none;margin:0 0 56px;padding:0;border-top:1px solid var(--line)}
.closed-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.closed-main{display:grid;gap:4px;min-width:0}
.closed-main b{font:650 18px/1.25 var(--sans)}
.closed-where{font:13px/1.4 var(--sans);color:var(--ink-2)}
.closed-why{font:15px/1.5 var(--serif);color:var(--ink)}
.closed-side{display:grid;justify-items:end;gap:4px;text-align:right;font:13px/1.4 var(--sans)}
.closed-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:var(--ink);color:#fff;font:650 11px/1 var(--sans)}
.closed-tag.is-temp{background:transparent;color:var(--ink);border:1px solid var(--line-mid)}
.closed-date{color:var(--ink-2)}
.closed-side a{color:var(--accent);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
@media(max-width:760px){.closed-row{grid-template-columns:minmax(0,1fr)}.closed-side{justify-items:start;text-align:left;grid-auto-flow:column;justify-content:start;align-items:center;gap:12px}}
/* Oct 16 2026: venue pages */
.venue-page .vf{padding-block:24px 56px}
.venue-page .vf-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.venue-page .vf-head:not(:has(.vf-photo)){grid-template-columns:minmax(0,1fr)}
.venue-page .vf-photo{margin:0;aspect-ratio:3/2;overflow:hidden;border-radius:3px;background:var(--paper-2)}
.venue-page .vf-photo img{width:100%;height:100%;object-fit:cover;display:block}
.venue-page .vf-kicker{margin:0 0 8px;font:600 12px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.venue-page .vf-info h1{margin:0 0 24px;font:700 clamp(30px,3.4vw,46px)/1.05 var(--sans);font-stretch:88%;letter-spacing:-.03em}
.venue-page .vf-facts{margin:0;display:grid;border-top:1px solid var(--line)}
.venue-page .vf-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}
.venue-page .vf-row dt{font:600 12px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.venue-page .vf-row dd{margin:0;font:16px/1.5 var(--serif);color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.venue-page .vf-when{font:650 15px/1.3 var(--sans)}
.venue-page .vf-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;margin-top:24px}
.venue-page .vf-btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border-radius:3px;font:600 15px/1.2 var(--sans);text-decoration:none;text-align:center}
.venue-page .vf-fill{background:var(--accent);color:#fff}
.venue-page .vf-line{border:1px solid var(--ink);color:var(--ink)}
.venue-page .vf-map{margin:40px 0 0}
.venue-page .vf-near{margin-top:48px}
.venue-page .vf-near h2{margin:0 0 16px;font:700 26px/1.1 var(--sans);font-stretch:88%;letter-spacing:-.03em}
.venue-page .vf-near ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;border-top:1px solid var(--line)}
.venue-page .vf-near a{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.venue-page .vf-near b{font:650 16px/1.3 var(--sans)}
.venue-page .vf-near span{font:13px/1.4 var(--sans);color:var(--ink-2)}
@media(max-width:760px){
 .venue-page .vf{padding-block:12px 40px}
 .venue-page .vf-head{grid-template-columns:minmax(0,1fr);gap:20px}
 .venue-page .vf-info h1{text-align:center;margin-bottom:20px}
 .venue-page .vf-kicker{text-align:center}
 .venue-page .vf-row{grid-template-columns:90px minmax(0,1fr)}
 .venue-page .vf-actions{grid-auto-flow:row;grid-auto-columns:auto}
 .venue-page .vf-near h2{text-align:center}
 .venue-page .vf-near ul{grid-template-columns:minmax(0,1fr)}
}
/* Oct 16 2026: nearby happy hours as photo rows */
.venue-page .vf-near ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 32px;border-top:0}
.venue-page .vf-near a{grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.venue-page .vf-near img,.venue-page .vf-near .vn-ph{width:72px;height:72px;border-radius:3px;object-fit:cover;background:var(--paper-2)}
.venue-page .vn-t{display:grid;gap:2px;min-width:0}
.venue-page .vn-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.venue-page .vn-walk{color:var(--accent)!important;font-weight:600}
@media(max-width:760px){.venue-page .vf-near ul{grid-template-columns:minmax(0,1fr)}}
/* Oct 16 2026, the owner approved (lander dead space): no rule under the
   masthead; the headline sits left with three live numbers on the right; the
   layer key moves inside the map's empty north-west corner, so the map starts
   right under the headline. The rail's own count goes: the headline holds it. */
.ai-stats{display:none}
@media(min-width:761px){
 .home-atlas .mast{border-bottom:0;padding-bottom:4px}
 .home-atlas .atlas-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-block:14px 18px}
 .home-atlas .atlas-intro h1,.home-atlas .atlas-intro>.ai-copy>p{text-align:left}
 .home-atlas .atlas-intro h1{font-size:clamp(40px,4.2vw,64px);letter-spacing:-.035em;line-height:1}
 .home-atlas .ai-copy>p{margin:10px 0 0;font:17px/1.5 var(--serif);color:var(--ink-2)}
 .home-atlas .ai-stats{display:flex;gap:0;flex:none}
 .home-atlas .ai-stat{display:flex;flex-direction:column;gap:6px;padding:0 0 2px 26px;margin-left:26px;border-left:1px solid var(--line-mid);color:var(--ink);text-decoration:none;min-width:96px}
 .home-atlas .ai-stat:first-child{border-left:0;margin-left:0;padding-left:0}
 .home-atlas .ai-stat b{font:800 clamp(34px,3.2vw,48px)/1 var(--sans);font-stretch:80%;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
 .home-atlas .ai-now b{color:var(--accent)}
 .home-atlas .ai-now b.zero{color:var(--ink)}
 .home-atlas .ai-stat span{font:600 11px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
 .home-atlas a.ai-stat span::after{content:" ↗︎";color:var(--accent)}
 .home-atlas a.ai-stat:hover b{color:var(--accent)}
 .home-atlas .stage{position:relative;grid-template-rows:var(--atlas-map-height,520px) auto}
 .home-atlas .stage>.mapwrap{grid-row:1}
 .home-atlas .stage>.scrub{grid-row:2}
 .home-atlas .rail{grid-row:1/3}
 .home-atlas .stage>.legendbar{position:absolute;grid-row:1;grid-column:1;top:16px;left:18px;z-index:3;padding:0;background:transparent}
 .home-atlas .stage>.legendbar .legend{flex-direction:column;align-items:flex-start;gap:2px}
 .home-atlas .stage>.legendbar .legend .key{min-height:22px}
 .home-atlas .side .big,.home-atlas .side .lab,.home-atlas .side .sub{display:none}
}
/* Oct 16 2026, the owner: "this bubble thing ... make it look like the
   Alexandria, Arlington, Fairfax, Loudoun rows". The searched-for lists are
   county-style groups: open on desktop, tap to open on phones like the counties.
   Popular areas spans two columns so its rows line up with the county columns. */
.place-index .corner-groups{margin-bottom:10px}
@media(min-width:761px){
 .corner-groups .cg-areas{grid-column:span 2}
 .corner-groups .cg-areas ul{columns:2;column-gap:25px}
 .corner-groups .cg-areas li{break-inside:avoid}
 .corner-groups details[data-open-wide] summary{cursor:default;pointer-events:none}
 .corner-groups details[data-open-wide] summary::after{content:none}
 .corner-groups .cg-day,.corner-groups .cg-cuisine{grid-column:span 2}
 .corner-groups .cg-day[open] ul,.corner-groups .cg-cuisine[open] ul{columns:2;column-gap:25px}
 .corner-groups .cg-day li,.corner-groups .cg-cuisine li{break-inside:avoid}
}
@media(min-width:761px){.home-atlas .side .live-readout{display:none}.home-atlas #selected-photo{margin-top:0}}
@media(min-width:761px){.corner-groups details[data-open-wide][open] summary::after{content:none}}
/* Oct 16 2026, the owner on /happy-hour (phone walk): the headline sits
   centred with NoVA in the logo red; no dead band between the list and the
   changes digest, which is centred too; county lists end in an "All N" row. */
.opener h1 em.nova{font-style:normal;color:var(--accent)}
.place-groups .pg-all a{color:var(--accent);font-weight:600}
@media(max-width:760px){
 body:not(.venue-page) .opener-head>div:first-child{text-align:center}
 body:not(.venue-page) .opener h1{text-align:center;text-wrap:balance;max-width:none;margin-inline:auto}
 .directory-shell .count{text-align:center;margin:14px 0 0}
 .changelog{margin-top:28px !important;padding-top:0 !important;text-align:center}
 .changelog h2{text-wrap:balance}
 .changelog .dek{margin-inline:auto}
 .changelog .changelog-grid{text-align:left}
}
/* Oct 16 2026, the owner: the results headline reads as one banner line on a
   phone, "saying it fully across", never stacked. Sized to the width. */
@media(max-width:760px){
 body.page-ledger .opener h1{white-space:nowrap;font-size:min(5.4vw,30px);letter-spacing:-.03em;line-height:1.1}
}
/* Oct 16 2026: every happy hour shows a source a reader can open */
.vf-src{color:var(--accent);text-decoration:none;font-weight:600;white-space:nowrap}
.vf-src:hover{text-decoration:underline}
/* Oct 16 2026: Why We Do It, rewritten as the owner's story. Desktop: one
   centred column. Phone: two full screens (story, then rules and credit);
   short sections are grouped, never stretched (owner: "hella dead space"). */
body.page-why2 main{padding-bottom:40px}
body.page-why2 main section.wrap{box-sizing:border-box;width:calc(100% - 2 * var(--gutter,20px));max-width:760px;margin-left:auto!important;margin-right:auto!important;padding-inline:0!important}
.why-hero{padding-block:72px 48px;text-align:center}
.why-hero h1{font:750 clamp(40px,6vw,76px)/1 var(--sans);font-stretch:83%;letter-spacing:-.04em;margin:0;text-wrap:balance}
.why-sub{font:19px/1.5 var(--serif);color:var(--ink-2);margin:18px auto 30px;max-width:30em;text-wrap:balance}
.why-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;background:var(--accent);color:#fff;text-decoration:none;font:600 16px/1 var(--sans);border-radius:3px}
.why-cta:hover{filter:brightness(1.08)}
.why-story{padding-block:36px;border-top:2px solid var(--ink)}
.why-story p{font:21px/1.6 var(--serif);margin:0 0 18px;color:var(--ink)}
.why-story p:last-child{margin-bottom:0}
.why-story p:first-child::first-line{font-weight:600}
.why-rules,.why-who{padding-block:36px;border-top:1px solid var(--line-mid)}
.why-rules h2,.why-who h2{font:700 30px/1.1 var(--sans);font-stretch:88%;letter-spacing:-.03em;margin:0 0 18px}
.why-rows{list-style:none;margin:0;padding:0}
.why-rows li{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:14px 0;border-top:1px solid var(--line)}
.why-rows li b{font:650 17px/1.35 var(--sans)}
.why-rows li span{font:16px/1.6 var(--serif);color:var(--ink-2)}
.why-who p{font:18px/1.6 var(--serif);margin:0 0 12px}
.why-mail{margin-bottom:0!important}
.why-mail a{color:var(--accent);font-weight:600}
@media(max-width:760px){
 .why-screen{min-height:calc(100svh - 74px);display:flex;flex-direction:column;justify-content:center;gap:0;box-sizing:border-box;padding-block:12px}
 .why-hero{padding-block:8px 26px}
 .why-hero h1{font-size:min(10.2vw,42px)}
 .why-sub{font-size:17px;margin:14px auto 22px}
 .why-cta{width:100%}
 .why-story{padding-block:24px 0}
 .why-story p{font-size:18px;line-height:1.55;margin-bottom:14px}
 .why-rules{padding-block:4px 20px;border-top:0}
 .why-who{padding-block:20px 0}
 .why-rules h2,.why-who h2{font-size:26px;margin-bottom:12px}
 .why-rows li{grid-template-columns:1fr;gap:3px;padding:11px 0}
 .why-rows li b{font-size:16px}
 .why-rows li span{font-size:15px;line-height:1.5}
 .why-who p{font-size:16px}
}
/* Oct 16 2026 search pass: a short intro and the questions people search,
   answered from each page's own rows */
.faq .seo-intro,.seo-faq .seo-intro{font:16px/1.65 var(--serif)!important;color:var(--ink-2);max-width:68ch;margin:0 0 16px!important;text-align:left!important}
.seo-faq{margin-top:48px;border-top:1px solid var(--line-mid);padding-top:28px}
.seo-faq h2{font:700 26px/1.15 var(--sans);font-stretch:88%;letter-spacing:-.025em;margin:0 0 14px}
.seo-faq dl{margin:0}
.seo-faq dl>div{padding:14px 0;border-top:1px solid var(--line)}
.seo-faq dt{font:650 16px/1.4 var(--sans);margin:0 0 6px}
.seo-faq dd{font:15px/1.6 var(--serif);color:var(--ink-2);margin:0;max-width:70ch}
@media(max-width:760px){.faq .seo-intro,.seo-faq .seo-intro{font-size:15px!important}.seo-faq h2{font-size:23px}}
/* Oct 16 2026, the owner: headings, credit and email centre with the hero */
.why-rules h2,.why-who h2,.why-who p{text-align:center}
.why-who p:not(.why-mail){max-width:34em;margin-inline:auto}
/* Oct 16 2026, the owner: the rule rows centre too; stacked at every width */
.why-rows li{grid-template-columns:1fr!important;gap:4px!important;text-align:center}
.why-rows li span{max-width:36em;margin-inline:auto}
@media(max-width:760px){.why-rows li{padding:8px 0}.why-rules h2,.why-who h2{margin-bottom:8px}.why-who{padding-block:14px 0}.why-who p{font-size:15.5px;line-height:1.5}}
/* Oct 16 2026: the page doubles as the owner's pitch to restaurants */
.why-who a:not(.why-cta){color:var(--accent);font-weight:600}
.why-owner{margin:22px auto 18px;padding:22px 20px;border:1px solid var(--line-mid);background:#efede7;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;max-width:560px}
.why-owner b{font:700 20px/1.25 var(--sans)}
.why-owner span{font:16px/1.55 var(--serif);color:var(--ink-2)}
.why-owner .why-cta{margin-top:8px;color:#fff}
@media(max-width:760px){.why-owner{padding:18px 16px}.why-owner .why-cta{width:100%}}
@media(max-width:760px){.why-screen+.why-screen{min-height:0;display:block;padding-block:8px}}
.why-owner .why-cta span{color:inherit;font:inherit}
.why-founder{font:700 22px/1.3 var(--sans)!important;margin-bottom:6px!important}
/* Oct 16 2026, the owner: no divider lines on this page; space separates */
.why-story,.why-rules,.why-who{border-top:0!important}
.why-rows li{border-top:0!important;padding:12px 0!important}
.why-rules{padding-top:28px}
@media(max-width:760px){.why-rows li{padding:9px 0!important}}
/* Oct 16 2026, the owner: on a phone each scroll is its own screen, and each
   screen is FULL: three snap screens with type sized to fill them. */
@media(max-width:760px){
 html:has(body.page-why2){scroll-snap-type:y mandatory}
 html:has(body.page-why2),body.page-why2{overflow:visible;height:auto}
 body.page-why2 .masthead{scroll-snap-align:start}
 body.page-why2 footer{scroll-snap-align:end}
 body.page-why2 .why-screen,body.page-why2 .why-screen+.why-screen{min-height:100svh;display:flex!important;flex-direction:column;justify-content:space-evenly;scroll-snap-align:start;padding-block:18px;box-sizing:border-box}
 body.page-why2 .why-screen:first-child{min-height:calc(100svh - 74px)}
 .why-hero{padding-block:0!important}
 .why-hero h1{font-size:min(12.4vw,52px)!important;line-height:.98}
 .why-sub{font-size:18px!important;margin:16px auto 24px!important}
 .why-cta{min-height:56px;font-size:17px}
 .why-story{padding-block:0!important}
 .why-story p{font-size:19px!important;line-height:1.6!important;margin-bottom:16px!important}
 .why-rules{padding-block:0!important}
 .why-rules h2,.why-who h2{font-size:34px!important;margin-bottom:18px!important}
 .why-rows{display:flex;flex-direction:column;gap:18px}
 .why-rows li{padding:0!important;gap:6px!important}
 .why-rows li b{font-size:19px}
 .why-rows li span{font-size:17px;line-height:1.55}
 .why-who{padding-block:0!important}
 .why-founder{font-size:26px!important;margin-bottom:10px!important}
 .why-who p{font-size:17.5px!important;line-height:1.55!important}
 .why-owner{margin:22px auto 18px!important;padding:24px 18px!important;gap:10px}
 .why-owner b{font-size:21px}
 .why-owner span{font-size:16.5px}
 .why-mail{font-size:16px!important}
}
/* Oct 16 2026, the owner: the footer centres on a phone */
@media(max-width:760px){
 footer .footer-grid{text-align:center}
 footer .footer-grid>div{display:flex;flex-direction:column;align-items:center}
 footer .footer-grid ul{padding:0;list-style:none}
 footer .colophon{flex-direction:column!important;align-items:center;gap:6px;text-align:center}
}
@media(max-width:760px){
 body.page-why2 .why-screen+.why-screen>section{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-evenly}
 .why-rows{flex:1 1 auto;justify-content:space-evenly;gap:clamp(14px,2.6vh,30px)!important}
 .why-rules h2,.why-who h2{font-size:clamp(30px,4.6vh,42px)!important}
 .why-rows li b{font-size:clamp(18px,2.7vh,23px)}
 .why-rows li span{font-size:clamp(16px,2.3vh,20px);line-height:1.5}
 .why-founder{font-size:clamp(24px,3.6vh,32px)!important}
 .why-who p{font-size:clamp(17px,2.4vh,21px)!important}
 .why-owner{padding:clamp(20px,3.4vh,34px) 18px!important}
 .why-owner b{font-size:clamp(20px,2.9vh,25px)}
 .why-owner span{font-size:clamp(16px,2.2vh,19px)}
 .why-story p{font-size:clamp(18px,2.4vh,21px)!important}
 .why-hero h1{font-size:min(12.4vw,52px,6.6vh)!important}
}
@media(max-width:760px){
 .why-hero h1{font-size:min(10.6vw,46px,6vh)!important}
 .why-story p{font-size:clamp(17px,2.2vh,20px)!important;margin-bottom:12px!important}
 .why-rules h2,.why-who h2{font-size:clamp(28px,4vh,38px)!important}
 .why-rows{gap:clamp(10px,1.8vh,22px)!important}
 .why-rows li b{font-size:clamp(17px,2.3vh,21px)}
 .why-rows li span{font-size:clamp(15.5px,2vh,18px)}
 .why-cta{margin-bottom:6px}
}
/* Oct 16 2026: rules and the credit share one tight screen; no spreading */
@media(max-width:760px){
 body.page-why2 .why-screen+.why-screen{justify-content:center!important;padding-block:20px}
 body.page-why2 .why-screen+.why-screen>section{flex:0 0 auto!important;display:block!important}
 .why-rows{gap:12px!important;justify-content:flex-start!important}
 .why-rules h2,.why-who h2{font-size:28px!important;margin-bottom:12px!important}
 .why-rows li b{font-size:17px}
 .why-rows li span{font-size:15.5px;line-height:1.45}
 .why-who{margin-top:26px}
 .why-who h2{display:none}
 .why-founder{font-size:22px!important;margin-bottom:6px!important}
 .why-who p{font-size:16px!important;line-height:1.5!important}
 .why-owner{margin:16px auto 12px!important;padding:16px 16px!important;gap:6px}
 .why-owner b{font-size:18px}
 .why-owner span{font-size:15px}
 .why-owner .why-cta{min-height:48px;margin-top:6px}
 .why-mail{font-size:15px!important}
}
@media(max-width:760px){
 .why-rows{gap:10px!important}
 .why-rules h2{margin-bottom:10px!important}
 .why-who{margin-top:20px}
 .why-owner{padding:14px 16px!important;margin:14px auto 10px!important}
 body.page-why2 .why-screen+.why-screen{padding-block:14px}
}

/* Oct 16 2026: Why We Do It, redesigned in the site's own language (real
   venue photos, homepage-style live numbers, a side by side, an ink band for
   the founder and restaurant owners). Owner: "we are better than a blog". */
.page-why3 main{padding:0}
.w-in{width:calc(100% - 2 * var(--gutter,20px));max-width:1120px;margin:0 auto}
.w-hook{padding:0 0 56px}
.w-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 40px}
.w-strip figure{position:relative;margin:0;overflow:hidden;aspect-ratio:4/3;background:#ddd}
.w-strip img{width:100%;height:100%;object-fit:cover;display:block}
.w-strip figcaption{position:absolute;left:10px;bottom:8px;font:600 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.w-hook .w-in{display:grid;grid-template-columns:1.3fr 1fr;gap:28px 48px;align-items:end}
.w-hook h1{font:750 clamp(44px,6.2vw,88px)/.95 var(--sans);font-stretch:80%;letter-spacing:-.04em;margin:0;text-wrap:balance}
.w-stats{display:flex;gap:0;margin:0;justify-content:flex-end}
.w-stats div{padding:0 0 0 22px;margin-left:22px;border-left:1px solid var(--line-mid)}
.w-stats div:first-child{border-left:0;margin-left:0;padding-left:0}
.w-stats dd{margin:0;font:800 clamp(34px,3.6vw,52px)/1 var(--sans);font-stretch:78%;letter-spacing:-.02em;color:var(--ink)}
.w-stats div:first-child dd{color:var(--accent)}
.w-stats dt{font:600 11px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:6px;order:2}
.w-stats div{display:flex;flex-direction:column-reverse}
.w-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;background:var(--accent);color:#fff!important;text-decoration:none;font:650 16px/1 var(--sans);border-radius:3px}
.w-btn:hover{filter:brightness(1.08)}
.w-hook .w-btn{grid-column:1/-1;justify-self:start}
.w-diff{padding:64px 0;background:#efede7}
.w-diff h2{font:750 clamp(32px,4.2vw,58px)/1.02 var(--sans);font-stretch:82%;letter-spacing:-.035em;margin:0 0 32px;text-wrap:balance}
.w-diff h2 em{font-style:normal;color:var(--accent)}
.w-vs{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}
.w-vs section{padding:26px 26px 22px;border-radius:4px}
.w-vs h3{font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
.w-vs ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.w-vs li{font:17px/1.4 var(--serif);padding-left:30px;position:relative}
.w-them{background:#fff;border:1px solid var(--line)}
.w-them h3{color:var(--ink-2)}
.w-them li{color:#8a877f;text-decoration:line-through;text-decoration-color:rgba(18,17,15,.35)}
.w-them li::before{content:"✕";position:absolute;left:0;top:0;color:#b5b1a8;font:700 15px/1.35 var(--sans);text-decoration:none}
.w-us{background:var(--ink);color:#f7f6f3}
.w-us h3{color:#f7f6f3}
.w-us li::before{content:"✓";position:absolute;left:0;top:0;color:#e0574a;font:800 16px/1.3 var(--sans)}
.w-founder{background:var(--ink);color:#f7f6f3;padding:72px 0}
.w-founder .w-in{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px;align-items:center}
.w-kicker{grid-column:1;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#bdb9b0;margin:0}
.w-name{grid-column:1;font:750 clamp(36px,4vw,56px)/1 var(--sans);font-stretch:80%;letter-spacing:-.03em;margin:0}
.w-line{grid-column:1;font:18px/1.6 var(--serif);color:#dcd9d2;margin:0;max-width:34em}
.w-owner{grid-column:2;grid-row:1/4;background:#f7f6f3;color:var(--ink);padding:30px 28px;border-radius:4px}
.w-owner h2{font:750 28px/1.1 var(--sans);font-stretch:85%;letter-spacing:-.02em;margin:0 0 10px}
.w-owner p{font:16.5px/1.55 var(--serif);color:var(--ink-2);margin:0 0 20px}
.w-owner .w-btn{width:100%}
.w-mail{grid-column:1/-1;font:15px/1.5 var(--serif);color:#bdb9b0;margin:8px 0 0}
.w-mail a{color:#f7f6f3;font-weight:600}
@media(max-width:760px){
 html:has(body.page-why3){scroll-snap-type:y mandatory}
 html:has(body.page-why3),body.page-why3{overflow:visible;height:auto}
 body.page-why3 .masthead{scroll-snap-align:start}
 body.page-why3 footer{scroll-snap-align:end}
 .w-screen{min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}
 .w-hook{min-height:calc(100svh - 74px);justify-content:flex-start;padding:0 0 22px}
 .w-strip{grid-template-columns:1fr 1fr 1fr;margin:0 0 22px;gap:3px}
 .w-strip figure{aspect-ratio:auto;height:min(36svh,300px)}
 .w-strip figcaption{font-size:8.5px;letter-spacing:.08em;left:7px;bottom:7px}
 .w-hook .w-in{display:flex;flex-direction:column;align-items:stretch;gap:20px;flex:1;justify-content:space-between}
 .w-hook h1{font-size:min(11.4vw,48px);text-align:center}
 .w-stats{justify-content:space-between}
 .w-stats div{padding:0;margin:0;border:0;align-items:center;flex:1}
 .w-stats div+div{border-left:1px solid var(--line-mid)}
 .w-stats dd{font-size:clamp(30px,9vw,40px)}
 .w-stats dt{font-size:10px;letter-spacing:.1em}
 .w-hook .w-btn{width:100%;justify-self:stretch}
 .w-diff{padding:26px 0}
 .w-diff h2{font-size:clamp(30px,8.6vw,38px);text-align:center;margin-bottom:18px}
 .w-vs{grid-template-columns:1fr;gap:10px}
 .w-vs section{padding:18px 18px 16px}
 .w-vs h3{margin-bottom:12px;font-size:11px}
 .w-vs ul{gap:9px}
 .w-vs li{font-size:16px;padding-left:26px}
 .w-founder{padding:30px 0}
 .w-founder .w-in{display:flex;flex-direction:column;gap:12px;text-align:center}
 .w-name{font-size:clamp(32px,9.4vw,40px)}
 .w-line{font-size:16.5px;margin:0 auto}
 .w-owner{padding:22px 18px;margin-top:12px}
 .w-owner h2{font-size:22px}
 .w-owner p{font-size:15.5px;margin-bottom:16px}
 .w-mail{margin-top:6px}
}

@media(max-width:760px){
 .w-hook{justify-content:flex-start!important;gap:0}
 .w-strip{flex:1 1 auto;min-height:200px;display:grid;margin-bottom:20px}
 .w-strip figure{height:auto!important}
 .w-hook .w-in{flex:0 0 auto!important;justify-content:flex-start!important;gap:18px!important}
}
/* Oct 16 2026, seen in real iOS Safari: the next screen peeked under the
   floating toolbar. Each screen is the LARGE viewport tall and keeps its
   content in the small viewport; the toolbar band shows paper. */
@media(max-width:760px){
 .w-screen{min-height:100lvh!important;padding-bottom:calc(100lvh - 100svh)!important}
 .w-hook{min-height:calc(100lvh - 74px)!important;padding-bottom:calc(100lvh - 100svh + 18px)!important}
}
@media(max-width:760px){.w-hook{padding-bottom:calc(100lvh - 100svh + 56px)!important}.w-screen:not(.w-hook){padding-bottom:calc(100lvh - 100svh + 24px)!important}}
@media(max-width:760px){html.snap-why{scroll-snap-type:y mandatory;overflow-y:visible}}
@media(max-width:760px){.w-hook{padding-bottom:calc(100lvh - 100svh + 12px)!important}.w-screen:not(.w-hook){padding-bottom:calc(100lvh - 100svh)!important}}
/* Oct 16 2026, iOS Safari: a snap area taller than the visible window lets the
   page rest anywhere inside it. Each screen is exactly the small viewport; the
   toolbar band sits BETWEEN screens as paper, so nothing peeks either. */
@media(max-width:760px){
 .w-screen{min-height:0!important;height:100svh!important;padding-bottom:0!important;margin-bottom:calc(100lvh - 100svh)}
 .w-hook{height:calc(100svh - 74px)!important;padding-bottom:16px!important}
 .w-screen:last-child{margin-bottom:0}
}
@media(max-width:760px){html.snap-why{scroll-snap-type:none}}
/* Oct 16 2026: the homepage's proven iOS recipe. Each screen is the large
   viewport tall (no peeking under the toolbar) but its SNAP AREA is trimmed to
   the small viewport with a negative scroll-margin, so Safari can hold it. */
@media(max-width:760px){
 html.snap-why{scroll-snap-type:y mandatory!important}
 .w-screen{height:auto!important;min-height:100lvh!important;margin-bottom:0!important;padding-bottom:calc(100lvh - 100svh)!important;scroll-snap-align:start;scroll-margin-bottom:calc(100svh - 100lvh)}
 .w-hook{min-height:calc(100lvh - 74px)!important;height:auto!important;padding-bottom:calc(100lvh - 100svh + 14px)!important}
}
/* Oct 16 2026, the owner: no venue photos on this page; no dead space. The
   sections flow at their natural height, top aligned, tight rhythm. */
.w-strip{display:none}
.w-hook{padding-top:56px}
@media(max-width:760px){
 html.snap-why{scroll-snap-type:none!important}
 .w-screen,.w-hook{min-height:0!important;height:auto!important;padding-bottom:0!important;justify-content:flex-start!important;scroll-margin-bottom:0}
 .w-hook{padding:30px 0 34px!important}
 .w-hook .w-in{gap:22px!important}
 .w-diff{padding:34px 0 30px!important}
 .w-founder{padding:36px 0 40px!important}
}
/* Oct 16 2026, the owner: "light it up": a VS badge joins the two lists */
.page-why3 main{padding-bottom:0!important;margin-bottom:0!important}
.page-why3 .footer{margin-top:0}
.w-vs{position:relative}
.w-vs::after{content:"VS";position:absolute;left:calc(1 / 2.35 * 100% - 4px);top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;font:800 15px/46px var(--sans);letter-spacing:.04em;text-align:center;box-shadow:0 0 0 5px #efede7;z-index:2}
@media(max-width:760px){.w-vs{gap:30px!important}.w-vs::after{left:50%;top:auto;bottom:auto;transform:translate(-50%,-50%);width:40px;height:40px;line-height:40px;font-size:13px}}
.w-vs::after{content:none!important}
.w-vs{align-items:center}
.w-vsb{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;font:800 15px/1 var(--sans);letter-spacing:.04em;box-shadow:0 0 0 5px #efede7;z-index:2;justify-self:center}
@media(min-width:761px){.w-vs{grid-template-columns:1fr auto 1.35fr!important;gap:0!important}.w-vsb{margin:0 -14px}}
@media(max-width:760px){.w-vs{gap:0!important}.w-vsb{width:40px;height:40px;font-size:13px;margin:-12px auto;position:relative}}
/* Oct 16 2026: section joins. The black card never touches the black band. */
.w-diff{padding-bottom:64px!important}
@media(max-width:760px){.w-diff{padding-bottom:40px!important}.w-founder{padding-top:40px!important}}
@media(max-width:760px){body.page-why3 .w-screen.w-diff{padding-bottom:40px!important}body.page-why3 .w-screen.w-founder{padding-top:40px!important;padding-bottom:40px!important}body.page-why3 .w-screen.w-hook{padding-bottom:34px!important}}
/* Oct 16 2026, the owner: one paper tone, no second beige */
.w-diff{background:var(--paper)!important}
.w-vsb{box-shadow:0 0 0 5px var(--paper)!important}
/* Oct 16 2026, the owner: desktop matches the approved phone composition,
   centred and compact; no split columns with empty space between. */
@media(min-width:761px){
 .w-hook{padding:56px 0 52px!important}
 .w-hook .w-in{display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:26px!important;max-width:900px}
 .w-hook h1{font-size:clamp(48px,5.6vw,80px)!important;text-align:center}
 .w-stats{justify-content:center!important}
 .w-stats div{align-items:center}
 .w-hook .w-btn{justify-self:auto}
 .w-diff{padding:52px 0 60px!important}
 .w-diff .w-in{max-width:1040px}
 .w-diff h2{text-align:center;margin-bottom:28px!important}
 .w-vs{align-items:stretch!important}
 .w-vsb{align-self:center}
 .w-founder{padding:60px 0!important}
 .w-founder .w-in{max-width:1040px}
}
@media(min-width:761px){
 .w-hook{padding-bottom:36px!important}
 .w-diff{padding-top:36px!important}
 .w-them{display:flex;flex-direction:column;justify-content:center}
 .w-them li{font-size:19px}
 .w-them ul{gap:18px}
 .w-founder .w-in{display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:14px!important;max-width:760px!important}
 .w-name{font-size:clamp(40px,4.4vw,60px)!important}
 .w-line{margin:0 auto!important;max-width:36em}
 .w-owner{width:100%;max-width:620px;margin-top:14px;box-sizing:border-box}
 .w-mail{margin-top:4px!important}
}
@media(min-width:761px){.w-hook{padding-bottom:20px!important}.w-diff{padding-top:20px!important}}
/* Oct 19 2026, the owner: phone gaps between sections match the rhythm */
@media(max-width:760px){
 body.page-why3 .w-screen.w-hook{padding-bottom:18px!important}
 body.page-why3 .w-screen.w-diff{padding-top:18px!important;padding-bottom:26px!important}
 body.page-why3 .w-screen.w-founder{padding-top:28px!important;padding-bottom:32px!important}
}
@media(min-width:761px){body.page-why3 .w-screen.w-diff{padding-bottom:40px!important}body.page-why3 .w-screen.w-founder{padding-top:44px!important;padding-bottom:48px!important}}
/* Oct 19 2026, the owner: the business leads; his name is a quiet credit */
.w-credit{font:600 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#bdb9b0;margin:2px 0 0}
@media(max-width:760px){.w-credit span{display:block}.w-credit .w-dot{display:none}}
/* Oct 19 2026: Why We Do It phone = three whole screens that land.
   Each screen paints the full window; content fits the visible part. */
@media(max-width:760px){
 html.why-snap{scroll-snap-type:y mandatory!important;overflow-y:visible}
 body.page-why3.why-snap .masthead{scroll-snap-align:start}
 body.page-why3.why-snap footer{scroll-snap-align:end}
 body.page-why3.why-snap .w-screen,body.page-why3.why-snap .w-screen.w-hook,body.page-why3.why-snap .w-screen.w-diff,body.page-why3.why-snap .w-screen.w-founder{
  min-height:var(--paint,100svh)!important;height:auto!important;box-sizing:border-box;display:flex!important;flex-direction:column;justify-content:center!important;
  padding:18px 0 calc(18px + var(--reserve,0px))!important;margin:0!important;scroll-snap-align:start;scroll-margin-bottom:calc(-1 * var(--reserve,0px))}
 body.page-why3.why-snap .w-screen.w-hook{min-height:calc(var(--paint,100svh) - 74px)!important}
 /* the lander: type sized up so the first screen is full, not padded */
 body.page-why3.why-snap .w-hook .w-in{gap:30px!important}
 body.page-why3.why-snap .w-hook h1{font-size:min(14.2vw,60px)!important;line-height:.95}
 body.page-why3.why-snap .w-stats dd{font-size:clamp(36px,11vw,48px)!important}
 body.page-why3.why-snap .w-stats dt{font-size:11px}
 body.page-why3.why-snap .w-hook .w-btn{min-height:60px;font-size:18px}
 /* the comparison fits one screen */
 body.page-why3.why-snap .w-diff h2{font-size:clamp(26px,7.6vw,32px)!important;margin-bottom:14px!important}
 body.page-why3.why-snap .w-vs section{padding:14px 16px 12px}
 body.page-why3.why-snap .w-vs h3{margin-bottom:8px}
 body.page-why3.why-snap .w-vs ul{gap:6px}
 body.page-why3.why-snap .w-vs li{font-size:15px;line-height:1.35}
 body.page-why3.why-snap .w-vsb{width:36px;height:36px;font-size:12px;margin:-10px auto}
}
/* lander screen = hook + comparison together; founder = second screen */
@media(max-width:760px){
 body.page-why3.why-snap .w-first{min-height:calc(var(--paint,100svh) - 74px);box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;padding:16px 0 calc(16px + var(--reserve,0px));scroll-snap-align:start;scroll-margin-bottom:calc(-1 * var(--reserve,0px))}
 body.page-why3.why-snap .w-first>.w-screen{min-height:0!important;padding:0!important;scroll-snap-align:none!important;justify-content:flex-start!important}
 body.page-why3.why-snap .w-first .w-hook{padding-bottom:14px!important}
 body.page-why3.why-snap .w-hook .w-in{gap:16px!important}
 body.page-why3.why-snap .w-hook h1{font-size:min(12.4vw,52px)!important}
 body.page-why3.why-snap .w-stats dd{font-size:clamp(32px,9.6vw,42px)!important}
 body.page-why3.why-snap .w-hook .w-btn{min-height:54px;font-size:17px}
 body.page-why3.why-snap .w-founder .w-in{gap:14px!important}
 body.page-why3.why-snap .w-name{font-size:clamp(36px,10.6vw,46px)!important}
 body.page-why3.why-snap .w-line{font-size:17.5px!important;line-height:1.55}
 body.page-why3.why-snap .w-owner{padding:24px 18px!important}
 body.page-why3.why-snap .w-owner h2{font-size:24px}
}

@media(max-width:760px){
 body.page-why3.why-snap .w-first{justify-content:center!important;gap:6px}
 body.page-why3.why-snap .w-founder .w-in{gap:clamp(12px,2.2vh,22px)!important}
 body.page-why3.why-snap .w-kicker{font-size:12px}
 body.page-why3.why-snap .w-name{font-size:min(12vw,6.4vh)!important;line-height:1}
 body.page-why3.why-snap .w-line{font-size:min(5vw,2.5vh)!important}
 body.page-why3.why-snap .w-credit{font-size:12.5px}
 body.page-why3.why-snap .w-owner{padding:clamp(22px,3.6vh,34px) 18px!important}
 body.page-why3.why-snap .w-owner h2{font-size:min(6.6vw,3.3vh)}
 body.page-why3.why-snap .w-owner p{font-size:min(4.4vw,2.2vh)}
 body.page-why3.why-snap .w-owner .w-btn{min-height:clamp(52px,7vh,62px);font-size:17px}
 body.page-why3.why-snap .w-mail{font-size:16px!important}
}
/* Oct 19 2026, measured in iOS Safari: only the small viewport (about 714px
   with both toolbars) is visible, so the lander is sized in svh to fit it */
@media(max-width:760px){
 body.page-why3.why-snap .w-first{min-height:calc(var(--paint,100svh) - 74px);padding:10px 0 calc(10px + var(--reserve,0px))!important}
 body.page-why3.why-snap .w-hook .w-in{gap:min(14px,1.8svh)!important}
 body.page-why3.why-snap .w-hook h1{font-size:min(11vw,6svh)!important;line-height:.98}
 body.page-why3.why-snap .w-stats dd{font-size:min(9vw,4.8svh)!important}
 body.page-why3.why-snap .w-stats dt{font-size:10px}
 body.page-why3.why-snap .w-hook .w-btn{min-height:min(52px,7svh);font-size:16px}
 body.page-why3.why-snap .w-first .w-hook{padding-bottom:min(14px,1.8svh)!important}
 body.page-why3.why-snap .w-diff h2{font-size:min(7.2vw,3.9svh)!important;margin-bottom:min(12px,1.6svh)!important}
 body.page-why3.why-snap .w-vs li{font-size:min(15px,2.05svh)!important}
 body.page-why3.why-snap .w-vs ul{gap:min(6px,.8svh)}
 body.page-why3.why-snap .w-vs section{padding:min(14px,1.9svh) 16px}
 body.page-why3.why-snap .w-name{font-size:min(11vw,5.6svh)!important}
 body.page-why3.why-snap .w-line{font-size:min(4.6vw,2.4svh)!important}
 body.page-why3.why-snap .w-owner h2{font-size:min(6.2vw,3.2svh)}
 body.page-why3.why-snap .w-owner p{font-size:min(4.2vw,2.15svh)}
}
@media(max-width:760px){
 body.page-why3.why-snap .w-first{scroll-snap-align:none!important}
 body.page-why3.why-snap .w-hook h1{font-size:min(11vw,5.5svh)!important}
 body.page-why3.why-snap .w-stats dd{font-size:min(9vw,4.4svh)!important}
 body.page-why3.why-snap .w-hook .w-in{gap:min(12px,1.6svh)!important}
 body.page-why3.why-snap .w-diff h2{margin-bottom:min(10px,1.4svh)!important}
}
@media(max-width:760px){
 body.page-why3.why-snap .w-founder .w-in{gap:min(20px,2.8svh)!important}
 body.page-why3.why-snap .w-name{font-size:min(12.4vw,6.6svh)!important}
 body.page-why3.why-snap .w-line{font-size:min(4.8vw,2.7svh)!important}
 body.page-why3.why-snap .w-owner{padding:min(30px,4svh) 18px!important}
 body.page-why3.why-snap .w-owner h2{font-size:min(6.6vw,3.6svh)}
 body.page-why3.why-snap .w-owner p{font-size:min(4.4vw,2.4svh);margin-bottom:min(18px,2.4svh)}
 body.page-why3.why-snap .w-owner .w-btn{min-height:min(60px,7.6svh)}
}
@media(max-width:760px){
 body.page-why3.why-snap .w-founder .w-in{gap:min(16px,2.3svh)!important}
 body.page-why3.why-snap .w-name{font-size:min(11.6vw,6svh)!important}
 body.page-why3.why-snap .w-owner{padding:min(24px,3.3svh) 18px!important}
}
/* Oct 19 2026, seen in iOS Safari: snap does not hold on this page, so the
   toolbar band became dead paper between sections. Screen 1 keeps its fitted
   lander; everything after it flows with no band. */
@media(max-width:760px){
 body.page-why3.why-snap .w-first{min-height:calc(100svh - 74px)!important;padding:10px 0 12px!important}
 body.page-why3.why-snap .w-screen.w-founder{min-height:0!important;padding:34px 0 38px!important}
}
/* Oct 19 2026, the owner: one ground on this page (no black band between
   scrolls), screen 1 paints the whole window so nothing peeks under Safari's
   toolbar, and the same holds in the Google app (vars set in discovery.js). */
body.page-why3 .w-founder{background:var(--paper)!important;color:var(--ink)!important}
body.page-why3 .w-kicker,body.page-why3 .w-credit{color:var(--stone,#8c877e)!important}
body.page-why3 .w-line{color:var(--ink-2)!important}
body.page-why3 .w-mail{color:var(--ink-2)!important}
body.page-why3 .w-mail a{color:var(--accent)!important}
body.page-why3 .w-owner{background:var(--ink)!important;color:#f7f6f3!important}
body.page-why3 .w-owner h2{color:#f7f6f3}
body.page-why3 .w-owner p{color:#d6d2ca!important}
@media(max-width:760px){
 body.page-why3.why-snap .w-first{min-height:calc(var(--paint,100svh) - 74px)!important;padding:10px 0 calc(12px + var(--reserve,0px))!important;justify-content:flex-start!important}
 body.page-why3.why-snap .w-first>.w-hook{margin-top:auto}
 body.page-why3.why-snap .w-first>.w-diff{margin-bottom:auto}
}

/* Oct 19 2026, the owner: each section gets stuck on its own screen, like the
   homepage. Exactly the homepage recipe: screens paint --paint, content keeps
   clear of --reserve, and the snap area is trimmed by the reserve. */
@media(max-width:760px){
 html.why-snap{scroll-snap-type:y mandatory!important}
 body.page-why3.why-snap .masthead{scroll-snap-align:start}
 body.page-why3.why-snap .w-first{scroll-snap-align:start!important;scroll-margin-top:74px;scroll-margin-bottom:calc(-1 * var(--reserve,0px))}
 body.page-why3.why-snap .w-screen.w-founder{min-height:var(--paint,100svh)!important;display:flex!important;flex-direction:column;justify-content:center!important;padding:20px 0 calc(20px + var(--reserve,0px))!important;scroll-snap-align:start;scroll-margin-bottom:calc(-1 * var(--reserve,0px))}
 body.page-why3.why-snap footer{scroll-snap-align:end}
}
@media(max-width:760px){body.page-why3.why-snap .w-screen.w-founder{justify-content:flex-start!important;padding-top:max(56px,6svh)!important}}
/* Oct 19 2026: the toolbar band moves to the TOP of screen 2 and the snap
   point skips it: on load it sits under Safari's toolbar as plain paper (no
   text peeks), and after a swipe screen 2 starts at its content, no gap. */
@media(max-width:760px){
 body.page-why3.why-snap .w-first{min-height:calc(var(--paint,100svh) - var(--reserve,0px) - 74px)!important;padding:10px 0 12px!important}
 body.page-why3.why-snap .w-screen.w-founder{padding-top:calc(var(--reserve,0px) + 28px)!important;scroll-margin-top:calc(-1 * var(--reserve,0px))!important;min-height:calc(var(--paint,100svh) + var(--reserve,0px))!important}
}
/* Oct 19 2026, seen in the iOS simulator: Safari mis-places a snap that has a
   toolbar band, leaving ~190pt of paper above screen 2. No band at all now:
   screen 1 is exactly the visible window, screen 2 starts right after it, and
   screen 2 stays hidden until the first scroll so nothing peeks on load. */
@media(max-width:760px){
 body.page-why3.why-snap .w-first{min-height:calc(100svh - 74px)!important;padding:10px 0 12px!important;scroll-margin-top:74px;scroll-margin-bottom:0!important}
 body.page-why3.why-snap .w-screen.w-founder{min-height:100svh!important;padding:28px 0 32px!important;scroll-margin-top:0!important;scroll-margin-bottom:0!important}
 body.page-why3.why-snap:not(.why-scrolled) .w-founder>.w-in{opacity:0}
 body.page-why3.why-snap .w-founder>.w-in{transition:opacity .25s ease}
}
/* Oct 19 2026, measured in the iOS simulator: Safari parks a snapped section
   one toolbar-height (the reserve) below the top. The section carries a blank
   band of that height (it covers the toolbar on screen 1, so nothing bleeds
   at the bottom) and the snap point is pulled up past it twice over. */
@media(max-width:760px){
 body.page-why3.why-snap .w-screen.w-founder{padding-top:calc(var(--reserve,0px) + 28px)!important;scroll-margin-top:calc(-2 * var(--reserve,0px))!important;min-height:calc(100svh + var(--reserve,0px))!important}
 body.page-why3.why-snap:not(.why-scrolled) .w-founder>.w-in{opacity:1}
}
@media(max-width:760px){body.page-why3.why-snap .w-screen.w-founder{scroll-margin-top:calc(-2 * var(--reserve,0px) + 52px)!important;min-height:calc(100lvh + var(--reserve,0px))!important}}
/* measured in the iOS simulator: screen 2 lands with the kicker 83pt down and
   the footer starting at ~805pt, under the toolbar. Push the footer below it. */
@media(max-width:760px){body.page-why3.why-snap .w-screen.w-founder{padding-bottom:calc(32px + var(--reserve,0px))!important}}

/* Oct 19 2026, the owner: "some of the texts are very small, some are very
   big... it should be consistent". An old rule sized linked venue names at
   23px on their own, so linked rows outgrew unlinked ones. A link always takes
   its text's size. */
html .ledger .v-name a,html .v-name a{font:inherit;letter-spacing:inherit}

/* Oct 19 2026 (preview): the hub's compact row on every list, phones */
@media(max-width:760px){
 html:root .ledger thead{display:none}
 html:root .ledger tbody tr{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"tile venue" "tile when" "tile deal";column-gap:12px;row-gap:3px;padding:12px 0;align-items:center}
 html:root .ledger .c-tile{grid-area:tile;align-self:start}
 html:root .ledger .tile,html:root .ledger .tile img{width:64px;height:64px}
 html:root .ledger .c-venue{grid-area:venue}
 html:root .ledger .v-name{font-size:17px;line-height:1.2}
 html:root .ledger .c-venue .meta{font-size:12px;margin-top:2px}
 html:root .ledger .c-days{display:none}
 html:root .ledger .c-when{grid-area:when;font-size:13px;font-weight:650}
 html:root .ledger .c-deal{grid-area:deal;font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html:root .ledger .c-deal br,html:root .ledger .c-deal .meta{display:none}
}
/* Oct 19 2026, the owner: keep the compact row, put the days (M to S) small
   on the right of the hours line */
@media(max-width:760px){
 html:root .ledger tbody tr{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"tile venue venue" "tile when days" "tile deal deal"}
 html:root .ledger .c-days{display:block;grid-area:days;align-self:center;justify-self:end}
 html:root .ledger .c-days .daystrip{display:flex;gap:2px}
 html:root .ledger .c-days .daystrip span{min-width:13px;min-height:15px;padding:0;font-size:8.5px;line-height:15px;border-radius:2px;display:inline-flex;align-items:center;justify-content:center}
}
/* Oct 20 2026, the owner picked concept 3 (a tab hanging from the row line),
   about 15% narrower than the mockup. Rows with outdoor seating only. */
.ledger tbody tr:has(.outdoor-tag){position:relative}
.ledger .outdoor-tag{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:2px;padding:5px 5px 6px;border-radius:0 0 5px 5px;background:var(--accent,#8f1e14);color:#fff;font-size:0;line-height:1;white-space:nowrap;pointer-events:none}
.ledger .outdoor-tag::before{content:"";width:11px;height:11px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 0 1 9 9H3a9 9 0 0 1 9-9z'/%3E%3Cpath d='M12 12v7a2 2 0 0 0 4 0'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 0 1 9 9H3a9 9 0 0 1 9-9z'/%3E%3Cpath d='M12 12v7a2 2 0 0 0 4 0'/%3E%3C/svg%3E") center/contain no-repeat}
.ledger .outdoor-tag::after{content:"Outdoor";font:650 9.5px/1 var(--sans);letter-spacing:.005em;text-transform:uppercase}
.ledger tbody tr:has(.outdoor-tag) .v-name{padding-right:80px}
/* Oct 20 2026, the owner on desktop: "the day filter doesn't pop up". The
   sticky filter column is 1,200px tall, so on a laptop its bottom (Day) could
   never scroll into view. It now scrolls inside itself. */
@media(min-width:761px){
 .directory-shell .filters:not(.open){max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}
/* Oct 20 2026, the owner: "the filters are fucked when I scroll I can't see
   them... doesn't even show the seating or the day". The desktop column was
   1,200px tall. Compact: every filter fits a laptop screen; Day and Cuisine
   share a row, From and Until share a row; the column only scrolls inside
   itself on very short windows. */
@media(min-width:761px){
 .directory-shell .filters:not(.open){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 10px;align-content:start;padding:0 24px 16px 0;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .directory-shell .filters:not(.open)>*{grid-column:1/-1;margin:0}
 .directory-shell .filters:not(.open)>.fsel:not(.geo-county):not(.geo-town){grid-column:auto}
 .directory-shell .filters .filter-title{font-size:24px}
 .directory-shell .filters .fsel,.directory-shell .filters .fgroup{gap:6px;padding:0}
 .directory-shell .filters .fgroup>.meta,.directory-shell .filters .fsel>.meta{margin:0}
 .directory-shell .filters select,.directory-shell .filters input[type=search],.directory-shell .filters .fsel select,.filters .time-range select{min-height:40px;height:40px;font-size:14px}
 .directory-shell .filters .fgroup .chip,.directory-shell .filters .fgroup:not(.legacy-area) .chip{min-height:38px}
 .directory-shell .filters .time-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .directory-shell .filters .time-range>.meta{grid-column:1/-1}
 .directory-shell .filters .local-guide-link{margin-top:-6px}
}
/* Oct 20 2026, the owner on the desktop hub: a centred banner headline, the
   counts on the map's top right, the last sweep on its bottom right, a bigger
   map and no dead space above it; the filter column fills to the bottom. */
body.hub-banner .opener-head{display:block;text-align:center}
body.hub-banner .opener h1{max-width:none;margin:0 auto}
body.hub-banner .opener .lede{margin-left:auto;margin-right:auto;text-align:center}
.directory-map-box .map-stats,.directory-map-box .map-sweep{position:absolute;z-index:3;margin:0;display:flex;gap:18px;align-items:baseline;padding:10px 14px;background:rgba(247,245,240,.94);border:1px solid var(--line);border-radius:3px}
.directory-map-box .map-stats{top:14px;right:14px}
.directory-map-box .map-sweep{bottom:14px;right:14px;padding:7px 12px}
.directory-map-box .map-stats>div,.directory-map-box .map-sweep>div{display:flex;flex-direction:row-reverse;align-items:baseline;gap:6px;margin:0;border:0;padding:0}
.directory-map-box .map-stats dd{margin:0;font:700 26px/1 var(--sans);font-stretch:88%;letter-spacing:-.02em}
.directory-map-box .map-stats .live dd{color:var(--accent)}
.directory-map-box .map-stats dt,.directory-map-box .map-sweep dt{font:600 11px/1.2 var(--sans);color:var(--ink-2)}
.directory-map-box .map-sweep dd{margin:0;font:650 12px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase}
@media(min-width:761px){
 body.hub-banner .opener{padding-block:22px 6px}
 body.hub-banner .opener h1{font-size:clamp(44px,4.4vw,66px);line-height:1.02;letter-spacing:-.035em}
 body.hub-banner .opener .lede{font-size:14px;max-width:90ch;margin-top:8px}
 body.hub-banner .directory-shell{margin-top:18px}
 body.hub-banner .directory-map-box{height:min(560px,62vh)}
 .directory-shell .filters:not(.open){height:calc(100vh - 32px);align-content:space-between}
}
@media(max-width:760px){.directory-map-box .map-stats,.directory-map-box .map-sweep{display:none}}
@media(min-width:761px){
 body.hub-banner .directory-map-box{height:clamp(380px,calc(100vh - 410px),620px)}
 body.hub-banner .opener .lede{max-width:none}
}
/* Oct 20 2026, the owner: the map's title and the county links live on the
   map; the map's top lines up with the filter column; no subtitle. */
.directory-map-box .map-corner{position:absolute;right:14px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.directory-map-box .map-top{top:14px}
.directory-map-box .map-low{bottom:14px}
.directory-map-box .map-corner .map-stats,.directory-map-box .map-corner .map-sweep{position:static}
.directory-map-box .county-map-links{display:flex;gap:14px;margin:0;padding:8px 12px;background:rgba(247,245,240,.94);border:1px solid var(--line);border-radius:3px}
.directory-map-box .county-map-links a{font:600 12px/1.2 var(--sans);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-mid)}
.directory-map-box .county-map-links a:hover{color:var(--accent);border-color:var(--accent)}
.directory-map-box .map-title{margin:0;padding:8px 12px;background:rgba(247,245,240,.94);border:1px solid var(--line);border-radius:3px;font:700 15px/1.1 var(--sans);font-stretch:90%;letter-spacing:-.01em}
.directory-map-box #directory-map-guide{font:600 12px/1.2 var(--sans);color:var(--accent);background:rgba(247,245,240,.94);padding:6px 10px;border:1px solid var(--line);border-radius:3px}
@media(min-width:761px){
 body.hub-banner .opener{padding-block:18px 4px}
 body.hub-banner .directory-shell{margin-top:14px}
 body.hub-banner .directory-map{margin-top:0}
 body.hub-banner .directory-map-box{height:clamp(420px,calc(100vh - 300px),660px)}
}
@media(max-width:760px){.directory-map-box .map-corner{display:none}}
/* Oct 20 2026, the owner: links can land a reader deep in a page; a back to
   the top button sits top right once you've scrolled (desktop and phone) */
.to-top{position:fixed;top:14px;right:14px;z-index:60;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.to-top.on{opacity:1;transform:none;pointer-events:auto}
.to-top svg{width:18px;height:18px}
@media(prefers-reduced-motion:reduce){.to-top{transition:none}}
