/* TVPC Center — matches topvelocity.org style. No blue. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/inter-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/oswald-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/oswald-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/oswald-latin-700-normal.woff2) format("woff2")}

:root{
  --bg:#0a0a0a; --bg-2:#121212; --surface:#181818; --surface-2:#202020;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --text:#f2f2f2; --text-2:#d4d4d4; --muted:#a3a3a3;
  --red:#C41E3A; --red-2:#E63946; --red-glow:rgba(196,30,58,.35);
  --off:#F5F1E8; --gold:#fbbf24;
  --r:12px; --r-lg:18px;
  --f-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --f-cond:"Oswald","Arial Narrow",Impact,sans-serif;
  --wrap:1200px; --pad:clamp(16px,4vw,32px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text-2);font:400 17px/1.65 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
a{color:#fff;text-decoration-color:var(--red);text-underline-offset:3px}
a:hover{color:var(--red-2)}
h1,h2,h3,h4{color:#fff;font-family:var(--f-body);line-height:1.1;margin:0 0 .5em;letter-spacing:-.02em}
h1{font-size:clamp(36px,6vw,62px);font-weight:800}
h2{font-size:clamp(28px,4.2vw,44px);font-weight:800}
h3{font-size:19px;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}
.red{color:var(--red-2)}
.muted{color:var(--muted)}
.small{font-size:14px}
.center{text-align:center}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:820px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:999;background:#fff;color:#000;padding:8px 12px;border-radius:6px}
.ico{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}

.eyebrow{font:600 13px/1 var(--f-cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.eyebrow--red{color:var(--red-2)}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--text-2);max-width:640px}

/* Buttons — mirror .org CTA: Oswald 800 uppercase, 12px radius */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 16px/1 var(--f-cond);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:17px 32px;border-radius:var(--r);border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn--red{background:linear-gradient(180deg,var(--red-2),var(--red));color:#fff;box-shadow:0 10px 30px -10px var(--red-glow)}
.btn--red:hover{color:#fff;background:var(--red-2)}
.btn--ghost{border-color:var(--line-2);color:#fff;background:transparent}
.btn--ghost:hover{border-color:var(--red);color:#fff}
.btn--white{background:#fff;color:#0a0a0a}.btn--white:hover{color:var(--red)}
.btn--dark{background:#0a0a0a;color:#fff;border-color:rgba(255,255,255,.25)}.btn--dark:hover{color:#fff;border-color:#fff}
.btn--sm{padding:12px 20px;font-size:14px}
.btn--block{width:100%}

/* Top bar + header */
.topbar{background:#000;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.topbar__in{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.topbar a{color:#fff;text-decoration:none}.topbar a:hover{color:var(--red-2)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.88);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line)}
.site-header__in{display:flex;align-items:center;gap:28px;height:74px}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1}
.brand__logo{max-height:44px;width:auto}
.brand__word{font:700 24px/1 var(--f-cond);letter-spacing:.04em;color:#fff}
.brand__word span{color:var(--red-2)}
.brand__sub{font:500 10.5px/1 var(--f-cond);letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav{margin-left:auto}
.nav__list{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav__list a{color:var(--text-2);text-decoration:none;font-weight:500;font-size:15px}
.nav__list a:hover,.nav__list .current-menu-item>a{color:#fff}
.nav__list .current-menu-item>a{box-shadow:inset 0 -2px 0 var(--red)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);color:#fff;border-radius:10px;padding:8px;cursor:pointer}
.mobile-nav{border-top:1px solid var(--line);padding:16px var(--pad) 24px;display:grid;gap:12px;background:#0a0a0a}
.mobile-nav[hidden]{display:none}
.mobile-nav__list{list-style:none;margin:0 0 8px;padding:0}
.mobile-nav__list a{display:block;padding:14px 0;border-bottom:1px solid var(--line);color:#fff;text-decoration:none;font:600 18px/1 var(--f-cond);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:980px){.nav,.header-cta{display:none}.nav-toggle{display:inline-flex}.topbar__link{display:none}}

/* Hero */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(900px 500px at 85% -10%,rgba(196,30,58,.28),transparent 60%),
  radial-gradient(700px 400px at -10% 110%,rgba(196,30,58,.12),transparent 60%),
  linear-gradient(180deg,#0d0d0d,#0a0a0a);border-bottom:1px solid var(--line)}
.hero.has-bg{background:linear-gradient(90deg,rgba(10,10,10,.96) 0%,rgba(10,10,10,.82) 45%,rgba(10,10,10,.45) 100%),var(--bg) center/cover no-repeat}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.hero__in{position:relative;padding-top:clamp(56px,9vw,110px);padding-bottom:clamp(56px,8vw,96px)}
.hero--page .hero__in{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(40px,6vw,80px)}
.hero--slim .hero__in{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(32px,5vw,56px)}
.hero__in--split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:980px){.hero__in--split{grid-template-columns:1fr}}
.hero h1{max-width:900px}
.hero__alt{margin-top:22px;color:var(--muted);font-size:15px}

/* Doors */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;max-width:920px}
@media (max-width:720px){.doors{grid-template-columns:1fr}}
.door{display:flex;flex-direction:column;gap:8px;padding:26px;border-radius:var(--r-lg);background:rgba(255,255,255,.03);border:1px solid var(--line-2);text-decoration:none;color:var(--text-2);transition:border-color .2s,transform .2s,background .2s}
.door:hover{border-color:var(--red);transform:translateY(-3px);background:rgba(255,255,255,.05);color:var(--text-2)}
.door--red{background:linear-gradient(160deg,rgba(196,30,58,.22),rgba(196,30,58,.05));border-color:rgba(230,57,70,.5)}
.door__ico{color:var(--red-2)}.door__ico .ico{width:30px;height:30px}
.door__kicker{font:600 12px/1 var(--f-cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.door__title{font-weight:800;font-size:22px;line-height:1.2;color:#fff}
.door__go{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:8px;font:600 14px/1.2 var(--f-cond);letter-spacing:.08em;text-transform:uppercase;color:#fff}

/* Proof bar */
.proofbar{background:#000;border-bottom:1px solid var(--line)}
.proofbar__in{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding-top:26px;padding-bottom:26px;text-align:center}
.proofbar strong{display:block;font:700 clamp(28px,3.4vw,40px)/1 var(--f-cond);color:#fff}
.proofbar span{font:500 12px/1.3 var(--f-cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media (max-width:720px){.proofbar__in{grid-template-columns:repeat(2,1fr)}.proofbar__in>div:last-child{grid-column:1/-1}}

/* Sections */
.section{padding:clamp(56px,8vw,104px) 0}
.section--tight{padding:clamp(36px,5vw,64px) 0}
.section--dark{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section__head{max-width:760px;margin-bottom:clamp(28px,4vw,48px)}

/* Cards */
.cards{display:grid;gap:18px}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.cards--3,.cards--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.cards--2,.cards--3,.cards--4{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;transition:border-color .2s}
.card:hover{border-color:var(--line-2)}
.card p{margin:0;color:var(--muted);font-size:15.5px}
.card__ico{display:inline-flex;width:46px;height:46px;border-radius:12px;align-items:center;justify-content:center;background:rgba(196,30,58,.14);color:var(--red-2);margin-bottom:16px}
.card--line{border-left:3px solid var(--red)}
.card--post img{border-radius:10px;margin-bottom:14px}
.card--post h3 a{text-decoration:none}

/* Split */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.split__media{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/5;background:var(--surface)}
.split__media img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.split__media--empty{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,rgba(196,30,58,.35),transparent 60%),var(--surface)}
.split__mono{font:700 clamp(90px,14vw,170px)/1 var(--f-cond);color:#fff;letter-spacing:-.02em}

.ticks{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:flex-start;color:var(--text-2)}
.ticks .ico{color:var(--red-2);margin-top:3px}
.ticks--inline{display:flex;flex-wrap:wrap;gap:10px 22px}

/* Compare */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:860px){.compare{grid-template-columns:1fr}}
.compare__col{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px)}
.compare__col h3{display:flex;gap:10px;align-items:center;font-size:22px}
.compare__col h3 .ico{color:var(--red-2)}
.compare__col--red{border-color:rgba(230,57,70,.5);background:linear-gradient(160deg,rgba(196,30,58,.16),var(--surface) 60%)}

/* Locations */
.loc-chips{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:10px}
.loc-chips li{border:1px solid var(--line-2);border-radius:999px;padding:9px 16px;font-size:15px;color:#fff;background:rgba(255,255,255,.02)}
.loc-chips li.is-hq{border-color:var(--red);background:rgba(196,30,58,.14)}
.loc-chips em{font-style:normal;font:600 11px/1 var(--f-cond);letter-spacing:.12em;color:var(--red-2);margin-left:4px}
.locs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:760px){.locs{grid-template-columns:1fr}}
.loc{display:flex;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.loc--hq{border-color:var(--red)}
.loc__state{flex:none;width:54px;height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(196,30,58,.14);color:#fff;font:700 20px/1 var(--f-cond)}
.loc h3{margin-bottom:4px}
.loc h3 em{font-style:normal;font:600 11px/1 var(--f-cond);letter-spacing:.12em;text-transform:uppercase;color:var(--red-2);margin-left:6px}
.loc__partner{color:#fff;font-weight:500;margin:0 0 4px;font-size:15px}
.loc p{margin:0 0 8px;font-size:15px}
.loc__map{font:600 13px/1 var(--f-cond);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}

/* Steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.steps--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.steps,.steps--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.steps,.steps--4{grid-template-columns:1fr}}
.steps li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px}
.steps li p{margin:0;color:var(--muted);font-size:15.5px}
.steps__n{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--red);color:#fff;font:700 20px/1 var(--f-cond);margin-bottom:14px}

/* Table */
.table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line)}
.mtable{width:100%;border-collapse:collapse;min-width:680px;background:var(--surface)}
.mtable th,.mtable td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:15px;vertical-align:top}
.mtable thead th{font:600 13px/1.2 var(--f-cond);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:#141414}
.mtable tbody th{color:#fff;font-weight:600;width:16%}
.mtable td{color:var(--muted)}
.mtable .is-us{background:rgba(196,30,58,.12);color:#fff;font-weight:600}
.mtable thead .is-us{color:#fff}
.mtable tr:last-child>*{border-bottom:0}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;color:#fff;font-weight:600;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 28px/1 var(--f-body);color:var(--red-2)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);margin:0 0 18px}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--red),#8f1529);color:#fff}
.cta-band__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:clamp(40px,6vw,64px);padding-bottom:clamp(40px,6vw,64px);flex-wrap:wrap}
.cta-band h2{margin-bottom:6px}
.cta-band p{margin:0;color:rgba(255,255,255,.88)}
.cta-band__btns{display:flex;gap:12px;flex-wrap:wrap}

/* Form card */
.formcard{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);box-shadow:0 30px 80px -40px rgba(0,0,0,.9),0 0 0 1px rgba(196,30,58,.08)}
.formcard__title{font-size:24px;margin-bottom:4px}
.formcard__sub{color:var(--muted);font-size:14px;margin-bottom:18px}

/* People */
.people{display:grid;gap:28px}
.person{display:grid;grid-template-columns:240px 1fr;gap:clamp(20px,4vw,44px);align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px)}
@media (max-width:700px){.person{grid-template-columns:1fr}}
.person__img{border-radius:14px;overflow:hidden;aspect-ratio:1;background:var(--surface-2)}
.person__img img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.person__img.is-empty{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,rgba(196,30,58,.4),transparent 60%),var(--surface-2)}
.person__img span{font:700 64px/1 var(--f-cond);color:#fff}

.contact-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:14px;font-size:18px;color:#fff}
.contact-list li{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.contact-list .ico{color:var(--red-2)}

/* Prose */
.prose{color:var(--text-2)}
.prose h2{margin-top:1.4em}.prose h3{margin-top:1.2em}
.prose img{border-radius:12px}
.prose a{color:#fff}
.prose ul,.prose ol{padding-left:1.2em}

/* Footer */
.site-footer{background:#000;border-top:1px solid var(--line);padding-top:clamp(48px,6vw,72px);font-size:15px}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
@media (max-width:860px){.site-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-footer__grid{grid-template-columns:1fr}}
.brand--footer{margin-bottom:16px}
.flinks,.social{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.social{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.flinks a,.social a{color:var(--text-2);text-decoration:none}
.flinks a:hover,.social a:hover{color:#fff}
.footer-phone{text-decoration:none;font:600 20px/1 var(--f-cond);letter-spacing:.04em}
.footer-phone .ico{color:var(--red-2)}
.site-footer .ico{color:var(--red-2)}
.site-footer__base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:44px;padding-top:20px;padding-bottom:28px;color:var(--muted);font-size:13px}

.pager .nav-links{display:flex;gap:10px;margin-top:28px}
.pager a,.pager span{padding:8px 14px;border:1px solid var(--line-2);border-radius:8px;text-decoration:none}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.hero__video{display:none}}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:980px){.plans{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.plans{grid-template-columns:1fr}}
.plan{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:6px}
.plan--pop{border-color:var(--red);background:linear-gradient(160deg,rgba(196,30,58,.18),var(--surface) 60%)}
.plan__badge{position:absolute;top:-12px;left:20px;background:var(--red);color:#fff;font:600 11px/1 var(--f-cond);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.plan h3{font:600 14px/1 var(--f-cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.plan__price{font:700 44px/1 var(--f-cond);color:#fff;margin:8px 0 0}
.plan__price span{font:500 16px/1 var(--f-body);color:var(--muted);margin-left:4px}
.plan__roster{color:var(--text-2);margin:0 0 16px}
.plan .btn{margin-top:auto}
.plan-incl{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px)}
.plan-incl .ticks{grid-template-columns:repeat(2,1fr);margin-bottom:14px}
@media (max-width:720px){.plan-incl .ticks{grid-template-columns:1fr}}
/* Math */
.split--text{align-items:start}
.math{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px)}
.math__row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--text-2)}
.math__row strong{color:#fff;font:700 22px/1 var(--f-cond)}
.math__row--total{border-bottom:0}
.math__row--total strong{color:var(--red-2);font-size:40px}
.math .small{margin:10px 0 0}
