@import url('fonts.css');

:root { --blue:#86c6df; --button:#4f62c4; --text:#555; --border:#dfe2e5; }
* { box-sizing:border-box; }
html { color-scheme:light; }
body { margin:0; background:#fff; color:var(--text); font-family:'Poppins',Arial,sans-serif; font-size:14px; }
a { color:#536bc6; text-underline-offset:2px; }
.skip-link { position:fixed; top:-80px; left:18px; z-index:10; padding:10px 16px; background:#fff; box-shadow:0 2px 8px #0002; }
.skip-link:focus { top:18px; }
.site-header { min-height:94px; display:flex; align-items:center; padding:0 5.1%; border-bottom:1px solid #aaa; }
.site-header img { display:block; width:112px; height:auto; }
.brand-hero { min-height:427px; display:grid; place-items:center; padding:36px 20px; box-shadow:0 10px 18px -18px #0008; }
.brand-hero img { display:block; width:min(591px,78vw); height:auto; }
.intro-band { display:grid; place-items:center; min-height:165px; margin-top:79px; padding:25px 5%; background:var(--blue); color:#fff; text-align:center; }
.intro-band p { max-width:1740px; margin:0; font-size:24px; line-height:1.45; }
.auth-section { padding:122px 20px 118px; }
.auth-section h1 { margin:0 0 35px; color:var(--blue); font-size:21px; font-weight:700; text-align:center; }
.auth-card { width:min(520px,100%); margin:auto; padding:58px 50px; border-radius:6px; background:#fff; box-shadow:0 4px 24px #00000013; }
.auth-form { display:grid; gap:24px; }
.field { display:grid; gap:8px; }
label, legend { color:#414141; font-size:13px; font-weight:500; }
label span[aria-hidden], legend span[aria-hidden] { color:#f05663; }
input:not([type="checkbox"]), select { width:100%; min-height:39px; border:1px solid var(--border); border-radius:3px; padding:8px 10px; background:#fff; color:#333; font:inherit; }
input:focus, select:focus { outline:3px solid #86c6df55; border-color:#6cb6d3; }
.login-options { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.login-options a { font-size:13px; }
.check { display:flex; align-items:flex-start; gap:7px; line-height:1.5; }
.check input { flex:0 0 auto; width:14px; height:14px; margin:2px 0 0; }
fieldset { display:grid; gap:8px; min-width:0; margin:0; padding:0; border:0; }
fieldset .check { font-weight:400; }
button { justify-self:start; min-width:100px; padding:12px 22px; border:0; border-radius:3px; background:var(--button); color:#fff; font:600 13px 'Poppins',Arial,sans-serif; cursor:pointer; }
button:hover { background:#4053b4; }
button:focus-visible, a:focus-visible { outline:3px solid #efbf2d; outline-offset:3px; }
.form-link { margin:0; text-align:center; font-size:13px; }
.form-status, .form-error { display:none; margin:0; padding:10px 12px; border-radius:3px; text-align:center; font-size:13px; }
.form-status.is-visible { display:block; color:#28613f; background:#eaf7ee; }
.form-error.is-visible { display:block; color:#9f2632; background:#fff0f1; }
button[disabled] { cursor:wait; opacity:.65; }
.register-section { padding-top:82px; }
.register-section .auth-card { width:min(540px,100%); padding:52px 58px; }
.register-section .auth-form { gap:22px; }
.site-footer { border-top:1px solid #f1f1f1; box-shadow:0 -8px 20px -23px #000; padding:28px 5% 34px; }
.footer-brands { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; }
.footer-brands p { margin:0 0 13px; color:#888; font-size:14px; }
.footer-brands img { display:block; object-fit:contain; object-position:left center; }
.footer-brands .support { text-align:right; }
.footer-brands .support img { object-position:right center; }
.footer-copy { margin-top:50px; color:#888; text-align:center; }
.footer-copy p { margin:0; }
.footer-copy a { color:var(--blue); }
.footer-copy .legal { max-width:1720px; margin:15px auto 0; font-size:12px; line-height:1.35; }
.footer-copy .code { margin-top:44px; font-size:10px; }
.reset-intro { margin:-8px 0 4px; color:#666; line-height:1.55; text-align:center; }

@media (max-width:700px) {
  .site-header { min-height:72px; }
  .site-header img { width:94px; }
  .brand-hero { min-height:280px; }
  .brand-hero img { width:min(460px,92vw); }
  .intro-band { min-height:0; margin-top:36px; padding:28px 22px; }
  .intro-band p { font-size:16px; }
  .auth-section, .register-section { padding:64px 16px 78px; }
  .auth-card, .register-section .auth-card { padding:34px 22px; }
  .login-options { align-items:flex-start; flex-direction:column; }
  .footer-brands img { max-width:130px; height:auto; }
  .footer-brands .support img { max-width:145px; }
  .footer-copy { margin-top:38px; }
}
