:root{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fffefa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #111111;--muted: #65615c;--paper: #fffefa;--warm: #f8c166;--warm-pale: #fff5df;--line: #e8e3dc;--soft: #f3f3f1;--max: 1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}button,a{font:inherit}a{color:inherit}img{display:block;max-width:100%}.site-shell{overflow:hidden}.shell,.section-shell{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.section-shell{padding-block:104px}.site-header{position:sticky;top:0;z-index:20;background:var(--ink);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.header-inner{min-height:96px;display:flex;align-items:center;gap:40px}.brand{display:inline-flex;flex:0 0 auto;align-items:center;width:153px}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(20px,2.5vw,40px);margin-left:auto}.desktop-nav a,.footer-column a{text-decoration:none}.desktop-nav a{color:#ffffffd1;font-size:14px;transition:color .2s ease}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--warm)}.seo-mobile-nav{display:none}.button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;text-decoration:none;font-weight:700;font-size:14px;line-height:1;transition:transform .2s ease,background-color .2s ease,color .2s ease}.button:hover,.outline-button:hover{transform:translateY(-2px)}.button:focus-visible,.outline-button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #1769aa;outline-offset:4px}.button{padding:18px 22px;background:var(--warm);color:var(--ink)}.button svg,.outline-button svg,.text-link svg{width:18px;height:18px}.header-cta{margin-left:4px;white-space:nowrap}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;color:#fff;padding:8px;cursor:pointer}.menu-toggle>svg{width:25px;height:25px}.menu-bars{display:grid;gap:5px;width:27px}.menu-bars span{height:2px;width:100%;background:var(--warm)}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:center;gap:clamp(40px,7vw,100px);min-height:0;padding-top:64px;padding-bottom:68px}.eyebrow{margin:0 0 18px;color:#d89522;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero h1{max-width:620px;margin:0;font-size:clamp(48px,5.3vw,70px);line-height:.99;letter-spacing:-.065em;font-weight:800}.hero h1 span,.methodology h2 span{color:var(--warm)}.hero__intro{max-width:500px;margin:22px 0 0;color:var(--muted);font-size:16px;line-height:1.5}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:26px}.text-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--warm);padding-bottom:4px}.text-link:hover{color:#9d6c18}.hero__meta{display:flex;align-items:center;gap:8px;margin:22px 0 0;color:var(--muted);font-size:14px}.hero__meta svg{width:20px;height:20px;color:#d89522}.hero__visual{position:relative;min-height:390px;display:flex;align-items:end;justify-content:center}.hero__accent{position:absolute;z-index:0;right:0;bottom:18%;width:80%;height:45%;background:var(--warm)}.hero__visual img{position:relative;z-index:1;width:min(100%,640px);max-height:440px;object-fit:contain;object-position:center bottom}.courses{padding-top:86px}.section-heading--center{text-align:center}.courses-wordmark{width:min(300px,80vw);margin:0 auto 28px}.section-heading h2{max-width:650px;margin:0 auto;font-size:19px;line-height:1.45;font-weight:500;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:54px}.course-card{display:grid;grid-template-columns:minmax(115px,43%) minmax(0,57%);min-height:285px;background:var(--soft)}.course-card__image-wrap{min-height:285px;overflow:hidden;background:#d4d4d4}.course-card__image{width:100%;height:100%;object-fit:cover}.course-card__content{display:flex;flex-direction:column;align-items:flex-start;padding:24px 18px 18px}.course-card__eyebrow{margin:0 0 6px;font-size:13px}.course-card h3{margin:0;font-size:clamp(17px,1.8vw,24px);line-height:1.08;letter-spacing:-.04em}.course-card p{font-size:13px;line-height:1.35}.course-card__duration{margin:18px 0 0}.course-card__description{margin:2px 0 0;min-height:52px}.course-card__format{margin:auto 0 14px}.course-card__links{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%}.course-card__details-link{color:#8f6316;font-size:11px;font-weight:800;text-decoration:underline;text-decoration-color:var(--warm);text-underline-offset:4px}.button--small{padding:12px;font-size:11px;white-space:nowrap}.button--small svg{width:14px;height:14px}.section-action{display:flex;justify-content:center;margin-top:44px}.outline-button{padding:16px 22px;border:1px solid var(--warm);background:transparent;color:var(--ink)}.outline-button:hover{background:var(--warm)}.methodology{background:var(--warm-pale);border-block:1px solid #f5e5c3}.methodology__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.methodology__lead h2{max-width:500px;margin:0;font-size:clamp(32px,3.5vw,52px);line-height:1.04;letter-spacing:-.055em}.methodology__lead>p:not(.eyebrow){max-width:470px;margin:24px 0 28px;color:var(--muted);font-size:15px;line-height:1.6}.methodology__points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;border-left:1px solid #e6d8bb;padding-left:50px}.method-point{display:grid;grid-template-columns:48px 1fr;gap:16px}.method-point__icon{display:grid;place-items:center;width:44px;height:44px;color:#d89522}.method-point__icon svg{width:36px;height:36px}.method-point h3{margin:0;font-size:15px}.method-point p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.unit{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:center}.unit__copy h2{max-width:450px;margin:0;font-size:clamp(34px,4vw,56px);line-height:1.03;letter-spacing:-.06em}.unit__note{max-width:420px;margin:22px 0 28px;color:var(--muted);font-size:16px;line-height:1.55}.unit__details{display:grid;gap:18px;margin-bottom:28px}.unit__details p{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:14px;line-height:1.55}.unit__details svg{flex:0 0 auto;width:23px;height:23px;color:#d89522}.unit__details a{text-decoration:none;border-bottom:1px solid var(--warm)}.unit__image-wrap{position:relative;margin:0;background:#e5e2dc}.unit__image-wrap img{width:100%;aspect-ratio:1.22;object-fit:cover}.unit__image-wrap figcaption{position:absolute;left:18px;bottom:18px;padding:9px 12px;background:var(--warm);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contact-strip{background:var(--warm)}.contact-strip__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding-block:42px}.contact-strip__mark{display:grid;place-items:center;width:68px;height:68px;border:3px solid var(--ink);border-radius:50%}.contact-strip__mark svg{width:42px;height:42px}.contact-strip .eyebrow{margin-bottom:8px;color:#8b5c0b}.contact-strip h2{max-width:600px;margin:0;font-size:clamp(24px,3vw,38px);line-height:1.05;letter-spacing:-.045em}.button--dark{background:var(--ink);color:#fff}.button--dark:hover{background:#2b2b2b}.site-footer{color:#fff;background:var(--ink)}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr 1.1fr;gap:56px;padding-block:68px 54px}.brand--compact{width:135px}.footer-brand p,.footer-column p{max-width:245px;margin:22px 0 0;color:#ffffff9e;font-size:13px;line-height:1.6}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-column h2{margin:0 0 8px;color:var(--warm);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.footer-column a,.footer-column p{margin:0;color:#ffffffbf;font-size:13px;line-height:1.55}.footer-column a{display:inline-flex;align-items:center;gap:8px}.footer-column a:hover,.footer-bottom a:hover{color:var(--warm)}.footer-column a svg{width:16px;height:16px;color:var(--warm)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:18px 24px;border-top:1px solid rgba(255,255,255,.18);color:#ffffff8c;font-size:12px}.footer-bottom a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.footer-bottom svg{width:15px;height:15px}.seo-page main{background:var(--paper)}.seo-hero{padding-top:56px;padding-bottom:78px}.seo-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:48px;color:var(--muted);font-size:12px}.seo-breadcrumb a{text-decoration:underline;text-decoration-color:var(--warm);text-underline-offset:4px}.seo-breadcrumb span:last-child{color:#8d8982}.seo-hero h1{max-width:840px;margin:0;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.07em}.seo-hero h1 span{color:var(--warm)}.seo-hero>p:last-child{max-width:680px;margin:25px 0 0;color:var(--muted);font-size:18px;line-height:1.55}.seo-body{display:grid;gap:92px;padding-top:0;padding-bottom:104px}.seo-content-block{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:72px;align-items:center;padding:46px 0;border-block:1px solid var(--line)}.seo-content-block h2,.seo-section-title{max-width:640px;margin:0;font-size:clamp(30px,4vw,52px);line-height:1.02;letter-spacing:-.06em}.seo-content-block>div>p:last-child,.seo-content-block>p{max-width:650px;margin:22px 0 0;color:var(--muted);font-size:16px;line-height:1.65}.seo-section-title{margin-top:8px}.seo-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.seo-card{display:grid;grid-template-columns:145px 1fr;min-height:250px;background:var(--soft)}.seo-card>img{width:100%;height:100%;object-fit:cover}.seo-card>div{display:flex;flex-direction:column;align-items:flex-start;padding:25px 20px}.seo-card .eyebrow{margin-bottom:8px;font-size:10px}.seo-card h2{margin:0;font-size:23px;line-height:1;letter-spacing:-.05em}.seo-card p:not(.eyebrow){margin:17px 0 22px;color:var(--muted);font-size:13px;line-height:1.5}.seo-card .text-link{margin-top:auto;font-size:12px}.seo-facts{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}.seo-facts>div{display:grid;grid-template-columns:115px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.seo-facts dt{color:#9b6b17;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.seo-facts dd{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.seo-faq{padding-top:12px}.seo-faq h2{max-width:640px;margin:0;font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.06em}.seo-faq__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:30px;border:1px solid var(--line);background:var(--line)}.seo-faq__grid>div{min-height:150px;padding:23px;background:var(--paper)}.seo-faq__grid h3{margin:0;font-size:16px;line-height:1.2}.seo-faq__grid p{margin:11px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.seo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.seo-location{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.seo-location address{display:grid;gap:16px;margin:26px 0 28px;color:var(--muted);font-size:14px;font-style:normal;line-height:1.55}.seo-location address span,.seo-location address a{display:flex;align-items:flex-start;gap:10px}.seo-location address svg{flex:0 0 auto;width:22px;height:22px;color:#d89522}.seo-location address a{width:fit-content;color:var(--ink);text-decoration:underline;text-decoration-color:var(--warm);text-underline-offset:4px}.seo-location figure{position:relative;margin:0;background:#e5e2dc}.seo-location figure img{width:100%;aspect-ratio:1.22;object-fit:cover}.seo-location figcaption{position:absolute;left:18px;bottom:18px;padding:9px 12px;background:var(--warm);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.seo-contact-card{display:grid;gap:17px;justify-items:start;padding:28px;background:var(--warm-pale);border:1px solid #eed5a7}.seo-contact-card>a:first-child{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:17px;font-weight:800;text-decoration:none}.seo-contact-card>a:first-child svg{color:#b77b14}.seo-contact-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}@media(max-width:1040px){.shell,.section-shell{width:min(calc(100% - 56px),var(--max))}.header-inner{gap:24px}.desktop-nav{gap:20px}.hero{gap:34px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card:last-child{grid-column:1 / -1;max-width:50%;justify-self:center}.methodology__inner,.unit{gap:48px}.methodology__points{padding-left:32px;gap:28px}.footer-grid{gap:28px}}@media(max-width:760px){.shell,.section-shell{width:min(calc(100% - 32px),var(--max))}.header-inner{min-height:78px}.brand{width:133px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-menu{display:block;padding:8px 16px 24px;background:var(--ink);border-top:1px solid rgba(255,255,255,.12)}.mobile-menu nav{display:grid}.mobile-menu nav a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.13);color:#fff;text-decoration:none;font-size:17px}.mobile-menu .button{width:100%;margin-top:18px}.section-shell{padding-block:72px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:44px;min-height:auto;padding-top:64px;padding-bottom:64px}.hero h1{font-size:clamp(46px,15vw,70px)}.hero__intro{font-size:16px}.hero__actions{align-items:flex-start;flex-direction:column;gap:20px}.hero__visual{min-height:270px;margin-inline:-10px}.hero__visual img{max-height:330px}.hero__accent{right:5%;bottom:15%;width:75%;height:43%}.courses{padding-top:70px}.courses-wordmark{margin-bottom:22px}.section-heading h2{font-size:17px}.course-grid{grid-template-columns:1fr;gap:14px;margin-top:36px}.course-card,.course-card:last-child{grid-column:auto;max-width:none;min-height:235px}.course-card__image-wrap{min-height:235px}.course-card__content{padding:18px 15px 15px}.course-card h3{font-size:21px}.course-card__duration{margin-top:12px}.course-card__description{min-height:0}.course-card__format{margin-top:12px}.button--small{padding:11px 10px;font-size:10px}.seo-mobile-nav{display:grid;padding:8px 16px 20px;border-top:1px solid rgba(255,255,255,.12);background:var(--ink)}.seo-mobile-nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.13);color:#fff;font-size:16px;text-decoration:none}.seo-hero{padding-top:40px;padding-bottom:62px}.seo-breadcrumb{margin-bottom:34px;line-height:1.5}.seo-hero h1{font-size:clamp(42px,14vw,64px)}.seo-hero>p:last-child{font-size:16px}.seo-body{gap:60px;padding-bottom:72px}.seo-content-block,.seo-location{grid-template-columns:1fr;gap:36px;padding-block:34px}.seo-card-grid,.seo-faq__grid{grid-template-columns:1fr}.seo-card{grid-template-columns:38% 62%;min-height:230px}.seo-card>div{padding:20px 15px}.seo-card h2{font-size:20px}.seo-facts>div{grid-template-columns:95px 1fr;gap:12px}.seo-actions{align-items:flex-start;flex-direction:column}.methodology__inner,.unit{display:flex;flex-direction:column;align-items:stretch;gap:42px}.methodology__lead h2,.unit__copy h2{font-size:43px}.methodology__points{grid-template-columns:1fr;gap:28px;border-left:0;border-top:1px solid #e6d8bb;padding:32px 0 0}.unit{padding-top:72px}.unit__image-wrap{order:-1}.unit__image-wrap img{aspect-ratio:1.35}.contact-strip__inner{grid-template-columns:auto 1fr;gap:18px;padding-block:34px}.contact-strip__mark{width:54px;height:54px}.contact-strip__mark svg{width:32px;height:32px}.contact-strip h2{font-size:25px}.contact-strip .button{grid-column:1 / -1;width:100%;margin-top:8px}.footer-grid{grid-template-columns:1fr 1fr;gap:42px 24px;padding-block:56px 44px}.footer-brand{grid-column:1 / -1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}}@media(max-width:420px){.course-card{grid-template-columns:41% 59%}.course-card__image-wrap{min-height:220px}.course-card__content{padding-inline:12px}.course-card h3{font-size:18px}.course-card p{font-size:12px}.button--small{width:100%;justify-content:space-between}}.portal-header-link{display:inline-flex;align-items:center;gap:7px;padding:10px 0;border:0;background:transparent;color:#ffffffc7;cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap}.portal-header-link:hover{color:var(--warm)}.portal-header-link svg{width:18px;height:18px;color:var(--warm)}.mobile-portal-link{display:flex;align-items:center;gap:10px;width:100%;padding:17px 0;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:transparent;color:var(--warm);cursor:pointer;text-align:left;font-size:17px;font-weight:700}.mobile-portal-link svg{width:20px;height:20px}.portal-login{display:grid;grid-template-columns:1.06fr .94fr;min-height:100vh;background:var(--paper)}.portal-login__art{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px clamp(32px,6vw,92px) 56px;overflow:hidden;background:var(--ink);color:#fff}.portal-login__art:before{position:absolute;right:-12%;bottom:-18%;width:74%;height:64%;background:var(--warm);content:"";transform:rotate(-11deg)}.portal-login__art:after{position:absolute;left:-10%;bottom:9%;width:66%;height:1px;background:#ffffff42;content:"";transform:rotate(-11deg)}.portal-mark{position:relative;z-index:1;display:inline-flex;flex-direction:column;align-items:flex-start;width:150px;gap:7px;text-decoration:none}.portal-mark img{width:100%}.portal-mark span{color:var(--warm);font-size:10px;font-weight:800;letter-spacing:.2em}.portal-login__message{position:relative;z-index:1;max-width:570px;margin-block:auto;padding-block:80px 100px}.portal-kicker{margin:0 0 12px;color:#cc8b1e;font-size:11px;font-weight:800;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.portal-login__message .portal-kicker{color:var(--warm)}.portal-login__message h1{max-width:570px;margin:0;font-size:clamp(46px,5vw,76px);line-height:.97;letter-spacing:-.07em}.portal-login__message h1 span,.welcome-banner h2 span{color:var(--warm)}.portal-login__message>p:not(.portal-kicker){max-width:440px;margin:26px 0 0;color:#ffffffad;font-size:16px;line-height:1.6}.portal-login__quote{display:inline-flex;align-items:center;gap:10px;margin-top:30px;color:var(--warm);font-size:13px;font-weight:700}.portal-login__quote svg{width:18px;height:18px}.portal-login__stamp{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;width:fit-content;padding:14px 18px 12px;border:1px solid rgba(17,17,17,.55);color:var(--ink);transform:rotate(-4deg)}.portal-login__stamp span{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.portal-login__stamp strong{margin-top:3px;font-size:21px;line-height:.88;letter-spacing:-.04em;text-transform:uppercase}.portal-login__panel{display:flex;flex-direction:column;justify-content:center;width:min(100%,500px);margin-inline:auto;padding:46px clamp(24px,5vw,80px)}.back-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:700}.back-link:hover{color:var(--ink)}.back-link svg{width:17px;height:17px}.portal-login__heading{margin-top:72px}.portal-login__heading h2{margin:0;font-size:clamp(36px,4vw,52px);line-height:.98;letter-spacing:-.06em}.portal-login__heading>p:last-child{margin:14px 0 0;color:var(--muted);font-size:15px}.role-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:34px}.role-switch button{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:86px;padding:13px 8px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.role-switch button:hover,.role-switch button.is-selected{border-color:var(--warm);color:var(--ink);background:var(--warm-pale)}.role-switch svg{width:23px;height:23px;color:#d89522}.login-form{display:grid;gap:17px;margin-top:26px}.login-form label{display:grid;gap:8px;color:var(--ink);font-size:12px;font-weight:800}.login-form input{width:100%;padding:15px 16px;border:1px solid var(--line);background:#fff;color:var(--muted);outline:none;font-size:14px}.login-form input:focus{border-color:#d89522}.portal-primary,.portal-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:14px 18px;border:0;cursor:pointer;font-size:13px;font-weight:800;text-decoration:none}.portal-primary{background:var(--ink);color:#fff}.portal-primary:hover{background:#2a2a2a;transform:translateY(-1px)}.portal-primary:disabled{cursor:not-allowed;opacity:.45;transform:none}.portal-primary svg,.portal-secondary svg{width:18px;height:18px}.portal-primary--small{min-height:43px;padding:12px 15px;font-size:12px}.portal-secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.portal-secondary:hover{border-color:var(--warm);background:var(--warm-pale)}.login-account-preview{display:flex;align-items:center;gap:12px;margin-top:26px;padding-top:21px;border-top:1px solid var(--line)}.login-account-preview>div{display:grid;gap:4px}.login-account-preview strong{font-size:13px}.login-account-preview small{color:var(--muted);font-size:12px}.demo-note{display:flex;align-items:flex-start;gap:8px;margin:22px 0 0;color:#8a6a31;font-size:11px;line-height:1.45}.demo-note svg{flex:0 0 auto;width:16px;height:16px}.login-error{display:flex;align-items:flex-start;gap:8px;margin:0;padding:11px 12px;background:#fff4f1;color:#a54732;font-size:11px;line-height:1.45}.login-error svg{flex:0 0 auto;width:16px;height:16px}.avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:50%;background:#272727;color:var(--warm)}.avatar svg{width:20px;height:20px}.avatar--warm{background:var(--warm);color:var(--ink)}.avatar--soft{background:var(--warm-pale);color:#b77b14}.avatar--dark{background:var(--ink);color:var(--warm)}.portal-app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;background:#f7f6f2;color:var(--ink)}.portal-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:30px 18px 22px;background:var(--ink);color:#fff}.portal-sidebar__top{display:flex;flex-direction:column;gap:24px;padding-inline:10px}.portal-sidebar .portal-mark{width:124px}.portal-sidebar .portal-mark span{font-size:8px}.portal-live{display:inline-flex;align-items:center;gap:7px;color:#ffffff80;font-size:10px}.portal-live i{width:6px;height:6px;border-radius:50%;background:#61c284}.portal-user{display:flex;align-items:center;gap:10px;margin:43px 10px 30px;padding-block:18px;border-block:1px solid rgba(255,255,255,.16)}.portal-user>div{display:grid;gap:4px;min-width:0}.portal-user strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.portal-user small{color:var(--warm);font-size:10px}.portal-nav{display:grid;gap:6px}.portal-nav button,.portal-sidebar__bottom button{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:0;background:transparent;color:#ffffff96;cursor:pointer;text-align:left;font-size:12px;font-weight:700}.portal-nav button:hover,.portal-nav button.is-active,.portal-sidebar__bottom button:hover{background:#ffffff1a;color:#fff}.portal-nav button.is-active{color:var(--warm)}.portal-nav svg,.portal-sidebar__bottom svg{width:19px;height:19px}.portal-sidebar__bottom{display:grid;gap:18px;margin-top:auto}.portal-sidebar__bottom small{padding-inline:12px;color:#ffffff59;font-size:10px}.portal-main{min-width:0;padding-bottom:70px}.portal-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:138px;padding:35px clamp(24px,5vw,76px) 31px;border-bottom:1px solid var(--line);background:var(--paper)}.portal-topbar h1{margin:0;font-size:clamp(28px,3vw,40px);line-height:1;letter-spacing:-.06em}.portal-topbar__actions{display:flex;align-items:center;gap:18px}.icon-button{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer}.icon-button svg{width:18px;height:18px}.icon-button span{position:absolute;top:7px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--warm)}.topbar-site-link,.panel-link{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:800}.topbar-site-link:hover,.panel-link:hover{color:var(--ink)}.topbar-site-link svg,.panel-link svg{width:16px;height:16px}.portal-view{display:grid;gap:26px;padding:32px clamp(24px,5vw,76px)}.welcome-banner{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:186px;overflow:hidden;padding:30px 38px;background:var(--ink);color:#fff}.welcome-banner:after{position:absolute;right:-5%;bottom:-85%;width:55%;height:210%;background:var(--warm);content:"";transform:rotate(-17deg)}.welcome-banner>div:first-child{position:relative;z-index:1}.welcome-banner .portal-kicker{color:var(--warm)}.welcome-banner h2{margin:0;font-size:clamp(34px,4vw,53px);line-height:.98;letter-spacing:-.07em}.welcome-banner>div:first-child>p:last-child{margin:13px 0 0;color:#ffffffa1;font-size:14px}.welcome-banner__mark{position:relative;z-index:1;display:grid;place-items:center;width:98px;height:98px;border:1px solid rgba(17,17,17,.45);border-radius:50%;color:var(--ink);transform:rotate(9deg)}.welcome-banner__mark svg{width:52px;height:52px}.welcome-banner--teacher .welcome-banner__mark,.welcome-banner--admin .welcome-banner__mark{color:var(--ink)}.portal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.portal-stat{display:flex;align-items:flex-start;gap:14px;min-height:121px;padding:20px;border:1px solid var(--line);background:#fff}.portal-stat--warm{border-color:#eed5a7;background:var(--warm-pale)}.stat-icon{display:grid;place-items:center;flex:0 0 auto;width:37px;height:37px;color:#d89522}.stat-icon svg{width:28px;height:28px}.portal-stat>div{display:grid;gap:4px}.portal-stat span:not(.stat-icon){color:var(--muted);font-size:11px}.portal-stat strong{font-size:28px;line-height:1;letter-spacing:-.06em}.portal-stat small{color:#8c877e;font-size:10px}.portal-columns{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(300px,.94fr);gap:18px}.portal-columns--student{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)}.portal-panel{min-width:0;padding:27px;border:1px solid var(--line);background:#fff}.portal-panel--plain{padding-inline:0;border:0;background:transparent}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.panel-heading h2{margin:0;font-size:23px;line-height:1.05;letter-spacing:-.05em}.status-label{display:inline-flex;align-items:center;width:fit-content;padding:7px 9px;background:var(--warm-pale);color:#9c6a14;font-size:10px;font-weight:800;white-space:nowrap}.featured-copy{max-width:530px;margin:24px 0 25px;color:var(--muted);font-size:13px;line-height:1.55}.featured-progress{display:flex;align-items:center;gap:15px}.featured-progress>div{display:grid;gap:3px;min-width:82px}.featured-progress strong{font-size:26px;letter-spacing:-.06em}.featured-progress span{color:var(--muted);font-size:10px}.progress-bar{flex:1;height:7px;overflow:hidden;background:#e9e8e4}.progress-bar span{display:block;height:100%;background:#aaa9a3}.progress-bar--warm span{background:var(--warm)}.panel-featured .portal-primary{margin-top:25px}.mini-module-list{display:grid;gap:0;margin-top:16px}.mini-module-list button{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:11px;padding:13px 0;border:0;border-top:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.mini-module-list button:hover strong{color:#a46e14}.mini-module-list button>span:nth-child(2){display:grid;gap:4px}.mini-module-list strong{font-size:12px}.mini-module-list small{color:var(--muted);font-size:10px}.mini-module-list>button>svg{width:16px;color:#c5c2ba}.mini-module-status{display:grid;place-items:center;width:19px;height:19px;border:1px solid #d8d6d0;border-radius:50%}.mini-module-status>span{width:6px;height:6px;border-radius:50%;background:var(--warm)}.mini-module-status.is-done{border:0;background:var(--warm);color:var(--ink)}.mini-module-status.is-done svg{width:13px;height:13px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.module-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.module-card{min-width:0;padding:19px;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left;transition:border-color .2s,transform .2s}.module-card:hover{border-color:var(--warm);transform:translateY(-2px)}.module-card__top{display:flex;align-items:center;justify-content:space-between}.module-index{color:#b17815;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.module-card__arrow{display:grid;place-items:center;width:29px;height:29px;background:var(--warm-pale);color:#a56e13}.module-card__arrow svg{width:16px;height:16px}.module-card h3{margin:25px 0 5px;font-size:18px;line-height:1;letter-spacing:-.045em}.module-card>p{min-height:29px;margin:0;color:var(--muted);font-size:11px;line-height:1.35}.module-card__meta{display:flex;justify-content:space-between;gap:8px;margin:25px 0 9px;color:#8d8982;font-size:10px}.section-heading .module-grid{margin-top:20px}.view-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:5px}.view-intro h2{margin:0;font-size:clamp(31px,4vw,48px);line-height:.98;letter-spacing:-.07em}.view-intro p:last-child{margin:13px 0 0;color:var(--muted);font-size:14px}.curriculum-count{display:flex;align-items:baseline;gap:8px;padding-bottom:4px;color:var(--muted)}.curriculum-count strong{color:var(--ink);font-size:31px;letter-spacing:-.07em}.curriculum-count span{font-size:11px}.book-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.book-tabs button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1px 10px;padding:14px 16px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;text-align:left;font-size:12px;font-weight:800}.book-tabs button:hover,.book-tabs button.is-active{border-color:var(--warm);color:var(--ink);background:var(--warm-pale)}.book-tabs button>span{grid-row:span 2;color:#c78a1d;font-size:24px;line-height:1}.book-tabs small{color:#99958c;font-size:9px;font-weight:500}.book-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 28px;background:var(--ink);color:#fff}.book-overview .portal-kicker{color:var(--warm)}.book-overview h2{max-width:720px;margin:0;font-size:20px;line-height:1.15;letter-spacing:-.04em}.book-overview>span{color:#fff9;font-size:11px;white-space:nowrap}.progress-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.progress-ring{display:grid;place-items:center;align-content:center;width:104px;height:104px;border:8px solid var(--warm);border-left-color:#ebe8e0;border-radius:50%}.progress-ring strong{font-size:25px;line-height:1;letter-spacing:-.08em}.progress-ring strong span{font-size:13px}.progress-ring small{margin-top:5px;color:var(--muted);font-size:10px}.book-progress-list{display:grid;gap:24px;margin-top:25px}.book-progress-list>div{display:grid;gap:9px}.book-progress-copy{display:flex;justify-content:space-between;font-size:13px}.book-progress-copy span{color:#a57017;font-weight:800}.book-progress-list small{color:var(--muted);font-size:10px}.progress-tip{background:var(--warm);border-color:var(--warm)}.progress-tip>svg{width:31px;height:31px;color:var(--ink)}.progress-tip .portal-kicker{margin-top:30px;color:#8b5c0b}.progress-tip h2{max-width:240px;margin:0;font-size:29px;line-height:1;letter-spacing:-.06em}.progress-tip>p:last-child{max-width:320px;margin:18px 0 0;color:#67460e;font-size:13px;line-height:1.55}.exercise-view{max-width:820px}.exercise-breadcrumb{display:flex;align-items:center;gap:8px;margin:33px 0 18px;color:#9c6a14;font-size:11px;font-weight:800;text-transform:uppercase}.exercise-breadcrumb svg{width:14px;color:#a7a39a}.exercise-card{padding:clamp(24px,5vw,48px);border:1px solid var(--line);background:#fff}.exercise-card__heading{display:flex;justify-content:space-between;gap:24px;padding-bottom:29px;border-bottom:1px solid var(--line)}.exercise-card__heading h2{margin:0;font-size:31px;line-height:1;letter-spacing:-.06em}.exercise-card__heading p:last-child{max-width:550px;margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.exercise-number{color:var(--warm);font-size:62px;line-height:.8;font-weight:800;letter-spacing:-.1em}.exercise-card form{padding-top:34px}.exercise-card fieldset{margin:0;padding:0;border:0}.exercise-card legend{max-width:650px;padding:0;font-size:18px;font-weight:800;line-height:1.3;letter-spacing:-.025em}.answer-options{display:grid;gap:9px;margin-top:25px}.answer-options label{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid var(--line);cursor:pointer;font-size:13px}.answer-options label:hover{border-color:var(--warm);background:var(--warm-pale)}.answer-options label.is-correct{border-color:#71bb88;background:#f0fbf2}.answer-options label.is-wrong{border-color:#df9a87;background:#fff4f1}.answer-options input{accent-color:var(--ink)}.answer-options label>svg{margin-left:auto;width:19px;color:#42a85d}.exercise-card textarea{width:100%;margin-top:24px;padding:15px;border:1px solid var(--line);resize:vertical;outline:none;font:inherit;font-size:14px;line-height:1.55}.exercise-card textarea:focus{border-color:var(--warm)}.exercise-card form>.portal-primary{margin-top:28px}.answer-feedback{display:flex;align-items:flex-start;gap:12px;margin-top:26px;padding:17px}.answer-feedback.is-correct{background:#f0fbf2;color:#28763c}.answer-feedback.is-wrong{background:#fff4f1;color:#a54732}.answer-feedback>svg{flex:0 0 auto;width:24px;height:24px}.answer-feedback strong{font-size:14px}.answer-feedback p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.answer-feedback+.portal-secondary{margin-top:18px}.completion-note,.toast-message{display:flex;align-items:center;gap:9px;margin-top:18px;color:#28763c;font-size:12px;font-weight:700}.completion-note svg,.toast-message svg{width:20px;height:20px}.class-list{display:grid;gap:0;margin-top:20px}.class-list>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding-block:16px;border-top:1px solid var(--line)}.class-list>div>div{display:grid;gap:4px}.class-list strong{font-size:13px}.class-list small{color:var(--muted);font-size:10px}.class-list b{font-size:13px}.class-color{width:8px;height:34px;background:var(--warm)}.class-color--blue{background:#99b8ce}.class-color--dark{background:#75736d}.quick-actions{display:grid;gap:0;margin-top:18px}.quick-actions button{display:grid;grid-template-columns:25px 1fr 17px;align-items:center;gap:10px;padding:14px 0;border:0;border-top:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.quick-actions button:hover strong{color:#a46e14}.quick-actions button>svg:first-child{width:21px;color:#c48a21}.quick-actions button>svg:last-child{width:16px;color:#a7a39a}.quick-actions span{display:grid;gap:4px}.quick-actions strong{font-size:12px}.quick-actions small{color:var(--muted);font-size:10px}.attention-list{display:grid;gap:0;margin-top:16px}.attention-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:15px 0;border-top:1px solid var(--line)}.attention-list>div>div{display:grid;gap:4px}.attention-list strong{font-size:12px}.attention-list small{color:var(--muted);font-size:10px}.attention-list button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#9c6a14;cursor:pointer;font-size:11px;font-weight:800}.attention-list button svg{width:14px}.table-panel{padding:0}.table-toolbar{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--line);background:#fff}.search-field{display:flex;align-items:center;gap:9px;width:min(100%,320px);color:#a7a39a}.search-field svg{width:18px}.search-field input{width:100%;border:0;outline:none;font:inherit;font-size:12px}.filter-button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:800}.filter-button svg{width:14px}.class-table,.user-table{border:1px solid var(--line);border-top:0;background:#fff}.table-row{display:grid;grid-template-columns:1.5fr 1fr 1fr .85fr 20px;align-items:center;gap:14px;min-height:65px;padding:10px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.table-row--header{min-height:44px;border-top:0;background:#faf9f5;color:#9e9a92;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.table-row strong{color:var(--ink);font-size:12px}.table-row b{color:#49885b;font-size:12px}.table-row>svg{width:16px;color:#a7a39a}.table-user{display:flex;align-items:center;gap:9px}.table-user .avatar{width:30px;height:30px}.table-user .avatar svg{width:16px;height:16px}.active-status{color:#49885b!important}.activity-builder{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.activity-source-list{display:grid;gap:0;margin-top:18px}.activity-source-list button{display:grid;grid-template-columns:35px 1fr 16px;align-items:center;gap:12px;padding:15px 0;border:0;border-top:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.activity-source-list button:hover strong{color:#a46e14}.activity-source-list span:nth-child(2){display:grid;gap:4px}.activity-source-list strong{font-size:12px}.activity-source-list small{color:var(--muted);font-size:10px;line-height:1.4}.source-icon{display:grid;place-items:center;width:35px;height:35px;background:var(--warm-pale);color:#b77b14}.source-icon svg{width:19px}.activity-source-list>button>svg{width:15px;color:#aaa69e}.activity-preview{background:var(--warm-pale);border-color:#eed5a7}.activity-preview>p{margin:36px 0 18px;font-size:14px;font-weight:800;line-height:1.4}.preview-answer{display:flex;align-items:center;gap:9px;padding:14px;background:#fff;font-size:12px}.preview-answer span{display:grid;place-items:center;width:20px;height:20px;background:var(--ink);color:#fff;font-size:10px;font-weight:800}.preview-answer svg{margin-left:auto;width:18px;color:#46a65c}.activity-preview .portal-secondary{margin-top:26px}.admin-metrics{display:grid;gap:20px;margin-top:25px}.admin-metrics>div{display:grid;grid-template-columns:1fr 48px;gap:8px 15px;align-items:center;color:var(--muted);font-size:12px}.admin-metrics .progress-bar{grid-column:1 / -1}.admin-metrics strong{color:var(--ink);text-align:right}.content-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.content-book-card{display:grid;grid-template-columns:48px 1fr 20px;gap:17px;min-height:183px;padding:22px;border:1px solid var(--line);background:#fff}.content-book-card__number{color:var(--warm);font-size:43px;line-height:.9;font-weight:800;letter-spacing:-.08em}.content-book-card h3{margin:0;font-size:23px;line-height:1;letter-spacing:-.06em}.content-book-card p:not(.portal-kicker){max-width:360px;margin:12px 0 22px;color:var(--muted);font-size:12px;line-height:1.45}.content-book-card>svg{width:18px;color:#a7a39a}.content-book-card__bottom{display:flex;flex-wrap:wrap;gap:8px 18px;color:#9a958c;font-size:10px}.portal-data-warning{display:flex;align-items:center;gap:8px;margin:18px clamp(24px,5vw,76px) 0;padding:11px 13px;background:#fff4f1;color:#a54732;font-size:11px}.portal-data-warning svg{width:17px;height:17px}.portal-loading{display:grid;place-items:center;align-content:center;gap:14px;min-height:100vh;background:var(--paper);color:var(--muted);font-size:13px}.portal-loading__spinner{width:28px;height:28px;border:3px solid #eadfc9;border-top-color:var(--warm);border-radius:50%;animation:portal-spin .8s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.portal-header-link{display:none}.portal-app{grid-template-columns:220px minmax(0,1fr)}.portal-stats{grid-template-columns:repeat(2,1fr)}.module-grid--compact,.portal-columns,.portal-columns--student,.progress-layout,.activity-builder{grid-template-columns:1fr}}@media(max-width:760px){.portal-login{display:block}.portal-login__art{min-height:380px;padding:28px 24px}.portal-login__art:before{right:-25%;bottom:-32%;width:95%;height:70%}.portal-login__message{padding-block:58px 34px}.portal-login__message h1{font-size:clamp(42px,13vw,60px)}.portal-login__message>p:not(.portal-kicker){margin-top:18px;font-size:14px}.portal-login__stamp{display:none}.portal-login__panel{width:min(100%,540px);padding:34px 24px 50px}.portal-login__heading{margin-top:48px}.portal-app{display:block}.portal-sidebar{position:static;height:auto;padding:18px 16px}.portal-sidebar__top{flex-direction:row;align-items:center;justify-content:space-between;padding-inline:0}.portal-sidebar .portal-mark{width:106px}.portal-live{font-size:9px}.portal-user{margin:18px 0 0;padding-block:14px 0;border-bottom:0}.portal-nav{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:14px}.portal-nav button{flex-direction:column;justify-content:center;gap:5px;padding:10px 4px;font-size:10px;text-align:center}.portal-nav button svg{width:20px;height:20px}.portal-sidebar__bottom{display:none}.portal-topbar{min-height:99px;padding:24px 16px 21px}.portal-topbar h1{font-size:30px}.portal-topbar .portal-kicker{margin-bottom:8px}.topbar-site-link{font-size:0}.topbar-site-link svg{width:20px;height:20px}.portal-view{gap:18px;padding:22px 16px 50px}.welcome-banner{min-height:180px;padding:24px}.welcome-banner__mark{width:66px;height:66px}.welcome-banner__mark svg{width:35px;height:35px}.welcome-banner h2{font-size:38px}.welcome-banner>div:first-child>p:last-child{max-width:245px;font-size:12px}.portal-stats{grid-template-columns:repeat(2,1fr);gap:8px}.portal-stat{min-height:113px;gap:8px;padding:14px 12px}.stat-icon{width:26px;height:26px}.stat-icon svg{width:21px;height:21px}.portal-stat strong{font-size:22px}.portal-stat span:not(.stat-icon){font-size:10px}.portal-stat small{font-size:9px}.portal-panel{padding:20px 17px}.portal-panel--plain{padding-inline:0}.panel-heading h2{font-size:20px}.module-grid,.module-grid--compact,.content-book-grid{grid-template-columns:1fr}.view-intro{align-items:flex-start;flex-direction:column}.view-intro h2{font-size:37px}.curriculum-count{padding:0}.book-tabs{grid-template-columns:repeat(2,1fr)}.book-tabs button{min-height:61px;padding:10px 11px;font-size:11px}.book-tabs button>span{font-size:20px}.book-overview{align-items:flex-start;flex-direction:column;padding:20px}.book-overview h2{font-size:17px}.exercise-card{padding:22px 18px}.exercise-card__heading h2{font-size:26px}.exercise-number{font-size:45px}.exercise-card legend{font-size:16px}.progress-layout{gap:12px}.table-panel{margin-inline:-16px}.table-toolbar{padding:14px 16px}.class-table,.user-table{overflow-x:auto}.class-table,.user-table{min-width:650px}.content-book-card{min-height:0}}
