@font-face{font-family:Manrope;src:url("fonts/manrope-latin.c45298e98164.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
:root{--ink:#252b36;--paper:#fff;--red:#c9142d;--muted:#68707b;--line:#e3e5e8;--soft:#f1f2f4;--white:#fff;--text-small:.875rem;--text-body:1rem}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.65 Manrope,system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button,fieldset,input,select{min-width:0}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.15;letter-spacing:-.045em}h1{font-size:clamp(38px,5vw,66px)}h2{font-size:clamp(28px,3.3vw,44px);margin:0 0 18px}h3{font-size:22px;margin:0 0 12px}p{margin:0 0 18px}small,.fine{font-size:var(--text-small);color:var(--muted)}.icon{flex-shrink:0;vertical-align:middle}.eyebrow{font-size:var(--text-small);line-height:1.5;font-weight:800;letter-spacing:2px;margin:0 0 18px;color:var(--red)}.page-title{font-size:clamp(30px,3.4vw,46px);line-height:1.15;margin:0 0 20px;letter-spacing:-.045em}
.topline{border-bottom:1px solid var(--line);font-size:var(--text-small);background:white}.topline>div{max-width:1320px;margin:auto;padding:8px 32px;display:flex;gap:18px;align-items:center}.domain-label{color:var(--red);font-weight:800;letter-spacing:1px}.topline-end{margin-left:auto;color:var(--muted)}
.site-header{max-width:1320px;padding:24px 32px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;background:white}.brand{display:inline-flex;white-space:nowrap;flex-shrink:0}.brand img{width:225px;height:55px;object-fit:contain}.site-header nav{display:flex;gap:28px;align-items:center;font-size:var(--text-small);font-weight:700}.site-header nav a,.site-header nav button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;text-decoration:none}.site-header nav a:hover{color:var(--red)}nav form{margin:0}.nav-button{border:1px solid var(--ink);border-radius:7px;padding:11px 18px;min-height:44px;background:transparent;color:var(--ink);font-size:var(--text-small);font-weight:800;display:inline-flex;justify-content:center;gap:16px;align-items:center;text-decoration:none}.text-button{font:inherit;background:none;color:inherit;border:0;min-height:44px;min-width:44px;padding:10px 4px}.danger{color:var(--red);text-decoration:underline}.demo-banner{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 20px;font-size:var(--text-small);line-height:1.6;background:#fdf1f2;color:#71323d;border-block:1px solid #f4dce0}.demo-banner strong{font-size:var(--text-small);letter-spacing:1px;white-space:nowrap}.demo-dot{width:5px;height:5px;background:var(--red);border-radius:50%;margin-right:6px;flex-shrink:0}
.site-main{max-width:1320px;margin:auto;min-width:0}.site-main>section{padding:60px 32px}main:focus{outline:none}.skip{position:absolute;top:-100px;left:16px;z-index:10}.skip:focus{top:12px;background:white;padding:12px 20px;border:2px solid var(--red)}:focus-visible{outline:3px solid #b1132c;outline-offset:4px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;max-width:100%;padding:14px 22px;border:1px solid transparent;border-radius:7px;background:var(--red);color:white;font-size:var(--text-small);font-weight:800;line-height:1.5;text-decoration:none;transition:background .15s,transform .15s}.button:hover{background:#a50f25;transform:translateY(-1px)}.button-white{background:white;color:var(--ink)}.button-white:hover{background:#eceef0}.button span{font-size:20px;line-height:1}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:28px}.actions form{margin:0}.actions>a{min-height:44px;display:inline-flex;align-items:center}.secondary{font-size:var(--text-small)}.lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:690px}
.site-main>.hero{position:relative;margin:24px 24px 0;padding:64px 56px 78px;min-height:610px;border-radius:16px;overflow:hidden;color:white;background:#20262e}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,27,34,.98) 0%,rgba(22,27,34,.94) 26%,rgba(22,27,34,.65) 49%,rgba(22,27,34,.05) 76%),linear-gradient(0deg,rgba(22,27,34,.25),transparent 50%)}.hero-copy{position:relative;max-width:640px;z-index:1}.hero .eyebrow{color:#d6d8dc;display:flex;align-items:center;gap:10px;letter-spacing:2px}.hero .eyebrow>span{width:24px;height:2px;background:#e4223d}.hero h1{font-size:clamp(46px,5.6vw,78px);font-weight:800;line-height:1.07;letter-spacing:-.06em;margin:36px 0 24px}.hero h1 em{font-style:normal;color:#ff5366}.hero-lead{font-size:15px;line-height:1.9;color:#d6d8dc;max-width:420px}.hero-secondary{min-height:48px;display:inline-flex;align-items:center;gap:12px;color:white;font-size:var(--text-small);font-weight:700;text-decoration:none;border-bottom:1px solid #7a7d82}.hero-note{display:flex;gap:8px;align-items:center;font-size:var(--text-small);color:#c0c4cb;margin-top:26px}.hero-note .icon{width:15px;height:15px;color:#f25b70}.hero-signature{position:absolute;right:32px;bottom:30px;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.95);color:var(--ink);padding:17px 20px;border-radius:10px;box-shadow:0 12px 40px #0002;min-width:285px}.hero-signature strong{display:block;font-size:var(--text-small)}.hero-signature div>span{display:block;font-size:var(--text-small);color:var(--muted)}.hero-signature>span:last-child{margin-left:18px}.hero-signature-icon{background:#fbeaed;color:var(--red);border-radius:7px;padding:11px}.photo-caption{font-size:var(--text-small);text-align:right;color:var(--muted);margin:8px 32px 0}.value-strip{margin:0 32px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:30px 0}.value-strip>div{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;font-size:var(--text-small);border-right:1px solid var(--line)}.value-strip>div:last-child{border-right:0}.value-strip .icon{color:var(--red);width:20px;height:20px}
.site-main>.journey-section{padding:76px 32px 84px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:34px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:390px;font-size:var(--text-small);color:var(--muted);margin-bottom:4px}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.journey-card{min-width:0;background:white;border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column}.journey-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:42px}.journey-card-top>span{font-size:30px;font-weight:800;color:#dbdde1;letter-spacing:-2px}.journey-card-top .icon{width:43px;height:43px;color:var(--red);background:#fceef0;border-radius:10px;padding:10px}.journey-card .eyebrow{font-size:var(--text-small);margin-bottom:12px}.journey-card h3{font-size:23px}.journey-card>p:not(.eyebrow){font-size:var(--text-small);color:var(--muted);line-height:1.85;margin-bottom:30px}.journey-card>a{margin-top:auto;padding-top:19px;border-top:1px solid var(--line);font-size:var(--text-small);font-weight:800;text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.journey-card>a span{font-size:20px;color:var(--red)}
.site-main>.platform-section{margin:0 24px;background:var(--ink);border-radius:16px;padding:64px 56px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;color:white;overflow:hidden}.platform-copy>.eyebrow{color:#ff6b7b}.platform-copy h2{font-size:44px}.platform-copy h2 em{font-style:normal;color:#ff6b7b}.platform-copy>p:not(.eyebrow){max-width:400px;color:#c5c9d0;font-size:var(--text-small);line-height:1.9}.benefit-list{list-style:none;padding:0;margin:24px 0 30px;font-size:var(--text-small)}.benefit-list li{display:flex;align-items:center;gap:10px;margin:13px 0}.benefit-list .icon{width:17px;height:17px;color:#ff6b7b}.product-window{background:#f5f6f8;color:var(--ink);border-radius:12px;box-shadow:0 22px 45px #0003;border:5px solid #454c57;min-width:0;transform:rotate(-2deg)}.product-window-top{background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:8px;padding:14px 15px;font-size:var(--text-small);letter-spacing:1px;font-weight:700}.window-dots{font-size:var(--text-small);color:#b7bdc7;letter-spacing:3px}.product-window-content{padding:26px}.product-welcome{display:flex;gap:12px;align-items:center;margin-bottom:25px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:42px;height:42px;background:#fae6ea;color:var(--red);font-weight:800;flex-shrink:0}.product-welcome small{font-size:var(--text-small);letter-spacing:1px}.product-welcome h3{font-size:19px;margin:5px 0 0}.product-task{padding:17px 14px;background:white;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:12px;margin:10px 0}.product-task>.icon{width:20px;color:var(--red)}.product-task div{flex:1;min-width:0}.product-task strong{display:block;font-size:var(--text-small)}.product-task div>span{display:block;font-size:var(--text-small);color:var(--muted)}.product-window-note{font-size:var(--text-small);text-align:center;color:var(--muted);margin:20px 0 0}
.site-main>.faq-section{padding:84px 32px;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.faq-section>div>p:not(.eyebrow){font-size:var(--text-small);color:var(--muted);max-width:300px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;min-height:70px;padding:22px 0;display:flex;justify-content:space-between;gap:18px;font-size:var(--text-small);font-weight:800;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:20px;color:var(--red);line-height:1}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>p{font-size:var(--text-small);color:var(--muted);line-height:1.9;padding-right:24px}.site-main>.start-band{margin:0 24px 56px;padding:44px 56px;border-radius:14px;color:white;background:var(--red);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.start-band .eyebrow{color:#ffcdd5}.start-band h2{margin:0;font-size:37px}.start-band p:not(.eyebrow){font-size:var(--text-small);line-height:1.85;color:#ffe2e6;max-width:360px}
.site-footer{background:#20252e;color:white;padding:58px max(32px,calc((100% - 1256px)/2)) 22px}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px}.footer-grid img{width:210px;height:52px;object-fit:contain;object-position:left}.footer-grid>div>p:not(.footer-label){color:#aab0ba;font-size:var(--text-small);margin-top:22px}.footer-label{color:#9198a3;font-size:var(--text-small);letter-spacing:1.5px;margin:8px 0 20px}.footer-grid>div>a:not(:has(img)){display:block;width:max-content;max-width:100%;font-size:var(--text-small);text-decoration:none;margin:10px 0;min-height:24px}.footer-grid>div>a:hover{color:#ff6b7b}.footer-domain>span{font-size:16px;color:#bfc4ce;line-height:1.4;display:block}.footer-domain strong{display:block;font-size:31px;letter-spacing:-1px;margin-top:16px}.footer-domain strong span{color:#f04a62}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #414650;padding-top:22px;font-size:var(--text-small);color:#a0a7b2}
.site-main>.narrow{max-width:850px;margin:auto}.slot-grid,.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:20px}.slot-card,.dashboard-panel,.quick-card{background:white;border:1px solid var(--line);border-radius:12px;padding:26px;min-width:0}.slot-card{margin:20px 0}.slot-grid>.slot-card{margin:0}.slot-card h2{font-size:25px}.slot-card h3{font-size:22px}.slot-card>.eyebrow{margin-bottom:18px}.notice{background:#f0f1f4;border:1px solid var(--line);border-radius:10px;padding:24px;margin:25px 0}.notice h2{font-size:28px}.result{background:#fff4f5;border:1px solid #f1d9dd;border-radius:10px;padding:24px;margin:25px 0}.result h2{font-size:28px}.review{border-top:1px solid var(--line);padding:24px 0}.review h3{font-size:22px}.review p{margin-bottom:10px}.review .fine{overflow-wrap:anywhere}.review .actions{margin-top:12px}.status-badge{display:inline-block;background:#f0f1f3;border:1px solid #e2e4e7;border-radius:5px;font-size:var(--text-small);padding:5px 9px;white-space:nowrap;color:#59616e}
fieldset{min-inline-size:0;border:1px solid var(--line);border-radius:10px;background:white;margin:28px 0;padding:24px}legend{max-width:100%;font-weight:800;padding:0 8px;font-size:15px}.option{display:flex;gap:12px;align-items:baseline;min-height:48px;margin:10px 0;padding:13px 12px;background:#f6f7f9;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:14px}.option:has(input:checked){border-color:#d68f9c;background:#fff1f3}.saved-quiz fieldset label{display:flex;gap:12px;align-items:baseline;padding:12px 0;min-height:48px;cursor:pointer}input[type=radio]{accent-color:var(--red);flex-shrink:0}.booking-form{max-width:620px}.booking-form label{display:block;font-size:var(--text-small);font-weight:800;margin:20px 0 7px}.booking-form input,.booking-form select,.login input:not([type=hidden]){display:block;width:100%;font-size:16px;min-height:50px;padding:12px 13px;border:1px solid #c4c8cf;border-radius:6px;background:white;color:var(--ink)}.booking-form .helptext{display:block;font-size:var(--text-small);color:var(--muted);margin-top:7px}.booking-form>p{margin-bottom:18px}.error,.errorlist{color:#a20c24;background:#fff0f2;padding:15px 20px;border-radius:6px;font-size:var(--text-small)}.errorlist{padding-left:30px}.flash-messages{padding:16px 22px;margin:24px 32px;background:#fcecef;border:1px solid #ebcbd2;border-radius:8px;font-size:var(--text-small)}.flash-messages p:last-child,.result p:last-child,.notice p:last-child{margin-bottom:0}.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin:24px 0;font-size:var(--text-small)}.pagination a{min-height:44px;padding:10px;display:inline-flex;align-items:center}.quiz-actions{align-items:stretch}.quiz-actions .nav-button{font-size:var(--text-small)}.quiz-stats h2{margin:0}
.site-main>.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:40px 32px 60px;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}.login-story{background:var(--ink);color:white;padding:48px;position:relative;overflow:hidden}.login-story>.eyebrow{color:#fb8495}.login-story h2{font-size:45px;line-height:1.15;margin:28px 0 24px}.login-story h2 em{font-style:normal;color:#ff7d90}.login-story>p:not(.eyebrow){font-size:var(--text-small);color:#c4c9d2;max-width:340px}.login-story-mark{margin:40px 0;opacity:.32;filter:brightness(0) invert(1);transform:rotate(-12deg)}.login-story-bottom{display:flex;gap:12px;font-size:var(--text-small);align-items:center;color:#c3c9d2}.login-card{padding:50px}.login .page-title{font-size:36px;max-width:380px}.login-card>p:not(.eyebrow){font-size:var(--text-small);color:var(--muted)}.login label{display:block;font-size:var(--text-small);font-weight:800;margin:22px 0 7px}.login button{margin-top:26px;width:100%;justify-content:space-between}.login-help{font-size:var(--text-small)!important;line-height:1.8;margin:24px 0}.back-link{font-size:var(--text-small);display:inline-flex;min-height:44px;align-items:center}
.workspace-shell{max-width:1400px;display:grid;grid-template-columns:218px minmax(0,1fr);gap:28px;margin:30px auto 56px;padding:0 32px;align-items:start}.workspace-nav{padding:24px 14px;background:white;border:1px solid var(--line);border-radius:12px;position:sticky;top:20px;min-width:0}.workspace-nav>.eyebrow{font-size:var(--text-small);color:#8b919b;padding:0 12px}.workspace-nav nav{display:grid;gap:5px}.workspace-nav nav>a{display:flex;gap:12px;align-items:center;min-height:46px;padding:12px;font-size:var(--text-small);font-weight:700;text-decoration:none;border-radius:6px}.workspace-nav nav>a .icon{width:18px;height:18px;color:#848c99}.workspace-nav nav>a[aria-current=page]{background:#fcecef;color:var(--red)}.workspace-nav nav>a[aria-current=page] .icon{color:var(--red)}.workspace-person{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:28px;padding:20px 8px 0;min-width:0}.workspace-person .avatar{width:34px;height:34px;font-size:var(--text-small)}.workspace-person strong{font-size:var(--text-small);display:block;overflow-wrap:anywhere}.workspace-person small{font-size:var(--text-small);display:block}.workspace-main{width:100%}.workspace-main>section{padding:0}.workspace-main>.flash-messages{margin:0 0 24px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 30px}.dashboard-heading .eyebrow{font-size:var(--text-small);margin-bottom:12px}.dashboard-heading h1{font-size:32px;margin-bottom:10px}.dashboard-heading p:not(.eyebrow){font-size:var(--text-small);color:var(--muted);margin:0}.today-label{font-size:var(--text-small);border:1px solid var(--line);background:white;padding:9px 13px;border-radius:6px;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}.metric-card{position:relative;padding:22px;background:white;border:1px solid var(--line);border-radius:10px;min-width:0}.metric-card>span{display:block;font-size:var(--text-small);font-weight:700;max-width:80%;min-height:34px}.metric-card>.icon{position:absolute;top:21px;right:18px;width:18px;height:18px;color:var(--red)}.metric-card>strong{display:block;font-size:35px;letter-spacing:-1.5px;line-height:1.3;margin:8px 0}.metric-card small{font-size:var(--text-small)}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.panel-heading .eyebrow{font-size:var(--text-small);margin-bottom:8px}.panel-heading h2{font-size:23px;margin:0}.panel-heading>.icon{color:#9ca3ad;width:20px}.lesson-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;border-top:1px solid var(--line);padding:20px 0}.lesson-day{background:#f3f4f6;border-radius:6px;height:54px;text-align:center;padding:6px 0}.lesson-day strong{display:block;font-size:20px;line-height:1.1}.lesson-day span{font-size:var(--text-small);text-transform:uppercase}.lesson-row h3{font-size:17px;letter-spacing:-.5px;margin:0 0 4px}.lesson-row p{font-size:var(--text-small);color:var(--muted);margin:0}.lesson-row small{font-size:var(--text-small);overflow-wrap:anywhere}.lesson-row>.status-badge{grid-column:2;width:max-content;max-width:100%;margin-top:-7px}.panel-bottom-link{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--text-small);font-weight:800;text-decoration:none;min-height:44px}.dashboard-side{display:grid;gap:20px;min-width:0}.study-card{background:var(--ink);border-radius:12px;padding:28px;color:white}.study-card>.eyebrow{color:#ff8999;font-size:var(--text-small);margin:18px 0 12px}.study-card h2{font-size:27px;line-height:1.2}.study-card>p:not(.eyebrow){font-size:var(--text-small);color:#c6cbd3;line-height:1.9}.study-card .button{width:100%;font-size:var(--text-small);gap:10px;padding:12px 13px}.study-icon{display:inline-flex;padding:10px;background:#ffffff12;border:1px solid #ffffff20;border-radius:9px}.quick-card{padding:22px}.quick-card>.eyebrow{font-size:var(--text-small);color:var(--muted);margin-bottom:10px}.quick-card>a{display:flex;align-items:center;gap:8px;font-size:var(--text-small);font-weight:700;min-height:48px;text-decoration:none;border-bottom:1px solid var(--line)}.quick-card>a:last-child{border:0}.quick-card .icon{width:16px;height:16px;color:var(--red)}.quick-card>a>span{margin-left:auto}.student-summary{margin-top:22px}.student-summary h2{font-size:24px}.student-summary ul{padding-left:20px;font-size:var(--text-small)}.empty-state{text-align:center;padding:35px 10px}.empty-state>.icon{color:#a3aab5;margin-bottom:20px}.empty-state h3{font-size:20px}.empty-state p{font-size:var(--text-small);color:var(--muted)}
@media(max-width:1100px){.site-header nav{gap:18px}.platform-section{gap:40px!important}.hero-signature{right:24px;min-width:260px}.hero-copy{max-width:590px}.hero h1{font-size:64px}.hero-photo{object-position:62% center}.footer-grid{gap:24px}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.study-card h2{font-size:25px}}
@media(max-width:900px){.workspace-shell{grid-template-columns:1fr;gap:24px}.workspace-nav{position:static;padding:8px;overflow:hidden}.workspace-nav>.eyebrow,.workspace-person{display:none}.workspace-nav nav{display:flex;overflow-x:auto;gap:4px}.workspace-nav nav>a{white-space:nowrap}.site-header{padding:22px 24px}.brand img{width:190px;height:47px}.site-header nav{gap:15px;font-size:var(--text-small)}.site-header .nav-journey{display:none}.site-main>.hero{padding:48px 36px 110px;min-height:620px}.hero-copy{max-width:530px}.hero h1{font-size:62px}.hero-signature{right:24px;bottom:24px}.value-strip{grid-template-columns:1fr 1fr;gap:22px}.value-strip>div:nth-child(2){border:0}.journey-card{padding:22px}.journey-card h3{font-size:21px}.section-heading{gap:25px}.section-heading>p{max-width:310px}.site-main>.platform-section{padding:44px 32px;gap:35px}.platform-copy h2{font-size:34px}.product-window-content{padding:16px}.product-welcome h3{font-size:17px}.site-main>.faq-section{gap:40px}.login-story{padding:34px}.login-story h2{font-size:36px}.login-card{padding:36px}.login .page-title{font-size:31px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-domain{display:none}}
@media(max-width:650px){.topline>div{padding-inline:20px;font-size:var(--text-small)}.topline-end{display:none}.site-header{padding:17px 20px;flex-direction:column;align-items:flex-start;gap:16px}.brand img{width:196px;height:48px}.site-header nav{width:100%;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:var(--text-small)}.site-header .nav-platform{display:none}.site-header .nav-button{font-size:var(--text-small);padding:10px 13px;gap:14px}.demo-banner{padding:9px 16px;font-size:var(--text-small);align-items:flex-start;gap:4px}.demo-dot{margin-top:5px}.demo-banner strong{font-size:var(--text-small)}.site-main>section{padding:38px 20px}.site-main>.hero{margin:16px 16px 0;padding:32px 24px 145px;min-height:660px;border-radius:12px}.hero-photo{object-position:63% center}.hero-shade{background:linear-gradient(180deg,rgba(22,27,34,.98) 0%,rgba(22,27,34,.91) 43%,rgba(22,27,34,.2) 76%,rgba(22,27,34,.45) 100%)}.hero h1{font-size:clamp(38px,9vw,55px);line-height:1.12;margin:26px 0 20px;letter-spacing:-.05em}.hero .eyebrow{font-size:var(--text-small);letter-spacing:1.5px}.hero-lead{font-size:var(--text-small);line-height:1.85;max-width:320px}.hero .actions{gap:10px 18px;margin-top:24px}.hero .button{padding:12px 16px;font-size:var(--text-small);gap:14px}.hero-secondary{font-size:var(--text-small);min-height:44px}.hero-note{font-size:var(--text-small);margin-top:17px}.hero-signature{left:18px;right:18px;bottom:20px;min-width:0;padding:13px 14px;gap:10px}.hero-signature-icon{padding:8px}.hero-signature-icon .icon{width:22px;height:22px}.hero-signature strong{font-size:var(--text-small)}.hero-signature div>span{font-size:var(--text-small)}.hero-signature>span:last-child{margin-left:auto}.photo-caption{margin-right:20px;font-size:var(--text-small)}.value-strip{margin:0 20px;padding:25px 0;gap:20px 12px}.value-strip>div{justify-content:flex-start;font-size:var(--text-small);gap:8px}.value-strip .icon{width:17px;height:17px}.value-strip>div:nth-child(odd){border-right:0}.site-main>.journey-section{padding:45px 20px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:33px}.section-heading>p{margin:18px 0 0;max-width:none;font-size:var(--text-small)}.journey-grid{grid-template-columns:1fr;gap:14px}.journey-card{padding:24px}.journey-card-top{margin-bottom:25px}.journey-card-top>span{font-size:28px}.journey-card h3{font-size:25px}.journey-card>p:not(.eyebrow){font-size:var(--text-small);margin-bottom:22px}.site-main>.platform-section{margin:0 16px;padding:32px 24px;grid-template-columns:1fr;gap:32px!important;border-radius:12px}.platform-copy h2{font-size:32px}.platform-copy>p:not(.eyebrow){font-size:var(--text-small)}.product-window{transform:none;border-width:3px}.product-window-content{padding:18px 14px}.product-welcome{gap:10px}.product-welcome .avatar{width:35px;height:35px}.product-welcome h3{font-size:17px}.product-task{padding:15px 10px;gap:10px}.product-task strong{font-size:var(--text-small)}.product-task div>span{font-size:var(--text-small)}.product-window-top{font-size:var(--text-small);letter-spacing:.5px;padding:13px 10px}.site-main>.faq-section{padding:48px 20px;grid-template-columns:1fr;gap:20px}.faq-section h2{font-size:33px}.faq-section>div>p:not(.eyebrow){max-width:none;font-size:var(--text-small)}.faq-list summary{font-size:var(--text-small);min-height:65px}.site-main>.start-band{margin:0 16px 35px;padding:30px 24px;grid-template-columns:1fr;gap:23px}.start-band h2{font-size:30px}.start-band p:not(.eyebrow){font-size:var(--text-small)}.site-footer{padding:38px 24px 20px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div>p:not(.footer-label){margin:15px 0 0}.footer-label{margin:0 0 12px}.footer-grid>div>a:not(:has(img)){font-size:var(--text-small);min-height:30px}.footer-bottom{display:block;font-size:var(--text-small)}.footer-bottom>span{display:block;margin-bottom:10px}.workspace-shell{padding:0 16px;gap:22px;margin-top:20px}.workspace-nav nav>a{font-size:var(--text-small);padding:10px;gap:8px}.workspace-nav nav>a .icon{width:16px;height:16px}.workspace-main>section{padding:0}.dashboard-heading{margin:4px 0 24px;gap:10px}.dashboard-heading h1{font-size:27px}.dashboard-heading p:not(.eyebrow){font-size:var(--text-small)}.today-label{display:none}.metric-grid{gap:8px;margin-bottom:20px}.metric-card{padding:14px 11px}.metric-card>span{font-size:var(--text-small);min-height:39px;max-width:100%;padding-right:0}.metric-card>.icon{display:none}.metric-card>strong{font-size:29px;margin:6px 0}.metric-card small{font-size:var(--text-small);line-height:1.4;display:block}.dashboard-panel{padding:20px}.dashboard-side{grid-template-columns:1fr}.dashboard-grid{gap:18px}.study-card{padding:24px}.study-card h2{font-size:29px}.study-card .button{font-size:var(--text-small)}.quick-card>a{font-size:var(--text-small)}.panel-heading h2{font-size:22px}.lesson-row{gap:12px}.lesson-row h3{font-size:18px}.lesson-row small{font-size:var(--text-small)}.panel-bottom-link{font-size:var(--text-small)}.slot-card{padding:20px}.slot-grid{grid-template-columns:1fr}.page-title{font-size:30px}.lead{font-size:14px}.notice,.result{padding:20px}.notice h2,.result h2{font-size:26px}fieldset{padding:20px 14px}legend{font-size:14px}.option{font-size:var(--text-small)}.saved-quiz fieldset label{font-size:14px;align-items:flex-start}.saved-quiz input[type=radio]{margin-top:6px}.booking-form input[type=datetime-local]{padding-inline:8px}.flash-messages{margin:20px 16px;font-size:var(--text-small)}.workspace-main>.flash-messages{margin:0 0 20px}.site-main>.login-layout{display:block;margin:24px 16px 35px;padding:0}.login-story{display:none}.login-card{padding:28px 22px}.login .page-title{font-size:31px}.login input:not([type=hidden]){min-height:52px}.login label{font-size:var(--text-small)}.login button{font-size:var(--text-small)}.login .login-help{font-size:var(--text-small)}.actions{gap:10px 16px}.button{font-size:var(--text-small)}.review h3{font-size:21px}}
@media(max-width:360px){.availability-card{padding:12px}.availability-card input[type=datetime-local]{padding-inline:4px}.hero-copy .actions{align-items:flex-start;flex-direction:column}.site-main>.hero{padding-bottom:140px;min-height:710px}.hero h1{font-size:38px}.product-window-content{padding:16px 11px}.product-welcome h3{font-size:15px}.product-welcome .avatar{width:30px;height:30px}.product-task{gap:8px}.product-task>.icon{width:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep the phone reading size comfortable without shrinking native editors. */
@media(max-width:650px){
 .hero-lead{font-size:14px}.hero .button{font-size:var(--text-small)}.hero-secondary{font-size:var(--text-small)}
 .value-strip>div{font-size:var(--text-small)}.journey-card>p:not(.eyebrow){font-size:14px}
 .journey-card>a{font-size:var(--text-small)}.platform-copy>p:not(.eyebrow){font-size:14px}
 .faq-list summary{font-size:var(--text-small)}.faq-list details>p{font-size:var(--text-small)}
 .start-band p:not(.eyebrow){font-size:14px}.metric-card>span{font-size:var(--text-small);min-height:48px}
 .metric-card small{font-size:var(--text-small)}.workspace-nav nav>a{font-size:var(--text-small)}
 .footer-grid>div>a:not(:has(img)){min-height:44px;font-size:var(--text-small)}
}

/* Readable type at every viewport: copy 16–18px, supporting text at least 14px. */
.brand{max-width:100%}.brand img{width:300px;height:auto}.footer-grid img{width:280px;height:auto}
.site-header nav,.nav-button,.button,.hero .button,.booking-form label,.login label,legend,.option{font-size:var(--text-body)}
.hero-lead{font-size:1.125rem;max-width:480px}.lead{font-size:1.125rem}
.section-heading>p,.journey-card>p:not(.eyebrow),.platform-copy>p:not(.eyebrow),.faq-section>div>p:not(.eyebrow),.faq-list summary,.faq-list details>p,.start-band p:not(.eyebrow),.login-story>p:not(.eyebrow),.login-card>p:not(.eyebrow),.dashboard-heading p:not(.eyebrow),.study-card>p:not(.eyebrow),.empty-state p,.student-summary ul{font-size:var(--text-body)}
.hero-secondary,.hero-signature strong,.value-strip>div,.benefit-list,.journey-card>a,.footer-grid>div>a:not(:has(img)),.workspace-nav nav>a,.panel-bottom-link,.quick-card>a{font-size:.9375rem}
.footer-grid>div>p:not(.footer-label){font-size:.9375rem}.footer-label{color:#bfc6d0}.footer-bottom{font-size:var(--text-small);line-height:1.8}
.workspace-shell{grid-template-columns:250px minmax(0,1fr)}.workspace-nav>.eyebrow{color:var(--muted)}
.metric-card>span{font-size:var(--text-small);max-width:100%;padding-right:20px;min-height:46px}.metric-card small{font-size:var(--text-small);display:block;line-height:1.6}
.lesson-day{height:64px}.lesson-day span{font-size:var(--text-small)}.lesson-row p{font-size:var(--text-small)}.study-card .button{font-size:var(--text-body)}
.hero-note{line-height:1.6}.hero-signature div>span{line-height:1.6}.product-window-top{letter-spacing:.4px}.product-task{align-items:flex-start}.product-task strong{font-size:.9375rem}.product-task div>span{margin-top:3px;line-height:1.6}.product-window-note{line-height:1.6}
@media(max-width:900px){.brand img{width:280px}.workspace-shell{grid-template-columns:1fr}.site-header nav{font-size:var(--text-body)}}
@media(max-width:800px){.site-header .nav-platform{display:none}}
@media(max-width:650px){
 .site-header nav,.site-header .nav-button{font-size:var(--text-small)}.site-header .nav-button{gap:12px}
 .brand img{width:280px}.hero .eyebrow{letter-spacing:1px}.hero-lead{font-size:var(--text-body)}
 .metric-grid{grid-template-columns:1fr}.metric-card{padding:20px}.metric-card>span{min-height:0;padding:0}.metric-card>strong{font-size:32px}.metric-card small{font-size:var(--text-small)}
 .value-strip{gap:20px 14px}.value-strip>div{font-size:var(--text-small);align-items:flex-start;border:0}
 .workspace-nav nav>a{font-size:.9375rem}.lesson-row small{font-size:var(--text-small)}
 .footer-grid>div>a:not(:has(img)){font-size:.9375rem}.footer-bottom{font-size:var(--text-small)}
 .hero-signature strong{font-size:var(--text-small)}.product-window-content{padding-inline:12px}
}

/* Brand appearance candidate: one white canvas and the approved Exo 2 identity. */
@font-face {
  font-family:"Exo 2 Display";
  src:url("fonts/exo2-heading-latin.eda14a81f082.woff2") format("woff2");
  font-weight:100 900;
  font-style:italic;
  font-display:swap;
}
:root { --display:"Exo 2 Display",Manrope,system-ui,sans-serif; }
.topline { background:var(--paper); }
.topline>div { padding-block:10px; }
.site-header { background:var(--paper); padding-block:25px; }
.site-header nav { gap:30px; }
.site-header nav>a:not(.nav-button) { position:relative; }
.site-header nav>a:not(.nav-button)::after {
  content:""; position:absolute; inset:auto 0 3px; height:2px;
  background:var(--red); transform:scaleX(0); transform-origin:left;
  transition:transform .18s;
}
.site-header nav>a:not(.nav-button):hover::after,
.site-header nav>a:not(.nav-button):focus-visible::after { transform:scaleX(1); }
.site-header .nav-button {
  color:white; background:var(--red); border-color:var(--red);
  border-radius:4px 12px 4px 4px; padding:13px 20px;
}
.site-header .nav-button:hover { color:white; background:#a50f25; border-color:#a50f25; }
.site-main>.hero {
  margin:18px 32px 0; padding:58px 52px 86px; min-height:600px;
  border-radius:8px; background:var(--ink);
}
.hero::before {
  content:""; position:absolute; left:0; top:42px; bottom:42px;
  width:4px; z-index:2; background:var(--red);
}
.hero-photo { object-position:65% center; }
.hero-shade {
  background:linear-gradient(90deg,rgba(25,30,39,.98),rgba(25,30,39,.91) 30%,rgba(25,30,39,.5) 55%,rgba(25,30,39,.04) 80%),linear-gradient(0deg,rgba(25,30,39,.24),transparent 55%);
}
.hero-copy { max-width:700px; }
.hero .eyebrow { letter-spacing:1.7px; color:#f1f2f5; margin-bottom:0; }
.hero h1 {
  font-family:var(--display); font-style:italic; font-weight:800;
  font-size:clamp(46px,4.7vw,68px); line-height:1.06;
  letter-spacing:-.025em; text-transform:uppercase; margin:30px 0 23px;
}
.hero h1 em { font-style:inherit; color:#ff667b; }
.hero-lead { font-size:18px; line-height:1.8; color:#e1e4e9; max-width:465px; }
.home-page .button { border-radius:4px 12px 4px 4px; padding:15px 23px; }
.hero .actions { margin-top:28px; gap:16px 24px; }
.hero-secondary { border-color:#b0b5c0; }
.hero-note { margin-top:22px; color:#d3d8e0; }
.hero-signature {
  right:26px; bottom:26px; padding:16px 18px; border-radius:6px;
  border:1px solid #fff7; background:#fff; box-shadow:0 12px 32px #0002;
}
.hero-signature-icon { border-radius:4px; }
.photo-caption { margin:9px 32px 0; }
.value-strip { padding:29px 0; }
.value-strip>div { justify-content:flex-start; padding-left:24px; }
.value-strip>div:first-child { padding-left:0; }
.value-strip .icon { width:23px; height:23px; }
.home-page .section-heading h2,
.home-page .platform-copy h2,
.home-page .faq-section h2,
.home-page .start-band h2 {
  font-family:var(--display); font-style:italic; font-weight:800;
  text-transform:uppercase; letter-spacing:-.02em; line-height:1.12;
}
.site-main>.journey-section { padding-block:68px 72px; }
.journey-grid { gap:22px; }
.journey-card { border-radius:6px; padding:28px; border-color:#dfe2e7; }
.journey-card-top { margin-bottom:32px; }
.journey-card-top>span {
  font-family:var(--display); font-style:italic; font-weight:800;
  font-size:38px; color:#737d8b; letter-spacing:-1px;
}
.journey-card-top .icon { border-radius:5px; background:#fff1f3; }
.journey-card h3 { font-family:var(--display); font-style:italic; font-weight:750; font-size:26px; letter-spacing:-.01em; }
.journey-card>a { border-top-color:#e4e6ea; }
.site-main>.platform-section { margin-inline:32px; padding:56px 52px; border-radius:8px; gap:64px; }
.platform-copy h2 { font-size:42px; }
.platform-copy h2 em { font-style:inherit; color:#ff7b8e; }
.platform-copy>p:not(.eyebrow) { color:#d4d9e1; }
.product-window { transform:none; border:1px solid #647080; border-radius:7px; box-shadow:0 20px 44px #0002; }
.product-window-top { padding:16px 18px; }
.product-window-content { padding:24px; }
.product-task { border-radius:5px; }
.site-main>.faq-section { padding-block:72px; }
.faq-list summary { padding-block:24px; }
.site-main>.start-band { margin-inline:32px; border-radius:8px; padding:42px 52px; gap:60px; }
.start-band h2 { font-size:38px; }
.site-footer { border-top:4px solid var(--red); background:var(--ink); }
.footer-domain strong { font-family:var(--display); font-style:italic; font-weight:800; }
@media(max-width:1100px) {
  .site-header nav { gap:20px; }
  .hero h1 { font-size:58px; }
  .hero-copy { max-width:620px; }
  .platform-copy h2 { font-size:36px; }
}
@media(max-width:900px) {
  .site-header { padding:23px 24px; }
  .site-header nav { gap:16px; }
  .site-header .nav-button { padding:12px 16px; }
  .site-main>.hero { margin-inline:24px; padding:46px 34px 120px; min-height:640px; }
  .hero h1 { font-size:54px; }
  .hero-copy { max-width:570px; }
  .hero-lead { max-width:425px; }
  .hero-signature { bottom:24px; right:24px; }
  .value-strip>div { padding-left:0; border:0; }
  .site-main>.platform-section { margin-inline:24px; padding:42px 32px; gap:36px; }
  .product-window-content { padding:20px 16px; }
  .site-main>.start-band { margin-inline:24px; padding:34px 32px; gap:34px; }
  .start-band h2 { font-size:32px; }
}
@media(max-width:650px) {
  .topline>div { padding:9px 20px; gap:16px; }
  .site-header { padding:20px; gap:17px; }
  .site-header nav { gap:8px; }
  .site-header .nav-button { padding:11px 14px; }
  .site-main>.hero { margin:10px 20px 0; padding:31px 23px 130px; min-height:760px; }
  .hero::before { top:28px; bottom:28px; width:3px; }
  .hero h1 { font-size:clamp(37px,9.7vw,48px); line-height:1.08; margin:25px 0 22px; letter-spacing:-.018em; }
  .hero .eyebrow { letter-spacing:1px; gap:9px; }
  .hero .eyebrow>span { width:18px; }
  .hero-shade { background:linear-gradient(180deg,rgba(25,30,39,.98) 0%,rgba(25,30,39,.94) 45%,rgba(25,30,39,.7) 68%,rgba(25,30,39,.3) 100%); }
  .hero-lead { font-size:16px; line-height:1.85; max-width:330px; }
  .home-page .hero .button { padding:13px 16px; }
  .hero .actions { gap:13px 20px; margin-top:24px; }
  .hero-note { margin-top:19px; align-items:flex-start; }
  .hero-note .icon { margin-top:4px; }
  .hero-signature { left:16px; right:16px; bottom:18px; padding:13px 12px; gap:9px; min-width:0; }
  .hero-signature-icon { padding:7px; }
  .hero-signature strong { font-size:14px; }
  .hero-signature div>span { font-size:14px; }
  .hero-signature>span:last-child { margin-left:auto; }
  .photo-caption { margin:9px 20px 0; }
  .value-strip { margin-inline:20px; padding:26px 0; gap:22px 16px; }
  .value-strip>div { padding:0; align-items:flex-start; gap:9px; font-size:14px; }
  .value-strip .icon { width:20px; height:20px; margin-top:2px; }
  .site-main>.journey-section { padding:44px 20px 48px; }
  .section-heading h2,.home-page .faq-section h2 { font-size:33px; }
  .section-heading>p { margin-top:19px; }
  .journey-grid { gap:16px; }
  .journey-card { padding:25px; }
  .journey-card-top { margin-bottom:23px; }
  .journey-card h3 { font-size:27px; }
  .site-main>.platform-section { margin-inline:20px; padding:32px 23px; gap:29px!important; }
  .platform-copy h2 { font-size:32px; }
  .product-window-content { padding:20px 14px; }
  .site-main>.faq-section { padding:48px 20px; gap:26px; }
  .faq-list summary { padding-block:22px; }
  .site-main>.start-band { margin:0 20px 40px; padding:29px 23px; gap:23px; }
  .start-band h2 { font-size:30px; }
  .site-footer { padding-top:34px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header nav>a:not(.nav-button)::after { transition:none; }
}

/* Owner-confirmed school contacts; same source partial in homepage and footer. */
.contact-band { align-items:center; }
.contact-intro>p:not(.eyebrow) { margin:24px 0 0; max-width:360px; }
.contact-details { display:grid; gap:12px; }
.contact-detail {
  display:flex; align-items:center; gap:13px; padding:16px 18px;
  border:1px solid #ffffff4d; border-radius:6px; background:#ffffff0b;
  color:white; text-decoration:none; min-width:0;
}
a.contact-detail:hover { background:#ffffff18; }
.contact-item-icon { display:inline-flex; flex-shrink:0; }
.contact-item-icon .icon { width:23px; height:23px; }
.contact-detail>span:not(.contact-item-icon):not(.contact-arrow),.contact-detail>div { min-width:0; }
.contact-label { display:block; font-size:14px; font-weight:800; letter-spacing:1px; margin-bottom:5px; }
.contact-detail strong { display:block; font-size:22px; font-weight:800; line-height:1.45; }
.contact-detail address { font-size:16px; line-height:1.65; font-style:normal; }
.contact-arrow { margin-left:auto; font-size:21px; }
.contact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; margin-top:22px; }
.contact-map-link { display:inline-flex; align-items:center; gap:12px; min-height:48px; font-size:15px; font-weight:700; text-decoration:none; border-bottom:1px solid #ffffffb3; }
.footer-contact { display:grid; gap:7px; margin-top:19px; font-style:normal; }
.footer-contact>a { display:flex; align-items:center; gap:10px; width:fit-content; max-width:100%; min-height:44px; font-size:15px; line-height:1.7; text-decoration:none; color:#d5dae2; }
.footer-contact>a:hover { color:white; }
.footer-contact .icon { width:18px; height:18px; color:#ff7b8e; }
@media(max-width:900px) {
  .contact-detail { padding:14px; }
  .contact-detail strong { font-size:20px; }
  .contact-actions { gap:10px 16px; }
}
@media(max-width:650px) {
  .site-main>.contact-band { gap:28px; }
  .contact-intro>p:not(.eyebrow) { margin-top:20px; }
  .contact-detail strong { font-size:21px; }
  .contact-actions { margin-top:20px; }
  .contact-map-link { font-size:14px; }
}
@media(max-width:360px) {
  .contact-detail>.contact-item-icon,.contact-detail>.contact-arrow { display:none; }
  .contact-detail strong { font-size:20px; }
}
