@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#172b49;--green:#c91920;--muted:#596579;--cream:#ffffff;--line:#dce2eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;justify-content:center;padding:13px 23px;border:1px solid var(--green);border-radius:6px;background:var(--green);color:white;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.secondary{background:transparent;color:var(--green)}.prototype{background:var(--ink);color:#ffffff;text-align:center;padding:7px 18px;font-size:11px}.prototype b{letter-spacing:1px;margin-right:8px}header{max-width:1200px;margin:auto;padding:23px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:800 37px/1 Manrope,Arial,sans-serif;letter-spacing:-3px;text-decoration:none}.brand span{color:#cf2027;font-size:15px;padding-left:5px}nav{display:flex;gap:9px}nav a{text-decoration:none;font-size:13px;padding:8px 13px;border-radius:5px}nav a[aria-current=page]{background:#fff0f0;font-weight:700}.login-link{border:1px solid #c7cfdb}main{max-width:1150px;margin:auto;padding:0 25px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.16;letter-spacing:-1.5px}h1{font-size:clamp(39px,5vw,63px);margin:20px 0 25px}h2{font-size:35px;margin:15px 0 23px}h3{font-size:21px;letter-spacing:-.5px}p{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding:50px 0 60px;align-items:center}.lead{font-size:20px;color:var(--ink);line-height:1.5}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:28px 0 15px}.text-link{font-size:13px;text-underline-offset:4px}.note{font-size:12px}.launch-note{padding:13px 17px;background:#f1f4f9;border-left:3px solid #cf2027;font-size:13px;margin-top:25px}.included{padding:30px;background:#f2f5fa;border-radius:16px}.included h2{font-size:26px}.included-row{padding:16px 0;border-top:1px solid #d9e0ea;display:grid;grid-template-columns:30px 1fr;gap:13px}.icon{height:28px;width:28px;border-radius:50%;background:white;text-align:center;font-size:13px;line-height:28px}.included-row b{font-size:15px}.included-row p{font-size:13px;margin:6px 0 0}.kit-note{background:var(--ink);color:#ffffff;border-radius:7px;padding:14px 18px;font-size:12px;margin-top:12px}.strip{display:flex;justify-content:space-between;gap:15px;border-block:1px solid var(--line);padding:20px 0;font-size:13px}.strip span::before{content:'✓';padding-right:8px;color:#c91920}.section{padding:60px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:30px}.card{border-top:1px solid var(--line);padding-top:20px}.card p{font-size:14px}.number{font-size:11px;color:#c91920;font-weight:700}.learning{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--ink);color:#ffffff;padding:40px;border-radius:15px;margin-bottom:60px}.learning h2{font-size:32px}.learning p{color:#dce4f1;font-size:14px}.learning li{font-size:14px;margin:10px 0}.learning ul{padding-left:19px}.learning .note{font-size:11px}.paper{background:#ffffff;color:var(--ink);padding:28px;border-radius:9px;align-self:center}.paper small{font-size:10px;letter-spacing:1px}.equation{font:36px Georgia,serif;margin:25px 0}.paper blockquote{margin:20px 0;padding-left:15px;border-left:3px solid #cf2027;font-size:15px}.paper p{font-size:12px;color:var(--muted)}.form-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;padding:15px 0 65px;align-items:start}.form-aside{position:sticky;top:25px}.form-aside p,.form-aside li{font-size:14px}.form-aside ul{padding-left:19px}.form-panel{padding:30px;border:1px solid var(--line);border-radius:12px;background:white;min-width:0}.form-panel>h3{margin-top:0}form{display:grid;gap:17px}label{display:grid;gap:6px;font-size:12px;font-weight:600}input,select,textarea{width:100%;padding:11px;border:1px solid #c7d0de;border-radius:5px;background:#ffffff;color:var(--ink);min-width:0}textarea{resize:vertical;min-height:85px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.hint{font-size:11px;font-weight:400;margin:0;color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:6px;padding:15px}legend{font-size:12px;font-weight:700;padding:0 7px}.checks{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:12px}.checks input{width:auto;margin-top:4px}.callout{padding:14px;background:#f2f5fa;border-radius:6px;font-size:12px}.summary-row{font-size:13px;padding:11px 0;border-bottom:1px solid var(--line)}.summary-row b{display:block;font-size:11px;color:var(--muted);font-weight:500}.form-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.result{padding:20px;background:#f2f5fa;border-radius:8px}.result p{font-size:13px}.faq{max-width:850px;margin:auto;padding:0 0 60px}details{border-bottom:1px solid var(--line);padding:17px 0}summary{font-size:14px;cursor:pointer;font-weight:600}details p{font-size:13px}.bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#f2f5fa;border-radius:10px;padding:30px;margin-bottom:55px}.bottom h3{margin:0 0 5px}.bottom p{font-size:13px;margin:0}.login-layout{max-width:960px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:65px 0 90px}.login-layout h1{font-size:47px}.login-layout li{font-size:14px;margin:12px 0}.tabs{display:flex;gap:5px;background:#f2f5fa;padding:5px;border-radius:7px;margin-bottom:25px}.tabs button{flex:1;padding:9px 6px;background:transparent;color:var(--ink);border-color:transparent;font-size:12px}.tabs button.active{background:white;border-color:var(--line)}input:disabled{opacity:.7}.dashboard-card{padding:18px;background:#f2f5fa;border-radius:7px;margin-top:15px}.dashboard-card h3{font-size:17px;margin:0}.dashboard-card p{font-size:13px}footer{max-width:1150px;margin:auto;border-top:1px solid var(--line);padding:30px 25px;display:flex;align-items:center;gap:25px}footer p{font-size:12px}footer small{margin-left:auto;font-size:10px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #cf2027;outline-offset:3px}[hidden]{display:none!important}@media(max-width:800px){header{flex-wrap:wrap;padding:18px}nav a{font-size:11px;padding:8px}.hero,.form-section,.learning,.login-layout{grid-template-columns:1fr;gap:30px}.hero{padding:30px 0 40px}.hero h1{font-size:44px}.included{padding:24px}.strip{flex-wrap:wrap;font-size:12px}.form-aside{position:static}.learning{padding:26px}.login-layout{padding:35px 0 60px}.bottom{align-items:flex-start;flex-direction:column}footer{flex-wrap:wrap}footer small{margin:0;width:100%}}@media(max-width:480px){main{padding:0 18px}nav{width:100%;justify-content:space-between}.form-row,.cards{grid-template-columns:1fr}.form-panel{padding:20px}.hero h1{font-size:39px}h2{font-size:30px}.prototype{font-size:10px}}
.learning{grid-template-columns:1fr;gap:24px}.learning>div{max-width:820px}.learning h2{font-size:36px}.learning-photo{margin:0}.learning-photo img{display:block;width:100%;border-radius:10px;aspect-ratio:16/9;object-fit:cover}.learning-photo figcaption{font-size:11px;color:#dce4f1;margin-top:10px}.slot-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 38px;gap:8px;align-items:end;margin:14px 0}.slot-row button{padding:11px 0}.offer-row{margin:14px 0}.offer-row label{margin-bottom:10px}.form-message{padding:12px;background:#fff0e9;color:#8a3422;border-radius:5px;font-size:13px}.remove-offer{align-self:end;margin-bottom:10px}fieldset{min-width:0}.form-section>.callout{grid-column:1/-1}input[readonly]{background:#f2f5fa}@media(max-width:480px){.slot-row{grid-template-columns:1fr 1fr}.slot-row>label:first-child{grid-column:1/-1}.slot-row button{grid-column:2}.learning h2{font-size:29px}}

/* Ace Tuition Online brand */
.brand{display:flex;align-items:center;gap:13px;letter-spacing:0;flex-shrink:0}
.brand img{display:block;width:68px;height:76px;object-fit:contain}
.brand .brand-name{padding:0;color:var(--ink);font:800 24px/1.15 Manrope,Arial,sans-serif;letter-spacing:-.7px}
.brand .brand-online{display:block;padding:4px 0 0;color:#c91920;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase}
header{padding-top:15px;padding-bottom:15px}
footer .brand img{width:48px;height:58px}footer .brand .brand-name{font-size:19px}
.eyebrow{color:#b91820}.included .eyebrow{color:#b91820}.learning .eyebrow{color:#ffb6b9}
.secondary{border-color:#c91920}.login-link{border-color:#172b49;color:#172b49;font-weight:600}
@media(max-width:800px){.brand img{width:54px;height:62px}.brand .brand-name{font-size:21px}}.admin-heading{display:flex;justify-content:space-between;align-items:center}.admin-heading h1{font-size:42px}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.admin-tabs button{background:white;color:var(--ink);border-color:var(--line)}.admin-tabs button.active{background:var(--ink);color:white}.admin-card{border:1px solid var(--line);border-radius:10px;padding:24px;margin:20px 0;background:white}.admin-card form{margin-top:20px}.audit-entry{padding:17px;border-bottom:1px solid var(--line)}.audit-entry p{font-size:12px}.tag{display:inline-block;padding:4px 10px;border-radius:20px;background:#f2f5fa;font-size:11px}.admin-card pre,.audit-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:400px;overflow:auto;background:#f2f5fa;padding:15px}.policy{max-width:850px;padding-bottom:70px}.policy h1{font-size:45px}.policy h2{font-size:25px;margin-top:35px}.policy p{font-size:15px}#admin-message{font-size:14px;color:#b91820}
.invoice-document{max-width:980px;padding:35px 25px 70px}.invoice-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.invoice-heading h1{font-size:34px}.invoice-document table{width:100%;border-collapse:collapse;margin:25px 0}.invoice-document th,.invoice-document td{padding:12px 8px;border-bottom:1px solid #dce2eb;text-align:left;font-size:13px}.invoice-document td:last-child{text-align:right}.invoice-terms{font-size:12px;line-height:1.7}.invoice-document section p{font-size:13px}@media print{.no-print{display:none!important}.invoice-document{max-width:none;padding:0}body{font-size:11px}.invoice-document table tr{break-inside:avoid}a{color:inherit;text-decoration:none}}
.payment-qr{display:block;max-width:160px;height:auto;margin:15px 0}.invoice-heading img{height:auto;max-width:75px}
