:root{--paper:#f6f3eb;--paper-dark:#eeeade;--ink:#15362e;--ink-soft:#455d54;--forest:#163f35;--forest-deep:#0e2d26;--line:#d8dbcf;--sage:#c5d6c6;--lime:#d7e8ae;--gold:#dcaa70;--white:#fffefa;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--gold);color:var(--forest-deep)}:focus-visible{outline:3px solid #9a7548;outline-offset:4px}.shell{width:min(100% - 80px,1330px);margin-inline:auto}.skip-link{position:absolute;left:12px;top:-60px;background:var(--forest);color:white;padding:12px 18px;z-index:100}.skip-link:focus{top:12px}.topline{height:34px;background:var(--forest-deep);color:#e1e9dd;display:flex;align-items:center;justify-content:space-between;padding:0 max(40px,calc((100vw - 1330px)/2));font-size:10px;letter-spacing:.16em;text-transform:uppercase}.site-header{position:relative;z-index:10;border-bottom:1px solid var(--line);background:var(--paper)}.nav-wrap{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:13px;font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:.8;white-space:nowrap}.brand small{display:block;margin-top:9px;font:700 9px "DM Sans",sans-serif;letter-spacing:.24em;text-transform:uppercase}.brand-mark{width:35px;height:35px;display:flex;align-items:flex-end;gap:3px;transform:rotate(-23deg)}.brand-mark i{display:block;width:10px;border-radius:8px 8px 2px 2px;background:var(--forest)}.brand-mark i:nth-child(1){height:18px}.brand-mark i:nth-child(2){height:29px}.brand-mark i:nth-child(3){height:24px}.primary-nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.primary-nav>a:not(.nav-cta){position:relative;padding:8px 0}.primary-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:currentColor;transition:right .22s ease-out}.primary-nav>a:not(.nav-cta):hover::after{right:0}.nav-cta{background:var(--forest);color:white;padding:16px 20px;border-radius:2px;transition:background .2s ease,transform .2s ease}.nav-cta:hover,.button-dark:hover{background:#285d4d;transform:translateY(-2px)}.nav-cta span,.button span{margin-left:12px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;min-height:690px;gap:54px;padding-top:55px;padding-bottom:65px}.hero-copy{padding:28px 0 10px}.eyeline,.overline{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.eyeline{display:flex;align-items:center;gap:14px;margin:0 0 30px;color:#587265}.eyeline span{display:block;width:40px;height:1px;background:#85a795}h1,h2,h3,p{margin-top:0}h1,h2,.teacher-art>span{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(62px,6.4vw,104px);line-height:1.02;margin-bottom:30px}h1 em,h2 em,.teacher-art em{font-weight:400;font-style:italic;color:#73947b}.hero-lede{max-width:575px;color:var(--ink-soft);font-size:17px;line-height:1.8;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 20px;font-size:13px;font-weight:700;border-radius:2px;transition:transform .2s ease-out,background .2s ease-out;color:white}.button:active,.nav-cta:active{transform:scale(.98)}.button-dark{background:var(--forest);color:white}.text-link{display:inline-flex;gap:22px;align-items:center;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span{transition:transform .2s ease}.text-link:hover span{transform:translate(2px,-2px)}.hero-note{display:flex;align-items:center;gap:10px;color:#577264;font-size:12px;margin:42px 0 0}.hero-note span{width:6px;height:6px;border-radius:50%;background:#a0bd79;box-shadow:0 0 0 4px #e7edd8}
.hero-art{height:560px;position:relative;background:#b8d0bc;padding:25px;overflow:hidden}.art-frame{height:100%;border:1px solid rgba(17,65,48,.45);position:relative;overflow:hidden;background:#cfddc7}.art-small{position:absolute;font-size:9px;font-weight:700;letter-spacing:.2em;color:#3e664f;z-index:5}.art-top{top:21px;left:24px}.art-bottom{bottom:21px;right:20px}.orbit{position:absolute;border:1px solid #769c80;border-radius:50%;width:560px;height:560px;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-two{width:420px;height:420px}.art-center{position:absolute;left:50%;top:54%;width:310px;height:320px;transform:translate(-50%,-50%)}.sun{position:absolute;width:258px;height:258px;border-radius:50%;background:#e6bd82;left:26px;top:13px;box-shadow:inset -18px -20px 35px #d9aa6d}.book{position:absolute;height:190px;width:65px;bottom:13px;background:var(--forest);border:2px solid #224f40;box-shadow:12px 17px 18px rgba(27,64,48,.15);transform-origin:bottom center}.book::after{content:"";position:absolute;left:11px;right:11px;top:15px;height:1px;background:#bccead;box-shadow:0 6px #bccead}.book-one{left:58px;transform:rotate(-27deg);background:#f0e6ce}.book-two{left:122px;transform:rotate(-2deg);height:220px;background:#2a604e}.book-three{left:180px;transform:rotate(26deg);height:183px;background:#e6b675}.art-word{position:absolute;font:italic 26px Fraunces,Georgia,serif;color:#285341}.word-one{left:7%;top:20%;transform:rotate(-9deg)}.word-two{right:4%;top:31%;transform:rotate(8deg)}.word-three{left:9%;bottom:20%;transform:rotate(-7deg)}.art-corner{position:absolute;bottom:0;left:0;background:var(--forest);color:#fff;padding:16px 21px;font-size:11px;font-weight:700;letter-spacing:.02em}.art-corner span{margin-left:28px}.ribbon{height:62px;overflow:hidden;background:var(--forest);color:#e7eee0;display:flex;align-items:center}.ribbon>div{white-space:nowrap;min-width:max-content;font:500 21px Fraunces,Georgia,serif;letter-spacing:-.02em;animation:move 38s linear infinite}.ribbon span{color:var(--gold);margin:0 50px;font:19px "DM Sans",sans-serif}@keyframes move{to{transform:translateX(-50%)}}
.section{padding:130px 0;scroll-margin-top:20px}.overline{display:block;color:#6a8774;margin-bottom:27px}.section h2{font-size:clamp(45px,4.2vw,69px);line-height:1.12;margin-bottom:25px}.section p{color:var(--ink-soft);line-height:1.75}.intro-grid{display:grid;grid-template-columns:1fr 3fr;gap:80px}.section-side{display:flex;align-items:flex-start;gap:25px;padding-top:10px}.section-side .overline{white-space:nowrap;margin:0}.side-line{height:1px;background:var(--line);flex:1;margin-top:7px}.intro h2{max-width:950px}.large-copy{max-width:710px;font-size:18px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:75px}.principles article{border-top:1px solid #aabcae;padding-top:23px}.principle-mark{font:32px Fraunces,Georgia,serif;color:#658b72;display:block;height:58px}.principles h3{font:500 24px Fraunces,Georgia,serif;margin:0 0 8px;letter-spacing:-.02em}.principles p{font-size:13px;line-height:1.7;margin:0}
.curricula{background:#e7ece0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:80px;margin-bottom:55px}.section-heading h2{margin:0}.section-heading p{max-width:390px;margin:0 0 6px;font-size:14px}.pathways{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pathway{background:var(--white);min-height:375px;padding:32px;display:flex;flex-direction:column;transition:transform .25s ease-out,box-shadow .25s ease-out}.pathway:hover{transform:translateY(-7px);box-shadow:0 16px 32px rgba(22,63,53,.12)}.pathway:nth-child(2){background:#d1dfce}.pathway:nth-child(3){background:#e8d9c4}.path-top{display:flex;justify-content:space-between;align-items:flex-start;color:#5e7866;font-size:10px;font-weight:700;letter-spacing:.14em}.path-top b{font:500 68px Fraunces,Georgia,serif;line-height:1;color:#96b29a;letter-spacing:-.07em}.pathway:nth-child(3) .path-top b{color:#bb9b75}.pathway h3{font:500 39px Fraunces,Georgia,serif;letter-spacing:-.03em;margin:52px 0 9px}.pathway p{font-size:14px;margin:0 0 28px}.pathway a{margin-top:auto;border-top:1px solid #a8b6a6;padding-top:17px;font-size:12px;font-weight:700;display:flex;justify-content:space-between}.pathway a span{font-size:18px;line-height:1}
.courses{background:var(--paper)}.courses-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:12%;align-items:start}.courses h2{margin-bottom:26px}.courses-grid>div:first-child>p{max-width:440px;margin-bottom:36px}.course-list{border-top:1px solid #9cad9e}.course-list>div{display:grid;grid-template-columns:50px 1fr;column-gap:18px;padding:26px 0;border-bottom:1px solid #bfcbbd}.course-list span{grid-row:span 2;font-size:11px;color:#63816d;padding-top:5px}.course-list h3{font:500 25px Fraunces,Georgia,serif;margin:0 0 6px}.course-list p{font-size:12px;margin:0}.journey{background:#f0eadc}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.journey-grid>div>p{max-width:410px}.journey-list{list-style:none;margin:0;padding:0;border-top:1px solid #b9baaa}.journey-list li{display:grid;grid-template-columns:60px 1fr;padding:23px 0;border-bottom:1px solid #b9baaa}.journey-list li>span{font-size:11px;color:#8a937e;padding-top:5px}.journey-list h3{font:500 24px Fraunces,Georgia,serif;margin-bottom:5px}.journey-list p{font-size:13px;margin:0}
.teachers{background:#d2dfd0}.teachers-grid{display:grid;grid-template-columns:.9fr 1fr;gap:12%;align-items:center}.teacher-art{height:490px;background:#b4cbb2;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.teacher-art>span{position:relative;z-index:2;font-size:clamp(38px,3.6vw,57px);line-height:1.14;text-align:center}.teacher-art em{color:#426c56}.teacher-ring{position:absolute;width:370px;height:370px;border:1px solid #759c78;border-radius:50%;box-shadow:0 0 0 55px #b4cbb2,0 0 0 56px #759c78,0 0 0 130px #b4cbb2,0 0 0 131px #759c78}.teacher-art small{position:absolute;bottom:24px;letter-spacing:.17em;font-size:10px;font-weight:700}.teachers-grid>div:last-child>p{max-width:500px}.teacher-aside{border-top:1px solid #abc0ac;padding-top:22px;margin-top:35px;font-size:13px}
.pricing{background:var(--forest);color:white}.pricing .overline{color:#b3cfae}.pricing h2 em{color:var(--lime)}.pricing p{color:#c8d9cc;max-width:430px}.pricing-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%}.price-panel{border-top:1px solid #83a58e}.price-row{display:flex;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid #83a58e}.price-row span{font-size:10px;letter-spacing:.17em;color:#a9c1a8;font-weight:700}.price-row h3{font:500 25px Fraunces,Georgia,serif;margin:11px 0 5px}.price-row p{font-size:13px;margin:0}.price-row strong{font:500 41px Fraunces,Georgia,serif;white-space:nowrap}.price-row strong small{font:400 13px "DM Sans",sans-serif}.price-panel .button{margin-top:26px;width:100%}.button-light{color:var(--forest);background:var(--lime)}.button-light:hover{background:#eff6d2;transform:translateY(-2px)}
.contact{background:var(--paper);overflow:hidden}.contact-grid{display:grid;grid-template-columns:.8fr 1fr;gap:10%}.contact-grid>div>p{max-width:380px}.contact-decoration{font:500 350px Fraunces,Georgia,serif;line-height:1;color:#e2e6d9;position:relative;margin-top:20px;letter-spacing:-.1em}.contact-decoration span{font:120px "DM Sans",sans-serif;position:absolute;left:160px;top:90px;color:#d1decb}.contact-form{background:var(--white);padding:43px;box-shadow:0 20px 55px rgba(25,59,44,.08);align-self:start}.contact-form h3{font:500 30px Fraunces,Georgia,serif;letter-spacing:-.02em;margin:0 0 6px}.contact-form>p{font-size:13px;margin-bottom:25px}.contact-form label{display:block;font-size:11px;font-weight:700;letter-spacing:.02em;margin-bottom:20px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;background:#f8f8f4;border:1px solid #d5ded2;border-radius:2px;color:var(--ink);padding:13px 12px;margin-top:8px;min-height:45px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.contact-form textarea{resize:vertical;min-height:90px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#5c8b71;box-shadow:0 0 0 3px #dfe9db}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#728a79}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form .button{width:100%;margin-top:3px}.contact-form .form-note{margin:14px 0 0;font-size:11px;line-height:1.5;color:#68806b}.site-footer{background:var(--forest-deep);color:#e1ecdf;padding-top:75px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:start;padding-bottom:75px}.site-footer .brand-mark i{background:#c5d8bd}.footer-grid p{font:400 26px Fraunces,Georgia,serif;line-height:1.3}.footer-grid>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:12px}.footer-grid>div a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{border-top:1px solid #48675a;padding:22px 0 28px;display:flex;justify-content:space-between;color:#a9bfb0;font-size:11px}
@media (max-width:1050px){.shell{width:min(100% - 50px,1330px)}.primary-nav{gap:18px}.hero{gap:28px;min-height:620px}.hero-art{height:520px}.hero-lede{font-size:15px}.intro-grid{grid-template-columns:1fr;gap:30px}.section-side{max-width:280px}.courses-grid,.journey-grid{gap:7%}.contact-grid{gap:5%}}
@media (max-width:760px){.shell{width:min(100% - 38px,600px)}.topline{padding:0 19px}.topline span:last-child{display:none}.nav-wrap{min-height:76px}.brand{font-size:27px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;background:transparent;border:0;padding:8px;z-index:12}.menu-toggle span{height:2px;width:23px;background:var(--forest);transition:transform .2s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px 19px 30px;box-shadow:0 18px 30px rgba(10,40,30,.12);flex-direction:column;align-items:stretch;gap:3px}.primary-nav.is-open{display:flex}.primary-nav a{padding:13px 4px!important}.primary-nav .nav-cta{margin-top:12px;padding:16px!important}.hero{grid-template-columns:1fr;gap:40px;padding-top:60px;padding-bottom:70px;min-height:0}.hero-copy{padding:0}h1{font-size:clamp(56px,13vw,82px)}.hero-art{height:470px}.section{padding:88px 0}.section h2{font-size:clamp(43px,9vw,62px)}.principles{grid-template-columns:1fr;margin-top:45px;gap:20px}.principles article{display:grid;grid-template-columns:65px 1fr;gap:0 15px}.principles .principle-mark{grid-row:span 2}.principles h3{margin-bottom:5px}.section-heading{display:block}.section-heading p{margin-top:24px;max-width:560px}.pathways{grid-template-columns:1fr;gap:10px}.pathway{min-height:310px}.pathway h3{margin-top:18px}.courses-grid,.journey-grid,.teachers-grid,.pricing-grid,.contact-grid{grid-template-columns:1fr;gap:48px}.teacher-art{height:430px}.contact-decoration{display:none}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid .brand{grid-column:span 2}.footer-bottom{gap:15px;flex-wrap:wrap}}
@media (max-width:460px){.hero-actions{align-items:flex-start;gap:24px;flex-direction:column}.hero-art{height:385px;padding:17px}.orbit{width:430px;height:430px}.orbit-two{width:330px;height:330px}.art-center{transform:translate(-50%,-50%) scale(.75)}.art-word{font-size:20px}.word-one{left:4%}.word-two{right:2%}.art-small{font-size:7px}.section h2{font-size:43px}.form-pair{grid-template-columns:1fr;gap:0}.contact-form{padding:26px}.footer-grid{grid-template-columns:1fr}.footer-grid .brand{grid-column:span 1}.footer-grid>div{max-width:300px}.price-row strong{font-size:31px}.teacher-art>span{font-size:39px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ribbon>div{animation:none}.pathway,.button,.nav-cta,.text-link span{transition:none}}
.hero-art{background:#d5c8b1 url('./assets/hero-books.webp') center 52%/cover no-repeat;padding:0}
.hero-art .art-frame{display:none}
.hero-art .art-corner{background:rgba(14,45,38,.94)}
.contact-form .form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;margin:0}
.contact-form .button:disabled{cursor:wait;opacity:.7;transform:none}
.contact-form .form-note[data-state=success]{color:#255f43;font-weight:700}
.contact-form .form-note[data-state=error]{color:#a12f25;font-weight:700}
.contact-form .time-hint{margin:-10px 0 22px;font-size:11px;line-height:1.5;color:#4f6b59}
.contact-form .form-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
