:root{
    --cream:#FBF7EF; --cream-deep:#F4EDDF; --card:#FFFFFF;
    --navy:#1B2A41; --navy-soft:#27374D; --ink:#2C2C2C;
    --amber:#C57B16; --amber-deep:#A2640C; --amber-wash:#FBEFD6;
    --pain:#B23A2E; --pain-bg:#FBEDE9; --gain:#1C7A4E; --gain-bg:#E9F4EE;
    --muted:#6E7480; --border:#EBE0CD; --hair:#E4D9C4;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4,.disp{font-family:'Space Grotesk',sans-serif;color:var(--navy);letter-spacing:-0.015em;line-height:1.12;}
  a{color:inherit;}
  img{max-width:100%;}
  section{scroll-margin-top:84px;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
  .section{padding:88px 0;}
  .section.tight{padding:64px 0;}
  .center{text-align:center;}

  a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px;}

  /* ---------- shared headers ---------- */
  .kicker{display:inline-block;font-family:'Space Grotesk';font-weight:600;font-size:12px;
    letter-spacing:.16em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:16px;}
  .kicker.onnavy{color:var(--amber);}
  h2.h{font-size:clamp(28px,4.2vw,42px);font-weight:700;}
  .lede{font-size:clamp(16px,1.6vw,18px);color:var(--navy-soft);max-width:620px;margin-top:16px;}
  .center .lede{margin-left:auto;margin-right:auto;}

  /* ---------- buttons ---------- */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Space Grotesk';
    font-weight:600;font-size:15px;padding:14px 26px;border-radius:11px;cursor:pointer;text-decoration:none;
    border:1.6px solid transparent;transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;white-space:nowrap;}
  .btn-primary{background:var(--amber);color:#fff;box-shadow:0 8px 20px rgba(165,100,12,.24);}
  .btn-primary:hover{transform:translateY(-2px);background:#B5710F;box-shadow:0 12px 28px rgba(165,100,12,.32);}
  .btn-ghost{background:transparent;color:var(--navy);border-color:var(--border);}
  .btn-ghost:hover{transform:translateY(-2px);border-color:var(--navy);}
  .btn-light{background:#fff;color:var(--navy);}
  .btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18);}
  .btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
  .btn-ghost-light:hover{border-color:#fff;transform:translateY(-2px);}
  .btn.block{width:100%;}

  /* ---------- nav ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s ease, box-shadow .3s ease;}
  header.scrolled{background:rgba(251,247,239,.9);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--hair);}
  .nav-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
  .logo{font-family:'Space Grotesk';font-weight:700;font-size:22px;color:var(--navy);text-decoration:none;}
  .logo span{color:var(--amber);}
  .links{display:flex;gap:32px;align-items:center;}
  .links a{font-size:15px;color:var(--navy-soft);text-decoration:none;font-weight:500;transition:color .15s;}
  .links a:hover{color:var(--amber-deep);}
  .nav-right{display:flex;align-items:center;gap:14px;}
  .nav-cta{padding:11px 20px;font-size:14px;border-radius:10px;}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
  .burger span{width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:.25s;}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
  .mobile-menu{display:none;flex-direction:column;background:var(--cream);border-top:1px solid var(--hair);
    box-shadow:0 12px 24px rgba(0,0,0,.08);}
  .mobile-menu a{padding:16px 24px;text-decoration:none;color:var(--navy);font-family:'Space Grotesk';font-weight:600;
    border-bottom:1px solid var(--hair);}
  .mobile-menu a:last-child{color:var(--amber-deep);}

  /* ---------- hero ---------- */
  .hero{position:relative;padding:150px 0 76px;overflow:hidden;
    background:linear-gradient(180deg,#FBF7EF 0%, #FBF7EF 55%, #F4EDDF 100%);}
  .hero::before{content:"";position:absolute;top:-120px;right:-120px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle, rgba(197,123,22,.14), transparent 65%);pointer-events:none;}
  .hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;
    font-family:'Space Grotesk';font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
    padding:7px 14px;border-radius:30px;margin-bottom:24px;}
  .hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--amber);}
  .hero h1{font-size:clamp(34px,6.2vw,62px);font-weight:700;max-width:14ch;}
  .hero h1 .amb{color:var(--amber);}
  .hero p.sub{font-size:clamp(16px,1.8vw,20px);color:var(--navy-soft);max-width:600px;margin-top:22px;}
  .hero p.sub b{color:var(--navy);font-weight:600;}
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
  .hero-meta{margin-top:26px;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 22px;}
  .hero-meta span{display:inline-flex;align-items:center;gap:7px;}
  .hero-meta .tick{color:var(--gain);font-weight:700;}

  /* ---------- pains ---------- */
  .pains-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px;}
  .pain-card{background:var(--pain-bg);border:1px solid #EDCFC7;border-left:4px solid #D98B7E;border-radius:0 12px 12px 0;
    padding:20px 22px;font-size:16px;color:#7A2A20;font-style:italic;line-height:1.45;}
  .bridge{margin-top:36px;font-family:'Space Grotesk';font-weight:600;font-size:clamp(18px,2.2vw,24px);
    color:var(--navy);max-width:760px;}
  .bridge em{color:var(--amber);font-style:normal;}

  /* ---------- reframe ---------- */
  .reframe-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;}
  .rf{border-radius:16px;padding:30px 32px;border:1px solid;}
  .rf.red{background:var(--pain-bg);border-color:#EBC3BA;}
  .rf.green{background:var(--gain-bg);border-color:#BCDFC9;}
  .rf .rt{font-family:'Space Grotesk';font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
  .rf.red .rt{color:var(--pain);} .rf.green .rt{color:var(--gain);}
  .rf .rp{font-family:'Space Grotesk';font-weight:700;font-size:clamp(34px,4.5vw,46px);color:var(--navy);margin:10px 0 18px;line-height:1;}
  .rf .rp span{font-size:18px;font-weight:500;color:var(--muted);}
  .rf ul{list-style:none;}
  .rf li{font-size:16px;color:var(--navy-soft);padding-left:24px;position:relative;margin-bottom:11px;line-height:1.4;}
  .rf li:before{content:"\203A";position:absolute;left:2px;font-weight:700;font-size:18px;}
  .rf.red li:before{color:#C76B5C;} .rf.green li:before{color:var(--gain);}
  .rf-line{text-align:center;font-family:'Space Grotesk';font-weight:600;font-size:clamp(18px,2.3vw,26px);
    color:var(--navy);margin-top:40px;line-height:1.4;}
  .rf-line em{color:var(--amber);font-style:normal;}

  /* ---------- includes / co-pay (navy) ---------- */
  .includes{background:var(--navy);}
  .includes .kicker{color:var(--amber);}
  .includes h2{color:#fff;}
  .inc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 36px;margin-top:36px;}
  .inc-item{display:flex;gap:14px;align-items:flex-start;color:#DDE5EF;font-size:16px;line-height:1.45;}
  .inc-item .ic{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:rgba(197,123,22,.18);
    color:var(--amber);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;}
  .inc-item b{color:#fff;font-weight:600;}
  .copay{display:flex;align-items:center;gap:22px;margin-top:38px;padding:24px 28px;
    background:linear-gradient(135deg, rgba(197,123,22,.16), rgba(197,123,22,.06));
    border:1px solid rgba(197,123,22,.35);border-radius:16px;}
  .copay .big{flex-shrink:0;font-family:'Space Grotesk';font-weight:700;color:#fff;text-align:center;line-height:1;}
  .copay .big .n{font-size:clamp(40px,6vw,58px);color:var(--amber);display:block;}
  .copay .big .l{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#C9D4E0;margin-top:6px;}
  .copay .txt{color:#DDE5EF;font-size:clamp(15px,1.6vw,17px);line-height:1.5;}
  .copay .txt b{color:#fff;font-weight:600;}
  .copay-fine{margin-top:18px;font-size:12px;color:#9CA8B6;font-style:italic;line-height:1.5;}

  /* ---------- plans ---------- */
  .plans{background:var(--cream-deep);}
  .plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px;align-items:start;}
  .pcard{background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px 22px;display:flex;flex-direction:column;
    transition:transform .2s ease, box-shadow .2s ease;position:relative;}
  .pcard:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(27,42,65,.12);}
  .pcard.feat{border:2px solid var(--amber);box-shadow:0 16px 38px rgba(165,100,12,.16);}
  .pcard .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--amber);color:#fff;
    font-family:'Space Grotesk';font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
    padding:5px 14px;border-radius:30px;white-space:nowrap;}
  .pcard .pn{font-family:'Space Grotesk';font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-deep);}
  .pcard .pp{font-family:'Space Grotesk';font-weight:700;font-size:38px;color:var(--navy);margin-top:10px;line-height:1;}
  .pcard .pp small{font-size:16px;font-weight:500;color:var(--muted);}
  .pcard .pp.cust{font-size:30px;}
  .pcard .ptr{font-size:13px;color:var(--gain);font-weight:600;margin-top:8px;}
  .pcard .pwho{font-size:14.5px;color:var(--navy-soft);margin-top:14px;line-height:1.45;min-height:42px;}
  .pcard .pdiv{height:1px;background:var(--hair);margin:18px 0;}
  .pcard .plus{font-size:12.5px;color:var(--muted);font-style:italic;margin-bottom:12px;}
  .pcard ul{list-style:none;flex-grow:1;margin-bottom:22px;}
  .pcard li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);margin-bottom:11px;line-height:1.4;}
  .pcard li .ck{flex-shrink:0;width:19px;height:19px;border-radius:50%;background:var(--gain-bg);color:var(--gain);
    display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-top:1px;}

  /* ---------- compare table ---------- */
  .table-wrap{margin-top:44px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;}
  .table-scroll{overflow-x:auto;}
  table.matrix{width:100%;border-collapse:separate;border-spacing:0;min-width:680px;}
  table.matrix th,table.matrix td{padding:13px 14px;text-align:center;font-size:14px;border-bottom:1px solid #F0E9DA;}
  table.matrix thead th{background:var(--navy);color:#fff;font-family:'Space Grotesk';font-weight:600;font-size:14px;border-bottom:none;}
  table.matrix thead th .pr{display:block;font-size:11px;font-weight:500;color:#C9D4E0;margin-top:3px;}
  table.matrix th.cap,table.matrix td.cap{text-align:left;color:var(--navy-soft);font-weight:500;font-size:14.5px;
    position:sticky;left:0;background:#fff;z-index:1;min-width:220px;box-shadow:1px 0 0 #F0E9DA;}
  table.matrix thead th.cap{background:var(--navy);color:#EAF0F6;font-family:'Space Grotesk';font-size:12px;
    letter-spacing:.1em;text-transform:uppercase;box-shadow:1px 0 0 rgba(255,255,255,.08);}
  table.matrix tbody tr:nth-child(even) td{background:#FCFAF4;}
  table.matrix tbody tr:nth-child(even) td.cap{background:#FCFAF4;}
  table.matrix td.feat{background:var(--amber-wash)!important;}
  table.matrix thead th.feat{background:#8a5912;}
  .yes{color:var(--gain);font-weight:700;font-size:16px;}
  .no{color:#C9C1AF;font-weight:600;}
  .lvl{color:var(--amber-deep);font-weight:600;font-size:12px;line-height:1.2;}
  .legend{margin-top:16px;font-size:13px;color:var(--muted);display:flex;gap:24px;flex-wrap:wrap;}
  .legend b{color:var(--navy);}
  .scrollhint{display:none;font-size:12.5px;color:var(--amber-deep);margin-top:12px;font-weight:600;}

  /* ---------- partners ---------- */
  .partners{background:linear-gradient(135deg,#FDF7EA 0%, #FBEFD6 100%);}
  .pbadge{display:inline-block;background:var(--gain);color:#fff;font-family:'Space Grotesk';font-weight:600;
    font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:6px;margin-bottom:18px;}
  .partner-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;}
  .dcard{background:rgba(255,255,255,.7);border:1px solid #ECD9AE;border-radius:14px;padding:24px;}
  .dcard .dn{font-family:'Space Grotesk';font-weight:700;color:var(--amber-deep);font-size:24px;}
  .dcard .dt{font-size:15px;color:var(--navy-soft);margin-top:8px;line-height:1.45;}

  /* ---------- how it works ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
  .step{display:flex;gap:16px;align-items:flex-start;}
  .step .sn{flex-shrink:0;font-family:'Space Grotesk';font-weight:700;font-size:18px;color:#fff;background:var(--amber);
    width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
  .step h4{font-size:18px;font-weight:600;margin-bottom:6px;}
  .step p{font-size:15px;color:var(--muted);line-height:1.5;}

  /* ---------- final cta ---------- */
  .cta-final{background:var(--navy);color:#fff;}
  .cta-final h2{color:#fff;font-size:clamp(28px,4.5vw,46px);}
  .cta-final p.cs{color:#C9D4E0;font-size:clamp(16px,1.7vw,19px);margin-top:18px;max-width:620px;margin-left:auto;margin-right:auto;}
  .cta-final .btn-row{display:flex;justify-content:center;gap:14px;margin-top:36px;flex-wrap:wrap;}
  .aph{font-family:'Space Grotesk';font-weight:600;font-size:clamp(22px,3vw,34px);line-height:1.35;
    max-width:780px;margin:0 auto 8px;color:#fff;}
  .aph em{color:var(--amber);font-style:normal;}

  /* ---------- footer ---------- */
  footer{background:#13202F;color:#9CA8B6;padding:60px 0 40px;}
  .foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;}
  .foot-brand .logo{color:#fff;font-size:24px;}
  .foot-brand p{font-size:14px;margin-top:12px;max-width:300px;line-height:1.6;}
  .foot-col h5{font-family:'Space Grotesk';color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;}
  .foot-col a,.foot-col span{display:block;font-size:14.5px;color:#B7C2CF;text-decoration:none;margin-bottom:10px;}
  .foot-col a:hover{color:var(--amber);}
  .foot-bottom{border-top:1px solid #243447;margin-top:44px;padding-top:24px;font-size:13px;color:#7B8794;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

  /* ---------- mobile sticky CTA ---------- */
  .mobilebar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;
    background:rgba(251,247,239,.96);backdrop-filter:blur(10px);border-top:1px solid var(--hair);
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;
    box-shadow:0 -4px 18px rgba(0,0,0,.08);}
  .mobilebar .mb-price{font-family:'Space Grotesk';font-weight:600;color:var(--navy);font-size:14px;line-height:1.2;}
  .mobilebar .mb-price small{display:block;font-size:11px;color:var(--muted);font-weight:500;}

  /* ---------- reveal ---------- */
  .js .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}
  .js .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){.js .reveal{opacity:1!important;transform:none!important;transition:none!important;}}

  /* ================= RESPONSIVE ================= */
  @media (max-width:980px){
    .links{display:none;}
    .burger{display:flex;}
    .plan-grid{grid-template-columns:repeat(2,1fr);}
    .pains-grid{grid-template-columns:repeat(2,1fr);}
    .partner-cards{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:760px){
    .section{padding:60px 0;}
    .hero{padding:120px 0 60px;}
    .reframe-grid{grid-template-columns:1fr;}
    .inc-list{grid-template-columns:1fr;gap:14px;}
    .copay{flex-direction:column;text-align:center;gap:14px;}
    .copay .big{display:flex;align-items:baseline;gap:10px;}
    .copay .big .l{margin-top:0;}
    .steps{grid-template-columns:1fr;gap:20px;}
    .partner-cards{grid-template-columns:1fr;}
    .scrollhint{display:block;}
    .foot-grid{gap:28px;}
  }
  @media (max-width:600px){
    .wrap{padding:0 18px;}
    .nav-cta{display:none;}
    .plan-grid{grid-template-columns:1fr;gap:26px;}
    .pains-grid{grid-template-columns:1fr;}
    .pain-card{font-size:15.5px;}
    .hero-cta .btn{flex:1;}
    .mobilebar{display:flex;}
    body{padding-bottom:78px;}
    .mobile-menu a{padding:15px 18px;}
  }

/* ============================================================
   SUB-PAGE COMPONENTS
   ============================================================ */

/* active nav state */
.links a[aria-current="page"]{color:var(--amber-deep);font-weight:600;}
.mobile-menu a[aria-current="page"]{color:var(--amber-deep);}

/* compact page hero for sub-pages */
.page-hero{position:relative;overflow:hidden;padding:140px 0 60px;
  background:linear-gradient(180deg,#FBF7EF 0%, #FBF7EF 55%, #F4EDDF 100%);}
.page-hero::before{content:"";position:absolute;top:-130px;right:-130px;width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle, rgba(197,123,22,.13), transparent 65%);pointer-events:none;}
.page-hero .crumb{font-size:13px;color:var(--muted);margin-bottom:18px;}
.page-hero .crumb a{color:var(--amber-deep);text-decoration:none;}
.page-hero .crumb a:hover{text-decoration:underline;}
.page-hero h1{font-size:clamp(32px,5.4vw,54px);font-weight:700;max-width:16ch;}
.page-hero h1 .amb{color:var(--amber);}
.page-hero .ph-intro{font-size:clamp(16px,1.7vw,19px);color:var(--navy-soft);max-width:660px;margin-top:18px;}
.page-hero .ph-cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}

/* principles grid (Why page) */
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;}
.principle{background:#fff;border:1px solid var(--border);border-top:3px solid var(--amber);
  border-radius:14px;padding:26px 24px;transition:transform .2s ease, box-shadow .2s ease;}
.principle:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(27,42,65,.1);}
.principle h3{font-size:19px;font-weight:600;margin-bottom:9px;line-height:1.25;}
.principle p{font-size:15px;color:var(--muted);line-height:1.55;}

/* phase timeline (How page) */
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px;}
.phase{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px 26px;position:relative;}
.phase .ptag{display:inline-block;font-family:'Space Grotesk';font-weight:600;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;background:var(--amber);padding:5px 12px;border-radius:30px;margin-bottom:16px;}
.phase h3{font-size:20px;font-weight:600;margin-bottom:10px;}
.phase p{font-size:15px;color:var(--muted);line-height:1.55;}
.phase .deliver{margin-top:14px;font-size:13.5px;color:var(--navy-soft);border-top:1px solid var(--hair);padding-top:12px;}
.phase .deliver b{color:var(--navy);font-weight:600;}

/* crosslink banner */
.crosslink{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:var(--cream-deep);border:1px solid var(--border);border-radius:16px;padding:24px 30px;margin-top:46px;}
.crosslink .cl-txt{font-family:'Space Grotesk';font-weight:600;font-size:clamp(17px,2vw,21px);color:var(--navy);}
.crosslink .cl-txt span{display:block;font-family:'Inter';font-weight:400;font-size:14px;color:var(--muted);margin-top:4px;}

/* generic prose intro under a heading */
.note{font-size:15px;color:var(--muted);max-width:680px;margin-top:14px;line-height:1.6;}

@media (max-width:980px){
  .principles{grid-template-columns:repeat(2,1fr);}
  .phases{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .page-hero{padding:118px 0 48px;}
}
@media (max-width:600px){
  .principles{grid-template-columns:1fr;}
  .crosslink{flex-direction:column;align-items:flex-start;}
}
