
:root{--paper:#F7F5F0;--paper2:#EFEEE9;--ink:#202124;--slate:#626562;--line:#D8D6D0;--acc:#B85C38;--accd:#8F452C;--white:#FFFFFF;
--serif:"DM Serif Display",Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#18191b;--paper2:#202123;--ink:#ECEAE4;--slate:#A5A7A2;--line:#37383b;--acc:#D27B57;--accd:#E39A7E;--white:#1e1f21}}
:root[data-theme="dark"]{--paper:#18191b;--paper2:#202123;--ink:#ECEAE4;--slate:#A5A7A2;--line:#37383b;--acc:#D27B57;--accd:#E39A7E;--white:#1e1f21}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.label{font:500 .8125rem/1.4 var(--sans);color:var(--slate);letter-spacing:.02em}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4.5vw,3.25rem)}
h3{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15}
p{margin:0}
.link{color:var(--accd);font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.arr{display:inline-block;transition:transform .2s ease}
a:hover>.arr,a:focus-visible>.arr{transform:translateX(4px)}
/* nav */
header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.mark{font:400 1.375rem/1 var(--serif);text-decoration:none}
.menu{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.menu a{text-decoration:none;font-weight:500;font-size:.9375rem;color:var(--slate);padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.menu a:hover{color:var(--ink);border-color:var(--acc)}
.tog{display:none;background:none;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:500 .875rem var(--sans);padding:8px 14px;cursor:pointer}
@media(max-width:760px){.tog{display:block}
.menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px clamp(20px,4vw,40px) 16px}
.menu.open{display:flex}.menu a{display:block;padding:12px 0;font-size:1.0625rem}}
/* hero */
.hero{padding:clamp(48px,8vw,104px) 0 clamp(56px,8vw,96px);display:grid;gap:56px;grid-template-columns:1fr}
@media(min-width:960px){.hero{grid-template-columns:1.15fr 1fr;align-items:center}}
.hero h1{font-size:clamp(3.25rem,9.5vw,7.25rem);line-height:.92;letter-spacing:-.02em}
.tag{font:400 clamp(1.5rem,3vw,2.125rem)/1.2 var(--serif);margin-top:28px;color:var(--accd)}
.lede{max-width:34rem;margin-top:20px;color:var(--slate);font-size:1.125rem}
.wish{font:400 1.375rem/1.3 var(--serif);border-left:2px solid var(--acc);padding-left:14px;margin-top:22px;max-width:30rem}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:10px;border:1px solid var(--ink);font-weight:500;text-decoration:none;transition:background .2s,color .2s}
.btn.p{background:var(--ink);color:var(--paper)}.btn.p:hover{background:var(--accd);border-color:var(--accd);color:#fff}
.btn.s:hover{background:var(--paper2)}
.bench{position:relative;padding-bottom:64px}
.sheet{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px 20px 16px}
.sheet svg{width:100%;height:auto;display:block}
.sheet .n{fill:var(--paper2);stroke:var(--line)}.sheet text{font:500 11.5px var(--sans);fill:var(--ink)}
.sheet .t{fill:var(--slate);font-size:11px}.sheet .a{fill:var(--accd);font:italic 400 15px var(--serif)}
.sheet path{fill:none;stroke:var(--slate);stroke-width:1.2}
.cap{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.call{background:#202124;color:#F1EFEA;border-radius:12px;padding:18px 20px;margin-top:16px;margin-left:12%;position:relative;max-width:360px;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.call .label{color:#A9ABA7}.call p{font-size:.9375rem;margin:6px 0 12px;line-height:1.45}
.call ul{list-style:none;margin:0;padding:0;font-size:.875rem}
.call li{display:flex;gap:10px;align-items:center;padding:7px 0;border-top:1px solid #3a3b3e}
.call i{width:10px;height:10px;border-radius:50%;border:1.5px solid #8b8d89;flex:none}
.call li.d i{background:#D27B57;border-color:#D27B57}
@media(max-width:959px){.call{margin-left:0;margin-top:16px;max-width:none}}
.rise{opacity:0;transform:translateY(10px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.rise.b{animation-delay:.12s}.rise.c{animation-delay:.24s}.rise.d{animation-delay:.38s}
@keyframes rise{to{opacity:1;transform:none}}
/* sections */
section{padding:clamp(56px,8vw,104px) 0;border-top:1px solid var(--line)}
.head{display:flex;flex-wrap:wrap;gap:12px 40px;align-items:baseline;justify-content:space-between;margin-bottom:40px}
.entry{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white)}
@media(min-width:860px){.entry{grid-template-columns:repeat(3,1fr)}.entry>a+a{border-left:1px solid var(--line)}}
.entry>a{display:flex;flex-direction:column;gap:14px;padding:32px 28px 28px;text-decoration:none;min-height:260px;transition:background .2s}
.entry>a+a{border-top:1px solid var(--line)}@media(min-width:860px){.entry>a+a{border-top:0}}
.entry>a:hover{background:var(--paper2)}
.entry h3{font-size:2.25rem}.entry p{color:var(--slate)}
.entry .go{margin-top:auto;color:var(--accd);font-weight:500}
.built{display:grid;gap:24px}
@media(min-width:960px){.built{grid-template-columns:1.3fr 1fr}}
.proj{border:1px solid var(--line);border-radius:14px;padding:clamp(24px,3.5vw,40px);display:flex;flex-direction:column;gap:18px;background:var(--white)}
.proj h3{font-size:clamp(1.9rem,3.4vw,2.6rem)}
.debrief{background:var(--paper2);border-radius:10px;padding:14px 16px;font-size:.9375rem;display:grid;gap:4px}.debrief strong{font-weight:600}
.proj p{color:var(--slate);max-width:40rem}
.meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pill{border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:.8125rem;color:var(--slate)}
.pillars{list-style:none;margin:4px 0 0;padding:0;border-top:1px solid var(--line)}
.pillars li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.pillars span{color:var(--slate);font-size:.875rem;text-align:right}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{background:var(--paper2);border-radius:8px;padding:5px 12px;font-size:.875rem}
.why{display:grid;gap:40px}
@media(min-width:960px){.why{grid-template-columns:1fr 1.2fr;gap:80px}}
.why .body{max-width:44rem;font-size:1.125rem;display:grid;gap:20px}
.why .note{border-left:2px solid var(--acc);padding-left:16px;margin-top:8px;color:var(--slate);font-size:.9375rem}
.about{background:var(--paper2)}
.ab{display:grid;gap:32px}
@media(min-width:960px){.ab{grid-template-columns:1fr 1.2fr;gap:80px}}
.ab p{max-width:40rem;font-size:1.125rem}
footer{border-top:1px solid var(--line);padding:40px 0 48px}
.foot{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between;align-items:flex-start}
.foot ul{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;margin:0;padding:0}
.foot a{text-decoration:none;color:var(--slate);font-size:.9375rem}.foot a:hover{color:var(--ink)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise{animation:none;opacity:1;transform:none}.arr,.btn{transition:none}}

/* ---- MCAT view ---- */
.vh{display:block}[hidden]{display:none!important}
.menu a[aria-current]{color:var(--ink);border-color:var(--acc)}
.chead{padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,48px)}
.chead h1{font-size:clamp(2.5rem,6.5vw,4.75rem);line-height:1}
.chead .sub2{font:400 clamp(1.25rem,2.4vw,1.75rem)/1.25 var(--serif);color:var(--accd);margin-top:16px}
.chead p.in{max-width:38rem;margin-top:16px;color:var(--slate)}
.cbar{position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:5;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cbar .wrap{display:flex;gap:4px 28px;align-items:center;overflow-x:auto;scrollbar-width:none}
.cbar .ct{font:400 1.0625rem var(--serif);white-space:nowrap;padding:12px 24px 12px 0;border-right:1px solid var(--line);text-decoration:none}
.cbar a.t{white-space:nowrap;padding:14px 0 12px;font-size:.9375rem;font-weight:500;color:var(--slate);text-decoration:none;border-bottom:2px solid transparent}
.cbar a.t:hover{color:var(--ink)}.cbar a.t[aria-current]{color:var(--ink);border-color:var(--acc)}
.status{display:inline-block;margin-top:20px}
.cmap{list-style:none;margin:0;padding:0;max-width:980px}
.pl{display:grid;grid-template-columns:1fr;gap:8px 32px;padding:28px 0;border-top:1px solid var(--line)}
@media(min-width:760px){.pl{grid-template-columns:96px 1fr}}
.pl .num{font:400 3.25rem/1 var(--serif);color:var(--acc)}
.pl h2{font-size:clamp(1.75rem,3vw,2.25rem)}
.pl .q{font:italic 400 1.0625rem var(--serif);color:var(--slate);margin:6px 0 10px}
.pl .d{max-width:40rem}
.secs{list-style:none;margin:16px 0 0;padding:0;columns:1;font-size:.9375rem}
@media(min-width:760px){.secs{columns:2;column-gap:32px}}
.secs li{padding:6px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.secs a{color:var(--accd);font-weight:500}
.pg{margin-top:14px;font-size:.875rem;color:var(--slate)}
.flow{display:flex;gap:12px;align-items:center;padding:0 0 0 0;margin:-4px 0 4px;color:var(--accd);font-size:.875rem}
@media(min-width:760px){.flow{padding-left:128px}}
.flow::before{content:"↓";font-size:1.125rem}
.cap6{margin-top:8px;border-top:1px solid var(--ink)}
.two{display:grid;gap:32px;margin-top:56px}@media(min-width:860px){.two{grid-template-columns:1fr 1fr;gap:64px}}
.two h3{font-size:1.5rem;margin-bottom:12px}.two ul{margin:0;padding-left:1.1rem;color:var(--slate)}.two li{margin:4px 0}
/* lessons */
.lay{display:grid;gap:40px;padding:36px 0 80px}
@media(min-width:1000px){.lay{grid-template-columns:240px minmax(0,760px);gap:64px;justify-content:start}}
.outl{font-size:.875rem;position:sticky;top:calc(132px + env(safe-area-inset-top,0px));align-self:start;display:none}
@media(min-width:1000px){.outl{display:block}}
.outl p{margin:0 0 6px}.outl ol{list-style:none;margin:0 0 20px;padding:0}.outl li{padding:5px 0;color:var(--slate)}
.outl li.on{color:var(--ink);font-weight:600;border-left:2px solid var(--acc);padding-left:10px;margin-left:-12px}
.crumb{font-size:.8125rem;color:var(--slate)}.crumb a{color:inherit}
.art h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.05;margin:12px 0 20px}
.art{font-size:1.125rem;line-height:1.75;max-width:46rem}
.art h2{font-size:1.75rem;margin:48px 0 12px;line-height:1.15}
.art p{margin:0 0 18px}
.core{font:400 1.375rem/1.45 var(--serif);border-left:2px solid var(--acc);padding-left:18px;margin:0 0 8px}
.warn{background:var(--paper2);border-radius:10px;padding:12px 16px;font-size:.9375rem;color:var(--slate);margin:0 0 24px}
.eq{margin:28px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.eq .f{font:400 1.75rem var(--serif);letter-spacing:.01em}.eq .label{margin-top:6px}
.fig{margin:28px 0}.fig svg{width:100%;height:auto;background:var(--white);border:1px solid var(--line);border-radius:12px}
.fig svg text{font:500 12px var(--sans);fill:var(--ink)}.fig .m{fill:var(--slate)}.fig .ac{fill:var(--accd)}
.fig path,.fig line{fill:none;stroke:var(--ink);stroke-width:1.6}.fig .dd{stroke:var(--acc);stroke-dasharray:5 4}.fig .th{stroke:var(--line);stroke-width:1}
.note{margin:28px 0;padding-left:18px;border-left:1px solid var(--line)}
.note .label{display:block;margin-bottom:4px}.note p{margin:0;font-size:1.0625rem}
.note.trap{border-color:var(--acc)}
.rem{margin:48px 0 0;background:var(--paper2);border-radius:12px;padding:24px 24px 8px}
.rem ul{list-style:none;margin:12px 0 0;padding:0;font-size:1rem}.rem li{padding:10px 0;border-top:1px solid var(--line)}
.pn{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:.9375rem}
.idx h2{font-size:1.75rem;margin:36px 0 4px}.idx .row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.idx .row span{color:var(--slate);text-align:right}
.wk{max-width:46rem;padding:36px 0 80px}.wk ol{padding-left:1.3rem}.wk li{margin:8px 0}.wk h2{font-size:1.75rem;margin:32px 0 10px}

/* ---- Lesson 2.0 ---- */
html{scroll-padding-top:calc(124px + env(safe-area-inset-top,0px))}
@media(min-width:1000px){.lay{grid-template-columns:230px minmax(0,1fr)}}
.l2.art{max-width:none;font-size:1.0625rem}
.l2 .art>*,.l2>*{max-width:46rem}.l2 .wide{max-width:60rem!important}
.lnav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.875rem;border-bottom:1px solid var(--line);padding-bottom:12px;max-width:60rem!important}
.lnav a{color:var(--accd);text-decoration:none;font-weight:500}.lnav span.dim{color:var(--slate)}
.l2 h1{font-size:clamp(2.75rem,6vw,4.25rem);margin:20px 0 10px}
.l2 .dek{font:400 1.375rem/1.35 var(--serif);color:var(--accd);margin:0 0 8px}
.sh{display:flex;align-items:baseline;gap:16px;font-size:clamp(1.75rem,3.4vw,2.375rem);margin:72px 0 20px!important;padding-top:20px;border-top:1px solid var(--line);max-width:46rem}
.sh span{font:500 .8125rem var(--sans);color:var(--slate);letter-spacing:.04em}
.l2 h3{font-size:1.375rem;margin:36px 0 10px;line-height:1.2}
.l2 h3 span{color:var(--acc);margin-right:8px}
.l2 ul.pl2{padding-left:1.1rem;margin:0 0 18px}.l2 ul.pl2 li{margin:4px 0}
.thread{font-size:.875rem;color:var(--slate);margin:6px 0 20px}.thread b{color:var(--ink);font-weight:600}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}
.rel div{padding:16px 12px 14px 0}.rel b{display:block;font:400 2.25rem/1 var(--serif);color:var(--accd);margin-bottom:6px}.rel p{margin:0;font-size:.9375rem;line-height:1.4}
@media(max-width:640px){.rel{grid-template-columns:1fr}.rel div{border-top:1px solid var(--line)}.rel div:first-child{border-top:0}}
.insight{border-left:2px solid var(--acc);padding-left:16px;margin:24px 0;font:400 1.375rem/1.35 var(--serif)}
.insight small{display:block;font:500 .8125rem var(--sans);color:var(--slate);margin-bottom:4px}
.cm{display:grid;grid-template-columns:1fr;gap:8px;margin:24px 0;align-items:stretch}
@media(min-width:900px){.cm{grid-template-columns:1fr 28px 1.15fr 28px 1.15fr;gap:0}}
.cm .tier{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--white)}
.cm .tier p.label{margin:0 0 8px}.cm .tier ul{margin:0;padding-left:1.05rem;font-size:.9375rem}.cm li{margin:3px 0}
.cm .ar{display:flex;align-items:center;justify-content:center;color:var(--accd)}
.cm .ar::before{content:"↓"}@media(min-width:900px){.cm .ar::before{content:"→"}}
.rq{margin:28px 0;padding:22px 0;border-top:1px solid var(--line)}
.rq .qq{font:400 1.375rem/1.35 var(--serif);margin:6px 0 14px}
.opts{display:grid;gap:8px}
.opts button{text-align:left;font:400 1rem/1.45 var(--sans);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:10px;padding:12px 16px;cursor:pointer;transition:background .15s,border-color .15s}
.opts button:hover{background:var(--paper2)}
.opts button[aria-pressed=true]{border-color:var(--ink)}
.opts button.ok{border-color:var(--accd);background:var(--paper2)}
.fb{margin-top:14px;font-size:1rem}.fb p{margin:0 0 8px}.fb .why{border-left:2px solid var(--acc);padding-left:14px}
.lens{background:var(--paper2);border-radius:12px;padding:8px 28px 18px;margin:8px 0}
.lens .r{padding:14px 0;border-top:1px solid var(--line)}.lens .r:first-of-type{border-top:0}
.lens .r p{margin:0 0 4px}
.trap2{display:grid;gap:10px 32px;padding:20px 0;border-top:1px solid var(--line)}
@media(min-width:760px){.trap2{grid-template-columns:1fr 1fr}.trap2 h3{grid-column:1/-1}}
.trap2 h3{margin:0!important;font-size:1.125rem!important}
.trap2 .m p,.trap2 .c p{margin:2px 0 0}.trap2 .m{color:var(--slate)}.trap2 .c{border-left:2px solid var(--acc);padding-left:14px}
.dep details{border-top:1px solid var(--line);padding:12px 0}.dep details:last-of-type{border-bottom:1px solid var(--line)}
.dep summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:12px}
.dep summary::after{content:"+";color:var(--accd);font-size:1.25rem;line-height:1}.dep details[open] summary::after{content:"−"}
.dep summary::-webkit-details-marker{display:none}.dep details p{margin:10px 0 0;color:var(--slate);font-size:1rem}
.hook{margin-top:8px}.hook .qh{font:400 clamp(1.5rem,3vw,2rem)/1.2 var(--serif);margin:8px 0 16px}
.nextbtn{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid var(--ink);border-radius:12px;padding:18px 22px;text-decoration:none;margin-top:28px;transition:background .2s}
.nextbtn:hover{background:var(--paper2)}.nextbtn b{font:400 1.375rem var(--serif)}
.outl li a{text-decoration:none;color:inherit}.outl li.on a{color:var(--ink)}
.tblw{overflow-x:auto;margin:20px 0}.tbl{border-collapse:collapse;width:100%;max-width:34rem;font-size:1rem}
.tbl th{font:500 .8125rem var(--sans);color:var(--slate);text-align:left;padding:8px 20px 8px 0;border-bottom:1px solid var(--ink)}
.tbl td{padding:10px 20px 10px 0;border-bottom:1px solid var(--line)}.tbl td:nth-child(-n+2){font:400 1.375rem var(--serif);width:4.5rem}
.dep .dq{border-top:1px solid var(--line);padding:12px 0;font-weight:500}.dep .dq:last-of-type{border-bottom:1px solid var(--line)}
.l2 h4{font:400 1.1875rem/1.25 var(--serif);margin:26px 0 8px}.l2 h4 span{color:var(--acc);font:500 .8125rem var(--sans);margin-right:10px}
.nextbtn.pend{border-style:dashed;border-color:var(--line);color:var(--slate)}.nextbtn.pend b{color:var(--ink)}
