*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f5f4ee;color:#15352e;font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}:focus-visible{outline:3px solid #42846a;outline-offset:4px}.skip-link{position:fixed;top:-100px;z-index:10;background:white;padding:16px}.skip-link:focus{top:10px}.auth-shell{min-height:100svh;display:grid;grid-template-columns:minmax(340px,.95fr) minmax(480px,1.05fr)}.auth-story{background:#0d2522;color:#f5f4ee;margin:16px;border-radius:24px;padding:38px 42px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:16px;height:calc(100svh - 32px);min-height:560px;overflow:hidden}.auth-story:after{content:'';position:absolute;width:450px;height:450px;border:1px solid #c9ef9b20;border-radius:50%;right:-210px;bottom:-200px;box-shadow:0 0 0 50px #c9ef9b05,0 0 0 100px #c9ef9b04;pointer-events:none}.auth-brand{display:inline-flex;align-items:center;gap:10px;font-size:26px;font-weight:750;text-decoration:none;letter-spacing:-1px;align-self:flex-start}.brand-mark{font:bold italic 38px Georgia,serif;color:#c9ef9b;border:1px solid #49604c;border-radius:12px;width:43px;height:43px;display:grid;place-items:center;line-height:1;padding-bottom:6px;background:#0d2522}.brand-dot{color:#83b75c;margin-left:-9px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:block;margin-bottom:18px}.story-copy{padding:55px 0}.story-copy h2{font-size:clamp(42px,4.7vw,70px);font-weight:500;letter-spacing:-3px;line-height:1.07;margin:24px 0}.story-copy em{font-family:Georgia,serif;color:#c9ef9b;font-weight:400}.story-copy p{font-size:15px;line-height:1.8;color:#b7cac1}.story-footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#b7cac1;border-top:1px solid #ffffff20;padding-top:24px}.auth-main{min-width:0;display:flex;flex-direction:column;padding:38px clamp(30px,5vw,90px) 22px}.back-home{font-size:13px;text-decoration:none;align-self:flex-start;padding:8px 0}.auth-card{width:100%;max-width:480px;margin:auto;padding:48px 0}.auth-card h1{font-size:clamp(30px,3vw,42px);line-height:1.1;letter-spacing:-1.6px;margin:0 0 14px;font-weight:600}.auth-intro{font-size:14px;color:#607269;line-height:1.7;margin:0 0 30px}.auth-form{display:grid;gap:19px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label,.label-row{font-size:13px;font-weight:600}.label-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.label-row a{font-size:12px;font-weight:400}.field input,.field select{width:100%;min-height:52px;border:1px solid #d3dbd2;border-radius:10px;background:#fff;color:#15352e;padding:13px 14px;font-size:16px;box-shadow:0 2px 3px #15352e03}.field input::placeholder{color:#7b8882}.field input:focus,.field select:focus{border-color:#42846a;outline:2px solid #42846a25;outline-offset:1px}.field small{font-size:11px;color:#61746a;line-height:1.5}.password-wrap{position:relative}.password-wrap input{padding-right:72px}.password-toggle{position:absolute;right:5px;top:4px;min-height:44px;min-width:58px;border:0;background:transparent;color:#476354;cursor:pointer;font-size:12px;font-weight:600;border-radius:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-submit{background:#153b30;color:#fff;border:1px solid #153b30;border-radius:10px;min-height:54px;padding:14px 20px;display:flex;justify-content:center;align-items:center;gap:18px;width:100%;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s}.auth-submit:hover{background:#245442}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-switch{text-align:center;font-size:13px;color:#607269;margin:25px 0 0}.auth-switch a{font-weight:700;color:#15352e}.auth-help{border-top:1px solid #dce1d6;padding-top:24px;margin:30px 0 0;font-size:12px;color:#607269;text-align:center}.auth-help a{font-weight:600}.auth-footer{display:flex;align-items:center;justify-content:center;gap:22px;color:#68776c;font-size:11px;margin-top:auto;padding:15px 0}.auth-footer a{text-decoration:none}.check-field{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.7;color:#52685b;cursor:pointer;padding:5px 0}.check-field input{width:18px;height:18px;margin:1px 0 0;accent-color:#153b30;flex-shrink:0}.auth-notice{border:1px solid #abcdb1;background:#e8f1e4;border-radius:12px;padding:16px;font-size:13px;line-height:1.7;margin-bottom:24px;overflow-wrap:anywhere}.auth-notice.error{background:#fff0eb;border-color:#e9bcb0;color:#913a2b}.mobile-brand{display:none}.form-note{font-size:12px;color:#61746a;line-height:1.7;margin:0}.auth-card:has(.registration-form){padding-top:30px;padding-bottom:30px}.registration-form{gap:16px}
@media(max-width:900px){.auth-story{padding:30px}.story-copy h2{font-size:48px}.auth-main{padding:30px}.auth-shell{grid-template-columns:.85fr 1.15fr}}
@media(max-width:700px){.auth-shell{display:block}.auth-story{display:none}.auth-main{min-height:100svh;padding:20px 24px}.back-home{align-self:flex-end;font-size:12px}.mobile-brand{display:flex;margin-bottom:42px}.auth-card{max-width:450px;padding:22px 0 32px}.auth-card h1{font-size:34px}.auth-card .eyebrow{font-size:9px;margin-bottom:13px}.auth-intro{margin-bottom:27px}.auth-footer{padding-bottom:env(safe-area-inset-bottom,8px)}.auth-card:has(.registration-form){padding-top:15px}.registration-form~.auth-switch{margin-top:20px}}
@media(max-width:640px){.auth-main{padding:16px 18px}.form-row{grid-template-columns:1fr;gap:16px}.auth-card h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Shared finishing touches for account pages. */
.auth-story{background:radial-gradient(ellipse at 80% 65%,#416c3d55,transparent 60%),#102f29;box-shadow:inset 0 0 0 1px #ffffff15}
.auth-card h1{letter-spacing:-.05em}.auth-submit{background:linear-gradient(135deg, #139226 0%, #34AC4C 100%);color:#ffffff;font-weight:700;font-size:15px;border:none;border-radius:9999px;padding:14px 32px;box-shadow:0 4px 25px rgba(19, 146, 38, 0.45);text-decoration:none;transition:all 0.3s ease}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 8px 35px rgba(52, 172, 76, 0.6)}.field input,.field select{border-radius:12px}.auth-intro{font-size:15px}.auth-footer a{padding:8px 0}
@media(min-width:701px){.auth-card{max-width:460px}.auth-story:after{border-width:20px;border-color:#c9ef9b18;transform:rotateX(35deg);box-shadow:12px 18px 0 #c9ef9b08,0 0 0 60px #c9ef9b04}}
