/* City-only CSS translated from approved mockup-v2.html. No global page rules. */
.cv-city{--green:#087f68;--forest:#123e32;--cream:#f7f5ee;--ink:#142e29;--muted:#52625e;--line:#dce5e1;--pale:#eef6f1;--white:#fff}.cv-city *{box-sizing:border-box}.cv-city{scroll-behavior:smooth}.cv-city{margin:0;color:var(--ink);background:#fff;font:15px/1.55 DMSans,Arial,sans-serif}.cv-city h1,.cv-city h2,.cv-city h3,.cv-city p{margin-top:0}.cv-city h1,.cv-city h2,.cv-city h3{font-family:Manrope,Arial,sans-serif;line-height:1.15}.cv-city a{color:inherit;text-decoration:none}.cv-city a:hover{text-decoration:underline}.cv-city button,.cv-city input,.cv-city select{font:inherit}.cv-city button{cursor:pointer}.cv-city img{display:block;max-width:100%}.cv-city .shell{max-width:1232px;margin:auto;padding:0 28px}.cv-city .eyebrow{color:var(--green);font:800 11px/1.4 Manrope,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}.cv-city .preview-ribbon{padding:8px 24px;background:#143c31;color:#fff;text-align:center;font:700 11px/1.4 Manrope,Arial,sans-serif;letter-spacing:.055em}.cv-city .site-header{border-bottom:1px solid var(--line);background:#fff}.cv-city .header-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.cv-city .brand img{width:194px;height:auto}.cv-city .nav{display:flex;align-items:center;gap:25px;font-weight:700;font-size:13px}.cv-city .nav-cta{background:var(--green);color:#fff;border-radius:8px;padding:10px 14px}.cv-city .nav-cta:hover{background:var(--forest);color:#fff;text-decoration:none}.cv-city .hero{background:#f5f7f2;border-bottom:1px solid var(--line);padding:30px 0 34px}.cv-city .breadcrumbs{font-size:12px;color:#50685e;margin-bottom:26px}.cv-city .breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.cv-city .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:35px;align-items:end}.cv-city .hero h1{font-size:clamp(36px,4.4vw,58px);letter-spacing:-.045em;margin:8px 0 12px;max-width:820px}.cv-city .hero .lead{font-size:17px;line-height:1.55;max-width:760px;margin:0;color:#415b51}.cv-city .hero-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.cv-city .count-pill{display:inline-flex;align-items:center;border:1px solid #bcd5c6;background:#fff;color:var(--forest);border-radius:999px;padding:8px 13px;font-weight:800;font-size:13px}.cv-city .jump{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:800;font-size:13px}.cv-city .hero-note{background:#fff;border:1px solid #dce7df;border-radius:13px;padding:18px 19px;box-shadow:0 8px 25px #153c2b08}.cv-city .hero-note strong{font:800 14px Manrope,Arial,sans-serif}.cv-city .hero-note p{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.5}.cv-city .main-layout{padding-top:31px}.cv-city .section-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:19px}.cv-city .section-intro h2{font-size:clamp(24px,2.5vw,31px);letter-spacing:-.035em;margin:4px 0 5px}.cv-city .section-intro p{color:var(--muted);font-size:13px;margin:0}.cv-city .snapshot-date{font-size:11px;color:#638075;white-space:nowrap}.cv-city .filters{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(145px,1fr)) auto;gap:10px;align-items:end;padding:17px;background:#f7faf7;border:1px solid var(--line);border-radius:13px}.cv-city .filters label{font-weight:800;font-size:11px;color:#375649}.cv-city .filters label span{display:block;margin-bottom:6px}.cv-city .filters input,.cv-city .filters select{width:100%;min-height:44px;border:1px solid #c6d7cd;border-radius:8px;background:#fff;padding:9px 11px;color:var(--ink);font-size:13px}.cv-city .filters button{min-height:44px;padding:9px 13px;border-radius:8px;background:#fff;color:var(--forest);border:1px solid #b9cec2;font-weight:800;font-size:12px}.cv-city .filter-note{font-size:11px;color:#708479;margin:9px 0 0}.cv-city .results-line{padding:16px 1px 0;color:#52675d;font-size:12px}.cv-city .results-line strong{color:var(--forest)}.cv-city .roster-group{padding:31px 0 18px;border-bottom:1px solid var(--line)}.cv-city .group-head{margin-bottom:17px}.cv-city .group-head h2{font-size:23px;letter-spacing:-.03em;margin:4px 0 5px}.cv-city .group-count{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 6px;border-radius:999px;background:#e8f3ea;color:var(--forest);font:800 12px Manrope,Arial,sans-serif;vertical-align:3px}.cv-city .group-head p:last-child{margin:0;color:var(--muted);font-size:13px;max-width:750px}.cv-city .business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cv-city .business-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 7px 21px #14382d08;display:grid;grid-template-columns:43% 57%;min-height:229px}.cv-city .business-card:hover{border-color:#a9c9b9;box-shadow:0 9px 26px #14382d12}.cv-city .card-media{position:relative;min-width:0;min-height:229px;background:#e7efe8;display:grid;grid-template-columns:1fr;overflow:hidden}.cv-city .card-media.has-gallery{grid-template-columns:72% 28%}.cv-city .feature-photo{width:100%;height:100%;object-fit:cover;min-height:229px}.cv-city .gallery-photo{width:100%;height:100%;object-fit:cover;min-height:229px;border-left:3px solid #fff}.cv-city .logo-frame{position:absolute;left:10px;bottom:10px;width:64px;height:46px;background:#fff;border:1px solid #e1e9e3;border-radius:8px;padding:5px;display:grid;place-items:center;box-shadow:0 2px 9px #14382d22}.cv-city .logo-frame img{width:100%;height:100%;object-fit:contain}.cv-city .media-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#5a7b69;width:100%;height:100%;min-height:229px;background:#e6eee7;text-align:center;padding:15px}.cv-city .media-fallback span{font-size:27px;color:#68a88a}.cv-city .media-fallback strong{font:800 14px Manrope,Arial,sans-serif}.cv-city .media-fallback small{font-size:11px}.cv-city .card-content{padding:17px 17px 13px;min-width:0;display:flex;flex-direction:column}.cv-city .base-label{font:800 10px/1.45 Manrope,Arial,sans-serif;letter-spacing:.025em;color:#4e7360;text-transform:uppercase;margin:0 0 8px}.cv-city .base-label span{padding:0 3px}.cv-city .card-content h3{font-size:17px;line-height:1.25;letter-spacing:-.025em;margin:0 0 9px}.cv-city .card-content h3 a:hover{color:var(--green)}.cv-city .card-summary{font-size:12px;line-height:1.45;color:#586a60;margin:0 0 11px}.cv-city .tag-row,.cv-city .verified-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.cv-city .tag-row span{border-radius:999px;background:#edf4ed;color:#23674d;padding:4px 7px;font-size:10px;font-weight:800}.cv-city .verified-row{margin-top:1px}.cv-city .verified-pill{color:#426652;border:1px solid #c6d9c8;border-radius:5px;padding:3px 5px;font-size:10px;font-weight:800}.cv-city .card-action{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--green);border-top:1px solid #e8efe9;padding-top:9px;margin-top:auto;font-size:12px;font-weight:800}.cv-city .card-action:hover{text-decoration:underline}.cv-city .is-hidden{display:none!important}.cv-city .empty-state{display:none;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:27px;text-align:center;margin:30px 0}.cv-city .empty-state.visible{display:block}.cv-city .compare{margin-top:39px;padding:29px 30px;background:var(--forest);color:#fff;border-radius:15px;display:grid;grid-template-columns:1fr 1fr;gap:34px}.cv-city .compare .eyebrow{color:#a8dfbf}.cv-city .compare h2{font-size:25px;letter-spacing:-.03em;margin:6px 0 11px}.cv-city .compare p{color:#e3eee7;font-size:13px;line-height:1.65;margin:0}.cv-city .compare ul{margin:0;padding-left:19px;font-size:13px;line-height:1.75;color:#eff7ef}.cv-city .compare li+li{margin-top:5px}.cv-city .lower{padding:42px 0 48px;display:grid;grid-template-columns:1fr 1fr;gap:42px}.cv-city .lower h2{font-size:23px;letter-spacing:-.03em;margin:6px 0 14px}.cv-city .lower p{color:var(--muted);font-size:13px}.cv-city .faq details{border-top:1px solid var(--line);padding:11px 0}.cv-city .faq details:last-child{border-bottom:1px solid var(--line)}.cv-city .faq summary{cursor:pointer;font-weight:800;font-size:13px;list-style:none;display:flex;justify-content:space-between;gap:12px}.cv-city .faq summary::-webkit-details-marker{display:none}.cv-city .faq summary::after{content:'+';font-size:20px;color:var(--green);line-height:1}.cv-city .faq details[open] summary::after{content:'−'}.cv-city .faq details p{margin:8px 0 0;line-height:1.55}.cv-city .location-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.cv-city .location-links a{display:inline-flex;align-items:center;min-height:38px;border:1px solid #c8d9ce;border-radius:8px;padding:7px 11px;font-weight:800;color:var(--forest);font-size:12px;background:#fff}.cv-city .location-links a:hover{background:var(--pale);text-decoration:none}.cv-city .guide-link{display:inline-block;color:var(--green);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px;margin-top:17px}.cv-city .site-footer{background:var(--forest);padding:28px 0;color:#e8f2e9}.cv-city .footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.cv-city .footer-row img{width:164px}.cv-city .footer-row a{font-weight:800}
@media(max-width:1080px){.cv-city .filters{grid-template-columns:repeat(3,minmax(0,1fr))}.cv-city .filters label:first-child{grid-column:1/-1}.cv-city .filters button{align-self:end}.cv-city .hero-grid{grid-template-columns:minmax(0,1fr) 250px}.cv-city .business-card{grid-template-columns:40% 60%}.cv-city .card-media,.cv-city .feature-photo,.cv-city .gallery-photo,.cv-city .media-fallback{min-height:245px}}@media(max-width:790px){.cv-city .hero-grid{grid-template-columns:1fr}.cv-city .hero-note{max-width:620px}.cv-city .business-grid{grid-template-columns:1fr}.cv-city .business-card{grid-template-columns:37% 63%}.cv-city .compare,.cv-city .lower{grid-template-columns:1fr}.cv-city .nav{gap:14px}.cv-city .nav a:not(.nav-cta):not(:first-child){display:none}}@media(max-width:520px){.cv-city .shell{padding:0 17px}.cv-city .preview-ribbon{font-size:9px;padding:7px 10px}.cv-city .header-row{min-height:65px}.cv-city .brand img{width:158px}.cv-city .nav a:first-child{display:none}.cv-city .nav-cta{padding:8px 10px;font-size:11px}.cv-city .hero{padding:22px 0 27px}.cv-city .breadcrumbs{margin-bottom:16px}.cv-city .hero h1{font-size:35px}.cv-city .hero .lead{font-size:14px}.cv-city .hero-meta{margin-top:16px}.cv-city .hero-note{padding:13px}.cv-city .main-layout{padding-top:25px}.cv-city .section-intro{display:block}.cv-city .snapshot-date{display:block;margin-top:9px}.cv-city .filters{grid-template-columns:1fr 1fr;gap:9px;padding:12px}.cv-city .filters label:first-child,.cv-city .filters label:nth-child(2){grid-column:1/-1}.cv-city .filters label:nth-child(3),.cv-city .filters label:nth-child(4){grid-column:auto}.cv-city .filters button{grid-column:1/-1}.cv-city .filters input,.cv-city .filters select{min-height:44px}.cv-city .roster-group{padding-top:25px}.cv-city .group-head h2{font-size:21px}.cv-city .business-card{display:block}.cv-city .card-media{height:185px;min-height:185px;grid-template-columns:1fr}.cv-city .card-media.has-gallery{grid-template-columns:76% 24%}.cv-city .feature-photo,.cv-city .gallery-photo,.cv-city .media-fallback{height:185px;min-height:185px}.cv-city .card-content{padding:14px 15px 13px}.cv-city .card-content h3{font-size:17px}.cv-city .card-action{min-height:35px}.cv-city .compare{padding:23px 20px;gap:16px;margin-top:29px}.cv-city .lower{padding:35px 0;gap:30px}.cv-city .footer-row{display:block}.cv-city .footer-row img{margin-bottom:11px}}@media(prefers-reduced-motion:reduce){.cv-city{scroll-behavior:auto}}
@media(min-width:521px){.cv-city .business-card,.cv-city .card-media,.cv-city .feature-photo,.cv-city .gallery-photo,.cv-city .media-fallback{min-height:205px}}
@media(max-width:520px){.cv-city .hero-note,.cv-city .filter-note{display:none}.cv-city .hero{padding:18px 0 23px}.cv-city .hero .lead{font-size:13px;line-height:1.45}.cv-city .hero-meta{margin-top:11px}.cv-city .main-layout{padding-top:19px}}

.cv-city .lead p{margin:0}.cv-city .card-media{aspect-ratio:auto}.cv-city .business-card{box-shadow:0 7px 21px #14382d08}.cv-city .card-media>img{max-width:100%}.cv-city .tag-row{margin-top:auto}.cv-city .clear-filters{font-size:12px;font-weight:800;color:var(--green);padding:8px 0}.cv-city .city-pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin:26px 0}.cv-city .city-pagination a{font-weight:800;color:var(--green)}.cv-city .city-editorial{margin-top:35px;max-width:850px}.cv-city .inclusion{margin-top:27px}.cv-city .city-owner{border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cv-city .city-owner h2{font-size:21px;margin:0 0 7px}.cv-city .city-owner p{font-size:13px;margin:0;color:var(--muted)}.cv-city .city-owner a{color:var(--green);font-weight:800;font-size:13px}.cv-city a:focus-visible,.cv-city summary:focus-visible,.cv-city input:focus-visible,.cv-city select:focus-visible,.cv-city button:focus-visible{outline:3px solid #85a75d;outline-offset:3px}.cv-city .filters input[type=hidden]{display:none}.cv-city .card-summary{overflow-wrap:anywhere}.cv-city .card-media .feature-photo,.cv-city .card-media .gallery-photo{height:100%;width:100%}.cv-city .logo-frame .city-logo{min-height:0;max-height:100%;width:100%;height:100%;object-fit:contain}
@media(max-width:520px){.cv-city .city-owner{flex-direction:column;align-items:start}.cv-city .filters .clear-filters{grid-column:1/-1}.cv-city .card-media .feature-photo,.cv-city .card-media .gallery-photo{height:185px}.cv-city .lead p{margin:0}}

.cv-city .card-media{width:100%;flex:initial}.cv-city .filter-actions{display:flex;align-items:center;gap:10px}.cv-city .filter-actions .clear-filters{white-space:nowrap}.cv-city .card-content .tag-row{margin-top:0}
@media(max-width:520px){.cv-city .filter-actions{grid-column:1/-1;justify-content:space-between}.cv-city .filter-actions button{flex:1}}
/* Compact city-only mobile chrome retains every existing navigation link. */
.cv-city .business-card{padding:0;margin:0}
@media(max-width:520px){body.city-v2-page header{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:12px 17px;gap:12px}body.city-v2-page header .brand{align-self:start;display:flex;align-items:center;min-height:38px}body.city-v2-page header .brand img{width:158px;height:auto}body.city-v2-page header nav{display:flex;flex-wrap:wrap;gap:14px;font-size:12px}body.city-v2-page header nav .button{position:absolute;right:17px;top:12px;padding:9px 10px;font-size:11px}}
.cv-city .hero-grid{grid-template-columns:1fr}.cv-city .hero .lead{max-width:850px}.cv-city .hero-meta .jump{background:#087f68;color:#fff;padding:12px 18px;border-radius:8px;text-decoration:none}.cv-city .filters{align-items:end}.cv-city .filters label{margin:0}.cv-city .filter-actions{align-self:end;align-items:center;flex-direction:column;gap:5px}.cv-city .filter-actions button{margin:0;background:#087f68;color:#fff;min-height:44px}.cv-city .city-owner{display:block;margin-bottom:20px}.cv-city .city-owner>div{max-width:760px;margin:auto;text-align:center}.cv-city .city-owner .button{display:inline-block;background:#087f68;color:#fff;padding:12px 18px;border-radius:8px;margin-top:16px}.cv-city .city-preferences{margin-top:28px}.cv-city .lower{padding:28px 0}.cv-city .mpz-faq{margin:0}@media(max-width:520px){.cv-city .filter-actions{align-items:stretch}.cv-city .filters .filter-actions{grid-column:1/-1}.cv-city .hero-meta{align-items:start;flex-direction:column}}
.cv-city .filter-actions{position:relative}.cv-city .filter-actions .clear-filters{position:absolute;top:calc(100% + 4px);left:0;right:0;text-align:center}.cv-city .filters:has(.clear-filters){padding-bottom:32px}@media(max-width:520px){.cv-city .filter-actions .clear-filters{position:static}.cv-city .filters:has(.clear-filters){padding-bottom:12px}}

.cv-city .main-layout{padding-bottom:8px}.cv-city .mpz-faq-owner{margin-bottom:20px}.cv-city .mpz-editorial h3{font-size:19px}.cv-city .city-local-editorial{max-width:950px}
