:root{
  --ink:#0e1726; --ink-soft:#3a4660; --mute:#6b7790;
  --bg:#fbfaf7; --panel:#ffffff; --line:#e7e3da;
  --brand:#ff5436; --brand-2:#ff8a3d; --gold:#ffb020;
  --blue:#2563eb; --teal:#0d9488; --violet:#7c3aed; --green:#16a34a;
  --shadow:0 18px 50px -22px rgba(20,25,40,.35);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0 0 .4em}
h1{font-size:clamp(2.3rem,5.6vw,4.2rem);font-weight:850}
h2{font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:820}
h3{font-size:1.18rem;font-weight:760}
p{margin:0 0 1rem}
a{color:inherit}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:var(--brand)}
.lead{font-size:1.2rem;color:var(--ink-soft)}
.mute{color:var(--mute)}
.center{text-align:center}
.narrow{max-width:680px;margin-left:auto;margin-right:auto}
.narrow-sm{max-width:600px;margin-left:auto;margin-right:auto}
.mt{margin-top:1rem}
.mt2{margin-top:2.2rem}
section{padding:74px 0}
.bg-alt{background:linear-gradient(180deg,#fff,#f6f3ec)}
.flag{background:#0e1726;color:#fff;font-size:.8rem;text-align:center;padding:8px 14px;letter-spacing:.02em}
.flag b{color:var(--gold)}

header.site{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);
  background:rgba(251,250,247,.82);border-bottom:1px solid var(--line)}
.headrow{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:850;letter-spacing:-.02em;text-decoration:none;font-size:1.12rem;display:flex;gap:.5rem;align-items:center}
.brand .mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-size:.95rem}
nav.main{display:flex;gap:1.4rem;align-items:center;font-size:.95rem;font-weight:600}
nav.main a{text-decoration:none;color:var(--ink-soft)}
nav.main a:hover{color:var(--ink)}
.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;
  padding:.7rem 1.15rem;border-radius:11px;border:0;cursor:pointer;font-size:.95rem}
.btn.brand{background:linear-gradient(135deg,var(--brand),var(--brand-2))}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.lg{padding:.95rem 1.5rem;font-size:1.05rem}
@media(max-width:760px){nav.main a:not(.btn){display:none}}

.hero{padding:78px 0 60px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(1100px 420px at 78% -8%,rgba(255,138,61,.22),transparent 60%),
             radial-gradient(800px 380px at 8% 16%,rgba(37,99,235,.10),transparent 60%)}
.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--brand),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{max-width:640px}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}

.count{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 6px}
.count .cell{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:14px 18px;min-width:96px;text-align:center;box-shadow:var(--shadow)}
.count .n{font-size:2rem;font-weight:850;line-height:1;letter-spacing:-.03em}
.count .l{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin-top:6px}
.count .cell.accent .n{color:var(--brand)}
.runnote{font-size:.85rem;color:var(--mute);margin-top:10px}

.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.grid-3{grid-template-columns:1fr}}
.reframe{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}
@media(max-width:760px){.reframe{grid-template-columns:1fr;text-align:center}}
.reframe .from{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:18px;color:var(--mute)}
.reframe .to{background:linear-gradient(135deg,#fff,#fff6ef);border:1px solid var(--brand);border-radius:14px;padding:18px}
.reframe .arrow{font-size:1.8rem;color:var(--brand);font-weight:900}

/* CSS-only tabs */
.tracks .trk{position:absolute;opacity:0;pointer-events:none}
.tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:26px 0 28px}
.tab{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.6rem 1.15rem;font-weight:740;
  cursor:pointer;font-size:.98rem;display:inline-flex;gap:.5rem;align-items:center}
.tab:hover{border-color:var(--ink-soft)}
.panelbox{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;display:none}
.panelbox .top{padding:26px 28px;color:#fff}
.panelbox.k-consult .top{background:linear-gradient(135deg,var(--blue),#5b8cff)}
.panelbox.k-build .top{background:linear-gradient(135deg,var(--brand),var(--brand-2))}
.panelbox.k-teach .top{background:linear-gradient(135deg,var(--teal),#34c3b5)}
.panelbox.k-learn .top{background:linear-gradient(135deg,var(--violet),#a274f0)}
.panelbox .top h3{font-size:1.55rem;margin:0}
.panelbox .top p{margin:.4rem 0 0;opacity:.95}
.panelbox .body{padding:26px 28px;display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:760px){.panelbox .body{grid-template-columns:1fr}}
.panelbox h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin:0 0 .6rem}
.panelbox ul{margin:0;padding-left:1.1rem}
.panelbox li{margin-bottom:.5rem}
.fitchip{display:inline-block;background:#f0eee8;border-radius:999px;padding:.25rem .7rem;font-size:.82rem;font-weight:700;margin:.2rem .3rem .2rem 0}
/* selected states */
#trk-consult:checked ~ .panels .k-consult,
#trk-build:checked ~ .panels .k-build,
#trk-teach:checked ~ .panels .k-teach,
#trk-learn:checked ~ .panels .k-learn{display:block}
#trk-consult:checked ~ .tabs label[for=trk-consult]{background:var(--blue);color:#fff;border-color:transparent}
#trk-build:checked ~ .tabs label[for=trk-build]{background:var(--brand);color:#fff;border-color:transparent}
#trk-teach:checked ~ .tabs label[for=trk-teach]{background:var(--teal);color:#fff;border-color:transparent}
#trk-learn:checked ~ .tabs label[for=trk-learn]{background:var(--violet);color:#fff;border-color:transparent}

/* timeline */
.tl {
  position: relative;
  margin-top: 40px;
  padding-left: 32px;
}
.tl::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 10px;
  bottom: 10px;
  width: 4px;
  background: linear-gradient(180deg, var(--brand), var(--violet));
  border-radius: 2px;
}
.phase {
  position: relative;
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 22px;
  align-items: start;
  padding: 24px 0;
  border-top: none;
}
.phase::before {
  content: "";
  position: absolute;
  left: -29px;
  top: 30px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--bg);
  border: 3px solid var(--mute);
  z-index: 2;
  transition: all 0.3s ease;
}
.phase.now::before {
  background: var(--brand);
  border-color: var(--brand);
  box-shadow: 0 0 0 5px rgba(255, 84, 54, 0.2);
  transform: scale(1.2);
}
.phase:hover::before {
  border-color: var(--brand);
  transform: scale(1.2);
}
.phase:not(:last-child) {
  border-bottom: 1px solid var(--line);
}
.phase .when { font-weight: 850; }
.phase .when .yr { display: block; font-size: 1.4rem; }
.phase .when .tag {
  display: inline-block;
  margin-top: 6px;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: var(--ink);
  color: #fff;
  border-radius: 999px;
  padding: .2rem .6rem;
  font-weight: 800;
}
.phase.now .when .tag { background: var(--brand); }
.phase h3 { margin-bottom: .3rem; }
.phase .pts { display: grid; gap: .4rem; margin-top: .5rem; }
.phase .pt { display: flex; gap: .55rem; align-items: flex-start; }
.phase .pt .d { color: var(--brand); font-weight: 900; margin-top: .05rem; }

@media (max-width: 680px) {
  .tl {
    padding-left: 24px;
  }
  .tl::before {
    left: 4px;
  }
  .phase {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .phase::before {
    left: -25px;
    top: 28px;
  }
}

/* checklist (CSS-only strike) */
.checkgroup{margin-bottom:22px}
.checkgroup h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}
.checkgroup h3 .pill{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;padding:.2rem .6rem;border-radius:999px;color:#fff}
.pill.c-green{background:var(--green)}.pill.c-blue{background:var(--blue)}
.pill.c-brand{background:var(--brand)}.pill.c-violet{background:var(--violet)}
.item{display:flex;gap:.8rem;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:13px 15px;margin-bottom:9px;cursor:pointer}
.item:hover{border-color:var(--ink-soft)}
.item input{margin-top:.25rem;width:19px;height:19px;accent-color:var(--brand);cursor:pointer;flex:0 0 auto}
.item .t{font-weight:680;display:block}
.item .s{font-size:.9rem;color:var(--mute);margin-top:2px;display:block}
.item input:checked ~ .txt .t{text-decoration:line-through;color:var(--mute)}

.toolgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
@media(max-width:820px){.toolgrid{grid-template-columns:1fr}}
.tool{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}
.tool .ico{font-size:1.5rem}
.tool h3{font-size:1.05rem;margin:.4rem 0 .3rem}
.tool p{font-size:.92rem;color:var(--ink-soft);margin:0}

.cta{background:linear-gradient(135deg,#0e1726,#1d2a44);color:#fff;border-radius:24px;padding:48px;text-align:center;box-shadow:var(--shadow)}
.cta h2{color:#fff}
.cta p{color:#cdd5e6;max-width:560px;margin:0 auto 1.4rem}
footer{padding:40px 0 60px;color:var(--mute);font-size:.9rem;text-align:center}
