/* Shared public design system. Account services remain a separate, closed surface. */
:root {
  --paper:#faf9f5; --ink:#163b33; --muted:#52655e; --gold:#94732e;
  --line:#dce2da; --surface:#fffefa; --soft:#eef2eb; --tint:#e3ebe1;
  --shadow:0 18px 48px #163b330b; --header:#fcfbf7f5; --accent:#826222;
  --radius:18px;
}
:root[data-theme=dark] {
  color-scheme:dark; --paper:#0b1918; --ink:#edf0e4; --muted:#b2c3bb;
  --gold:#dfc280; --line:#304841; --surface:#122522; --soft:#10211f;
  --tint:#1d332c; --shadow:0 18px 48px #0003; --header:#0b1c19f5; --accent:#e3c987;
}
body {font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
main {max-width:1440px}
h1,h2,h3,.display {text-wrap:balance;font-weight:400}
p {text-wrap:pretty}
header {position:sticky;top:0;z-index:50;min-height:84px;padding:12px max(4vw,24px);flex-wrap:nowrap;background:var(--header);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
header .brand {max-width:198px}
header nav {margin-left:auto;gap:24px}
header .nav-group summary,header nav>a {font-size:13px;font-weight:600}
.nav-group summary:after {color:var(--accent)}
.nav-group[open] summary {color:var(--accent)}
.nav-panel {background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px}
.nav-panel a {border-radius:8px;min-height:44px}
.nav-panel a:hover {background:var(--soft)}
.theme-toggle {flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;min-width:84px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:30px;background:var(--surface);color:var(--ink);font:600 12px system-ui;cursor:pointer}
.theme-toggle svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.theme-toggle:hover {border-color:var(--accent)}
.theme-toggle[hidden],.back-to-top[hidden] {display:none}
.back-to-top {position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 17px;border-radius:30px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 24px #0002;text-decoration:none;font:600 12px system-ui}
.back-to-top svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
:focus-visible {outline:3px solid var(--accent);outline-offset:5px}
#top:focus {outline:0}
[id],.chapter,.guide [id],.chapter [id] {scroll-margin-top:120px}
.skip {z-index:90;color:#163b33}
.eyebrow {color:var(--accent);font-size:11px;letter-spacing:.15em;margin-bottom:18px}
.lead {color:var(--muted)}
h1 em {color:var(--accent)}
.button {min-height:48px;padding:13px 22px;border-radius:9px;line-height:1.5;transition:background .18s,border-color .18s,box-shadow .18s}
.primary {background:var(--ink);color:var(--paper)}
.primary:hover {background:var(--accent);color:var(--paper);border-color:var(--accent)}
.secondary {color:var(--ink);border-color:var(--line);background:var(--surface)}
.secondary:hover {background:var(--soft)}
.text-link {font-size:14px;text-decoration-thickness:1px;text-underline-offset:5px}
.story-hero {min-height:710px}
.story-hero-content {padding-top:76px;padding-bottom:76px}
.story-hero h1 {font-weight:400;font-size:clamp(64px,6.8vw,96px);letter-spacing:-.045em}
.story-hero .lead {font-size:18px;line-height:1.8;max-width:520px}
.hero-scene {border-radius:16px;padding:30px;background:#0a2925d9;box-shadow:0 22px 65px #0003}
.hero-scenes {bottom:120px}
.public-status {background:var(--soft);border-color:var(--line);padding-block:20px}
.public-status span {color:var(--muted)}
.public-status strong {color:var(--ink)}
.journey-nav {background:var(--surface);padding-block:22px;gap:10px 24px}
.journey-nav a {padding:7px 0;line-height:1.6;color:var(--muted)}
.journey-nav a:hover {color:var(--ink)}
.chapter {padding:76px clamp(24px,6vw,86px)}
.chapter-heading {grid-template-columns:84px minmax(0,820px);gap:30px;margin-bottom:48px}
.chapter-number {font-size:78px;color:var(--accent);opacity:.7}
.chapter h2 {font-size:clamp(36px,3.7vw,54px);font-weight:400}
.chapter-heading p {font-size:18px;line-height:1.75;max-width:680px}
.display {font-size:clamp(28px,2.8vw,39px);font-weight:400}
.editorial-grid {gap:clamp(28px,5vw,72px);align-items:center}
.editorial-grid p {font-size:16px;line-height:1.85}
.soft {background:var(--soft)}
.story-photo {margin:30px 0 0;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}
.story-photo img {display:block;width:100%;height:235px;object-fit:cover}
.shared-study img {height:clamp(250px,30vw,380px)}
.story-photo figcaption {padding:11px 18px;color:var(--muted);background:var(--surface);font-size:11px;letter-spacing:.035em}
.stack-cards {gap:18px}
.stack-cards article {padding:26px 28px 26px 65px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow)}
.stack-cards .small-number {color:var(--accent);top:27px;left:25px}
.story h4 {font-size:18px;font-weight:600;line-height:1.4}
.vocabulary-card {background:var(--surface);border-color:var(--line);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow)}
.vocabulary-card blockquote {font-size:30px;line-height:1.5}
.vocabulary-card mark {background:var(--tint);color:var(--ink)}
.learning-steps li,.term-cloud span {border-color:var(--line)}
.term-cloud span {background:var(--soft);padding:6px 12px;font-size:12px}
.resource-grid {gap:24px}
.resource-card {padding:30px;border-radius:var(--radius);background:var(--surface);border-color:var(--line);box-shadow:var(--shadow);position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}
.resource-card:hover {transform:translateY(-4px);border-color:var(--accent);box-shadow:0 22px 50px #163b3314}
.resource-card h3,.toolbox .resource-card h3 {font-size:28px;line-height:1.3;font-weight:400}
.resource-card p {font-size:15px;line-height:1.8}
.resource-card .text-link {padding-top:22px;color:var(--accent)}
.resource-card .eyebrow {font-size:10px;line-height:1.7}
.resource-grid.four {grid-template-columns:repeat(2,minmax(0,1fr))}
.resource-grid.four .resource-card {padding:28px 30px}
.resource-grid.four h4 {font:26px/1.3 Georgia,serif;max-width:360px}
.dark {background:linear-gradient(135deg,#102a27,#0c1b28);--ink:#f1f1e8;--muted:#bacdc6;--line:#3b514b;color:var(--ink)}
.dark .chapter-number {color:#dfc280}
.dark p,.dark .learning-steps span {color:var(--muted)}
.reasoning-flow {gap:16px}
.reasoning-flow li {border-radius:14px;background:#ffffff06;padding:27px;border-color:#39534b}
.reasoning-flow li.highlight {background:#dac17c14;border-color:#c7aa60}
.reasoning-flow strong {font-size:27px}
.reasoning-arc .three-columns {gap:30px}
.reasoning-arc article {border-left:1px solid #546554;padding-left:24px}
.knowledge-chain {border:0;border-radius:0;gap:16px;counter-reset:chain}
.knowledge-chain li {border:1px solid var(--line)!important;border-radius:14px;padding:26px;background:var(--surface);box-shadow:var(--shadow)}
.knowledge-chain span {color:var(--accent)}
.source-card {background:var(--tint);border-radius:0 16px 16px 16px;padding:34px;border-top-color:var(--accent)}
.judgment-card {background:var(--surface);border-color:var(--line);border-radius:22px;padding:48px;box-shadow:var(--shadow)}
.closing-line {color:var(--ink)}
.rights-story {background:var(--tint);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rights-story h2 {max-width:850px}
.case-invitation {position:relative;background:var(--surface)}
.case-invitation .editorial-grid>div:first-child {border-left:3px solid var(--accent);padding-left:28px}
.toolbox .resource-grid {counter-reset:tools}
.toolbox .resource-card {border-top:1px solid var(--line)}
.toolbox .resource-card:before {counter-increment:tools;content:'0' counter(tools);display:block;font:italic 32px Georgia,serif;color:var(--accent);margin-bottom:28px}
.faq-list {max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.faq-list details,.faq-list details:last-child {border:1px solid var(--line);border-radius:12px;padding:23px;background:var(--surface)}
.faq-list summary {font-size:15px;line-height:1.6}
.thesis {background:radial-gradient(ellipse at top,#264d3d,#08251e 70%)}
.thesis h2 {font-size:clamp(42px,5vw,68px)}
.launch-card {border-color:var(--line);background:var(--surface);border-radius:18px;padding:38px;box-shadow:var(--shadow)}
.status {background:var(--tint);color:var(--ink)}
.other-universities a {background:var(--surface);border-radius:12px}
.section {padding:66px clamp(24px,6vw,86px)}
.section>p {max-width:850px}
.section h2 {font-size:clamp(29px,3vw,39px)}
.intro {position:relative;isolation:isolate;max-width:none;min-height:480px;padding:80px clamp(24px,6vw,86px);overflow:hidden;background:linear-gradient(125deg,var(--soft),var(--paper));border-bottom:1px solid var(--line)}
.intro:after {content:'';position:absolute;z-index:-1;right:-160px;top:-200px;width:650px;height:650px;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 65px var(--paper),0 0 0 66px var(--line),0 0 0 135px var(--paper),0 0 0 136px var(--line);opacity:.5;pointer-events:none}
.intro h1 {max-width:880px;font-size:clamp(44px,5.5vw,76px)}
.intro p {max-width:730px}
.member-strip {background:var(--tint);border-radius:0 16px 16px 0;border-color:var(--accent);margin-top:30px;line-height:1.8}
.member-strip p+p {margin-top:14px}
.guide,.policy {max-width:1040px;padding:72px clamp(24px,5vw,72px) 90px}
.guide h1,.policy h1 {font-size:clamp(38px,4.3vw,58px);line-height:1.14}
.guide h2,.policy h2 {font:400 32px/1.3 Georgia,serif;margin-top:52px;letter-spacing:-.02em}
.guide h3,.policy h3 {font:400 25px/1.4 Georgia,serif;margin-top:32px}
.guide p,.guide li,.policy p,.policy li {font-size:17px;line-height:1.9}
.guide .guide-toc,.guide .callout,.guide .article-availability,.policy .availability {background:var(--soft);border-color:var(--line);border-radius:12px;padding:24px 28px}
.guide .guide-toc a {font-size:15px;padding:5px 0}
.guide .callout,.guide .article-availability,.policy .availability {border-left:3px solid var(--accent)}
.guide th {background:var(--tint)}
.guide blockquote {color:var(--ink);border-color:var(--accent)}
footer {padding:60px max(6vw,24px) 30px;grid-template-columns:1fr 1.15fr;gap:38px;background:#071f1b}
footer strong {font:28px Georgia,serif}
footer p {font-size:13px;line-height:1.8;max-width:340px}
footer nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px}
footer nav a {font-size:12px;text-decoration:none;padding:5px 0;color:#c9d5cb}
footer nav a:hover {color:#efd58e;text-decoration:underline}
footer .copyright {max-width:none;padding-right:100px}
@media(max-width:1050px) {
 header nav {gap:14px} header .brand {max-width:170px} header {gap:16px}
 .theme-toggle {min-width:70px}.nav-group summary {font-size:12px}
 .resource-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:761px) and (max-width:1050px) {
 header {display:grid;grid-template-columns:1fr auto;gap:4px 20px}
 header .brand {grid-column:1;grid-row:1}
 .theme-toggle {grid-column:2;grid-row:1}
 header nav {grid-column:1/-1;grid-row:2;justify-content:center;gap:30px;margin:0}
 [id],.chapter,.guide [id],.chapter [id] {scroll-margin-top:145px}
}
@media(max-width:760px) {
 header {display:grid;grid-template-columns:1fr auto;padding:12px 20px;gap:8px;min-height:100px}
 header .brand {max-width:156px;grid-column:1;grid-row:1}
 .theme-toggle {grid-column:2;grid-row:1;min-height:40px}
 header nav {grid-column:1/-1;grid-row:2;justify-content:space-between;gap:5px;width:100%;margin:0}
 header .nav-group summary,header nav>a {font-size:11px;padding:12px 0;min-height:44px}
 .nav-group summary:after {margin-left:4px}
 .nav-panel {position:fixed;top:122px;left:16px;right:16px;min-width:0;max-height:65vh;overflow:auto}
 .nav-panel a {font-size:15px}
 [id],.chapter,.guide [id],.chapter [id] {scroll-margin-top:140px}
 .story-hero {min-height:0}.story-hero-content {padding:52px 24px 30px;width:100%}
 .story-hero h1 {font-size:60px}.story-hero .lead {font-size:17px}
 .hero-scenes {bottom:auto;margin-top:10px;margin-bottom:80px}.hero-scene {border-radius:14px}
 .public-status {gap:14px;padding:20px 24px;flex-wrap:wrap}.public-status a {width:100%}
 .journey-nav {padding:18px 24px;gap:7px 18px}
 .chapter {padding:52px 24px}.chapter-heading {grid-template-columns:44px 1fr;gap:16px;margin-bottom:32px}
 .chapter-number {font-size:46px}.chapter h2 {font-size:34px}.chapter-heading p {font-size:16px}
 .editorial-grid {gap:30px}.story-photo img {height:205px}
 .resource-grid,.resource-grid.four,.three-columns {grid-template-columns:1fr}
 .resource-card,.resource-grid.four .resource-card {padding:28px}
 .vocabulary-card {padding:25px}.vocabulary-card blockquote {font-size:26px}
 .reasoning-flow {gap:12px}.reasoning-flow li {padding:20px}.reasoning-flow strong {font-size:23px}
 .knowledge-chain {gap:12px}.knowledge-chain li {padding:20px}.knowledge-chain strong {font-size:21px}
 .judgment-card {padding:30px 22px}.faq-list {grid-template-columns:1fr}
 .section {padding:48px 24px}.intro {padding:54px 24px;min-height:0}.intro h1 {font-size:46px}
 .intro:after {opacity:.25}.guide,.policy {padding:48px 24px 70px}
 .guide h1,.policy h1 {font-size:38px}.guide h2,.policy h2 {font-size:29px}
 .guide p,.guide li,.policy p,.policy li {font-size:16px;line-height:1.85}
 footer {grid-template-columns:1fr;padding:45px 24px 28px}footer nav {grid-template-columns:1fr 1fr}
 .back-to-top {right:16px;bottom:18px;padding:12px;min-width:46px}.back-to-top span {display:none}
}
@media(max-width:380px) {
 .nav-panel {top:174px}
 [id],.chapter,.guide [id],.chapter [id] {scroll-margin-top:195px}
}
@media(prefers-reduced-motion:reduce) {*,*:before,*:after {transition:none!important;scroll-behavior:auto!important}.resource-card:hover {transform:none}}
