.auth-page{background:white;min-height:100svh}
.auth-header{height:96px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.auth-header .brand,.auth-header .brand img{width:122px;height:66px}
.auth-header-right{display:flex;align-items:center;gap:24px;font-size:.875rem}
.auth-header-right>span{color:var(--muted)}
.auth-header-link{display:inline-flex;align-items:center;gap:15px;padding:12px 21px;border:1px solid var(--line);border-radius:40px;font-weight:600;transition:background .3s}
.auth-header-link:hover{background:#f3f4f7}
.auth-header-link svg,.auth-story-card>svg,.auth-submit svg,.auth-switch svg,.auth-teacher-link svg,.auth-footer svg,.preview-context svg,.auth-preview-dialog .button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.auth-main{max-width:1800px;margin:0 auto;padding:0 2.5%;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.auth-story{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;min-height:740px;background:#edf0f2}
.auth-story-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-3;max-width:none}
.signin-page .auth-story-photo{object-position:68% center}
.auth-story-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#f8f9fa00 19%,#f8f9fa50 42%,#f8f9fae8 65%,#f8f9fa 93%)}
.auth-story-copy{position:absolute;left:7%;right:6%;bottom:163px}
.auth-story-copy .eyebrow{font-size:.6875rem;color:#515a67;margin-bottom:22px;letter-spacing:.1em}
.auth-story-copy h2{font-size:clamp(2.3rem,3.4vw,3.65rem);line-height:1.13;letter-spacing:-.06em;margin:0 0 25px}
.auth-story-copy>p:last-child{font-size:.9375rem;line-height:1.85;color:#515a67;margin:0}
.auth-story-card{position:absolute;left:6%;right:6%;bottom:34px;padding:21px 23px;border-radius:18px;display:flex;align-items:center;gap:18px;transition:transform .5s var(--ease),background .3s}
.auth-story-card:hover{transform:translateY(-4px);background:#ffffffdc}
.auth-story-card strong{display:block;font-size:.8125rem;font-weight:600;line-height:1.6}
.auth-story-card small{font-size:.75rem;display:block;color:var(--muted);margin-top:4px}
.auth-story-card>svg{margin-left:auto}
.auth-avatars{display:flex;flex-shrink:0;padding-right:4px}
.auth-avatars img{width:37px;height:37px;border:2px solid white;border-radius:50%;object-fit:cover;object-position:center 20%;margin-right:-10px;background:#eee}
.auth-avatars img:last-child{margin-right:0}
.auth-form-section{padding:52px 8%;display:flex;align-items:center;justify-content:center}
.auth-form-wrap{width:100%;max-width:470px}
.auth-form-heading .eyebrow{font-size:.6875rem;letter-spacing:.12em;margin:0 0 21px}
.auth-form-heading h1{font-size:clamp(2.1rem,2.85vw,3rem);line-height:1.17;font-weight:700;letter-spacing:-.055em;margin:0 0 20px}
.auth-form-heading h1 em{color:var(--ochre,#C8811E)}
.auth-form-heading>p:last-child{color:var(--muted);font-size:1rem;line-height:1.8;margin:0 0 26px}
.preview-context{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:24px;font-size:.75rem;color:var(--muted)}
.preview-context>span{display:flex;align-items:center;gap:8px}
.preview-context>span:before{content:'';height:5px;width:5px;flex-shrink:0;border-radius:50%;background:var(--gold)}
.preview-context a{display:inline-flex;align-items:center;gap:7px;color:var(--navy);white-space:nowrap}
.preview-context svg{width:14px;height:14px}
.auth-form{display:flex;flex-direction:column;gap:21px}
.auth-field>label{font-size:.875rem;line-height:1.5;font-weight:500;display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}
.auth-field>label span{font-size:.75rem;font-weight:400;color:var(--muted)}
.input-shell{position:relative}
.input-shell input{display:block;width:100%;min-height:56px;border:1px solid #dde0e5;border-radius:12px;background:#fcfcfd;color:var(--navy);font:inherit;font-size:.9375rem;padding:14px 16px;outline:0;transition:border .25s,box-shadow .25s,background .25s}
.input-shell input::placeholder{color:#7d8390;opacity:1;font-size:.875rem}
.input-shell input:focus{border-color:#C8811E;box-shadow:0 0 0 3px #fca31115;background:white}
.input-shell input[type=password],.input-shell input[data-password-visible]{padding-right:52px}
.auth-field.invalid input{border-color:#b52b37;background:#fffafa}
.auth-field.invalid input:focus{box-shadow:0 0 0 3px #b52b3710}
.field-error{color:#a02a36;font-size:.75rem;line-height:1.6;margin:7px 0 0}
.password-toggle{position:absolute;right:7px;top:7px;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:9px;background:transparent;color:#657081;transition:color .25s,background .25s}
.password-toggle:hover{background:#edf0f3;color:var(--navy)}
.password-toggle svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.5;fill:none}
.eye-slash{display:none}.password-toggle[aria-pressed=true] .eye-slash{display:block}
.auth-options{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.8125rem;margin:-1px 0 5px}
.remember{display:flex;align-items:center;gap:10px;color:var(--muted);cursor:pointer}
.remember input{appearance:none;display:grid;place-content:center;height:18px;width:18px;flex-shrink:0;margin:0;border:1px solid #bfc5ce;border-radius:5px;background:white;cursor:pointer}
.remember input:checked{background:var(--navy);border-color:var(--navy)}
.remember input:checked:after{content:'';width:8px;height:4px;border-left:1.5px solid white;border-bottom:1.5px solid white;rotate:-45deg;translate:0 -1px}
.remember input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.auth-inline-link,.auth-switch a,.auth-terms a{font-weight:500;color:var(--navy);text-decoration:underline;text-decoration-color:#14223d35;text-underline-offset:5px;transition:text-decoration-color .3s}
.auth-inline-link:hover,.auth-switch a:hover,.auth-terms a:hover{text-decoration-color:var(--ochre,#C8811E)}
.auth-submit{width:100%;display:flex;justify-content:space-between;padding:18px 23px;font-size:.9375rem;border-radius:40px;gap:16px;min-height:56px}
.auth-submit:disabled{opacity:.5;cursor:default}
.auth-submit:hover svg{translate:3px 0}.auth-submit svg{transition:translate .3s var(--ease)}
.auth-switch{font-size:.875rem;color:var(--muted);line-height:1.8;text-align:center;margin:27px 0 0}
.auth-switch a{display:inline-flex;align-items:center;gap:7px;margin-left:4px}
.auth-switch svg{height:15px;width:15px}
.auth-teacher-link{display:flex;justify-content:center;align-items:center;gap:9px;font-size:.75rem;color:var(--muted);margin-top:29px;padding-top:23px;border-top:1px solid var(--line)}
.auth-teacher-link svg{width:15px;height:15px}
.auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.signup-page .auth-form-wrap{max-width:510px}
.signup-page .auth-form-section{padding:37px 7.5%}
.signup-page .auth-main{grid-template-columns:.95fr 1.05fr}
.signup-page .auth-story{min-height:920px}
.signup-page .auth-form-heading .eyebrow{margin-bottom:16px}
.signup-page .auth-form-heading h1{font-size:2.75rem;margin-bottom:17px}
.signup-page .auth-form-heading>p:last-child{margin-bottom:21px}
.signup-page .auth-form{gap:18px}
.signup-page .auth-story-copy{bottom:175px}
.password-strength{margin:11px 0 0}
.strength-track{display:flex;gap:5px;height:3px}
.strength-track i{flex:1;background:#e8eaef;border-radius:5px;transition:background .3s}
.password-strength p{font-size:.75rem;color:var(--muted);line-height:1.6;margin:8px 0 0}
.password-strength[data-level="1"] .strength-track i:first-child{background:#b87739}
.password-strength[data-level="2"] .strength-track i:nth-child(-n+2){background:#c8811e}
.password-strength[data-level="3"] .strength-track i:nth-child(-n+3),.password-strength[data-level="4"] .strength-track i{background:#3d7b68}
.auth-terms{font-size:.75rem;color:var(--muted);line-height:1.9;margin:0;max-width:440px}
.signup-page .auth-switch{margin-top:22px}
.form-status,.auth-server-error{font-size:.875rem;line-height:1.8;padding:12px 16px;color:#902b36;background:#fff5f5;border-radius:10px;margin:0}
.auth-server-error{margin-bottom:20px}
.auth-noscript{font-size:1rem;line-height:1.8}.auth-noscript a{text-decoration:underline}
.auth-footer{padding:28px 4.5% 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}
.auth-footer>a{display:inline-flex;align-items:center;gap:11px;color:var(--navy)}
.auth-footer>a svg{rotate:180deg;height:16px;width:16px}
.auth-footer>div{display:flex;align-items:center;gap:25px}
.auth-footer .motion-toggle{margin:0;font-size:.75rem}
.auth-preview-dialog{width:min(520px,calc(100% - 36px));padding:47px 38px 35px;border-radius:24px}
.auth-preview-dialog .eyebrow{font-size:.6875rem}
.auth-preview-dialog h2{font-size:2.35rem;line-height:1.2;margin-bottom:23px}
.auth-preview-dialog>p:not(.eyebrow){font-size:1rem;line-height:1.85;color:var(--muted);margin-bottom:25px}
.auth-preview-dialog .button{display:flex;justify-content:space-between;gap:16px}
.auth-motion .auth-story-photo{scale:1.025;translate:var(--auth-photo-x,0px) var(--auth-photo-y,0px);transition:translate 1s var(--ease);animation:authPhoto 22s ease-in-out infinite alternate}
.auth-motion .auth-story-copy{animation:authArrival 1s .15s var(--ease) both}
.auth-motion .auth-story-card{animation:authArrival 1s .5s var(--ease) both,authFloat 7s 1.5s ease-in-out infinite}
.auth-motion .auth-form-heading{animation:authArrival .9s .15s var(--ease) both}
.auth-motion .auth-form,.auth-motion .preview-context{animation:authArrival .9s .3s var(--ease) both}
@keyframes authPhoto{from{scale:1.025}to{scale:1.06}}
@keyframes authFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes authArrival{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
.motion-paused .auth-story-photo{scale:1!important;translate:none!important}
.page-hidden *{animation-play-state:paused!important}
@media(min-width:1800px){.auth-header,.auth-footer{max-width:1700px;margin:auto}.auth-story{min-height:830px}}
@media(max-width:1100px){.auth-main{gap:15px}.auth-form-section{padding:45px 7%}.signup-page .auth-form-section{padding:38px 6%}.auth-story-copy h2{font-size:2.7rem}.auth-story-card{padding:18px 20px;gap:14px}.auth-avatars img{width:31px;height:31px}.auth-story-card strong{font-size:.75rem}.auth-story-card small{font-size:.6875rem}.auth-form-heading h1,.signup-page .auth-form-heading h1{font-size:2.4rem}.auth-field-row{gap:13px}.input-shell input::placeholder{font-size:.8125rem}}
@media(max-width:850px){.auth-header{height:86px;padding:0 6%}.auth-header-right>span{display:none}.auth-main,.signup-page .auth-main{grid-template-columns:1fr;padding:0 4%;gap:0}.auth-story,.signup-page .auth-story{min-height:0;height:270px}.auth-story-photo{object-position:62% 36%}.signin-page .auth-story-photo{object-position:70% 57%}.auth-story-wash{background:linear-gradient(90deg,#f8f9fafc 0%,#f8f9fae3 31%,#f8f9fa90 48%,#f8f9fa00 78%)}.auth-story-copy,.signup-page .auth-story-copy{left:6%;bottom:37px;max-width:60%}.auth-story-copy h2{font-size:2.35rem;margin-bottom:14px}.auth-story-copy>p:last-child{font-size:.8125rem}.auth-story-copy .eyebrow{font-size:.5625rem;margin-bottom:15px}.auth-story-card{display:none}.auth-form-section,.signup-page .auth-form-section{padding:42px 6% 15px}.auth-form-wrap,.signup-page .auth-form-wrap{max-width:540px}.auth-form-heading h1,.signup-page .auth-form-heading h1{font-size:2.5rem}.auth-form-heading h1 br{display:none}.auth-form-heading .eyebrow{margin-bottom:15px}.auth-footer{padding:28px 6% 23px;flex-wrap:wrap;gap:18px}.auth-footer>span{order:3;flex-basis:100%;text-align:center}.auth-footer>div{gap:20px}}
@media(max-width:580px){.auth-header .brand,.auth-header .brand img{width:108px;height:58px}.auth-header{height:82px}.auth-header-link{font-size:.8125rem;padding:11px 17px;gap:10px}.auth-main,.signup-page .auth-main{padding:0 4%}.auth-story,.signup-page .auth-story{height:205px;border-radius:20px}.auth-story-copy,.signup-page .auth-story-copy{bottom:32px;left:7%;max-width:66%}.auth-story-copy h2{font-size:clamp(1.5rem,6.4vw,2rem);line-height:1.2;margin:0}.auth-story-copy .eyebrow,.auth-story-copy>p:last-child{display:none}.auth-story-wash{background:linear-gradient(90deg,#f8f9fafc 0%,#f8f9fae8 24%,#f8f9fa6b 56%,#f8f9fa00 100%)}.auth-story-photo{object-position:60% 27%}.signin-page .auth-story-photo{object-position:72% 59%}.auth-form-section,.signup-page .auth-form-section{padding:35px 3% 13px}.auth-form-heading h1,.signup-page .auth-form-heading h1{font-size:2.05rem;line-height:1.2}.auth-form-heading>p:last-child{font-size:.9375rem;line-height:1.8;margin-bottom:21px}.auth-form-heading .eyebrow{font-size:.625rem;letter-spacing:.08em;margin-bottom:17px}.preview-context{font-size:.6875rem;margin-bottom:25px;gap:10px}.auth-form{gap:20px}.auth-field-row{grid-template-columns:1fr;gap:19px}.signup-page .auth-form{gap:19px}.input-shell input{font-size:1rem;min-height:56px}.input-shell input::placeholder{font-size:.875rem}.auth-field>label{font-size:.875rem}.password-row{gap:19px}.auth-options{font-size:.75rem;gap:12px}.remember{gap:8px}.auth-submit{font-size:.875rem}.auth-switch{font-size:.8125rem;line-height:1.9}.auth-teacher-link{font-size:.75rem;line-height:1.8;align-items:flex-start;text-align:center}.auth-teacher-link svg{margin-top:3px}.auth-footer{font-size:.6875rem}.auth-footer>div{gap:15px}.auth-footer .motion-toggle{font-size:.6875rem}.auth-preview-dialog{padding:44px 25px 29px}.auth-preview-dialog h2{font-size:2rem}.auth-preview-dialog .button{font-size:.8125rem}.auth-motion .auth-story-photo{translate:none}}
@media(max-width:360px){.auth-story,.signup-page .auth-story{height:180px}.auth-story-copy,.signup-page .auth-story-copy{max-width:69%;bottom:28px}.auth-form-heading h1,.signup-page .auth-form-heading h1{font-size:1.85rem}.auth-options{font-size:.6875rem}.remember{gap:6px}.auth-footer>div{flex-basis:100%;justify-content:space-between}.preview-context{font-size:.625rem}.auth-header-link{padding:10px 15px}.auth-header-link svg{width:15px}}
@media(prefers-reduced-motion:reduce){.auth-story-photo{scale:1!important;translate:none!important}.auth-story-copy,.auth-story-card,.auth-form-heading,.auth-form,.preview-context{animation:none!important;opacity:1;translate:none}}
