/* Turnover Playbook — shared stylesheet.
   Base tokens and components are the original site CSS, unchanged.
   Funnel components are appended at the bottom. Loaded by every page. */

  :root{
    --bg:#F7F6F2; --surface:#FFFFFF; --surface-alt:#F1EFE9;
    --border:#D8D4CA; --border-strong:#B9B4A8;
    --text:#221F1A; --muted:#5F5B53; --faint:#8C877D;
    --ink:#002252; --ink-hover:#001A3F; --accent:#C7102A; --accent-lift:#E8384A; --rule:#E3DFD5;
    --maxw:70rem;
    --text-xs:0.8125rem; --text-sm:0.9375rem; --text-base:1.0625rem;
    --text-lg:1.25rem; --text-xl:1.625rem; --text-2xl:2.125rem; --text-hero:clamp(2.35rem,6.2vw,4rem);
    --sp-1:0.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2rem; --sp-6:3rem; --sp-8:4.5rem; --sp-10:6.5rem;
    --font-display:'Cabinet Grotesk','Satoshi',ui-sans-serif,system-ui,sans-serif;
    --font-body:'Satoshi',ui-sans-serif,system-ui,-apple-system,sans-serif;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{
    margin:0; background:var(--bg); color:var(--text);
    font-family:var(--font-body); font-size:var(--text-base); line-height:1.6;
    -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums lining-nums;
  }
  h1,h2,h3{font-family:var(--font-display); font-weight:700; line-height:1.12; letter-spacing:-0.015em; margin:0}
  p{margin:0}
  a{color:var(--ink); text-underline-offset:3px}
  a:hover{color:var(--ink-hover)}
  .wrap{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 var(--sp-3)}
  @media (min-width:48rem){ .wrap{padding:0 var(--sp-4)} }
  section{padding:var(--sp-8) 0; border-top:1px solid var(--rule)}
  section:first-of-type{border-top:0}
  .eyebrow{font-size:var(--text-xs); letter-spacing:0.14em; text-transform:uppercase; color:var(--faint); font-weight:500}
  .lede{font-size:var(--text-lg); color:var(--muted); line-height:1.5}
  .stack>*+*{margin-top:var(--sp-2)}
  .measure{max-width:38rem}

  /* header */
  header{position:sticky; top:0; z-index:20; background:rgba(247,246,242,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--rule)}
  .bar{display:flex; align-items:center; justify-content:space-between; gap:var(--sp-2); min-height:4rem}
  .logo{display:flex; align-items:center; gap:.65rem; color:var(--ink); text-decoration:none}
  .logo span{font-family:var(--font-display); font-weight:700; font-size:var(--text-sm); letter-spacing:-0.01em; line-height:1.15}
  .logo small{display:block; font-family:var(--font-body); font-weight:400; font-size:var(--text-xs); color:var(--faint); letter-spacing:0}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    background:var(--ink); color:#fff; text-decoration:none; font-weight:700;
    font-size:var(--text-sm); padding:.75rem 1.15rem; border-radius:4px; border:1px solid var(--ink);
    transition:background .16s ease, transform .16s ease;
  }
  .btn:hover{background:var(--ink-hover); color:#fff}
  .btn:active{transform:translateY(1px)}
  .btn:focus-visible,a:focus-visible{outline:2px solid var(--accent); outline-offset:3px}
  .btn-lg{font-size:var(--text-base); padding:1rem 1.6rem}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--border-strong)}
  .btn-ghost:hover{background:var(--surface-alt); color:var(--ink)}
  .bar .btn{display:none}
  @media (min-width:40rem){ .bar .btn{display:inline-flex} }

  /* hero */
  .hero{padding-top:var(--sp-6); padding-bottom:var(--sp-8)}
  .hero h1{font-size:var(--text-hero); max-width:30ch; margin-top:var(--sp-2)}
  .hero .lede{margin-top:var(--sp-3); max-width:46ch}
  .cta-row{display:flex; flex-wrap:wrap; gap:var(--sp-2); align-items:center; margin-top:var(--sp-4)}
  .price-inline{font-size:var(--text-sm); color:var(--muted)}
  .facts{list-style:none; margin:var(--sp-6) 0 0; padding:0; display:grid; gap:var(--sp-2)}
  @media (min-width:48rem){ .facts{grid-template-columns:repeat(3,1fr); gap:var(--sp-3)} }
  .facts li{border-top:2px solid var(--ink); padding-top:.7rem; font-size:var(--text-sm); color:var(--muted)}
  .facts strong{display:block; font-family:var(--font-display); font-size:var(--text-lg); color:var(--text); font-weight:700}

  /* generic grid */
  .grid{display:grid; gap:var(--sp-3); margin-top:var(--sp-4)}
  @media (min-width:48rem){ .grid-2{grid-template-columns:1fr 1fr} }
  .card{background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:var(--sp-3)}
  .card h3{font-size:var(--text-lg); margin-bottom:.4rem}
  .card p{font-size:var(--text-sm); color:var(--muted)}
  .filelabel{font-family:var(--font-body); font-size:var(--text-xs); color:var(--faint); letter-spacing:.02em; margin-bottom:.35rem}

  /* hero item (calculator) */
  .feature{background:var(--ink); color:#F2F1ED; border-radius:6px; padding:var(--sp-4); margin-top:var(--sp-4)}
  .feature h3{color:#fff; font-size:var(--text-xl)}
  .feature p{color:#C8CFD6; font-size:var(--text-sm)}
  .feature .eyebrow{color:#E6EAEE}
  .feature ul{margin:var(--sp-3) 0 0; padding:0; list-style:none; display:grid; gap:.6rem}
  @media (min-width:48rem){ .feature ul{grid-template-columns:1fr 1fr; gap:.7rem var(--sp-3)} }
  .feature li{font-size:var(--text-sm); color:#D8DEE4; padding-left:1.1rem; position:relative}
  .feature li::before{content:""; position:absolute; left:0; top:.6em; width:.45rem; height:.45rem; background:var(--accent-lift); border-radius:1px}
  .tabs{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:var(--sp-3)}
  .tab{font-size:var(--text-xs); border:1px solid rgba(255,255,255,.28); color:#E6EAEE; padding:.3rem .6rem; border-radius:3px}

  /* list checks */
  .checks{list-style:none; margin:var(--sp-3) 0 0; padding:0; display:grid; gap:.7rem}
  .checks li{position:relative; padding-left:1.4rem; font-size:var(--text-base); color:var(--muted)}
  .checks li::before{content:""; position:absolute; left:0; top:.55em; width:.5rem; height:.5rem; border:2px solid var(--accent); border-top:0; border-right:0; transform:rotate(-45deg)}
  .checks strong{color:var(--text)}

  /* credibility */
  .credit{background:var(--surface-alt); border-left:3px solid var(--ink); padding:var(--sp-3); border-radius:0 6px 6px 0}
  .credit p+p{margin-top:var(--sp-2)}
  .sig{font-size:var(--text-sm); color:var(--faint); margin-top:var(--sp-2)}

  /* honest expectations */
  .plainlist{list-style:none; margin:var(--sp-3) 0 0; padding:0; display:grid; gap:var(--sp-2)}
  .plainlist li{border-left:2px solid var(--border-strong); padding-left:var(--sp-2); font-size:var(--text-sm); color:var(--muted)}
  .plainlist strong{color:var(--text)}

  /* faq */
  details{border-bottom:1px solid var(--rule); padding:var(--sp-2) 0}
  details summary{cursor:pointer; font-family:var(--font-display); font-weight:500; font-size:var(--text-base); list-style:none; display:flex; justify-content:space-between; gap:var(--sp-2); align-items:baseline}
  details summary::-webkit-details-marker{display:none}
  details summary::after{content:"+"; color:var(--faint); font-family:var(--font-body); font-weight:400}
  details[open] summary::after{content:"–"}
  details p{margin-top:.7rem; font-size:var(--text-sm); color:var(--muted); max-width:58ch}

  /* price block */
  .pricebox{background:var(--surface); border:1px solid var(--border-strong); border-radius:6px; padding:var(--sp-4); max-width:32rem}
  .amount{font-family:var(--font-display); font-size:var(--text-2xl); font-weight:800; letter-spacing:-0.02em}
  .amount small{font-family:var(--font-body); font-size:var(--text-sm); font-weight:400; color:var(--muted); letter-spacing:0}
  .pricebox ul{list-style:none; margin:var(--sp-2) 0 var(--sp-3); padding:0; display:grid; gap:.45rem}
  .pricebox li{font-size:var(--text-sm); color:var(--muted); padding-left:1rem; position:relative}
  .pricebox li::before{content:""; position:absolute; left:0; top:.65em; width:.35rem; height:.35rem; background:var(--border-strong); border-radius:50%}
  .fineprint{font-size:var(--text-xs); color:var(--faint); margin-top:var(--sp-2); max-width:34rem}

  footer{border-top:1px solid var(--rule); padding:var(--sp-4) 0 var(--sp-6); color:var(--faint); font-size:var(--text-xs)}
  footer p+p{margin-top:.6rem}
  @media (prefers-reduced-motion:reduce){*{transition:none!important; animation:none!important}}

  /* steps */
  .steps{list-style:none; margin:var(--sp-4) 0 0; padding:0; display:grid; gap:var(--sp-3); counter-reset:s}
  @media (min-width:48rem){ .steps{grid-template-columns:repeat(3,1fr)} }
  .steps li{counter-increment:s; background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:var(--sp-3)}
  .steps li::before{content:counter(s); display:flex; align-items:center; justify-content:center; width:1.9rem; height:1.9rem; border-radius:50%; background:var(--ink); color:#fff; font-family:var(--font-display); font-weight:700; font-size:var(--text-sm); margin-bottom:.7rem}
  .steps h3{font-size:var(--text-base); margin-bottom:.3rem}
  .steps p{font-size:var(--text-sm); color:var(--muted)}

  /* reassurance strip */
  .reassure{background:var(--surface-alt); border:1px solid var(--border); border-radius:6px; padding:var(--sp-3); margin-top:var(--sp-4)}
  .reassure h3{font-size:var(--text-base); margin-bottom:.35rem}
  .reassure p{font-size:var(--text-sm); color:var(--muted); max-width:62ch}

  /* plans */
  .plans{display:grid; gap:var(--sp-3); margin-top:var(--sp-4); align-items:start}
  @media (min-width:52rem){ .plans{grid-template-columns:1fr 1fr; gap:var(--sp-4)} }
  .plan{background:var(--surface); border:1px solid var(--border-strong); border-radius:6px; padding:var(--sp-4); display:flex; flex-direction:column; height:100%}
  .plan-elite{background:var(--ink); border-color:var(--ink); color:#F2F1ED}
  .plan-head{display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin-bottom:.9rem}
  .plan h3{font-size:var(--text-lg)}
  .plan-elite h3{color:#fff}
  .badge{font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; font-weight:700; padding:.25rem .55rem; border-radius:3px; background:var(--accent); color:#fff; white-space:nowrap}
  .plan .amount{display:block; margin-bottom:.2rem}
  .plan-elite .amount{color:#fff}
  .plan-elite .amount small{color:#C8CFD6}
  .plan-sub{font-size:var(--text-sm); color:var(--muted); margin-bottom:var(--sp-2)}
  .plan-elite .plan-sub{color:#C8CFD6}
  .plan ul{list-style:none; margin:0 0 var(--sp-3); padding:0; display:grid; gap:.55rem}
  .plan li{font-size:var(--text-sm); color:var(--muted); padding-left:1.1rem; position:relative; line-height:1.5}
  .plan li::before{content:""; position:absolute; left:0; top:.55em; width:.4rem; height:.4rem; background:var(--border-strong); border-radius:50%}
  .plan-elite li{color:#D8DEE4}
  .plan-elite li::before{background:var(--accent-lift)}
  .plan .btn{width:100%; margin-top:auto}
  .plan-elite .btn{background:var(--accent); border-color:var(--accent); color:#fff}
  .plan-elite .btn:hover{background:#A60D22; border-color:#A60D22; color:#fff}
  .plan-note{font-size:var(--text-xs); color:var(--faint); margin-top:.7rem; line-height:1.5}
  .plan-elite .plan-note{color:#9FAEBA}

  /* ============================================================
     FUNNEL ADDITIONS — opt-in, popup, helper, testimonials,
     resources, article prose. Appended to the original base CSS.
     ============================================================ */

  /* skip link (a11y, added with the new nav) */
  .skip{position:absolute; left:-9999px; top:0}
  .skip:focus{left:var(--sp-2); top:var(--sp-1); z-index:60; background:var(--surface); color:var(--ink); padding:.5rem .8rem; border:1px solid var(--ink); border-radius:4px}

  /* header nav */
  .nav{display:none; align-items:center; gap:var(--sp-3); margin-left:auto; margin-right:var(--sp-3)}
  @media (min-width:52rem){ .nav{display:flex} }
  .nav a{font-size:var(--text-sm); color:var(--muted); text-decoration:none; font-weight:500}
  .nav a:hover{color:var(--ink); text-decoration:underline}

  /* ---------- email opt-in ---------- */
  .optin{background:var(--surface-alt); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule)}
  .optin-inner{display:grid; gap:var(--sp-3); align-items:start}
  @media (min-width:56rem){ .optin-inner{grid-template-columns:1.05fr .95fr; gap:var(--sp-6)} }
  .optin h2{font-size:var(--text-xl); margin-top:var(--sp-1); max-width:26ch}
  .optin .lede{font-size:var(--text-base); margin-top:var(--sp-2); max-width:48ch}
  .optin-list{list-style:none; margin:var(--sp-2) 0 0; padding:0; display:grid; gap:.4rem}
  .optin-list li{position:relative; padding-left:1.4rem; font-size:var(--text-sm); color:var(--muted)}
  .optin-list li::before{content:""; position:absolute; left:0; top:.5em; width:.5rem; height:.5rem; border:2px solid var(--accent); border-top:0; border-right:0; transform:rotate(-45deg)}

  .form-card{background:var(--surface); border:1px solid var(--border-strong); border-radius:6px; padding:var(--sp-3)}
  .form-card h3{font-size:var(--text-base); margin-bottom:.15rem}
  .form-card .hint{font-size:var(--text-sm); color:var(--muted)}
  .field-row{display:grid; gap:.6rem; margin-top:var(--sp-2)}
  @media (min-width:24rem){ .field-row{grid-template-columns:1fr auto} }
  .field-row input{
    font-family:var(--font-body); font-size:var(--text-base); color:var(--text);
    background:var(--bg); border:1px solid var(--border-strong); border-radius:4px;
    padding:.8rem .85rem; width:100%; min-width:0; -webkit-appearance:none;
  }
  .field-row input::placeholder{color:var(--faint)}
  .field-row input:focus-visible{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--ink)}
  .field-row input[aria-invalid="true"]{border-color:var(--accent)}
  .field-row .btn{white-space:nowrap}
  .form-note{font-size:var(--text-xs); color:var(--faint); margin-top:.7rem; line-height:1.5}
  .form-msg{font-size:var(--text-sm); margin-top:.6rem; min-height:1.2em}
  .form-msg[data-state="error"]{color:var(--accent)}
  .form-msg[data-state="working"]{color:var(--muted)}
  .form-msg[data-state="ok"]{color:#1F6B3A}
  .visually-hidden{position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}

  /* ---------- scroll popup ---------- */
  .pop{
    position:fixed; inset:0; z-index:50; display:none;
    align-items:flex-end; justify-content:center;
    background:rgba(24,22,18,.55); padding:var(--sp-2);
  }
  @media (min-width:40rem){ .pop{align-items:center} }
  .pop.is-open{display:flex}
  .pop-card{
    position:relative; background:var(--surface); border:1px solid var(--border-strong);
    border-radius:8px; padding:var(--sp-3); width:100%; max-width:30rem;
    box-shadow:0 18px 44px rgba(24,22,18,.22);
    max-height:92vh; overflow-y:auto;
    animation:pop-in .18s ease-out;
  }
  @media (min-width:40rem){ .pop-card{padding:var(--sp-4)} }
  @keyframes pop-in{from{opacity:0; transform:translateY(10px)}to{opacity:1; transform:none}}
  @media (prefers-reduced-motion:reduce){ .pop-card{animation:none} }
  .pop-card h2{font-size:var(--text-lg); max-width:24ch; padding-right:2rem}
  .pop-card p{font-size:var(--text-sm); color:var(--muted); margin-top:.5rem}
  .pop-close{
    position:absolute; top:.35rem; right:.35rem; width:2.4rem; height:2.4rem;
    display:flex; align-items:center; justify-content:center;
    background:transparent; border:0; border-radius:4px; cursor:pointer;
    color:var(--faint); font-size:1.4rem; line-height:1; font-family:var(--font-body);
  }
  .pop-close:hover{color:var(--text); background:var(--surface-alt)}
  .pop-close:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
  .pop-dismiss{
    display:block; margin:.7rem auto 0; background:none; border:0; padding:.35rem;
    color:var(--faint); font-family:var(--font-body); font-size:var(--text-xs);
    text-decoration:underline; cursor:pointer;
  }
  .pop-dismiss:hover{color:var(--muted)}

  /* ---------- "which one is for you" helper ---------- */
  .helper{background:var(--surface-alt); border:1px solid var(--border); border-radius:6px; padding:var(--sp-3); margin-top:var(--sp-4)}
  .helper h3{font-size:var(--text-base)}
  .helper > p{font-size:var(--text-sm); color:var(--muted); margin-top:.3rem; max-width:60ch}
  .qlist{list-style:none; margin:var(--sp-3) 0 0; padding:0; display:grid; gap:var(--sp-2)}
  @media (min-width:52rem){ .qlist{grid-template-columns:repeat(3,1fr); gap:var(--sp-3)} }
  .qlist li{background:var(--surface); border:1px solid var(--border); border-radius:5px; padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + .1rem)}
  .qlist .q{font-family:var(--font-display); font-weight:700; font-size:var(--text-sm); line-height:1.3}
  .qlist .a{font-size:var(--text-sm); color:var(--muted); margin-top:.5rem}
  .qlist .a b{color:var(--text); font-weight:700}

  /* ---------- testimonials ---------- */
  .quotes{display:grid; gap:var(--sp-3); margin-top:var(--sp-4)}
  @media (min-width:52rem){ .quotes{grid-template-columns:repeat(3,1fr)} }
  .quote{background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--border-strong); border-radius:0 6px 6px 0; padding:var(--sp-3); display:flex; flex-direction:column}
  .quote.is-placeholder{background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 10px,var(--surface-alt) 10px,var(--surface-alt) 20px)}
  .quote-tag{font-size:var(--text-xs); letter-spacing:.1em; text-transform:uppercase; color:var(--faint); font-weight:700; margin-bottom:.6rem}
  .quote p{font-size:var(--text-sm); color:var(--muted); line-height:1.55}
  .quote .who{font-size:var(--text-xs); color:var(--faint); margin-top:auto; padding-top:var(--sp-2)}

  /* ---------- resources / articles ---------- */
  .reslist{display:grid; gap:var(--sp-3); margin-top:var(--sp-4); align-items:start}
  @media (min-width:52rem){ .reslist{grid-template-columns:1fr 1fr} }
  .res{background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:var(--sp-3); display:flex; flex-direction:column}
  .res h3{font-size:var(--text-lg); margin-bottom:.4rem; line-height:1.2}
  .res h3 a{text-decoration:none; color:var(--ink)}
  .res h3 a:hover{text-decoration:underline}
  .res p{font-size:var(--text-sm); color:var(--muted)}
  .res .kw{font-size:var(--text-xs); color:var(--faint); margin-top:auto; padding-top:var(--sp-2); font-family:var(--font-body)}
  .res-soon{border-style:dashed}
  .soon{display:inline-block; font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--muted); background:var(--surface-alt); border:1px solid var(--border); padding:.15rem .45rem; border-radius:3px; margin-left:.4rem; vertical-align:middle}
  .res-outline{list-style:none; margin:var(--sp-2) 0 0; padding:0; display:grid; gap:.3rem}
  .res-outline li{font-size:var(--text-sm); color:var(--muted); padding-left:.9rem; position:relative}
  .res-outline li::before{content:""; position:absolute; left:0; top:.6em; width:.3rem; height:.3rem; background:var(--border-strong); border-radius:50%}

  /* article body */
  .prose{max-width:40rem}
  .prose > * + *{margin-top:var(--sp-2)}
  .prose h2{font-size:var(--text-xl); margin-top:var(--sp-6); line-height:1.16}
  .prose h3{font-size:var(--text-lg); margin-top:var(--sp-4)}
  .prose p{color:var(--muted)}
  .prose strong{color:var(--text)}
  .prose ul,.prose ol{margin-top:var(--sp-2); padding-left:1.3rem; display:grid; gap:.5rem}
  .prose li{color:var(--muted)}
  .prose li::marker{color:var(--faint)}
  .prose table{width:100%; border-collapse:collapse; margin-top:var(--sp-3); font-size:var(--text-sm)}
  .prose th,.prose td{text-align:left; padding:.55rem .6rem; border-bottom:1px solid var(--rule)}
  .prose th{font-family:var(--font-display); font-weight:700; font-size:var(--text-xs); letter-spacing:.06em; text-transform:uppercase; color:var(--faint); border-bottom:1px solid var(--border-strong)}
  .prose td{color:var(--muted)}
  .prose td:last-child,.prose th:last-child{text-align:right}
  .prose tr.total td{font-weight:700; color:var(--text); border-bottom:0; border-top:2px solid var(--ink)}
  .prose blockquote{margin:var(--sp-3) 0 0; padding:var(--sp-2) var(--sp-3); background:var(--surface-alt); border-left:3px solid var(--ink); border-radius:0 5px 5px 0}
  .prose blockquote p{color:var(--text); font-size:var(--text-sm)}
  .prose .callout{background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:var(--sp-3); margin-top:var(--sp-3)}
  .prose .callout p{font-size:var(--text-sm)}
  .byline{font-size:var(--text-sm); color:var(--faint); margin-top:var(--sp-2)}
  .toc{background:var(--surface-alt); border:1px solid var(--border); border-radius:6px; padding:var(--sp-3); margin-top:var(--sp-4)}
  .toc p{font-family:var(--font-display); font-weight:700; font-size:var(--text-sm); color:var(--text)}
  .toc ol{margin:.6rem 0 0; padding-left:1.2rem; display:grid; gap:.3rem}
  .toc li{font-size:var(--text-sm); color:var(--muted)}
  .toc a{color:var(--ink)}

  /* end-of-article CTA */
  .endcta{background:var(--ink); color:#F2F1ED; border-radius:6px; padding:var(--sp-4); margin-top:var(--sp-6)}
  .endcta h2{color:#fff; font-size:var(--text-xl); margin-top:0; max-width:28ch}
  .endcta p{color:#C8CFD6; font-size:var(--text-sm); margin-top:var(--sp-2); max-width:56ch}
  .endcta .field-row{margin-top:var(--sp-3); max-width:30rem}
  .endcta .field-row input{background:#fff; border-color:#fff}
  .endcta .btn{background:var(--accent); border-color:var(--accent)}
  .endcta .btn:hover{background:#A60D22; border-color:#A60D22}
  .endcta .form-note{color:#9FAEBA}
  .endcta .form-msg[data-state="ok"]{color:#8FD6A6}
  .endcta .form-msg[data-state="error"]{color:#FF9AA6}
  .endcta .form-msg[data-state="working"]{color:#C8CFD6}
  .endcta a{color:#fff}

  /* upsell block (delivery pages) */
  .upsell{background:var(--ink); color:#F2F1ED; border-radius:6px; padding:var(--sp-4)}
  .upsell .eyebrow{color:#E6EAEE}
  .upsell h2{color:#fff; font-size:var(--text-xl); margin-top:.35rem}
  .upsell p{color:#C8CFD6; font-size:var(--text-sm); margin-top:var(--sp-2)}
  .upsell ul{list-style:none; margin:var(--sp-3) 0 0; padding:0; display:grid; gap:.55rem}
  .upsell li{font-size:var(--text-sm); color:#D8DEE4; padding-left:1.1rem; position:relative}
  .upsell li::before{content:""; position:absolute; left:0; top:.55em; width:.4rem; height:.4rem; background:var(--accent-lift); border-radius:50%}
  .upsell .credit-line{background:rgba(255,255,255,.08); border-left:3px solid var(--accent-lift); border-radius:0 5px 5px 0; padding:var(--sp-2); margin-top:var(--sp-3)}
  .upsell .credit-line p{color:#fff; margin-top:0}
  .upsell .btn{background:var(--accent); border-color:var(--accent); margin-top:var(--sp-3)}
  .upsell .btn:hover{background:#A60D22; border-color:#A60D22}
  .upsell .plan-note{color:#9FAEBA; margin-top:.8rem}
