/* JetWorldFly registration: burgundy and gold glass fields from the supplied design. */
*{box-sizing:border-box}html{background:#270008;color-scheme:dark}body{margin:0;color:#fff;font-family:Poppins,Arial,sans-serif;background:radial-gradient(ellipse at top,#741727,#270008 75%)}button,input{font:inherit}a{color:#f3cf7b;text-underline-offset:4px}button,input,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid #ffe2a3;outline-offset:4px}
.flight-poster{width:min(100%,941px);margin:auto;container-type:inline-size;position:relative;background:#39020b url('../images/login-jetworldfly-background.png') center top/100% auto no-repeat;overflow:hidden;box-shadow:0 20px 90px #0005}
.register-card{width:52%;margin-left:44%;padding-top:43%;padding-bottom:5%;min-height:145cqw;text-shadow:0 1px 5px #25000980}.login-heading{margin:0 0 2.8cqw;padding-left:2cqw}.intro{font-family:'Playfair Display',Georgia,serif;font-size:4.7cqw;font-style:italic;color:#f4d892;margin:0;line-height:1.2}h1{font:italic 700 7.6cqw/1.15 Arial,sans-serif;letter-spacing:-.04em;margin:.6cqw 0 1cqw;white-space:nowrap}h1 span{background:linear-gradient(#fff0bc,#d7aa4d);color:transparent;background-clip:text}.tagline{font-size:2.45cqw;line-height:1.4;margin:0}
form{display:grid;gap:1.7cqw}.form-group{position:relative;min-width:0}.form-group>label{position:absolute;top:1.4cqw;left:10cqw;z-index:1;font-size:2.2cqw;pointer-events:none}.field{display:flex;align-items:center;min-width:0;height:9.3cqw;min-height:62px;border:1px solid #e2bf85b0;border-radius:2cqw;background:linear-gradient(110deg,#8c66694f,#21040888);backdrop-filter:blur(5px);box-shadow:inset 0 0 0 1px #ffdab517}.field:focus-within{border-color:#ffe1a0;box-shadow:0 0 15px #d4af3733}.field-icon{display:flex;flex:0 0 9.8cqw;justify-content:center;color:#f1d58e}.field-icon svg{width:3.6cqw;height:3.6cqw;stroke-width:1.7}.field input{width:100%;min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:1.9cqw;padding:3.4cqw .7cqw .7cqw 0;height:100%}input::placeholder{color:#e7dedc;opacity:.85}.password-toggle{flex:0 0 7cqw;width:7cqw;height:44px;display:grid;place-items:center;color:#fff;background:none;border:0;cursor:pointer}.password-toggle svg{width:3cqw;height:3cqw}.strength{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.referral-note{font-size:1.5cqw;margin:0;color:#f4d892}.auto-verification{display:flex;align-items:center;gap:6px;font-size:1.35cqw;color:#e6d4ba;min-height:20px}.auto-verification small,.auto-verification>b,.verify-indicator i{display:none}.verify-indicator svg{width:16px;height:16px;display:none}.verified .verify-indicator svg{display:block}.failed{color:#ffc1b5}.bot-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.terms{display:flex;align-items:flex-start;gap:1.8cqw;font-size:1.8cqw;line-height:1.5;margin:0}.terms input{flex:none;width:3.1cqw;height:3.1cqw;min-width:20px;min-height:20px;accent-color:#eecb7d;margin:0}.login-submit{display:flex;align-items:center;justify-content:center;gap:4cqw;width:100%;min-height:52px;height:10cqw;margin-top:1.2cqw;border:2px solid #f5d187;border-radius:6cqw;background:linear-gradient(165deg,#dc3545 0%,#8c001d 32%,#5c0010 78%,#9c1027);color:white;font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:3.7cqw;cursor:pointer;box-shadow:0 -2px 8px #ffe6a788,inset 0 2px 8px #ffcd9866}.login-submit svg{width:4cqw;height:4cqw}.login-submit:disabled{cursor:not-allowed;filter:saturate(.8)}.spinner{display:none;fill:none;stroke:currentColor;stroke-width:3;stroke-dasharray:40 20;animation:spin 1s linear infinite}.loading .spinner{display:block}.loading .arrow{display:none}.register-link{text-align:center;font-size:2.15cqw;line-height:1.6;margin:2.4cqw 0 0}.register-link a{display:inline-block;min-height:32px}.poster-footer{height:32.6cqw;background:url('../images/login-jetworldfly-background.png') center bottom/100% auto no-repeat}
.registration-notice{max-width:600px;margin:16px auto;padding:14px 20px;border:1px solid #ddbc7c;border-radius:12px;background:#450e19;color:#ffe7b1;font-size:14px}.toast{position:fixed;z-index:10;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:none;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);padding:12px 16px;border:1px solid #dfb567;border-radius:12px;background:#420b17;box-shadow:0 8px 30px #0008;font-size:14px}.toast.show{display:flex}.toast-icon{color:#ffd17d}.toast button{border:0;background:none;color:white;font-size:24px;cursor:pointer}
@media(max-width:600px){.flight-poster{background-size:auto 950px;background-position:40% top}.register-card{width:88%;margin-left:6%;padding-top:390px;padding-bottom:28px;min-height:0}.login-heading{padding:16px 14px;margin:0 -4px 18px;background:linear-gradient(90deg,#3c071ca6,#3c071c20);border-radius:16px}.intro{font-size:28px}h1{font-size:clamp(38px,9cqw,54px)}.tagline{font-size:15px;line-height:1.5}form{gap:13px}.field{height:74px;border-radius:16px;background:linear-gradient(110deg,#5c343abf,#26020bd9)}.form-group>label{top:12px;left:61px;font-size:14px}.field-icon{flex-basis:61px}.field-icon svg{width:25px;height:25px}.field input{font-size:16px;padding:29px 5px 7px 0}.password-toggle{width:40px;flex-basis:40px}.password-toggle svg{width:22px;height:22px}.terms{font-size:13px;gap:10px;background:#34020c85;border-radius:8px;padding:8px}.auto-verification,.referral-note{font-size:12px}.login-submit{height:64px;font-size:26px;border-radius:40px}.login-submit svg{width:27px;height:27px}.register-link{font-size:14px;margin-top:20px}.poster-footer{height:35cqw}.registration-notice{margin:12px 16px}.toast{font-size:13px}.auto-verification{padding:4px 8px;background:#34020c85;border-radius:8px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}
/* Keep the artwork footer separate so longer forms never overlap or repeat it. */
.flight-poster{isolation:isolate;background:#39020b}.flight-poster:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:177.7cqw;background:url('../images/login-jetworldfly-background.png') center top/100% auto no-repeat;mask-image:linear-gradient(#000 0%,#000 73%,transparent 82%);pointer-events:none}h1 span{text-shadow:none}
@media(min-width:601px){.intro{font-size:4.2cqw}h1{font-size:7cqw}.tagline{font-size:2.2cqw}.login-heading{margin-bottom:1.9cqw}.field{height:8.6cqw}form{gap:1.3cqw}.form-group>label{top:1.1cqw}.field input{padding-top:3.1cqw}.register-card{padding-bottom:2cqw}.login-submit{height:9.5cqw}.register-link{margin-top:1.6cqw}}
.password-match{display:block;min-height:0;margin:3px 10px 0;font-size:11px;font-weight:600}.password-match.error{color:#ffb1ad}.password-match.ok{color:#b9f0bd}.field.password-error{border-color:#ff7068;box-shadow:0 0 12px #ff4d4d66;animation:field-shake .24s ease-in-out}.field.password-ok{border-color:#8fe39b;box-shadow:0 0 12px #7be58a44}@keyframes field-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(max-width:600px){.register-card{padding-top:74cqw}.flight-poster:before{mask-image:linear-gradient(#000 0%,#000 62%,transparent 80%)}}

/* Staggered upward text reveal from the supplied registration design. */
.text-reveal-container{overflow:hidden;padding-bottom:.15em}
.reveal-ready .text-reveal{opacity:0;transform:translateY(110%)}
.reveal-ready.is-visible .text-reveal{animation:revealUp 1s cubic-bezier(.77,0,.175,1) both;animation-delay:.3s}
.reveal-ready.is-visible .text-reveal-delay-1{animation-delay:.6s}
.reveal-ready.is-visible .text-reveal-delay-2{animation-delay:1s}
@keyframes revealUp{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}
.referral-help{display:block;color:#f4d892;font-size:1.3cqw;line-height:1.4;margin-top:5px}
#registration-referral{font-size:1.55cqw;text-overflow:ellipsis}
@media(max-width:600px){.referral-help{font-size:11px}#registration-referral{font-size:14px}}
@media(prefers-reduced-motion:reduce){.reveal-ready .text-reveal,.reveal-ready.is-visible .text-reveal{animation:none;opacity:1;transform:none}}
