*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}img,picture,video,iframe{max-width:100%;height:auto;display:block}a{color:var(--primary)}h1,h2,h3,h4{font-family:var(--font-heading);overflow-wrap:anywhere;margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(1.8rem,4.5vw,2.8rem)}h2{font-size:clamp(1.35rem,3vw,1.9rem)}h3{font-size:1.15rem}p{margin:0 0 1em}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding-top:8px;padding-bottom:8px;display:flex}.wordmark{font-family:var(--font-heading);color:inherit;align-items:center;gap:10px;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.wordmark .mark{background:var(--primary);border-radius:50%;flex:none;width:30px;height:30px;display:inline-block}.wordmark .mark.state{background:var(--accent);border-radius:4px}nav.main ul{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}nav.main a{color:inherit;border-radius:var(--radius);padding:8px 10px;font-size:.95rem;font-weight:600;text-decoration:none}nav.main a:hover{text-decoration:underline}.edition-badge{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}main{min-height:60vh}section.block{padding:40px 0}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.section-title h2{margin:0}.section-title a{font-size:.95rem}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:18px}.card h3 a{color:var(--text);text-decoration:none}.card .meta{color:var(--muted);margin:0 0 .5em;font-size:.9rem}.card .logo{object-fit:contain;width:56px;height:56px;margin-bottom:10px}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chips a,.chips span{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:6px 12px;font-size:.92rem;text-decoration:none;display:inline-block}.chips a:hover{border-color:var(--primary)}.btn{border-radius:var(--radius);cursor:pointer;font-weight:700;font-family:var(--font-body);border:2px solid #0000;padding:12px 20px;font-size:1rem;text-decoration:none;display:inline-block}.btn-primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.btn-accent{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-outline{color:var(--primary);border-color:var(--primary);background:0 0}.hero{padding:56px 0}.hero h1{margin-bottom:.4em}.hero p.lead{max-width:60ch;margin-bottom:1.4em;font-size:1.15rem}.hero .actions{flex-wrap:wrap;gap:12px;display:flex}.hero-split .wrap{grid-template-columns:1fr;align-items:center;gap:32px;display:grid}@media (width>=840px){.hero-split .wrap{grid-template-columns:3fr 2fr}}.hero-panel{background:var(--surface);color:var(--text);border-radius:var(--radius);border:1px solid var(--border);padding:20px}.hero-panel h2{margin-bottom:.6em;font-size:1.1rem}.hero-centered{text-align:center}.hero-centered .actions{justify-content:center}.hero-centered p.lead{margin-left:auto;margin-right:auto}.hero-banner{border-bottom:8px solid var(--accent)}.hero-stacked h1{font-size:clamp(2.2rem,7vw,4.2rem);line-height:1}.hero-boxed .wrap>div{border:3px solid var(--primary);background:var(--surface);border-radius:var(--radius);padding:32px}.hero-diagonal{clip-path:polygon(0 0,100% 0,100% 88%,0 100%);padding-bottom:88px}.hero-minimal{background:var(--surface);border-bottom:1px solid var(--border)}.hero-minimal h1{border-bottom:4px solid var(--accent);padding-bottom:.2em;display:inline-block}.hero-card .wrap>div{background:var(--surface);border-radius:calc(var(--radius) * 2);padding:40px 32px;box-shadow:0 20px 60px #0000001f}.hero-overlay{background:linear-gradient(160deg,var(--text) 0%,var(--primary) 100%);color:var(--primary-text)}.hero-overlay a:not(.btn){color:var(--primary-text)}.hero-ribbon .ribbon{background:var(--accent);color:var(--accent-text);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;padding:4px 12px;font-size:.85rem;font-weight:700;display:inline-block}.intro{max-width:72ch}.intro h1{font-size:1.4rem}.breadcrumbs{color:var(--muted);margin:16px 0;font-size:.9rem}.breadcrumbs ol{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--border);margin-right:6px}.breadcrumbs a{color:var(--muted)}.listing-head{grid-template-columns:1fr;align-items:start;gap:20px;padding:24px 0;display:grid}@media (width>=840px){.listing-head{grid-template-columns:2fr 1fr}}.listing-head .logo{object-fit:contain;width:96px;height:96px;margin-bottom:12px}.nap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.nap dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:12px;font-size:.85rem;font-weight:700}.nap dt:first-child{margin-top:0}.nap dd{margin:2px 0 0}.nap .phone{color:var(--primary);font-size:1.4rem;font-weight:800;text-decoration:none}.listing-body{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=840px){.listing-body{grid-template-columns:2fr 1fr}}.listing-body h2{margin-top:1.2em}.hours{border-collapse:collapse;width:100%;font-size:.95rem}.hours td{border-bottom:1px solid var(--border);padding:6px 0}.hours td:last-child{text-align:right}.gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.gallery img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);width:100%}.gallery figcaption{color:var(--muted);margin-top:4px;font-size:.85rem}.map{aspect-ratio:4/3;border-radius:var(--radius);border:0;width:100%}.video{aspect-ratio:16/9;background:var(--text);border-radius:var(--radius);justify-content:center;align-items:center;margin-bottom:12px;display:flex;position:relative;overflow:hidden}.video button{background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:999px;padding:14px 22px;font-size:1rem;font-weight:700}.video iframe{width:100%;height:100%;position:absolute;inset:0}.reviews{gap:12px;margin:0;padding:0;list-style:none;display:grid}.reviews li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.reviews .stars{color:var(--accent);letter-spacing:2px}.reviews .who{margin-bottom:4px;font-weight:700}.tags{flex-wrap:wrap;gap:8px;margin:0 0 1em;padding:0;list-style:none;display:flex}.tags li{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:.9rem}.socials{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.socials a{border:1px solid var(--border);text-transform:capitalize;border-radius:6px;padding:6px 10px;font-size:.9rem;text-decoration:none;display:inline-block}.article{max-width:72ch}.article img{border-radius:var(--radius)}.draft-note{background:var(--accent);color:var(--accent-text);border-radius:var(--radius);margin-bottom:16px;padding:8px 12px;font-weight:700;display:inline-block}.site-footer{background:var(--surface);border-top:1px solid var(--border);color:var(--muted);margin-top:40px;padding:32px 0;font-size:.92rem}.site-footer .wrap{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=840px){.site-footer .wrap{grid-template-columns:2fr 1fr 1fr}}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin-bottom:6px}.site-footer a{color:var(--text);text-decoration:none}.site-footer .legal{border-top:1px solid var(--border);grid-column:1/-1;padding-top:16px;font-size:.85rem}form.contact{gap:14px;max-width:560px;display:grid}form.contact label{gap:6px;font-weight:600;display:grid}form.contact input,form.contact textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:100%;padding:10px 12px}.notice{background:var(--surface);border-left:4px solid var(--accent);border-radius:var(--radius);margin-bottom:16px;padding:12px 16px}.cta{background:var(--primary);color:var(--primary-text);text-align:center;border-radius:var(--radius);padding:48px 0}.cta h2{color:inherit}.cta p{max-width:60ch;margin:0 auto 1.2em}.state-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:.92rem;display:flex}.state-filter a{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 10px;text-decoration:none}.state-filter a.on{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.muted{color:var(--muted)}.empty{border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);padding:24px}.city-list{columns:2;column-gap:24px;margin:0;padding:0;list-style:none}@media (width>=840px){.city-list{columns:4}}.city-list li{break-inside:avoid;margin-bottom:8px}.city-list a{color:var(--text);text-decoration:none}.hero .btn-outline{color:inherit;border-color:currentColor}.site-header .edition-badge{color:inherit;opacity:.75}.nap dd,.nap a,.listing-head .btn,.site-footer a,.card h3{overflow-wrap:anywhere;word-break:break-word}.listing-head .actions .btn{max-width:100%}
