:root{
    --ink:#0e2b2f;
    --ink-deep:#081a1d;
    --paper:#eef2f0;
    --panel:#ffffff;
    --gold:#b8863b;
    --gold-deep:#8f6528;
    --slate:#48605f;
    --slate-dim:#6b8280;
    --line:#d7e0dc;
    --serif:'Fraunces', Georgia, serif;
    --sans:'Manrope', sans-serif;
    --mono:'IBM Plex Mono', monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
  }
  .wrap{max-width:1160px;margin:0 auto;padding:0 28px;}
  section{padding:96px 0;}
  h1,h2,h3{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;}
  h2{font-size:clamp(28px,3.6vw,40px);font-weight:600;line-height:1.15;margin-bottom:18px;}
  .eyebrow{
    font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--gold-deep);margin-bottom:16px;display:flex;align-items:center;gap:10px;
  }
  .eyebrow::before{content:"";width:20px;height:1px;background:var(--gold);}
  .lede{color:var(--slate);font-size:17px;max-width:62ch;}

  /* ---------- compass mark ---------- */
  .compass{display:inline-flex;align-items:center;gap:9px;}
  .compass svg{width:30px;height:30px;flex:none;}
  .compass-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--slate-dim);}

  /* ---------- utility bar ---------- */
  .util-bar{background:var(--ink-deep);color:#d9e3e0;font-size:13.5px;padding:9px 0;}
  .util-inner{display:flex;justify-content:space-between;align-items:center;}
  .util-bar a{color:#f0d9ad;font-weight:700;}
  .util-states{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:#9fb3b0;}

  /* ---------- header ---------- */
  header{background:var(--paper);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);}
  .header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
  .brand{font-family:var(--serif);font-size:21px;font-weight:600;display:flex;align-items:center;gap:12px;}
  nav ul{display:flex;gap:30px;}
  nav a{font-size:14px;font-weight:600;color:var(--ink);}
  nav a:hover{color:var(--gold-deep);}
  .header-call{display:flex;align-items:center;gap:12px;}
  .header-call .txt{text-align:right;line-height:1.25;}
  .header-call .label{font-size:11px;color:var(--slate-dim);text-transform:uppercase;letter-spacing:.06em;}
  .header-call .phone{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--gold-deep);}
  .call-pill{
    background:var(--ink);color:#fff;font-weight:700;font-size:13.5px;
    padding:12px 22px;border-radius:30px;white-space:nowrap;
    transition:background .18s ease, transform .18s ease;
  }
  .call-pill:hover{background:var(--gold-deep);transform:translateY(-1px);}

  /* ---------- hero ---------- */
  .hero{padding:80px 0 90px;position:relative;overflow:hidden;}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;}
  .hero h1{font-size:clamp(34px,4.6vw,52px);font-weight:600;line-height:1.14;margin-bottom:22px;}
  .hero h1 .accent{color:var(--gold-deep);font-style:italic;}
  .hero .lede{font-size:18.5px;margin-bottom:30px;}
  .hero-cta-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:34px;}
  .btn-gold{
    display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#fff;font-weight:700;
    padding:17px 30px;border-radius:4px;font-size:15.5px;transition:background .18s ease, transform .18s ease;
  }
  .btn-gold:hover{background:var(--gold-deep);transform:translateY(-2px);}
  .btn-outline{
    display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ink);color:var(--ink);
    padding:16px 26px;border-radius:4px;font-size:15px;font-weight:600;transition:background .18s ease;
  }
  .btn-outline:hover{background:var(--panel);}
  .hero-trust{display:flex;gap:26px;flex-wrap:wrap;}
  .hero-trust li{font-size:13.5px;color:var(--slate);display:flex;align-items:center;gap:8px;}
  .hero-trust li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);}

  .compass-panel{
    background:var(--ink);border-radius:8px;padding:44px;position:relative;
    box-shadow:0 30px 60px rgba(14,43,47,.25);
  }
  .compass-panel svg{width:100%;height:auto;}
  .compass-caption{
    text-align:center;color:#cfe0dd;font-family:var(--mono);font-size:12px;letter-spacing:.1em;
    text-transform:uppercase;margin-top:22px;
  }

  /* ---------- trust bar ---------- */
  .trust-strip{background:var(--ink);color:#fff;padding:26px 0;}
  .trust-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;}
  .trust-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;}
  .trust-item svg{width:20px;height:20px;flex:none;color:var(--gold);}

  /* ---------- life events ---------- */
  .event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px;}
  .event-card{
    background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:34px;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .event-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(14,43,47,.09);}
  .event-card .tag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:14px;}
  .event-card h3{font-size:21px;margin-bottom:12px;font-weight:600;}
  .event-card p{color:var(--slate);font-size:15px;margin-bottom:20px;}
  .event-card .link{font-weight:700;font-size:14px;color:var(--ink);border-bottom:2px solid var(--gold);}

  /* ---------- state coverage ---------- */
  .states-section{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .state-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px;}
  .state-card{border:1px solid var(--line);border-radius:8px;padding:28px 24px;}
  .state-card .abbr{font-family:var(--serif);font-size:32px;font-weight:600;color:var(--gold-deep);margin-bottom:6px;}
  .state-card h3{font-size:17px;margin-bottom:10px;}
  .state-card p{font-size:14px;color:var(--slate);}

  /* ---------- plans ---------- */
  .plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px;}
  .plan-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:30px 26px;}
  .plan-card .num{font-family:var(--mono);font-size:12px;color:var(--gold-deep);margin-bottom:14px;}
  .plan-card h3{font-size:19px;margin-bottom:10px;font-weight:600;}
  .plan-card p{font-size:14.5px;color:var(--slate);}

  /* ---------- credentials ---------- */
  .cred{background:var(--ink);color:#fff;}
  .cred .eyebrow{color:#e3c98a;}
  .cred h2{color:#fff;}
  .cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:20px;}
  .cred-list li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px;color:#d6e2df;}
  .cred-list li:first-child{padding-top:0;}
  .cred-list strong{color:#fff;display:block;margin-bottom:4px;font-family:var(--serif);font-size:16.5px;font-weight:600;}
  .cred-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:36px;}
  .cred-panel p{color:#d6e2df;font-size:15px;margin-bottom:16px;}
  .cred-panel p:last-child{margin-bottom:0;}

  /* ---------- faq ---------- */
  .faq-list{max-width:820px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%;text-align:left;background:none;border:none;cursor:pointer;
    padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;
    font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink);
  }
  .faq-q .icon{font-size:22px;color:var(--gold-deep);flex:none;transition:transform .2s ease;}
  .faq-item.open .icon{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .faq-a p{padding-bottom:24px;color:var(--slate);font-size:15.5px;max-width:68ch;}

  /* ---------- final cta ---------- */
  .final-cta{
    background:linear-gradient(120deg, var(--ink), var(--ink-deep));
    color:#fff;text-align:center;
  }
  .final-cta h2{color:#fff;}
  .final-cta p{color:#cfe0dd;max-width:58ch;margin:0 auto 34px;font-size:17px;}
  .final-cta .btn-gold{font-size:18px;padding:20px 44px;}
  .final-cta .compass{justify-content:center;margin-top:28px;}

  /* ---------- footer ---------- */
  footer{background:var(--ink-deep);color:#9fb3b0;padding:60px 0 100px;font-size:13.5px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px;}
  footer h4{font-family:var(--serif);color:#fff;font-size:15.5px;margin-bottom:14px;font-weight:600;}
  footer ul li{margin-bottom:9px;}
  footer address{font-style:normal;}
  footer a:hover{color:#fff;}
  .disclaimer{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;line-height:1.7;}
  .disclaimer p + p{margin-top:10px;}

  /* ---------- sticky mobile call bar ---------- */
  .mobile-call{
    display:none;position:fixed;bottom:0;left:0;right:0;z-index:70;
    background:var(--gold);padding:14px 20px;text-align:center;
    font-weight:700;color:#fff;font-size:16px;
    box-shadow:0 -8px 24px rgba(0,0,0,.15);
  }

  @media (max-width:980px){
    .hero-grid,.cred-grid{grid-template-columns:1fr;}
    .event-grid{grid-template-columns:1fr;}
    .state-grid,.plan-grid{grid-template-columns:1fr 1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    nav,.util-inner .util-states{display:none;}
    .mobile-call{display:block;}
    body{padding-bottom:60px;}
  }
  /* ---------- testimonials ---------- */
  .testimonials{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .rating-badge{display:flex;align-items:center;gap:16px;margin:20px 0 44px;flex-wrap:wrap;}
  .rating-badge .score{font-family:var(--serif);font-size:44px;font-weight:600;color:var(--ink);}
  .rating-badge .stars{color:var(--gold);font-size:20px;letter-spacing:2px;}
  .rating-badge .count{font-size:14px;color:var(--slate);}
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .testi-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column;}
  .testi-card .stars{color:var(--gold);font-size:14px;margin-bottom:14px;letter-spacing:1px;}
  .testi-card p{font-size:14.5px;color:var(--ink);line-height:1.6;flex:1;margin-bottom:16px;}
  .testi-card .attr{font-family:var(--mono);font-size:12px;color:var(--slate-dim);}
  .testi-more{margin-top:32px;font-size:14px;font-weight:700;color:var(--gold-deep);border-bottom:2px solid var(--gold);display:inline-block;}

  @media (max-width:980px){
    .testi-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .state-grid,.plan-grid{grid-template-columns:1fr;}
    .trust-row{flex-direction:column;align-items:flex-start;}
    section{padding:64px 0;}
    .testi-grid{grid-template-columns:1fr;}
  }
