/* ---------- hero ---------- */
  .page-hero{padding:80px 0 70px;}
  .page-hero h1{font-size:clamp(2.6rem,6.8vw,5.2rem);max-width:17ch;margin:24px 0 26px;}
  .page-hero h1 em{font-style:normal;background-image:linear-gradient(to top, var(--spark) 34%, transparent 34%);padding:0 .06em;}
  .page-hero .lede{font-size:clamp(1.1rem,2vw,1.35rem);max-width:52ch;font-weight:500;margin-bottom:34px;}
  .page-hero .hero-note{margin-top:18px;font-size:14px;font-weight:600;opacity:.75;}

  /* ---------- shared band bits ---------- */
  .band{border-top:3px solid var(--ink);padding:78px 0;}
  .band.tint{background:#fff;}
  .band h2{font-size:clamp(1.9rem,4.2vw,3rem);margin:14px 0 18px;max-width:24ch;}
  .band .lead{font-size:1.08rem;max-width:60ch;font-weight:500;margin-bottom:40px;}

  /* ---------- what it is ---------- */
  .what-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .what-cell{border:3px solid var(--ink);background:#fff;box-shadow:7px 7px 0 var(--ink);padding:26px 26px 28px;}
  .what-cell .wnum{font-family:var(--font-display);font-size:1.5rem;color:transparent;-webkit-text-stroke:1.6px var(--clay);line-height:1;display:block;margin-bottom:12px;}
  .what-cell h3{font-size:1.15rem;margin-bottom:10px;}
  .what-cell p{font-size:15px;}
  @media(max-width:760px){.what-grid{grid-template-columns:1fr}}

  /* ---------- slider ---------- */
  .slider-wrap{border:3px solid var(--ink);background:var(--paper);box-shadow:7px 7px 0 var(--ink);padding:28px 30px 26px;margin-bottom:34px;}
  .band.tint .slider-wrap{background:var(--paper);}
  .slider-context h3{font-size:1.35rem;margin-bottom:8px;}
  .slider-context p{font-size:14.5px;max-width:64ch;margin-bottom:24px;}
  .slider-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
  .slider-label{font-weight:800;font-size:14px;}
  .slider-label span{font-weight:500;font-size:12.5px;opacity:.7;margin-left:6px;}
  .slider-value{font-family:var(--font-display);font-size:1.35rem;white-space:nowrap;}
  .slider-value em{font-style:normal;background-image:linear-gradient(to top, var(--spark) 34%, transparent 34%);padding:0 .06em;}
  input[type=range].contact-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border:2px solid var(--ink);background:#fff;outline:none;cursor:pointer;}
  input[type=range].contact-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;background:var(--spark);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;transition:transform .1s;}
  input[type=range].contact-slider::-webkit-slider-thumb:hover{transform:scale(1.1);}
  input[type=range].contact-slider::-moz-range-thumb{width:20px;height:20px;border-radius:0;background:var(--spark);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;}
  input[type=range].contact-slider:focus-visible{outline:3px solid var(--spark);outline-offset:2px;}
  .slider-ticks{display:flex;justify-content:space-between;margin-top:10px;}
  .slider-tick{font-size:12px;font-weight:700;opacity:.55;text-align:center;}
  .slider-tick.active{opacity:1;background:var(--ink);color:var(--spark);padding:1px 7px;}
  .slider-tick-talk{color:var(--clay);opacity:.9;}
  .slider-tick-talk.active{background:var(--clay);color:#fff;}

  /* ---------- plan cards ---------- */
  .plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;max-height:4000px;opacity:1;overflow:visible;transition:opacity .22s ease;}
  .plans-grid.talk-hidden{max-height:0;opacity:0;overflow:hidden;pointer-events:none;margin:0;}
  .plan{border:3px solid var(--ink);background:#fff;box-shadow:8px 8px 0 var(--ink);}
  .plan.pro{box-shadow:8px 8px 0 var(--forest);}
  .plan-head{padding:26px 28px 22px;border-bottom:3px solid var(--ink);}
  .plan.pro .plan-head{background:var(--ink);color:var(--paper);}
  .plan-kicker{font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.65;}
  .plan-head h3{font-size:1.8rem;margin:6px 0 8px;}
  .plan-desc{font-size:14px;max-width:40ch;}
  .plan-price{display:flex;align-items:baseline;gap:6px;margin:16px 0 2px;}
  .plan-price .amt{font-family:var(--font-display);font-size:2rem;line-height:1;}
  .plan.pro .plan-price .amt{color:var(--spark);}
  .plan-price .per{font-size:14px;font-weight:600;opacity:.7;}
  .plan-annual{font-size:13px;opacity:.8;}
  .plan-annual em{font-style:normal;font-weight:800;color:var(--moss);}
  .plan.pro .plan-annual em{color:var(--spark);}
  .plan-cap{margin-top:14px;padding-top:14px;border-top:2px dashed rgba(16,22,19,.25);font-size:13.5px;font-weight:600;}
  .plan.pro .plan-cap{border-top-color:rgba(246,243,236,.3);}
  .plan-cap b{font-family:var(--font-display);font-weight:400;}
  .plan-body{padding:24px 28px;}
  .plan-label{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:24px 0 14px;padding-top:22px;border-top:2px solid rgba(16,22,19,.12);}
  .plan-label:first-child{margin-top:0;padding-top:0;border-top:none;}
  .plan-label.extras{color:var(--clay);}
  .plan-list{list-style:none;}
  .plan-list li{padding-left:26px;position:relative;margin-bottom:14px;}
  .plan-list li::before{content:"→";position:absolute;left:0;font-weight:900;color:var(--clay);}
  .plan-list b{display:block;font-size:14.5px;font-weight:700;line-height:1.35;}
  .plan-list span{display:block;font-size:13px;opacity:.8;margin-top:2px;line-height:1.5;}
  .plan-list span a{font-weight:700;color:var(--moss);}
  .bonus{display:inline-block;font-style:normal;background:var(--spark);border:2px solid var(--ink);font-size:11px;font-weight:800;letter-spacing:.02em;padding:0 6px;margin-left:6px;white-space:nowrap;vertical-align:1px;}
  .plan-foot{padding:20px 28px 26px;border-top:3px solid var(--ink);}
  .plan-foot .btn{width:100%;text-align:center;cursor:pointer;font-size:1rem;}
  .plan-foot .see-full{display:block;text-align:center;margin-top:14px;font-size:13.5px;font-weight:700;}
  .plan-banner{display:none;background:var(--sky);border:3px solid var(--ink);padding:12px 16px;font-size:13.5px;font-weight:600;margin-bottom:18px;}
  .plan-banner.visible{display:block;}
  .plan.disabled{opacity:.45;pointer-events:none;}
  .plan.disabled .plan-banner{pointer-events:auto;}
  @media(max-width:880px){.plans-grid{grid-template-columns:1fr}}

  .plans-note{margin-top:26px;font-size:13px;opacity:.75;max-width:74ch;line-height:1.6;transition:opacity .22s ease;}
  .plans-note.talk-hidden{display:none;}
  .plans-note a{font-weight:700;}
  .plans-existing{margin-top:16px;font-size:15px;font-weight:500;}
  .plans-existing a{font-weight:800;color:var(--moss);}

  /* ---------- large list prompt ---------- */
  .large-list{display:none;}
  .large-list.visible{display:block;}
  .large-list-card{background:var(--ink);color:var(--paper);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--spark);padding:34px 36px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;}
  .large-list-card .tag{color:var(--spark);display:block;margin-bottom:10px;}
  .large-list-card h3{font-size:clamp(1.5rem,3.4vw,2.2rem);margin-bottom:10px;}
  .large-list-card p{font-size:15px;opacity:.85;max-width:56ch;}
  @media(max-width:760px){.large-list-card{grid-template-columns:1fr;padding:28px}}

  /* ---------- who it's for ---------- */
  .for-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;}
  .for-pill{border:3px solid var(--ink);background:#fff;box-shadow:4px 4px 0 var(--ink);padding:8px 16px;font-size:14px;font-weight:700;}
  .for-caption{font-size:15.5px;max-width:62ch;font-weight:500;}
  .for-caption b{background-image:linear-gradient(to top, var(--spark) 34%, transparent 34%);padding:0 .06em;}

  /* ---------- how joining works ---------- */
  .joining{background:var(--forest);color:var(--paper);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);padding:96px 0;}
  .joining .tag{color:var(--spark);}
  .joining h2{font-size:clamp(2rem,4.6vw,3.4rem);margin:14px 0 48px;}
  .join-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .join-step{border:3px solid var(--paper);padding:26px 22px 30px;}
  .join-step .n{font-family:var(--font-display);font-size:2.4rem;color:var(--spark);display:block;line-height:1;margin-bottom:14px;}
  .join-step h3{font-size:1.15rem;margin-bottom:10px;}
  .join-step p{font-size:14.5px;opacity:.92;}
  @media(max-width:880px){.join-steps{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.join-steps{grid-template-columns:1fr}}

  /* ---------- more support ---------- */
  .support-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;max-width:840px;margin-bottom:28px;list-style:none;}
  .support-grid li{padding-left:26px;position:relative;font-size:15px;font-weight:500;}
  .support-grid li::before{content:"→";position:absolute;left:0;font-weight:900;color:var(--clay);}
  .support-copy{font-size:15px;max-width:60ch;margin-bottom:26px;}
  @media(max-width:640px){.support-grid{grid-template-columns:1fr}}

  /* ---------- why van city ---------- */
  .why-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;}
  .why-grid h2{margin-top:14px;}
  .why-left p{font-size:15.5px;max-width:60ch;margin-bottom:16px;}
  .why-panel{background:var(--ink);color:var(--paper);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--spark);padding:30px 32px;}
  .why-stat{margin-bottom:22px;padding-bottom:22px;border-bottom:2px solid rgba(246,243,236,.18);}
  .why-stat:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
  .why-stat .lbl{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin-bottom:6px;}
  .why-stat .val{font-family:var(--font-display);font-size:1.25rem;line-height:1.3;}
  .why-stat .val em{font-style:normal;color:var(--spark);}
  @media(max-width:820px){.why-grid{grid-template-columns:1fr;gap:34px}}

  /* ---------- alliance modal additions ---------- */
  .radio-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;}
  .radio-option{display:flex;align-items:flex-start;gap:9px;border:3px solid var(--ink);background:#fff;padding:11px 12px;font-size:13.5px;font-weight:600;cursor:pointer;line-height:1.35;}
  .radio-option:has(input:checked){background:var(--spark);box-shadow:3px 3px 0 var(--ink);}
  .radio-option input{width:auto;margin-top:2px;accent-color:var(--ink);flex-shrink:0;}
  .account-detail[hidden]{display:none;}
  #alliance-modal .modal{max-height:calc(100vh - 40px);overflow-y:auto;}
  @media(max-width:560px){.radio-group{grid-template-columns:1fr}}
