* { box-sizing:border-box; }
:root { --green:#155e4b; --ink:#19352e; --muted:#667b72; --line:#dce7e0; }
body { margin:0;background:#f2f6f3;color:#19352e;color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
a { color:#155e4b;color:var(--green);text-underline-offset:3px; }
.gate-header { border-bottom:1px solid var(--line);background:#fff; }
.gate-nav { max-width:1180px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;gap:16px;align-items:center; }
.gate-brand { display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none; }
.gate-brand img { width:42px;height:42px;object-fit:contain; }
.gate-brand strong { display:block;font-size:18px;letter-spacing:-.3px;line-height:1.4; }
.gate-brand small { display:block;color:var(--muted);font-size:12px; }
.gate-nav-note { color:var(--muted);font-size:13px; }
.gate-wrap { max-width:1180px;margin:38px auto;padding:0 24px; }
.gate-card { display:flex;align-items:stretch;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 16px 60px rgba(24,61,43,.06); }
.gate-visual { flex:0 0 54%;width:54%;position:relative;z-index:0;min-height:650px;background:#163c31;display:flex;align-items:flex-end;isolation:isolate; }
.gate-hero { position:absolute;inset:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:-2; }
.gate-visual:after { content:"";position:absolute;inset:0;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(13,39,30,0) 28%,rgba(13,39,30,.4) 55%,rgba(13,39,30,.96));z-index:-1; }
.gate-story { padding:38px;color:white; }
.gate-eyebrow { display:inline-block;font-size:11px;letter-spacing:1.3px;font-weight:600;text-transform:uppercase;border:1px solid rgba(255,255,255,.45);border-radius:20px;padding:5px 12px; }
.gate-story h1 { font-size:38px;letter-spacing:-1px;line-height:1.14;margin:18px 0 12px;font-weight:650; }
.gate-story p { color:#e1ede4;font-size:14px;max-width:340px; }
.gate-features { display:flex;gap:8px;flex-wrap:wrap;margin-top:24px; }
.gate-features span { font-size:12px;padding:6px 12px;border-radius:6px;background:rgba(255,255,255,.12); }
.gate-form-panel { flex:0 0 46%;width:46%;padding:44px 40px;align-self:center; }
.gate-step { color:var(--muted);font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600; }
.gate-form-panel h2 { font-size:29px;line-height:1.25;letter-spacing:-.6px;margin:9px 0 10px; }
.gate-desc { color:var(--muted);margin:0 0 26px;font-size:14px; }
.gate-field { margin-bottom:18px; }
.gate-field label { display:block;font-weight:600;font-size:13px;margin-bottom:7px; }
.gate-control { display:block;width:100%;height:48px;border:1px solid #cfddd4;border-radius:8px;background:#fff;padding:11px 13px;color:#19352e;color:var(--ink);font:inherit; }
.gate-control::placeholder { color:#85978e; }
.gate-control:focus { border-color:#268267;outline:3px solid #e0f2e9; }
.gate-field small { display:block;margin-top:6px;color:var(--muted);font-size:12px; }
.gate-password { position:relative; }
.gate-password input { padding-right:55px; }
.gate-toggle { position:absolute;right:3px;top:3px;width:42px;height:42px;background:transparent;border:0;color:#526b5e;cursor:pointer;border-radius:6px; }
.gate-toggle svg { width:21px;height:21px;vertical-align:middle; }
.gate-toggle[aria-pressed=true] { background:#e7f2ec;color:#155e4b; }
.gate-links { display:flex;justify-content:flex-end;margin:-2px 0 22px;font-size:13px; }
.gate-submit { display:block;width:100%;min-height:48px;border:0;border-radius:8px;background:#155e4b;background:var(--green);color:white;font-weight:600;font-size:15px;line-height:1.4;font-family:inherit;cursor:pointer;padding:13px 16px; }
.gate-submit:hover { background:#104c3b; }
.gate-submit:disabled { opacity:.65;cursor:wait; }
.gate-help { margin-top:23px;padding:14px;border-radius:8px;background:#f3f7f4;font-size:12px;color:#5b7164;line-height:1.6; }
.gate-back { display:block;text-align:center;margin-top:20px;font-size:14px; }
.gate-alert { padding:12px 14px;border-radius:8px;margin-bottom:18px;font-size:13px;overflow-wrap:anywhere; }
.gate-alert.error { background:#fff0ec;color:#933b25;border:1px solid #efd8cf; }
.gate-alert.success { background:#eaf6ee;color:#1d6244;border:1px solid #c9e3d1; }
.gate-alert ul { margin:0;padding-left:18px; }
.gate-footer { text-align:center;margin:22px 0 0;color:#7e8f84;font-size:12px; }
button:focus-visible,a:focus-visible { outline:3px solid #44a785;outline-offset:3px; }
@media(max-width:960px) { .gate-story{padding:28px}.gate-story h1{font-size:32px}.gate-form-panel{padding:34px 28px}.gate-visual{min-height:650px}.gate-nav-note{display:none} }
@media(max-width:700px) {
 .gate-nav { padding:14px 18px; }.gate-brand strong{font-size:16px}.gate-brand img{width:38px;height:38px}
 .gate-wrap { margin:20px auto;padding:0 14px; }.gate-card{display:flex;flex-direction:column;border-radius:16px}
 .gate-form-panel { order:0;flex:0 0 auto;width:100%;padding:27px 22px; }.gate-form-panel h2{font-size:26px}.gate-desc{margin-bottom:22px}
 .gate-control{font-size:16px}.gate-field{margin-bottom:17px}.gate-help{margin-top:18px}
 .gate-visual { order:1;flex:0 0 auto;width:100%;min-height:230px; }.gate-hero{object-position:center 36%}.gate-story{padding:22px}.gate-story h1{font-size:23px;margin:10px 0 0;max-width:240px}.gate-story p,.gate-features{display:none}.gate-eyebrow{font-size:10px}
 .gate-footer{font-size:11px;margin-top:16px}
 body.recovery .gate-visual{display:none}
}
@media(prefers-reduced-motion:reduce) { *{scroll-behavior:auto !important} }

.gate-field select.gate-control { -webkit-appearance:none;appearance:none;padding-right:40px;background-repeat:no-repeat;background-position:right 13px center;background-size:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23155e4b' stroke-width='1.7'/%3E%3C/svg%3E"); }
