:root {
	--ink: #071824;
	--navy: #0b263b;
	--petrol: #3f7f76;
	--petrol-dark: #285d57;
	--gold: #d3aa54;
	--gold-light: #f1dfb8;
	--paper: #ffffff;
	--mist: #eef3f2;
	--line: #c9d4d2;
	--muted: #55666f;
	--container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; font-size: 17px; line-height: 1.65; letter-spacing: 0; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
svg { width: 1.15em; height: 1.15em; flex: 0 0 auto; }
h1, h2, h3, p { overflow-wrap: anywhere; hyphens: auto; }
h1, h2, h3 { margin: 0 0 .55em; color: var(--ink); font-weight: 800; line-height: 1.08; letter-spacing: 0; }
h1 { font-size: 58px; }
h2 { font-size: 38px; }
h3 { font-size: 22px; }
p { margin: 0 0 1.2em; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.narrow { max-width: 840px; }
.section { padding: 94px 0; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 9999; padding: 12px 18px; color: #fff; background: var(--ink); }
.skip-link:focus { top: 16px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* Buttons */
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 22px; border: 2px solid var(--ink); color: var(--ink); background: #fff; font-weight: 800; line-height: 1.2; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.button:hover, .button:focus-visible { color: #fff; background: var(--petrol-dark); border-color: var(--petrol-dark); }
.button--primary, .button--dark { color: #fff; background: var(--navy); border-color: var(--navy); }
.button--gold { color: var(--ink); background: var(--gold); border-color: var(--gold); }
.button--gold:hover, .button--gold:focus-visible { color: #fff; background: var(--petrol-dark); border-color: var(--petrol-dark); }
.button--secondary { background: transparent; }
.button--light { background: #fff; }
.button--outline-light { color: #fff; background: transparent; border-color: rgba(255,255,255,.65); }
.button--large { min-height: 58px; padding-inline: 28px; }
.button--wide { width: 100%; }
.text-arrow, .text-link { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 3px; border-bottom: 2px solid currentColor; font-weight: 800; }
.text-arrow:hover, .text-link:hover { color: var(--petrol-dark); }
.board-label, .section-label, .eyebrow { display: inline-block; margin: 0 0 16px; color: var(--petrol-dark); font-size: 13px; font-weight: 900; line-height: 1.2; text-transform: uppercase; }
.status-label { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; padding: 8px 12px; color: #fff; background: rgba(7,24,36,.86); border-left: 4px solid var(--gold); font-size: 13px; font-weight: 800; text-transform: uppercase; }
.status-label i { width: 9px; height: 9px; background: var(--gold); border-radius: 50%; }
.review-stars { color: var(--gold); font-size: 20px; letter-spacing: 2px; white-space: nowrap; }

/* Header */
.site-header { position: relative; z-index: 100; background: #fff; border-bottom: 1px solid var(--line); }
.header-alert { color: #fff; background: var(--ink); font-size: 13px; font-weight: 700; }
.header-alert__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.header-alert__inner > span { display: flex; align-items: center; gap: 8px; }
.header-alert__inner > span i { width: 8px; height: 8px; background: var(--gold); }
.header-alert__inner > div { display: flex; align-items: center; gap: 24px; }
.header-alert a { display: inline-flex; align-items: center; gap: 7px; }
.nav-shell__inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.site-brand { width: 270px; max-width: 34%; display: flex; align-items: center; }
.site-brand img, .site-brand__image { width: 100%; max-height: 66px; object-fit: contain; object-position: left center; }
.primary-navigation { display: flex; align-items: center; gap: 34px; }
.nav-list { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.nav-list a { padding: 12px 0; font-size: 15px; font-weight: 800; }
.nav-list a:hover, .nav-list .current-menu-item > a { color: var(--petrol-dark); }
.nav-call { min-height: 56px; display: inline-flex; align-items: center; gap: 12px; padding: 9px 18px; color: #fff; background: var(--navy); }
.nav-call span { display: grid; }
.nav-call small { color: var(--gold-light); font-size: 10px; line-height: 1.1; text-transform: uppercase; }
.menu-toggle { width: 48px; height: 48px; display: none; place-items: center; padding: 0; border: 1px solid var(--line); color: var(--ink); background: #fff; cursor: pointer; }
.menu-toggle span { width: 100%; height: 100%; display: grid; place-items: center; }
.menu-toggle svg { width: 24px; height: 24px; }
.menu-toggle__close { display: none !important; }
.menu-toggle.is-open .menu-toggle__open { display: none !important; }
.menu-toggle.is-open .menu-toggle__close { display: grid !important; }

/* Breadcrumbs */
.breadcrumbs { margin-bottom: 28px; color: var(--muted); font-size: 13px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }

/* Homepage hero */
.dispatch-hero { color: #fff; background: var(--navy); }
.dispatch-hero__bar { border-bottom: 1px solid rgba(255,255,255,.2); background: var(--ink); }
.dispatch-hero__bar .container { min-height: 52px; display: flex; align-items: center; gap: 16px; }
.dispatch-hero__bar strong { color: var(--gold); text-transform: uppercase; }
.dispatch-hero__bar a { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 900; }
.dispatch-hero__grid { display: grid; grid-template-columns: 1.04fr .96fr; min-height: 660px; }
.dispatch-hero__copy { align-self: center; padding: 70px 64px 70px 0; }
.dispatch-hero h1 { max-width: 760px; color: #fff; }
.dispatch-hero__copy > p { max-width: 720px; color: #d9e4e2; font-size: 19px; }
.dispatch-hero__call { margin: 30px 0 22px; border-left: 5px solid var(--gold); }
.dispatch-hero__call small { display: block; padding: 0 0 5px 18px; color: var(--gold-light); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.dispatch-hero__call a { display: inline-flex; align-items: center; gap: 14px; padding-left: 18px; color: #fff; font-size: 33px; font-weight: 900; line-height: 1.2; }
.dispatch-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.dispatch-hero__actions .text-arrow { color: #fff; }
.hero-review { max-width: 720px; display: grid; grid-template-columns: auto 1fr; gap: 18px; margin-top: 32px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.25); }
.hero-review blockquote { margin: 0; color: #dbe5e4; font-style: italic; }
.hero-review small, .city-hero-review small { display: block; color: var(--gold-light); font-size: 10px; font-style: normal; font-weight: 900; text-transform: uppercase; }
.dispatch-hero__media { position: relative; min-width: 0; border-left: 1px solid rgba(255,255,255,.18); }
.dispatch-hero__image { width: 100%; height: 100%; min-height: 660px; object-fit: cover; }
.dispatch-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,38,59,.28), transparent 48%); pointer-events: none; }
.dispatch-hero__stamp { position: absolute; z-index: 2; top: 42px; right: 0; width: 148px; height: 148px; display: grid; place-content: center; padding: 15px; color: var(--ink); background: var(--gold); border: 8px double var(--ink); text-align: center; transform: rotate(4deg); }
.dispatch-hero__stamp strong { font-size: 17px; line-height: 1.05; }
.dispatch-hero__stamp span { margin-top: 6px; font-size: 11px; font-weight: 700; }
.dispatch-hero__caption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 74px 1fr; color: #fff; background: rgba(7,24,36,.92); }
.dispatch-hero__caption > span { display: grid; place-items: center; color: var(--ink); background: var(--gold); font-size: 26px; font-weight: 900; }
.dispatch-hero__caption div { padding: 20px 24px; }
.dispatch-hero__caption strong, .dispatch-hero__caption small { display: block; }
.dispatch-hero__caption small { color: #cddad8; }

.signal-strip { color: #fff; background: var(--petrol-dark); border-bottom: 5px solid var(--gold); }
.signal-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.signal-strip__grid > div { min-height: 112px; display: flex; align-items: center; gap: 14px; padding: 22px; border-right: 1px solid rgba(255,255,255,.2); }
.signal-strip__grid > div:first-child { border-left: 1px solid rgba(255,255,255,.2); }
.signal-strip b { color: var(--gold); font-size: 25px; }
.signal-strip span, .signal-strip strong, .signal-strip small { display: block; }
.signal-strip small { color: #d5e2e0; }

/* Shared services */
.services-board { padding: 100px 0; background: var(--mist); }
.board-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-bottom: 40px; }
.board-heading > div { max-width: 720px; }
.board-heading > p { max-width: 420px; margin: 0; color: var(--muted); }
.board-heading--light h2, .board-heading--light p { color: #fff; }
.services-board__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 2px solid var(--ink); border-left: 2px solid var(--ink); }
.service-tile { min-height: 335px; display: flex; flex-direction: column; padding: 28px; background: #fff; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transition: color .2s ease, background-color .2s ease; }
.service-tile__number { color: var(--petrol-dark); font-size: 14px; font-weight: 900; }
.service-tile__label { margin: 28px 0 6px; color: var(--petrol-dark); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.service-tile h3 { font-size: 24px; }
.service-tile p { color: var(--muted); font-size: 15px; }
.service-tile > strong { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); font-size: 15px; }
.service-tile:hover, .service-tile:focus-visible { color: #fff; background: var(--petrol-dark); }
.service-tile:hover h3, .service-tile:hover p, .service-tile:hover .service-tile__label, .service-tile:hover .service-tile__number, .service-tile:focus-visible h3, .service-tile:focus-visible p, .service-tile:focus-visible .service-tile__label, .service-tile:focus-visible .service-tile__number { color: #fff; }
.service-tile:hover > strong, .service-tile:focus-visible > strong { border-color: rgba(255,255,255,.35); }
.services-board__all { display: inline-flex; gap: 10px; margin-top: 28px; padding-bottom: 4px; border-bottom: 2px solid var(--ink); font-weight: 900; }

/* Homepage bands */
.call-billboard { padding: 54px 0; color: #fff; background: var(--gold); border-block: 2px solid var(--ink); }
.call-billboard__grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; }
.call-billboard h2 { max-width: 850px; margin-bottom: 10px; }
.call-billboard p { margin: 0; color: #243947; }
.billboard-kicker { color: var(--petrol-dark); font-size: 13px; font-weight: 900; text-transform: uppercase; }
.call-billboard__grid > a { min-width: 330px; display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 20px 24px; color: #fff; background: var(--navy); }
.call-billboard__grid > a small, .call-billboard__grid > a strong { display: block; }
.call-billboard__grid > a small { color: var(--gold-light); font-weight: 800; text-transform: uppercase; }
.call-billboard__grid > a strong { font-size: 24px; }
.call-billboard__grid > a svg { grid-row: 1 / 3; grid-column: 2; width: 32px; height: 32px; }

.inspection-section { padding: 100px 0; background: #fff; }
.inspection-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.inspection-media { position: relative; border: 2px solid var(--ink); }
.inspection-media__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.inspection-index { position: absolute; right: -2px; bottom: -2px; padding: 12px 18px; color: var(--ink); background: var(--gold); border: 2px solid var(--ink); font-size: 12px; font-weight: 900; }
.inspection-copy > p { color: var(--muted); }
.check-list { display: grid; gap: 12px; margin: 28px 0 34px; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.check-list svg { margin-top: .28em; color: var(--petrol-dark); }

.process-board { padding: 92px 0; color: #fff; background: var(--navy); border-top: 10px solid var(--gold); }
.process-board__grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.3); border-left: 1px solid rgba(255,255,255,.3); }
.process-board__grid li { min-height: 260px; padding: 28px; border-right: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); }
.process-board__grid > li > span { color: var(--gold); font-size: 36px; font-weight: 900; }
.process-board__grid h3 { margin-top: 48px; color: #fff; }
.process-board__grid p { color: #d5dfde; font-size: 15px; }

.proof-section { padding: 100px 0; background: var(--mist); }
.proof-grid { display: grid; grid-template-columns: 260px 1fr 330px; gap: 46px; align-items: center; }
.proof-badge { padding: 24px; background: #fff; border: 2px solid var(--ink); }
.proof-badge__image { width: 100%; aspect-ratio: 1; object-fit: contain; }
.proof-copy p { color: var(--muted); }
.proof-points { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 30px; border: 1px solid var(--line); }
.proof-points div { padding: 18px; border-right: 1px solid var(--line); }
.proof-points div:last-child { border-right: 0; }
.proof-points strong, .proof-points span { display: block; }
.proof-points span { color: var(--muted); font-size: 14px; }
.proof-review { display: grid; grid-template-columns: auto 1fr; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.proof-review p { margin: 4px 0 0; font-size: 14px; font-style: italic; }
.payment-box { padding: 30px; color: #fff; background: var(--petrol-dark); border-left: 8px solid var(--gold); }
.payment-box h3 { color: #fff; font-size: 30px; }
.payment-box > div { display: grid; gap: 10px; margin: 22px 0; }
.payment-box > div span { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.25); font-weight: 800; }
.payment-box p { margin: 0; color: #d5e2e0; font-size: 14px; }

/* Blog cards */
.blog-board, .blog-hub-section { padding: 100px 0; background: #fff; }
.blog-board__grid, .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); }
.post-card__media { display: block; overflow: hidden; }
.post-card__image { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .25s ease; }
.post-card:hover .post-card__image { transform: scale(1.025); }
.post-card__body { flex: 1; display: flex; flex-direction: column; padding: 26px; }
.post-card__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 15px; color: var(--petrol-dark); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.post-card h3 { font-size: 24px; }
.post-card p { color: var(--muted); font-size: 15px; }
.post-card .text-link { align-self: flex-start; margin-top: auto; padding-top: 8px; }

/* FAQ */
.faq-board { padding: 100px 0; background: var(--mist); border-top: 1px solid var(--line); }
.faq-board__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 72px; align-items: start; }
.faq-board__image { width: 100%; margin-top: 28px; aspect-ratio: 16 / 10; object-fit: cover; border: 2px solid var(--ink); }
.faq-board__list { border-top: 2px solid var(--ink); }
.faq-board details, .faq-list details { background: #fff; border-bottom: 1px solid var(--ink); }
.faq-board summary, .faq-list summary { min-height: 78px; display: flex; align-items: center; gap: 18px; padding: 20px 18px; cursor: pointer; font-weight: 800; list-style: none; }
.faq-board summary::-webkit-details-marker, .faq-list summary::-webkit-details-marker { display: none; }
.faq-board summary span, .faq-list summary span { color: var(--petrol-dark); font-size: 13px; font-weight: 900; }
.faq-board details > p, .faq-board details > div, .faq-list details > p, .faq-list details > div { margin: 0; padding: 0 18px 26px 52px; color: var(--muted); }
.faq-board__list > .button { margin-top: 24px; }

/* City */
.city-dispatch-hero { position: relative; min-height: 650px; color: #fff; background: var(--navy); overflow: hidden; }
.city-dispatch-hero__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.city-dispatch-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,24,36,.97) 0%, rgba(7,24,36,.87) 44%, rgba(7,24,36,.25) 82%); }
.city-dispatch-hero__content { position: relative; z-index: 1; max-width: var(--container); padding-top: 70px; padding-bottom: 70px; }
.city-dispatch-hero .breadcrumbs { color: #d9e1e0; }
.city-dispatch-hero h1 { max-width: 760px; color: #fff; }
.city-dispatch-hero__intro { max-width: 760px; color: #eef4f3; font-size: 19px; }
.city-dispatch-hero__intro p { margin-bottom: 0; }
.city-dispatch-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.city-hero-review { max-width: 780px; display: flex; align-items: flex-start; gap: 18px; margin-top: 32px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.3); color: #dce5e4; font-style: italic; }
.preview-raw-content { white-space: normal; overflow-wrap: anywhere; }
.city-overview-section { background: #fff; }
.city-overview-grid { display: grid; grid-template-columns: 1fr 380px; gap: 32px; }
.city-overview-card { padding: 46px; border: 2px solid var(--ink); }
.city-generated-content { color: var(--muted); }
.city-service-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.city-service-tags span { padding: 7px 11px; color: #fff; background: var(--petrol-dark); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.city-call-panel { padding: 38px; color: #fff; background: var(--navy); border-top: 8px solid var(--gold); }
.city-call-panel > span { color: var(--gold-light); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.city-call-panel h2 { margin-top: 18px; color: #fff; }
.city-call-panel p { color: #dbe4e3; }
.city-situation-section { padding: 92px 0; color: #fff; background: var(--petrol-dark); }
.city-situation-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.35); border-left: 1px solid rgba(255,255,255,.35); }
.city-situation-grid article { min-height: 370px; padding: 34px; border-right: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); }
.city-card-index { color: var(--gold); font-size: 28px; font-weight: 900; }
.city-situation-grid h3 { margin-top: 50px; color: #fff; }
.city-situation-grid p { color: #e2ebea; }
.city-footer-cta { padding: 54px 0; color: #fff; background: var(--gold); border-top: 2px solid var(--ink); }
.city-footer-cta__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; }
.city-footer-cta h2 { max-width: 800px; margin: 0; }
.city-footer-cta__phone { min-width: 310px; display: flex; align-items: center; gap: 14px; padding: 17px 20px; color: #fff; background: var(--navy); }
.city-footer-cta__phone svg { width: 26px; height: 26px; }
.city-footer-cta__phone span, .city-footer-cta__phone small, .city-footer-cta__phone strong { display: block; }
.city-footer-cta__phone small { color: var(--gold-light); font-size: 10px; text-transform: uppercase; }
.city-footer-cta__phone strong { font-size: 20px; }

/* Internal hubs and pages */
.page-hero, .hub-hero { padding: 78px 0; background: var(--mist); border-bottom: 2px solid var(--ink); }
.page-hero h1, .hub-hero h1 { max-width: 920px; }
.hub-hero__inner > p, .page-hero p { max-width: 780px; color: var(--muted); }
.booking-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.services-hub-section { background: #fff; }
.services-hub-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.services-hub-grid article { display: grid; grid-template-columns: 180px 1fr; border: 1px solid var(--line); }
.services-hub-card__media { position: relative; min-height: 250px; }
.services-hub-card__image { width: 100%; height: 100%; object-fit: cover; }
.services-hub-card__media span { position: absolute; left: 0; bottom: 0; padding: 8px 12px; color: #fff; background: var(--petrol-dark); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.services-hub-card__body { display: flex; flex-direction: column; padding: 26px; }
.services-hub-card__body h2 { font-size: 25px; }
.services-hub-card__body p { color: var(--muted); font-size: 15px; }
.services-hub-card__body .text-link { align-self: flex-start; margin-top: auto; }
.service-hub-process { padding: 60px 0; color: #fff; background: var(--petrol-dark); }
.service-hub-process__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 50px; }
.service-hub-process h2 { color: #fff; }
.service-hub-process p { margin: 0; color: #dce6e4; }
.empty-state { padding: 50px; border: 2px solid var(--ink); }
.pagination { margin-top: 40px; }

/* Service detail */
.service-page-hero { padding: 72px 0; background: var(--mist); border-bottom: 2px solid var(--ink); }
.service-page-hero__grid { display: grid; grid-template-columns: 1fr .9fr; gap: 70px; align-items: center; }
.service-page-hero__lead { max-width: 720px; color: var(--muted); font-size: 19px; }
.service-page-hero__note { display: flex; align-items: center; gap: 9px; margin-top: 22px; color: var(--muted); font-size: 14px; }
.service-page-hero__media { position: relative; border: 2px solid var(--ink); }
.service-page-hero__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.service-page-hero__status { display: flex; align-items: center; gap: 12px; padding: 18px; color: #fff; background: var(--navy); }
.service-page-hero__status strong, .service-page-hero__status small { display: block; }
.service-page-hero__status small { color: #cddbd9; }
.service-assurance { color: #fff; background: var(--petrol-dark); }
.service-assurance__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.service-assurance__grid > div { min-height: 100px; display: flex; align-items: center; gap: 14px; padding: 22px; border-right: 1px solid rgba(255,255,255,.25); }
.service-assurance strong, .service-assurance small { display: block; }
.service-assurance small { color: #d9e3e2; }
.service-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.service-overview__problem, .service-overview__scope { padding: 38px; border: 1px solid var(--line); }
.service-info-note { display: flex; gap: 14px; margin-top: 26px; padding: 20px; background: var(--mist); border-left: 5px solid var(--gold); }
.service-info-note p { margin: 0; }
.service-scope-list { display: grid; gap: 12px; margin: 24px 0 30px; padding: 0; list-style: none; }
.service-scope-list li { display: flex; align-items: flex-start; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.service-diagnostic-band { padding: 90px 0; color: #fff; background: var(--navy); }
.service-diagnostic-band__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.service-diagnostic-band__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 2px solid #fff; }
.service-diagnostic-band h2 { color: #fff; }
.service-diagnostic-band p { color: #d5e0df; }
.service-mini-points { display: grid; gap: 12px; margin-top: 24px; }
.service-mini-points span { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.service-mini-points strong { color: var(--gold); }
.service-process { display: grid; grid-template-columns: repeat(4, 1fr); margin: 36px 0 0; padding: 0; list-style: none; border: 1px solid var(--line); }
.service-process li { min-height: 240px; padding: 28px; border-right: 1px solid var(--line); }
.service-process li:last-child { border-right: 0; }
.service-process > li > span { color: var(--petrol-dark); font-size: 32px; font-weight: 900; }
.service-process h3 { margin-top: 38px; }
.service-process p { color: var(--muted); font-size: 15px; }
.service-editor-section { background: var(--mist); }
.faq-shell { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; }
.faq-intro p { color: var(--muted); }
.related-services-section { background: var(--mist); }
.section-heading { max-width: 820px; margin-bottom: 36px; }
.section-heading > p { color: var(--muted); }
.section-heading--row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.related-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.related-services-grid > a { min-height: 125px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; padding: 24px; background: #fff; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.related-services-grid strong, .related-services-grid small { display: block; }
.related-services-grid small { color: var(--muted); }

/* Content and posts */
.entry-content { color: #263a46; }
.entry-content h2 { margin-top: 1.5em; }
.entry-content h3 { margin-top: 1.35em; }
.entry-content a { color: var(--petrol-dark); text-decoration: underline; }
.entry-content ul { padding-left: 22px; }
.legal-page h2 { padding-top: 24px; border-top: 1px solid var(--line); }
.single-hero__grid { display: grid; grid-template-columns: 1fr 460px; gap: 60px; align-items: center; }
.single-hero__media img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; border: 2px solid var(--ink); }
.single-meta { display: flex; flex-wrap: wrap; gap: 12px; color: var(--petrol-dark); font-size: 13px; font-weight: 900; text-transform: uppercase; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 70px; align-items: start; }
.article-sidebar { position: sticky; top: 30px; padding: 30px; color: #fff; background: var(--navy); border-top: 8px solid var(--gold); }
.article-sidebar h2 { color: #fff; }
.article-sidebar p { color: #d6e1df; }
.editorial-note { margin-top: 50px; padding: 26px; background: var(--mist); border-left: 5px solid var(--petrol-dark); }
.editorial-note p { margin: 8px 0 0; }

/* Footer */
.footer-cta { padding: 56px 0; color: #fff; background: var(--petrol-dark); border-top: 8px solid var(--gold); }
.footer-cta__grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 50px; }
.footer-cta h2 { color: #fff; }
.footer-cta p { margin: 0; color: #d7e3e1; }
.footer-cta__grid > div:last-child { display: grid; gap: 10px; }
.footer-cta__phone { min-width: 330px; display: flex; align-items: center; gap: 14px; padding: 16px 20px; color: var(--ink); background: var(--gold); }
.footer-cta__phone span, .footer-cta__phone small, .footer-cta__phone strong { display: block; }
.footer-cta__phone small { font-size: 10px; text-transform: uppercase; }
.footer-cta__phone strong { font-size: 21px; }
.footer-cta__mail { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px; border: 1px solid rgba(255,255,255,.5); }
.footer-main { padding: 64px 0; color: #fff; background: var(--navy); }
.footer-grid { display: grid; grid-template-columns: 1.5fr .8fr 1fr .7fr; gap: 55px; }
.footer-logo { width: 260px; max-height: 78px; object-fit: contain; object-position: left center; background: #fff; }
.footer-about p { max-width: 390px; margin-top: 22px; color: #cddbd9; }
.footer-main h3 { color: var(--gold); font-size: 16px; text-transform: uppercase; }
.footer-main ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.footer-contact { display: grid; gap: 12px; }
.footer-contact a { display: flex; align-items: flex-start; gap: 9px; }
.footer-bottom { color: #c9d7d5; background: var(--ink); border-top: 1px solid rgba(255,255,255,.16); }
.footer-bottom .container { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-bottom p { margin: 0; }

@media (max-width: 1100px) {
	h1 { font-size: 48px; }
	h2 { font-size: 34px; }
	.header-alert__inner > div a:first-child { display: none; }
	.menu-toggle { display: grid; margin-left: auto; }
	.nav-shell__inner { position: relative; min-height: 78px; }
	.site-brand { max-width: 60%; width: 250px; }
	.primary-navigation { position: absolute; z-index: 110; top: calc(100% + 1px); right: 0; left: 0; display: none; padding: 24px; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--gold); }
	.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: 15px 4px; }
	.nav-call { width: 100%; justify-content: center; margin-top: 20px; }
	.dispatch-hero__grid { grid-template-columns: 1fr 1fr; }
	.dispatch-hero__copy { padding-right: 35px; }
	.dispatch-hero__call a { font-size: 27px; }
	.services-board__grid { grid-template-columns: repeat(2, 1fr); }
	.proof-grid { grid-template-columns: 220px 1fr; }
	.payment-box { grid-column: 1 / -1; }
	.city-overview-grid { grid-template-columns: 1fr 330px; }
	.services-hub-grid { grid-template-columns: 1fr; }
	.footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
	.footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 820px) {
	body { font-size: 16px; }
	h1 { font-size: 40px; }
	h2 { font-size: 31px; }
	.container { width: min(calc(100% - 32px), var(--container)); }
	.section, .services-board, .blog-board, .blog-hub-section, .faq-board, .proof-section, .inspection-section { padding: 70px 0; }
	.header-alert__inner { justify-content: center; }
	.header-alert__inner > span { display: none; }
	.dispatch-hero__bar span { display: none; }
	.dispatch-hero__grid { display: block; }
	.dispatch-hero__copy { padding: 58px 0; }
	.dispatch-hero__media { min-height: 500px; border: 0; }
	.dispatch-hero__image { min-height: 500px; }
	.signal-strip__grid { grid-template-columns: repeat(2, 1fr); }
	.signal-strip__grid > div:nth-child(odd) { border-left: 1px solid rgba(255,255,255,.2); }
	.board-heading { display: block; }
	.board-heading > p, .board-heading > a { margin-top: 18px; }
	.call-billboard__grid, .inspection-grid, .faq-board__grid, .city-overview-grid, .city-footer-cta__inner, .service-page-hero__grid, .service-overview, .service-diagnostic-band__grid, .faq-shell, .single-hero__grid, .content-layout, .footer-cta__grid { grid-template-columns: 1fr; }
	.call-billboard__grid > a, .city-footer-cta__phone, .footer-cta__phone { min-width: 0; width: 100%; }
	.process-board__grid, .service-process { grid-template-columns: repeat(2, 1fr); }
	.proof-grid { grid-template-columns: 180px 1fr; }
	.proof-points { grid-template-columns: 1fr; }
	.proof-points div { border-right: 0; border-bottom: 1px solid var(--line); }
	.blog-board__grid, .blog-grid { grid-template-columns: 1fr; }
	.city-situation-grid { grid-template-columns: 1fr; }
	.city-situation-grid article { min-height: 0; }
	.services-hub-grid article { grid-template-columns: 160px 1fr; }
	.service-assurance__grid { grid-template-columns: 1fr; }
	.service-assurance__grid > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); }
	.related-services-grid { grid-template-columns: 1fr; }
	.article-sidebar { position: static; }
	.footer-grid { grid-template-columns: repeat(2, 1fr); }
	.footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 560px) {
	h1 { font-size: 34px; }
	h2 { font-size: 28px; }
	h3 { font-size: 20px; }
	.container { width: min(calc(100% - 24px), var(--container)); }
	.header-alert__inner > div { width: 100%; justify-content: center; }
	.nav-shell__inner { min-height: 72px; gap: 12px; }
	.site-brand { width: 205px; max-width: calc(100% - 62px); }
	.site-brand img, .site-brand__image { max-height: 50px; }
	.menu-toggle { width: 46px; height: 46px; flex: 0 0 46px; }
	.primary-navigation { top: calc(100% + 1px); right: 0; left: 0; max-height: calc(100vh - 122px); overflow-y: auto; }
	.dispatch-hero__bar .container { justify-content: space-between; }
	.dispatch-hero__bar a { margin-left: 0; }
	.dispatch-hero__copy { padding: 46px 0; }
	.dispatch-hero__copy > p, .city-dispatch-hero__intro { font-size: 17px; }
	.dispatch-hero__call a { font-size: 22px; }
	.dispatch-hero__actions, .city-dispatch-hero__actions, .booking-hero__actions { display: grid; }
	.dispatch-hero__actions .button, .city-dispatch-hero__actions .button, .booking-hero__actions .button { width: 100%; }
	.hero-review, .city-hero-review { grid-template-columns: 1fr; display: grid; }
	.dispatch-hero__media, .dispatch-hero__image { min-height: 390px; }
	.dispatch-hero__stamp { width: 112px; height: 112px; top: 22px; border-width: 5px; }
	.dispatch-hero__stamp strong { font-size: 13px; }
	.dispatch-hero__caption { grid-template-columns: 55px 1fr; }
	.dispatch-hero__caption div { padding: 15px; }
	.signal-strip__grid { grid-template-columns: 1fr; }
	.signal-strip__grid > div { min-height: 82px; border-left: 1px solid rgba(255,255,255,.2); }
	.services-board__grid { grid-template-columns: 1fr; }
	.service-tile { min-height: 285px; }
	.call-billboard__grid { gap: 28px; }
	.inspection-grid { gap: 42px; }
	.inspection-index { position: static; display: block; border-inline: 0; border-bottom: 0; }
	.process-board__grid, .service-process { grid-template-columns: 1fr; }
	.process-board__grid li, .service-process li { min-height: 0; border-right: 1px solid rgba(255,255,255,.3); }
	.service-process li { border-right: 0; border-bottom: 1px solid var(--line); }
	.process-board__grid h3, .service-process h3 { margin-top: 20px; }
	.proof-grid { grid-template-columns: 1fr; }
	.proof-badge { max-width: 260px; margin-inline: auto; }
	.city-dispatch-hero { min-height: 0; }
	.city-dispatch-hero__overlay { background: rgba(7,24,36,.84); }
	.city-dispatch-hero__content { padding-top: 48px; padding-bottom: 48px; }
	.city-overview-card, .city-call-panel, .service-overview__problem, .service-overview__scope { padding: 26px; }
	.city-situation-grid article { padding: 27px; }
	.city-situation-grid h3 { margin-top: 28px; }
	.services-hub-grid article { grid-template-columns: 1fr; }
	.services-hub-card__media { min-height: 220px; }
	.service-page-hero { padding: 52px 0; }
	.service-page-hero__grid { gap: 42px; }
	.service-hub-process__inner { grid-template-columns: 1fr; }
	.section-heading--row { display: block; }
	.faq-board details > p, .faq-board details > div, .faq-list details > p, .faq-list details > div { padding-left: 18px; }
	.footer-grid { grid-template-columns: 1fr; }
	.footer-grid > div:last-child { grid-column: auto; }
	.footer-bottom .container { min-height: 76px; flex-direction: column; justify-content: center; align-items: flex-start; gap: 3px; }
}
