/* For Engineers branch: /engineers, /fde, /fde/apply.
   Same tokens and look as the rest of thecrux.ai (cream base, 1180px column, serif display with
   coral italic emphasis, mono eyebrows, pill buttons). Light theme only. The global nav and footer
   carry their own cx- styles from partials/global-nav.html. */
:root{
  color-scheme:light;
  --coral:#f26b4f; --coral-dark:#d9553b; --coral-light:#fff0ed;
  --teal:#0d9488; --teal-light:#e6f7f5;
  --gold:#f4b63f; --gold-light:#fef9ec;
  --bg:#fffaf0; --bg-alt:#f5efe5; --card:#ffffff; --border:#e8dfd4;
  --heading:#17263a; --body:#39526f; --muted:#6b7f99;
  --band:#0f172a; --band-card:#1e293b; --band-border:#2a3b52; --band-text:#e2e8f0; --band-muted:#94a3b8; --band-heading:#fffaf0;
  --em:#f26b4f;
  --cream:#fffaf0; --cream-dark:#f5efe5; --navy:#17263a; --slate:#39526f;
  --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:'Space Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;
  --radius:12px; --radius-lg:20px; --pill:100px;
  --shadow-elevated:0 25px 60px rgba(0,0,0,.15),0 0 0 1px rgba(255,255,255,.05);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);color:var(--heading);text-wrap:balance;margin:0}
p,ul,ol{margin:0}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin-inline:auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
.section{padding-block:96px}
.section.alt{background:var(--bg-alt)}
@media (max-width:700px){.section{padding-block:64px}}
.eyebrow{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-dark);display:inline-flex;align-items:center;gap:10px}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4}}
.h2{font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:800;line-height:1.15;letter-spacing:-.01em}
.h2 em,.hero h1 em{font-style:italic;color:var(--em)}
.lede{font-size:1.1rem;max-width:62ch}
.section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:44px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:1rem;padding:15px 28px;border-radius:var(--pill);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s,border-color .2s}
.btn-primary{background:var(--coral);color:#fff;box-shadow:0 8px 24px rgba(242,107,79,.28)}
.btn-primary:hover{background:var(--coral-dark);transform:translateY(-2px)}
.btn-ghost{border-color:var(--border);color:var(--heading)}
.btn-ghost:hover{border-color:var(--heading)}
.mono{font-family:var(--font-mono)}
.tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;padding:5px 12px;border-radius:var(--pill);background:var(--teal-light);color:var(--teal);display:inline-block;align-self:flex-start}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}
.announce{background:linear-gradient(135deg,#f26b4f,#e8457a,#7c3aed);color:#fff;font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:.03em;text-align:center}
.announce .wrap{padding-block:10px}
.announce a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hero{padding-block:72px 88px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:26px;min-width:0}
.hero h1{font-size:clamp(2.3rem,4.4vw,3.5rem);font-weight:800;line-height:1.05;letter-spacing:-.02em}
.hero .sub{font-size:1.15rem;max-width:56ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.meta-row{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.92rem;color:var(--muted)}
.meta-row span{display:inline-flex;align-items:center;gap:8px}
.meta-row span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal)}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}}
.term{background:#0f172a;border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);overflow:hidden;min-width:0;font-family:var(--font-mono);font-size:.82rem;color:#e2e8f0}
.term-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#1e293b;border-bottom:1px solid #2a3b52}
.term-bar i{width:11px;height:11px;border-radius:50%;display:block}
.term-bar .t{margin-left:10px;color:#94a3b8;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.term-body{padding:20px 18px 18px;display:flex;flex-direction:column;gap:12px;line-height:1.55}
.term .you{color:#5eead4}
.term .cl{color:#fbbf9f}
.term .q{color:#fffaf0}
.term .reveal{border-left:2px solid #f4b63f;padding-left:10px;color:#fde68a}
.term .score{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px dashed #2a3b52;padding-top:12px;color:#94a3b8}
.term .score b{color:#4ade80;font-weight:600}
.cursor{display:inline-block;width:8px;height:1em;background:#f26b4f;vertical-align:-2px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.term-note{font-size:.8rem;color:var(--muted);margin-top:10px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.stat{display:flex;flex-direction:column;gap:6px}
.stat .n{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,3.6rem);font-weight:600;color:var(--coral);line-height:1;font-variant-numeric:tabular-nums}
.source{font-size:.8rem;color:var(--muted);margin-top:18px}
@media (max-width:760px){.stats{grid-template-columns:1fr}}
.table-scroll{overflow-x:auto;border-radius:var(--radius-lg)}
.shift{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border)}
.shift th{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:16px 22px;color:var(--muted);border-bottom:1px solid var(--border)}
.shift th:last-child{color:var(--teal)}
.shift td{padding:16px 22px;border-bottom:1px solid var(--border);vertical-align:top;width:50%}
.shift tr:last-child td{border-bottom:none}
.shift td:last-child{color:var(--heading);font-weight:500}
.eng{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.eng .card{display:flex;flex-direction:column;gap:12px}
.eng .when{font-family:var(--font-mono);font-size:.76rem;color:var(--teal)}
.eng h3{font-size:1.4rem;font-weight:600}
.eng ul{padding-left:18px;font-size:.95rem;display:flex;flex-direction:column;gap:4px}
@media (max-width:1000px){.eng{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.eng{grid-template-columns:1fr}}
.rhythm{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.slot{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--border)}
.slot:first-child{padding-top:0}
.slot .d{font-family:var(--font-mono);font-size:.82rem;color:var(--coral-dark);padding-top:3px}
.slot h3,.anatomy h3{font-family:var(--font-body);font-size:1.05rem;font-weight:600;margin-bottom:2px}
.anatomy h3{margin-bottom:14px}
.bar{display:flex;height:42px;border-radius:10px;overflow:hidden;font-family:var(--font-mono);font-size:.74rem;color:#fff}
.bar span{display:flex;align-items:center;justify-content:center;white-space:nowrap}
.legend{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin-top:18px;font-size:.95rem}
.legend b{font-family:var(--font-mono);font-weight:500;color:var(--heading)}
.rubric{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);font-size:.92rem}
.rubric span{font-family:var(--font-mono);font-size:.78rem;color:var(--teal)}
@media (max-width:900px){.rhythm{grid-template-columns:1fr}.slot{grid-template-columns:110px 1fr}}
.sess{width:100%;border-collapse:collapse;font-size:.93rem;background:var(--card);border:1px solid var(--border)}
.sess th,.sess td{text-align:left;padding:12px 22px;border-top:1px solid var(--border);vertical-align:top}
.sess th{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.sess td:first-child{font-family:var(--font-mono);color:var(--coral-dark);white-space:nowrap;font-size:.82rem}
.sess td:nth-child(2){color:var(--heading);font-weight:600;min-width:170px}
.sess tr.wknd td{background:var(--coral-light)}
.sess .gate{font-family:var(--font-mono);font-size:.7rem;background:var(--gold-light);color:var(--heading);border:1px solid var(--gold);padding:1px 8px;border-radius:var(--pill);margin-left:6px;white-space:nowrap}
.band{background:var(--band);color:var(--band-text)}
.band .h2{color:var(--band-heading)}
.band .h2 em{color:#f58a72}
.band .eyebrow{color:#f58a72}
.band .lede{color:var(--band-text)}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.band .card{background:var(--band-card);border-color:var(--band-border);color:var(--band-text)}
.band .card h3{color:var(--band-heading);font-size:1.35rem;font-weight:600;margin-bottom:12px}
.band ul{padding-left:18px;display:flex;flex-direction:column;gap:8px}
.band .note{font-size:.85rem;color:var(--band-muted);margin-top:14px}
@media (max-width:860px){.band-grid{grid-template-columns:1fr}}
.who{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.who .card{display:flex;flex-direction:column;gap:12px}
.who h3{font-size:1.5rem;font-weight:600}
.notfit{margin-top:22px;font-size:.95rem;color:var(--muted)}
.notfit b{color:var(--heading)}
@media (max-width:760px){.who{grid-template-columns:1fr}}
.ladder{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}
.ladder .card{display:flex;flex-direction:column;gap:10px}
.ladder h3{font-size:1.4rem;font-weight:600}
.ladder .p{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--heading);margin-top:auto}
.ladder .arrow{display:flex;align-items:center;color:var(--coral);font-size:1.6rem}
@media (max-width:900px){.ladder{grid-template-columns:1fr}.ladder .arrow{justify-content:center;transform:rotate(90deg)}}
.honest{margin-top:22px;padding:18px 22px;border-radius:var(--radius);background:var(--gold-light);border:1px solid var(--gold);font-size:.95rem;color:var(--heading)}
.inst{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.inst .card{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.avatar{width:76px;height:76px;border-radius:50%;padding:3px;background:linear-gradient(135deg,#f26b4f,#e5487a,#7c3aed)}
.avatar span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--card);font-family:var(--font-display);font-weight:600;font-size:1.5rem;color:var(--heading)}
.inst h3{font-size:1.3rem;font-weight:600}
.inst .role{font-family:var(--font-mono);font-size:.74rem;color:var(--coral-dark);margin:4px 0 10px}
.inst p{font-size:.95rem}
@media (max-width:860px){.inst{grid-template-columns:1fr}}
.price-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start}
.price{display:flex;flex-direction:column;gap:18px;border:2px solid var(--coral);box-shadow:0 16px 48px rgba(242,107,79,.15)}
.price .amt{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,4rem);font-weight:600;color:var(--heading);line-height:1;font-variant-numeric:tabular-nums}
.price .amt small{font-family:var(--font-body);font-size:.95rem;color:var(--muted);font-weight:400;margin-left:8px}
.price ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.price li{display:grid;grid-template-columns:20px 1fr;gap:10px}
.price li svg{margin-top:4px;color:var(--teal)}
.side{display:flex;flex-direction:column;gap:16px}
.side .card h3{font-family:var(--font-body);font-size:1.05rem;font-weight:600;margin-bottom:4px}
.side .card .p{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--heading);margin-bottom:6px}
.fine{font-size:.85rem;color:var(--muted)}
@media (max-width:900px){.price-grid{grid-template-columns:1fr}}
.sess tr.brk td{background:var(--cream-dark,#f5efe5);color:var(--muted);font-style:italic}
.vocab{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:1000px){.vocab{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.vocab{grid-template-columns:1fr}}
.vocab .card{padding:20px;display:flex;flex-direction:column;gap:6px}
.vocab .w{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--heading)}
.vocab .d{font-size:.92rem}
.vocab .at{margin-top:auto;padding-top:8px;font-family:var(--font-mono);font-size:.72rem;color:var(--coral-dark)}
.prep{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:760px){.prep{grid-template-columns:1fr}}
.cert{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:1000px){.cert{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cert{grid-template-columns:1fr}}
.cert .card{padding:22px;display:flex;flex-direction:column;gap:8px}
.cert .code{font-family:var(--font-mono);font-size:.74rem;color:var(--teal)}
.cert h3{font-family:var(--font-body);font-size:1.05rem;font-weight:600}
.cert .map{margin-top:auto;padding-top:10px;border-top:1px solid var(--border);font-size:.86rem}
.guarantee{margin-top:18px;padding:18px 20px;border-radius:var(--radius);border:1px dashed var(--teal);font-size:.93rem;color:var(--heading)}
.hours{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:40px}
@media (max-width:900px){.hours{grid-template-columns:repeat(2,1fr)}}
.hours.six{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.hours.six{grid-template-columns:repeat(2,1fr)}}
.hours .card{padding:22px;display:flex;flex-direction:column;gap:6px}
.hours .n{font-family:var(--font-display);font-size:2.4rem;font-weight:600;color:var(--coral);line-height:1}
.hours h3{font-family:var(--font-body);font-size:1rem;font-weight:600}
.hours p{font-size:.88rem;color:var(--muted)}
.hours-total{grid-column:1/-1;font-size:.95rem;color:var(--heading)}
.cert-group{margin:8px 0 14px;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--heading)}
.cert+.cert-group{margin-top:28px}
.cert .card{grid-column:span 2}
@media (max-width:1000px){.cert .card{grid-column:span 1}}
.note-plain{margin-top:16px;font-size:.92rem;color:var(--muted)}
.fde-subnav{background:var(--cream-dark,#f5efe5);border-bottom:1px solid var(--border)}
.fde-subnav .wrap{display:flex;align-items:center;gap:22px;padding-block:9px;overflow-x:auto;white-space:nowrap;font-size:.88rem}
.fde-subnav .t{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fde-subnav a{color:var(--slate,#39526f);text-decoration:none;font-weight:500}
.fde-subnav a:hover{color:var(--heading)}
.fde-subnav a.on{color:var(--coral-dark);font-weight:700}
.fde-subnav .home{margin-left:auto}
.ladder-go{margin-top:6px;font-weight:700;font-size:.92rem;color:var(--coral-dark);text-decoration:none}
.ladder-go:hover{text-decoration:underline}
.side .card a.side-go{display:inline-block;margin-top:8px;font-weight:700;color:var(--coral-dark);text-decoration:none}
.faq{display:flex;flex-direction:column;max-width:860px}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;display:flex;justify-content:space-between;gap:16px;font-weight:600;color:var(--heading);font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-mono);color:var(--coral);font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 20px;max-width:70ch}
.final .card{display:flex;flex-direction:column;gap:20px;padding:44px;background:var(--coral-light);border-color:transparent}
.cmp td:nth-child(3){color:var(--heading)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:st}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.steps .card{padding:22px;display:flex;flex-direction:column;gap:8px}
.steps .card::before{counter-increment:st;content:"0" counter(st);font-family:var(--font-mono);font-size:.78rem;color:var(--coral-dark)}
.steps h3{font-family:var(--font-body);font-size:1.05rem;font-weight:600}
.steps p{font-size:.93rem}
.plain-list{padding-left:18px;display:flex;flex-direction:column;gap:6px}

/* ---- shared additions ---- */
body{overflow-x:hidden}
.wrap{padding-left:max(24px, env(safe-area-inset-left, 0px));padding-right:max(24px, env(safe-area-inset-right, 0px))}
@media (max-width:480px){.wrap{padding-left:16px;padding-right:16px}}
.announce a{color:#fff}
.hero .eyebrow{line-height:1.5}
.btn{font-weight:700}
.btn:disabled{opacity:.6;cursor:default;transform:none}
.center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.text-link{color:var(--coral-dark);font-weight:700;text-decoration:none}
.text-link:hover{text-decoration:underline}
.cx-subnav a.on{color:var(--coral-dark);font-weight:700}
.faq p.a + p.a{margin-top:-8px}
.inst .avatar{overflow:hidden;flex-shrink:0}
.inst .avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.inst .card a{color:var(--coral-dark);font-weight:600;font-size:.88rem;text-decoration:none}
.pulse-slot{padding:0 0 8px}

/* ---- tiles: three or two cards in a row (hub, free steps) ---- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tiles.two{grid-template-columns:repeat(2,1fr)}
.tiles .card{display:flex;flex-direction:column;gap:10px}
.tiles h3{font-size:1.35rem;font-weight:800;line-height:1.2}
.tiles .card p{font-size:.96rem}
.tiles .card .go{margin-top:auto;padding-top:8px;font-weight:700;font-size:.92rem;color:var(--coral-dark);text-decoration:none}
.tiles .card .go:hover{text-decoration:underline}
.tiles .card.dark{background:var(--navy);border-color:var(--navy);color:#b8c4d4}
.tiles .card.dark h3{color:#fff}
.tiles .card.dark .tag{background:rgba(255,255,255,.1);color:var(--gold)}
.tiles .card.dark .go{color:var(--gold)}
.tiles .meta{font-family:var(--font-mono);font-size:.76rem;color:var(--muted)}
@media (max-width:960px){.tiles,.tiles.two{grid-template-columns:1fr}}

/* ---- forms: /fde/apply ---- */
.form-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}
@media (max-width:900px){.form-grid{grid-template-columns:1fr}}
.form-card{display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.field legend{font-weight:600;font-size:.95rem;color:var(--heading)}
.field .hint{font-size:.84rem;color:var(--muted)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=url],.field select,.field textarea{width:100%;padding:12px 14px;font:inherit;font-size:1rem;color:var(--heading);background:#fff;border:1px solid var(--border);border-radius:10px}
.field textarea{min-height:130px;resize:vertical;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--coral);outline-offset:1px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}
fieldset.field{border:0;padding:0;margin:0}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--border);border-radius:var(--pill);background:#fff;font-weight:500;font-size:.92rem;color:var(--body);cursor:pointer}
.choices input{accent-color:var(--coral)}
.choices label:has(input:checked){border-color:var(--coral);background:var(--coral-light);color:var(--heading)}
.form-msg{font-size:.93rem;font-weight:500}
.form-msg.err{color:#b3382a}
.form-msg.ok{color:#1c7c4a}
.next-steps{display:flex;flex-direction:column;gap:14px;counter-reset:ns;list-style:none;padding:0}
.next-steps li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}
.next-steps li::before{counter-increment:ns;content:counter(ns);width:30px;height:30px;border-radius:50%;background:var(--coral-light);color:var(--coral-dark);font-family:var(--font-mono);font-size:.82rem;font-weight:600;display:flex;align-items:center;justify-content:center}
.next-steps b{color:var(--heading)}

/* ---- /fde: evidence table, Foundations weekend, bonuses ---- */
.shift td b{color:var(--heading)}
.evidence{margin-top:28px}
.kick{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:stretch}
.kick-main{display:flex;flex-direction:column;gap:12px;background:var(--coral-light)}
.kick-main .n{font-family:var(--font-display);font-size:clamp(3.4rem,7vw,5rem);font-weight:800;color:var(--coral);line-height:1}
.kick-main h3{font-size:1.4rem;font-weight:800;line-height:1.2}
.kick-out{margin-top:auto;padding-top:16px;border-top:1px solid rgba(242,107,79,.35);color:var(--heading);font-size:.98rem}
.kick-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kick-list .card{padding:20px;display:flex;flex-direction:column;gap:6px}
.kick-list .k{font-family:var(--font-mono);font-size:.74rem;color:var(--coral-dark)}
.kick-list h3{font-family:var(--font-body);font-size:1.05rem;font-weight:600}
.kick-list p{font-size:.93rem}
@media (max-width:960px){.kick{grid-template-columns:1fr}}
@media (max-width:560px){.kick-list{grid-template-columns:1fr}}
.tiles.bonus .card .tag{background:var(--gold-light);color:#8a5a00;border:1px solid var(--gold)}
.tiles.bonus .card .meta{margin-top:auto;padding-top:8px}
@media (min-width:961px){.tiles.bonus{grid-template-columns:repeat(6,1fr)}.tiles.bonus .card{grid-column:span 2}}

.hero .sub-who{font-size:1rem;color:var(--heading);font-weight:500;margin-top:-10px}
.tiles .card p b{color:var(--heading)}

/* ---- launch price ---- */
s.was{color:var(--muted);font-weight:500;text-decoration-thickness:2px}
.price-was{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.04em;color:var(--muted);margin-bottom:-8px}
.price-was s.was{font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin-left:6px;letter-spacing:0}
.ladder .p small{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--muted)}
.ladder .p s.was{font-size:1.05rem}
.note-plain b{color:var(--heading)}

/* ---- phones: no grid blow-out, and tables stack into cards ---- */
.hero-grid>*{min-width:0}
@media (max-width:960px){.hero-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .shift thead,.sess thead{display:none}
  .shift,.shift tbody,.shift tr,.shift td,.sess,.sess tbody,.sess tr,.sess td{display:block;width:auto}
  .shift tr{padding:16px 18px;border-bottom:1px solid var(--border)}
  .shift tr:last-child{border-bottom:0}
  .shift td{padding:0;border:0}
  .shift td:first-child{margin-bottom:12px}
  .shift td::before{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-weight:500}
  .shift td:last-child::before{color:var(--teal)}
  .t-change td:first-child::before{content:"Today"}
  .t-change td:last-child::before{content:"After the Sprint"}
  .t-evidence td:first-child::before{content:"The job postings ask for"}
  .t-evidence td:last-child::before{content:"In the Sprint"}
  .sess tr{padding:14px 18px;border-top:1px solid var(--border)}
  .sess tbody tr:first-child{border-top:0}
  .sess td,.sess th{padding:0;border:0}
  .sess td:nth-child(2){min-width:0;margin:2px 0 4px}
  .sess tr.wknd,.sess tr.brk{background:var(--coral-light)}
  .sess tr.brk{background:var(--bg-alt)}
  .sess tr.wknd td,.sess tr.brk td{background:transparent}
  .price .amt small{display:block;margin:6px 0 0}
}

/* ---- card rows line up across a grid: tag, heading, text and link share row tracks ---- */
@supports (grid-template-rows:subgrid) and selector(:has(*)){
  :where(.tiles,.eng,.vocab,.cert,.hours,.steps,.kick-list,.who){--rows:3}
  :where(.tiles,.eng,.vocab,.cert,.hours,.steps,.kick-list,.who):has(>.card>:nth-child(4)){--rows:4}
  :where(.tiles,.eng,.vocab,.cert,.hours,.steps,.kick-list,.who):has(>.card>:nth-child(5)){--rows:5}
  :is(.tiles,.eng,.vocab,.cert,.hours,.steps,.kick-list,.who)>.card{display:grid;grid-template-rows:subgrid;grid-row:span var(--rows);gap:0;justify-items:start}
  :where(.tiles,.eng,.who)>.card{--cg:12px}
  :where(.tiles)>.card{--cg:10px}
  :where(.cert,.steps)>.card{--cg:8px}
  :where(.vocab,.hours,.kick-list)>.card{--cg:6px}
  :where(.tiles,.eng,.vocab,.cert,.hours,.steps,.kick-list,.who)>.card>*+*{margin-top:var(--cg)}
  .steps>.card>h3{margin-top:var(--cg)}
  :is(.tiles,.eng,.who)>.card>a:last-child{grid-row-end:-1;align-self:end}
  .cert>.card>.map{justify-self:stretch;margin-top:var(--cg)}
  .vocab>.card>.at,.tiles.bonus>.card>.meta{margin-top:0}
  @media (min-width:901px){
    .ladder>.card{display:grid;grid-template-rows:subgrid;grid-row:span 5;gap:0;justify-items:start}
    .ladder>.card>*+*{margin-top:10px}
    .ladder>.card>.p{margin-top:10px}
    .ladder>.arrow{grid-row:span 5}
  }
}

.tiles.work{margin-bottom:28px}

/* ---- section heads sit centred over the full-width content below them ---- */
@media (min-width:761px){
  .section-head{align-items:center;text-align:center}
  .section-head .lede{max-width:72ch;margin-inline:auto}
  .section-head .h2{max-width:26ch}
}

/* Hero discovery call card (replaces the terminal transcript) */
.dc{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 18px 40px rgba(23,38,58,.09);overflow:hidden;min-width:0}
.dc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 20px;background:var(--bg-alt);border-bottom:1px solid var(--border);font-size:.92rem}
.dc-head b{color:var(--heading)}
.dc-head span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted)}
.dc-body{padding:20px;display:flex;flex-direction:column;gap:10px}
.dc-msg{max-width:88%;background:var(--bg-alt);border-radius:14px 14px 14px 4px;padding:10px 14px;font-size:.93rem;line-height:1.45;color:var(--heading)}
.dc-msg small{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.dc-msg.you{align-self:flex-end;background:var(--teal-light);border-radius:14px 14px 4px 14px}
.dc-msg.you small{color:var(--teal)}
.dc-find{border-left:3px solid var(--gold);padding-left:12px;font-size:.9rem;color:var(--body)}
.dc-find b{color:var(--heading)}
.dc-score{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:12px;margin-top:4px;font-size:.86rem;color:var(--muted)}
.dc-score b{color:#0a6f66;font-weight:600}

/* Live-hours strip below the hero: the 14-hour weekend is one part of 52 live hours */
.lh{background:var(--card);border-block:1px solid var(--border);padding-block:28px}
.lh .wrap{display:flex;flex-direction:column;gap:14px}
.lh-title{font-size:1.05rem;color:var(--body)}
.lh-title b{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--heading);margin-right:6px}
.lh-bar{display:flex;gap:3px;height:34px;border-radius:10px;overflow:hidden;font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:#fff}
.lh-bar span{display:flex;align-items:center;justify-content:center;min-width:26px;white-space:nowrap}
.lh-bar .a,.lh-legend .a::before{background:#d9553b}
.lh-bar .b,.lh-legend .b::before{background:#17263a}
.lh-bar .c,.lh-legend .c::before{background:#0d9488}
.lh-bar .d,.lh-legend .d::before{background:#a16207}
.lh-bar .e,.lh-legend .e::before{background:#39526f}
.lh-legend{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px 18px}
.lh-legend li{position:relative;padding-left:18px;font-size:.88rem;line-height:1.4}
.lh-legend li::before{content:"";position:absolute;left:0;top:.42em;width:10px;height:10px;border-radius:3px}
.lh-legend b{display:block;color:var(--heading);font-variant-numeric:tabular-nums}
.lh-note{font-size:.86rem;color:var(--muted)}
@media (max-width:900px){.lh-legend{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.lh-legend{grid-template-columns:1fr}.lh-bar{font-size:.68rem}}

/* Line under an action button: what the click does. Sticky action bar on phones. */
.cta-note{font-size:.86rem;color:var(--muted);line-height:1.5;max-width:56ch}
.cta-note b{color:var(--heading)}
.hero-copy .cta-note{margin-top:-12px}
.lpv-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:2500;background:#fff;border-top:1px solid var(--border);padding:10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -8px 24px rgba(23,38,58,.08)}
.lpv-bar div{font-size:.8rem;color:var(--muted);line-height:1.3}
.lpv-bar b{display:block;color:var(--heading);font-size:.95rem}
.lpv-bar .btn{padding:11px 20px;font-size:.92rem;white-space:nowrap;box-shadow:none}
@media (max-width:700px){.lpv-bar{display:flex} body.has-bar{padding-bottom:74px}}
