.login-route-root{--lg-dark:#0c1f13;--lg-btn:#1c4532;--lg-btn-hover:#163828;--lg-link:#276749;--lg-accent:#4a9e6e;--lg-mono-ring:#4a9e6e6b}html:has(.login-route-root){min-height:100dvh}html:has(.login-route-root) body{min-height:100dvh}html:has(.login-route-root) body{background:var(--lg-dark);overflow-y:auto}.login-route-root{width:100%;min-height:100dvh}.login-split{flex-direction:column;min-height:100dvh;display:flex}.login-panel{background:var(--lg-dark);color:#fff;padding:28px 20px 22px;padding-top:max(28px, env(safe-area-inset-top,0px));padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));box-sizing:border-box;background-image:radial-gradient(90% 55% at 10% 90%,#2d67492e 0%,#0000 65%),radial-gradient(60% 40% at 85% 10%,#ffffff06 0%,#0000 70%);flex-direction:column;flex-shrink:0;display:flex}.login-panel-brand{flex-shrink:0;align-items:center;gap:14px;display:flex}.login-panel-monogram{border:1.5px solid var(--lg-mono-ring);width:44px;height:44px;font-family:var(--font-display), "Playfair Display", Georgia, serif;color:var(--lg-accent);background:#ffffff0a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;font-weight:700;display:flex}.login-panel-wordmark{flex-direction:column;gap:3px;display:flex}.login-panel-name{font-family:var(--font-display), "Playfair Display", Georgia, serif;color:#fff;letter-spacing:-.02em;margin:0;font-size:1.22rem;font-weight:700;line-height:1}.login-panel-tagline{color:var(--lg-accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:600}.login-panel-body{display:none}.login-panel-purpose{font-family:var(--font-display), "Playfair Display", Georgia, serif;color:#fffffff2;max-width:18ch;margin:0;font-size:clamp(1.3rem,2.4vw,1.75rem);font-style:italic;font-weight:500;line-height:1.35}.login-panel-subtitle{color:var(--lg-accent);margin:22px 0 0;font-size:1rem;font-weight:400;line-height:1.65}.login-panel-rule{background:#4a9e6e66;border:none;flex-shrink:0;width:32px;height:1.5px;margin:0 0 26px}.login-panel-pillars{flex-direction:column;gap:15px;margin:0;padding:0;list-style:none;display:flex}.login-panel-pillar{color:#fff9;align-items:baseline;gap:11px;font-size:.87rem;line-height:1.55;display:flex}.login-panel-pillar:before{content:"";background:var(--lg-accent);border-radius:50%;flex-shrink:0;width:4px;height:4px;display:inline-block;position:relative;top:-1px}.login-panel-trust,.login-panel-safe-note,.login-panel-footer-text{display:none}.login-form-area{background:var(--color-surface-default,#fbf8f2);padding:36px 20px calc(40px + env(safe-area-inset-bottom,0px));padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));box-sizing:border-box;border-radius:24px 24px 0 0;flex:1;justify-content:center;align-items:flex-start;display:flex}.join-route-root{min-height:100dvh;padding:max(24px, env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) calc(40px + env(safe-area-inset-bottom,0px)) max(20px, env(safe-area-inset-left,0px));background:var(--lg-dark);justify-content:center;align-items:flex-start;display:flex;position:relative}.join-route-root .login-locale-bar{position:absolute}.join-auth-page{align-self:flex-start;width:min(100%,34rem);max-width:34rem}.join-auth-card{border-top-color:#4a9e6e8c;border-radius:20px 20px 0 0;padding:24px 18px 28px;box-shadow:0 18px 48px #0c211b38,0 2px 10px #0c211b14}.login-brand{margin-bottom:22px}.login-brand-link{color:var(--navy);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.login-brand-link:focus-visible{outline:2px solid var(--lg-link);outline-offset:4px;border-radius:var(--radius-md)}.login-monogram{background:linear-gradient(145deg, var(--lg-link), var(--lg-accent));color:#fff;width:46px;height:46px;font-family:var(--font-display), "Playfair Display", Georgia, serif;border-radius:13px;flex-shrink:0;place-items:center;font-size:1.05rem;font-weight:800;display:grid;box-shadow:0 8px 22px #13322a24}.login-brand-name{font-family:var(--font-display), "Playfair Display", Georgia, serif;color:var(--hp-ink,#13322a);margin:0;font-size:1.28rem;font-weight:800;line-height:1}.login-brand-tagline{color:var(--lg-link);letter-spacing:.13em;text-transform:uppercase;margin:4px 0 0;font-size:.68rem;font-weight:800;line-height:1.2}.login-locale-bar{top:max(16px, env(safe-area-inset-top,0px));right:max(16px, env(safe-area-inset-right,0px));z-index:20;position:fixed}.login-locale-bar .lang-selector{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffffeb;padding:6px 10px;font-size:.85rem;transition:border-color .15s,background .15s}.login-locale-bar .lang-selector:hover{background:#fff;border-color:#27674940}.login-page{width:100%;max-width:450px}.login-page--embedded{max-width:none}.login-card{background:var(--color-surface-default,#fbf8f2);opacity:0;width:100%;padding:24px 16px;transition:opacity .18s}.login-page--ready .login-card{opacity:1}.login-card--embedded{max-width:none;box-shadow:none;opacity:1;background:0 0;border:none;border-radius:0;padding:0}.login-intro{margin-bottom:4px}.login-card .eyebrow{color:#6b7280;letter-spacing:.15em;text-transform:uppercase;margin:0 0 10px;font-size:.7rem;font-weight:700}.login-title{font-family:var(--font-display), "Playfair Display", Georgia, serif;color:var(--hp-ink,#13322a);letter-spacing:-.02em;margin:0;font-size:clamp(1.7rem,4.2vw,2.6rem);font-weight:600;line-height:1.18}.login-lead{color:var(--color-neutral-700);max-width:34rem;margin:10px 0 0;font-size:clamp(.95rem,2vw,1.05rem);line-height:1.6}.login-card-trust,.login-trust-hint-inline{display:none}.login-trust-hint{color:#6b7280;margin:14px 0 0;font-size:.875rem;line-height:1.55}.login-alert{border-radius:var(--radius-md);margin-top:20px;padding:11px 14px;font-size:.88rem;line-height:1.5}.login-alert--error{color:#991b1b;background:#fef2f2d9;border:1px solid #b91c1c2e}.login-alert--info{color:var(--lg-btn);background:#f0fdf4f2;border:1px solid #1c45321f}.login-form{gap:16px;margin-top:28px;display:grid}.login-card--embedded .login-form{margin-top:0}.login-form .field span,.login-form .field>span:first-child{color:#111827;font-size:.875rem;font-weight:650}.login-form .input{border-color:#d1d5db;min-height:52px;font-size:16px;transition:border-color .15s,box-shadow .15s}.login-form .input:focus{border-color:var(--lg-link);box-shadow:0 0 0 3px #2767491a}.login-form .input:read-only{color:#6b7280;background:#f9fafb}.login-code-input{letter-spacing:.28em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600}.login-field-hint{color:#6b7280;margin:6px 0 0;font-size:.8rem;line-height:1.45}.login-field-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.login-password-wrap{position:relative}.login-password-wrap .input{padding-right:54px}.login-password-toggle{color:#6b7280;cursor:pointer;border-radius:0 var(--radius-md) var(--radius-md) 0;background:0 0;border:none;border-left:1px solid #e5e7eb;align-items:center;height:auto;padding:0 14px;transition:color .15s,background .15s;display:flex;position:absolute;top:0;bottom:0;right:0;transform:none}.login-password-toggle:hover{color:#111827;background:#00000008}.login-password-toggle:focus-visible{outline:2px solid var(--lg-link);outline-offset:2px}.login-forgot-link{white-space:nowrap;flex-shrink:0;align-items:center;min-height:44px;font-size:.82rem;font-weight:600;display:inline-flex}.login-text-link{font:inherit;color:var(--lg-link);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:550;text-decoration:none;transition:color .15s}.login-text-link:hover{color:var(--lg-btn);text-decoration:underline}.login-text-link:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.login-submit{background:var(--lg-btn);color:#fff;border-radius:var(--radius-md);border:none;justify-content:center;width:100%;min-height:52px;margin-top:8px;padding:13px 20px;font-size:.95rem;font-weight:700;transition:background .15s,box-shadow .15s,opacity .15s;box-shadow:0 4px 14px #1b433238}.login-submit-inner{justify-content:center;align-items:center;gap:10px;display:inline-flex}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-submit:hover:not(:disabled){background:var(--lg-btn-hover);box-shadow:0 6px 18px #1b433252}.login-submit:focus-visible{outline:2px solid var(--lg-link);outline-offset:3px}.login-submit:disabled{opacity:.55;cursor:not-allowed}.login-trust-block{border-top:1px solid #e5e7eb;margin-top:20px;padding:20px 0 0}.login-checklist{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.login-checklist li{color:#111827;align-items:center;gap:11px;font-size:.9rem;line-height:1.4;display:flex}.login-checklist li:before{content:"";background:var(--lg-btn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5.2l3.2 3.3L11 1.2' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 10px no-repeat;border-radius:5px;flex-shrink:0;width:20px;height:20px}.login-trust-block .login-trust-hint{margin-top:16px}.login-reassurance{border-radius:var(--radius-md);background:#1c453208;border:1px solid #1c453214;margin-top:24px;padding:14px 16px}.login-reassurance-title{color:#111827;opacity:.8;margin:0 0 5px;font-size:.79rem;font-weight:700}.login-reassurance-body{color:#6b7280;margin:0;font-size:.81rem;line-height:1.55}.login-secondary{color:#6b7280;text-align:center;margin-top:20px;font-size:.875rem;line-height:1.55}.login-divider-label{color:#9ca3af;align-items:center;gap:12px;margin:0 0 16px;font-size:.85rem;display:flex}.login-divider-label:before,.login-divider-label:after{content:"";background:#e5e7eb;flex:1;height:1px}.login-invite-card{background:var(--color-surface-welcome,#f3e3c6);text-align:left;border:1px solid #e2e0d6;border-radius:12px;flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.login-invite-note{color:#6b7280;text-align:left;flex:1;margin:0;font-size:.875rem;line-height:1.55}.login-invite-cta-link{color:var(--lg-link);white-space:nowrap;flex-shrink:0;font-size:.875rem;font-weight:650;text-decoration:none;transition:color .15s}.login-invite-cta-link:hover{color:var(--lg-btn);text-decoration:underline}.login-invite-cta{text-align:right;flex-shrink:0;margin:0}.login-safe-inline{color:#6b7280;text-align:center;margin:16px 0 0;font-size:.8rem;font-style:italic}.login-alert--success{color:#166534;background:#f0fdf4e6;border-color:#16653426}.login-recovery-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 22px;padding:0;list-style:none;display:grid}.login-recovery-step{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.login-recovery-step-marker{color:#6b7280;background:#fff;border:1.5px solid #1c453226;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.login-recovery-step-label{color:#6b7280;max-width:7.5rem;font-size:.62rem;line-height:1.35}.login-recovery-step--current .login-recovery-step-marker{color:var(--lg-btn);background:#1c45321a;border-color:#1c453273}.login-recovery-step--current .login-recovery-step-label{color:var(--lg-btn);font-weight:650}.login-recovery-step--done .login-recovery-step-marker{color:#166534;background:#f0fdf4f2;border-color:#16653459}.login-verify-actions{flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:2px;display:flex}.login-footer{text-align:center;margin-top:28px}.login-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;display:flex}.login-footer-link{color:var(--lg-link);padding:8px 4px;font-size:.8rem;text-decoration:none;transition:color .15s}.login-footer-link:hover{color:var(--lg-btn);text-decoration:underline}.login-footer-sep{color:#d1d5db;font-size:.8rem;line-height:1}.login-footer-link--charter{flex-direction:column;gap:3px;display:inline-flex}.login-footer-link--charter span{color:#13322a;font-weight:700}.login-footer-link--charter small{color:#9ca3af;font-size:.74rem;line-height:1.4}.login-honeypot{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:820px){.login-split{flex-direction:row;min-height:100dvh}.login-panel{flex-shrink:0;flex:initial;width:400px;height:100dvh;padding:52px 44px 44px;position:sticky;top:0;overflow:hidden}.login-panel-body{flex-direction:column;flex:1;justify-content:center;min-height:0;padding:44px 0 24px;display:flex}.login-form-area{background:var(--color-surface-default,#fbf8f2);border-radius:0;flex:1;justify-content:center;align-items:center;min-height:100dvh;padding:64px 40px 52px}.login-card{background:#fff;border:1px solid #e2e0d6;border-radius:16px;width:min(100%,34rem);padding:clamp(30px,4vw,44px);box-shadow:0 2px 16px #13322a0a}.login-form .input{min-height:46px;font-size:1rem}.login-submit{min-height:50px}.join-route-root{background:radial-gradient(ellipse 70% 42% at 50% -12%, #4a9e6e1a, transparent 60%), var(--lg-dark);padding:max(18px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}.join-auth-page{width:min(100%,46rem);max-width:46rem}.join-auth-card{border-radius:var(--radius-xl);padding:clamp(30px,4.5vw,44px)}}.consent-block{color:#13322a;background:#f0fdf4;border:1px solid #13322a24;border-radius:16px;margin-top:20px;padding:16px}.consent-block__lead{margin:0 0 10px;font-size:.88rem;line-height:1.55}.consent-block__lead a{color:var(--lg-link);text-underline-offset:3px;font-weight:600;text-decoration:underline}.consent-block__lead a:focus-visible{outline:2px solid var(--lg-link);outline-offset:2px;border-radius:4px}.consent-block__hint{color:#13322abf;margin:0 0 12px;font-size:.82rem;line-height:1.5}.consent-block__hint a{color:var(--lg-link);text-underline-offset:3px;font-weight:600;text-decoration:underline}.consent-checkbox-row{cursor:pointer;align-items:flex-start;gap:10px;margin-top:10px;display:flex}.consent-checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--lg-link);cursor:pointer;flex-shrink:0;margin-top:2px}.consent-checkbox-row span{font-size:.86rem;line-height:1.5}.consent-checkbox-row span a{color:var(--lg-link);text-underline-offset:3px;font-weight:600;text-decoration:underline}.consent-checkbox-row span a:focus-visible{outline:2px solid var(--lg-link);outline-offset:2px;border-radius:4px}.consent-block__safety{color:#13322aa6;border-top:1px solid #13322a14;margin:12px 0 0;padding-top:10px;font-size:.78rem;line-height:1.5}
