/* Teacher access gateway v11 — isolated from student site */
:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --navy:#142947;--deep:#0e2039;--ink:#192f50;--muted:#586c86;--line:#e0e7f0;--gold:#e5b972}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;color:var(--ink);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
:where(a,button):focus-visible{outline:3px solid #bc8739;outline-offset:4px}
.tg-wrap{width:min(1100px,calc(100% - 52px));margin:auto}
.tg-header{background:#fff;border-bottom:1px solid #e8edf4;min-height:77px;display:flex;align-items:center}
.tg-header .tg-wrap{display:flex;justify-content:space-between;align-items:center;gap:15px}
.tg-brand{display:flex;align-items:center;font-weight:880;font-size:1.54rem;letter-spacing:-.07em}
.tg-logo{height:39px;width:39px;margin-right:9px;background:#142747;color:#edc47f;border-radius:11px;
 display:grid;place-items:center;font-size:1.72rem;letter-spacing:0}
.tg-dot{color:#bc8541}
.tg-student-back{font-weight:750;color:#3a5780;font-size:.81rem;line-height:1.5}
.tg-student-back:hover{color:#ae7327}
.tg-hero{padding:75px 0 74px;background:radial-gradient(ellipse at 88% 1%,#34517b 0%,transparent 33%),linear-gradient(130deg,#13243e,#1a3356);position:relative}
.tg-hero:before{position:absolute;inset:0;content:"";opacity:.045;pointer-events:none;
 background-image:linear-gradient(90deg,#fff 1px,transparent 1px),linear-gradient(#fff 1px,transparent 1px);background-size:62px 62px}
.tg-hero-inner{position:relative}
.tg-heading{text-align:center;max-width:750px;margin:0 auto 36px}
.tg-overline{font-size:.72rem;letter-spacing:.17em;font-weight:840;color:#f1ce97}
.tg-heading h1{color:#fff;font-size:clamp(2.8rem,4.7vw,4.8rem);letter-spacing:-.07em;line-height:1.12;font-weight:840;margin:15px 0}
.tg-heading h1 em{font-style:normal;color:#f0c985}
.tg-heading p{color:#cfdbec;font-size:1rem;line-height:1.81;margin:0 auto;max-width:690px}
.tg-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.tg-card{background:#fff;border:1px solid #e8edf5;border-radius:23px;padding:35px;
 display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 23px 80px #020a2066}
.tg-card-icon{width:57px;height:57px;border-radius:16px;background:#eff4fb;color:#305482;
 display:grid;place-items:center;font-size:2rem;margin-bottom:25px}
.tg-join .tg-card-icon{background:#fff4e5;color:#a77935}
.tg-label{color:#89602e;font-size:.7rem;font-weight:850;letter-spacing:.12em}
.tg-card h2{font-size:1.64rem;letter-spacing:-.055em;line-height:1.2;color:#1b3255;margin:12px 0 10px}
.tg-card p{font-size:.88rem;line-height:1.78;color:#526781;margin:0 0 23px;flex:1}
.tg-main-cta,.tg-outline-cta{width:100%;display:flex;justify-content:space-between;gap:10px;
 align-items:center;font-size:.85rem;font-weight:830;border-radius:11px;padding:15px 18px;min-height:52px}
.tg-main-cta{background:#1c3d6b;color:#fff}.tg-main-cta:hover{background:#31568a}
.tg-outline-cta{background:#fff;color:#1d406b;border:1px solid #a5bbd9}.tg-outline-cta:hover{background:#f1f6fc}
.tg-card small{display:block;font-size:.72rem;color:#5c6f8a;margin-top:15px;line-height:1.6}
.tg-invite{margin-top:21px;background:#f8fbff;border:1px solid #c8d8ec;border-radius:17px;
 padding:22px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.tg-invite strong{color:#1d3658;font-size:.96rem}
.tg-invite p{color:#516783;font-size:.79rem;margin:6px 0 0;line-height:1.6}
.tg-invite a{color:#254f81;font-weight:810;font-size:.84rem;white-space:nowrap;
 padding:11px 13px;background:#eaf1fa;border-radius:9px}
.tg-invite a:hover{background:#dceafa}
.tg-benefits{background:#f6f8fc;padding:57px 0 70px}
.tg-benefits h2{font-size:1.55rem;color:#193151;letter-spacing:-.045em;margin:0 0 22px}
.tg-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tg-benefit-grid>div{background:#fff;border:1px solid var(--line);border-radius:17px;padding:26px;display:grid;gap:9px}
.tg-benefit-grid span{font-size:1.65rem;color:#926b32}
.tg-benefit-grid strong{font-size:.98rem;color:#1b3355}
.tg-benefit-grid p{font-size:.79rem;line-height:1.7;margin:0;color:#5b6e87}
.tg-footer{background:#f6f8fc;border-top:1px solid #e1e6ee;padding:23px 0}
.tg-footer .tg-wrap{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:.72rem;color:#5f6f85}
.tg-footer a{color:#264c7f;font-weight:740}
@media(max-width:720px){.tg-hero{padding:56px 0 50px}.tg-main-grid{grid-template-columns:1fr}
 .tg-card{padding:28px}.tg-heading h1{font-size:clamp(2.65rem,7.6vw,3.7rem)}
 .tg-heading p{font-size:.89rem}.tg-benefit-grid{grid-template-columns:1fr}
 .tg-invite{display:block}.tg-invite a{display:inline-flex;margin-top:14px}}
@media(max-width:420px){.tg-wrap{width:calc(100% - 30px)}.tg-header{min-height:65px}
 .tg-brand{font-size:1.31rem}.tg-logo{height:32px;width:32px;font-size:1.4rem}
 .tg-student-back{font-size:.72rem;max-width:140px;text-align:right}.tg-heading h1{font-size:2.55rem}
 .tg-card{border-radius:18px;padding:23px}.tg-card h2{font-size:1.45rem}
 .tg-benefits{padding:43px 0}.tg-invite{padding:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
