/* Shared beige palette from the GPA portal. Layout and motion live in their own files. */
:root{--ink:#352c24;--navy:#352c24;--muted:#685c4f;--paper:#f4eee3;--cream:#eee4d3;--sage:#eee4d3;--warm:#805a27;--warm-dark:#604122;--line:#d7c8b1}
body{background:var(--paper)}
.task-reel{max-width:900px;margin:0 auto 28px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffaf1}.task-reel img{display:block;width:100%;height:auto}.task-reel figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;border-top:1px solid var(--line);font-size:14px}.task-reel-counter{white-space:nowrap;color:var(--warm);font-variant-numeric:tabular-nums}@media(max-width:600px){.task-reel figcaption{font-size:12px;padding:16px}}
.header{background:#faf6edf5;color:#58432c;border-color:var(--line)}
.header .brand-icon{background:linear-gradient(145deg,#f4e8d0,#e8d6b5);color:#64451e;border-color:#c1a77e}
.header .brand small{color:#685c4f}.header>nav a:hover{color:#805a27}
.header .button,.hero-actions .button,.program-dark .button,.about-copy .button,.enroll-section .button,.mobile-enroll{background:#79562e;color:#fffaf1}
.header .button:hover,.hero-actions .button:hover,.program-dark .button:hover,.about-copy .button:hover,.enroll-section .button:hover,.mobile-enroll:hover{background:#604122;color:#fffaf1}
.hero.wrap{background:#f4eee3;color:#654623}
.hero::before{background:radial-gradient(ellipse at 85% 48%,#eadcc2 0,transparent 58%)}
.hero .eyebrow,.hero h1 em{color:#805a27}.hero .status-dot{background:#946a2e}
.hero-question{color:#58432c}.hero-intro,.hero-reassurance{color:#685442}
.hero-actions .button-outline{background:transparent;color:#654623;border-color:#aa9475}
.hero-actions .button-outline:hover{background:#ece0cc;color:#654623}
.hero-format{border-color:var(--line)}.hero-format>span{color:#654623}.hero-format small{color:#685c4f}
.portrait-frame{background:#fffaf1;box-shadow:0 20px 75px #614b2015}
.portrait-label{background:#fffaf1;color:#58432c}
.hero-person .portrait-label{max-width:calc(100% - 48px);line-height:1.5;border-radius:14px}
.hero-person figcaption{background:#eadcc2;color:#50391f;box-shadow:0 13px 28px #614b2012}
.hero-person figcaption p{color:#685442}.hero-person figcaption a{border-color:#aa8960}
.hero-person figcaption a{position:static;display:inline-block;margin-top:12px}
/* Keep portrait and small text on an untransformed pixel grid. */
.hero-person .portrait-frame,.hero-person figcaption,.hero-person .portrait-label{transform:none}
.hero-person{animation:none;max-width:600px}
.experience-note,.action-note,.material-sheet:first-child,.material-sheet:last-child{transform:none}
.hero-person figcaption{margin:0;padding:24px}
.hero-person figcaption p{font-size:14px;line-height:1.7}
.hero-person figcaption a{font-size:12px}
.hero-person .portrait-label{font-size:12px}
.hero-intro{font-size:16px}
@media(max-width:600px){.hero-person figcaption{padding:20px}.hero-person figcaption p{font-size:13px}.hero-person .portrait-label{font-size:11px}.hero-intro{font-size:14px}}
.portrait-orbit{border-color:#aa896080}.portrait-side{color:#685c4f}
.confidence-band{background:#e9dfce;border-color:var(--line)}.confidence-band p{color:#50391f}.confidence-band span{color:#685442}.confidence-band a{border-color:#aa8960}
.trust-strip{background:#faf6ed}.situation-number{color:#805a27}
.about-section,.process-section{background:#eee4d3;border-color:var(--line)}.about-copy blockquote{color:#654623}
.experience-note{background:#79562e;color:#fffaf1}.experience-note>strong{color:#fffaf1}
.action-note{background:#eadcc2}.action-note p,.action-note strong{color:#654623}
.step,.material-sheet{background:#fffaf1;border-color:var(--line)}.step[open]{background:#ece0cc;border-color:#aa9475}
.step-number,.step-toggle,.portal-icon,.sheet-heading,.material-type{color:#685442}.step-number{border-color:#bda77e}
.teacher-margin{border-color:#aa8960}.portal-note{border-color:var(--line)}
.apple-example i{background:#946a2e}.apple-example i::before{background:#685442}.apple-group,.apple-remainder{border-color:#aa9475}.apple-remainder{background:#f4eee3}
.program-card,.program-dark{background:#fffaf1;color:#352c24;border-color:var(--line)}
.program-dark p,.program-dark .price-row>span,.lesson-format span,.program-dark .lesson-format span{color:#685c4f}
.program-symbol,.program-dark .program-symbol,.program-dark .topic-list li::before{color:#805a27}
.program-dark .pill{color:#654623;border-color:#aa9475}.lesson-format,.program-dark .lesson-format{border-color:var(--line)}
.practice-panel{background:#e9dfce}.practice-label span{color:#685c4f}.quiz pre{background:#58432c}.code-purple{color:#f4dfb8}
.quiz-options button:hover{background:#ece0cc;border-color:#aa9475}
.quiz-options .correct,.quiz-options .correct:hover{background:#eadcc2;border-color:#805a27;color:#50391f;box-shadow:inset 0 0 0 1px #805a27}
.quiz-options .incorrect,.quiz-options .incorrect:hover{background:#f4eee3;border-color:#aa9475;color:#685442}
.success>span{background:#eadcc2;color:#805a27}
.enroll-section{background:#eee4d3;color:#352c24;border-top:1px solid var(--line)}
.enroll-section .eyebrow,.enroll-section h2 span{color:#805a27}.enroll-section p,.enroll-section .small{color:#685442}
.enroll-note>span{color:#805a27;border-color:#aa9475}
.form-card{background:#fffaf1;border:1px solid var(--line)}
.form-card input:not([type=checkbox]),.form-card select,.form-card textarea{background:#fffaf1;border-color:#aa9475;color:#352c24}
.form-card input::placeholder,.form-card textarea::placeholder{color:#786958}
.footer{background:#e9dfce;border-top:1px solid var(--line)}.back-top{background:#eee0c8;color:#50391f;border-color:#aa8960}
.learning-universe{background:#eadcc2 radial-gradient(ellipse at 75% 45%,#fffaf0,transparent 65%);border-color:var(--line)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#805a27}
.task-films{display:grid;grid-template-columns:1fr 1fr;gap:24px}.task-film{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fffaf1;padding:24px}.task-film>p{font-size:13px;margin:12px 0 22px}.task-film img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--line)}.task-play{margin-top:18px;min-height:44px;font-size:12px}.task-play[hidden]{display:none}.task-film details{margin-top:20px;font-size:13px}.task-film summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.task-film details p{margin-top:14px}.task-film h3{font-size:20px}@media(max-width:800px){.task-films{grid-template-columns:1fr}.task-film{padding:20px}}@media(prefers-reduced-motion:reduce){.task-film img{scroll-behavior:auto}}
:root { --footer-gold: #ad8751; }
.teacher-footer{background:#ebe0cc;color:#453622;border-top:1px solid #d5c3a6;padding:66px 0 25px}
.footer-main{display:grid;grid-template-columns:1.35fr .9fr 1fr;gap:56px;align-items:start}
.teacher-footer .brand{display:inline-flex;text-decoration:none}
.teacher-footer .brand-icon{border-color:#ad8751;background:#f5ecda}
.teacher-footer .brand small{font-size:9px;letter-spacing:.12em}
.footer-statement{font-size:clamp(28px,3.1vw,44px);line-height:1.2;margin:30px 0 20px;letter-spacing:-.035em}
.footer-statement em{font-family:Georgia,serif;font-weight:400;color:#805a27}
.footer-role,.footer-invite>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#685641}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:10px}
.footer-links h2{font-size:13px;letter-spacing:.04em;margin:0 0 12px;color:#70522e}
.footer-links a{font-size:15px;text-decoration:none;text-underline-offset:5px}
.teacher-footer a:hover{text-decoration:underline}
.footer-invite{border-left:1px solid #c9b28d;padding:10px 0 0 34px}
.footer-invite h2{font-size:28px;line-height:1.25;margin:18px 0 16px;letter-spacing:-.02em}
.footer-invite .eyebrow{font-size:10px}
.footer-invite .button{margin-top:22px;gap:30px}
.teacher-footer .footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid #cdbb9d;display:flex;align-items:center;justify-content:space-between;gap:22px}
.footer-bottom p{font-size:12px;color:#685641;margin:0}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:14px 24px}
.footer-bottom a,.footer-bottom .analytics-settings{font-size:12px;color:#685641;text-decoration:none;line-height:1.6}
.teacher-footer a:focus-visible,.teacher-footer button:focus-visible{outline:2px solid #805a27;outline-offset:5px}
@media(max-width:1050px){.footer-main{gap:28px;grid-template-columns:1.2fr 1fr}.footer-intro{grid-column:1/-1}.footer-statement{margin-top:24px}.teacher-footer .footer-bottom{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.teacher-footer{padding:42px 0 100px}.footer-main{grid-template-columns:1fr;gap:34px}.footer-intro{grid-column:auto}.footer-invite{padding:28px 0 0;border-left:0;border-top:1px solid #c9b28d}.footer-links{gap:4px}.footer-links a{padding:9px 0}.footer-bottom nav{flex-direction:column;gap:4px}.footer-bottom a,.footer-bottom .analytics-settings{padding:9px 0}.teacher-footer .footer-bottom{margin-top:34px}}

.teacher-footer .footer-bottom nav{padding-right:44px}
/* A restrained moving highlight, without transforming text or hit targets. */
:is(button,.button,.back-top):not(:disabled){background-image:linear-gradient(112deg,transparent 35%,rgba(255,242,206,.06) 43%,rgba(255,246,222,.32) 49%,rgba(255,242,206,.08) 55%,transparent 64%);background-size:280% 100%;background-position:160% 0;background-repeat:no-repeat;transition:box-shadow .25s,border-color .25s,filter .25s}
.button:not(.button-outline){background-color:#79542c;background-image:linear-gradient(112deg,transparent 35%,#ffefcc12 43%,#fff0d64d 49%,#ffe6b514 55%,transparent 64%),linear-gradient(135deg,#694721,#926a37 55%,#755027);background-size:280% 100%,100% 100%;background-position:160% 0,0 0;color:#fff9ef;border:1px solid #a37b47;border-radius:12px;box-shadow:inset 0 1px 0 #ffe6ba4d,0 5px 14px #65462122;text-decoration:none!important}
.button:not(.button-outline):hover{filter:brightness(1.08);box-shadow:inset 0 1px 0 #ffe6ba66,0 7px 20px #65462130;color:#fff9ef}
.button:not(.button-outline):active{box-shadow:inset 0 2px 5px #39261333,0 2px 6px #65462122}
@media(prefers-reduced-motion:no-preference){:is(button,.button,.back-top):not(:disabled){animation:golden-button-light 6s ease-in-out infinite}.hero-actions .button:first-child,.header>.button,.mobile-enroll{animation-duration:4.8s}.orbit-topic{animation-delay:1.5s}.quiz-options button:nth-child(2n){animation-delay:1s}@keyframes golden-button-light{0%,30%{background-position:160% 0,0 0}75%,100%{background-position:-80% 0,0 0}}}
@media(prefers-reduced-motion:reduce){:is(button,.button,.back-top):not(:disabled){animation:none;background-position:30% 0,0 0}}
@supports(offset-path:ellipse(34% 36% at 50% 50%)){@media(prefers-reduced-motion:no-preference){.motion-enabled .orbit-topics .orbit-topic{animation:topic-orbit 60s linear infinite,golden-button-light 6s ease-in-out infinite}.motion-enabled .orbit-topics .topic-understanding{animation-delay:-45s,0s}.motion-enabled .orbit-topics .topic-practice{animation-delay:-25s,1s}.motion-enabled .orbit-topics .topic-confidence{animation-delay:-5s,2s}}}
