:root{
    --navy:#16264d;
    --navy-deep:#0e1a38;
    --navy-soft:#2c3f6e;
    --callbar:#2e3192;
    --red:#c8102e;
    --red-deep:#a20d25;
    --cream:#f7f6f2;
    --white:#ffffff;
    --ink:#1a1f2b;
    --muted:#5b6478;
    --line:#e4e1d8;
    --star:#ffffff;
    --shadow: 0 20px 50px -20px rgba(14,26,56,0.35);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  .visually-hidden{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  .skip-link{
    position:absolute; top:-100px; left:0; z-index:1000;
    background:var(--navy-deep); color:#fff; padding:12px 20px;
    font-weight:700; text-decoration:none; border-radius:0 0 6px 0;
    transition:top .15s ease;
  }
  .skip-link:focus{top:0;}
  body{
    margin:0;
    font-family:'Barlow', sans-serif;
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Barlow Condensed', sans-serif;
    text-transform:uppercase;
    letter-spacing:0.01em;
    font-weight:700;
    line-height:1.05;
    color:var(--navy);
  }
  .eyebrow{
    font-family:'Barlow', sans-serif;
    text-transform:uppercase;
    letter-spacing:0.18em;
    font-size:0.72rem;
    font-weight:700;
    color:var(--red);
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
  button{font-family:inherit; cursor:pointer;}

  /* ---------- Top utility / call bar ---------- */
  .site-header-wrap{position:sticky; top:0; z-index:100;}
  .topbar{
    background:var(--callbar);
    color:#cdd6ea;
    font-size:0.82rem;
  }
  .topbar .wrap{
    display:flex; justify-content:space-between; align-items:center;
    padding-top:10px; padding-bottom:10px; gap:16px; flex-wrap:wrap;
  }
  .topbar a{color:#fff; font-weight:600;}
  .topbar .phone{display:flex; gap:12px; flex-wrap:wrap; align-items:center; font-size:1rem; font-weight:800;}
  .topbar .phone span{color:#fff;}
  .topbar .phone a{
    background:var(--red); color:#fff; font-size:1rem; font-weight:800;
    padding:9px 20px; border-radius:6px; white-space:nowrap;
    box-shadow:0 6px 16px -6px rgba(0,0,0,0.4);
    transition:background .15s ease, transform .15s ease;
  }
  .topbar .phone a:hover{background:var(--red-deep); transform:translateY(-1px);}
  .topbar .stars{letter-spacing:2px; color:#ffd447; font-size:0.95rem; font-weight:800; text-transform:uppercase;}

  /* ---------- Header ---------- */
  header.site{
    background:var(--white);
    border-bottom:1px solid var(--line);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 0;
    gap:24px;
  }
  .logo-link img{height:58px; width:auto;}
  nav.primary{display:flex; align-items:center; gap:28px;}
  nav.primary ul{list-style:none; display:flex; gap:26px; margin:0; padding:0;}
  nav.primary li{position:relative;}
  nav.primary a.top-link{
    font-weight:600; font-size:0.95rem; color:var(--navy);
    padding:8px 2px; display:inline-block;
  }
  nav.primary a.top-link:hover{color:var(--red);}
  .has-sub:hover .sub-menu, .has-sub:focus-within .sub-menu{display:block;}
  .sub-menu{
    display:none; position:absolute; top:100%; left:0;
    background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow);
    min-width:250px; padding:8px 0; border-radius:6px;
  }
  .sub-menu a{
    display:block; padding:10px 18px; font-size:0.9rem; color:var(--navy); font-weight:500;
  }
  .sub-menu a:hover{background:var(--cream); color:var(--red);}
  .cta-btn{
    background:var(--red); color:#fff; font-weight:700; padding:12px 22px;
    border-radius:4px; font-size:0.92rem; border:none; white-space:nowrap;
    box-shadow:0 8px 20px -8px rgba(200,16,46,0.6);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .cta-btn:hover{transform:translateY(-1px); box-shadow:0 12px 24px -8px rgba(200,16,46,0.7);}
  .cta-ghost{
    border:2px solid var(--navy); color:var(--navy); font-weight:700; padding:10px 20px;
    border-radius:4px; font-size:0.92rem; background:transparent;
  }
  .cta-ghost:hover{background:var(--navy); color:#fff;}
  .burger{display:none; background:none; border:none; padding:8px;}
  .burger span{display:block; width:26px; height:3px; background:var(--navy); margin:5px 0; border-radius:2px;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    background:linear-gradient(155deg, var(--navy) 0%, var(--navy-deep) 62%, #0a1329 100%);
    color:#fff;
    overflow:hidden;
  }
  .hero .wrap{
    display:grid; grid-template-columns:1.1fr 0.9fr; align-items:center;
    gap:40px; padding-top:40px; padding-bottom:46px; position:relative; z-index:2;
  }
  .hero .eyebrow{
    color:#ff5c72;
    font-family:'Barlow Condensed', sans-serif;
    font-size:clamp(1.5rem, 3.4vw, 2.2rem);
    font-weight:700;
    letter-spacing:0.02em;
    line-height:1.1;
  }
  .hero .eyebrow .nowrap{white-space:nowrap;}
  .hero h1{
    color:#fff; font-size:clamp(2.1rem, 4vw, 3.3rem); margin:8px 0 12px;
  }
  .hero h1 em{
    font-style:normal; color:#ff8ba0;
  }
  .hero p.lede{
    font-size:1.05rem; color:#c9d2e6; max-width:520px; line-height:1.5; margin:0 0 18px;
  }
  .hero .actions{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:22px;}
  .hero .cta-btn{padding:16px 30px; font-size:1rem;}
  .hero .cta-outline{
    padding:14px 28px; border:2px solid rgba(255,255,255,0.5); border-radius:4px;
    color:#fff; font-weight:700;
  }
  .hero .cta-outline:hover{border-color:#fff; background:rgba(255,255,255,0.08);}
  .trust-row{display:flex; gap:28px; flex-wrap:wrap; color:#9fabc9; font-size:0.85rem;}
  .trust-row strong{color:#fff; display:block; font-size:1.5rem; font-family:'Barlow Condensed',sans-serif;}

  .hero-flag{
    position:relative;
  }
  .flag-card{
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.14);
    border-radius:16px;
    padding:24px;
    backdrop-filter:blur(6px);
  }
  .flag-card .stat{
    display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px dashed rgba(255,255,255,0.18);
  }
  .flag-card .stat:last-child{border-bottom:none;}
  .flag-card .stat .num{font-family:'Barlow Condensed',sans-serif; font-size:2rem; color:#fff; font-weight:700;}
  .flag-card .stat .label{font-size:0.82rem; color:#aeb8d2; max-width:170px; text-align:right; line-height:1.35;}
  .ribbon-svg{position:absolute; right:-60px; top:-40px; width:340px; opacity:0.16; z-index:0;}

  /* ---------- Endorsement strip ---------- */
  .endorse{
    background:var(--red);
    color:#fff;
  }
  .endorse .wrap{
    display:flex; align-items:center; gap:18px; padding:16px 24px; flex-wrap:wrap;
    justify-content:center; text-align:center;
  }
  .endorse strong{font-weight:800;}
  .endorse .badge{
    background:rgba(255,255,255,0.18); padding:6px 14px; border-radius:20px; font-size:0.8rem; font-weight:700; letter-spacing:0.04em;
  }

  /* ---------- Section shared ---------- */
  section{padding:86px 0;}
  .section-head{max-width:660px; margin-bottom:48px;}
  .section-head h2{font-size:clamp(2rem,3.4vw,2.8rem); margin:10px 0 16px;}
  .section-head p{color:var(--muted); font-size:1.05rem; line-height:1.65;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

  /* ---------- Mission ---------- */
  .mission{background:var(--white);}
  .mission .wrap{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  .mission p{color:var(--muted); line-height:1.75; font-size:1.02rem; margin-bottom:18px;}
  .mission .learn{
    display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--red); margin-top:6px;
  }
  .mission-art{
    background:var(--navy); border-radius:18px; padding:36px; color:#fff; position:relative; overflow:hidden;
  }
  .mission-art h3{color:#fff; font-size:1.5rem;}
  .mission-art ul{list-style:none; padding:0; margin:22px 0 0;}
  .mission-art li{
    display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-top:1px solid rgba(255,255,255,0.14);
  }
  .mission-art li:first-child{border-top:none;}
  .mission-art .ico{
    width:34px; height:34px; border-radius:50%; background:var(--red); flex:none;
    display:flex; align-items:center; justify-content:center; font-weight:800; font-family:'Barlow Condensed',sans-serif;
  }
  .mission-art li p{color:#c9d2e6; margin:0; font-size:0.92rem; line-height:1.5;}
  .mission-art li strong{color:#fff; display:block; margin-bottom:2px; font-size:0.98rem;}

  /* ---------- Plans grid ---------- */
  .plans{background:var(--cream);}
  .plan-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
  }
  .plan-card{
    background:var(--white); border:1px solid var(--line); border-radius:14px; padding:30px 26px;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .plan-card:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent;}
  .plan-card .mark{
    width:46px; height:46px; border-radius:10px; background:var(--navy); color:#fff;
    display:flex; align-items:center; justify-content:center; margin-bottom:18px;
    font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.2rem;
  }
  .plan-card h3{font-size:1.25rem; margin:0 0 10px; text-transform:none; letter-spacing:0;}
  .plan-card p{color:var(--muted); font-size:0.94rem; line-height:1.55; margin:0 0 16px;}
  .plan-card a{font-weight:700; color:var(--red); font-size:0.88rem;}

  /* ---------- Testimonials ---------- */
  .testimonials{background:var(--navy); color:#fff;}
  .testimonials .section-head h2{color:#fff;}
  .testimonials .section-head p{color:#b9c3de;}
  .t-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .t-card{
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:14px; padding:28px;
  }
  .t-card .quote-mark{font-family:'Source Serif 4', serif; font-size:2.6rem; color:var(--red); line-height:1; margin-bottom:6px;}
  .t-card p.body{color:#d4dbee; font-size:0.98rem; line-height:1.6; margin:0 0 20px; font-style:italic;}
  .t-card .who{font-weight:700; font-size:0.95rem;}
  .t-card .stars-row{color:#ffb703; letter-spacing:2px; margin-top:6px; font-size:0.9rem;}

  /* ---------- Contact ---------- */
  .contact{background:var(--white);}
  .contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:50px; align-items:flex-start;}
  .contact-grid--cta{align-items:center;}
  .cta-big-wrap{display:flex; align-items:center; justify-content:center; height:100%; min-height:260px;}
  .cta-btn-big{
    font-size:1.5rem; padding:26px 56px; border-radius:8px;
    box-shadow:0 14px 34px -10px rgba(200,16,46,0.55);
  }
  .cta-btn-big:hover{box-shadow:0 18px 40px -10px rgba(200,16,46,0.65);}
  .contact-info{
    background:var(--navy); color:#fff; border-radius:16px; padding:40px 34px;
  }
  .contact-info h2{color:#fff; font-size:1.7rem;}
  .contact-info .phone-num{
    display:block; font-family:'Barlow Condensed',sans-serif; font-size:2.4rem; color:#ff8ba0; margin:14px 0 18px; font-weight:700;
  }
  .contact-info p{color:#c9d2e6; line-height:1.65; font-size:0.98rem;}
  .contact-info .cline{
    display:flex; gap:12px; align-items:center; margin-top:22px; font-size:0.95rem; color:#dfe5f5;
  }
  .contact-info .cline .dot{width:8px; height:8px; border-radius:50%; background:var(--red); flex:none;}

  .aca-shop-wrap{margin:4px 0 26px;}
  .aca-shop-link{display:inline-block; padding:14px 28px; font-size:1.02rem;}
  .form-embed-wrap{
    background:var(--cream); border:1px solid var(--line); border-radius:16px;
    padding:16px; min-height:900px; overflow:hidden;
  }
  .form-embed-wrap iframe{
    width:100%; height:900px; border:0; display:block; border-radius:8px;
  }
  @media(max-width:640px){
    .form-embed-wrap{padding:10px; min-height:1000px;}
    .form-embed-wrap iframe{height:1000px;}
  }

  form.quote-form{
    background:var(--cream); border:1px solid var(--line); border-radius:16px; padding:34px;
  }
  form.quote-form .row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  form.quote-form label{
    display:block; font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--navy); margin-bottom:6px;
  }
  form.quote-form input, form.quote-form select, form.quote-form textarea{
    width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:8px; font-family:inherit; font-size:0.96rem;
    background:#fff; color:var(--ink);
  }
  form.quote-form input:focus, form.quote-form select:focus, form.quote-form textarea:focus{
    outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(22,38,77,0.12);
  }
  form.quote-form .full{grid-column:1/-1;}
  .consent{
    display:flex; gap:10px; align-items:flex-start; font-size:0.82rem; color:var(--muted); margin:6px 0 22px; line-height:1.5;
  }
  form.quote-form button.submit{
    background:var(--red); color:#fff; font-weight:700; padding:15px 30px; border:none; border-radius:8px; width:100%; font-size:1rem;
  }
  form.quote-form button.submit:hover{background:var(--red-deep);}
  .form-note{font-size:0.78rem; color:var(--muted); margin-top:14px; line-height:1.5;}
  .form-status{margin-top:14px; font-size:0.9rem; font-weight:600; display:none;}
  .form-status.show{display:block;}
  .form-status.ok{color:#1a7a3d;}

  /* ---------- Partners ---------- */
  .partners{background:var(--cream); padding:60px 0;}
  .partners .wrap p.small-label{
    text-align:center; text-transform:uppercase; letter-spacing:0.14em; font-size:0.75rem; color:var(--muted); font-weight:700; margin-bottom:26px;
  }
  .partner-row{
    display:flex; justify-content:center; gap:46px; flex-wrap:wrap; align-items:center;
  }
  .partner-row .p-item{
    font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.05rem; color:var(--navy-soft); opacity:0.65; letter-spacing:0.02em;
  }

  /* ---------- Footer ---------- */
  footer.site{background:var(--navy-deep); color:#aab4cf; padding-top:60px;}
  .footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:36px; padding-bottom:40px;}
  footer.site .logo-link img{height:52px;}
  footer.site p{font-size:0.9rem; line-height:1.6; color:#93a0c2; max-width:280px;}
  footer.site h4{
    color:#fff; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.1em; margin:0 0 16px;
  }
  footer.site ul{list-style:none; padding:0; margin:0;}
  footer.site li{margin-bottom:10px;}
  footer.site a{color:#aab4cf; font-size:0.92rem;}
  footer.site a:hover{color:#fff;}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.1); padding:22px 0 0; font-size:0.8rem; color:#7c88a8;
    display:flex; justify-content:center; flex-wrap:wrap; gap:12px; text-align:center;
  }
  .footer-bottom a{color:#9aa6c4;}
  .disclaimer{font-size:0.75rem; color:#7c88a8; line-height:1.6; max-width:none; margin:16px 0 24px; text-align:left;}
  .disclaimer a{color:#aab4cf; text-decoration:underline; font-weight:600;}
  .disclaimer a:hover{color:#fff;}

  @media (max-width: 980px){
    .hero .wrap{grid-template-columns:1fr; padding-top:24px; padding-bottom:28px;}
    .mission .wrap{grid-template-columns:1fr;}
    .plan-grid{grid-template-columns:repeat(2,1fr);}
    .t-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    nav.primary{display:none;}
    .burger{display:block;}
    .logo-link img{height:46px;}
    .nav-row{padding:10px 0;}
    .topbar .wrap{padding-top:8px; padding-bottom:8px;}
    .disclaimer{font-size:0.72rem;}
  }
  @media (max-width: 560px){
    .plan-grid{grid-template-columns:1fr;}
    form.quote-form .row{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .topbar .wrap{justify-content:center; text-align:center;}
    .topbar .phone{justify-content:center; width:100%;}
    .topbar .stars{font-size:0.8rem;}
    .logo-link img{height:40px;}
    .disclaimer{font-size:0.7rem; line-height:1.5;}
    .footer-bottom{text-align:center; padding:18px 0 0;}
  }

/* ---------- Interior page hero (non-home pages) ---------- */
.page-hero{
  background:linear-gradient(155deg, var(--navy) 0%, var(--navy-deep) 65%, #0a1329 100%);
  color:#fff;
  padding:22px 0 20px;
}
.page-hero .eyebrow{color:#ff8ba0;}
.page-hero h1{color:#fff; font-size:clamp(1.7rem,3.2vw,2.3rem); margin:6px 0 8px;}
.page-hero p{color:#c9d2e6; max-width:620px; font-size:0.95rem; line-height:1.4; margin:0;}
.breadcrumb{font-size:0.82rem; color:#9fabc9; margin-bottom:4px;}
.breadcrumb a{color:#c9d2e6; font-weight:600;}
.breadcrumb a:hover{color:#fff;}

/* ---------- Content page layout ---------- */
.content-section{background:var(--white);}
.content-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:56px; align-items:flex-start;}
.content-grid h2{font-size:1.7rem; margin:34px 0 14px;}
.content-grid h2:first-child{margin-top:0;}
.content-grid p{color:var(--muted); line-height:1.75; font-size:1.02rem; margin:0 0 18px;}
.content-grid ul.check-list{list-style:none; padding:0; margin:0 0 24px;}
.content-grid ul.check-list li{
  position:relative; padding:8px 0 8px 30px; color:var(--muted); font-size:1rem; line-height:1.55;
}
.content-grid ul.check-list li::before{
  content:"✓"; position:absolute; left:0; top:8px; color:var(--red); font-weight:800;
}
.side-card{
  background:var(--cream); border:1px solid var(--line); border-radius:14px; padding:28px; margin-bottom:22px;
}
.side-card h3{font-size:1.15rem; margin:0 0 12px; letter-spacing:0; text-transform:none;}
.side-card p{color:var(--muted); font-size:0.92rem; line-height:1.55; margin:0 0 16px;}
.side-card .cta-btn{display:block; text-align:center; width:100%;}
.side-list{list-style:none; padding:0; margin:0;}
.side-list li{border-top:1px solid var(--line); padding:10px 0;}
.side-list li:first-child{border-top:none;}
.side-list a{font-weight:600; font-size:0.94rem; color:var(--navy);}
.side-list a:hover{color:var(--red);}
.faq-item{border-top:1px solid var(--line); padding:20px 0;}
.faq-item:first-child{border-top:none;}
.faq-item h3{font-size:1.05rem; margin:0 0 8px; letter-spacing:0; text-transform:none; color:var(--navy);}
.faq-item p{margin:0; color:var(--muted); font-size:0.96rem;}
.mini-cta{
  background:var(--navy); color:#fff; border-radius:16px; padding:40px; text-align:center; margin-top:60px;
}
.mini-cta h2{color:#fff; margin:0 0 12px;}
.mini-cta p{color:#c9d2e6; margin:0 0 24px; max-width:520px; margin-left:auto; margin-right:auto;}

/* ---------- Blog list ---------- */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.blog-card{background:var(--white); border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease;}
.blog-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.blog-card .thumb{height:150px; background:linear-gradient(135deg,var(--navy),var(--navy-soft)); display:flex; align-items:center; justify-content:center;}
.blog-card .thumb span{font-family:'Barlow Condensed',sans-serif; color:rgba(255,255,255,0.7); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.12em;}
.blog-card .body{padding:22px;}
.blog-card .cat{font-size:0.72rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--red); font-weight:700;}
.blog-card h3{font-size:1.1rem; margin:10px 0 10px; letter-spacing:0; text-transform:none; line-height:1.35;}
.blog-card p{color:var(--muted); font-size:0.92rem; line-height:1.55; margin:0 0 14px;}
.blog-card a.read{font-size:0.86rem; font-weight:700; color:var(--navy);}

@media (max-width: 980px){
  .content-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 560px){
  .blog-grid{grid-template-columns:1fr;}
}

/* ---- Blog post styles ---- */
.post-meta{font-size:0.9rem; color:var(--muted); margin:0 0 22px; padding-bottom:16px; border-bottom:1px solid #e3e7ee;}
.content-grid h3{font-size:1.2rem; margin:24px 0 8px;}
.content-grid .post-body ul,.content-grid .post-body ol{color:var(--muted); line-height:1.75; font-size:1.02rem; padding-left:22px; margin:0 0 18px;}
.content-grid .post-body li{margin-bottom:8px;}
.content-grid .post-body strong{color:var(--navy);}
.content-grid .post-body a{color:var(--navy); text-decoration:underline;}
table.compare{width:100%; border-collapse:collapse; margin:18px 0 24px; font-size:0.96rem;}
table.compare th,table.compare td{border:1px solid #d8dde6; padding:10px 12px; text-align:left; vertical-align:top; color:var(--text, #1f2937);}
table.compare thead th{background:var(--navy); color:#fff;}
table.compare tbody th{background:#f3f5f9; font-weight:700;}
.post-note{font-size:0.9rem; background:#f3f5f9; border-left:4px solid var(--navy); padding:12px 16px; border-radius:4px;}
.back-link{display:inline-block; margin-top:18px; font-weight:700;}
