.bridge-body { margin:0; background:#fffaf0; color:#161f50; font-family:Lexend,Arial,sans-serif; }
.bridge-body * { box-sizing:border-box; }
.bridge-body a { color:inherit; }
.bridge-body h1,.bridge-body h2,.bridge-body h3 { font-family:Lexend,Arial,sans-serif; }
.bridge-body a:focus-visible,.bridge-body button:focus-visible,.bridge-body input:focus-visible { outline:3px solid #245ef7; outline-offset:4px; }
.bridge-header { min-height:88px; padding:12px max(24px,calc((100vw - 1280px)/2)); display:flex; align-items:center; justify-content:space-between; gap:24px; background:#fffff1; border-bottom:1px solid #e8e5d8; }
.bridge-wordmark { width:112px; height:56px; object-fit:contain; }
.bridge-nav { display:flex; gap:4px; padding:8px; border:1px solid #e9e4d7; border-radius:50px; box-shadow:0 2px 3px #161f5008; }
.bridge-nav a { text-decoration:none; font-weight:700; padding:10px 16px; border-radius:30px; font-size:14px; }
.bridge-nav a:hover { background:#edf5f3; }
.bridge-header-actions { display:flex; align-items:center; gap:12px; }
.bridge-language { border:1px solid #e9e4d7; border-radius:30px; padding:12px; text-decoration:none; font-size:12px; font-weight:700; }
.bridge-body .bridge-button { display:inline-flex; align-items:center; justify-content:center; border:1px solid #161f50; border-radius:32px; background:#161f50; color:#fffdf0; padding:14px 24px; font:700 14px Lexend,Arial,sans-serif; text-decoration:none; cursor:pointer; min-height:48px; }
.bridge-body .bridge-button:hover { background:#253b78; color:white; }
.bridge-main { min-height:calc(100vh - 190px); }
.bridge-footer { padding:24px max(24px,calc((100vw - 1280px)/2)); display:flex; justify-content:space-between; gap:20px; border-top:1px solid #e8e5d8; font-size:12px; line-height:1.7; }
.bridge-footer nav { display:flex; gap:20px; }
.bridge-auth { max-width:1120px; margin:0 auto; padding:64px 24px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.bridge-auth-intro .bridge-eyebrow,.bridge-eyebrow { font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#287c7e; }
.bridge-auth-intro h1 { font-size:clamp(36px,4.8vw,60px); line-height:1.13; letter-spacing:-.05em; margin:24px 0; }
.bridge-auth-intro h1 span { color:#287c7e; }
.bridge-auth-intro p { line-height:1.8; color:#536078; max-width:430px; }
.bridge-auth-intro ul { padding:0; list-style:none; margin:32px 0; }
.bridge-auth-intro li { padding:14px 0; border-bottom:1px solid #e5e3d8; font-size:14px; }
.bridge-auth-intro li::before { content:'✓'; color:#287c7e; margin-right:12px; }
.bridge-auth-note { padding:18px 22px; border-left:3px solid #287c7e; background:#edf5ef; border-radius:0 18px 18px 0; font-size:13px; }
.bridge-auth-card { padding:36px; background:#fffff4; border:1px solid #e9e4d7; border-radius:28px; box-shadow:0 16px 44px #161f5008; }
.bridge-auth-card h2 { font-size:26px; margin:0 0 12px; letter-spacing:-.025em; }
.bridge-auth-card p { color:#59647b; font-size:13px; line-height:1.65; }
.bridge-auth-card .bridge-auth-switch { margin:0 0 24px; }
.bridge-auth-switch a,.bridge-auth-card label a { color:#245d65; text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.bridge-auth-form { display:grid; gap:18px; }
.bridge-field { display:grid; gap:8px; font-size:13px; font-weight:700; }
.bridge-field input { width:100%; min-height:48px; padding:12px 14px; border:1px solid #c7cbd3; border-radius:12px; background:white; color:#161f50; font:400 15px Lexend,Arial,sans-serif; }
.bridge-password { display:flex; align-items:center; border:1px solid #c7cbd3; border-radius:12px; background:white; }
.bridge-password input { border:0; background:transparent; min-width:0; }
.bridge-password button { border:0; background:transparent; padding:12px; color:#245d65; font:700 11px Lexend,Arial,sans-serif; cursor:pointer; }
.bridge-checkbox { display:flex; gap:10px; align-items:flex-start; font-size:12px; line-height:1.6; font-weight:400; cursor:pointer; }
.bridge-checkbox input { flex:0 0 auto; width:18px; height:18px; margin:1px 0; accent-color:#287c7e; }
.bridge-auth-form small { color:#59647b; font-size:11px; font-weight:400; line-height:1.6; }
.bridge-google { width:100%; min-height:48px; border:1px solid #c7cbd3; border-radius:30px; background:white; color:#161f50; font:700 13px Lexend,Arial,sans-serif; display:flex; align-items:center; justify-content:center; gap:12px; cursor:pointer; }
.bridge-google svg { width:20px; height:20px; }
.bridge-divider { display:flex; align-items:center; gap:12px; margin:22px 0; font-size:11px; color:#68728a; }
.bridge-divider::before,.bridge-divider::after { content:''; flex:1; height:1px; background:#e4e4dc; }
.bridge-auth-errors { background:#fff0ed; border:1px solid #dcb1a9; padding:14px; border-radius:12px; color:#8a271e; font-size:12px; line-height:1.6; margin:18px 0; }
.bridge-auth-errors ul { margin:0; padding-left:18px; }
.bridge-error { max-width:720px; margin:0 auto; padding:90px 24px; text-align:center; }
.bridge-error h1 { font-size:clamp(30px,5vw,52px); line-height:1.2; }
.bridge-error p { color:#59647b; line-height:1.8; }
@media(max-width:950px) { .bridge-auth { gap:32px; padding:40px 24px; } .bridge-nav a { padding:9px; } .bridge-header { gap:12px; } }
@media(max-width:720px) { .bridge-header { min-height:76px; padding:10px 18px; } .bridge-nav { display:none; } .bridge-wordmark { width:96px; height:48px; } .bridge-header .bridge-button { padding:12px 18px; font-size:12px; } .bridge-auth { grid-template-columns:1fr; padding:28px 18px 44px; gap:24px; } .bridge-auth-intro h1 { font-size:36px; margin:12px 0; } .bridge-auth-intro ul,.bridge-auth-note { display:none; } .bridge-auth-intro p { font-size:13px; } .bridge-auth-card { padding:24px; border-radius:22px; } .bridge-footer { flex-direction:column; padding:22px; } }
@media(prefers-reduced-motion:reduce) { .bridge-body * { scroll-behavior:auto; animation:none!important; transition:none!important; } }
