:root{
  --ink:#0a2033;
  --ink-2:#16324a;
  --muted:#5f7285;
  --paper:#fbfcfd;
  --white:#ffffff;
  --line:#d8e3eb;
  --line-2:#e9eff4;
  --teal:#0d8f8a;
  --teal-2:#dff4f1;
  --blue:#17658b;
  --blue-2:#e9f3f8;
  --terracotta:#b95d45;
  --terracotta-2:#f6e7e1;
  --gold:#b78323;
  --gold-2:#f6efd9;
  --lav:#62558a;
  --lav-2:#eeebf6;
  --sage:#4d755f;
  --sage-2:#e6efe9;
  --shadow:0 18px 45px rgba(13,36,54,.09);
  --shadow-soft:0 10px 28px rgba(13,36,54,.07);
  --radius:22px;
  --radius-sm:14px;
  --max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.58;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.narrow{width:min(860px,calc(100% - 40px));margin:0 auto}
.micro{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.eyebrow,.kicker{display:flex;align-items:center;gap:10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--teal)}
.eyebrow:before,.kicker:before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
h1,h2,h3,h4{margin:0;color:var(--ink);letter-spacing:-.035em;line-height:1.08}
h1{font-size:clamp(2.8rem,5.8vw,5.4rem);font-weight:850}
h2{font-size:clamp(2rem,4.2vw,4rem);font-weight:820}
h3{font-size:1.35rem;font-weight:790}
p{margin:0 0 1rem}.lede{font-size:clamp(1.08rem,1.5vw,1.35rem);color:var(--muted);max-width:820px}.small{font-size:.88rem;color:var(--muted)}
.citation a{font-size:.67em;vertical-align:super;color:var(--blue);font-weight:800;margin-left:1px}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(251,252,253,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-2)}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;min-width:218px}.brand img{width:44px;height:44px}.brand-lockup{display:flex;flex-direction:column;line-height:1}.brand-word{font-size:1.3rem;font-weight:850;letter-spacing:-.045em}.brand-word span{color:var(--blue)}.brand-credit{font-size:.64rem;color:#6d7f90;margin-top:6px;letter-spacing:.015em}.desktop-nav{display:flex;align-items:center;gap:8px}.desktop-nav>a{padding:10px 12px;border-radius:12px;font-size:.93rem;font-weight:720;color:#2f475c}.desktop-nav>a:hover,.desktop-nav>a.active{background:#f0f4f7;color:var(--ink)}.desktop-nav .nav-cta{background:var(--ink);color:white!important;padding:12px 17px}.menu-btn{display:none;border:1px solid var(--line);background:white;border-radius:12px;padding:9px 12px}.mobile-nav{display:none}

/* hero */
.hero{position:relative;overflow:hidden;background:
 radial-gradient(circle at 80% 10%,rgba(13,143,138,.13),transparent 34%),
 linear-gradient(180deg,#fff 0%,#f8fbfc 100%);border-bottom:1px solid var(--line-2)}
.hero:after{content:"";position:absolute;right:-100px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:rgba(183,131,35,.07);filter:blur(2px)}
.hero-grid{display:grid;grid-template-columns:1.02fr .92fr;gap:48px;align-items:center;padding:54px 0 44px}.hero-copy h1{margin:14px 0 18px;max-width:780px}.hero-copy h1 span{color:var(--blue)}.hero-lead{font-size:clamp(1.02rem,1.35vw,1.18rem);color:#445d70;max-width:690px;line-height:1.55}.byline{margin:16px 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.78rem;color:#617487}.byline b{color:var(--ink)}.byline a{color:var(--teal);font-weight:760}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:13px;border:1px solid var(--line);background:white;color:var(--ink);font-weight:780;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.btn-primary{background:var(--ink);border-color:var(--ink);color:white}.btn-teal{background:var(--teal);border-color:var(--teal);color:white}.btn-secondary{background:white}.hero-visual{position:relative}.hero-figure{margin:0}.hero-photo{border-radius:26px;overflow:hidden;box-shadow:0 24px 56px rgba(11,31,49,.14);aspect-ratio:1.42/1;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,25,40,.22))}.image-credit{font-size:.56rem;color:#92a0ac;margin-top:8px;text-align:right;line-height:1.25}.image-credit a{text-decoration:underline;text-underline-offset:2px}.floating-card{position:absolute;left:-18px;top:20px;width:230px;background:rgba(255,255,255,.97);border:1px solid rgba(216,227,235,.95);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.floating-card strong{display:block;font-size:.92rem;line-height:1.35}.floating-card span{display:block;color:var(--muted);font-size:.83rem;margin-top:8px}.hero-index{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.hero-index span{font-size:.82rem;font-weight:760;color:#496074}.hero-index i{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--teal);margin-right:8px}

/* dual modes */
.mode-section{padding:0;background:#fff;border-bottom:1px solid var(--line-2)}.mode-grid{display:grid;grid-template-columns:1fr 1fr}.mode-card{min-height:300px;padding:42px 44px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.mode-card:first-child{background:var(--gold-2)}.mode-card:last-child{background:var(--teal-2)}.mode-card:after{content:"";position:absolute;right:-54px;top:-54px;width:180px;height:180px;border:1px solid rgba(10,32,51,.1);border-radius:50%}.mode-num{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:850}.mode-card h2{font-size:clamp(2.6rem,5vw,5rem);margin:14px 0 18px}.mode-card p{font-size:1.1rem;color:#405769;max-width:580px}.mode-card .btn{align-self:flex-start;margin-top:28px}.mode-card.learn .btn{background:var(--gold);border-color:var(--gold);color:white}.mode-card.build .btn{background:var(--teal);border-color:var(--teal);color:white}

/* editorial blocks */
.section{padding:86px 0}.section.compact{padding:56px 0}.section.dark{background:var(--ink);color:#eaf2f6}.section.dark h2,.section.dark h3{color:white}.section.dark .lede{color:#c5d2dc}.section.tint-blue{background:var(--blue-2)}.section.tint-sage{background:var(--sage-2)}.section.tint-lav{background:var(--lav-2)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:34px}.section-head .text{max-width:820px}.section-head h2{margin:9px 0 12px}.section-rule{width:100%;height:1px;background:var(--line);margin:30px 0}
.editorial-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.story-card{position:relative;border-radius:22px;padding:30px;border:1px solid var(--line);background:white;box-shadow:var(--shadow-soft);overflow:hidden}.story-card.big{min-height:430px;padding:40px;background:linear-gradient(160deg,#0b1f33 0%,#113b55 100%);color:white}.story-card.big h3{font-size:clamp(2.2rem,4vw,3.9rem);color:white;max-width:720px;margin:18px 0}.story-card.big p{color:#c8d7e1;max-width:680px;font-size:1.08rem}.story-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:var(--teal)}.story-card.big .story-tag{color:#7fe0d8}.story-stack{display:grid;gap:22px}.story-card.accent-terracotta{border-top:6px solid var(--terracotta)}.story-card.accent-gold{border-top:6px solid var(--gold)}.story-card.accent-lav{border-top:6px solid var(--lav)}.story-card h3{margin:10px 0 10px}.story-card p{color:var(--muted)}.story-card a.more{display:inline-flex;margin-top:8px;font-weight:800;color:var(--blue)}

.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{border:1px solid var(--line);background:white;border-radius:18px;padding:24px;min-height:230px}.feature-card .number{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:850}.feature-card .icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:18px}.feature-card:nth-child(4n+1) .icon{background:var(--teal-2);color:var(--teal)}.feature-card:nth-child(4n+2) .icon{background:var(--gold-2);color:var(--gold)}.feature-card:nth-child(4n+3) .icon{background:var(--terracotta-2);color:var(--terracotta)}.feature-card:nth-child(4n+4) .icon{background:var(--lav-2);color:var(--lav)}.feature-card h3{margin:10px 0}.feature-card p{font-size:.94rem;color:var(--muted)}

/* strategy / algorithms */
.algorithm{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:30px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;box-shadow:var(--shadow-soft)}.algorithm-step{padding:24px 20px;border-right:1px solid var(--line);position:relative}.algorithm-step:last-child{border-right:0}.algorithm-step .n{font-size:.68rem;font-weight:900;color:var(--teal);letter-spacing:.1em}.algorithm-step strong{display:block;margin:8px 0 6px}.algorithm-step span{font-size:.84rem;color:var(--muted)}.algorithm-step:not(:last-child):after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--ink);color:white;display:flex;align-items:center;justify-content:center;z-index:2;font-size:.8rem}
.playbook{display:grid;grid-template-columns:220px 1fr;border-top:1px solid var(--line);padding:26px 0;gap:28px}.playbook:last-child{border-bottom:1px solid var(--line)}.playbook-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850;color:var(--muted)}.playbook-body h3{margin-bottom:8px}.playbook-body p{color:var(--muted);max-width:840px}.playbook-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f0f4f7;font-size:.79rem;color:#40576b;font-weight:700}

/* learning page */
.page-hero{padding:48px 0 34px;background:linear-gradient(180deg,#fff 0%,#f7fafc 100%);border-bottom:1px solid var(--line-2)}.breadcrumbs{font-size:.78rem;color:#789;display:flex;gap:6px;margin-bottom:18px}.page-hero h1{font-size:clamp(2.5rem,5.4vw,4.6rem);max-width:860px;margin:10px 0 14px}.page-hero .lede{max-width:900px}
.lesson-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.lesson{border-radius:20px;padding:28px;border:1px solid var(--line);background:white;box-shadow:var(--shadow-soft);min-height:220px;position:relative;overflow:hidden}.lesson.big{grid-column:span 7;min-height:360px}.lesson.mid{grid-column:span 5}.lesson.half{grid-column:span 6}.lesson.third{grid-column:span 4}.lesson.gold{background:var(--gold-2)}.lesson.teal{background:var(--teal-2)}.lesson.terra{background:var(--terracotta-2)}.lesson.lav{background:var(--lav-2)}.lesson.sage{background:var(--sage-2)}.lesson .lesson-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850;color:var(--muted)}.lesson h3{font-size:clamp(1.35rem,2.2vw,2.1rem);margin:10px 0}.lesson p{color:#43586a}.lesson .lesson-cta{position:absolute;left:28px;bottom:24px;font-weight:800;color:var(--ink)}
.rule-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.rule{padding:26px;border-radius:18px;color:white;min-height:190px}.rule:nth-child(1){background:var(--terracotta)}.rule:nth-child(2){background:var(--lav)}.rule:nth-child(3){background:var(--sage)}.rule .n{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:850;opacity:.8}.rule strong{display:block;font-size:1.45rem;line-height:1.2;margin:14px 0}.rule span{font-size:.92rem;opacity:.9}

/* builder */
.builder-privacy{font-size:.75rem;color:#6b7d8d;padding:10px 14px;border-radius:11px;background:#edf7f6;margin-bottom:16px;border:1px solid #dceeea}
.builder-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.builder-main{min-width:0}.builder-aside{position:sticky;top:102px}.builder-panel{border:1px solid var(--line);background:white;border-radius:22px;padding:20px;box-shadow:var(--shadow-soft)}.builder-panel h3{font-size:1.25rem;margin:6px 0 10px}.builder-progress{height:8px;background:#e8eef2;border-radius:999px;overflow:hidden}.builder-progress>div{height:100%;width:14%;background:linear-gradient(90deg,var(--teal),var(--blue));transition:.3s}.builder-meta{display:flex;justify-content:space-between;margin:12px 0 26px}.builder-step{display:none}.builder-step.active{display:block;animation:fade .22s ease}.builder-step h2{font-size:clamp(1.95rem,3.8vw,3.35rem);margin:8px 0 12px}.step-lead{font-size:1rem;color:var(--muted);max-width:860px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:26px}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{display:block;cursor:pointer}.choice input{position:absolute;opacity:0;pointer-events:none}.choice-box{display:flex;flex-direction:column;min-height:190px;height:100%;padding:18px 18px 16px;border:1px solid var(--line);border-radius:17px;background:white;transition:.2s;position:relative;overflow:hidden}.choice-box:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:#d9e3ea;transition:.2s}.choice:hover .choice-box{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.choice input:checked+.choice-box{border-color:var(--teal);background:#f4fbfa;box-shadow:0 0 0 3px rgba(13,143,138,.08)}.choice input:checked+.choice-box:before{background:var(--teal)}.choice-guide{display:inline-flex;align-items:center;gap:6px;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:#678091;font-weight:820;background:#f4f7f9;border-radius:999px;padding:6px 10px;margin-bottom:12px;align-self:flex-start}.choice-head{display:flex;align-items:flex-start;gap:12px}.choice-icon{width:36px;height:36px;border-radius:12px;background:var(--blue-2);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:900;flex:0 0 36px;box-shadow:inset 0 0 0 1px rgba(23,101,139,.08)}.choice-title{display:block;font-weight:820;font-size:1.01rem;line-height:1.24;padding-right:4px}.choice-sub{font-size:.89rem;color:var(--muted);margin-top:10px;line-height:1.45}.choice-help{font-size:.76rem;color:#80919e;margin-top:auto;padding-top:12px;line-height:1.38;border-top:1px dashed var(--line-2)}.choice-example{font-size:.77rem;color:#6d8292;margin-top:8px;padding-top:0}.choice-check{position:absolute;right:15px;top:14px;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:white;background:white}.choice input:checked+.choice-box .choice-check{background:var(--teal);border-color:var(--teal)}
.feynman-box{display:grid;grid-template-columns:46px 1fr;gap:14px;margin-top:24px;padding:18px 20px;border-radius:16px;background:var(--ink);color:white}.feynman-box .icon{width:38px;height:38px;border-radius:12px;background:#123f58;color:#7ce1d7;display:flex;align-items:center;justify-content:center;font-weight:850}.feynman-box strong{display:block;margin-bottom:4px}.feynman-box span{font-size:.9rem;color:#c7d5df}.feynman-box .citation a{color:#7ce1d7}
.builder-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.builder-nav button:disabled{opacity:.45;cursor:not-allowed}.result-placeholder{color:#728292;font-size:.9rem;padding:16px 0}.result-chip{display:inline-flex;border-radius:999px;padding:6px 9px;margin:0 6px 7px 0;background:var(--blue-2);color:var(--blue);font-size:.72rem;font-weight:800}.result-block{margin-top:14px;padding-top:13px;border-top:1px solid var(--line-2)}.result-block strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#657789}.result-block p{font-size:.92rem;color:#2f475b;margin-top:6px}.redflag{display:flex;gap:8px;padding:8px 10px;border-radius:10px;background:var(--terracotta-2);color:#7e3d2d;font-size:.82rem;margin-top:8px}.summary-hero{padding:26px;border-radius:18px;background:linear-gradient(145deg,var(--ink),#17475f);color:white}.summary-hero h3{font-size:2rem;color:white}.summary-hero p{color:#d2e0e8;margin-top:10px}.matrix{margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}.matrix-row{display:grid;grid-template-columns:210px 1fr;gap:20px;padding:15px 18px;border-bottom:1px solid var(--line-2)}.matrix-row:last-child{border-bottom:0}.matrix-row strong{font-size:.82rem;color:#526779}.matrix-row span{font-size:.92rem;color:#1e394e}
.builder-insight{margin-top:16px;border-radius:14px;padding:16px;background:var(--gold-2);font-size:.86rem;color:#5f4b1f}.builder-insight strong{display:block;color:#6f5319;margin-bottom:4px}

/* prose / methods */
.content-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:46px}.toc{position:relative}.toc-box{position:sticky;top:104px;padding:18px;border:1px solid var(--line);border-radius:16px;background:white}.toc-box p{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--muted)}.toc-box a{display:block;padding:7px 0;font-size:.88rem;color:#496074}.prose{min-width:0}.prose h2{font-size:clamp(1.8rem,3.4vw,3rem);margin:46px 0 16px}.prose h2:first-child{margin-top:0}.prose h3{margin:24px 0 10px}.prose p{color:#334d61}.concept{padding:18px 20px;border-radius:15px;background:var(--blue-2);border-left:5px solid var(--blue);margin:20px 0}.concept.warning{background:var(--gold-2);border-color:var(--gold)}.concept.danger{background:var(--terracotta-2);border-color:var(--terracotta)}.concept strong{color:var(--ink)}.check{padding-left:0;list-style:none}.check li{position:relative;padding-left:24px;margin:8px 0;color:#334d61}.check li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-soft)}.card .number{font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--muted)}.card h3{margin:9px 0 10px}.card p{color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:white}.clean-table{width:100%;border-collapse:collapse;min-width:740px}.clean-table th,.clean-table td{padding:14px 16px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}.clean-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:#617486;background:#f8fafb}.clean-table td{font-size:.9rem;color:#30495d}.codebox{background:#0a1e2e;color:#d8e5ec;padding:20px;border-radius:15px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;white-space:pre-wrap;overflow:auto}.prompt-card{border:1px solid var(--line);border-radius:18px;padding:22px;background:white;margin:16px 0}.prompt-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.copy-btn{border:1px solid var(--line);background:#f7fafb;border-radius:10px;padding:8px 10px;font-size:.8rem;font-weight:780}.copy-btn.done{background:var(--teal-2);color:var(--teal)}

/* footer */
.footer{background:#081c2e;color:#d7e2e9;padding:54px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}.footer-brand{font-size:1.6rem;font-weight:850}.footer-brand span{color:#64d4cb}.footer p{color:#aebfca;max-width:680px}.footer-author{font-size:.86rem;margin-top:18px}.footer-author strong{color:white}.orcid-link{display:inline-flex;align-items:center;gap:7px;color:#b6e9e4;font-weight:720;font-size:.82rem}.orcid-dot{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#a6ce39;color:white;font-weight:900;font-size:.7rem}.footer-nav{display:grid;align-content:start;gap:10px}.footer-nav a{color:#dbe7ed;font-size:.9rem}.license-note{margin-top:34px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:.74rem;color:#7f94a2}

@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1060px){.desktop-nav{display:none}.menu-btn{display:block}.mobile-nav.open{display:grid;position:absolute;left:0;right:0;top:82px;background:white;border-bottom:1px solid var(--line);padding:12px 20px 18px;gap:4px}.mobile-nav a{padding:12px;border-radius:10px;font-weight:740}.hero-grid{grid-template-columns:1fr;gap:34px;padding-top:42px}.hero-copy h1{font-size:clamp(2.8rem,9vw,4.8rem)}.hero-visual{max-width:680px}.floating-card{left:18px}.mode-grid{grid-template-columns:1fr}.editorial-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,1fr)}.builder-shell{grid-template-columns:1fr}.builder-aside{position:relative;top:0}.choice-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.content-layout{grid-template-columns:1fr}.toc{display:none}.algorithm{grid-template-columns:1fr}.algorithm-step{border-right:0;border-bottom:1px solid var(--line)}.algorithm-step:last-child{border-bottom:0}.algorithm-step:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-13px;transform:translateX(-50%)}.lesson.big,.lesson.mid,.lesson.half,.lesson.third{grid-column:span 12}.rule-strip{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
@media(max-width:720px){.container,.narrow{width:min(100% - 28px,var(--max))}.header-inner{height:70px}.brand{min-width:0}.brand img{width:40px;height:40px}.brand-credit{display:none}.mobile-nav.open{top:70px}.hero-grid{padding:34px 0 38px}.hero-copy h1{font-size:clamp(2.4rem,13vw,4rem)}.hero-lead{font-size:1rem}.hero-photo{border-radius:20px}.floating-card{position:relative;left:auto;top:auto;width:auto;margin-top:12px}.mode-card{padding:32px 22px;min-height:280px}.section{padding:56px 0}.section-head{display:block}.feature-grid,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.lesson-grid{gap:14px}.lesson{padding:24px}.choice-grid,.choice-grid.three{grid-template-columns:1fr}.choice-box{min-height:150px}.builder-nav{position:sticky;bottom:0;background:rgba(251,252,253,.94);backdrop-filter:blur(10px);padding:12px 0;z-index:9}.matrix-row{grid-template-columns:1fr;gap:5px}.playbook{grid-template-columns:1fr;gap:8px}.image-credit{text-align:left}.page-hero{padding:36px 0 30px}.page-hero h1{font-size:clamp(2.2rem,12vw,3.6rem)}}
.refs{padding-left:1.4rem}.refs li{margin:0 0 16px;padding-left:7px;color:#334d61}.refs .doi{color:var(--blue);word-break:break-word}.source-box{margin-top:34px;padding:20px;border-radius:16px;background:#f6f8fa;border:1px solid var(--line)}

/* v5 builder refinements */
.builder-hero h1{max-width:980px}
.route-grid .route-card{min-height:270px}
.route-card{background:linear-gradient(180deg,#fff,#f8fbfc)}
.route-card.review{background:linear-gradient(180deg,#fff,#fbf8ef)}
.route-card.audit{background:linear-gradient(180deg,#fff,#faf6f4)}
.route-card.review:before{background:var(--gold)}
.route-card.audit:before{background:var(--terracotta)}
.route-card.review .choice-icon{background:var(--gold-2);color:var(--gold)}
.route-card.audit .choice-icon{background:var(--terracotta-2);color:var(--terracotta)}
.builder-step.needs-choice{animation:nudge .32s ease 2}
.builder-step.needs-choice .choice-box{box-shadow:0 0 0 2px rgba(185,93,69,.16)}
.output-actions{align-items:stretch}
.output-actions .btn{min-height:48px}
@keyframes nudge{0%,100%{transform:translateX(0)}35%{transform:translateX(-5px)}70%{transform:translateX(5px)}}
@media(max-width:1060px){.route-grid{grid-template-columns:1fr 1fr}.route-grid .choice:last-child{grid-column:1/-1}.route-grid .route-card{min-height:230px}}
@media(max-width:720px){.route-grid{grid-template-columns:1fr}.route-grid .choice:last-child{grid-column:auto}.route-grid .route-card{min-height:190px}.choice-guide{font-size:.61rem;padding:5px 8px;margin-bottom:10px}.choice-head{gap:10px}.choice-icon{width:34px;height:34px;flex-basis:34px}.choice-title{font-size:.98rem}.choice-sub{font-size:.85rem}.choice-help{font-size:.74rem}.builder-step h2{font-size:clamp(2rem,10vw,3rem)}.builder-shell{gap:18px}.builder-panel{padding:16px}.output-actions{display:grid;grid-template-columns:1fr}.output-actions .btn{width:100%}}
