:root{
  --primary:#063b8f;
  --primary-dark:#012b72;
  --ink:#081632;
  --muted:#4d5970;
  --pale:#eef6ff;
  --line:#d9e6f6;
  --gold:#ffd76b;
  --card:#ffffff;
  --shadow:0 16px 44px rgba(1,43,114,.10);
  --font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
  --border-radius:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-family)}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,.brand-word,.logo-word{font-family:'Playfair Display',Georgia,serif;color:#07337f;letter-spacing:-.035em}
a{color:#05388b;text-decoration:none;font-weight:700}
a:focus-visible,button:focus-visible,.btn:focus-visible,.phone:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0;background:#012d76;color:#fff;padding:12px 20px;z-index:1000;font-weight:700;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
.topbar{background:linear-gradient(90deg,#05398f,#002b70);color:white;text-align:center;font-weight:800;font-size:14px;padding:10px 16px;box-shadow:0 2px 14px rgba(1,43,114,.22)}
.topbar span{color:var(--gold);margin-right:8px}
nav.container-fluid{max-width:1280px;padding:26px 32px 24px;margin:0 auto;background:#fff;position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:16px}
nav ul{align-items:center;flex-wrap:nowrap}
nav li{padding:0 .55rem}
.nav-logo{flex-shrink:0}
.nav-links{flex-shrink:1;justify-content:flex-end}
nav a{color:#071734;font-weight:650;font-size:14px;letter-spacing:-.01em}
nav a.active{color:#063b8f;position:relative}
nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-21px;height:2px;background:#063b8f}
nav a[role=button], .btn, button{background:linear-gradient(135deg,#073f99,#012d76);border:1px solid #073f99;color:white;border-radius:5px;font-weight:800;box-shadow:0 9px 22px rgba(1,43,114,.18);padding:14px 28px;transition:transform .18s ease,box-shadow .18s ease}
nav a[role=button]:hover, .btn:hover{transform:scale(1.045);box-shadow:0 14px 32px rgba(1,43,114,.28)}
.logo{display:inline-flex;flex-direction:column;align-items:center;line-height:1;flex-shrink:0}.logo-word{font-size:52px;line-height:.78;color:#07337f;white-space:nowrap}.logo-line{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:11px;font-weight:900;letter-spacing:6px;color:#07337f;white-space:nowrap;flex-shrink:0}.logo-line:before,.logo-line:after{content:"";width:32px;height:2px;background:#07337f;flex-shrink:0}
.nav-toggle{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.nav-hamburger{display:none !important}
.hero-mobile-img{display:none}
.hero-wrap{background:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.55) 28%,rgba(255,255,255,0) 48%),url('/attached_assets/clean_pic_1783541315864.png') right center/auto 100% no-repeat;min-height:520px;border-top:1px solid #f4f7fb}
.hero{max-width:1180px;margin:0 auto;padding:58px 48px 55px}
.hero-content{max-width:560px}
.hero-tagline{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:#073b91;font-size:16px;font-weight:700;letter-spacing:.01em;margin-bottom:12px}
.hero h1{font-size:44px;line-height:1.14;margin-bottom:18px}
.hero p{font-size:17px;line-height:1.55;color:#0b1429;margin-bottom:28px}
.hero-actions{display:flex;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.btn.secondary{background:white;color:#07337f;border:1.5px solid #07337f;box-shadow:none}
.trust{display:flex;gap:30px;flex-wrap:wrap}
.trust span{font-size:13px;color:#172033;font-weight:650;display:flex;align-items:center;gap:8px}
.check{display:inline-grid;place-items:center;width:18px;height:18px;background:#073b91;color:#fff;border-radius:50%;font-size:11px;font-weight:900}
.services{background:linear-gradient(180deg,#f0f7ff,#fff);padding:36px 0 38px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.eyebrow{color:#073b91;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:8px}
.services h2,.reviews h2,.how-it-works h2,.service-area-band h2,.faq h2{font-size:31px;line-height:1.1;margin-bottom:0}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{background:#fff;border:1px solid #e4edf8;border-radius:7px;padding:28px 29px 26px;box-shadow:0 16px 36px rgba(1,43,114,.05);min-height:265px}
.icon{width:52px;height:52px;margin-bottom:20px;color:#0642a2}
.service-card h3{font-size:18px;color:#071734;margin-bottom:13px}
.service-card p{font-size:15px;line-height:1.55;color:#0e1a31;min-height:78px}
.service-card a{font-size:15px}
.services-more{margin-top:18px;font-size:14.5px;color:#0e1a31}
.why{background:radial-gradient(circle at 20% 10%,#084ba9,#022e77 52%,#012864);color:#fff;padding:31px 0 38px;text-align:center}
.why h2{color:#fff;font-size:30px;margin-bottom:28px}
.why .eyebrow{color:#fff;font-size:12px;margin-bottom:10px}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:left}
.why-item{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:0 28px;border-right:1px solid rgba(255,255,255,.28)}
.why-item:last-child{border-right:0}
.why-icon{width:48px;height:48px;color:#fff}
.why h3{color:#fff;font-size:15px;margin-bottom:10px}
.why p{color:#fff;font-size:13px;line-height:1.7}
.mini-cta{background:#eaf5ff;padding:18px 0;text-align:center;border-top:1px solid #dcecfb;border-bottom:1px solid #dcecfb}
.mini-cta p{margin:0;font-size:15.5px;font-weight:700;color:#0e1a31}
.mini-cta a{color:#073b91}
.how-it-works{padding:34px 0 38px;background:#fff}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.step{background:#f7fbff;border:1px solid #e4edf8;border-radius:7px;padding:26px 24px}
.step-num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#073b91;color:#fff;font-weight:900;margin-bottom:14px;font-size:15px}
.step h3{font-size:17px;color:#071734;margin-bottom:8px}
.step p{font-size:14.5px;line-height:1.55;color:#0e1a31;margin:0}
.service-area-band{background:linear-gradient(180deg,#f0f7ff,#fff);padding:32px 0 36px}
.service-area-band p{max-width:760px;color:#0e1a31;font-size:15.5px;line-height:1.6;margin:14px 0 16px}
.zip-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.zip-chips span{background:#fff;border:1.5px solid #cfe0f7;color:#073b91;font-weight:800;font-size:13.5px;padding:8px 16px;border-radius:20px}
.reviews{padding:31px 0 26px;background:#fff}
.reviews-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:20px}
.thumbs img{width:100%;height:126px;object-fit:cover;border-radius:6px;box-shadow:0 8px 24px rgba(1,43,114,.10)}
.stars{font-size:32px;letter-spacing:6px;color:#073b91;margin-bottom:20px}
.quote{font-style:italic;font-size:18px;line-height:1.55;color:#0d1730;margin-bottom:18px}
.attribution{font-size:14px;font-weight:600}
.faq{padding:32px 0 40px;background:#fff}
.faq-list{max-width:820px;margin-top:20px}
.faq-list details{border-bottom:1px solid #e4edf8;padding:16px 0}
.faq-list summary{cursor:pointer;font-weight:700;color:#071734;font-size:15.5px;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:before{content:"+";color:#073b91;font-weight:900;margin-right:12px}
.faq-list details[open] summary:before{content:"–"}
.faq-list details p{margin:12px 0 0 24px;color:#0e1a31;font-size:14.5px;line-height:1.6}
.cta{background:linear-gradient(90deg,#eaf5ff,#fff);border-top:1px solid #dcecfb;border-bottom:1px solid #dcecfb;padding:26px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta h2{font-size:31px;margin-bottom:4px}
.cta p{margin:0;color:#111b30}
.next-steps{margin:14px 0 0;padding-left:20px;color:#111b30;font-size:14px;line-height:1.7}
.cta-actions{display:flex;gap:25px;align-items:center;flex-shrink:0}
.phone{padding:14px 40px;border:1.5px solid #07337f;border-radius:5px;color:#07337f;background:#fff;font-weight:800;transition:transform .18s ease,box-shadow .18s ease}
.phone:hover{transform:scale(1.045);box-shadow:0 14px 32px rgba(1,43,114,.18)}
.full-footer{background:linear-gradient(90deg,#04398e,#012b72);padding:16px 0;color:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between}
.footer-inner .logo-word{font-size:34px;color:white}
.footer-inner .logo-line{font-size:6px;letter-spacing:4px;color:white;margin-top:16px}
.footer-inner .logo-line:before,.footer-inner .logo-line:after{background:white;width:28px}
.footer-links{display:flex;gap:28px;flex-wrap:wrap}
.footer-links a{color:white;font-size:14px;font-weight:600}

/* Sub-page (service / service-area) content patterns */
.page-hero{background:linear-gradient(180deg,#eef6ff,#fff);padding:44px 0 34px;border-top:1px solid #f4f7fb}
.page-hero h1{font-size:38px;line-height:1.18;margin-bottom:14px;max-width:820px}
.page-hero p.lead{font-size:17px;line-height:1.6;color:#0b1429;max-width:720px;margin-bottom:24px}
.breadcrumb{font-size:13px;font-weight:600;color:#4d5970;margin-bottom:14px}
.breadcrumb a{color:#073b91;font-weight:700}
.content{padding:8px 0 38px}
.content h2{font-size:25px;margin:34px 0 14px}
.content h2:first-of-type{margin-top:6px}
.content p{font-size:15.5px;line-height:1.7;color:#0e1a31;margin-bottom:16px;max-width:820px}
.content ul{max-width:820px;color:#0e1a31;font-size:15.5px;line-height:1.75;padding-left:22px;margin-bottom:18px}
.content img.content-photo{width:100%;max-width:560px;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;box-shadow:0 12px 32px rgba(1,43,114,.10);margin:6px 0 26px;display:block}
.related-links{background:#f7fbff;border:1px solid #e4edf8;border-radius:8px;padding:22px 26px;max-width:820px;margin:8px 0 10px}
.related-links h3{font-size:16px;margin-bottom:10px;color:#071734}
.related-links ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-width:none}

@media(max-width:920px){
  nav.container-fluid{padding:14px 20px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;position:relative}
  .nav-logo{margin:0;padding:0}
  .nav-toggle{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:36px;height:36px;opacity:0;margin:0;cursor:pointer;z-index:2}
  .nav-toggle:focus-visible{opacity:1;background:transparent;outline:3px solid var(--gold);outline-offset:2px}
  .nav-hamburger-icon{display:block;position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:28px;color:#07337f;line-height:1;pointer-events:none}
  .nav-links{display:none;flex-direction:column;width:100%;margin:0;padding:10px 0 14px;border-top:1px solid #e4edf8;gap:0}
  .nav-links li{padding:0}
  .nav-links li a{display:block;padding:10px 20px;font-size:15px;font-weight:600;color:#071734}
  .nav-links li:last-child{padding:10px 20px 0}
  .nav-links li:last-child a[role=button]{display:block;text-align:center;padding:13px 20px;font-size:14px;white-space:nowrap}
  .nav-toggle:checked~.nav-links{display:flex}
  .logo-word{font-size:44px}
  .hero-wrap{background:#fff;min-height:auto;border-top:none}
  .hero{padding:36px 20px 24px}
  .hero-mobile-img{display:block;width:100%;height:auto;object-fit:cover;border-radius:10px;margin-top:24px;box-shadow:0 12px 36px rgba(1,43,114,.10)}
  .hero-content{max-width:100%}
  .hero h1{font-size:30px;line-height:1.16}
  .hero p{font-size:16px;margin-bottom:24px}
  .hero-actions{flex-direction:column;gap:12px;margin-bottom:28px}
  .hero-actions .btn{text-align:center;display:block}
  .trust{gap:14px}
  .section-head{display:block;margin-bottom:18px}
  .cards{grid-template-columns:1fr 1fr;gap:14px}
  .service-card{min-height:auto;padding:20px 18px}
  .why-grid{grid-template-columns:1fr}
  .why-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding:20px 0}
  .steps-grid{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr;gap:24px}
  .thumbs{grid-template-columns:repeat(3,1fr);gap:12px}
  .thumbs img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
  .stars{font-size:26px;letter-spacing:4px}
  .quote{font-size:16px}
  .cta{padding:28px 0}
  .cta-inner{flex-direction:column;align-items:stretch;gap:18px}
  .cta h2{font-size:26px}
  .cta-actions{flex-direction:column;align-items:stretch;gap:12px}
  .cta-actions .btn,.phone{text-align:center;display:block;width:100%;box-sizing:border-box}
  .footer-inner{flex-direction:column;align-items:center;gap:20px;padding:0 20px;text-align:center}
  .footer-links{justify-content:center;gap:14px}
  .page-hero h1{font-size:27px}
}
@media(max-width:540px){
  .logo-word{font-size:36px}
  .logo-line{font-size:9px;letter-spacing:6px}
  .hero h1{font-size:25px;line-height:1.2}
  .hero p{font-size:15px}
  .hero{padding:30px 18px 20px}
  .cards{grid-template-columns:1fr}
  .service-card{padding:22px 18px}
  .cta h2{font-size:22px}
  .thumbs{grid-template-columns:repeat(3,1fr);gap:8px}
  .thumbs img{aspect-ratio:1/1}
  .topbar{font-size:12px;padding:8px 12px}
  .page-hero h1{font-size:23px}
}
