:root{--ink:#143244;--muted:#69818f;--teal:#20b6b9;--teal2:#0e9299;--line:#dce9ec;--shadow:0 24px 65px rgba(3,21,32,.28)}
*,*::before,*::after{box-sizing:border-box}
html{min-width:320px;min-height:100%;font-family:"Work Sans",system-ui,-apple-system,sans-serif}
body.fpa-auth{margin:0;min-height:100svh;background:#102b3b;position:relative;color:#fff;display:flex;flex-direction:column;isolation:isolate;overflow-x:hidden}
body.fpa-auth:before{content:"";position:fixed;inset:0;z-index:-2;background:url('../pictures/home.webp') center center/cover no-repeat}
body.fpa-auth:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(6,25,34,.72) 0%,rgba(9,35,46,.52) 42%,rgba(5,26,38,.4) 70%,rgba(8,23,32,.55) 100%)}
a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #31d1ce;outline-offset:3px}
.auth-nav{width:100%;height:78px;max-width:1660px;margin:0 auto;padding:0 clamp(18px,3vw,54px);display:flex;align-items:center;gap:24px;justify-content:space-between;flex-shrink:0;position:relative;z-index:3}
.auth-brand{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;letter-spacing:.09em;white-space:nowrap}
.auth-brand strong{color:#7ce5db;font-weight:850}
.auth-brand-mark{display:grid;place-items:center;background:linear-gradient(140deg,#37d6cf,#1c91a7);width:33px;height:33px;margin-right:6px;border:1px solid #a0ede5;border-radius:11px;box-shadow:0 8px 21px rgba(12,55,66,.26);color:#f9ffff;font-size:23px}
.auth-nav nav{display:flex;align-items:center;gap:29px;color:#d6e7ec;font-size:12px;font-weight:750}
.auth-nav nav a:hover,.auth-nav-link:hover{color:#64e7dc}
.auth-nav-join,.auth-nav-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid rgba(233,252,252,.43);border-radius:12px;padding:11px 17px;background:rgba(13,47,60,.62);font-weight:800;font-size:12px;transition:.18s}
.auth-nav-join:hover{background:rgba(39,179,175,.45);border-color:rgba(233,252,252,.75)}
.auth-nav-join span{font-size:17px;line-height:1}
.auth-stage{flex:1;width:min(1050px,calc(100% - 52px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,448px);align-items:center;gap:44px;padding:34px 0 47px}
.auth-story{display:flex;flex-direction:column;justify-content:center;align-self:stretch;min-height:525px;padding:clamp(14px,3vw,40px) 5px 30px}
.story-eyebrow,.auth-overline{font-size:10px;letter-spacing:.17em;font-weight:850;text-transform:uppercase}
.story-eyebrow{display:flex;align-items:center;gap:8px;color:#a4f1ec}.story-dot,.auth-signal{display:inline-block;width:8px;height:8px;border-radius:50%;background:#58e6b8;box-shadow:0 0 0 5px rgba(79,221,188,.13)}
.auth-story h1{font:700 clamp(40px,4.25vw,63px)/1.11 "Roboto Slab",Georgia,serif;letter-spacing:-.045em;margin:20px 0 16px;color:#fff;text-wrap:balance;text-shadow:0 7px 22px rgba(0,0,0,.1)}
.auth-story h1 em{font-style:normal;color:#80e6d8}
.auth-story>p{max-width:445px;color:#e1e9e9;font-size:15px;line-height:1.75;margin:0}
.story-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}
.story-chips span{display:inline-flex;align-items:center;border:1px solid rgba(229,253,252,.26);padding:8px 11px;border-radius:999px;font-size:9px;letter-spacing:.08em;font-weight:850;color:#d2f1ee;background:rgba(15,45,55,.37)}
.story-foot{display:flex;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:40px;font-size:9px;font-weight:750;letter-spacing:.12em;color:rgba(233,251,250,.6)}
.auth-card{background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(245,251,251,.99));border:1px solid rgba(255,255,255,.8);color:var(--ink);border-radius:23px;box-shadow:var(--shadow);padding:34px 35px 26px;min-width:0}
.auth-overline{color:#13979b;display:flex;align-items:center;gap:10px;margin-bottom:14px}.auth-signal{width:7px;height:7px;box-shadow:0 0 0 4px rgba(23,181,167,.1)}
.auth-card h1,.auth-card h2{font:700 31px/1.2 "Roboto Slab",Georgia,serif;letter-spacing:-.035em;margin:0 0 7px}.auth-card .auth-lead{color:var(--muted);font-size:12px;line-height:1.55;margin:0 0 25px}
.auth-form{display:flex;flex-direction:column;gap:0}.auth-form>label:not(.auth-checkbox),.auth-label-row label{display:block;color:#2f4e5f;font-size:11px;font-weight:850;margin:0 0 8px}
.auth-label-row{display:flex;align-items:center;justify-content:space-between;margin:17px 0 8px}.auth-label-row label{margin:0}.auth-label-row a{color:#118e96;font-size:10px;font-weight:800}.auth-label-row a:hover{text-decoration:underline}
.auth-input-wrap{min-height:46px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid #d8e4e8;background:#fff;border-radius:11px;transition:.15s}
.auth-input-wrap:focus-within{border-color:#22b8b9;box-shadow:0 0 0 3px rgba(34,184,185,.12)}
.auth-input-wrap>svg{width:18px;height:18px;color:#7697a4;flex:none}
.auth-input-wrap input{display:block;background:transparent;border:0;outline:0;width:100%;height:44px;min-width:0;color:#193d4e;font-weight:650;font-size:12px}
.auth-input-wrap input::placeholder{color:#a1b1bb;font-weight:500}.password-toggle{background:transparent;border:0;color:#1a969a;font-weight:800;font-size:10px;cursor:pointer;padding:8px 2px;min-width:34px}
.auth-primary{width:100%;min-height:45px;background:linear-gradient(110deg,#23beb8,#14999b);border:none;border-radius:11px;color:#fff;font-size:12px;font-weight:850;margin-top:21px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 16px rgba(24,161,158,.2);cursor:pointer;transition:transform .15s,box-shadow .15s}
.auth-primary:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(24,161,158,.28)}.auth-primary span{font-size:17px;line-height:1}
.auth-divider{display:flex;gap:13px;align-items:center;color:#93a7b2;font-size:9px;font-weight:850;letter-spacing:.09em;margin:20px 0 15px;white-space:nowrap}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#d8e5e8;flex:1}
.social-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}
.social-button{width:100%;height:48px;border:1px solid #dbe5e9;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:10px;color:#244253;font-size:12px;font-weight:800;transition:.16s}.social-button:hover{border-color:#20adb2;background:#f1fcfc;box-shadow:0 5px 13px rgba(14,78,82,.07)}.social-pending{opacity:.9}
.auth-microcopy{font-size:10px;line-height:1.55;color:#7c909b;text-align:center;margin:13px 0 0}.auth-config-hint{display:block;color:#a38037;margin-top:3px}
.auth-bottom{text-align:center;border-top:1px solid var(--line);padding:19px 0 0;margin-top:20px;color:#788d9b;font-size:11px;font-weight:550}.auth-bottom a{color:#0a929a;font-weight:850}.auth-bottom a:hover{text-decoration:underline}
.auth-alert{padding:11px 13px;border-radius:11px;margin:0 0 16px;background:#ffeded;color:#9b3030;font-size:11px;line-height:1.5;border:1px solid #f2c9c9;font-weight:650}.auth-alert-info{background:#eaf9f7;color:#15766e;border-color:#c2e8df}
.auth-footer{display:flex;gap:12px;justify-content:space-between;max-width:1660px;width:100%;margin:auto auto 0;padding:0 clamp(18px,3vw,54px) 17px;color:rgba(239,255,255,.73);font-size:9px;letter-spacing:.07em;font-weight:550}
.auth-stage-single{grid-template-columns:minmax(0,510px);justify-content:center;align-content:center;padding:30px 0}.auth-stage-single .auth-card{width:100%}
.auth-stage-single .auth-form>input:not([type=hidden]){min-height:45px;border:1px solid #d8e4e8;background:white;border-radius:11px;color:var(--ink);font-size:12px;padding:0 13px;margin-bottom:7px}
.auth-stage-single small{font-size:10px;line-height:1.5;color:#718897;margin:0 0 18px}
.auth-checkbox{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:#597382;line-height:1.5;margin-top:11px}.auth-checkbox input{accent-color:#159c9b;margin:3px 0 0}.auth-checkbox a{color:#087c86;font-weight:850;text-decoration:underline}
.connection-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #e0ebec;background:#fff;padding:16px;border-radius:13px;margin:12px 0}.connection-row>div{display:grid;gap:5px}.connection-row strong{font-size:14px}.connection-row small{font-size:10px;margin:0}.connection-action,.connection-connected,.connection-unavailable{font-size:10px;font-weight:800;white-space:nowrap;border-radius:9px;padding:10px 12px}.connection-action{color:white;background:#158f99;border:0;cursor:pointer}.connection-connected{color:#367b43;background:#e9f8ee}.connection-unavailable{color:#947542;background:#fff8dd}.auth-secondary-wide{display:block;text-align:center;border:1px solid #d5e3e7;background:#fff;color:#205167;padding:12px;border-radius:10px;font-size:11px;font-weight:800;margin-top:18px}
@media(max-width:840px){.auth-stage{grid-template-columns:1fr;max-width:460px;gap:10px;padding:22px 0}.auth-story{min-height:0;padding:0 8px 13px}.auth-story h1{font-size:32px;margin:9px 0}.auth-story>p{font-size:12px;line-height:1.45}.story-eyebrow{font-size:9px}.story-chips,.story-foot{display:none}.auth-nav{height:65px}.auth-nav nav{gap:12px}.auth-nav nav a{font-size:11px}.auth-brand{font-size:10px;letter-spacing:.02em}.auth-brand-mark{width:27px;height:27px;margin-right:1px}.auth-nav-join{font-size:10px;padding:9px 10px}.auth-card{padding:28px 25px}.auth-footer span:last-child{display:none}}
@media(max-width:550px){.auth-nav nav{display:none}.auth-stage{width:min(460px,calc(100% - 24px));margin:auto;gap:12px;padding:12px 0 20px}.auth-card{padding:24px 21px}.auth-card h1,.auth-card h2{font-size:26px}.auth-story{padding:0 12px}.auth-story h1{font-size:29px}.auth-story>p{display:none}.auth-nav{height:58px}.auth-footer{justify-content:center;text-align:center}.connection-row{align-items:flex-start;flex-direction:column}.auth-primary{margin-top:16px}}
@media(max-height:690px) and (min-width:841px){.auth-stage{padding:12px 0}.auth-story{min-height:0}.auth-card{padding:22px 28px 20px}.story-chips{margin-top:16px}.story-foot{padding-top:16px}.auth-nav{height:60px}.auth-card .auth-lead{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
