:root{--color-bg:#fff;--color-bg-subtle:#f4f6f8;--color-bg-muted:#e9edf1;--color-fg:#16191c;--color-fg-muted:#4b555e;--color-fg-subtle:#626d76;--color-border:#d3dae0;--color-border-strong:#a9b4bd;--color-primary:#1e40af;--color-primary-strong:#172f80;--color-primary-soft:#e8edf9;--color-on-primary:#fff;--color-accent:#16a34a;--color-accent-soft:#e6f6ec;--color-link:#1e40af;--color-link-hover:#172f80;--color-focus:#b45309;--color-danger:#b91c1c;--color-danger-soft:#fdecec;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-md:1.1875rem;--text-lg:1.375rem;--text-xl:clamp(1.5rem, 1.2rem + 1.2vw, 1.75rem);--text-2xl:clamp(1.875rem, 1.4rem + 2vw, 2.5rem);--leading-tight:1.2;--leading-snug:1.35;--leading-body:1.6;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-1:0 1px 2px #16191c0f;--shadow-2:0 2px 8px #16191c1a;--border-width:1px;--measure:46rem;--container:72rem;--gutter:var(--space-4);--tap-min:44px;--duration-fast:.15s;--duration-base:.22s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s}}:root{--color-primary:#0e5e6f;--color-primary-strong:#0a434f;--color-primary-soft:#e4f2f4;--color-accent:#c2410c;--color-accent-soft:#fdece4;--color-link:#0e5e6f;--color-link-hover:#0a434f}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);color:var(--color-fg);background:var(--color-bg);margin:0}img,svg{max-width:100%;height:auto}a{color:var(--color-link);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--color-link-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}h1,h2,h3{line-height:var(--leading-tight);color:var(--color-primary-strong);margin:0 0 var(--space-3);text-wrap:balance}h1{font-size:var(--text-2xl);font-weight:var(--weight-bold)}h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-top:var(--space-6)}h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-top:var(--space-5)}p,ul,ol{margin:0 0 var(--space-4)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-primary-strong);color:var(--color-on-primary);border-radius:var(--radius-md);z-index:10;position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.prose{max-width:var(--measure)}.stack>*+*{margin-top:var(--space-4)}.grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=40rem){.grid--2,.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.main{padding-block:var(--space-5) var(--space-8)}.section{margin-top:var(--space-7)}.section__head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.section__head h2{margin-top:0}.site-header{border-bottom:var(--border-width) solid var(--color-border);background:var(--color-bg)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;display:flex}.brand{align-items:center;gap:var(--space-2);font-weight:var(--weight-bold);color:var(--color-primary-strong);font-size:var(--text-md);min-height:var(--tap-min);text-decoration:none;display:inline-flex}.brand__mark{width:28px;height:28px;color:var(--color-primary);flex:none}.nav{position:relative}.nav__toggle{cursor:pointer;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-3);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);font-weight:var(--weight-medium);list-style:none;display:inline-flex}.nav__toggle::-webkit-details-marker{display:none}.nav__list{padding:var(--space-2);right:0;top:calc(100% + var(--space-2));background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-2);z-index:5;margin:0;list-style:none;display:none;position:absolute}.nav__list a{padding:var(--space-3);min-height:var(--tap-min);border-radius:var(--radius-sm);color:var(--color-fg);font-weight:var(--weight-medium);text-decoration:none;display:block}.nav__details[open]~.nav__list{display:block}.nav__list a:hover{background:var(--color-bg-subtle)}.nav__list a[aria-current=page]{color:var(--color-primary-strong);box-shadow:inset 3px 0 0 var(--color-primary)}@media (width>=64rem){.nav__details{display:none}.nav__list{gap:var(--space-1);box-shadow:none;border:0;min-width:0;padding:0;display:flex;position:static}.nav__list a{padding:var(--space-2) var(--space-3)}.nav__list a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--color-primary)}}.breadcrumbs{font-size:var(--text-sm);margin-bottom:var(--space-4)}.breadcrumbs ol{gap:var(--space-1) 0;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--color-fg-subtle);padding-inline:var(--space-2)}.breadcrumbs a{padding-block:var(--space-2);display:inline-block}.breadcrumbs [aria-current=page]{color:var(--color-fg-muted)}.page-header{max-width:var(--measure)}.page-header__eyebrow{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.page-header__lead{font-size:var(--text-md);color:var(--color-fg-muted)}.page-header__meta{font-size:var(--text-sm);color:var(--color-fg-subtle)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-weight:var(--weight-semibold);border:var(--border-width) solid transparent;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);cursor:pointer;font:inherit;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:20px;height:20px}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover{background:var(--color-primary-strong);color:var(--color-on-primary)}.btn--secondary{background:var(--color-bg);color:var(--color-primary-strong);border-color:var(--color-border-strong)}.btn--secondary:hover{background:var(--color-bg-subtle)}.link-grid{gap:var(--space-2);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width>=40rem){.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.link-grid a,.link-grid__static{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg);background:var(--color-bg);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);text-decoration:none;display:flex}.link-grid a:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.link-grid__static{color:var(--color-fg-muted);background:var(--color-bg-subtle)}.count{font-size:var(--text-sm);color:var(--color-fg-subtle);font-variant-numeric:tabular-nums;flex:none}.filter-bar{gap:var(--space-2);padding:var(--space-3) 0;border-block:var(--border-width) solid var(--color-border);margin-block:var(--space-4) var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.filter-bar__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg-muted);margin-right:var(--space-2)}.chip{align-items:center;gap:var(--space-1);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:var(--border-width) solid var(--color-border-strong);background:var(--color-bg);color:var(--color-fg);font:inherit;font-size:var(--text-sm);cursor:pointer;text-decoration:none;display:inline-flex}.chip[aria-pressed=true],.chip--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.chip:hover{border-color:var(--color-primary)}.listing-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.listing-card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-bg);box-shadow:var(--shadow-1);gap:var(--space-2);display:grid}.listing-card__name{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.listing-card__name a{color:var(--color-primary-strong);text-decoration:none}.listing-card__name a:hover{text-decoration:underline}.listing-card__address{color:var(--color-fg-muted);margin:0}.listing-card__contact{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;display:flex}.listing-card__contact a{align-items:center;gap:var(--space-1);min-height:var(--tap-min);display:inline-flex}.listing-card__contact svg{flex:none;width:18px;height:18px}.listing-card__summary{padding:var(--space-3);background:var(--color-bg-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);margin:0}.tag-list{gap:var(--space-1) var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);background:var(--color-bg-muted);border-radius:var(--radius-sm);padding:2px var(--space-2)}.listing-group{margin-top:var(--space-6)}.listing-group__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.listing-group__head h2,.listing-group__head h3{margin-top:0}@media (width>=40rem){.listing-list--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.rating{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:inline-flex}.rating__stars{letter-spacing:.08em;line-height:1;display:inline-flex}.rating__star--full{color:var(--color-focus)}.rating__star--empty{color:var(--color-border-strong)}.rating__star--half{color:var(--color-border-strong);background:linear-gradient(90deg, var(--color-focus) 0 50%, var(--color-border-strong) 50% 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.rating__value{color:var(--color-fg-muted);font-variant-numeric:tabular-nums}.rating--lg{font-size:var(--text-base)}.rating--lg .rating__stars{font-size:var(--text-lg)}.listing-card__no-rating{font-size:var(--text-sm);color:var(--color-fg-subtle);margin:0}.rating-card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-bg);box-shadow:var(--shadow-1);max-width:var(--measure)}.rating-card h2{margin-top:0}.rating-card__score{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.rating-card__number{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-primary-strong);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.rating-card__summary{margin:var(--space-4) 0 0}.rating-card__themes{margin-top:var(--space-4)}.rating-card__themes-label{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-fg-subtle)}.theme-pills{gap:var(--space-1) var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.theme-pill{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-fg-muted);background:var(--color-bg-muted);border-radius:var(--radius-pill);padding:2px var(--space-3)}.theme-pill__count{color:var(--color-fg-subtle);font-variant-numeric:tabular-nums}.rating-card__source{margin:var(--space-4) 0 0;font-size:var(--text-xs);color:var(--color-fg-subtle)}.detail-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:1fr;display:grid}.detail-grid>.contact-card{order:-1;align-self:start}@media (width>=64rem){.detail-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.detail-grid>.contact-card{top:var(--space-4);order:0;position:sticky}}.contact-card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-bg-subtle)}.contact-card h2{font-size:var(--text-lg);margin-top:0}.contact-card dl{gap:var(--space-3);margin:0;display:grid}.contact-card dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-fg-subtle);font-weight:var(--weight-semibold)}.contact-card dd{margin:0}.contact-card .btn{width:100%;margin-top:var(--space-2)}.contact-card__note{font-size:var(--text-sm);color:var(--color-fg-subtle);margin:var(--space-3) 0 0}.notice{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-bg-subtle);max-width:var(--measure)}.notice>:last-child{margin-bottom:0}.notice--brand{background:var(--color-primary-soft);border-color:#0000}.notice__title{font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}section.empty-state{margin-top:var(--space-6)}.empty-state{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-5);max-width:var(--measure)}.empty-state h2{margin-top:0}.empty-state__actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.faq details{border-top:var(--border-width) solid var(--color-border)}.faq details:last-of-type{border-bottom:var(--border-width) solid var(--color-border)}.faq summary{cursor:pointer;padding:var(--space-3) 0;min-height:var(--tap-min);font-weight:var(--weight-semibold);color:var(--color-primary-strong)}.faq details>p{padding-bottom:var(--space-3);max-width:var(--measure)}.related{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.related a{padding:var(--space-2) 0;min-height:var(--tap-min);display:block}.hero{padding-block:var(--space-6) var(--space-5);border-bottom:var(--border-width) solid var(--color-border)}.hero h1{max-width:28ch}.hero__lead{font-size:var(--text-md);color:var(--color-fg-muted);max-width:var(--measure)}.hero__actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.site-footer{margin-top:var(--space-8);border-top:var(--border-width) solid var(--color-border);background:var(--color-bg-subtle);padding-block:var(--space-6);font-size:var(--text-sm);color:var(--color-fg-muted)}.site-footer nav ul{margin:0 0 var(--space-4);gap:var(--space-2) var(--space-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-footer a{padding-block:var(--space-2);display:inline-block}.site-footer p{max-width:var(--measure)}.lead{font-size:var(--text-md);color:var(--color-fg-muted);max-width:var(--measure)}.updated{font-size:var(--text-sm);color:var(--color-fg-subtle);max-width:var(--measure);margin-top:var(--space-6)}.note{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-bg-subtle);max-width:var(--measure)}.callout{border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-primary-soft);max-width:var(--measure)}.note>:last-child,.callout>:last-child{margin-bottom:0}.cards{gap:var(--space-4);margin:var(--space-4) 0;grid-template-columns:1fr;display:grid}@media (width>=40rem){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--color-bg);box-shadow:var(--shadow-1)}.card h3{font-size:var(--text-lg);margin-top:0}.card p:last-child{margin-bottom:0}.main>.container>h2:first-child{margin-top:0}.main ul:not([class]),.main ol:not([class]){max-width:var(--measure);padding-left:1.25rem}.main p:not([class]){max-width:var(--measure)}
