/* ===== Arbor framework: shared additions ===== */
.menu a.on{color:var(--cyanDark);position:relative}
.menu a.on:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--grad);border-radius:2px}
.mnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08);padding:10px 20px 18px}
.mnav.open{display:block}
.mnav a{display:block;padding:11px 0;border-bottom:1px solid var(--line);font-weight:500;color:var(--ink)}
.mnav a:last-child{border:0}
header{position:sticky}

/* page hero for inner pages */
.phero{background:var(--hero);padding:56px 0 48px;position:relative;overflow:hidden}
.phero:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(53,125,64,.15),transparent 70%);right:-120px;top:-160px}
.phero .crumb{font-size:13px;color:var(--muted);margin-bottom:10px}
.phero .crumb a:hover{color:var(--cyanDark)}
.phero h1{font-size:42px;font-weight:800;max-width:760px}
.phero p{font-size:17px;max-width:640px;margin-top:12px}
.phero .ctas{margin:24px 0 0}

/* ===== HOME: find-your-course hero form ===== */
.finderform .steps2{display:flex;gap:6px;margin-bottom:14px}
.finderform .steps2 span{flex:1;height:4px;border-radius:4px;background:#E5ECEA}
.finderform .steps2 span.on{background:var(--grad)}
.chipsel{display:flex;flex-wrap:wrap;gap:8px}
.chipsel button{border:1px solid var(--line);background:#FAFCFB;border-radius:20px;padding:8px 13px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.chipsel button.on{background:var(--grad);color:#fff;border-color:transparent}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;color:var(--muted);margin-top:12px;line-height:1.45}
.consent input{width:auto;margin-top:2px;accent-color:#28B0E1}
.finding{display:none;text-align:center;padding:40px 10px}
.finding .spin{width:42px;height:42px;border-radius:50%;border:4px solid #E5ECEA;border-top-color:var(--cyan);margin:0 auto 14px;animation:sp 0.8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.result{display:none}
.result .hey{font-size:13px;color:var(--muted)}
.result h3{font-size:20px;margin:2px 0 14px}
.reccard{border-radius:16px;padding:18px;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:2px solid transparent}
.reccard .rb{display:inline-block;font-size:11px;font-weight:700;background:var(--grad);color:#fff;padding:3px 10px;border-radius:20px;margin-bottom:8px}
.reccard h4{font-size:18px}
.reccard ul{list-style:none;margin:10px 0 14px}
.reccard li{font-size:13px;padding-left:18px;position:relative;margin:4px 0;color:var(--ink)}
.reccard li:before{content:"✓";position:absolute;left:0;color:#0FB98A;font-weight:700}
.reccard .two{display:flex;gap:8px}
.reccard .two .btn{flex:1;justify-content:center;padding:11px 10px;font-size:13px}
.result .again{display:block;text-align:center;font-size:12px;color:var(--cyanDark);margin-top:12px;cursor:pointer;background:none;border:0;width:100%}

/* audience tabs on courses */
.aud{display:flex;justify-content:center;margin-bottom:16px}
.aud .seg{display:inline-flex;background:#F1F5F4;border-radius:14px;padding:5px}
.aud button{border:0;background:transparent;padding:10px 18px;border-radius:10px;font-family:Poppins;font-weight:600;font-size:14px;cursor:pointer;color:var(--muted)}
.aud button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.cc .type{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--cyanDark);margin-bottom:6px}
.cc.closed{opacity:.7}
.cc.closed .tag{background:#F2F4F3;color:var(--muted)}
.cc .nums{display:flex;gap:14px;font-size:12px;margin-bottom:14px;color:var(--ink)}
.cc .nums b{font-family:Poppins}
.cgrid.compact .cc p{margin-bottom:12px}

/* project showcase */
.proj{overflow:hidden;padding:70px 0;background:#fff}
.ptrack{display:flex;gap:18px;width:max-content;animation:mq 55s linear infinite;padding:6px 0}
.proj:hover .ptrack{animation-play-state:paused}
.pj{width:300px;flex-shrink:0;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:#fff}
.pj .pv{height:120px;display:grid;place-items:center;font-size:40px;position:relative}
.pj .pv small{position:absolute;left:12px;top:12px;font-size:11px;font-weight:700;background:rgba(255,255,255,.9);color:var(--ink);padding:3px 9px;border-radius:20px}
.pj .pb{padding:16px}
.pj h4{font-size:15px}
.pj p{font-size:13px;margin:6px 0 10px}
.pj .tools{display:flex;flex-wrap:wrap;gap:6px}
.pj .tools span{font-size:11px;background:#F4F7F6;padding:3px 8px;border-radius:6px;color:var(--ink)}

/* compact journey */
.jmini{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;position:relative}
.jmini:before{content:"";position:absolute;left:5%;right:5%;top:22px;height:3px;background:rgba(255,255,255,.45)}
.jmini div{text-align:center;position:relative}
.jmini .n{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--cyanDark);font-family:Poppins;font-weight:800;display:grid;place-items:center;margin:0 auto 10px;box-shadow:0 0 0 6px rgba(255,255,255,.25)}
.jmini div:last-child .n{background:var(--ink);color:var(--g1)}
.jmini b{display:block;font-family:Poppins;font-size:14px;color:#fff;line-height:1.3}
.jmini span{font-size:12px;opacity:.9}

/* founder */
.founder{display:grid;grid-template-columns:320px 1fr;gap:44px;align-items:center;background:var(--hero);border-radius:24px;padding:40px}
.fph{aspect-ratio:1/1.1;border-radius:20px;background:var(--grad);display:grid;place-items:center;color:#fff;font-family:Poppins;font-size:64px;font-weight:800;position:relative;overflow:hidden}
.fph small{position:absolute;bottom:12px;font-size:12px;font-weight:500;opacity:.9}
.founder blockquote{font-family:Poppins;font-size:24px;line-height:1.45;color:var(--ink);font-weight:600}
.founder blockquote:before{content:"“";display:block;font-size:64px;line-height:.6;margin-bottom:10px;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.founder .who{margin-top:20px}
.founder .who b{font-family:Poppins;color:var(--ink);font-size:17px;display:block}
.founder .who span{font-size:14px}
.founder .fstats{display:flex;gap:26px;margin-top:20px;flex-wrap:wrap}
.founder .fstats b{display:block;font-family:Poppins;font-size:22px}
.founder .fstats span{font-size:12px;color:var(--muted)}

/* see-all link row */
.seeall{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.seeall .sec-h{text-align:left;margin:0}
.seeall a.lnk{font-weight:600;color:var(--cyanDark);white-space:nowrap}
.seeall a.lnk:hover{text-decoration:underline}

/* review badges */
.rbadges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rbadge{border:1px solid var(--line);border-radius:16px;padding:20px;text-align:center;background:#fff}
.rbadge .src{font-size:13px;color:var(--muted);font-weight:600}
.rbadge b{display:block;font-family:Poppins;font-size:30px;margin:4px 0}
.rbadge small{font-size:12px;color:var(--muted)}

/* job board */
.jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.job{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}
.job .t{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.job h4{font-size:15px}
.job .new{font-size:11px;font-weight:700;color:#0B7A55;background:#E6FAF3;padding:3px 8px;border-radius:6px;white-space:nowrap}
.job .co{font-size:13px;color:var(--muted);margin:2px 0 10px}
.job .meta{margin:0}
.jobcount{display:flex;gap:16px;align-items:center;background:var(--ink);color:#cfdcd9;border-radius:18px;padding:22px 26px;margin-bottom:22px;flex-wrap:wrap}
.jobcount b{font-family:Poppins;font-size:36px;display:block;line-height:1}
.jobcount .sep{flex:1}

/* community */
.talks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.talk{border:1px solid #24302D;border-radius:16px;padding:18px;background:#141B19}
.talk .av{width:52px;height:52px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-family:Poppins;font-weight:700;margin-bottom:12px}
.talk b{color:#fff;font-family:Poppins;display:block}
.talk span{font-size:12px}
.talk p{font-size:13px;margin-top:8px;color:#e3ecea}
.perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}
.perk{background:#141B19;border:1px solid #24302D;border-radius:16px;padding:20px}
.perk i{font-style:normal;font-size:24px}
.perk b{display:block;color:#fff;font-family:Poppins;margin:8px 0 4px}
.perk span{font-size:13px}

/* about values */
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.val{border:1px solid var(--line);border-radius:16px;padding:22px}
.val i{font-style:normal;font-size:26px}
.val h4{margin:10px 0 6px;font-size:17px}
.val p{font-size:14px}

/* contact */
.cbox{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.cinfo{border:1px solid var(--line);border-radius:18px;padding:24px}
.cinfo .row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.cinfo .row:last-child{border:0}
.cinfo .row i{font-style:normal;width:40px;height:40px;border-radius:10px;background:var(--hero);display:grid;place-items:center;flex-shrink:0}
.cinfo b{color:var(--ink);font-family:Poppins;display:block}

/* filter bar on batches */
.fbar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:24px}
.fbar select{padding:10px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:#fff;min-width:180px}
.empty{text-align:center;padding:30px;color:var(--muted)}

/* demo pages nav */
.pagemap{background:#111;color:#bbb;font-size:12px;padding:7px 12px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;align-items:center}
.pagemap a{color:#ddd;border:1px solid #444;border-radius:20px;padding:3px 10px}
.pagemap a.on{background:#fff;color:#111}

@media(max-width:1024px){
  .founder{grid-template-columns:1fr;padding:28px}.fph{max-width:260px}
  .jmini{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:24px}.jmini:before{display:none}
  .rbadges,.talks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jobs,.perks,.vals{grid-template-columns:1fr 1fr}
  .cbox{grid-template-columns:1fr}
  .phero h1{font-size:34px}
}
@media(max-width:640px){
  .jmini{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jobs,.perks,.vals,.talks{grid-template-columns:1fr}
  .rbadges{grid-template-columns:1fr 1fr}
  .phero{padding:40px 0 34px}.phero h1{font-size:28px}
  .founder blockquote{font-size:19px}
  .aud button{padding:9px 12px;font-size:13px}
  .pagemap{display:none}
  .cgrid.compact{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px;padding:4px 20px 14px}
  .cgrid.compact .cc{min-width:84%;scroll-snap-align:start}
  .founder .fph{display:none}
}