
  :root{
    --primary:#01408C;
    --primary-mid:#0A56AD;
    --primary-soft:#1E74C8;
    --secondary:#4DB9F9;
    --primary-050:#EAF3FC;
    --primary-100:#D8E8F8;
    --ink:#12233A;
    --body:#33465E;
    --muted:#647890;
    --line:#E2EAF4;
    --bg:#F4F8FC;
    --white:#FFFFFF;
    --radius:18px;
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--body);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.6;
  }
  .brandbar{height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-soft) 52%,var(--secondary) 100%);}

  .hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#013074 0%,var(--primary) 42%,var(--primary-soft) 100%);
    color:var(--white);
  }
  .hero::after{
    content:"";
    position:absolute;
    width:520px;height:520px;border-radius:50%;
    right:-190px;top:-260px;
    background:radial-gradient(circle at 35% 35%,rgba(77,185,249,.55),rgba(77,185,249,0) 68%);
    pointer-events:none;
  }
  .hero::before{
    content:"";
    position:absolute;
    width:340px;height:340px;border-radius:50%;
    left:-150px;bottom:-220px;
    border:1px solid rgba(255,255,255,.18);
    pointer-events:none;
  }
  .hero-inner{
    position:relative;
    max-width:1040px;
    margin:0 auto;
    padding:64px 24px 56px;
  }
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:#BFE3FB;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    padding:6px 14px;
  }
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--secondary);box-shadow:0 0 0 3px rgba(77,185,249,.25);}
  .hero h1{
    margin:20px 0 14px;
    font-size:40px;
    line-height:1.18;
    font-weight:800;
    letter-spacing:-.4px;
    color:var(--white);
  }
  .hero .lede{
    margin:0;
    max-width:660px;
    font-size:16px;
    line-height:1.78;
    color:#D6E7F7;
  }
  .stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1px;
    margin:36px 0 0;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.16);
    border-radius:14px;
    overflow:hidden;
  }
  .stat{background:rgba(255,255,255,.07);padding:16px 18px;}
  .stat b{display:block;font-size:22px;font-weight:800;color:var(--white);line-height:1.2;letter-spacing:-.2px;}
  .stat span{display:block;margin-top:4px;font-size:12.5px;color:#BEDCF4;letter-spacing:.02em;}

  .page{max-width:1040px;margin:0 auto;padding:40px 24px 64px;}
  .group{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:6px 26px 10px;
    margin-bottom:22px;
    box-shadow:0 18px 40px -34px rgba(1,64,140,.55);
  }
  .group-head{
    display:flex;align-items:center;gap:14px;
    padding:20px 0 14px;
    border-bottom:2px solid var(--primary-050);
  }
  .ico{
    flex:0 0 auto;
    width:38px;height:38px;border-radius:11px;
    background:linear-gradient(140deg,var(--primary),var(--primary-soft));
    display:grid;place-items:center;
    box-shadow:0 8px 18px -10px rgba(1,64,140,.8);
  }
  .ico svg{width:20px;height:20px;stroke:#fff;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
  .group-head h2{
    margin:0;
    font-size:20px;
    font-weight:800;
    color:var(--primary);
    letter-spacing:-.1px;
  }

  details{border-bottom:1px solid var(--line);}
  details:last-of-type{border-bottom:0;}
  summary{
    position:relative;
    display:block;
    padding:18px 34px 18px 0;
    cursor:pointer;
    list-style:none;
    font-size:18px;
    font-weight:700;
    line-height:1.5;
    color:var(--primary);
    transition:color .18s ease;
  }
  summary::-webkit-details-marker{display:none;}
  summary::marker{content:"";}
  summary:hover{color:var(--primary-soft);}
  summary:focus-visible{outline:2px solid var(--secondary);outline-offset:4px;border-radius:6px;}
  summary .chev{
    position:absolute;right:6px;top:26px;
    width:9px;height:9px;
    border-right:2px solid var(--secondary);
    border-bottom:2px solid var(--secondary);
    transform:rotate(45deg);
    transition:transform .22s ease,border-color .18s ease;
  }
  details[open] > summary .chev{transform:rotate(-135deg);}
  details[open] > summary{color:var(--primary);}

  .a{
    padding:0 34px 20px 0;
    font-size:16px;
    line-height:1.78;
    color:var(--body);
  }
  .a p{margin:0 0 12px;}
  .a p:last-child{margin-bottom:0;}
  .a strong{color:var(--primary);font-weight:700;}
  .a ul{
    margin:10px 0 12px;
    padding:0;
    list-style:none;
  }
  .a ul li{
    position:relative;
    padding-left:18px;
    margin-bottom:8px;
    font-size:16px;
    line-height:1.72;
  }
  .a ul li::before{
    content:"";
    position:absolute;left:2px;top:11px;
    width:6px;height:6px;border-radius:2px;
    background:var(--secondary);
  }
  .a ul li:last-child{margin-bottom:0;}

  .cta{
    position:relative;
    overflow:hidden;
    margin:30px 0 0;
    border-radius:22px;
    padding:26px 32px;
    background:
      radial-gradient(760px 240px at 8% 0%,rgba(77,185,249,.42),rgba(77,185,249,0) 62%),
      linear-gradient(120deg,#013074 0%,var(--primary) 46%,var(--primary-soft) 100%);
    color:var(--white);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    flex-wrap:wrap;
    box-shadow:0 26px 54px -34px rgba(1,64,140,.85);
  }
  .cta::after{
    content:"";
    position:absolute;right:-120px;bottom:-180px;
    width:380px;height:380px;border-radius:50%;
    border:1px solid rgba(255,255,255,.16);
    pointer-events:none;
  }
  .cta-copy{position:relative;max-width:600px;}
  .cta h2{
    margin:0 0 5px;
    font-size:23px;
    line-height:1.32;
    font-weight:800;
    letter-spacing:-.3px;
    color:var(--white);
  }
  .cta p{
    margin:0;
    font-size:16px;
    line-height:1.62;
    color:#D8E8F8;
  }
  .btn{
    position:relative;
    display:inline-flex;align-items:center;gap:12px;
    flex:0 0 auto;
    background:var(--white);
    color:var(--primary);
    font-size:16px;font-weight:800;
    text-decoration:none;
    padding:15px 28px;
    border-radius:999px;
    white-space:nowrap;
    box-shadow:0 16px 32px -16px rgba(0,0,0,.55);
    transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
  }
  .btn .arrow{
    width:9px;height:9px;
    border-right:2px solid currentColor;
    border-top:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform .2s ease;
  }
  .btn:hover{background:var(--secondary);color:#012C5F;transform:translateY(-2px);box-shadow:0 20px 36px -16px rgba(0,0,0,.6);}
  .btn:hover .arrow{transform:rotate(45deg) translate(2px,-2px);}
  .btn:focus-visible{outline:3px solid #BFE3FB;outline-offset:3px;}

  @media (max-width:820px){
    .hero-inner{padding:48px 20px 42px;}
    .hero h1{font-size:30px;}
    .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
    .page{padding:28px 18px 48px;}
    .group{padding:4px 18px 8px;}
    .group-head{gap:12px;}
    .group-head h2{font-size:18px;}
    summary{padding:16px 30px 16px 0;}
    .a{padding-right:14px;}
    .cta{padding:22px 20px;border-radius:18px;}
    .cta h2{font-size:20px;}
    .btn{width:100%;justify-content:center;}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none !important;}
  }
  @media print{
    body{background:#fff;}
    .hero{background:#fff;color:#000;}
    .hero h1,.eyebrow{color:#000;}
    .group,.cta{box-shadow:none;border:1px solid #ccc;background:#fff;}
    .cta{color:#000;}
    .cta h2,.cta p{color:#000;}
    details{border-bottom:1px solid #ddd;}
  }
