/* Vidyagrow v5: "returns on learning". Deep forest + fresh lime, one expressive grotesque, data up front. */
@font-face{font-family:'Bricolage'; font-style:normal; font-weight:200 800; font-display:swap; src:url(fonts/bricolage.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Bricolage'; font-style:normal; font-weight:200 800; font-display:swap; src:url(fonts/inter-rupee-var.woff2) format('woff2'); unicode-range:U+20B9;}

:root{
  --paper:#FBFAF4;
  --card:#FFFFFF;
  --ink:#0D2620;
  --muted:#56675F;
  --line:#DCE4DD;
  --forest:#0F4D3A;
  --forest-deep:#082F24;
  --lime:#C4F06A;
  --lime-deep:#9BD12F;
  --mint:#E6F4EC;
  --mint-2:#F1F8F3;
  --red:#D4483C;
  --green:#1C8A55;
  --font:'Bricolage', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --max:1180px;
  --r-s:12px;
  --r-m:18px;
  --r-l:26px;
  --shadow:0 22px 50px -24px rgba(8,47,36,.35);
  color-scheme:light;
}
*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{scroll-behavior:smooth; scroll-padding-top:96px; -webkit-text-size-adjust:100%;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--font); font-optical-sizing:auto; font-size:16.5px; line-height:1.6; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:var(--forest);}
p{margin:0;}
h1,h2,h3{margin:0; letter-spacing:-0.025em;}
h1{font-size:clamp(2.7rem, 5.6vw, 4.7rem); font-weight:800; line-height:1.0;}
h2{font-size:clamp(2rem, 3.8vw, 3.1rem); font-weight:780; line-height:1.05;}
h3{font-size:1.1rem; font-weight:700; line-height:1.3; letter-spacing:-0.01em;}
.mark{background:linear-gradient(transparent 55%, var(--lime) 55%, var(--lime) 92%, transparent 92%); padding:0 .06em; margin:0 -.03em;}
button{font-family:inherit;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
.num{font-variant-numeric:tabular-nums; font-weight:750;}
.hl{background:linear-gradient(transparent 55%, var(--lime) 55%, var(--lime) 92%, transparent 92%); padding:0 .08em;}
.muted{color:var(--muted);}
.lead{font-size:1.14rem; color:var(--muted); max-width:60ch;}
.visually-hidden{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
:focus-visible{outline:3px solid var(--lime-deep); outline-offset:2px;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:0 22px; border-radius:var(--r-s); border:1.5px solid transparent; font-weight:700; font-size:1rem; text-decoration:none; cursor:pointer; transition:background .15s, color .15s, border-color .15s, transform .15s;}
.btn-primary{background:var(--forest); color:#fff;}
.btn-primary:hover{background:var(--forest-deep);}
.btn-lime{background:var(--lime); color:var(--forest-deep); box-shadow:inset 0 -3px 0 rgba(8,47,36,.18);}
.btn-lime:hover{background:#D3F78A;}
.btn-outline{border-color:#BFCFC5; color:var(--ink); background:transparent;}
.btn-outline:hover{border-color:var(--forest); background:var(--mint-2);}
.btn-quiet{color:var(--forest); background:var(--mint);}
.btn-quiet:hover{background:#D5EEDF;}
.btn[disabled]{opacity:.55; cursor:not-allowed;}
.btn-sm{min-height:40px; padding:0 14px; font-size:.9rem;}

/* ---------- Ribbon + header ---------- */
.ribbon{background:var(--forest-deep); color:#DDEBE3; font-size:.88rem;}
.ribbon .wrap{display:flex; flex-wrap:wrap; gap:4px 18px; align-items:center; justify-content:center; min-height:38px; padding-top:6px; padding-bottom:6px; text-align:center;}
.ribbon a{color:var(--lime); font-weight:700;}
.ribbon .upd{opacity:.7;}
.site-header{position:sticky; top:0; z-index:40; background:rgba(251,250,244,.88); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex; align-items:center; gap:28px; height:70px;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-weight:800; font-size:1.35rem; letter-spacing:-0.035em; margin-right:auto;}
.brand svg{width:34px; height:34px; flex:none;}
.brand img{display:block; height:35px; width:auto;}
.nav{display:flex; align-items:center; gap:26px;}
.nav a{color:var(--ink); text-decoration:none; font-weight:600; font-size:.96rem;}
.nav a:hover, .nav a[aria-current="page"]{color:var(--forest);}
.nav a[aria-current="page"]{text-decoration:underline; text-decoration-color:var(--lime-deep); text-underline-offset:8px; text-decoration-thickness:3px;}
.nav-toggle{display:none; background:#fff; border:1.5px solid var(--line); border-radius:var(--r-s); height:40px; padding:0 14px; font-weight:700; color:var(--ink); cursor:pointer;}

/* ---------- Hero with live outcome finder ---------- */
.hero{position:relative; overflow:hidden; padding:64px 0 72px; background:radial-gradient(50% 70% at 100% 0%, #E2F3E6 0%, rgba(226,243,230,0) 70%), var(--paper);}
.hero-grid{position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}
.live{display:inline-flex; align-items:center; gap:8px; font-size:.86rem; font-weight:650; color:var(--forest); background:var(--mint); border-radius:999px; padding:6px 14px 6px 10px;}
.live i{width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(28,138,85,.5); animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(28,138,85,.45);} 70%{box-shadow:0 0 0 9px rgba(28,138,85,0);} 100%{box-shadow:0 0 0 0 rgba(28,138,85,0);}}
.hero h1{margin-top:20px; max-width:13ch;}
.hero .lead{margin-top:22px;}
.cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px;}
.proof{display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:30px; padding-top:22px; border-top:1px solid var(--line); font-size:.92rem; color:var(--muted);}
.proof b{display:block; font-size:1.5rem; line-height:1.1; color:var(--ink); font-weight:800; letter-spacing:-0.02em;}

.finder{position:relative; background:var(--card); border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--shadow); padding:24px; overflow:hidden;}
.finder::before{content:""; position:absolute; inset:0 0 auto 0; height:6px; background:linear-gradient(90deg, var(--forest), var(--lime));}
.finder-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px;}
.finder-head p{font-weight:750; font-size:1.02rem;}
.finder-controls{display:grid; grid-template-columns:auto minmax(0, 1fr); gap:10px; margin-bottom:18px;}
.finder-controls .select{width:100%; min-width:0; height:48px;}
.finder-college{display:flex; align-items:center; gap:14px; padding:4px 0 16px; border-bottom:1px solid var(--line);}
.finder-college strong{display:block; font-size:1.08rem; line-height:1.25;}
.finder-college small{color:var(--muted); font-size:.86rem;}
.finder-figs{display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; padding:18px 0 4px;}
.finder-figs .k{font-size:.82rem; color:var(--muted); font-weight:600;}
.finder-figs .v{font-size:1.9rem; font-weight:800; letter-spacing:-0.03em; line-height:1.1; font-variant-numeric:tabular-nums;}
.finder-figs .v.big{font-size:2.6rem;}
.finder-figs .s{font-size:.84rem; color:var(--muted);}
.finder .meter{margin-top:8px;}
.finder-trend{display:flex; gap:8px; flex-wrap:wrap; margin-top:6px;}
.finder-trend span{font-size:.8rem; font-weight:650; background:var(--mint-2); border:1px solid var(--line); border-radius:999px; padding:2px 10px;}
.finder-actions{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px;}
.finder-src{font-size:.76rem; color:var(--muted); margin-top:12px;}
.finder-src a{color:var(--muted);}

/* ---------- Ticker ---------- */
.ticker{background:var(--forest-deep); color:#E4EFE8; overflow:hidden; display:flex; align-items:stretch;}
.ticker-label{flex:none; display:flex; align-items:center; gap:8px; padding:0 18px 0 24px; background:var(--forest); font-weight:700; font-size:.86rem; color:#fff; z-index:1; box-shadow:12px 0 20px -8px var(--forest-deep);}
.ticker-label i{width:8px; height:8px; border-radius:50%; background:var(--lime); animation:pulse 2s infinite;}
.ticker-viewport{overflow:hidden; flex:1;}
.ticker-track{display:flex; width:max-content; animation:tick 70s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
.tick{display:flex; align-items:center; gap:10px; padding:16px 26px; border-right:1px solid rgba(255,255,255,.1); white-space:nowrap; font-size:.92rem; text-decoration:none; color:inherit;}
.tick b{font-weight:750; color:#fff;}
.tick .p{opacity:.65;}
.tick .v{font-weight:800; color:var(--lime); font-variant-numeric:tabular-nums;}
.tick .up{color:#7FE3A6; font-weight:700; font-size:.84rem;}
.tick .down{color:#FF9A8F; font-weight:700; font-size:.84rem;}
.tick .flat{opacity:.6; font-size:.84rem;}
@keyframes tick{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ---------- Sections ---------- */
.section{padding:100px 0 0;}
.section-head{max-width:760px; margin-bottom:40px;}
.section-head .lead{margin-top:14px;}
.kicker{display:inline-block; font-size:.88rem; font-weight:700; color:var(--forest); margin-bottom:12px;}

/* Reality check */
.reality{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center;}
.reality ul{list-style:none; padding:0; margin:26px 0 0; display:grid; gap:14px;}
.reality li{display:flex; gap:12px; align-items:flex-start;}
.reality li i{flex:none; width:12px; height:12px; border-radius:50%; margin-top:7px;}
.class-plot{position:relative; background:var(--card); border:1px solid var(--line); border-radius:var(--r-l); padding:24px 22px 18px; box-shadow:var(--shadow); margin:0;}
.class-plot svg{width:100%; height:auto; display:block; overflow:visible;}
.class-plot .cap{font-size:.82rem; color:var(--muted); margin-top:10px;}
.dot{transition:transform 1.1s cubic-bezier(.22,.8,.25,1), opacity .6s;}
.plot-note{font-family:var(--font); font-weight:700; font-size:16px;}
.plot-label{font-size:12px; fill:var(--muted); font-weight:600; font-family:var(--font);}
.plot-fade{opacity:0; transition:opacity .6s ease .9s;}
.plot-ready .plot-fade{opacity:1;}

/* Top picks */
.picks-bar{display:flex; flex-wrap:wrap; gap:14px 20px; align-items:center; justify-content:space-between; margin-bottom:22px;}
.seg{display:inline-flex; background:#EAF0EB; border-radius:14px; padding:4px; gap:4px;}
.seg button{border:none; background:transparent; padding:0 20px; height:40px; border-radius:10px; font-weight:700; font-size:.95rem; color:var(--muted); cursor:pointer;}
.seg button[aria-pressed="true"], .seg button[aria-selected="true"]{background:#fff; color:var(--forest-deep); box-shadow:0 2px 8px rgba(8,47,36,.12);}
.chip-row{display:flex; flex-wrap:wrap; gap:8px;}
.chip-row button{border:1.5px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:8px 16px; font-weight:650; font-size:.9rem; cursor:pointer;}
.chip-row button[aria-pressed="true"]{border-color:var(--forest); background:var(--forest); color:#fff;}
.pick-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
.pick-card{position:relative; display:flex; flex-direction:column; gap:14px; padding:22px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-m); text-decoration:none; color:var(--ink); transition:border-color .15s, box-shadow .15s, transform .15s;}
.pick-card:hover{border-color:#A9C7B5; box-shadow:var(--shadow); transform:translateY(-2px);}
.pick-card .rank{position:absolute; top:18px; right:18px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--mint); color:var(--forest); font-weight:800; font-size:.9rem;}
.pick-card:first-child .rank{background:var(--lime); color:var(--forest-deep);}
.pick-card .top{display:flex; gap:12px; align-items:center; padding-right:40px;}
.pick-card .top strong{display:block; font-size:1rem; line-height:1.25;}
.pick-card .top small{color:var(--muted); font-size:.84rem;}
.pick-card .big{display:block; font-size:2.5rem; font-weight:800; letter-spacing:-0.035em; line-height:1; font-variant-numeric:tabular-nums;}
.pick-card .big-k{display:block; font-size:.84rem; color:var(--muted); margin-top:6px;}
.pick-card .row{display:flex; gap:22px; font-size:.84rem; color:var(--muted); border-top:1px solid var(--line); padding-top:12px;}
.pick-card .row b{display:block; color:var(--ink); font-size:.98rem;}
.picks-foot{display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; justify-content:space-between; margin-top:22px; font-size:.86rem; color:var(--muted);}

/* Why Vidyagrow */
.why{margin-top:100px; padding:100px 0; background:var(--mint-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.why-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:start;}
.why-intro{position:sticky; top:120px;}
.why-intro .lead{margin-top:18px;}
.why-intro .cta-row{margin-top:26px;}
.reasons{list-style:none; margin:0; padding:0; display:grid; gap:0; background:var(--card); border:1px solid var(--line); border-radius:var(--r-l); overflow:hidden;}
.reason{display:grid; grid-template-columns:52px 1fr; gap:18px; padding:24px 26px; border-bottom:1px solid var(--line);}
.reason:last-child{border-bottom:none;}
.reason svg{width:52px; height:52px;}
.reason h3{margin-bottom:4px;}
.reason p{color:var(--muted); font-size:.96rem;}

/* Who tiles */
.who{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
.who-tile{display:flex; flex-direction:column; text-align:left; background:var(--card); border:1px solid var(--line); border-radius:var(--r-m); overflow:hidden; cursor:pointer; padding:0; color:var(--ink); font:inherit; transition:border-color .15s, box-shadow .15s, transform .15s;}
.who-tile:hover{border-color:#A9C7B5; box-shadow:var(--shadow); transform:translateY(-2px);}
.who-tile .ph{display:block; aspect-ratio:4/3; background:linear-gradient(135deg, var(--mint), #F3F7D9);}
.who-tile .ph img{width:100%; height:100%; object-fit:cover;}
.who-tile .body{display:block; padding:16px 18px 20px;}
.who-tile .t{display:block; font-size:1.08rem; font-weight:750; line-height:1.25;}
.who-tile .d{display:block; font-size:.92rem; color:var(--muted); margin-top:6px; line-height:1.45;}
.who-go{display:inline-block; margin-top:12px; color:var(--forest); font-weight:750; font-size:.92rem; text-decoration:underline; text-decoration-color:var(--lime-deep); text-underline-offset:5px; text-decoration-thickness:2px;}

/* Final CTA */
.final{position:relative; overflow:hidden; border-radius:var(--r-l); padding:64px 44px; color:#fff; background:radial-gradient(60% 120% at 100% 100%, rgba(196,240,106,.28) 0%, rgba(196,240,106,0) 60%), var(--forest-deep); display:grid; grid-template-columns:1.2fr .8fr; gap:32px; align-items:center;}
.final h2{color:#fff; max-width:18ch;}
.final h2 .mark, .band h2 .mark{background:var(--lime); color:var(--forest-deep); padding:0 .14em; border-radius:8px; margin:0;}
.final p{color:#BFD5C9; margin-top:16px; max-width:48ch;}
.final .cta-row{justify-content:flex-end; margin-top:0;}
.final .btn-outline{color:#fff; border-color:rgba(255,255,255,.35);}
.final .btn-outline:hover{background:rgba(255,255,255,.08); border-color:#fff;}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line); padding:48px 0 36px; margin-top:100px; background:#F2F5EF;}
.footer-grid{display:flex; flex-wrap:wrap; gap:28px 56px; align-items:flex-start; justify-content:space-between;}
.footer-tag{font-size:1.4rem; font-weight:780; color:var(--forest); line-height:1.2; margin-top:8px; letter-spacing:-0.02em;}
.footer-links{display:flex; flex-wrap:wrap; gap:10px 24px;}
.footer-links a{color:var(--ink); font-weight:600; text-decoration:none;}
.footer-links a:hover{color:var(--forest);}
.fine{font-size:.84rem; color:var(--muted); margin-top:26px; max-width:90ch;}

/* ---------- Overview page ---------- */
.thanks{background:var(--lime); padding:14px 0;}
.thanks p{font-weight:650; color:var(--forest-deep);}
.thanks .hand{font-weight:800;}
.page-head{position:relative; overflow:hidden; padding:72px 0 60px; background:radial-gradient(50% 80% at 100% 0%, #E2F3E6 0%, rgba(226,243,230,0) 70%), var(--paper); border-bottom:1px solid var(--line);}
.page-head h1{font-size:clamp(2.5rem, 5vw, 4.2rem); max-width:18ch;}
.facts{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
.fact{background:var(--card); border:1px solid var(--line); border-radius:var(--r-m); padding:26px 24px;}
.fact .num{display:block; font-size:clamp(2.4rem, 4vw, 3.2rem); line-height:1; margin-bottom:14px; color:var(--forest); font-weight:800; letter-spacing:-0.03em;}
.fact p{color:var(--muted); font-size:.95rem;}
.fact .src{display:block; font-size:.8rem; margin-top:12px;}
.vs-wrap{background:var(--card); border:1px solid var(--line); border-radius:var(--r-l); overflow:hidden; box-shadow:var(--shadow);}
.vs{width:100%; border-collapse:collapse; font-size:.98rem;}
.vs th{text-align:left; font-size:.9rem; padding:16px 20px; background:#F2F5EF; border-bottom:1px solid var(--line);}
.vs th:last-child{color:var(--forest-deep); background:var(--lime);}
.vs th:first-child{width:22%;}
.vs td{padding:16px 20px; border-bottom:1px solid var(--line); vertical-align:top;}
.vs tr:last-child td{border-bottom:none;}
.vs td.topic{font-weight:700;}
.vs td.them{color:var(--muted);}
.vs td.us{font-weight:650; background:#F7FBF4;}
.vs td.us::before{content:"✓"; display:inline-block; width:22px; height:22px; margin-right:8px; border-radius:50%; background:var(--forest); color:var(--lime); font-size:.75rem; text-align:center; line-height:22px; vertical-align:1px;}
.steps{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; counter-reset:s;}
.steps li{counter-increment:s; background:var(--card); border:1px solid var(--line); border-radius:var(--r-m); padding:22px;}
.steps li::before{content:counter(s); display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--mint); color:var(--forest); font-weight:800; font-size:1.1rem; margin-bottom:14px;}
.steps li.done{border-color:#A9C7B5;}
.steps li.done::before{content:"✓"; background:var(--lime); color:var(--forest-deep);}
.steps h3{font-size:1.04rem; margin-bottom:6px;}
.steps p{color:var(--muted); font-size:.93rem;}
.band{background:var(--forest-deep); color:#fff; border-radius:var(--r-l); padding:44px; display:flex; flex-wrap:wrap; gap:20px 40px; align-items:center; justify-content:space-between; background-image:radial-gradient(60% 120% at 100% 100%, rgba(196,240,106,.25) 0%, rgba(196,240,106,0) 60%);}
.band h2{font-size:clamp(1.8rem, 3.2vw, 2.5rem); max-width:22ch; color:#fff;}


/* ---------- Compare page ---------- */
.controls{display:flex; flex-wrap:wrap; gap:16px 26px; align-items:flex-end; padding:18px 0; border-bottom:1px solid var(--line); position:sticky; top:70px; background:rgba(251,250,244,.95); backdrop-filter:blur(8px); z-index:20;}
.control label, .control .lbl{display:block; font-size:.8rem; font-weight:700; color:var(--muted); margin-bottom:6px;}
.select{appearance:none; -webkit-appearance:none; height:46px; padding:0 40px 0 14px; border:1.5px solid var(--line); border-radius:var(--r-s); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230D2620' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center; font:inherit; font-size:.95rem; color:var(--ink); max-width:100%;}
.select:focus{border-color:var(--forest); outline:none;}
.board{width:100%; border-collapse:separate; border-spacing:0; margin-top:14px;}
.board th{text-align:left; font-size:.8rem; color:var(--muted); font-weight:700; padding:12px 14px; border-bottom:1px solid var(--line); white-space:nowrap;}
.board th.r, .board td.r{text-align:right;}
.board td{padding:14px; border-bottom:1px solid var(--line); vertical-align:middle; background:transparent;}
.board tr:hover td{background:#F4F8F2;}
.board tr.picked td{background:var(--mint);}
.cname{display:flex; align-items:center; gap:12px; min-width:220px;}
.cname strong{display:block; font-size:.98rem; line-height:1.25;}
.cname small{color:var(--muted); font-size:.82rem;}
.logo-chip{flex:none; width:44px; height:44px; border-radius:12px; border:1px solid var(--line); background:#fff; display:grid; place-items:center; overflow:hidden;}
.logo-chip img{width:80%; height:80%; object-fit:contain;}
.logo-chip.wide{width:76px;}
.logo-chip .ini{font-weight:800; font-size:.78rem; color:var(--forest);}
.median{font-size:1.12rem;}
.board .num, .board td.r small{white-space:nowrap;}
.board td.r small{display:block; margin-top:2px;}
.payback{display:flex; align-items:center; gap:10px; justify-content:flex-end;}
.payback .num{min-width:5.6em; text-align:right;}
.payback .bar{width:90px; height:8px; background:#E4ECE6; border-radius:5px; overflow:hidden;}
.payback .bar i{display:block; height:100%; background:linear-gradient(90deg, var(--forest), var(--lime-deep)); border-radius:5px;}
.pick{white-space:nowrap;}
.nodata td{color:var(--muted);}
.linkish{border:none; background:none; padding:0; font:inherit; font-weight:700; color:var(--forest); text-decoration:underline; text-decoration-color:var(--lime-deep); text-underline-offset:4px; text-decoration-thickness:2px; cursor:pointer;}
.metric .linkish{font-size:1.05rem;}
.sources-note{font-size:.84rem; color:var(--muted); margin-top:14px; max-width:90ch;}
.tray{position:fixed; left:0; right:0; bottom:0; z-index:35; background:var(--forest-deep); color:#fff; transform:translateY(110%); transition:transform .25s ease;}
.tray.show{transform:none;}
.tray .wrap{display:flex; align-items:center; gap:14px; min-height:72px; flex-wrap:wrap; padding-top:10px; padding-bottom:10px;}
.tray-chips{display:flex; gap:8px; flex-wrap:wrap; margin-right:auto;}
.tray-chip{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12); border-radius:999px; padding:6px 8px 6px 14px; font-weight:600; font-size:.9rem;}
.tray-chip button{border:none; background:rgba(255,255,255,.18); color:#fff; width:24px; height:24px; border-radius:50%; cursor:pointer; font-size:1rem; line-height:1;}
.tray .btn-primary{background:var(--lime); color:var(--forest-deep);}
.cmp{margin-top:36px; scroll-margin-top:150px;}
.cmp-head{display:flex; flex-wrap:wrap; gap:12px; align-items:baseline; justify-content:space-between; margin-bottom:22px;}
.cmp-grid{display:grid; gap:18px;}
.cmp-col{position:relative; border:1px solid var(--line); border-radius:var(--r-l); padding:24px; display:flex; flex-direction:column; gap:16px; background:var(--card); box-shadow:var(--shadow);}
.cmp-col.best{border:2px solid var(--lime-deep);}
.cmp-top{display:flex; gap:12px; align-items:center;}
.cmp-top h3{font-size:1.06rem; line-height:1.2;}
.cmp-top small{color:var(--muted); font-size:.84rem;}
.metric .k{font-size:.8rem; color:var(--muted); font-weight:700;}
.metric .v{font-size:1.6rem; line-height:1.2; letter-spacing:-0.02em;}
.metric .sub{font-size:.84rem; color:var(--muted);}
.trend{display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; margin-top:10px; border-top:1px solid var(--line); padding-top:8px;}
.trend div{display:flex; flex-direction:column; gap:2px;}
.trend .ty{font-size:.74rem; color:var(--muted); font-weight:600;}
.trend .tv{font-size:.92rem; font-weight:700; white-space:nowrap;}
.trend b{font-size:.62rem; vertical-align:2px;}
.trend .up{color:var(--green);}
.trend .down{color:var(--red);}
.meter{height:8px; background:#E4ECE6; border-radius:5px; overflow:hidden; margin-top:8px;}
.meter i{display:block; height:100%; background:var(--green); border-radius:5px; transition:width .6s ease;}
.badge-best{position:absolute; top:-14px; left:20px; font-weight:750; font-size:.86rem; color:var(--forest-deep); background:var(--lime); padding:3px 12px; border-radius:999px;}
.cmp-actions{display:grid; gap:10px; margin-top:auto;}
.cmp-src{font-size:.78rem; color:var(--muted);}
.cmp-src a{color:var(--muted);}
.alumni-box{display:grid; grid-template-columns:1fr 1.1fr; gap:40px; background:var(--mint-2); border:1px solid var(--line); border-radius:var(--r-l); padding:40px;}
.alumni-box ul{margin:18px 0 0; padding-left:20px; color:var(--muted);}
.alumni-box li + li{margin-top:6px;}
details.method{border-top:1px solid var(--line); padding:18px 0;}
details.method summary{cursor:pointer; font-weight:700;}
details.method div{margin-top:12px; color:var(--muted); max-width:80ch;}
details.method p + p{margin-top:10px;}

/* ---------- Forms (shared) ---------- */
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:14px;}
.field label, .field .lbl{font-size:.88rem; font-weight:700;}
.field input, .field select{font:inherit; font-size:1rem; height:48px; padding:0 14px; border:1.5px solid var(--line); border-radius:var(--r-s); background:#fff; color:var(--ink); width:100%;}
.field select{appearance:none; -webkit-appearance:none; padding-right:40px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230D2620' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;}
.field input:focus, .field select:focus{outline:none; border-color:var(--forest); box-shadow:0 0 0 4px var(--mint);}
.field.bad input, .field.bad select{border-color:var(--red); background-color:#FFF6F5;}
.phone{display:flex;}
.phone span{display:grid; place-items:center; padding:0 12px; border:1.5px solid var(--line); border-right:none; border-radius:var(--r-s) 0 0 var(--r-s); background:#F2F5EF; font-weight:700; color:var(--muted);}
.phone input{border-radius:0 var(--r-s) var(--r-s) 0;}
.chips{display:flex; flex-wrap:wrap; gap:8px;}
.chips label{position:relative; cursor:pointer;}
.chips input{position:absolute; opacity:0; pointer-events:none;}
.chips span{display:inline-block; padding:9px 15px; border:1.5px solid var(--line); border-radius:999px; font-weight:600; font-size:.92rem; background:#fff;}
.chips input:checked + span{background:var(--forest); border-color:var(--forest); color:#fff;}
.chips input:checked + span small{color:#CFE5D8;}
.chips input:focus-visible + span{outline:3px solid var(--lime-deep); outline-offset:2px;}
.field.bad .chips span{border-color:#F2B8B2;}
.consent{display:flex; gap:10px; align-items:flex-start; font-size:.88rem; color:var(--muted); margin:2px 0 16px; cursor:pointer;}
.consent input{width:18px; height:18px; margin-top:3px; flex:none; accent-color:var(--forest);}
.err{display:none; background:#FFF1EF; color:#8E2318; border-radius:var(--r-s); padding:10px 14px; font-size:.92rem; margin-bottom:12px;}
.err.show{display:block;}
.hidden-field{display:none;}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:0 14px;}

/* ---------- Lead modal ---------- */
body.modal-open{overflow:hidden;}
.modal{position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(8,47,36,.55); backdrop-filter:blur(3px); opacity:0; transition:opacity .2s;}
.modal.show{opacity:1;}
.modal-card{position:relative; width:100%; max-width:560px; max-height:calc(100vh - 32px); overflow:auto; background:#fff; border-radius:var(--r-l); padding:34px 28px 24px; transform:translateY(12px); transition:transform .25s ease; box-shadow:0 30px 80px -20px rgba(8,47,36,.5);}
.modal-card::before{content:""; position:absolute; inset:0 0 auto 0; height:6px; background:linear-gradient(90deg, var(--forest), var(--lime));}
.modal.show .modal-card{transform:none;}
.modal-close{position:absolute; top:14px; right:14px; width:40px; height:40px; border:none; border-radius:50%; background:#F2F5EF; font-size:1.4rem; cursor:pointer; color:var(--ink); z-index:1;}
.modal h2{font-size:1.9rem; padding-right:44px;}
.modal .intro{color:var(--muted); margin:8px 0 20px; font-size:.96rem;}
.modal .btn-primary{width:100%;}
.modal .fineprint{font-size:.78rem; color:var(--muted); text-align:center; margin-top:10px;}
.done-msg{text-align:center; padding:12px 0 4px;}
.done-msg .tick{width:64px; height:64px; margin:0 auto 14px; border-radius:50%; background:var(--lime); display:grid; place-items:center;}
.done-msg p{color:var(--muted); margin:8px 0 6px;}
.done-msg .tagline{font-size:1.5rem; font-weight:800; letter-spacing:-0.02em; color:var(--forest); margin:6px 0 18px;}
.float-cta{position:fixed; right:18px; bottom:18px; z-index:30; box-shadow:0 12px 28px -8px rgba(8,47,36,.55); opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .2s, transform .2s;}
body.scrolled .float-cta{opacity:1; pointer-events:auto; transform:none;}
body.modal-open .float-cta, body.tray-open .float-cta, body.lead-done .float-cta{display:none;}


/* ---------- Every stage (landing) ---------- */
.stage-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:14px;}
.stage-card{display:flex; flex-direction:column; gap:8px; padding:20px 18px 18px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-m); text-decoration:none; color:var(--ink); transition:border-color .15s, box-shadow .15s, transform .15s;}
.stage-card:hover{border-color:#A9C7B5; box-shadow:var(--shadow); transform:translateY(-2px);}
.stage-card svg{width:52px; height:52px; margin-bottom:6px;}
.stage-card .t{font-weight:780; font-size:1.08rem; letter-spacing:-0.01em;}
.stage-card .d{color:var(--muted); font-size:.92rem; line-height:1.45; flex:1;}
.stage-card .go{font-weight:700; font-size:.88rem; color:var(--forest); text-decoration:underline; text-decoration-color:var(--lime-deep); text-underline-offset:5px; text-decoration-thickness:2px; margin-top:6px;}

/* ---------- Courses page ---------- */
.stage-tabs{display:flex; gap:10px; overflow-x:auto; padding:22px 0 6px; scrollbar-width:thin;}
.stage-tabs button{flex:none; display:flex; align-items:center; gap:10px; padding:8px 18px 8px 8px; border:1.5px solid var(--line); background:#fff; border-radius:999px; font-weight:700; font-size:.95rem; color:var(--ink); cursor:pointer;}
.stage-tabs button svg{width:32px; height:32px;}
.stage-tabs button[aria-selected="true"]{background:var(--forest); border-color:var(--forest); color:#fff;}
.stage-tabs button[aria-selected="true"] svg rect:first-child{fill:var(--lime);}
.stage-panel{padding-top:32px;}
.stage-head{display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:start; margin-bottom:28px;}
.stage-head .lead{margin-top:12px;}
.checklist{background:var(--mint-2); border:1px solid var(--line); border-radius:var(--r-m); padding:20px 22px;}
.checklist ul{margin:10px 0 0; padding:0; list-style:none; display:grid; gap:8px;}
.checklist li{position:relative; padding-left:28px; color:var(--muted); font-size:.95rem;}
.checklist li::before{content:"✓"; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:var(--lime); color:var(--forest-deep); font-size:.72rem; font-weight:800; display:grid; place-items:center;}
.course-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;}
.course-card{display:flex; flex-direction:column; gap:12px; padding:20px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-m);}
.course-card.feature-card{background:linear-gradient(160deg, #F1F9E6, #FFFFFF 60%); border-color:#CFE6B4;}
.course-card .tag{align-self:flex-start; font-size:.78rem; font-weight:750; color:var(--forest-deep); background:var(--lime); border-radius:999px; padding:2px 10px;}
.course-top{display:flex; gap:12px; align-items:center;}
.course-top h3{font-size:1.04rem;}
.course-top small{color:var(--muted); font-size:.82rem;}
.course-card p{color:var(--muted); font-size:.94rem; line-height:1.5;}
.course-card .row{display:flex; justify-content:space-between; gap:14px; font-size:.86rem; border-top:1px solid var(--line); padding-top:10px;}
.course-card .row span{color:var(--muted);}
.course-card .row b{text-align:right; font-weight:650;}
.course-actions{display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin-top:auto; padding-top:6px;}
@media (max-width: 1020px){
  .stage-grid{grid-template-columns:repeat(3, 1fr);}
  .course-grid{grid-template-columns:1fr 1fr;}
  .stage-head{grid-template-columns:1fr;}
}
@media (max-width: 600px){
  .stage-grid{grid-template-columns:1fr 1fr;}
  .stage-card{padding:16px 14px;}
  .course-grid{grid-template-columns:1fr;}
  .brand img{height:30px;}
}


/* ---------- College pages, directory, FAQ ---------- */
.cname a, .cmp-top h3 a{color:inherit; text-decoration:none;}
.cname a:hover, .cmp-top h3 a:hover{text-decoration:underline; text-decoration-color:var(--lime-deep); text-underline-offset:4px;}
.breadcrumb{display:flex; flex-wrap:wrap; gap:6px; font-size:.88rem; color:var(--muted); margin-bottom:18px;}
.breadcrumb a{color:var(--forest); font-weight:600;}
.cp-title{display:flex; gap:18px; align-items:center;}
.cp-title h1{font-size:clamp(2rem, 4.4vw, 3.4rem);}
.cp-title p{margin-top:6px;}
.cp-prog{padding-top:56px;}
.cp-prog h2{font-size:clamp(1.7rem, 3vw, 2.3rem);}
.cp-scope{color:var(--muted); margin-top:6px;}
.cp-metrics{display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; margin-top:20px;}
.cp-metrics .metric{background:var(--card); border:1px solid var(--line); border-radius:var(--r-m); padding:18px;}
.cp-metrics .metric .v{font-size:1.9rem;}
.cp-rank{margin-top:16px; color:var(--muted);}
.cp-rank b{color:var(--forest);}
.cp-trend{border-collapse:collapse; margin-top:16px; min-width:280px; font-size:.95rem;}
.cp-trend caption{text-align:left; font-weight:700; font-size:.88rem; color:var(--muted); padding-bottom:6px;}
.cp-trend th, .cp-trend td{padding:8px 14px 8px 0; border-bottom:1px solid var(--line); text-align:left;}
.cp-trend .r{text-align:right;}
.cp-prog .cta-row{margin-top:22px;}
.cp-prog .cmp-src{margin-top:12px;}
.cp-faq, .cp-others{padding-top:56px;}
.cp-faq h2, .cp-others h2{font-size:clamp(1.6rem, 2.8vw, 2.1rem); margin-bottom:14px;}
.cp-others ul{display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0 0 14px;}
.cp-others li a{display:inline-block; padding:8px 14px; border:1.5px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); text-decoration:none; font-weight:600; font-size:.92rem;}
.cp-others li a:hover{border-color:var(--forest);}
.faq{max-width:900px;}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line); padding:4px 0;}
.faq-item summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center; padding:16px 0;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary h3{font-size:1.08rem;}
.faq-item summary::after{content:"+"; flex:none; width:30px; height:30px; border-radius:50%; background:var(--mint); color:var(--forest); display:grid; place-items:center; font-weight:800; font-size:1.2rem;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{color:var(--muted); padding:0 0 18px; max-width:72ch;}
.dir-wrap{overflow-x:auto; margin-top:28px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-l);}
.dir{width:100%; border-collapse:collapse; min-width:620px;}
.dir th{text-align:left; font-size:.82rem; color:var(--muted); padding:14px 16px; border-bottom:1px solid var(--line); background:#F2F5EF;}
.dir td{padding:14px 16px; border-bottom:1px solid var(--line);}
.dir tr:last-child td{border-bottom:none;}
.dir td a{font-weight:700; color:var(--ink); text-decoration:none;}
.dir td a:hover{color:var(--forest); text-decoration:underline;}
.dir td small{display:block; color:var(--muted); font-size:.82rem;}
.dir .r{text-align:right; font-variant-numeric:tabular-nums;}
@media (max-width: 860px){ .cp-metrics{grid-template-columns:1fr 1fr;} .cp-title{align-items:flex-start;} }
@media (max-width: 600px){ .cp-metrics .metric .v{font-size:1.5rem;} .cp-title .logo-chip{width:56px !important; height:56px !important;} }

/* ---------- Responsive ---------- */
@media (max-width: 1020px){
  .hero-grid{grid-template-columns:1fr; gap:40px;}
  .reality{grid-template-columns:1fr; gap:36px;}
  .why-grid{grid-template-columns:1fr; gap:36px;}
  .why-intro{position:static;}
  .who{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .facts{grid-template-columns:1fr;}
  .alumni-box{grid-template-columns:1fr;}
  .final{grid-template-columns:1fr;}
  .final .cta-row{justify-content:flex-start;}
}
@media (max-width: 860px){
  .nav-toggle{display:block;}
  .nav{display:none; position:absolute; top:70px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:var(--paper); border-bottom:1px solid var(--line); padding:8px 24px 20px;}
  .nav.open{display:flex;}
  .nav a{padding:14px 0; border-bottom:1px solid var(--line);}
  .nav .btn{margin-top:14px;}
  .pick-grid{grid-template-columns:1fr;}
  .board thead{display:none;}
  .board, .board tbody, .board tr, .board td{display:block; width:100%;}
  .board tr{border:1px solid var(--line); border-radius:var(--r-m); margin-bottom:12px; padding:12px 14px; background:#fff;}
  .board td{border:none; padding:6px 0; display:flex; justify-content:space-between; align-items:center; gap:12px;}
  .board tr:hover td, .board tr.picked td{background:transparent;}
  .board tr.picked{background:var(--mint); border-color:#A9C7B5;}
  .board td[data-k]::before{content:attr(data-k); font-size:.82rem; color:var(--muted); font-weight:600; text-align:left;}
  .board td.first{display:block;}
  .cname{min-width:0;}
  .board td.r small{display:inline; margin:0 0 0 6px;}
  .board td.pick .btn{width:100%;}
  .controls{position:static;}
  .cmp-grid{grid-template-columns:1fr !important;}
  .vs th:first-child, .vs td.topic{display:none;}
}
@media (max-width: 600px){
  body{font-size:16px;}
  .wrap{padding:0 16px;}
  .hero{padding:40px 0 56px;}
  .hero h1{font-size:2.6rem;}
  .finder{padding:20px 16px;}
  .finder-controls{grid-template-columns:1fr;}
  .finder-figs .v{font-size:1.6rem;}
  .finder-figs .v.big{font-size:2.2rem;}
  .finder-figs > div:first-child{grid-column:1 / -1;}
  .finder-trend span{font-size:.76rem;}
  .finder-actions{grid-template-columns:1fr;}
  .ticker-label{padding:0 12px 0 16px; font-size:.8rem;}
  .section{padding-top:72px;}
  .why{margin-top:72px; padding:72px 0;}
  .reason{grid-template-columns:44px 1fr; gap:14px; padding:20px 18px;}
  .reason svg{width:44px; height:44px;}
  .who, .steps{grid-template-columns:1fr;}
  .picks-bar{flex-direction:column; align-items:flex-start;}
  .vs th, .vs td{padding:12px 12px; font-size:.92rem;}
  .band{padding:30px 22px;}
  .final{padding:40px 22px;}
  .alumni-box{padding:24px 18px;}
  .grid2{grid-template-columns:1fr;}
  .modal{align-items:flex-end; padding:0;}
  .modal-card{max-width:none; border-radius:var(--r-l) var(--r-l) 0 0; max-height:94vh; padding:28px 18px 20px;}
  .modal h2{font-size:1.65rem;}
  .float-cta{right:12px; bottom:12px;}
  .site-footer{margin-top:72px;}
  .ribbon{font-size:.8rem;}
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{transition:none !important; animation:none !important; scroll-behavior:auto !important;}
}
