.auth-page{min-height:100vh;background:#f6f8fc;color:#173450;display:flex;flex-direction:column}.auth-header{width:min(1250px,100% - 80px);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:29px 0}.auth-header .brand{font-size:23px}.auth-header>div{display:flex;align-items:center;gap:25px}.auth-header>div>a{font-size:13px;color:#506988}.auth-layout{width:min(1160px,100% - 80px);margin:40px auto 65px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:95px;align-items:start;flex:1}.auth-story{padding-top:54px;position:sticky;top:40px}.auth-eyebrow{font:10px/1.8 var(--mono);letter-spacing:.17em;color:#4d6e99}.auth-page .auth-story h1{font-size:clamp(40px,4.5vw,64px);line-height:1.14;font-weight:550;letter-spacing:-.045em;margin:26px 0 23px;color:#183455}.auth-accent{color:#3064c6}.auth-story>p{font-size:16px;line-height:1.9;max-width:390px;color:#5a7090}.auth-route-art{position:relative;height:240px;margin:30px -10px 15px 0;overflow:hidden}.route-grid{position:absolute;inset:0;background-image:radial-gradient(#9fb4d0 .8px,transparent .8px);background-size:18px 18px;mask-image:radial-gradient(ellipse at center,#000 10%,transparent 70%);opacity:.48}.route-point{position:absolute;padding:14px 18px;border-radius:10px;border:1px solid #cfddf0;background:linear-gradient(130deg,#fff,#f0f5ff);color:#5c769c;font:10px var(--mono);z-index:2;box-shadow:0 12px 30px #406ab60b}.point-a{left:4%;top:95px}.point-b{left:44%;top:76px;padding:21px 23px;border-color:#b0c6ed;background:#f2f6ff;color:#3064c6;font-size:19px;font-weight:600;box-shadow:0 8px 45px #4b73d11c}.point-c{right:1%;top:95px}.route-line{position:absolute;height:1px;top:115px;background:linear-gradient(90deg,#adc1e2,#537ee1,#bbcbed);width:28%}.line-a{left:20%}.line-b{left:58%}.route-caption{position:absolute;bottom:16px;left:7%;font:8px var(--mono);letter-spacing:.15em;color:#8499b7}.auth-story-foot{display:flex;align-items:center;gap:9px;font-size:12px;color:#637b9e;margin-top:17px}.auth-small-dot{width:6px;height:6px;border-radius:50%;background:#5981c9}.auth-card{border:1px solid #dce5f2;border-radius:17px;background:white;padding:34px 35px 28px;box-shadow:0 15px 55px #29477d07;min-width:0}.auth-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.auth-card-mark{font:600 12px var(--mono);background:#edf3ff;border:1px solid #ccdcf6;border-radius:7px;color:#3a64ad;padding:9px 10px}.auth-step{font:9px var(--mono);letter-spacing:.1em;color:#7890b1}.auth-page .auth-card h2{font-size:30px;line-height:1.4;letter-spacing:-.03em;color:#24456e;font-weight:550;outline:none}.auth-description{font-size:13px;color:#667f9e;line-height:1.85;margin:10px 0 24px}.auth-loading{font-size:12px;color:#607a9f;padding:10px 0 20px}.auth-availability{font-size:12px;line-height:1.8;padding:12px 14px;border:1px solid #ceddf3;background:#f2f6ff;color:#4c6c98;border-radius:7px;margin:0 0 22px}.auth-feedback{padding:12px 14px;font-size:12px;line-height:1.8;border:1px solid #e2bfb1;background:#fff5ef;color:#8a4d36;border-radius:7px;margin:0 0 20px;overflow-wrap:anywhere}.auth-feedback.success{background:#eff8f3;border-color:#c4dfd0;color:#32705a}.auth-social{display:grid;gap:11px}.auth-social-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;border:1px solid #cedaeb;border-radius:7px;background:#fff;color:#304f78;font:500 13px var(--sans);padding:10px 12px}.auth-social-button:hover:enabled{background:#f4f7fd;border-color:#a5bce0}.auth-social-button:disabled{color:#7185a0;background:#fafbfd;cursor:not-allowed}.auth-provider-status{font-size:9px;font-weight:400;color:#8193ac}.auth-divider{position:relative;text-align:center;margin:9px 0 16px;color:#8190a7;font-size:11px}.auth-divider::before{content:'';height:1px;background:#e4eaf4;position:absolute;inset:50% 0 auto}.auth-divider>span{position:relative;background:white;padding:0 13px}.auth-card fieldset{border:0;padding:0;margin:0;min-width:0}.auth-card label{display:block;font-size:12px;color:#3f5c81;font-weight:500;margin:0 0 8px}.auth-card input:not([type=checkbox]){font:14px var(--sans);border:1px solid #cedaea;border-radius:7px;background:white;color:#24466f;padding:12px 13px;min-height:45px;width:100%;outline:none;box-sizing:border-box}.auth-card input:focus{border-color:#628cdd;box-shadow:0 0 0 3px #5080db13}.auth-card input[aria-invalid=true]{border-color:#c18268}.auth-card input:disabled{background:#fafbfd;color:#8190a6}.auth-card form input+label,.auth-card form .auth-password+label,.auth-card .auth-label-row{margin-top:19px}.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.auth-label-row>a{font-size:11px;color:#4572b7;margin-bottom:8px}.auth-password{position:relative}.auth-password>input{padding-right:48px!important}.auth-password>button{position:absolute;right:4px;top:4px;min-width:38px;min-height:38px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#6a84a8;font-size:16px}.auth-password>button:disabled{cursor:not-allowed}.auth-submit{width:100%;margin-top:23px;min-height:46px;font-size:13px;border-radius:7px;justify-content:center}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-input-help{font-size:11px;color:#7087a7;line-height:1.8;margin:9px 0 18px}.auth-page .auth-card .auth-code{font:22px var(--mono);letter-spacing:.35em;padding-left:20px}.auth-card label.auth-consent{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:11px;line-height:1.85;margin:20px 0 0}.auth-consent input{width:15px;height:15px;flex:none;margin-top:3px;accent-color:#346bd2}.auth-card a:not(.brand){color:#386bb7}.auth-switch{font-size:12px;text-align:center;line-height:1.9;color:#6c81a0;margin-top:23px}.auth-switch a{font-weight:500}.auth-owner{border-top:1px solid #e4ebf4;margin-top:25px;padding-top:18px;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;color:#8191aa}.auth-owner>a{font-size:12px}.auth-retry,.auth-resend{display:block;border:0;background:transparent;color:#416db5;font:12px var(--sans);padding:12px 0;margin:8px auto 0}.auth-resend:disabled{color:#8293ab;cursor:not-allowed}.auth-footer{width:min(1250px,100% - 80px);margin:0 auto;padding:0 0 25px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;color:#7a8fae}.auth-footer nav{display:flex;gap:22px}.auth-page [hidden]{display:none!important}.auth-page a:focus-visible,.auth-page button:focus-visible{outline:2px solid #4f7bd1;outline-offset:4px}.auth-page :disabled{cursor:not-allowed}
@media(max-width:1050px){.auth-layout{gap:45px;grid-template-columns:minmax(0,1fr) minmax(0,420px)}.auth-page .auth-story h1{font-size:45px}.auth-story>p{font-size:14px}.auth-route-art{margin-right:0}.route-point{padding:11px 12px}.point-b{padding:18px}.point-c{right:0}}
@media(max-width:780px){.auth-header,.auth-footer{width:calc(100% - 40px)}.auth-header{padding:22px 0}.auth-header .brand{font-size:21px}.auth-header>div{gap:16px}.auth-header>div>a{font-size:11px}.auth-layout{display:block;width:min(460px,100% - 36px);margin:18px auto 40px}.auth-story{display:none}.auth-card{padding:29px 25px 25px;border-radius:13px}.auth-footer{font-size:10px}.auth-footer nav{gap:16px}.auth-page .auth-card h2{font-size:28px}.auth-card-top{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.auth-page *{scroll-behavior:auto!important}}

/* Small-screen forms keep readable text and reachable controls. */
@media(max-width:780px){
  .auth-page .auth-card input:not([type=checkbox]):not(.auth-code){font-size:16px}
  .auth-social-button{flex-wrap:wrap;gap:4px 10px;line-height:1.5}
  .auth-social-button>span{min-width:0;overflow-wrap:anywhere}
  .auth-availability,.auth-description,.auth-switch{overflow-wrap:anywhere}
  .auth-card label.auth-consent{min-height:44px;align-items:flex-start}
  .auth-label-row>a,.auth-change-email>a,.auth-switch>a{display:inline-flex;align-items:center;min-height:44px}
  .auth-footer{flex-wrap:wrap;justify-content:center;text-align:center;gap:8px 18px}
  .auth-footer nav{flex-wrap:wrap;justify-content:center;gap:4px 16px}
  .auth-footer nav>a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:370px){
  .auth-layout{width:calc(100% - 24px);margin-top:8px}
  .auth-card{padding:24px 18px}
  .auth-header{width:calc(100% - 28px)}
  .auth-page .auth-card h2{font-size:26px}
}

.auth-social-legal{font-size:10px;line-height:1.8;color:#7186a4;text-align:center;margin:2px 3px 0}.auth-social-legal a{color:#4971ad}

.auth-verify-link{display:inline-block;font-size:12px;margin:-4px 0 22px;color:#386bb7}

.auth-change-email{text-align:center;margin:5px 0 0;font-size:11px;line-height:1.8}.auth-password>button{font-size:11px;min-width:42px}.auth-password>input{padding-right:54px!important}.auth-submit[aria-busy=true]::before{content:'';display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-submit[aria-busy=true]::before{animation:none}}

/* Typography refresh: deliberate hierarchy, comfortable reading, native fonts. */
.auth-page .auth-story h1{font-size:clamp(36px,4vw,52px);line-height:1.22;font-weight:600;letter-spacing:-.025em}
.auth-story>p{font-size:17px;line-height:1.8;max-width:42ch}.auth-eyebrow{font:600 11px/1.6 var(--sans);letter-spacing:.08em}
.auth-layout{gap:64px}.auth-page .auth-card h2{font-size:29px;line-height:1.3;font-weight:600;letter-spacing:-.02em}
.auth-description,.auth-availability{font-size:14px;line-height:1.75}.auth-card label,.auth-label-row{font-size:14px;line-height:1.6}
.auth-card input:not([type=checkbox]){font-size:16px;line-height:1.5;min-height:48px}
.auth-submit{font-size:15px;font-weight:600;min-height:48px}.auth-switch,.auth-change-email{font-size:13px;line-height:1.75}
.auth-consent,.auth-social-legal{font-size:12px;line-height:1.8;color:#536783}.auth-footer{font-size:12px;line-height:1.7}
@media(max-width:900px){.auth-layout{gap:32px}.auth-page .auth-story h1{font-size:38px}}
@media(max-width:700px){.auth-layout{width:min(460px,calc(100% - 32px))}.auth-card{padding:30px 24px}.auth-page .auth-card h2{font-size:28px}.auth-header>div>a{font-size:13px}.auth-footer{font-size:12px}}
@media(max-width:370px){.auth-card{padding:26px 20px}.auth-header>div{gap:12px}}

/* Public UI audit: secondary text retains hierarchy with readable contrast. */
.auth-step,.auth-description,.auth-divider,.auth-switch,.auth-footer,
.route-caption,.auth-story-foot,.auth-input-help,.auth-loading,.auth-owner{color:var(--muted)}
