/* Cavalier Alliance Network. Brennan White's outline of 7 Oct 2026, design pass two.
   One accent (Cavalier Orange), UVA Blue ink, large photography, white space, one button.
   Libre Franklin throughout. Header overlays the hero only when JS is running (html.js);
   without it the header is a plain white sticky bar, so nothing is ever white on white. */
:root{--navy:#232D4B;--deep:#151B30;--orange:#F84C1E;--orange-text:#C23409;--paper:#F6F6F6;--rule:#D8D8DB;--grey:#5F6573;--w:1240px;--g:clamp(20px,4.5vw,64px);--hh:88px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hh) + 60px)}
body{margin:0;font-family:"Libre Franklin",Arial,Helvetica,sans-serif;color:var(--navy);background:#fff;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}a{color:inherit}
h1,h2,h3{margin:0;font-weight:700;line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
p{margin:0}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:60}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

/* ---------- header ---------- */
.hd{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--hh);padding:0 var(--g);background:#fff;position:sticky;top:0;z-index:40;border-bottom:1px solid var(--rule);transition:background .25s ease,border-color .25s ease,height .25s ease}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:700;font-size:17px;line-height:1.1;letter-spacing:-.01em}
.brand img{width:64px;height:64px;transition:width .25s ease,height .25s ease}
.hd ul{display:flex;gap:clamp(20px,3vw,44px);list-style:none;margin:0;padding:0}
.hd nav a{text-decoration:none;font-weight:600;font-size:16px;padding:10px 0;position:relative}
.hd nav a:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.hd nav a:hover:after,.hd nav a[aria-current]:after{transform:scaleX(1)}
.menu-btn{display:none;font:inherit;font-weight:600;font-size:16px;background:none;border:2px solid currentColor;color:inherit;padding:9px 16px;border-radius:2px;min-height:44px}
.js .hd{position:fixed;left:0;right:0;background:linear-gradient(180deg,rgba(21,27,48,.72) 0%,rgba(21,27,48,0) 100%);border-bottom-color:transparent;color:#fff}
.js .hd.solid{background:#fff;color:var(--navy);border-bottom-color:var(--rule);height:72px}
.js .hd.solid .brand img{width:52px;height:52px}

/* ---------- the one button ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--orange);color:var(--deep);font:inherit;font-weight:700;font-size:17px;line-height:1.2;text-decoration:none;padding:17px 28px;border:0;border-radius:2px;cursor:pointer;min-height:54px;transition:background .2s ease,transform .2s ease}
.btn:after{content:"\2192";font-size:20px;line-height:1;transition:transform .2s ease}
.btn:hover{background:#FF6A42}.btn:hover:after{transform:translateX(5px)}

/* ---------- home hero ---------- */
.hero{position:relative;height:100svh;min-height:560px;max-height:1000px;background:var(--deep);overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 22%}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,27,48,.35) 0%,rgba(21,27,48,.05) 35%,rgba(21,27,48,.88) 100%)}
.hero-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--g) clamp(48px,9vh,104px);max-width:calc(var(--w) + 2*var(--g));margin:0 auto}
.hero h1{color:#fff;font-size:clamp(44px,min(7.6vw,13svh),118px);line-height:.94;max-width:15ch;margin-bottom:clamp(24px,4vh,40px)}
._unused{position:absolute;right:var(--g);bottom:22px;z-index:3;font:inherit;font-size:13px;font-weight:600;color:#fff;background:rgba(21,27,48,.55);border:1px solid rgba(255,255,255,.5);padding:8px 12px;border-radius:2px;min-height:36px;cursor:pointer}

/* ---------- inner hero ---------- */
.ph{position:relative;height:clamp(380px,58vh,620px);background:var(--deep);overflow:hidden}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,27,48,.5) 0%,rgba(21,27,48,.15) 40%,rgba(21,27,48,.9) 100%)}
.ph-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--g) clamp(32px,6vh,64px);max-width:calc(var(--w) + 2*var(--g));margin:0 auto}
.ph h1{color:#fff;font-size:clamp(52px,8.4vw,128px);line-height:.92}
.ph p{color:#fff;font-size:clamp(18px,1.8vw,24px);margin-top:14px;max-width:30em}

/* ---------- text blocks ---------- */
.intro{max-width:calc(var(--w) + 2*var(--g));margin:0 auto;padding:clamp(64px,10vw,136px) var(--g)}
.intro p{font-size:clamp(22px,2.5vw,36px);line-height:1.34;letter-spacing:-.012em;max-width:27em;font-weight:500}
.intro p+.btn{margin-top:36px}
.intro .q{font-size:18px;font-weight:400;letter-spacing:0;margin-top:28px;color:var(--grey)}.intro .q a{color:var(--orange-text);font-weight:600}
.intro--lead{border-left:0;position:relative}
.intro--lead p:before{content:"";display:block;width:72px;height:6px;background:var(--orange);margin-bottom:32px}

/* ---------- tiles: full-bleed 2 x 2 ---------- */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:#fff}
.tile{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;text-decoration:none;color:#fff;background:var(--deep)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.tile:hover img,.tile:focus-visible img{transform:scale(1.06)}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,27,48,.1) 25%,rgba(21,27,48,.9) 100%);transition:opacity .4s ease}
.tile-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(22px,3.6vw,52px);display:flex;flex-direction:column;gap:8px}
.tile-h{font-size:clamp(30px,4vw,60px);font-weight:700;line-height:.98;letter-spacing:-.025em}
.tile-p{font-size:clamp(16px,1.4vw,20px);line-height:1.4;max-width:24em}
.tile-l{font-size:15px;font-weight:700;margin-top:10px;border-bottom:3px solid var(--orange);align-self:flex-start;padding-bottom:3px}
.tile-a{position:absolute;right:clamp(18px,2.6vw,36px);top:clamp(18px,2.6vw,36px);z-index:2;width:56px;height:56px;border-radius:50%;background:var(--orange);color:var(--deep);display:grid;place-items:center;font-size:24px;font-weight:700;transform:translateY(-8px);opacity:0;transition:opacity .3s ease,transform .3s ease}
.tile:hover .tile-a,.tile:focus-visible .tile-a{opacity:1;transform:none}

/* ---------- members row ---------- */
.logos{padding:clamp(64px,9vw,120px) var(--g)}
.logos-in{max-width:var(--w);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(20px,5vw,80px);align-items:center;border-top:2px solid var(--navy);border-bottom:1px solid var(--rule);padding:clamp(32px,5vw,64px) 0}
.logos h2{font-size:clamp(30px,3.8vw,52px)}
.logos-empty{font-size:clamp(20px,2vw,28px);line-height:1.35;color:var(--grey);font-weight:500}
.logos--page .logos-in{grid-template-columns:1fr;text-align:center;border-top:0;border-bottom:0;padding:clamp(40px,7vw,96px) 0}
.logos+.intro{padding-top:0}

/* ---------- contact band ---------- */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--navy);color:#fff}
.contact-img{position:relative;min-height:420px;overflow:hidden}.contact-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-in{padding:clamp(48px,7vw,112px) var(--g);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.contact h2{font-size:clamp(36px,4.6vw,68px);margin-bottom:28px}
.who{font-size:18px;line-height:1.5;color:#D9DCE4;margin-bottom:28px}.who strong{display:block;font-size:26px;color:#fff;letter-spacing:-.01em;margin-bottom:4px}
.contact-mail{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(20px,2.3vw,32px);font-weight:700;letter-spacing:-.01em;text-decoration:none;border-bottom:4px solid var(--orange);padding-bottom:4px;word-break:break-word}
.contact-mail:hover{color:var(--orange)}

/* ---------- call to action band ---------- */
.cta-band{background:var(--paper);padding:clamp(56px,8vw,112px) var(--g);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.cta-band h2{font-size:clamp(32px,4.4vw,64px)}

/* ---------- membership cards ---------- */
.tiers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:1560px;margin:0 auto;padding:0 var(--g) clamp(72px,9vw,128px);align-items:start}
.tier{background:#fff;border:1px solid var(--rule);min-width:0;display:flex;flex-direction:column;transition:box-shadow .3s ease,transform .3s ease}
.tier:hover{box-shadow:0 18px 44px rgba(21,27,48,.14);transform:translateY(-4px)}
.tier-top{background:var(--navy);color:#fff;padding:26px 22px 24px;border-top:6px solid var(--orange)}
.tier h3{font-size:clamp(20px,1.5vw,24px);letter-spacing:-.01em;line-height:1.15;min-height:2.3em}
.price{font-size:clamp(28px,2.3vw,38px);font-weight:700;line-height:1;letter-spacing:-.03em;margin-top:14px}
.price span{display:block;font-size:15px;font-weight:400;letter-spacing:0;color:#C3C7D2;margin-top:6px}
.tier-body{padding:22px;display:flex;flex-direction:column;gap:16px}
.credits{font-weight:600;color:var(--grey);font-size:16px;line-height:1.2}.credits b{display:block;font-size:44px;line-height:1;color:var(--orange-text);letter-spacing:-.03em;margin-bottom:4px}
.tier .btn{justify-content:space-between;padding:15px 14px;font-size:15px;white-space:nowrap;gap:8px}
details{border-top:1px solid var(--rule)}
summary{cursor:pointer;list-style:none;padding:16px 30px 16px 0;font-weight:600;position:relative;min-height:48px;line-height:1.3}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:2px;top:12px;font-size:26px;font-weight:400;color:var(--orange-text);line-height:1}
details[open]>summary:after{content:"\2212"}
.tier-body details{margin:0}.tier-body details+details{margin-top:-16px}
.tier ul{margin:0 0 16px;padding-left:18px;font-size:15.5px;line-height:1.45}.tier li+li{margin-top:7px}.tier li::marker{color:var(--orange)}

/* ---------- credit menu ---------- */
.jump{position:sticky;top:72px;z-index:20;height:52px;align-items:stretch;overflow-y:hidden;scrollbar-width:none;background:#fff;border-bottom:1px solid var(--rule);display:flex;gap:clamp(16px,3vw,40px);padding:0 var(--g);overflow-x:auto;white-space:nowrap}
.jump a{text-decoration:none;font-weight:600;font-size:15px;display:inline-flex;align-items:center;border-bottom:3px solid transparent}.jump a:hover{border-bottom-color:var(--orange)}
.sec{max-width:calc(var(--w) + 2*var(--g));margin:0 auto;padding:clamp(56px,7vw,104px) var(--g) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:clamp(20px,4vw,72px);align-items:start}
.sec:last-of-type{padding-bottom:clamp(56px,7vw,104px)}
.sec h2{font-size:clamp(28px,3.2vw,46px);position:sticky;top:150px}
.sec>p{grid-column:2;max-width:40em;margin-bottom:-8px}.sec>p+table{grid-column:2}
.menu{width:100%;border-collapse:collapse;font-size:18px}
.menu thead th{text-align:left;font-size:13px;font-weight:600;color:var(--grey);padding:0 12px 12px 0;border-bottom:2px solid var(--navy)}
.menu thead th:nth-child(2){text-align:right;padding-right:28px}
.menu tbody tr{transition:background .2s ease}.menu tbody tr:hover{background:var(--paper)}
.menu tbody th{text-align:left;font-weight:600;padding:20px 16px 20px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.menu tbody th>span{display:block;font-weight:400;font-size:15px;color:var(--grey);margin-top:3px}
.menu td{padding:20px 12px 20px 0;border-bottom:1px solid var(--rule);vertical-align:top;white-space:nowrap;font-size:15px;color:var(--grey)}
.menu .cr{font-weight:700;font-size:28px;line-height:1;letter-spacing:-.02em;color:var(--orange-text);text-align:right;padding-right:28px}
.menu details{border:0;margin-top:6px}.menu summary{font-size:15px;font-weight:600;color:var(--grey);padding:11px 28px 11px 0;min-height:44px;display:inline-block}.menu summary:after{top:8px}
.comp{list-style:none;margin:6px 0 4px;padding:0;font-weight:400;font-size:15px}
.comp li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--rule)}.comp b{color:var(--orange-text);white-space:nowrap}

/* ---------- faq ---------- */
.faq{max-width:calc(var(--w) + 2*var(--g));margin:0 auto;padding:clamp(56px,8vw,112px) var(--g);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:clamp(24px,5vw,88px);align-items:start}
.faq-side{position:sticky;top:120px;border-top:6px solid var(--orange);padding-top:24px}
.faq-side h2{font-size:clamp(26px,2.6vw,36px);margin-bottom:12px}.faq-side p{color:var(--grey);margin-bottom:18px}
.faq-mail{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;background:linear-gradient(var(--orange),var(--orange)) left calc(100% - 6px)/100% 3px no-repeat;word-break:break-word}
.qa:first-child{border-top:2px solid var(--navy)}
.qa summary{font-size:clamp(20px,2.1vw,27px);font-weight:700;letter-spacing:-.015em;padding:26px 44px 26px 0;line-height:1.25}.qa summary:after{top:24px;font-size:32px}
.qa p{padding:0 0 30px;max-width:36em;font-size:19px}
.qa:last-of-type{border-bottom:1px solid var(--rule)}

/* ---------- form ---------- */
.form{max-width:calc(860px + 2*var(--g));margin:0 auto;padding:clamp(56px,8vw,104px) var(--g)}
.form h2{font-size:clamp(28px,3.2vw,44px);margin-bottom:28px}
.form form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:15px}.form .wide{grid-column:1/-1}
.form input,.form textarea{font:inherit;font-size:18px;padding:14px;border:0;border-bottom:2px solid var(--navy);background:var(--paper);border-radius:0;color:var(--navy);min-height:54px}
.form input:focus,.form textarea:focus{outline:0;border-bottom-color:var(--orange);background:#fff;box-shadow:0 0 0 2px var(--orange)}
.form .btn{justify-self:start}.form-msg{grid-column:1/-1;font-weight:600;min-height:1.6em}
.hp{position:absolute;left:-9999px;width:1px;height:1px}

/* ---------- footer ---------- */
.ft{background:var(--deep);color:#fff;padding:clamp(48px,6vw,88px) var(--g) 40px}
.ft-in{max-width:var(--w);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:start}
.ft-brand{display:flex;align-items:center;gap:20px;text-decoration:none;font-weight:700;font-size:clamp(22px,2.2vw,30px);line-height:1.05;letter-spacing:-.02em;max-width:12em}
.ft-brand img{width:96px;height:96px}
.ft-nav{list-style:none;margin:0;padding:0;display:grid;gap:0}.ft-nav a{text-decoration:none;font-weight:600;display:inline-flex;align-items:center;min-height:44px;min-width:44px}.ft-nav a:hover{color:var(--orange)}
.ft-meta{font-size:15px;line-height:1.7;color:#C3C7D2}.ft-meta a{color:#fff}

/* ---------- reveal (only when JS is running; content is visible without it) ---------- */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.js .rv.in{opacity:1;transform:none}

@media (max-width:1180px){.tiers{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:56px;-webkit-overflow-scrolling:touch}
 .tier{flex:0 0 min(80vw,330px);scroll-snap-align:start}.tier:hover{transform:none}.tier h3{min-height:0}}
@media (max-width:900px){
 :root{--hh:72px}
 .hero-img{object-position:44% 20%}
 .menu-btn{display:block}.hd nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--navy);border-bottom:1px solid var(--rule);padding:8px var(--g) 18px}
 .hd nav.open{display:block}.hd ul{flex-direction:column;gap:0}.hd nav a{display:block;padding:15px 0;border-bottom:1px solid var(--rule);font-size:19px}.hd nav a:after{display:none}
 .brand{font-size:15px}.brand img{width:50px;height:50px}
 .tiles{grid-template-columns:1fr}.tile{aspect-ratio:4/3}.tile-a{display:none}
 .logos-in,.contact,.sec,.faq,.ft-in{grid-template-columns:1fr}
 .contact-img{min-height:260px}.sec h2,.faq-side{position:static}.sec>p,.sec>p+table{grid-column:1}
 .jump{top:72px}
 .form form{grid-template-columns:1fr}
 .menu thead{display:none}.menu tr{display:grid;grid-template-columns:1fr auto;column-gap:14px;border-bottom:1px solid var(--rule);padding:16px 0}
 .menu tbody th,.menu td{border:0;padding:0}.menu td{white-space:normal}.menu .cr{padding-right:0;font-size:24px}.menu td:last-child{grid-column:1/-1;font-size:14px}.menu td:last-child:before{content:"Opens at "}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile img,.btn,.btn:after,.tier{transition:none}.js .rv{opacity:1;transform:none;transition:none}}

/* ================= 8 Oct 2026: header, home hero, join page =================
   Header shares the content gutter, carries the one button, and opens a full-height panel on phones. */
.hd{padding-inline:max(var(--g),calc((100% - var(--w))/2));border-bottom:0;box-shadow:0 1px 0 var(--rule)}
.hd nav{display:flex;align-items:center;gap:clamp(20px,3vw,44px)}
.hd nav a.nav-cta{padding:12px 20px;min-height:46px;font-size:15px;font-weight:700;color:var(--deep)}
.hd nav a.nav-cta:after{display:none}
.nav-mail{display:none}
.menu-btn{border:0;padding:0 2px;align-items:center;gap:12px;min-height:48px;min-width:48px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.mb-i{position:relative;display:block;width:26px;height:12px}
.mb-i:before,.mb-i:after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .25s ease,top .25s ease}
.mb-i:before{top:0}.mb-i:after{top:10px}
.menu-btn[aria-expanded=true] .mb-i:before{top:5px;transform:rotate(45deg)}
.menu-btn[aria-expanded=true] .mb-i:after{top:5px;transform:rotate(-45deg)}
.js .hd{box-shadow:none;background:linear-gradient(180deg,rgba(21,27,48,.8) 0%,rgba(21,27,48,.4) 60%,rgba(21,27,48,0) 100%)}
.js .hd.solid{box-shadow:0 1px 0 var(--rule),0 10px 30px rgba(21,27,48,.07)}
@media (min-width:901px) and (max-width:1060px){.hd nav a.nav-cta{display:none}}

/* home hero: headline in two set lines, one supporting sentence, the button and a quiet second link */
.hero:after{background:linear-gradient(180deg,rgba(21,27,48,.3) 0%,rgba(21,27,48,0) 28%,rgba(21,27,48,.5) 60%,rgba(21,27,48,.95) 100%)}
.hero-in{padding-bottom:clamp(40px,8vh,96px)}
.hero h1{font-size:clamp(40px,min(6.5vw,11.5svh),100px);line-height:.97;max-width:none;margin-bottom:clamp(16px,2.6vh,26px);text-wrap:wrap}
.hero h1 span{display:block}
.hero-p{color:#fff;font-size:clamp(18px,1.55vw,23px);line-height:1.42;font-weight:500;max-width:31em;margin-bottom:clamp(24px,3.6vh,38px);text-wrap:balance}
.hero-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px}
.hero-2{color:#fff;font-weight:700;font-size:17px;text-decoration:none;display:inline-flex;align-items:center;min-height:48px;background:linear-gradient(#fff,#fff) left calc(100% - 9px)/100% 2px no-repeat;transition:background-size .25s ease}
.hero-2:hover{background-image:linear-gradient(var(--orange),var(--orange))}
.ph--short{height:clamp(300px,44vh,460px)}
.ph--short h1{font-size:clamp(44px,6.6vw,100px)}

/* join page: the form leads, the person and the next steps sit beside it */
.join{max-width:calc(var(--w) + 2*var(--g));margin:0 auto;padding:clamp(48px,7vw,104px) var(--g);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:clamp(32px,6vw,104px);align-items:start}
.join .form{max-width:none;margin:0;padding:0}
.join .form h2{font-size:clamp(30px,3.4vw,48px);margin-bottom:12px}
.join-lede{color:var(--grey);font-size:19px;margin-bottom:34px}
.form .opt{font-weight:400;color:var(--grey);font-size:14px}
.form label.wide{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px}.form label.wide textarea{grid-column:1/-1}
.form input,.form textarea{box-shadow:inset 0 0 0 1px var(--rule)}
.form textarea{resize:vertical;min-height:130px}
.join-side{background:var(--navy);color:#fff;padding:clamp(28px,3.2vw,48px);position:sticky;top:104px}
.join-side h2{font-size:clamp(24px,2.2vw,32px);margin-bottom:22px}
.join-side .who{margin-bottom:14px;font-size:16px}.join-side .who strong{font-size:22px}
.join-side .contact-mail{font-size:clamp(17px,1.45vw,20px);border-bottom-width:3px}
.steps-h{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#C3C7D2;margin-top:38px;padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}
.steps{list-style:none;margin:18px 0 0;padding:0;counter-reset:s;display:grid;gap:16px}
.steps li{counter-increment:s;display:grid;grid-template-columns:32px 1fr;font-size:16px;line-height:1.5;color:#E6E8EE}
.steps li:before{content:counter(s);font-weight:700;font-size:19px;line-height:1.3;color:var(--orange)}
.tiers+.logos{padding-top:clamp(24px,4vw,56px)}

@media (max-width:900px){
 .menu-btn{display:inline-flex}
 html.menu-open{overflow:hidden}
 .js .hd.solid.open,.hd.open{background:var(--deep);color:#fff;box-shadow:none}
 .hd nav{display:none;position:fixed;left:0;right:0;top:72px;bottom:0;background:var(--deep);color:#fff;border:0;padding:8px var(--g) max(28px,env(safe-area-inset-bottom));overflow-y:auto;flex-direction:column;align-items:stretch;gap:0}
 .hd nav.open{display:flex}
 .hd nav li a{display:flex;align-items:center;min-height:68px;padding:0;font-size:30px;font-weight:700;letter-spacing:-.02em;border-bottom:1px solid rgba(255,255,255,.14)}
 .hd nav li a[aria-current]{color:var(--orange)}
 .hd nav a.nav-cta{display:flex;justify-content:space-between;margin-top:28px;padding:17px 22px;min-height:58px;font-size:18px;border-bottom:0}
 .hd nav a.nav-cta:after{display:inline;content:"\2192";position:static;background:none;height:auto;transform:none;font-size:20px}
 .hd nav a.nav-mail{display:block;margin-top:auto;padding:28px 0 0;border:0;font-size:16px;font-weight:500;color:#C3C7D2}
 .hero h1 span{white-space:nowrap}
 .hero h1{font-size:min(calc((100vw - 2*var(--g))/9.45),13svh)}
 .hero-p{font-size:18px}
 .join{grid-template-columns:1fr}.join-side{position:static}
 .form .btn{justify-self:stretch;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){.mb-i:before,.mb-i:after,.hero-2{transition:none}}
.brand span{white-space:nowrap}
@media (min-width:901px){.js .hd:not(.solid) nav a.nav-cta{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9)}.js .hd:not(.solid) nav a.nav-cta:hover{background:#fff;color:var(--deep)}}

/* ---------- 8 Oct, Brennan White's edits: one-line name, optical alignment of large headings ---------- */
.ft-brand{max-width:none}.ft-brand span{white-space:nowrap}
.ph h1,.hero h1{margin-left:calc(var(--lb,0) * -1em + 1px)}
.join-side{align-self:start}.form h2{margin-bottom:30px}
.mb-t{transition:none}
@media (max-width:900px){.brand{font-size:14px;gap:10px}.brand img{width:46px;height:46px}.ft-brand{font-size:20px;gap:14px}.ft-brand img{width:72px;height:72px}}
@media (max-width:430px){.mb-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.menu-btn{justify-content:flex-end}}
@media (max-width:350px){.brand span,.ft-brand span{white-space:normal;max-width:9em}}
.ft-brand{font-size:clamp(18px,1.55vw,22px);gap:16px;letter-spacing:-.01em}.ft-brand img{width:72px;height:72px}
.ft-in{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1.2fr)}
@media (max-width:900px){.ft-in{grid-template-columns:1fr}.ft-brand{font-size:19px}}
