  @import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Figtree:wght@400;500;600;700;800&display=swap');

  :root{
    --ground:#EEF1EA;
    --surface:#FFFFFF;
    --surface-alt:#E4E8DD;
    --ink:#1B2B2A;
    --ink-soft:#4B5D5B;
    --teal:#1F5054;
    --teal-deep:#123638;
    --clay:#C1653D;
    --clay-deep:#A34F2E;
    --gold:#B08D57;
    --line:#D7DCC9;
    --focus:#1F5054;
    --btn-bg:#A34F2E;
    --btn-fg:#FFF8F0;
    --sky-top:#E7D9B8;
    --sky-bot:#F2EADA;
    --ocean-top:#2C6B67;
    --ocean-bot:#173E3F;
    --shadow:0 1px 2px rgba(27,43,42,.06);
    --shadow-md:0 8px 24px rgba(27,43,42,.10);
    --shadow-lg:0 24px 48px rgba(27,43,42,.16);
  }

  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --ground:#0E1B1A;
      --surface:#15302C;
      --surface-alt:#102421;
      --ink:#E7EFE8;
      --ink-soft:#A9BDB6;
      --teal:#6FB3AC;
      --teal-deep:#9ED4CC;
      --clay:#E0885A;
      --clay-deep:#E0885A;
      --gold:#D4B57B;
      --line:#24413C;
      --focus:#6FB3AC;
      --btn-bg:#E0885A;
      --btn-fg:#14211F;
      --sky-top:#3A3122;
      --sky-bot:#0E1B1A;
      --ocean-top:#1E4A48;
      --ocean-bot:#0A1D1D;
      --shadow:0 1px 2px rgba(0,0,0,.3);
      --shadow-md:0 8px 24px rgba(0,0,0,.35);
      --shadow-lg:0 24px 48px rgba(0,0,0,.5);
    }
  }
  :root[data-theme="dark"]{
    --ground:#0E1B1A;
    --surface:#15302C;
    --surface-alt:#102421;
    --ink:#E7EFE8;
    --ink-soft:#A9BDB6;
    --teal:#6FB3AC;
    --teal-deep:#9ED4CC;
    --clay:#E0885A;
    --clay-deep:#E0885A;
    --gold:#D4B57B;
    --line:#24413C;
    --focus:#6FB3AC;
    --btn-bg:#E0885A;
    --btn-fg:#14211F;
    --sky-top:#3A3122;
    --sky-bot:#0E1B1A;
    --ocean-top:#1E4A48;
    --ocean-bot:#0A1D1D;
    --shadow:0 1px 2px rgba(0,0,0,.3);
    --shadow-md:0 8px 24px rgba(0,0,0,.35);
    --shadow-lg:0 24px 48px rgba(0,0,0,.5);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--ground);
    color:var(--ink);
    font-family:'Figtree',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:1.0625rem;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;}
  [hidden]{display:none!important;}
  a{color:inherit;}
  ::selection{background:var(--gold);color:var(--teal-deep);}

  h1,h2,h3,h4{
    font-family:'Figtree',sans-serif;
    font-weight:700;
    line-height:1.14;
    margin:0;
    text-wrap:balance;
    color:var(--ink);
  }
  .serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;}
  .eyebrow{
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:var(--teal);
    display:flex;
    align-items:center;
    gap:.6em;
  }
  .eyebrow::before{
    content:"";
    width:1.4em;
    height:1px;
    background:var(--gold);
    display:inline-block;
  }
  p{margin:0;}
  .measure{max-width:62ch;}

  :focus-visible{outline:2.5px solid var(--focus);outline-offset:3px;border-radius:3px;}

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding-inline:clamp(20px,5vw,64px);
  }
  section{padding-block:clamp(64px,8vw,108px);}

  /* ---------- NAV ---------- */
  header.nav{
    position:sticky;top:0;z-index:50;
    background:color-mix(in srgb, var(--ground) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid transparent;
    transition:border-color .3s ease, box-shadow .3s ease;
  }
  header.nav.is-scrolled{
    border-bottom-color:var(--line);
    box-shadow:var(--shadow);
  }
  .nav-row{
    display:flex;align-items:center;justify-content:space-between;
    padding-block:14px;gap:20px;
  }
  .brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;}
  .brand-mark{width:34px;height:34px;flex:none;}
  .brand-text{display:flex;flex-direction:column;line-height:1.05;}
  .brand-text b{font-size:.92rem;font-weight:800;letter-spacing:.02em;}
  .brand-text span{font-size:.66rem;letter-spacing:.09em;color:var(--ink-soft);text-transform:uppercase;}
  .nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0;font-size:.94rem;font-weight:600;}
  .nav-links a{text-decoration:none;color:var(--ink-soft);transition:color .2s;}
  .nav-links a:hover{color:var(--teal);}
  .nav-cta{display:flex;align-items:center;gap:.7rem;}
  .nav-links-wrap{display:flex;align-items:center;gap:2.2rem;}

  /* ---------- NAV DROPDOWN ---------- */
  .nav-dropdown{position:relative;}
  .dropdown-toggle{display:inline-flex;align-items:center;gap:.35rem;}
  .dropdown-toggle .caret{transition:transform .18s ease;flex:none;}
  .dropdown-menu{
    position:absolute;top:100%;left:50%;margin:0;padding:.9rem .5rem .5rem;
    transform:translate(-50%,-6px);min-width:200px;
    background:var(--surface);border:1px solid var(--line);border-radius:12px;
    box-shadow:var(--shadow-md);list-style:none;
    opacity:0;pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
    z-index:60;
  }
  /* Hover/focus-within reveal is desktop-only by design: gating it inside
     min-width:921px means it can never win a specificity fight against the
     mobile .mobile-open reset below, regardless of :focus state from a tap. */
  @media (min-width:921px){
    .nav-dropdown:hover .caret,.nav-dropdown:focus-within .caret{transform:rotate(180deg);}
    .nav-dropdown:hover .dropdown-menu,
    .nav-dropdown:focus-within .dropdown-menu{
      opacity:1;pointer-events:auto;transform:translate(-50%,0);
    }
  }
  .dropdown-menu li{margin:0;}
  .dropdown-menu a{
    display:block;padding:.6rem .8rem;border-radius:8px;
    font-size:.88rem;font-weight:600;color:var(--ink);white-space:nowrap;
    transition:background .15s ease,color .15s ease;
  }
  .dropdown-menu a:hover,.dropdown-menu a:focus-visible{background:var(--surface-alt);color:var(--teal);}

  /* ---------- BUTTONS ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
    padding:.85rem 1.5rem;
    border-radius:999px;
    font-weight:700;font-size:.98rem;
    text-decoration:none;
    border:1.5px solid transparent;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, background .2s ease, border-color .2s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--shadow);}
  .btn-primary:hover{box-shadow:var(--shadow-md);}
  .btn-outline{background:transparent;border-color:var(--teal);color:var(--teal);}
  .btn-outline:hover{background:var(--teal);color:var(--ground);}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);padding:.7rem 1.2rem;font-size:.9rem;}
  .btn-sm{padding:.6rem 1.1rem;font-size:.88rem;}
  .btn svg{width:1.05em;height:1.05em;flex:none;}

  /* ---------- HERO ---------- */
  .hero{padding-top:clamp(48px,7vw,84px);position:relative;overflow:hidden;}
  .hero-bg-video{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    z-index:0;
  }
  .hero-scrim{
    position:absolute;inset:0;z-index:1;
    background:color-mix(in srgb, var(--ground) 90%, transparent);
  }
  .hero .wrap{position:relative;z-index:2;}
  .hero-grid{
    display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);
    align-items:center;
  }
  .hero h1{font-size:clamp(2.5rem,4vw + 1rem,3.55rem);}
  .hero h1 em{font-style:normal;font-family:'Instrument Serif',Georgia,serif;color:var(--teal);}
  .hero-sub{margin-top:1.25rem;font-size:1.15rem;color:var(--ink-soft);}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem;}
  .trust-strip{
    display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;
    margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--line);
  }
  .trust-item{display:flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:600;color:var(--ink-soft);}
  .trust-item svg{width:16px;height:16px;color:var(--teal);flex:none;}

  .frame{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:18px;
    padding:14px;
    box-shadow:var(--shadow-lg);
  }
  .frame svg,.frame video{display:block;width:100%;height:auto;border-radius:9px;}
  .frame video{aspect-ratio:4/3;object-fit:cover;background:var(--surface-alt);}

  .video-band{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:clamp(2.2rem,4vw,3rem);border:1px solid var(--line);}
  .video-band video{display:block;width:100%;height:clamp(200px,30vw,360px);object-fit:cover;background:var(--surface-alt);}
  .cta-video-band{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);margin-bottom:clamp(2rem,4vw,3rem);grid-column:1/-1;border:1px solid var(--line);}
  .cta-video-band video{display:block;width:100%;height:clamp(200px,26vw,320px);object-fit:cover;background:var(--surface-alt);}
  .frame-caption{
    display:flex;justify-content:space-between;align-items:baseline;
    padding:.9rem .3rem .2rem;
  }
  .frame-caption .serif{font-size:1.05rem;font-style:italic;color:var(--ink-soft);}
  .frame-caption span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#7A5A2E;font-weight:700;}
  :root[data-theme="dark"] .frame-caption span{color:var(--gold);}
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .frame-caption span{color:var(--gold);}}

  /* ---------- REVEAL ---------- */
  .reveal{opacity:1;transform:none;}
  @media (prefers-reduced-motion: no-preference){
    .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease;}
    .reveal.in-view{opacity:1;transform:none;}
  }

  /* ---------- EMPATHY ---------- */
  .empathy{background:var(--surface-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .empathy-inner{max-width:760px;margin:0 auto;text-align:left;}
  .empathy h2{font-size:clamp(1.9rem,2.6vw,2.5rem);margin-bottom:1.3rem;}
  .empathy p + p{margin-top:1rem;}
  .empathy p{color:var(--ink-soft);font-size:1.08rem;}
  .empathy strong{color:var(--ink);font-weight:700;}

  /* ---------- SECTION HEAD ---------- */
  .section-head{max-width:640px;margin-bottom:clamp(2.4rem,4vw,3.4rem);}
  .section-head h2{font-size:clamp(1.9rem,2.6vw,2.5rem);margin-top:.7rem;}
  .section-head p{margin-top:.9rem;color:var(--ink-soft);font-size:1.05rem;}
  .center{text-align:center;margin-inline:auto;}

  /* ---------- PROCESS ---------- */
  .process{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
  .step{
    background:var(--surface);border:1px solid var(--line);border-radius:16px;
    padding:1.8rem 1.5rem;position:relative;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
  .step-num{
    font-family:'Instrument Serif',serif;font-size:2.6rem;color:var(--gold);
    line-height:1;margin-bottom:.7rem;display:block;
  }
  .step h3{font-size:1.12rem;margin-bottom:.55rem;}
  .step p{color:var(--ink-soft);font-size:.94rem;}

  /* ---------- TRUST GRID ---------- */
  .trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
  .trust-card{
    background:var(--surface);border:1px solid var(--line);border-radius:16px;
    padding:2rem;display:flex;gap:1.2rem;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .trust-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
  .trust-card .icon{
    flex:none;width:46px;height:46px;border-radius:12px;
    background:var(--surface-alt);display:flex;align-items:center;justify-content:center;
  }
  .trust-card .icon svg{width:22px;height:22px;color:var(--teal);}
  .trust-card h3{font-size:1.08rem;margin-bottom:.5rem;}
  .trust-card p{color:var(--ink-soft);font-size:.95rem;}

  /* ---------- CARE TYPES ---------- */
  .care-band{background:var(--teal-deep);color:#F4F1E6;}
  :root[data-theme="dark"] .care-band, .care-band{background:var(--teal-deep);}
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .care-band{background:#0A1D1D;}}
  :root[data-theme="dark"] .care-band{background:#0A1D1D;}
  .care-band .eyebrow{color:var(--gold);}
  .care-band .eyebrow::before{background:var(--gold);}
  .care-band h2{color:#F8F5EA;}
  .care-band .section-head p{color:#C8D6D1;}
  .care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
  .care-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px;padding:1.7rem 1.5rem;
    transition:transform .25s ease, background .25s ease;
  }
  .care-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.09);}
  .care-card h3{color:#F8F5EA;font-size:1.05rem;margin-bottom:.6rem;}
  .care-card p{color:#B9CAC5;font-size:.9rem;}
  .care-card a{display:inline-block;margin-top:.9rem;color:#DEBF8A;font-size:.85rem;font-weight:700;text-decoration:none;}
  .care-card a:hover{text-decoration:underline;}
  .care-card .tag{
    display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:#DEBF8A;margin-bottom:.7rem;
  }

  /* ---------- PROMISE ---------- */
  .promise{
    display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center;
  }
  .promise-quote{
    font-family:'Instrument Serif',serif;font-style:italic;
    font-size:clamp(1.6rem,2.4vw,2.15rem);line-height:1.35;color:var(--ink);
  }
  .promise-quote span{color:var(--teal);}
  .badge-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem;}
  .badge{
    display:inline-flex;align-items:center;gap:.45rem;
    font-size:.8rem;font-weight:700;color:var(--teal);
    border:1px solid var(--line);background:var(--surface);
    border-radius:999px;padding:.4rem .85rem;
  }
  .badge svg{width:14px;height:14px;}
  .promise-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.3rem;}
  .promise-list li{display:flex;gap:1rem;}
  .promise-list .num{
    font-family:'Instrument Serif',serif;font-size:1.5rem;color:var(--gold);flex:none;width:2rem;
  }
  .promise-list h3{font-size:1.02rem;margin-bottom:.3rem;}
  .promise-list p{color:var(--ink-soft);font-size:.94rem;}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:.8rem;}
  details{
    background:var(--surface);border:1px solid var(--line);border-radius:14px;
    padding:1.1rem 1.4rem;
  }
  details[open]{box-shadow:var(--shadow);}
  summary{
    cursor:pointer;font-weight:700;font-size:1.02rem;list-style:none;
    display:flex;justify-content:space-between;align-items:center;gap:1rem;
  }
  summary::-webkit-details-marker{display:none;}
  summary .plus{
    flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);
    display:flex;align-items:center;justify-content:center;position:relative;transition:transform .25s ease, border-color .25s;
  }
  summary .plus::before,summary .plus::after{
    content:"";position:absolute;background:var(--teal);
  }
  summary .plus::before{width:10px;height:1.5px;}
  summary .plus::after{width:1.5px;height:10px;}
  details[open] summary .plus{transform:rotate(45deg);border-color:var(--teal);}
  details p{margin-top:.9rem;color:var(--ink-soft);font-size:.97rem;padding-right:2.2rem;}
  details p a{color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:2px;}

  /* ---------- FINAL CTA ---------- */
  .final-cta{background:var(--surface-alt);border-top:1px solid var(--line);position:relative;overflow:hidden;}
  .cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
  .cta-grid h2{font-size:clamp(2rem,3vw,2.75rem);}
  .cta-grid > div:first-child p{color:var(--ink-soft);margin-top:1rem;font-size:1.08rem;}
  .cta-note{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.8rem;font-size:.9rem;color:var(--ink-soft);}
  .cta-note svg{flex:none;width:18px;height:18px;color:var(--teal);margin-top:.1rem;}

  .form-card{
    background:var(--surface);border:1px solid var(--line);border-radius:18px;
    padding:clamp(1.6rem,3vw,2.2rem);box-shadow:var(--shadow-md);
  }
  .form-row{display:grid;gap:.35rem;margin-bottom:1.1rem;}
  .form-row label{font-size:.82rem;font-weight:700;color:var(--ink-soft);}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
  input,select{
    width:100%;padding:.75rem .9rem;border-radius:10px;border:1.5px solid var(--line);
    background:var(--ground);color:var(--ink);font:inherit;font-size:1rem;
    transition:border-color .2s;
  }
  input:focus,select:focus{border-color:var(--teal);outline:none;}
  .form-submit{width:100%;justify-content:center;margin-top:.4rem;padding-block:1rem;}
  .form-success{
    display:none;text-align:center;padding:2rem 1rem;
  }
  .form-success.show{display:block;}
  .form-success svg{width:44px;height:44px;color:var(--teal);margin-bottom:1rem;}
  .form-success h3{font-size:1.2rem;margin-bottom:.5rem;}
  .form-success p{color:var(--ink-soft);font-size:.95rem;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--teal-deep);color:#DCE7E3;}
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) footer{background:#0A1D1D;}}
  :root[data-theme="dark"] footer{background:#0A1D1D;}
  .footer-grid{
    display:grid;grid-template-columns:1.15fr .85fr .85fr .85fr .85fr;gap:1.7rem;
    padding-block:clamp(48px,6vw,72px) 2rem;
  }
  .footer-brand{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;}
  .footer-brand b{font-size:1rem;font-weight:800;color:#F8F5EA;}
  footer p{color:#9FB6AF;font-size:.92rem;line-height:1.6;}
  footer h3.footer-heading{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:#7FA69D;margin-bottom:1rem;font-weight:700;}
  .footer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem;}
  .footer-list a{color:#DCE7E3;text-decoration:none;font-size:.94rem;display:inline-flex;align-items:center;min-height:24px;padding-block:.3rem;}
  .footer-list a:hover{color:var(--gold);}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);padding-block:1.4rem;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;
    font-size:.8rem;color:#7FA69D;
  }
  .footer-bottom a{display:inline-flex;align-items:center;min-height:24px;}
  .chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem;}
  .chip{
    font-size:.78rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;
    padding:.3rem .8rem;color:#C8D6D1;text-decoration:none;transition:border-color .2s,color .2s;
  }
  a.chip:hover{border-color:var(--gold);color:var(--gold);}

  /* ---------- MOBILE NAV ---------- */
  .nav-right{display:flex;align-items:center;gap:2.2rem;}
  .mobile-call-btn{display:none;}
  .menu-toggle{display:none;}

  @media (max-width:920px){
    .nav-right{gap:.6rem;}
    .nav-links-wrap{
      display:none;
      position:absolute;top:100%;left:0;right:0;
      flex-direction:column;align-items:stretch;
      background:var(--surface);border-top:1px solid var(--line);
      box-shadow:var(--shadow-md);
      padding:.5rem clamp(20px,5vw,64px) 1.4rem;
      max-height:calc(100vh - 70px);overflow-y:auto;
    }
    header.nav.menu-open .nav-links-wrap{display:flex;}
    .nav-links{flex-direction:column;gap:0;width:100%;}
    .nav-links > li{border-bottom:1px solid var(--line);}
    .nav-links > li:last-child{border-bottom:none;}
    .nav-links > li > a{display:block;padding:.9rem .2rem;}
    .nav-cta{flex-direction:column;align-items:stretch;gap:.6rem;margin-top:1.1rem;width:100%;}
    .nav-cta .btn{width:100%;justify-content:center;padding-block:.85rem;}

    .mobile-call-btn{
      display:inline-flex;align-items:center;gap:.4rem;
      background:var(--btn-bg);color:var(--btn-fg);
      padding:.55rem .95rem;border-radius:999px;
      font-weight:700;font-size:.85rem;flex:none;text-decoration:none;
    }
    .mobile-call-btn svg{width:15px;height:15px;flex:none;}

    .menu-toggle{
      display:inline-flex;align-items:center;justify-content:center;
      width:38px;height:38px;flex:none;padding:0;
      background:transparent;border:1.5px solid var(--line);border-radius:10px;
      cursor:pointer;color:var(--ink);
    }
    .menu-toggle svg{width:18px;height:18px;}

    .nav-dropdown{position:static;}
    .dropdown-menu{
      position:static;opacity:1;pointer-events:auto;transform:none;
      display:none;box-shadow:none;border:none;border-radius:0;
      margin:0;padding:0 0 .4rem 1rem;background:transparent;min-width:0;
    }
    .nav-dropdown.mobile-open .dropdown-menu{display:block;}
    .dropdown-menu a{padding:.65rem .2rem;font-weight:500;color:var(--ink-soft);}
    .dropdown-toggle{width:100%;justify-content:space-between;}
    .nav-dropdown.mobile-open .caret{transform:rotate(180deg);}

    .hero-grid{grid-template-columns:1fr;}
    .process{grid-template-columns:repeat(2,1fr);}
    .trust-grid{grid-template-columns:1fr;}
    .care-grid{grid-template-columns:repeat(2,1fr);}
    .promise{grid-template-columns:1fr;}
    .cta-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .process{grid-template-columns:1fr;}
    .care-grid{grid-template-columns:1fr;}
    .two-col{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .trust-card{flex-direction:column;}
    .hero h1{font-size:2.15rem;}
    .hero-sub{font-size:1.03rem;}
    section{padding-block:clamp(44px,10vw,64px);}
    .hero{padding-top:clamp(28px,6vw,48px);}
  }

  /* ---------- ACCESSIBILITY UTILITIES ---------- */
  .visually-hidden{
    position:absolute!important;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:-48px;left:12px;z-index:100;
    background:var(--teal);color:#fff;font-weight:700;font-size:.9rem;
    padding:.7rem 1.2rem;border-radius:0 0 8px 8px;text-decoration:none;
    transition:top .2s ease;
  }
  .skip-link:focus{top:0;}

  /* ---------- CONSENT CHECKBOX ---------- */
  .consent-row{
    display:flex;gap:.7rem;align-items:flex-start;margin:.4rem 0 1.2rem;
  }
  .consent-row input[type="checkbox"]{
    width:24px;height:24px;flex:none;margin-top:0;accent-color:var(--teal);
    border-radius:6px;cursor:pointer;
  }
  .consent-row label{
    font-size:.82rem;line-height:1.55;color:var(--ink-soft);font-weight:400;cursor:pointer;
  }
  .consent-row a{color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:2px;}

  /* ---------- LEGAL PAGES ---------- */
  .legal-hero{padding-block:clamp(48px,7vw,80px) clamp(24px,4vw,40px);}
  .legal-hero .eyebrow{justify-content:flex-start;}
  .legal-hero h1{font-size:clamp(2rem,3.4vw,2.8rem);margin-top:.7rem;}
  .legal-updated{color:var(--ink-soft);font-size:.88rem;margin-top:.9rem;}
  .legal-body{padding-top:0;max-width:760px;}
  .legal-body h2{font-size:1.3rem;margin-top:2.4rem;margin-bottom:.8rem;}
  .legal-body h2:first-child{margin-top:0;}
  .legal-body p{color:var(--ink-soft);font-size:1rem;margin-top:.9rem;}
  .legal-body p:first-of-type{margin-top:0;}
  .legal-body ul,.legal-body ol{margin:.9rem 0 0;padding-left:1.4rem;color:var(--ink-soft);display:flex;flex-direction:column;gap:.5rem;}
  .legal-body strong{color:var(--ink);}
  .legal-body a{color:var(--teal);font-weight:600;}
  .legal-callout{
    background:var(--surface-alt);border:1px solid var(--line);border-radius:14px;
    padding:1.4rem 1.6rem;margin-top:2.4rem;font-size:.94rem;color:var(--ink-soft);
  }
  .legal-callout strong{color:var(--ink);}

  /* ---------- GUIDE PAGES ---------- */
  .guide-cta{
    background:var(--teal-deep);border-radius:14px;padding:1.5rem 1.7rem;margin-top:2.4rem;
    display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;justify-content:space-between;
  }
  .guide-cta p{color:#DCE7E3;font-size:1rem;font-weight:600;max-width:36ch;margin:0;}
  .guide-cta .btn-primary{flex:none;}

  .price-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.94rem;}
  .price-table th{
    text-align:left;background:var(--surface-alt);font-size:.72rem;text-transform:uppercase;
    letter-spacing:.06em;color:var(--ink-soft);padding:.7rem .9rem;border-bottom:1px solid var(--line);
  }
  .price-table td{padding:.75rem .9rem;border-bottom:1px solid var(--line);color:var(--ink-soft);}
  .price-table td:first-child{color:var(--ink);font-weight:600;}
  .price-table tr:last-child td{border-bottom:none;}
  .price-note{font-size:.82rem;color:var(--ink-soft);margin-top:.6rem;font-style:italic;}

  .compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.2rem;}
  .compare-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.5rem;box-shadow:var(--shadow);}
  .compare-card h3{font-size:1.05rem;margin-bottom:.5rem;}
  .compare-card .best-for{font-size:.78rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.7rem;display:block;}
  .compare-card p{color:var(--ink-soft);font-size:.92rem;}

  .glossary-item{border-bottom:1px solid var(--line);padding-block:1.3rem;}
  .glossary-item:first-of-type{padding-top:0;}
  .glossary-item dt{font-family:'Instrument Serif',serif;font-size:1.15rem;color:var(--ink);margin-bottom:.4rem;}
  .glossary-item dd{margin:0;color:var(--ink-soft);font-size:.95rem;}

  @media (max-width:640px){
    .compare-grid{grid-template-columns:1fr;}
    .price-table{font-size:.85rem;}
  }
