/* Landing page — a course front door, not a documentation index. Light theme by design. */
.home main{max-width:1080px;padding-top:28px}
.home article{max-width:none}
.home .site-disclaimer{font-size:12px;color:var(--faint);margin-bottom:10px}
.home .page-header{display:block;margin:0 0 28px}
.home .page-header-text{display:none}

/* Hero */
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center;padding:40px 44px;border-radius:22px;
  background-color:#16284A;background-image:linear-gradient(135deg,#1F3A66 0%,#0F1F3D 100%);color:#FFFFFF;box-shadow:0 12px 32px rgba(15,31,61,.18)}
.hero-eyebrow{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9FC3EC}
.hero h1{margin:0 0 14px;font-size:2.35rem;line-height:1.12;letter-spacing:-.025em;font-weight:800;color:#FFFFFF}
.hero-lede{margin:0 0 22px;font-size:1.12rem;line-height:1.5;color:#DCE6F5;max-width:34em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:700;font-size:15px;line-height:1;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:#F0C56B;color:#0F1F3D;box-shadow:0 6px 18px rgba(240,197,107,.35)}
.btn-primary:hover{background:#F6D488;color:#0F1F3D}
.btn-secondary{background:transparent;color:#FFFFFF;border:1.5px solid rgba(255,255,255,.55)}
.btn-secondary:hover{border-color:#FFFFFF;color:#FFFFFF;background:rgba(255,255,255,.08)}
.hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:0;font-size:13.5px;color:#C9D6E8}
.hero-facts li{display:flex;align-items:center;gap:7px}
.hero-facts li::before{content:'';width:6px;height:6px;border-radius:50%;background:#5FC3B1;flex:none}
.hero-facts a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.hero .mark-genai{color:#FFFFFF}
.hero-art-wrap{min-width:0}
.hero .home-art{width:100%;height:auto;border-radius:18px;background:transparent}

/* Outcomes: "after this site you can…" */
.outcomes{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:0 0 8px}
.outcomes li{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:4px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.outcome-icon{grid-row:1 / 3;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink)}
.outcome-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.outcomes strong{font-size:15.5px;line-height:1.3;color:var(--heading)}
.outcomes li>span:last-child{font-size:14px;line-height:1.45;color:var(--text-2)}

/* Section headings on the landing */
.home h2{font-size:1.45rem;letter-spacing:-.02em;margin:2.6rem 0 .5rem}
.home h2::after{display:none}
.home article>h2+p{margin:0 0 18px;color:var(--text-2);font-size:15px}

/* Paths */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 8px}
.door{display:flex;flex-direction:column;padding:0 0 18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;color:var(--text);box-shadow:0 2px 10px rgba(15,31,61,.06);transition:transform .12s ease,box-shadow .12s ease}
.door:hover,.door:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,31,61,.14);border-color:var(--part-ink);text-decoration:none;color:var(--text)}
.door-band{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--part-soft);color:var(--part-ink);margin-bottom:14px}
.door-band .part-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.door-kicker{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.door h2{font-size:1.25rem;margin:0 20px 6px;line-height:1.25;color:var(--heading)}
.door p{margin:0 20px 14px;font-size:14.5px;line-height:1.5;color:var(--text-2)}
.door-summary{display:flex;align-items:center;gap:10px;margin:auto 20px 0;font-size:13px;color:var(--text-3)}
.door-count{display:inline}
.door-summary .chip{background:var(--elev);color:var(--text-2);font-size:12px}
.door-go{margin-left:auto;font-weight:700;color:var(--part-ink);font-size:14px}
.door.tier-primary{border-color:var(--accent)}

/* Habits strip */
.home .steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:.5rem 0 .5rem}
.home .steps li{background:var(--surface);border:1px solid var(--line);font-size:14px;padding:12px 14px}

/* Lessons */
.home-grid{display:grid;gap:6px}
.topic-section{padding:22px 0 8px}
.topic-section h2{display:flex;align-items:center;gap:12px;font-size:1.2rem;margin:0 0 4px}
.topic-section .part-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--part-soft);color:var(--part-ink)}
.topic-section .part-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topic-section .part-number{display:none}
.part-description{margin:0 0 16px 46px;font-size:14px;color:var(--text-2)}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.topic-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--text);min-width:0;transition:transform .12s ease,box-shadow .12s ease}
.topic-card:hover,.topic-card:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,31,61,.12);border-color:var(--part-ink);text-decoration:none;color:var(--text)}
.topic-top{display:flex;align-items:center;gap:8px}
.topic-number{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--part-ink);background:var(--part-soft);border-radius:6px;padding:2px 6px}
.topic-card .topic-icon{display:grid;place-items:center;color:var(--part-ink)}
.topic-card .topic-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topic-card .topic-icon:empty{display:none}
.topic-top .chip{margin-left:auto;font-size:11.5px}
.topic-card strong{font-size:15px;line-height:1.3;color:var(--heading)}
.topic-hook{font-size:13.5px;line-height:1.45;color:var(--text-2)}

/* Authors line */
.home .site-footer{max-width:none}

@media(max-width:1023px){
  .hero{grid-template-columns:1fr;padding:30px 28px}
  .hero-art-wrap{max-width:420px}
  .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:719px){
  .home main{padding-top:16px}
  .hero{padding:24px 20px;border-radius:16px}
  .hero h1{font-size:1.8rem}
  .hero-lede{font-size:1rem}
  .outcomes,.doors,.topic-grid{grid-template-columns:1fr}
  .home .steps{grid-template-columns:1fr}
  .home .steps li{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px}
  .home .steps li::before{margin:0}
  .part-description{margin-left:0}
}
.hero-lede a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}

/* Linked cards: the whole box is the link */
.outcomes li.is-link{position:relative;transition:box-shadow .15s,border-color .15s,transform .15s}
.outcomes li.is-link:hover,.outcomes li.is-link:focus-within{border-color:var(--accent);box-shadow:0 10px 26px rgba(15,31,61,.14);transform:translateY(-1px)}
.outcomes .card-link{color:var(--heading);text-decoration:none}
.outcomes .card-link::after{content:'';position:absolute;inset:0;border-radius:16px}
.outcomes li.is-link strong::after{content:' \2192';color:var(--accent)}
