:root{color-scheme:dark;font-family:Arial,sans-serif;color:#ccc6bb;background:#19191c}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(90deg,#19191c55,#19191caa),url('/mist.svg') center/cover fixed}a{color:#d4bd83;text-decoration:none}a:focus-visible{outline:2px solid #e4cc8c;outline-offset:5px}header{max-width:1000px;margin:auto;padding:26px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #77705b44}header>a:first-child{font:23px Georgia;color:#dfd2b4}header span{display:block;font:9px Arial;letter-spacing:3px;text-transform:uppercase;margin-top:6px}.login{font-size:13px}main{max-width:1000px;margin:35px auto 55px;padding:0 24px;display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:center}.welcome img{display:block;width:290px;max-width:100%;height:194px;object-fit:contain;margin:0 auto 12px;filter:drop-shadow(0 12px 24px #0005)}.eyebrow{font-size:10px!important;letter-spacing:2px;color:#b6a47d!important}h1{font:44px/1.16 Georgia;color:#e1d4b7;margin:18px 0}p{font-size:14px;line-height:1.8;color:#b8b3ab}h2{font:32px Georgia;color:#e1d4b7;margin:12px 0 18px}.enrollment{padding:30px;background:#202023d9;border:1px solid #73695266;border-radius:4px;box-shadow:0 20px 55px #0002}.button{display:block;text-align:center;padding:15px 12px;border-radius:3px;font-weight:bold;font-size:14px}.google{margin-top:25px;background:#e7e4dd;color:#292724;border:1px solid #f2eee5}.gold{background:linear-gradient(#c6b27d,#a58c59);color:#211e17;border:1px solid #d3be87}.button:hover{filter:brightness(1.08)}.divider{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:11px;color:#9b958b}.divider:before,.divider:after{content:'';height:1px;flex:1;background:#73695255}.help{font-size:11px;line-height:1.7;color:#aaa49b}dl{border-block:1px solid #73695244;padding:17px 0;margin:22px 0}dl div+div{margin-top:15px}dt{font-size:12px;color:#d3c199}dd{font-size:11px;margin:6px 0 0;color:#aaa49b}.return{font-size:12px}footer{text-align:center;padding:0 24px 24px;font-size:10px;line-height:1.6;color:#928c82}@media(max-width:800px){main{display:block;max-width:480px;margin-top:25px}.welcome img,.welcome h1,.welcome>p{display:none}.enrollment{padding:24px}header{max-width:480px}footer{max-width:480px;margin:auto}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Let the existing painted environment carry the atmosphere. */
body{position:relative;isolation:isolate;background:#171719;display:flex;flex-direction:column;min-height:100svh}
.castle-scene{position:fixed;inset:0;z-index:-2;background:url('/enrollment-castle.png') center/cover no-repeat;transform:scaleX(-1)}
body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#10111315 0%,#12131522 38%,#141416bb 75%,#141416d9),linear-gradient(0deg,#131416ed,transparent 50%,#12131555)}
header{width:100%;max-width:1120px;border-bottom-color:#c8ac6944;background:none;padding-top:24px;padding-bottom:20px}
main{width:100%;max-width:1120px;flex:1;grid-template-columns:1fr 390px;gap:90px;align-items:center;margin:42px auto;padding-bottom:12px}
.welcome{align-self:end;padding-bottom:28px;text-shadow:0 2px 18px #000}
.welcome h1{font-size:52px;line-height:1.1;letter-spacing:-1px;margin:12px 0 20px;color:#eee2c9}
.welcome p{color:#ded4bf;font-size:15px}
.enrollment{position:relative;background:linear-gradient(150deg,#252321ed,#18191bf5);border:1px solid #ac8b4c80;padding:30px 32px;box-shadow:0 20px 80px #0008,inset 0 0 0 5px #b59a4e09;text-align:center}
.enrollment:before,.enrollment:after{content:'';position:absolute;width:26px;height:26px;pointer-events:none;border-color:#d3b56f;border-style:solid}
.enrollment:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.enrollment:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.ornament{display:block;width:220px;max-width:100%;height:auto;margin:0 auto 12px;pointer-events:none}
.enrollment h1{font-size:34px;margin:8px 0 10px}.enrollment>p{margin-top:0}.enrollment .help{font-size:11px;margin:18px 0;line-height:1.6;color:#aaa69d}.return{padding-top:18px;border-top:1px solid #b29a6140;margin-bottom:8px!important}.google{margin-top:26px}.divider{margin:14px 0}footer{padding-bottom:18px;color:#b7ac98}
@media(max-width:800px){
 header{max-width:none;padding:18px 22px}header>a:first-child{font-size:20px}
 .castle-scene{background-size:auto 650px;background-position:35% top;background-color:#171719}
 body:before{background:linear-gradient(0deg,#171719 20%,#171719b3 55%,#17171922 85%)}
 main{display:block;max-width:440px;margin:30px auto 26px;padding:0 20px}
 .welcome{padding:0 0 24px}.welcome h1{display:block;font-size:34px;margin:0;color:#eee2c9}.welcome p{display:none}
 .enrollment{padding:22px 24px}.enrollment h1{font-size:30px}.ornament{width:180px;margin-bottom:8px}
}
@media(max-width:800px){.castle-scene{background-position:100% top}}

/* The title is the only ornament: quiet, engraved lettering. */
@font-face{font-family:'Cinzel Decorative';src:url('/cinzel-decorative.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.enrollment h1{font-family:'Cinzel Decorative',Georgia,serif;font-weight:400;font-size:36px;line-height:1.35;letter-spacing:.015em;color:#d8c292;margin:8px 0 10px}
@media(max-width:800px){.enrollment h1{font-size:clamp(25px,7.8vw,32px)}}

.enrollment{grid-column:2}.enrollment .return{margin-top:24px}@media(max-width:800px){.enrollment{grid-column:auto}}

/* Real font lettering with a restrained polished-gold finish. */
header .wordmark{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none}
header .wordmark-name{display:block;margin:0;font:400 38px/1.2 'Cinzel Decorative',Georgia,serif;letter-spacing:-.025em;text-transform:none;color:#e6cf8d;background:linear-gradient(174deg,#fff5d4 0%,#f3dda0 24%,#b28a3d 43%,#fff0ba 49%,#e2c477 56%,#98702f 79%,#e8ce88 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #68491f) drop-shadow(0 3px 3px #0009)}
header .wordmark-subtitle{margin:5px 0 0;font:400 10px/1.4 Georgia,serif;letter-spacing:.32em;text-transform:uppercase;color:#d4c398}
@media(max-width:800px){header .wordmark-name{font-size:29px}header .wordmark-subtitle{font-size:8px}}
@media(forced-colors:active){header .wordmark-name{background:none;-webkit-text-fill-color:LinkText;filter:none}}

.google{background:#d4cdbd;border-color:#e0d7c4;color:#25231f}
header .login{padding:10px 16px;border:1px solid #b6a27688;border-radius:3px;color:#e0cfaa;background:#1b1b1dcc;font-size:14px}
header .login:hover{background:#353129}
.return a{display:inline-block;padding:7px 10px;margin-left:3px;font-weight:600;color:#e0cfaa;text-decoration:underline;text-underline-offset:3px}

button.button{width:100%;font-family:inherit;cursor:pointer}.remember{display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;color:#ded4bf;margin-top:22px;cursor:pointer}.remember input{width:17px;height:17px;accent-color:#bca570;margin:0}.remember-help{font-size:11px;line-height:1.5;margin:8px 0 0;color:#b8b3ab}.remember:focus-within{outline:2px solid #e4cc8c;outline-offset:5px}
