:root {
  --paper:#f6f1e8; --paper-deep:#ede6da; --white:#fffdf8; --ink:#171717;
  --wine:#6b2637; --wine-deep:#4a1724; --wine-light:#ecdde0; --muted:#686159;
  --line:#d4cabd; --strong-line:#9b8c7b; --dark:#1c1b1a; --green:#355b46;
  --serif:"Iowan Old Style","Palatino Linotype","EB Garamond",Georgia,serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif; --mono:"SFMono-Regular",Consolas,monospace;
  --gutter:clamp(20px,4.5vw,72px); --section:clamp(64px,7.2vw,108px);
}
*{box-sizing:border-box} [hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:112px;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden} ::selection{background:var(--wine);color:var(--white)}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer} img,svg,video{max-width:100%} img{display:block;height:auto}
button{border-radius:0} button:disabled{cursor:not-allowed;opacity:.55}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--wine);outline-offset:5px}
.on-dark :focus-visible,.quiz-band :focus-visible{outline-color:var(--white)}
button svg,a svg{flex-shrink:0} .icon{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:12px 20px;background:var(--wine);color:white;transform:translateY(-180%)}
.skip-link:focus{transform:none}.container{width:min(1424px,100%);margin:auto;padding-inline:var(--gutter)}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--wine)}
.overline{display:flex;align-items:center;gap:12px}.overline:before{content:"";display:block;width:28px;height:1px;background:currentColor}
.serif{font-family:var(--serif)} .muted{color:var(--muted)} .small{font-size:13px}.micro{font-size:11px}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2,.display{font-family:var(--serif)}
em{font-weight:400}.section{padding-block:var(--section)} .section-label{display:flex;gap:16px;align-items:center}
.section-label span:first-child{font-family:var(--mono);letter-spacing:0;color:var(--muted)}
.section-heading{font-size:clamp(40px,4.2vw,62px);line-height:1.05;letter-spacing:-.035em;text-wrap:balance}
.section-heading em{color:var(--wine)}.body-copy{color:var(--muted);max-width:610px}.body-copy p+p{margin-top:18px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 23px;border:1px solid var(--wine);background:var(--wine);color:var(--white);font-size:13px;font-weight:600;line-height:1.35;transition:background .18s,transform .18s,border-color .18s}
.button:hover{background:var(--wine-deep);border-color:var(--wine-deep)}.button .icon{width:18px;height:18px}
.button--outline{background:transparent;color:var(--wine)}.button--outline:hover{background:var(--wine-light);border-color:var(--wine)}
.button--light{background:var(--paper);border-color:var(--paper);color:var(--wine)}.button--light:hover{background:white;border-color:white}
.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:5px 0;border:0;border-bottom:1px solid var(--strong-line);background:transparent;font-size:13px;line-height:1.4;font-weight:500}
.text-link:hover{color:var(--wine);border-color:var(--wine)}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent;flex-shrink:0}
.icon-button:hover{background:var(--paper-deep)}.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--line);font-size:11px;line-height:1.35}
.pill:before{content:"";width:5px;height:5px;background:var(--wine);border-radius:50%}
.topbar{border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.105em;text-transform:uppercase;line-height:1.4}
.topbar .container{display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:34px}.topbar button{font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:transparent;border:0;padding:5px 0;min-height:30px;display:flex;align-items:center;gap:7px}.topbar .icon{width:13px;height:13px}
.site-header{position:sticky;top:0;z-index:40;background:rgba(246,241,232,.97);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}
.brand{display:flex;align-items:center;gap:22px;flex-shrink:0}.brand img{width:184px;height:auto;aspect-ratio:1836/524}.brand-label{font-size:10px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:20px}.brand-label strong{font-weight:600;display:block}
.desktop-nav{display:flex;align-items:center;gap:28px}.desktop-nav a{font-size:12px;min-height:44px;display:flex;align-items:center;position:relative}.desktop-nav a:hover{color:var(--wine)}
.header-actions{display:flex;align-items:center;gap:22px}.header-actions>.text-link{border:0;font-size:12px}.header-actions>.button{font-size:12px;min-height:44px;padding:11px 16px;gap:12px}
.menu-toggle{display:none}.mobile-nav{padding:12px var(--gutter) 24px;border-top:1px solid var(--line)}.mobile-nav a,.mobile-nav button{display:flex;min-height:48px;align-items:center;padding:8px 0;border:0;background:transparent;width:100%;font-size:15px}
.hero{padding-block:60px 68px}.hero-grid{display:grid;grid-template-columns:1.18fr .92fr;gap:60px;align-items:center}
.hero-copy{min-width:0}.hero h1{font-size:clamp(60px,5.9vw,88px);line-height:1.015;letter-spacing:-.045em;margin:26px 0 26px;font-weight:400}.hero h1 em{color:var(--wine)}
.hero-lead{max-width:485px;font-size:15px;line-height:1.8;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:29px}.hero-actions .text-link{font-size:12px;border-bottom:0}.hero-note{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:14px}.hero-note .icon{width:14px;height:14px}
.hero-figure{margin:0;min-width:0}.editorial-stage{height:555px;position:relative;background:var(--paper-deep);isolation:isolate;overflow:hidden}
.editorial-stage:before{position:absolute;content:"";inset:0;background:linear-gradient(135deg,transparent 41%,rgba(255,253,248,.48) 41%,rgba(255,253,248,.48) 64%,transparent 64%)}
.stage-number{position:absolute;right:18px;top:4px;color:#ded3c3;font-family:var(--serif);font-size:148px;line-height:1;letter-spacing:-.07em}
.paper-back{position:absolute;left:49px;top:52px;width:calc(100% - 102px);height:434px;background:#d0c4b4;transform:rotate(5deg)}
.preparation-paper{position:absolute;left:39px;top:37px;width:calc(100% - 97px);min-height:440px;padding:28px 29px;background:var(--white);transform:rotate(-5deg);box-shadow:0 14px 24px rgba(60,46,32,.12);border:1px solid #e0d6c8}
.paper-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--ink);font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.preparation-paper h2{font-size:47px;line-height:.98;letter-spacing:-.04em;margin:23px 0}.preparation-paper h2 em{color:var(--wine)}
.paper-step{display:grid;grid-template-columns:22px 1fr;gap:12px;border-top:1px solid var(--line);padding:12px 0}.paper-step>span{font-size:9px;font-family:var(--mono);color:var(--wine);padding-top:2px}.paper-step strong{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;display:block}.paper-step small{font-size:10px;color:var(--muted)}
.paper-signature{width:160px;margin-top:17px}.editorial-note{position:absolute;bottom:22px;right:16px;padding:22px 24px;background:var(--wine);color:var(--white);transform:rotate(3deg);box-shadow:0 6px 16px rgba(60,46,32,.12);width:202px}
.editorial-note .eyebrow{color:#ead0d7;font-size:8px}.editorial-note p{font-family:var(--serif);font-size:30px;line-height:1.06;margin-top:13px}.editorial-note .note-rule{width:34px;height:1px;background:#c79fa9;margin:14px 0}.editorial-note small{font-size:8px;letter-spacing:.04em;color:#ead0d7}.stage-side{position:absolute;bottom:22px;left:18px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.figure-caption{display:flex;justify-content:space-between;gap:14px;margin-top:13px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.focus-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.focus-strip .container{display:grid;grid-template-columns:1.08fr repeat(3,1fr)}.focus-strip .strip-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.focus-strip .container>div{padding:28px 25px;border-left:1px solid var(--line);display:flex;align-items:center;gap:15px}.focus-strip .container>div:first-child{padding-left:0;border:0}.focus-strip span{color:var(--wine);font-size:11px;font-family:var(--mono)}.focus-strip strong{font-size:14px;font-weight:400}
.professor-grid{display:grid;grid-template-columns:.73fr 1.4fr;gap:100px}.professor-grid .section-heading{font-size:clamp(41px,4vw,58px);margin-top:28px}.professor-bio{display:grid;grid-template-columns:92px 1fr;gap:24px;margin-top:8px}.professor-bio img{width:92px;height:92px;filter:grayscale(1);border-radius:50%}.professor-bio h3{font-family:var(--serif);font-size:32px;line-height:1.1;margin-bottom:7px}.professor-bio .role{font-size:11px;color:var(--wine);margin-bottom:14px}.professor-bio .body-copy{font-size:14px;line-height:1.8}
.authorities{display:grid;grid-template-columns:1fr 1fr;margin-top:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.authority{padding:30px 42px 30px 0}.authority+.authority{border-left:1px solid var(--line);padding-left:42px;padding-right:0}.authority .eyebrow{font-size:9px;letter-spacing:.12em}.authority blockquote{font-family:var(--serif);font-size:27px;line-height:1.2;letter-spacing:-.02em;margin:20px 0 24px;max-width:495px}.authority figcaption{font-size:11px;color:var(--muted)}.authority figcaption strong{display:block;font-weight:600;font-size:12px;color:var(--ink);margin-bottom:3px}.evidence-note{font-size:10px;line-height:1.7;color:var(--muted);max-width:920px;margin-top:15px}
.quiz-band{background:var(--wine);color:var(--white);padding-block:58px}.quiz-band .container{display:grid;grid-template-columns:1.25fr .8fr;gap:100px;align-items:center}.quiz-band .eyebrow{color:#e5bfc9}.quiz-band h2{font-size:clamp(38px,3.7vw,55px);line-height:1.04;letter-spacing:-.025em;margin-top:18px}.quiz-band h2 em{color:#eed5dc}.quiz-band p{font-size:14px;color:#f0dfe3;line-height:1.8;max-width:390px}.quiz-band .button{margin-top:22px}.quiz-band small{display:block;font-size:10px;margin-top:11px;color:#ead0d7}
.method-grid{display:grid;grid-template-columns:.8fr 1.12fr;gap:100px}.method-grid .section-heading{margin-top:26px}.method-grid>.method-intro p{margin-top:26px;font-size:14px;max-width:370px}.method-list{list-style:none;padding:0;margin:0}.method-list li{display:grid;grid-template-columns:50px 1fr;gap:20px;border-top:1px solid var(--line);padding:29px 0}.method-list li:last-child{border-bottom:1px solid var(--line)}.method-number{font-size:28px;font-family:var(--serif);color:var(--wine);line-height:1.2}.method-list h3{font-family:var(--serif);font-size:29px;line-height:1.2;letter-spacing:-.02em}.method-list p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:12px}
.program-section{background:var(--paper-deep);border-block:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:42px}.section-top .section-heading{margin-top:20px;max-width:630px}.section-top>p{max-width:320px;font-size:13px;color:var(--muted)}
.program-list{border-top:1px solid var(--strong-line)}.program-item{border-bottom:1px solid var(--line)}.program-item summary{cursor:pointer;display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;min-height:95px;padding:20px 4px;list-style:none}.program-item summary::-webkit-details-marker{display:none}.program-item summary>.index{font-size:12px;font-family:var(--mono);color:var(--wine)}.program-item summary h3{font-family:var(--serif);font-size:31px;letter-spacing:-.02em;line-height:1.2}.program-item summary .icon{transition:transform .2s}.program-item[open] summary>.icon{transform:rotate(180deg)}.program-body{padding:0 60px 27px 94px;max-width:900px;color:var(--muted);font-size:14px}.program-body a{margin-top:13px;color:var(--wine);font-size:12px}.program-foot{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:26px}.program-foot p{font-size:11px;color:var(--muted);max-width:650px}
.workspace-preview{display:grid;grid-template-columns:.82fr 1.15fr;gap:90px;align-items:center}.workspace-preview h2{margin-top:22px}.workspace-preview p{margin:25px 0 20px;font-size:14px;color:var(--muted);max-width:355px}.mini-workspace{background:var(--white);border:1px solid var(--line);padding:26px 30px;box-shadow:10px 10px 0 var(--paper-deep)}.mini-top{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:19px}.mini-top strong{font-weight:400;font-family:var(--serif);font-size:23px}.mini-top span{font-size:9px;color:var(--muted)}.mini-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.mini-row:last-child{border:0}.mini-row>div{display:flex;gap:16px;align-items:center}.mini-row .num{font-family:var(--mono);font-size:10px;color:var(--wine)}.mini-row strong{font-size:12px;font-weight:500;display:block}.mini-row small{font-size:10px;color:var(--muted)}.mini-row>.icon{width:16px;height:16px}.mini-caption{font-size:10px;color:var(--muted);margin-top:16px}
.faq-section{border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px}.faq-grid h2{margin-top:25px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;font-weight:500;min-height:76px;cursor:pointer;list-style:none;padding:18px 0}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .icon{width:17px;min-width:17px;transition:transform .2s}.faq-item[open] summary .icon{transform:rotate(45deg)}.faq-item p{color:var(--muted);font-size:13px;line-height:1.85;padding:0 32px 24px 0}
.closing{background:var(--dark);color:var(--paper);padding-block:72px}.closing .container{display:grid;grid-template-columns:1.25fr .8fr;gap:100px;align-items:center}.closing .eyebrow{color:#c9b8a9}.closing h2{font-size:clamp(42px,4.1vw,61px);line-height:1.05;letter-spacing:-.03em;margin-top:23px}.closing h2 em{color:#cfb4bd}.closing p{font-size:13px;line-height:1.85;color:#d1c9bf}.closing .button{margin-top:23px}.closing small{display:block;margin-top:12px;color:#c3b8ab;font-size:10px}
.site-footer{background:var(--dark);color:var(--paper)}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:32px;border-top:1px solid #49443e}.footer-logo{width:185px}.footer-links{display:flex;gap:25px;align-items:center}.footer-links button,.footer-links a{border:0;background:transparent;color:#d4c9bc;padding:10px 0;font-size:11px;min-height:44px}.footer-bottom{display:flex;gap:40px;justify-content:space-between;padding:0 0 27px;font-size:9px;color:#bdb3a6;line-height:1.75}.footer-bottom p{max-width:750px}
/* Accessible dialogs */
dialog{padding:0;border:1px solid var(--line);background:var(--white);color:var(--ink);width:min(800px,calc(100vw - 40px));max-height:calc(100dvh - 56px);overflow:auto;box-shadow:0 20px 100px #0003}
dialog::backdrop{background:#1c1b1ab3;backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;background:var(--white);z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 28px;border-bottom:1px solid var(--line)}.dialog-head .eyebrow{font-size:10px}.dialog-body{padding:32px 38px 38px}.dialog-body h2{font-size:42px;line-height:1.1;letter-spacing:-.03em;margin-bottom:19px}.dialog-body>p{font-size:14px;color:var(--muted)}.dialog-body p+p{margin-top:16px}.dialog-body h3{font-family:var(--serif);font-size:26px;line-height:1.2;margin:25px 0 12px}.notice{font-size:12px;line-height:1.7;background:var(--paper-deep);border-left:2px solid var(--wine);padding:14px 17px;color:var(--muted);margin-bottom:25px}.notice strong{color:var(--ink);font-weight:500}.dialog-foot{margin-top:27px;display:flex;gap:18px;justify-content:space-between;align-items:center}.dialog-foot .text-link{border-bottom:0}.dialog-foot small{font-size:10px;color:var(--muted)}
.progress-track{width:100%;height:3px;background:var(--line)}.progress-fill{height:100%;background:var(--wine);transition:width .2s}.quiz-step-head{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-bottom:12px}.quiz-content{padding-top:28px}.quiz-content fieldset{border:0;padding:0;margin:0;min-width:0}.quiz-content legend{font-family:var(--serif);font-size:34px;line-height:1.2;letter-spacing:-.02em;padding:0;margin-bottom:24px;max-width:620px}.radio-options{display:grid;gap:10px}.radio-card{display:flex;align-items:center;gap:15px;padding:14px 17px;border:1px solid var(--line);font-size:14px;cursor:pointer;min-height:58px}.radio-card:has(input:checked){border-color:var(--wine);background:#f5e9ec;color:var(--wine)}.radio-card:hover{border-color:var(--wine)}input[type=radio],input[type=checkbox]{accent-color:var(--wine);width:19px;height:19px;flex-shrink:0;margin:0}.quiz-error{font-size:12px;color:var(--wine);margin-top:14px;min-height:20px}.quiz-privacy{font-size:10px;color:var(--muted);margin-top:22px}.result-item{padding:17px 0;border-top:1px solid var(--line)}.result-item h3{margin:0 0 8px;font-family:var(--sans);font-size:14px;font-weight:600}.result-item p{font-size:13px;color:var(--muted)}.result-testimonial{background:var(--paper);padding:25px;margin-top:24px}.result-testimonial blockquote{font-family:var(--serif);font-size:25px;line-height:1.3;margin:17px 0}.result-testimonial figcaption{font-size:11px}.result-testimonial small{display:block;font-size:10px;color:var(--muted);margin-top:10px}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 0}
.field{display:grid;gap:8px;margin-bottom:17px}.field label{font-size:12px;font-weight:500}.input,input[type=search],input[type=text],input[type=email],select,textarea{border:1px solid var(--strong-line);padding:12px 13px;background:var(--white);width:100%;border-radius:0;min-height:46px;font-size:14px}textarea{min-height:110px;resize:vertical}.field small{font-size:10px;color:var(--muted)}.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-status{margin-top:18px;font-size:13px;white-space:pre-line}.form-status:not(:empty){border:1px solid var(--line);padding:17px;background:var(--paper)}
/* Learning workspace */
.student-page .site-header{position:relative}.student-page .header-inner{min-height:95px}.student-page .brand-label{padding-left:22px}.student-layout{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1600px;margin:auto}.student-sidebar{border-right:1px solid var(--line);padding:35px 24px 30px;position:sticky;top:0;align-self:start;height:calc(100dvh - 2px);display:flex;flex-direction:column;background:var(--paper)}.sidebar-caption{font-size:9px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;padding:0 12px;margin-bottom:14px}.sidebar-nav{display:grid;gap:6px}.sidebar-nav button{display:flex;align-items:center;gap:13px;min-height:48px;padding:11px 12px;text-align:left;border:0;background:transparent;font-size:12px;color:var(--muted);width:100%}.sidebar-nav button[aria-current=page]{background:var(--wine-light);color:var(--wine);font-weight:600}.sidebar-nav button:hover{color:var(--wine);background:#efe5df}.sidebar-nav .icon{width:18px;height:18px}.sidebar-course{border-top:1px solid var(--line);margin:27px 0 0;padding:24px 12px 0}.sidebar-course .eyebrow{font-size:9px}.sidebar-course p{font-family:var(--serif);font-size:24px;line-height:1.1;margin:12px 0}.sidebar-course small{font-size:10px;color:var(--muted)}.sidebar-footer{margin-top:auto;padding:35px 12px 0;font-size:10px;color:var(--muted)}.sidebar-footer button{display:flex;align-items:center;gap:9px;min-height:44px;padding:6px 0;border:0;background:transparent;font-size:11px}.student-main{padding:40px clamp(25px,4vw,64px) 70px;min-width:0}.student-breadcrumb{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:30px}.student-breadcrumb .pill{font-size:9px}.student-intro h1{font-size:clamp(39px,3.9vw,59px);line-height:1.06;letter-spacing:-.035em;margin:16px 0}.student-intro p{font-size:13px;color:var(--muted);max-width:650px}.demo-banner{display:flex;align-items:start;gap:12px;padding:12px 15px;margin:23px 0 30px;border:1px solid var(--line);font-size:11px;line-height:1.6;color:var(--muted)}.demo-banner .icon{width:16px;height:16px;flex-shrink:0;color:var(--wine);margin-top:1px}.demo-banner strong{font-weight:600;color:var(--ink)}
.overview-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin-bottom:35px}.resume-card{background:var(--wine);color:var(--white);padding:28px 30px;position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:218px}.resume-card .eyebrow{color:#ebc8d2;font-size:9px}.resume-card h2{font-size:37px;line-height:1.02;letter-spacing:-.02em;margin:19px 0 8px}.resume-card p{font-size:11px;color:#ecd7dc;max-width:315px}.resume-card button{align-self:start;border:0;border-bottom:1px solid #be95a0;color:var(--white);background:transparent;min-height:44px;padding:10px 0 5px;display:flex;align-items:center;gap:22px;font-size:12px;margin-top:13px}.resume-card:after{content:"01";position:absolute;right:20px;top:20px;font-family:var(--serif);font-size:100px;line-height:1;opacity:.12;pointer-events:none}
.progress-card{border:1px solid var(--line);padding:26px 24px;display:flex;flex-direction:column;justify-content:space-between;background:var(--white)}.progress-card .eyebrow{font-size:9px;color:var(--muted)}.progress-count{font-family:var(--serif);font-size:58px;line-height:1;letter-spacing:-.035em;margin:17px 0 8px}.progress-count small{font-family:var(--sans);font-size:13px;color:var(--muted);letter-spacing:0}.progress-card p{font-size:10px;color:var(--muted);margin-top:10px}.progress-card .progress-track{height:4px}.progress-topline{display:flex;justify-content:space-between;gap:8px;align-items:center}.progress-topline>span{font-size:12px;color:var(--wine)}
.learning-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.learning-heading h2{font-size:32px;letter-spacing:-.02em}.learning-heading span{font-size:10px;color:var(--muted)}.activity-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px}.search-field{position:relative;flex:1;min-width:0}.search-field>.icon{position:absolute;left:13px;top:14px;color:var(--muted);width:18px;height:18px}.search-field input{padding-left:41px;font-size:12px;border-color:var(--line);height:47px}.type-select{max-width:186px;font-size:12px;border-color:var(--line);height:47px}.filter-status{font-size:11px;color:var(--muted);margin:0 0 12px}.module{border:1px solid var(--line);margin-bottom:12px;background:var(--white)}.module-toggle{width:100%;display:grid;grid-template-columns:39px 1fr auto 19px;align-items:center;gap:17px;text-align:left;padding:21px 22px;border:0;background:transparent;min-height:92px}.module-toggle:hover{background:#faf5ed}.module-toggle .index{font-family:var(--serif);font-size:29px;color:var(--wine);line-height:1}.module-toggle h3{font-family:var(--sans);font-size:14px;font-weight:500;margin-bottom:4px}.module-toggle small{display:block;font-size:10px;color:var(--muted);font-weight:400}.module-toggle .module-count{font-family:var(--mono);font-size:10px;color:var(--muted);white-space:nowrap}.module-toggle>.icon{width:17px;transition:transform .2s}.module-toggle[aria-expanded=true]>.icon{transform:rotate(180deg)}.module-panel{border-top:1px solid var(--line)}.module-description{padding:17px 22px;background:#faf6ef;color:var(--muted);font-size:11px;line-height:1.75;border-bottom:1px solid var(--line)}.activity-list{list-style:none;margin:0;padding:0 22px}.activity-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);min-height:76px}.activity-row:last-child{border:0}.activity-link{border:0;background:transparent;display:flex;align-items:center;gap:15px;min-height:70px;width:100%;text-align:left;padding:12px 0}.activity-type-icon{width:32px;height:36px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--wine)}.activity-type-icon .icon{width:16px;height:16px}.activity-label{display:block;font-size:12px;line-height:1.5;font-weight:500}.activity-meta{display:block;font-size:9px;margin-top:3px;color:var(--muted);font-weight:400}.activity-link:hover .activity-label{color:var(--wine);text-decoration:underline;text-underline-offset:3px}.activity-done{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;cursor:pointer}.activity-done input{width:18px;height:18px}.activity-row.is-complete .activity-type-icon{color:var(--green);background:#edf0e8;border-color:#adb8a8}.activity-row.is-complete .activity-label{color:var(--green)}.empty-state{text-align:center;padding:42px 25px;border:1px dashed var(--strong-line);margin-top:12px}.empty-state h3{font-family:var(--serif);font-size:28px;margin-bottom:8px}.empty-state p{font-size:12px;color:var(--muted)}.empty-state button{margin-top:18px}.storage-warning{padding:14px;background:var(--wine-light);font-size:12px;color:var(--wine);margin-bottom:20px}
.student-bottom{border-top:1px solid var(--line);margin-top:32px;padding-top:17px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.student-bottom button{font-size:10px;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;min-height:36px}.section-panel>.section-heading{margin-bottom:15px}.section-panel>p{color:var(--muted);font-size:14px;margin-bottom:28px}.materials-list{display:grid;gap:14px}.material-item{border:1px solid var(--line);background:var(--white);padding:23px;display:grid;grid-template-columns:35px 1fr auto;gap:16px;align-items:center}.material-item>.icon{color:var(--wine);width:25px;height:25px}.material-item h3{font-size:14px;font-weight:500;margin-bottom:5px}.material-item p{font-size:11px;color:var(--muted)}.material-item a{font-size:12px;color:var(--wine)}.notes-panel textarea{min-height:340px;background:var(--white);line-height:1.8}.notes-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.notes-status{font-size:11px;color:var(--muted);margin-top:15px}.local-note{font-size:11px;color:var(--muted);margin-bottom:16px}.lesson-dialog{width:min(920px,calc(100vw - 40px))}.lesson-dialog .dialog-body h2{font-size:39px}.lesson-meta{display:flex;gap:13px;align-items:center;margin-bottom:20px;font-size:10px;color:var(--muted)}.lesson-content p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:18px}.lesson-content h3{font-size:27px}.lesson-content ol,.lesson-content ul{padding-left:24px;color:var(--muted);font-size:14px;line-height:1.9}.lesson-content video{display:block;width:100%;aspect-ratio:16/9;background:var(--dark)}.lesson-content audio{width:100%;margin:20px 0}.lesson-content .transcript{margin-top:15px;border:1px solid var(--line);padding:14px 18px;font-size:12px}.transcript summary{cursor:pointer;min-height:28px}.transcript p{font-size:12px;margin:12px 0 0}.lesson-footer{border-top:1px solid var(--line);margin-top:32px;padding-top:22px;display:flex;justify-content:space-between;gap:15px;align-items:center}.lesson-footer .done-toggle{display:flex;align-items:center;gap:12px;font-size:12px;cursor:pointer;min-height:44px}.lesson-footer .button{font-size:12px;min-height:46px}.slide-stage{background:var(--paper-deep);padding:36px 40px;min-height:290px;display:flex;flex-direction:column;justify-content:center}.slide-stage .eyebrow{font-size:10px}.slide-stage h3{font-size:43px;line-height:1.05;margin:18px 0}.slide-stage p{font-size:14px;margin:0;max-width:510px}.slide-controls{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.slide-controls span{font-size:11px;color:var(--muted)}.exercise fieldset{padding:0;border:0;margin:0 0 22px}.exercise legend{font-size:16px;font-weight:500;margin-bottom:18px}.exercise label{font-size:13px}.exercise-result{font-size:13px;margin-top:17px;padding:15px;background:var(--paper)}.forum-post{background:var(--paper);padding:18px;margin-top:18px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.embed-demo{width:100%;height:250px;border:1px solid var(--line)}
.toast{position:fixed;z-index:200;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 40px);padding:13px 22px;background:var(--dark);color:white;font-size:12px;box-shadow:0 6px 30px #0003;text-align:center}.no-js{padding:20px;background:var(--paper-deep);font-size:14px;margin:20px}
@media(min-width:1600px){.student-sidebar{padding-inline:30px}.hero-grid{gap:85px}.editorial-stage{height:590px}.paper-back{height:455px}.preparation-paper{min-height:462px}}
@media(max-width:1200px){.desktop-nav{gap:20px}.header-actions{gap:12px}.header-actions>.button{display:none}.header-inner{gap:18px}.brand-label{display:none}.hero-grid{gap:38px}.hero h1{font-size:73px}.editorial-stage{height:520px}.preparation-paper{left:28px;top:37px;width:calc(100% - 75px);padding:24px;min-height:420px}.preparation-paper h2{font-size:42px}.paper-back{left:41px;width:calc(100% - 82px);height:420px}.editorial-note{width:176px;padding:19px;right:14px;bottom:19px}.editorial-note p{font-size:27px}.professor-grid,.method-grid,.faq-grid,.quiz-band .container,.closing .container{gap:65px}.workspace-preview{gap:55px}.student-layout{grid-template-columns:215px minmax(0,1fr)}.student-sidebar{padding-inline:16px}.overview-grid{grid-template-columns:1.4fr 1fr}.resume-card{padding:25px}.student-main{padding-inline:30px}.student-page .brand-label{display:block}}
@media(max-width:960px){.hero h1{font-size:62px}.hero-grid{grid-template-columns:1.1fr .9fr;gap:30px}.hero-lead{font-size:14px}.hero-actions{gap:12px}.hero-actions .button{font-size:12px;padding-inline:17px}.hero-actions .text-link{font-size:11px}.editorial-stage{height:468px}.paper-back{left:31px;top:51px;width:calc(100% - 62px);height:365px}.preparation-paper{top:35px;left:24px;padding:22px 20px;width:calc(100% - 60px);min-height:370px}.preparation-paper h2{font-size:35px;margin:20px 0}.paper-top{font-size:7px}.paper-step{padding:10px 0;gap:7px;grid-template-columns:20px 1fr}.paper-step strong{font-size:9px}.paper-step small{font-size:8px}.paper-signature{width:130px}.editorial-note{width:151px;right:14px;bottom:20px;padding:16px}.editorial-note p{font-size:25px}.focus-strip .container>div{padding:22px 16px;gap:11px}.focus-strip strong{font-size:12px}.focus-strip .strip-label{font-size:9px}.professor-grid{grid-template-columns:.85fr 1.3fr;gap:45px}.professor-bio{grid-template-columns:1fr}.professor-bio img{width:72px;height:72px}.professor-grid .section-heading{font-size:44px}.quiz-band .container{gap:40px}.method-grid,.faq-grid{gap:45px}.method-grid{grid-template-columns:.83fr 1fr}.section-heading{font-size:44px}.workspace-preview{gap:40px}.mini-workspace{padding:20px}.mini-top strong{font-size:21px}.student-layout{grid-template-columns:190px minmax(0,1fr)}.student-main{padding-inline:25px}.student-sidebar{padding-inline:12px}.overview-grid{grid-template-columns:1fr 1fr;gap:14px}.resume-card{padding:22px}.resume-card h2{font-size:32px}.progress-card{padding:23px 20px}.module-toggle{padding:18px;gap:13px;grid-template-columns:28px 1fr auto 16px}.module-toggle h3{font-size:12px}.activity-list{padding-inline:17px}.student-page .header-actions .pill{display:none}}
@media(max-width:760px){html{scroll-padding-top:85px}.topbar .container{min-height:32px;gap:10px}.topbar .container>span{font-size:8px;letter-spacing:.07em}.topbar button{font-size:8px}.header-inner{min-height:83px}.brand img{width:170px}.desktop-nav{display:none}.menu-toggle{display:flex}.header-actions>.text-link{display:none}.mobile-nav .mobile-cta{color:var(--wine);font-weight:600}.hero{padding-block:39px 42px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero h1{font-size:clamp(58px,10.4vw,82px);max-width:630px;margin-block:23px;line-height:1.02}.hero-lead{max-width:520px;font-size:14px}.hero h1 .wide-break{display:none}.hero-actions{gap:20px;margin-top:26px}.hero-actions .button{min-height:53px;font-size:12px;padding:14px 20px}.hero-actions .text-link{font-size:12px}.hero-note{font-size:10px}.hero-figure{max-width:580px;width:100%;justify-self:center}.editorial-stage{height:485px}.preparation-paper{left:45px;top:33px;width:calc(100% - 133px);padding:25px 29px;min-height:399px}.paper-back{left:68px;top:49px;width:calc(100% - 124px);height:404px}.preparation-paper h2{font-size:43px}.paper-top{font-size:8px}.paper-step{padding:11px 0;grid-template-columns:22px 1fr;gap:10px}.paper-step strong{font-size:10px}.paper-step small{font-size:9px}.paper-signature{width:145px}.editorial-note{width:180px;right:21px;padding:19px;bottom:21px}.editorial-note p{font-size:27px}.focus-strip .container{grid-template-columns:1fr 1fr}.focus-strip .container>div{min-height:79px;padding:20px 12px}.focus-strip .container>div:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.focus-strip .container>div:nth-child(4){border-top:1px solid var(--line)}.focus-strip strong{font-size:12px}.focus-strip .strip-label{font-size:10px}.professor-grid{grid-template-columns:1fr;gap:32px}.professor-grid .section-heading{font-size:46px;max-width:460px;margin-top:20px}.professor-bio{grid-template-columns:75px 1fr;gap:19px}.professor-bio .body-copy{font-size:13px}.authorities{margin-top:34px;grid-template-columns:1fr}.authority{padding:27px 0}.authority+.authority{border-left:0;border-top:1px solid var(--line);padding:27px 0}.authority blockquote{font-size:27px;max-width:520px;margin-block:16px}.evidence-note{font-size:10px}.quiz-band{padding-block:45px}.quiz-band .container{grid-template-columns:1fr;gap:26px}.quiz-band h2{font-size:46px;max-width:570px}.quiz-band p{max-width:520px;font-size:13px}.method-grid{grid-template-columns:1fr;gap:30px}.method-grid .section-heading{max-width:460px;margin-top:22px}.method-grid>.method-intro p{max-width:510px;margin-top:19px}.method-list li{padding:25px 0;gap:14px;grid-template-columns:36px 1fr}.method-list h3{font-size:30px}.section-top{display:block;margin-bottom:28px}.section-top>p{margin-top:23px;max-width:520px}.section-heading{font-size:46px}.program-item summary{grid-template-columns:34px 1fr 20px;gap:16px;min-height:84px;padding-block:18px}.program-item summary h3{font-size:28px}.program-body{padding:0 30px 22px 54px;font-size:13px}.program-foot{display:block}.program-foot a{margin-top:14px}.workspace-preview{grid-template-columns:1fr;gap:34px}.workspace-preview p{max-width:470px;margin-top:20px}.workspace-preview h2{max-width:500px}.mini-workspace{padding:24px}.mini-top strong{font-size:24px}.mini-row strong{font-size:12px}.faq-grid{grid-template-columns:1fr;gap:28px}.faq-grid h2{margin-top:20px;max-width:400px}.faq-item summary{min-height:74px;font-size:13px}.closing{padding-block:49px}.closing .container{grid-template-columns:1fr;gap:25px}.closing h2{font-size:48px;max-width:570px}.closing p{max-width:520px}.footer-main{flex-wrap:wrap;gap:20px;padding-block:25px}.footer-logo{width:170px}.footer-links{gap:22px}.footer-links button,.footer-links a{font-size:10px}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom p{font-size:9px}.student-page .brand img{width:166px}.student-page .brand-label{display:none}.student-page .header-inner{min-height:83px}.student-page .header-actions>.text-link{display:flex;font-size:11px;gap:8px}.student-page .header-actions>.text-link .icon{width:15px;height:15px}.student-layout{display:block}.student-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:9px var(--gutter);display:block}.sidebar-caption,.sidebar-course,.sidebar-footer{display:none}.sidebar-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.sidebar-nav button{justify-content:center;flex-direction:column;gap:4px;font-size:9px;padding:9px 3px;min-height:62px}.sidebar-nav .icon{width:18px;height:18px}.student-main{padding:28px var(--gutter) 42px}.student-breadcrumb{margin-bottom:24px;font-size:9px}.student-breadcrumb .pill{font-size:8px}.student-intro h1{font-size:46px;max-width:590px}.student-intro p{font-size:12px}.demo-banner{margin-block:20px 24px;font-size:10px}.overview-grid{grid-template-columns:1.35fr 1fr;gap:12px}.resume-card{padding:24px 20px;min-height:219px}.resume-card h2{font-size:35px}.resume-card p{font-size:10px}.resume-card button{font-size:11px;gap:12px}.progress-card{padding:24px 20px}.progress-count{font-size:52px}.progress-count small{font-size:11px}.progress-card .eyebrow{font-size:8px}.progress-card p{font-size:9px}.learning-heading h2{font-size:30px}.learning-heading span{font-size:9px}.module-toggle{min-height:85px}.module-toggle .index{font-size:28px}.module-toggle h3{font-size:13px}.module-toggle small{font-size:9px}.activity-toolbar{gap:8px}.type-select{max-width:160px;font-size:11px}.search-field input{font-size:11px}.material-item{grid-template-columns:25px 1fr;gap:13px;padding:20px}.material-item .text-link{grid-column:2;justify-self:start}.dialog-body{padding:27px}.dialog-head{padding:15px 20px}.dialog-body h2{font-size:37px}.quiz-content legend{font-size:30px}.radio-card{font-size:13px;min-height:58px}.quiz-content{padding-top:24px}.lesson-footer{flex-wrap:wrap}.lesson-dialog .dialog-body h2{font-size:35px}}
@media(max-width:430px){.topbar .container>span{font-size:7px;letter-spacing:.045em}.hero h1{font-size:60px;letter-spacing:-.04em}.hero-copy>.eyebrow{font-size:9px}.hero-actions{gap:9px 17px}.hero-actions .button{gap:13px}.hero-actions .text-link{font-size:11px}.hero-figure .editorial-stage{height:442px}.preparation-paper{left:27px;top:29px;width:calc(100% - 73px);min-height:373px;padding:24px}.preparation-paper h2{font-size:37px}.paper-back{left:42px;top:42px;width:calc(100% - 70px);height:369px}.paper-top{font-size:7px}.paper-step{padding:10px 0}.paper-step small{font-size:8px}.paper-step strong{font-size:9px}.paper-signature{width:136px}.editorial-note{width:150px;right:16px;bottom:17px;padding:15px}.editorial-note p{font-size:24px}.editorial-note .eyebrow{font-size:7px}.editorial-note small{font-size:7px}.editorial-note .note-rule{margin-block:10px}.stage-side{left:12px;font-size:7px}.figure-caption{font-size:8px;gap:8px}.professor-bio{grid-template-columns:1fr}.professor-bio img{width:73px;height:73px}.section-heading,.quiz-band h2{font-size:43px}.program-item summary h3{font-size:25px}.program-item summary{gap:12px;grid-template-columns:26px 1fr 18px}.program-body{padding-left:42px;padding-right:15px}.overview-grid{grid-template-columns:1fr}.resume-card{min-height:190px;padding:24px}.progress-card{padding:20px 22px;display:grid;grid-template-columns:1fr auto;gap:10px 20px;align-items:center}.progress-card .progress-topline{display:block}.progress-topline>span{display:block;margin-top:5px;font-size:13px}.progress-count{grid-column:2;grid-row:1;font-size:48px;margin:0}.progress-card>.progress-track{grid-column:1/-1}.progress-card>p{grid-column:1/-1;margin:0;font-size:10px}.student-intro h1{font-size:43px}.student-breadcrumb{gap:10px}.student-breadcrumb .pill{padding:4px 6px;font-size:8px}.activity-toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}.type-select{max-width:none;width:100%}.module-toggle{padding:17px 14px;grid-template-columns:24px 1fr 16px;gap:11px}.module-count{display:none}.module-toggle h3{font-size:12px}.module-toggle small{font-size:9px;line-height:1.5}.module-description{padding:15px}.activity-list{padding-inline:13px}.activity-row{gap:5px}.activity-link{gap:10px}.activity-type-icon{width:27px;height:32px}.activity-label{font-size:11px}.activity-meta{font-size:8px}.activity-done{width:40px}.learning-heading span{max-width:105px;text-align:right}.student-bottom{flex-direction:column;gap:5px}.student-bottom button{align-self:start}.dialog-body{padding:25px 21px}.dialog-head{padding:12px 17px}.dialog-foot{gap:12px}.dialog-foot .button{padding-inline:16px;font-size:12px;gap:14px}.dialog-foot .text-link{font-size:12px}.form-two-col{grid-template-columns:1fr;gap:0}.result-actions{display:grid}.result-testimonial{padding:20px}.slide-stage{padding:28px 24px;min-height:270px}.slide-stage h3{font-size:37px}.slide-stage p{font-size:12px}.lesson-footer .button{width:100%}.lesson-content .button{font-size:12px;max-width:100%}.toast{font-size:11px;padding:12px 16px}.footer-links{gap:17px}}
@media(max-width:360px){.brand img{width:163px}.header-inner{gap:12px}.topbar .container>span{font-size:6px}.hero h1{font-size:53px}.hero-actions .button{width:100%;justify-content:space-between}.hero-actions .text-link{font-size:12px}.hero-lead{font-size:13px}.hero-figure .editorial-stage{height:411px}.preparation-paper{padding:21px 18px;left:24px;width:calc(100% - 55px);min-height:350px}.paper-back{left:32px;width:calc(100% - 55px);height:351px}.preparation-paper h2{font-size:34px}.paper-top{font-size:6px;gap:5px}.paper-step small{font-size:7px}.editorial-note{width:128px;right:12px;bottom:14px;padding:12px}.editorial-note p{font-size:21px}.editorial-note small{font-size:6px}.section-heading,.professor-grid .section-heading,.quiz-band h2{font-size:39px}.focus-strip .strip-label{font-size:8px}.focus-strip strong{font-size:10px}.student-page .brand img{width:160px}.student-page .header-actions>.text-link{font-size:10px}.student-page .header-actions>.text-link .icon{display:none}.student-intro h1{font-size:39px}.student-breadcrumb>span:first-child{font-size:8px}.student-breadcrumb .pill{font-size:7px}.program-item summary h3{font-size:23px}.program-item summary{grid-template-columns:23px 1fr 16px;gap:9px}.quiz-content legend{font-size:27px}.radio-card{font-size:12px;padding:12px;gap:11px}.dialog-body h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.topbar,.site-footer,.quiz-band,.hero-actions,.sidebar-nav,.student-sidebar,.activity-toolbar,.button,.icon-button{display:none!important}.container,.student-main{padding:0}.hero-grid,.method-grid,.student-layout{display:block}.hero-figure{display:none}.section{padding-block:26px}body{background:white;color:black}.module-panel[hidden]{display:block!important}dialog{position:static;max-height:none;box-shadow:none}.skip-link{display:none}}
/* Module headings retain valid button/heading semantics. */
.module-heading{margin:0;line-height:1.5}.module-name{display:block;font-family:var(--sans);font-size:14px;font-weight:500;margin-bottom:4px;line-height:1.45}.module-toggle small{font-family:var(--sans)}
@media(max-width:960px){.module-name{font-size:12px}}
@media(max-width:760px){.module-name{font-size:13px}}
@media(max-width:430px){.module-name{font-size:12px}}
.storage-warning{margin:28px 0 0;padding:13px 16px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px}
