/* Preserve the editorial palette, type and artwork; simplify hierarchy and density. */
.student{max-width:1060px;padding-top:22px;padding-bottom:70px}.student-heading{margin:22px 0 30px}.student h1{font-size:clamp(34px,4.8vw,56px);line-height:1.12;font-weight:400;letter-spacing:-.025em;margin:12px 0 16px}.student h2{font-size:clamp(24px,3vw,32px);font-weight:400;line-height:1.2;margin:0 0 16px}.student p{font-size:17px;line-height:1.65;color:var(--ink2);max-width:65ch}.student .eyebrow{color:var(--ink3)}.student .pill{margin:8px 8px 8px 0}.student-next{display:grid;grid-template-columns:180px 1fr;gap:46px;padding:36px 44px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(110deg,color-mix(in srgb,var(--sage) 12%,var(--page)),var(--page));align-items:center;box-shadow:var(--shadow)}.student-next h2{margin:12px 0;font-size:36px}.student-next .pill{display:block;margin-top:16px;width:fit-content;min-width:150px}.student-cover{max-height:240px;overflow:hidden;border-radius:12px}.student-cover>img{width:100%;height:230px;object-fit:contain}.student-cover .cover,.student-cover .series-cover{width:100%;margin:0;max-height:240px}.student-time{font:12px var(--ui);color:var(--ink3);white-space:nowrap}.student-choices{margin-top:34px}.student-choices>h2{font:500 11px var(--ui);text-transform:uppercase;letter-spacing:.14em;color:var(--ink3);margin-bottom:14px}.student-intents{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.student-intents>button{display:flex;gap:18px;align-items:center;text-align:left;padding:18px 4px;border-bottom:1px solid var(--line);min-height:96px;width:100%;color:var(--ink)}.student-intents>button:hover{background:var(--paper2);border-radius:12px}.student-intents>button>svg{flex-shrink:0;color:var(--sage)}.student-intents>button>span:nth-child(2){flex:1}.student-intents strong{display:block;font:500 17px var(--ui);margin-bottom:8px}.student-intents small{display:block;font:13px/1.5 var(--ui);color:var(--ink2)}.student-passive{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font:12px/1.7 var(--ui);color:var(--ink3)}.student-passive progress{height:6px;width:100px;accent-color:var(--sage)}.student-local{font:11px/1.6 var(--ui)!important;margin-top:40px}.student-three ol{counter-reset:things;list-style:none;padding:0;display:grid;gap:12px}.student-three li{counter-increment:things;display:flex;align-items:flex-start;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font:18px/1.6 var(--body)}.student-three li:before{content:counter(things,decimal-leading-zero);font:13px var(--ui);padding:8px;color:var(--sage);background:var(--paper2);border-radius:10px;flex-shrink:0}.student-topics,.student-switch{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0}.student-topic-intro{display:flex;gap:36px;align-items:center}.student-topic-intro>div:last-child{flex:1}.student-topic-intro>.theme-illustration{width:150px;height:150px;object-fit:contain}.student-portrait{width:200px;flex-shrink:0}.student-portrait img,.student-portrait svg{width:100%;max-height:290px;object-fit:contain}.student-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none;padding:0;margin:24px 0 30px}.student-timeline li{position:relative;border-top:1px solid var(--line2);padding:20px 0 0}.student-timeline li:not(:last-child):after{content:'→';position:absolute;right:-19px;top:27px;color:var(--sage)}.student-timeline small{display:block;font:11px var(--ui);text-transform:uppercase;letter-spacing:.1em;margin-top:12px}.student-timeline p{font-size:17px}.student-timeline-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:var(--paper2);border-radius:16px}.student-timeline-icon img{width:30px;height:30px}.student-panel,.student-quote{padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--page);margin:20px 0;box-shadow:var(--shadow)}.student-panel>small{display:block;font:12px var(--ui);color:var(--ink3);margin:14px 0}.student-panel blockquote{font:400 30px/1.5 var(--disp);margin:24px 0}.student-meaning{font-size:21px!important}.student-quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.student-quote{margin:0;padding:22px}.student-quote blockquote{font:400 23px/1.4 var(--disp);margin:14px 0}.student-quote p{font-size:15px}.student-quote small{display:block;font:11px/1.6 var(--ui);color:var(--ink3)}.student-quote .pill{font-size:12px;background:transparent;padding-left:0;color:var(--clay)}.student-select{display:flex;align-items:center;gap:16px;font:13px var(--ui);margin:20px 0}.student-select select{padding:12px;max-width:100%}.student-deeper{border-top:1px solid var(--line);padding:16px 0;margin:14px 0}.student-deeper summary,.student-simple summary{cursor:pointer;min-height:44px;line-height:44px;font-family:var(--ui);font-size:14px}.student-simple{margin:10px 0;color:var(--ink2)}.student-simple summary{font-size:12px;color:var(--clay)}.student-simple p{font-size:16px;background:var(--paper2);border-radius:12px;padding:16px}.student-option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:14px;padding:18px;margin:12px 0;cursor:pointer;font-size:18px;line-height:1.5}.student-option:has(:checked){background:var(--paper2);border-color:var(--sage)}.student-option input{margin-top:7px;flex-shrink:0}.student-field{display:grid;gap:12px;margin:18px 0;font:14px/1.6 var(--ui)}.student-field input,.student-field textarea{width:100%;padding:16px;font:17px/1.6 var(--body);resize:vertical;min-height:48px;box-sizing:border-box}.student-step{font:12px var(--ui)!important;color:var(--sage)!important}.student-panel li{font-size:18px;line-height:1.6;margin:16px 0}.student-validation{color:var(--clay)!important}.student :focus-visible{outline:2px solid var(--sage);outline-offset:4px}.student-nav .navlinks button{padding-inline:10px}.qm-quote-card blockquote{font-size:24px!important}.qm-quote-card{padding:22px!important}.qm-heading h1{font-size:42px}.qm-wrap>.student-deeper{margin-bottom:25px}.student-nav .brand{font-size:17px}
@media(max-width:900px){.student-nav .brand>span:last-child{display:none}.student{padding-inline:24px}.student-next{gap:26px}.student-intents{gap:0 20px}.student-intents>button{gap:10px}.student-intents .student-time{font-size:11px}}
@media(max-width:760px){body:has(.student-nav){padding-bottom:80px}.student-nav{flex-wrap:nowrap}.student-nav .brand>span:last-child{display:inline}.student-nav .navlinks{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;margin:0;order:initial;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:10px 4px max(10px,env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:18px 18px 0 0;background:var(--page);box-shadow:0 -4px 25px #352b1a0a;z-index:1000}.student-nav{transform:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--page)}.student-nav .navlinks button{font-size:11px;padding:10px 2px;min-height:44px;white-space:normal}.student{padding-inline:20px}.student-next{grid-template-columns:90px 1fr;padding:24px;gap:20px}.student-cover>img{height:150px}.student-next h2{font-size:27px}.student-next p{font-size:16px}.student-intents{grid-template-columns:1fr}.student-intents>button{min-height:86px}.student-intents .student-time{font-size:12px}.student-quote-grid{grid-template-columns:1fr}.student-topic-intro{gap:20px;align-items:flex-start}.student-portrait{width:90px}.student-topic-intro>.theme-illustration{width:70px;height:100px}.student-timeline{grid-template-columns:1fr;gap:6px}.student-timeline li{display:grid;grid-template-columns:50px 1fr;gap:0 16px}.student-timeline-icon{grid-row:1/3}.student-timeline small{margin:0}.student-timeline p{margin:8px 0 18px}.student-timeline li:not(:last-child):after{content:'↓';left:21px;right:auto;top:auto;bottom:-5px}.student-panel{padding:22px}.student-topic-intro .student-three{margin-left:-110px;margin-top:32px}.student-topic-intro:not(:has(.student-portrait)) .student-three{margin-left:0}.student .backlink{font-size:12px}.student-passive{gap:10px}.student-three li{font-size:17px}.qm-heading h1{font-size:32px}}
@media(max-width:360px){.student{padding-inline:14px}.student-next{padding:20px;grid-template-columns:1fr}.student-cover{display:none}.student-nav .navlinks button{font-size:10px}.student-intents small{font-size:12px}}
@media print{.student-nav,.student-local,.student .pill{display:none}.student-panel,.student-quote{break-inside:avoid;box-shadow:none}}

.student h1[tabindex="-1"]:focus-visible{outline:none}.student-heading>p{margin-bottom:0}

.student-library-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;background:linear-gradient(110deg,color-mix(in srgb,var(--sage) 10%,var(--page)),var(--page))}.student-library-next h2{margin-top:12px}.student-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.student-library-grid>button{text-align:left;padding:24px;background:var(--page);border:1px solid var(--line);border-radius:22px}.student-library-grid>button>div{width:110px;max-height:165px;overflow:hidden;margin-bottom:20px}.student-library-grid .cover,.student-library-grid .series-cover{width:100%;margin:0}.student-library-grid h3{font-size:24px;line-height:1.3;margin:12px 0}.student-library-grid small{font:12px var(--ui);color:var(--ink2)}.student-library-grid span:last-child{display:block;font:12px var(--ui);color:var(--clay);margin-top:20px}.student-timeline{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
@media(max-width:760px){.student-library-next{display:block;padding:24px}.student-library-grid{grid-template-columns:1fr}.student-library-grid>button{display:grid;grid-template-columns:75px 1fr;gap:6px 20px}.student-library-grid>button>div{width:75px;grid-row:1/4;margin:0}.student-library-grid h3{margin:0}.student-timeline{grid-template-columns:1fr}}

/* Section descriptions follow the desktop menu and mobile bottom navigation. */
.student-nav [data-nav-description]{position:relative}
.student-nav .nav-description{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:240px;max-width:calc(100vw - 24px);padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--page);color:var(--ink2);box-shadow:var(--shadow);font:400 13px/1.55 var(--ui);white-space:normal;text-align:left;visibility:hidden;opacity:0;pointer-events:none;z-index:1100}
.student-nav [data-nav-description]:is(:hover,:focus-visible):not(.description-dismissed) .nav-description{visibility:visible;opacity:1;pointer-events:auto}
.student-nav [data-nav-description]:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
@media(max-width:760px){
 .student-nav .nav-description{top:auto;bottom:100%;width:190px}
 .student-nav [data-nav-description]:nth-child(-n+3) .nav-description{left:0;transform:none}
 .student-nav [data-nav-description]:nth-child(n+4) .nav-description{left:auto;right:0;transform:none}
}

.student-nav .theme-toggle{flex-shrink:0;background:var(--paper2);color:var(--ink)}
.student-nav .theme-toggle:hover{background:var(--line)}
.student-nav .theme-toggle:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
@media(max-width:370px){.student-nav .brand>span:last-child{font-size:12px}.student-nav .brand{gap:4px}}

/* Illustrated cast gallery: shared artwork, clear routes to each character. */
.student:has(.cast-gallery){max-width:1240px}
.cast-heading{padding:30px 0 0}.cast-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.cast-heading h1{font-size:clamp(38px,4.8vw,64px);line-height:1.07;letter-spacing:-.035em;margin:20px 0 28px}.cast-heading h1 em{color:var(--clay);font-weight:400}.cast-heading-row>p{max-width:31ch;margin-bottom:30px;font-size:17px}.cast-legend{display:flex;align-items:center;gap:24px;border-block:1px solid var(--line);padding:17px 0;margin:0 0 28px;font:12px var(--ui);color:var(--ink2)}.cast-legend>span{display:flex;align-items:center;gap:8px}.cast-legend small{margin-left:auto;font:11px var(--ui)}.cast-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.cast-dot.sage{background:#688577}.cast-dot.rose{background:#b97368}.cast-dot.gold{background:#ab893d}.cast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}.cast-card{--cast-color:#688577;width:100%;text-align:left;display:flex;flex-direction:column;background:var(--page);border:1px solid var(--line);border-radius:110px 110px 16px 16px;overflow:hidden;color:var(--ink);transition:transform .2s,box-shadow .2s}.cast-card.rose{--cast-color:#b97368}.cast-card.gold{--cast-color:#ab893d}.cast-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #352b1a12}.cast-card:focus-visible{outline:3px solid var(--cast-color);outline-offset:5px}.cast-portrait{position:relative;display:flex;justify-content:center;align-items:flex-end;height:260px;width:100%;padding:24px 18px 0;background:radial-gradient(ellipse at 50% 85%,color-mix(in srgb,var(--cast-color) 19%,var(--page)),var(--page) 76%);border-bottom:1px solid var(--line);box-sizing:border-box}.cast-portrait:after{content:'';position:absolute;bottom:15px;width:65%;height:14px;background:color-mix(in srgb,var(--cast-color) 15%,transparent);filter:blur(7px);border-radius:50%}.cast-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;position:relative;z-index:1}.cast-number{position:absolute;left:22px;bottom:18px;font:11px var(--ui);color:var(--ink3);z-index:2}.cast-initial{font:100px var(--disp);color:var(--cast-color)}.cast-caption{padding:22px;display:flex;flex-direction:column;flex:1;width:100%;box-sizing:border-box}.cast-house{font:9px var(--ui);text-transform:uppercase;letter-spacing:.13em;color:var(--ink2)}.cast-caption h2{font-size:26px;margin:9px 0 8px;line-height:1.15}.cast-caption p{font:14px/1.5 var(--ui);margin:0 0 22px}.cast-link{display:flex;justify-content:space-between;gap:12px;margin-top:auto;font:11px var(--ui);color:var(--ink2);padding-top:14px;border-top:1px solid var(--line)}.cast-link>span{font-size:17px;color:var(--cast-color)}.cast-connections{margin:42px 0 20px;padding:28px 0;border-block:1px solid var(--line)}.cast-connections>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.cast-connections p{font-size:16px;margin-bottom:0}.cast-connections b{display:block;font-weight:500;margin-bottom:7px}.cast-connections p span{font:13px/1.6 var(--ui);display:block;color:var(--ink2)}
@media(max-width:950px){.cast-heading-row{gap:24px}.cast-heading-row>p{max-width:26ch}.cast-grid{gap:20px 14px}.cast-portrait{height:220px;padding-inline:10px}.cast-caption{padding:17px}.cast-caption h2{font-size:22px}.cast-house{font-size:8px;letter-spacing:.07em}}
@media(max-width:700px){.cast-heading-row{display:block}.cast-heading-row>p{max-width:48ch;margin-top:0}.cast-legend{flex-wrap:wrap;gap:12px 18px}.cast-legend small{width:100%;margin-left:0;padding-top:4px}.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.cast-portrait{height:230px}.cast-caption h2{font-size:23px}.cast-connections>div{grid-template-columns:1fr;gap:2px}.cast-heading{padding-top:18px}}
@media(max-width:380px){.cast-portrait{height:185px}.cast-caption{padding:14px}.cast-caption h2{font-size:21px}.cast-caption p{font-size:12px}.cast-link{font-size:10px}}
@media(prefers-reduced-motion:reduce){.cast-card{transition:none}.cast-card:hover{transform:none}}
