@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{--purple:#5221ad;--deep:#321065;--yellow:#ffdb45;--ink:#20172c;--muted:#675e72;--line:#e5e0eb;--light:#f5f2fa;--heading:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--body);font-size:1rem;line-height:1.6}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.1}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b074ff;outline-offset:5px}.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:absolute;top:-80px;left:20px;padding:12px 20px;background:var(--yellow);z-index:50}.skip-link:focus{top:10px}.section-wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.site-header{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 48px;border-bottom:1px solid var(--line);width:min(1440px,100%);margin:auto}.brand{display:flex;align-items:center;gap:12px;font-family:var(--heading);font-size:.94rem;line-height:1.3;font-weight:600}.brand strong{font-size:1.14rem}.brand-mark{width:43px;height:43px;display:flex;justify-content:center;align-items:center;border-radius:12px;background:var(--purple);color:var(--yellow);font-size:1.75rem;font-weight:800;line-height:1}.brand-mark span{font-size:1rem;align-self:flex-start;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:.9rem;font-weight:500}.site-header nav>a:hover{color:var(--purple)}.nav-label{font-size:.65rem;letter-spacing:.05em;vertical-align:super;font-weight:800;color:var(--purple);margin-left:3px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;padding:17px 25px;min-height:54px;line-height:1.25;font-size:.94rem;font-weight:700;transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.button-small{min-height:44px;padding:12px 21px;font-size:.88rem}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#3c2d50}.button-purple{color:#fff;background:var(--purple)}.button-purple:hover{background:var(--deep)}.button-yellow{background:var(--yellow);color:var(--deep)}.button-yellow:hover{background:#ffe875}.hero{padding-block:60px 64px;display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:.75rem;letter-spacing:.14em;line-height:1.6;font-weight:800}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:27px}.tiny-line{height:2px;width:27px;background:var(--purple)}h1{font-size:clamp(3.4rem,6.1vw,5.3rem);letter-spacing:-.06em;font-weight:800;line-height:1.08}.highlight{position:relative;color:var(--purple);white-space:nowrap;z-index:0}.highlight:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:14px;background:var(--yellow);z-index:-1;transform:rotate(-1deg)}.hero-description{margin-top:29px;font-family:var(--heading);font-size:1.36rem;line-height:1.55;font-weight:600;letter-spacing:-.02em}.hero-detail{margin-top:15px;max-width:440px;color:var(--muted);font-size:1.05rem;line-height:1.75}.hero-detail em,.app-layout em{font-style:normal;font-weight:600}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:29px}.text-link{font-size:.9rem;font-weight:700;border-bottom:1px solid var(--ink);padding-block:5px}.text-link:hover{color:var(--purple);border-color:var(--purple)}.hero-note{display:flex;align-items:center;gap:8px;margin-top:34px;font-size:.82rem;color:var(--muted)}.note-symbol{color:var(--purple);font-size:1.6rem;line-height:1}.book-stage{background:var(--purple);border-radius:16px;position:relative;padding:25px 30px 24px;min-height:550px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.stage-top{display:flex;justify-content:space-between;color:#e2d4ff;font-size:.67rem;letter-spacing:.11em;font-weight:700}.book-cover{max-height:380px;width:auto;max-width:75%;height:auto;object-fit:contain;align-self:center;margin-block:25px;transform:rotate(-7deg);box-shadow:15px 20px 24px #20074566;border-radius:2px}.stage-bottom{display:flex;align-items:center;justify-content:space-between;color:white;font-size:.9rem;line-height:1.5}.stage-bottom strong{font-family:var(--heading);font-weight:700}.stage-seal{color:var(--yellow);border:1px solid #cbb7ed;border-radius:50%;width:85px;height:85px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.66rem;letter-spacing:.08em;font-weight:800;line-height:1.35;transform:rotate(12deg)}.benefit-strip{display:flex;align-items:center;justify-content:center;gap:45px;flex-wrap:wrap;padding:22px 32px;border-block:1px solid var(--line);font-size:.74rem;font-weight:700;letter-spacing:.09em;background:#faf9fc}.benefit-strip span:nth-child(even){font-size:1.2rem;color:var(--purple);line-height:1}.book-section{padding-block:95px 80px}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;column-gap:80px}.section-heading>.eyebrow{grid-column:1/-1;color:var(--purple);margin-bottom:21px}.section-heading>p:last-child{color:var(--muted);font-size:1.1rem;max-width:375px;padding-bottom:4px}h2{font-size:clamp(2.1rem,3.4vw,3rem);letter-spacing:-.045em;line-height:1.17;font-weight:800}.purple-text{color:var(--purple)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:54px}.feature{border-top:1px solid var(--ink);padding-top:22px;display:flex;flex-direction:column;align-items:flex-start}.feature-number{color:var(--purple);font-size:.8rem;font-weight:700;letter-spacing:.04em;margin-bottom:27px}.feature h3{font-size:1.4rem;letter-spacing:-.025em;margin-bottom:13px}.feature p{font-size:1rem;color:var(--muted);line-height:1.75;max-width:330px}.feature-tag{display:inline-block;font-size:.66rem;letter-spacing:.06em;padding:5px 10px;background:var(--light);color:var(--purple);border-radius:4px;font-weight:700;margin-top:22px}.teacher-note{margin-top:58px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:1fr 3fr .45fr;align-items:center;gap:34px}.teacher-note>.eyebrow{color:var(--muted);font-size:.65rem}.teacher-note>p:nth-child(2){font-family:var(--heading);font-size:1.05rem;line-height:1.65}.teacher-note-mark{text-align:right;color:var(--purple);font-size:2.5rem;font-weight:700;line-height:1}.challenge-section{background:var(--deep);color:white;padding-block:80px}.challenge-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}.challenge-intro>.eyebrow{color:#ccafea;margin-bottom:23px}.challenge-intro h2{font-size:clamp(2.5rem,4vw,3.5rem)}.challenge-intro h2 span{color:var(--yellow)}.challenge-intro>p:nth-of-type(2){font-size:1.12rem;color:#e3d7f2;max-width:350px;margin-top:24px}.challenge-caption{font-size:.82rem;line-height:1.7;color:#c6b5dc;max-width:310px;margin-top:18px}.challenge-skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:31px}.challenge-skills span{border:1px solid #735598;padding:7px 12px;border-radius:5px;font-size:.75rem;color:#e8ddf7}.challenge-card{background:white;border-radius:13px;color:var(--ink);padding:27px 32px 20px;min-height:430px}.challenge-card-top{display:flex;justify-content:space-between;gap:15px;font-size:.66rem;font-weight:800;letter-spacing:.09em;color:var(--muted)}.progress-track{height:4px;background:var(--light);margin-top:18px;border-radius:2px;overflow:hidden}.progress-track>span{height:100%;width:33.333%;display:block;background:var(--purple);transition:width .3s}.question-context{font-size:.8rem;color:var(--muted);margin-top:27px}.challenge-card h3{font-size:1.3rem;line-height:1.55;letter-spacing:-.02em;margin-top:8px}.challenge-card label{display:block;font-size:.8rem;font-weight:600;margin-top:22px;margin-bottom:7px}.answer-row{display:flex;align-items:center;gap:13px}.answer-row input{width:100%;border:1px solid #cfc5df;border-radius:7px;padding:12px 15px;min-height:48px;font-size:1rem;background:#fcfbfe;min-width:0}.answer-row span{color:var(--muted);font-size:.8rem;min-width:38px}.challenge-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px}.challenge-actions .button{font-size:.8rem;min-height:44px;padding:12px 20px}.hint-button{border:0;background:transparent;font-size:.78rem;font-weight:600;padding:8px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.hint-button:hover{color:var(--purple)}.hint-text{font-size:.85rem;margin-top:15px;padding:12px;background:var(--light);border-radius:5px;color:var(--purple)}.answer-feedback{font-size:.88rem;font-weight:500;margin-top:12px;min-height:0}.answer-feedback:empty{margin-top:0}.answer-feedback.success{color:#266546}.answer-feedback.error{color:#aa3545}#next-button{margin-top:10px;font-size:.82rem;min-height:42px;padding:12px 20px}.challenge-card-footer{border-top:1px solid var(--line);margin-top:22px;padding-top:14px;font-size:.69rem;color:var(--muted)}.complete-icon{margin-top:25px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--purple);background:var(--yellow);width:54px;height:54px;border-radius:50%}#complete-view h3{font-size:1.8rem;margin-top:15px}#complete-view p{font-size:.96rem;color:var(--muted);margin-top:12px}#restart-button{margin-top:22px;font-size:.9rem}.app-section{padding-block:95px 84px}.app-heading{display:flex;align-items:center;gap:16px;margin-bottom:23px}.app-heading>.eyebrow{color:var(--purple)}.status-tag{font-size:.61rem;letter-spacing:.07em;font-weight:700;background:var(--yellow);border-radius:4px;padding:5px 8px}.app-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:105px;align-items:center}.app-layout>div>p{color:var(--muted);font-size:1.07rem;max-width:440px;margin-top:22px}.career-panel{background:var(--light);border:1px solid var(--line);padding:27px 30px;border-radius:12px}.app-layout .career-panel>.eyebrow{font-size:.65rem;color:var(--muted);margin-top:0}.career-list{list-style:none;padding:0;margin:15px 0 0}.career-list li{display:flex;align-items:center;gap:17px;font-family:var(--heading);font-size:1.04rem;font-weight:600;padding:10px 0;border-bottom:1px solid #ded5eb}.career-list li:last-child{border:0}.career-list li span{color:var(--purple);font-size:.7rem;letter-spacing:.08em}.app-layout .career-panel>.career-footnote{font-size:.77rem;margin-top:15px}.faq-section{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding-block:55px 95px;border-top:1px solid var(--line)}.faq-section .eyebrow{color:var(--purple);margin-bottom:17px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:19px 30px 19px 0;font-size:1rem;font-weight:600;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:2px;top:14px;font-size:1.45rem;font-weight:400;color:var(--purple)}details[open] summary:after{content:'−'}.faq-list details p{color:var(--muted);padding-bottom:20px;font-size:.94rem;line-height:1.8}.faq-list details p>a{text-decoration:underline;text-underline-offset:3px;color:var(--purple)}.closing-section{background:var(--purple);color:white;padding-block:54px}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing-inner .eyebrow{color:#d7c3f6;margin-bottom:17px}.closing-inner h2{font-size:clamp(2rem,3vw,2.7rem)}.site-footer{padding-block:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-brand{font-family:var(--heading);font-size:.88rem;font-weight:800}.site-footer p,.site-footer>span{font-size:.71rem;color:var(--muted)}
@media(min-width:1500px){.hero{padding-block:80px}.book-stage{min-height:590px}.book-cover{max-height:410px}}
@media(max-width:1050px){.section-wrap{width:calc(100% - 64px)}.site-header{padding-inline:32px}.site-header nav{gap:20px}.hero{gap:40px}.hero h1{font-size:4rem}.hero-actions{gap:17px}.hero-actions .button{padding-inline:20px}.hero-actions .text-link{font-size:.8rem}.book-stage{min-height:510px;padding-inline:22px}.book-cover{max-height:350px;max-width:82%}.benefit-strip{gap:22px}.section-heading,.challenge-layout,.app-layout,.faq-section{gap:50px}.challenge-card{padding-inline:25px}.teacher-note{grid-template-columns:1fr 3fr}.teacher-note-mark{display:none}}
@media(max-width:800px){.site-header{flex-wrap:wrap;padding-block:17px;row-gap:17px;min-height:100px}.site-header nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:15px;gap:30px}.hero{grid-template-columns:1fr 1fr;gap:25px;padding-top:40px}.hero h1{font-size:3rem}.hero-description{font-size:1.12rem}.hero-detail{font-size:.94rem}.hero .eyebrow{font-size:.65rem;margin-bottom:20px}.hero-actions{gap:15px}.hero-note{font-size:.72rem;margin-top:20px}.book-stage{min-height:450px;padding:20px 17px}.book-cover{max-height:280px;max-width:85%}.stage-top{font-size:.55rem;gap:10px}.stage-bottom{font-size:.73rem}.stage-seal{width:68px;height:68px;font-size:.55rem}.benefit-strip{gap:16px;font-size:.65rem}.benefit-strip span:nth-child(even){display:none}.book-section{padding-block:68px}.section-heading{gap:30px}.section-heading>p:last-child{font-size:1rem}.feature-grid{gap:24px}.feature h3{font-size:1.15rem}.feature p{font-size:.9rem}.teacher-note{gap:20px}.teacher-note>p:nth-child(2){font-size:.93rem}.challenge-layout{gap:32px;grid-template-columns:.9fr 1.1fr}.challenge-intro h2{font-size:2.4rem}.challenge-intro>p:nth-of-type(2){font-size:1rem}.challenge-card{padding-inline:22px}.challenge-card h3{font-size:1.15rem}.challenge-actions{flex-wrap:wrap;gap:4px}.app-layout{gap:35px}.app-layout>div>p{font-size:1rem}.career-panel{padding-inline:23px}.faq-section{gap:35px;grid-template-columns:.85fr 1.15fr}.site-footer p{display:none}}
@media(max-width:620px){html{scroll-padding-top:20px}.section-wrap{width:calc(100% - 40px)}.site-header{padding:16px 20px}.brand{font-size:.8rem}.brand strong{font-size:.96rem}.brand-mark{width:37px;height:37px;font-size:1.55rem}.brand-mark span{font-size:.9rem}.button-small{font-size:.76rem;padding:11px 14px;min-height:40px}.site-header nav{gap:25px;font-size:.79rem}.nav-label{font-size:.55rem}.hero{grid-template-columns:1fr;gap:36px;padding-block:40px}.hero h1{font-size:clamp(2.9rem,11.8vw,4.3rem)}.hero-description{font-size:1.2rem;margin-top:24px}.hero-detail{font-size:1rem;max-width:none}.hero-actions{margin-top:25px;gap:22px}.hero-actions .text-link{font-size:.85rem}.hero-note{font-size:.78rem}.book-stage{min-height:475px;width:100%;padding:23px 25px}.book-cover{max-height:325px;max-width:72%;margin-block:21px}.stage-top{font-size:.62rem}.stage-bottom{font-size:.87rem}.stage-seal{width:72px;height:72px;font-size:.6rem}.benefit-strip{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:10px;padding:20px;font-size:.61rem;letter-spacing:.07em}.book-section{padding-block:57px 52px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading>.eyebrow{margin-bottom:0}.section-heading>p:last-child{max-width:100%}h2{font-size:2.25rem}.feature-grid{grid-template-columns:1fr;gap:30px;margin-top:36px}.feature{display:grid;grid-template-columns:38px 1fr;column-gap:15px;padding-top:20px}.feature-number{grid-row:1/4;margin:2px 0 0}.feature h3{font-size:1.35rem;margin-bottom:11px}.feature p{font-size:1rem;max-width:none}.feature-tag{justify-self:start;margin-top:16px;font-size:.65rem}.teacher-note{display:block;padding-block:23px;margin-top:36px}.teacher-note>.eyebrow{margin-bottom:11px}.teacher-note>p:nth-child(2){font-size:1rem}.challenge-section{padding-block:55px}.challenge-layout{grid-template-columns:1fr;gap:29px}.challenge-intro h2{font-size:2.55rem}.challenge-intro>.eyebrow{font-size:.66rem;margin-bottom:18px}.challenge-intro>p:nth-of-type(2){max-width:none;margin-top:19px;font-size:1.06rem}.challenge-caption{max-width:none;font-size:.8rem;margin-top:13px}.challenge-skills{margin-top:20px}.challenge-card{padding:24px;min-height:400px}.challenge-card h3{font-size:1.2rem}.challenge-actions{flex-wrap:nowrap;gap:8px}.challenge-actions .button{padding-inline:15px;font-size:.8rem}.hint-button{font-size:.77rem;padding-inline:0}.app-section{padding-block:57px}.app-layout{grid-template-columns:1fr;gap:28px}.app-heading{gap:12px;margin-bottom:18px}.app-heading .eyebrow{font-size:.67rem}.status-tag{font-size:.57rem}.app-layout>div>p{max-width:none;margin-top:18px;font-size:1rem}.career-panel{padding:23px 25px}.faq-section{grid-template-columns:1fr;gap:27px;padding-block:45px 55px}.faq-section h2{font-size:2.1rem}.faq-section .eyebrow{font-size:.67rem;margin-bottom:14px}summary{font-size:.96rem}.closing-section{padding-block:40px}.closing-inner{flex-direction:column;align-items:flex-start;gap:27px}.closing-inner h2{font-size:2.05rem}.closing-inner .eyebrow{font-size:.67rem;margin-bottom:15px}.site-footer{padding-block:23px;align-items:flex-start;flex-direction:column;gap:8px}.site-footer>span{font-size:.69rem}}
/* Keep labels and secondary information readable at every viewport. */
.eyebrow,.nav-label,.stage-top,.stage-seal,.benefit-strip,.feature-tag,.teacher-note>.eyebrow,.challenge-skills span,.challenge-card-top,.challenge-card-footer,.app-heading .eyebrow,.status-tag,.app-layout .career-panel>.eyebrow,.career-list li span,.site-footer p,.site-footer>span,.challenge-intro>.eyebrow,.faq-section .eyebrow,.closing-inner .eyebrow{font-size:max(.75rem,1em)}
.eyebrow{font-size:.75rem}.nav-label,.stage-top,.stage-seal,.feature-tag,.teacher-note>.eyebrow,.challenge-card-top,.challenge-card-footer,.status-tag,.career-list li span,.site-footer p,.site-footer>span{font-size:.75rem}
.hero-detail,.feature p,.section-heading>p:last-child,.teacher-note>p:nth-child(2),.challenge-intro>p:nth-of-type(2),.app-layout>div>p,.faq-list details p,#complete-view p{font-size:1rem}
.question-context,.challenge-card label,.answer-row span,.hint-button,.hint-text,.answer-feedback,.challenge-actions .button,#next-button,.app-layout .career-panel>.career-footnote,.challenge-caption{font-size:.875rem}
.hero-note{font-size:.875rem}.challenge-card .button:disabled{opacity:.6;cursor:default;transform:none}
@media(max-width:620px){.benefit-strip{font-size:.75rem;letter-spacing:.02em}.challenge-actions{flex-wrap:wrap}.stage-top{font-size:.75rem;letter-spacing:.04em}.stage-seal{font-size:.75rem}.site-header nav{gap:18px}.nav-label{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
