@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;450;500;600;700&display=swap');
:root{--ink:#17251f;--muted:#52635a;--paper:#f6f3ec;--white:#fffdf8;--green:#246d54;--line:#d7dfd6;--width:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 'IBM Plex Sans',system-ui,sans-serif}a{color:inherit;text-underline-offset:.22em}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #46a77c;outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.1;font-weight:500;letter-spacing:-.045em}h2{font-size:clamp(32px,4vw,52px)}h3{font-size:25px;letter-spacing:-.025em}p+p{margin-top:20px}.wrap{width:min(var(--width),calc(100% - 64px));margin:auto}.reading{max-width:690px}.label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px;color:var(--green)}.muted{color:var(--muted)}.small{font-size:14px;line-height:1.6}.skip{position:fixed;z-index:20;top:10px;left:16px;transform:translateY(-200%);background:white;padding:12px}.skip:focus{transform:none}
.header{height:88px;background:var(--paper);border-bottom:1px solid var(--line)}.header .wrap{height:100%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;line-height:1.2;font-size:18px;font-weight:600;letter-spacing:-.03em}.brand small{display:block;font-size:11px;letter-spacing:.05em;color:var(--muted);margin-top:6px;font-weight:400}.header nav{display:flex;align-items:center;gap:28px;font-size:14px}.header nav a{text-decoration:none}.header nav a:hover{text-decoration:underline}.progress{position:fixed;top:0;left:0;z-index:10;height:3px;background:var(--green);width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#17221e;color:var(--white);min-height:660px;display:flex;align-items:center}.hero-photo{position:absolute;z-index:-2;inset:0 0 0 auto;width:54%;height:100%;object-fit:cover;object-position:50% 36%;filter:saturate(.65)}.hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#17221e 32%,rgba(23,34,30,.92) 43%,rgba(23,34,30,.18) 76%,rgba(23,34,30,.1))}.hero .wrap{padding-top:68px;padding-bottom:70px}.hero .label{color:#b8d8c3}.hero h1{font-size:clamp(40px,4.8vw,67px);max-width:720px;line-height:1.035;text-wrap:balance}.hero .lead{max-width:520px;margin-top:26px;font-size:19px;line-height:1.6;color:#e2ebe4}.hero .byline{font-size:13px;letter-spacing:.02em;margin-top:32px;color:#c1cfc5}.hero .label,.hero h1,.hero .lead,.hero .actions{animation:arrive .65s both}.hero h1{animation-delay:.08s}.hero .lead{animation-delay:.16s}.hero .actions{animation-delay:.24s}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;text-decoration:none;background:var(--green);color:white;border:1px solid var(--green);border-radius:3px;padding:15px 23px;font-size:16px;font-weight:500;min-height:52px;transition:background .18s,transform .18s}.button:hover{background:#1c5743;transform:translateY(-2px)}.hero .button{background:#dce9d5;border-color:#dce9d5;color:#17251f}.hero .button:hover{background:white}.text-link{font-size:15px;text-decoration:underline}.arrow{display:inline-block;transition:transform .2s}.button:hover .arrow,.route:hover .arrow{transform:translateX(5px)}
.section{padding:94px 0;border-bottom:1px solid var(--line)}.white{background:var(--white)}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.section-intro h2{max-width:530px}.section-intro>.copy{padding-top:8px}.large{font-size:24px;line-height:1.5;letter-spacing:-.02em}.section-header{max-width:700px;margin-bottom:46px}.section-header p{margin-top:22px;color:var(--muted)}.rows{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:54px 1fr 1.1fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:baseline}.row .number{font-size:13px;color:var(--green)}.row p{font-size:17px;color:var(--muted);max-width:510px}.row h3{max-width:360px}.aside{border-left:2px solid var(--green);padding:3px 0 3px 24px;margin-top:36px;font-size:16px;color:var(--muted)}
.course{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.course-mark{font:500 clamp(70px,11vw,145px)/1 'IBM Plex Sans',sans-serif;letter-spacing:-.07em;color:var(--green);margin-bottom:24px}.course ul{padding-left:20px;margin:24px 0}.course li{padding:5px 0}.quote{font:italic clamp(28px,4vw,48px)/1.3 Georgia,serif;letter-spacing:-.025em;margin-bottom:28px}.quote small{display:block;font:14px/1.6 'IBM Plex Sans',sans-serif;letter-spacing:0;margin-top:24px;color:var(--muted)}.story-pairs{margin-top:44px}.story-pair{display:grid;grid-template-columns:1fr 1.25fr;gap:55px;padding:23px 0;border-top:1px solid var(--line)}.story-pair .before{color:var(--muted);font-size:16px}.story-pair .after{font-size:24px;letter-spacing:-.025em;line-height:1.4}
.routes{border-top:1px solid var(--line)}.route{display:grid;grid-template-columns:1fr 1fr 30px;gap:32px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:color .2s}.route:hover{color:var(--green)}.route p{font-size:16px;color:var(--muted)}.route .arrow{font-size:25px}.faq{max-width:860px;margin-top:34px}details{border-top:1px solid var(--line);padding:23px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-size:21px;line-height:1.4;cursor:pointer;list-style:none;position:relative;padding-right:36px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;top:-3px;font-size:26px;font-weight:400;transition:transform .2s}details[open] summary:after{transform:rotate(45deg)}details p{margin-top:20px;max-width:730px;font-size:17px;color:var(--muted)}.closing{padding:85px 0;background:#e1e8dc}.closing h2{max-width:790px}.closing p{max-width:690px;margin-top:24px}.footer{padding:30px 0;background:var(--paper);font-size:13px;color:var(--muted)}.footer .wrap{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer a{margin-right:20px}
@media(min-width:1500px){.hero{min-height:720px}.hero-photo{object-position:50% 35%}}@media(max-width:850px){.wrap{width:calc(100% - 40px)}.hero{min-height:620px}.hero-photo{width:67%;opacity:.7}.hero:after{background:linear-gradient(90deg,#17221e 12%,rgba(23,34,30,.88) 44%,rgba(23,34,30,.32))}.hero h1{max-width:640px;font-size:55px}.hero .lead{max-width:440px}.section-intro,.course{gap:35px;grid-template-columns:1fr 1fr}.row{grid-template-columns:30px 1fr 1.15fr;gap:18px}.section{padding:65px 0}}
@media(max-width:600px){body{font-size:17px}.wrap{width:calc(100% - 36px)}.header{height:74px}.brand{font-size:16px}.brand small{font-size:10px}.header nav{gap:16px;font-size:13px}.header .optional{display:none}.hero{min-height:calc(100svh - 74px);align-items:flex-end}.hero-photo{width:100%;height:100%;opacity:.65;object-position:55% 22%}.hero:after{background:linear-gradient(0deg,#17221e 0%,rgba(23,34,30,.94) 27%,rgba(23,34,30,.65) 62%,rgba(23,34,30,.12) 100%)}.hero .wrap{padding-top:170px;padding-bottom:32px}.hero h1{font-size:clamp(35px,9.3vw,49px);max-width:100%;line-height:1.08}.hero .label{margin-bottom:18px;font-size:10px}.hero .lead{font-size:16px;line-height:1.55;margin-top:22px;max-width:100%}.hero .byline{margin-top:20px;font-size:12px}.actions{gap:16px;margin-top:24px}.button{font-size:15px;padding:13px 17px;gap:15px}.text-link{font-size:14px}.section{padding:55px 0}.section-intro,.course{grid-template-columns:1fr;gap:25px}.section-intro .label{margin-bottom:0}.section-intro>.copy{padding:0}.large{font-size:21px}.section-header{margin-bottom:30px}.row{grid-template-columns:25px 1fr;gap:16px;padding:25px 0}.row p{grid-column:2}.row h3{font-size:23px}.course-mark{font-size:90px}.story-pair{grid-template-columns:1fr;gap:10px;padding:22px 0}.story-pair .after{font-size:23px}.route{grid-template-columns:1fr 25px;gap:15px}.route p{grid-column:1;grid-row:2}.route .arrow{grid-column:2;grid-row:1}.closing{padding:56px 0}.footer .wrap{display:block}.footer nav{margin-top:15px}summary{font-size:19px}.aside{padding-left:18px}}
.direction-stages{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;gap:0}.direction-stages li{position:relative;padding:0 35px 0 0}.direction-stages li:before{content:'';position:absolute;top:22px;left:0;right:0;height:1px;background:var(--green)}.direction-stages li:not(:last-child):after{content:'→';position:absolute;right:16px;top:4px;font-size:24px;background:var(--white);color:var(--green)}.stage-point{display:grid;place-items:center;position:relative;width:45px;height:45px;border:1px solid var(--green);border-radius:50%;background:var(--white);color:var(--green);font-size:14px;margin-bottom:34px}.direction-stages li:last-child .stage-point{background:var(--green);color:white}.stage-question{font:italic 22px/1.4 Georgia,serif;color:var(--muted);margin-bottom:15px}.direction-stages h3{font-size:29px;margin-bottom:16px}.direction-stages h3+p{font-size:17px;max-width:300px;color:var(--muted)}.direction-map figcaption{display:flex;gap:20px;align-items:center;padding:24px 0;margin-top:36px;border-top:1px solid var(--line);font-size:17px}.direction-map figcaption>span{font-size:37px;color:var(--green)}
.month-plan figcaption{display:flex;align-items:baseline;gap:30px;padding-bottom:26px}.month-plan figcaption strong{font-size:24px;font-weight:500;white-space:nowrap}.month-plan figcaption span{font-size:15px;max-width:560px;color:var(--muted)}.week-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;list-style:none;padding:0;margin:0}.week-line li{border-top:2px solid var(--green);padding-top:16px}.week-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.week-line h3{font-size:25px;line-height:1.2;margin:23px 0 16px}.week-line p{font-size:16px;color:var(--muted)}.between-line{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:34px;padding:22px 0}.between-line>span{color:var(--green);font-size:34px}.between-line p{font-size:16px;max-width:860px}.between-line strong{font-weight:500}
.support-section{background:#172d24;color:#f1f5ee}.support-section .section-header .label{color:#bdd6c4}.support-map{display:grid;grid-template-columns:1fr 1fr}.support-role{padding:10px 55px 35px 0}.student-role{border-left:1px solid #597064;padding-left:55px;padding-right:0}.role-label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#b7d8c2;margin-bottom:20px}.support-role h3{font-size:clamp(32px,4vw,48px);margin-bottom:25px}.support-role p{color:#d0ded4;font-size:18px}.curator-bridge{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:55px;border-top:1px solid #597064;border-bottom:1px solid #597064;padding:30px 0}.curator-bridge .role-label{margin-bottom:12px}.curator-bridge h3{font-size:32px}.curator-bridge p{font-size:17px;color:#d0ded4}.support-section .aside{border-color:#9abc9f;color:#c7d7cb}.support-bottom{font-size:21px;max-width:860px;margin-top:32px;line-height:1.5}
@media(max-width:900px){.week-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.direction-stages li{padding-right:20px}.direction-stages h3{font-size:25px}.support-role{padding-right:30px}.student-role{padding-left:30px;padding-right:0}.curator-bridge{gap:30px}}
@media(max-width:600px){.direction-stages{grid-template-columns:1fr}.direction-stages li{padding:0 0 35px 67px}.direction-stages li:before{top:0;bottom:0;left:22px;width:1px;height:auto;right:auto}.direction-stages li:last-child:before{bottom:35px}.direction-stages li:not(:last-child):after{content:'↓';left:14px;right:auto;top:auto;bottom:10px;font-size:22px;line-height:24px}.stage-point{position:absolute;left:0;top:0;margin:0}.stage-question{font-size:19px;padding-top:3px}.direction-stages h3{font-size:26px}.direction-map figcaption{margin-top:0;align-items:flex-start;font-size:16px}.month-plan figcaption{display:block}.month-plan figcaption span{display:block;margin-top:12px}.week-line{grid-template-columns:1fr}.week-line h3{margin-top:12px}.between-line{align-items:flex-start;gap:15px}.support-map{grid-template-columns:1fr}.support-role,.student-role{padding:0 0 30px;border-left:0}.student-role{border-top:1px solid #597064;padding-top:30px}.support-role p{font-size:17px}.curator-bridge{grid-template-columns:1fr;gap:20px}.support-bottom{font-size:20px}.section-intro .label{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
