:root{--shell-max: 1280px;
  --shell-pad: 32px;
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --shadow-xs: 0 1px 2px rgba(12,26,50,0.06);
  --shadow-sm: 0 2px 8px rgba(12,26,50,0.08);
  --shadow-md: 0 10px 30px rgba(12,26,50,0.12);
  --shadow-lg: 0 24px 60px rgba(12,26,50,0.18);
  --shadow-brand: 0 16px 40px rgba(23,94,221,0.32);
  --shadow-lime: 0 0 0 4px rgba(204,255,0,0.18), 0 14px 36px rgba(12,26,50,0.24);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-io: cubic-bezier(0.65, 0, 0.35, 1);}
.shell{max-width: var(--shell-max); margin: 0 auto; padding: 0 var(--shell-pad);}
@media (max-width: 720px){
:root{--shell-pad: 20px;}
}
.header{position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--border-subtle);
  height: 76px;
  display: flex; align-items: center;}
.header.scrolled{box-shadow: var(--shadow-xs);}
.header-inner{display: flex; align-items: center; justify-content: space-between; gap: 32px; width: 100%;}
.header-logo{display: flex; align-items: center; gap: 14px; font-family: var(--font-display); color: var(--dsk-navy); text-decoration: none;}
.header-logo-icon-main{height: 32px; width: 32px; flex-shrink: 0; display: block;}
.header-logo-wordmark{display: flex; flex-direction: column; line-height: 1; white-space: nowrap;}
.header-logo-wordmark .hl-title{font-weight: 800; font-size: 16px; letter-spacing: -0.01em;}
.header-logo-wordmark .hl-sub{font-size: 9px; letter-spacing: 0.11em; text-transform: uppercase; opacity: 0.62; margin-top: 3px; font-weight: 600;}
.header-slogan{display: flex; align-items: baseline; gap: 14px; font-weight: 700; font-size: 14px; letter-spacing: -0.015em; color: var(--dsk-navy); line-height: 1; white-space: nowrap; flex-shrink: 0;}
.header-slogan span{white-space: nowrap;}
.header-slogan span:nth-child(2){color: var(--dsk-blue);}
.header-slogan span:nth-child(3){color: var(--neutral-500);}
@media (max-width: 1500px){
.header-slogan{display: none;}
}
.header-nav{display: flex; gap: 22px; align-items: center; flex-wrap: nowrap;}
.header-nav a{font-family: var(--font-display); font-weight: 600; font-size: 14px; color: var(--fg-1); position: relative; padding: 8px 0; letter-spacing: -0.005em; white-space: nowrap;}
.header-nav a:hover{color: var(--dsk-blue);}
.header-nav a.has-caret::after{content: ""; display: inline-block; margin-left: 6px; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px, -2px); opacity: 0.6;}
.header-cta{display: flex; align-items: center; gap: 12px; flex-shrink: 0;}
.header-phone{font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--dsk-navy); display: flex; align-items: center; gap: 8px; white-space: nowrap;}
.header-phone span{white-space: nowrap;}
.header-phone i{width: 16px; height: 16px; color: var(--dsk-blue); flex-shrink: 0;}
@media (max-width: 1280px){
.header-nav{gap: 18px;}
.header-nav a{font-size: 13.5px;}
}
@media (max-width: 1140px){
.header-nav{gap: 16px;}
.header-nav a{font-size: 13px;}
}
@media (max-width: 960px){
.header-nav{display: none;}
.header-phone span{display: none;}
}
.btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-display); font-weight: 700; font-size: 15px;
  padding: 14px 22px; border-radius: var(--radius-md);
  letter-spacing: -0.005em;
  transition: transform .18s var(--ease-io), box-shadow .18s var(--ease-io), background .18s var(--ease-io);
  white-space: nowrap;}
.btn i{width: 16px; height: 16px;}
.btn-primary{background: var(--dsk-blue); color: #fff; box-shadow: var(--shadow-brand);}
.btn-primary:hover{background: var(--dsk-blue-700); transform: translateY(-1px);}
.btn-primary:active{transform: translateY(1px);}
.btn-lime{background: var(--dsk-lime); color: var(--dsk-navy); box-shadow: var(--shadow-lime);}
.btn-lime:hover{background: var(--dsk-lime-600); transform: translateY(-1px);}
.btn-ghost{background: transparent; color: var(--dsk-navy); border: 1px solid var(--border-default);}
.btn-ghost:hover{background: var(--neutral-100);}
.btn-ghost-dark{background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.28);}
.btn-ghost-dark:hover{background: rgba(255,255,255,0.08);}
.btn-sm{padding: 10px 16px; font-size: 13px;}
.btn-lg{padding: 18px 28px; font-size: 17px;}
.chip.navy{background: var(--dsk-navy); color: #fff;}
.hero.navy{background: var(--dsk-navy); color: #fff;}
.hero.navy .hero-headline{color: #fff;}
.hero.navy .hero-headline em{color: var(--dsk-lime);}
.hero.navy .hero-headline em::after{display: none;}
.hero.navy .hero-sub{color: rgba(255,255,255,0.8);}
.hero.navy .audience-tabs{background: rgba(255,255,255,0.06);}
.hero.navy .audience-tabs button{color: rgba(255,255,255,0.6);}
.hero.navy .audience-tabs button.active{background: var(--dsk-lime); color: var(--dsk-navy);}
.hero.navy .hero-meta{color: rgba(255,255,255,0.7);}
.hero.navy .hero-meta i{color: var(--dsk-lime);}
.trust-logos{display: flex; gap: 40px; align-items: center; flex-wrap: wrap;}
.trust-logo{font-family: var(--font-display); font-weight: 700;
  color: var(--neutral-600); font-size: 18px; letter-spacing: -0.01em;
  display: flex; align-items: center; gap: 8px;
  opacity: 0.7;
  transition: opacity .2s;}
.trust-logo:hover{opacity: 1;}
.trust-logo .mark{width: 20px; height: 20px; border-radius: 4px; background: currentColor; opacity: 0.4;}
.cta-banner{background: var(--dsk-blue); color: #fff;
  border-radius: var(--radius-xl); padding: 64px 56px;
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center;}
@media (max-width: 860px){
.cta-banner{grid-template-columns: 1fr; padding: 48px 32px;}
}
.cta-banner::before{content: ""; position: absolute; top: 0; right: -80px; bottom: 0; width: 40%;
  background: repeating-linear-gradient(-45deg, var(--dsk-lime) 0 20px, var(--dsk-navy) 20px 40px);
  opacity: 0.18;
  transform: skewX(-20deg);}
.cta-banner h2{font-family: var(--font-display); font-weight: 800; font-size: clamp(32px, 3.6vw, 48px); line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 12px;}
.cta-banner p{font-size: 17px; line-height: 1.5; opacity: 0.85; margin: 0;}
.cta-banner .right{display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1;}
.cta-banner .right .phone-lg{font-family: var(--font-display); font-weight: 800; font-size: 32px; letter-spacing: -0.02em; color: var(--dsk-lime);}
.cta-banner .right .phone-sub{font-size: 13px; opacity: 0.8; margin-bottom: 8px;}
.footer{background: var(--dsk-navy); color: rgba(255,255,255,0.75); padding: 72px 0 40px;}
.footer-grid{display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 48px; margin-bottom: 56px;}
@media (max-width: 860px){
.footer-grid{grid-template-columns: 1fr 1fr; gap: 32px;}
}
@media (max-width: 520px){
.footer-grid{grid-template-columns: 1fr;}
}
.footer-brand{display: flex; flex-direction: column; gap: 16px;}
.footer-brand-logo{display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 800; font-size: 18px; color: #fff;}
.footer-brand-logo img{height: 64px; width: auto; flex-shrink: 0; max-width: none;}
.footer-brand p{font-size: 14px; line-height: 1.55; margin: 0; max-width: 320px;}
.footer-col h4{font-family: var(--font-display); font-weight: 700; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; margin: 0 0 16px;}
.footer-col ul{list-style: none; padding: 0; margin: 0; display: grid; gap: 10px;}
.footer-col a{font-size: 14px; transition: color .2s;}
.footer-col a:hover{color: var(--dsk-lime);}
.footer-bottom{padding-top: 32px; border-top: 1px solid var(--dsk-navy-700); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 13px;}
.trust-v2-logos{display: flex; gap: 36px; align-items: center; flex-wrap: wrap;}
.trust-v2-logo{font-family: var(--font-display); font-weight: 700;
  color: var(--neutral-500); font-size: 17px; letter-spacing: -0.01em;
  opacity: 0.65; transition: opacity .2s;}
.trust-v2-logo:hover{opacity: 1; color: var(--dsk-navy);}
.header-nav .nav-dropdown{position: relative;}
.header-nav .nav-dropdown::after{content: ""; position: absolute; top: 100%; left: -120px; right: -120px;
  height: 18px; background: transparent; pointer-events: none;}
.header-nav .nav-dropdown:hover::after,
.header-nav .nav-dropdown.open::after{pointer-events: auto;}
.header-nav .nav-link.has-caret{display: inline-flex; align-items: center; gap: 6px;}
.header-nav .nav-link.has-caret::after{content: ""; width: 6px; height: 6px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px); opacity: 0.55;
  transition: transform .18s var(--ease-io);}
.header-nav .nav-dropdown:hover .nav-link.has-caret::after,
.header-nav .nav-dropdown.open .nav-link.has-caret::after{transform: rotate(225deg) translate(-2px, -2px); opacity: 1;}
.header-nav .nav-dd-menu{display: none;
  position: absolute; top: calc(100% + 14px); left: -120px;
  background: rgba(255,255,255,0.98);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg, 0 14px 48px rgba(15,23,42,0.18));
  padding: 22px;
  min-width: 720px;
  z-index: 60;
  gap: 28px;}
.header-nav .nav-dropdown:hover .nav-dd-menu,
.header-nav .nav-dropdown:focus-within .nav-dd-menu,
.header-nav .nav-dropdown.open .nav-dd-menu{display: flex;}
.header-nav .nav-dd-col{flex: 1; min-width: 0;}
.header-nav .nav-dd-head{font-family: var(--font-display); font-weight: 800; font-size: 11px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--neutral-500); margin: 0 0 10px; padding: 0 8px;}
.header-nav .nav-dd-link{display: block; padding: 8px 10px; border-radius: 8px;
  font-family: var(--font-display); font-weight: 600; font-size: 14px;
  color: var(--dsk-navy);
  text-decoration: none;
  transition: background .15s var(--ease-io), color .15s var(--ease-io);}
.header-nav .nav-dd-link:hover{background: var(--neutral-100);
  color: var(--dsk-blue);}
.header-burger{display: none;
  width: 40px; height: 40px;
  flex-direction: column; align-items: center; justify-content: center;
  gap: 5px; border: none; background: transparent;
  cursor: pointer; padding: 0; margin-left: 4px;}
.header-burger span{display: block; width: 22px; height: 2px;
  background: var(--dsk-navy); border-radius: 2px;
  transition: transform .22s var(--ease-io), opacity .15s var(--ease-io);}
.header-burger.open span:nth-child(1){transform: translateY(7px) rotate(45deg);}
.header-burger.open span:nth-child(2){opacity: 0;}
.header-burger.open span:nth-child(3){transform: translateY(-7px) rotate(-45deg);}
.mobile-menu{position: fixed; top: 76px; left: 0; right: 0; bottom: 0;
  background: #fff;
  z-index: 49;
  overflow-y: auto;
  transform: translateY(-8px);
  opacity: 0;
  pointer-events: none;
  transition: transform .22s var(--ease-io), opacity .18s var(--ease-io);}
.mobile-menu.open{transform: translateY(0);
  opacity: 1;
  pointer-events: auto;}
.mobile-menu-inner{padding: 12px 20px 40px;}
@media (max-width: 960px){
.header-burger{display: flex;}
}
@media (max-width: 640px){
.mobile-menu{top: 64px;}
}
.header-slogan-strip{display: none;}
@media (max-width: 900px){
.header-slogan-strip{display: flex;
    position: sticky;
    top: 64px;
    z-index: 49;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: var(--dsk-navy);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: -0.005em;
    line-height: 1;
    white-space: nowrap;
    border-bottom: 1px solid var(--dsk-navy-700);}
.header-slogan-strip span:nth-child(1){color: #fff;}
.header-slogan-strip span:nth-child(2){color: var(--dsk-lime);}
.header-slogan-strip span:nth-child(3){color: rgba(255,255,255,0.7);}
}
@media (max-width: 380px){
.header-slogan-strip{font-size: 11px; gap: 7px; padding: 7px 12px;}
}
.audience-tabs button,
.btn,
.svc-core-link,
.tv2-pager button,
.tv2-dots span,
.quote-opts button,
.header-nav a,
.header-phone,
[data-scroll]{touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(204, 255, 0, 0.25);
  cursor: pointer;}
@media (max-width: 640px){
.header{height: 64px;}
.header-logo-wordmark{display: none;}
.header-cta .btn-sm{padding: 9px 12px; font-size: 12px;}
.header-cta{gap: 8px;}
.header-phone i{width: 18px; height: 18px;}
}
@media (max-width: 860px){
.hero-v2-ctas .btn-lg{padding: 14px 20px;
    font-size: 15px;
    flex: 1 1 auto;
    justify-content: center;}
}
@media (max-width: 420px){
.hero-v2-ctas .btn-lg{width: 100%;}
}
@media (max-width: 640px){
.trust-v2-logos{justify-content: center;
    gap: 20px;}
.trust-v2-logo{font-size: 15px;}
}
@media (max-width: 860px){
.svc-hero-foot .btn-lime{width: 100%; justify-content: center;}
}
@media (max-width: 860px){
.quote-foot .btn-lg{flex: 1 1 auto; width: 100%; justify-content: center;}
}
@media (max-width: 640px){
.footer{padding: 48px 0 32px;}
.footer-grid{gap: 28px; margin-bottom: 32px;}
.footer-bottom{flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: 12px;}
}
.dsk-section-header h2::after{background: #FFFF00 !important; height: 4px !important;}