:root {
	--navy-950: #07182d;
	--navy-900: #0d2440;
	--navy-800: #153452;
	--yellow-500: #efb12f;
	--yellow-100: #fff7df;
	--green-600: #16845b;
	--green-100: #e9f6ef;
	--ink: #142033;
	--muted: #5b6878;
	--line: #d8dee6;
	--soft: #f4f6f8;
	--white: #ffffff;
	--container: 1180px;
	--radius: 6px;
	--shadow: 0 18px 48px rgba(7, 24, 45, .11);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.65; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--navy-800); }
p { margin: 0 0 1.15em; }
h1, h2, h3 { margin: 0 0 .45em; color: var(--navy-950); font-weight: 800; line-height: 1.08; letter-spacing: 0; overflow-wrap: anywhere; hyphens: auto; }
h1 { font-size: 58px; }
h2 { font-size: 42px; }
h3 { font-size: 23px; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.container.narrow { width: min(calc(100% - 48px), 860px); }
.section { padding: 104px 0; }
.section-kicker, .eyebrow { display: block; margin-bottom: 14px; color: var(--green-600); font-size: 13px; font-weight: 850; text-transform: uppercase; }
.section-heading { max-width: 800px; margin-bottom: 48px; }
.section-heading > p { color: var(--muted); }
.section-heading--split { display: grid; max-width: none; grid-template-columns: 1.15fr .85fr; gap: 72px; align-items: end; }
.section-heading--split p { margin-bottom: 10px; }
.icon { width: 20px; height: 20px; flex: 0 0 auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 9999; padding: 10px 16px; background: var(--white); color: var(--navy-950); }
.skip-link:focus { top: 10px; }

.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 12px 20px; border: 1px solid transparent; border-radius: 999px; font-weight: 800; line-height: 1.2; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-1px); }
.button--large { min-height: 56px; padding: 15px 25px; }
.button--primary { background: var(--yellow-500); color: var(--navy-950); }
.button--primary:hover { background: #dca023; }
.button--outline { border-color: var(--line); background: var(--white); color: var(--navy-950); }
.button--light { background: var(--white); color: var(--navy-950); }
.button--ghost { border-color: rgba(255,255,255,.45); color: var(--white); }
.button--outline-light { border-color: rgba(255,255,255,.42); color: var(--white); }
.button--nav { min-height: 44px; padding: 11px 17px; background: var(--navy-950); color: var(--white); font-size: 14px; }
.text-link { display: inline-flex; margin-top: 22px; border-bottom: 2px solid var(--yellow-500); color: var(--navy-950); font-weight: 800; text-decoration: none; }

.availability-bar { background: var(--navy-950); color: var(--white); font-size: 13px; }
.availability-bar__inner { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 24px; }
.availability-status { display: inline-flex; align-items: center; gap: 9px; font-weight: 750; }
.availability-status i, .live-pill > span { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #4dd19b; box-shadow: 0 0 0 4px rgba(77,209,155,.16); }
.availability-contact { display: flex; gap: 26px; }
.availability-contact a { display: inline-flex; align-items: center; gap: 7px; color: var(--white); text-decoration: none; }
.availability-contact .icon { width: 15px; height: 15px; }
.nav-shell { position: relative; z-index: 1000; border-bottom: 1px solid var(--line); background: var(--white); }
.nav-shell__inner { display: flex; min-height: 84px; align-items: center; gap: 28px; }
.site-brand { width: 300px; max-width: 32vw; margin-right: auto; flex: 0 0 auto; }
.site-brand img, .site-brand .custom-logo { width: 100%; max-height: 62px; object-fit: contain; object-position: left center; }
.primary-navigation { display: flex; align-items: center; gap: 25px; }
.nav-list { display: flex; align-items: center; gap: 22px; padding: 0; margin: 0; list-style: none; }
.nav-list a { color: var(--ink); font-size: 14px; font-weight: 750; text-decoration: none; }
.nav-list a:hover { color: var(--green-600); }
.menu-toggle { position: relative; z-index: 1101; display: none; width: 46px; height: 46px; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--navy-950); }
.menu-toggle__close { display: none; }
.menu-toggle.is-open .menu-toggle__open { display: none; }
.menu-toggle.is-open .menu-toggle__close { display: block; }

.owner-hero { padding: 64px 0 76px; overflow: hidden; background: var(--soft); }
.owner-hero__grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 58px; align-items: center; }
.live-pill { display: inline-flex; align-items: center; gap: 11px; padding: 8px 13px; border: 1px solid #bcdccd; border-radius: 999px; background: var(--green-100); color: #126443; font-size: 13px; font-weight: 800; }
.owner-hero h1 { max-width: 700px; margin-top: 20px; }
.owner-hero__lead { max-width: 690px; color: var(--muted); font-size: 20px; }
.owner-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.direct-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 30px; background: var(--line); border: 1px solid var(--line); }
.direct-details > div { min-height: 82px; padding: 16px 18px; background: var(--white); }
.direct-details strong, .direct-details span { display: block; }
.direct-details strong { font-size: 15px; }
.direct-details span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.owner-hero__visual { position: relative; min-width: 0; padding: 0 22px 34px 0; }
.owner-hero__image { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 57% center; box-shadow: var(--shadow); }
.owner-card { position: absolute; right: 0; bottom: 0; display: flex; width: min(380px, 82%); align-items: center; gap: 13px; padding: 18px; border-left: 5px solid var(--yellow-500); background: var(--navy-950); color: var(--white); box-shadow: var(--shadow); }
.owner-card__initials { display: grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--yellow-500); color: var(--navy-950); font-weight: 900; }
.owner-card > div strong, .owner-card > div span { display: block; }
.owner-card > div span { color: #bdc9d6; font-size: 12px; }
.owner-card__initials .icon { width: 22px; height: 22px; }
.response-card { position: absolute; top: 20px; left: -34px; display: flex; width: 255px; gap: 11px; padding: 15px 17px; border: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow); }
.response-card .icon { color: var(--green-600); }
.response-card strong, .response-card span { display: block; }
.response-card strong { font-size: 13px; }
.response-card span { color: var(--muted); font-size: 11px; }
.google-review { background: var(--white); color: var(--ink); }
.google-review--hero { display: grid; grid-template-columns: auto 1fr; gap: 3px 14px; align-items: center; margin-top: 18px; padding: 15px 17px; border: 1px solid var(--line); }
.review-stars { color: #d89c21; font-size: 17px; line-height: 1; }
.google-review blockquote { margin: 0; color: var(--muted); font-size: 13px; }
.google-review strong { font-size: 12px; }
.google-review small { color: #7b8590; font-size: 9px; }
.google-review--hero strong, .google-review--hero small { grid-column: 2; }

.route-section { padding: 0 0 104px; background: var(--soft); }
.route-panel { display: grid; grid-template-columns: 1.08fr .92fr; border: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow); }
.route-panel__media { position: relative; min-width: 0; }
.route-panel__image { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.route-tag { position: absolute; right: 18px; bottom: 18px; padding: 10px 14px; background: var(--yellow-500); color: var(--navy-950); font-size: 13px; font-weight: 850; }
.route-panel__copy { padding: 54px; }
.route-panel__copy > p { color: var(--muted); }
.route-list { display: grid; gap: 0; padding: 0; margin: 30px 0 0; list-style: none; }
.route-list li { display: grid; grid-template-columns: 42px 1fr; gap: 15px; padding: 17px 0; border-top: 1px solid var(--line); }
.route-list li > span { color: var(--green-600); font-size: 12px; font-weight: 900; }
.route-list strong, .route-list small { display: block; }
.route-list small { color: var(--muted); font-size: 13px; }

.services-section { background: var(--white); }
.service-list { border-top: 1px solid var(--line); }
.service-list article { display: grid; min-height: 128px; grid-template-columns: 48px 54px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 24px 6px; border-bottom: 1px solid var(--line); }
.service-list article:hover { background: var(--soft); }
.service-number { color: #8994a1; font-size: 13px; font-weight: 850; }
.service-icon { display: grid; width: 50px; height: 50px; place-items: center; background: var(--yellow-100); color: var(--navy-900); }
.service-list h3 { margin-bottom: 5px; }
.service-list p { margin: 0; color: var(--muted); font-size: 15px; }
.service-list article > strong { color: var(--green-600); font-size: 12px; text-transform: uppercase; }

.diagnosis-section { background: var(--yellow-100); }
.diagnosis-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 76px; align-items: center; }
.diagnosis-copy > p { color: var(--muted); }
.check-list { display: grid; gap: 13px; padding: 0; margin: 26px 0 0; list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: 10px; }
.check-list .icon { margin-top: 4px; color: var(--green-600); }
.diagnosis-media { position: relative; min-width: 0; padding-bottom: 36px; }
.diagnosis-media__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: var(--shadow); }
.diagnosis-note { position: absolute; right: 24px; bottom: 0; width: min(360px, calc(100% - 48px)); padding: 17px 20px; border-left: 5px solid var(--yellow-500); background: var(--navy-950); color: var(--white); }
.diagnosis-note strong, .diagnosis-note span { display: block; }
.diagnosis-note span { color: #bdc9d6; font-size: 12px; }

.process-section { padding: 100px 0; background: var(--navy-950); color: #c4ced9; }
.process-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 86px; align-items: start; }
.process-heading { position: sticky; top: 24px; }
.process-heading h2 { color: var(--white); }
.process-heading .section-kicker { color: var(--yellow-500); }
.owner-process { padding: 0; margin: 0; list-style: none; }
.owner-process li { display: grid; min-height: 120px; grid-template-columns: 70px 1fr; gap: 25px; align-items: start; padding: 24px 0; border-top: 1px solid #2d4157; }
.owner-process li:last-child { border-bottom: 1px solid #2d4157; }
.owner-process li > span { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid #486078; border-radius: 50%; color: var(--yellow-500); font-size: 20px; font-weight: 900; }
.owner-process h3 { color: var(--white); }
.owner-process p { margin: 0; color: #aebbc8; }

.wallbox-section { background: var(--white); }
.wallbox-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 72px; align-items: center; }
.wallbox-media__image { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; box-shadow: var(--shadow); }
.wallbox-copy > p { color: var(--muted); }
.mini-specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 28px; }
.mini-specs > div { padding: 17px; border-top: 3px solid var(--yellow-500); background: var(--soft); }
.mini-specs strong, .mini-specs span { display: block; }
.mini-specs span { margin-top: 4px; color: var(--muted); font-size: 12px; }

.payment-strip { padding: 38px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--soft); }
.payment-strip__inner { display: grid; grid-template-columns: 1fr 200px 200px 1fr; gap: 22px; align-items: center; }
.payment-strip h2 { margin-bottom: 0; font-size: 31px; }
.payment-strip .section-kicker { margin-bottom: 4px; }
.payment-method { display: flex; min-height: 72px; align-items: center; gap: 13px; padding: 16px 20px; border: 1px solid var(--line); background: var(--white); }
.payment-method .icon { width: 28px; height: 28px; color: var(--green-600); }
.payment-strip__inner > p { margin: 0; color: var(--muted); font-size: 14px; }

.quality-section { background: var(--white); }
.quality-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 76px; align-items: center; }
.quality-copy > p { color: var(--muted); }
.quality-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; }
.quality-points > div { padding: 18px; border-left: 3px solid var(--yellow-500); background: var(--soft); }
.quality-points strong, .quality-points span { display: block; }
.quality-points span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.quality-proof { display: grid; grid-template-columns: 190px 1fr; gap: 18px; align-items: center; padding: 24px; border: 1px solid var(--line); background: var(--yellow-100); }
.quality-badge__image { width: 190px; aspect-ratio: 1; border-radius: 50%; object-fit: cover; }
.google-review--quality { padding: 22px; border-left: 3px solid var(--yellow-500); }
.google-review--quality blockquote { margin: 10px 0; font-size: 15px; }
.google-review--quality strong, .google-review--quality small { display: block; }

.blog-section { background: var(--soft); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.post-card { overflow: hidden; border: 1px solid var(--line); background: var(--white); }
.post-card__media { display: block; overflow: hidden; }
.post-card__image { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .3s ease; }
.post-card:hover .post-card__image { transform: scale(1.02); }
.post-card__body { padding: 24px; }
.post-card__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 12px; color: var(--green-600); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.post-card h3 { font-size: 22px; }
.post-card h3 a { color: var(--navy-950); text-decoration: none; }
.post-card p { color: var(--muted); font-size: 14px; }
.post-card__link { font-weight: 800; text-decoration: none; }
.blog-grid--archive { margin-bottom: 42px; }

.faq-section { background: var(--white); }
.faq-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 76px; align-items: start; }
.faq-title { position: sticky; top: 24px; }
.faq-title > p { color: var(--muted); }
.faq-problem { position: relative; margin-top: 28px; }
.faq-problem__image { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.faq-problem > span { display: block; padding: 14px 16px; background: var(--yellow-100); color: var(--muted); font-size: 12px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 23px 48px 23px 0; color: var(--navy-950); cursor: pointer; font-weight: 800; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary > span { color: var(--green-600); font-size: 12px; }
.faq-list summary::after { content: "+"; position: absolute; top: 18px; right: 4px; color: var(--navy-950); font-size: 26px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details > p, .faq-list details > div { padding: 0 30px 22px 55px; margin: 0; color: var(--muted); }

.footer-contact-band, .city-footer-cta { background: var(--yellow-500); color: var(--navy-950); }
.footer-contact-band__inner, .city-footer-cta__inner { display: flex; min-height: 260px; align-items: center; justify-content: space-between; gap: 54px; }
.footer-contact-band h2, .city-footer-cta h2 { max-width: 760px; margin-bottom: 12px; }
.footer-contact-band p { max-width: 720px; margin: 0; }
.footer-contact-band .section-kicker, .city-footer-cta .section-kicker { color: var(--navy-800); }
.footer-contact-band__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.footer-contact-band .button--primary { background: var(--navy-950); color: var(--white); }
.footer-contact-band .button--outline-light { border-color: var(--navy-950); color: var(--navy-950); }
.footer-main { padding: 68px 0; background: var(--navy-950); color: #b8c5d1; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .65fr 1fr; gap: 64px; }
.footer-logo { width: 285px; max-height: 66px; margin-bottom: 22px; object-fit: contain; object-position: left center; background: var(--white); }
.footer-about p { max-width: 470px; }
.footer-main h3 { color: var(--white); font-size: 17px; }
.footer-links { display: grid; gap: 8px; padding: 0; margin: 0; list-style: none; }
.footer-links a, .footer-contact a { color: #dce5ed; text-decoration: none; }
.footer-contact { display: grid; gap: 14px; }
.footer-contact a { display: flex; align-items: flex-start; gap: 9px; overflow-wrap: anywhere; }
.footer-contact .icon { color: var(--yellow-500); }
.footer-bottom { padding: 18px 0; border-top: 1px solid #243a50; background: var(--navy-950); color: #8ea0b1; font-size: 12px; }
.footer-bottom__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-bottom a { color: #dce5ed; text-decoration: none; }

.page-hero { padding: 88px 0 72px; background: var(--navy-900); color: #d8e1ea; }
.page-hero h1 { max-width: 980px; color: var(--white); }
.page-hero p { max-width: 780px; }
.breadcrumbs, .rank-math-breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; color: #a8b8c8; font-size: 12px; }
.breadcrumbs a, .rank-math-breadcrumb a { color: #e7eef4; }
.entry-content { min-width: 0; }
.entry-content > * { max-width: 100%; }
.entry-content h2 { margin-top: 48px; font-size: 34px; }
.entry-content h3 { margin-top: 32px; }
.entry-content p, .entry-content li { color: #3e4a58; }
.entry-content img { border-radius: var(--radius); }
.legal-page h2 { padding-top: 12px; border-top: 1px solid var(--line); }
.legal-notice { padding: 18px 20px; border-left: 5px solid var(--yellow-500); background: var(--yellow-100); }
.single-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 58px; align-items: center; }
.single-hero__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.single-meta { display: flex; flex-wrap: wrap; gap: 14px; color: #b3c0cc; font-size: 12px; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 68px; align-items: start; }
.article-sidebar, .city-sidebar { position: sticky; top: 24px; padding: 28px; border-top: 5px solid var(--yellow-500); background: var(--navy-900); color: #dce5ed; }
.article-sidebar h2, .city-sidebar h2 { color: var(--white); font-size: 26px; }
.article-sidebar > .icon, .city-sidebar > .icon { width: 32px; height: 32px; margin-bottom: 18px; color: var(--yellow-500); }
.editorial-note { margin-top: 52px; padding: 24px; border-left: 5px solid var(--green-600); background: var(--soft); }
.editorial-note p { margin: 7px 0 0; }
.empty-state { padding: 50px; border: 1px solid var(--line); background: var(--soft); text-align: center; }
.pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.pagination .page-numbers { min-width: 42px; padding: 8px 12px; border: 1px solid var(--line); text-align: center; text-decoration: none; }

.city-hero { position: relative; display: flex; min-height: 610px; align-items: center; overflow: hidden; background: var(--navy-950); color: var(--white); }
.city-hero__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.city-hero__overlay { position: absolute; inset: 0; background: rgba(7, 24, 45, .79); }
.city-hero__content { position: relative; z-index: 2; padding: 88px 0; }
.city-hero h1 { max-width: 850px; margin-top: 22px; color: var(--white); font-size: 64px; }
.city-hero__intro { max-width: 760px; color: #edf2f6; font-size: 20px; overflow-wrap: anywhere; }
.city-hero__intro p { margin-bottom: 0; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.city-trust { background: var(--navy-950); color: var(--white); }
.city-trust__inner { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #30465b; }
.city-trust span { padding: 22px; border-right: 1px solid #30465b; font-size: 13px; font-weight: 800; text-align: center; }
.city-overview { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 34px; align-items: start; }
.city-overview__main { padding: 38px; border: 1px solid var(--line); }
.city-generated-content p { color: var(--muted); }
.city-generated-content .preview-raw-content { padding: 16px; border: 1px dashed var(--green-600); background: var(--green-100); white-space: pre-wrap; overflow-wrap: anywhere; }
.city-situation { background: var(--soft); }
.city-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.city-card-grid article { padding: 28px; border-top: 4px solid var(--yellow-500); background: var(--white); overflow-wrap: anywhere; }
.city-card-grid article > span { color: var(--green-600); font-size: 12px; font-weight: 900; }
.city-card-grid h2 { margin-top: 20px; font-size: 25px; }
.city-card-grid p { color: var(--muted); }
.city-footer-cta { padding: 0; }

.reveal { animation: reveal-in .65s ease both; }
@keyframes reveal-in { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

@media (max-width: 1080px) {
	h1 { font-size: 49px; }
	h2 { font-size: 37px; }
	.site-brand { width: 250px; }
	.menu-toggle { display: inline-flex; }
	.primary-navigation { position: fixed; top: 122px; right: 0; bottom: 0; left: 0; z-index: 1090; display: none; padding: 28px 24px 50px; background: var(--white); overflow-y: auto; }
	.primary-navigation.is-open { display: block; }
	.nav-list { display: grid; gap: 0; }
	.nav-list li { border-bottom: 1px solid var(--line); }
	.nav-list a { display: block; padding: 16px 2px; font-size: 17px; }
	.primary-navigation .button--nav { width: 100%; margin-top: 22px; }
	.owner-hero__grid { gap: 38px; }
	.response-card { left: -15px; }
	.route-panel__copy { padding: 40px; }
	.payment-strip__inner { grid-template-columns: 1fr 180px 180px; }
	.payment-strip__inner > p { grid-column: 1 / -1; }
	.quality-proof { grid-template-columns: 150px 1fr; }
	.quality-badge__image { width: 150px; }
}

@media (max-width: 800px) {
	body { font-size: 16px; }
	h1, .city-hero h1 { font-size: 39px; line-height: 1.1; }
	h2 { font-size: 31px; }
	h3 { font-size: 21px; }
	.container, .container.narrow { width: min(calc(100% - 32px), var(--container)); }
	.section { padding: 74px 0; }
	.availability-bar__inner { justify-content: center; }
	.availability-contact a:last-child { display: none; }
	.nav-shell__inner { min-height: 74px; }
	.site-brand { width: 220px; max-width: calc(100% - 68px); }
	.site-brand img, .site-brand .custom-logo { max-height: 50px; }
	.primary-navigation { top: 112px; }
	.section-heading--split, .owner-hero__grid, .route-panel, .diagnosis-layout, .process-layout, .wallbox-layout, .quality-layout, .faq-layout, .single-hero__grid, .content-layout, .city-overview { grid-template-columns: 1fr; gap: 38px; }
	.section-heading--split { align-items: start; }
	.owner-hero { padding: 46px 0 66px; }
	.owner-hero__copy { order: 1; }
	.owner-hero__visual { order: 2; padding-right: 0; }
	.owner-hero__image { aspect-ratio: 4 / 3; object-position: 61% center; }
	.owner-hero__actions { display: grid; grid-template-columns: 1fr; }
	.owner-hero__actions .button { width: 100%; }
	.response-card { display: none; }
	.owner-card { right: 12px; }
	.route-section { padding-bottom: 74px; }
	.route-panel__image { min-height: 0; aspect-ratio: 16 / 10; }
	.route-panel__copy { padding: 32px 24px; }
	.service-list article { grid-template-columns: 38px 48px minmax(0, 1fr); gap: 15px; }
	.service-list article > strong { grid-column: 3; }
	.process-heading, .faq-title { position: static; }
	.payment-strip__inner { grid-template-columns: 1fr 1fr; }
	.payment-strip__inner > div:first-child, .payment-strip__inner > p { grid-column: 1 / -1; }
	.quality-proof { grid-template-columns: 180px 1fr; }
	.quality-badge__image { width: 180px; }
	.blog-grid { grid-template-columns: 1fr; }
	.footer-contact-band__inner, .city-footer-cta__inner { min-height: 0; padding: 62px 0; flex-direction: column; align-items: flex-start; }
	.footer-contact-band__actions { justify-content: flex-start; }
	.footer-grid { grid-template-columns: 1fr; gap: 36px; }
	.footer-bottom__inner { align-items: flex-start; flex-direction: column; }
	.article-sidebar, .city-sidebar { position: static; }
	.city-hero { min-height: 540px; }
	.city-hero__content { padding: 72px 0; }
	.city-hero__intro { font-size: 17px; }
	.city-trust__inner { grid-template-columns: 1fr 1fr; }
	.city-trust span { border-bottom: 1px solid #30465b; }
	.city-card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
	h1, .city-hero h1 { font-size: 34px; }
	h2 { font-size: 28px; }
	.availability-status { font-size: 11px; }
	.availability-contact { gap: 10px; }
	.availability-contact a { font-size: 11px; }
	.site-brand { width: 196px; }
	.direct-details { grid-template-columns: 1fr; }
	.owner-card { position: relative; right: auto; bottom: auto; width: 100%; }
	.owner-hero__visual { padding-bottom: 0; }
	.owner-hero__image { aspect-ratio: 1 / 1; }
	.google-review--hero { grid-template-columns: 1fr; }
	.google-review--hero strong, .google-review--hero small { grid-column: auto; }
	.service-list article { grid-template-columns: 36px minmax(0, 1fr); }
	.service-icon { display: none; }
	.service-list article > strong { grid-column: 2; }
	.diagnosis-note { right: 10px; width: calc(100% - 20px); }
	.mini-specs, .quality-points { grid-template-columns: 1fr; }
	.payment-strip__inner { grid-template-columns: 1fr; }
	.payment-strip__inner > div:first-child, .payment-strip__inner > p { grid-column: auto; }
	.quality-proof { grid-template-columns: 1fr; }
	.quality-badge { width: min(240px, 100%); margin-inline: auto; }
	.quality-badge__image { width: 100%; }
	.owner-process li { grid-template-columns: 56px 1fr; gap: 15px; }
	.footer-contact-band__actions { width: 100%; }
	.footer-contact-band__actions .button { width: 100%; }
	.city-trust__inner { grid-template-columns: 1fr; }
	.city-overview__main { padding: 26px 20px; }
}
