
:root{--bg:#F4F1EA;--surface:#FFFCF7;--surface-2:#E9EEF5;--ink:#28313C;--muted:#66717D;--line:#D8DEE7;--primary:#4A6FA5;--primary-dark:#34527A;--accent:#8EA6C4;--shadow:0 18px 50px rgba(52,82,122,.10);--radius:20px;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 36px),var(--container));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:8px;z-index:999;background:#fff;padding:10px}.skip-link:focus{left:8px}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,222,231,.8)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-weight:600;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--primary);color:#fff;font-weight:800;font-size:.88rem}.main-nav{display:flex;align-items:center;gap:22px;font-size:.93rem}.main-nav>a,.nav-drop-button{color:#536170}.main-nav>a:hover,.main-nav>a.active,.nav-drop-button:hover{color:var(--primary)}.nav-dropdown{position:relative}.nav-drop-button{border:0;background:none;padding:12px 0;cursor:pointer}.nav-drop-menu{position:absolute;top:46px;left:-18px;width:240px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.nav-dropdown:hover .nav-drop-menu,.nav-dropdown.open .nav-drop-menu{opacity:1;visibility:visible;transform:none}.nav-drop-menu a{display:block;padding:9px 11px;border-radius:9px}.nav-drop-menu a:hover{background:var(--surface-2);color:var(--primary)}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:13px;background:var(--primary);color:#fff;font-weight:700;border:1px solid var(--primary);transition:.2s;box-shadow:0 8px 22px rgba(74,111,165,.18)}.btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--primary);box-shadow:none}.btn-small{padding:10px 14px}.btn-light{background:#fff;color:var(--primary);border-color:#fff}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:750;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}.eyebrow:before{content:"";width:28px;height:2px;background:var(--accent)}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em;margin:0 0 18px}h1{font-size:clamp(2.7rem,6vw,5.5rem);max-width:900px}h2{font-size:clamp(2rem,4vw,3.3rem)}h3{font-size:1.35rem}p{margin:0 0 18px;color:var(--muted)}.lead{font-size:clamp(1.08rem,2vw,1.3rem);max-width:720px}.hero{padding:90px 0 70px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:60px}.hero h1 span{color:var(--primary)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.trust-row{display:flex;gap:22px;flex-wrap:wrap;color:#5D6975;font-size:.92rem}.trust-row span{display:flex;align-items:center;gap:7px}.hero-visual{position:relative;min-height:490px}.door-card{position:absolute;inset:10px 0 0 40px;border-radius:34px;background:linear-gradient(145deg,#E6EAF0,#FFFCF7);border:1px solid #D4DCE7;box-shadow:var(--shadow);overflow:hidden}.door-shape{position:absolute;width:58%;height:74%;right:10%;bottom:0;background:#fff;border:14px solid #BCC9D9;border-bottom:0;border-radius:160px 160px 0 0}.door-shape:before{content:"";position:absolute;inset:35px 28px 0;background:#E1E7EF;border-radius:120px 120px 0 0}.key-shape{position:absolute;left:11%;top:20%;width:160px;height:160px;border:28px solid var(--primary);border-radius:50%;transform:rotate(-35deg)}.key-shape:before{content:"";position:absolute;width:210px;height:28px;background:var(--primary);left:100px;top:38px;border-radius:0 14px 14px 0}.key-shape:after{content:"";position:absolute;width:28px;height:60px;background:var(--primary);left:245px;top:38px;box-shadow:45px 0 var(--primary)}.floating-card{position:absolute;left:0;bottom:25px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow);max-width:220px}.floating-card strong{display:block;font-size:1.1rem}.floating-card span{color:var(--muted);font-size:.9rem}
.section{padding:88px 0}.section-alt{background:var(--surface-2)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}.section-head p{max-width:600px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#C7D2E0}.card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--surface-2);color:var(--primary);font-size:1.5rem;margin-bottom:22px}.card-link{color:var(--primary);font-weight:700;display:inline-flex;align-items:center;gap:6px}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{position:relative;padding:30px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--line)}.step:before{counter-increment:step;content:"0" counter(step);display:block;color:var(--accent);font-size:1.8rem;font-weight:800;margin-bottom:28px}.district-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.district-link{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;background:var(--surface);border:1px solid var(--line);border-radius:15px;font-weight:700}.district-link:hover{border-color:var(--accent);color:var(--primary)}.cta{padding:70px 0;background:var(--primary);color:#fff}.cta p{color:#EAF0F7;max-width:670px}.cta .eyebrow{color:#EAF0F7}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{max-width:700px}.breadcrumbs{padding-top:26px}.breadcrumbs ol{display:flex;gap:8px;list-style:none;padding:0;margin:0;color:var(--muted);font-size:.88rem}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:8px}.page-hero{padding:60px 0 55px}.page-hero h1{font-size:clamp(2.6rem,5vw,4.7rem)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:55px}.content h2{margin-top:48px}.content h3{margin-top:30px}.content ul{padding-left:20px}.content li{margin:8px 0;color:var(--muted)}.sidebar-card{position:sticky;top:105px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px}.sidebar-card .btn{width:100%;margin-top:10px}.check-list{list-style:none;padding:0}.check-list li{display:flex;gap:10px}.check-list .icon{color:var(--primary);flex:0 0 auto;margin-top:4px}.price-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:18px;overflow:hidden;border:1px solid var(--line)}.price-table th,.price-table td{text-align:left;padding:17px 20px;border-bottom:1px solid var(--line)}.price-table th{background:var(--surface-2)}.notice{padding:18px 20px;border-left:4px solid var(--primary);background:#E8EEF5;border-radius:0 12px 12px 0}.faq-list{display:grid;gap:12px}.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden}.faq-question{width:100%;display:flex;justify-content:space-between;gap:15px;text-align:left;padding:21px;border:0;background:none;color:var(--ink);font-weight:750;cursor:pointer}.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s}.faq-answer p{padding:0 21px 20px}.faq-item.open .faq-answer{max-height:260px}.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.contact-card,.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:.92rem}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff;color:var(--ink)}.field textarea{min-height:140px;resize:vertical}.blog-card .placeholder{height:180px;border-radius:15px;background:linear-gradient(135deg,#DEE7F0,#FAF8F3);margin-bottom:22px;display:grid;place-items:center;color:var(--primary);font-size:2rem}.article-meta{color:var(--muted);font-size:.9rem;margin-bottom:22px}.empty-article{padding:35px;border:1px dashed #A8B8CB;background:rgba(255,255,255,.5);border-radius:18px;text-align:center}.site-footer{padding:65px 0 25px;background:#DDE5EE}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px}.footer-grid h2{font-size:1rem;letter-spacing:0;margin-bottom:16px}.footer-grid a:not(.brand){display:block;color:#506277;margin:8px 0}.footer-brand{margin-bottom:18px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;margin-top:35px;border-top:1px solid #C5D0DE;color:#657589;font-size:.86rem}.mobile-call{display:none}
@media(max-width:980px){.menu-toggle{display:block}.main-nav{position:absolute;top:78px;left:18px;right:18px;display:none;align-items:stretch;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);padding:18px;border-radius:18px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.nav-drop-menu{position:static;width:auto;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:var(--surface-2);display:none}.nav-dropdown.open .nav-drop-menu{display:block}.hero-grid,.content-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{min-height:410px}.grid-3,.steps,.district-grid{grid-template-columns:repeat(2,1fr)}.sidebar-card{position:static}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body{padding-bottom:68px}.container{width:min(calc(100% - 24px),var(--container))}.hero{padding:55px 0 45px}.hero-grid{gap:32px}.hero-visual{min-height:320px}.door-card{left:20px}.key-shape{transform:scale(.68) rotate(-35deg);transform-origin:left top}.floating-card{padding:14px}.section{padding:65px 0}.section-head,.cta-inner{align-items:flex-start;flex-direction:column}.grid-3,.steps,.district-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.mobile-call{display:flex;position:fixed;z-index:60;left:10px;right:10px;bottom:9px;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:#fff;padding:13px;border-radius:13px;font-weight:800;box-shadow:var(--shadow)}.page-hero{padding:45px 0 35px}.card{padding:23px}.price-table{font-size:.9rem}.price-table th,.price-table td{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Shared page hero using the homepage Budapest artwork */
.page-hero {
  min-height: 390px;
  display: flex;
  align-items: center;
  padding: 68px 0;
  background-image: url('/assets/images/hero-budapest-premium.webp');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-block: 1px solid var(--line);
}
.page-hero .container {
  width: min(calc(100% - 36px), var(--container));
}
.page-hero .eyebrow,
.page-hero h1,
.page-hero .lead {
  max-width: 610px;
}
.page-hero .lead {
  color: #596777;
}
@media (max-width: 900px) {
  .page-hero {
    min-height: 350px;
    background-position: 58% center;
  }
  .page-hero .eyebrow,
  .page-hero h1,
  .page-hero .lead {
    max-width: 56%;
  }
}
@media (max-width: 640px) {
  .page-hero {
    min-height: 370px;
    padding: 52px 0;
    background-image:
      linear-gradient(90deg, rgba(244,241,234,.97) 0%, rgba(244,241,234,.91) 64%, rgba(244,241,234,.30) 100%),
      url('/assets/images/hero-budapest-premium.webp');
    background-position: 64% center;
  }
  .page-hero .eyebrow,
  .page-hero h1,
  .page-hero .lead {
    max-width: 88%;
  }
}

/* Call and WhatsApp action pairs */
.btn-whatsapp{background:#3F6F83;border-color:#3F6F83;color:#fff;box-shadow:0 8px 22px rgba(63,111,131,.18)}
.btn-whatsapp:hover{background:#315B6C;border-color:#315B6C}
.btn-whatsapp-light{background:transparent;border-color:rgba(255,255,255,.72);color:#fff;box-shadow:none}
.btn-whatsapp-light:hover{background:rgba(255,255,255,.1);border-color:#fff}
.cta-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sidebar-card .btn-whatsapp,.contact-card .btn-whatsapp{margin-top:10px}
@media(max-width:640px){.cta-actions{width:100%;flex-direction:column;align-items:stretch}.cta-actions .btn{width:100%}}

/* Mobile emergency call action */
.mobile-call .icon{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.mobile-call{min-height:52px;letter-spacing:.01em}.mobile-call:focus-visible{outline:3px solid rgba(255,255,255,.9);outline-offset:2px}}

/* Content update: long-form service, district and advice pages */
.content{min-width:0}.content>h2:first-child{margin-top:0}.content h2{scroll-margin-top:110px}.content h3{font-size:1.28rem}.content p a{font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.content .btn{text-decoration:none;margin-right:8px}.content .faq-list{margin-top:20px}.content-grid{align-items:start}.db-nav{gap:22px}.db-nav a{white-space:nowrap}@media(max-width:1120px) and (min-width:981px){.db-nav{gap:12px}.db-nav a{font-size:.84rem}.db-phone{font-size:.86rem}}


/* coverage-contact-layout-fix */
.coverage-intro{max-width:820px;margin:0 auto 64px;text-align:center}
.coverage-intro h2{margin-top:10px}
.coverage-intro p{max-width:760px;margin-left:auto;margin-right:auto}
.coverage-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.coverage-heading{margin-top:10px}
.coverage-card-grid{align-items:stretch}
.coverage-card{display:flex;flex-direction:column;min-height:285px}
.coverage-card p{flex:1}
.coverage-card .card-link{margin-top:16px}
.district-number{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--surface-2);color:var(--primary);font-size:1.05rem;font-weight:850;margin-bottom:20px}
.coverage-all-districts{max-width:820px;margin:70px auto 0;padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:center}
.coverage-all-districts p{max-width:720px;margin-left:auto;margin-right:auto}
.contact-quick-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:30px;align-items:start;max-width:1180px;margin:0 auto}
.contact-primary{padding:38px}
.contact-primary h2,.contact-form-card h2{margin-top:10px}
.contact-actions{display:grid;gap:12px;margin:26px 0 20px}
.contact-actions .btn{width:100%}
.contact-estimate{font-size:.93rem;padding-top:18px;border-top:1px solid var(--line)}
.contact-email{display:inline-block;margin-top:6px;color:var(--primary);font-weight:750}
.contact-form-card{padding:38px}
.form-note{margin:0 0 12px;font-size:.9rem;color:var(--muted)}
@media(max-width:980px){.contact-quick-grid{grid-template-columns:1fr;max-width:760px}}
@media(max-width:680px){.coverage-intro{text-align:left;margin-bottom:46px}.coverage-actions{justify-content:stretch;flex-direction:column}.coverage-actions .btn{width:100%}.coverage-all-districts{padding:25px;text-align:left}.contact-primary,.contact-form-card{padding:24px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}


/* desktop-typography-and-clickable-card-fix */
@media (min-width:681px){
  h1{font-size:clamp(2.5rem,4.5vw,4rem)}
  .page-hero h1{font-size:clamp(2.4rem,4vw,3.5rem)}
  h2{font-size:clamp(1.75rem,2.7vw,2.5rem)}
  .content h2{font-size:clamp(1.7rem,2.5vw,2.25rem)}
}
.card-full-link{display:flex;flex-direction:column;color:inherit;text-decoration:none;cursor:pointer}
.card-full-link:hover{color:inherit}
.card-full-link:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
.card-full-link .card-link{margin-top:16px;color:var(--primary);font-weight:700;display:inline-flex;align-items:center;gap:6px}
.coverage-card.card-full-link p{flex:1}
.blog-card.card-full-link .card-link{margin-top:auto;padding-top:14px}

/* Shared header, navigation and footer */
:root {
  --chrome-primary: #4A6FA5;
  --chrome-primary-dark: #263C57;
  --chrome-line: #D8DEE7;
  --chrome-ink: #28313C;
  --chrome-shadow: 0 14px 40px rgba(52, 82, 122, .09);
}

.db-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.db-header,
.db-footer,
.db-header *,
.db-footer * {
  box-sizing: border-box;
}

.db-header a,
.db-footer a {
  text-decoration: none;
}

.db-header svg,
.db-footer svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}


.db-chrome-standalone .db-header,
.db-chrome-standalone .db-footer {
  width: min(1500px, calc(100% - 32px));
  margin-right: auto;
  margin-left: auto;
}

.db-header {
  height: 92px;
  padding: 0 39px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  background: #fff;
  border: 1px solid var(--chrome-line);
  border-radius: 15px 15px 0 0;
  position: relative;
  z-index: 30;
}

.db-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--chrome-ink);
  font-size: .77rem;
  line-height: 1.05;
  letter-spacing: .06em;
  font-weight: 700;
}

.db-brand strong { font-size: 1.02rem; }

.db-logo-mark {
  width: 39px;
  height: 44px;
  display: grid;
  place-items: center;
  position: relative;
  color: var(--chrome-primary);
}

.db-logo-mark svg {
  width: 39px;
  height: 44px;
  stroke-width: 1.6;
}

.db-logo-mark > span {
  position: absolute;
  font-weight: 900;
  font-size: .78rem;
}

.db-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 34px;
}

.db-nav a {
  color: #2F3945;
  font-size: .83rem;
  font-weight: 600;
  white-space: nowrap;
  transition: color .18s ease;
}

.db-nav a:hover,
.db-nav a[aria-current="page"] { color: var(--chrome-primary); }

.db-nav a[aria-current="page"] { position: relative; }

.db-nav a[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 2px;
  border-radius: 99px;
  background: var(--chrome-primary);
}

.db-phone {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  color: #fff;
  background: var(--chrome-primary);
  border-radius: 8px;
  font-size: .84rem;
  font-weight: 750;
  box-shadow: 0 6px 15px rgba(78, 136, 69, .17);
  transition: transform .18s ease, background .18s ease;
}

.db-phone:hover {
  color: #fff;
  background: #405E83;
  transform: translateY(-1px);
}

.db-phone svg { width: 17px; height: 17px; }

.db-menu-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
}

.db-menu-toggle span:not(.sr-only) {
  display: block;
  width: 25px;
  height: 2px;
  margin: 5px;
  background: #263C57;
}

.db-footer {
  padding: 45px 70px 20px;
  color: #fff;
  background: var(--chrome-primary-dark);
}

.db-footer-grid {
  display: grid;
  grid-template-columns: 1.35fr repeat(4, 1fr);
  gap: 55px;
}

.db-footer .db-brand { color: #fff; }
.db-footer-brand { margin-bottom: 17px; }

.db-footer-grid h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.db-footer-grid p {
  max-width: 240px;
  color: #DCE4EE;
  font-size: .74rem;
  line-height: 1.55;
}

.db-footer-grid > div:not(:first-child) {
  display: flex;
  flex-direction: column;
}

.db-footer-grid a,
.db-footer-grid span {
  margin: 0 0 7px;
  color: #E6EDF5;
  font-size: .71rem;
}

.db-footer-grid a:hover { color: #fff; }

.db-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 35px;
  padding-top: 17px;
  color: #AEBCCF;
  border-top: 1px solid #405A7A;
  font-size: .68rem;
}

@media (max-width: 1200px) {
  .db-nav { gap: 16px; }
  .db-footer-grid { gap: 28px; }
}

@media (max-width: 980px) {
  .db-header {
    height: 78px;
    padding: 0 22px;
    grid-template-columns: auto auto 1fr;
  }

  .db-menu-toggle {
    display: block;
    justify-self: end;
  }

  .db-phone {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin-right: 50px;
  }

  .db-nav {
    position: absolute;
    top: 78px;
    left: 14px;
    right: 14px;
    display: none;
    padding: 18px;
    align-items: flex-start;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--chrome-line);
    border-radius: 10px;
    box-shadow: var(--chrome-shadow);
  }

  .db-nav.open { display: flex; }

  .db-nav a[aria-current="page"]::after { display: none; }

  .db-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .db-footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .db-chrome-standalone .db-header,
  .db-chrome-standalone .db-footer { width: 100%; }

  .db-header {
    padding: 0 15px;
    border-radius: 0;
  }

  .db-phone { display: none; }
  .db-brand { font-size: .68rem; }
  .db-logo-mark { width: 34px; height: 39px; }
  .db-logo-mark svg { width: 34px; height: 39px; }

  .db-footer { padding: 40px 24px 20px; }
  .db-footer-grid { gap: 30px; }
  .db-footer-bottom { flex-direction: column; }
}

@media (max-width: 420px) {
  .db-footer-grid { grid-template-columns: 1fr; }
  .db-footer-grid > div:first-child { grid-column: auto; }
}


/* Mobile navigation interaction fixes */
@media (max-width: 980px) {
  .db-header {
    grid-template-columns: auto 1fr auto;
  }

  .db-brand {
    grid-column: 1;
    grid-row: 1;
  }

  .db-phone {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin-right: 0;
  }

  .db-menu-toggle {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin-left: 8px;
  }

  .db-nav {
    gap: 2px;
    align-items: stretch;
  }

  .db-nav a {
    display: flex;
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    align-items: center;
    border-radius: 8px;
  }

  .db-nav a:hover,
  .db-nav a:focus-visible {
    color: var(--chrome-primary, var(--db-primary));
    background: var(--db-soft, #E9EEF5);
  }
}

@media (max-width: 680px) {
  .db-header {
    grid-template-columns: auto 1fr auto;
  }

  .db-menu-toggle {
    grid-column: 3;
  }
}

/* Services dropdown and coverage layout fix */
.db-nav-dropdown{position:relative;display:flex;align-items:center}
.db-nav-trigger{display:flex;align-items:center;gap:.25rem}
.db-nav-menu{display:none;position:absolute;top:100%;left:0;min-width:245px;background:#fffdf9;border:1px solid rgba(38,60,87,.14);border-radius:14px;padding:.55rem;box-shadow:0 16px 40px rgba(38,60,87,.16);z-index:50}
.db-nav-menu a{display:block;padding:.72rem .85rem;border-radius:9px;white-space:nowrap}
.db-nav-menu a:hover,.db-nav-menu a[aria-current="page"]{background:#eef3f9}
.db-nav-dropdown:hover .db-nav-menu,.db-nav-dropdown:focus-within .db-nav-menu{display:block}
.db-nav-dropdown.is-current>.db-nav-trigger{color:var(--blue,#4a6fa5)}
.coverage-hub .content-grid{align-items:start}
.coverage-hub .coverage-intro{text-align:left;max-width:none;margin:0}
.coverage-hub .coverage-heading{margin-top:2.5rem}
@media(max-width:980px){
 .db-nav-dropdown{display:block;width:100%}
 .db-nav-menu{position:static;display:block;box-shadow:none;border:0;border-left:2px solid rgba(74,111,165,.22);border-radius:0;background:transparent;margin:.15rem 0 .35rem .7rem;padding:.15rem 0 .15rem .55rem;min-width:0}
 .db-nav-menu a{padding:.55rem .65rem;font-size:.94rem}
 .db-nav-trigger span{display:none}
}


/* Exact header and brand parity on the homepage and all subpages */
.db-home .db-header,.db-chrome-standalone .db-header{height:92px;padding:0 39px;grid-template-columns:auto 1fr auto;gap:28px}
.db-home .db-brand,.db-chrome-standalone .db-brand{gap:10px;font-size:.77rem;line-height:1.05;letter-spacing:.06em;font-weight:700}
.db-home .db-brand strong,.db-chrome-standalone .db-brand strong{font-size:1.02rem}
.db-header .db-logo-mark{width:39px;height:44px}
.db-header .db-logo-mark svg{width:39px;height:44px;stroke-width:1.75}
.db-header .db-logo-mark>span{font-size:.78rem}
@media(max-width:980px){.db-home .db-header,.db-chrome-standalone .db-header{height:78px;padding:0 22px;grid-template-columns:auto auto 1fr}}
@media(max-width:680px){.db-home .db-header,.db-chrome-standalone .db-header{padding:0 15px}.db-header .db-logo-mark{width:34px;height:39px}.db-header .db-logo-mark svg{width:34px;height:39px}.db-home .db-brand,.db-chrome-standalone .db-brand{font-size:.68rem}}


/* Canonical homepage header: same standalone geometry as every subpage */
.db-home > .db-header {
  width: min(1500px, calc(100% - 32px));
  margin-right: auto;
  margin-left: auto;
  height: 92px;
  padding: 0 39px;
  grid-template-columns: auto 1fr auto;
  gap: 28px;
}
.db-home > .db-header .db-brand {
  font-size: .77rem;
  line-height: 1.05;
  letter-spacing: .06em;
  gap: 10px;
}
.db-home > .db-header .db-brand strong { font-size: 1.02rem; }
.db-home > .db-header .db-logo-mark { width: 39px; height: 44px; }
.db-home > .db-header .db-logo-mark svg { width: 39px; height: 44px; stroke-width: 1.6; }
.db-home > .db-header .db-logo-mark > span { font-size: .78rem; }
@media (max-width:980px) {
  .db-home > .db-header {
    height: 78px;
    padding: 0 22px;
    grid-template-columns: auto 1fr auto;
  }
}
@media (max-width:680px) {
  .db-home > .db-header { width: 100%; padding: 0 15px; border-radius: 0; }
  .db-home > .db-header .db-logo-mark { width: 34px; height: 39px; }
  .db-home > .db-header .db-logo-mark svg { width: 34px; height: 39px; }
  .db-home > .db-header .db-brand { font-size: .68rem; }
}

/* v7: homepage header/footer use the exact standalone geometry of subpages */
.db-home > .db-header,
.db-home > .db-footer {
  width: min(1500px, calc(100% - 32px));
  margin-right: auto;
  margin-left: auto;
}
.db-home > .db-header .db-logo-mark svg {
  stroke-width: 1.75;
}
@media (max-width: 680px) {
  .db-home > .db-header,
  .db-home > .db-footer {
    width: 100%;
  }
}

/* v8: lock the header brand typography to one canonical font and weight on every page. */
.db-header,
.db-header .db-brand,
.db-header .db-brand > span,
.db-header .db-brand strong {
  font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-style: normal;
  font-variant: normal;
  font-synthesis: none;
}
.db-header .db-brand {
  font-size: 12.32px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: .7392px;
}
.db-header .db-brand strong {
  font-size: 16.32px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: .9792px;
}
.db-header .db-logo-mark > span {
  font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size: 12.48px;
  font-weight: 800;
  line-height: 1;
}
@media (max-width: 680px) {
  .db-header .db-brand { font-size: 10.88px; }
  .db-header .db-brand strong { font-size: 16.32px; }
}

/* Related service and district navigation */
.related-links-section{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
.related-links-section>p{max-width:760px;margin-bottom:22px}
.related-card-grid{align-items:stretch}
.related-card{display:flex;flex-direction:column;min-height:190px;text-decoration:none;color:inherit}
.related-card p{flex:1}
.related-card .card-link{margin-top:16px}
.db-hero-tagline{margin:12px 0 0;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700;line-height:1.25;color:var(--navy)}
@media (max-width:720px){.related-links-section{margin-top:36px;padding-top:24px}.related-card{min-height:auto}.db-hero-tagline{font-size:1.2rem}}

/* Contact form delivery status and spam trap */
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{margin:1rem 0;padding:.9rem 1rem;border-radius:.75rem;font-weight:650;line-height:1.45}
.form-status.is-success{background:#edf7f0;border:1px solid #77a987;color:#234d31}
.form-status.is-error{background:#fff1ee;border:1px solid #cf887b;color:#762d22}

/* Legal pages and cookie consent */
.legal-layout{max-width:900px}.legal-content h2{margin-top:2rem}.legal-content p,.legal-content li{max-width:78ch}.legal-table-wrap{overflow-x:auto}.legal-table{width:100%;border-collapse:collapse;margin:1.25rem 0}.legal-table th,.legal-table td{padding:.9rem;border:1px solid rgba(16,35,62,.16);text-align:left;vertical-align:top}.footer-link-button,.inline-link-button{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;cursor:pointer}.db-footer .footer-link-button{display:block;color:inherit;text-decoration:none;margin:.28rem 0}.db-footer .footer-link-button:hover{text-decoration:underline}.consent-label{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;line-height:1.45}.consent-label input{margin-top:.22rem;flex:0 0 auto}.cookie-consent{position:relative;z-index:9999}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:1100px;margin:auto;background:#fff;color:#10233e;border:1px solid rgba(16,35,62,.18);box-shadow:0 16px 50px rgba(16,35,62,.22);border-radius:18px;padding:1.15rem 1.25rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.cookie-banner[hidden]{display:none}.cookie-banner h2,.cookie-panel h2{font-size:1.35rem;margin:0 0 .35rem}.cookie-banner p{margin:0;max-width:72ch}.cookie-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.cookie-actions .btn{white-space:nowrap}.cookie-modal{position:fixed;inset:0;background:rgba(5,15,30,.58);display:grid;place-items:center;padding:1rem}.cookie-modal[hidden]{display:none}.cookie-panel{position:relative;background:#fff;color:#10233e;width:min(620px,100%);max-height:90vh;overflow:auto;border-radius:20px;padding:1.5rem;box-shadow:0 22px 70px rgba(0,0,0,.3)}.cookie-close{position:absolute;right:1rem;top:.75rem;border:0;background:none;font-size:2rem;line-height:1;cursor:pointer}.cookie-option{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid rgba(16,35,62,.12)}.cookie-option span{display:grid;gap:.25rem}.cookie-option small{color:#5f6d7d}.cookie-option input{width:1.2rem;height:1.2rem}.cookie-panel .cookie-actions{margin-top:1rem}@media(max-width:760px){.cookie-banner{grid-template-columns:1fr;bottom:.75rem}.cookie-actions{justify-content:stretch}.cookie-actions .btn{flex:1 1 auto}.cookie-panel{padding:1.25rem}}
