/* Direct structural match to the supplied white-header / field-photo / blue emergency card reference. */
:root { --ref-blue:#0867d8; --ref-deep:#03194b; --ref-sky:#eaf7ff; }

body { padding-bottom:104px; }
.topline { display:none; }
.site-header { position:relative; z-index:30; background:#fff; }
.header-inner { height:78px; }
.brand-mark { background:transparent; color:#0793ed; box-shadow:none; width:45px; height:45px; }
.brand-mark svg { width:40px; height:40px; }
.brand-copy b { color:#074caa; font-size:22px; }
.brand-copy small { color:#174b99; font-size:10px; margin-top:3px; }
.desktop-nav { margin-left:auto; gap:24px; }
.nav-link { font-size:13px; color:#13234e; border-bottom:0; padding:0 2px; }
.nav-link:hover,.nav-link.is-active { color:var(--ref-blue); border-bottom:0; }
.nav-link.is-active::after { content:""; position:absolute; margin-top:43px; width:5px; height:5px; border-radius:50%; background:var(--ref-blue); }
.header-call { margin-left:8px; min-width:158px; padding:8px 10px 9px 35px; border-radius:11px; background:linear-gradient(135deg,#0d80ed,#0756c5); box-shadow:none; }
.header-call::before { margin-left:-111px; margin-top:8px; font-size:23px; }
.header-call strong { font-size:20px; }

/* The working photo spans the full hero; copy and the emergency card sit on top. */
.home-hero { min-height:486px; overflow:visible; background:#061f59; }
.home-hero::after { display:none; }
.hero-layout { position:relative; display:block; min-height:432px; padding:0; }
.hero-proof { position:absolute; inset:0; z-index:0; display:block; overflow:hidden; border:0; border-radius:0; box-shadow:none; background:#061f59; }
.hero-proof::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,18,55,.82) 0%,rgba(2,24,67,.56) 42%,rgba(3,25,74,.12) 70%,rgba(3,25,74,.35) 100%); }
.hero-proof img { width:100%; height:432px; object-fit:cover; object-position:55% 46%; filter:brightness(.8) saturate(.85); }
.proof-caption { display:none; }
.hero-copy { position:relative; z-index:2; width:min(1160px,calc(100% - 48px)); margin:0 auto; padding-top:72px; }
.hero-copy h1 { gap:2px; }
.hero-copy h1 small { color:#fff; font-size:24px; line-height:1.36; letter-spacing:-1.2px; text-shadow:0 2px 7px rgba(0,0,0,.48); }
.hero-copy h1 em { color:#fff; font-size:72px; letter-spacing:-4.9px; text-shadow:0 3px 7px rgba(0,0,0,.42); }
.hero-copy h1 strong { color:#fff; font-size:34px; line-height:1.1; letter-spacing:-2.5px; text-shadow:0 3px 7px rgba(0,0,0,.42); }
.hero-slogan { margin-top:19px; padding:10px 17px; background:#0879e2; border-radius:5px; font-size:18px; box-shadow:none; }
.hero-right-call { position:absolute; z-index:3; right:max(24px,calc((100vw - 1160px)/2)); bottom:20px; width:252px; padding:13px 14px 12px; color:#fff; background:#0759be; border-radius:6px; box-shadow:0 7px 16px rgba(0,0,0,.3); text-align:center; line-height:1.36; }
.hero-right-call span,.hero-right-call b { display:block; }
.hero-right-call span { font-size:13px; font-weight:700; }
.hero-right-call b { font-size:17px; letter-spacing:-.7px; }
.hero-right-call a { display:block; margin-top:9px; padding:8px; color:#fff; background:#0b7ce8; border-radius:6px; font-size:23px; font-weight:900; letter-spacing:-1px; text-decoration:none; }
.hero-right-call a small { font-size:11px; }

/* Five white rounded service panels deliberately overlap the photo edge. */
.home-service-tabs { position:absolute; z-index:5; left:50%; bottom:-44px; width:min(1160px,calc(100% - 48px)); margin:0; padding:0; transform:translateX(-50%); grid-template-columns:repeat(5,1fr); gap:7px; }
.home-service-tabs a { min-height:104px; border:2px solid #d9e1eb; border-radius:10px; box-shadow:0 5px 13px rgba(0,29,77,.26); }
.home-service-tabs a:hover { transform:translateY(-2px); }
.home-service-tabs b { color:var(--ref-blue); font-size:31px; }
.home-service-tabs span { font-size:14px; }
.home-quick { margin-top:61px; }
.home-quick .shell { min-height:86px; }

/* Contact dock stays purposefully separate from the reference hero. */
.contact-dock { right:18px; bottom:13px; border-radius:12px; }

@media(max-width:700px){
  body { padding-bottom:87px; }
  .header-inner { height:66px; }
  .brand-mark { width:39px; height:39px; }
  .brand-mark svg { width:34px; height:34px; }
  .brand-copy b { font-size:19px; }
  .brand-copy small { display:block; font-size:8px; }
  .header-call { min-width:127px; margin-left:auto; padding:8px 7px 8px 30px; border-radius:9px; }
  .header-call::before { margin-left:-100px; margin-top:8px; font-size:18px; }
  .header-call strong { font-size:17px; }
  .mobile-nav { grid-template-columns:repeat(5,1fr); overflow:hidden; }
  .mobile-nav .nav-link { min-width:0; height:39px; font-size:10px; letter-spacing:-.6px; }
  .mobile-nav .nav-link.is-active::after { display:none; }
  .mobile-nav .nav-link:last-child { color:#04a750; }

  .home-hero { min-height:489px; }
  .hero-layout { min-height:422px; }
  .hero-proof { height:422px; }
  .hero-proof img { height:422px; object-position:58% center; }
  .hero-proof::after { background:linear-gradient(90deg,rgba(1,17,52,.88) 0%,rgba(2,24,67,.74) 45%,rgba(3,25,74,.24) 100%); }
  .hero-copy { width:calc(100% - 30px); padding-top:50px; }
  .hero-copy h1 small { font-size:20px; line-height:1.27; }
  .hero-copy h1 em { font-size:54px; letter-spacing:-3.6px; }
  .hero-copy h1 strong { font-size:26px; letter-spacing:-1.8px; }
  .hero-slogan { margin-top:17px; padding:8px 12px; font-size:16px; }
  .hero-right-call { display:none; }
  .home-service-tabs { bottom:-42px; width:calc(100% - 24px); gap:4px; }
  .home-service-tabs a { min-height:88px; border-width:1px; border-radius:8px; }
  .home-service-tabs b { font-size:24px; }
  .home-service-tabs span { font-size:10px; letter-spacing:-.6px; }
  .home-quick { display:none; }
  .contact-dock { bottom:0; right:0; border-radius:0; }
}

@media(max-width:360px){
  .brand-copy small { display:none; }
  .header-call { min-width:116px; }
  .mobile-nav .nav-link { font-size:9px; }
  .hero-copy h1 em { font-size:48px; }
}
