
:root {
  --cream: #F8EBCF;
  --paper: #FFFDF7;
  --ink: #1C2430;
  --blue: #1859FF;
  --orange: #FF6B35;
  --mint: #CFF7DA;
  --yellow: #FFD37B;
  --peach: #FFBDA2;
  --sky: #BBD0FF;
  --muted: #59616C;
  --line: #CFC6B5;
  --max: 1180px;
  --radius: 22px;
  --shadow: 0 18px 50px rgba(28,36,48,.10);
  --sans: "Avenir Next", Avenir, "Segoe UI", Inter, Arial, sans-serif;
  --mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.55; }
img, svg { max-width:100%; height:auto; }
a { color:inherit; }
button, input, select, textarea { font:inherit; }
button, .button { min-height:46px; }
:focus-visible { outline:4px solid var(--blue); outline-offset:3px; }
.skip-link { position:fixed; left:1rem; top:-6rem; z-index:9999; background:var(--ink); color:white; padding:.8rem 1rem; border-radius:10px; }
.skip-link:focus { top:1rem; }
.demo-strip { background:var(--ink); color:white; text-align:center; padding:.45rem 1rem; font:700 .78rem/1.3 var(--mono); letter-spacing:.04em; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,253,247,.94); backdrop-filter:blur(12px); border-bottom:1px solid rgba(28,36,48,.12); }
.nav-wrap { max-width:var(--max); margin:auto; display:flex; align-items:center; gap:1.25rem; min-height:84px; padding:0 1.25rem; }
.brand { display:flex; align-items:center; text-decoration:none; width:260px; flex:0 0 auto; }
.brand img { display:block; width:100%; }
.nav-toggle { display:none; margin-left:auto; border:2px solid var(--ink); background:var(--paper); border-radius:12px; padding:.65rem .8rem; font-weight:800; }
.site-nav { margin-left:auto; display:flex; align-items:center; gap:.2rem; }
.site-nav a { text-decoration:none; font-weight:700; padding:.8rem .72rem; border-radius:12px; }
.site-nav a:hover, .site-nav a[aria-current="page"] { background:var(--mint); }
.site-nav .nav-cta { background:var(--blue); color:white; margin-left:.5rem; padding:.82rem 1rem; }
.site-nav .nav-cta:hover { background:#0D43CC; }
main { overflow:hidden; }
.shell { max-width:var(--max); margin:auto; padding:0 1.25rem; }
.section { padding:clamp(4rem, 8vw, 7.5rem) 0; }
.section-tight { padding:clamp(2.5rem, 5vw, 4rem) 0; }
.eyebrow { font:800 .78rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.10em; color:var(--blue); margin:0 0 .9rem; }
h1,h2,h3 { line-height:1.05; letter-spacing:-.035em; margin-top:0; }
h1 { font-size:clamp(3rem, 7.5vw, 6.6rem); max-width:11ch; margin-bottom:1.4rem; }
h2 { font-size:clamp(2.35rem, 4.5vw, 4.25rem); max-width:13ch; margin-bottom:1.1rem; }
h3 { font-size:clamp(1.25rem, 2vw, 1.65rem); margin-bottom:.55rem; }
p { margin:0 0 1.1rem; }
.lede { font-size:clamp(1.15rem, 2.2vw, 1.45rem); max-width:62ch; color:#333D49; }
.small { font-size:.9rem; color:var(--muted); }
.mono { font-family:var(--mono); }
.hero { background:linear-gradient(180deg, var(--cream) 0%, var(--paper) 100%); border-bottom:1px solid var(--line); }
.hero-grid { min-height:680px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:clamp(2rem,6vw,6rem); padding:clamp(4rem,8vw,7rem) 0; }
.hero h1 span { color:var(--blue); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.8rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; text-decoration:none; border:2px solid var(--ink); border-radius:14px; padding:.8rem 1.1rem; font-weight:800; background:var(--paper); cursor:pointer; }
.button.primary { background:var(--blue); color:white; border-color:var(--blue); }
.button.primary:hover { background:#0D43CC; border-color:#0D43CC; }
.button.secondary:hover { background:var(--mint); }
.hero-note { display:flex; gap:.7rem; align-items:flex-start; margin-top:1.3rem; font-size:.9rem; max-width:48ch; }
.hero-note strong { color:var(--blue); }
.hero-art { position:relative; }
.hero-art img { filter:drop-shadow(0 22px 24px rgba(28,36,48,.14)); }
.tape { display:inline-block; padding:.4rem .72rem; background:var(--yellow); border:2px solid var(--ink); transform:rotate(-2deg); font:800 .76rem/1.2 var(--mono); }
.stat-band { background:var(--blue); color:white; }
.stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding:1.5rem 0; }
.stat { padding:1rem; border-right:1px solid rgba(255,255,255,.35); }
.stat:last-child { border-right:0; }
.stat strong { display:block; font-size:1.3rem; margin-bottom:.2rem; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.card { border:2px solid var(--ink); border-radius:var(--radius); padding:1.5rem; background:var(--paper); }
.card.mint { background:var(--mint); }
.card.yellow { background:var(--yellow); }
.card.peach { background:var(--peach); }
.card.sky { background:var(--sky); }
.card .num { font:800 .75rem/1.3 var(--mono); letter-spacing:.08em; margin-bottom:2rem; }
.problem-list { list-style:none; padding:0; margin:1.8rem 0 0; }
.problem-list li { display:grid; grid-template-columns:36px 1fr; gap:.8rem; padding:1rem 0; border-top:1px solid var(--line); }
.problem-list .x { width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--peach); font-weight:900; }
.method-panel { background:var(--ink); color:white; border-radius:30px; padding:clamp(1.4rem,4vw,3rem); }
.method-panel h2 { max-width:15ch; }
.stepper { display:grid; grid-template-columns:220px 1fr; gap:2rem; margin-top:2rem; }
.step-list { display:flex; flex-direction:column; gap:.65rem; }
.step-tab { text-align:left; border:2px solid rgba(255,255,255,.35); background:transparent; color:white; border-radius:14px; padding:1rem; font-weight:800; cursor:pointer; }
.step-tab[aria-selected="true"] { background:var(--mint); color:var(--ink); border-color:var(--mint); }
.step-panel { background:white; color:var(--ink); border-radius:20px; padding:1.5rem; min-height:230px; }
.step-panel[hidden] { display:none; }
.check-list { list-style:none; padding:0; margin:1rem 0 0; }
.check-list li { position:relative; padding:.55rem 0 .55rem 2rem; }
.check-list li::before { content:"✓"; position:absolute; left:0; top:.45rem; width:1.35rem; height:1.35rem; border-radius:50%; background:var(--mint); display:grid; place-items:center; font-weight:900; font-size:.82rem; }
.module-preview { background:var(--cream); border-radius:30px; padding:clamp(1.25rem,4vw,2.5rem); }
.quote-block { border-left:8px solid var(--orange); padding:1.1rem 0 1.1rem 1.5rem; margin:1.8rem 0; font-size:clamp(1.35rem,2.5vw,2rem); font-weight:800; max-width:28ch; }
.instructor-mini { display:grid; grid-template-columns:minmax(260px, .8fr) 1.2fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.instructor-mini img { border-radius:28px; box-shadow:var(--shadow); }
.cta-panel { background:var(--mint); border:3px solid var(--ink); border-radius:30px; padding:clamp(2rem,5vw,4rem); display:grid; grid-template-columns:1.3fr .7fr; gap:2rem; align-items:center; }
.cta-panel h2 { max-width:12ch; }
.site-footer { background:var(--ink); color:white; padding:3rem 0 2rem; }
.footer-grid { display:grid; grid-template-columns:1.3fr .7fr .7fr; gap:2rem; }
.site-footer a { color:white; }
.footer-brand { width:260px; filter:brightness(0) invert(1); margin-bottom:1rem; }
.disclosure { border-top:1px solid rgba(255,255,255,.22); margin-top:2.5rem; padding-top:1.4rem; font-size:.85rem; color:#D2D6DB; }
.page-hero { background:var(--cream); border-bottom:1px solid var(--line); }
.page-hero .shell { padding-top:clamp(4rem,8vw,7rem); padding-bottom:clamp(3rem,6vw,5rem); }
.page-hero h1 { max-width:12ch; }
.breadcrumb { font:700 .8rem/1.3 var(--mono); margin-bottom:1rem; }
.breadcrumb a { text-decoration-thickness:2px; text-underline-offset:3px; }
.band { background:var(--cream); }
.band-mint { background:var(--mint); }
.band-blue { background:var(--blue); color:white; }
.note-box { background:var(--cream); border-left:6px solid var(--blue); padding:1.2rem 1.4rem; border-radius:0 14px 14px 0; }
.table-wrap { overflow-x:auto; border:2px solid var(--ink); border-radius:18px; }
table { width:100%; border-collapse:collapse; min-width:660px; background:white; }
th, td { padding:1rem; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:var(--mint); font-size:.92rem; }
tr:last-child td { border-bottom:0; }
.accordion { border-top:2px solid var(--ink); }
.accordion-item { border-bottom:2px solid var(--ink); }
.accordion-button { width:100%; display:grid; grid-template-columns:64px 1fr 40px; gap:1rem; align-items:center; text-align:left; background:transparent; border:0; padding:1.25rem .4rem; cursor:pointer; color:var(--ink); }
.accordion-button .n { font:800 .78rem/1 var(--mono); color:var(--blue); }
.accordion-button .label { font-weight:850; font-size:1.2rem; }
.accordion-button .plus { font-size:1.7rem; line-height:1; transition:transform .2s ease; }
.accordion-button[aria-expanded="true"] .plus { transform:rotate(45deg); }
.accordion-panel { padding:0 1rem 1.5rem 68px; max-width:76ch; }
.accordion-panel[hidden] { display:none; }
.lesson-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem; margin-top:1rem; }
.lesson { background:var(--cream); padding:1rem; border-radius:14px; }
.profile-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.profile-grid img { border-radius:30px; position:sticky; top:120px; }
.principles { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.principle { padding:1.3rem; border-top:5px solid var(--blue); background:var(--cream); }
.principle:nth-child(2) { border-color:var(--orange); }
.principle:nth-child(3) { border-color:#2A9653; }
.principle:nth-child(4) { border-color:#6B66D8; }
.timeline { counter-reset:stage; display:grid; gap:1rem; }
.timeline-item { counter-increment:stage; display:grid; grid-template-columns:90px 1fr; gap:1rem; align-items:start; }
.timeline-item::before { content:"0" counter(stage); font:900 2rem/1 var(--mono); color:var(--blue); padding-top:.35rem; }
.timeline-item > div { border-top:2px solid var(--ink); padding-top:1rem; }
.price-card { border:3px solid var(--ink); border-radius:28px; padding:clamp(1.5rem,4vw,2.4rem); background:white; box-shadow:8px 8px 0 var(--mint); }
.price { font-size:clamp(3rem,7vw,5.2rem); font-weight:900; line-height:1; margin:.7rem 0 .3rem; letter-spacing:-.05em; }
.enroll-grid { display:grid; grid-template-columns:1fr .9fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.option-group { display:grid; gap:.8rem; margin:1rem 0 1.5rem; }
.option { border:2px solid var(--ink); border-radius:14px; padding:1rem; display:grid; grid-template-columns:auto 1fr; gap:.8rem; align-items:start; cursor:pointer; }
.option:has(input:checked) { background:var(--mint); }
.option input { width:20px; height:20px; margin-top:.15rem; accent-color:var(--blue); }
.form-grid { display:grid; gap:1rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
label { font-weight:800; }
input, select, textarea { width:100%; margin-top:.35rem; border:2px solid var(--ink); border-radius:12px; padding:.85rem .9rem; background:white; color:var(--ink); min-height:48px; }
textarea { min-height:130px; resize:vertical; }
.form-status { margin-top:1rem; border-radius:14px; padding:1rem; background:var(--mint); font-weight:700; }
.faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(2rem,6vw,5rem); }
.kicker-list { list-style:none; padding:0; }
.kicker-list li { border-top:1px solid var(--line); padding:.9rem 0; font-weight:700; }
.route-links { display:flex; flex-wrap:wrap; gap:.55rem; }
.route-links a { background:var(--cream); border-radius:999px; padding:.45rem .75rem; text-decoration:none; font-size:.88rem; font-weight:700; }
.route-links a:hover { background:var(--mint); }
@media (max-width: 900px) {
  .nav-toggle { display:block; }
  .site-nav { display:none; position:absolute; left:0; right:0; top:84px; background:var(--paper); padding:1rem 1.25rem 1.4rem; border-bottom:2px solid var(--ink); flex-direction:column; align-items:stretch; }
  .site-nav[data-open="true"] { display:flex; }
  .site-nav a { padding:.9rem 1rem; }
  .site-nav .nav-cta { margin-left:0; text-align:center; }
  .hero-grid, .grid-2, .instructor-mini, .cta-panel, .profile-grid, .enroll-grid, .faq-grid { grid-template-columns:1fr; }
  .hero-grid { min-height:auto; padding:4rem 0; }
  .hero-art { max-width:680px; margin:auto; }
  .cards, .grid-3 { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > div:first-child { grid-column:1 / -1; }
  .profile-grid img { position:static; max-width:520px; }
}
@media (max-width: 640px) {
  .nav-wrap { gap:.6rem; padding-left:.75rem; padding-right:.75rem; }
  .brand { width:185px; }
  .nav-wrap { min-height:74px; }
  .site-nav { top:74px; }
  h1 { font-size:clamp(2.8rem, 14vw, 4.5rem); }
  h2 { font-size:clamp(2.15rem, 10vw, 3.2rem); }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .stat-grid { grid-template-columns:1fr; padding:.75rem 0; }
  .stat { border-right:0; border-bottom:1px solid rgba(255,255,255,.35); }
  .stat:last-child { border-bottom:0; }
  .cards, .grid-3, .principles { grid-template-columns:1fr; }
  .stepper { grid-template-columns:1fr; }
  .step-list { display:grid; grid-template-columns:1fr; }
  .lesson-grid, .form-row { grid-template-columns:1fr; }
  .accordion-button { grid-template-columns:46px 1fr 30px; gap:.55rem; }
  .accordion-panel { padding-left:46px; }
  .timeline-item { grid-template-columns:58px 1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid > div:first-child { grid-column:auto; }
  .section { padding:3.7rem 0; }
}
@media (max-width: 360px) {
  .brand { width:165px; }
  .nav-toggle { padding:.55rem .62rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Preserve the workbook-led learning identity; make room for the actual offer. */
h1{font-size:clamp(3rem,4.9vw,5.2rem);line-height:1.07;max-width:15ch;letter-spacing:-.045em}.hero-grid{min-height:600px;padding:58px 0;gap:64px}.hero-art{max-width:520px}.page-hero h1{max-width:17ch}.page-hero .shell{padding-top:54px;padding-bottom:44px}@media(max-width:900px){.hero-grid{min-height:0;padding:42px 0;gap:32px}.hero h1{max-width:20ch}.hero-art{max-width:440px}}@media(max-width:560px){h1{font-size:2.9rem;line-height:1.08}.hero-grid{padding:32px 0}.hero-art{max-width:340px}}
