:root{--font-display:Georgia, "Times New Roman", serif;--font-ui:Arial, Helvetica, sans-serif;font-family:var(--font-ui);font-size:16px;font-weight:400;line-height:1.5}body{font-family:var(--font-ui)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2}button,input,textarea,select{font-family:var(--font-ui)}button{font-weight:600}input,textarea,select{font-weight:400}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-ui);color:#f4dfb9;background:#090b12}.academy-register-cta{color:#ffe3af;text-align:left;background:linear-gradient(130deg,#775320,#332318);border:1px solid #edc680;border-radius:10px;align-items:center;gap:12px;width:100%;margin:12px 0 18px;padding:12px 16px;display:flex}.academy-register-cta>svg{flex-shrink:0}.academy-register-cta>svg:last-child{margin-left:auto}.academy-register-cta b,.academy-register-cta small{display:block}.academy-register-cta b{font-size:15px}.academy-register-cta small{color:#dec598;margin-top:3px;font-size:11px}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #9ed3e5}.academy-state{--state-gold:#dfb86f;color:#f4dfb9;background:linear-gradient(#090b1266,#090b12bb),url(/assets/academy/academy-gates-v1.webp) 50%/cover;place-items:center;min-height:100dvh;padding:36px 20px;display:grid;position:relative}.academy-state-frame{text-align:center;background:linear-gradient(145deg,#10121aee,#151117f2);border:1px solid #b28a48;border-radius:20px;width:min(640px,100%);padding:clamp(28px,5vw,54px);position:relative;box-shadow:0 26px 80px #0008,inset 0 0 0 5px #dfb86f09}.academy-state-frame:before,.academy-state-frame:after{content:"◆";color:var(--state-gold);position:absolute;top:-10px;left:24px}.academy-state-frame:after{left:auto;right:24px}.academy-state-crest{aspect-ratio:1;border:1px solid var(--state-gold);border-radius:50%;place-items:center;width:116px;margin:0 auto 24px;padding:5px;display:grid;box-shadow:0 0 0 7px #dfb86f0a,0 0 40px #dfb86f16}.academy-state-crest img{object-fit:contain;border-radius:50%;width:100%;height:100%;display:block}.academy-state-kicker{color:var(--state-gold);font:700 10px/1.5 var(--font-ui);letter-spacing:.16em;text-transform:uppercase}.academy-state h1{font:500 clamp(30px,4vw,46px)/1.12 var(--font-display);text-wrap:balance;margin:14px 0}.academy-state p{color:#cbbca6;max-width:450px;font:14px/1.65 var(--font-ui);margin:0 auto 22px}.academy-state-progress{color:#cfb68c;padding-top:24px;font-size:12px;position:relative;overflow:hidden}.academy-state-progress:before,.academy-state-progress span{content:"";background:#dfb86f22;border-radius:3px;width:100%;height:3px;position:absolute;top:0;left:0}.academy-state-progress span{background:linear-gradient(90deg,#0000,#e5bd70,#0000);width:35%;animation:1.8s ease-in-out infinite academy-opening}@keyframes academy-opening{0%{transform:translate(-100%)}to{transform:translate(390%)}}.academy-state-symbol{color:var(--state-gold);margin:12px auto 24px}.academy-state-symbol svg{width:40px;height:40px}.academy-state-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.academy-state button{color:#23170d;background:linear-gradient(#eccb8b,#bd8740);border:1px solid #d8ae62;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font-size:13px;font-weight:700;display:inline-flex}.academy-state button svg{width:17px;height:17px}.academy-state .academy-state-home{color:#ead3ae;background:#17141b;border-color:#9b7947}.academy-state-note{color:#b2a58e;font:italic 12px/1.4 var(--font-display);border-top:1px solid #b28a482e;margin-top:28px;padding-top:18px;display:block}.academy-state .academy-state-slow{margin:18px 0 0;font-size:12px}.academy-state-slow button{margin-top:12px}.academy-state.academy-state-compact{border-radius:12px;min-height:min(60vh,520px)}.academy-state-compact .academy-state-frame{padding:26px}.academy-state-compact .academy-state-crest{width:64px;margin-bottom:14px}.academy-state-compact h1{font-size:28px}.academy-login-page.academy-entrance{color:#f4dfb9;background:linear-gradient(90deg,#070a1266,#070a1277),url(/assets/academy/academy-gates-v1.webp) 50%/cover;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);align-items:center;gap:clamp(24px,4vw,60px);min-height:100dvh;padding:70px clamp(24px,4vw,74px) 42px;display:grid}.academy-entrance .academy-login-brand{background:linear-gradient(145deg,#10121aee,#171219df);border:1px solid #b68a49aa;border-radius:14px;max-width:520px;padding:30px;box-shadow:0 24px 70px #0006}.academy-entrance .academy-login-emblem{background:#101018;border:1px solid #d7ac60;border-radius:50%;width:104px;height:104px;margin:-70px 0 24px;padding:5px}.academy-entrance .academy-login-emblem img{object-fit:contain;border-radius:50%;width:100%;height:100%;display:block}.academy-entrance .academy-login-kicker{font:700 10px/1.5 var(--font-ui);color:#ddb168;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;display:flex}.academy-entrance .academy-login-brand h1{font:500 clamp(34px,3.4vw,58px)/1.07 var(--font-display);color:#f4dfb9;letter-spacing:-.025em;margin:18px 0}.academy-entrance .academy-login-brand h1 em{color:#e3b363}.academy-entrance .academy-login-brand p{color:#cec1ac;font:15px/1.6 var(--font-display)}.academy-entrance .login-features{gap:12px;margin-top:24px;display:grid}.academy-entrance .login-features span{color:#d4c5ac;align-items:center;gap:10px;font-size:12px;display:flex}.academy-entrance .login-features svg{color:#dfb46d;width:18px}.academy-entrance blockquote{color:#b6a388;font:italic 13px/1.5 var(--font-display);border-top:1px solid #b68a4933;margin:24px 0 0;padding-top:18px}.academy-entrance .academy-entry-card,.academy-entrance .academy-login-card{background:linear-gradient(145deg,#0d1019f7,#17121af5);border:1px solid #d5a65f88;border-radius:14px;width:100%;padding:clamp(20px,2.5vw,36px);box-shadow:0 26px 70px #0007}.academy-entrance .kicker{color:#e3b363;font:700 11px/1.4 var(--font-ui);letter-spacing:.14em;text-transform:uppercase}.academy-entrance h2{color:#f4dfb9;font:500 clamp(30px,3vw,44px)/1.15 var(--font-display);margin:8px 0 10px}.academy-entrance .academy-entry-card>p{color:#b9ad9b;font:13px/1.6 var(--font-ui);margin:0 0 22px}.academy-entrance .academy-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.academy-entrance .academy-login-role{text-align:left;color:#f4dfb9;background:#0e1018;border:1px solid #b2894b77;border-radius:10px;flex-direction:column;align-items:stretch;gap:0;min-width:0;min-height:340px;padding:0;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.academy-entrance .academy-login-role:hover{border-color:#e1b366;box-shadow:0 0 0 2px #d5a65f16}.academy-entrance .academy-login-role-art{background:radial-gradient(#463324,#090b12);border-bottom:1px solid #b2894b44;height:clamp(140px,13vw,210px);display:block;position:relative}.academy-entrance .academy-login-role-art img{object-fit:contain;filter:none;width:100%;height:100%;display:block;transform:none}.academy-entrance .academy-login-role:hover img{transform:none}.academy-entrance .academy-login-role-art i{color:#ddb168;background:#0c1018;border:1px solid #d7ac60;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;bottom:8px;left:10px}.academy-entrance .academy-login-role-art svg{width:16px}.academy-entrance .academy-login-role-copy{flex-direction:column;flex:1;gap:8px;padding:16px 14px 14px;display:flex}.academy-entrance .academy-login-role-copy small{color:#ddb168;font:700 9px/1.4 var(--font-ui);letter-spacing:.1em;text-transform:uppercase}.academy-entrance .academy-login-role-copy b{font:500 clamp(18px,1.65vw,25px)/1.15 var(--font-display);margin:0}.academy-entrance .academy-login-role-copy em{color:#b9ad9b;font:normal 12px/1.5 var(--font-ui);margin:0}.academy-entrance .academy-login-role-action{color:#ddb168;font:700 11px/1.4 var(--font-ui);border-top:1px solid #b2894b44;justify-content:space-between;align-items:center;margin:0 14px 14px;padding-top:12px;display:flex}.academy-entrance .academy-login-role-action svg{width:16px}.academy-entrance .role-observer{background:linear-gradient(#101c1b,#0d1018);border-color:#638675}.academy-entrance .role-observer small{color:#a3cbbb}.academy-entrance .academy-secure-login{color:#e7c998;text-align:left;background:#211922;border:1px solid #b2894b77;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:54px;margin-top:20px;padding:12px 16px;display:flex}.academy-entrance .academy-secure-login svg{width:20px}.academy-entrance .academy-secure-login>svg:last-child{margin-left:auto}.academy-entrance .academy-secure-login b,.academy-entrance .academy-secure-login small{display:block}.academy-entrance .academy-secure-login small{color:#b9ad9b;font-size:11px}.academy-entrance .academy-login-card{justify-self:end;gap:16px;max-width:560px;display:grid}.academy-entrance .academy-login-card label{gap:8px;font-size:13px;display:grid}.academy-entrance .academy-login-card input{color:#f4dfb9;background:#090c14;border:1px solid #b2894b88;border-radius:8px;width:100%;min-height:48px;padding:12px}.academy-entrance .academy-login-card .button{color:#23170d;background:linear-gradient(#eccb8b,#bd8740);border:1px solid #d7ac60;border-radius:8px;min-height:48px;padding:12px;font-weight:700}.academy-entrance .secure-login-back{color:#e1bb7f;background:0 0;border:0;align-items:center;gap:8px;padding:10px 0;display:flex}.academy-entrance .secure-login-back svg{width:18px}.academy-entrance .form-error{color:#ffc7ba;font:13px/1.5 var(--font-ui);padding:12px}.academy-entrance .login-mfa-enrollment{color:#cbbca6;justify-items:center;gap:12px;display:grid}.academy-entrance .login-mfa-enrollment img{width:190px;max-width:100%}.academy-entrance .login-mfa-enrollment code{overflow-wrap:anywhere;max-width:100%}@media (width<=1050px){.academy-login-page.academy-entrance{grid-template-columns:1fr;max-height:none;padding:80px 24px 32px;overflow:visible}.academy-entrance .academy-login-brand{max-width:none}.academy-entrance .academy-login-brand h1 br{display:none}.academy-entrance .login-features{flex-wrap:wrap;display:flex}.academy-entrance blockquote{display:none}.academy-entrance .academy-login-card{justify-self:center}.academy-entrance .academy-login-role-art{height:180px}}@media (width<=640px){.academy-login-page.academy-entrance{gap:18px;padding-inline:16px}.academy-entrance .academy-login-brand{padding:24px}.academy-entrance .academy-role-grid{grid-template-columns:1fr}.academy-entrance .academy-login-role{grid-template-rows:1fr auto;grid-template-columns:120px 1fr;min-height:168px;display:grid}.academy-entrance .academy-login-role-art{grid-row:1/3;height:100%;min-height:168px}.academy-entrance .academy-login-role-copy{padding:14px 12px 8px}.academy-entrance .academy-login-role-action{margin:0 12px 12px}.academy-entrance .academy-login-role-copy b{font-size:20px}.academy-state-frame{padding:28px 20px}}@media (prefers-reduced-motion:reduce){.academy-state-progress span{animation:none;left:30%}.academy-entrance .academy-login-role{transition:none}}@media (width<=640px){.academy-entrance .academy-login-role{min-height:0;display:flex}.academy-entrance .academy-login-role-art{flex-shrink:0;grid-row:auto;width:100%;height:180px;min-height:180px}.academy-entrance .academy-login-role-copy{width:100%;padding:16px}.academy-entrance .academy-login-role-action{min-height:38px;margin:0 16px 16px}.academy-entrance .academy-login-emblem{width:86px;height:86px;margin-top:-62px;margin-bottom:18px}.academy-entrance .academy-login-brand h1{font-size:32px}.academy-entrance .academy-login-brand>p{font-size:14px}}@media (width>=1051px) and (height<=760px){.academy-login-page.academy-entrance{padding-block:56px 24px}.academy-entrance .academy-entry-card{padding-block:24px}.academy-entrance .academy-login-role{min-height:300px}.academy-entrance .academy-login-role-art{height:144px}.academy-entrance .academy-login-role-copy{gap:6px;padding-block:12px}.academy-entrance .academy-login-role-copy b{font-size:20px}.academy-entrance .academy-login-role-copy em{font-size:11px}.academy-entrance .academy-login-brand{padding:24px}.academy-entrance .academy-login-brand h1{font-size:40px}.academy-entrance .login-features{margin-top:18px}}:root{--admission-gold:#e2b96c;--admission-ink:#f5e3c2;--admission-muted:#c6b9a8;--admission-surface:#11131b;--admission-line:#ac895150;--admission-space:8px;--admission-serif:var(--font-display);--admission-sans:var(--font-ui)}.admission-registration.enrollment-page,.academy-login-page.academy-entrance{font:15px/1.55 var(--admission-sans);background:radial-gradient(at 24% 40%,#b8812920,#0000 60%),linear-gradient(90deg,#080c14e8,#080c14b0),url(/assets/academy/academy-gates-v1.webp) 50%/cover;gap:clamp(32px,4vw,64px);padding:clamp(24px,3vw,48px)}.admission-registration.enrollment-page{grid-template-columns:minmax(0,1fr) minmax(400px,500px)}.admission-registration .admission-story{gap:24px;max-width:800px;display:grid}.admission-registration .admission-intro h1{font:400 clamp(38px, 3.6vw, 60px)/1.14 var(--admission-serif);letter-spacing:-.02em;text-wrap:balance;margin:16px 0 12px}.admission-registration .admission-intro p{max-width:600px;margin:0;font-size:16px}.admission-registration .enrollment-eyebrow{font:700 11px/1.5 var(--admission-sans);letter-spacing:.1em}.admission-ceremony-preview{border:1px solid var(--admission-line);background:linear-gradient(125deg,#8a58291a,#10131bea);border-radius:20px;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);align-items:center;gap:24px;padding:16px;display:grid;box-shadow:inset 0 0 0 4px #e2b96c05,0 16px 40px #0003}.admission-hat-portrait{background:#1f1713;border:1px solid #bc955eaa;border-radius:80px 80px 12px 12px;justify-self:center;width:100%;max-width:240px;margin:0;padding:6px;position:relative;overflow:hidden;box-shadow:0 0 0 4px #e2b96c09}.admission-hat-portrait img{aspect-ratio:552/686;object-fit:contain;border-radius:74px 74px 6px 6px;width:100%;height:auto;display:block}.admission-hat-portrait figcaption{color:var(--admission-gold);text-align:center;font:12px/1.4 var(--admission-serif);padding:8px 4px 2px}.admission-registration .admission-ceremony-copy h2{font:400 clamp(25px, 2.2vw, 34px)/1.16 var(--admission-serif);margin:10px 0}.admission-registration .admission-ceremony-copy p{font:14px/1.6 var(--admission-sans);margin:0 0 16px}.admission-ceremony-copy ol{gap:16px;margin:0;padding:0;list-style:none;display:grid}.admission-ceremony-copy li{align-items:flex-start;gap:12px;display:flex}.admission-ceremony-copy li>span{border:1px solid var(--admission-line);width:32px;height:32px;color:var(--admission-gold);font:12px var(--admission-serif);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.admission-ceremony-copy b{font:600 13px/1.5 var(--admission-sans);display:block}.admission-ceremony-copy small{color:var(--admission-muted);font:12px/1.5 var(--admission-sans);margin-top:2px;display:block}.admission-houses{min-width:0}.admission-houses-heading{border-bottom:1px solid var(--admission-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;display:flex}.admission-houses-heading>span{color:var(--admission-gold);font:14px/1.4 var(--admission-serif)}.admission-houses-heading small{color:var(--admission-muted);font:11px/1.5 var(--admission-sans)}.admission-house-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:12px;display:grid}.admission-house{text-align:center;min-width:0;margin:0}.admission-house-art{isolation:isolate;aspect-ratio:1;background:radial-gradient(ellipse, color-mix(in srgb, var(--house-accent) 14%, transparent), transparent 72%);place-items:center;width:100%;display:grid;position:relative}.admission-house-art img{object-fit:contain;filter:drop-shadow(0 8px 12px #0006);width:100%;max-width:180px;height:100%;display:block}.admission-house-flag{z-index:-1;clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%);background:repeating-linear-gradient(90deg,#0000 0,#fff1 14%,#0002 26%,#0000 39%), linear-gradient(135deg,color-mix(in srgb,var(--house-accent) 65%,#18131c),#15131d);border-top:3px solid #c49956;position:absolute;inset:0 14%;box-shadow:inset 0 0 0 1px #c4995677}.admission-house-flag:after{content:"";clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%);border:1px solid #e2b96c66;position:absolute;inset:7px}.admission-house figcaption{padding-top:4px}.admission-house strong{color:var(--admission-ink);font:400 16px/1.4 var(--admission-serif);display:block}.admission-house figcaption small{color:var(--house-accent);font:11px/1.5 var(--admission-sans);margin-top:2px;display:block}.admission-registration .admission-form-panel{border-radius:20px;padding:28px;position:relative;box-shadow:0 24px 80px #0006,inset 0 0 0 5px #dfb86f07}.admission-registration .admission-form-panel:before{content:"◆";color:var(--admission-gold);font-size:14px;position:absolute;top:-11px;left:calc(50% - 6px)}.admission-registration .admission-form-panel h2{font:400 clamp(30px, 2.6vw, 40px)/1.16 var(--admission-serif);text-wrap:balance;margin:12px 0}.admission-registration .admission-form-panel>p{font:14px/1.55 var(--admission-sans);margin:0 0 20px}.admission-registration .admission-form-panel form{gap:14px}.admission-registration .admission-form-panel label{font:600 14px/1.4 var(--admission-sans);gap:8px}.admission-registration .admission-form-panel input{min-height:48px;font:15px/1.4 var(--admission-sans)}.admission-registration .admission-form-panel label small{font:12px/1.5 var(--admission-sans)}.admission-registration .admission-form-panel .enrollment-primary{min-height:52px;font:700 15px/1.4 var(--admission-sans)}.admission-registration .admission-form-panel .enrollment-privacy{font:12px/1.55 var(--admission-sans);margin:20px 0 0}.admission-registration .enrollment-back{font:14px/1.5 var(--admission-sans);margin:0 0 16px}.academy-login-page.academy-entrance{grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr)}.academy-login-page.academy-entrance:before,.academy-login-page.academy-entrance:after{content:none}.academy-entrance .academy-login-brand{border-radius:20px;justify-self:center;width:100%;max-width:600px;margin:0;padding:28px}.academy-entrance .academy-login-emblem{aspect-ratio:1;flex-shrink:0;width:128px;height:128px;margin:0 auto 24px;box-shadow:0 0 0 6px #d7ac600a,0 0 40px #d7ac6014}.academy-entrance .academy-login-brand h1{font:400 clamp(34px, 3vw, 52px)/1.14 var(--admission-serif);text-wrap:balance;letter-spacing:-.02em;margin:16px 0}.academy-entrance .academy-login-brand h1 em{font-style:normal}.academy-entrance .academy-login-brand p{font:15px/1.6 var(--admission-sans)}.academy-entrance .academy-login-brand .login-features{display:none}.academy-entrance .academy-login-brand blockquote{font:italic 13px/1.55 var(--admission-serif);border:0;margin:20px 0;padding:0}.academy-entrance .admission-house-grid{gap:4px}.academy-entrance .admission-house strong{font-size:13px}.academy-entrance .admission-house figcaption small{display:none}.academy-entrance .admission-houses-heading>span{font-size:13px}.academy-entrance .admission-houses-heading small{display:none}.academy-entrance .academy-entry-card,.academy-entrance .academy-login-card{border-radius:20px;padding:28px}.academy-entrance h2{font:400 clamp(30px, 2.8vw, 44px)/1.16 var(--admission-serif)}.academy-entrance .academy-entry-card>p{margin-bottom:20px;font-size:14px}.admission-auth-actions{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;display:grid}.academy-entrance .admission-auth-actions button{border-radius:12px;min-height:80px;margin:0;padding:16px}.academy-entrance .academy-register-cta{color:#25180b;background:linear-gradient(135deg,#f0d59e,#bd8841);box-shadow:inset 0 0 0 4px #fff1}.academy-entrance .academy-register-cta b{font:700 14px/1.4 var(--admission-sans)}.academy-entrance .academy-register-cta small{color:#493014;font:12px/1.4 var(--admission-sans)}.academy-entrance .academy-secure-login{background:#19171d}.academy-entrance .academy-secure-login b{font:600 14px/1.4 var(--admission-sans)}.academy-entrance .academy-secure-login small{font-size:12px}.admission-demo-heading{color:var(--admission-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:24px 0 16px;display:flex}.admission-demo-heading span{font:16px/1.4 var(--admission-serif);color:var(--admission-ink)}.admission-demo-heading small{font:11px/1.5 var(--admission-sans)}.admission-live-entry{border-top:1px solid var(--admission-line);flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:16px;display:flex}.admission-live-entry p{font:12px/1.5 var(--admission-sans);color:var(--admission-muted);flex-basis:100%;margin:0}.admission-live-entry .button{min-height:44px;font:12px/1.4 var(--admission-sans)}.academy-entrance .academy-role-grid{gap:16px}.academy-entrance .academy-login-role{border-radius:12px;min-height:0}.academy-entrance .academy-login-role-art{aspect-ratio:3/2;flex-shrink:0;height:auto;min-height:0}.academy-entrance .academy-login-role-art img{object-fit:contain;object-position:center;border-radius:0;width:100%;height:100%}.academy-entrance .academy-login-role-copy{gap:8px;padding:16px}.academy-entrance .academy-login-role-copy b{font:400 clamp(19px, 1.5vw, 24px)/1.2 var(--admission-serif)}.academy-entrance .academy-login-role-copy em{font:12px/1.6 var(--admission-sans)}.academy-entrance .academy-login-role-action{min-height:36px;margin:0 16px 16px;font-size:12px}.academy-entrance .academy-login-card{justify-self:center;gap:20px;max-width:520px}.academy-entrance .academy-login-card input{font:15px/1.4 var(--admission-sans);min-height:52px}.academy-entrance .academy-login-card .button{font:700 15px/1.4 var(--admission-sans)}.academy-entrance .secure-login-back{font:14px/1.5 var(--admission-sans)}.enrollment-page.sorting-page .sorting-faculties img{width:min(100%,104px);height:104px}@media (width>=1051px) and (height<=900px){.admission-registration.enrollment-page,.academy-login-page.academy-entrance{padding-block:24px}.admission-registration .admission-story{gap:12px}.admission-registration .admission-intro h1{margin-block:12px;font-size:42px}.admission-ceremony-preview{grid-template-columns:160px minmax(0,1fr);gap:16px;padding:12px}.admission-registration .admission-ceremony-copy p{font-size:13px}.admission-registration .admission-form-panel{padding:20px 24px}.admission-registration .admission-form-panel form{gap:10px}.admission-registration .admission-form-panel label{gap:6px}.admission-registration .admission-form-panel .enrollment-privacy{margin-top:12px}.admission-registration .admission-house-art{max-width:128px;margin-inline:auto}.admission-registration .admission-form-panel h2{font-size:32px}.admission-registration .admission-form-panel>p{margin-bottom:16px}.academy-entrance .academy-login-brand{padding:24px}.academy-entrance .academy-login-emblem{width:108px;height:108px;margin-bottom:16px}.academy-entrance .academy-login-brand h1{font-size:36px}}@media (width>=1051px) and (height>=761px) and (height<=900px){.admission-registration .admission-intro h1{font-size:48px}.admission-ceremony-preview{grid-template-columns:180px minmax(0,1fr)}.admission-registration .admission-house-art{max-width:144px}}@media (width<=1050px){.admission-registration.enrollment-page{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:24px;padding:24px}.admission-registration .admission-intro h1{font-size:38px}.admission-ceremony-preview{grid-template-columns:132px minmax(0,1fr);gap:16px;padding:12px}.admission-ceremony-copy ol{display:none}.admission-registration .admission-form-panel{padding:24px}.academy-login-page.academy-entrance{grid-template-columns:1fr;gap:24px;padding:24px}.academy-entrance .academy-login-brand{grid-template-columns:112px minmax(0,1fr);gap:0 24px;max-width:800px;display:grid}.academy-entrance .academy-login-emblem{grid-row:1/4;width:112px;height:112px;margin:auto}.academy-entrance .academy-login-brand h1{margin:8px 0;font-size:36px}.academy-entrance .academy-login-brand h1 br{display:none}.academy-entrance .academy-login-brand>p{margin:0}.academy-entrance .academy-login-brand .admission-houses,.academy-entrance .academy-login-brand blockquote{display:none}.academy-entrance .academy-entry-card{max-width:800px;margin-inline:auto}}@media (width<=760px){.admission-registration.enrollment-page{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 16px;display:grid}.admission-registration .admission-story{display:contents}.admission-registration .admission-intro{grid-row:1}.admission-registration .admission-form-panel{grid-row:2;width:100%;max-width:560px;margin-inline:auto}.admission-registration .admission-ceremony-preview{grid-row:3;grid-template-columns:140px minmax(0,1fr);width:100%;max-width:560px;margin-inline:auto}.admission-registration .admission-houses{grid-row:4;width:100%;max-width:560px;margin-inline:auto}.admission-registration .admission-intro h1{font-size:36px}.admission-registration .admission-intro p{font-size:14px}.admission-registration .admission-form-panel{padding:20px}.admission-registration .admission-form-panel h2{font-size:30px}.admission-registration .enrollment-eyebrow{letter-spacing:.06em;font-size:10px}.admission-house-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admission-house-art{max-width:180px;margin:auto}.academy-entrance .admission-auth-actions,.academy-entrance .academy-role-grid{grid-template-columns:1fr}.academy-entrance .academy-login-role{display:flex}.academy-entrance .academy-login-role-art{aspect-ratio:3/2;width:100%;height:auto;min-height:0}.academy-entrance .academy-login-role-copy b{font-size:24px}}@media (width<=480px){.academy-entrance :is(input,select,textarea),.enrollment-page :is(input,select,textarea){font-size:16px}.admission-registration.enrollment-page .admission-form-panel input,.academy-login-page.academy-entrance .academy-login-card input{min-height:48px;font-size:16px}.academy-entrance :is(button,input),.enrollment-page :is(button,input){min-height:48px}.enrollment-page .identity-name-row{grid-template-columns:minmax(0,1fr)}.sorting-page .sorting-faculties{grid-template-columns:repeat(2,minmax(0,1fr))}.sorting-page .sorting-result{text-align:center;flex-wrap:wrap;justify-content:center}.sorting-page .sorting-copy h1{overflow-wrap:anywhere;font-size:30px}.admission-registration .admission-ceremony-preview{grid-template-columns:120px minmax(0,1fr);gap:12px}.admission-registration .admission-ceremony-copy h2{font-size:24px}.admission-registration .admission-ceremony-copy p{margin-bottom:0;font-size:12px}.admission-registration .admission-ceremony-copy .enrollment-eyebrow{display:none}.academy-login-page.academy-entrance{padding:24px 16px}.academy-entrance .academy-login-brand{grid-template-columns:76px minmax(0,1fr);gap:0 16px;padding:20px}.academy-entrance .academy-login-emblem{width:76px;height:76px}.academy-entrance .academy-login-brand h1{font-size:28px}.academy-entrance .academy-login-brand>p{grid-column:1/-1;margin-top:12px;font-size:14px}.academy-entrance .academy-login-kicker{letter-spacing:.04em;font-size:9px}.academy-entrance .academy-entry-card,.academy-entrance .academy-login-card{padding:20px}}

/* Scoped entry polish. */
/* Isolated entrance surface: lazy cabinet/registration styles must not reshape it. */
/* The legacy 320px body minimum must allow for a desktop scrollbar at 320px. */
body:has(.academy-portal) { min-width: 0; }
.academy-portal {
  --portal-gold: var(--admission-gold, #e2b96c);
  --portal-ink: var(--admission-ink, #f5e3c2);
  --portal-muted: var(--admission-muted, #c6b9a8);
  --portal-panel: var(--admission-surface, #11131b);
  --portal-line: var(--admission-line, #ac895150);
  --portal-field-line: #85714f;
  --portal-field: #0d1017;
  box-sizing: border-box; display: grid; place-items: center;
  min-height: 100vh; min-height: 100svh; width: 100%;
  padding: 40px max(24px, env(safe-area-inset-right)) 40px max(24px, env(safe-area-inset-left));
  color: var(--portal-ink);
  background: radial-gradient(ellipse at 18% 10%, #b8812914, transparent 60%), #080b12;
  font: 15px/1.55 var(--admission-sans, sans-serif);
}
.academy-portal *, .academy-portal *::before, .academy-portal *::after { box-sizing: border-box; }
.academy-portal .portal-shell {
  display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); grid-template-rows: 1fr auto;
  width: min(100%, 1200px); min-width: 0;
  border: 1px solid var(--portal-line); border-radius: 24px;
  background: linear-gradient(90deg, #101520b3, #10152099), url('/assets/academy/academy-gates-v1.webp') left center/cover no-repeat;
  box-shadow: 0 32px 100px #0005;
}
.academy-portal .portal-story { min-width: 0; padding: 40px 44px 0; }
.academy-portal .portal-brand { display: flex; align-items: center; gap: 16px; }
.academy-portal .portal-brand img { display: block; width: 64px; height: 64px; object-fit: contain; flex: 0 0 auto; }
.academy-portal .portal-brand span { display: block; color: var(--portal-muted); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.academy-portal .portal-brand strong { display: block; color: var(--portal-ink); font: 400 28px/1.1 var(--admission-serif); }
.academy-portal .portal-welcome { padding-block: 52px 32px; }
.academy-portal .portal-eyebrow { display: flex; align-items: center; gap: 8px; color: var(--portal-gold); font: 600 10px/1.5 var(--admission-sans); letter-spacing: .13em; text-transform: uppercase; }
.academy-portal .portal-welcome h1 { margin: 16px 0 20px; color: var(--portal-ink); font: 400 clamp(38px, 3.9vw, 56px)/1.08 var(--admission-serif); letter-spacing: -.03em; }
.academy-portal .portal-welcome h1 em { font-style: normal; color: var(--portal-gold); }
.academy-portal .portal-welcome p { margin: 0; color: var(--portal-muted); font: 15px/1.65 var(--admission-sans); }
.academy-portal .portal-faculties { grid-column: 1; padding: 0 44px 36px; min-width: 0; }
.academy-portal .admission-houses-heading { padding-bottom: 12px; }
.academy-portal .admission-houses-heading > span { font: 500 12px/1.5 var(--admission-sans); color: var(--portal-muted); }
.academy-portal .admission-houses-heading small { display: none; }
.academy-portal .admission-house-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-top: 12px; }
.academy-portal .admission-house-art { max-width: 104px; margin-inline: auto; }
.academy-portal .admission-house strong { font-size: 13px; }
.academy-portal .admission-house figcaption small { display: none; }
.academy-portal .portal-access { grid-column: 2; grid-row: 1 / 3; min-width: 0; padding: 44px; border-left: 1px solid var(--portal-line); border-radius: 0 24px 24px 0; background: var(--portal-panel); }
.academy-portal .portal-form-heading h2 { margin: 12px 0; color: var(--portal-ink); font: 400 36px/1.15 var(--admission-serif); letter-spacing: -.025em; }
.academy-portal .portal-form-heading p { margin: 0; max-width: 340px; color: var(--portal-muted); font: 13px/1.6 var(--admission-sans); }
.academy-portal .portal-form { display: grid; gap: 18px; margin-top: 28px; }
.academy-portal .portal-form label { display: grid; gap: 8px; color: var(--portal-ink); font: 500 13px/1.5 var(--admission-sans); }
.academy-portal .portal-form input { width: 100%; min-width: 0; min-height: 52px; padding: 14px 16px; border: 1px solid var(--portal-field-line); border-radius: 10px; background: var(--portal-field); color: var(--portal-ink); font: 400 16px/1.4 var(--admission-sans); }
.academy-portal .portal-form input::placeholder { color: #a79c8b; opacity: 1; }
.academy-portal button { cursor: pointer; font-family: var(--admission-sans); }
.academy-portal .portal-primary, .academy-portal .portal-secondary { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 52px; padding: 14px 16px; border-radius: 10px; font: 600 14px/1.4 var(--admission-sans); transition: background-color .15s, border-color .15s; }
.academy-portal .portal-primary { border: 1px solid var(--portal-gold); background: linear-gradient(110deg, #f1d698, #d4a456); color: #21180c; box-shadow: 0 4px 20px #b8812914; }
.academy-portal .portal-primary:hover:not(:disabled) { background: #f1d698; }
.academy-portal .portal-secondary { border: 1px solid var(--portal-field-line); background: transparent; color: var(--portal-ink); }
.academy-portal .portal-secondary:hover:not(:disabled) { background: #e2b96c0c; border-color: var(--portal-gold); }
.academy-portal .portal-secondary > svg:first-child { color: var(--portal-gold); }
.academy-portal .portal-secondary > span { flex: 1; text-align: left; }
.academy-portal .portal-secondary small { margin-left: 4px; color: var(--portal-muted); font: inherit; font-weight: 400; white-space: nowrap; }
.academy-portal .portal-primary svg, .academy-portal .portal-secondary svg { flex-shrink: 0; }
.academy-portal .portal-registration { margin-top: 26px; }
.academy-portal .portal-registration > p { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; color: var(--portal-muted); font-size: 12px; text-align: center; }
.academy-portal .portal-registration > p::before, .academy-portal .portal-registration > p::after { content: ''; height: 1px; flex: 1; background: var(--portal-line); }
.academy-portal .portal-guest { margin-top: 16px; }
.academy-portal .portal-guest summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 0; list-style: none; color: var(--portal-muted); font-size: 12px; cursor: pointer; }
.academy-portal .portal-guest summary::-webkit-details-marker { display: none; }
.academy-portal .portal-guest summary svg { transform: rotate(90deg); flex-shrink: 0; }
.academy-portal .portal-guest[open] summary svg { transform: rotate(-90deg); }
.academy-portal .portal-guest > p { margin: 0 0 12px; color: var(--portal-muted); font-size: 12px; }
.academy-portal .portal-guest > div { display: grid; gap: 8px; }
.academy-portal .portal-guest-button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 12px; border: 1px solid var(--portal-field-line); border-radius: 8px; background: var(--portal-field); color: var(--portal-ink); font-size: 13px; text-align: left; }
.academy-portal .portal-guest-button:hover:not(:disabled) { border-color: var(--portal-gold); }
.academy-portal .portal-privacy { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 20px 0 0; color: var(--portal-muted); font-size: 11px; }
.academy-portal .portal-privacy svg { color: var(--portal-gold); }
.academy-portal p.portal-error { margin: 0; padding: 12px; border: 1px solid #c78676; border-radius: 8px; background: #341e21; color: #ffcbc2; overflow-wrap: anywhere; font-size: 13px; }
.academy-portal .portal-guest > .portal-error { margin-top: 12px; }
.academy-portal .portal-help, .academy-portal .portal-mfa p { margin: 0; color: var(--portal-muted); font-size: 14px; }
.academy-portal .portal-mfa { display: grid; gap: 16px; }
.academy-portal .portal-mfa img { display: block; width: min(192px, 100%); height: auto; margin-inline: auto; border-radius: 8px; }
.academy-portal .portal-mfa code { display: block; padding: 12px; border: 1px solid var(--portal-line); border-radius: 8px; overflow-wrap: anywhere; color: var(--portal-ink); background: var(--portal-field); }
.academy-portal .portal-back { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 0; background: transparent; color: var(--portal-muted); font-size: 13px; }
.academy-portal :is(button, input, summary):focus-visible { outline: 2px solid var(--portal-gold); outline-offset: 4px; }
.academy-portal button:disabled, .academy-portal input:disabled { opacity: .65; cursor: wait; }
@media (max-width: 1050px) {
  .academy-portal { padding: 24px; }
  .academy-portal .portal-shell { grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr); }
  .academy-portal .portal-story { padding: 32px 24px 0; }
  .academy-portal .portal-access { padding: 32px 24px; }
  .academy-portal .portal-faculties { padding: 0 24px 32px; }
  .academy-portal .portal-welcome h1 { font-size: 40px; }
  .academy-portal .portal-welcome { padding-top: 44px; }
  .academy-portal .portal-desktop-break { display: none; }
  .academy-portal .admission-house-grid { gap: 4px; }
  .academy-portal .admission-house strong { font-size: 12px; }
}
@media (max-width: 760px) {
  .academy-portal { display: block; padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
  .academy-portal .portal-shell { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; max-width: 520px; margin-inline: auto; border-radius: 20px; background: linear-gradient(#0e1422ba, #11131bf5 380px), url('/assets/academy/academy-gates-v1.webp') center top/auto 480px no-repeat; }
  .academy-portal .portal-story { padding: 24px 24px 0; }
  .academy-portal .portal-brand { gap: 12px; }
  .academy-portal .portal-brand img { width: 48px; height: 48px; }
  .academy-portal .portal-brand span { font-size: 10px; }
  .academy-portal .portal-brand strong { font-size: 24px; }
  .academy-portal .portal-welcome { padding-block: 24px; }
  .academy-portal .portal-welcome > .portal-eyebrow, .academy-portal .portal-welcome > p { display: none; }
  .academy-portal .portal-welcome h1 { margin: 0; font-size: 30px; line-height: 1.1; }
  .academy-portal .portal-access { grid-column: 1; grid-row: 2; padding: 24px; border-left: 0; border-top: 1px solid var(--portal-line); border-radius: 0; background: var(--portal-panel); }
  .academy-portal .portal-form-heading > .portal-eyebrow { display: none; }
  .academy-portal .portal-form-heading h2 { font-size: 28px; margin-top: 0; }
  .academy-portal .portal-form-heading p { font-size: 12px; }
  .academy-portal .portal-form { gap: 16px; margin-top: 24px; }
  .academy-portal .portal-secondary { gap: 8px; padding-inline: 12px; }
  .academy-portal .portal-secondary small { display: block; margin: 2px 0 0; font-size: 12px; }
  .academy-portal .portal-registration { margin-top: 24px; }
  .academy-portal .portal-privacy { margin-top: 12px; }
  .academy-portal .portal-faculties { grid-row: 3; padding: 24px 16px; border-top: 1px solid var(--portal-line); }
  .academy-portal .admission-houses-heading { justify-content: center; border: 0; padding: 0; }
  .academy-portal .admission-house-grid { gap: 4px; }
  .academy-portal .admission-house strong { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .academy-portal .portal-primary, .academy-portal .portal-secondary { transition: none; } }

/* End scoped entry polish. */
