:root{--blue:#000091;--red:#e1000f;--ink:#1e1e1e;--muted:#666;--line:#ddd;--paper:#fff;--soft:#f5f5fe;--gold:#ffca00;--shadow:0 12px 35px rgba(0,0,0,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f6f6f6;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}button,input,select{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:9;background:#fff;padding:.6rem}
.site-header{min-height:106px;padding:18px clamp(20px,5vw,72px);display:flex;align-items:center;gap:36px;background:#fff;border-bottom:1px solid #ddd}.republic-mark{display:grid;grid-template-columns:45px auto;line-height:1.04}.republic-mark .flag{grid-row:1/3;display:flex;width:35px;height:24px;margin-top:3px}.flag i{flex:1;background:#000091}.flag i:nth-child(2){background:#fff}.flag i:nth-child(3){background:#e1000f}.republic-mark small{font-size:.65rem}.service-name{display:flex;flex-direction:column;padding-left:35px;border-left:1px solid #ddd;font-size:1.12rem}.secure{margin-left:auto;color:#18753c;font-size:.86rem}.official-bar{padding:7px;text-align:center;color:#fff;background:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.13em}
main{min-height:calc(100vh - 180px)}.screen{display:none}.screen.active{display:block}.hero{text-align:center;padding:70px 20px 40px;background:linear-gradient(135deg,#ececfe,#fff 55%,#fee9eb)}.eyebrow{margin:0 0 12px;color:var(--blue);font-size:.76rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.hero h1{margin:0;font-family:Georgia,serif;font-size:clamp(2.25rem,5vw,4.6rem);line-height:1.05}.hero h1 em{color:var(--blue);font-weight:400}.intro{max-width:720px;margin:24px auto 0;color:#555;font-size:1.08rem}
.role-grid{max-width:1040px;margin:-4px auto 28px;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.role-card{display:grid;grid-template-columns:58px 1fr 20px;gap:18px;align-items:center;padding:28px;text-align:left;border:1px solid #ddd;border-top:5px solid var(--blue);background:#fff;box-shadow:var(--shadow);cursor:pointer;transition:.2s}.role-card.teacher{border-top-color:var(--red)}.role-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(0,0,0,.14)}.role-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#fff;background:var(--blue);font:700 1.5rem Georgia}.teacher .role-icon{background:var(--red)}.role-card b{display:block;font-size:1.35rem}.role-card small{display:block;margin:4px 0 16px;color:#666}.countdown-label{display:block;color:#666;font-size:.72rem}.countdown{display:flex;gap:7px;align-items:baseline;color:var(--blue)}.countdown strong{font-size:1.15rem}.countdown i{font-size:.66rem;font-style:normal;color:#777}.privacy{max-width:760px;margin:0 auto 55px;padding:18px 22px;display:flex;gap:16px;background:#e7f6ec;border-left:4px solid #18753c}.privacy>b{color:#18753c;font-size:1.5rem}
.wizard-head,#survey,.result-body{max-width:920px;margin:auto}.wizard-head{padding:45px 22px 20px}.text-button{border:0;background:none;color:var(--blue);cursor:pointer}.progress,.loading-track{height:7px;background:#ddd;border-radius:5px;overflow:hidden}.progress span,.loading-track span{display:block;width:20%;height:100%;background:var(--blue);transition:.35s}#survey{margin-bottom:60px;padding:35px;background:#fff;box-shadow:var(--shadow)}.field-group h2{margin-top:0;font-family:Georgia,serif;font-size:2rem}.field-group p{color:#666}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700}.field input,.field select{width:100%;padding:13px;border:2px solid #aaa;border-radius:3px;background:#fff}.field input:focus,.field select:focus{outline:3px solid #ececfe;border-color:var(--blue)}.form-actions{text-align:right;margin-top:26px}.primary-button,.secondary-button{padding:13px 22px;border:0;color:#fff;background:var(--blue);font-weight:750;cursor:pointer}.secondary-button{background:#fff;color:var(--blue);border:2px solid var(--blue)}.form-error{min-height:24px;color:#ce0500;font-weight:700}
.loading-screen{text-align:center;padding:90px 20px}.loader{position:relative;width:95px;height:95px;margin:0 auto 28px;display:grid;place-items:center}.loader span{position:absolute;inset:0;border:7px solid #ddd;border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}.loader b{color:var(--blue)}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen h2{font:700 2rem Georgia}.loading-track{max-width:520px;margin:25px auto}.loading-track span{width:0}.loading-screen small{color:#777}
.result-banner{text-align:center;padding:55px 20px;color:#fff;background:linear-gradient(135deg,#000091,#6a6af4)}.teacher-banner{background:linear-gradient(135deg,#9f0010,#e1000f)}.result-banner h2{margin:5px 0;font:700 clamp(2rem,5vw,3.5rem) Georgia}.result-banner .eyebrow{color:#fff}.result-body{padding:45px 22px 70px}.result-body.wide{max-width:1200px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-heading span{font-size:.72rem;color:#666;font-weight:800;letter-spacing:.1em}.section-heading h3{margin:3px 0;font:700 1.8rem Georgia}.badge{padding:7px 10px;background:#ececfe;color:var(--blue)!important}.students-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;padding:0;background:#ddd;border:1px solid #ddd;counter-reset:item}.students-list li{list-style-position:inside;padding:12px 15px;background:#fff}.students-list li.you{background:#fff3bf;font-weight:800;border-left:5px solid var(--gold)}.reveal{display:flex;gap:18px;margin:32px 0;padding:25px;background:#fff3bf;border-left:5px solid var(--gold)}.reveal>span{font-size:2rem}.reveal h3{margin:0}.schedule-wrap{overflow:auto}.schedule{width:100%;min-width:850px;border-collapse:collapse;background:#fff}.schedule th,.schedule td{padding:10px;border:1px solid #ccc;text-align:center}.schedule th{color:#fff;background:var(--blue)}.schedule td:first-child{font-weight:750;background:#eee}.schedule .course{background:#ececfe;color:var(--blue);font-weight:700}.schedule .hole{color:#aaa;background:#fafafa;font-style:italic}footer{display:flex;justify-content:space-between;gap:20px;padding:20px clamp(20px,5vw,72px);background:#161616;color:#ddd;font-size:.75rem}
@media(max-width:760px){.site-header{align-items:flex-start;flex-wrap:wrap;gap:15px}.service-name{order:3;width:100%;padding:12px 0 0;border-left:0;border-top:1px solid #ddd}.secure{margin-left:auto}.role-grid,.fields{grid-template-columns:1fr}.role-grid{margin-top:20px}.students-list{grid-template-columns:1fr}.section-heading,footer{align-items:flex-start;flex-direction:column}.hero{padding-top:45px}#survey{margin:0 14px 45px;padding:24px}.countdown{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.school-address{margin:.55rem auto 0;padding:.55rem 1rem;max-width:760px;color:#fff;font-weight:700;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.12);border-radius:3px}

.footer-link{padding:0;border:0;border-bottom:1px solid currentColor;color:#fff;background:none;cursor:pointer}
.footer-link:hover{color:#ffca00}.legal-modal{width:min(820px,calc(100% - 32px));max-height:86vh;padding:0;border:0;border-radius:5px;color:var(--ink);background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.35)}.legal-modal::backdrop{background:rgba(0,0,0,.66);backdrop-filter:blur(2px)}.legal-modal__header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 18px;border-bottom:1px solid #ddd;background:#fff}.legal-modal__header h2{margin:0;font:700 2rem Georgia}.legal-modal__header .eyebrow{margin-bottom:4px}.legal-modal__close{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;color:var(--blue);background:#ececfe;font-size:1.8rem;line-height:1;cursor:pointer}.legal-modal__close:hover{color:#fff;background:var(--blue)}.legal-modal__content{padding:10px 28px 30px}.legal-modal__content section{padding:14px 0;border-bottom:1px solid #eee}.legal-modal__content section:last-child{border-bottom:0}.legal-modal__content h3{margin:0 0 6px;color:var(--blue);font-size:1.08rem}.legal-modal__content p{margin:6px 0;color:#444}.legal-modal__content a{color:var(--blue);font-weight:700}

.legal-updated{margin:10px 0 0;color:#777;font-size:.78rem;text-align:right}
