:root{
  --ground:#12110E;--surface:#1B1915;--surface-2:#252118;
  --scrollcue:rgba(246,240,226,.30);
  --ink:#F6F0E2;--ink-2:#C8C0AE;--ink-3:#A29A88;
  --line:#353027;--line-2:#7B7362;
  --fir:#5FC392;--fir-soft:#16261D;
  --rose:#FF92BA;--rose-vivid:#FF5C96;--rose-soft:#2E1620;
  --amber:#F5C463;--amber-vivid:#FFB524;--amber-soft:#2C2211;
  --teal:#54D6D8;--teal-vivid:#19C2C5;--teal-soft:#102626;
  --plum:#C29BEB;--plum-soft:#231A2E;--on-vivid:#12110E;
  --brick:#F0906E;--brick-soft:#2C1A13;
  --river:#77B6E8;--river-soft:#131F2A;
  --gold:#E3BB6C;--gold-soft:#2B2214;--silver:#B2C0B7;--bronze:#CC9563;
  color-scheme:dark;
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"Space Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wonk:"SOFT" 28,"WONK" 1;
  --gut:clamp(18px,5vw,56px);--tap:48px;--topbar-h:72px;
  --rad-sm:4px;--rad:7px;--rad-lg:10px;
  --lift-1:2px 2px 0 var(--ink);
  --lift-2:5px 5px 0 var(--accent);
}
:root[data-theme="light"]{
  --ground:#FAF5E9;--surface:#FFFCF4;--surface-2:#F2E9D5;
  --scrollcue:rgba(27,26,22,.22);
  --ink:#1B1A16;--ink-2:#46423A;--ink-3:#645E52;
  --line:#DCD2BC;--line-2:#8C8372;
  --fir:#1D5B41;--fir-soft:#C7E6D2;
  --rose:#0B6E99;--rose-vivid:#2290BF;--rose-soft:#BFE6F5;
  --amber:#7A5200;--amber-vivid:#F2A20C;--amber-soft:#F5DFA0;
  --teal:#0A6668;--teal-vivid:#0C9294;--teal-soft:#B9E5E5;
  --plum:#6A3B94;--plum-soft:#DCC8F0;--on-vivid:#1B1A16;
  --brick:#9C3B21;--brick-soft:#F3CBBB;
  --river:#255C8A;--river-soft:#C2DFF2;
  --gold:#755006;--gold-soft:#F0DFB0;--silver:#53625A;--bronze:#7A4A28;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--display);font-weight:800;text-wrap:balance;margin:0;
  line-height:1.06;letter-spacing:-.015em;font-variation-settings:var(--wonk);
  font-optical-sizing:auto}
p{margin:0}a{color:inherit}img{max-width:100%}[hidden]{display:none!important}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--fir);
  color:var(--surface);padding:13px 20px;border-radius:0 0 var(--rad) 0;
  font-weight:600;text-decoration:none}
.skip:focus{left:0}
.wrap{max-width:1140px;margin:0 auto;padding-inline:var(--gut)}
.wrap-results{max-width:1440px}
:root{--accent:var(--fir);--accent-soft:var(--fir-soft)}
[data-sector="food"]{--accent:var(--rose);--accent-soft:var(--rose-soft)}
[data-sector="bars-and-nightlife"]{--accent:var(--plum);--accent-soft:var(--plum-soft)}
[data-sector="home-and-garden"]{--accent:var(--river);--accent-soft:var(--river-soft)}
[data-sector="shops"]{--accent:var(--brick);--accent-soft:var(--brick-soft)}
[data-sector="services"]{--accent:var(--teal);--accent-soft:var(--teal-soft)}
[data-sector="outdoors"]{--accent:var(--fir);--accent-soft:var(--fir-soft)}
[data-sector="arts-and-culture"]{--accent:var(--amber);--accent-soft:var(--amber-soft)}
[data-hue],[data-sector]{--lift-2:5px 5px 0 var(--accent)}
body{background-image:
  repeating-linear-gradient(0deg,rgba(27,26,22,.016) 0 1px,transparent 1px 3px),
  repeating-linear-gradient(90deg,rgba(27,26,22,.012) 0 1px,transparent 1px 4px)}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  background:var(--ground);border-bottom:3px solid var(--ink)}
.topbar::after{content:"";display:block;height:4px;background:var(--accent)}
.bar{max-width:1140px;margin:0 auto;padding-inline:var(--gut);
  min-height:var(--topbar-h);display:flex;align-items:center;gap:14px}
.mark{font-family:var(--display);font-weight:900;font-size:23px;
  letter-spacing:-.02em;text-decoration:none;display:inline-flex;
  align-items:center;gap:.3em;font-variation-settings:var(--wonk);
  color:var(--ink)}
.mark b{background:var(--rose-vivid);color:var(--on-vivid);
  border:1.5px solid var(--ink);padding:1px 8px 2px;border-radius:3px;
  transform:rotate(-1.6deg);display:inline-block;font-weight:900;
  letter-spacing:.01em}
.mark:hover b{transform:rotate(1.4deg)}
:root[data-theme="light"] .mark b,
:root[data-theme="light"] .dock-mark b,
:root[data-theme="light"] .hero h1 em{color:var(--surface)}
.bar nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.bar nav{margin-left:auto;display:flex;gap:4px}
.bar nav a{text-decoration:none;color:var(--ink-2);font-weight:500;font-size:16px;
  padding:10px 13px;border-radius:var(--rad);min-height:44px;white-space:nowrap;
  display:inline-flex;align-items:center}
.bar nav a:hover{background:var(--surface-2);color:var(--ink)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);margin:0}
section.block{padding-block:clamp(34px,5vw,56px)}
.crumb{font-size:15px;color:var(--ink-3);padding-top:20px}
.crumb a{color:var(--ink-2)}
.medal{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);
  font-size:12.5px;border:1px solid currentColor;border-radius:999px;
  padding:4px 11px;white-space:nowrap}
.m-gold{color:var(--gold);background:var(--gold-soft)}
.m-silver{color:var(--silver)}.m-bronze{color:var(--bronze)}
footer{border-top:1px solid var(--line);background:var(--surface-2);margin-top:40px}
.foot{max-width:1140px;margin:0 auto;padding-inline:var(--gut);padding-block:30px;
  display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;
  font-size:15px;color:var(--ink-3)}
.foot p{margin-top:8px;max-width:46ch}
.colophon{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);
  line-height:1.65}
.panel{background:var(--surface);border:2px solid var(--ink);
  border-radius:var(--rad-lg);padding:22px 24px}
.panel+.panel{margin-top:14px}
.panel h2{font-size:18px;font-variation-settings:var(--wonk);margin-bottom:14px;
  padding-bottom:11px;border-bottom:1px solid var(--line)}
.theme{display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;flex:0 0 auto;padding:0;cursor:pointer;
  background:var(--surface);color:var(--ink);border:2px solid var(--ink);
  border-radius:var(--rad-sm);box-shadow:var(--lift-1)}
.theme:hover{background:var(--accent-soft);color:var(--accent)}
.theme:active{box-shadow:none;transform:translate(2px,2px)}
.theme .t-moon,:root[data-theme="light"] .theme .t-sun{display:none}
.theme .t-sun,:root[data-theme="light"] .theme .t-moon{display:inline-flex}
.tagpill{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);
  border:1px solid var(--line-2);border-radius:var(--rad-sm);padding:3px 9px;
  display:inline-block;text-transform:lowercase}
.stamp{font-family:var(--mono);font-weight:700;font-size:11.5px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--accent);
  border:2px solid var(--accent);border-radius:var(--rad-sm);
  padding:3px 9px;display:inline-block;transform:rotate(-1.2deg)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:560px){
  :root{--topbar-h:62px}
  body{font-size:16.5px}
  .bar nav a{padding:10px 9px;font-size:15px}
  .theme{width:38px;height:38px}
  .mark{font-size:19px}
  .foot{flex-direction:column;gap:14px}
  .panel{padding:18px 16px;border-radius:var(--rad)}
  .kv{grid-template-columns:1fr;gap:3px 0}
  .kv dt{margin-top:11px}
  .cols{gap:18px;padding-block:20px}
}
@media (max-width:460px){
  .bar nav a{padding:10px 8px}
  .theme{width:36px;height:36px}
}
html,body{overflow-x:hidden}
.areabar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  margin:10px 0 4px}
.areabar[hidden]{display:none}
.areabar-label{font-family:var(--mono);font-size:12px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--ink-3);margin-right:2px}
.areachip{display:inline-flex;align-items:center;gap:7px;min-height:42px;
  padding:0 14px;cursor:pointer;background:var(--surface);color:var(--ink);
  border:2px solid var(--ink);border-radius:var(--rad-sm);
  font:600 14.5px/1 var(--body);box-shadow:2px 2px 0 var(--rose-vivid);
  transition:transform .1s ease,box-shadow .1s ease}
.areachip:hover{background:var(--accent-soft);color:var(--accent);
  transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent)}
.areachip .an{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.areachip[aria-pressed="true"]{background:var(--ink);color:var(--ground);
  box-shadow:none;transform:translate(2px,2px)}
.areachip[aria-pressed="true"] .an{color:var(--ground);opacity:.75}
