
:root{
  --purple:#400072; --purple-2:#2C0A52; --purple-3:#1E0538;
  --pink:#DA2A75; --orange:#FBB22F;
  --bg:#F6F4F0; --bg-2:#FFFFFF; --bg-3:#EEEAE3;
  --ink:#222222; --ink-2:#4F4560; --ink-3:#7B7188;
  --line:#E2DCD3; --line-2:#CFC6BB;
  --hi:#400072;            /* heading colour on light */
  --card:#FFFFFF;
  --grad:linear-gradient(92deg,#400072 0%,#DA2A75 58%,#FBB22F 100%);
  --sh:0 1px 2px rgba(34,10,60,.05),0 12px 32px -16px rgba(34,10,60,.18);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,'Inter',sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit}
h1,h2,h3,h4{margin:0;font-family:'Inter',Arial,sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.06;color:var(--hi);text-wrap:balance}
p{margin:0}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}
::selection{background:var(--pink);color:#fff}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
@media(min-width:900px){.wrap{padding:0 40px}}
.sec{padding:80px 0}
@media(min-width:900px){.sec{padding:112px 0}}
.dark{background:var(--purple);color:#F6F4F0;position:relative;isolation:isolate;overflow:hidden}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .lede,.dark .body{color:#D9CCEA}
.dark::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 70% at 85% 10%,rgba(218,42,117,.32),transparent 65%),
             radial-gradient(45% 55% at 5% 95%,rgba(251,178,47,.16),transparent 70%)}

.eyebrow{display:inline-block;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-bottom:18px}
.dark .eyebrow{color:var(--orange)}
.d1{font-size:clamp(2.5rem,5.4vw,4.3rem);letter-spacing:-.04em;line-height:1}
.d2{font-size:clamp(1.9rem,3.4vw,2.8rem)}
.d3{font-size:clamp(1.2rem,1.6vw,1.4rem);letter-spacing:-.02em;line-height:1.25}
.lede{font-size:clamp(1.05rem,1.2vw,1.2rem);line-height:1.6;color:var(--ink-2);max-width:36em}
.body{color:var(--ink-2);max-width:38em}
.small{font-size:.9rem;color:var(--ink-3)}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.sec-head{margin-bottom:48px;max-width:44em}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center .lede{margin-left:auto;margin-right:auto}
.sec-head .lede{margin-top:18px}

.btn{display:inline-flex;align-items:center;gap:.55rem;height:52px;padding:0 1.6rem;border-radius:999px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:-.01em;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn svg{width:18px;height:18px}
.btn:hover{transform:translateY(-1px)}
.btn-pink{background:var(--pink);color:#fff;box-shadow:0 10px 26px -12px rgba(218,42,117,.7)}
.btn-pink:hover{background:#C41F66}
.btn-purple{background:var(--purple);color:#fff}
.btn-purple:hover{background:#31005A}
.btn-ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--purple);background:var(--bg-2)}
.dark .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.dark .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btn-white{background:#fff;color:var(--purple)}
.btn-sm{height:42px;padding:0 1.15rem;font-size:.88rem}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(64,0,114,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:-.02em}
.brand img{width:26px;height:auto}
.nav-links{display:none;gap:30px;font-family:'Inter',Arial,sans-serif;font-weight:500;font-size:.92rem;color:#E8DDF5}
.nav-links a:hover{color:#fff}
.nav-right{display:flex;align-items:center;gap:8px}
.nav-right .login{font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.9rem;padding:0 14px;color:#fff}
@media(min-width:960px){.nav-links{display:flex}}
@media(max-width:959px){.nav-right .login{display:none}}

/* hero */
.hero{background:var(--purple);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;
  background:radial-gradient(55% 65% at 80% 40%,rgba(218,42,117,.45),transparent 65%),
             radial-gradient(40% 50% at 92% 90%,rgba(251,178,47,.22),transparent 70%),
             linear-gradient(180deg,#4A0A82 0%,#400072 60%,#33005E 100%)}
.hero-grid{display:grid;gap:40px;padding:64px 0 0;align-items:end}
@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:24px;padding:88px 0 0;min-height:600px}}
.hero-copy{padding-bottom:64px}
@media(min-width:960px){.hero-copy{padding-bottom:96px}}
.hero h1{color:#fff;margin-top:14px}
.hero .lede{color:#E3D6F2;margin-top:22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.trust{margin-top:26px;display:flex;align-items:center;gap:10px;font-family:'Inter',Arial,sans-serif;font-size:.85rem;font-weight:600;color:#F3E6C5}
.trust svg{width:18px;height:18px;color:var(--orange)}
.lineup{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;max-width:640px;margin:0 auto}
@media(min-width:960px){.lineup{width:118%;max-width:none;margin:0 0 0 -9%}}
.lineup::before{content:'';position:absolute;left:50%;bottom:-40px;width:110%;height:70%;transform:translateX(-50%);background:radial-gradient(50% 60% at 50% 100%,rgba(255,255,255,.22),transparent 70%);pointer-events:none}
.lineup img{height:auto;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(0,0,0,.35));position:relative;flex:none}
.lineup img:nth-child(1){width:21%;margin-right:-4%;z-index:1}
.lineup img:nth-child(2){width:25%;margin-right:-4%;z-index:2}
.lineup img:nth-child(3){width:30%;z-index:3}
.lineup img:nth-child(4){width:25%;margin-left:-4%;z-index:2}
.lineup img:nth-child(5){width:21%;margin-left:-4%;z-index:1}
.lineup .tag{position:absolute;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;background:#fff;color:var(--purple);padding:6px 11px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.25);z-index:5}
.hero-strip{border-top:1px solid rgba(255,255,255,.14);background:rgba(20,0,45,.35)}
.strip-in{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 32px;padding:22px 0;font-family:'Inter',Arial,sans-serif;font-size:.86rem;font-weight:600;color:#E8DDF5}
@media(min-width:800px){.strip-in{grid-template-columns:repeat(4,1fr)}}
.strip-in div{display:flex;align-items:center;gap:10px}
.strip-in svg{width:20px;height:20px;flex:none;color:var(--orange)}

/* problem */
.split{display:grid;gap:40px;align-items:start}
@media(min-width:900px){.split{grid-template-columns:1.1fr .9fr;gap:72px}}
.probs{display:grid;gap:14px;margin-top:8px}
.prob{display:flex;gap:14px;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:14px;color:var(--ink-2)}
.prob span:first-child{flex:none;width:28px;height:28px;border-radius:50%;background:#FBE3EE;color:var(--pink);display:grid;place-items:center;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.8rem}
.callout{margin-top:28px;padding:26px 28px;border-radius:18px;background:var(--purple);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:-.02em;line-height:1.35}
.callout em{font-style:normal;color:var(--orange)}

/* classmates */
.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 36px}
.filters button{height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.84rem;cursor:pointer;transition:all .15s}
.filters button:hover{border-color:var(--purple);color:var(--purple)}
.filters button.on{background:var(--purple);border-color:var(--purple);color:#fff}
.roster{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
@media(min-width:720px){.roster{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.roster{grid-template-columns:repeat(4,1fr);gap:18px}}
.mate{display:flex;flex-direction:column;gap:14px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);transition:transform .2s ease,border-color .2s ease;position:relative}
.mate:hover{transform:translateY(-3px);border-color:var(--c)}
.mate.hide{display:none}
.mate .av{width:72px;height:72px;border-radius:50%;padding:3px;background:var(--c);flex:none}
.mate .av img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top;background:#fff}
.mate h3{font-size:1.15rem;color:var(--hi)}
.mate .role{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-top:4px}
.mate p{font-size:.92rem;line-height:1.55;color:var(--ink-2);flex:1}
.mate .school{font-size:.76rem;color:var(--ink-3);font-family:'Inter',Arial,sans-serif;font-weight:600}
.mate.alex{grid-column:1/-1;flex-direction:row;align-items:center;gap:24px;background:linear-gradient(120deg,var(--purple),#5A128F);border:none;color:#fff}
.mate.alex .av{width:96px;height:96px;background:#fff}
.mate.alex h3{color:#fff}.mate.alex p{color:#E3D6F2}.mate.alex .school{color:var(--orange)}.mate.alex .role{color:var(--orange)}
@media(max-width:719px){.mate.alex{flex-direction:column;align-items:flex-start}}
.roster-foot{text-align:center;margin-top:36px}

/* steps */
.steps{display:grid;gap:18px;counter-reset:step}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{padding:28px 24px;border-radius:18px;background:var(--card);border:1px solid var(--line);position:relative}
.step .n{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--purple);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.9rem;margin-bottom:18px}
.step:nth-child(2) .n{background:var(--pink)}.step:nth-child(4) .n{background:#B77A16}
.step h3{font-size:1.1rem;margin-bottom:8px}
.step p{font-size:.94rem;color:var(--ink-2)}
.support{margin-top:32px;text-align:center;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:1.1rem;color:var(--hi);letter-spacing:-.01em}

/* compare */
.vs{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card);box-shadow:var(--sh)}
.vs-head,.vs-row{display:grid;grid-template-columns:1fr 1fr}
.vs-head{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.vs-head div{padding:18px 24px;color:var(--ink-3)}
.vs-head div:last-child{background:var(--purple);color:#fff}
.vs-row{border-top:1px solid var(--line)}
.vs-row div{padding:18px 24px;display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--ink-2)}
.vs-row div:last-child{background:var(--bg-3);color:var(--ink);font-weight:600;font-family:'Inter',Arial,sans-serif}
.vs-row svg{width:18px;height:18px;flex:none;margin-top:3px}
.vs-row div:first-child svg{color:var(--ink-3)}
.vs-row div:last-child svg{color:var(--pink)}
.vs-close{margin-top:30px;text-align:center}
.vs-close p{max-width:40em;margin:0 auto 22px}

/* subscription */
.subs{display:grid;gap:22px;align-items:stretch}
@media(min-width:900px){.subs{grid-template-columns:1fr auto 1fr}}
.subs-a,.subs-b{padding:30px;border-radius:20px}
.subs-a{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.subs-b{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);position:relative}
.subs-b::before{content:'';position:absolute;inset:0;border-radius:20px;background:radial-gradient(70% 90% at 90% 10%,rgba(218,42,117,.4),transparent 60%);pointer-events:none}
.subs-b>*{position:relative}
.micro-label{display:block;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#C9B7E0;margin-bottom:18px}
.stackers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stackers li{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.92rem}
.stackers em{font-style:normal;color:#C9B7E0;font-weight:500;font-size:.82rem}
.subs-foot{margin-top:18px;color:#D9CCEA;font-size:.95rem}
.subs-foot strong{font-family:'Inter',Arial,sans-serif;font-size:1.5rem;color:#fff}
.subs-arrow{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--pink);color:#fff;margin:auto;font-size:1.3rem;transform:rotate(90deg)}
@media(min-width:900px){.subs-arrow{transform:none}}
.subs-b h3{font-size:1.7rem;color:#fff;margin-bottom:12px}
.subs-b p{color:#E3D6F2;margin-bottom:20px}
.engines{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.engines span{font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.78rem;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}

/* universities */
.uni-grid{display:grid;gap:18px;margin-top:8px}
@media(min-width:800px){.uni-grid{grid-template-columns:repeat(2,1fr)}}
.uni{padding:26px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.uni h3{font-size:1.1rem;margin-bottom:10px}
.uni p{font-size:.94rem;color:var(--ink-2)}
.uni .k{display:inline-block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:12px}
.uni-quote{margin-top:36px;display:grid;gap:24px;align-items:center;padding:34px;border-radius:20px;background:var(--purple);color:#fff}
@media(min-width:900px){.uni-quote{grid-template-columns:1fr auto}}
.uni-quote h3{color:#fff;font-size:1.5rem}
.uni-quote p{color:#E3D6F2;margin-top:8px}

/* pricing */
.credit{display:grid;gap:18px;margin-bottom:44px}
@media(min-width:900px){.credit{grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}}
.credit-box{padding:28px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh)}
.eq{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:1rem;color:var(--hi)}
.eq span{padding:12px 16px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.eq b{color:var(--pink);font-size:1.3rem}
.eq .r{background:var(--purple);color:#fff;border-color:var(--purple)}
.eq-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:.92rem;color:var(--ink-2)}
.eq-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.eq-list li b{font-family:'Inter',Arial,sans-serif;color:var(--hi)}
.plans{display:grid;gap:16px}
@media(min-width:700px){.plans{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.plans{grid-template-columns:repeat(5,1fr);gap:14px}}
.plan{display:flex;flex-direction:column;padding:24px 20px;border-radius:18px;background:var(--card);border:1px solid var(--line);position:relative}
.plan.hot{border:2px solid var(--pink);box-shadow:0 20px 40px -24px rgba(218,42,117,.55)}
.plan .badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--pink);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:999px;white-space:nowrap}
.plan .tier{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:1.15rem;color:var(--hi)}
.plan .cr{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:2rem;letter-spacing:-.03em;color:var(--hi);margin-top:10px;line-height:1}
.plan .cr small{font-size:.8rem;font-weight:600;color:var(--ink-3);letter-spacing:0;margin-left:4px}
.plan .price{margin-top:8px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.85rem;color:var(--ink-3)}
.plan .price .tbc{display:inline-block;border:1px dashed var(--line-2);border-radius:6px;padding:1px 7px;color:var(--pink)}
.plan .for{margin-top:14px;font-size:.86rem;color:var(--ink-2);font-weight:700;font-family:'Inter',Arial,sans-serif}
.plan ul{margin:10px 0 18px;padding:0;list-style:none;display:grid;gap:6px;font-size:.86rem;color:var(--ink-2);flex:1}
.plan li{padding-left:18px;position:relative}
.plan li::before{content:'';position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--pink)}
.plan .btn{width:100%;justify-content:center}
.refills{margin-top:28px;display:grid;gap:14px}
@media(min-width:800px){.refills{grid-template-columns:1fr 1fr 1.2fr;align-items:center}}
.refill{padding:18px 20px;border-radius:14px;background:var(--bg-3);border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:'Inter',Arial,sans-serif}
.refill b{font-weight:800;color:var(--hi)}
.refill span{font-size:.85rem;color:var(--ink-3)}
.refill em{font-style:normal;font-weight:800;color:var(--pink)}
.refills p{font-size:.9rem;color:var(--ink-3)}

/* faq */
.faq{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 4px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:1.05rem;color:var(--hi);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font-weight:500;color:var(--pink);transition:transform .2s}
.faq details[open] summary::after{content:'−'}
.faq .a{padding:0 4px 24px;color:var(--ink-2);max-width:60ch}

/* closing */
.close{position:relative;overflow:hidden;isolation:isolate}
.close-in{display:grid;gap:26px;align-items:center;text-align:center;justify-items:center}
.close h2{color:#fff;font-size:clamp(2.1rem,4.4vw,3.4rem)}
.close p{color:#E3D6F2;max-width:38em}
.close .actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.close-lineup{display:flex;justify-content:center;gap:0;margin-top:18px}
.close-lineup img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--purple);background:#fff;margin-left:-12px;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.close-lineup img:first-child{margin-left:0}

/* footer */
footer{background:var(--purple-3);color:#CDBFE0;padding:64px 0 32px}
.f-grid{display:grid;gap:36px;grid-template-columns:1fr 1fr}
@media(min-width:900px){.f-grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}}
.f-brand{display:flex;align-items:center;gap:10px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:1.2rem;color:#fff}
.f-brand img{width:26px}
footer h5{margin:0 0 14px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#fff}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.92rem}
footer ul a:hover{color:#fff}
.f-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;font-size:.84rem;color:#9C8DB3}
.f-social{display:flex;gap:10px;margin-top:18px}
.f-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:#fff}
.f-social svg{width:16px;height:16px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== QA additions ===== */
[id]{scroll-margin-top:84px}
@media(max-width:600px){.btn{white-space:normal;height:auto;min-height:48px;padding:10px 1.2rem;text-align:center;line-height:1.25}}
.burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;cursor:pointer;padding:0 10px}
.burger span{display:block;height:2px;background:#fff;border-radius:2px}
@media(min-width:960px){.burger{display:none}}
.drawer{display:none;background:#2C0A52;border-top:1px solid rgba(255,255,255,.1)}
.nav.open .drawer{display:block}
.drawer-in{display:grid;gap:4px;padding:12px 0 18px}
.drawer a{padding:12px 6px;font-family:'Inter',Arial,sans-serif;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.drawer .btn{margin-top:10px;justify-content:center}
.nav-links a.cur{color:#fff;border-bottom:2px solid var(--orange);padding-bottom:4px}

/* page hero (interior pages) */
.phero{background:var(--purple);color:#fff;position:relative;overflow:hidden;isolation:isolate;padding:72px 0 64px}
@media(min-width:900px){.phero{padding:96px 0 84px}}
.phero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 88% 20%,rgba(218,42,117,.4),transparent 65%),radial-gradient(35% 50% at 5% 100%,rgba(251,178,47,.16),transparent 70%)}
.phero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:-.04em;line-height:1.02;margin-top:14px}
.phero .lede{color:#E3D6F2;margin-top:20px}
.phero .eyebrow{color:var(--orange)}
.phero-grid{display:grid;gap:36px;align-items:center}
@media(min-width:900px){.phero-grid{grid-template-columns:1.1fr .9fr}}
.phero .hero-actions{margin-top:28px}
.phero .trust{color:#F3E6C5}

/* differentiators */
.diffs{display:grid;gap:18px}
@media(min-width:720px){.diffs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.diffs{grid-template-columns:repeat(3,1fr)}}
.diff{padding:28px 26px;border-radius:18px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.diff .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#F4E6F0;color:var(--pink)}
.diff .ic svg{width:22px;height:22px}
.diff h3{font-size:1.15rem}
.diff p{font-size:.94rem;color:var(--ink-2)}
.diff .vs{margin-top:auto;border:none;box-shadow:none;background:transparent;border-radius:0;font-size:.85rem;color:var(--ink-3);border-top:1px dashed var(--line-2);padding-top:12px;display:block}
.diff .vs b{color:var(--hi);font-family:'Inter',Arial,sans-serif}

/* demo */
.demo{display:grid;gap:28px;align-items:start}
@media(min-width:960px){.demo{grid-template-columns:.85fr 1.15fr;gap:48px}}
.demo-tabs{display:grid;gap:10px}
.demo-tab{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,transform .15s}
.demo-tab:hover{transform:translateX(3px)}
.demo-tab.on{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}
.demo-tab img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.demo-tab b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi)}
.demo-tab span{font-size:.84rem;color:var(--ink-3)}
.chat{border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh);overflow:hidden}
.chat-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bg)}
.chat-head img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.chat-head b{font-family:'Inter',Arial,sans-serif;color:var(--hi);font-size:.95rem}
.chat-head span{font-size:.78rem;color:var(--ink-3);margin-left:auto;font-family:'Inter',Arial,sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.chat-body{padding:20px;display:grid;gap:14px;min-height:340px}
.msg{max-width:88%;padding:12px 16px;border-radius:16px;font-size:.93rem;line-height:1.5}
.msg.ai{background:var(--bg);border:1px solid var(--line);border-top-left-radius:6px;color:var(--ink)}
.msg.me{background:var(--purple);color:#fff;margin-left:auto;border-top-right-radius:6px}
.msg .q{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.msg .q span{font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.78rem;padding:5px 10px;border-radius:999px;background:var(--card);border:1px solid var(--line-2);color:var(--hi)}
.msg ol,.msg ul{margin:8px 0 0;padding-left:18px}
.msg li{margin:3px 0}
.msg .lbl{display:block;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-bottom:6px}
.chat-foot{padding:12px 18px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-3)}
.demo-panel{display:none}.demo-panel.on{display:block}

/* memory band */
.mem{display:grid;gap:32px;align-items:center}
@media(min-width:900px){.mem{grid-template-columns:1fr 1fr;gap:64px}}
.mem-flow{display:grid;gap:12px}
.mem-step{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.mem-step img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.mem-step b{font-family:'Inter',Arial,sans-serif;color:#fff;display:block}
.mem-step span{font-size:.88rem;color:#D9CCEA}
.mem-arrow{text-align:center;color:var(--orange);font-size:1.2rem;line-height:1}

/* origin band */
.origin{display:grid;gap:24px;align-items:center;padding:40px;border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh)}
@media(min-width:900px){.origin{grid-template-columns:1.2fr .8fr;gap:48px}}
.origin ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--ink-2)}
.origin li{padding-left:22px;position:relative}
.origin li::before{content:'';position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:50%;background:var(--orange)}
.origin .quote{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:-.03em;line-height:1.2;color:var(--hi)}

/* schools (our-cmpus) */
.school-sec{padding:64px 0;border-top:1px solid var(--line)}
.school-grid{display:grid;gap:32px;align-items:start}
@media(min-width:900px){.school-grid{grid-template-columns:.9fr 1.1fr;gap:64px}}
.school-hook{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.03em;line-height:1.1;color:var(--hi)}
.school-copy{margin-top:16px;color:var(--ink-2);display:grid;gap:12px}
.school-copy ul{margin:0;padding-left:20px}
.school-copy .punch{font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--hi)}
.school-mates{display:grid;gap:14px}
.smate{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:20px;border-radius:18px;background:var(--card);border:1px solid var(--line);align-items:start}
.smate img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--c);background:#fff}
.smate h3{font-size:1.1rem}
.smate .role{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin:2px 0 8px}
.smate p{font-size:.92rem;color:var(--ink-2)}
.smate a.more{display:inline-block;margin-top:10px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.88rem;color:var(--pink)}
.schools-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.schools-nav a{font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.84rem;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);color:#fff}
.schools-nav a:hover{background:rgba(255,255,255,.1)}
.start-map{display:grid;gap:12px}
@media(min-width:720px){.start-map{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.start-map{grid-template-columns:repeat(3,1fr)}}
.start{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:var(--card);border:1px solid var(--line);transition:border-color .15s}
.start:hover{border-color:var(--c)}
.start img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.start span{font-size:.92rem;color:var(--ink-2)}
.start b{font-family:'Inter',Arial,sans-serif;color:var(--hi);display:block;font-size:.9rem}

/* classmate page */
.cm-hero-grid{display:grid;gap:32px;align-items:center}
@media(min-width:900px){.cm-hero-grid{grid-template-columns:1fr auto;gap:56px}}
.cm-por{width:min(320px,70vw);aspect-ratio:1;border-radius:32px;overflow:hidden;border:4px solid var(--c);background:#fff;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);justify-self:center}
.cm-por img{width:100%;height:100%;object-fit:cover;object-position:top}
.cm-school{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.cm-role{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:1.1rem;color:#F3E6C5;margin-top:10px}
.two{display:grid;gap:24px}
@media(min-width:900px){.two{grid-template-columns:1fr 1fr;gap:40px}}
.box{padding:28px;border-radius:20px;background:var(--card);border:1px solid var(--line)}
.box h3{font-size:1.15rem;margin-bottom:14px}
.box ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--ink-2);font-size:.95rem}
.box li{padding-left:24px;position:relative}
.box li::before{content:'';position:absolute;left:0;top:.45em;width:10px;height:10px;border-radius:50%;background:var(--c)}
.box.no li::before{background:var(--ink-3);width:12px;height:2px;top:.75em}
.prompts{display:grid;gap:10px}
.prompt{padding:14px 18px;border-radius:14px;background:var(--bg);border:1px solid var(--line);font-size:.95rem;color:var(--ink);display:flex;gap:12px;align-items:flex-start}
.prompt::before{content:'“';font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:1.6rem;line-height:.8;color:var(--c)}
.session{display:grid;gap:14px}
@media(min-width:800px){.session{grid-template-columns:repeat(3,1fr)}}
.session div{padding:22px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.session b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);margin-bottom:8px}
.session span{font-size:.92rem;color:var(--ink-2)}
.session .k{display:inline-block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c);margin-bottom:10px}
.related{display:grid;gap:14px}
@media(min-width:720px){.related{grid-template-columns:repeat(3,1fr)}}

/* about / values */
.values{display:grid;gap:16px}
@media(min-width:720px){.values{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.values{grid-template-columns:repeat(3,1fr)}}
.value{padding:26px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.value .k{display:inline-block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}
.value h3{font-size:1.1rem;margin-bottom:8px}
.value p{font-size:.93rem;color:var(--ink-2)}
.mv{display:grid;gap:18px}
@media(min-width:800px){.mv{grid-template-columns:1fr 1fr}}
.mv div{padding:32px;border-radius:20px;background:var(--purple);color:#fff}
.mv h3{color:var(--orange);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.mv p{color:#E3D6F2;font-size:1.02rem}
.pain{display:grid;gap:10px;margin-top:18px}
.pain span{padding:10px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:.92rem;color:var(--ink-2)}

/* contact */
.contacts{display:grid;gap:16px}
@media(min-width:720px){.contacts{grid-template-columns:repeat(2,1fr)}}
.contact{padding:28px;border-radius:20px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.contact h3{font-size:1.15rem}
.contact p{font-size:.94rem;color:var(--ink-2);flex:1}
.contact .mail{font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--pink)}
.contact .btn{align-self:flex-start;margin-top:8px}

/* features page long-form */
.feat{display:grid;gap:28px;padding:48px 0;border-top:1px solid var(--line);align-items:start}
@media(min-width:900px){.feat{grid-template-columns:.9fr 1.1fr;gap:64px}}
.feat .num{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:3rem;letter-spacing:-.05em;line-height:1;color:var(--pink);opacity:.9}
.feat h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-top:8px}
.feat .col{display:grid;gap:14px;color:var(--ink-2)}
.feat .with{padding:20px 22px;border-radius:14px;border:1px solid var(--line);background:var(--card)}
.feat .with b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;color:var(--ink-3)}
.feat .with.us{background:var(--purple);color:#fff;border-color:var(--purple)}
.feat .with.us b{color:var(--orange)}
.feat ul{margin:0;padding-left:20px;display:grid;gap:4px}
.feat .punch{font-family:'Inter',Arial,sans-serif;font-weight:800;color:var(--hi);font-size:1.05rem}

/* uni page */
.gains{display:grid;gap:12px}
@media(min-width:720px){.gains{grid-template-columns:repeat(2,1fr)}}
.gain{display:flex;gap:12px;align-items:center;padding:16px 18px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:600;color:var(--hi)}
.gain svg{width:20px;height:20px;color:var(--pink);flex:none}

/* pricing page extras */
.which{display:grid;gap:10px}
@media(min-width:720px){.which{grid-template-columns:repeat(5,1fr)}}
.which div{padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--line);text-align:center}
.which b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);margin-top:6px}
.which span{font-size:.84rem;color:var(--ink-3)}
.rule{display:grid;gap:12px}
@media(min-width:800px){.rule{grid-template-columns:repeat(3,1fr)}}
.rule div{padding:18px;border-radius:14px;background:var(--bg);border:1px solid var(--line);font-size:.94rem;color:var(--ink-2)}
.rule b{font-family:'Inter',Arial,sans-serif;color:var(--hi);display:block;font-size:1.3rem;letter-spacing:-.02em}

/* single-file router */
.page{display:none}.page.on{display:block}
.phero .btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.phero .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* ===== per-page hero systems ===== */
/* light hero (universities, about, contact) */
.lhero{background:var(--bg);padding:72px 0 56px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
@media(min-width:900px){.lhero{padding:104px 0 80px}}
.lhero h1{font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.045em;line-height:1;margin-top:14px;max-width:16ch}
.lhero .lede{margin-top:22px}
.lhero .flame{position:absolute;right:-4%;bottom:-18%;width:min(46vw,520px);opacity:.14;pointer-events:none}
.lhero-grid{display:grid;gap:36px;align-items:end}
@media(min-width:900px){.lhero-grid{grid-template-columns:1.15fr .85fr;gap:64px}}

/* campus map (our-cmpus) */
.map-hero{background:var(--purple);color:#fff;padding:72px 0 0;position:relative;overflow:hidden;isolation:isolate}
.map-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 60% at 20% 10%,rgba(218,42,117,.35),transparent 65%),radial-gradient(40% 50% at 95% 90%,rgba(251,178,47,.18),transparent 70%)}
.map-hero h1{color:#fff;font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.045em;line-height:1;margin-top:14px;max-width:14ch}
.map-hero .lede{color:#E3D6F2;margin-top:20px}
.map{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:48px;padding-bottom:64px}
@media(min-width:720px){.map{grid-template-columns:repeat(4,1fr);gap:16px}}
.bldg{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;transition:background .15s,transform .15s;position:relative;min-height:170px}
.bldg:hover{background:rgba(255,255,255,.14);transform:translateY(-3px)}
.bldg .ic{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.bldg .ic svg{width:22px;height:22px;color:var(--orange)}
.bldg b{font-family:'Inter',Arial,sans-serif;font-size:1rem;letter-spacing:-.01em;line-height:1.2}
.bldg span{font-size:.82rem;color:#C9B7E0;margin-top:auto}
.bldg .faces{display:flex;position:absolute;top:18px;right:18px}
.bldg .faces img{width:26px;height:26px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--purple);background:#fff;margin-left:-8px}
.bldg.you{background:var(--pink);border-color:var(--pink)}
.bldg.you .ic{background:rgba(255,255,255,.2)}.bldg.you .ic svg{color:#fff}.bldg.you span{color:#FCE0EC}

/* school sections alternate */
.school-sec{padding:72px 0}
.school-sec:nth-of-type(even){background:var(--bg-2)}
.school-sec .snum{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:4.5rem;line-height:.8;letter-spacing:-.06em;color:var(--pink);opacity:.18;display:block;margin-bottom:12px}
@media(min-width:900px){.school-grid.flip{grid-template-columns:1.1fr .9fr}.school-grid.flip>div:first-child{order:2}}

/* features split hero */
.vs-hero{display:grid;min-height:520px}
@media(min-width:900px){.vs-hero{grid-template-columns:1fr 1fr}}
.vs-l{background:#1A1A1A;color:#9A9A9A;padding:64px 28px;display:flex;flex-direction:column;justify-content:center;gap:18px;position:relative;overflow:hidden}
@media(min-width:900px){.vs-l{padding:96px 56px 96px 0;}.vs-l>*{margin-left:auto;width:min(100%,520px)}}
.vs-l .lbl{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#6E6E6E}
.vs-l h2{color:#E5E5E5;font-size:clamp(1.8rem,3vw,2.4rem)}
.vs-l .box{border:1px solid #333;border-radius:14px;padding:18px;background:#111;font-family:'Inter',Arial,sans-serif;color:#777;display:flex;align-items:center;gap:10px}
.vs-l .cursor{display:inline-block;width:2px;height:1.1em;background:#aaa;animation:blink 1s steps(2) infinite}
@keyframes blink{to{visibility:hidden}}
.vs-l ul{margin:0;padding-left:18px;font-size:.92rem;color:#8A8A8A;display:grid;gap:4px}
.vs-r{background:var(--purple);color:#fff;padding:64px 28px;display:flex;flex-direction:column;justify-content:center;gap:18px;position:relative;isolation:isolate;overflow:hidden}
@media(min-width:900px){.vs-r{padding:96px 0 96px 56px}.vs-r>*{width:min(100%,520px)}}
.vs-r::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 60% at 90% 10%,rgba(218,42,117,.4),transparent 65%)}
.vs-r .lbl{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
.vs-r h1{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);letter-spacing:-.04em}
.vs-r .lede{color:#E3D6F2}
.vs-r .msg{max-width:100%}
.vs-r .msg.ai{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.vs-r .msg .q span{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25);color:#fff}
@media(prefers-reduced-motion:reduce){.vs-l .cursor{animation:none}}

/* framework diagram (universities) */
.frame{display:grid;gap:14px;margin-top:8px}
@media(min-width:800px){.frame{grid-template-columns:repeat(4,1fr)}}
.pillar{padding:22px 20px;border-radius:16px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--purple)}
.pillar:nth-child(2){border-top-color:var(--pink)}.pillar:nth-child(3){border-top-color:var(--orange)}.pillar:nth-child(4){border-top-color:#2E8A72}
.pillar b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);margin-bottom:8px;font-size:1rem}
.pillar span{font-size:.9rem;color:var(--ink-2)}
.inout{display:grid;gap:14px}
@media(min-width:800px){.inout{grid-template-columns:1fr 1fr}}
.inout div{padding:24px;border-radius:16px;border:1px solid var(--line);background:var(--card)}
.inout h3{font-size:1rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.inout ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;color:var(--ink-2);font-size:.94rem}
.inout li{display:flex;gap:10px;align-items:flex-start}
.inout li svg{width:18px;height:18px;flex:none;margin-top:2px}
.inout .in li svg{color:#2E8A72}.inout .out li svg{color:var(--pink)}

/* pricing hero */
.price-hero{background:var(--purple);color:#fff;padding:72px 0 80px;position:relative;isolation:isolate;overflow:hidden}
.price-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 60% at 80% 0%,rgba(218,42,117,.4),transparent 65%),radial-gradient(40% 50% at 0% 100%,rgba(251,178,47,.18),transparent 70%)}
.price-hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:-.04em;line-height:1.02;margin-top:14px}
.price-hero .lede{color:#E3D6F2;margin-top:18px}
.price-hero .eyebrow{color:var(--orange)}
.plans3{display:grid;gap:16px;margin-top:44px;align-items:stretch}
@media(min-width:900px){.plans3{grid-template-columns:repeat(3,1fr)}}
.plan3{display:flex;flex-direction:column;padding:28px 26px;border-radius:22px;background:#fff;color:var(--ink);position:relative}
.plan3.hot{background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);transform:translateY(-6px)}
.plan3 .badge{position:absolute;top:-13px;left:26px;background:var(--pink);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.plan3 .tier{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:1.2rem;color:#400072}
.plan3 .amt{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.8rem;letter-spacing:-.05em;line-height:1;color:#222;margin-top:14px}
.plan3 .amt small{font-size:.85rem;font-weight:600;color:#7B7188;letter-spacing:0;margin-left:6px}
.plan3 .cr{font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--pink);margin-top:8px;font-size:.95rem}
.plan3 .for{margin-top:14px;font-size:.9rem;color:#4F4560;font-family:'Inter',Arial,sans-serif;font-weight:700}
.plan3 ul{margin:12px 0 22px;padding:0;list-style:none;display:grid;gap:8px;font-size:.9rem;color:#4F4560;flex:1}
.plan3 li{padding-left:22px;position:relative}
.plan3 li::before{content:'';position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--pink)}
.plan3 .btn{width:100%;justify-content:center}
.plan3 .btn-ghost{color:#400072;border-color:#CFC6BB}

/* about */
.story{display:grid;gap:24px}
@media(min-width:900px){.story{grid-template-columns:1fr 1fr;gap:64px}}
.tl{display:grid;gap:0;border-left:2px solid var(--line-2);padding-left:24px}
.tl div{padding:0 0 26px;position:relative}
.tl div::before{content:'';position:absolute;left:-31px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--pink);border:3px solid var(--bg)}
.tl b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);font-size:1.05rem}
.tl span{font-size:.94rem;color:var(--ink-2)}
.tl .yr{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);display:block;margin-bottom:4px}
.bigq{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.035em;line-height:1.12;color:var(--hi)}
.bigq em{font-style:normal;color:var(--pink)}

/* classmate colour hero */
.cm-hero{background:var(--c);color:#fff;padding:64px 0 0;position:relative;overflow:hidden;isolation:isolate}
.cm-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28)),radial-gradient(60% 60% at 90% 20%,rgba(255,255,255,.18),transparent 65%)}
.cm-hero-grid{display:grid;gap:28px;align-items:end}
@media(min-width:900px){.cm-hero-grid{grid-template-columns:1.05fr .95fr;gap:48px}}
.cm-hero h1{color:#fff;font-size:clamp(3rem,7vw,5.6rem);letter-spacing:-.05em;line-height:.95}
.cm-hero .cm-role{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:clamp(1.1rem,1.6vw,1.4rem);color:#fff;opacity:.95;margin-top:10px}
.cm-hero .cm-school{color:rgba(255,255,255,.85)}
.cm-hero .lede{color:rgba(255,255,255,.92);margin-top:18px}
.cm-hero .hero-copy{padding-bottom:64px}
.cm-hero .btn-pink{background:#fff;color:var(--c);box-shadow:none}
.cm-hero .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.cm-hero .trust{color:rgba(255,255,255,.9)}.cm-hero .trust svg{color:#fff}
.cm-stage{position:relative;display:flex;align-items:flex-end;justify-content:center}
.cm-stage img{width:min(100%,460px);height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.cm-stage .chip{position:absolute;background:#fff;color:var(--c);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.78rem;padding:8px 12px;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.25);max-width:220px;line-height:1.3}
.cm-stage .chip::before{content:'“';margin-right:3px}
.cm-body{display:grid;gap:32px;align-items:start}
@media(min-width:960px){.cm-body{grid-template-columns:.95fr 1.05fr;gap:56px}}
.cm-chat .chat-head{background:var(--card)}
.stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.stat3 div{padding:14px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);text-align:center}
.stat3 b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1.1rem;color:#fff}
.stat3 span{font-size:.74rem;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.08em;font-family:'Inter',Arial,sans-serif;font-weight:600}

/* free strip */
.free{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:center;padding:18px 0;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.9rem;color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--bg-2)}
.free b{color:var(--hi)}
.free span{display:flex;align-items:center;gap:8px}
.free svg{width:18px;height:18px;color:var(--pink)}
.vs-r .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.vs-r .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.school-sec .eyebrow{display:block}
.school-sec .eyebrow svg{width:56px;height:56px;display:block;margin-bottom:14px;color:var(--pink)}
.cm-school svg{width:36px;height:36px}
.bldg .ic svg{width:22px;height:22px}

/* ================= FLAGSHIP HOME ================= */
.h2x{--e:cubic-bezier(.16,1,.3,1)}
.h2x .wrap{max-width:1240px}

/* ---- hero ---- */
.xhero{position:relative;overflow:hidden;background:#2A0A52;color:#fff;isolation:isolate;min-height:640px}
.xhero .orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75;z-index:-1;will-change:transform}
.xhero .o1{width:70vw;height:70vw;max-width:900px;max-height:900px;left:-20vw;top:-30vw;background:radial-gradient(circle,#5B12A6,transparent 62%);animation:drift1 22s ease-in-out infinite alternate}
.xhero .o2{width:60vw;height:60vw;max-width:800px;max-height:800px;right:-15vw;top:-10vw;background:radial-gradient(circle,#DA2A75,transparent 60%);opacity:.55;animation:drift2 26s ease-in-out infinite alternate}
.xhero .o3{width:40vw;height:40vw;max-width:520px;max-height:520px;right:10vw;bottom:-20vw;background:radial-gradient(circle,#FBB22F,transparent 60%);opacity:.32;animation:drift3 30s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(8vw,6vw) scale(1.08)}}
@keyframes drift2{to{transform:translate(-6vw,8vw) scale(1.12)}}
@keyframes drift3{to{transform:translate(-8vw,-6vw) scale(.94)}}
.xhero .grain{position:absolute;inset:0;z-index:-1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}
.xhero-in{display:grid;gap:40px;padding:72px 0 0;align-items:end}
@media(min-width:1000px){.xhero-in{grid-template-columns:1.05fr .95fr;gap:48px;padding:88px 0 0;align-items:center}}
.xcopy{padding-bottom:24px}
@media(min-width:1000px){.xcopy{padding-bottom:40px}}
.xkicker{display:inline-flex;align-items:center;gap:10px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#FBB22F}
.xkicker i{width:8px;height:8px;border-radius:50%;background:#FBB22F;box-shadow:0 0 0 0 rgba(251,178,47,.6);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(251,178,47,0)}100%{box-shadow:0 0 0 0 rgba(251,178,47,0)}}
.xh1{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:clamp(3rem,7.2vw,6rem);letter-spacing:-.055em;line-height:.94;color:#fff;margin-top:22px;text-wrap:balance}
.xh1 .w{display:inline-block;opacity:0;transform:translateY(.6em) rotate(1.5deg);animation:wordin 1s var(--e) forwards}
.xh1 .w:nth-child(1){animation-delay:.05s}.xh1 .w:nth-child(2){animation-delay:.14s}.xh1 .w:nth-child(3){animation-delay:.23s}.xh1 .w:nth-child(4){animation-delay:.32s}
.xh1 .grad{background:linear-gradient(92deg,#FBB22F 0%,#FF7A59 45%,#DA2A75 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@keyframes wordin{to{opacity:1;transform:none}}
.xlede{font-size:clamp(1.05rem,1.35vw,1.28rem);line-height:1.55;color:#E3D6F2;max-width:30em;margin-top:26px;opacity:0;animation:fadeup .9s var(--e) .45s forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.xactions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;opacity:0;animation:fadeup .9s var(--e) .6s forwards}
.xactions .btn{height:56px;padding:0 1.8rem;font-size:1rem}
.btn-glow{background:#DA2A75;color:#fff;box-shadow:0 0 0 0 rgba(218,42,117,.5),0 18px 40px -16px rgba(218,42,117,.9);position:relative;overflow:hidden}
.btn-glow::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--e)}
.btn-glow:hover::after{transform:translateX(120%)}
.xproof{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-family:'Inter',Arial,sans-serif;font-size:.85rem;font-weight:600;color:#C9B7E0;opacity:0;animation:fadeup .9s var(--e) .75s forwards}
.xproof span{display:flex;align-items:center;gap:8px}
.xproof svg{width:16px;height:16px;color:#FBB22F}

/* picker card */
.xpick{position:relative;z-index:2;background:rgba(255,255,255,.96);color:#222;border-radius:24px;padding:22px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.4) inset;opacity:0;animation:fadeup 1s var(--e) .5s forwards;max-width:560px;margin:0 auto;width:100%}
.xpick .lbl{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#7B7188}
.xfield{display:flex;align-items:center;gap:12px;margin-top:12px;padding:6px 6px 6px 18px;border-radius:16px;border:1.5px solid #E2DCD3;background:#F6F4F0}
.xfield .txt{flex:1;font-family:'Inter',Arial,sans-serif;font-size:1rem;color:#222;min-height:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xfield .txt::after{content:'';display:inline-block;width:2px;height:1.1em;background:#400072;margin-left:2px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
.xfield .go{width:44px;height:44px;border-radius:12px;background:#400072;color:#fff;display:grid;place-items:center;flex:none}
.xfield .go svg{width:20px;height:20px}
.xchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.xchips button{height:34px;padding:0 12px;border-radius:999px;border:1px solid #E2DCD3;background:#fff;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.8rem;color:#4F4560;cursor:pointer;transition:all .18s}
.xchips button:hover{border-color:#400072;color:#400072}
.xchips button.on{background:#400072;border-color:#400072;color:#fff}
.xmatch{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-top:16px;padding:14px;border-radius:16px;background:#fff;border:1.5px solid var(--c,#7C3AAF);box-shadow:0 12px 30px -18px var(--c,#7C3AAF);transition:border-color .3s,box-shadow .3s}
.xmatch img{width:56px;height:56px;border-radius:14px;object-fit:cover;object-position:top;background:#fff;border:2px solid var(--c,#7C3AAF);transition:transform .35s var(--e)}
.xmatch.swap img{animation:pop .45s var(--e)}
@keyframes pop{0%{transform:scale(.7) rotate(-6deg);opacity:0}100%{transform:none;opacity:1}}
.xmatch .lbl{color:var(--c,#7C3AAF)}
.xmatch b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1rem;color:#222;margin-top:2px}
.xmatch b em{font-style:normal;font-weight:500;color:#7B7188}
.xmatch p{font-size:.86rem;color:#4F4560;margin-top:2px}
.xmatch .arr{width:40px;height:40px;border-radius:50%;background:var(--c,#7C3AAF);color:#fff;display:grid;place-items:center}
.xmatch .arr svg{width:18px;height:18px}

/* lineup */
.xstage{position:relative;height:300px;margin-top:12px;overflow:hidden}
@media(min-width:1000px){.xstage{height:420px;margin-top:0}}
.xstage img{position:absolute;bottom:-6px;width:auto;height:100%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45));opacity:0;animation:rise 1.1s var(--e) forwards;will-change:transform;transform:translateX(calc(-50% + var(--px,0px)))}
@keyframes rise{from{opacity:0;transform:translateX(-50%) translateY(60px)}to{opacity:1;transform:translateX(calc(-50% + var(--px,0px))) translateY(0)}}
.xstage img:nth-child(2){left:12%;height:78%;z-index:1;animation-delay:.35s}
.xstage img:nth-child(3){left:31%;height:90%;z-index:2;animation-delay:.25s}
.xstage img:nth-child(4){left:50%;height:100%;z-index:3;animation-delay:.15s}
.xstage img:nth-child(5){left:69%;height:90%;z-index:2;animation-delay:.28s}
.xstage img:nth-child(6){left:88%;height:78%;z-index:1;animation-delay:.4s}
.xstage .xfloor{position:absolute;left:50%;bottom:-30px;width:120%;height:40%;transform:translateX(-50%);background:radial-gradient(50% 60% at 50% 100%,rgba(255,255,255,.28),transparent 70%);pointer-events:none}
.xright{display:grid;gap:0}

/* marquee */
.xmq{background:#1E0538;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;padding:16px 0}
.xmq-track{display:flex;gap:12px;width:max-content;animation:mq 60s linear infinite}
.xmq:hover .xmq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.xmq a{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-family:'Inter',Arial,sans-serif;font-size:.84rem;white-space:nowrap;transition:background .2s}
.xmq a:hover{background:rgba(255,255,255,.14)}
.xmq img{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:top;background:#fff;border:2px solid var(--c)}
.xmq b{font-weight:700}
.xmq span{color:#C9B7E0}

/* big statement */
.xstate{padding:120px 0;text-align:center}
@media(min-width:900px){.xstate{padding:160px 0}}
.xstate h2{font-size:clamp(2rem,4.6vw,3.9rem);letter-spacing:-.045em;line-height:1.02;max-width:20ch;margin:0 auto}
.xstate h2 .dim{color:var(--ink-3)}
.xstate p{max-width:38em;margin:26px auto 0;font-size:1.12rem;color:var(--ink-2)}
.xstate .three{display:grid;gap:14px;max-width:960px;margin:44px auto 0}
@media(min-width:800px){.xstate .three{grid-template-columns:repeat(3,1fr)}}
.xstate .three div{padding:22px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-align:left;font-size:.95rem;color:var(--ink-2)}
.xstate .three b{display:block;font-family:'Inter',Arial,sans-serif;font-size:2rem;letter-spacing:-.04em;color:var(--pink);line-height:1;margin-bottom:10px}

/* reveal on scroll */
.js .h2x .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--e),transform .9s var(--e)}
.js .h2x .rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}

/* sticky story */
.xstory{background:var(--purple);color:#fff;position:relative;isolation:isolate}
.xstory::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 40% at 90% 0%,rgba(218,42,117,.35),transparent 60%),radial-gradient(40% 40% at 0% 100%,rgba(251,178,47,.14),transparent 60%)}
.xstory-in{display:grid;gap:40px;padding:110px 0}
@media(min-width:960px){.xstory-in{grid-template-columns:1fr 1fr;gap:80px;align-items:start;padding:140px 0}}
.xsticky{position:sticky;top:96px}
.xsteps{display:grid;gap:200px;padding:60px 0}
.xstep{opacity:.28;transition:opacity .5s;min-height:300px;display:flex;flex-direction:column;justify-content:center}
.xstep.on{opacity:1}
.xstep .n{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.8rem;letter-spacing:.2em;color:#FBB22F}
.xstep h3{color:#fff;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.04em;margin-top:12px}
.xstep p{color:#D9CCEA;font-size:1.08rem;margin-top:14px;max-width:32em}
.xdevice{border-radius:28px;background:#fff;color:#222;box-shadow:0 60px 120px -40px rgba(0,0,0,.7);overflow:hidden;position:relative;aspect-ratio:4/3.4;max-width:560px}
.xdevice .bar{height:44px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid #EFEAF4;background:#FBF9FD}
.xdevice .bar i{width:10px;height:10px;border-radius:50%;background:#E2DCD3}
.xdevice .bar i:first-child{background:#DA2A75}
.xdevice .bar span{margin-left:auto;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7B7188}
.xscene{position:absolute;inset:44px 0 0;padding:22px;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .6s var(--e),transform .6s var(--e);pointer-events:none}
.xscene.on{opacity:1;transform:none;pointer-events:auto}
.xscene .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.xscene .g{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:14px;border:1px solid #EFEAF4;background:#fff;font-family:'Inter',Arial,sans-serif;font-size:.72rem;font-weight:600;color:#4F4560;text-align:center}
.xscene .g img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.xscene .g.pick{border-color:#400072;box-shadow:0 0 0 3px rgba(64,0,114,.15);transform:scale(1.06)}
.xscene .msg{max-width:92%}
.xscene .stack{display:grid;gap:10px}
.xscene .guard{display:grid;gap:8px}
.xscene .guard div{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#F6F4F0;border:1px solid #E2DCD3;font-size:.84rem;color:#4F4560;font-family:'Inter',Arial,sans-serif;font-weight:600}
.xscene .guard svg{width:18px;height:18px;flex:none}
.xscene .guard .ok svg{color:#2E8A72}.xscene .guard .no svg{color:#DA2A75}
.xscene .mem{display:flex;align-items:center;gap:10px;justify-content:space-between}
.xscene .mem img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--c);background:#fff}
.xscene .mem .line{flex:1;height:2px;background:linear-gradient(90deg,#400072,#DA2A75);position:relative}
.xscene .mem .line::after{content:'';position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:#FBB22F;animation:travel 2.4s linear infinite}
@keyframes travel{to{left:calc(100% - 10px)}}
.xscene .mem-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:#F6F4F0;border:1px solid #E2DCD3;font-size:.86rem;color:#4F4560}
.xdots{display:flex;gap:6px;position:absolute;left:22px;bottom:16px}
.xdots i{width:6px;height:6px;border-radius:50%;background:#E2DCD3;transition:all .3s}
.xdots i.on{background:#400072;width:18px;border-radius:3px}

/* classmates grid xl */
.xgrid-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:36px}
.xgrid-head h2{font-size:clamp(2rem,4.4vw,3.6rem);letter-spacing:-.045em;max-width:14ch}
.xmate{position:relative;overflow:hidden}
.xmate::before{content:'';position:absolute;inset:-40% -40% auto auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 22%,transparent),transparent 65%);opacity:0;transition:opacity .35s}
.xmate:hover::before{opacity:1}
.xmate .try{font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.78rem;color:var(--ink-3);margin-top:8px;display:inline-flex;align-items:flex-start;gap:6px;line-height:1.35;transition:color .25s}
.xmate:hover .try{color:var(--c)}
.xmate .try svg{flex:none;margin-top:3px}
.xmate .try svg{width:14px;height:14px}

/* counters */
.xnum{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:clamp(3rem,7vw,5.5rem);letter-spacing:-.06em;line-height:1;color:#fff}
.xnum small{font-size:.35em;font-weight:700;letter-spacing:-.02em;color:#C9B7E0;margin-left:6px}
.xsub-grid{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.xsub-grid{grid-template-columns:1fr 1fr;gap:64px}}
.xsub-cards{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.xsub-cards .box{padding:22px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15)}
.xsub-cards .box.us{background:#fff;color:#222;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.xsub-cards .box .k{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#C9B7E0}
.xsub-cards .box.us .k{color:#DA2A75}
.xsub-cards .box .v{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.4rem;letter-spacing:-.05em;line-height:1;margin-top:10px}
.xsub-cards .box .v small{font-size:.9rem;font-weight:600;color:#C9B7E0;letter-spacing:0}
.xsub-cards .box.us .v small{color:#7B7188}
.xsub-cards .box ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:5px;font-size:.84rem;color:#D9CCEA}
.xsub-cards .box.us ul{color:#4F4560}
.xsub-cards .arr{width:44px;height:44px;border-radius:50%;background:#DA2A75;color:#fff;display:grid;place-items:center}
.xsub-cards .arr svg{width:20px;height:20px}
@media(max-width:600px){.xsub-cards{grid-template-columns:1fr}.xsub-cards .arr{transform:rotate(90deg);margin:0 auto}}

/* closing xl */
.xclose{background:#1E0538;color:#fff;text-align:center;padding:140px 0;position:relative;overflow:hidden;isolation:isolate}
.xclose::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(45% 60% at 50% 100%,rgba(218,42,117,.45),transparent 65%)}
.xclose h2{color:#fff;font-size:clamp(2.6rem,6.5vw,5.4rem);letter-spacing:-.055em;line-height:.96;max-width:14ch;margin:0 auto}
.xclose p{color:#D9CCEA;max-width:34em;margin:24px auto 0;font-size:1.12rem}
.xclose .actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:36px}
.xclose .faces{display:flex;justify-content:center;margin-bottom:28px}
.xclose .faces img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid #1E0538;background:#fff;margin-left:-12px;transition:transform .3s var(--e)}
.xclose .faces img:hover{transform:translateY(-8px) scale(1.1);z-index:2;position:relative}

/* nav on flagship home: transparent over hero, solid after scroll */
.nav.glass{background:rgba(42,10,82,.55)}
.nav.glass.stuck{background:rgba(42,10,82,.92)}

@media(prefers-reduced-motion:reduce){
  .xhero .orb,.xh1 .w,.xlede,.xactions,.xproof,.xpick,.xstage img,.xmq-track,.xkicker i,.xscene .mem .line::after{animation:none!important;opacity:1!important;transform:none!important}
  .rv{opacity:1;transform:none;transition:none}
}

.xhero .btn-ghost,.xclose .btn-ghost,.xstory .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.xhero .btn-ghost:hover,.xclose .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* =====================================================================
   WOW LAYER: interactive sections shared by Home, Our CMPUS, Features,
   For Universities, About
   ===================================================================== */
.ib{font-family:'Inter',Arial,sans-serif}
.sec-xl{padding:120px 0}
@media(min-width:900px){.sec-xl{padding:150px 0}}
.h-xl{font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.05em;line-height:.98}
.h-lg{font-size:clamp(1.9rem,3.8vw,3.2rem);letter-spacing:-.045em;line-height:1.02}
.dim{color:var(--ink-3)}
.pinkw{color:var(--pink)}

/* ---------- THE GAP ---------- */
.gap{position:relative;overflow:hidden;background:var(--bg)}
.gap-grid{display:grid;gap:22px;align-items:stretch;margin-top:56px}
@media(min-width:960px){.gap-grid{grid-template-columns:1fr .7fr 1fr;gap:0}}
.gap-side{position:relative;padding:28px;border-radius:24px;background:var(--card);border:1px solid var(--line);min-height:340px;overflow:hidden}
.gap-side h3{font-size:1.1rem;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.gap-side h3 i{width:10px;height:10px;border-radius:50%;background:var(--pink);flex:none}
.gap-side.uni h3 i{background:#2E8A72}
.gap-side .sub{font-size:.88rem;color:var(--ink-3);margin-top:6px}
.chaos{position:relative;margin-top:22px;height:230px}
.chaos span{position:absolute;padding:8px 12px;border-radius:12px;background:#FFF;border:1px solid var(--line-2);font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.8rem;color:var(--ink-2);box-shadow:0 8px 20px -12px rgba(34,10,60,.3);white-space:nowrap;animation:float 5s ease-in-out infinite;transform:rotate(var(--r,0deg))}
.chaos span.bad{border-color:#F3C4D6;color:#B4154F;background:#FFF3F7}
@keyframes float{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-9px) rotate(var(--r,0deg))}}
.order{display:grid;gap:10px;margin-top:22px}
.order div{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#EEF7F3;border:1px solid #CFE7DC;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.86rem;color:#1F5C49}
.order svg{width:18px;height:18px;color:#2E8A72;flex:none}
.bridge{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px 10px;min-height:340px}
.bridge .core{position:relative;width:132px;height:132px;border-radius:50%;background:var(--purple);display:grid;place-items:center;box-shadow:0 30px 60px -20px rgba(64,0,114,.7);z-index:2}
.bridge .core img{width:60px}
.bridge .ring{position:absolute;inset:-14px;border-radius:50%;border:2px dashed rgba(218,42,117,.55);animation:spin 18s linear infinite}
.bridge .ring2{position:absolute;inset:-30px;border-radius:50%;border:1px solid rgba(64,0,114,.18);animation:spin 30s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.bridge .lbl{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);text-align:center}
.bridge .wire{position:absolute;top:50%;height:2px;width:calc(50% - 66px);background:linear-gradient(90deg,var(--pink),var(--purple));z-index:1}
.bridge .wire.l{left:0}.bridge .wire.r{right:0;background:linear-gradient(90deg,var(--purple),#2E8A72)}
.bridge .wire::after{content:'';position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:#FBB22F;box-shadow:0 0 12px #FBB22F;animation:travel 2.2s linear infinite}
.bridge .wire.r::after{animation-direction:reverse}
@media(max-width:959px){.bridge{min-height:200px}.bridge .wire{display:none}}
.gap-stats{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:40px}
.gap-stats div{display:flex;align-items:baseline;gap:8px;padding:12px 18px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:.9rem;color:var(--ink-2)}
.gap-stats b{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:1.5rem;letter-spacing:-.04em;color:var(--pink)}

/* ---------- ESSAY NIGHT RACE ---------- */
.night{background:#1E0538;color:#fff;position:relative;isolation:isolate;overflow:hidden}
.night::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 50% at 100% 0%,rgba(218,42,117,.35),transparent 60%),radial-gradient(40% 40% at 0% 100%,rgba(64,0,114,.9),transparent 60%)}
.night .eyebrow{color:var(--orange)}
.night h2{color:#fff}
.night .lede{color:#D9CCEA}
.race{display:grid;gap:28px;margin-top:48px;align-items:start}
@media(min-width:1000px){.race{grid-template-columns:.9fr 1.1fr;gap:40px}}
.clock{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.clock .t{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.6rem;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.clock .d{font-size:.9rem;color:#C9B7E0;line-height:1.3}
.rtl{display:grid;gap:8px}
.tstep{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);cursor:pointer;transition:all .3s var(--e);text-align:left;color:#fff;width:100%}
.tstep:hover{background:rgba(255,255,255,.08)}
.tstep.on{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.tstep.done{opacity:.55}
.tstep img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.tstep b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.95rem}
.tstep b em{font-style:normal;color:#C9B7E0;font-weight:500;font-size:.82rem;margin-left:8px;font-variant-numeric:tabular-nums}
.tstep span{font-size:.84rem;color:#C9B7E0}
.tstep .bar{grid-column:1/-1;height:3px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden;display:none}
.tstep.on .bar{display:block}
.tstep .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--pink));animation:fill var(--dur,3.6s) linear forwards}
@keyframes fill{to{width:100%}}
.race-ctl{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:.82rem;color:#C9B7E0}
.race-ctl button{height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.8rem;cursor:pointer}
.race-ctl button:hover{background:rgba(255,255,255,.1)}
.rdevice{border-radius:26px;background:#fff;color:#222;box-shadow:0 60px 120px -40px rgba(0,0,0,.8);overflow:hidden;position:relative;min-height:440px}
.rdevice .bar{height:44px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid #EFEAF4;background:#FBF9FD}
.rdevice .bar img{width:24px;height:24px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.rdevice .bar b{font-family:'Inter',Arial,sans-serif;font-size:.86rem;color:#400072}
.rdevice .bar span{margin-left:auto;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#7B7188}
.rscene{position:absolute;inset:44px 0 0;padding:20px;display:grid;gap:12px;align-content:start;opacity:0;transform:translateX(24px);transition:opacity .5s var(--e),transform .5s var(--e);pointer-events:none}
.rscene.on{opacity:1;transform:none;pointer-events:auto}
.rscene .msg{max-width:92%}
.rscene .out{padding:14px;border-radius:14px;background:#F6F4F0;border:1px solid #E2DCD3;font-size:.88rem}
.rscene .out .k{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c);margin-bottom:8px}
.rscene .out ol,.rscene .out ul{margin:6px 0 0;padding-left:18px}
.rscene .out li{margin:3px 0}
.rscene .src{display:grid;gap:6px}
.rscene .src div{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #E2DCD3;font-size:.82rem}
.rscene .src i{width:8px;height:8px;border-radius:50%;background:#2E8A72;flex:none}
.rscene .src i.warn{background:#DA2A75}
.rscene .gradebar{display:grid;grid-template-columns:110px 1fr 36px;gap:10px;align-items:center;font-size:.82rem;margin:4px 0}
.rscene .gradebar span:last-child{text-align:right;font-family:'Inter',Arial,sans-serif;font-weight:700}
.rscene .gradebar div{height:8px;border-radius:4px;background:#E2DCD3;overflow:hidden}
.rscene .gradebar div i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--c),#DA2A75);border-radius:4px}
.rscene .done{text-align:center;padding:30px 10px}
.rscene .done b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1.6rem;letter-spacing:-.03em;color:#400072}
.rscene .done span{font-size:.92rem;color:#4F4560}
.tally{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.tally div{padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
.tally .k{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#C9B7E0}
.tally.us .k{color:var(--orange)}
.tally ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;font-size:.86rem;color:#E3D6F2}
.tally li{display:flex;justify-content:space-between;gap:10px}
.tally li b{font-family:'Inter',Arial,sans-serif;font-variant-numeric:tabular-nums;color:#fff}
.tally div.bad{border-color:rgba(218,42,117,.4)}
.tally div.good{border-color:rgba(251,178,47,.5);background:rgba(251,178,47,.06)}
.tally li b.red{color:#FF7AA8}.tally li b.gold{color:var(--orange)}
@media(max-width:600px){.tally{grid-template-columns:1fr}}

/* ---------- WELCOME / SCHOOL TABS ---------- */
.welcome{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wtabs{display:flex;gap:8px;overflow-x:auto;padding:6px 2px 14px;margin-top:36px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.wtabs::-webkit-scrollbar{display:none}
.wtab{flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.86rem;color:var(--ink-2);cursor:pointer;transition:all .2s var(--e);white-space:nowrap}
.wtab .ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--bg-3);color:var(--purple)}
.wtab .ic svg{width:16px;height:16px}
.wtab .n{font-size:.72rem;color:var(--ink-3);font-weight:600}
.wtab:hover{border-color:var(--purple);transform:translateY(-1px)}
.wtab.on{background:var(--purple);border-color:var(--purple);color:#fff}
.wtab.on .ic{background:rgba(255,255,255,.18);color:#fff}.wtab.on .n{color:#E3D6F2}
.wtab.soon{border-style:dashed}
.wpanel{display:none;animation:panelin .5s var(--e)}
.wpanel.on{display:block}
@keyframes panelin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.whead{display:grid;gap:8px;margin:26px 0 22px}
@media(min-width:900px){.whead{grid-template-columns:1fr auto;align-items:end}}
.whead h3{font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.035em}
.whead p{color:var(--ink-2);max-width:48em}
.whead .meta{display:flex;gap:16px;font-family:'Inter',Arial,sans-serif;font-size:.8rem;font-weight:600;color:var(--ink-3)}
.wcards{display:grid;gap:16px}
@media(min-width:700px){.wcards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.wcards{grid-template-columns:repeat(var(--cols,3),1fr)}}
.wcard{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:22px;background:var(--card);border:1px solid var(--line);overflow:hidden;transition:transform .25s var(--e),box-shadow .25s var(--e),border-color .25s}
.wcard::before{content:'';position:absolute;inset:0 0 auto 0;height:6px;background:var(--c)}
.wcard:hover{transform:translateY(-4px);box-shadow:0 30px 50px -30px color-mix(in srgb,var(--c) 60%,transparent);border-color:var(--c)}
.wcard .top{display:flex;align-items:center;gap:16px}
.wcard .av{width:84px;height:84px;border-radius:50%;padding:3px;background:var(--c);flex:none}
.wcard .av img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top;background:#fff}
.wcard h4{font-size:1.35rem;letter-spacing:-.03em}
.wcard .role{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-top:4px}
.wcard p{font-size:.94rem;color:var(--ink-2);flex:1}
.wcard .ask{padding:10px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--line);font-size:.84rem;color:var(--ink);font-style:italic}
.wcard .ask::before{content:'“';color:var(--c);font-style:normal;font-weight:900;font-family:'Inter',Arial,sans-serif;margin-right:2px}
.wcard .acts{display:flex;gap:8px;flex-wrap:wrap}
.wcard .acts .btn{height:40px;padding:0 14px;font-size:.84rem}
.wcard .acts .btn-c{background:var(--c);color:#fff}
.wcard.ghost{border-style:dashed;background:transparent;justify-content:center;align-items:center;text-align:center;min-height:240px}
.wcard.ghost::before{display:none}
.wcard.ghost .q{width:84px;height:84px;border-radius:50%;border:2px dashed var(--line-2);display:grid;place-items:center;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2rem;color:var(--ink-4)}
.wcard.ghost h4{color:var(--ink-2)}
.wcard.ghost p{flex:none;color:var(--ink-3)}
.wcard.alexcard{background:linear-gradient(120deg,var(--purple),#5A128F);color:#fff;border:none}
.wcard.alexcard h4,.wcard.alexcard .role{color:#fff}.wcard.alexcard .role{color:var(--orange)}.wcard.alexcard p{color:#E3D6F2}
.wcard.alexcard .ask{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.wcard.alexcard::before{display:none}
.wfaces{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.wfaces img{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;cursor:pointer;transition:transform .2s var(--e)}
.wfaces img:hover{transform:translateY(-4px) scale(1.12)}

/* ---------- HOLY SHOWCASE ---------- */
.holy{background:var(--purple);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.holy::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 90% 10%,rgba(218,42,117,.4),transparent 60%)}
.holy .eyebrow{color:var(--orange)}.holy h2{color:#fff}.holy .lede{color:#D9CCEA}
.htabs{display:grid;gap:10px;margin-top:40px}
@media(min-width:900px){.htabs{grid-template-columns:repeat(4,1fr)}}
.htab{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);cursor:pointer;text-align:left;color:#fff;transition:all .25s var(--e)}
.htab img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.htab b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.95rem}
.htab span{font-size:.8rem;color:#C9B7E0}
.htab.on{background:#fff;color:#222;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.htab.on span{color:#7B7188}
.hpanel{display:none;margin-top:18px;border-radius:26px;background:#fff;color:#222;padding:26px;box-shadow:0 60px 120px -50px rgba(0,0,0,.8)}
.hpanel.on{display:grid;animation:panelin .5s var(--e)}
@media(min-width:900px){.hpanel.on{grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center}}
.hpanel .say{display:grid;gap:14px}
.hpanel .say .msg{max-width:100%}
.hpanel .say .msg.me{background:var(--c)}
.hpanel .say h3{font-size:1.4rem;letter-spacing:-.03em;color:#400072}
.hpanel .say p.big{font-size:1.02rem;color:#4F4560}
.hpanel .viz{padding:22px;border-radius:20px;background:#F6F4F0;border:1px solid #E2DCD3}
.viz .k{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c);margin-bottom:12px}
.rubric{display:grid;gap:10px}
.rubric div{display:grid;grid-template-columns:120px 1fr 44px;gap:10px;align-items:center;font-size:.86rem}
.rubric div span:last-child{text-align:right;font-family:'Inter',Arial,sans-serif;font-weight:800;color:#400072}
.rubric div i{display:block;height:10px;border-radius:5px;background:#E2DCD3;overflow:hidden}
.rubric div i::after{content:'';display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c),#DA2A75);border-radius:5px;transition:width 1.2s var(--e)}
.hpanel.on .rubric div i::after{width:var(--w)}
.grade{display:flex;align-items:center;gap:16px;margin-top:18px;padding-top:16px;border-top:1px dashed #CFC6BB}
.grade b{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.6rem;letter-spacing:-.05em;color:#400072;line-height:1}
.grade b em{font-style:normal;color:#DA2A75;font-size:1.2rem;margin-left:6px}
.grade span{font-size:.86rem;color:#4F4560}
.dial{display:flex;align-items:center;gap:22px}
.dial svg{width:150px;height:150px;flex:none}
.dial circle.bg{fill:none;stroke:#E2DCD3;stroke-width:12}
.dial circle.fg{fill:none;stroke:var(--c);stroke-width:12;stroke-linecap:round;stroke-dasharray:408;stroke-dashoffset:408;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.4s var(--e)}
.hpanel.on .dial circle.fg{stroke-dashoffset:var(--o)}
.dial text{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:34px;fill:#400072;letter-spacing:-2px}
.dial ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.86rem}
.dial li{display:flex;gap:8px;align-items:center}
.dial li i{width:9px;height:9px;border-radius:50%;flex:none}
.exam{display:grid;gap:10px}
.exam .q{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #E2DCD3;font-size:.86rem;opacity:0;transform:translateY(8px);animation:qin .5s var(--e) forwards}
.exam .q:nth-child(2){animation-delay:.15s}.exam .q:nth-child(3){animation-delay:.3s}.exam .q:nth-child(4){animation-delay:.45s}
@keyframes qin{to{opacity:1;transform:none}}
.exam .q b{font-family:'Inter',Arial,sans-serif;color:var(--c);margin-right:6px}
.exam .q .opt{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.exam .q .opt span{padding:4px 9px;border-radius:8px;border:1px solid #E2DCD3;font-size:.78rem;background:#F6F4F0}
.exam .q .opt span.ok{border-color:#2E8A72;background:#EEF7F3;color:#1F5C49;font-weight:700}
.exam .score{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:#400072;color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.9rem}
.exam .score b{font-size:1.4rem}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.week .d{border-radius:10px;background:#fff;border:1px solid #E2DCD3;padding:8px 6px;min-height:118px;font-size:.7rem}
.week .d b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.7rem;color:#7B7188;margin-bottom:6px;letter-spacing:.06em}
.week .d span{display:block;padding:4px 6px;border-radius:6px;background:var(--c);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.66rem;margin-bottom:4px;line-height:1.2;opacity:0;animation:qin .5s var(--e) forwards}
.week .d span.lt{background:#EFE6F7;color:#400072}
.week .d span.exam{background:#DA2A75}
.week .d:nth-child(2) span{animation-delay:.1s}.week .d:nth-child(3) span{animation-delay:.2s}.week .d:nth-child(4) span{animation-delay:.3s}.week .d:nth-child(5) span{animation-delay:.4s}.week .d:nth-child(6) span{animation-delay:.5s}.week .d:nth-child(7) span{animation-delay:.6s}
.week-sum{display:flex;justify-content:space-between;margin-top:12px;font-size:.84rem;color:#4F4560;font-family:'Inter',Arial,sans-serif;font-weight:600}

/* ---------- SAME REQUEST, TWO ANSWERS ---------- */
.duel-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:34px}
.duel-tabs button{height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.86rem;color:var(--ink-2);cursor:pointer;transition:all .2s}
.duel-tabs button.on{background:var(--purple);border-color:var(--purple);color:#fff}
.duel{display:grid;gap:16px;margin-top:24px;align-items:stretch}
@media(min-width:900px){.duel{grid-template-columns:1fr 1fr}}
.dcard{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column}
.dcard .dh{display:flex;align-items:center;gap:10px;padding:14px 18px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.dcard.gen .dh{background:#1A1A1A;color:#BDBDBD}
.dcard.us .dh{background:var(--purple);color:#fff}
.dcard .dh img{width:26px;height:26px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.dcard .body{padding:18px;display:grid;gap:12px;flex:1;align-content:start}
.dcard .prompt{padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--line);font-size:.9rem;color:var(--ink)}
.dcard .prompt::before{content:'You';display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.dcard .ans{padding:14px;border-radius:12px;font-size:.88rem;line-height:1.5}
.dcard.gen .ans{background:#F4F4F4;color:#555;border:1px solid #E5E5E5;font-family:ui-monospace,Menlo,monospace;font-size:.8rem;max-height:140px;overflow:hidden;position:relative}
.dcard.gen .ans::after{content:'';position:absolute;inset:auto 0 0;height:60px;background:linear-gradient(transparent,#F4F4F4)}
.dcard.us .ans{background:#F6F4F0;border:1px solid #E2DCD3;color:#222}
.dcard.us .ans .k{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c);margin-bottom:6px}
.dcard .flags{display:grid;gap:6px;margin-top:auto}
.dcard .flags div{display:flex;gap:8px;align-items:center;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.82rem;padding:8px 10px;border-radius:10px}
.dcard.gen .flags div{background:#FFF3F7;color:#B4154F;border:1px solid #F3C4D6}
.dcard.us .flags div{background:#EEF7F3;color:#1F5C49;border:1px solid #CFE7DC}
.dcard .flags svg{width:16px;height:16px;flex:none}
.dpanel{display:none}.dpanel.on{display:contents}
.vs.score .vs-row div{padding:14px 22px}
.vs.score .vs-row{opacity:0;transform:translateX(-10px);transition:all .5s var(--e)}
.vs.score .vs-row.in{opacity:1;transform:none}

/* ---------- RECEIPT ---------- */
.pain{background:var(--bg);position:relative}
.receipts{display:grid;gap:22px;margin-top:48px;align-items:start}
@media(min-width:900px){.receipts{grid-template-columns:1fr 1fr;gap:36px}}
.rc{position:relative;background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 28px 34px;font-family:ui-monospace,Menlo,Consolas,monospace;color:#333;box-shadow:0 30px 60px -30px rgba(34,10,60,.35)}
.rc::after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:10px;background:linear-gradient(135deg,transparent 50%,#fff 50%) 0 0/16px 16px,linear-gradient(45deg,#fff 50%,transparent 50%) 0 0/16px 16px;opacity:.9}
.rc .rh{text-align:center;border-bottom:1px dashed #CFC6BB;padding-bottom:14px;margin-bottom:14px}
.rc .rh b{display:block;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase}
.rc .rh span{font-size:.78rem;color:#7B7188}
.rc .li{display:grid;grid-template-columns:1fr auto;gap:12px;padding:9px 0;border-bottom:1px dotted #E2DCD3;font-size:.86rem;opacity:0;transform:translateY(6px);transition:all .45s var(--e)}
.rc.in .li{opacity:1;transform:none}
.rc .li:nth-child(2){transition-delay:.15s}.rc .li:nth-child(3){transition-delay:.3s}.rc .li:nth-child(4){transition-delay:.45s}.rc .li:nth-child(5){transition-delay:.6s}.rc .li:nth-child(6){transition-delay:.75s}.rc .li:nth-child(7){transition-delay:.9s}
.rc .li small{display:block;font-size:.72rem;color:#B4154F;margin-top:3px;font-family:'Inter',Arial,sans-serif;font-weight:600}
.rc.us .li small{color:#1F5C49}
.rc .tot{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;margin-top:6px;border-top:2px solid #333;font-weight:700}
.rc .tot b{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rc .stamp{position:absolute;right:18px;top:18px;padding:8px 12px;border:3px solid #B4154F;color:#B4154F;border-radius:6px;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;transform:rotate(8deg) scale(0);opacity:.9;transition:transform .4s cubic-bezier(.34,1.56,.64,1) 1.1s}
.rc.in .stamp{transform:rotate(8deg) scale(1)}
.rc.us .stamp{border-color:#2E8A72;color:#2E8A72;transform:rotate(-6deg) scale(0)}
.rc.us.in .stamp{transform:rotate(-6deg) scale(1)}
.rc.us{border-color:#CFE7DC;background:linear-gradient(180deg,#FFFFFF,#F4FBF7)}
.pain-note{display:grid;gap:14px;margin-top:36px}
@media(min-width:900px){.pain-note{grid-template-columns:1fr 1fr;gap:36px}}
.pain-note div{padding:22px;border-radius:18px;border:1px solid var(--line);background:var(--card);font-size:.95rem;color:var(--ink-2)}
.pain-note b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);margin-bottom:8px;font-size:1.05rem}

/* ---------- FAQ WOW ---------- */
.faqx{display:grid;gap:32px;align-items:start}
@media(min-width:960px){.faqx{grid-template-columns:.8fr 1.2fr;gap:64px}}
.faq-side{position:sticky;top:96px;padding:28px;border-radius:24px;background:var(--purple);color:#fff}
.faq-side img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid #fff;background:#fff}
.faq-side h3{color:#fff;font-size:1.5rem;margin-top:16px;letter-spacing:-.03em}
.faq-side p{color:#E3D6F2;margin-top:10px;font-size:.95rem}
.faq-side .btn{margin-top:18px}
.ftabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.ftabs button{height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.84rem;color:var(--ink-2);cursor:pointer}
.ftabs button.on{background:var(--pink);border-color:var(--pink);color:#fff}
.fpanel{display:none}.fpanel.on{display:block;animation:panelin .4s var(--e)}
.faq2 details{border:1px solid var(--line);border-radius:16px;background:var(--card);margin-bottom:10px;overflow:hidden;transition:border-color .2s}
.faq2 details[open]{border-color:var(--purple)}
.faq2 summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px 20px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:1rem;color:var(--hi)}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary .n{font-size:.72rem;letter-spacing:.12em;color:var(--pink);font-weight:800}
.faq2 summary .pm{width:30px;height:30px;border-radius:50%;background:var(--bg-3);display:grid;place-items:center;color:var(--purple);transition:transform .3s var(--e)}
.faq2 summary .pm svg{width:14px;height:14px}
.faq2 details[open] summary .pm{transform:rotate(45deg);background:var(--purple);color:#fff}
.faq2 .a{padding:0 20px 20px 58px;color:var(--ink-2);font-size:.95rem;max-width:62ch}

/* ---------- OUR CMPUS: CAMPUS BUILDINGS ---------- */
.campus-hero{background:#1E0538;color:#fff;position:relative;overflow:hidden;isolation:isolate;padding:72px 0 0}
.campus-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 50% at 50% 0%,rgba(64,0,114,.9),transparent 65%),radial-gradient(40% 40% at 100% 100%,rgba(218,42,117,.3),transparent 65%)}
.campus-hero h1{color:#fff;font-size:clamp(2.6rem,6.4vw,5.4rem);letter-spacing:-.055em;line-height:.95;margin-top:16px}
.campus-hero .lede{color:#D9CCEA;margin-top:20px;max-width:34em}
.campus-hero .eyebrow{color:var(--orange)}
.quad{position:relative;margin-top:56px;padding:44px 0 0;background:linear-gradient(180deg,transparent,rgba(255,255,255,.04));border-top:1px solid rgba(255,255,255,.08)}
.quad::before{content:'';position:absolute;inset:0;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:44px 44px;pointer-events:none;mask-image:linear-gradient(180deg,transparent,#000 30%,#000 80%,transparent)}
.blocks{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding-bottom:64px}
@media(min-width:760px){.blocks{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1040px){.blocks{grid-template-columns:repeat(5,1fr);gap:18px}}
.bld{position:relative;display:flex;flex-direction:column;gap:0;color:#fff;text-decoration:none;transition:transform .3s var(--e)}
.bld:hover{transform:translateY(-6px)}
.bld .roof{height:14px;border-radius:10px 10px 0 0;background:var(--c);margin:0 8px;box-shadow:0 -2px 0 rgba(255,255,255,.2) inset}
.bld .body{border-radius:6px 6px 14px 14px;background:linear-gradient(180deg,#2C0A52,#24083F);border:1px solid rgba(255,255,255,.14);padding:14px 14px 16px;display:flex;flex-direction:column;gap:12px;min-height:180px;position:relative;overflow:hidden}
.bld .win{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.bld .win i{aspect-ratio:1;border-radius:3px;background:rgba(255,255,255,.08);transition:background .3s,box-shadow .3s}
.bld:hover .win i{background:var(--orange);box-shadow:0 0 10px rgba(251,178,47,.6)}
.bld:hover .win i:nth-child(3n){background:rgba(251,178,47,.35)}
.bld .sign{margin-top:auto}
.bld .sign b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.95rem;letter-spacing:-.01em;line-height:1.2}
.bld .sign span{display:block;font-size:.76rem;color:#C9B7E0;margin-top:4px}
.bld .door{position:absolute;left:50%;bottom:0;width:26px;height:22px;transform:translateX(-50%);background:var(--c);border-radius:8px 8px 0 0;opacity:.9}
.bld .faces{display:flex;position:absolute;top:12px;right:12px}
.bld .faces img{width:24px;height:24px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #24083F;background:#fff;margin-left:-8px}
.bld.front .body{background:linear-gradient(180deg,#DA2A75,#B4154F);border-color:rgba(255,255,255,.3)}
.bld.front .sign span{color:#FCE0EC}
.bld.soon .body{border-style:dashed;background:transparent}
.bld.soon .roof{background:repeating-linear-gradient(45deg,#FBB22F 0 10px,#222 10px 20px)}
.bld.soon .win i{background:rgba(255,255,255,.04)}
.pin{position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:#fff;color:var(--pink);font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 20px rgba(0,0,0,.3);animation:bob 2s ease-in-out infinite}
@keyframes bob{50%{transform:translate(-50%,-6px)}}

.floor{padding:88px 0;border-top:1px solid var(--line)}
.floor:nth-of-type(even){background:var(--bg-2)}
.floor-head{display:grid;gap:22px;align-items:end;margin-bottom:32px}
@media(min-width:900px){.floor-head{grid-template-columns:1.1fr .9fr;gap:64px}}
.floor-head .badge{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.78rem;color:var(--ink-2)}
.floor-head .badge .ic{width:28px;height:28px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center}
.floor-head .badge .ic svg{width:15px;height:15px}
.floor-head h2{margin-top:16px}
.floor-head .hook{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:clamp(1.3rem,2.2vw,1.7rem);letter-spacing:-.03em;line-height:1.15;color:var(--hi)}
.floor-head .copy{color:var(--ink-2);display:grid;gap:10px;font-size:.98rem}
.floor-head .punch{font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--pink)}
.doors{display:grid;gap:14px}
@media(min-width:700px){.doors{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.doors{grid-template-columns:repeat(var(--cols,3),1fr)}}
.door-card{border-radius:20px;background:var(--card);border:1px solid var(--line);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.door-card[open]{border-color:var(--c);box-shadow:0 30px 50px -30px color-mix(in srgb,var(--c) 60%,transparent)}
.door-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px}
.door-card summary::-webkit-details-marker{display:none}
.door-card summary img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--c);background:#fff}
.door-card summary b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1.15rem;letter-spacing:-.02em;color:var(--hi)}
.door-card summary span{display:block;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-top:3px}
.door-card summary .pm{width:34px;height:34px;border-radius:50%;background:var(--bg-3);display:grid;place-items:center;color:var(--purple);transition:transform .3s var(--e)}
.door-card summary .pm svg{width:14px;height:14px}
.door-card[open] summary .pm{transform:rotate(45deg);background:var(--c);color:#fff}
.door-card .in{padding:0 18px 20px;display:grid;gap:12px;font-size:.92rem;color:var(--ink-2)}
.door-card .in .k{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c)}
.door-card .in ul{margin:0;padding-left:18px;display:grid;gap:4px}
.door-card .in .ask{padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-style:italic;color:var(--ink)}
.door-card .in .acts{display:flex;gap:8px;flex-wrap:wrap}
.door-card .in .btn{height:40px;padding:0 14px;font-size:.84rem}
.door-card .in .btn-c{background:var(--c);color:#fff}
.construction{background:repeating-linear-gradient(45deg,#FBB22F 0 14px,#1E0538 14px 28px);height:10px}

/* ---------- FEATURES: HERO TOGGLE + FLIP CARDS ---------- */
.fx-hero{background:var(--purple);color:#fff;padding:72px 0 80px;position:relative;isolation:isolate;overflow:hidden}
.fx-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 60% at 90% 0%,rgba(218,42,117,.4),transparent 65%)}
.fx-hero h1{color:#fff;font-size:clamp(2.4rem,5.6vw,4.4rem);letter-spacing:-.05em;line-height:.98;margin-top:14px}
.fx-hero .lede{color:#E3D6F2;margin-top:18px}
.fx-hero .eyebrow{color:var(--orange)}
.switch{display:inline-grid;grid-template-columns:1fr 1fr;position:relative;padding:5px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);margin-top:30px}
.switch .knob{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:#fff;transition:transform .45s var(--e)}
.switch.b .knob{transform:translateX(100%)}
.switch button{position:relative;z-index:1;height:44px;padding:0 22px;border:none;background:transparent;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.9rem;color:#fff;cursor:pointer;transition:color .3s}
.switch:not(.b) button:first-child,.switch.b button:last-child{color:#400072}
.fx-device{margin-top:36px;border-radius:26px;background:#fff;color:#222;box-shadow:0 60px 120px -40px rgba(0,0,0,.8);overflow:hidden;position:relative;min-height:380px}
.fx-device .bar{height:44px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid #EFEAF4;background:#FBF9FD;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7B7188}
.fx-device .bar i{width:10px;height:10px;border-radius:50%;background:#E2DCD3}
.fx-device .bar i:first-child{background:#DA2A75}
.fx-device .bar span{margin-left:auto}
.fx-scene{position:absolute;inset:44px 0 0;padding:20px;display:grid;gap:12px;align-content:start;opacity:0;transform:scale(.98);transition:opacity .45s var(--e),transform .45s var(--e);pointer-events:none}
.fx-scene.on{opacity:1;transform:none;pointer-events:auto}
.fx-scene.gen{background:#141414;color:#DDD}
.fx-scene.gen .box{border:1px solid #333;border-radius:14px;padding:14px 16px;background:#1D1D1D;font-family:'Inter',Arial,sans-serif;color:#EEE;font-size:.9rem}
.fx-scene.gen .wall{font-family:ui-monospace,Menlo,monospace;font-size:.78rem;color:#9A9A9A;line-height:1.55;max-height:150px;overflow:hidden;position:relative;padding:12px 14px;border-radius:12px;background:#1A1A1A;border:1px solid #2A2A2A}
.fx-scene.gen .wall::after{content:'';position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(transparent,#1A1A1A)}
.fx-scene .flag{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.82rem}
.fx-scene.gen .flag{background:#3A1220;color:#FF7AA8;border:1px solid #5A1A32}
.fx-scene.us .flag{background:#EEF7F3;color:#1F5C49;border:1px solid #CFE7DC}
.fx-scene .flag svg{width:16px;height:16px;flex:none}
.fx-scene.us .msg{max-width:94%}
.flips{display:grid;gap:16px}
@media(min-width:720px){.flips{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.flips{grid-template-columns:repeat(3,1fr)}}
.flip{perspective:1200px;min-height:280px;cursor:pointer}
.flip .card{position:relative;width:100%;height:100%;min-height:280px;transition:transform .7s var(--e);transform-style:preserve-3d}
.flip:hover .card,.flip.on .card{transform:rotateY(180deg)}
.flip .face{position:absolute;inset:0;border-radius:22px;padding:26px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;gap:12px}
.flip .front{background:var(--card);border:1px solid var(--line)}
.flip .back{background:var(--purple);color:#fff;transform:rotateY(180deg)}
.flip .num{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.72rem;letter-spacing:.16em;color:var(--pink)}
.flip .back .num{color:var(--orange)}
.flip h3{font-size:1.25rem;letter-spacing:-.025em}
.flip .back h3{color:#fff}
.flip p{font-size:.92rem;color:var(--ink-2);flex:1}
.flip .back p{color:#E3D6F2}
.flip .hint{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.74rem;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.flip .hint svg{width:14px;height:14px}
.flip .back .punch{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.95rem;color:var(--orange)}

/* ---------- UNIVERSITIES: COURSE CARD ---------- */
.course{display:grid;gap:26px;align-items:center}
@media(min-width:960px){.course{grid-template-columns:1fr 1fr;gap:56px}}
.ccard{border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh);overflow:hidden}
.ccard .ch{padding:18px 22px;background:var(--purple);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px}
.ccard .ch b{font-family:'Inter',Arial,sans-serif;font-size:1.05rem;display:block}
.ccard .ch span{font-size:.8rem;color:#E3D6F2}
.ccard .ch .tag{background:var(--orange);color:#222;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;white-space:nowrap}
.ccard .cb{padding:20px 22px;display:grid;gap:14px}
.ccard .row{display:grid;grid-template-columns:130px 1fr;gap:12px;font-size:.9rem;align-items:start}
.ccard .row .k{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding-top:4px}
.ccard .chips{display:flex;flex-wrap:wrap;gap:6px}
.ccard .chips span{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.78rem;color:var(--ink)}
.ccard .chips img{width:22px;height:22px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.ccard .pol{display:grid;gap:6px}
.ccard .pol div{display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--ink-2)}
.ccard .pol svg{width:16px;height:16px;flex:none}
.ccard .pol .ok svg{color:#2E8A72}.ccard .pol .no svg{color:var(--pink)}
.aud{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.aud span{padding:8px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.82rem;color:var(--ink-2)}
.three-col{display:grid;gap:16px}
@media(min-width:800px){.three-col{grid-template-columns:repeat(3,1fr)}}
.three-col div{padding:24px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.three-col b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);margin-bottom:10px;font-size:1.02rem}
.three-col ul{margin:0;padding-left:18px;display:grid;gap:5px;color:var(--ink-2);font-size:.92rem}
.plain{display:grid;gap:14px}
@media(min-width:800px){.plain{grid-template-columns:1fr 1fr}}
.plain div{display:flex;gap:14px;padding:18px 20px;border-radius:16px;background:var(--card);border:1px solid var(--line);font-size:.94rem;color:var(--ink-2)}
.plain div b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);margin-bottom:4px}
.plain .ic{width:40px;height:40px;border-radius:12px;background:#F4E6F0;color:var(--pink);display:grid;place-items:center;flex:none}
.plain .ic svg{width:20px;height:20px}

/* ---------- ABOUT: FOUNDER ---------- */
.founder{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.founder{grid-template-columns:.9fr 1.1fr;gap:64px}}
.fcard{position:relative;padding:32px;border-radius:26px;background:var(--purple);color:#fff;overflow:hidden}
.fcard::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 60% at 100% 0%,rgba(218,42,117,.45),transparent 60%)}
.fcard>*{position:relative}
.fcard .mono{width:84px;height:84px;border-radius:50%;background:#fff;color:var(--purple);display:grid;place-items:center;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:1.6rem;letter-spacing:-.05em}
.fcard h3{color:#fff;font-size:1.7rem;margin-top:18px;letter-spacing:-.035em}
.fcard .t{color:var(--orange);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-top:6px}
.fcard blockquote{margin:22px 0 0;font-size:1.08rem;line-height:1.55;color:#F0E8F8;border-left:3px solid var(--orange);padding-left:16px}
.story-x{display:grid;gap:16px}
.chapter{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:24px;border-radius:20px;background:var(--card);border:1px solid var(--line)}
.chapter .t{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:1.6rem;letter-spacing:-.05em;color:var(--pink);line-height:1;min-width:64px}
.chapter b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1.1rem;color:var(--hi);letter-spacing:-.02em;margin-bottom:6px}
.chapter p{font-size:.95rem;color:var(--ink-2)}

@media(prefers-reduced-motion:reduce){
  .chaos span,.bridge .ring,.bridge .ring2,.bridge .wire::after,.pin,.tstep .bar i{animation:none!important}
  .flip .card{transition:none}
}
.wcard.alexcard .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.wcard.alexcard .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.grade b{white-space:nowrap}
.rc .stamp{top:auto;bottom:86px;right:22px}
.lhero-grid.wide{grid-template-columns:1fr 1fr}
@media(max-width:899px){.lhero-grid.wide{grid-template-columns:1fr}}

/* =====================================================================
   CLASSMATE "MEET THEM" PAGES + MOBILE HARDENING + HERO FOLD FIX
   ===================================================================== */

/* ---------- classmate page ---------- */
.cm-hero .cm-tag{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:-.03em;line-height:1.15;color:#fff;margin-top:14px;max-width:16ch;text-wrap:balance}
.cm-hero .cm-role{opacity:.9;font-size:clamp(1rem,1.3vw,1.15rem);font-weight:700;margin-top:6px}
.persona{display:grid;gap:24px;align-items:start}
@media(min-width:900px){.persona{grid-template-columns:1.1fr .9fr;gap:56px}}
.pcard{padding:32px;border-radius:26px;background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.pcard::before{content:'“';position:absolute;right:22px;top:-20px;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:9rem;line-height:1;color:var(--c);opacity:.12;pointer-events:none}
.pcard .hi{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:clamp(1.8rem,3.2vw,2.6rem);letter-spacing:-.045em;line-height:1;color:var(--hi)}
.pcard .hi em{font-style:normal;color:var(--c)}
.pcard p{margin-top:16px;font-size:1.06rem;color:var(--ink-2);line-height:1.6}
.pcard .sig{margin-top:22px;display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px dashed var(--line-2)}
.pcard .sig img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.pcard .sig b{font-family:'Inter',Arial,sans-serif;color:var(--hi);display:block}
.pcard .sig span{font-size:.8rem;color:var(--ink-3)}
.how{display:grid;gap:12px}
.how h3{font-size:1.05rem;letter-spacing:-.02em;margin-bottom:4px}
.how div{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-size:.95rem;color:var(--ink-2)}
.how .n{width:28px;height:28px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.78rem;flex:none}
.caps{display:grid;gap:16px}
@media(min-width:700px){.caps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.caps{grid-template-columns:repeat(4,1fr)}}
.cap{padding:24px;border-radius:20px;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--c);transition:transform .2s var(--e)}
.cap:hover{transform:translateY(-3px)}
.cap .i{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c);display:grid;place-items:center;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.9rem;margin-bottom:14px}
.cap b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1.05rem;color:var(--hi);margin-bottom:8px;letter-spacing:-.02em}
.cap p{font-size:.92rem;color:var(--ink-2)}
.skills{display:flex;flex-wrap:wrap;gap:10px}
.skills span{padding:12px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.9rem;color:var(--ink);display:flex;gap:9px;align-items:center;transition:border-color .2s}
.skills span:hover{border-color:var(--c)}
.skills span::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.hands{display:grid;gap:14px}
@media(min-width:800px){.hands{grid-template-columns:repeat(3,1fr)}}
.hand{display:flex;gap:14px;align-items:center;padding:18px;border-radius:18px;background:var(--card);border:1px solid var(--line);transition:transform .2s var(--e),border-color .2s}
.hand:hover{transform:translateY(-3px);border-color:var(--c)}
.hand img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--c);background:#fff;flex:none}
.hand b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi)}
.hand span{font-size:.86rem;color:var(--ink-2)}
.rules{display:grid;gap:16px;align-items:start}
@media(min-width:900px){.rules{grid-template-columns:1fr 1fr;gap:28px}}
.minip{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:24px 28px;border-radius:22px;background:var(--purple);color:#fff;margin-top:28px}
.minip b{font-family:'Inter',Arial,sans-serif;font-size:1.15rem;display:block;letter-spacing:-.02em}
.minip span{color:#E3D6F2;font-size:.92rem}
.cm-hero .btn-pink{background:#fff;color:var(--c)}
.cm-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}

/* ---------- nav compact label ---------- */
.lbl-short{display:none}
@media(max-width:600px){
  .nav-right .btn .lbl-full{display:none}
  .nav-right .btn .lbl-short{display:inline}
  .nav-right .btn{white-space:nowrap;height:40px;padding:0 14px;font-size:.84rem}
  .nav-in{gap:12px}
}

/* ---------- hero: fold fit + overflow safety ---------- */
.xhero-in{padding:44px 0 0;align-items:start}
@media(min-width:1000px){.xhero-in{padding:56px 0 0;align-items:start;min-height:0}}
.xhero-in>*{min-width:0}
.xpick{min-width:0;max-width:100%}
.xfield{min-width:0}
.xfield .txt{min-width:0}
.xcopy{min-width:0}
.xh1{overflow-wrap:anywhere}
@media(max-width:999px){.xstage{height:250px;margin-top:8px}}
@media(max-width:600px){.xh1{font-size:clamp(2.5rem,12.5vw,3.4rem)}.xlede{font-size:1rem}.xactions .btn{height:50px;padding:0 1.3rem;font-size:.92rem}}

/* ---------- section-level mobile hardening ---------- */
@media(max-width:760px){
  .chaos{position:static;height:auto;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
  .chaos span{position:static!important;animation:none;transform:none!important;white-space:normal}
  .gap-side{min-height:0}
}
@media(max-width:600px){
  .sec-xl{padding:80px 0}
  .h-xl{font-size:clamp(2rem,9.5vw,2.7rem)}
  .h-lg{font-size:clamp(1.7rem,8vw,2.2rem)}
  .wtabs{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}
  .clock .t{font-size:2rem}
  .rdevice{min-height:420px}
  .rscene{padding:14px;gap:10px}
  .rscene .out{font-size:.84rem}
  .tally{grid-template-columns:1fr}
  .hpanel{padding:18px}
  .hpanel.on{gap:20px}
  .week .d{min-height:86px;font-size:.6rem;padding:6px 4px}
  .week .d span{font-size:.58rem;padding:3px 4px}
  .rc{padding:20px 16px 30px}
  .rc .stamp{font-size:.6rem;padding:5px 8px;bottom:80px;right:12px}
  .rc .tot b{font-size:1.6rem}
  .blocks{grid-template-columns:repeat(2,1fr)}
  .bld .body{min-height:150px}
  .faq2 .a{padding-left:20px}
  .faq2 summary{padding:16px 14px;gap:10px;font-size:.95rem}
  .dcard .body{padding:14px}
  .duel-tabs button{height:36px;padding:0 12px;font-size:.8rem}
  .htab{padding:10px}
  .xsub-cards{grid-template-columns:1fr}
  .stat3{gap:8px}
  .stat3 div{padding:10px 6px}
  .stat3 b{font-size:.95rem}
  .cm-hero h1{font-size:clamp(2.8rem,16vw,4rem)}
  .cm-stage .chip{display:none}
  .cm-stage img{max-height:320px;width:auto}
  .cm-por{width:min(260px,70vw)}
  .pcard{padding:24px}
  .minip{padding:20px}
  .quad{margin-top:36px}
  .campus-hero h1{font-size:clamp(2.4rem,13vw,3.4rem)}
  .switch{display:grid;width:100%}
  .fx-device{min-height:360px}
  .fx-scene{padding:14px}
  .fx-scene.gen .wall{max-height:110px}
  .flip{min-height:250px}
  .plans3 .plan3.hot{transform:none}
  .price-hero{padding:56px 0 64px}
  .lhero{padding:56px 0 44px}
  .lhero h1{font-size:clamp(2rem,10vw,2.8rem)}
  .footer,.f-grid{gap:28px}
}
@media(max-width:420px){.wtab{padding:8px 12px 8px 8px;font-size:.8rem}.wtab .ic{width:26px;height:26px}}

/* ---------- selector fixes ---------- */
.switch:not(.b) button:first-child,.switch.b button:last-child{color:#fff}
.switch:not(.b) button:nth-of-type(1),.switch.b button:nth-of-type(2){color:#400072}
.fx-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.fx-hero .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.plain>div{display:flex}
.plain>div>div{display:block;flex:1}
.bld .sign b{color:#fff}
.bld.front .sign b{color:#fff}
body{overflow-x:hidden}
.page{overflow-x:clip}

/* compact hero on short desktop viewports so the lineup stays above the fold */
@media(min-width:1000px) and (max-height:960px){
  .xhero-in{padding-top:36px}
  .xh1{font-size:clamp(2.6rem,5.2vw,4.4rem);margin-top:14px}
  .xlede{margin-top:16px;font-size:1.02rem;max-width:32em}
  .xactions{margin-top:22px}
  .xactions .btn{height:50px;padding:0 1.4rem;font-size:.94rem}
  .xproof{margin-top:16px;font-size:.8rem}
  .xpick{padding:18px}
  .xchips button{height:30px;font-size:.76rem;padding:0 10px}
  .xmatch{padding:10px 12px;margin-top:12px}
  .xmatch img{width:48px;height:48px}
}

/* =====================================================================
   COMMENT PASS: spacing, lineup clustering, gap outcome, scene sizing,
   scoreboard, receipt cleanup, compare slider, difference explorer,
   campus buildings, door blurbs, contact form
   ===================================================================== */

/* ---- less white space, everywhere ---- */
.sec-xl{padding:80px 0}
@media(min-width:900px){.sec-xl{padding:104px 0}}
.sec{padding:60px 0}
@media(min-width:900px){.sec{padding:80px 0}}
.sec-head{margin-bottom:34px}
@media(min-width:900px){.sec-head{margin-bottom:40px}}
.xstate{padding:80px 0}
.xclose{padding:104px 0}

/* ---- hero lineup: a group, not a spread ---- */
.xstage{max-width:960px;margin-left:auto;margin-right:auto}
.xstage img:nth-child(2){left:15%}
.xstage img:nth-child(3){left:32%}
.xstage img:nth-child(4){left:50%}
.xstage img:nth-child(5){left:68%}
.xstage img:nth-child(6){left:85%}

/* ---- gap: outcome band ---- */
.outcome{margin-top:40px;padding:28px;border-radius:26px;background:var(--purple);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.outcome::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 100% 0%,rgba(218,42,117,.4),transparent 60%)}
.outcome .oh{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;margin-bottom:22px}
.outcome h3{color:#fff;font-size:clamp(1.3rem,2.2vw,1.7rem);letter-spacing:-.03em}
.outcome .oh span{color:#E3D6F2;font-size:.92rem}
.otl{display:grid;gap:12px}
@media(min-width:900px){.otl{grid-template-columns:repeat(5,1fr)}}
.ot{position:relative;padding:16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;gap:10px}
.ot img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.ot .t{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.12em;color:var(--orange);font-variant-numeric:tabular-nums}
.ot b{font-family:'Inter',Arial,sans-serif;font-size:.98rem;line-height:1.25;color:#fff}
.ot span{font-size:.82rem;color:#D9CCEA}
.ot.uni{background:#fff;color:#222;border-color:#fff}
.ot.uni b{color:#400072}.ot.uni span{color:#4F4560}.ot.uni .t{color:#DA2A75}
.ot.uni .ic{width:44px;height:44px;border-radius:50%;background:#EEF7F3;color:#2E8A72;display:grid;place-items:center}
.ot.uni .ic svg{width:22px;height:22px}
.gap-side .sub b{color:var(--pink)}

/* ---- race device: scenes size to content ---- */
.rdevice{min-height:0}
.rscene{position:static;display:none;opacity:1;transform:none;pointer-events:auto}
.rscene.on{display:grid;animation:scenein .5s var(--e)}
@keyframes scenein{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

/* ---- tally: shocking scoreboard ---- */
.tally2{display:grid;gap:14px;margin-top:22px}
@media(min-width:700px){.tally2{grid-template-columns:1fr 1fr}}
.tside{padding:20px;border-radius:20px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);position:relative;overflow:hidden}
.tside.bad{border-color:rgba(255,122,168,.45)}
.tside.good{border-color:rgba(251,178,47,.6);background:rgba(251,178,47,.08)}
.tside .k{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#C9B7E0}
.tside.good .k{color:var(--orange)}
.tside .big{display:flex;align-items:baseline;gap:12px;margin:10px 0 12px}
.tside .big b{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:4.2rem;letter-spacing:-.06em;line-height:1;color:#FF7AA8;font-variant-numeric:tabular-nums;transition:transform .3s var(--e)}
.tside.good .big b{color:var(--orange)}
.tside .big b.bump{animation:bump .4s var(--e)}
@keyframes bump{40%{transform:scale(1.25)}}
.tside .big span{font-size:.92rem;color:#E3D6F2;max-width:14em;line-height:1.3}
.tside ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.86rem;color:#E3D6F2}
.tside li{display:flex;justify-content:space-between;gap:10px;border-top:1px dashed rgba(255,255,255,.12);padding-top:6px}
.tside li b{font-family:'Inter',Arial,sans-serif;font-variant-numeric:tabular-nums;color:#fff}
.tside .verdict{margin-top:12px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.86rem;color:#fff}
.tside.bad .verdict{color:#FF7AA8}.tside.good .verdict{color:var(--orange)}

/* ---- grade fix ---- */
.grade .g{display:flex;align-items:center;gap:10px;flex:none}
.grade .g b{white-space:nowrap}
.grade .g .arr{font-family:'Inter',Arial,sans-serif;font-weight:900;color:#DA2A75;font-size:1.4rem}
.grade .g b.to{color:#DA2A75}

/* ---- scoreboard (replaces the table) ---- */
.sb{margin-top:8px}
.sb-head{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:18px 22px;border-radius:20px;background:var(--purple);color:#fff;margin-bottom:14px}
.sb-head .team{display:flex;flex-direction:column;gap:4px}
.sb-head .team.r{text-align:right;align-items:flex-end}
.sb-head .team span{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#C9B7E0}
.sb-head .team b{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.6rem;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}
.sb-head .team.l b{color:#9A8FAF}
.sb-head .team.r b{color:var(--orange)}
.sb-head .vs{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.8rem;letter-spacing:.16em;color:#C9B7E0;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);border-top:none;box-shadow:none;background:transparent}
.sb-row{display:grid;grid-template-columns:auto 1fr 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);margin-bottom:8px;opacity:0;transform:translateY(12px);transition:opacity .5s var(--e),transform .5s var(--e),border-color .3s}
.sb-row.in{opacity:1;transform:none}
.sb-row .ic{width:40px;height:40px;border-radius:12px;background:var(--bg-3);color:var(--purple);display:grid;place-items:center}
.sb-row .ic svg{width:20px;height:20px}
.sb-row .g{color:var(--ink-3);text-decoration:line-through;text-decoration-color:rgba(218,42,117,.5);font-size:.92rem}
.sb-row .u{display:flex;align-items:center;gap:10px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.95rem;color:var(--hi)}
.sb-row .u .chk{width:26px;height:26px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;flex:none;transform:scale(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1) .25s}
.sb-row.in .u .chk{transform:scale(1)}
.sb-row .u .chk svg{width:14px;height:14px}
.sb-row.in{border-color:color-mix(in srgb,var(--pink) 35%,var(--line))}
.sb-foot{text-align:center;margin-top:18px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:1.2rem;color:var(--hi);letter-spacing:-.02em}
@media(max-width:600px){.sb-row{grid-template-columns:auto 1fr}.sb-row .g{grid-column:2}.sb-row .u{grid-column:2}.sb-head .team b{font-size:2rem}}

/* ---- receipt cleanup ---- */
.rc{font-family:'Inter',Arial,sans-serif;border-radius:22px;padding:26px 26px 28px;box-shadow:var(--sh)}
.rc::after{display:none}
.rc .rh{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:6px}
.rc .rh b{font-size:1rem;letter-spacing:-.01em;text-transform:none;color:var(--hi)}
.rc .rh span{font-size:.78rem;color:var(--ink-3)}
.rc .stamp{position:static;transform:none!important;opacity:1;padding:6px 10px;border-width:2px;border-radius:999px;font-size:.64rem;white-space:nowrap}
.rc .li{grid-template-columns:1fr auto;padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--ink);align-items:center}
.rc .li small{font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:.8rem;color:var(--ink-3);margin-top:2px}
.rc.us .li small{color:#2E8A72}
.rc .li>span:last-child{font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--hi);font-variant-numeric:tabular-nums}
.rc .tot{border-top:2px solid var(--hi);margin-top:8px;padding-top:14px}
.rc .tot b{font-size:2.2rem}
.rc .tot>span{font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--ink-2)}

/* ---- features: compare slider hero ---- */
.cmp{position:relative;display:flex;margin-top:36px;border-radius:26px;overflow:hidden;box-shadow:0 60px 120px -40px rgba(0,0,0,.8);background:#1A1A1A;aspect-ratio:16/10;min-height:460px;user-select:none;-webkit-user-select:none}
@media(max-width:700px){.cmp{aspect-ratio:auto;height:560px}}
.cmp .layer{position:relative;flex:none;height:100%;padding:22px;display:grid;gap:10px;align-content:start;overflow:hidden}
.cmp .layer>*{min-width:300px;max-width:520px}
.cmp .layer.gen{background:#161616;color:#E5E5E5}
.cmp .layer.gen{width:var(--x,50%)}
.cmp .layer.us{background:#fff;color:#222;width:calc(100% - var(--x,50%))}
.cmp .tagl{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;width:max-content}
.cmp .layer.gen .tagl{background:#2A2A2A;color:#BDBDBD}
.cmp .layer.us .tagl{background:var(--purple);color:#fff}
.cmp .layer.gen .box{border:1px solid #333;border-radius:14px;padding:12px 14px;background:#1F1F1F;font-family:'Inter',Arial,sans-serif;font-size:.9rem}
.cmp .layer.gen .wall{font-family:ui-monospace,Menlo,monospace;font-size:.76rem;color:#9A9A9A;line-height:1.55;padding:12px 14px;border-radius:12px;background:#1B1B1B;border:1px solid #2A2A2A;max-height:34%;overflow:hidden;position:relative}
.cmp .layer.gen .wall::after{content:'';position:absolute;inset:auto 0 0;height:50px;background:linear-gradient(transparent,#1B1B1B)}
.cmp .flag{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.8rem}
.cmp .layer.gen .flag{background:#3A1220;color:#FF7AA8;border:1px solid #5A1A32}
.cmp .layer.us .flag{background:#EEF7F3;color:#1F5C49;border:1px solid #CFE7DC}
.cmp .flag svg{width:16px;height:16px;flex:none}
.cmp .layer.us .msg{max-width:96%;font-size:.88rem}
.cmp .layer.us .msg.me{background:var(--purple)}
.cmp .handle{position:absolute;top:0;bottom:0;left:var(--x,50%);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.cmp .handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:#fff;color:var(--purple);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.cmp .handle span svg{width:22px;height:22px}
.cmp .range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:3;-webkit-appearance:none;appearance:none}
.cmp .hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;pointer-events:none;z-index:2}
.fx-hero .split{align-items:start}

/* ---- difference explorer ---- */
.dx{display:grid;gap:18px;margin-top:8px}
@media(min-width:960px){.dx{grid-template-columns:.42fr 1fr;gap:28px;align-items:start}}
.dx-list{display:grid;gap:8px}
@media(max-width:959px){.dx-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.dx-list{grid-template-columns:1fr}}
.dx-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.95rem;color:var(--hi);transition:all .2s var(--e)}
.dx-item .n{width:30px;height:30px;border-radius:50%;background:var(--bg-3);display:grid;place-items:center;font-size:.72rem;font-weight:900;color:var(--purple);flex:none}
.dx-item:hover{border-color:var(--purple);transform:translateX(3px)}
.dx-item.on{background:var(--purple);border-color:var(--purple);color:#fff}
.dx-item.on .n{background:rgba(255,255,255,.18);color:#fff}
.dx-stage{position:relative;min-height:420px}
.dx-pane{display:none;grid-template-columns:1fr 1fr;gap:14px}
.dx-pane.on{display:grid;animation:panelin .45s var(--e)}
@media(max-width:700px){.dx-pane{grid-template-columns:1fr}}
.dx-side{border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:14px;min-height:420px}
.dx-side.gen{background:#161616;color:#DADADA}
.dx-side.us{background:var(--purple);color:#fff}
.dx-side .lbl{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.dx-side.gen .lbl{color:#8A8A8A}.dx-side.us .lbl{color:var(--orange)}
.dx-side .art{height:150px;border-radius:16px;display:grid;place-items:center;overflow:hidden}
.dx-side.gen .art{background:#202020;border:1px solid #2C2C2C}
.dx-side.us .art{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}
.dx-side .art svg{width:88%;height:88%}
.dx-side h3{font-size:1.2rem;letter-spacing:-.025em;color:#fff}
.dx-side.gen h3{color:#F0F0F0}
.dx-side p{font-size:.92rem;line-height:1.5;flex:1}
.dx-side.gen p{color:#A8A8A8}.dx-side.us p{color:#E3D6F2}
.dx-side .punch{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.92rem;color:var(--orange)}
.dx-side.gen .punch{color:#FF7AA8}
/* svg art palette */
.art .k{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dx-side.gen .art{color:#8A8A8A}
.dx-side.us .art{color:#fff}
.art .pk{stroke:#DA2A75}.art .or{stroke:#FBB22F}.art .gr{stroke:#5FD1A8}
.art .fpk{fill:#DA2A75}.art .for{fill:#FBB22F}.art .fw{fill:#fff}.art .fdim{fill:#2C2C2C}
.art .blink{animation:blink 1s steps(2) infinite}
.art .spin{transform-origin:center;animation:spin 6s linear infinite}
.art .pulse{animation:pulse2 2s ease-in-out infinite}
@keyframes pulse2{50%{opacity:.35}}
.art .rise{animation:rise2 2.4s ease-in-out infinite}
@keyframes rise2{50%{transform:translateY(-4px)}}

/* ---- campus map: bigger buildings ---- */
.blocks{gap:20px}
@media(min-width:1040px){.blocks{grid-template-columns:repeat(5,1fr);gap:22px}}
.bld .body{min-height:250px;padding:16px 16px 18px;overflow:visible;gap:12px}
.bld .win{grid-template-columns:repeat(5,1fr);gap:7px}
.bld .faces{position:static;margin-top:2px}
.bld .faces img{width:34px;height:34px;margin-left:-9px}
.bld .faces img:first-child{margin-left:0}
.bld .sign b{font-size:1.05rem;line-height:1.15}
.bld .sign span{font-size:.8rem}
.bld .door{width:30px;height:24px}
.pin{top:-16px;font-size:.62rem}

/* ---- door cards: blurb visible ---- */
.door-card summary{align-items:start}
.door-card summary img{width:72px;height:72px}
.door-card summary p{font-size:.9rem;color:var(--ink-2);margin-top:8px;line-height:1.45}

/* ---- contact form ---- */
.cform{padding:28px;border-radius:24px;background:var(--card);border:1px solid var(--line);display:grid;gap:14px;box-shadow:var(--sh)}
.cform label{display:grid;gap:6px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.8rem;color:var(--ink-2);letter-spacing:.02em}
.cform input,.cform select,.cform textarea{font:inherit;font-size:1rem;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--bg);color:var(--ink);width:100%}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(64,0,114,.12)}
.cform textarea{min-height:140px;resize:vertical}
.cform .two{display:grid;gap:14px}
@media(min-width:600px){.cform .two{grid-template-columns:1fr 1fr}}
.cform .foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;font-size:.84rem;color:var(--ink-3)}
.sent{display:none;padding:18px 22px;border-radius:16px;background:#EEF7F3;border:1px solid #CFE7DC;color:#1F5C49;font-family:'Inter',Arial,sans-serif;font-weight:700}
.sent.on{display:block}
.cgrid{display:grid;gap:28px;align-items:start}
@media(min-width:960px){.cgrid{grid-template-columns:1.1fr .9fr;gap:48px}}

/* ===================================================================
   CONSULTANT PASS: layout orphans, chip overlaps, trust strip,
   sticky mobile CTA, legal + 404 pages
   =================================================================== */

/* our-cmpus: single-Classmate floors get a wide card, no empty half */
.doors.one{grid-template-columns:1fr}
.door-card.wide summary{grid-template-columns:auto 1fr auto auto;align-items:center}
.door-card.wide summary img{width:84px;height:84px}
.door-card.wide summary p{max-width:60ch}
.door-card.wide summary .cta{display:none}
@media(min-width:900px){.door-card.wide summary .cta{display:inline-flex;height:40px;padding:0 14px;font-size:.84rem;background:var(--c);color:#fff}}

/* universities: partnership steps in one row under the heading */
.steps.row3{grid-template-columns:1fr}
@media(min-width:900px){.steps.row3{grid-template-columns:repeat(3,1fr)}}

/* classmate hero chips: never over a face */
.cm-stage .chip{max-width:200px}
.cm-stage .chip.c1{bottom:6%;left:-4%;top:auto}
.cm-stage .chip.c2{top:4%;right:-4%}

/* home: chaos chips, no overlap */
.chaos span:nth-child(1){left:4%!important;top:2%!important}
.chaos span:nth-child(2){left:58%!important;top:6%!important}
.chaos span:nth-child(3){left:8%!important;top:30%!important}
.chaos span:nth-child(4){left:50%!important;top:36%!important}
.chaos span:nth-child(5){left:12%!important;top:58%!important}
.chaos span:nth-child(6){left:48%!important;top:64%!important}
.chaos span:nth-child(7){left:6%!important;top:84%!important}

/* trust strip */
.trust-strip{display:grid;gap:12px;margin-top:34px}
@media(min-width:800px){.trust-strip{grid-template-columns:repeat(4,1fr)}}
.trust-strip div{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.86rem;color:var(--ink-2)}
.trust-strip .ic{width:34px;height:34px;border-radius:10px;background:#F4E6F0;color:var(--pink);display:grid;place-items:center;flex:none}
.trust-strip .ic svg{width:18px;height:18px}

/* sticky mobile CTA */
.mcta{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;border-radius:999px;background:rgba(30,5,56,.94);color:#fff;box-shadow:0 20px 40px -10px rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translateY(120%);transition:transform .35s var(--e)}
.mcta.on{transform:none}
.mcta b{font-family:'Inter',Arial,sans-serif;font-size:.82rem;display:block;line-height:1.1}
.mcta span{font-size:.72rem;color:#C9B7E0}
.mcta .btn{height:40px;padding:0 16px;font-size:.84rem;white-space:nowrap}
@media(max-width:600px){.mcta{display:flex}body{padding-bottom:72px}}

/* legal + 404 */
.legal{max-width:760px}
.legal h2{font-size:1.4rem;margin:36px 0 10px;letter-spacing:-.02em}
.legal p{color:var(--ink-2);margin-bottom:12px}
.legal .note{padding:16px 18px;border-radius:14px;background:#FFF6E5;border:1px solid #F5DDA6;color:#6B4E00;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.9rem;margin:18px 0 8px}
.nf{min-height:70vh;display:grid;place-items:center;text-align:center;background:var(--purple);color:#fff;padding:80px 0}
.nf h1{color:#fff;font-size:clamp(2.4rem,7vw,5rem);letter-spacing:-.05em}
.nf p{color:#E3D6F2;max-width:32em;margin:16px auto 0}
.nf .faces{display:flex;justify-content:center;margin-bottom:22px}
.nf .faces img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--purple);background:#fff;margin-left:-12px}
.nf .actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}

.nf .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.nf .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* =====================================================================
   ROUND 4: mega menu, hero clarity + model ticker, problem/need/solution,
   "this is CMPUS", School tiles, showcase auto-rotate, at-a-glance
   comparison, models grid, campus illustration, slider full travel,
   universities upgrade
   ===================================================================== */

/* ---- nav mega menu ---- */
.nav{overflow:visible}
.has-menu{position:relative}
.has-menu>a{display:inline-flex;align-items:center;gap:6px}
.has-menu>a svg{width:12px;height:12px;transition:transform .2s}
.has-menu.open>a svg,.has-menu:hover>a svg{transform:rotate(180deg)}
.mega{position:absolute;left:50%;top:calc(100% + 14px);transform:translateX(-50%) translateY(6px);width:min(920px,calc(100vw - 48px));background:#fff;color:#222;border-radius:22px;box-shadow:0 40px 80px -30px rgba(20,0,45,.6),0 0 0 1px rgba(64,0,114,.08);padding:18px;opacity:0;visibility:hidden;transition:opacity .2s var(--e),transform .2s var(--e),visibility .2s;z-index:80}
.mega::before{content:'';position:absolute;left:0;right:0;top:-16px;height:16px}
.has-menu.open .mega,.has-menu:hover .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega-top{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:linear-gradient(120deg,#400072,#5A128F);color:#fff;margin-bottom:12px}
.mega-top img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #fff;background:#fff}
.mega-top .t{display:flex;align-items:center;gap:12px}
.mega-top b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.95rem}
.mega-top span{font-size:.8rem;color:#E3D6F2}
.mega-top .btn{height:36px;padding:0 14px;font-size:.8rem;background:#fff;color:#400072}
.mega-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mcol{padding:10px;border-radius:14px;background:#F6F4F0;border:1px solid #E2DCD3}
.mcol .mh{display:flex;align-items:center;gap:8px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#400072;padding:4px 4px 8px}
.mcol .mh svg{width:14px;height:14px;color:var(--pink)}
.mcol .mh:hover{color:var(--pink)}
.mi{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:10px;font-family:'Inter',Arial,sans-serif;font-size:.86rem;font-weight:600;color:#222;transition:background .15s}
.mi:hover{background:#fff}
.mi img{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.mi span{display:block;font-size:.72rem;color:#7B7188;font-weight:500}
.mega-foot{display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;align-items:center;padding:14px 6px 2px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.84rem;color:var(--pink)}
.mega-foot a:hover{text-decoration:underline}
.drawer details{border-bottom:1px solid rgba(255,255,255,.08)}
.drawer summary{list-style:none;padding:12px 6px;font-family:'Inter',Arial,sans-serif;font-weight:600;color:#fff;cursor:pointer;display:flex;justify-content:space-between}
.drawer summary::-webkit-details-marker{display:none}
.drawer .dl{display:grid;gap:2px;padding:0 0 10px 12px}
.drawer .dl a{border:none;padding:8px 6px;font-size:.9rem;color:#E3D6F2}
.drawer .dl a b{color:#fff}

/* ---- hero: clarity + ticker + stage fade ---- */
.xstage{overflow:hidden}
.xstage::after{content:'';position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,rgba(30,5,56,0),rgba(30,5,56,.85) 70%,#1E0538);pointer-events:none;z-index:5}
.xstage img{bottom:0}
.xwhat{display:inline-flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.xwhat span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.8rem;color:#fff}
.xwhat b{color:var(--orange)}
.models-ticker{margin-top:22px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.models-ticker .lbl{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#C9B7E0;margin-bottom:8px}
.models-track{display:flex;gap:8px;width:max-content;animation:mq 40s linear infinite}
.models-track span{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.78rem;color:#F3E6C5;white-space:nowrap}

/* ---- problem / need / solution ---- */
.pns{display:grid;gap:14px;margin-top:44px;align-items:stretch}
@media(min-width:960px){.pns{grid-template-columns:1fr auto 1fr auto 1.15fr;gap:12px}}
.pn{padding:26px;border-radius:24px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.pn .h{display:flex;align-items:center;gap:10px}
.pn .h .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff}
.pn .h .ic svg{width:20px;height:20px}
.pn h3{font-size:1.15rem;letter-spacing:-.025em}
.pn .k{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
.pn ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pn li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;font-size:.92rem;color:var(--ink-2);background:var(--bg);border:1px solid var(--line)}
.pn li svg{width:18px;height:18px;flex:none;margin-top:2px}
.pn.stu .ic{background:#DA2A75}.pn.stu .k{color:#DA2A75}.pn.stu li svg{color:#DA2A75}
.pn.uni .ic{background:#2E8A72}.pn.uni .k{color:#2E8A72}.pn.uni li svg{color:#2E8A72}
.pn.sol{background:var(--purple);color:#fff;border-color:var(--purple)}
.pn.sol h3{color:#fff}.pn.sol .ic{background:var(--orange);color:#222}.pn.sol .k{color:var(--orange)}
.pn.sol li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#F0E8F8}
.pn.sol li svg{color:var(--orange)}
.pn-arrow{display:grid;place-items:center;color:var(--ink-4)}
.pn-arrow svg{width:28px;height:28px}
@media(max-width:959px){.pn-arrow{transform:rotate(90deg);height:32px}}

/* ---- this is CMPUS ---- */
.thisis{background:#1E0538;color:#fff;position:relative;isolation:isolate;overflow:hidden}
.thisis::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 0% 0%,rgba(64,0,114,.9),transparent 60%),radial-gradient(40% 50% at 100% 100%,rgba(218,42,117,.35),transparent 60%)}
.thisis .eyebrow{color:var(--orange)}.thisis h2{color:#fff}.thisis .lede{color:#D9CCEA}
.thisis-grid{display:grid;gap:28px;align-items:center}
@media(min-width:1000px){.thisis-grid{grid-template-columns:.85fr 1.15fr;gap:48px}}
.browser{border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 60px 120px -40px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.1)}
.browser .bar{height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#F1EDF6;border-bottom:1px solid #E2DCD3}
.browser .bar i{width:10px;height:10px;border-radius:50%;background:#D9D2E3}
.browser .bar i:first-child{background:#DA2A75}
.browser .bar span{margin-left:14px;flex:1;height:22px;border-radius:6px;background:#fff;border:1px solid #E2DCD3;font-family:'Inter',Arial,sans-serif;font-size:.72rem;color:#7B7188;display:flex;align-items:center;padding:0 10px}
.browser img{display:block;width:100%;height:auto}
.thisis .facts{display:grid;gap:10px;margin-top:22px}
.thisis .facts>div{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.thisis .facts b{display:block;font-family:'Inter',Arial,sans-serif;color:#fff}
.thisis .facts span{font-size:.9rem;color:#D9CCEA}
.thisis .facts .n{width:34px;height:34px;border-radius:10px;background:var(--orange);color:#222;display:grid;place-items:center;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.85rem;flex:none}
.callouts{position:relative}
.callouts .co{position:absolute;padding:8px 12px;border-radius:12px;background:#fff;color:#400072;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.74rem;box-shadow:0 12px 30px rgba(0,0,0,.35);white-space:nowrap;display:flex;align-items:center;gap:8px}
.callouts .co i{width:8px;height:8px;border-radius:50%;background:var(--pink)}
@media(max-width:700px){.callouts .co{display:none}}

/* ---- School tiles instead of side-scroll ---- */
.wtiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:32px}
@media(min-width:700px){.wtiles{grid-template-columns:repeat(5,1fr)}}
.wtile{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;transition:all .2s var(--e);color:var(--ink-2)}
.wtile .ic{width:34px;height:34px;border-radius:10px;background:var(--bg-3);color:var(--purple);display:grid;place-items:center}
.wtile .ic svg{width:18px;height:18px}
.wtile b{font-family:'Inter',Arial,sans-serif;font-size:.9rem;color:var(--hi);line-height:1.2}
.wtile span{font-size:.74rem;color:var(--ink-3)}
.wtile .faces{display:flex}
.wtile .faces img{width:22px;height:22px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #fff;background:#fff;margin-left:-6px}
.wtile .faces img:first-child{margin-left:0}
.wtile:hover{border-color:var(--purple);transform:translateY(-2px)}
.wtile.on{background:var(--purple);border-color:var(--purple);color:#E3D6F2}
.wtile.on b{color:#fff}.wtile.on .ic{background:rgba(255,255,255,.18);color:#fff}.wtile.on span{color:#E3D6F2}
.wtile.soon{border-style:dashed}
.wtabs{display:none}

/* ---- showcase: auto-rotate + result chips ---- */
.htab{position:relative;overflow:hidden}
.htab .res{margin-left:auto;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.9rem;color:var(--orange);white-space:nowrap;flex:none}
.htab.on .res{color:var(--c)}
.htab .prog{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--c)}
.htab.on .prog{animation:fill var(--hd,7s) linear forwards}
.hpanel .say h3{font-size:1.6rem}
.hpanel .big-res{display:inline-flex;align-items:baseline;gap:8px;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.2rem;letter-spacing:-.05em;color:#400072;line-height:1}
.hpanel .big-res small{font-size:.9rem;font-weight:700;color:#7B7188;letter-spacing:0}

/* ---- why: claims + verdicts ---- */
.claims{display:grid;gap:14px;margin:36px 0 10px}
@media(min-width:800px){.claims{grid-template-columns:repeat(3,1fr)}}
.claim{padding:20px 22px;border-radius:18px;background:var(--purple);color:#fff;display:flex;gap:14px;align-items:flex-start}
.claim .ic{width:40px;height:40px;border-radius:12px;background:var(--orange);color:#222;display:grid;place-items:center;flex:none}
.claim .ic svg{width:20px;height:20px}
.claim b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1rem;letter-spacing:-.01em}
.claim span{font-size:.86rem;color:#E3D6F2}
.dcard .verdict{margin-top:12px;padding:12px 14px;border-radius:12px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.9rem}
.dcard.gen .verdict{background:#1A1A1A;color:#FF7AA8}
.dcard.us .verdict{background:var(--purple);color:var(--orange)}

/* ---- at a glance ---- */
.glance{display:grid;gap:14px;margin-top:8px}
@media(min-width:900px){.glance{grid-template-columns:1fr 1fr}}
.gl{border-radius:22px;padding:26px;border:1px solid var(--line);background:var(--card)}
.gl.us{background:var(--purple);color:#fff;border-color:var(--purple)}
.gl h3{font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.gl.us h3{color:var(--orange)}
.gl ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gl li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--ink-2)}
.gl.us li{color:#F0E8F8}
.gl li .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--bg-3);color:var(--ink-3)}
.gl.us li .ic{background:rgba(255,255,255,.12);color:var(--orange)}
.gl li .ic svg{width:16px;height:16px}
.gl li b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi)}
.gl.us li b{color:#fff}

/* ---- models grid ---- */
.models{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}
@media(min-width:700px){.model-grid{grid-template-columns:repeat(5,1fr)}}
.model{padding:18px 16px;border-radius:16px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;transition:transform .2s var(--e),border-color .2s}
.model:hover{transform:translateY(-3px);border-color:var(--purple)}
.model b{font-family:'Inter',Arial,sans-serif;font-size:1rem;color:var(--hi);letter-spacing:-.01em}
.model span{font-size:.78rem;color:var(--ink-3)}
.model i{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--purple),var(--pink));display:block;margin-bottom:6px}
.model-how{display:grid;gap:12px;margin-top:22px}
@media(min-width:800px){.model-how{grid-template-columns:repeat(3,1fr)}}
.model-how div{padding:18px 20px;border-radius:14px;background:var(--purple);color:#fff;font-size:.92rem}
.model-how b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--orange);margin-bottom:6px}

/* ---- campus illustration ---- */
.campus-hero .quad,.campus-hero .blocks,.campus-hero .construction{display:none}
.campus-svg{margin-top:36px;border-radius:26px;overflow:hidden;background:#1E0538;box-shadow:0 60px 120px -40px rgba(0,0,0,.8)}
.campus-svg svg{display:block;width:100%;height:auto}
.campus-svg .bl{cursor:pointer}
.campus-svg .bl .win{fill:#5A3D8A;transition:fill .25s}
.campus-svg .bl:hover .win{fill:#FBB22F}
.campus-svg .bl:hover .bod{filter:brightness(1.15)}
.campus-svg .lbl{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:15px;fill:#fff}
.campus-svg .sub{font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:11px;fill:#C9B7E0}
.campus-svg .pinl{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:10px;fill:#DA2A75;letter-spacing:1.5px}
.campus-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.campus-legend a{font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.8rem;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.25);color:#fff}
.campus-legend a:hover{background:rgba(255,255,255,.1)}

/* ---- floors: feature strip + profile nudge ---- */
.floor-feats{display:grid;gap:10px;margin:0 0 22px}
@media(min-width:800px){.floor-feats{grid-template-columns:repeat(3,1fr)}}
.floor-feats div{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.9rem;color:var(--hi)}
.floor-feats .n{width:30px;height:30px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:900;flex:none}
.door-card summary .prof{display:none}
@media(min-width:900px){.door-card summary{grid-template-columns:auto 1fr auto auto}.door-card summary .prof{display:inline-flex;height:38px;padding:0 14px;font-size:.82rem;border:1.5px solid var(--c);color:var(--c);background:transparent}}
.door-card .in .btn-c{font-weight:800}

/* ---- features slider: full travel, image-style ---- */
.cmp .layer{position:absolute;inset:0;width:100%!important;padding:0;display:block}
.cmp .layer .inner{padding:22px;display:grid;gap:10px;align-content:start;width:100%;height:100%;overflow:hidden}
.cmp .layer>*{min-width:0;max-width:none}
.cmp .layer.us{clip-path:inset(0 0 0 var(--x,50%))}
.cmp .row{display:flex;flex-wrap:wrap;gap:8px}
.cmp .pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.78rem}
.cmp .layer.us .pill{background:#F6F4F0;border:1px solid #E2DCD3;color:#222}
.cmp .pill img{width:22px;height:22px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--pc);background:#fff}
.cmp .pill b{color:var(--pc)}
.cmp .layer.gen .fake{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#2A2A2A;color:#9A9A9A;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.78rem;width:max-content}
.cmp .layer.gen .stat{display:flex;gap:10px}
.cmp .layer.gen .stat div{flex:1;padding:10px;border-radius:12px;background:#1F1F1F;border:1px solid #333;text-align:center}
.cmp .layer.gen .stat b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1.3rem;color:#FF7AA8}
.cmp .layer.gen .stat span{font-size:.7rem;color:#8A8A8A}
.art-cap{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;opacity:.8;margin-top:-6px}
.art svg text{display:none}

/* ---- universities upgrade ---- */
.exec{display:grid;gap:14px;margin-top:8px}
@media(min-width:900px){.exec{grid-template-columns:repeat(3,1fr)}}
.exec div{padding:24px;border-radius:20px;background:var(--purple);color:#fff}
.exec .k{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.exec b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1.15rem;letter-spacing:-.02em;margin:8px 0 8px}
.exec p{font-size:.92rem;color:#E3D6F2}
.timeline{display:grid;gap:12px;margin-top:8px}
@media(min-width:800px){.timeline{grid-template-columns:repeat(4,1fr)}}
.tw{padding:20px;border-radius:16px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--purple)}
.tw:nth-child(2){border-top-color:var(--pink)}.tw:nth-child(3){border-top-color:var(--orange)}.tw:nth-child(4){border-top-color:#2E8A72}
.tw .w{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.tw b{display:block;font-family:'Inter',Arial,sans-serif;font-size:1rem;color:var(--hi);margin:6px 0}
.tw span{font-size:.9rem;color:var(--ink-2)}
.brief{display:grid;gap:24px;align-items:center;padding:32px;border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh)}
@media(min-width:900px){.brief{grid-template-columns:1.1fr .9fr}}
.brief ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--ink-2);font-size:.94rem}
.brief li{display:flex;gap:10px;align-items:flex-start}
.brief li svg{width:18px;height:18px;flex:none;color:#2E8A72;margin-top:2px}
.gov{display:grid;gap:12px}
@media(min-width:800px){.gov{grid-template-columns:repeat(2,1fr)}}
.gov div{padding:20px 22px;border-radius:16px;background:var(--card);border:1px solid var(--line);font-size:.93rem;color:var(--ink-2)}
.gov b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);margin-bottom:6px}

.thisis .facts div>div{flex:1;min-width:0}
.thisis .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.thisis .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
@media(min-width:900px){.door-card:not(.wide) summary{grid-template-columns:auto 1fr auto}.door-card:not(.wide) summary img{grid-row:1;grid-column:1}.door-card:not(.wide) summary>div{grid-row:1;grid-column:2}.door-card:not(.wide) summary .prof{grid-column:2;grid-row:2;justify-self:start;margin-top:4px}.door-card:not(.wide) summary .pm{grid-row:1;grid-column:3}}

/* =====================================================================
   ROUND 5: logos, ticker fix, tighter lineup, animated gap + play-the-night,
   live-typing demo + hand-off toasts + finale, learning loops, tilt,
   staggered reveals, HD platform callouts
   ===================================================================== */

/* ---- model logos ---- */
.lg{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none}
.lg svg{width:100%;height:100%;fill:currentColor}
.lg.wm{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.62rem;letter-spacing:.02em;border:1.5px solid currentColor;border-radius:6px;padding:0 4px;width:auto;height:22px}
.models-wrap{margin-top:22px}
.models-wrap .lbl{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#C9B7E0;margin-bottom:8px}
.models-ticker{margin-top:0}
.models-track span{display:inline-flex;align-items:center;gap:8px;color:#fff}
.models-track .lg{color:#fff}
.model{flex-direction:row;align-items:center;gap:12px}
.model i{display:none}
.model .lg{width:34px;height:34px;color:var(--hi);flex:none}
.model .lg.wm{font-size:.7rem;height:30px;width:auto}
.model div{display:flex;flex-direction:column;gap:2px;min-width:0}
.model-note{margin-top:14px;font-size:.74rem;color:var(--ink-3);text-align:center}

/* ---- hero: tighter group ---- */
.xstage{max-width:900px}
.xstage img:nth-child(2){left:22%}
.xstage img:nth-child(3){left:36%}
.xstage img:nth-child(4){left:50%}
.xstage img:nth-child(5){left:64%}
.xstage img:nth-child(6){left:78%}
.xhero{cursor:default}
.xhero .glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(251,178,47,.18),transparent 60%);pointer-events:none;transform:translate(-50%,-50%);left:var(--gx,50%);top:var(--gy,40%);z-index:0;transition:left .25s ease-out,top .25s ease-out}

/* ---- staggered reveal + tilt ---- */
.js .st{opacity:0;transform:translateY(22px);transition:opacity .7s var(--e),transform .7s var(--e)}
.js .st.in{opacity:1;transform:none}
.tilt{transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .18s ease-out;will-change:transform}
.tilt.on{transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-3px);box-shadow:0 30px 60px -30px rgba(34,10,60,.45)}

/* ---- gap: animated arrows + play the night ---- */
.pn-arrow{position:relative}
.pn-arrow::after{content:'';position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px var(--orange);transform:translate(-50%,-50%);animation:dash 1.6s ease-in-out infinite}
@keyframes dash{0%{transform:translate(-160%,-50%);opacity:0}30%{opacity:1}70%{opacity:1}100%{transform:translate(60%,-50%);opacity:0}}
.pn li{transition:transform .2s var(--e),border-color .2s}
.pn li:hover{transform:translateX(4px)}
.outcome .oh{align-items:center}
.night-clock{display:inline-flex;align-items:center;gap:12px}
.night-clock .t{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:1.6rem;letter-spacing:-.04em;color:var(--orange);font-variant-numeric:tabular-nums;min-width:5.2ch}
.night-clock button{height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.8rem;cursor:pointer}
.night-clock button:hover{background:rgba(255,255,255,.16)}
.ot{opacity:.42;transform:scale(.97);transition:opacity .45s var(--e),transform .45s var(--e),box-shadow .45s}
.ot.lit{opacity:1;transform:none;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);border-color:rgba(251,178,47,.7)}
.ot.lit img{box-shadow:0 0 0 3px rgba(251,178,47,.45)}
.ot .done{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:#2E8A72;color:#fff;display:grid;place-items:center;transform:scale(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.ot .done svg{width:12px;height:12px}
.ot.lit .done{transform:scale(1)}
.ot.uni{opacity:1;transform:none}

/* ---- race: live typing, hand-off toast, finale ---- */
.rscene.on>*{opacity:0;animation:msgin .5s var(--e) forwards}
.rscene.on>*:nth-child(1){animation-delay:.15s}
.rscene.on>*:nth-child(2){animation-delay:.9s}
.rscene.on>*:nth-child(3){animation-delay:1.6s}
.rscene.on>*:nth-child(4){animation-delay:2.2s}
@keyframes msgin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.typing{display:inline-flex;gap:4px;padding:10px 14px;border-radius:14px;background:#F6F4F0;border:1px solid #E2DCD3;width:max-content;animation:typeout .01s linear 1.2s forwards}
.typing i{width:6px;height:6px;border-radius:50%;background:#7B7188;animation:blink2 1s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink2{50%{opacity:.25}}
@keyframes typeout{to{display:none;height:0;padding:0;margin:0;opacity:0;visibility:hidden}}
.rdevice{position:relative}
.toast{position:absolute;top:52px;left:50%;transform:translate(-50%,-14px);background:#1E0538;color:#fff;padding:8px 12px 8px 8px;border-radius:999px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.76rem;display:flex;align-items:center;gap:8px;opacity:0;transition:opacity .35s var(--e),transform .35s var(--e);z-index:5;pointer-events:none;box-shadow:0 12px 30px rgba(0,0,0,.35);white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast img{width:22px;height:22px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #fff;background:#fff}
.toast .ar{color:var(--orange)}
.rscene .done{position:relative;overflow:hidden}
.rscene .done .chk{width:64px;height:64px;border-radius:50%;background:#2E8A72;color:#fff;display:grid;place-items:center;margin:0 auto 14px;animation:pop .6s cubic-bezier(.34,1.56,.64,1)}
.rscene .done .chk svg{width:32px;height:32px}
.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.confetti i{position:absolute;top:-10px;width:8px;height:14px;border-radius:2px;opacity:0;animation:fall 1.8s ease-in forwards}
@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(340px) rotate(540deg);opacity:0}}
.race-ctl .replay{margin-left:auto}
.clock .t{transition:transform .2s var(--e)}
.clock .t.bump{animation:bump .4s var(--e)}

/* ---- why not: learning loops ---- */
.loops{display:grid;gap:16px;margin:36px 0 8px}
@media(min-width:900px){.loops{grid-template-columns:1fr 1fr}}
.loop{padding:24px;border-radius:22px;border:1px solid var(--line);background:var(--card)}
.loop.us{background:var(--purple);color:#fff;border-color:var(--purple)}
.loop h3{font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.loop.us h3{color:var(--orange)}
.loop p{font-size:.92rem;color:var(--ink-2);margin-bottom:14px}
.loop.us p{color:#E3D6F2}
.loop svg{width:100%;height:auto;display:block}
.loop .lk{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.loop.gen{color:#7B7188}
.loop.us svg{color:#fff}
.loop .nd{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:12px}
.loop.gen .nd{fill:#4F4560}.loop.us .nd{fill:#fff}
.loop .lbl2{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:10px;letter-spacing:.08em;fill:#DA2A75}
.loop.us .lbl2{fill:#FBB22F}
.loop .dot{animation:none}
.loop.us .mover{offset-path:path('M60 60 H420 V150 H60 Z');animation:orbit 5s linear infinite}
@keyframes orbit{to{offset-distance:100%}}
.loop .gain{display:flex;align-items:center;gap:10px;margin-top:14px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.9rem}
.loop.gen .gain{color:#B4154F}.loop.us .gain{color:var(--orange)}
.loop .gain .bar{flex:1;height:8px;border-radius:4px;background:rgba(0,0,0,.08);overflow:hidden}
.loop.us .gain .bar{background:rgba(255,255,255,.15)}
.loop .gain .bar i{display:block;height:100%;width:0;border-radius:4px;background:currentColor;transition:width 1.4s var(--e)}
.loop.in .gain .bar i{width:var(--w)}
.walk{margin-top:12px;padding:12px 14px;border-radius:12px;font-size:.86rem}
.dcard.gen .walk{background:#F6F6F6;border:1px solid #E5E5E5;color:#555}
.dcard.us .walk{background:#F3EBFA;border:1px solid #E1D3F0;color:#2A0A52}
.walk b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.dcard.gen .walk b{color:#B4154F}.dcard.us .walk b{color:#400072}
.walk ul{margin:0;padding-left:16px;display:grid;gap:3px}

/* ---- this is CMPUS: value callouts ---- */
.vals{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
.val{padding:14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.val b{display:block;font-family:'Inter',Arial,sans-serif;color:#fff;font-size:.92rem}
.val span{font-size:.8rem;color:#D9CCEA}
.val .ic{width:30px;height:30px;border-radius:9px;background:var(--orange);color:#222;display:grid;place-items:center;margin-bottom:8px}
.val .ic svg{width:16px;height:16px}
.callouts .co.v{background:var(--purple);color:#fff;border:1px solid rgba(255,255,255,.3)}
.callouts .co.v i{background:var(--orange)}

/* ---- count-up + misc ---- */
.xwhat b{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.pn-arrow::after,.confetti i,.loop.us .mover,.rscene.on>*{animation:none!important;opacity:1!important}.tilt.on{transform:none}}
@media(max-width:600px){.vals{grid-template-columns:1fr}.toast{white-space:normal;max-width:90%;text-align:center}.loop .mover{display:none}}
/* fixes after review */
.models-track span.lg{padding:0;background:none;border:none;width:22px;height:22px;border-radius:0;color:#fff}
.models-track span.lg svg{width:22px;height:22px;fill:#fff}
.models-track span.lg.wm{width:auto;padding:0 5px;border:1.5px solid #fff;border-radius:6px;font-size:.6rem}
.xchips button{transition:background .18s,border-color .18s}
.xhero .models-wrap{max-width:1240px;margin:8px auto 26px;padding:0 24px;position:relative;z-index:2}
@media(min-width:900px){.xhero .models-wrap{padding:0 40px}}
.xhero .models-wrap .lbl{text-align:center}
.thisis-grid{align-items:start}
.thisis .vals{margin-top:16px}

/* =====================================================================
   ROUND 6: calmer hero strip, product-first "This is CMPUS" with hotspots,
   without/with gap scene, app-styled demo, isometric campus, features
   additions, universities hero
   ===================================================================== */

/* ---- hero: static logo row, slower marquee, less clutter ---- */
.xhero .models-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;gap:8px}
.xhero .models-ticker{-webkit-mask-image:none;mask-image:none;overflow:visible}
.xmq-track{animation-duration:90s}
.xproof{display:none}

/* ---- this is CMPUS: product first ---- */
.product{background:#1E0538;color:#fff;position:relative;isolation:isolate;overflow:hidden;text-align:center}
.product::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 50% at 50% 0%,rgba(64,0,114,.9),transparent 60%),radial-gradient(40% 40% at 100% 100%,rgba(218,42,117,.3),transparent 60%)}
.product .eyebrow{color:var(--orange)}.product h2{color:#fff}.product .lede{color:#D9CCEA;margin-left:auto;margin-right:auto}
.shot{position:relative;max-width:1080px;margin:40px auto 0;perspective:1600px}
.shot .pframe{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 80px 140px -50px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.12);transform:rotateX(10deg) scale(.96);transform-origin:50% 0;transition:transform 1s var(--e)}
.shot.in .pframe{transform:rotateX(0) scale(1)}
.shot .pframe img{display:block;width:100%;height:auto}
.hs{position:absolute;width:26px;height:26px;border-radius:50%;background:var(--orange);color:#222;display:grid;place-items:center;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.72rem;cursor:pointer;box-shadow:0 0 0 0 rgba(251,178,47,.55);animation:pulse 2.4s infinite;transform:translate(-50%,-50%);z-index:3}
.hs .tip{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%) translateY(6px);background:#fff;color:#222;padding:10px 14px;border-radius:12px;font-weight:700;font-size:.8rem;white-space:nowrap;box-shadow:0 20px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;text-align:left;pointer-events:none}
.hs .tip small{display:block;font-weight:500;color:#4F4560;font-family:Arial,Helvetica,sans-serif}
.hs:hover .tip,.hs.on .tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.hs.up .tip{top:auto;bottom:calc(100% + 10px)}
.hs.left .tip{left:auto;right:0;transform:translateX(0) translateY(6px)}
.hs.left:hover .tip,.hs.left.on .tip{transform:translateX(0) translateY(0)}
.valrow{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.valrow span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.86rem}
.valrow svg{width:16px;height:16px;color:var(--orange)}
.stats3{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;margin-top:26px}
.stats3 div{text-align:center}
.stats3 b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.2rem;letter-spacing:-.05em;line-height:1;color:var(--orange)}
.stats3 span{font-size:.82rem;color:#C9B7E0;font-family:'Inter',Arial,sans-serif;font-weight:600}
.product .hero-actions{justify-content:center;margin-top:28px}
.product .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}

/* ---- gap: without / with scene ---- */
.scene-wrap{display:grid;gap:14px;margin-top:40px}
@media(min-width:960px){.scene-wrap{grid-template-columns:1fr 1fr}}
.scene{position:relative;border-radius:24px;overflow:hidden;min-height:400px;padding:20px;display:flex;flex-direction:column;gap:12px}
.scene.without{background:#141414;color:#EDEDED}
.scene.with{background:var(--purple);color:#fff}
.scene .sh{display:flex;justify-content:space-between;align-items:center;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.scene.without .sh{color:#9A9A9A}.scene.with .sh{color:var(--orange)}
.scene .clk{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:1.4rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff}
.tabs-pile{position:relative;flex:1;min-height:330px}
.tab{position:absolute;padding:10px 12px;border-radius:10px;background:#242424;border:1px solid #3A3A3A;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.8rem;color:#DDD;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(12px) scale(.96) rotate(var(--r,0deg));transition:opacity .35s var(--e),transform .35s var(--e);box-shadow:0 14px 30px rgba(0,0,0,.4);white-space:nowrap}
.tab i{width:8px;height:8px;border-radius:50%;background:#FF7AA8;flex:none}
.tab.on{opacity:1;transform:rotate(var(--r,0deg))}
.scene .counter{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.scene .counter div{padding:10px;border-radius:12px;text-align:center;font-family:'Inter',Arial,sans-serif}
.scene.without .counter div{background:#1F1F1F;border:1px solid #333}
.scene.with .counter div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}
.scene .counter b{display:block;font-size:1.4rem;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.scene.without .counter b{color:#FF7AA8}.scene.with .counter b{color:var(--orange)}
.scene .counter span{font-size:.7rem;color:#9A9A9A}
.scene.with .counter span{color:#C9B7E0}
.flow{flex:1;display:grid;gap:8px;align-content:start}
.fstep{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);opacity:0;transform:translateX(-12px);transition:opacity .4s var(--e),transform .4s var(--e)}
.fstep.on{opacity:1;transform:none}
.fstep img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.fstep b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.88rem}
.fstep span{font-size:.78rem;color:#D9CCEA}
.fstep .ok{margin-left:auto;width:22px;height:22px;border-radius:50%;background:#2E8A72;color:#fff;display:grid;place-items:center;flex:none}
.fstep .ok svg{width:12px;height:12px}
.stamp2{align-self:flex-start;padding:8px 12px;border:3px solid currentColor;border-radius:8px;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-4deg) scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1);margin-top:auto}
.stamp2.on{transform:rotate(-4deg) scale(1)}
.scene.without .stamp2{color:#FF7AA8}.scene.with .stamp2{color:var(--orange)}
.scene-ctl{display:flex;justify-content:center;gap:10px;margin-top:14px}
.scene-ctl button{height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.84rem;color:var(--hi);cursor:pointer}
.needs{display:grid;gap:10px;margin-top:22px}
@media(min-width:900px){.needs{grid-template-columns:repeat(3,1fr)}}
.needs div{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.9rem;color:var(--hi)}
.needs div svg{width:18px;height:18px;color:#2E8A72;flex:none}
.needs div small{display:block;font-weight:500;font-size:.8rem;color:var(--ink-3);font-family:Arial,Helvetica,sans-serif}

/* ---- demo device styled like the app ---- */
.rdevice{background:#F6F4F0;display:grid;grid-template-columns:172px 1fr;min-height:460px}
.rdevice>.bar{grid-column:2;height:52px;background:#fff}
.rdevice>.toast{grid-column:1/-1}
.rdevice .side{grid-row:1/span 20;grid-column:1;background:linear-gradient(180deg,#3A1A63,#2A0A52);padding:14px 10px;display:flex;flex-direction:column;gap:6px;color:#fff}
.rdevice .side .logo{display:flex;align-items:center;gap:8px;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.9rem;padding:6px 8px 12px}
.rdevice .side .logo img{width:18px}
.rdevice .side .it{padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.72rem;color:#E3D6F2;display:flex;justify-content:space-between;align-items:center;transition:background .3s}
.rdevice .side .it.act{background:#fff;color:#400072;border-color:#fff}
.rdevice .side .it span{opacity:.6}
.rscene{grid-column:2}
.rdevice .inbar{grid-column:2;margin:auto 16px 16px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #E2DCD3;display:flex;align-items:center;gap:10px;font-size:.82rem;color:#7B7188}
.rdevice .inbar .uses{margin-left:auto;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;color:#400072;background:#F1EAFB;padding:4px 8px;border-radius:999px;white-space:nowrap}
.rdevice .inbar .send{width:28px;height:28px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;flex:none}
.rdevice .inbar .send svg{width:14px;height:14px}
.toast{top:auto;bottom:16px;left:10px;right:auto;width:152px;transform:translateY(10px);font-size:.7rem;white-space:normal;flex-wrap:wrap;justify-content:center;text-align:center;padding:10px 8px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}
.toast.on{transform:none}
.toast img{width:20px;height:20px}
@media(max-width:700px){.rdevice{grid-template-columns:1fr}.rdevice .side{display:none}.rdevice>.bar,.rscene,.rdevice .inbar{grid-column:1}.toast{top:8px;bottom:auto;left:auto;right:10px;width:auto;max-width:70%;padding:6px 10px 6px 6px;border-radius:999px;background:#1E0538;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.66rem}}

/* ---- isometric campus ---- */
.campus-svg{background:#1E0538;perspective:1200px}
.iso{display:block;width:100%;height:auto}
.iso .bld3{cursor:pointer;transition:transform .25s var(--e),filter .25s}
.iso .bld3:hover{transform:translateY(-8px);filter:brightness(1.12)}
.iso .win{fill:#FBB22F;opacity:.35;transition:opacity .3s}
.iso .bld3:hover .win{opacity:1}
.iso .pill rect{fill:#fff}
.iso .pill text{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:13px;fill:#400072}
.iso .pill .sub{font-weight:600;font-size:10px;fill:#7B7188}
.iso .stem{stroke:#fff;stroke-width:2;opacity:.8}
.iso .pinl{font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:10px;fill:#DA2A75;letter-spacing:1.5px}
.iso .layer{transition:transform .35s ease-out}
.js .iso .bld3{opacity:0;transform:translateY(30px)}
.js .campus-svg.in .iso .bld3{opacity:1;transform:none;transition:opacity .7s var(--e),transform .7s var(--e)}
.campus-hero .lede{margin-left:0}
.walk-hint{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.78rem;color:#C9B7E0}
.walk-hint i{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:pulse 2s infinite}

/* ---- features: three new sections ---- */
.memflow{display:grid;gap:12px}
.memflow .ms{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.memflow .ms img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.memflow .ms b{display:block;font-family:'Inter',Arial,sans-serif;color:#fff}
.memflow .ms span{font-size:.86rem;color:#D9CCEA}
.memflow .ma{text-align:center;color:var(--orange);font-size:1.2rem;line-height:1}

/* ---- universities hero ---- */
.uhero{background:var(--purple);color:#fff;position:relative;isolation:isolate;overflow:hidden;padding:72px 0 64px}
.uhero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 90% 10%,rgba(218,42,117,.4),transparent 65%)}
.uhero h1{color:#fff;font-size:clamp(2.1rem,3.9vw,3.1rem);letter-spacing:-.045em;line-height:1;margin-top:14px}
.uhero .lede{color:#E3D6F2;margin-top:18px}
.uhero .eyebrow{color:var(--orange)}
.uhero .aud span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.uhero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.uhero-grid{display:grid;gap:32px;align-items:center}
@media(min-width:1000px){.uhero-grid{grid-template-columns:.9fr 1.1fr;gap:48px}}
.glance4{display:grid;gap:12px;margin-top:8px}
@media(min-width:800px){.glance4{grid-template-columns:repeat(4,1fr)}}
.glance4 div{padding:20px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.glance4 .k{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
.glance4 ul{margin:8px 0 0;padding-left:16px;display:grid;gap:4px;font-size:.9rem;color:var(--ink-2)}

.campus-legend a{display:inline-flex;align-items:center;gap:8px}
.campus-legend a::before{content:'';width:10px;height:10px;border-radius:3px;background:var(--c,#fff);flex:none}
@media(max-width:700px){
  .iso .pill,.iso .stem,.iso .layer[data-depth="3"]{display:none}
  .xhero .models-track span:nth-child(n+7){display:none}
  .stats3{gap:18px}.stats3 b{font-size:1.7rem}
  .scene{min-height:0;padding:16px}.tabs-pile{min-height:0;display:flex;flex-direction:column;gap:8px}.tab{position:relative;left:auto!important;top:auto!important;width:max-content;max-width:92%;white-space:normal;font-size:.72rem;padding:8px 10px}.tab:nth-child(even){margin-left:auto}
  .hs{width:22px;height:22px;font-size:.64rem}.hs .tip{white-space:normal;width:190px}
  .glance4 div{padding:16px}
}

/* =====================================================================
   ROUND 7: constellation "This is CMPUS", bridge gap, research/pedagogy
   block, credits vs tokens, campus life + hover cards, slider rework,
   classmate portrait fade, founder photo, faculty view
   ===================================================================== */

/* ---- This is CMPUS: constellation ---- */
.whatis{background:#1E0538;color:#fff;position:relative;isolation:isolate;overflow:hidden;text-align:center}
.whatis::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(42% 42% at 50% 46%,rgba(64,0,114,.95),transparent 72%),radial-gradient(30% 30% at 92% 100%,rgba(218,42,117,.25),transparent 60%)}
.whatis .eyebrow{color:var(--orange)}.whatis h2{color:#fff}.whatis .lede{color:#D9CCEA;margin-left:auto;margin-right:auto}
.wo{position:relative;width:min(620px,88vw);aspect-ratio:1;margin:44px auto 0}
.wo-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(255,255,255,.22);animation:wospin 90s linear infinite}
.wo-ring.in{inset:19%;animation-direction:reverse;animation-duration:70s}
.wo-sat{position:absolute;inset:0;transform:rotate(var(--a));pointer-events:none}
.wo-face{position:absolute;left:100%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;border:3px solid var(--c);background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.45);transform:rotate(calc(-1 * var(--a)));transition:box-shadow .35s,transform .35s var(--e);pointer-events:auto;cursor:pointer;display:block}
.wo-face img{width:100%;height:100%;object-fit:cover;object-position:top;animation:wospin 90s linear infinite reverse}
.wo-ring.in .wo-face img{animation-direction:normal;animation-duration:70s}
.wo-sat.lit .wo-face{box-shadow:0 0 0 6px rgba(251,178,47,.45),0 0 48px var(--c);transform:rotate(calc(-1 * var(--a))) scale(1.2)}
.wo-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#5A1E9A,#2A0A52);display:grid;place-items:center;box-shadow:0 0 0 12px rgba(255,255,255,.05),0 0 90px rgba(218,42,117,.35)}
.wo-core img{width:66px}
.wo-core span{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.wo-cap{width:min(460px,92%);margin:40px auto 0;padding:12px 16px;border-radius:14px;background:#fff;color:#222;text-align:left;box-shadow:0 20px 50px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:2px}
.wo-cap b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.88rem;color:var(--purple)}
.wo-cap span{font-size:.78rem;color:#4F4560}
@keyframes wospin{to{transform:rotate(360deg)}}
.wh-tiles{display:grid;gap:12px;margin-top:64px;text-align:left}
@media(min-width:900px){.wh-tiles{grid-template-columns:repeat(4,1fr)}}
.wh-tile{padding:20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.wh-tile .vis{height:44px;display:flex;align-items:center;gap:6px;margin-bottom:12px}
.wh-tile .vis img{width:34px;height:34px;border-radius:50%;border:2px solid var(--c);background:#fff;object-fit:cover;object-position:top;margin-left:-8px}
.wh-tile .vis img:first-child{margin-left:0}
.wh-tile .vis .ar{color:var(--orange);font-weight:900;margin:0 4px}
.wh-tile .vis .lg{width:26px;height:26px;color:#fff;display:inline-grid;place-items:center}.wh-tile .vis .lg svg{width:24px;height:24px;fill:#fff}
.wh-tile .vis .lg.wm{width:auto;padding:0 5px;border:1.5px solid #fff;border-radius:6px;font-size:.6rem;font-weight:800}
.wh-tile .vis .sh{width:36px;height:36px;color:var(--orange)}
.wh-tile b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:1.05rem;color:#fff;letter-spacing:-.02em}
.wh-tile p{font-size:.84rem;color:#D9CCEA;margin-top:6px}
.whatis .hero-actions{justify-content:center;margin-top:34px}
.whatis .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
@media(prefers-reduced-motion:reduce){.wo-ring,.wo-face img{animation:none!important}}

/* ---- The gap: bridge ---- */
.bridge{margin-top:40px}
.bstage{display:grid;gap:14px;align-items:stretch}
@media(min-width:1000px){.bstage{grid-template-columns:.85fr 1.5fr .85fr}}
.cliff{border-radius:22px;padding:20px;min-height:320px;display:flex;flex-direction:column;gap:12px}
.cliff.stu{background:#141414;color:#EDEDED}
.cliff.uni{background:#F1EAFB;color:#222;border:1px solid #DCCBEF}
.cliff .sh,.bspan .sh{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.cliff.stu .sh{color:#9A9A9A}.cliff.uni .sh{color:#7B3FB0}.bspan .sh{color:var(--orange)}
.btabs{display:flex;flex-wrap:wrap;gap:6px}
.btab{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px;background:#242424;border:1px solid #3A3A3A;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.74rem;color:#DDD;opacity:0;transform:translateY(8px) rotate(var(--r,0deg));transition:opacity .35s var(--e),transform .35s var(--e)}
.btab.on{opacity:1;transform:rotate(var(--r,0deg))}
.btab i{width:7px;height:7px;border-radius:50%;background:#FF7AA8;flex:none}
.cliff.uni .btab{background:#fff;border-color:#DCCBEF;color:#400072}
.cliff.uni .btab i{background:#DA2A75}
.stamp3{margin-top:auto;align-self:flex-start;padding:8px 12px;border:3px solid currentColor;border-radius:8px;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-3deg) scale(0);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.stamp3.on{transform:rotate(-3deg) scale(1)}
.cliff.stu .stamp3{color:#FF7AA8}.cliff.uni .stamp3{color:#DA2A75}
.bspan{position:relative;border-radius:22px;background:var(--purple);color:#fff;padding:20px;overflow:hidden;display:flex;flex-direction:column;gap:12px}
.bspan::before{content:'';position:absolute;left:-40px;right:-40px;top:50%;height:4px;background:linear-gradient(90deg,var(--orange),var(--pink),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--e);opacity:.9}
.bridge.on .bspan::before{transform:scaleX(1)}
.bpillars{display:grid;gap:10px;position:relative;flex:1}
@media(min-width:600px){.bpillars{grid-template-columns:1fr 1fr}}
.bpillar{padding:14px;border-radius:14px;background:rgba(30,5,56,.85);border:1px solid rgba(255,255,255,.16);opacity:0;transform:translateY(14px);transition:opacity .5s var(--e),transform .5s var(--e);backdrop-filter:blur(4px)}
.bpillar.on{opacity:1;transform:none}
.bpillar b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.92rem;color:#fff}
.bpillar>span{font-size:.78rem;color:#D9CCEA;display:block;margin-top:2px}
.bpillar .mini{margin-top:10px}
.mini.faces{display:flex;flex-wrap:wrap;gap:6px}
.mini.faces span{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border-radius:999px;background:rgba(255,255,255,.1);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;color:#fff}
.mini.faces img{width:20px;height:20px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.mini.qs{display:flex;flex-wrap:wrap;gap:6px}
.mini.qs span{padding:5px 9px;border-radius:999px;background:#fff;color:var(--purple);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem}
.mini.rub{display:grid;gap:6px}
.mini.rub div{display:grid;grid-template-columns:70px 1fr 34px;gap:8px;align-items:center;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;color:#E3D6F2}
.mini.rub .bar{height:7px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}
.mini.rub .bar i{display:block;height:100%;width:0;background:var(--orange);border-radius:999px;transition:width 1s var(--e)}
.bpillar.on .mini.rub .bar i{width:var(--w)}
.mini.role{padding:8px 10px;border-radius:10px;background:#fff;color:#222;font-size:.74rem;display:grid;gap:3px}
.mini.role b{font-size:.78rem;color:var(--purple)}
.mini.role .y{color:#1F5C49}.mini.role .n{color:#B3261E}
.bout{display:grid;gap:12px;margin-top:14px}
@media(min-width:800px){.bout{grid-template-columns:1fr 1fr}}
.bout>div{padding:14px 18px;border-radius:14px;background:var(--card);border:1px solid var(--line);display:flex;gap:12px;align-items:center;opacity:0;transform:translateY(8px);transition:opacity .5s var(--e),transform .5s var(--e)}
.bridge.on .bout>div{opacity:1;transform:none;transition-delay:2.6s}
.bout>div>div{display:block;min-width:0}
.bout b{font-family:'Inter',Arial,sans-serif;font-weight:800;color:var(--hi)}
.bout span{font-size:.86rem;color:var(--ink-2)}
.bout svg{width:20px;height:20px;color:#2E8A72;flex:none}

/* ---- research / pedagogy block ---- */
.research{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rgrid{display:grid;gap:26px;align-items:start;margin-top:36px}
.ladder{border-radius:22px;background:#1E0538;color:#fff;padding:22px;position:relative;overflow:hidden;display:grid;gap:22px}
@media(min-width:900px){.ladder{grid-template-columns:1.25fr .75fr;gap:32px;padding:28px}}
.ladder::before{content:'';position:absolute;inset:0;background:radial-gradient(50% 40% at 100% 0%,rgba(218,42,117,.28),transparent 60%);pointer-events:none}
.ladder>*{position:relative}
.ladder .lt{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ladder .lt b{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.lsteps{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.lsteps button{height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.74rem;cursor:pointer}
.lsteps button.on{background:var(--orange);color:#222;border-color:var(--orange)}
.lchat{display:grid;gap:12px;align-content:start}
.lchat .msg{padding:12px 14px;border-radius:14px;font-size:.92rem;line-height:1.55;max-width:94%;color:#fff}
.lchat .me{background:#fff;color:#222;justify-self:end;border-bottom-right-radius:4px}
.lchat .me,.lchat .me *{color:#222}
.lchat .ai{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-bottom-left-radius:4px;display:flex;gap:10px;align-items:flex-start;transition:opacity .25s;color:#fff}
.lchat .ai,.lchat .ai div,.lchat .ai span{color:#fff}
.lchat .ai.fade{opacity:0}
.lchat .ai img{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.lchat .ai .fn,.lchat .fn{display:inline-block;margin-top:8px;padding:3px 8px;border-radius:999px;background:var(--orange);color:#222!important;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}
.gauge{display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;align-items:center;margin-top:18px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;color:#C9B7E0}
.gauge .bar{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.gauge .bar i{display:block;height:100%;border-radius:999px;transition:width .8s var(--e)}
.gauge .sup i{background:var(--orange)}.gauge .you i{background:#3FB08A}
.gauge em{font-style:normal;font-variant-numeric:tabular-nums;color:#fff;min-width:34px;text-align:right}
.ladder .lnote{margin-top:12px;font-size:.76rem;color:#C9B7E0}
.pgrid{display:grid;gap:12px}
@media(min-width:700px){.pgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.pgrid{grid-template-columns:repeat(3,1fr)}}
.pc{padding:16px 18px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.pc b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.98rem;color:var(--hi);letter-spacing:-.01em}
.pc .cite{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin-top:3px}
.pc p{font-size:.84rem;color:var(--ink-2);margin-top:8px}
.pc .in{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--bg-2);font-size:.8rem;color:var(--hi);line-height:1.45}
.pc .in b{display:inline;font-size:.64rem;color:var(--pink);letter-spacing:.08em;text-transform:uppercase;margin-right:6px}
.fnrow{display:grid;gap:8px;margin-top:22px}
@media(min-width:700px){.fnrow{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.fnrow{grid-template-columns:repeat(6,1fr)}}
.fnrow div{padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card)}
.fnrow div b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.76rem;color:var(--hi)}
.fnrow div span{display:block;font-size:.74rem;color:var(--ink-3);margin-top:4px}
.fnrow .n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--purple);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.62rem;margin-bottom:6px}
.rsrc{margin-top:16px;font-size:.72rem;color:var(--ink-3);line-height:1.6}
.rsrc summary{cursor:pointer;font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--hi);font-size:.78rem}
.rwith{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:10px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.8rem;color:var(--hi)}
.rwith i{width:9px;height:9px;border-radius:50%;background:#3FB08A}

/* ---- credits vs tokens ---- */
.credx{display:grid;gap:14px;margin-top:34px}
@media(min-width:900px){.credx{grid-template-columns:1.15fr .85fr}}
.ctable{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.ctable .row{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-top:1px solid var(--line)}
.ctable .row:first-child{border-top:0;background:var(--bg-2);font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.ctable .row>div{padding:12px 14px;font-size:.86rem;color:var(--ink-2)}
.ctable .row>div:first-child{font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--hi)}
.ctable .row:not(:first-child)>div:nth-child(2){color:#B3261E}
.ctable .row:not(:first-child)>div:nth-child(3){color:#1F5C49;font-weight:700;background:rgba(46,138,114,.06)}
.cbudget{padding:22px;border-radius:18px;background:var(--purple);color:#fff}
.cbudget .k{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.cbudget .big{display:block;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.3rem;letter-spacing:-.05em;line-height:1;margin-top:8px}
.cbudget .big small{font-size:1rem;font-weight:700;letter-spacing:0;color:#E3D6F2;margin-left:6px}
.cbudget ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px;font-size:.84rem}
.cbudget li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed rgba(255,255,255,.22);padding-bottom:6px}
.cbudget li b{color:var(--orange);font-variant-numeric:tabular-nums}
.cbudget .tot{margin-top:10px;font-family:'Inter',Arial,sans-serif;font-weight:800;display:flex;justify-content:space-between}
.cbudget .fine{font-size:.7rem;color:#C9B7E0;margin-top:8px}
.cred3{display:grid;gap:12px;margin-top:26px}
@media(min-width:800px){.cred3{grid-template-columns:repeat(3,1fr)}}
.cred3 div{padding:18px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.cred3 b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:1.6rem;letter-spacing:-.04em;color:var(--purple);line-height:1}
.cred3 span{display:block;margin-top:6px;font-size:.84rem;color:var(--ink-2)}
.cred3 .lbl{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin-bottom:8px;display:block}

/* ---- Our CMPUS: life + hover cards ---- */
.campus-svg{position:relative}
.bpop{position:absolute;z-index:6;width:250px;padding:14px;border-radius:16px;background:#fff;color:#222;box-shadow:0 30px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s;pointer-events:none;text-align:left}
.bpop.on{opacity:1;visibility:visible;transform:none}
.bpop b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.95rem;color:var(--purple)}
.bpop p{font-size:.8rem;color:#4F4560;margin-top:4px;line-height:1.45}
.bpop .faces{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bpop .faces span{display:inline-flex;align-items:center;gap:5px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;color:#222}
.bpop .faces img{width:22px;height:22px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.bpop .go{margin-top:8px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;color:var(--pink)}
.iso .walker{opacity:.95}
.iso .cloud{fill:#fff;opacity:.07}
.iso .bird{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;opacity:.6}

/* ---- classmate hero portrait: fade the cut edge ---- */
.cm-stage img{-webkit-mask-image:linear-gradient(#000 70%,rgba(0,0,0,.55) 86%,transparent 100%);mask-image:linear-gradient(#000 70%,rgba(0,0,0,.55) 86%,transparent 100%)}

/* ---- features slider: full-width stage, cards anchored, hint off the text ---- */
.fx-hero .split{grid-template-columns:1fr;gap:28px}
.fx-hero .split>div:first-child{max-width:780px}
.cmp{aspect-ratio:auto;min-height:0;height:540px;width:100%;max-width:100%;margin-top:6px}
.cmp .layer .inner{width:50%;height:100%;padding:22px;display:grid;gap:10px;align-content:start;overflow:hidden}
.cmp .layer.gen .inner{margin-right:auto}
.cmp .layer.us .inner{margin-left:auto}
.cmp .layer::after{position:absolute;bottom:14px;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.6rem;letter-spacing:-.05em;pointer-events:none}
.cmp .layer.gen::after{content:'GENERIC AI';right:22px;color:rgba(255,255,255,.06)}
.cmp .layer.us::after{content:'CMPUS';left:22px;color:rgba(64,0,114,.07)}
.cmp .hint{display:none}
@media(max-width:700px){
  .cmp{height:auto;aspect-ratio:auto;display:grid;background:transparent;box-shadow:none;gap:12px;overflow:visible}
  .cmp .layer{position:static!important;clip-path:none!important;width:100%!important;height:auto;border-radius:20px}
  .cmp .layer .inner{width:100%;height:auto}
  .cmp .handle,.cmp .range,.cmp .hint,.cmp .layer::after{display:none}
  .cmp .layer.gen .stat{flex-wrap:wrap}.cmp .layer.gen .stat div{flex:1 1 30%;min-width:90px}
}

/* ---- About: founder photo ---- */
.fcard.photo{padding:0;background:#000;display:grid;grid-template-columns:.85fr 1.15fr;min-height:440px}
.fcard.photo::before{display:none}
.fcard.photo .ftxt{padding:32px;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end}
.fcard.photo .fimg{position:relative;min-height:300px}
.fcard.photo .fimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);mask-image:linear-gradient(90deg,transparent,#000 38%)}
.fcard.photo h3{color:#fff;margin-top:0}
.fcard.photo blockquote{color:#E3D6F2}
@media(max-width:760px){.fcard.photo{grid-template-columns:1fr;min-height:0}.fcard.photo .fimg{order:-1;height:360px}.fcard.photo .fimg img{-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent)}}

/* ---- universities: faculty view mock ---- */
.fvgrid{display:grid;gap:28px;align-items:center;margin-top:34px}
@media(min-width:1000px){.fvgrid{grid-template-columns:.8fr 1.2fr}}
.fview{border-radius:20px;background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.35)}
.fview .fbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--purple);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.fview .fbar span{color:var(--orange)}
.fview .fbody{display:grid;gap:14px;padding:16px}
@media(min-width:700px){.fview .fbody{grid-template-columns:1.1fr .9fr}}
.fview h4{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.fview ul{list-style:none;margin:0;padding:0}
.fview .usage li{display:grid;grid-template-columns:118px 1fr 40px;gap:10px;align-items:center;font-size:.8rem;padding:4px 0;color:var(--hi)}
.fview .usage .bar{height:8px;border-radius:999px;background:#F1EAFB;overflow:hidden}
.fview .usage .bar i{display:block;height:100%;background:var(--purple);width:var(--w);border-radius:999px}
.fview .usage em{font-style:normal;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.74rem;text-align:right;color:var(--ink-3)}
.fview .qs li{font-size:.8rem;padding:6px 0;border-bottom:1px dashed var(--line);color:var(--ink-2)}
.fview .qs li b{font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--purple);margin-right:6px;font-size:.72rem}
.fview .note{grid-column:1/-1;font-size:.76rem;color:var(--ink-3);padding:8px 10px;border-radius:8px;background:var(--bg-2);display:flex;gap:8px;align-items:center}
.fview .note svg{width:14px;height:14px;color:#2E8A72;flex:none}
.fvlist{display:grid;gap:10px;margin-top:18px}
.fvlist>div{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink-2)}
.fvlist>div>div{display:block;min-width:0}
.fvlist>div>svg{width:18px;height:18px;color:#2E8A72;flex:none;margin-top:2px}
.fvlist>div b{color:var(--hi);font-family:'Inter',Arial,sans-serif}

@media(max-width:700px){
  .wo{width:min(340px,86vw)}.wo-face{width:40px;height:40px;margin:-20px 0 0 -20px}.wo-core{width:104px;height:104px}.wo-core img{width:46px}.wo-cap{width:96%;padding:10px 12px}.wo-cap b{font-size:.78rem}.wo-cap span{font-size:.7rem}
  .cliff{min-height:0}.bspan::before{display:none}
  .lchat{min-height:0}.gauge{grid-template-columns:auto 1fr auto}
  .ctable .row{grid-template-columns:1fr 1fr 1fr}.ctable .row>div{padding:10px 8px;font-size:.76rem}
}

/* =====================================================================
   MOBILE PASS (round 8): compact sections, swipe rows instead of tall
   stacks, shorter copy. Everything here is scoped to phones.
   ===================================================================== */
@media(max-width:700px){
  /* swipe rows: any container with .mswipe becomes a horizontal snap carousel */
  .mswipe{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:12px!important;grid-template-columns:none!important;padding:2px 14% 12px 2px;margin-left:-2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,#000 86%,transparent 100%)}
  .mswipe::-webkit-scrollbar{display:none}
  .mswipe,.race .rtl{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box}
  .race>div,.wpanel,.dpanel,.wrap{min-width:0}
  .wrap{max-width:100%}
  .pain,.night,.welcome,.holy,.models,.whatis,.gap,.research{display:block}
  .mswipe>*{flex:0 0 84%!important;scroll-snap-align:start;min-width:0;width:auto!important;max-width:none!important;margin:0!important}
  .mswipe>:only-child{flex-basis:100%!important}
  .dpanel.mswipe:not(.on),.dx-pane.mswipe:not(.on){display:none!important}
  .mhide{display:none!important}

  /* rhythm */
  .sec-xl{padding:44px 0}.sec{padding:36px 0}
  .sec-head{margin-bottom:20px}
  .h-xl{font-size:clamp(1.9rem,8.6vw,2.4rem)!important;line-height:1.02!important}
  .h-lg{font-size:clamp(1.55rem,7vw,2rem)!important;line-height:1.05!important}
  .lede{font-size:.96rem!important;line-height:1.5!important}
  .hero-actions{gap:8px}

  /* hero */
  .xhero .xcopy .lede{font-size:.95rem!important}
  .xchips>*:nth-child(n+5){display:none}
  .models-wrap .lbl{font-size:.58rem;letter-spacing:.12em}

  /* this is CMPUS */
  .wh-tiles{margin-top:36px;gap:10px;grid-template-columns:1fr 1fr}.wh-tile{padding:14px}.wh-tile .vis{height:36px;margin-bottom:8px}.wh-tile .vis img{width:28px;height:28px}.wh-tile b{font-size:.9rem}.wh-tile p{font-size:.8rem}
  .whatis .hero-actions{margin-top:24px}

  /* the gap */
  .bstage{display:grid;gap:10px}
  .cliff{min-height:0;padding:14px;gap:8px}.bspan{padding:14px}
  .bpillars{grid-template-columns:1fr 1fr;gap:8px}.bpillar{padding:10px}.bpillar b{font-size:.78rem}.bpillar>span{font-size:.68rem}.bpillar .mini{margin-top:6px}
  .mini.faces span{font-size:.6rem;padding:3px 6px 3px 3px}.mini.faces img{width:16px;height:16px}.mini.qs span{font-size:.62rem;padding:4px 7px}.mini.rub div{grid-template-columns:56px 1fr 30px;font-size:.62rem}.mini.role{font-size:.64rem;padding:6px 8px}.mini.role b{font-size:.68rem}
  .btabs .btab:nth-child(n+6){display:none}.btab{font-size:.68rem;padding:5px 8px}
  .stamp3{font-size:.62rem;padding:6px 9px}
  .bout{gap:8px;margin-top:10px}.bout>div{padding:12px;font-size:.84rem}
  .scene-ctl{margin-top:10px}

  /* how CMPUS works */
  .race .rtl{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x mandatory;padding:2px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .race .rtl::-webkit-scrollbar{display:none}
  .race .tstep{flex:0 0 240px;scroll-snap-align:start;min-width:0}
  .race .race-ctl span{display:none}
  .tally2.mswipe>*{flex-basis:86%!important}

  /* meet your classmates */
  .wcards.mswipe>*{flex-basis:86%!important}

  /* why not ChatGPT */
  .loops.mswipe>*{flex-basis:90%!important}
  .claims.mswipe>*{flex-basis:78%!important}
  .dpanel.mswipe>*{flex-basis:90%!important}
  .glance.mswipe>*{flex-basis:88%!important}

  /* research */
  .ladder{padding:16px;gap:14px}.lchat .msg{font-size:.86rem}.lsteps button{height:40px;padding:0 12px;font-size:.74rem}
  .pgrid.mswipe>*{flex-basis:84%!important}
  .fnrow{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.fnrow div{padding:10px}.fnrow div b{font-size:.72rem}.fnrow div span{font-size:.68rem}
  .rsrc{display:none}.rwith{font-size:.72rem;padding:8px 12px;margin-top:14px}

  /* models */
  .model-grid{gap:8px}.model{padding:10px 12px}.model div span{display:none}
  .model-how.mswipe>*{flex-basis:84%!important}

  /* stop paying */
  .receipts.mswipe>*{flex-basis:92%!important}
  .rc{padding:18px 16px 22px}.rc .rh{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.rc .rh>*{position:static!important;transform:none!important}.rc .tot{flex-wrap:wrap;gap:6px}

  /* pricing */
  .plans3.mswipe>*{flex-basis:86%!important}
  .plans3.mswipe .plan3.hot{order:-1}
  .cred3.mswipe>*{flex-basis:80%!important}
  .rule.mswipe>*{flex-basis:84%!important}
  .trust-strip{gap:8px}

  /* footer */
  .f-grid{grid-template-columns:1fr 1fr!important;gap:18px 14px}
  .f-grid>div:first-child{grid-column:1/-1}

  /* our CMPUS */
  .floor-head .copy p:nth-of-type(2),.floor-head .copy p:nth-of-type(3){display:none}
  .floor-feats.mswipe>*{flex-basis:72%!important}
  .campus-legend{gap:6px}.campus-legend a{font-size:.72rem;padding:6px 10px}

  /* features */
  .dx-pane.mswipe>*{flex-basis:90%!important}
  .inout.mswipe>*{flex-basis:86%!important}
  .cmp{gap:10px}

  /* universities */
  .exec.mswipe>*{flex-basis:84%!important}
  .timeline.mswipe>*{flex-basis:80%!important}
  .glance4.mswipe>*{flex-basis:78%!important}
  .uhero{padding:48px 0 40px}

  /* classmate pages */
  .cm-chat .msg{font-size:.86rem}
}

/* =====================================================================
   MOBILE PASS 2 (round 9): a different, lighter site on phones.
   Simple full-screen menu, hero with real margins, fewer sections.
   ===================================================================== */

/* ---- menu drawer: fixed, scrollable, flat ---- */
.drawer{display:none;position:absolute;left:0;right:0;top:100%;height:calc(100vh - var(--navh,64px));height:calc(100dvh - var(--navh,64px));overflow-y:auto;-webkit-overflow-scrolling:touch;background:#2C0A52;border-top:1px solid rgba(255,255,255,.1);z-index:70}
.nav{position:sticky;top:0}
.nav.open .drawer{display:block}
.drawer-in{display:block;padding:16px 20px 40px}
.drawer .dcta{display:flex;justify-content:center;align-items:center;width:100%;height:54px;margin:4px 0 16px;font-size:1rem;border:0}
.drawer .dlinks{display:block}
.drawer .dlinks a{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:1.15rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.drawer .dlinks a::after{content:'\2192';color:var(--orange);font-weight:900}
.drawer .dfaces{margin-top:20px}
.drawer .dfaces .k{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.drawer .dfaces .row{display:flex;gap:12px;overflow-x:auto;padding:12px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.drawer .dfaces .row::-webkit-scrollbar{display:none}
.drawer .dfaces a{flex:0 0 auto;display:grid;justify-items:center;gap:5px;padding:0;border:0;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.68rem;color:#E3D6F2}
.drawer .dfaces img{width:50px;height:50px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.drawer .dlogin{display:block;text-align:center;margin-top:22px;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.9rem}
body.menu-open{overflow:hidden}
.monly{display:none}

/* ---- hero: real margins on every width ---- */
.xhero-in{padding-left:40px;padding-right:40px}

@media(max-width:700px){
  .wrap{padding:0 22px}
  .xhero-in{padding:30px 22px 0!important;gap:0}
  .xhero .xright,.xhero .xstage,.xhero .models-wrap,.xmq,.xhero .xproof{display:none!important}
  .xhero .xcopy{padding-bottom:20px}
  .xhero{min-height:0!important}.xhero-in{min-height:0!important}
  .xhero .xcopy .lede{font-size:1rem!important;margin-top:14px}
  .xhero .xactions,.xhero .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
  .xhero .xactions .btn,.xhero .hero-actions .btn{width:100%;justify-content:center;height:52px;font-size:1rem}
  .xhero .xwhat{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:18px}
  .xhero .xwhat span{background:none!important;border:0!important;padding:0!important;font-size:.8rem;color:#D9CCEA}
  .xhero .xwhat b{color:var(--orange);margin-right:4px}

  /* home: a shorter story on phones */
  #nav[data-page="home"]~#gap,#nav[data-page="home"]~#demo,#nav[data-page="home"]~#models,#nav[data-page="home"]~#one,#nav[data-page="home"]~* #gap,#nav[data-page="home"]~* #demo,#nav[data-page="home"]~* #models,#nav[data-page="home"]~* #one{display:none!important}
  #nav[data-page="home"]~#why .loops,#nav[data-page="home"]~#why .claims,#nav[data-page="home"]~#why .duel-tabs,#nav[data-page="home"]~#why .duel,#nav[data-page="home"]~* #why .loops,#nav[data-page="home"]~* #why .claims,#nav[data-page="home"]~* #why .duel-tabs,#nav[data-page="home"]~* #why .duel{display:none!important}
  #nav[data-page="home"]~#classmates #wtabs,#nav[data-page="home"]~#classmates #wpanels,#nav[data-page="home"]~* #classmates #wtabs,#nav[data-page="home"]~* #classmates #wpanels{display:none!important}
  #nav[data-page="home"]~#classmates .monly,#nav[data-page="home"]~* #classmates .monly{display:inline-flex;justify-content:center;width:100%;margin-top:18px}
  #how .rtl,#how .race-ctl,#how .tally2{display:none!important}
  #research .pgrid,#research .fnrow,#research .rsrc,#research .fn-head{display:none!important}
  #research .rwith{display:flex;width:100%;justify-content:center;text-align:center}
  #pricing .cred-head,#pricing .cred3,#pricing .trust-strip{display:none!important}
  .whatis .lede{display:none}
  .wh-tiles{margin-top:28px}
  .xclose .faces{display:none}
  .f-grid>div:nth-child(n+3){display:none}
  .sec-xl{padding:40px 0}
  .h-xl{font-size:clamp(1.8rem,8vw,2.2rem)!important}
  .faq-side{position:static!important;top:auto}
  .mcta{display:none!important}
  body{padding-bottom:0!important}
  .model-note,.MODEL_NOTE,.models .note{font-size:.8rem}
}

/* ---- launch polish ---- */
@media(min-width:900px){.door-card.wide summary{grid-template-columns:auto 1fr auto auto auto}}
.eq{gap:8px;font-size:.92rem}.eq span{padding:10px 12px}
.tally2{align-items:start}

/* =====================================================================
   ROUND 11: "outsourcing your learning" showcase + clearer learning
   science block (relatable demo, three habits, ChatGPT contrast)
   ===================================================================== */

/* ---- outsourcing vs fuelling ---- */
.outsrc{display:grid;gap:28px;align-items:center;margin:8px 0 56px;padding:34px;border-radius:26px;background:#1E0538;color:#fff;position:relative;overflow:hidden;isolation:isolate}
.outsrc::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 100% 0%,rgba(218,42,117,.32),transparent 60%)}
@media(min-width:1000px){.outsrc{grid-template-columns:1fr 1fr;gap:48px;padding:44px}}
.outsrc .eyebrow{color:var(--orange)}
.outsrc h3{color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:clamp(1.6rem,2.8vw,2.3rem);letter-spacing:-.04em;line-height:1.05;margin-top:10px;text-wrap:balance}
.outsrc p{color:#D9CCEA;margin-top:14px;font-size:1.02rem;line-height:1.6}
.outsrc p b{color:#fff}
.oargs{display:grid;gap:12px;margin-top:16px}
.oargs div{color:#D9CCEA;font-size:.98rem;line-height:1.55;padding-left:14px;border-left:3px solid var(--orange)}
.oargs div b{color:#fff;font-family:'Inter',Arial,sans-serif;display:block;margin-bottom:2px;letter-spacing:-.01em}
.outsrc .flu{margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);font-size:.92rem;color:#E3D6F2;display:flex;gap:12px;align-items:flex-start}
.outsrc .flu svg{width:20px;height:20px;color:var(--orange);flex:none;margin-top:2px}
.outsrc .flu b{color:#fff;display:block;font-family:'Inter',Arial,sans-serif;margin-bottom:2px}
.ob{border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);padding:20px}
.ob .oh{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}
.ob .oh span{color:#C9B7E0;font-weight:600;letter-spacing:0;text-transform:none;font-size:.72rem}
.ocols{display:grid;gap:14px}
@media(min-width:600px){.ocols{grid-template-columns:1fr 1fr}}
.ocol{padding:14px;border-radius:14px}
.ocol.gen{background:#141414;color:#EDEDED}
.ocol.us{background:var(--purple);color:#fff}
.ocol .ot{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.9rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ocol.gen .ot{color:#FF7AA8}.ocol.us .ot{color:var(--orange)}
.obar{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;margin-top:10px;font-family:'Inter',Arial,sans-serif;font-size:.74rem}
.obar span{grid-column:1/-1;color:#C9C9C9;font-weight:600}
.ocol.us .obar span{color:#E3D6F2}
.obar i{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;position:relative}
.obar i::after{content:'';position:absolute;inset:0;width:0;border-radius:999px;background:#FF7AA8;transition:width 1.1s var(--e)}
.ocol.us .obar i::after{background:var(--orange)}
.outsrc.on .obar i::after{width:var(--w)}
.obar b{font-weight:800;white-space:nowrap;font-size:.72rem}
.ocol.gen .obar b{color:#FF7AA8}.ocol.us .obar b{color:var(--orange)}
.ob .onote{margin-top:12px;font-size:.7rem;color:#9A8DB0}

/* ---- learning science v2 ---- */
.sci{display:grid;gap:26px;margin-top:36px}
@media(min-width:1000px){.sci{grid-template-columns:1.05fr .95fr;align-items:start}}
.sci .ladder{grid-template-columns:1fr;gap:16px;padding:22px}
.sci .lchat .msg{font-size:.9rem}
.gpt{padding:14px 16px;border-radius:14px;background:rgba(0,0,0,.35);border:1px dashed rgba(255,255,255,.25);font-size:.82rem;color:#C9B7E0}
.gpt b{display:block;color:#FF7AA8;font-family:'Inter',Arial,sans-serif;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.gpt .wall{font-family:ui-monospace,Menlo,monospace;font-size:.72rem;color:#9A8DB0;max-height:54px;overflow:hidden;position:relative;line-height:1.5}
.gpt .wall::after{content:'';position:absolute;left:0;right:0;bottom:0;height:24px;background:linear-gradient(transparent,rgba(30,5,56,.95))}
.gpt .so{margin-top:8px;color:#FF7AA8;font-weight:700}
.after{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.after div{padding:10px 12px;border-radius:12px;font-size:.8rem;line-height:1.4}
.after .g{background:rgba(0,0,0,.35);color:#C9B7E0}.after .c{background:rgba(255,255,255,.1);color:#fff}
.after b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.after .g b{color:#FF7AA8}.after .c b{color:var(--orange)}
.habits{display:grid;gap:12px}
.habit{padding:18px;border-radius:18px;background:var(--card);border:1px solid var(--line);display:grid;gap:10px}
.habit .hh{display:flex;align-items:center;gap:12px}
.habit .hh img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff;flex:none}
.habit .hh b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:1.02rem;color:var(--hi);letter-spacing:-.01em}
.habit .hh span{font-size:.78rem;color:var(--ink-3)}
.habit .vs{display:grid;gap:8px}
@media(min-width:600px){.habit .vs{grid-template-columns:1fr 1fr}}
.habit .vs div{padding:10px 12px;border-radius:12px;font-size:.84rem;line-height:1.45}
.habit .vs .g{background:#F3F0EA;color:#5A5462}.habit .vs .c{background:#F1EAFB;color:#2A0A52}
.habit .vs b{display:block;font-family:'Inter',Arial,sans-serif;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.habit .vs .g b{color:#B3261E}.habit .vs .c b{color:var(--purple)}
.habit .why{font-size:.78rem;color:var(--ink-3);border-top:1px dashed var(--line);padding-top:8px}
.habit .why b{color:var(--hi);font-family:'Inter',Arial,sans-serif}
.also{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;align-items:center}
.also .k{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:4px}
.also span{padding:8px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.76rem;color:var(--hi)}
.also span small{font-weight:500;color:var(--ink-3);font-family:Arial,Helvetica,sans-serif}

@media(max-width:700px){
  .outsrc{padding:22px;gap:20px;margin-bottom:36px}
  .outsrc h3{font-size:1.45rem}.outsrc p{font-size:.94rem}.oargs div{font-size:.9rem}
  .ocols{grid-template-columns:1fr}
  .after{grid-template-columns:1fr}
  .habits.mswipe>*{flex-basis:88%!important}
  .habit .vs{grid-template-columns:1fr}
  .also{display:none}
}

/* =====================================================================
   ROUND 12: launch polish. One designed theme, keyboard access, tablet
   grids, muted-text contrast.
   ===================================================================== */
:root{--ink-3:#6B6178}

/* skip link */
.skip{position:absolute;left:-9999px;top:10px;z-index:200;background:#fff;color:var(--purple);padding:10px 16px;border-radius:999px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.skip:focus{left:12px;outline:3px solid var(--orange);outline-offset:2px}

/* mega menu opens for keyboard users too */
.has-menu:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.has-menu:focus-within>a svg{transform:rotate(180deg)}

/* tablet grids (700 to 1099) */
@media(min-width:700px) and (max-width:1099px){
  .wtiles{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:700px) and (max-width:899px){
  .wh-tiles{grid-template-columns:1fr 1fr}
  .xhero .xwhat{gap:8px}
}

/* pressed state for tab-style buttons */
[aria-pressed="true"]{box-shadow:none}

/* ---- contrast: per-Classmate accents deepen when used as text on light, or as a surface under white text ---- */
.wcard .role,.smate .role,.mate .role,.door-card summary span,.door-card summary .prof,.door-card .in .k,.msg .lbl,.viz .k,.session .k,.rscene .out .k,.dcard.us .ans .k,.exam .q b,.pcard .hi em,.xmatch .lbl,.cmp .pill b,.cm-stage .chip,.cm-hero .btn-pink,.related .role,.wcard .top .role{color:color-mix(in srgb,var(--c) 66%,#1E0538)}
.door-card summary .prof{border-color:color-mix(in srgb,var(--c) 66%,#1E0538)}
a.btn.btn-c,.wcard .acts a.btn.btn-c,.door-card .in a.btn.btn-c,.door-card summary a.btn.cta,.floor-feats .n,.how .n,.floor-head .badge .ic,.hpanel .say .msg.me,.demo-tab.on,.cm-hero .btn-ghost:hover{background:color-mix(in srgb,var(--c) 78%,#000)}
.htab.on .res,.cap .i,.caps .cap span.i{color:color-mix(in srgb,var(--c) 66%,#1E0538)}
.cm-hero{background-image:linear-gradient(rgba(20,0,40,.32),rgba(20,0,40,.32))}
.cm-hero .cm-school,.cm-hero .cm-role,.cm-hero .lede{color:#fff}
.loop .gain span,.loop.us .gain span{color:var(--hi)}
.nav.glass{background:rgba(42,10,82,.9)}

/* small pink and green labels on cream need a deeper tone */
.eyebrow{color:#C11F64}
.dark .eyebrow,.xhero .eyebrow,.whatis .eyebrow,.night .eyebrow,.research .eyebrow .x{color:inherit}
.floor-head .copy .punch{color:#C11F64}
.rc.us .rh .stamp,.rc .li small,.rc.us .li span small{color:#1F6B58}
.refill em{color:#B8175E}

/* =====================================================================
   ROUND 13: launch bar. One button system, brand-only palette, honest
   phone layouts (no side-by-side comparisons in carousels), legend and
   markers the reviewers asked for.
   ===================================================================== */
html{background:#1E0538}
body{background:var(--bg)}

/* ---- one button system: pink fill = primary, purple outline = secondary ---- */
a.btn.btn-c,.wcard .acts a.btn.btn-c,.door-card .in a.btn.btn-c,.door-card summary a.btn.cta{background:var(--pink);color:#fff}
a.btn.btn-c:hover,.door-card summary a.btn.cta:hover{background:#C41F66}
.btn-ghost{border:1.5px solid var(--purple);color:var(--purple);background:transparent}
.btn-ghost:hover{background:rgba(64,0,114,.06);border-color:var(--purple)}
.dark .btn-ghost,.phero .btn-ghost,.fx-hero .btn-ghost,.xclose .btn-ghost,.cm-hero .btn-ghost,.whatis .btn-ghost,.night .btn-ghost,.uhero .btn-ghost,.xhero .btn-ghost,.plans3 .btn-ghost,.plans-dark .btn-ghost,[style*="background:var(--purple)"] .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.dark .btn-ghost:hover,.phero .btn-ghost:hover,.fx-hero .btn-ghost:hover,.xclose .btn-ghost:hover,.cm-hero .btn-ghost:hover,.xhero .btn-ghost:hover,.plans3 .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.plan3 .btn-ghost{border-color:var(--purple);color:var(--purple)}
.campus-hero .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.campus-hero .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.plan3 .btn-ghost:hover{background:rgba(64,0,114,.06)}
.door-card summary a.btn.prof{border:1.5px solid var(--purple);color:var(--purple);background:transparent}

/* ---- brand palette only: no green (round 13b additions) ---- */
.mini.role .y{color:#4B1A86}.mini.role .n{color:#B41751}
.gauge .you i,.rwith i{background:var(--orange)}
.sent{background:#F3EBFA;border-color:#DCC9EE;color:#400072}
.gap-link{display:none}
.wrap.argue{grid-template-columns:1fr!important;max-width:860px;gap:18px}
.cmp .layer.us .flag{background:#F3EBFA;color:#400072;border-color:#DCC9EE}
.gain svg{color:#400072}
.start-map{grid-auto-rows:1fr}
@media(min-width:1000px){.doors:not(.one){display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.doors:not(.one)>*{flex:0 1 calc((100% - 32px)/3);min-width:0}}
.fx-scene.us .flag{background:#F3EBFA;color:#400072;border-color:#DCC9EE}
.ot.uni .ic{background:#F3EBFA;color:#4B1A86}
.gpt .wall::after{display:none}
.gpt .wall{-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.research,.models{background:var(--bg)}
.also span{font-size:.82rem}
.pain .eyebrow{border:0;background:none;padding:0}
.floor-head{align-items:start}
/* one page rail. padding-inline only: the shorthand wiped the hero's own top padding, because .xhero-in is also a .wrap */
@media(min-width:1100px){.wrap{max-width:1240px;padding-inline:40px}}
/* hero: breathing room under the sticky nav */
@media(min-width:1000px){.xhero-in{padding-top:76px}}
@media(min-width:701px) and (max-width:999px){.xhero-in{padding-top:56px}}
@media(min-width:900px){.campus-legend{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.sci .ladder{position:sticky;top:96px}.fnrow{grid-template-columns:repeat(3,1fr)!important;gap:20px}.course .three-col{grid-column:1/-1}}
/* ---- brand palette only: no green ---- */
.rc.us .rh .stamp,.rc .li small,.rc.us .li span small{color:#4B1A86}
.ctable .row:not(:first-child)>div:nth-child(3){color:#3B0A66;background:rgba(64,0,114,.05)}
.inout .in li svg,.inout .in h3,.ccard .pol .ok svg{color:#4B1A86!important}
.tw:nth-child(4){border-top-color:#2B004E}
.ob .obar i::after,.ocol.us .obar i::after{background:var(--orange)}
.ocol.gen .obar i::after{background:#FF7AA8}

/* ---- marquee edge fade: overlays in the strip's own colour (a mask would reveal the cream page behind it) ---- */
.xmq{position:relative}
.xmq::before,.xmq::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.xmq::before{left:0;background:linear-gradient(90deg,#1E0538,rgba(30,5,56,0))}
.xmq::after{right:0;background:linear-gradient(270deg,#1E0538,rgba(30,5,56,0))}

/* ---- home hero stage: the bottom fade is a mask on the stage (works on any background), not a dark box ---- */
/* ---- home hero stage: soft floor, no rectangle ---- */
/* loop diagrams: nodes are opaque so the travelling dot passes under them */
.loop .lk{fill:#fff}
.loop.us .lk{fill:#400072}

/* ---- model grid never wider than its wrap (tablet had a 3px spill) ---- */
.model{min-width:0}
.model b{overflow-wrap:anywhere}
@media(min-width:700px) and (max-width:1099px){.model-grid{grid-template-columns:repeat(auto-fill,minmax(146px,1fr))}}

/* ---- model marks in one square ---- */
.model .lg,.model .lg.wm{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--bg-2)}
.model .lg svg{width:22px;height:22px}
.model .lg.wm{font-size:.62rem;font-weight:900;letter-spacing:.02em}

/* ---- pricing ---- */
.plan3 .amt small{display:inline-block}
.cred3 b .inf,b .inf{font-size:1.45em;line-height:.7;display:inline-block;margin:0;color:inherit;transform:translateY(.05em)}
.plans-note{max-width:44em;margin:26px auto 0;text-align:center;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.92rem;color:#D9CCEA}
.plans-note.light{color:var(--ink-2)}
.plan3 .badge{white-space:nowrap}
.credx{align-items:start}

/* ---- universities: hero legend, allowed / not allowed labels ---- */
.hs-legend{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;counter-reset:hs;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.74rem;color:#D9CCEA}
.hs-legend li{display:inline-flex;align-items:center;gap:7px}
.hs-legend li::before{counter-increment:hs;content:counter(hs);width:20px;height:20px;border-radius:50%;background:var(--orange);color:#1E0538;display:grid;place-items:center;font-size:.66rem;font-weight:900}
.pol .pl{grid-column:1/-1;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#4B1A86;margin-top:4px}
.pol .pl.no{color:#B3261E}

/* ---- classmate pages ---- */
.cm-stage .chip.c1{left:2%;bottom:8%;top:auto}
.cm-stage .chip.c2{right:2%;top:6%}
.cm-stage .chip{max-width:min(46%,220px);white-space:normal}
.pcard::before{top:-4px;right:18px;font-size:6.5rem;line-height:1}
.how h3{font-size:1.35rem;letter-spacing:-.03em;margin-bottom:6px}
.box.no h3{color:#B3261E}
.box.no li::before{content:'';width:12px;height:2px;top:.78em;background:#B3261E;border-radius:2px}
.box:not(.no) li::before{background:#4B1A86}
.hands .hand{align-items:center}
.asks{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.asks li{position:relative;padding-left:14px}
.asks li::before{content:'';position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--c,var(--pink))}
.crisis{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#FFF6E5;border:1px solid #F5DDA6;color:#6B4E00;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:.9rem}

/* ---- about, contact, legal ---- */
.legal{margin:0}
.legal ul{padding-left:20px;margin:0 0 14px}
.legal li{color:var(--ink-2);margin-bottom:6px}
.lhero-grid{align-items:center}
.f-bottom{align-items:center}

/* ---- device words: what a phone sees vs what a desktop sees ---- */
.monly{display:none}
.mlist{display:none}

/* ---- phone stack (no comparison lives in a carousel) ---- */
@media(max-width:700px){
  .monly{display:inline}
  .mhide,.dsk{display:none!important}
  p,li,.lede,.copy{-webkit-hyphens:none;hyphens:none}
  .plans3,.glance,.inout,.model-how,.floor-feats,.rule{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;overflow:visible!important;padding:0!important;margin-left:0!important}
  .plans3>*,.glance>*,.inout>*,.model-how>*,.floor-feats>*,.rule>*{width:100%!important;max-width:100%!important;min-width:0}
  .plans3{padding-top:16px!important}
  .plans3 .plan3.hot{order:0}
  .plan3 .badge{top:-12px}
  .plan3 .amt{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
  .plan3 .amt small{margin-left:0}
  /* hero chips: an even grid, 44px rows */
  .xhero .xwhat{display:grid!important;grid-template-columns:1fr 1fr;gap:6px 14px}
  .xhero .xwhat span{min-height:0}
  /* tab chips: even 2 x 2, tappable height */
  .ftabs,.lsteps{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .ftabs button,.lsteps button{min-height:44px;height:auto;padding:8px 12px;white-space:normal;line-height:1.2}
  /* welcome tiles: one column */
  .wh-tiles{grid-template-columns:1fr!important}
  .wh-tile{font-size:.95rem}
  /* honest question: the argument breathes, the outer card goes */
  .outsrc{padding:22px 18px;gap:20px}
  .oargs div{font-size:.94rem;line-height:1.5}
  .obar{grid-template-columns:1fr auto;grid-template-areas:"l v" "b b";gap:4px 10px}
  .obar span{grid-area:l;grid-column:auto}
  .obar b{grid-area:v;text-align:right}
  .obar i{grid-area:b;width:100%}
  /* the sixteen faces become a tappable list */
  #classmates .wfaces{display:none!important}
  #classmates .mlist{display:grid;gap:10px;margin-top:22px;text-align:left}
  #classmates .mlist .start{padding:12px 14px}
  #classmates .mlist .start span{font-size:.86rem}
  #classmates .mlist .start b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);font-size:1rem}
  /* chat composer: no wrapped placeholder */
  .rdevice .inbar .uses{display:none}
  /* FAQ: questions first, Alex after */
  .faqx{display:flex;flex-direction:column}
  .faqx .faq-side{order:2}
  .faq2 summary{min-height:56px}
  /* closing glow: no hard edge */
  .xclose::before{inset:auto -40% -30% -40%;height:70%;background:radial-gradient(50% 55% at 50% 100%,rgba(218,42,117,.42),transparent 70%)}
  .xclose{padding:88px 0}
  .xclose .actions{display:grid;grid-template-columns:1fr;gap:10px}
  .xclose .actions .btn{width:100%;justify-content:center;height:52px}
  /* full-width buttons everywhere a pair is stacked */
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-actions .btn{width:100%;justify-content:center;height:52px;font-size:1rem}
  /* footer: legal links stay reachable, rows are tappable */
  .f-grid>div:nth-child(n+3){display:none}
  footer li{padding:6px 0}
  .f-social a{width:44px;height:44px}
  .f-legal{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:.84rem}
  .f-legal a{color:#D9CCEA;text-decoration:underline;text-underline-offset:3px}
  /* our cmpus: the map is an illustration, the list is the navigation */
  .walk-hint{display:none!important}
  .campus-svg{pointer-events:none;margin-top:24px}
  .campus-legend{display:grid;grid-template-columns:1fr;gap:6px}
  .campus-legend a{min-height:48px;padding:10px 14px;font-size:.9rem;justify-content:flex-start;border-radius:14px}
  .campus-legend a::after{content:'\2192';margin-left:auto;color:var(--orange);font-weight:900}
  .start{min-height:56px}
  .start::after{content:'\2192';margin-left:auto;color:var(--c);font-weight:900;flex:none}
  .floor{padding:44px 0}
  .floor-head{margin-bottom:22px;gap:14px}
  .floor-head h2{font-size:clamp(1.5rem,6.6vw,1.9rem)!important}
  .floor-head .copy .punch{font-size:.96rem}
  .door-card summary{align-items:flex-start}
  .door-card summary img{width:52px;height:52px}
  .door-card summary p{font-size:.92rem;line-height:1.5}
  .door-card summary .pm{width:40px;height:40px}
  /* features: stacked panels take their natural height (no void above the stat row) */
  .cmp{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
  .cmp .layer{height:auto!important}
  .cmp .layer.gen .wall{max-height:96px}
  .cmp .layer>*{min-width:0!important;max-width:100%!important}
  .cmp .tagl{white-space:normal;width:auto;max-width:100%;font-size:.62rem}
  .cmp .stat{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px}
  .cmp .stat>div{min-width:0;padding:10px 8px}
  .cmp .stat b{font-size:1.25rem}
  .cmp .stat span{font-size:.62rem;line-height:1.25}
  .model-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px}
  .model{padding:10px 6px;align-items:center;text-align:center}
  .model b{font-size:.8rem}
  .model-note{text-align:left;font-size:.8rem}
  .gains .gain{padding:12px 14px;font-size:.92rem}
  #nav[data-page="features"]~* .sci .gpt,#nav[data-page="features"]~* .sci .after,#nav[data-page="features"]~* .research .also,#nav[data-page="features"]~* .research .pgrid,#nav[data-page="features"]~* .research .rsrc,#nav[data-page="features"]~* .research .fnrow{display:none!important}
  /* universities */
  .hs-legend{margin-top:12px}
}

/* =====================================================================
   ROUND 13b: desktop critic + phone reviewer B.
   ===================================================================== */
.nav{border-bottom:1px solid rgba(255,255,255,.14)}
.nav .wrap{max-width:1240px}
.wo-core{box-shadow:0 0 70px 24px rgba(218,42,117,.22)}
.wtile .faces .more{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#EFE9F5;color:var(--purple);font:700 11px/1 'Inter',Arial,sans-serif;font-style:normal;margin-left:-8px;border:2px solid #fff;vertical-align:top}
.legal a{color:var(--pink);text-decoration:underline;text-underline-offset:2px}
.legal-toc{display:flex;flex-wrap:wrap;gap:6px 8px;margin:18px 0 8px}
.legal-toc a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.84rem;color:var(--purple);text-decoration:none}
.legal h2{scroll-margin-top:96px}
.cform label{font-size:.88rem}
.fnote{font-size:.8rem;color:var(--ink-3);margin-top:-4px}.fnote a{color:var(--pink);font-weight:700}
.drawer{max-height:calc(100dvh - 68px)}
.xmatch>a,.xmatch .go{background:var(--purple)!important;color:#fff}
.vs-close{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.welcome,#classmates{background:var(--bg)}
.race-ctl{justify-content:flex-start;gap:12px}.race-ctl .replay{margin-left:0}
.wcard.alexcard .role,.alexcard .role{color:#FBB22F!important}
.wcard.alexcard::before{background:var(--orange)}
.whead{display:block}.whead p{max-width:62ch}.whead .meta{margin-top:14px}
.htabs{gap:16px}.htab.on b{color:var(--purple)}.htab.on .res{color:var(--purple)}
.wcard.alexcard .acts .btn-white{background:var(--pink);color:#fff}
/* contact form: visible field borders, a focus ring that passes, equal control heights */
.cform input,.cform select,.cform textarea{border-color:#B9AFC4}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(64,0,114,.28)}
.cform select{height:51px}
.legal{max-width:680px}
.legal .note{font-size:1rem;border-left:4px solid var(--orange);padding:20px 24px}
.legal ul{padding-left:28px}
.legal-end{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:.92rem;color:var(--ink-2)}
.legal-end a{color:var(--pink);font-weight:700}
.nf{background:linear-gradient(135deg,#400072,#2A0650 60%,#3A0A5E);min-height:620px}
.outsrc{align-items:start}
/* outcome bars: label and value on one line, a full-width track under them, so bars compare across rows */
.obar{grid-template-columns:1fr auto;grid-template-areas:"l v" "b b";gap:4px 10px;align-items:center}
.obar span{grid-area:l;grid-column:auto}.obar b{grid-area:v;text-align:right}.obar i{grid-area:b;width:100%}
.ocol.gen{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}.ocol.us{background:#400072}
.ot{border:0!important;border-radius:0!important;background:transparent!important;border-bottom:1px solid rgba(255,255,255,.16)!important;padding:8px 0 12px!important}
/* generic-AI panels: one purple-black instead of assorted neutrals */
.dcard.gen .dh,.vs-l,.fx-scene.gen,.cmp .layer.gen,.dx-side.gen{background:#191320}
/* success states in purple, not green */
.dcard.us .flags div{background:#F3EBFA;color:#400072;border-color:#DCC9EE}.dcard.us .flags svg{color:#400072}
.xscene .guard .ok svg{color:#4B1A86}.order div{background:#F3EBFA;border-color:#DCC9EE}.order svg{color:#4B1A86}
.exam .q .opt span.ok{border-color:#4B1A86;background:#F3EBFA;color:#3B0A66}.rc.us .stamp{border-color:#4B1A86;color:#4B1A86}
.pillar:nth-child(4){border-top-color:var(--orange)}.gap-side.uni h3 i{background:var(--orange)}.bridge .wire.r{background:linear-gradient(90deg,var(--purple),var(--orange))}.rscene .src i{background:var(--orange)}
/* pricing */
.plan3 .badge{left:50%;transform:translateX(-50%)}
.plan3 .amt{color:var(--purple)}
.ctable .row:not(:first-child)>div:nth-child(2){color:var(--ink-3)}
.refills>p{grid-column:1/-1}
.refill em small{display:block;font-size:.7rem;font-weight:600;letter-spacing:0;color:var(--ink-3);margin-top:2px}
.upsell{font-size:.84rem;color:var(--ink-3);margin:-4px 0 14px}
.cbudget .fine{font-size:.82rem;color:#D9CCEA}
.nw{white-space:nowrap}
/* classmate pages */
.cm-stage .chip::before{content:none}
.pcard::before{top:8px;right:20px;font-size:6rem;line-height:.8}
.cm-stage img{-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent)}
.hands .hand,.related .start{align-items:flex-start}.hands .hand img,.related .start img{margin-top:2px}
.cap{border-top:1px solid var(--line);position:relative;overflow:hidden}.cap::before{content:'';position:absolute;inset:0 0 auto;height:5px;background:var(--c)}
.skills{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skills span{justify-content:flex-start}
.minip a.btn{background:var(--pink)!important;color:#fff!important}
.box.no h3{color:var(--purple)}.box.no li::before{background:var(--ink-3)}
.pol .pl.no{color:var(--ink-3)}
.stat3 span{font-size:.8rem;letter-spacing:.04em;color:#fff}.stat3 div{padding:12px 8px}
.crisis{display:grid;gap:4px;margin:0 0 18px;padding:18px 20px;border-radius:14px;background:#FFF6E5;border:1px solid #F5DDA6;border-left:5px solid var(--orange);color:#4A3600;font-family:'Inter',Arial,sans-serif;font-size:1rem}
.crisis b{font-weight:800}.crisis span{font-weight:500;font-family:Arial,Helvetica,sans-serif;color:#5A4300}
.crisis a,.crisis-hero a{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:4px 0}
.crisis-hero{margin-top:14px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.9rem;font-family:'Inter',Arial,sans-serif;font-weight:600;max-width:36em}
/* about */
.founder{align-items:start!important}
/* universities */
.hs-legend small{display:none}
.burger{width:44px;height:44px}
/* gutters: one token where cards sit in rows */
@media(min-width:1000px){
  .wh-tiles,.loops,.claims,.pain-note,.gains,.caps,.related,.hands,.values,.plans3,.glance{gap:24px}
  .wh-tiles{grid-auto-rows:1fr;gap:16px}
  .refills{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  h1{text-wrap:balance}
  .model-grid{grid-template-columns:repeat(2,1fr)!important}
  .model b{overflow-wrap:normal;font-size:.86rem}
  .hs{display:none!important}
  .hs-legend{display:grid;grid-template-columns:1fr;gap:10px;font-size:.9rem}
  .hs-legend li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}
  .hs-legend li::before{width:22px;height:22px;font-size:.72rem}
  .hs-legend small{display:block;grid-column:2;font-weight:500;color:#D9CCEA;font-family:Arial,Helvetica,sans-serif;font-size:.86rem;margin-top:2px}
  .aud{display:none}
  .ccard .row{grid-template-columns:1fr;gap:6px}
  .ccard .ch{flex-direction:column;align-items:flex-start}
  .fbar{flex-direction:column;gap:4px;align-items:flex-start}
  .f-grid>div:nth-child(n+3){display:block!important}
  .f-legal a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}
  h2{text-wrap:balance}
  .whatis .wo-face{pointer-events:none}
  .whatis .wo-cap{display:none}
  .vs-close{display:grid;grid-template-columns:1fr;gap:10px}.vs-close .btn{width:100%;justify-content:center;height:52px}
  .glance .gl:first-child li b{color:var(--ink-2)}
  .faq2 summary{gap:10px;padding:14px 14px}
  #nav[data-page="home"]~#gap,#nav[data-page="home"]~* #gap{display:block!important}
  #gap .bridge,#gap .bpillars,#gap .btabs{display:none!important}
  #gap .gap-link{display:inline-flex;width:100%;justify-content:center;height:52px;margin-top:18px}
  #nav[data-page="features"]~* .research .pgrid,#nav[data-page="features"]~* .research .habits,#nav[data-page="features"]~* .research .rwith,#nav[data-page="features"]~* .research .claims{display:none!important}
  .dx-pane.on{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;overflow:visible!important;padding:0!important;margin-left:0!important;-webkit-mask-image:none!important;mask-image:none!important}
  .dx-pane.on>*{width:100%!important;flex:none!important;max-width:100%!important;min-height:0}
  .trust-strip,.free{display:grid;justify-items:start;gap:10px;text-align:left}
  .free>span{justify-content:flex-start}
  .close-in .actions,.close-in .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .close-in .actions .btn,.close-in .hero-actions .btn{width:100%;justify-content:center;height:52px}
  .door-card summary{display:block!important;position:relative;padding-right:56px}
  .door-card summary img{float:left;width:48px;height:48px;margin:0 12px 6px 0}
  .door-card summary>div p{clear:both;margin-top:10px}
  .door-card summary .pm{position:absolute;right:14px;top:14px;width:auto;height:36px;padding:0 12px;border-radius:999px;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.72rem;gap:6px}
  .door-card summary .pm::before{content:'More'}
  .door-card[open] summary .pm::before{content:'Less'}
  .door-card summary .btn{display:inline-flex;margin:10px 8px 0 0}
  footer .f-grid li a{display:inline-block;padding:9px 0}
  .cform .foot{flex-direction:column-reverse;align-items:stretch;gap:10px}
  .cform .foot .btn{width:100%;justify-content:center}
  .contact .btn{width:100%;justify-content:center}
  .skills{grid-template-columns:1fr 1fr;gap:8px}
  .skills span{white-space:normal;text-align:left}
  .chapter{grid-template-columns:1fr;gap:8px;padding:20px}.chapter .t{min-width:0}
  .eq{font-size:.8rem;gap:6px}.eq span{padding:8px 10px}
  .refills{grid-template-columns:1fr}
  .cm-stage img{-webkit-mask-image:none;mask-image:none}
}

/* =====================================================================
   ROUND 13c: explain the product before decorating it (home "what").
   ===================================================================== */
.explain{display:grid;gap:16px;margin-top:40px;text-align:left}
@media(min-width:900px){.explain{grid-template-columns:repeat(3,1fr);gap:20px}}
.ex{padding:26px 26px 24px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.ex .k{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.ex h3{color:#fff;font-size:1.25rem;letter-spacing:-.025em;line-height:1.2;margin-top:10px}
.ex p{color:#D9CCEA;font-size:.96rem;line-height:1.55;margin-top:10px}
.ex-models{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ex-models span{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.7rem;color:#fff}
.tasks-head{margin-top:56px;text-align:left}
.tasks-head .eyebrow{color:var(--orange)}
.tasks-head h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.035em;line-height:1.1;margin-top:8px}
.tasks{display:grid;gap:10px;margin-top:22px;text-align:left}
.task{display:grid;grid-template-columns:1.1fr auto 1.2fr;gap:18px;align-items:center;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;transition:background .2s,border-color .2s}
.task:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.task .ask{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:1rem;color:#fff}
.task .who{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:#fff;color:#1E0538;white-space:nowrap}
.task .who img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--c);background:#fff}
.task .who span{display:grid;line-height:1.15;font-size:.72rem;color:#574F63}
.task .who b{font-family:'Inter',Arial,sans-serif;font-size:.86rem;color:#400072}
.task .get{font-size:.92rem;color:#D9CCEA;position:relative;padding-left:22px}
.task .get::before{content:'\2192';position:absolute;left:0;color:var(--orange);font-weight:900}
.whatis .wo{margin-top:56px}
@media(min-width:1100px){.wh-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){
  .explain{margin-top:26px}.ex{padding:20px}
  .tasks-head{margin-top:36px}
  .task{grid-template-columns:1fr;gap:10px;padding:14px}
  .task .who{justify-self:start}
  .task .get{padding-left:0}.task .get::before{content:none}
  .whatis .wo{margin-top:36px}
}

/* ---- compare slider: content grows with the revealed panel instead of leaving a white field ---- */
@media(min-width:701px){
  .cmp{container-type:inline-size}
  .cmp .layer .inner{width:clamp(50cqw,100%,68cqw)}
}
@media(max-width:700px){
  /* FAQ: three equal tab boxes in one row (no orphan tab on its own line) */
  .ftabs{grid-template-columns:repeat(3,1fr)!important;gap:6px}
  .ftabs button{padding:8px 6px;font-size:.78rem;line-height:1.15}
}
/* ---- AI and the planet (sustainability) ---- */
.eco-hero h1{max-width:20ch}
.eco-stats{display:grid;gap:14px}
@media(min-width:800px){.eco-stats{grid-template-columns:repeat(3,1fr);gap:18px}}
.eco-stats div{padding:26px 24px;border-radius:18px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--purple)}
.eco-stats div:nth-child(2){border-top-color:var(--pink)}.eco-stats div:nth-child(3){border-top-color:var(--orange)}
.eco-stats b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:clamp(2.2rem,4vw,3rem);letter-spacing:-.04em;line-height:1;color:var(--hi);margin-bottom:12px}
.eco-stats span{display:block;font-size:.95rem;line-height:1.55;color:var(--ink-2)}
.eco-prose{max-width:62ch;margin-top:40px;display:grid;gap:16px}
.eco-prose p{color:var(--ink-2);line-height:1.65;font-size:1.02rem}
.eco-prose b{color:var(--hi)}
.eco-prose h3{font-size:1.15rem;margin-bottom:4px}
.eco-do-sec{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eco-do .pillar span{line-height:1.55}
.eco-grid-note{margin-top:44px}
.eco-two{display:grid;gap:48px;align-items:start}
@media(min-width:900px){.eco-two{grid-template-columns:1fr 1fr;gap:72px}}
.eco-two .d2{margin-bottom:22px}
.eco-list{margin:0;padding-left:22px;display:grid;gap:14px;color:var(--ink-2);line-height:1.6}
.eco-list li{padding-left:4px}
.eco-list b{color:var(--hi)}
.eco-faq-sec{background:var(--bg-2);border-top:1px solid var(--line)}
.eco-sources{max-width:820px;margin:48px auto 0;padding-top:28px;border-top:1px solid var(--line)}
.eco-sources h3{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.eco-sources ul{margin:0 0 16px;padding-left:20px;display:grid;gap:10px;color:var(--ink-2);font-size:.94rem;line-height:1.55}
.eco-sources a{color:var(--pink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.eco-stand .d2{max-width:24ch;margin-bottom:34px}
.eco-stand-body{max-width:64ch;display:grid;gap:18px}
.eco-stand-body p{color:#E8DFF3;line-height:1.7;font-size:1.06rem}
@media(min-width:900px){.eco-stand-body{font-size:1.08rem}}
.eco-about{background:var(--bg-2);border-top:1px solid var(--line)}
.eco-about-grid{display:grid;gap:28px;align-items:start}
@media(min-width:900px){.eco-about-grid{grid-template-columns:.9fr 1.1fr;gap:64px}}
.eco-about .d2{max-width:16ch}
.eco-about-body{display:grid;gap:16px;max-width:60ch}
.eco-about-body p{color:var(--ink-2);line-height:1.65;font-size:1.02rem}
.eco-about-body .btn{justify-self:start;margin-top:8px}
.fcard .fbio{margin-top:16px;color:#E8DFF3;font-size:.98rem;line-height:1.6;max-width:34ch}
/* animated hero art + future section */
.eco-hero-grid{align-items:center}
.eco-art-wrap{display:block;width:min(100%,340px);margin:8px auto 0}
@media(min-width:900px){.eco-art-wrap{justify-self:end;width:min(100%,520px);margin:0}}
.eco-art{width:100%;height:auto;display:block;overflow:visible}
.eg-landrow{animation:eg-spin 26s linear infinite}
@keyframes eg-spin{to{transform:translateX(-300px)}}
.eg-blades{transform-box:fill-box;transform-origin:center;animation:eg-rot 5s linear infinite}
.eg-blades2{transform-box:fill-box;transform-origin:center;animation:eg-rot 4s linear infinite}
@keyframes eg-rot{to{transform:rotate(360deg)}}
.eg-p{animation:eg-rise 5s ease-in-out infinite;opacity:0}
@keyframes eg-rise{0%{transform:translateY(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-110px);opacity:0}}
.eg-sheen{animation:eg-sweep 3.6s ease-in-out infinite}
@keyframes eg-sweep{0%,20%{transform:translateX(0)}70%,100%{transform:translateX(140px)}}
.eg-leaf{transform-box:fill-box;transform-origin:bottom right;animation:eg-grow 6s ease-in-out infinite}
.eg-leaf:nth-of-type(3){transform-origin:bottom left}
@keyframes eg-grow{0%{transform:scale(.55)}45%,80%{transform:scale(1)}100%{transform:scale(.55)}}
.eco-future .sec-head{max-width:52em}
.eco-future .lede{margin-top:16px}
.eco-tech{display:grid;gap:14px}
@media(min-width:700px){.eco-tech{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.eco-tech{grid-template-columns:repeat(5,1fr);gap:16px}}
.eco-tcard{padding:24px 20px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)}
.eco-tcard b{display:block;font-family:'Inter',Arial,sans-serif;color:#fff;font-size:1rem;margin:14px 0 8px;letter-spacing:-.01em}
.eco-tcard p{color:#D9CCEA;font-size:.9rem;line-height:1.55}
.eco-ico{width:64px;height:64px}
.eco-ico svg{width:100%;height:100%;overflow:visible}
.eg-rays{transform-box:fill-box;transform-origin:center;animation:eg-pulse 3s ease-in-out infinite}
@keyframes eg-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.7}}
.eg-chip{animation:eg-glow 2.4s ease-in-out infinite}
@keyframes eg-glow{0%,100%{stroke-opacity:1;filter:drop-shadow(0 0 0 rgba(61,190,122,0))}50%{stroke-opacity:.6;filter:drop-shadow(0 0 8px rgba(61,190,122,.9))}}
.eg-drop{transform-box:fill-box;transform-origin:center bottom;animation:eg-bob 2.6s ease-in-out infinite}
@keyframes eg-bob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.04,.96)}}
.eg-leaf2{transform-box:fill-box;transform-origin:bottom right;animation:eg-grow 5s ease-in-out infinite}
.eg-leaf2:nth-of-type(3){transform-origin:bottom left}
@media(prefers-reduced-motion:reduce){.eg-landrow,.eg-blades,.eg-blades2,.eg-p,.eg-sheen,.eg-leaf,.eg-rays,.eg-chip,.eg-drop,.eg-leaf2{animation:none}.eg-p{opacity:.6}.eco-art animate,.eco-art animateMotion{display:none}}
/* the short version */
.eco-short{padding:40px 0 48px;background:var(--bg-2);border-bottom:1px solid var(--line)}
@media(min-width:900px){.eco-short{padding:56px 0 64px}}
.eco-short-head{margin-bottom:24px}
.eco-short-head .eyebrow{margin-bottom:10px}
.eco-short-grid{display:grid;gap:12px}
@media(min-width:700px){.eco-short-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.eco-short-grid{grid-template-columns:repeat(4,1fr);gap:16px}}
.eco-short-grid>div{position:relative;padding:22px 20px 22px 62px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}
.eco-short-grid .n{position:absolute;left:18px;top:20px;width:32px;height:32px;border-radius:50%;background:var(--purple);color:#fff;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.95rem;display:grid;place-items:center}
.eco-short-grid b{display:block;font-family:'Inter',Arial,sans-serif;color:var(--hi);font-size:1.02rem;margin-bottom:6px;letter-spacing:-.01em}
.eco-short-grid p{color:var(--ink-2);font-size:.93rem;line-height:1.55}
.eco-short-more{margin-top:18px;font-size:.92rem;color:var(--ink-3)}

/* =====================================================================
   ROUND 15: team feedback (Sep 12 2026). Footer trimmed, home consolidated.
   ===================================================================== */
@media(min-width:900px){.f-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}
/* home: the gap is a headline and a door to the universities page */
.gap-link{display:inline-flex!important;margin-top:22px}
#gap .wrap{text-align:center}
/* campus: the School is the title, the hook is the subtitle */
.floor-head .badge{font-size:.82rem}
.floor-head .fname{margin-top:14px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:1}
.floor-head .hook{margin-top:12px;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:clamp(1.15rem,1.8vw,1.4rem);letter-spacing:-.025em;line-height:1.2;color:var(--hi)}
/* features: one card per difference now */
.dx-pane,.dx-pane.on{grid-template-columns:1fr}
.dx-side.us{min-height:0}
@media(min-width:1000px){.dx{grid-template-columns:.9fr 1.1fr}}
/* our classmates page: a light core for the orbit, no phone list on top of the grid */
#orbit .wo-core{background:radial-gradient(circle at 50% 38%,#FFFFFF,#EDE4F5);box-shadow:0 0 70px 24px rgba(218,42,117,.18)}
#orbit .wo-core span{color:var(--orange)}
#orbit .wo{margin-top:40px}
#orbit h1{color:#fff}
#classmates .wfaces{justify-content:center;margin:0 0 22px}
/* demo: the student bubble and the rubric meters stay in the palette */
.hpanel .say .msg.me{background:var(--purple)!important}
#nav[data-page="our-classmates"]~* .mlist,#nav[data-page="our-classmates"]~* #classmates .monly{display:none!important}
#nav[data-page="our-classmates"]~* #classmates{padding-top:24px}
@media(max-width:700px){
  #nav[data-page="home"]~#demo,#nav[data-page="home"]~* #demo{display:block!important}
  #pricing .trust-strip{display:grid!important;grid-template-columns:1fr;gap:10px;justify-items:start}
  #nav[data-page="our-classmates"]~* #classmates #wtabs,#nav[data-page="our-classmates"]~* #classmates #wpanels{display:block!important}
}

/* =====================================================================
   ROUND 16 (Sep 12 2026): the strong home blocks back in compact form,
   nav fixes, room for the campus buttons, About reweighted.
   ===================================================================== */
/* nav: the header's white-on-hover rule reached into the mega menu (names vanished on hover) */
.nav-links .mega .mi:hover{color:#222}
.nav-links .mega .mh:hover{color:var(--purple)}
.nav-links .mega-foot a:hover{color:var(--purple)}
.nav-links .mega-top .btn:hover{color:#400072}
/* campus: the School buttons had no room under the map */
.campus-hero{padding-bottom:48px}
.campus-legend{margin-top:26px;gap:12px}
@media(min-width:900px){.campus-legend a{min-height:52px;padding:12px 16px}}
/* home, This is CMPUS: the feature tiles under their own head, then "explore the features" */
.wh-head{margin-top:64px}
#what .wh-tiles{margin-top:24px}
#what .hero-actions{margin-top:40px;justify-content:center}
/* home, Classmates strip: faces link to the Classmate, tiles to the School on the Classmates page */
#nav[data-page="home"]~* #classmates .wfaces{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:28px 0 26px}
#nav[data-page="home"]~* #classmates .wfaces a{display:block;line-height:0;border-radius:50%}
#nav[data-page="home"]~* #classmates .wfaces img{width:44px;height:44px}
#hometiles .wtile{text-decoration:none;color:inherit;transition:transform .18s,border-color .18s}
#hometiles .wtile:hover{border-color:var(--purple);transform:translateY(-2px)}
#classmates .hero-actions{margin-top:32px;justify-content:center}
/* home, How we compare: the matrix */
.cmx{margin-top:44px;border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;text-align:left}
.cmx-row{display:grid;grid-template-columns:minmax(0,2.4fr) repeat(4,minmax(96px,1fr));align-items:stretch;border-top:1px solid var(--line)}
.cmx-row:first-child{border-top:0}
.cmx-l{padding:16px 22px;display:flex;flex-direction:column;justify-content:center}
.cmx-l b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:.98rem;color:var(--hi);letter-spacing:-.01em;line-height:1.25}
.cmx-l span{display:block;font-size:.84rem;color:var(--ink-3);margin-top:3px;line-height:1.4}
.cmx-c{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;padding:10px;font-family:'Inter',Arial,sans-serif;font-weight:700;color:var(--hi);border-left:1px solid var(--line)}
.cmx-c.us{background:#F3EBFA;color:var(--purple)}
.cmx-head .cmx-c{flex-direction:column;gap:7px;font-size:.84rem;letter-spacing:.02em;min-height:92px}
.cmx-head .cmx-l{font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.cmx-c .lg{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:#111}
.cmx-c .lg svg{width:18px;height:18px}
.cmx-c .lg img{width:24px;height:24px}
.cmx-c.us .lg{border-color:transparent;background:var(--purple)}
.cmx-c b{font-size:1.02rem}
.cmx-c b small{font-size:.72rem;font-weight:600;color:var(--ink-3)}
.cmx-c.us b small{color:var(--purple)}
.cmx .y,.cmx .p,.cmx .n,.cmx-legend .y,.cmx-legend .p,.cmx-legend .n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none}
.cmx .y,.cmx-legend .y{background:var(--purple);color:#fff}
.cmx .y svg,.cmx-legend .y svg{width:15px;height:15px}
.cmx .p,.cmx-legend .p{background:#FFF1D6}
.cmx .p i,.cmx-legend .p i{display:block;width:13px;height:13px;border-radius:50%;box-sizing:border-box;border:2px solid var(--orange);background:linear-gradient(90deg,var(--orange) 50%,transparent 50%)}
.cmx .n,.cmx-legend .n{background:#F1EEF4;color:#A79DB3}
.cmx .n svg,.cmx-legend .n svg{width:14px;height:14px}
.cmx-legend{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;align-items:center;margin-top:14px;font-size:.82rem;color:var(--ink-3)}
.cmx-legend span{display:inline-flex;align-items:center;gap:8px}
.cmx-legend .y,.cmx-legend .p,.cmx-legend .n{width:22px;height:22px}
.cmx-legend .y svg,.cmx-legend .n svg{width:12px;height:12px}
.cmx-legend .p i{width:11px;height:11px}
#why .duel-head{margin-top:72px}
#why .vs-close{margin-top:36px}
@media(min-width:701px) and (max-width:999px){.cmx-row{grid-template-columns:minmax(0,1.6fr) repeat(4,76px)}.cmx-l{padding:14px 16px}}
/* home, the Gap: three plain cards */
.gap3{display:grid;gap:16px;margin-top:40px;text-align:left}
@media(min-width:900px){.gap3{grid-template-columns:repeat(3,1fr);gap:20px}}
.g3{padding:26px 26px 24px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.g3 .k{display:block;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
.g3 h3{font-size:1.3rem;letter-spacing:-.025em;line-height:1.2;margin-top:10px;color:var(--hi)}
.g3 p{margin-top:10px;font-size:.98rem;line-height:1.55;color:var(--ink-2)}
.g3.us{background:var(--purple);border-color:var(--purple)}
.g3.us .k{color:var(--orange)}
.g3.us h3{color:#fff}
.g3.us p{color:#E8DFF3}
#gap .hero-actions{margin-top:32px;justify-content:center}
/* about: campus at a glance in the hero, the people section */
.fcard.glance-card{padding:30px 32px}
.fcard.glance-card>.t{margin-top:0}
.gc{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px;margin-top:20px}
.gc b{display:block;font-family:'Inter',Arial,sans-serif;font-weight:900;font-size:2.6rem;letter-spacing:-.05em;line-height:1;color:#fff}
.gc span{display:block;margin-top:6px;font-size:.88rem;line-height:1.4;color:#D8C9F2}
.gc-faces{display:flex;margin-top:26px}
.gc-faces img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid #fff;background:#fff;margin-left:-8px}
.gc-faces img:first-child{margin-left:0}
#people{background:var(--bg-2);border-top:1px solid var(--line)}
@media(max-width:700px){
  .campus-hero{padding-bottom:36px}
  #nav[data-page="home"]~* #classmates .wfaces{display:flex!important}
  #hometiles{display:none}
  .cmx-row{grid-template-columns:minmax(0,1fr) 62px 62px}
  .cmx-c.hm{display:none}
  .cmx-l{padding:12px 14px}
  .cmx-l b{font-size:.9rem}
  .cmx-l span{display:none}
  .cmx-c{min-height:56px;padding:6px}
  .cmx-head .cmx-c{min-height:78px;font-size:.7rem}
  .cmx-c b{font-size:.84rem}
  .cmx-legend{justify-content:flex-start;gap:8px 16px}
  #why .duel-head{display:none}
  .gc b{font-size:2.2rem}
}
