/* Clinical Enrollment patient hub: shared stylesheet. Pure ASCII.
   Brand tokens match site.clinicalenrollment.com/scope and the cet1 WordPress theme.
   MasonMono = headings, numbers, chips. Plus Jakarta Sans = everything you read.
   Sections are color blocks; cream is used sparingly. */

@font-face{font-family:'MasonMono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/MaisonMono-Regular.otf') format('opentype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/PlusJakartaSans-Regular.ttf') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/PlusJakartaSans-Bold.ttf') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/PlusJakartaSans-Italic.ttf') format('truetype')}

:root{
  --cream:#F2F0E9; --white:#FFFFFF; --ink:#141824; --ink2:#5A5F6E;
  --navy:#183887; --navy2:#122C6E; --blue:#5594F9; --blue2:#2D6FE2; --sky:#DDE8FC;
  --green:#03514B; --mint:#CBE4D1; --lime:#CFDB54; --lime-ink:#231F20;
  --lav:#E0BEEE; --lav-tint:#F4E9F8; --orange:#F9712A; --peach:#FDE3D3;
  --rule:#DAD7CC; --night:#0E1220;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"MasonMono","Space Mono",ui-monospace,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --r:14px;
}
*{box-sizing:border-box}
html{background:var(--white);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
p{margin:0 0 14px;max-width:60ch}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:22px;height:2px;background:currentColor;opacity:.7;flex:0 0 auto}
h1{font-family:var(--mono);font-weight:400;font-size:clamp(34px,5vw,60px);line-height:1.04;letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance;max-width:18ch}
h2{font-family:var(--mono);font-weight:400;font-size:clamp(27px,3.6vw,42px);line-height:1.1;letter-spacing:-.02em;margin:0 0 16px;text-wrap:balance;max-width:22ch}
h3{font-family:var(--mono);font-weight:400;font-size:19px;line-height:1.3;margin:0 0 8px}
.lede{font-size:clamp(18px,2vw,20px);line-height:1.5;max-width:54ch;margin:0 0 26px}
.small{font-size:14px;opacity:.85}
.center{text-align:center}
.center h2,.center .lede,.center p{margin-left:auto;margin-right:auto}
.center .eyebrow{justify-content:center}
.i{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;display:block}

/* buttons */
.pill,.pill-ghost{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;padding:16px 24px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),filter .25s var(--ease),background .25s}
.pill{background:var(--lime);color:var(--lime-ink)}
.pill:after,.pill-ghost:after{content:"\2192";transition:transform .25s var(--ease)}
.pill:hover{filter:brightness(.95);transform:translateY(-2px)}
.pill:hover:after,.pill-ghost:hover:after{transform:translateX(4px)}
.pill-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.pill.dark{background:var(--navy);color:var(--white)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* color blocks */
section{padding:92px 0;position:relative;overflow:hidden;overflow:clip}
@media (max-width:700px){section{padding:60px 0}}
.on-navy{background:var(--navy);color:var(--white)}
.on-night{background:var(--night);color:var(--white)}
.on-lime{background:var(--lime);color:var(--lime-ink)}
.on-green{background:var(--green);color:var(--white)}
.on-white{background:var(--white);color:var(--ink)}
.on-cream{background:var(--cream);color:var(--ink)}
.on-mint{background:var(--mint);color:var(--ink)}
.on-sky{background:var(--sky);color:var(--ink)}
.on-lav{background:var(--lav-tint);color:var(--ink)}
.on-navy .eyebrow,.on-green .eyebrow,.on-night .eyebrow{color:var(--lime)}
.on-white .eyebrow,.on-cream .eyebrow,.on-mint .eyebrow,.on-sky .eyebrow,.on-lav .eyebrow,.on-lime .eyebrow{color:var(--navy)}
.on-navy .lede,.on-green .lede,.on-night .lede{color:#DCE4F7}
.dark-bg a:not(.pill){color:inherit}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cols.top{align-items:start}
.cols.r60{grid-template-columns:.9fr 1.1fr}
@media (max-width:860px){.cols,.cols.r60{grid-template-columns:1fr;gap:34px}}
.mt8{margin-top:8px}.mt24{margin-top:24px}.mt40{margin-top:40px}.mt56{margin-top:56px}

/* drifting hexagons from the C mark */
.hexbg{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.hexbg svg{position:absolute;opacity:.1;animation:drift 30s ease-in-out infinite alternate}
.hexbg svg:nth-child(2){animation-duration:36s;animation-direction:alternate-reverse}
.hexbg svg:nth-child(3){animation-duration:42s}
@keyframes drift{from{transform:translate(0,0) rotate(0)}to{transform:translate(16px,-12px) rotate(6deg)}}
section>.wrap,header>.wrap{position:relative;z-index:1}

/* top bar + masthead */
.topbar{background:var(--night);color:var(--white);font-size:14px;text-align:center;padding:9px 24px}
.topbar a{color:var(--lime)}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,24,36,.08);transition:box-shadow .3s}
header.site.scrolled{box-shadow:0 8px 24px rgba(14,18,32,.08)}
.mast{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0}
.mast .logo{display:block;height:24px;width:auto;aspect-ratio:5303/588}
.mast nav{display:flex;gap:4px;align-items:center}
.mast nav a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:9px 12px;border-radius:999px;transition:background .2s}
.mast nav a:hover{background:var(--sky)}
.mast nav a[aria-current="page"]{background:var(--navy);color:var(--white)}
.mast nav a.pill{padding:11px 16px;font-size:11.5px;margin-left:8px}
.mast nav a.pill:hover{background:var(--lime)}
@media (max-width:980px){.mast nav a:not(.pill){display:none}}
@media (max-width:640px){.mast .logo{height:19px}}
.subnav{display:none}
@media (max-width:980px){.subnav{display:flex;gap:8px;overflow-x:auto;padding:0 24px 12px;scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}
  .subnav a{flex:0 0 auto;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:8px 12px;border-radius:999px;background:var(--cream)}
  .subnav a[aria-current="page"]{background:var(--navy);color:var(--white)}}

/* home hero */
.hero{padding:64px 0 80px}
@media (max-width:700px){.hero{padding:40px 0 56px}}
.journey{width:100%;height:auto;display:block;overflow:visible}
.journey .path{fill:none;stroke:rgba(255,255,255,.45);stroke-width:2;stroke-dasharray:6 8}
.journey .lbl{font-family:var(--mono);font-size:13px;letter-spacing:.06em;fill:#fff}
.journey .num{font-family:var(--mono);font-size:11px;letter-spacing:.14em;fill:var(--lime)}
.journey .node{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.4);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.journey.in .node{opacity:1;transform:none}
.journey.in .node:nth-of-type(2){transition-delay:.35s}.journey.in .node:nth-of-type(3){transition-delay:.7s}.journey.in .node:nth-of-type(4){transition-delay:1.05s}
.journey .cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;fill:rgba(255,255,255,.6)}

/* page hero (subpages) */
.page-hero{padding:64px 0 72px}
.page-hero h1{max-width:20ch}
.crumb{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;opacity:.8;margin-bottom:22px}
.crumb:hover{opacity:1}
.crumb .i{width:16px;height:16px;transform:rotate(180deg)}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:0;list-style:none}
.jump a{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.12);transition:background .2s}
.jump a:hover{background:rgba(255,255,255,.24)}
.on-lime .jump a,.on-mint .jump a,.on-sky .jump a{background:rgba(20,24,36,.08)}
.hero-art{display:grid;place-items:center}
.hero-art svg{width:min(420px,100%);height:auto;overflow:visible}

/* trust band */
.band{padding:26px 0}
.ticks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;list-style:none}
.ticks li{display:flex;gap:12px;align-items:center;font-size:15px;line-height:1.3;margin:0}
.ticks .ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(20,24,36,.08);flex:0 0 auto}
.ticks b{display:block;font-family:var(--mono);font-weight:400;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase}
.on-navy .ticks .ic,.on-green .ticks .ic,.on-night .ticks .ic{background:rgba(255,255,255,.12);color:var(--lime)}
@media (max-width:900px){.ticks{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.ticks{grid-template-columns:1fr}}

/* home topic tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1000px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}}
.tile{position:relative;display:flex;flex-direction:column;gap:10px;min-height:260px;padding:26px 24px 22px;border-radius:var(--r);text-decoration:none;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.tile:hover{transform:translateY(-4px);box-shadow:0 22px 40px rgba(14,18,32,.16)}
.tile .big{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.16);margin-bottom:auto}
.tile .big .i{width:30px;height:30px}
.tile h3{font-size:22px;margin:14px 0 4px}
.tile p{font-size:15px;margin:0;opacity:.9}
.tile .go{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-top:12px}
.tile .go .i{width:18px;height:18px;transition:transform .3s var(--ease)}
.tile:hover .go .i{transform:translateX(5px)}
.tile .ghost{position:absolute;right:-30px;bottom:-30px;width:150px;height:150px;opacity:.12;transition:transform .6s var(--ease)}
.tile:hover .ghost{transform:rotate(18deg) scale(1.1)}
.tile.t1{background:var(--navy);color:#fff}.tile.t2{background:var(--green);color:#fff}
.tile.t3{background:var(--lime);color:var(--lime-ink)}.tile.t3 .big{background:rgba(20,24,36,.08)}
.tile.t4{background:var(--blue2);color:#fff}

/* legit lists */
.yesno{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;padding:0;list-style:none}
@media (max-width:700px){.yesno{grid-template-columns:1fr}}
.yesno li{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:12px;background:rgba(255,255,255,.07);font-size:15.5px;line-height:1.4;margin:0}
.yesno li .i{width:26px;height:26px;color:var(--orange)}
.yesno li.ok .i{color:var(--lime)}
.on-white .yesno li,.on-cream .yesno li{background:var(--cream)}
.addr{display:flex;gap:14px;align-items:center;margin-top:26px;font-size:15px}
.addr .i{color:var(--lime)}

/* study cards */
.studies{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.studies{grid-template-columns:1fr}}
.study{display:flex;flex-direction:column;background:var(--white);border-radius:var(--r);padding:24px;text-decoration:none;color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s var(--ease);border:1px solid rgba(20,24,36,.06)}
.study:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(14,18,32,.12)}
.study .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.study .blob{width:62px;height:62px;border-radius:18px;display:grid;place-items:center}
.study .blob .i{width:34px;height:34px}
.study .status{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--mint);color:var(--green);display:flex;gap:6px;align-items:center}
.study .status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);animation:blink 2.8s ease-in-out infinite}
@keyframes blink{50%{opacity:.5}}
.study .area{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.study h3{font-size:23px;margin:6px 0 8px}
.study p{font-size:15px;color:var(--ink2);margin-bottom:16px}
.study .go{margin-top:auto;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);display:flex;gap:8px;align-items:center}
.study .go .i{width:18px;height:18px;transition:transform .3s var(--ease)}
.study:hover .go .i{transform:translateX(5px)}
.soon{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.soon li{margin:0;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:999px;background:rgba(20,24,36,.06)}

/* founder */
.founder{display:grid;grid-template-columns:180px 1fr;gap:40px;align-items:center}
.founder img{width:180px;height:180px;border-radius:50%;object-fit:cover;background:var(--navy2);box-shadow:0 0 0 6px rgba(207,219,84,.35)}
@media (max-width:640px){.founder{grid-template-columns:1fr;gap:20px}.founder img{width:120px;height:120px}}
.quote{font-family:var(--mono);font-size:clamp(20px,2.5vw,27px);line-height:1.3;letter-spacing:-.01em;max-width:32ch;margin:0 0 14px}

/* generic icon cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards.two{grid-template-columns:1fr 1fr}
.cards.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.cards,.cards.four{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards,.cards.two,.cards.four{grid-template-columns:1fr}}
.card{background:var(--white);color:var(--ink);border-radius:var(--r);padding:24px 22px;border:1px solid rgba(20,24,36,.07);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(14,18,32,.08)}
.card .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;background:var(--sky);color:var(--navy)}
.card .ic .i{width:28px;height:28px}
.card h3{margin-bottom:6px}
.card p{font-size:15.5px;margin:0;color:var(--ink2)}
.card .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);display:block;margin-bottom:4px}
.ic.c-lime{background:var(--lime);color:var(--lime-ink)}.ic.c-green{background:var(--mint);color:var(--green)}
.ic.c-orange{background:var(--peach);color:#B4470E}.ic.c-lav{background:var(--lav-tint);color:#6B3A86}
.ic.c-navy{background:var(--navy);color:#fff}.ic.c-blue{background:var(--sky);color:var(--navy)}
.on-navy .card,.on-night .card,.on-green .card{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.12)}
.on-navy .card p,.on-night .card p,.on-green .card p{color:#D5DDF0}
.on-navy .card .ic,.on-night .card .ic,.on-green .card .ic{background:rgba(255,255,255,.12);color:var(--lime)}

/* phases with participant dots */
.phases{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:960px){.phases{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.phases{grid-template-columns:1fr}}
.phase{background:var(--white);border-radius:var(--r);padding:22px 20px 20px;display:flex;flex-direction:column;border:1px solid rgba(20,24,36,.06)}
.phase .n{font-family:var(--mono);font-size:44px;line-height:1;color:var(--navy);letter-spacing:-.03em}
.phase .q{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin:6px 0 14px}
.phase p{font-size:14.5px;margin:12px 0 0;color:var(--ink2)}
.dots{display:flex;flex-wrap:wrap;gap:4px;min-height:84px;align-content:flex-end}
.dots i{width:8px;height:8px;border-radius:50%;background:var(--blue2);opacity:0;transform:scale(0);transition:opacity .3s,transform .4s var(--ease)}
.dots i.h{background:var(--lime)}
.in .dots i,html.static .dots i{opacity:1;transform:none}
.phase .who{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-top:10px}

/* three words with mini diagrams */
.words{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.words{grid-template-columns:1fr}}
.word{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:24px 22px}
.word svg.mini{width:100%;height:96px;display:block;margin-bottom:16px}
.word h3{color:var(--lime);font-size:22px}
.word p{font-size:15.5px;color:#D5DDF0;margin:0}

/* orbit diagram */
.orbit{width:100%;max-width:720px;height:auto;display:block;margin:0 auto;overflow:visible}
.orbit .spoke{stroke:rgba(24,56,135,.35);stroke-width:1.6;stroke-dasharray:4 6;fill:none}
.orbit .ring{fill:none;stroke:rgba(24,56,135,.15);stroke-width:1.5}
.orbit .lbl{font-family:var(--mono);font-size:13px;letter-spacing:.06em;fill:var(--ink);text-anchor:middle}
.orbit .nd{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.5);transition:opacity .5s,transform .6s var(--ease)}
.in .orbit .nd,html.static .orbit .nd{opacity:1;transform:none}
.orbit .you{animation:pulse 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulse{50%{transform:scale(1.03)}}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;margin-top:36px}
@media (max-width:820px){.roles{grid-template-columns:1fr}}
.roles div{border-top:2px solid var(--navy);padding-top:12px;font-size:15px}
.roles b{font-family:var(--mono);font-weight:400;display:block;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;color:var(--navy)}

/* inclusion / exclusion */
.inex{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:700px){.inex{grid-template-columns:1fr}}
.inex div{background:var(--white);border-radius:var(--r);padding:22px}
.inex h3{display:flex;gap:10px;align-items:center}
.inex ul{list-style:none;padding:0;margin:12px 0 0}
.inex li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid rgba(20,24,36,.08);font-size:15px;margin:0}
.inex .in-l .i{color:var(--green)}.inex .ex-l .i{color:#C2410C}

/* next-page band */
.next{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.next h2{margin:0}
.next .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;display:block;margin-bottom:8px}

/* timeline */
.tl{list-style:none;margin:0;padding:0;position:relative;max-width:820px}
.tl:before{content:"";position:absolute;left:31px;top:10px;bottom:10px;width:3px;background:rgba(20,24,36,.1);border-radius:3px}
.tl .fill{position:absolute;left:31px;top:10px;width:3px;border-radius:3px;background:linear-gradient(var(--lime) 0 var(--split,28%),var(--blue2) var(--split,28%) 100%);height:calc((100% - 20px) * var(--p,0));transition:height .15s linear}
html.static .tl .fill{height:calc(100% - 20px)}
.tl li{position:relative;display:grid;grid-template-columns:66px 1fr;gap:20px;padding:0 0 34px;margin:0}
.tl li:last-child{padding-bottom:0}
.tl .dot{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:3px solid var(--blue2);color:var(--navy);position:relative;z-index:1;transition:transform .4s var(--ease),background .4s}
.tl li.ce .dot{border-color:var(--lime);background:var(--lime);color:var(--lime-ink)}
.tl li.seen .dot{transform:scale(1.06)}
.tl .dot .i{width:28px;height:28px}
.tl .when{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);display:block;margin:6px 0 4px}
.tl h3{font-size:21px}
.tl p{font-size:16px;margin:0;color:var(--ink2)}
.tl .who{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.tl .who.ce{background:var(--lime)}
.tl .who.site{background:var(--sky);color:var(--navy)}
@media (max-width:600px){.tl:before,.tl .fill{left:23px}.tl li{grid-template-columns:50px 1fr;gap:14px}.tl .dot{width:50px;height:50px}.tl .dot .i{width:22px;height:22px}.tl .who{margin-left:64px}}

/* screening stops */
.stops{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;counter-reset:s}
.stops:before{content:"";position:absolute;left:12%;right:12%;top:38px;height:2px;background:rgba(255,255,255,.25)}
.stops div{text-align:center;padding:0 14px;position:relative}
.stops .ic{width:76px;height:76px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;background:var(--lime);color:var(--lime-ink);box-shadow:0 0 0 8px var(--green)}
.stops .ic .i{width:32px;height:32px}
.stops h3{font-size:18px;margin-bottom:6px}
.stops p{font-size:14.5px;color:#D5E8E0;margin:0 auto;max-width:26ch}
@media (max-width:820px){.stops{grid-template-columns:1fr 1fr;gap:34px 0}.stops:before{display:none}}
@media (max-width:460px){.stops{grid-template-columns:1fr}}

/* bring checklist */
.bring{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none}
.bring li{display:flex;align-items:center;gap:12px;background:var(--white);padding:14px 18px 14px 14px;border-radius:999px;font-weight:700;font-size:15px;margin:0;transition:transform .3s var(--ease)}
.bring li:hover{transform:translateY(-3px)}
.bring .ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff}
.bring .ic .i{width:20px;height:20px}

/* tabs */
.tabs [role="tablist"]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tabs [role="tab"]{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:11px 16px;border-radius:999px;border:1.5px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:background .2s,color .2s}
.tabs [role="tab"] .i{width:18px;height:18px}
.tabs [role="tab"][aria-selected="true"]{background:var(--navy);color:#fff}
.tabs [role="tabpanel"]{background:var(--white);border-radius:var(--r);padding:26px 28px;animation:fadeup .4s var(--ease)}
.tabs [role="tabpanel"][hidden]{display:none}
.tabs ul{margin:0;padding:0;list-style:none;columns:2;column-gap:36px}
.tabs li{break-inside:avoid;padding:10px 0 10px 30px;position:relative;border-top:1px solid rgba(20,24,36,.07);font-size:16px;margin:0}
.tabs li:before{content:"?";position:absolute;left:0;top:10px;width:20px;height:20px;border-radius:50%;background:var(--lime);font-family:var(--mono);font-size:12px;display:grid;place-items:center}
@media (max-width:700px){.tabs ul{columns:1}}
@keyframes fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* money tiles */
.money{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:860px){.money{grid-template-columns:1fr}}
.money div{border-radius:var(--r);padding:28px 24px;background:var(--white)}
.money .big{font-family:var(--mono);font-size:clamp(46px,6vw,72px);line-height:1;letter-spacing:-.03em;color:var(--navy);display:block;margin-bottom:14px}
.money h3{font-size:18px}
.money p{font-size:15px;color:var(--ink2);margin:0}
.money div:nth-child(2){background:var(--navy);color:#fff}.money div:nth-child(2) .big{color:var(--lime)}.money div:nth-child(2) p{color:#D5DDF0}

/* flow graphic */
.flow{width:100%;height:auto;display:block;overflow:visible}
.flow text{font-family:var(--mono);font-size:13px;letter-spacing:.06em}
.flow .wire{fill:none;stroke-width:2.5;stroke-dasharray:7 7;animation:march 2s linear infinite}
@keyframes march{to{stroke-dashoffset:-14}}

/* FAQ */
.faq-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:28px}
.search{flex:1 1 300px;display:flex;align-items:center;gap:10px;background:var(--white);border-radius:999px;padding:0 18px;border:1.5px solid rgba(20,24,36,.12)}
.search input{border:0;background:transparent;font:inherit;font-size:16px;padding:14px 0;width:100%;outline:none}
.search:focus-within{border-color:var(--navy)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;border-radius:999px;border:0;background:rgba(20,24,36,.06);cursor:pointer;color:var(--ink)}
.chips button[aria-pressed="true"]{background:var(--navy);color:#fff}
.faq{max-width:none}
.faq .grp{margin-bottom:34px}
.faq .grp h3{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin:0 0 6px}
.faq .grp h3 .i{width:20px;height:20px}
.faq details{background:var(--white);border-radius:12px;margin-bottom:8px;border:1px solid rgba(20,24,36,.06);transition:box-shadow .25s}
.faq details[open]{box-shadow:0 10px 26px rgba(14,18,32,.08)}
.faq summary{list-style:none;cursor:pointer;padding:18px 56px 18px 20px;font-weight:700;font-size:17px;position:relative;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:16px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--sky);color:var(--navy);display:grid;place-items:center;font-family:var(--mono);font-size:18px;transition:transform .3s var(--ease),background .3s}
.faq details[open] summary:after{transform:rotate(45deg);background:var(--lime);color:var(--lime-ink)}
.faq .a{padding:0 20px 20px;font-size:16px;color:var(--ink2)}
.faq .a p{max-width:70ch;margin:0}
.faq .a a{color:var(--navy)}
.faq .none{display:none;padding:20px;border-radius:12px;background:var(--white)}
.on-navy .faq details,.on-green .faq details{color:var(--ink)}

/* glossary */
.gloss{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:900px){.gloss{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.gloss{grid-template-columns:1fr}}
.gloss div{background:var(--white);border-radius:12px;padding:16px 18px}
.gloss b{font-family:var(--mono);font-weight:400;font-size:14.5px;color:var(--navy);display:block;margin-bottom:4px}
.gloss span{font-size:14.5px;color:var(--ink2);line-height:1.45;display:block}

/* spoke: form panel */
.form-panel{background:var(--white);color:var(--ink);border-radius:18px;padding:28px 28px 22px;box-shadow:0 30px 60px rgba(8,14,40,.28)}
.form-panel h3{font-size:22px;margin-bottom:6px}
.form-panel .sub{font-size:15px;color:var(--ink2);margin-bottom:14px}
.chips2{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none}
.chips2 li{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--mint);color:var(--green)}
.form-slot{min-height:120px}
.form-slot:empty{border:1px dashed var(--rule);border-radius:12px;display:grid;place-items:center;color:#9A968A;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:40px 20px;text-align:center}
.form-slot:empty:before{content:"Screening questions load here"}
.form-note{font-size:12.5px;color:var(--ink2);margin:14px 0 0;line-height:1.45;max-width:none}
.form-note a{color:var(--navy)}
.spoke-hero .cols{grid-template-columns:1fr 1fr;align-items:start}
.spoke-hero .sticky{position:sticky;top:96px}
.spoke-hero h1{font-size:clamp(32px,4.2vw,52px)}
@media (max-width:860px){.spoke-hero .cols{grid-template-columns:1fr}.spoke-hero .sticky{position:static}}
.crit{list-style:none;padding:0;margin:14px 0 0}
.crit li{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid rgba(255,255,255,.16);font-size:16px;margin:0}
.crit li:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.crit .i{color:var(--lime);width:24px;height:24px}

/* spoke: graphics */
.figure{background:var(--white);border-radius:18px;padding:22px;box-shadow:0 18px 40px rgba(14,18,32,.08)}
.figure svg{width:100%;height:auto;display:block;overflow:visible}
.figure figcaption{font-size:13.5px;color:var(--ink2);margin-top:12px}
.figure text{font-family:var(--mono);letter-spacing:.04em}
.draw path.d,.draw .d{stroke-dasharray:var(--len,1400);stroke-dashoffset:var(--len,1400);transition:stroke-dashoffset 2.2s var(--ease)}
.draw.in path.d,.draw.in .d,html.static .draw .d{stroke-dashoffset:0}
.sym{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.sym li{display:flex;align-items:center;gap:10px;margin:0;padding:10px 16px 10px 10px;border-radius:999px;background:var(--white);font-size:15px}
.sym .ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--peach);color:#B4470E}
.sym .ic .i{width:19px;height:19px}
.treat{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:900px){.treat{grid-template-columns:1fr 1fr}}
@media (max-width:500px){.treat{grid-template-columns:1fr}}
.treat div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:20px}
.treat .tg{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.12);margin-bottom:12px}
.treat h3{font-size:18px}
.treat p{font-size:14.5px;color:#D5DDF0;margin:0}
.treat div.res{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
.treat div.res p{color:var(--lime-ink)}
.treat div.res .tg{background:rgba(20,24,36,.1)}
.src{font-size:12.5px;opacity:.75;margin-top:22px;max-width:none}
.src a{word-break:break-word}

/* sticky mobile CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-top:1px solid rgba(20,24,36,.08);display:none;transform:translateY(110%);transition:transform .35s var(--ease)}
.sticky-cta.show{transform:none}
.sticky-cta a{width:100%;justify-content:center}
@media (max-width:860px){.sticky-cta{display:block}body{padding-bottom:78px}}

/* footer */
footer.site{background:var(--ink);color:#fff;padding:56px 0 36px;font-size:14px}
footer.site .row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
@media (max-width:760px){footer.site .row{grid-template-columns:1fr}}
footer.site .logo{height:22px;width:auto;margin-bottom:18px;aspect-ratio:5303/588}
footer.site h4{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin:0 0 14px}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:8px}
footer.site a{text-decoration:none;opacity:.88}
footer.site a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
footer.site .legal{margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:12.5px;opacity:.72;line-height:1.5}
footer.site .legal p{max-width:none}

/* scroll reveal: progressive, content is visible without JS */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0) * 1ms)}
.js .rv.in{opacity:1;transform:none}
.js .stagger>*{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .stagger.in>*{opacity:1;transform:none}
.js .stagger.in>*:nth-child(2){transition-delay:.08s}.js .stagger.in>*:nth-child(3){transition-delay:.16s}.js .stagger.in>*:nth-child(4){transition-delay:.24s}
.js .stagger.in>*:nth-child(5){transition-delay:.32s}.js .stagger.in>*:nth-child(6){transition-delay:.4s}.js .stagger.in>*:nth-child(7){transition-delay:.48s}.js .stagger.in>*:nth-child(8){transition-delay:.56s}
html.static .rv,html.static .stagger>*{opacity:1!important;transform:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv,.js .stagger>*{opacity:1;transform:none}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* additions: timeline rows, floating hero hexes */
.tl li.fill{padding:0;display:block}
.tl li.tagrow{display:block;padding:0 0 22px}
.tl li.tagrow .who{margin:0 0 0 86px}
@media (max-width:600px){.tl li.tagrow .who{margin-left:64px}}
.float{animation:bob 7s ease-in-out infinite}
.float.f2{animation-duration:8.5s;animation-delay:-2s}
.float.f3{animation-duration:6s;animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-6px) rotate(2deg)}}
.hero-art .float{transform-box:fill-box;transform-origin:center}

/* fixes 10/20 */
.sym li{color:var(--ink)}
p.center{margin-left:auto;margin-right:auto}
.journey .lbl{font-size:16px}
.journey .sub{font-family:var(--sans);font-size:13px;fill:rgba(255,255,255,.68)}
.journey .brk{font-family:var(--mono);font-size:10px;letter-spacing:.18em}
.flow text{font-size:14px}

/* spoke form layout v2: form gets its own wide section under the hero */
.hero-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:26px 28px}
.hero-card p{margin-bottom:6px}
.formrow{grid-template-columns:.8fr 1.2fr;align-items:start}
.formrow .side{position:sticky;top:110px}
.formrow .form-panel{padding:34px 40px 30px}
.mini{list-style:none;padding:0;margin:8px 0 22px;max-width:none}
.mini li{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid rgba(20,24,36,.1);margin:0;font-size:16px}
.mini li:last-child{border-bottom:1px solid rgba(20,24,36,.1)}
.mini .ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;flex:0 0 auto}
.mini .ic .i{width:20px;height:20px}
@media (max-width:860px){.formrow{grid-template-columns:1fr}.formrow .side{position:static}.formrow .form-panel{padding:26px 20px 22px}}
/* keep long buttons from widening grid columns on phones */
.cols>*{min-width:0}
@media (max-width:520px){.pill,.pill-ghost{white-space:normal;line-height:1.35}}

/* real photos (from CE's own program sites) */
.hero-photo,.photo{margin:0;border-radius:var(--r);overflow:hidden;background:rgba(20,24,36,.06)}
.hero-photo{aspect-ratio:4/3;box-shadow:0 24px 48px rgba(14,18,32,.22)}
.photo{aspect-ratio:3/2}
.hero-photo img,.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo-head{align-items:center}
.photo-head .lede{margin-bottom:0}
.hero-photo-bg{position:absolute;top:0;bottom:0;right:0;width:60%;background-size:cover;background-position:center}
.hero-photo-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(24,56,135,.8) 30%,rgba(24,56,135,.22) 100%)}
.spoke-hero .hero-card{background:rgba(14,18,32,.58);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media (max-width:860px){
  .hero-photo-bg{width:100%;height:260px;bottom:auto}
  .hero-photo-bg:after{background:linear-gradient(180deg,rgba(24,56,135,.15) 0%,rgba(24,56,135,.5) 60%,var(--navy) 100%)}
  .spoke-hero{padding-top:210px}
  .hero-photo{aspect-ratio:3/2}
}

/* fewer icons: numbers and plain text where an icon only repeated the words */
.ic.num{font-family:var(--mono);font-weight:400;font-size:17px;line-height:1}
.stops .ic.num{font-size:26px}
.ticks li{border-left:3px solid rgba(20,24,36,.28);padding-left:14px}
.tile{min-height:210px}
.tile h3{margin-top:auto}
@media (min-width:861px){.spoke-hero .cols{align-items:end}.spoke-hero .hero-card{max-width:440px;justify-self:end}}

/* thank-you / not-a-fit */
.hero-card .mini li{border-color:rgba(255,255,255,.16);font-size:15.5px;line-height:1.4}
.hero-card .mini .ic{background:var(--lime);color:var(--lime-ink)}
.ways{list-style:none;padding:0;margin:8px 0 0;max-width:none}
.ways li{padding:13px 0;border-top:1px solid rgba(255,255,255,.16);margin:0}
.ways li:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.ways a,.ways .t{display:block;font-weight:700;color:#fff}
.ways a{color:var(--lime);text-underline-offset:3px}
.ways span:not(.t){display:block;font-size:14.5px;opacity:.85;margin-top:2px}

/* who keeps you safe: rings */
.rings-fig{margin:0}
.rings{width:100%;max-width:420px;height:auto;display:block;margin:0 auto;overflow:visible}
.rings text{font-family:var(--mono);font-size:13px;letter-spacing:.12em;fill:#fff}
.rings text.you{font-size:22px;letter-spacing:.02em;fill:var(--lime-ink)}
.rings .ring{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.88);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.in .rings .ring,html.static .rings .ring{opacity:1;transform:none}
.rings .rg1{transition-delay:.15s}.rings .rg2{transition-delay:.3s}.rings .rg3{transition-delay:.45s}
.layers{list-style:none;padding:0;margin:22px 0 16px;max-width:none}
.layers li{position:relative;padding:13px 0 13px 30px;border-top:1px solid rgba(20,24,36,.1);margin:0;font-size:16px}
.layers li:last-child{border-bottom:1px solid rgba(20,24,36,.1)}
.layers li:before{content:"";position:absolute;left:0;top:18px;width:16px;height:16px;border-radius:50%}
.layers .l1:before{background:#03514B}.layers .l2:before{background:#5594F9}.layers .l3:before{background:#183887}
.layers b{display:block;font-family:var(--mono);font-weight:400;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}

/* where your answers go: plain HTML steps */
.hops{display:flex;align-items:stretch;list-style:none;padding:0;margin:0;gap:34px;max-width:none}
.hops li{flex:1;position:relative;margin:0;display:grid;place-items:center;text-align:center;padding:18px 12px;border-radius:14px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;line-height:1.35}
.hops li+li:before{content:"\2192";position:absolute;left:-26px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--navy)}
.hops .h1{background:var(--sky);color:var(--navy)}.hops .h2{background:var(--lime);color:var(--lime-ink)}.hops .h3{background:var(--navy);color:#fff}
.nope{margin:18px 0 0;font-size:14.5px;color:var(--ink2)}
.nope s{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#B4470E;text-decoration-thickness:2px;margin-right:8px}
@media (max-width:560px){
  .hops{flex-direction:column;gap:30px}
  .hops li+li:before{content:"\2193";left:50%;top:-24px;transform:translateX(-50%)}
  .journey .sub{font-size:15px}
}
.figure svg.compact{max-width:420px;margin:0 auto}
