
/* ==========================================================
   Compare Driving Instructors - Clean Premium App CSS
   Load order: main.css, then this file.
   This replaces all previous patch CSS files.
   ========================================================== */

:root{
  --cdi-ink:#08111F;
  --cdi-navy:#0C1F38;
  --cdi-navy-2:#132B49;
  --cdi-blue:#2F80ED;
  --cdi-sky:#3BB8F3;
  --cdi-bg:#F6F8FB;
  --cdi-card:#FFFFFF;
  --cdi-line:#DCE7F2;
  --cdi-muted:#52657D;
  --cdi-soft:#EEF5FB;
  --cdi-shadow:0 14px 34px rgba(12,31,56,.075);
  --cdi-shadow-lg:0 26px 72px rgba(12,31,56,.16);
}

/* Global reset against legacy heavy CSS */
html,body{overflow-x:hidden !important;}
body{
  background:var(--cdi-bg) !important;
  color:var(--cdi-ink) !important;
  font-size:14px !important;
  line-height:1.58 !important;
  letter-spacing:-.004em !important;
}
body,p,li,a,span,small,input,select,textarea,button,td,th,label,
.mm-info span,.match-mock-foot,.foot-brand p,.foot-col a{
  font-weight:500 !important;
}
h1,h2,h3,h4,h5,h6,b,strong,.btn,.badge,.eyebrow{
  font-weight:800 !important;
}
h1{
  font-size:clamp(34px,5.8vw,50px) !important;
  line-height:1.04 !important;
  letter-spacing:-.052em !important;
}
h2{
  font-size:clamp(25px,4.6vw,38px) !important;
  line-height:1.1 !important;
  letter-spacing:-.038em !important;
}
h3{
  font-size:clamp(18px,3vw,23px) !important;
  line-height:1.18 !important;
  letter-spacing:-.025em !important;
}
.lede,.lead{
  font-size:clamp(15.5px,3vw,18.5px) !important;
  line-height:1.58 !important;
  font-weight:500 !important;
  color:var(--cdi-muted) !important;
}
.container{width:min(1200px,calc(100% - 28px)) !important;}

/* Header and CTA */
.topnav{
  background:var(--cdi-navy) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  overflow:visible !important;
  box-shadow:none !important;
}
.topnav .row{
  min-height:72px !important;
  padding:8px 0 !important;
  overflow:visible !important;
  align-items:center !important;
}
.brand-logo img{
  width:158px !important;
  height:auto !important;
  filter:brightness(0) invert(1) contrast(1.08) !important;
}
.nav-links{
  gap:30px !important;
  align-items:center !important;
  overflow:visible !important;
}
.nav-links > a,
.nav-link-plain,
.nav-mega-trigger > a{
  color:#E2ECF7 !important;
  font-size:13.5px !important;
  font-weight:650 !important;
  line-height:1 !important;
  text-decoration:none !important;
}
.nav-mega-trigger > a{
  height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 16px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.11) !important;
  border-radius:13px !important;
}
.nav-actions{display:flex !important;align-items:center !important;gap:10px !important;}
.nav-actions .btn,.topnav a.btn{
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  padding:0 24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  border-radius:999px !important;
  background:var(--cdi-blue) !important;
  border:1px solid var(--cdi-blue) !important;
  color:#071426 !important;
  font-size:13.5px !important;
  font-weight:750 !important;
  box-shadow:none !important;
  transform:none !important;
  margin:0 !important;
}

/* Hero */
.hero-block,.saas-hero{
  background:var(--cdi-navy) !important;
  color:#fff !important;
  padding:52px 0 42px !important;
  position:relative !important;
  overflow:hidden !important;
}
.hero-block::before,.hero-block::after,.saas-hero::before,.saas-hero::after{
  display:none !important;
  content:none !important;
}
.hero-block .container,.saas-hero .container{position:relative !important;z-index:1 !important;}
.hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 420px !important;
  gap:52px !important;
  align-items:center !important;
}
.hero-block h1,.saas-hero h1{
  color:#FFFFFF !important;
  max-width:760px !important;
  margin:12px 0 0 !important;
  overflow:visible !important;
}
.hero-block .lede,.hero-block .lead,.saas-hero .lede,.saas-hero .lead{
  color:#D3E2F2 !important;
  max-width:680px !important;
  margin-top:16px !important;
}
.hero-block .eyebrow,.saas-hero .eyebrow{color:#BFE9FB !important;}
.match-mock{
  width:100% !important;
  max-width:420px !important;
  margin-left:auto !important;
  border-radius:26px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.20) !important;
}

/* Search and chips */
.ai-search{
  width:100% !important;
  max-width:690px !important;
  padding:8px !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 20px 54px rgba(0,0,0,.22) !important;
  border:1px solid rgba(255,255,255,.28) !important;
}
.ai-search > input,.ai-row select,.ai-row .input{
  min-height:50px !important;
  border-radius:15px !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  color:var(--cdi-ink) !important;
  background:#F8FBFE !important;
  border:1px solid var(--cdi-line) !important;
}
.ai-row{gap:8px !important;}
.ai-row .btn{
  min-height:50px !important;
  border-radius:15px !important;
  background:var(--cdi-blue) !important;
  border-color:var(--cdi-blue) !important;
  color:#fff !important;
}
.chip{
  font-size:12.8px !important;
  font-weight:650 !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid var(--cdi-line) !important;
  box-shadow:var(--cdi-shadow) !important;
}

/* Cards and stats */
.stat-strip.divided{gap:14px !important;border-top:1px solid rgba(255,255,255,.14) !important;}
.stat-strip .stat,.stat-box,.p-card,.card,.saas-feature,.cdi-demo-shell,.feature-box,.quick-box{
  padding:20px !important;
  border-radius:24px !important;
  background:#fff !important;
  border:1px solid var(--cdi-line) !important;
  box-shadow:var(--cdi-shadow) !important;
}
.stat-strip .stat b,.stat b{
  display:block !important;
  font-size:24px !important;
  line-height:1.1 !important;
  margin:0 0 8px !important;
  color:var(--cdi-ink) !important;
}
.stat-strip .stat span,.stat span{
  display:block !important;
  font-size:12.5px !important;
  color:var(--cdi-muted) !important;
  font-weight:600 !important;
}

/* Mega menu */
.nav-mega-trigger{position:static !important;}
.nav-mega-panel{
  top:calc(100% + 12px) !important;
  width:min(1080px,calc(100vw - 56px)) !important;
  z-index:9999 !important;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease !important;
}
.nav-mega-panel::before{
  content:"" !important;
  position:absolute !important;
  top:-20px !important;
  left:0 !important;
  right:0 !important;
  height:20px !important;
  display:block !important;
}
.nav-mega-trigger:hover .nav-mega-panel,
.nav-mega-trigger:focus-within .nav-mega-panel,
.nav-mega-trigger.is-open .nav-mega-panel,
.nav-mega-panel:hover{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}
.nav-mega-panel,.nav-mega-panel *{opacity:1 !important;text-shadow:none !important;}
.nav-mega-panel a{text-decoration:none !important;}
.cdi-mega-v2,.premium-mega{
  width:100% !important;
  display:grid !important;
  grid-template-columns:210px minmax(0,1fr) 340px !important;
  gap:14px !important;
  background:#fff !important;
  border:1px solid var(--cdi-line) !important;
  border-radius:24px !important;
  box-shadow:var(--cdi-shadow-lg) !important;
  padding:14px !important;
}
.cdi-mega-v2-menu,.cdi-mega-v2-locations,.premium-mega-left,.premium-mega-middle{
  background:#F8FBFE !important;
  border:1px solid #E2EBF4 !important;
  border-radius:18px !important;
  padding:14px !important;
}
.cdi-mega-label,.premium-mini-label,.mega-v9-label{
  color:var(--cdi-blue) !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  margin-bottom:10px !important;
}
.cdi-mega-v2-menu a,.premium-menu-link{
  color:#24364B !important;
  font-size:13px !important;
  font-weight:600 !important;
}
.cdi-mega-v2-menu a.is-strong,.premium-menu-link.highlight{
  color:#fff !important;
  background:var(--cdi-navy) !important;
}
.cdi-location-grid a,.cdi-test-centre-links a,.premium-location-grid a{
  color:#10233D !important;
  background:#fff !important;
  border:1px solid #CFE0F2 !important;
  font-weight:650 !important;
}
.cdi-mega-v2-feature,.premium-mega-feature{
  background:var(--cdi-navy) !important;
  border-radius:20px !important;
  padding:22px !important;
  overflow:hidden !important;
}
.cdi-mega-v2-feature h3,.premium-mega-feature h3{
  color:#fff !important;
  font-size:20px !important;
  line-height:1.1 !important;
  letter-spacing:-.035em !important;
  max-width:280px !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}
.cdi-mega-v2-feature p,.premium-mega-feature p{
  color:#C8D8EA !important;
  font-size:13px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
  max-width:280px !important;
}

/* Location dropdown */
.location-mega-panel{width:min(980px,calc(100vw - 56px)) !important;}
.location-mega-v9{
  display:grid !important;
  grid-template-columns:260px minmax(0,1fr) 230px !important;
  gap:14px !important;
  background:#fff !important;
  border:1px solid var(--cdi-line) !important;
  border-radius:24px !important;
  padding:14px !important;
  box-shadow:var(--cdi-shadow-lg) !important;
}
.location-mega-left,.location-mega-grid,.location-mega-test{
  background:#F8FBFE !important;
  border:1px solid #E2EBF4 !important;
  border-radius:18px !important;
  padding:16px !important;
}
.location-mega-left h3{
  color:var(--cdi-ink) !important;
  font-size:22px !important;
  margin:0 0 8px !important;
}
.location-mega-left p{
  color:var(--cdi-muted) !important;
  font-size:13px !important;
  line-height:1.55 !important;
}
.mega-v9-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:40px !important;
  border-radius:999px !important;
  padding:0 14px !important;
  background:var(--cdi-navy) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:750 !important;
  margin-top:14px !important;
}
.location-mega-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
}
.location-mega-grid a{
  display:grid !important;
  grid-template-columns:34px 1fr !important;
  gap:9px !important;
  align-items:center !important;
  background:#fff !important;
  border:1px solid #CFE0F2 !important;
  border-radius:14px !important;
  padding:10px !important;
}
.location-mega-grid span{
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
  background:#EAF2FA !important;
  color:var(--cdi-navy) !important;
  display:grid !important;
  place-items:center !important;
}
.location-mega-grid b{
  display:block !important;
  color:var(--cdi-ink) !important;
  font-size:13px !important;
  font-weight:750 !important;
}
.location-mega-grid small{
  display:block !important;
  color:var(--cdi-muted) !important;
  font-size:11.5px !important;
  line-height:1.25 !important;
  margin-top:2px !important;
  font-weight:500 !important;
}
.location-mega-test{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}
.location-mega-test a{
  background:#fff !important;
  border:1px solid #CFE0F2 !important;
  border-radius:13px !important;
  padding:10px !important;
  color:var(--cdi-ink) !important;
  font-size:12.5px !important;
  font-weight:650 !important;
}

/* General pages and forms */
main .container > h1:first-child{
  font-size:clamp(34px,5.2vw,50px) !important;
  color:var(--cdi-ink) !important;
  line-height:1.05 !important;
  margin-bottom:12px !important;
}
main .container > h1:first-child + p,main .container > p{
  font-size:16px !important;
  color:var(--cdi-muted) !important;
  font-weight:500 !important;
}
main .container .btn,main .container a.btn{
  min-height:46px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 20px !important;
}
form .grid,form [style*="grid-template-columns"]{gap:14px !important;}
form label,.field-label{
  font-size:12px !important;
  font-weight:750 !important;
  letter-spacing:.04em !important;
  color:#31445C !important;
}
input,select,textarea,.input,.form-control{
  border:1px solid var(--cdi-line) !important;
  border-radius:15px !important;
  background:#fff !important;
  min-height:48px !important;
  font-size:14px !important;
  font-weight:500 !important;
  box-shadow:0 6px 18px rgba(12,31,56,.04) !important;
}
select{
  appearance:none !important;
  background-image:linear-gradient(45deg,transparent 50%,#52657D 50%),linear-gradient(135deg,#52657D 50%,transparent 50%) !important;
  background-position:calc(100% - 18px) 21px,calc(100% - 12px) 21px !important;
  background-size:6px 6px,6px 6px !important;
  background-repeat:no-repeat !important;
  padding-right:40px !important;
}
.cdi-pill-tabs{display:flex !important;gap:10px !important;flex-wrap:wrap !important;margin:12px 0 20px !important;}
.cdi-pill-tabs button{
  min-height:44px !important;
  border:1px solid var(--cdi-line) !important;
  background:#fff !important;
  color:var(--cdi-ink) !important;
  border-radius:999px !important;
  padding:0 16px !important;
  font-weight:750 !important;
}
.cdi-pill-tabs button.is-active{
  background:var(--cdi-navy) !important;
  color:#fff !important;
  border-color:var(--cdi-navy) !important;
}

/* Tables and footer */
.table-scroll{width:100% !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;border-radius:18px !important;}
table{min-width:640px !important;max-width:none !important;}
.site-footer{background:var(--cdi-navy) !important;}
.site-footer img{filter:brightness(0) invert(1) contrast(1.08) !important;opacity:1 !important;}
.site-footer p,.site-footer a,.site-footer li{
  color:#D1DCEB !important;
  font-size:13.5px !important;
  font-weight:500 !important;
}
.site-footer h4{
  color:#fff !important;
  font-size:13px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

/* Mobile */
@media(max-width:900px){
  .container{width:calc(100% - 24px) !important;}
  .topnav .row{min-height:66px !important;}
  .brand-logo img{width:140px !important;}
  .nav-links,.nav-actions .btn{display:none !important;}
  .hamburger{display:flex !important;}
  .nav-cta-mobile{display:inline-flex !important;}
  .hero-block,.saas-hero{padding:34px 0 28px !important;}
  .hero-grid{grid-template-columns:1fr !important;gap:24px !important;}
  .hero-block h1,.saas-hero h1{font-size:clamp(34px,10.5vw,48px) !important;}
  .ai-row{grid-template-columns:1fr !important;}
  .stat-strip.divided{display:flex !important;overflow-x:auto !important;gap:12px !important;}
  .stat-strip .stat{flex:0 0 82% !important;}
  .grid.grid-3,.saas-grid-3,.package-grid,.pricing-grid,.lesson-package-grid{
    display:flex !important;
    overflow-x:auto !important;
    gap:14px !important;
    padding-bottom:12px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .grid.grid-3 > *,.saas-grid-3 > *,.package-grid > *,.pricing-grid > *,.lesson-package-grid > *{
    flex:0 0 84% !important;
    scroll-snap-align:start !important;
  }
  .nav-mega-panel{display:none !important;}
  main .container > h1:first-child{font-size:clamp(32px,10vw,44px) !important;}
  table{min-width:620px !important;}
}

/* Desktop */
@media(min-width:980px){
  .stat-strip.divided{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    overflow:visible !important;
    gap:14px !important;
  }
  .grid.grid-3,.saas-grid-3{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    overflow:visible !important;
  }
}

/* ==========================================================
   CLEANUP FIX 2
   Fixes remaining dropdown conflict, duplicate arrows and pale hero pill.
   This is part of cdi-app.css, not an extra patch file.
   ========================================================== */

/* Hero eyebrow pill readability */
.hero-block .eyebrow,
.saas-hero .eyebrow,
.eyebrow{
  color:#0C1F38 !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(255,255,255,.36) !important;
  border-radius:999px !important;
  padding:8px 14px !important;
  font-size:10.5px !important;
  font-weight:750 !important;
  letter-spacing:.08em !important;
  box-shadow:0 10px 28px rgba(0,0,0,.10) !important;
}

.hero-block .eyebrow .dashes span,
.saas-hero .eyebrow .dashes span,
.eyebrow .dashes span{
  background:#2F80ED !important;
}

/* Stop doubled chevron */
.nav-mega-chevron{
  background-image:none !important;
  width:10px !important;
  height:10px !important;
  display:inline-block !important;
  position:relative !important;
  font-size:0 !important;
  line-height:0 !important;
  margin-left:5px !important;
  flex:none !important;
}

.nav-mega-chevron::after{
  content:"" !important;
  position:absolute !important;
  left:1px !important;
  top:1px !important;
  width:7px !important;
  height:7px !important;
  border-right:2px solid rgba(255,255,255,.72) !important;
  border-bottom:2px solid rgba(255,255,255,.72) !important;
  transform:rotate(45deg) !important;
  transition:transform .18s ease !important;
}

.nav-mega-trigger:hover .nav-mega-chevron::after,
.nav-mega-trigger:focus-within .nav-mega-chevron::after,
.nav-mega-trigger.open .nav-mega-chevron::after,
.nav-mega-trigger.is-open .nav-mega-chevron::after{
  transform:rotate(225deg) translate(-2px,-2px) !important;
}

/* Make dropdowns real centred cards, overriding old fixed full-width rule */
@media(min-width:901px){
  .topnav,
  .topnav .row,
  .nav-links,
  .nav-links > *,
  .nav-mega-trigger{
    overflow:visible !important;
  }

  .nav-mega-trigger{
    position:relative !important;
  }

  .nav-mega-panel{
    position:absolute !important;
    top:calc(100% + 16px) !important;
    left:50% !important;
    right:auto !important;
    width:min(1040px,calc(100vw - 56px)) !important;
    max-width:1040px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    padding:0 !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateX(-50%) translateY(8px) !important;
    transition:opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    z-index:99999 !important;
  }

  .locations-trigger .nav-mega-panel,
  .location-mega-panel{
    width:min(920px,calc(100vw - 56px)) !important;
    max-width:920px !important;
  }

  .nav-mega-panel::before{
    content:"" !important;
    position:absolute !important;
    top:-20px !important;
    left:0 !important;
    right:0 !important;
    height:20px !important;
    display:block !important;
    background:transparent !important;
  }

  .nav-mega-trigger:hover .nav-mega-panel,
  .nav-mega-trigger:focus-within .nav-mega-panel,
  .nav-mega-trigger.open .nav-mega-panel,
  .nav-mega-trigger.is-open .nav-mega-panel,
  .nav-mega-panel:hover{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) !important;
  }

  .cdi-mega-v2{
    grid-template-columns:205px minmax(0,1fr) 330px !important;
    gap:14px !important;
    max-height:none !important;
  }

  .cdi-mega-v2-feature h3,
  .premium-mega-feature h3{
    font-size:19px !important;
    line-height:1.12 !important;
    max-width:285px !important;
  }

  .cdi-mega-v2-feature p,
  .premium-mega-feature p{
    font-size:12.5px !important;
    max-width:285px !important;
  }

  .feature-mini-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .feature-mini-grid a{
    font-size:12.5px !important;
    font-weight:650 !important;
    color:#FFFFFF !important;
    background:rgba(255,255,255,.09) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:12px !important;
    padding:9px 10px !important;
  }

  .cdi-feature-cta{
    background:#3BB8F3 !important;
    color:#071426 !important;
    font-size:13px !important;
    font-weight:750 !important;
    height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    padding:0 16px !important;
    margin-top:12px !important;
  }
}

/* Reduce menu boldness further */
.nav-links > a,
.nav-link-plain,
.nav-mega-trigger > a{
  font-weight:650 !important;
}

.cdi-mega-v2-menu a,
.cdi-location-grid a,
.cdi-test-centre-links a,
.location-mega-grid b,
.location-mega-test a{
  font-weight:650 !important;
}

/* Full desktop breathing room */
@media(min-width:1200px){
  .container{
    width:min(1280px,calc(100% - 80px)) !important;
  }
}

/* Mobile: keep hero readable and avoid sideways page scroll */
@media(max-width:900px){
  .hero-block .eyebrow,
  .saas-hero .eyebrow,
  .eyebrow{
    max-width:100% !important;
    white-space:normal !important;
    line-height:1.35 !important;
  }

  .ai-search{
    max-width:100% !important;
  }
}

/* ==========================================================
   CLEANUP FIX 3
   Fix Driving Lessons mega menu left clipping.
   Desktop mega panels are viewport-centred, not trigger-centred.
   ========================================================== */

@media(min-width:901px){
  .nav-mega-trigger{
    position:static !important;
  }

  .nav-mega-panel,
  .locations-trigger .nav-mega-panel,
  .location-mega-panel{
    position:fixed !important;
    top:96px !important;
    left:50vw !important;
    right:auto !important;
    width:min(1040px,calc(100vw - 56px)) !important;
    max-width:1040px !important;
    transform:translateX(-50%) translateY(8px) !important;
    margin:0 !important;
    z-index:99999 !important;
  }

  .location-mega-panel,
  .locations-trigger .nav-mega-panel{
    width:min(920px,calc(100vw - 56px)) !important;
    max-width:920px !important;
  }

  .nav-mega-trigger:hover .nav-mega-panel,
  .nav-mega-trigger:focus-within .nav-mega-panel,
  .nav-mega-trigger.open .nav-mega-panel,
  .nav-mega-trigger.is-open .nav-mega-panel,
  .nav-mega-panel:hover{
    transform:translateX(-50%) translateY(0) !important;
  }

  .nav-mega-panel::before{
    top:-24px !important;
    height:24px !important;
  }

  .cdi-mega-v2{
    grid-template-columns:210px minmax(0,1fr) 340px !important;
    align-items:stretch !important;
  }

  .cdi-mega-v2-menu,
  .cdi-mega-v2-locations,
  .cdi-mega-v2-feature{
    min-width:0 !important;
  }

  .cdi-location-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }

  .cdi-test-centre-links{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }

  .cdi-location-grid a,
  .cdi-test-centre-links a{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .cdi-mega-v2-menu a{
    display:flex !important;
    align-items:center !important;
    min-height:38px !important;
    white-space:normal !important;
  }
}

@media(min-width:1400px){
  .nav-mega-panel{
    top:98px !important;
  }
}

/* ==========================================================
   CLEANUP FIX 4
   Fix Locations dropdown left-column text clipping.
   Keeps viewport-centred mega menu and clean file structure.
   ========================================================== */

@media(min-width:901px){
  .location-mega-panel,
  .locations-trigger .nav-mega-panel{
    width:min(1060px,calc(100vw - 56px)) !important;
    max-width:1060px !important;
  }

  .location-mega-v9{
    grid-template-columns:300px minmax(360px,1fr) 230px !important;
    gap:14px !important;
    align-items:stretch !important;
  }

  .location-mega-left,
  .location-mega-grid,
  .location-mega-test{
    min-width:0 !important;
    overflow:hidden !important;
  }

  .location-mega-left h3{
    font-size:20px !important;
    line-height:1.12 !important;
    letter-spacing:-.035em !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    margin-bottom:10px !important;
  }

  .location-mega-left p{
    font-size:12.8px !important;
    line-height:1.5 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .location-mega-left .mega-v9-cta{
    width:auto !important;
    max-width:100% !important;
    white-space:nowrap !important;
  }

  .location-mega-grid a{
    min-width:0 !important;
  }

  .location-mega-grid b,
  .location-mega-grid small{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  .location-mega-panel,
  .locations-trigger .nav-mega-panel{
    width:min(980px,calc(100vw - 42px)) !important;
  }

  .location-mega-v9{
    grid-template-columns:270px minmax(330px,1fr) 210px !important;
  }

  .location-mega-left h3{
    font-size:19px !important;
  }

  .location-mega-left p{
    font-size:12.5px !important;
  }
}

/* ==========================================================
   CLEANUP FIX 5
   Rebuild both desktop dropdowns into one consistent premium style.
   Removes clunky nested box appearance and text clipping.
   ========================================================== */

@media(min-width:901px){

  /* Desktop dropdown positioning */
  .nav-mega-trigger{
    position:static !important;
  }

  .nav-mega-panel,
  .locations-trigger .nav-mega-panel,
  .location-mega-panel{
    position:fixed !important;
    top:96px !important;
    left:50vw !important;
    right:auto !important;
    width:min(980px,calc(100vw - 64px)) !important;
    max-width:980px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateX(-50%) translateY(10px) !important;
    transition:opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    z-index:99999 !important;
  }

  .nav-mega-panel::before{
    content:"" !important;
    position:absolute !important;
    top:-24px !important;
    left:0 !important;
    right:0 !important;
    height:24px !important;
    display:block !important;
    background:transparent !important;
  }

  .nav-mega-trigger:hover .nav-mega-panel,
  .nav-mega-trigger:focus-within .nav-mega-panel,
  .nav-mega-trigger.open .nav-mega-panel,
  .nav-mega-trigger.is-open .nav-mega-panel,
  .nav-mega-panel:hover{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) !important;
  }

  /* One shared shell for both menu types */
  .cdi-mega-v2,
  .location-mega-v9,
  .premium-mega{
    width:100% !important;
    display:grid !important;
    grid-template-columns:230px minmax(0,1fr) 280px !important;
    gap:16px !important;
    background:#FFFFFF !important;
    border:1px solid #DCE7F2 !important;
    border-radius:24px !important;
    box-shadow:0 28px 80px rgba(12,31,56,.18) !important;
    padding:16px !important;
    max-height:none !important;
    overflow:hidden !important;
  }

  /* Shared panels */
  .cdi-mega-v2-menu,
  .cdi-mega-v2-locations,
  .cdi-mega-v2-feature,
  .location-mega-left,
  .location-mega-grid,
  .location-mega-test,
  .premium-mega-left,
  .premium-mega-middle,
  .premium-mega-feature{
    min-width:0 !important;
    overflow:hidden !important;
    border-radius:18px !important;
  }

  .cdi-mega-v2-menu,
  .cdi-mega-v2-locations,
  .location-mega-left,
  .location-mega-grid,
  .location-mega-test,
  .premium-mega-left,
  .premium-mega-middle{
    background:#F8FBFE !important;
    border:1px solid #E2EBF4 !important;
    padding:16px !important;
  }

  .cdi-mega-v2-feature,
  .premium-mega-feature{
    background:#0C1F38 !important;
    border:1px solid rgba(255,255,255,.08) !important;
    padding:22px !important;
    color:#FFFFFF !important;
  }

  /* Labels */
  .cdi-mega-label,
  .premium-mini-label,
  .mega-v9-label{
    display:block !important;
    color:#2F80ED !important;
    font-size:10px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
    letter-spacing:.1em !important;
    text-transform:uppercase !important;
    margin:0 0 12px !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  /* Left menu links */
  .cdi-mega-v2-menu a,
  .premium-menu-link{
    display:flex !important;
    align-items:center !important;
    min-height:38px !important;
    padding:8px 10px !important;
    border-radius:12px !important;
    color:#10233D !important;
    background:transparent !important;
    border:0 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .cdi-mega-v2-menu a:hover,
  .premium-menu-link:hover{
    background:#FFFFFF !important;
    color:#0C1F38 !important;
  }

  .cdi-mega-v2-menu a.is-strong,
  .premium-menu-link.highlight{
    background:#0C1F38 !important;
    color:#FFFFFF !important;
    justify-content:center !important;
    margin-top:8px !important;
  }

  /* Driving Lessons middle grids */
  .cdi-location-grid,
  .cdi-test-centre-links{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .cdi-location-grid{
    margin-bottom:14px !important;
  }

  .cdi-test-centre-links{
    margin-top:8px !important;
  }

  .cdi-location-grid a,
  .cdi-test-centre-links a,
  .premium-location-grid a{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-height:42px !important;
    padding:10px 12px !important;
    border-radius:13px !important;
    background:#FFFFFF !important;
    border:1px solid #CFE0F2 !important;
    color:#10233D !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    box-shadow:none !important;
  }

  .cdi-location-grid a:hover,
  .cdi-test-centre-links a:hover,
  .premium-location-grid a:hover{
    background:#EAF2FA !important;
    border-color:#B9CDE2 !important;
  }

  .cdi-location-grid span,
  .premium-location-grid span{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    border-radius:9px !important;
    background:#EAF2FA !important;
    color:#0C1F38 !important;
    display:grid !important;
    place-items:center !important;
    font-size:12px !important;
  }

  /* Feature panel */
  .cdi-mega-v2-feature h3,
  .premium-mega-feature h3{
    color:#FFFFFF !important;
    font-size:20px !important;
    line-height:1.12 !important;
    letter-spacing:-.035em !important;
    max-width:100% !important;
    margin:0 0 10px !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .cdi-mega-v2-feature p,
  .premium-mega-feature p{
    color:#C8D8EA !important;
    font-size:12.8px !important;
    line-height:1.5 !important;
    max-width:100% !important;
    margin:0 0 14px !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .feature-mini-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:10px 0 14px !important;
  }

  .feature-mini-grid a{
    display:flex !important;
    align-items:center !important;
    min-height:36px !important;
    padding:8px 10px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.09) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:#FFFFFF !important;
    font-size:12.2px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    white-space:normal !important;
  }

  .cdi-feature-cta,
  .premium-feature-cta{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:40px !important;
    padding:0 16px !important;
    border-radius:999px !important;
    background:#3BB8F3 !important;
    color:#071426 !important;
    font-size:13px !important;
    font-weight:750 !important;
    border:0 !important;
    margin-top:0 !important;
  }

  /* Locations menu rebuilt */
  .location-mega-v9{
    grid-template-columns:250px minmax(0,1fr) 230px !important;
  }

  .location-mega-left h3{
    color:#08111F !important;
    font-size:21px !important;
    line-height:1.12 !important;
    letter-spacing:-.035em !important;
    margin:0 0 10px !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .location-mega-left p{
    color:#52657D !important;
    font-size:13px !important;
    line-height:1.48 !important;
    font-weight:500 !important;
    margin:0 0 16px !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .mega-v9-cta{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:0 16px !important;
    border-radius:999px !important;
    background:#0C1F38 !important;
    color:#FFFFFF !important;
    font-size:13px !important;
    font-weight:750 !important;
    white-space:normal !important;
    line-height:1.15 !important;
  }

  .location-mega-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .location-mega-grid a{
    display:grid !important;
    grid-template-columns:34px 1fr !important;
    gap:10px !important;
    align-items:center !important;
    min-height:62px !important;
    padding:10px !important;
    border-radius:14px !important;
    background:#FFFFFF !important;
    border:1px solid #CFE0F2 !important;
    color:#10233D !important;
    overflow:hidden !important;
  }

  .location-mega-grid span{
    width:34px !important;
    height:34px !important;
    border-radius:12px !important;
    background:#EAF2FA !important;
    color:#0C1F38 !important;
    display:grid !important;
    place-items:center !important;
    font-size:12px !important;
  }

  .location-mega-grid b{
    color:#08111F !important;
    display:block !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:750 !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  .location-mega-grid small{
    color:#52657D !important;
    display:block !important;
    font-size:11.8px !important;
    line-height:1.25 !important;
    font-weight:500 !important;
    margin-top:4px !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .location-mega-test{
    display:flex !important;
    flex-direction:column !important;
    gap:9px !important;
  }

  .location-mega-test a{
    display:flex !important;
    align-items:center !important;
    min-height:40px !important;
    padding:9px 11px !important;
    border-radius:13px !important;
    background:#FFFFFF !important;
    border:1px solid #CFE0F2 !important;
    color:#10233D !important;
    font-size:12.5px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    white-space:normal !important;
  }
}

@media(min-width:901px) and (max-width:1120px){
  .nav-mega-panel,
  .locations-trigger .nav-mega-panel,
  .location-mega-panel{
    width:min(920px,calc(100vw - 42px)) !important;
  }

  .cdi-mega-v2,
  .premium-mega{
    grid-template-columns:200px minmax(0,1fr) 280px !important;
  }

  .location-mega-v9{
    grid-template-columns:230px minmax(0,1fr) 210px !important;
  }

  .cdi-mega-v2-feature h3,
  .premium-mega-feature h3,
  .location-mega-left h3{
    font-size:19px !important;
  }
}

/* ==========================================================
   CLEANUP FIX 6
   Refine Locations dropdown cards.
   Keeps current lush dropdown style, reduces awkward 3-line snippets.
   ========================================================== */

@media(min-width:901px){
  .location-mega-v9{
    grid-template-columns:260px minmax(0,1fr) 250px !important;
    width:100% !important;
  }

  .location-mega-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .location-mega-grid a{
    min-height:58px !important;
    grid-template-columns:32px minmax(0,1fr) !important;
    align-items:center !important;
    gap:10px !important;
    padding:11px 12px !important;
  }

  .location-mega-grid span{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
  }

  .location-mega-grid b{
    font-size:13.2px !important;
    line-height:1.15 !important;
    margin-bottom:3px !important;
  }

  .location-mega-grid small{
    font-size:11.4px !important;
    line-height:1.25 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:100% !important;
  }

  .location-mega-test a{
    min-height:42px !important;
    padding:10px 12px !important;
  }
}

@media(min-width:1180px){
  .location-mega-panel,
  .locations-trigger .nav-mega-panel{
    width:min(1040px,calc(100vw - 80px)) !important;
    max-width:1040px !important;
  }

  .location-mega-v9{
    grid-template-columns:270px minmax(0,1fr) 250px !important;
  }

  .location-mega-grid a{
    min-height:56px !important;
  }

  .location-mega-grid small{
    -webkit-line-clamp:1 !important;
    white-space:nowrap !important;
    display:block !important;
  }
}

/* ==========================================================
   CLEANUP FIX 7
   Locations dropdown final polish.
   Hides awkward truncated card descriptions.
   Does not alter Driving Lessons dropdown.
   ========================================================== */

@media(min-width:901px){
  .location-mega-grid a{
    min-height:54px !important;
    grid-template-columns:34px minmax(0,1fr) !important;
    align-items:center !important;
    padding:10px 12px !important;
  }

  .location-mega-grid b{
    font-size:13.5px !important;
    line-height:1.15 !important;
    margin:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .location-mega-grid small{
    display:none !important;
  }

  .location-mega-grid span{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
  }

  .location-mega-left p{
    max-width:230px !important;
  }
}

@media(min-width:1180px){
  .location-mega-grid a{
    min-height:52px !important;
  }
}

/* ==========================================================
   CLEANUP FIX 8
   Consistent dropdown hover states.
   Applies the same premium hover behaviour to Driving Lessons
   and Locations dropdowns. Keeps dark readable text.
   ========================================================== */

@media(min-width:901px){

  /* Shared hover state for all white dropdown cards */
  .cdi-mega-v2-menu a:not(.is-strong):hover,
  .cdi-location-grid a:hover,
  .cdi-test-centre-links a:hover,
  .premium-menu-link:not(.highlight):hover,
  .premium-location-grid a:hover,
  .location-mega-grid a:hover,
  .location-mega-test a:hover{
    background:#EAF2FA !important;
    border-color:#B9CDE2 !important;
    color:#0C1F38 !important;
    box-shadow:0 8px 18px rgba(12,31,56,.055) !important;
    transform:none !important;
  }

  /* Make sure all nested text stays readable on hover */
  .cdi-mega-v2-menu a:not(.is-strong):hover *,
  .cdi-location-grid a:hover *,
  .cdi-test-centre-links a:hover *,
  .premium-menu-link:not(.highlight):hover *,
  .premium-location-grid a:hover *,
  .location-mega-grid a:hover *,
  .location-mega-test a:hover *{
    color:#0C1F38 !important;
  }

  .location-mega-grid a:hover span,
  .cdi-location-grid a:hover span,
  .premium-location-grid a:hover span{
    background:#DDECF8 !important;
    color:#0C1F38 !important;
  }

  /* Keep dark CTA-style links dark, but readable */
  .cdi-mega-v2-menu a.is-strong:hover,
  .premium-menu-link.highlight:hover,
  .mega-v9-cta:hover{
    background:#132B49 !important;
    color:#FFFFFF !important;
    border-color:#132B49 !important;
  }

  .cdi-mega-v2-menu a.is-strong:hover *,
  .premium-menu-link.highlight:hover *,
  .mega-v9-cta:hover *{
    color:#FFFFFF !important;
  }

  /* Remove accidental white text from old hover rules */
  .cdi-location-grid a:hover,
  .cdi-test-centre-links a:hover,
  .location-mega-grid a:hover,
  .location-mega-test a:hover{
    text-decoration:none !important;
  }
}

/* ==========================================================
   CLEANUP FIX 9
   Homepage premium rhythm + unified typography.
   Does not change dropdown layout or dropdown hover rules.
   ========================================================== */

/* Unified body copy */
body p,
.section p,
.home-section p,
.saas-section p,
.demo-section p,
.card p,
.p-card p,
.feature-box p,
.quick-box p,
.cdi-demo-shell p,
.hero-block p,
.saas-hero p{
  font-size:15.5px !important;
  line-height:1.58 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
}

.section .lead,
.home-section .lead,
.saas-section .lead,
.demo-section .lead,
.cdi-demo-shell .lead,
.hero-block .lead,
.hero-block .lede,
.saas-hero .lead,
.saas-hero .lede{
  font-size:clamp(16px,2vw,18px) !important;
  line-height:1.58 !important;
  font-weight:500 !important;
  letter-spacing:-.012em !important;
}

/* Keep the top hero premium navy */
body:not(.admin-body) .hero-block:first-of-type,
body:not(.admin-body) .saas-hero:first-of-type{
  background:#0C1F38 !important;
  color:#FFFFFF !important;
  padding-top:56px !important;
  padding-bottom:46px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

body:not(.admin-body) .hero-block:first-of-type h1,
body:not(.admin-body) .saas-hero:first-of-type h1{
  color:#FFFFFF !important;
}

body:not(.admin-body) .hero-block:first-of-type .lead,
body:not(.admin-body) .hero-block:first-of-type .lede,
body:not(.admin-body) .saas-hero:first-of-type .lead,
body:not(.admin-body) .saas-hero:first-of-type .lede{
  color:#D3E2F2 !important;
}

/* Homepage rhythm: sections after hero should not all look like the hero */
body:not(.admin-body) main > section:not(.hero-block):not(.saas-hero){
  padding-top:58px !important;
  padding-bottom:58px !important;
  position:relative !important;
}

body:not(.admin-body) main > section:nth-of-type(odd):not(.hero-block):not(.saas-hero){
  background:#F6F8FB !important;
}

body:not(.admin-body) main > section:nth-of-type(even):not(.hero-block):not(.saas-hero){
  background:#FFFFFF !important;
}

/* Preserve intentional blue comparison/search bands */
body:not(.admin-body) main > section.compare-band,
body:not(.admin-body) main > section.search-band,
body:not(.admin-body) main > section[style*="3BB8F3"],
body:not(.admin-body) section[style*="#3BB8F3"],
body:not(.admin-body) section[style*="background:#3BB8F3"],
body:not(.admin-body) section[style*="background: #3BB8F3"]{
  background:#3BB8F3 !important;
  color:#071426 !important;
}

body:not(.admin-body) section[style*="3BB8F3"] h1,
body:not(.admin-body) section[style*="3BB8F3"] h2,
body:not(.admin-body) section[style*="3BB8F3"] h3,
body:not(.admin-body) section[style*="#3BB8F3"] h1,
body:not(.admin-body) section[style*="#3BB8F3"] h2,
body:not(.admin-body) section[style*="#3BB8F3"] h3{
  color:#071426 !important;
}

body:not(.admin-body) section[style*="3BB8F3"] p,
body:not(.admin-body) section[style*="3BB8F3"] .lead,
body:not(.admin-body) section[style*="3BB8F3"] .lede,
body:not(.admin-body) section[style*="#3BB8F3"] p,
body:not(.admin-body) section[style*="#3BB8F3"] .lead,
body:not(.admin-body) section[style*="#3BB8F3"] .lede{
  color:#0C1F38 !important;
}

/* Search/listing style bands should feel like the second screenshot */
body:not(.admin-body) .search-hero,
body:not(.admin-body) .listing-hero,
body:not(.admin-body) .compare-hero{
  background:#3BB8F3 !important;
  color:#071426 !important;
}

/* White premium demo blocks */
.cdi-demo-shell,
.demo-section{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  box-shadow:0 20px 54px rgba(12,31,56,.08) !important;
  border-radius:28px !important;
}

/* Dashboard preview visual consistency */
.profile-dashboard,
.dashboard-preview,
.demo-dashboard,
.mock-dashboard{
  background:#0C1F38 !important;
  border-radius:26px !important;
  box-shadow:0 24px 70px rgba(12,31,56,.15) !important;
}

.profile-dashboard p,
.dashboard-preview p,
.demo-dashboard p,
.mock-dashboard p{
  color:#D3E2F2 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

.profile-dashboard h3,
.dashboard-preview h3,
.demo-dashboard h3,
.mock-dashboard h3{
  color:#FFFFFF !important;
}

/* Home cards: unified body text */
.stat-strip .stat span,
.card span,
.p-card span,
.feature-box span,
.quick-box span{
  font-size:13px !important;
  line-height:1.45 !important;
}

.card p,
.p-card p,
.feature-box p,
.quick-box p{
  color:#52657D !important;
}

/* Prevent hero search button and form controls looking oversized compared with body copy */
.ai-search input,
.ai-search select,
.ai-search .input,
.ai-search button,
.ai-row input,
.ai-row select,
.ai-row .input,
.ai-row button{
  font-size:14px !important;
  font-weight:600 !important;
}

.ai-row .btn,
.ai-search .btn{
  font-weight:800 !important;
}

/* Make stat cards premium on dark/blue backgrounds */
.hero-block .stat-strip .stat,
.saas-hero .stat-strip .stat,
section[style*="3BB8F3"] .stat-strip .stat,
section[style*="#3BB8F3"] .stat-strip .stat{
  background:#FFFFFF !important;
  color:#071426 !important;
  border:1px solid rgba(255,255,255,.72) !important;
}

/* Mobile homepage polish */
@media(max-width:900px){
  body:not(.admin-body) .hero-block:first-of-type,
  body:not(.admin-body) .saas-hero:first-of-type{
    padding-top:36px !important;
    padding-bottom:34px !important;
  }

  body p,
  .section p,
  .home-section p,
  .saas-section p,
  .demo-section p,
  .card p,
  .p-card p,
  .feature-box p,
  .quick-box p,
  .cdi-demo-shell p{
    font-size:14.5px !important;
    line-height:1.56 !important;
  }

  .section .lead,
  .home-section .lead,
  .saas-section .lead,
  .demo-section .lead,
  .cdi-demo-shell .lead,
  .hero-block .lead,
  .hero-block .lede,
  .saas-hero .lead,
  .saas-hero .lede{
    font-size:15.5px !important;
    line-height:1.55 !important;
  }

  body:not(.admin-body) main > section:not(.hero-block):not(.saas-hero){
    padding-top:38px !important;
    padding-bottom:38px !important;
  }

  .cdi-demo-shell,
  .demo-section{
    border-radius:22px !important;
  }
}

/* ==========================================================
   CLEANUP FIX 10
   Homepage hero back to CDI blue.
   Keeps header/dropdowns untouched.
   ========================================================== */

body:not(.admin-body) .hero-block:first-of-type,
body:not(.admin-body) .saas-hero:first-of-type{
  background:#3BB8F3 !important;
  color:#071426 !important;
  border-bottom:0 !important;
}

body:not(.admin-body) .hero-block:first-of-type h1,
body:not(.admin-body) .saas-hero:first-of-type h1{
  color:#071426 !important;
}

body:not(.admin-body) .hero-block:first-of-type .lead,
body:not(.admin-body) .hero-block:first-of-type .lede,
body:not(.admin-body) .saas-hero:first-of-type .lead,
body:not(.admin-body) .saas-hero:first-of-type .lede{
  color:#0C1F38 !important;
}

body:not(.admin-body) .hero-block:first-of-type .eyebrow,
body:not(.admin-body) .saas-hero:first-of-type .eyebrow{
  background:#FFFFFF !important;
  color:#0C1F38 !important;
  border-color:rgba(255,255,255,.74) !important;
}

body:not(.admin-body) .hero-block:first-of-type .match-mock,
body:not(.admin-body) .saas-hero:first-of-type .match-mock{
  background:#0C1F38 !important;
  color:#FFFFFF !important;
}

body:not(.admin-body) .hero-block:first-of-type .match-mock p,
body:not(.admin-body) .saas-hero:first-of-type .match-mock p,
body:not(.admin-body) .hero-block:first-of-type .match-mock span,
body:not(.admin-body) .saas-hero:first-of-type .match-mock span{
  color:#C8D8EA !important;
}

body:not(.admin-body) .hero-block:first-of-type .match-mock h3,
body:not(.admin-body) .saas-hero:first-of-type .match-mock h3,
body:not(.admin-body) .hero-block:first-of-type .match-mock strong,
body:not(.admin-body) .saas-hero:first-of-type .match-mock strong{
  color:#FFFFFF !important;
}

/* keep stats readable on the blue hero */
body:not(.admin-body) .hero-block:first-of-type .stat-strip .stat,
body:not(.admin-body) .saas-hero:first-of-type .stat-strip .stat{
  background:#FFFFFF !important;
  color:#071426 !important;
  border:1px solid rgba(255,255,255,.72) !important;
}

/* ==========================================================
   CLEANUP FIX 11
   Unified primary CTA blue.
   Makes header CTA and homepage/search CTAs use the same blue.
   ========================================================== */

:root{
  --cdi-primary-blue:#2F80ED;
  --cdi-primary-blue-hover:#256FDB;
}

/* Header primary CTA */
.nav-actions .btn,
.topnav a.btn,
.topnav .nav-actions a.btn,
.topnav .nav-actions .btn,
a.btn.btn-green,
.btn.btn-green{
  background:var(--cdi-primary-blue) !important;
  border-color:var(--cdi-primary-blue) !important;
  color:#071426 !important;
}

/* Main primary CTAs */
.ai-row .btn,
.ai-search .btn,
button[type="submit"],
input[type="submit"],
.btn-primary,
a.btn-primary{
  background:var(--cdi-primary-blue) !important;
  border-color:var(--cdi-primary-blue) !important;
  color:#FFFFFF !important;
}

/* Hover states */
.nav-actions .btn:hover,
.topnav a.btn:hover,
.topnav .nav-actions a.btn:hover,
.topnav .nav-actions .btn:hover,
a.btn.btn-green:hover,
.btn.btn-green:hover{
  background:var(--cdi-primary-blue-hover) !important;
  border-color:var(--cdi-primary-blue-hover) !important;
  color:#071426 !important;
}

.ai-row .btn:hover,
.ai-search .btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.btn-primary:hover,
a.btn-primary:hover{
  background:var(--cdi-primary-blue-hover) !important;
  border-color:var(--cdi-primary-blue-hover) !important;
  color:#FFFFFF !important;
}

/* Keep rounded premium shape consistent */
.nav-actions .btn,
.topnav a.btn,
.ai-row .btn,
.ai-search .btn,
button[type="submit"],
input[type="submit"],
.btn-primary,
a.btn-primary{
  box-shadow:none !important;
}

/* ==========================================================
   CLEANUP FIX 12
   Final CTA policy across the whole application.
   Hero stays CDI blue. Primary CTA uses deeper action blue.
   No dropdown layout changes.
   ========================================================== */

:root{
  --cdi-hero-blue:#3BB8F3;
  --cdi-primary-blue:#2F80ED;
  --cdi-primary-blue-hover:#256FDB;
  --cdi-primary-text:#FFFFFF;
  --cdi-primary-text-dark:#071426;
  --cdi-navy:#0C1F38;
}

/* Homepage hero stays CDI blue */
body:not(.admin-body) .hero-block:first-of-type,
body:not(.admin-body) .saas-hero:first-of-type{
  background:var(--cdi-hero-blue) !important;
  color:var(--cdi-primary-text-dark) !important;
}

body:not(.admin-body) .hero-block:first-of-type h1,
body:not(.admin-body) .saas-hero:first-of-type h1,
body:not(.admin-body) .hero-block:first-of-type h2,
body:not(.admin-body) .saas-hero:first-of-type h2{
  color:var(--cdi-primary-text-dark) !important;
}

body:not(.admin-body) .hero-block:first-of-type p,
body:not(.admin-body) .hero-block:first-of-type .lead,
body:not(.admin-body) .hero-block:first-of-type .lede,
body:not(.admin-body) .saas-hero:first-of-type p,
body:not(.admin-body) .saas-hero:first-of-type .lead,
body:not(.admin-body) .saas-hero:first-of-type .lede{
  color:var(--cdi-navy) !important;
}

/* Final primary CTA standard */
.btn-primary,
a.btn-primary,
button.btn-primary,
.ai-row .btn,
.ai-search .btn,
.search-form .btn,
form button[type="submit"],
form input[type="submit"],
.hero-block .btn,
.saas-hero .btn,
.card .btn,
.p-card .btn,
.profile-card .btn,
.instructor-card .btn,
.demo-section .btn,
.cdi-demo-shell .btn,
.dashboard-card .btn,
a[href*="dashboard"].btn,
a[href*="profile"].btn,
a[href*="register"].btn,
a[href*="enquire"].btn,
a[href*="instructor"].btn,
a[href*="compare"].btn,
.nav-actions .btn,
.topnav a.btn,
.topnav .nav-actions a.btn,
.topnav .nav-actions .btn,
a.btn.btn-green,
.btn.btn-green{
  background:var(--cdi-primary-blue) !important;
  border:1px solid var(--cdi-primary-blue) !important;
  color:var(--cdi-primary-text) !important;
  box-shadow:0 12px 26px rgba(47,128,237,.18) !important;
}

/* Primary CTA hover */
.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover,
.ai-row .btn:hover,
.ai-search .btn:hover,
.search-form .btn:hover,
form button[type="submit"]:hover,
form input[type="submit"]:hover,
.hero-block .btn:hover,
.saas-hero .btn:hover,
.card .btn:hover,
.p-card .btn:hover,
.profile-card .btn:hover,
.instructor-card .btn:hover,
.demo-section .btn:hover,
.cdi-demo-shell .btn:hover,
.dashboard-card .btn:hover,
a[href*="dashboard"].btn:hover,
a[href*="profile"].btn:hover,
a[href*="register"].btn:hover,
a[href*="enquire"].btn:hover,
a[href*="instructor"].btn:hover,
a[href*="compare"].btn:hover,
.nav-actions .btn:hover,
.topnav a.btn:hover,
.topnav .nav-actions a.btn:hover,
.topnav .nav-actions .btn:hover,
a.btn.btn-green:hover,
.btn.btn-green:hover{
  background:var(--cdi-primary-blue-hover) !important;
  border-color:var(--cdi-primary-blue-hover) !important;
  color:var(--cdi-primary-text) !important;
  box-shadow:0 14px 30px rgba(37,111,219,.22) !important;
  transform:translateY(-1px) !important;
}

/* Keep primary CTA text readable even when nested spans/strong tags exist */
.btn-primary *,
.ai-row .btn *,
.ai-search .btn *,
.search-form .btn *,
form button[type="submit"] *,
.hero-block .btn *,
.saas-hero .btn *,
.card .btn *,
.p-card .btn *,
.profile-card .btn *,
.instructor-card .btn *,
.demo-section .btn *,
.cdi-demo-shell .btn *,
.dashboard-card .btn *,
.nav-actions .btn *,
.topnav a.btn *{
  color:var(--cdi-primary-text) !important;
}

/* Consistent primary CTA sizing */
.btn-primary,
a.btn-primary,
button.btn-primary,
.ai-row .btn,
.ai-search .btn,
.search-form .btn,
form button[type="submit"],
form input[type="submit"],
.hero-block .btn,
.saas-hero .btn,
.card .btn,
.p-card .btn,
.profile-card .btn,
.instructor-card .btn,
.demo-section .btn,
.cdi-demo-shell .btn,
.dashboard-card .btn,
.nav-actions .btn,
.topnav a.btn{
  min-height:44px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
}

/* Search/form primary buttons can stay slightly chunkier */
.ai-row .btn,
.ai-search .btn,
.search-form .btn,
form button[type="submit"],
form input[type="submit"]{
  min-height:50px !important;
}

/* Header CTA alignment and colour */
.nav-actions .btn,
.topnav a.btn,
.topnav .nav-actions a.btn,
.topnav .nav-actions .btn{
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  padding:0 24px !important;
  color:#FFFFFF !important;
}

/* Secondary CTA policy */
.btn-secondary,
a.btn-secondary,
.btn-outline,
a.btn-outline,
.secondary-btn,
a.secondary-btn{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  color:#0C1F38 !important;
  box-shadow:none !important;
}

.btn-secondary:hover,
a.btn-secondary:hover,
.btn-outline:hover,
a.btn-outline:hover,
.secondary-btn:hover,
a.secondary-btn:hover{
  background:#EAF2FA !important;
  border-color:#B9CDE2 !important;
  color:#0C1F38 !important;
}

/* Filter/pill policy */
.chip,
.filter-chip,
.pill,
.tag,
.lesson-pill{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  color:#071426 !important;
  box-shadow:0 8px 18px rgba(12,31,56,.05) !important;
}

.chip:hover,
.filter-chip:hover,
.pill:hover,
.tag:hover,
.lesson-pill:hover{
  background:#EAF2FA !important;
  color:#0C1F38 !important;
  border-color:#B9CDE2 !important;
}

/* ==========================================================
   MULTI-LANDING PREMIUM UPDATE
   Batch fixes: FAQ accordions, blog, legal, location pages and pricing.
   ========================================================== */

/* FAQ accordions across resource pages */
.acc-item{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:18px !important;
  box-shadow:0 10px 26px rgba(12,31,56,.055) !important;
  margin-bottom:12px !important;
  overflow:hidden !important;
}

.acc-q{
  width:100% !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:18px 20px !important;
  background:#FFFFFF !important;
  border:0 !important;
  color:#071426 !important;
  text-align:left !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.acc-q:hover{
  background:#EAF2FA !important;
  color:#0C1F38 !important;
}

.acc-q .plus{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#EAF2FA !important;
  color:#0C1F38 !important;
  font-weight:900 !important;
  transition:transform .18s ease !important;
}

.acc-item.open .acc-q .plus{
  transform:rotate(45deg) !important;
}

.acc-a{
  display:none !important;
  padding:0 20px 20px !important;
  color:#52657D !important;
}

.acc-item.open .acc-a{
  display:block !important;
}

.acc-a p{
  margin:0 !important;
  color:#52657D !important;
  font-size:14.5px !important;
  line-height:1.65 !important;
}

/* Resource page heroes, ADI guide and cost guide */
body:not(.admin-body) main .section-tight.bg-mist:first-child,
body:not(.admin-body) .section-tight.bg-mist:first-of-type{
  background:#3BB8F3 !important;
  color:#071426 !important;
  border-bottom:0 !important;
}

body:not(.admin-body) .section-tight.bg-mist:first-of-type h1{
  color:#071426 !important;
  font-size:clamp(34px,5vw,58px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
  max-width:840px !important;
}

body:not(.admin-body) .section-tight.bg-mist:first-of-type .lede,
body:not(.admin-body) .section-tight.bg-mist:first-of-type .muted,
body:not(.admin-body) .section-tight.bg-mist:first-of-type p{
  color:#0C1F38 !important;
}

/* Blog page cleanup */
body:has(a[href^="/blog/"]) .section-tight.bg-mist:first-of-type h1{
  font-size:clamp(34px,4.5vw,52px) !important;
  line-height:1.05 !important;
}

body:has(a[href^="/blog/"]) .p-card h2{
  font-size:18px !important;
  line-height:1.25 !important;
  letter-spacing:-.025em !important;
}

body:has(a[href^="/blog/"]) .p-card{
  border-radius:24px !important;
  padding:22px !important;
  box-shadow:0 12px 30px rgba(12,31,56,.07) !important;
}

body:has(a[href^="/blog/"]) .p-card p{
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Legal pages: wider, premium and less cramped */
body:has(a[href^="mailto:"]) .section-tight .container[style*="max-width:760px"]{
  max-width:980px !important;
}

body:has(a[href^="mailto:"]) .section-tight .container[style*="font-size:15px"]{
  max-width:980px !important;
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:28px !important;
  padding:34px !important;
  box-shadow:0 18px 48px rgba(12,31,56,.07) !important;
  color:#52657D !important;
}

body:has(a[href^="mailto:"]) .section-tight .container[style*="font-size:15px"] h2{
  font-size:21px !important;
  line-height:1.2 !important;
  color:#071426 !important;
  margin-top:34px !important;
  margin-bottom:12px !important;
  letter-spacing:-.02em !important;
}

body:has(a[href^="mailto:"]) .section-tight .container[style*="font-size:15px"] p{
  font-size:15px !important;
  line-height:1.75 !important;
  margin-top:0 !important;
  margin-bottom:18px !important;
}

/* Location/city pages */
.results-grid{
  gap:18px !important;
}

.results-grid .p-card{
  border-radius:24px !important;
  border:1px solid #DCE7F2 !important;
  box-shadow:0 14px 34px rgba(12,31,56,.07) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.results-grid .p-card:hover{
  transform:translateY(-2px) !important;
  border-color:#B9CDE2 !important;
  box-shadow:0 20px 48px rgba(12,31,56,.12) !important;
}

.p-card-name h3,
.p-card-info h3{
  font-size:18px !important;
  line-height:1.2 !important;
}

.p-card-foot{
  margin-top:18px !important;
  padding-top:16px !important;
  border-top:1px solid #E6EEF6 !important;
}

.price-from b{
  color:#071426 !important;
  font-size:18px !important;
}

/* Premium instructor/school supply page */
.pro-hero{
  background:#3BB8F3 !important;
  color:#071426 !important;
  padding:64px 0 !important;
}

.pro-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr) !important;
  gap:56px !important;
  align-items:center !important;
}

.pro-hero h1{
  color:#071426 !important;
  max-width:760px !important;
  margin:14px 0 0 !important;
  font-size:clamp(42px,5vw,68px) !important;
  line-height:.98 !important;
}

.pro-hero .lead{
  color:#0C1F38 !important;
  max-width:740px !important;
  margin-top:20px !important;
}

.hero-actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:28px !important;
}

.supply-stat-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:28px !important;
  max-width:740px !important;
}

.supply-stat-row div{
  background:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.72) !important;
  border-radius:18px !important;
  padding:16px !important;
  box-shadow:0 12px 28px rgba(12,31,56,.08) !important;
}

.supply-stat-row strong{
  display:block !important;
  font-size:19px !important;
  line-height:1.1 !important;
  color:#071426 !important;
}

.supply-stat-row span{
  display:block !important;
  margin-top:6px !important;
  color:#52657D !important;
  font-size:12.5px !important;
}

.dashboard-preview-card{
  background:#0C1F38 !important;
  border-radius:28px !important;
  padding:26px !important;
  color:#FFFFFF !important;
  box-shadow:0 24px 70px rgba(12,31,56,.18) !important;
}

.dash-top{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  padding-bottom:16px !important;
  margin-bottom:16px !important;
}

.dash-top span{
  width:12px !important;
  height:12px !important;
  border-radius:999px !important;
  background:#89A4C4 !important;
}

.dash-top b{
  margin-left:10px !important;
  color:#FFFFFF !important;
}

.dash-grid{
  display:grid !important;
  grid-template-columns:150px 1fr !important;
  gap:16px !important;
}

.dash-nav,
.dash-metrics div{
  background:rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  padding:18px !important;
}

.dash-nav{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}

.dash-nav strong,
.dash-nav span{
  color:#FFFFFF !important;
  font-size:13px !important;
}

.dash-metrics{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}

.dash-metrics strong{
  display:block !important;
  color:#FFFFFF !important;
  font-size:24px !important;
}

.dash-metrics span{
  color:#C8D8EA !important;
  font-size:12px !important;
}

.dash-checklist{
  background:#FFFFFF !important;
  border-radius:20px !important;
  padding:20px !important;
  margin-top:14px !important;
}

.dash-checklist h3{
  color:#071426 !important;
  margin:0 0 12px !important;
}

.dash-checklist p{
  color:#52657D !important;
  font-size:13.5px !important;
  margin:8px 0 !important;
}

.pro-section{
  padding:64px 0 !important;
  background:#FFFFFF !important;
}

.pro-soft{
  background:#F6F8FB !important;
}

.premium-card-grid{
  display:grid !important;
  gap:16px !important;
}

.premium-card-grid.six{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.premium-info-card,
.profile-path-card,
.pricing-plan{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:24px !important;
  padding:24px !important;
  box-shadow:0 14px 34px rgba(12,31,56,.07) !important;
}

.mini-icon,
.profile-path-card span{
  display:inline-grid !important;
  place-items:center !important;
  width:36px !important;
  height:36px !important;
  border-radius:13px !important;
  background:#EAF2FA !important;
  color:#0C1F38 !important;
  font-weight:850 !important;
  margin-bottom:18px !important;
}

.premium-info-card h3,
.profile-path-card h3{
  color:#071426 !important;
  font-size:18px !important;
  margin:0 !important;
}

.premium-info-card p,
.profile-path-card p{
  color:#52657D !important;
  font-size:14px !important;
  line-height:1.6 !important;
  margin-top:10px !important;
}

.pricing-grid-pro{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  margin-top:32px !important;
}

.pricing-plan{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
}

.pricing-plan.is-featured{
  border-color:#2F80ED !important;
  box-shadow:0 20px 52px rgba(47,128,237,.16) !important;
}

.plan-badge{
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  background:#0C1F38 !important;
  color:#FFFFFF !important;
  border-radius:999px !important;
  padding:6px 10px !important;
  font-size:11px !important;
  font-weight:800 !important;
}

.pricing-plan h3{
  font-size:20px !important;
  margin:0 !important;
}

.plan-price{
  font-size:32px !important;
  font-weight:900 !important;
  color:#071426 !important;
  margin-top:14px !important;
}

.plan-price span{
  font-size:13px !important;
  color:#52657D !important;
  margin-left:4px !important;
}

.pricing-plan p{
  color:#52657D !important;
  font-size:13.5px !important;
  min-height:44px !important;
}

.pricing-plan ul{
  list-style:none !important;
  padding:0 !important;
  margin:18px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.pricing-plan li{
  color:#33475F !important;
  font-size:13.5px !important;
  line-height:1.45 !important;
}

.pricing-plan .btn{
  margin-top:auto !important;
}

.pricing-note{
  text-align:center !important;
  color:#52657D !important;
  margin-top:22px !important;
  font-size:13.5px !important;
}

.profile-path-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  max-width:920px !important;
  margin:28px auto 0 !important;
}

.profile-path-card{
  text-decoration:none !important;
  color:inherit !important;
}

.profile-path-card b{
  display:inline-flex !important;
  margin-top:16px !important;
  color:#2F80ED !important;
}

.final-cta-band{
  background:#0C1F38 !important;
  color:#FFFFFF !important;
}

.final-cta-band h2,
.final-cta-band .lead{
  color:#FFFFFF !important;
}

.narrow{
  max-width:780px !important;
}

/* Ensure #pricing anchor is not hidden under sticky nav */
#pricing{
  scroll-margin-top:110px !important;
}

/* Responsive */
@media(max-width:1100px){
  .pro-hero-grid,
  .contact-hero-grid{
    grid-template-columns:1fr !important;
  }

  .pricing-grid-pro{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .premium-card-grid.six{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  body:not(.admin-body) .section-tight.bg-mist:first-of-type h1,
  .pro-hero h1{
    font-size:clamp(34px,10vw,46px) !important;
  }

  .pro-hero{
    padding:38px 0 !important;
  }

  .supply-stat-row,
  .premium-card-grid.six,
  .pricing-grid-pro,
  .profile-path-grid,
  .dash-grid,
  .dash-metrics{
    grid-template-columns:1fr !important;
  }

  .pricing-plan p{
    min-height:0 !important;
  }

  body:has(a[href^="mailto:"]) .section-tight .container[style*="font-size:15px"]{
    padding:24px !important;
    border-radius:22px !important;
  }
}


/* ==========================================================
   PREMIUM CONTACT PAGE
   Contact landing page upgrade.
   ========================================================== */

.contact-hero{
  background:#3BB8F3 !important;
  color:#071426 !important;
  padding:64px 0 58px !important;
  overflow:hidden !important;
}

.contact-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 420px !important;
  gap:56px !important;
  align-items:center !important;
}

.contact-hero h1{
  color:#071426 !important;
  max-width:760px !important;
  margin:14px 0 0 !important;
}

.contact-hero .lead{
  color:#0C1F38 !important;
  max-width:680px !important;
  margin-top:18px !important;
}

.contact-eyebrow,
.contact-eyebrow-light{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  width:auto !important;
}

.contact-trust-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:28px !important;
  max-width:720px !important;
}

.contact-trust-row div{
  background:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.74) !important;
  border-radius:18px !important;
  padding:16px !important;
  box-shadow:0 12px 28px rgba(12,31,56,.08) !important;
}

.contact-trust-row strong{
  display:block !important;
  color:#071426 !important;
  font-size:18px !important;
  line-height:1.1 !important;
}

.contact-trust-row span{
  display:block !important;
  color:#52657D !important;
  font-size:12.5px !important;
  margin-top:6px !important;
}

.contact-hero-panel{
  background:#0C1F38 !important;
  color:#FFFFFF !important;
  border-radius:28px !important;
  padding:28px !important;
  box-shadow:0 24px 70px rgba(12,31,56,.18) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}

.panel-kicker{
  color:#9EDFFD !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  margin-bottom:12px !important;
}

.contact-hero-panel h2,
.side-panel-dark h3{
  color:#FFFFFF !important;
  font-size:26px !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  margin:0 !important;
}

.contact-route-list{
  display:grid !important;
  gap:10px !important;
  margin-top:22px !important;
}

.contact-route-list a{
  display:grid !important;
  grid-template-columns:38px 1fr !important;
  gap:12px !important;
  align-items:center !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:16px !important;
  padding:14px !important;
  text-decoration:none !important;
}

.contact-route-list span{
  width:38px !important;
  height:38px !important;
  border-radius:14px !important;
  display:grid !important;
  place-items:center !important;
  background:#3BB8F3 !important;
  color:#071426 !important;
  font-size:12px !important;
  font-weight:850 !important;
}

.contact-route-list b{
  display:block !important;
  color:#FFFFFF !important;
  font-size:14px !important;
  line-height:1.2 !important;
}

.contact-route-list small{
  display:block !important;
  color:#C8D8EA !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  margin-top:3px !important;
}

.contact-options-section,
.contact-form-section,
.contact-faq-section{
  padding:64px 0 !important;
}

.contact-options-section{
  background:#F6F8FB !important;
}

.contact-form-section{
  background:#FFFFFF !important;
}

.contact-faq-section{
  background:#F6F8FB !important;
}

.contact-section-head{
  max-width:760px !important;
  margin-bottom:28px !important;
}

.contact-section-head.compact{
  margin-bottom:24px !important;
}

.contact-section-head h2{
  color:#071426 !important;
  margin:12px 0 0 !important;
}

.contact-section-head p{
  color:#52657D !important;
  max-width:640px !important;
  margin-top:12px !important;
}

.contact-option-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

.contact-option-card{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:24px !important;
  padding:22px !important;
  text-decoration:none !important;
  box-shadow:0 14px 34px rgba(12,31,56,.07) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.contact-option-card:hover{
  transform:translateY(-2px) !important;
  border-color:#B9CDE2 !important;
  box-shadow:0 20px 48px rgba(12,31,56,.11) !important;
}

.option-number{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  border-radius:13px !important;
  background:#EAF2FA !important;
  color:#0C1F38 !important;
  font-size:12px !important;
  font-weight:850 !important;
  margin-bottom:18px !important;
}

.contact-option-card h3{
  color:#071426 !important;
  font-size:18px !important;
  margin:0 !important;
}

.contact-option-card p{
  color:#52657D !important;
  font-size:14px !important;
  margin-top:10px !important;
}

.contact-form-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 360px !important;
  gap:24px !important;
  align-items:start !important;
}

.contact-form-card{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:28px !important;
  padding:30px !important;
  box-shadow:0 20px 54px rgba(12,31,56,.08) !important;
}

.contact-form-header{
  margin-bottom:22px !important;
}

.contact-form-header h2{
  margin:12px 0 0 !important;
}

.contact-form-header p{
  color:#52657D !important;
  max-width:620px !important;
  margin-top:10px !important;
}

.premium-contact-form{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
}

.form-two{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}

.premium-contact-form textarea.input{
  min-height:160px !important;
  resize:vertical !important;
}

.contact-error{
  background:#FEF2F2 !important;
  border:1px solid #FECACA !important;
  border-radius:16px !important;
  padding:14px 16px !important;
  margin-bottom:20px !important;
}

.contact-error p{
  color:#991B1B !important;
  font-size:13.5px !important;
  font-weight:650 !important;
  margin:0 !important;
}

.contact-error p + p{
  margin-top:6px !important;
}

.contact-success{
  background:#F4FBF7 !important;
  border:1px solid #D1FAE5 !important;
  border-radius:24px !important;
  padding:36px !important;
  text-align:left !important;
}

.success-mark{
  width:48px !important;
  height:48px !important;
  border-radius:16px !important;
  display:grid !important;
  place-items:center !important;
  background:#0BAA4B !important;
  color:#FFFFFF !important;
  font-size:26px !important;
  font-weight:850 !important;
  margin-bottom:18px !important;
}

.contact-success h2{
  color:#071426 !important;
  margin:0 !important;
}

.contact-success p{
  color:#52657D !important;
  max-width:540px !important;
  margin-top:10px !important;
}

.contact-success-actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:24px !important;
}

.contact-side-panel{
  display:grid !important;
  gap:14px !important;
}

.side-panel-dark{
  background:#0C1F38 !important;
  color:#FFFFFF !important;
  border-radius:24px !important;
  padding:24px !important;
  box-shadow:0 20px 54px rgba(12,31,56,.12) !important;
}

.side-panel-dark p{
  color:#C8D8EA !important;
  margin-top:12px !important;
}

.support-metrics{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:18px !important;
}

.support-metrics div{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:16px !important;
  padding:14px !important;
}

.support-metrics strong{
  display:block !important;
  color:#FFFFFF !important;
  font-size:22px !important;
  line-height:1 !important;
}

.support-metrics span{
  display:block !important;
  color:#C8D8EA !important;
  font-size:12px !important;
  margin-top:7px !important;
}

.contact-mini-card{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:22px !important;
  padding:20px !important;
  box-shadow:0 12px 30px rgba(12,31,56,.06) !important;
}

.contact-mini-card h3{
  color:#071426 !important;
  font-size:17px !important;
  margin:0 !important;
}

.contact-mini-card p{
  color:#52657D !important;
  font-size:13.5px !important;
  margin-top:8px !important;
}

.contact-mini-card a{
  display:inline-flex !important;
  margin-top:12px !important;
  color:#2F80ED !important;
  font-size:13.5px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.contact-faq-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

.contact-faq-card{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:22px !important;
  padding:22px !important;
  box-shadow:0 12px 30px rgba(12,31,56,.06) !important;
}

.contact-faq-card h3{
  color:#071426 !important;
  font-size:17px !important;
  margin:0 !important;
}

.contact-faq-card p{
  color:#52657D !important;
  font-size:14px !important;
  margin-top:10px !important;
}

@media(max-width:1050px){
  .contact-hero-grid,
  .contact-form-grid{
    grid-template-columns:1fr !important;
  }

  .contact-hero-panel,
  .contact-side-panel{
    max-width:none !important;
  }

  .contact-option-grid,
  .contact-faq-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  .contact-hero{
    padding:38px 0 34px !important;
  }

  .contact-options-section,
  .contact-form-section,
  .contact-faq-section{
    padding:40px 0 !important;
  }

  .contact-trust-row,
  .contact-option-grid,
  .contact-faq-grid,
  .form-two{
    grid-template-columns:1fr !important;
  }

  .contact-hero-panel,
  .contact-form-card,
  .side-panel-dark{
    border-radius:22px !important;
    padding:22px !important;
  }

  .contact-form-card{
    padding:22px !important;
  }

  .contact-route-list a{
    grid-template-columns:34px 1fr !important;
  }

  .contact-success{
    padding:24px !important;
  }
}

/* ==========================================================
   PREMIUM CONTACT PAGE FIX 2
   Tighter hero, less empty space, balanced right panel.
   Contact page only.
   ========================================================== */

.contact-hero{
  min-height:auto !important;
  padding:54px 0 52px !important;
}

.contact-hero .container{
  width:min(1280px,calc(100% - 72px)) !important;
}

.contact-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr) !important;
  gap:58px !important;
  align-items:center !important;
}

.contact-hero-copy{
  max-width:780px !important;
}

.contact-hero h1{
  font-size:clamp(46px,5.4vw,72px) !important;
  line-height:.98 !important;
  letter-spacing:-.058em !important;
  max-width:760px !important;
}

.contact-hero .lead{
  font-size:clamp(18px,1.6vw,22px) !important;
  line-height:1.42 !important;
  max-width:760px !important;
  margin-top:24px !important;
}

.contact-trust-row{
  max-width:720px !important;
  margin-top:34px !important;
}

.contact-trust-row div{
  min-height:94px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.contact-hero-panel{
  max-width:440px !important;
  margin-left:auto !important;
  padding:26px !important;
  border-radius:28px !important;
}

.contact-hero-panel h2{
  font-size:clamp(27px,2.4vw,36px) !important;
  line-height:1.04 !important;
  max-width:390px !important;
}

.contact-route-list{
  gap:12px !important;
  margin-top:24px !important;
}

.contact-route-list a{
  grid-template-columns:46px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
  padding:16px !important;
  min-height:92px !important;
}

.contact-route-list span{
  width:46px !important;
  height:46px !important;
  border-radius:16px !important;
}

.contact-route-list b{
  font-size:15.5px !important;
  line-height:1.2 !important;
}

.contact-route-list small{
  font-size:13px !important;
  line-height:1.35 !important;
  max-width:280px !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.contact-options-section{
  padding-top:54px !important;
}

/* Prevent sticky header overlap feeling on contact page */
body:has(.contact-hero) .contact-hero{
  margin-top:0 !important;
}

/* Desktop large screens: use space better without making it airy */
@media(min-width:1400px){
  .contact-hero{
    padding-top:62px !important;
    padding-bottom:60px !important;
  }

  .contact-hero-grid{
    gap:72px !important;
  }

  .contact-hero-panel{
    max-width:470px !important;
  }
}

/* Medium desktop: keep panel from becoming too narrow */
@media(max-width:1180px){
  .contact-hero .container{
    width:min(1180px,calc(100% - 40px)) !important;
  }

  .contact-hero-grid{
    grid-template-columns:minmax(0,1fr) 390px !important;
    gap:34px !important;
  }

  .contact-hero h1{
    font-size:clamp(42px,5vw,60px) !important;
  }

  .contact-hero .lead{
    font-size:18px !important;
  }

  .contact-route-list a{
    min-height:86px !important;
  }
}

/* Tablet/mobile */
@media(max-width:1050px){
  .contact-hero{
    padding:40px 0 42px !important;
  }

  .contact-hero .container{
    width:calc(100% - 28px) !important;
  }

  .contact-hero-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .contact-hero-panel{
    max-width:none !important;
    margin-left:0 !important;
  }

  .contact-hero h1{
    font-size:clamp(38px,9vw,54px) !important;
  }

  .contact-hero .lead{
    font-size:16.5px !important;
    line-height:1.5 !important;
  }
}

@media(max-width:700px){
  .contact-hero{
    padding:32px 0 34px !important;
  }

  .contact-trust-row{
    gap:10px !important;
  }

  .contact-route-list a{
    min-height:auto !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    padding:14px !important;
  }

  .contact-route-list small{
    max-width:none !important;
  }
}





/* ==========================================================
   CONSOLIDATED PREMIUM UX PASS
   Global page polish for desktop + mobile.
   Fixes oversized headings, thin legal pages, plain contact fallback,
   static FAQs, and clunky content/card spacing.
   ========================================================== */

/* Overall desktop and mobile type scale */
body:not(.admin-body){
  font-size:15px !important;
  line-height:1.6 !important;
  background:#F6F8FB !important;
}

body:not(.admin-body) p,
body:not(.admin-body) li,
body:not(.admin-body) td,
body:not(.admin-body) th{
  font-size:15px !important;
  line-height:1.65 !important;
  font-weight:500 !important;
  color:#52657D !important;
}

body:not(.admin-body) h1{
  font-size:clamp(36px,4.7vw,58px) !important;
  line-height:1.03 !important;
  letter-spacing:-.055em !important;
  margin-bottom:18px !important;
}

body:not(.admin-body) h2{
  font-size:clamp(27px,3.3vw,42px) !important;
  line-height:1.1 !important;
  letter-spacing:-.045em !important;
  margin-bottom:14px !important;
}

body:not(.admin-body) h3{
  font-size:clamp(18px,2vw,24px) !important;
  line-height:1.18 !important;
  letter-spacing:-.03em !important;
  margin-bottom:10px !important;
}

/* Prevent paragraphs sitting directly under big headings */
body:not(.admin-body) h1 + p,
body:not(.admin-body) h2 + p,
body:not(.admin-body) h3 + p,
body:not(.admin-body) .section-head p,
body:not(.admin-body) .lede,
body:not(.admin-body) .lead{
  margin-top:12px !important;
}

body:not(.admin-body) .lead,
body:not(.admin-body) .lede{
  font-size:clamp(16px,1.6vw,19px) !important;
  line-height:1.6 !important;
  color:#52657D !important;
  max-width:760px !important;
}

/* Full desktop but not stretched edge-to-edge */
body:not(.admin-body) .container{
  width:min(1240px,calc(100% - 64px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Premium default section rhythm */
body:not(.admin-body) main > section,
body:not(.admin-body) .section,
body:not(.admin-body) .section-tight{
  padding-top:58px !important;
  padding-bottom:58px !important;
}

body:not(.admin-body) main > section:nth-of-type(odd):not(.hero-block):not(.saas-hero):not(.contact-hero):not(.pro-hero){
  background:#F6F8FB !important;
}

body:not(.admin-body) main > section:nth-of-type(even):not(.hero-block):not(.saas-hero):not(.contact-hero):not(.pro-hero){
  background:#FFFFFF !important;
}

/* Blue hero standard */
body:not(.admin-body) .hero-block:first-of-type,
body:not(.admin-body) .saas-hero:first-of-type,
body:not(.admin-body) .pro-hero,
body:not(.admin-body) .contact-hero,
body:not(.admin-body) .section-tight.bg-mist:first-of-type{
  background:#3BB8F3 !important;
  color:#071426 !important;
}

body:not(.admin-body) .hero-block:first-of-type h1,
body:not(.admin-body) .saas-hero:first-of-type h1,
body:not(.admin-body) .pro-hero h1,
body:not(.admin-body) .contact-hero h1,
body:not(.admin-body) .section-tight.bg-mist:first-of-type h1{
  color:#071426 !important;
}

body:not(.admin-body) .hero-block:first-of-type p,
body:not(.admin-body) .saas-hero:first-of-type p,
body:not(.admin-body) .pro-hero p,
body:not(.admin-body) .contact-hero p,
body:not(.admin-body) .section-tight.bg-mist:first-of-type p,
body:not(.admin-body) .section-tight.bg-mist:first-of-type .muted,
body:not(.admin-body) .section-tight.bg-mist:first-of-type .lede{
  color:#0C1F38 !important;
}

/* Cards across pages */
body:not(.admin-body) .card,
body:not(.admin-body) .p-card,
body:not(.admin-body) .premium-info-card,
body:not(.admin-body) .pricing-plan,
body:not(.admin-body) .profile-path-card,
body:not(.admin-body) .contact-option-card,
body:not(.admin-body) .contact-faq-card,
body:not(.admin-body) .contact-mini-card,
body:not(.admin-body) .quick-box,
body:not(.admin-body) .feature-box{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:24px !important;
  padding:22px !important;
  box-shadow:0 14px 34px rgba(12,31,56,.07) !important;
}

body:not(.admin-body) .card:hover,
body:not(.admin-body) .p-card:hover,
body:not(.admin-body) .premium-info-card:hover,
body:not(.admin-body) .profile-path-card:hover,
body:not(.admin-body) .contact-option-card:hover{
  transform:translateY(-2px) !important;
  border-color:#B9CDE2 !important;
  box-shadow:0 20px 48px rgba(12,31,56,.11) !important;
}

/* Cost page: stop huge empty horizontal cards looking thin */
.cost-row,
.cost-card,
.breakdown-row,
.fee-row{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:24px !important;
  padding:24px !important;
  box-shadow:0 14px 34px rgba(12,31,56,.07) !important;
}

/* If cost cards are raw divs inside a narrow cost section, give them a better rhythm */
body:not(.admin-body) .section-tight .container > div[style*="border"],
body:not(.admin-body) .section .container > div[style*="border"]{
  border-color:#DCE7F2 !important;
  border-radius:24px !important;
  box-shadow:0 14px 34px rgba(12,31,56,.07) !important;
}

/* Blog page */
.blog-grid,
.posts-grid,
.article-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.blog-grid .p-card h2,
.posts-grid .p-card h2,
.article-grid .p-card h2,
.blog-card h2{
  font-size:20px !important;
  line-height:1.22 !important;
  letter-spacing:-.03em !important;
}

.blog-grid .p-card p,
.posts-grid .p-card p,
.article-grid .p-card p,
.blog-card p{
  font-size:14.2px !important;
  line-height:1.58 !important;
}

/* Legal/privacy/terms pages */
.legal-page,
.terms-page,
.privacy-page,
.policy-page{
  background:#F6F8FB !important;
}

.legal-content,
.policy-content,
.terms-content,
.privacy-content{
  max-width:980px !important;
  margin:0 auto !important;
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:28px !important;
  padding:36px !important;
  box-shadow:0 18px 48px rgba(12,31,56,.07) !important;
}

.legal-content h2,
.policy-content h2,
.terms-content h2,
.privacy-content h2{
  font-size:22px !important;
  line-height:1.24 !important;
  margin-top:34px !important;
  margin-bottom:12px !important;
}

.legal-content p,
.policy-content p,
.terms-content p,
.privacy-content p{
  margin-bottom:18px !important;
}

/* Catch existing thin inline legal containers */
body:not(.admin-body) .section-tight .container[style*="max-width:760px"],
body:not(.admin-body) .section-tight .container[style*="max-width: 760px"]{
  max-width:980px !important;
}

body:not(.admin-body) .section-tight .container[style*="font-size:15px"],
body:not(.admin-body) .section-tight .container[style*="font-size: 15px"]{
  max-width:980px !important;
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:28px !important;
  padding:36px !important;
  box-shadow:0 18px 48px rgba(12,31,56,.07) !important;
}

/* City/location pages */
.location-hero,
.city-hero{
  background:#3BB8F3 !important;
  color:#071426 !important;
}

.results-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.results-grid .p-card{
  min-height:100% !important;
}

/* FAQ accordions: consistent behaviour and visual style */
.acc-item{
  background:#FFFFFF !important;
  border:1px solid #DCE7F2 !important;
  border-radius:18px !important;
  margin-bottom:12px !important;
  overflow:hidden !important;
  box-shadow:0 10px 26px rgba(12,31,56,.055) !important;
}

.acc-q{
  width:100% !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:18px 20px !important;
  background:#FFFFFF !important;
  border:0 !important;
  color:#071426 !important;
  text-align:left !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.acc-q:hover{
  background:#EAF2FA !important;
  color:#0C1F38 !important;
}

.acc-q .plus{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#EAF2FA !important;
  color:#0C1F38 !important;
  font-weight:900 !important;
  transition:transform .18s ease !important;
}

.acc-item.open .acc-q .plus{
  transform:rotate(45deg) !important;
}

.acc-a{
  display:none !important;
  padding:0 20px 20px !important;
}

.acc-item.open .acc-a{
  display:block !important;
}

.acc-a p{
  margin:0 !important;
  font-size:14.5px !important;
  line-height:1.65 !important;
}

/* Contact page fail-safe: if CSS cascade misses, force premium layout */
.contact-hero{
  background:#3BB8F3 !important;
  color:#071426 !important;
  padding:52px 0 !important;
}

.contact-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr) !important;
  gap:52px !important;
  align-items:center !important;
}

.contact-route-list a{
  grid-template-columns:46px minmax(0,1fr) !important;
}

.contact-route-list a > div{
  min-width:0 !important;
}

.contact-route-list small{
  max-width:320px !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* Responsive */
@media(max-width:1050px){
  body:not(.admin-body) .container{
    width:calc(100% - 32px) !important;
  }

  .contact-hero-grid,
  .pro-hero-grid{
    grid-template-columns:1fr !important;
  }

  .blog-grid,
  .posts-grid,
  .article-grid,
  .results-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  body:not(.admin-body){
    font-size:14.5px !important;
  }

  body:not(.admin-body) p,
  body:not(.admin-body) li{
    font-size:14.5px !important;
    line-height:1.62 !important;
  }

  body:not(.admin-body) h1{
    font-size:clamp(34px,10vw,46px) !important;
  }

  body:not(.admin-body) h2{
    font-size:clamp(25px,8vw,34px) !important;
  }

  body:not(.admin-body) main > section,
  body:not(.admin-body) .section,
  body:not(.admin-body) .section-tight{
    padding-top:38px !important;
    padding-bottom:38px !important;
  }

  body:not(.admin-body) .container{
    width:calc(100% - 24px) !important;
  }

  .blog-grid,
  .posts-grid,
  .article-grid,
  .results-grid,
  .pricing-grid-pro,
  .premium-card-grid.six,
  .profile-path-grid,
  .contact-option-grid,
  .contact-faq-grid,
  .contact-trust-row{
    grid-template-columns:1fr !important;
  }

  .legal-content,
  .policy-content,
  .terms-content,
  .privacy-content,
  body:not(.admin-body) .section-tight .container[style*="font-size:15px"],
  body:not(.admin-body) .section-tight .container[style*="font-size: 15px"]{
    padding:24px !important;
    border-radius:22px !important;
  }

  .contact-hero{
    padding:34px 0 !important;
  }

  .contact-hero-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
}

/* ==========================================================
   CDI V10 REVIEWED PREMIUM SEO/GEO SYSTEM
   Applied after full admin/database review.
   ========================================================== */
:root{
  --cdi-hero-blue:#3BB8F3;
  --cdi-primary-blue:#2F80ED;
  --cdi-primary-blue-hover:#256FDB;
  --cdi-navy:#0C1F38;
  --cdi-ink:#071426;
  --cdi-muted:#52657D;
  --cdi-bg:#F6F8FB;
  --cdi-line:#DCE7F2;
  --cdi-card:#FFFFFF;
  --cdi-radius:24px;
  --cdi-shadow:0 14px 34px rgba(12,31,56,.07);
  --cdi-shadow-lg:0 24px 70px rgba(12,31,56,.14);
}
body:not(.admin-body){background:var(--cdi-bg)!important;font-size:15px!important;line-height:1.6!important;}
body:not(.admin-body) .container{width:min(1240px,calc(100% - 64px))!important;margin-left:auto!important;margin-right:auto!important;}
body:not(.admin-body) h1{font-size:clamp(36px,5vw,62px)!important;line-height:1.02!important;letter-spacing:-.058em!important;margin-bottom:18px!important;}
body:not(.admin-body) h2{font-size:clamp(28px,3.4vw,44px)!important;line-height:1.1!important;letter-spacing:-.045em!important;margin-bottom:14px!important;}
body:not(.admin-body) h3{font-size:clamp(18px,2vw,24px)!important;line-height:1.18!important;letter-spacing:-.028em!important;}
body:not(.admin-body) p,body:not(.admin-body) li{font-size:15px!important;line-height:1.66!important;}
body:not(.admin-body) .lede,body:not(.admin-body) .lead{font-size:clamp(16px,1.7vw,20px)!important;line-height:1.56!important;max-width:760px!important;}
body:not(.admin-body) .section,body:not(.admin-body) .section-tight{padding-top:58px!important;padding-bottom:58px!important;}
body:not(.admin-body) .section-head{max-width:780px!important;text-align:left!important;margin-left:0!important;margin-right:auto!important;margin-bottom:30px!important;}
body:not(.admin-body) .section-head.center{ text-align:left!important; margin-left:0!important; margin-right:auto!important; }
body:not(.admin-body) .final-cta-band .container,body:not(.admin-body) .container.center{ text-align:center!important; }
body:not(.admin-body) .hero-block,body:not(.admin-body) .cdi-page-hero,body:not(.admin-body) .geo-hero,body:not(.admin-body) .service-hero,body:not(.admin-body) .resource-hero,body:not(.admin-body) .section-tight.bg-mist:first-of-type{background:var(--cdi-hero-blue)!important;color:var(--cdi-ink)!important;}
body:not(.admin-body) .hero-block p,body:not(.admin-body) .cdi-page-hero p,body:not(.admin-body) .geo-hero p,body:not(.admin-body) .section-tight.bg-mist:first-of-type p{color:var(--cdi-navy)!important;}
.cdi-breadcrumbs{margin:0 0 18px!important;font-size:13px!important;}
.cdi-breadcrumbs ol{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;list-style:none!important;padding:0!important;margin:0!important;}
.cdi-breadcrumbs li{display:flex!important;align-items:center!important;gap:8px!important;color:rgba(7,20,38,.7)!important;font-size:13px!important;}
.cdi-breadcrumbs li:not(:last-child)::after{content:"/";color:rgba(7,20,38,.42)!important;}
.cdi-breadcrumbs a{color:var(--cdi-navy)!important;text-decoration:none!important;font-weight:800!important;}
.cdi-breadcrumbs span{color:#33475F!important;font-weight:700!important;}
.cdi-hero-grid,.geo-hero-grid,.cdi-editorial{display:grid!important;grid-template-columns:minmax(0,1fr) 380px!important;gap:clamp(28px,5vw,64px)!important;align-items:center!important;}
.cdi-side-card,.geo-side-card,.eeat-card,.proof-card,.quick-answer,.geo-answer,.ai-overview-answer{background:#fff!important;border:1px solid var(--cdi-line)!important;border-radius:var(--cdi-radius)!important;padding:24px!important;box-shadow:var(--cdi-shadow)!important;}
.cdi-side-card.dark,.geo-side-card.dark,.eeat-card.dark{background:var(--cdi-navy)!important;color:#fff!important;}
.cdi-side-card.dark h3,.geo-side-card.dark h3,.eeat-card.dark h3{color:#fff!important;}
.cdi-side-card.dark p,.geo-side-card.dark p,.eeat-card.dark p{color:#C8D8EA!important;}
.geo-answer,.ai-overview-answer,.quick-answer{border-left:5px solid var(--cdi-primary-blue)!important;margin:24px 0!important;}
.geo-answer h2,.ai-overview-answer h2,.quick-answer h2{font-size:22px!important;line-height:1.18!important;margin:0 0 10px!important;}
.cdi-proof-strip,.eeat-strip,.trust-strip,.stat-strip.divided{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-top:28px!important;border-top:0!important;padding:0!important;}
.cdi-proof-strip>*,.eeat-strip>*,.trust-strip>*,.stat-strip.divided .stat{background:#fff!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:18px!important;padding:16px!important;box-shadow:0 12px 28px rgba(12,31,56,.08)!important;text-align:left!important;}
.stat-strip.divided .stat b,.cdi-proof-strip strong,.eeat-strip strong,.trust-strip strong{display:block!important;font-size:18px!important;line-height:1.1!important;color:var(--cdi-ink)!important;}
.stat-strip.divided .stat span,.cdi-proof-strip span,.eeat-strip span,.trust-strip span{display:block!important;color:var(--cdi-muted)!important;font-size:12.5px!important;line-height:1.35!important;margin-top:6px!important;}
.p-card,.premium-info-card,.review-card,.social-proof-card,.profile-panel,.contact-option-card,.contact-form-card,.pricing-plan{background:#fff!important;border:1px solid var(--cdi-line)!important;border-radius:24px!important;box-shadow:var(--cdi-shadow)!important;}
.p-card:hover,.premium-info-card:hover,.review-card:hover{transform:translateY(-2px)!important;border-color:#B9CDE2!important;box-shadow:0 20px 48px rgba(12,31,56,.11)!important;}
.results-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
.cdi-carousel,.instructor-carousel,.lesson-carousel,.proof-carousel,.blog-carousel{display:flex!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;padding-bottom:12px!important;}
.cdi-carousel::-webkit-scrollbar,.instructor-carousel::-webkit-scrollbar,.lesson-carousel::-webkit-scrollbar,.proof-carousel::-webkit-scrollbar,.blog-carousel::-webkit-scrollbar{display:none!important;}
.cdi-carousel>*,.instructor-carousel>*,.lesson-carousel>*,.proof-carousel>*,.blog-carousel>*{flex:0 0 min(84%,340px)!important;scroll-snap-align:start!important;}
@media(min-width:980px){.desktop-grid.cdi-carousel,.desktop-grid.instructor-carousel,.desktop-grid.lesson-carousel,.desktop-grid.proof-carousel,.desktop-grid.blog-carousel{display:grid!important;overflow:visible!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.desktop-grid.cdi-carousel>*,.desktop-grid.instructor-carousel>*,.desktop-grid.lesson-carousel>*,.desktop-grid.proof-carousel>*,.desktop-grid.blog-carousel>*{flex:auto!important}}
.instructor-card-media,.school-card-media,.geo-card-media{aspect-ratio:16/10!important;background:#EAF2FA url('/assets/images/placeholder-instructor.png') center/cover no-repeat!important;border-radius:20px!important;overflow:hidden!important;}
.school-card-media{background-image:url('/assets/images/placeholder-school.png')!important}.geo-card-media{background-image:url('/assets/images/cdi-default-location.svg')!important}
.profile-photo-xl{background:#EAF2FA!important;background-image:url('/assets/images/placeholder-instructor.png')!important;background-size:cover!important;background-position:center!important;color:transparent!important;}
.profile-photo-xl img{background:#EAF2FA!important;}
.acc-item,.faq-item,.faq-card,.faq-row,.faq-block,details{background:#fff!important;border:1px solid var(--cdi-line)!important;border-radius:18px!important;margin-bottom:12px!important;box-shadow:0 10px 26px rgba(12,31,56,.055)!important;overflow:hidden!important;}
.acc-q,.faq-toggle,details summary{width:100%!important;min-height:58px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:18px 20px!important;background:#fff!important;border:0!important;color:var(--cdi-ink)!important;text-align:left!important;font-size:15px!important;line-height:1.35!important;font-weight:850!important;cursor:pointer!important;list-style:none!important;}
.acc-q:hover,.faq-toggle:hover,details summary:hover{background:#EAF2FA!important;}
.acc-q .plus,.faq-toggle .plus,details summary::after{width:30px!important;height:30px!important;min-width:30px!important;border-radius:999px!important;display:grid!important;place-items:center!important;background:#EAF2FA!important;color:var(--cdi-navy)!important;font-weight:900!important;transition:transform .18s ease!important;}
details summary::after{content:"+"!important;}
details summary::-webkit-details-marker{display:none!important;}
.acc-item.open .acc-q .plus,.faq-item.open .faq-toggle .plus,.faq-card.open .faq-toggle .plus,.faq-row.open .faq-toggle .plus,.faq-block.open .faq-toggle .plus,details[open] summary::after{transform:rotate(45deg)!important;}
.acc-a,.faq-answer{display:none!important;padding:0 20px 20px!important}.acc-item.open .acc-a,.faq-item.open .faq-answer,.faq-card.open .faq-answer,.faq-row.open .faq-answer,.faq-block.open .faq-answer{display:block!important}.acc-a p,.faq-answer p{margin:0!important;font-size:14.5px!important;line-height:1.65!important;color:var(--cdi-muted)!important;}
.final-cta-band{background:var(--cdi-navy)!important;color:#fff!important}.final-cta-band h2,.final-cta-band p{color:#fff!important}.final-cta-band .btn{background:var(--cdi-primary-blue)!important;color:#fff!important;border-color:var(--cdi-primary-blue)!important}.final-cta-band .btn:hover{background:var(--cdi-primary-blue-hover)!important;border-color:var(--cdi-primary-blue-hover)!important;}
.btn-green,.btn-primary,.mega-v9-cta,.cdi-feature-cta{background:var(--cdi-primary-blue)!important;color:#fff!important;border-color:var(--cdi-primary-blue)!important}.btn-green:hover,.btn-primary:hover,.mega-v9-cta:hover,.cdi-feature-cta:hover{background:var(--cdi-primary-blue-hover)!important;border-color:var(--cdi-primary-blue-hover)!important;color:#fff!important;}
@media(max-width:1050px){body:not(.admin-body) .container{width:calc(100% - 32px)!important}.cdi-hero-grid,.geo-hero-grid,.cdi-editorial{grid-template-columns:1fr!important}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cdi-proof-strip,.eeat-strip,.trust-strip,.stat-strip.divided{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important}.cdi-proof-strip>*,.eeat-strip>*,.trust-strip>*,.stat-strip.divided .stat{flex:0 0 82%!important;scroll-snap-align:start!important}}
@media(max-width:760px){body:not(.admin-body) .container{width:calc(100% - 24px)!important}body:not(.admin-body) h1{font-size:clamp(34px,10vw,46px)!important}body:not(.admin-body) h2{font-size:clamp(25px,8vw,34px)!important}body:not(.admin-body) .section,body:not(.admin-body) .section-tight{padding-top:38px!important;padding-bottom:38px!important}.results-grid{grid-template-columns:1fr!important}.acc-q,.faq-toggle,details summary{font-size:14.5px!important;padding:16px!important}.acc-a,.faq-answer{padding:0 16px 16px!important}.cdi-demo-logins{display:none!important}}




/* ==========================================================
   CDI FINAL LIVE PREMIUM SYSTEM
   Sleek production styling: smaller type, tighter spacing, refined FAQs,
   mobile-first cards, GEO/SEO layout support.
   ========================================================== */

:root{
  --cdi-blue:#2F80ED;
  --cdi-cyan:#3BB8F3;
  --cdi-navy:#0C1F38;
  --cdi-ink:#071426;
  --cdi-muted:#56677F;
  --cdi-bg:#F5F8FC;
  --cdi-line:#DFE9F3;
  --cdi-card:#FFFFFF;
  --cdi-shadow:0 14px 34px rgba(12,31,56,.065);
  --cdi-shadow-lg:0 24px 64px rgba(12,31,56,.12);
}

body:not(.admin-body){
  background:var(--cdi-bg)!important;
  color:var(--cdi-ink)!important;
  font-size:15px!important;
  line-height:1.6!important;
}

body:not(.admin-body) .container{
  width:min(1220px,calc(100% - 56px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body:not(.admin-body) h1{
  font-size:clamp(34px,4.6vw,56px)!important;
  line-height:1.02!important;
  letter-spacing:-.056em!important;
  margin:18px 0 14px!important;
}

body:not(.admin-body) h2{
  font-size:clamp(25px,3.1vw,38px)!important;
  line-height:1.09!important;
  letter-spacing:-.045em!important;
  margin:0 0 12px!important;
}

body:not(.admin-body) h3{
  font-size:clamp(17px,1.8vw,21px)!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
}

body:not(.admin-body) p,
body:not(.admin-body) li{
  font-size:14.5px!important;
  line-height:1.62!important;
  color:var(--cdi-muted)!important;
}

.cdi-hero,
.compact-hero{
  background:linear-gradient(135deg,#3BB8F3 0%,#48BFF5 60%,#68CDF7 100%)!important;
  padding:42px 0 50px!important;
  color:var(--cdi-ink)!important;
}

.cdi-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(340px,.72fr)!important;
  gap:42px!important;
  align-items:center!important;
}

.hero-copy{
  text-align:left!important;
  max-width:790px!important;
}

.lead,
.body-lead{
  font-size:clamp(16px,1.45vw,18px)!important;
  line-height:1.55!important;
  color:#12304D!important;
  max-width:680px!important;
  margin:0!important;
}

.eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  width:auto!important;
  background:rgba(255,255,255,.9)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  color:var(--cdi-navy)!important;
  border-radius:999px!important;
  padding:8px 13px!important;
  font-size:11.5px!important;
  font-weight:850!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  box-shadow:0 10px 22px rgba(12,31,56,.055)!important;
}

.cdi-breadcrumbs{
  margin:0 0 16px!important;
}

.cdi-breadcrumbs ol{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
  list-style:none!important;
}

.cdi-breadcrumbs li{
  font-size:12.5px!important;
  color:rgba(7,20,38,.68)!important;
  font-weight:700!important;
}

.cdi-breadcrumbs li:not(:last-child)::after{
  content:"/"!important;
  margin-left:8px!important;
  color:rgba(7,20,38,.38)!important;
}

.cdi-breadcrumbs a{
  color:var(--cdi-navy)!important;
  text-decoration:none!important;
}

.premium-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 180px auto!important;
  gap:10px!important;
  max-width:780px!important;
  margin-top:24px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.85)!important;
  border-radius:24px!important;
  box-shadow:0 18px 44px rgba(12,31,56,.11)!important;
}

.input{
  height:50px!important;
  border:1px solid var(--cdi-line)!important;
  border-radius:15px!important;
  padding:0 14px!important;
  background:#F8FBFF!important;
  color:var(--cdi-ink)!important;
  font-size:14px!important;
  font-weight:700!important;
}

.btn,
button.btn{
  border-radius:999px!important;
  min-height:46px!important;
  padding:12px 20px!important;
  font-size:14px!important;
  font-weight:850!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  cursor:pointer!important;
}

.btn-primary{
  background:var(--cdi-blue)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(47,128,237,.22)!important;
}

.btn-secondary{
  background:#fff!important;
  color:var(--cdi-navy)!important;
  box-shadow:0 10px 22px rgba(12,31,56,.08)!important;
}

.trust-row.compact{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  max-width:720px!important;
  margin-top:22px!important;
}

.trust-row.compact div{
  background:rgba(255,255,255,.9)!important;
  border:1px solid rgba(255,255,255,.8)!important;
  border-radius:17px!important;
  padding:14px!important;
  box-shadow:0 12px 28px rgba(12,31,56,.07)!important;
}

.trust-row.compact strong{
  display:block!important;
  color:var(--cdi-ink)!important;
  font-size:16px!important;
  line-height:1.1!important;
}

.trust-row.compact span{
  display:block!important;
  margin-top:5px!important;
  color:var(--cdi-muted)!important;
  font-size:12.5px!important;
  line-height:1.32!important;
}

.hero-profile-card{
  background:#fff!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:var(--cdi-shadow-lg)!important;
}

.hero-profile-card img{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  background:#F8FBFF!important;
}

.hero-profile-body{
  padding:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}

.hero-profile-body h2{
  font-size:20px!important;
  margin:0 0 5px!important;
}

.hero-profile-body p{
  margin:0!important;
  font-size:13.5px!important;
}

.cdi-section{
  padding:52px 0!important;
  background:var(--cdi-bg)!important;
}

.cdi-section.white{
  background:#fff!important;
}

.cdi-split{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  gap:28px!important;
  align-items:start!important;
}

.answer-card,
.side-card,
.sleek-card,
.faq-row{
  background:#fff!important;
  border:1px solid var(--cdi-line)!important;
  box-shadow:var(--cdi-shadow)!important;
}

.answer-card{
  border-left:4px solid var(--cdi-blue)!important;
  border-radius:20px!important;
  padding:20px!important;
  margin-top:20px!important;
  max-width:760px!important;
}

.answer-card p{
  margin:0!important;
  font-size:15px!important;
  color:#33475F!important;
}

.side-card{
  border-radius:22px!important;
  padding:22px!important;
}

.side-card.slim h3{
  margin:0 0 14px!important;
}

.side-card.dark{
  background:var(--cdi-navy)!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#fff!important;
}

.side-card.dark h3{
  color:#fff!important;
}

.side-card.dark p{
  color:#C8D8EA!important;
}

.clean-list{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:10px!important;
}

.clean-list li{
  font-size:14px!important;
  color:var(--cdi-muted)!important;
  font-weight:650!important;
}

.clean-list li::before{
  content:""!important;
  display:inline-block!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:var(--cdi-blue)!important;
  margin-right:9px!important;
  vertical-align:middle!important;
}

.section-head.left{
  text-align:left!important;
  max-width:740px!important;
  margin:0 0 24px!important;
}

.section-head.left p{
  margin:0!important;
  color:var(--cdi-muted)!important;
}

.sleek-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}

.sleek-card{
  border-radius:22px!important;
  padding:22px!important;
  text-decoration:none!important;
  color:var(--cdi-ink)!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}

.sleek-card:hover{
  transform:translateY(-2px)!important;
  border-color:#C9DCEF!important;
  box-shadow:0 20px 48px rgba(12,31,56,.095)!important;
}

.sleek-card span{
  display:block!important;
  color:var(--cdi-blue)!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  margin-bottom:28px!important;
}

.sleek-card h3{
  margin:0 0 9px!important;
  font-size:19px!important;
}

.sleek-card p{
  margin:0!important;
  font-size:13.8px!important;
}

.faq-container{
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.faq-row{
  border-radius:16px!important;
  margin-bottom:10px!important;
  overflow:hidden!important;
}

.faq-q{
  width:100%!important;
  min-height:54px!important;
  padding:15px 18px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  border:0!important;
  background:#fff!important;
  color:var(--cdi-ink)!important;
  font-size:14.5px!important;
  font-weight:820!important;
  text-align:left!important;
  cursor:pointer!important;
}

.faq-q span{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#EEF5FD!important;
  color:var(--cdi-navy)!important;
  font-size:18px!important;
  font-weight:850!important;
  transition:transform .16s ease!important;
}

.faq-a{
  display:none!important;
  padding:0 18px 16px!important;
}

.faq-row.open .faq-a{
  display:block!important;
}

.faq-row.open .faq-q span{
  transform:rotate(45deg)!important;
}

.faq-a p{
  margin:0!important;
  font-size:13.8px!important;
  line-height:1.58!important;
}

.cdi-final-cta{
  background:var(--cdi-navy)!important;
  color:#fff!important;
  text-align:center!important;
  padding:48px 0!important;
}

.cdi-final-cta h2{
  color:#fff!important;
  margin:0 0 8px!important;
  font-size:clamp(27px,3vw,38px)!important;
}

.cdi-final-cta p{
  color:#C8D8EA!important;
  margin:0 auto 20px!important;
  max-width:620px!important;
}

@media(max-width:980px){
  body:not(.admin-body) .container{
    width:calc(100% - 28px)!important;
  }

  .cdi-hero-grid,
  .cdi-split{
    grid-template-columns:1fr!important;
  }

  .premium-search{
    grid-template-columns:1fr!important;
    border-radius:20px!important;
  }

  .trust-row.compact,
  .sleek-card-grid{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    gap:12px!important;
    padding-bottom:8px!important;
  }

  .trust-row.compact div,
  .sleek-card{
    flex:0 0 84%!important;
    scroll-snap-align:start!important;
  }

  .hero-profile-card{
    max-width:520px!important;
  }

  .hero-profile-body{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

@media(max-width:640px){
  .cdi-hero,
  .compact-hero{
    padding:30px 0 36px!important;
  }

  .cdi-section{
    padding:38px 0!important;
  }

  body:not(.admin-body) h1{
    font-size:36px!important;
    letter-spacing:-.052em!important;
  }

  body:not(.admin-body) h2{
    font-size:27px!important;
  }

  .lead{
    font-size:15.5px!important;
  }

  .btn,
  button.btn{
    width:100%!important;
  }

  .hero-profile-card img{
    max-height:240px!important;
  }

  .side-card,
  .answer-card,
  .sleek-card{
    border-radius:18px!important;
    padding:18px!important;
  }

  .faq-q{
    min-height:50px!important;
    padding:14px 15px!important;
  }

  .faq-a{
    padding:0 15px 15px!important;
  }
}


/* ==========================================================
   CDI HOMEPAGE SEO-RICH SLEEK UPDATE
   Adds content depth without returning to clunky landing-page styling.
   ========================================================== */

.compact-process .sleek-card span{
  margin-bottom:18px!important;
}

.sleek-card-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

.compact-link-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:22px!important;
  max-width:620px!important;
}

.compact-link-grid a,
.compact-location-links a{
  background:#fff!important;
  border:1px solid var(--cdi-line)!important;
  border-radius:15px!important;
  padding:13px 15px!important;
  color:var(--cdi-ink)!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:780!important;
  box-shadow:0 10px 24px rgba(12,31,56,.045)!important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease!important;
}

.compact-link-grid a:hover,
.compact-location-links a:hover{
  transform:translateY(-1px)!important;
  border-color:#C9DCEF!important;
  box-shadow:0 14px 30px rgba(12,31,56,.075)!important;
}

.inline-actions{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:22px!important;
}

.compact-location-links{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
}

.compact-location-links a{
  text-align:center!important;
}

@media(max-width:980px){
  .sleek-card-grid.three,
  .compact-location-links{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    gap:12px!important;
    padding-bottom:8px!important;
  }

  .sleek-card-grid.three .sleek-card,
  .compact-location-links a{
    flex:0 0 78%!important;
    scroll-snap-align:start!important;
  }

  .compact-link-grid{
    grid-template-columns:1fr!important;
  }

  .inline-actions .btn{
    width:auto!important;
  }
}

@media(max-width:640px){
  .inline-actions{
    flex-direction:column!important;
  }

  .inline-actions .btn{
    width:100%!important;
  }
}



/* CDI MOBILE-FIRST PRODUCTION RESET */
html,body{overflow-x:hidden!important}
body:not(.admin-body){background:#F5F8FC!important}
@media(max-width:760px){
.site-header,.cdi-header,header.site-header{background:#0C1F38!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
.site-header .container,.cdi-header .container,.header-inner,.nav-wrap,.header-wrap{width:100%!important;min-height:64px!important;padding:8px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.logo img,.site-logo img,.brand img,header img{max-width:160px!important;max-height:50px!important;object-fit:contain!important}
.header-cta,.nav-cta,.site-header .btn-primary,.cdi-header .btn-primary,header .btn-primary[href*="register"],header a[href*="register"],header a[href*="profile"]{width:auto!important;min-width:0!important;max-width:145px!important;height:42px!important;min-height:42px!important;padding:8px 16px!important;border-radius:999px!important;font-size:13px!important;line-height:1.05!important;white-space:normal!important;text-align:center!important;box-shadow:none!important}
.menu-toggle,.burger,.mobile-menu-toggle,.hamburger,button[aria-label*="menu" i],button[aria-label*="navigation" i]{width:42px!important;height:42px!important;min-width:42px!important;border-radius:14px!important;background:#1C314B!important;border:1px solid rgba(255,255,255,.13)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:0!important;box-shadow:none!important;position:relative!important}
.menu-toggle span,.burger span,.mobile-menu-toggle span,.hamburger span,button[aria-label*="menu" i] span,button[aria-label*="navigation" i] span{display:block!important;width:18px!important;height:2px!important;min-height:2px!important;border-radius:99px!important;background:#fff!important;opacity:1!important;margin:0!important;transform:none!important}
.menu-toggle::before,.menu-toggle::after,.burger::before,.burger::after,.mobile-menu-toggle::before,.mobile-menu-toggle::after,.hamburger::before,.hamburger::after{content:""!important;display:block!important;width:18px!important;height:2px!important;border-radius:99px!important;background:#fff!important;position:static!important;transform:none!important;opacity:1!important}
}
.mobile-clean-hero .cdi-hero-grid,.mobile-clean-hero .hero-copy{display:block!important}
.mobile-clean-hero .hero-profile-card{display:none!important}
.cdi-hero,.compact-hero,.mobile-clean-hero{padding:38px 0 42px!important;min-height:0!important}
@media(max-width:760px){
.cdi-hero,.compact-hero,.mobile-clean-hero{padding:28px 0 34px!important}
.cdi-hero h1,.compact-hero h1,.mobile-clean-hero h1{font-size:32px!important;line-height:1.05!important;letter-spacing:-.045em!important;margin:16px 0 10px!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
.lead,.body-lead,.mobile-clean-hero .lead{font-size:15px!important;line-height:1.5!important;max-width:100%!important}
}
.premium-search{width:100%!important;max-width:760px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 170px auto!important;gap:9px!important;padding:9px!important;margin-top:22px!important;border-radius:20px!important}
.premium-search .input,.premium-search select,.premium-search input{min-width:0!important;width:100%!important;height:48px!important;font-size:14px!important;border-radius:14px!important;text-overflow:ellipsis!important}
.premium-search .btn{height:48px!important;min-height:48px!important;padding:10px 18px!important;font-size:14px!important}
@media(max-width:760px){
.premium-search{grid-template-columns:1fr!important;gap:8px!important;padding:8px!important;margin-top:18px!important}
.premium-search .input,.premium-search select,.premium-search input,.premium-search .btn{height:46px!important;min-height:46px!important;width:100%!important}
}
.trust-row.compact{max-width:720px!important;gap:9px!important;margin-top:18px!important}
.trust-row.compact div{border-radius:14px!important;padding:11px 12px!important;min-height:auto!important}
.trust-row.compact strong{font-size:14.5px!important;line-height:1.1!important}
.trust-row.compact span{font-size:11.5px!important;line-height:1.25!important;margin-top:4px!important}
@media(max-width:760px){
.trust-row.compact{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding:0!important}
.trust-row.compact div{padding:10px 8px!important;text-align:left!important}
.trust-row.compact strong{font-size:13px!important}
.trust-row.compact span{font-size:10.5px!important}
}
@media(max-width:760px){
.sleek-card-grid.carousel-mobile,.sleek-card-grid.three,.compact-location-links{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;gap:10px!important;padding:0 0 8px!important}
.sleek-card-grid.carousel-mobile::-webkit-scrollbar,.sleek-card-grid.three::-webkit-scrollbar,.compact-location-links::-webkit-scrollbar{display:none!important}
.sleek-card,.sleek-card-grid.three .sleek-card,.compact-location-links a{flex:0 0 76%!important;scroll-snap-align:start!important;border-radius:16px!important;padding:16px!important}
.sleek-card span{margin-bottom:18px!important;font-size:11px!important}
.sleek-card h3{font-size:17px!important;line-height:1.15!important}
.sleek-card p{font-size:13px!important;line-height:1.45!important}
.cdi-section{padding:34px 0!important}
.section-head.left{margin-bottom:18px!important}
.section-head.left h2,.cdi-section h2{font-size:25px!important;line-height:1.12!important;letter-spacing:-.035em!important}
.answer-card,.side-card{border-radius:16px!important;padding:16px!important}
}
.faq-row{border-radius:14px!important;box-shadow:0 8px 18px rgba(12,31,56,.045)!important}
.faq-q{min-height:48px!important;padding:13px 15px!important;font-size:14px!important}
.faq-q span{width:24px!important;height:24px!important;min-width:24px!important;font-size:16px!important}
.faq-a{padding:0 15px 14px!important}
.faq-a p{font-size:13.5px!important}
.cdi-final-cta,.final-cta-band,footer,.site-footer{background:#0C1F38!important;color:#fff!important}
.cdi-final-cta h2,.cdi-final-cta p,.final-cta-band h2,.final-cta-band p,footer h2,footer h3,footer h4,footer p,footer li,footer a,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer p,.site-footer li,.site-footer a{color:#fff!important}
.cdi-final-cta p,footer p,footer li,.site-footer p,.site-footer li{opacity:.82!important}
@media(max-width:760px){.cdi-final-cta{padding:36px 0!important}.cdi-final-cta h2{font-size:27px!important}.cdi-final-cta p{font-size:14.5px!important}}



/* CDI HOMEPAGE PREMIUM SPLIT HERO FIX */
.homepage-premium-hero{padding:54px 0 50px!important}
.homepage-premium-hero .homepage-hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr)!important;gap:54px!important;align-items:center!important}
.homepage-premium-hero .hero-copy{max-width:760px!important}
.homepage-comparison-panel{background:#0C1F38!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:30px!important;padding:26px!important;color:#fff!important;box-shadow:0 24px 70px rgba(12,31,56,.18)!important}
.panel-topline{display:flex!important;align-items:center!important;gap:24px!important;border-bottom:1px solid rgba(255,255,255,.14)!important;padding-bottom:16px!important;margin-bottom:16px!important}
.panel-topline span{width:12px!important;height:12px!important;border-radius:999px!important;background:#89A4C4!important}
.panel-topline strong{margin-left:auto!important;color:#fff!important;font-size:15px!important}
.panel-inner-grid{display:grid!important;grid-template-columns:150px 1fr!important;gap:16px!important}
.panel-side-nav{background:rgba(255,255,255,.08)!important;border-radius:18px!important;padding:18px!important;display:flex!important;flex-direction:column!important;gap:12px!important}
.panel-side-nav b,.panel-side-nav span{color:#fff!important;font-size:13px!important}
.panel-side-nav span{color:#C8D8EA!important}
.panel-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.panel-metrics div{background:rgba(255,255,255,.08)!important;border-radius:16px!important;padding:16px!important}
.panel-metrics strong{display:block!important;color:#fff!important;font-size:22px!important;line-height:1.1!important}
.panel-metrics span{display:block!important;color:#C8D8EA!important;font-size:12px!important;margin-top:6px!important}
.panel-profile-card{background:#fff!important;border-radius:20px!important;padding:20px!important;margin-top:14px!important}
.panel-profile-card h2{color:#071426!important;font-size:22px!important;margin:0 0 8px!important}
.panel-profile-card p{color:#52657D!important;font-size:14px!important;line-height:1.5!important;margin:0!important}
.panel-tags{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:16px!important}
.panel-tags span{background:#EAF2FA!important;color:#0C1F38!important;border-radius:999px!important;padding:7px 10px!important;font-size:12px!important;font-weight:800!important}
@media(max-width:1100px){
.homepage-premium-hero .homepage-hero-grid{grid-template-columns:1fr!important;gap:30px!important}
.homepage-comparison-panel{max-width:680px!important}
}
@media(max-width:760px){
.homepage-premium-hero{padding:30px 0 34px!important}
.homepage-premium-hero .homepage-hero-grid{display:block!important}
.homepage-comparison-panel{margin-top:24px!important;padding:18px!important;border-radius:22px!important}
.panel-inner-grid{grid-template-columns:1fr!important}
.panel-side-nav{display:none!important}
.panel-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.panel-metrics div{padding:11px 9px!important}
.panel-metrics strong{font-size:16px!important}
.panel-metrics span{font-size:10.5px!important}
.panel-profile-card{padding:16px!important;border-radius:16px!important}
.panel-profile-card h2{font-size:19px!important}
}



/* CDI HOMEPAGE FULL-WIDTH FAQ + SERVICES REFINE */

/* Remove heavy bottom CTA look by moving search CTA into body */
.cdi-final-cta{display:none!important}

/* Auto-scroll marquee */
.search-marquee-section{
  background:#fff!important;
  border-bottom:1px solid #DFE9F3!important;
  overflow:hidden!important;
  padding:12px 0!important;
}
.marquee-track{
  display:flex!important;
  width:max-content!important;
  animation:cdiMarquee 34s linear infinite!important;
}
.marquee-line{
  display:flex!important;
  gap:10px!important;
  padding-right:10px!important;
}
.marquee-line a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:8px 15px!important;
  border-radius:999px!important;
  background:#F5F8FC!important;
  border:1px solid #DFE9F3!important;
  color:#0C1F38!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:780!important;
  white-space:nowrap!important;
}
@keyframes cdiMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.search-marquee-section:hover .marquee-track{animation-play-state:paused!important}

/* Services section similar to NLG rhythm but CDI compact */
.centre-lite{
  text-align:center!important;
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.centre-lite .eyebrow{
  margin-left:auto!important;
  margin-right:auto!important;
}
.service-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.service-card{
  background:#fff!important;
  border:1px solid #DFE9F3!important;
  border-top:4px solid #23D2B5!important;
  border-radius:22px!important;
  padding:24px!important;
  min-height:230px!important;
  box-shadow:0 14px 34px rgba(12,31,56,.065)!important;
  text-decoration:none!important;
  color:#071426!important;
  display:flex!important;
  flex-direction:column!important;
}
.service-card span{
  color:#23BFA6!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  margin-bottom:44px!important;
}
.service-card h3{
  font-size:22px!important;
  line-height:1.14!important;
  letter-spacing:-.035em!important;
  margin:0 0 12px!important;
  color:#071426!important;
}
.service-card p{
  font-size:14px!important;
  line-height:1.58!important;
  color:#56677F!important;
  margin:0!important;
}

/* In-body CTA, not footer */
.cta-in-body{
  align-items:center!important;
}
.inline-search-card{
  background:#0C1F38!important;
  border-radius:24px!important;
  padding:20px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:10px!important;
  box-shadow:0 24px 64px rgba(12,31,56,.13)!important;
}
.inline-search-card .input{
  background:#fff!important;
}

/* Full width premium FAQ */
.faq-wide-section{
  padding-top:64px!important;
  padding-bottom:64px!important;
}
.faq-wide-container{
  width:min(1320px,calc(100% - 72px))!important;
}
.faq-wide-list{
  margin-top:34px!important;
}
.faq-wide-list .faq-row{
  border-radius:18px!important;
  margin-bottom:14px!important;
  box-shadow:0 10px 28px rgba(12,31,56,.045)!important;
}
.faq-wide-list .faq-q{
  min-height:68px!important;
  padding:20px 28px!important;
  font-size:17px!important;
  font-weight:850!important;
}
.faq-wide-list .faq-q::after{
  content:"→"!important;
  margin-left:8px!important;
  font-weight:900!important;
  opacity:.8!important;
}
.faq-wide-list .faq-q span{
  margin-left:auto!important;
  width:28px!important;
  height:28px!important;
}
.faq-wide-list .faq-a{
  padding:0 28px 22px!important;
}
.faq-wide-list .faq-a p{
  font-size:15px!important;
  line-height:1.7!important;
  max-width:980px!important;
}

/* Footer sharpness */
footer .cdi-final-cta,
.site-footer .cdi-final-cta,
footer .final-cta-band,
.site-footer .final-cta-band{
  display:none!important;
}

@media(max-width:980px){
  .service-card-grid.carousel-mobile{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    gap:12px!important;
    padding-bottom:8px!important;
  }
  .service-card-grid.carousel-mobile::-webkit-scrollbar{display:none!important}
  .service-card{
    flex:0 0 78%!important;
    scroll-snap-align:start!important;
    min-height:220px!important;
  }
  .inline-search-card{
    grid-template-columns:1fr!important;
  }
  .faq-wide-container{
    width:calc(100% - 28px)!important;
  }
}
@media(max-width:640px){
  .search-marquee-section{
    padding:9px 0!important;
  }
  .marquee-line a{
    min-height:34px!important;
    padding:7px 12px!important;
    font-size:12px!important;
  }
  .centre-lite{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .centre-lite .eyebrow{
    margin-left:0!important;
    margin-right:0!important;
  }
  .service-card{
    flex-basis:82%!important;
    min-height:210px!important;
    border-radius:18px!important;
    padding:18px!important;
  }
  .service-card span{
    margin-bottom:28px!important;
  }
  .service-card h3{
    font-size:19px!important;
  }
  .faq-wide-section{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  .faq-wide-list{
    margin-top:22px!important;
  }
  .faq-wide-list .faq-q{
    min-height:56px!important;
    padding:16px 16px!important;
    font-size:14.5px!important;
  }
  .faq-wide-list .faq-a{
    padding:0 16px 16px!important;
  }
  .faq-wide-list .faq-a p{
    font-size:13.8px!important;
  }
}



/* CDI AI OVERVIEW HOMEPAGE + FAQ FIX */

/* AI overview block */
.ai-overview-section{
  background:#FFFFFF!important;
  padding:54px 0!important;
  border-bottom:1px solid #DFE9F3!important;
}
.ai-overview-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.45fr)!important;
  gap:34px!important;
  align-items:start!important;
}
.ai-overview-copy h2{
  font-size:clamp(30px,3.7vw,48px)!important;
  line-height:1.06!important;
  letter-spacing:-.05em!important;
  margin:0 0 18px!important;
  color:#2B4B59!important;
  max-width:760px!important;
}
.ai-overview-copy p{
  font-size:17px!important;
  line-height:1.72!important;
  color:#56677F!important;
  max-width:880px!important;
}
.ai-overview-card{
  background:#FFFFFF!important;
  border:1px solid #DFE9F3!important;
  border-radius:24px!important;
  padding:24px!important;
  box-shadow:0 16px 42px rgba(12,31,56,.06)!important;
}
.ai-overview-card h3{
  margin:0 0 18px!important;
  font-size:22px!important;
  color:#071426!important;
}
.ai-stat-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.ai-stat-grid div{
  background:#F5F8FC!important;
  border:1px solid #DFE9F3!important;
  border-radius:16px!important;
  padding:16px!important;
}
.ai-stat-grid strong{
  display:block!important;
  color:#2F80ED!important;
  font-size:20px!important;
}
.ai-stat-grid span{
  display:block!important;
  margin-top:5px!important;
  color:#0C1F38!important;
  font-size:12.5px!important;
  font-weight:750!important;
}

/* NLG-style service cards, compact */
.service-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.service-card{
  background:#fff!important;
  border:1px solid #DFE9F3!important;
  border-top:4px solid #23D2B5!important;
  border-radius:22px!important;
  padding:24px!important;
  min-height:230px!important;
  box-shadow:0 14px 34px rgba(12,31,56,.065)!important;
  text-decoration:none!important;
  color:#071426!important;
}
.service-card span{
  color:#23BFA6!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  display:block!important;
  margin-bottom:42px!important;
}
.service-card h3{
  font-size:22px!important;
  line-height:1.14!important;
  letter-spacing:-.035em!important;
  margin:0 0 12px!important;
  color:#071426!important;
}
.service-card p{
  font-size:14px!important;
  line-height:1.58!important;
  color:#56677F!important;
  margin:0!important;
}

/* Marquee and in-body CTA */
.search-marquee-section{
  background:#fff!important;
  border-bottom:1px solid #DFE9F3!important;
  overflow:hidden!important;
  padding:12px 0!important;
}
.marquee-track{
  display:flex!important;
  width:max-content!important;
  animation:cdiMarquee 34s linear infinite!important;
}
.marquee-line{
  display:flex!important;
  gap:10px!important;
  padding-right:10px!important;
}
.marquee-line a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:8px 15px!important;
  border-radius:999px!important;
  background:#F5F8FC!important;
  border:1px solid #DFE9F3!important;
  color:#0C1F38!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:780!important;
  white-space:nowrap!important;
}
@keyframes cdiMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.search-marquee-section:hover .marquee-track{animation-play-state:paused!important}
.cdi-final-cta{display:none!important}
.inline-search-card{
  background:#0C1F38!important;
  border-radius:24px!important;
  padding:20px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:10px!important;
  box-shadow:0 24px 64px rgba(12,31,56,.13)!important;
}

/* FAQ full width and clean. No arrow. Only plus. */
.faq-wide-container{
  width:min(1320px,calc(100% - 72px))!important;
}
.faq-wide-section{
  padding-top:64px!important;
  padding-bottom:64px!important;
}
.faq-wide-list{
  margin-top:34px!important;
}
.faq-wide-list .faq-row{
  background:#fff!important;
  border:1px solid #DFE9F3!important;
  border-radius:18px!important;
  margin-bottom:14px!important;
  box-shadow:0 10px 28px rgba(12,31,56,.045)!important;
  overflow:hidden!important;
}
.faq-wide-list .faq-q{
  min-height:68px!important;
  width:100%!important;
  padding:20px 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  background:#fff!important;
  border:0!important;
  color:#071426!important;
  text-align:left!important;
  font-size:17px!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.faq-wide-list .faq-q::after{
  content:none!important;
  display:none!important;
}
.faq-wide-list .faq-q span{
  margin-left:auto!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#EEF5FD!important;
  color:#0C1F38!important;
  font-size:18px!important;
  font-weight:900!important;
  transition:transform .18s ease!important;
}
.faq-wide-list .faq-a{
  display:none!important;
  padding:0 28px 22px!important;
}
.faq-wide-list .faq-row.open .faq-a{
  display:block!important;
}
.faq-wide-list .faq-row.open .faq-q span{
  transform:rotate(45deg)!important;
}
.faq-wide-list .faq-a p{
  font-size:15px!important;
  line-height:1.7!important;
  max-width:980px!important;
  color:#56677F!important;
  margin:0!important;
}

@media(max-width:980px){
  .ai-overview-grid{
    grid-template-columns:1fr!important;
  }
  .service-card-grid.carousel-mobile{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    gap:12px!important;
    padding-bottom:8px!important;
  }
  .service-card-grid.carousel-mobile::-webkit-scrollbar{display:none!important}
  .service-card{
    flex:0 0 78%!important;
    scroll-snap-align:start!important;
    min-height:220px!important;
  }
  .inline-search-card{
    grid-template-columns:1fr!important;
  }
  .faq-wide-container{
    width:calc(100% - 28px)!important;
  }
}
@media(max-width:640px){
  .ai-overview-section{
    padding:38px 0!important;
  }
  .ai-overview-copy h2{
    font-size:30px!important;
  }
  .ai-overview-copy p{
    font-size:15px!important;
    line-height:1.65!important;
  }
  .ai-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .service-card{
    flex-basis:82%!important;
    min-height:210px!important;
    border-radius:18px!important;
    padding:18px!important;
  }
  .service-card span{
    margin-bottom:28px!important;
  }
  .service-card h3{
    font-size:19px!important;
  }
  .faq-wide-section{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  .faq-wide-list{
    margin-top:22px!important;
  }
  .faq-wide-list .faq-q{
    min-height:56px!important;
    padding:16px 16px!important;
    font-size:14.5px!important;
  }
  .faq-wide-list .faq-a{
    padding:0 16px 16px!important;
  }
  .faq-wide-list .faq-a p{
    font-size:13.8px!important;
  }
}



/* ==========================================================
   CDI COMPLETE OVERHAUL FINAL OVERRIDE
   Production mobile-first fixes, mega readability, AI/GEO content,
   NLG-style full-width FAQs, clean footer, carousel rows.
   ========================================================== */

:root{
  --cdi-blue:#2F80ED;
  --cdi-cyan:#3BB8F3;
  --cdi-navy:#0C1F38;
  --cdi-ink:#071426;
  --cdi-muted:#56677F;
  --cdi-bg:#F5F8FC;
  --cdi-line:#DFE9F3;
  --cdi-green:#23D2B5;
}
html,body{overflow-x:hidden!important}
body:not(.admin-body){background:var(--cdi-bg)!important;color:var(--cdi-ink)!important;font-size:15px!important;line-height:1.6!important}
body:not(.admin-body) .container{width:min(1220px,calc(100% - 56px))!important;margin-left:auto!important;margin-right:auto!important}
body:not(.admin-body) h1{font-size:clamp(38px,4.7vw,62px)!important;line-height:1.02!important;letter-spacing:-.056em!important}
body:not(.admin-body) h2{font-size:clamp(28px,3.1vw,42px)!important;line-height:1.09!important;letter-spacing:-.045em!important}
body:not(.admin-body) p,body:not(.admin-body) li{font-size:15px!important;line-height:1.65!important;color:var(--cdi-muted)!important}

/* Header/menu readability */
.topnav{background:var(--cdi-navy)!important}
.topnav .btn-green,.nav-actions .btn-green{background:var(--cdi-blue)!important;color:#fff!important}
.cdi-mega-v2-feature,.location-mega-left{background:var(--cdi-navy)!important;color:#fff!important}
.cdi-mega-v2-feature h3,.cdi-mega-v2-feature p,.cdi-mega-v2-feature span,.cdi-mega-v2-feature b,.cdi-mega-v2-feature a,
.location-mega-left h3,.location-mega-left p,.location-mega-left span,.location-mega-left b,.location-mega-left a{
  color:#fff!important;
}
.cdi-mega-v2-feature p,.location-mega-left p{opacity:.78!important}
.feature-mini-grid a,.cdi-feature-cta,.mega-v9-cta{color:#fff!important}
.cdi-mega-v2,.location-mega-v9{box-shadow:0 24px 72px rgba(12,31,56,.18)!important}

/* Homepage split hero */
.homepage-premium-hero{background:linear-gradient(135deg,#3BB8F3 0%,#48BFF5 62%,#68CDF7 100%)!important;padding:54px 0 50px!important}
.homepage-hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr)!important;gap:54px!important;align-items:center!important}
.homepage-premium-hero .hero-copy{max-width:760px!important;text-align:left!important}
.homepage-premium-hero .lead{font-size:clamp(16px,1.5vw,19px)!important;line-height:1.55!important;color:#12304D!important;max-width:680px!important}
.eyebrow{display:inline-flex!important;width:auto!important;background:rgba(255,255,255,.92)!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:999px!important;padding:8px 13px!important;color:var(--cdi-navy)!important;font-size:11.5px!important;font-weight:900!important;letter-spacing:.07em!important;text-transform:uppercase!important}
.premium-search{width:100%!important;max-width:780px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 180px auto!important;gap:10px!important;background:#fff!important;border-radius:24px!important;padding:10px!important;margin-top:24px!important;box-shadow:0 18px 44px rgba(12,31,56,.11)!important}
.input{height:50px!important;border:1px solid var(--cdi-line)!important;border-radius:15px!important;padding:0 14px!important;background:#F8FBFF!important;color:var(--cdi-ink)!important;font-size:14px!important;font-weight:700!important;min-width:0!important}
.btn{border-radius:999px!important;min-height:46px!important;padding:12px 20px!important;font-size:14px!important;font-weight:850!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;cursor:pointer!important}
.btn-primary{background:var(--cdi-blue)!important;color:#fff!important}
.btn-secondary{background:#fff!important;color:var(--cdi-navy)!important}
.trust-row.compact{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;max-width:720px!important;margin-top:18px!important}
.trust-row.compact div{background:rgba(255,255,255,.9)!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:14px!important;padding:11px 12px!important;box-shadow:0 12px 28px rgba(12,31,56,.07)!important}
.trust-row.compact strong{display:block!important;color:var(--cdi-ink)!important;font-size:14.5px!important;line-height:1.1!important}
.trust-row.compact span{display:block!important;color:var(--cdi-muted)!important;font-size:11.5px!important;line-height:1.25!important;margin-top:4px!important}
.homepage-comparison-panel{background:var(--cdi-navy)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:30px!important;padding:26px!important;color:#fff!important;box-shadow:0 24px 70px rgba(12,31,56,.18)!important}
.panel-topline{display:flex!important;align-items:center!important;gap:24px!important;border-bottom:1px solid rgba(255,255,255,.14)!important;padding-bottom:16px!important;margin-bottom:16px!important}
.panel-topline span{width:12px!important;height:12px!important;border-radius:999px!important;background:#89A4C4!important}
.panel-topline strong{margin-left:auto!important;color:#fff!important;font-size:15px!important}
.panel-inner-grid{display:grid!important;grid-template-columns:150px 1fr!important;gap:16px!important}
.panel-side-nav{background:rgba(255,255,255,.08)!important;border-radius:18px!important;padding:18px!important;display:flex!important;flex-direction:column!important;gap:12px!important}
.panel-side-nav b,.panel-side-nav span{color:#fff!important;font-size:13px!important}
.panel-side-nav span{color:#C8D8EA!important}
.panel-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.panel-metrics div{background:rgba(255,255,255,.08)!important;border-radius:16px!important;padding:16px!important}
.panel-metrics strong{display:block!important;color:#fff!important;font-size:22px!important;line-height:1.1!important}
.panel-metrics span{display:block!important;color:#C8D8EA!important;font-size:12px!important;margin-top:6px!important}
.panel-profile-card{background:#fff!important;border-radius:20px!important;padding:20px!important;margin-top:14px!important}
.panel-profile-card h2{color:#071426!important;font-size:22px!important;margin:0 0 8px!important}
.panel-profile-card p{color:#52657D!important;font-size:14px!important;line-height:1.5!important;margin:0!important}
.panel-tags{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:16px!important}
.panel-tags span{background:#EAF2FA!important;color:#0C1F38!important;border-radius:999px!important;padding:7px 10px!important;font-size:12px!important;font-weight:800!important}

/* AI overview section */
.ai-overview-section{background:#fff!important;padding:54px 0!important;border-bottom:1px solid var(--cdi-line)!important}
.ai-overview-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,.45fr)!important;gap:34px!important;align-items:start!important}
.ai-overview-copy h2{font-size:clamp(30px,3.7vw,48px)!important;line-height:1.06!important;letter-spacing:-.05em!important;margin:0 0 18px!important;color:#2B4B59!important;max-width:760px!important}
.ai-overview-copy p{font-size:17px!important;line-height:1.72!important;color:var(--cdi-muted)!important;max-width:880px!important}
.ai-overview-card{background:#fff!important;border:1px solid var(--cdi-line)!important;border-radius:24px!important;padding:24px!important;box-shadow:0 16px 42px rgba(12,31,56,.06)!important}
.ai-overview-card h3{margin:0 0 18px!important;font-size:22px!important;color:#071426!important}
.ai-stat-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.ai-stat-grid div{background:#F5F8FC!important;border:1px solid var(--cdi-line)!important;border-radius:16px!important;padding:16px!important}
.ai-stat-grid strong{display:block!important;color:var(--cdi-blue)!important;font-size:20px!important}
.ai-stat-grid span{display:block!important;margin-top:5px!important;color:var(--cdi-navy)!important;font-size:12.5px!important;font-weight:750!important}

/* Sections/cards */
.cdi-section{padding:56px 0!important;background:var(--cdi-bg)!important}
.cdi-section.white{background:#fff!important}
.cdi-split{display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:28px!important;align-items:start!important}
.answer-card,.side-card,.sleek-card,.faq-row,.service-card{background:#fff!important;border:1px solid var(--cdi-line)!important;box-shadow:0 14px 34px rgba(12,31,56,.065)!important}
.answer-card{border-left:4px solid var(--cdi-blue)!important;border-radius:20px!important;padding:20px!important;margin-top:20px!important;max-width:760px!important}
.side-card{border-radius:22px!important;padding:22px!important}
.side-card.dark{background:var(--cdi-navy)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}
.side-card.dark h3,.side-card.dark p{color:#fff!important}
.clean-list{list-style:none!important;padding:0!important;margin:0!important;display:grid!important;gap:10px!important}
.clean-list li{font-size:14px!important;color:var(--cdi-muted)!important;font-weight:650!important}
.clean-list li::before{content:""!important;display:inline-block!important;width:7px!important;height:7px!important;border-radius:50%!important;background:var(--cdi-blue)!important;margin-right:9px!important;vertical-align:middle!important}
.section-head.left{max-width:740px!important;text-align:left!important;margin:0 0 24px!important}
.centre-lite{text-align:center!important;max-width:860px!important;margin-left:auto!important;margin-right:auto!important}
.centre-lite .eyebrow{margin-left:auto!important;margin-right:auto!important}
.sleek-card-grid,.service-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.sleek-card,.service-card{border-radius:22px!important;padding:24px!important;text-decoration:none!important;color:var(--cdi-ink)!important}
.sleek-card span{display:block!important;color:var(--cdi-blue)!important;font-size:12px!important;font-weight:950!important;letter-spacing:.12em!important;margin-bottom:28px!important}
.sleek-card h3,.service-card h3{font-size:21px!important;line-height:1.14!important;letter-spacing:-.035em!important;margin:0 0 10px!important;color:#071426!important}
.sleek-card p,.service-card p{font-size:14px!important;line-height:1.58!important;color:var(--cdi-muted)!important;margin:0!important}
.service-card{border-top:4px solid var(--cdi-green)!important;min-height:230px!important}
.service-card span{color:#23BFA6!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;display:block!important;margin-bottom:42px!important}

/* Marquee */
.search-marquee-section{background:#fff!important;border-bottom:1px solid var(--cdi-line)!important;overflow:hidden!important;padding:12px 0!important}
.marquee-track{display:flex!important;width:max-content!important;animation:cdiMarquee 34s linear infinite!important}
.marquee-line{display:flex!important;gap:10px!important;padding-right:10px!important}
.marquee-line a{display:inline-flex!important;align-items:center!important;min-height:38px!important;padding:8px 15px!important;border-radius:999px!important;background:#F5F8FC!important;border:1px solid var(--cdi-line)!important;color:var(--cdi-navy)!important;text-decoration:none!important;font-size:13px!important;font-weight:780!important;white-space:nowrap!important}
@keyframes cdiMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.search-marquee-section:hover .marquee-track{animation-play-state:paused!important}

/* Links/search CTA */
.compact-link-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:22px!important;max-width:620px!important}
.compact-location-links{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
.compact-link-grid a,.compact-location-links a{background:#fff!important;border:1px solid var(--cdi-line)!important;border-radius:15px!important;padding:13px 15px!important;color:var(--cdi-ink)!important;text-decoration:none!important;font-size:14px!important;font-weight:780!important;box-shadow:0 10px 24px rgba(12,31,56,.045)!important;text-align:center!important}
.inline-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:22px!important}
.inline-search-card{background:var(--cdi-navy)!important;border-radius:24px!important;padding:20px!important;display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;box-shadow:0 24px 64px rgba(12,31,56,.13)!important}
.inline-search-card .input{background:#fff!important}
.cdi-final-cta,.final-cta-band{display:none!important}

/* Full-width FAQ */
.faq-wide-container{width:min(1320px,calc(100% - 72px))!important}
.faq-wide-section{padding-top:64px!important;padding-bottom:64px!important}
.faq-wide-list{margin-top:34px!important}
.faq-wide-list .faq-row{background:#fff!important;border:1px solid var(--cdi-line)!important;border-radius:18px!important;margin-bottom:14px!important;box-shadow:0 10px 28px rgba(12,31,56,.045)!important;overflow:hidden!important}
.faq-wide-list .faq-q{min-height:68px!important;width:100%!important;padding:20px 28px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;background:#fff!important;border:0!important;color:#071426!important;text-align:left!important;font-size:17px!important;font-weight:850!important;cursor:pointer!important}
.faq-wide-list .faq-q::after{content:none!important;display:none!important}
.faq-wide-list .faq-q span{margin-left:auto!important;width:30px!important;height:30px!important;min-width:30px!important;display:grid!important;place-items:center!important;border-radius:999px!important;background:#EEF5FD!important;color:#0C1F38!important;font-size:18px!important;font-weight:900!important;transition:transform .18s ease!important}
.faq-wide-list .faq-a{display:none!important;padding:0 28px 22px!important}
.faq-wide-list .faq-row.open .faq-a{display:block!important}
.faq-wide-list .faq-row.open .faq-q span{transform:rotate(45deg)!important}
.faq-wide-list .faq-a p{font-size:15px!important;line-height:1.7!important;max-width:980px!important;color:var(--cdi-muted)!important;margin:0!important}

/* Footer sharpness */
footer,.site-footer{background:var(--cdi-navy)!important;color:#fff!important}
footer h2,footer h3,footer h4,footer p,footer li,footer a,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer p,.site-footer li,.site-footer a{color:#fff!important}
footer p,footer li,.site-footer p,.site-footer li{opacity:.84!important}

/* Mobile */
@media(max-width:1100px){
  .homepage-hero-grid{grid-template-columns:1fr!important;gap:30px!important}
  .homepage-comparison-panel{max-width:680px!important}
}
@media(max-width:980px){
  body:not(.admin-body) .container{width:calc(100% - 28px)!important}
  .ai-overview-grid,.cdi-split{grid-template-columns:1fr!important}
  .service-card-grid.carousel-mobile,.sleek-card-grid.carousel-mobile,.sleek-card-grid.three,.compact-location-links{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;gap:12px!important;padding-bottom:8px!important}
  .service-card-grid.carousel-mobile::-webkit-scrollbar,.sleek-card-grid.carousel-mobile::-webkit-scrollbar,.sleek-card-grid.three::-webkit-scrollbar,.compact-location-links::-webkit-scrollbar{display:none!important}
  .service-card,.sleek-card,.compact-location-links a{flex:0 0 78%!important;scroll-snap-align:start!important}
  .inline-search-card{grid-template-columns:1fr!important}
  .faq-wide-container{width:calc(100% - 28px)!important}
}
@media(max-width:760px){
  .topnav .container.row{width:100%!important;min-height:64px!important;padding:8px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
  .brand-logo img{max-width:160px!important;max-height:50px!important;object-fit:contain!important}
  .nav-actions .btn-green{width:auto!important;min-width:0!important;max-width:145px!important;height:42px!important;min-height:42px!important;padding:8px 16px!important;border-radius:999px!important;font-size:13px!important;line-height:1.05!important;white-space:normal!important;text-align:center!important;box-shadow:none!important}
  .hamburger{width:42px!important;height:42px!important;min-width:42px!important;border-radius:14px!important;background:#1C314B!important;border:1px solid rgba(255,255,255,.13)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:0!important;box-shadow:none!important}
  .hamburger span{display:block!important;width:18px!important;height:2px!important;border-radius:99px!important;background:#fff!important;opacity:1!important;margin:0!important;transform:none!important}
  .homepage-premium-hero{padding:30px 0 34px!important}
  .homepage-hero-grid{display:block!important}
  body:not(.admin-body) h1{font-size:34px!important;line-height:1.05!important;letter-spacing:-.045em!important;margin:16px 0 10px!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
  body:not(.admin-body) h2{font-size:27px!important}
  .premium-search{grid-template-columns:1fr!important;gap:8px!important;padding:8px!important;margin-top:18px!important;border-radius:20px!important}
  .premium-search .input,.premium-search select,.premium-search input,.premium-search .btn{height:46px!important;min-height:46px!important;width:100%!important}
  .trust-row.compact{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding:0!important}
  .trust-row.compact div{padding:10px 8px!important;text-align:left!important}
  .trust-row.compact strong{font-size:13px!important}
  .trust-row.compact span{font-size:10.5px!important}
  .homepage-comparison-panel{margin-top:24px!important;padding:18px!important;border-radius:22px!important}
  .panel-inner-grid{grid-template-columns:1fr!important}
  .panel-side-nav{display:none!important}
  .panel-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .panel-metrics div{padding:11px 9px!important}
  .panel-metrics strong{font-size:16px!important}
  .panel-metrics span{font-size:10.5px!important}
  .panel-profile-card{padding:16px!important;border-radius:16px!important}
  .panel-profile-card h2{font-size:19px!important}
  .ai-overview-section{padding:38px 0!important}
  .ai-overview-copy h2{font-size:30px!important}
  .ai-overview-copy p{font-size:15px!important;line-height:1.65!important}
  .cdi-section{padding:40px 0!important}
  .centre-lite{text-align:left!important;margin-left:0!important;margin-right:0!important}
  .centre-lite .eyebrow{margin-left:0!important;margin-right:0!important}
  .service-card,.sleek-card{flex-basis:82%!important;min-height:210px!important;border-radius:18px!important;padding:18px!important}
  .service-card span,.sleek-card span{margin-bottom:28px!important}
  .service-card h3,.sleek-card h3{font-size:19px!important}
  .compact-link-grid{grid-template-columns:1fr!important}
  .inline-actions{flex-direction:column!important}
  .inline-actions .btn{width:100%!important}
  .faq-wide-section{padding-top:42px!important;padding-bottom:42px!important}
  .faq-wide-list{margin-top:22px!important}
  .faq-wide-list .faq-q{min-height:56px!important;padding:16px!important;font-size:14.5px!important}
  .faq-wide-list .faq-a{padding:0 16px 16px!important}
  .faq-wide-list .faq-a p{font-size:13.8px!important}
  .search-marquee-section{padding:9px 0!important}
  .marquee-line a{min-height:34px!important;padding:7px 12px!important;font-size:12px!important}
}
