@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#faf8f2;--ink:#223e35;--muted:#65706a;--line:#dedfd5;--green:#24483d;--yellow:#f3d58e;--peach:#efbca9;--lilac:#d7d1eb;--sage:#dce6cf;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.12;letter-spacing:-.045em}a{color:inherit}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}a:hover{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b77826;outline-offset:5px}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.announcement{text-align:center;background:var(--green);color:var(--paper);font-size:12px;padding:9px 20px;letter-spacing:.02em}.announcement a{color:var(--yellow);margin-left:8px;text-decoration:underline;text-underline-offset:3px}.header{display:flex;align-items:center;justify-content:space-between;height:112px;gap:30px}.brand{display:flex;align-items:center;gap:11px;font-family:Manrope,sans-serif;font-weight:800;line-height:1.08;font-size:20px;letter-spacing:-1px;flex-shrink:0}.brandmark{position:relative;background:var(--green);color:var(--paper);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;font:italic 43px Georgia;padding-right:8px}.brandmark span{font:19px Arial;position:absolute;right:8px;top:2px;color:var(--yellow)}.brand-dot{color:#b97940}.header nav{display:flex;gap:30px;font-size:13px;font-weight:600}.header nav a:hover,.footer a:hover{color:#a36134}.new{font-size:8px;margin-left:4px;background:var(--yellow);padding:3px 5px;border-radius:4px;vertical-align:middle}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 23px;border-radius:8px;font-size:13px;font-weight:700;border:1px solid transparent;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.dark{background:var(--green);color:white}.dark:hover{background:#16382e}.small{padding:12px 18px}.cream{background:var(--paper);color:var(--ink)}.text-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:25px;align-items:center;min-height:603px;padding-bottom:55px;padding-top:36px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:20px;line-height:1.5}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9d6a36;vertical-align:middle;margin-right:7px}h1{font-size:clamp(43px,4.5vw,66px);font-weight:600;margin-bottom:23px;letter-spacing:-.065em}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}h1 em{color:#728260}.lede{max-width:455px;color:var(--muted);font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:23px;align-items:center;margin-top:29px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:33px}.hero-note p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.hero-note strong{font-weight:500;color:var(--ink)}.note-icon{width:36px;height:36px;background:#eeeade;border-radius:50%;display:grid;place-items:center;font-size:24px}.hero-art{position:relative;height:492px;margin-left:10px}.hero-art:before{content:'';position:absolute;inset:42px 8px 0 12px;background:#f0eddf;border-radius:49% 48% 37% 40%}.orbit-word{position:absolute;right:50px;top:4px;font-size:10px;font-weight:700;letter-spacing:.24em;transform:rotate(8deg)}.code-paper{position:absolute;top:44px;left:4px;width:295px;height:218px;background:var(--lilac);padding:15px 24px;border-radius:14px;transform:rotate(-7deg);box-shadow:0 16px 30px #283b3312}.window-dots{font-size:9px;letter-spacing:2px;border-bottom:1px solid #223e3529;padding-bottom:9px;color:#65597d}.code-label{display:block;font-size:8px;letter-spacing:.1em;margin-top:15px;font-weight:700}.code-paper code{font-size:13px;line-height:1.9;display:block;margin-top:9px;color:#38334f}.code-paper code span{color:#805181}.code-paper code b{color:#4c6e4f}.pixel-creature{position:absolute;font:23px/16px monospace;right:20px;bottom:13px;color:#655585}.chess-paper{position:absolute;top:126px;right:1px;width:220px;height:272px;background:var(--yellow);border-radius:12px;padding:22px;transform:rotate(9deg);box-shadow:0 15px 25px #283b331c}.chess-grid{width:176px;height:176px;border-radius:4px;background:conic-gradient(#d4b575 25%,#f8e6b4 0 50%,#d4b575 0 75%,#f8e6b4 0);background-size:44px 44px}.chess-piece{position:absolute;inset:0;text-align:center;top:15px;font:180px/1.1 Georgia;color:#24483d;text-shadow:5px 7px #24483d24}.chess-caption{font-size:9px;letter-spacing:.15em;font-weight:800;display:block;text-align:center;margin-top:18px}.creative-paper{position:absolute;bottom:15px;left:34px;width:210px;height:213px;background:#c47657;border-radius:12px;transform:rotate(-11deg);box-shadow:0 12px 30px #283b3318}.creative-paper svg{width:160px;height:160px;display:block;margin:auto}.creative-paper span{display:block;color:#fff5dd;text-align:center;font:italic 20px Georgia}.idea-badge{position:absolute;right:0;top:18px;width:116px;height:116px;border-radius:50%;background:var(--green);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:17px;line-height:1.1;transform:rotate(12deg)}.idea-badge em{font-size:22px}.idea-badge span{font-size:22px;margin-top:5px;color:var(--yellow)}.spark{position:absolute;font-size:43px}.spark-one{right:20px;bottom:14px;color:#9b684a}.spark-two{left:-16px;top:258px;color:#7b896b}.subject-strip{border-block:1px solid var(--line);background:#f2f1e9}.subject-strip .wrap{display:flex;justify-content:space-between;gap:15px;padding-block:22px;font-size:13px;font-weight:600}.section{padding-block:85px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}h2{font-size:clamp(30px,3vw,42px);font-weight:600;margin-bottom:0}.section-top .eyebrow{margin-bottom:12px}.section-top>p{font-size:13px;color:var(--muted);margin:0 0 3px}.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.filters{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);border-radius:30px;background:transparent;font-size:12px;padding:9px 18px;color:var(--ink)}.chip:hover{border-color:var(--green)}.chip.active{background:var(--green);color:white;border-color:var(--green)}.search{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:7px 13px;width:204px;flex-shrink:0}.search input{border:0;background:transparent;width:100%;min-width:0;font-size:12px;color:var(--ink)}.search input:focus{outline:none}.search:focus-within{outline:2px solid #b77826}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 24px}.course-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fffefa}.course-art{height:190px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.sage{background:var(--sage)}.lilac{background:var(--lilac)}.peach{background:var(--peach)}.butter{background:#f1dda1}.blue{background:#c9dfe7}.rose{background:#ebcdd4}.course-art:before,.course-art:after{content:'';position:absolute;width:150px;height:150px;border:1px solid #223e3526;border-radius:50%;top:30px;left:calc(50% - 110px)}.course-art:after{left:calc(50% - 40px)}.art-symbol{font:100px/1 Georgia;z-index:1;transform:rotate(-8deg)}.art-word{position:absolute;left:19px;top:16px;font-size:9px;font-weight:700;letter-spacing:.15em}.art-foot{position:absolute;right:15px;bottom:12px;font-size:10px;font-family:monospace}.course-body{padding:22px}.course-meta{font-size:10px;color:var(--muted);margin-bottom:11px;display:flex;align-items:center;gap:8px}.course-meta span:first-child{font-weight:700;color:var(--ink)}.course-card h3{font-size:20px;letter-spacing:-.035em;margin-bottom:11px}.course-card p{font-size:12px;color:var(--muted);margin-bottom:20px;min-height:39px}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px}.card-bottom span{font-size:10px;color:var(--muted)}.card-bottom button{background:none;border:0;color:var(--ink);font-size:12px;font-weight:700;padding:5px 0}.card-bottom button:hover{text-decoration:underline}.catalog-note{font-size:11px;color:var(--muted);text-align:center;margin:28px 0 0}.catalog-note a{text-decoration:underline}.empty{grid-column:1/-1;padding:45px;text-align:center;border:1px dashed var(--line);border-radius:15px}.approach{background:#e9eddf;padding:75px 0}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach h2{margin-bottom:23px}.approach-layout>div>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:380px}.approach-points{display:flex;flex-direction:column;justify-content:center}.approach-points article{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid #cdd4c3}.approach-points article:first-child{padding-top:0}.approach-points article:last-child{border:0;padding-bottom:0}.approach-points article>span{font:italic 24px Georgia;color:#728260}.approach-points h3{font-size:20px;margin-bottom:8px}.approach-points p{font-size:13px;color:var(--muted);margin:0}.practice-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.practice-card{grid-column:span 2;border:1px solid var(--line);border-radius:13px;padding:25px;transition:transform .18s,background .18s}.practice-card:hover{transform:translateY(-4px);background:#fffefa}.practice-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:13px;font-size:28px;margin-bottom:27px}.practice-card .eyebrow{font-size:9px;display:block;margin-bottom:12px}.practice-card h3{font-size:23px;max-width:250px;margin-bottom:12px}.practice-card p{font-size:13px;color:var(--muted);margin-bottom:25px}.practice-card.compact{grid-column:span 3;display:flex;align-items:center;gap:22px;padding:20px 25px}.compact>span{font:38px Georgia;color:#9b684a}.compact h3{font-size:18px;max-width:none;margin-bottom:5px}.compact p{margin:0;font-size:12px}.formats{background:#f0e9dc;border-radius:18px;padding:46px 50px}.formats h2{font-size:34px}.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:38px}.format-grid article>span{font-size:24px}.format-grid h3{font-size:18px;margin:13px 0 10px}.format-grid p{font-size:13px;color:var(--muted);margin:0}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.faq-section h2{font-size:35px}.faqs details{border-bottom:1px solid var(--line);padding:18px 0}.faqs details:first-child{padding-top:0}.faqs summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.faqs summary:after{content:'+';font-weight:400}.faqs details[open] summary:after{content:'−'}.faqs p{font-size:13px;color:var(--muted);margin:15px 0 5px}.faqs p a{text-decoration:underline}.final-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:46px 50px;background:var(--green);color:var(--paper);border-radius:16px}.final-cta .eyebrow{color:var(--yellow);font-size:9px;margin-bottom:12px}.final-cta h2{font-size:39px}.cta-star{font-size:65px;color:var(--yellow)}.final-cta>div{flex:1}.footer{display:flex;justify-content:space-between;align-items:center;padding-block:52px;gap:30px}.footer .brand{font-size:16px}.footer .brandmark{width:40px;height:40px;font-size:35px}.footer p{font-size:12px;color:var(--muted);margin:0}.footer small{display:block;margin-top:8px;font-size:10px}.footer>div{display:flex;gap:20px;font-size:11px}.plain{font-size:11px;color:var(--ink);background:none;border:0;padding:0;text-align:left}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;z-index:99;top:8px;left:8px;background:white;padding:10px}dialog{border:1px solid var(--line);border-radius:19px;max-width:570px;width:calc(100% - 32px);max-height:90vh;padding:40px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#122e27a6;backdrop-filter:blur(3px)}dialog h2{font-size:31px;margin-bottom:20px}dialog p{font-size:14px;color:var(--muted)}dialog .eyebrow{margin-top:15px}dialog a:not(.button){text-decoration:underline}.dialog-close{position:absolute;right:14px;top:10px;background:none;border:0;color:var(--ink);font-size:29px;width:35px;height:35px}.dialog-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:25px}.worksheet{max-width:760px;padding-top:45px;padding-bottom:70px}.worksheet h1{font-size:48px}.worksheet .intro{font-size:16px;color:var(--muted);margin-block:24px}.worksheet-tools{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.outline{border-color:var(--line);background:transparent;color:var(--ink)}.question{margin:20px 0;border:1px solid var(--line);border-radius:14px;padding:25px;background:#fffefa}.question legend{font-weight:700;font-size:17px;padding:0 8px}.question label{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:15px;cursor:pointer}.question label:hover{background:#f0eee4}.question input{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.feedback{margin:12px 0 0;font-size:14px;color:var(--green)}.feedback.wrong{color:#994825}.score{font-weight:700;margin:20px 0}.try-next{background:#e9eddf;padding:28px;border-radius:14px;margin-top:35px}.try-next h2{font-size:24px;margin-bottom:13px}.try-next p{font-size:14px}.back-link{display:block;font-size:13px;margin-bottom:35px}.print-answer{display:none}.share-status{font-size:12px;align-self:center}.worksheet footer{font-size:11px;color:var(--muted);margin-top:25px}
@media(min-width:1500px){.hero{min-height:650px}.hero-art{transform:scale(1.04)}}@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.header nav{gap:18px}.hero-art{transform:scale(.86);transform-origin:center right;margin-left:-35px}.hero-actions{gap:15px;flex-wrap:wrap}.hero{gap:0}.approach-layout{gap:55px}.course-art{height:170px}.final-cta{padding:35px}.cta-star{display:none}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.announcement{font-size:10px}.header{height:91px;gap:10px;flex-wrap:wrap}.header nav{display:none}.brand{font-size:17px}.brandmark{width:43px;height:43px}.header .button{font-size:11px;padding:10px 13px;gap:12px}.hero{grid-template-columns:1fr;padding-top:24px;padding-bottom:25px;min-height:0}.hero-copy{max-width:540px}.hero h1{font-size:clamp(43px,8.8vw,62px)}.hero .eyebrow{font-size:8px}.lede{font-size:15px}.hero-actions .button{font-size:12px;padding:14px 18px}.hero-note{margin-top:23px}.hero-art{margin:20px auto 0;width:min(470px,100%);height:465px;transform:scale(.88);transform-origin:top center;margin-bottom:-35px}.code-paper{width:270px}.chess-paper{width:190px;height:245px;right:0;top:150px;padding:18px}.chess-grid{width:154px;height:154px;background-size:38.5px 38.5px}.chess-piece{font-size:160px;top:14px}.creative-paper{left:10px;bottom:0}.idea-badge{right:5px}.subject-strip .wrap{justify-content:center;flex-wrap:wrap;gap:15px 25px;font-size:11px;padding-block:18px}.section{padding-block:55px}.section-top{display:block}.section-top>p{margin-top:18px}.section-top h2{font-size:30px}.catalog-tools{align-items:start;flex-direction:column}.search{width:100%}.chip{font-size:11px;padding:8px 14px}.course-grid{grid-template-columns:repeat(2,1fr);gap:15px}.course-art{height:150px}.course-body{padding:16px}.course-card h3{font-size:18px}.course-meta{font-size:9px;gap:4px;flex-wrap:wrap}.course-card p{min-height:58px}.card-bottom{align-items:start;gap:8px;flex-direction:column}.approach{padding:50px 0}.approach-layout{grid-template-columns:1fr;gap:30px}.approach h2{font-size:34px}.practice-grid{grid-template-columns:1fr 1fr;gap:15px}.practice-card{grid-column:span 1;padding:20px}.practice-card:nth-child(3){grid-column:span 2}.practice-card h3{font-size:21px}.practice-card.compact{grid-column:span 1;padding:20px;align-items:start;gap:12px;flex-direction:column}.compact h3{font-size:17px}.formats{padding:30px 25px}.formats h2{font-size:28px}.format-grid{grid-template-columns:1fr;gap:25px;margin-top:25px}.format-grid article{padding-top:15px;border-top:1px solid #d7d3c7}.format-grid article>span{float:left;margin-right:15px}.format-grid h3{margin:4px 0 12px}.faq-section{grid-template-columns:1fr;gap:30px}.final-cta{padding:30px 25px;align-items:start;flex-direction:column;gap:25px}.final-cta h2{font-size:32px}.footer{align-items:start;flex-wrap:wrap;padding-block:38px}.footer>div{width:100%;flex-wrap:wrap}.worksheet{padding-top:25px}.worksheet h1{font-size:37px}.question{padding:17px}.question legend{font-size:16px}dialog{padding:30px 24px}.worksheet .header{height:auto}}@media(max-width:380px){.hero-art{transform:scale(.77);width:360px;left:50%;margin-left:-180px;margin-bottom:-80px}.course-grid{grid-template-columns:1fr}.course-art{height:185px}.course-card p{min-height:0}.card-bottom{flex-direction:row}.practice-grid{grid-template-columns:1fr}.practice-card,.practice-card:nth-child(3),.practice-card.compact{grid-column:auto}.hero h1{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{body{background:white;color:black}.announcement,.header,.footer,.worksheet-tools,.back-link,.worksheet button,.try-next,.feedback,.score{display:none!important}.wrap{width:100%}.worksheet{padding:0;max-width:none}.worksheet h1{font-size:30px}.question{break-inside:avoid;background:white;border-color:#777;margin:15px 0}.question label{padding:5px}.print-answer{display:block;break-before:page}.print-answer h2{font-size:24px}.print-answer p{font-size:13px}}
