
:root{--bg:#f6f9f8;--panel:#fff;--ink:#123b5d;--muted:#748594;--line:#e2eae8;--mint:#22c7a9;--tint:#e6f8f2;--shadow:0 22px 80px #163d5820;--error:#ba3348}
html[data-theme=dark]{--bg:#0d1d2a;--panel:#152c3e;--ink:#e8f5fb;--muted:#a4bac7;--line:#2b4455;--tint:#183e42;--shadow:0 22px 80px #0004}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 "Segoe UI",Tahoma,Arial,sans-serif;transition:background .2s,color .2s}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.75}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #22c7a970;outline-offset:4px}button{color:inherit}header{max-width:1320px;margin:auto;padding:28px 42px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand svg{width:42px;height:42px}.brand strong{font-size:23px;letter-spacing:-.8px}.brand small{display:block;font-size:11px;color:var(--muted);letter-spacing:.2px}.toolbar{display:flex;gap:8px}.tool{border:1px solid var(--line);border-radius:13px;background:var(--panel);height:42px;min-width:42px;padding:0 12px;font-weight:600}.tool:hover{background:var(--tint)}.tool svg{vertical-align:middle;width:19px;height:19px}.layout{max-width:1210px;margin:26px auto 50px;padding:0 42px;display:grid;grid-template-columns:1.12fr 1fr;gap:74px;align-items:center;min-height:600px}.story{position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--tint);padding:6px 13px;border-radius:30px;font-size:12px;font-weight:700}.dot{width:7px;height:7px;background:var(--mint);border-radius:50%}h1{font-size:clamp(30px,3.2vw,44px);line-height:1.35;letter-spacing:-1px;margin:21px 0 13px;font-weight:750}.accent{color:#0caa8e}html[data-theme=dark] .accent{color:var(--mint)}.intro{color:var(--muted);max-width:450px;font-size:16px;margin:0}.visual{height:340px;margin-top:10px;position:relative;display:grid;place-items:center}.art{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;animation:breathe 5s ease-in-out infinite}html[data-theme=dark] .art{mix-blend-mode:normal;border-radius:38px;max-width:380px;height:300px}.orbit-card{position:absolute;z-index:2;padding:12px 16px;background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 25px #163d580d;border-radius:18px;display:flex;align-items:center;gap:10px;font-size:12px}.orbit-card strong{display:block;font-size:13px}.orbit-card span{color:var(--muted)}.orbit-card.one{top:48px;inset-inline-start:0;transform:rotate(4deg)}.orbit-card.two{bottom:24px;inset-inline-end:0;transform:rotate(-3deg)}.badge-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--tint);font-size:20px}.promise{display:flex;gap:20px;font-size:12px;color:var(--muted);flex-wrap:wrap}.promise span{display:flex;align-items:center;gap:5px}.promise b{color:#0aaa8e}.form-card{background:var(--panel);border:1px solid var(--line);border-radius:29px;box-shadow:var(--shadow);padding:37px 38px;position:relative}.form-card:before{content:"";position:absolute;top:0;left:34px;right:34px;height:3px;background:linear-gradient(90deg,transparent,var(--mint),transparent)}.welcome-icon{width:52px;height:52px;border-radius:17px;background:var(--tint);display:grid;place-items:center;font-size:27px;margin-bottom:17px}.form-card h2{font-size:28px;line-height:1.3;margin:0 0 9px;letter-spacing:-.8px}.sub{color:var(--muted);margin:0 0 28px;font-size:14px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:650;margin-bottom:8px}.input-wrap{display:flex;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:13px;min-height:52px;transition:border .2s,box-shadow .2s}.input-wrap:focus-within{border-color:var(--mint);box-shadow:0 0 0 4px #22c7a915}.input-wrap>svg{width:19px;height:19px;margin-inline:14px 0;flex-shrink:0;color:var(--muted)}input[type=email],input[type=password],input[type=text]{background:transparent;border:0;outline:none;width:100%;padding:13px;color:var(--ink);min-width:0}input::placeholder{color:var(--muted);opacity:.75}input[dir=ltr]{text-align:start}.eye{border:0;background:transparent;padding:11px 14px;display:grid;place-items:center;color:var(--muted)}.eye svg{width:20px;height:20px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 23px;font-size:12px}.check{display:flex;align-items:center;gap:7px;cursor:pointer}.check input{accent-color:#0eac91;width:16px;height:16px;margin:0}.text-btn{background:transparent;border:0;padding:0;font-weight:650;color:#0c9c85}.primary{width:100%;border:0;border-radius:13px;padding:14px;color:#fff;background:#123b5d;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;box-shadow:0 7px 18px #123b5d19}.primary:hover{background:#1c5078;transform:translateY(-1px)}html[data-theme=dark] .primary{background:#22c7a9;color:#0d2b39}.primary svg{width:19px;height:19px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin:25px 0 17px}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.socials{display:flex;gap:11px}.social{display:flex;flex:1;gap:8px;justify-content:center;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:12px;height:47px;font-size:12px;font-weight:600}.social:hover{background:var(--bg)}.social svg{width:18px;height:18px}.join{text-align:center;font-size:13px;margin:24px 0 0;color:var(--muted)}.join button{margin-inline-start:5px}.error{font-size:12px;color:var(--error);margin:5px 0 0;min-height:0}.invalid{border-color:var(--error)}.notice{font-size:11px;display:flex;gap:7px;align-items:center;justify-content:center;color:var(--muted);margin-top:18px}.notice svg{width:14px;height:14px}footer{max-width:1210px;padding:0 42px 26px;margin:auto;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}.footer-links{display:flex;gap:18px}.footer-links button{font-size:11px;color:var(--muted);font-weight:400}.preview-note{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:10px;padding:5px 12px;border-radius:20px;z-index:5;white-space:nowrap;box-shadow:0 4px 15px #0001}.spinner{width:18px;height:18px;border:2px solid #ffffff45;border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}.toast{position:fixed;top:90px;left:50%;transform:translateX(-50%);max-width:90%;background:var(--ink);color:var(--panel);padding:12px 22px;border-radius:13px;box-shadow:var(--shadow);z-index:20;font-size:13px}dialog{width:min(440px,calc(100% - 32px));border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:24px;padding:30px;box-shadow:var(--shadow)}dialog::backdrop{background:#0a223b70;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.dialog-head h3{font-size:20px;margin:0}.close{background:var(--bg);border:1px solid var(--line);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:21px}.dialog-copy{color:var(--muted);font-size:13px;margin-bottom:20px}.dialog-result{background:var(--tint);border-radius:13px;padding:14px;font-size:13px;margin:14px 0}.success-art{font-size:45px;display:block;text-align:center;margin:6px 0 12px}.mini-progress{height:8px;background:var(--line);border-radius:10px;margin:15px 0}.mini-progress span{display:block;width:70%;height:100%;border-radius:10px;background:var(--mint)}[hidden]{display:none!important}@keyframes breathe{50%{transform:translateY(-7px)}}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.layout{margin-top:65px}}@media(max-width:980px){.layout{gap:30px;padding:0 25px}.form-card{padding:30px 25px}.orbit-card{padding:9px}.visual{height:285px}.intro{font-size:14px}.brand strong{font-size:20px}header{padding:22px 25px}}@media(max-width:720px){header{padding:20px;gap:8px}.brand svg{width:34px;height:34px}.brand strong{font-size:19px}.brand small{font-size:10px}.toolbar{gap:5px}.tool{padding:0 9px;height:37px;min-width:37px;font-size:11px}.layout{display:flex;flex-direction:column;gap:21px;margin:8px auto 30px;padding:0 20px;min-height:0}.story{width:100%;text-align:center}.eyebrow{font-size:10px;padding:4px 10px}h1{font-size:25px;margin:12px 0 6px;letter-spacing:-.5px}.intro{font-size:12px;max-width:none}.visual{height:148px;margin-top:4px;max-width:360px;margin-inline:auto}.art{max-width:210px}.orbit-card.one{top:18px}.orbit-card.two{bottom:10px}.orbit-card{font-size:9px;border-radius:12px;gap:6px;padding:7px 9px}.orbit-card strong{font-size:10px}.badge-icon{width:27px;height:27px;font-size:15px}.promise{display:none}.form-card{width:100%;max-width:450px;padding:25px 24px;border-radius:23px}.welcome-icon{display:none}.form-card h2{font-size:24px}.sub{font-size:12px;margin-bottom:21px}.field{margin-bottom:15px}.divider{margin:21px 0 14px}.join{margin-top:19px}footer{padding:0 20px 48px;flex-direction:column;align-items:center;font-size:10px;gap:7px}html[data-theme=dark] .art{height:145px;border-radius:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.layout>.form-card{order:-1}.brand img{width:44px;height:44px;object-fit:contain}.text-btn{text-decoration:none}.join a{font-weight:700;color:var(--ink);margin-inline-start:6px}.field-validation-error,.validation-summary-errors{color:var(--error);font-size:13px}.validation-summary-errors{padding:12px;background:color-mix(in srgb,var(--error),transparent 93%);border-radius:12px;margin:15px 0}.validation-summary-errors ul{margin:0;padding-inline-start:18px}.validation-summary-valid,.field-validation-valid{display:none}.input-validation-error{outline:2px solid var(--error)}.social{text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px}.socials{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.social i{font-size:18px}.notice{font-size:12px}.login-alert{padding:12px;border-radius:12px;background:var(--tint);margin-block:12px}.pilot-login{max-width:1120px;margin:0 auto 20px;padding:12px 20px;border-radius:12px;background:var(--tint);color:var(--ink)}.toolbar form{margin:0}.input-wrap input{min-width:0}.art{width:100%;height:100%;object-fit:contain}.primary{display:flex;align-items:center;justify-content:center;gap:10px}.promise i{color:var(--mint)}
@media(max-width:720px){.layout>.form-card{order:0}.brand img{width:34px;height:34px}.layout{margin-top:0}.art{width:210px}}

.options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 23px;font-size:12px}.input-wrap>i{margin-inline:14px 0;flex-shrink:0;color:var(--muted)}.socials{display:grid}.orbit-card small{display:block;color:var(--muted)}.layout{grid-template-columns:1fr 1.12fr}.check input{flex-shrink:0}.field span.field-validation-error{display:block;margin-top:5px}@media(max-width:400px){.options{align-items:start;flex-wrap:wrap}}

.layout>.story,.layout>.form-card{min-width:0}.layout>.story .visual{display:block;position:relative;isolation:isolate;height:clamp(260px,28vw,350px);min-height:0;min-width:0;margin-block:16px 22px}
html[data-theme] .layout .visual>.art{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:normal;border-radius:0;margin:0}
.layout .promise{position:relative;z-index:1}.form-card .form-control,.form-card .form-select{background-color:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:13px;min-height:48px}.form-card .input-wrap>.form-control{border:0;background:transparent;min-height:0}.form-card .form-label{color:var(--ink);font-size:13px;font-weight:650}.form-card .text-muted{color:var(--muted)!important}.form-card .alert-light{background:var(--bg);color:var(--muted);border-color:var(--line)!important}.form-card .btn-primary-eu{background:#123b5d;color:white;border-radius:13px;min-height:48px}.form-card .social-login-button{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:13px;padding:12px}.social-login-divider{display:flex;justify-content:center;color:var(--muted);font-size:12px;margin-block:15px}.gateway-register{align-items:start}.gateway-register>.story{position:sticky;top:28px}.gateway-register .form-card form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.gateway-register form>.alert,.gateway-register form>.gateway-form-actions{grid-column:1/-1}.gateway-form-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.gateway-state{max-width:610px;padding:25px 20px 65px;margin:auto;text-align:center}.gateway-state .form-card{width:100%}.gateway-state h1{font-size:26px;letter-spacing:0}.gateway-state p{color:var(--muted)}.gateway-state form{margin-block:18px}.gateway-state .btn-link{color:var(--mint)}.gateway-forgot .form-card h2{font-size:26px}
@media(max-width:720px){.layout>.story .visual{height:165px;margin-block:8px 16px}.gateway-register>.story{position:relative;top:auto}.gateway-register .form-card form{grid-template-columns:1fr}.gateway-form-actions{flex-wrap:wrap}.layout>.story .orbit-card{max-width:180px}.layout>.story .orbit-card.one{top:12px}.layout>.story .orbit-card.two{bottom:0}}
@media(prefers-reduced-motion:reduce){html[data-theme] .layout .visual>.art{animation:none}}

/* Sign-in viewport layout: registration/reset retain their existing flow.
   Content can grow naturally for validation, zoom and the on-screen keyboard. */
body.gateway-signin-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;}
.gateway-signin-page>header{width:100%;flex-shrink:0;padding:14px 32px;}
.gateway-signin-page>.gateway-signin{width:100%;flex:1 0 auto;min-height:0;margin:0 auto;padding:12px 32px;gap:clamp(24px,4vw,64px);align-content:center;}
.gateway-signin-page>footer{width:100%;flex-shrink:0;padding:12px 32px;margin:0 auto;flex-wrap:wrap;}
.gateway-signin-page .form-card{padding:24px 28px;border-radius:24px;}
.gateway-signin-page .welcome-icon{width:42px;height:42px;font-size:23px;border-radius:14px;margin-bottom:10px;}
.gateway-signin-page .form-card h2{font-size:26px;margin-bottom:6px;}
.gateway-signin-page .sub{margin-bottom:18px;}
.gateway-signin-page .field{margin-bottom:13px;}
.gateway-signin-page .field label{margin-bottom:5px;}
.gateway-signin-page .input-wrap{min-height:48px;}
.gateway-signin-page .options{margin:4px 0 16px;flex-wrap:wrap;}
.gateway-signin-page .primary{min-height:48px;padding:11px 14px;}
.gateway-signin-page .join{margin-top:15px;}
.gateway-signin-page .divider{margin:16px 0 12px;}
.gateway-signin-page .social{min-height:44px;height:auto;padding:8px 10px;}
.gateway-signin-page .notice{margin:13px 0 0;flex-wrap:wrap;text-align:center;}
.gateway-signin-page .story h1{font-size:clamp(27px,3vw,39px);margin:14px 0 9px;}
.gateway-signin-page .intro{font-size:14px;}
.gateway-signin-page .layout>.story .visual{height:clamp(170px,27vh,270px);margin-block:8px 14px;}
.gateway-signin-page .orbit-card{padding:8px 11px;}
.gateway-signin-page .orbit-card.one{top:22px;}
.gateway-signin-page .orbit-card.two{bottom:12px;}
.gateway-signin-page .promise{gap:8px 16px;}
.gateway-signin-page .pilot-login{width:calc(100% - 64px);margin-bottom:8px;padding:8px 14px;}
@media(min-width:721px) and (max-height:760px){
 .gateway-signin-page>header{padding-block:10px;}
 .gateway-signin-page>.gateway-signin{padding-block:8px;}
 .gateway-signin-page .form-card{padding:18px 24px;}
 .gateway-signin-page .welcome-icon{width:36px;height:36px;font-size:20px;margin-bottom:7px;}
 .gateway-signin-page .form-card h2{font-size:24px;}
 .gateway-signin-page .sub{margin-bottom:12px;}
 .gateway-signin-page .field{margin-bottom:10px;}
 .gateway-signin-page .options{margin-bottom:12px;}
 .gateway-signin-page .join{margin-top:11px;}
 .gateway-signin-page .divider{margin:12px 0 9px;}
 .gateway-signin-page .notice{margin-top:10px;}
 .gateway-signin-page .layout>.story .visual{height:190px;}
 .gateway-signin-page>footer{padding-block:9px;}
}
@media(max-width:720px){
 .gateway-signin-page>header{padding:12px 16px;flex-wrap:wrap;}
 .gateway-signin-page .brand strong{font-size:18px;}
 .gateway-signin-page>.gateway-signin{flex-direction:column;gap:16px;padding:8px 16px 16px;align-items:center;}
 .gateway-signin-page .layout>.form-card{order:-1;padding:22px 20px;}
 .gateway-signin-page .layout>.story{max-width:450px;}
 .gateway-signin-page .story h1{font-size:21px;margin-block:8px 5px;}
 .gateway-signin-page .intro{font-size:12px;}
 .gateway-signin-page .layout>.story .visual{height:120px;margin-block:4px 8px;}
 .gateway-signin-page .layout>.story .orbit-card.one{top:8px;}
 .gateway-signin-page .layout>.story .orbit-card.two{bottom:4px;}
 .gateway-signin-page .orbit-card{padding:5px 7px;}
 .gateway-signin-page>footer{padding:10px 16px 16px;gap:6px;}
 .gateway-signin-page .pilot-login{width:calc(100% - 32px);}
}

/* Increase the illustration's painted size without changing its layout box. */
@media(min-width:721px){
 .gateway-signin-page .layout>.story .visual>img.art{width:120%;height:120%;max-width:none;max-height:none;inset:-10%;pointer-events:none;}
}
@media(min-width:721px) and (max-height:760px){
 .gateway-signin-page .layout>.story .visual>img.art{width:112%;height:112%;inset:-6%;}
}
