.phead{padding-block:16px 24px;border-bottom:1px solid var(--line)}
.phead h1{font-size:clamp(28px,5vw,42px);font-variation-settings:var(--wonk);
  margin-bottom:10px}
.phead .sub{display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  font-size:15.5px;color:var(--ink-2)}
.phead .socials{margin-top:14px;gap:8px}
.phead .socials a{width:38px;height:38px;border-color:var(--line)}
.phead .socials svg{width:17px;height:17px}
.actbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;
  margin-top:16px}
.act{display:inline-flex;align-items:center;gap:8px;min-height:42px;
  padding:0 16px;text-decoration:none;color:var(--ink);
  background:var(--surface);border:2px solid var(--ink);
  border-radius:var(--rad-sm);font:600 14.5px/1 var(--body);
  box-shadow:3px 3px 0 var(--accent);
  transition:transform .1s ease,box-shadow .1s ease}
.act:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--accent)}
.act:active{transform:translate(3px,3px);box-shadow:none}
.act svg{flex:0 0 auto}
@media (prefers-reduced-motion:reduce){.act{transition:none}}
.actbar .act-state{margin:0;padding:0 4px 0 2px;font-weight:700;
  font-size:15.5px;align-self:center}
@media (max-width:560px){
  .act span{font-size:13.5px}
  .act{padding:0 13px;min-height:40px}}
.panel-map{padding:0;overflow:hidden}
.panel-map .nb-map{margin:0;border:0;border-radius:0;height:320px}
.panel-map .nb-fold{margin:0;border-top:2px solid var(--line);
  padding:10px 18px 12px}
.thin-note{border-style:dashed;box-shadow:none}
.thin-note p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}
.report{padding:0}
.report summary{cursor:pointer;padding:16px 20px;font:600 14.5px/1 var(--body);
  list-style:none}
.report summary::-webkit-details-marker{display:none}
.report summary::before{content:"+";display:inline-block;width:14px;
  color:var(--ink-3);font-weight:700}
.report[open] summary::before{content:"2"}
.report form{padding:0 20px 20px;display:flex;flex-direction:column;gap:10px}
.report label{font-size:12.5px;color:var(--ink-2)}
.report textarea,.report input[type=email]{font:400 14px/1.4 var(--body);
  color:var(--ink);background:var(--surface);border:1.5px solid var(--line);
  border-radius:var(--rad-sm);padding:9px 11px;resize:vertical}
.report textarea:focus,.report input:focus{outline:none;
  border-color:var(--accent)}
.report button{align-self:flex-start;min-height:38px;padding:0 18px;
  border:2px solid var(--ink);background:var(--surface);color:var(--ink);
  border-radius:var(--rad-sm);font:600 13.5px/1 var(--body);cursor:pointer}
.report button:hover{border-color:var(--accent);color:var(--accent)}
.report .err{margin:0;font-size:13px;color:var(--brick)}
.reportok{font-size:13.5px;color:var(--ink-2);padding:16px 20px}
.badge{font-family:var(--mono);font-weight:700;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--on-vivid);
  background:var(--accent-soft);border:2px solid var(--accent);
  border-radius:var(--rad-sm);padding:4px 11px;text-decoration:none;
  display:inline-block;transform:rotate(-1deg);color:var(--accent)}
.cols{display:grid;gap:28px;grid-template-columns:1fr minmax(0,320px);
  padding-block:28px;align-items:start}
@media (max-width:820px){.cols{grid-template-columns:1fr}}
.kv{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:15.5px;
  align-items:baseline}
.kv dt{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.kv dd{margin:0;overflow-wrap:anywhere}
.kv a{color:var(--fir);font-weight:500}
.facet{margin-bottom:14px}
.facet:last-child{margin-bottom:0}
.facet h3{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:8px}
.facet .row{display:flex;gap:7px;flex-wrap:wrap}
.tag{font-family:var(--mono);font-size:13.5px;border:1.5px solid var(--line-2);
  border-radius:var(--rad-sm);padding:6px 12px;background:var(--surface-2);
  color:var(--ink)}
.tag[title]{cursor:help}
.hours{font-family:var(--mono);font-size:14px;line-height:1.9;color:var(--ink-2);
  white-space:pre-wrap;overflow-wrap:anywhere}
.about{font-size:16.5px;color:var(--ink-2);line-height:1.7}
.status{background:var(--surface-2);border:1px dashed var(--line-2);
  border-radius:var(--rad);padding:15px 18px;font-size:15.5px;color:var(--ink-2)}
.status strong{color:var(--ink)}
.socials{display:flex;gap:10px;flex-wrap:wrap}
.socials a{color:var(--ink-2);border:1px solid var(--line-2);border-radius:50%;
  width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center}
.socials a:hover{color:var(--fir);border-color:var(--fir);background:var(--fir-soft)}
.awlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.awlist li{display:flex;gap:11px;align-items:flex-start;font-size:15px;
  border-top:1px solid var(--line);padding-top:10px}
.awlist li:first-child{border-top:0;padding-top:0}
.prov{font-size:13.5px;color:var(--ink-3);margin-top:18px;max-width:62ch}
.loctabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.loctab{cursor:pointer;font-size:13.5px;font-weight:500;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line-2);border-radius:999px;
  padding:7px 13px;min-height:38px}
.loctab:hover{border-color:var(--fir);color:var(--ink)}
.loctab[aria-pressed="true"]{background:var(--fir);border-color:var(--fir);color:var(--surface)}
.locpane .hours{font-size:13px;line-height:1.75}
.week{border-collapse:collapse;font-size:13.5px;width:100%;max-width:290px}
.week th{text-align:left;font-weight:500;color:var(--ink-2);padding:2px 14px 2px 0;
  white-space:nowrap}
.week td{font-family:var(--mono);text-align:right;padding:2px 0;
  font-variant-numeric:tabular-nums}
.week td.shut{color:var(--ink-3)}
.week tr.today th{font-weight:700;color:var(--ink)}
.week tr.today td{font-weight:600;color:var(--ink)}
.week tr.today th::before{content:"";display:inline-block;width:6px;height:6px;
  border-radius:50%;background:var(--rose);margin-right:7px;vertical-align:middle}
.openstate{font-weight:700;font-size:16px;margin-bottom:9px}
.openstate.is-open{color:var(--fir)}
.openstate.is-closing{color:var(--gold)}
.openstate.is-shut{color:var(--ink-2)}
.card .locs{color:var(--fir);border-color:var(--fir)}
.rating{display:inline-flex;align-items:center;gap:8px}
.rating b{font-family:var(--display);font-size:20px;font-weight:800;
  line-height:1;font-variant-numeric:tabular-nums}
.rating i{display:block;width:78px;height:9px;border:1.5px solid var(--ink);
  border-radius:99px;background:linear-gradient(90deg,var(--fir) 0,
  var(--fir) var(--pct),transparent var(--pct))}
.rating u{font-family:var(--mono);font-size:11px;text-decoration:none;
  color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.rsum{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:4px}
.rn{font-family:var(--mono);font-size:12px;color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.07em}
.rlist{list-style:none;margin:0;padding:0}
.rlist li{padding:15px 0;border-bottom:1px solid var(--line)}
.rlist li:last-child{border-bottom:0;padding-bottom:4px}
.rhead{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:8px}
.rwhen,.rvis{font-family:var(--mono);font-size:11px;color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.06em}
.rlist p{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}
.rvis{display:block}
.relse{margin:14px 0 0;padding-top:13px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--ink-3)}
.relse a{color:var(--accent);font-weight:600}
.rgoogle{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rgoogle .rsum{border-bottom:0;padding-bottom:4px;margin-bottom:0}
.rgoogle .prov{margin:0}
.rform{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.rform textarea{width:100%;background:var(--surface);
  color:var(--ink);border:2px solid var(--line);border-radius:var(--rad-sm);
  padding:10px 12px;font:inherit;font-size:15px;resize:vertical;
  min-height:84px}
.rform textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.rrest{margin-top:12px}
.rstars{border:0;padding:0;margin:0;display:flex;gap:7px;
  align-items:center;flex-wrap:wrap}
.rstars legend{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;
  letter-spacing:.07em;color:var(--ink-3);padding:0;margin-bottom:7px;float:left;
  width:100%}
.rstars input{position:absolute;opacity:0;width:1px;height:1px}
.rstars label{margin:0;width:44px;height:44px;display:grid;place-items:center;
  border:2px solid var(--line);border-radius:var(--rad-sm);cursor:pointer;
  font-family:var(--display);font-size:17px;font-weight:800;color:var(--ink-2);
  letter-spacing:0;text-transform:none}
.rstars label:hover{border-color:var(--accent);color:var(--accent)}
.rstars input:checked + label{background:var(--fir);border-color:var(--fir);
  color:var(--ground)}
.rstars input:focus-visible + label{outline:2px solid var(--accent);
  outline-offset:2px}
.rcount{font-family:var(--mono);font-size:11px;color:var(--ink-3);margin:6px 0 0}
.rcount.is-ok{color:var(--fir)}
.rhp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#rsend{margin-top:10px;background:var(--fir);color:var(--ground);border:0;
  border-radius:var(--rad-sm);padding:12px 22px;font:inherit;font-weight:700;
  font-size:15px;cursor:pointer}
#rsend:disabled{opacity:.55;cursor:default}
.rnote{font-size:13px;color:var(--ink-3);margin-left:12px}
@media (max-width:520px){
  .rnote{display:block;margin:10px 0 0}
}
.rmsg{margin:12px 0 0;font-size:14.5px}
.rmsg.is-bad{color:var(--rose-vivid);font-weight:600}
.rmsg.is-good{color:var(--fir);font-weight:600}
.nb-ask{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.nb-locate,.nb-go{min-height:var(--tap);padding:0 18px;border-radius:var(--rad);
  border:2px solid var(--fir);background:var(--fir);color:var(--surface);
  font:600 15px/1 var(--body);cursor:pointer}
.nb-locate{background:var(--surface);color:var(--fir)}
.nb-locate:hover{background:var(--fir-soft)}
.nb-go:hover{filter:brightness(1.12)}
.nb-locate:disabled{opacity:.55;cursor:default}
.nb-or{color:var(--ink-3);font-size:14px}
.nb-form{display:flex;gap:8px;flex:1 1 260px;min-width:0}
.nb-input{flex:1 1 auto;min-width:0;min-height:var(--tap);padding:0 13px;
  border:2px solid var(--line-2);border-radius:var(--rad);background:var(--surface);
  color:var(--ink);font:400 15px/1 var(--body)}
.nb-input:focus{outline:3px solid var(--fir);outline-offset:1px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap}
.nb-out:empty{display:none}
.nb-out{margin-top:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.nb-dist{font-family:var(--display);font-size:30px;font-variation-settings:var(--wonk);
  color:var(--fir);line-height:1}
.nb-from{color:var(--ink-2);font-size:14.5px}
.nb-dir{font-size:14.5px;font-weight:600}
.nb-out.nb-warn{color:var(--rose);font-size:14.5px;display:block}
.nb-out.nb-muted{color:var(--ink-3);font-size:14.5px;display:block}
.nb-clear{margin-top:10px;background:none;border:0;padding:4px 0;color:var(--ink-3);
  font:400 13.5px/1 var(--body);text-decoration:underline;cursor:pointer}
.nb-fold{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.nb-fold > summary{cursor:pointer;font-family:var(--mono);font-size:12px;
  font-weight:700;text-transform:uppercase;letter-spacing:.07em;
  color:var(--accent);list-style:none;padding:4px 0;
  display:flex;align-items:center;gap:8px}
.nb-fold > summary::-webkit-details-marker{display:none}
.nb-fold > summary::before{content:"";width:0;height:0;flex:0 0 auto;
  border:5px solid transparent;border-left-color:currentColor;
  transition:transform .15s ease}
.nb-fold[open] > summary::before{transform:rotate(90deg) translateX(-2px)}
.nb-fold > summary:hover{color:var(--ink)}
.nb-fold .nb-ask{margin-top:12px}
.nb-fold .prov{margin-top:12px;font-size:12.5px}
@media (prefers-reduced-motion:reduce){
  .nb-fold > summary::before{transition:none}}
.nb-map{height:300px;margin-top:14px;border:2px solid var(--line);
  border-radius:var(--rad);background:var(--surface-2);z-index:0}
.nb-map .leaflet-container{font:400 12px/1.4 var(--body);background:var(--surface-2)}
.nb-map .leaflet-tile-pane{
  filter:invert(1) hue-rotate(180deg) brightness(.92) saturate(.72)}
:root[data-theme="light"] .nb-map .leaflet-tile-pane{filter:none}
@media (max-width:520px){.nb-or{display:none}.nb-form{flex-basis:100%}
  .nb-map{height:240px}}
