@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700;9..144,900&family=Inter:wght@400;500;600;700;800&display=swap');

#root{
  color: var(--ss-text);
  font-family: var(--ss-ui);
  font-size: 16px;
  line-height: 1.55;
  
  min-width: 0;
  max-width: 100%;
}
#root h1,#root h2,#root h3,#root h4,#root h5,#root h6{
  
  color: inherit;
  font-family: var(--ss-display);
  margin: 0;
}
#root p,#root li,#root span,#root div,#root a,#root label{
  font-family: inherit;
}
#root button,#root input,#root select,#root textarea{
  font-family: var(--ss-ui);
}
:root{
  
  --ss-ink:        #041d3d;
  --ss-ink-2:      #062c5d;
  --ss-ink-3:      #123f74;
  --ss-paper:      #f3f7fa;
  --ss-card:       #ffffff;
  --ss-line:       #dfe8f0;
  --ss-line-soft:  #edf3f8;

  --ss-text:       #0a1f38;
  --ss-text-2:     #45607a;
  --ss-text-3:     #7a92a8;

  --ss-navy:       #062c5d;
  --ss-sky:        #119add;
  --ss-sky-deep:   #0b6fa8;
  --ss-brand-green:#6cc145;

  
  --ss-copay:      #2f7a14;   
  --ss-copay-accent:#6cc145;
  --ss-copay-bg:   #eef9e9;
  --ss-copay-line: #c9e9b8;
  --ss-pap:        #0b6fa8;   
  --ss-pap-accent: #119add;
  --ss-pap-bg:     #e8f4fc;
  --ss-pap-line:   #b9ddf3;

  
  --ss-uni:        #7a3ea8;
  --ss-uni-bg:     #f5edfb;
  --ss-uni-line:   #ddc4ee;

  --ss-warn:       #b45309;
  --ss-warn-bg:    #fff7ed;
  --ss-warn-line:  #fed7aa;

  --ss-radius:     16px;
  --ss-radius-sm:  10px;
  --ss-shadow:     0 1px 2px rgba(4,29,61,.05), 0 8px 24px -12px rgba(4,29,61,.18);
  --ss-shadow-lg:  0 24px 64px -24px rgba(4,29,61,.45);

  --ss-ui:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ss-display: 'Fraunces', Georgia, 'Times New Roman', serif;
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  font-family: var(--ss-ui);
  background: var(--ss-paper);
  color: var(--ss-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
#root button,#root input{ font: inherit; color: inherit; }
#root button{ cursor: pointer; border: none; background: none; }
#root a{ color: inherit; }
#root :focus-visible{
  outline: 3px solid var(--ss-sky);
  outline-offset: 2px;
  border-radius: 4px;
}
#root .sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
#root .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 24px; }
#root .num{
  font-family: var(--ss-display);
  font-variation-settings: 'opsz' 90, 'SOFT' 0, 'WONK' 0;
  font-weight: 700;
  letter-spacing: -.02em;
  font-feature-settings: 'tnum' 1;
}
#root .hero{
  position: relative;
  background: var(--ss-ink);
  color: #fff;
  overflow: hidden;
  padding: 56px 0 72px;
  isolation: isolate;
}
#root .hero::before{
  content:''; position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(ellipse 70% 60% at 72% 8%,  rgba(17,154,221,.32), transparent 60%),
    radial-gradient(ellipse 60% 55% at 18% 92%, rgba(108,193,69,.24),  transparent 62%),
    radial-gradient(ellipse 90% 70% at 50% 40%, rgba(17,154,221,.12),  transparent 70%);
}
#root .hero::after{
  content:''; position:absolute; inset:0; z-index:-1; opacity:.35;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 20%, transparent 78%);
}
#root .hero-logo{ width: 300px; max-width: 72vw; height:auto; display:block; margin: 0 0 30px; }
#root .hero-grid{
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr);
  gap: 56px;
  align-items: center;
}
#root .eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:#79cff3; margin-bottom:18px;
}
#root .eyebrow .dot{
  width:7px; height:7px; border-radius:50%; background:#6cc145;
  box-shadow: 0 0 0 4px rgba(108,193,69,.25);
}
#root .hero h1{
  font-family: var(--ss-display);
  font-variation-settings: 'opsz' 120, 'SOFT' 0, 'WONK' 1;
  font-weight: 600;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.02;
  letter-spacing: -.03em;
}
#root .hero h1 .big{
  display:block;
  font-weight:900;
  background: linear-gradient(96deg, #8ede63 0%, #6cc145 38%, #5cc8f5 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
#root .hero .lede{
  margin-top: 20px;
  font-size: 17px;
  line-height: 1.6;
  color: #b6cde0;
  max-width: 46ch;
}
#root .hero-stats{ display:flex; gap:34px; flex-wrap:wrap; margin-top:30px; }
#root .hero-stat .n{ font-family:var(--ss-display); font-weight:700; font-size:32px; line-height:1; color:#fff; }
#root .hero-stat .l{ font-size:12.5px; color:#8aa6bd; margin-top:7px; letter-spacing:.04em; text-transform:uppercase; }
#root .search{
  position: relative;
  display: flex; align-items: center;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  transition: border-color .18s, background .18s, box-shadow .18s;
}
#root .search:focus-within{
  border-color: rgba(125,211,252,.75);
  background: rgba(255,255,255,.12);
  box-shadow: 0 0 0 4px rgba(17,154,221,.2);
}
#root .search svg{ position:absolute; left:16px; width:20px; height:20px; color:#5cc8f5; pointer-events:none; }
#root .search input{
  width:100%; background:transparent; border:none; outline:none;
  padding: 18px 108px 18px 48px;
  font-size:16px; color:#fff;
}
#root .search input::placeholder{ color:#7f9bb3; }
#root .search .kbd{
  position:absolute; right:14px; display:flex; gap:4px;
}
#root .search .kbd span{
  font-size:11px; font-weight:600; color:#9ec4dd;
  border:1px solid rgba(255,255,255,.22); border-radius:6px;
  padding:3px 7px; background:rgba(255,255,255,.06);
}
#root .search .clear{
  position:absolute; right:14px; color:#9ec4dd; font-size:13px; font-weight:600;
  padding:6px 10px; border-radius:8px;
}
#root .search .clear:hover{ background:rgba(255,255,255,.12); color:#fff; }
#root .search.light{ background:#fff; border-color:var(--ss-line); backdrop-filter:none; }
#root .search.light input{ color:var(--ss-text); padding:12px 16px 12px 44px; font-size:15px; }
#root .search.light input::placeholder{ color:var(--ss-text-3); }
#root .search.light svg{ color:var(--ss-sky-deep); left:14px; width:18px; height:18px; }
#root .stickybar{
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  background: rgba(255,255,255,.88);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--ss-line);
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
  transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .2s;
}
#root .stickybar.show{ transform: translateY(0); opacity:1; pointer-events:auto; }
#root .stickybar .row{ display:flex; align-items:center; gap:16px; padding:11px 0; }
#root .stickybar .mark{ height:26px; width:auto; flex:none; }
#root .stickybar .search{ flex:1; max-width:520px; }
#root .stickybar .plan-chip{
  flex:none; display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; color:var(--ss-text-2);
  border:1px solid var(--ss-line); border-radius:999px; padding:7px 14px; background:#fff;
}
#root .stickybar .plan-chip:hover{ border-color:var(--ss-sky); color:var(--ss-sky-deep); }
#root .stickybar .plan-chip .swatch{ width:8px; height:8px; border-radius:50%; }
#root .section{ padding: 56px 0; }
#root .section-head{ margin-bottom: 26px; }
#root .section-head h2{
  font-family: var(--ss-display);
  font-variation-settings: 'opsz' 60;
  font-weight: 600; font-size: 28px; letter-spacing: -.02em; line-height:1.2;
}
#root .section-head p{ color: var(--ss-text-2); margin-top: 8px; font-size: 15.5px; max-width: 62ch; }
#root .picker-band{
  background: #fff;
  border-top: 1px solid var(--ss-line);
  border-bottom: 1px solid var(--ss-line);
}
#root .plans{ display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
#root .plan{
  position:relative; text-align:left;
  background: var(--ss-card);
  border: 1.5px solid var(--ss-line);
  border-radius: var(--ss-radius);
  padding: 20px 20px 18px;
  transition: border-color .16s, box-shadow .16s, transform .16s;
  display:flex; flex-direction:column; gap:7px;
}
#root .plan:hover{ border-color: #c3d4e4; box-shadow: var(--ss-shadow); transform: translateY(-2px); }
#root .plan .ttl{ font-weight:700; font-size:16px; letter-spacing:-.01em; display:flex; align-items:center; gap:9px; }
#root .plan .ttl .swatch{ width:10px; height:10px; border-radius:50%; flex:none; }
#root .plan .sub{ font-size:13.5px; color:var(--ss-text-2); line-height:1.5; }
#root .plan .out{
  margin-top:6px; font-size:12.5px; font-weight:650; letter-spacing:.02em;
  display:inline-flex; align-items:center; gap:6px;
}
#root .plan[aria-pressed="true"]{
  border-color: var(--ss-sky); box-shadow: 0 0 0 4px rgba(17,154,221,.16);
}
#root .plan[aria-pressed="true"]::after{
  content:'✓'; position:absolute; top:14px; right:16px;
  width:22px; height:22px; border-radius:50%; background:var(--ss-sky); color:#fff;
  font-size:13px; display:grid; place-items:center; font-weight:700;
}
#root .notice{
  display:flex; gap:14px; align-items:flex-start;
  border-radius: var(--ss-radius); padding: 16px 18px; margin-top: 22px;
  border:1px solid; font-size:14.5px; line-height:1.55;
}
#root .notice .ico{ flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:700; color:#fff; }
#root .notice.copay{ background:var(--ss-copay-bg); border-color:var(--ss-copay-line); color:#0a5c34; }
#root .notice.copay .ico{ background:var(--ss-copay); }
#root .notice.pap{ background:var(--ss-pap-bg);   border-color:var(--ss-pap-line);   color:#1c3f9e; }
#root .notice.pap .ico{ background:var(--ss-pap); }
#root .notice .reset{ margin-left:auto; flex:none; font-weight:650; text-decoration:underline; font-size:13.5px; }
#root .toolbar{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:22px; }
#root .count{ font-size:14px; color:var(--ss-text-2); }
#root .count b{ font-family:var(--ss-display); font-weight:700; font-size:20px; color:var(--ss-text); }
#root .chips{ display:flex; gap:8px; overflow-x:auto; padding:4px 0 10px; scrollbar-width:none; }
#root .chips::-webkit-scrollbar{ display:none; }
#root .chip{
  flex:none; font-size:13.5px; font-weight:550; color:var(--ss-text-2);
  border:1px solid var(--ss-line); background:#fff; border-radius:999px;
  padding:8px 15px; white-space:nowrap;
  transition: color .14s, border-color .14s, background .14s;
  display:inline-flex; align-items:center; gap:8px;
}
#root .chip:hover{ border-color:#c3d4e4; color:var(--ss-text); }
#root .chip .swatch{ width:7px; height:7px; border-radius:50%; }
#root .chip[aria-pressed="true"]{ background:var(--ss-ink); border-color:var(--ss-ink); color:#fff; }
#root .chip[aria-pressed="true"] .swatch{ box-shadow:0 0 0 2px rgba(255,255,255,.35); }
#root .chips-wrap{ position:relative; }
#root .chips-wrap::after{
  content:''; position:absolute; right:0; top:0; bottom:10px; width:48px;
  background:linear-gradient(90deg, transparent, var(--ss-paper)); pointer-events:none;
}
#root .grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(336px, 1fr));
  gap: 18px;
  align-items: stretch;
}
#root .card{
  position:relative; display:flex; flex-direction:column;
  background: var(--ss-card);
  border: 1px solid var(--ss-line);
  border-radius: var(--ss-radius);
  overflow: hidden;
  transition: border-color .16s, box-shadow .16s, transform .16s;
}
#root .card:hover{ border-color:#cddcea; box-shadow: var(--ss-shadow); transform: translateY(-2px); }
#root .card .rail{ height: 4px; width:100%; flex:none; }
#root .card-head{ padding: 18px 20px 0; display:flex; align-items:flex-start; gap:12px; }
#root .card-head .names{ min-width:0; flex:1; }
#root .card h3{
  font-family: var(--ss-display);
  font-variation-settings:'opsz' 40;
  font-weight:700; font-size:21px; letter-spacing:-.02em; line-height:1.2;
  overflow-wrap:break-word;
}
#root .card .generic{ font-size:13.5px; color:var(--ss-text-3); font-style:italic; margin-top:3px; overflow-wrap:break-word; }
#root .card .cond{ font-size:13.5px; color:var(--ss-text-2); margin-top:9px; line-height:1.45; }
#root .card .maker{ font-size:12px; color:var(--ss-text-3); margin-top:6px; }
#root .cat-tag{
  flex:none; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 9px; border-radius:6px; white-space:nowrap;
}
#root .star{
  flex:none; width:32px; height:32px; border-radius:9px; display:grid; place-items:center;
  color:var(--ss-text-3); border:1px solid var(--ss-line); background:#fff; transition:.14s;
}
#root .star:hover{ color:var(--ss-warn); border-color:var(--ss-warn-line); background:var(--ss-warn-bg); }
#root .star[aria-pressed="true"]{ color:#fff; background:var(--ss-warn); border-color:var(--ss-warn); }
#root .card-body{ padding: 16px 20px 0; display:flex; flex-direction:column; gap:12px; flex:1; }
#root .prog{ border:1px solid; border-radius: var(--ss-radius-sm); padding: 14px 15px; }
#root .prog.copay{ background:var(--ss-copay-bg); border-color:var(--ss-copay-line); }
#root .prog.pap{ background:var(--ss-pap-bg);   border-color:var(--ss-pap-line);   }
#root .prog.muted{ background:#f8fafc; border-color:var(--ss-line); opacity:.9; }
#root .prog.blocked{ background:var(--ss-warn-bg); border-color:var(--ss-warn-line); }
#root .prog .tag{
  display:flex; align-items:center; gap:7px; flex-wrap:wrap;
  font-size:10.5px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  margin-bottom:9px;
}
#root .prog.copay .tag{ color:#0a6b3b; }
#root .prog.pap   .tag{ color:#1d4ed8; }
#root .prog.muted .tag,#root .prog.blocked .tag{ color:var(--ss-warn); }
#root .prog .tag .pill{
  font-size:9.5px; padding:3px 7px; border-radius:5px; letter-spacing:.05em;
  background:rgba(255,255,255,.75); border:1px solid currentColor; opacity:.85;
}
#root .price{ display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
#root .price .amt{
  font-family:var(--ss-display); font-variation-settings:'opsz' 90;
  font-weight:900; font-size:40px; line-height:1; letter-spacing:-.035em;
}
#root .price .per{ font-size:14px; font-weight:600; color:var(--ss-text-2); }
#root .prog.copay .price .amt{ color:var(--ss-copay); }
#root .prog.pap   .price .amt{ color:var(--ss-pap); }
#root .prog .headline{ font-size:16px; font-weight:700; line-height:1.35; }
#root .prog.copay .headline{ color:#0a5c34; }
#root .prog.pap   .headline{ color:#1c3f9e; }
#root .prog .detail{ font-size:13px; color:var(--ss-text-2); line-height:1.5; margin-top:7px; }
#root .prog .elig{ font-size:12.5px; color:var(--ss-text-2); line-height:1.5; margin-top:8px; }
#root .prog .tel{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:650; margin-top:9px; text-decoration:none; }
#root .prog.pap .tel{ color:var(--ss-pap); }
#root .prog .tel:hover{ text-decoration:underline; }
#root .btn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:13px 18px; border-radius:11px;
  font-size:14.5px; font-weight:700; text-decoration:none;
  transition: transform .14s, box-shadow .14s, filter .14s;
  margin-top:12px;
}
#root .btn:hover{ transform: translateY(-1px); filter: brightness(1.06); }
#root .btn:active{ transform: translateY(0); }
#root .btn.copay{ background:var(--ss-copay); color:#fff; box-shadow:0 6px 16px -8px rgba(47,122,20,.75); }
#root .btn.pap{ background:var(--ss-pap);   color:#fff; box-shadow:0 6px 16px -8px rgba(11,111,168,.75); }
#root .btn.ghost{ background:#fff; color:var(--ss-text); border:1px solid var(--ss-line); box-shadow:none; }
#root .btn.ghost:hover{ border-color:#c3d4e4; }
#root .generic-note{
  margin: 12px 20px 0; padding:12px 14px; border-radius:var(--ss-radius-sm);
  background:#fffbeb; border:1px solid #fde68a; font-size:12.5px; color:#78350f; line-height:1.5;
}
#root .generic-note b{ color:#5c2c05; }
#root .card-foot{ padding: 14px 20px 18px; margin-top:auto; }
#root .none-note{ font-size:12.5px; color:var(--ss-text-2); line-height:1.5; }
#root .explain{ border:1px solid var(--ss-line); border-radius:var(--ss-radius); background:#fff; overflow:hidden; }
#root .explain + .explain{ margin-top:10px; }
#root .explain summary{
  list-style:none; cursor:pointer; padding:15px 18px;
  display:flex; align-items:center; gap:11px; font-size:14.5px; font-weight:650;
}
#root .explain summary::-webkit-details-marker{ display:none; }
#root .explain summary .swatch{ width:9px; height:9px; border-radius:50%; flex:none; }
#root .explain summary .chev{ margin-left:auto; color:var(--ss-text-3); transition:transform .2s; font-size:13px; }
#root .explain[open] summary .chev{ transform: rotate(180deg); }
#root .explain summary:hover{ background:var(--ss-line-soft); }
#root .explain .inner{ padding: 2px 18px 18px 38px; }
#root .explain ul{ margin:0; padding-left:18px; }
#root .explain li{ font-size:14px; color:var(--ss-text-2); line-height:1.65; margin-bottom:5px; }
#root .explain li b{ color:var(--ss-text); }
#root .more{ display:flex; flex-direction:column; align-items:center; gap:10px; padding: 36px 0 8px; }
#root .more button{
  padding:14px 32px; border-radius:12px; background:var(--ss-ink); color:#fff;
  font-weight:700; font-size:15px; transition:.16s;
}
#root .more button:hover{ background:var(--ss-ink-2); transform:translateY(-1px); }
#root .more .of{ font-size:13px; color:var(--ss-text-3); }
#root .empty{ text-align:center; padding:72px 24px; }
#root .empty .big{ font-family:var(--ss-display); font-weight:600; font-size:24px; letter-spacing:-.02em; }
#root .empty p{ color:var(--ss-text-2); margin-top:9px; font-size:15px; }
#root .empty .sugg{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
#root .listbar{
  position: fixed; left:0; right:0; bottom:0; z-index:70;
  background: var(--ss-ink); color:#fff;
  border-top: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 -12px 40px -16px rgba(8,24,43,.6);
  transform: translateY(110%);
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}
#root .listbar.show{ transform: translateY(0); }
#root .listbar .row{ display:flex; align-items:center; gap:16px; padding:14px 0; flex-wrap:wrap; }
#root .listbar .n{ font-family:var(--ss-display); font-weight:700; font-size:26px; line-height:1; }
#root .listbar .lbl{ font-size:13.5px; color:#a8c2d8; }
#root .listbar .acts{ margin-left:auto; display:flex; gap:10px; flex-wrap:wrap; }
#root .listbar .act{
  padding:11px 20px; border-radius:10px; font-size:14px; font-weight:700;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:#fff;
  transition:.14s; display:inline-flex; align-items:center; gap:8px;
}
#root .listbar .act:hover{ background:rgba(255,255,255,.18); }
#root .listbar .act.primary{ background:#fff; color:var(--ss-ink); border-color:#fff; }
#root .listbar .act.primary:hover{ filter:brightness(.94); }
#root .donate{
  background: var(--ss-ink); color:#fff; position:relative; overflow:hidden; isolation:isolate;
}
#root .donate::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(ellipse 60% 80% at 85% 50%, rgba(108,193,69,.30), transparent 62%),
    radial-gradient(ellipse 60% 80% at 10% 50%, rgba(17,154,221,.24), transparent 62%);
}
#root .donate .row{ display:flex; align-items:center; gap:40px; padding:56px 0; flex-wrap:wrap; }
#root .donate .copy{ flex:1; min-width:280px; }
#root .donate h2{
  font-family:var(--ss-display); font-variation-settings:'opsz' 72;
  font-weight:600; font-size:clamp(26px,3.4vw,38px); letter-spacing:-.025em; line-height:1.12;
}
#root .donate p{ color:#b6cde0; margin-top:12px; font-size:15.5px; line-height:1.6; max-width:56ch; }
#root .donate p b{ color:#fff; }
#root .donate .cta{
  flex:none; display:inline-flex; align-items:center; gap:10px;
  padding:17px 34px; border-radius:13px; font-size:16.5px; font-weight:800; text-decoration:none;
  background: linear-gradient(135deg,#6cc145,#3f8f22); color:#fff;
  box-shadow: 0 14px 32px -14px rgba(108,193,69,.9);
  transition: transform .16s, box-shadow .16s;
}
#root .donate .cta:hover{ transform:translateY(-2px); box-shadow:0 20px 40px -14px rgba(108,193,69,1); }
#root .foot{ background:#fff; border-top:1px solid var(--ss-line); padding:44px 0 56px; }
#root .foot .inner{ display:flex; gap:32px; flex-wrap:wrap; align-items:flex-start; }
#root .foot .mark{ height:34px; width:auto; }
#root .foot .disc{ flex:1; min-width:280px; font-size:12.5px; color:var(--ss-text-3); line-height:1.7; max-width:76ch; }
#root .foot a.support{ font-weight:650; color:var(--ss-sky-deep); text-decoration:none; border-bottom:2px solid var(--ss-sky); }
#root .gate{
  position:fixed; inset:0; z-index:200; display:grid;
  grid-template-columns: 1.05fr .95fr;
  background: var(--ss-ink);
}
#root .gate .left{
  position:relative; overflow:hidden; padding:56px 56px; color:#fff;
  display:flex; flex-direction:column; justify-content:center; isolation:isolate;
}
#root .gate .left::before{
  content:''; position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(ellipse 70% 60% at 25% 12%, rgba(17,154,221,.34), transparent 62%),
    radial-gradient(ellipse 60% 55% at 80% 88%, rgba(108,193,69,.26), transparent 62%);
}
#root .gate .left::after{
  content:''; position:absolute; inset:0; z-index:-1; opacity:.3;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image: radial-gradient(ellipse 80% 80% at 40% 40%, #000 15%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 40% 40%, #000 15%, transparent 80%);
}
#root .gate .left img.logo{ width:270px; max-width:70%; height:auto; margin-bottom:36px; }
#root .gate .left h2{
  font-family:var(--ss-display); font-variation-settings:'opsz' 120,'WONK' 1;
  font-weight:600; font-size:clamp(30px,3.4vw,46px); line-height:1.05; letter-spacing:-.03em;
}
#root .gate .left h2 .big{
  display:block; font-weight:900;
  background:linear-gradient(96deg,#8ede63,#6cc145 42%,#5cc8f5);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
#root .gate .left .pts{ margin-top:32px; display:flex; flex-direction:column; gap:14px; }
#root .gate .left .pt{ display:flex; gap:13px; align-items:flex-start; font-size:15px; color:#c5dbec; line-height:1.5; }
#root .gate .left .pt .tick{
  flex:none; width:22px; height:22px; border-radius:50%; background:rgba(108,193,69,.25);
  color:#8ede63; display:grid; place-items:center; font-size:12px; font-weight:800; margin-top:1px;
}
#root .gate .left .pt b{ color:#fff; font-weight:650; }
#root .gate .right{
  background:#fff; display:flex; flex-direction:column; justify-content:center;
  padding:56px 56px; overflow-y:auto;
}
#root .gate .right .inner{ width:100%; max-width:400px; margin:0 auto; }
#root .gate .right h3{ font-family:var(--ss-display); font-variation-settings:'opsz' 60; font-weight:600; font-size:26px; letter-spacing:-.02em; }
#root .gate .right .sub{ color:var(--ss-text-2); font-size:14.5px; margin-top:9px; line-height:1.55; }
#root .gate label{ display:block; font-size:13px; font-weight:650; margin:26px 0 8px; }
#root .gate input[type=email]{
  width:100%; padding:15px 16px; font-size:16px;
  border:1.5px solid var(--ss-line); border-radius:12px; background:#fff; outline:none;
  transition:border-color .16s, box-shadow .16s;
}
#root .gate input[type=email]:focus{ border-color:var(--ss-sky); box-shadow:0 0 0 4px rgba(17,154,221,.18); }
#root .gate .err{ color:#b91c1c; font-size:13px; margin-top:9px; font-weight:600; }
#root .gate .submit{
  width:100%; margin-top:16px; padding:16px; border-radius:12px;
  background:linear-gradient(135deg,#119add,#0b6fa8); color:#fff;
  font-size:16px; font-weight:750; transition:transform .14s, filter .14s;
}
#root .gate .submit:hover:not(:disabled){ transform:translateY(-1px); filter:brightness(1.07); }
#root .gate .submit:disabled{ opacity:.6; cursor:progress; }
#root .gate .fine{ font-size:12.5px; color:var(--ss-text-3); margin-top:16px; line-height:1.6; text-align:center; }
#root .gate .skip{ display:block; margin:18px auto 0; font-size:13px; color:var(--ss-text-3); text-decoration:underline; }
#root .gate .done{ text-align:center; }
#root .gate .done .ring{
  width:74px; height:74px; border-radius:50%; margin:0 auto 20px;
  background:linear-gradient(135deg,#6cc145,#3f8f22); color:#fff;
  display:grid; place-items:center; font-size:34px;
  animation: pop .5s cubic-bezier(.22,1.4,.36,1);
}
@keyframes pop{ from { transform:scale(.4); opacity:0; } to { transform:scale(1); opacity:1; } }
#root .rise{ animation: rise .5s cubic-bezier(.22,1,.36,1) backwards; }
@keyframes rise{ from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@media (max-width: 1024px){#root .hero-grid{ grid-template-columns: 1fr; gap:36px; align-items:start; }
#root .hero .lede{ max-width:60ch; }
#root .plans{ grid-template-columns: 1fr; }
#root .gate{ grid-template-columns: 1fr; }
#root .gate .left{ display:none; }
#root .gate .right{ padding:40px 28px; }}
@media (max-width: 720px){#root .wrap{ padding: 0 18px; }
#root .hero{ padding: 40px 0 52px; }
#root .hero-logo{ width:230px; margin-bottom:24px; }
#root .hero-stats{ gap:24px; }
#root .hero-stat .n{ font-size:26px; }
#root .search input{ padding:16px 16px 16px 46px; font-size:16px; }
#root .search .kbd{ display:none; }
#root .section{ padding:40px 0; }
#root .grid{ grid-template-columns: 1fr; gap:14px; }
#root .donate .row{ padding:44px 0; gap:26px; }
#root .donate .cta{ width:100%; justify-content:center; }
#root .listbar .row{ padding:12px 0; gap:12px; }
#root .listbar .acts{ width:100%; }
#root .listbar .act{ flex:1; justify-content:center; }
#root .stickybar .plan-chip span.txt{ display:none; }
body.has-list{ padding-bottom: 132px; }}
body.has-list{ padding-bottom: 84px; }
@media (prefers-reduced-motion: reduce){*,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }}
#root .printsheet{ display:none; }
@media print{body{ background:#fff; padding:0 !important; }
#root .hero,#root .stickybar,#root .picker-band,#root .toolbar,#root .chips-wrap,#root .grid,#root .more,#root .donate,#root .foot,#root .listbar,#root .gate,#root .explain,#root .notice,#root .empty{ display:none !important; }
#root .printsheet{ display:block; padding:0; }
#root .printsheet h1{ font-family:var(--ss-display); font-size:26px; margin-bottom:4px; }
#root .printsheet .meta{ font-size:12px; color:#555; margin-bottom:18px; }
#root .printsheet .item{ border:1px solid #ccc; border-radius:8px; padding:12px 14px; margin-bottom:10px; page-break-inside:avoid; }
#root .printsheet .item h2{ font-size:16px; margin-bottom:2px; }
#root .printsheet .item .gen{ font-size:12px; color:#666; font-style:italic; }
#root .printsheet .item .line{ font-size:12.5px; margin-top:7px; line-height:1.5; }
#root .printsheet .item .line b{ display:block; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:#444; }
#root .printsheet .disc{ font-size:10.5px; color:#666; margin-top:20px; line-height:1.6; border-top:1px solid #ccc; padding-top:12px; }}
#root .preview{
  margin-top: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  padding: 20px 22px 22px;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 28px 64px -28px rgba(0,0,0,.7);
}
#root .preview .kicker{
  font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:#5cc8f5; margin-bottom:12px;
}
#root .preview .name{ font-family:var(--ss-display); font-variation-settings:'opsz' 40; font-weight:700; font-size:23px; color:#fff; letter-spacing:-.02em; }
#root .preview .gen{ font-size:13px; color:#8aa6bd; font-style:italic; margin-top:2px; }
#root .preview .split{ height:1px; background:rgba(255,255,255,.13); margin:16px 0; }
#root .preview .prow{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
#root .preview .plabel{ font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
#root .preview .plabel.c{ color:#8ede63; }
#root .preview .plabel.p{ color:#93b8ff; }
#root .preview .pval{ font-family:var(--ss-display); font-weight:900; font-size:30px; line-height:1; letter-spacing:-.03em; }
#root .preview .pval.c{ color:#8ede63; }
#root .preview .pval.p{ color:#93b8ff; font-size:19px; }
#root .preview .pnote{ font-size:12.5px; color:#8aa6bd; margin-top:6px; }
@media (max-width: 1024px){#root .preview{ display:none; }}
#root .prog.uni{ background:var(--ss-uni-bg); border-color:var(--ss-uni-line); }
#root .prog.uni .tag{ color:var(--ss-uni); }
#root .prog.uni .price .amt{ color:var(--ss-uni); }
#root .prog.uni .headline{ color:#5d2a84; }
#root .prog.uni .medicare{
  font-size:12.5px; color:#5d2a84; line-height:1.5; margin-top:9px;
  padding-top:9px; border-top:1px dashed var(--ss-uni-line);
}
#root .btn.uni{ background:var(--ss-uni); color:#fff; box-shadow:0 6px 16px -8px rgba(122,62,168,.75); }
#root .plan .out.uni{ color:var(--ss-uni); }
#root .prog.gone{ background:#f7f8fa; border-color:#dfe4ea; border-style:dashed; }
#root .prog.gone .tag{ color:#66788c; }
#root .prog.gone .headline{ color:#3d4f61; }
#root .prog.gone .detail.alt{ margin-top:9px; padding-top:9px; border-top:1px dashed #dfe4ea; color:var(--ss-text); }
#root .list-search{ margin-top:34px; }
#root .list-search-label{
  display:block; font-size:12px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ss-text-3); margin-bottom:9px;
}
#root .list-search .search{ max-width:none; }
#root .list-search .search input{
  background:var(--ss-card); border-color:var(--ss-line);
  font-size:16px; padding:15px 17px 15px 46px;
}
#root .list-search .search input:focus{
  border-color:var(--ss-sky);
  box-shadow:0 0 0 4px rgba(17,154,221,.14);
}
@media (max-width:640px){#root .list-search{ margin-top:26px; }}