:root{--color-brand-red:#d32f2f;--color-brand-navy:#1b1b3a;--color-white:#fff;--color-black:#000;--color-grey:#9e9e9e;--color-light-grey:#bdbdbd;--color-input-placeholder:#757575;--color-error:#d32f2f;--color-success:#4caf50;--font-family:"Gilroy",Arial,sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:1rem;--text-lg:1.5rem;--text-xl:2.375rem;--leading-tight:1.125rem;--leading-normal:1.5rem;--leading-relaxed:2rem;--tracking-tight:0.012rem;--tracking-normal:0.015rem;--tracking-wide:0.023rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px rgba(0,0,0,.07);--shadow-lg:0 10px 15px rgba(0,0,0,.1);--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease}.auth-layout{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-family);background-color:var(--color-white);color:var(--color-black)}.auth-page{flex:1;max-width:480px;width:100%;margin:0 auto;padding:var(--space-5)}.auth-page,.auth-status-page{display:flex;flex-direction:column}.auth-status-page{min-height:100vh;background-color:var(--color-brand-red);font-family:var(--font-family)}.auth-status-page,.auth-status-page .auth-page{color:var(--color-white)}.auth-heading{font-size:var(--text-lg);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-wide);margin:0 0 var(--space-6)}.auth-heading--center{text-align:center}.auth-subheading{font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);margin-top:var(--space-3)}.auth-body-text,.auth-subheading{font-weight:var(--font-weight-medium);color:var(--color-grey)}.auth-body-text{font-size:var(--text-sm)}.auth-body-text,.auth-step-label{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.auth-step-label{font-size:.875rem;font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-brand-navy)}.auth-header{display:flex;align-items:center;justify-content:space-between;height:3.75rem;padding:0}.auth-header__title{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);text-align:center;color:var(--color-white)}.auth-header__close-btn{background:none;border:none;cursor:pointer;padding:var(--space-2);color:inherit;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center}.auth-tabs{display:flex;gap:var(--space-6);margin-bottom:var(--space-4)}.auth-tabs__tab{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-grey);background:none;cursor:pointer;padding:var(--space-2) 0;border:none;border-bottom:2px solid transparent;transition:all var(--transition-fast)}.auth-tabs__tab--active{color:var(--color-brand-navy);border-bottom-color:var(--color-brand-red)}.auth-input-group{margin-bottom:var(--space-4)}.auth-input-label{display:block;font-size:var(--text-sm);color:var(--color-grey);margin-bottom:var(--space-1);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.auth-input,.auth-input-label{font-weight:var(--font-weight-medium)}.auth-input{width:100%;font-size:var(--text-base);font-family:var(--font-family);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--color-black);background:transparent;border:none;border-bottom:1px solid var(--color-grey);padding:var(--space-2) 0;outline:none;transition:border-color var(--transition-fast)}.auth-input:focus{border-bottom-color:var(--color-brand-navy)}.auth-input::-moz-placeholder{color:var(--color-input-placeholder)}.auth-input::placeholder{color:var(--color-input-placeholder)}.auth-input--error{border-bottom-color:var(--color-error)}.auth-input-wrapper{position:relative}.auth-input-toggle{position:absolute;right:0;bottom:var(--space-2);background:none;border:none;cursor:pointer;color:var(--color-grey);font-size:var(--text-sm);padding:var(--space-1)}.auth-input-error{color:var(--color-error);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.auth-input-error,.auth-input-hint{font-size:var(--text-xs);margin-top:var(--space-1);font-weight:var(--font-weight-medium)}.auth-input-hint{color:var(--color-grey);margin-bottom:calc(-1 * var(--space-2));line-height:1.25rem}.auth-btn,.auth-input-hint{letter-spacing:var(--tracking-normal)}.auth-btn{width:100%;height:3rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);font-size:var(--text-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family);line-height:var(--leading-normal);cursor:pointer;transition:all var(--transition-fast)}.auth-btn--primary{background-color:var(--color-brand-navy);color:var(--color-white)}.auth-btn--primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-btn--primary:disabled{background-color:var(--color-light-grey);color:var(--color-white);cursor:not-allowed}.auth-btn--secondary{background-color:var(--color-white);color:var(--color-black);border:1px solid var(--color-light-grey)}.auth-btn--secondary:hover:not(:disabled){background-color:#f5f5f5}.auth-btn--white{background-color:var(--color-white);color:var(--color-brand-red)}.auth-btn--white:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.auth-btn--ghost{background:transparent;color:var(--color-black);border:none}.auth-btn--ghost:hover:not(:disabled){text-decoration:underline}.auth-link{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-brand-navy);text-decoration:none;cursor:pointer;transition:opacity var(--transition-fast)}.auth-link:hover{opacity:.8}.auth-link--forgot{display:block;text-align:right;margin-top:var(--space-3);margin-bottom:var(--space-4)}.auth-link--center{display:block;text-align:center;margin-top:var(--space-4)}.auth-link--white{color:var(--color-white)}.auth-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-4) 0}.auth-toggle-text{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.25rem;letter-spacing:var(--tracking-normal);color:var(--color-black);flex:1}.auth-toggle-switch{position:relative;width:44px;height:24px;background-color:var(--color-light-grey);border-radius:var(--radius-full);border:none;cursor:pointer;transition:background-color var(--transition-fast);flex-shrink:0}.auth-toggle-switch--active{background-color:var(--color-brand-navy)}.auth-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--color-white);border-radius:50%;transition:transform var(--transition-fast)}.auth-toggle-switch--active:after{transform:translateX(20px)}.auth-progress{margin:var(--space-3) 0}.auth-progress__bar{height:4px;background:var(--color-light-grey);border-radius:var(--radius-full);overflow:hidden}.auth-progress__fill{height:100%;background:var(--color-brand-navy);border-radius:var(--radius-full);transition:width var(--transition-slow)}.auth-progress__label{margin-top:var(--space-3)}.auth-otp-container{display:flex;justify-content:center;gap:var(--space-3);margin:var(--space-6) 0}.auth-otp-input{width:48px;height:56px;text-align:center;font-size:1.5rem;font-weight:var(--font-weight-semibold);font-family:var(--font-family);color:var(--color-black);background:transparent;border:none;border-bottom:2px solid var(--color-black);outline:none;transition:border-color var(--transition-fast)}.auth-otp-input:focus{border-bottom-color:var(--color-brand-navy)}.auth-countdown{display:flex;justify-content:center;margin:var(--space-6) 0}.auth-countdown__circle{width:80px;height:80px;border-radius:50%;border:3px solid var(--color-brand-red);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-brand-red)}.auth-status-icon{display:flex;justify-content:center;margin:var(--space-10) 0 var(--space-8)}.auth-status-icon__img{width:80px;height:100px;-o-object-fit:contain;object-fit:contain}.auth-loading-overlay{position:fixed;inset:0;z-index:1000;background:hsla(0,0%,100%,.85);display:flex;align-items:center;justify-content:center}.auth-spinner{width:40px;height:40px;border:3px solid var(--color-light-grey);border-top-color:var(--color-brand-navy);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-modal-backdrop{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;animation:auth-fade-in var(--transition-normal)}.auth-modal{background:var(--color-white);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;padding:var(--space-8) var(--space-5) var(--space-6);animation:auth-slide-up var(--transition-normal)}@media (min-width:768px){.auth-modal-backdrop{align-items:center;padding:var(--space-5)}.auth-modal{border-radius:var(--radius-xl);width:auto;min-width:360px;animation:auth-fade-in var(--transition-normal)}}.auth-modal__title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.auth-modal__body{font-size:var(--text-base);color:var(--color-grey);margin-bottom:var(--space-6)}.auth-modal__actions{display:flex;flex-direction:column;gap:var(--space-3)}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}@keyframes auth-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.auth-benefits{display:flex;justify-content:space-between;align-items:flex-start;margin:var(--space-10) 0;gap:var(--space-2)}.auth-benefit{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.auth-benefit__icon{width:56px;height:56px;margin-bottom:var(--space-2)}.auth-benefit__label{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-black)}.auth-benefit__divider{width:1px;height:40px;background:var(--color-grey);align-self:flex-end;margin-bottom:var(--space-2)}.auth-cta-panel{background:var(--color-brand-red);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-8) var(--space-5) var(--space-10);margin:0 calc(-1 * var(--space-5));flex:1;display:flex;flex-direction:column}.auth-cta-panel__text{color:var(--color-white);font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);margin-bottom:var(--space-6)}.auth-biometric-section{display:flex;flex-direction:column;align-items:center;justify-content:space-around;min-height:60vh;padding:var(--space-8) 0}.auth-biometric-icon{width:48px;height:48px;margin-bottom:var(--space-6);cursor:pointer;transition:transform var(--transition-fast)}.auth-biometric-icon:hover{transform:scale(1.1)}.auth-biometric-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);cursor:pointer;background:none;border:none;font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-black);font-family:var(--font-family)}.auth-biometric-toggle:hover{opacity:.8}.auth-failed-attempts{font-size:var(--text-xs);color:var(--color-grey);text-align:center;margin-top:var(--space-2);font-weight:var(--font-weight-regular)}.auth-env-label{position:fixed;bottom:var(--space-4);left:50%;transform:translateX(-50%);background:var(--color-brand-navy);color:var(--color-white);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:.05rem;opacity:.9}.auth-add-number,.auth-env-label{font-weight:var(--font-weight-medium)}.auth-add-number{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;cursor:pointer;font-size:var(--text-base);font-family:var(--font-family);color:var(--color-black);padding:var(--space-2) 0}.auth-add-number__icon{font-size:1.25rem;font-weight:var(--font-weight-bold)}@media (min-width:768px){.auth-page{padding:var(--space-8) var(--space-5)}}.auth-frame{display:flex;flex-direction:column;min-height:100dvh}.hero-panel{display:none}.form-panel{display:flex;flex-direction:column;flex:1;background:var(--color-bg)}.coral-strip{height:4px;background:var(--color-primary);flex-shrink:0}.form-scroll{flex:1;overflow-y:hidden;-webkit-overflow-scrolling:touch}.form-card{padding:var(--space-6) var(--space-5);padding-top:calc(var(--space-6) + env(safe-area-inset-top));padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));max-width:440px;margin:0 auto;width:100%}.form-logo{margin-bottom:var(--space-8)}.form-logo svg{width:160px;height:auto;fill:var(--color-primary);display:block}.form-logo:after{content:"Insurance | Lifestyle | Rewards";display:block;margin-top:var(--space-2);font-family:var(--font-ui);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.01em;color:var(--color-text)}.auth-eyebrow{font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-2)}.auth-h1{font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);line-height:1;color:var(--color-text);margin:0 0 var(--space-3)}.auth-h1 em{font-style:normal;color:var(--color-primary)}.auth-heading p{font-size:var(--font-size-md);color:var(--color-text-muted);line-height:1.5;margin:0}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .form-input{padding-left:44px;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);height:48px;box-sizing:border-box}.input-wrap .form-input.has-suffix{padding-right:52px}.input-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--color-text-muted);pointer-events:none;display:flex;align-items:center;justify-content:center}.input-icon svg{width:18px;height:18px}.input-suffix{position:absolute;right:0;top:0;bottom:0;width:44px;color:var(--color-text-muted)}.input-suffix,.input-suffix button{display:flex;align-items:center;justify-content:center}.input-suffix button{width:40px;height:40px;border-radius:var(--radius-md);background:none;border:none;cursor:pointer}.input-suffix button:hover{color:var(--color-primary);background:var(--color-bg-secondary)}.input-suffix svg{width:18px;height:18px}.input-wrap .input-suffix button{position:absolute;top:50%;right:var(--space-2);bottom:auto;transform:translateY(-50%)}.input-wrap.is-valid .form-input{border-color:#0f7a3e}.input-wrap.is-error .form-input{border-color:var(--color-primary);background:var(--color-primary-10)}.form-field{margin-bottom:var(--space-4)}.form-label{font-size:var(--font-size-sm);font-weight:600;display:block;margin-bottom:var(--space-2);color:var(--color-text)}.form-label-row{display:flex;justify-content:space-between;align-items:flex-end}.form-label--link{color:var(--color-primary);font-weight:600;text-decoration:none;cursor:pointer}.form-label-row .form-label--link{min-height:0;display:block;margin-bottom:var(--space-2)}.biometric-opt{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);text-align:left;width:100%;transition:border-color var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard);cursor:pointer}.biometric-opt:hover{border-color:var(--color-primary);background:var(--color-primary-10)}.biometric-opt .bio-icon{width:44px;height:44px;background:var(--color-primary-10);color:var(--color-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.biometric-opt .bio-icon svg{width:22px;height:22px}.biometric-opt .bio-copy{flex:1;min-width:0}.biometric-opt .bio-t{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);display:block}.biometric-opt .bio-s{font-size:var(--font-size-sm);color:var(--color-text-muted);display:block}.biometric-opt .bio-arrow{color:var(--color-text-muted);flex-shrink:0}.biometric-opt .bio-arrow svg{width:18px;height:18px}.auth-foot{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}.auth-foot a{font-weight:600;color:var(--color-primary);text-decoration:none;cursor:pointer}.auth-foot .fsp-line{display:block;margin-top:var(--space-2);font-size:var(--font-size-xs);letter-spacing:.04em}.auth-foot .fsp-line,.divider{color:var(--color-text-muted);text-transform:uppercase}.divider{display:flex;align-items:center;text-align:center;margin:var(--space-6) 0;font-size:var(--font-size-sm);font-weight:600;letter-spacing:.1em}.divider:after,.divider:before{content:"";flex:1;border-bottom:1px solid var(--color-border)}.divider:before{margin-right:var(--space-3)}.divider:after{margin-left:var(--space-3)}.auth-trust-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);background:var(--color-bg-secondary);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:.04em}.auth-trust-bar__ssl{display:flex;align-items:center;gap:var(--space-1);color:#0f7a3e}.auth-trust-bar__ssl svg{width:14px;height:14px}@media (min-width:768px){.auth-frame{flex-direction:row}.hero-panel{display:flex;flex-direction:column;width:420px;min-width:380px;min-height:100dvh;background:var(--color-primary);color:var(--color-bg);padding:var(--space-12) var(--space-10);position:sticky;top:0;align-self:flex-start;height:100dvh;overflow:hidden}.hero-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-12)}.hero-logo{display:block;width:160px;height:auto}.hero-logo svg{width:100%;height:auto;display:block}.hero-logo svg path,.hero-logo svg polygon,.hero-logo svg rect{fill:var(--color-bg)}.hero-body{flex:1}.hero-kicker{font-size:var(--font-size-display-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:var(--space-4)}.hero-headline{font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-display-3xl);line-height:1;color:var(--color-bg);margin:0 0 var(--space-5)}.hero-headline em{font-style:normal}.hero-sub{font-size:var(--font-size-display-md);opacity:.85;line-height:1.5;margin:0;max-width:28ch}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-6);padding-top:var(--space-6);border-top:1px solid hsla(0,0%,100%,.2);margin-top:auto}.hero-stat__pre{font-family:var(--font-ui);font-size:var(--font-size-sm);font-weight:400;line-height:1.3;opacity:.85}.hero-stat .n,.hero-stat__pre{display:block;margin-bottom:var(--space-1)}.hero-stat .n{font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-display-lg);line-height:1;text-transform:uppercase}.hero-stat .l{font-family:var(--font-ui);font-size:var(--font-size-sm);line-height:1.3;opacity:.85}.form-panel{flex:1}.form-card{padding:var(--space-12) var(--space-10);max-width:520px}}@media (min-width:1024px){.hero-panel{width:400px}.hero-headline{font-size:56px}}