:root {
  --forest: #173c2b;
  --forest-deep: #0c291d;
  --moss: #6f8f65;
  --purple: #4d316d;
  --purple-soft: #8663a5;
  --beige: #f4eee3;
  --beige-deep: #e8dece;
  --white: #fff;
  --ink: #25222c;
  --muted: #6f6874;
  --line: rgba(56, 43, 66, .14);
  --shadow: 0 28px 80px rgba(30, 22, 37, .16);
  --radius: 24px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{min-height:100%;background:var(--beige)}
body{min-height:100svh;color:var(--ink);background:linear-gradient(145deg,#efe7da,#faf7f0 48%,#e8dece);font:400 16px/1.6 "Inter",Arial,sans-serif}
button,input{font:inherit}
button,a{transition:color 180ms ease,background 180ms ease,border-color 180ms ease,transform 180ms ease,box-shadow 180ms ease}
button{border:0;cursor:pointer}
a{color:inherit}
h1,h2,h3{font-family:"Marcellus",Georgia,serif;font-weight:400;line-height:1.08}
h1{max-width:680px;font-size:clamp(3.4rem,7vw,6.7rem)}
h2{font-size:clamp(2.2rem,4vw,3.4rem)}
.auth-shell{display:grid;width:min(1420px,100%);min-height:100svh;grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr);margin:0 auto}
.auth-story{position:relative;display:flex;min-height:100svh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(30px,5vw,72px);isolation:isolate;color:var(--white);background:var(--forest-deep) url("../circle.png") center/cover no-repeat}
.auth-story::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,rgba(10,36,25,.92),rgba(35,23,53,.74))}
.auth-brand{display:inline-flex;align-items:center;align-self:flex-start;gap:12px;text-decoration:none}
.auth-logo{width:64px;height:64px;object-fit:contain}
.auth-wordmark{width:210px;height:46px;object-fit:contain;filter:brightness(0) invert(1)}
.auth-story-copy{padding:80px 0}
.auth-story-copy>p{max-width:680px;margin-top:26px;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.7vw,1.24rem)}
.auth-story-note{max-width:560px;color:rgba(255,255,255,.62);font-size:.86rem}
.eyebrow{display:block;margin-bottom:16px;color:var(--purple-soft);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.auth-story .eyebrow{color:#e9d5f5}
.auth-card{align-self:center;width:min(660px,calc(100% - 48px));max-height:calc(100svh - 48px);overflow:auto;margin:24px auto;padding:clamp(28px,5vw,56px);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);background:rgba(255,255,255,.82);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.auth-switcher{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:42px;padding:5px;border:1px solid var(--line);border-radius:999px;background:rgba(232,222,206,.48)}
.auth-switcher button{min-height:44px;color:var(--muted);border-radius:999px;background:transparent;font-weight:800}
.auth-switcher button.is-active{color:var(--white);background:var(--forest);box-shadow:0 8px 24px rgba(23,60,43,.2)}
.auth-view[hidden]{display:none}
.auth-intro,.auth-state-view>p{max-width:540px;margin-top:14px;color:var(--muted)}
.auth-form{display:grid;gap:18px;margin-top:30px}
.auth-form label{display:grid;gap:8px;color:var(--forest-deep);font-size:.85rem;font-weight:800}
.auth-form label small{color:var(--muted);font-weight:500}
.auth-form input{width:100%;min-height:50px;padding:0 15px;color:var(--ink);border:1px solid var(--line);border-radius:15px;outline:none;background:rgba(255,255,255,.86)}
.auth-form input:focus{border-color:var(--purple-soft);box-shadow:0 0 0 4px rgba(134,99,165,.13)}
.password-control{display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.86)}
.password-control input{border:0;border-radius:0;background:transparent;box-shadow:none!important}
.password-control button{padding:0 15px;color:var(--purple);background:transparent;font-size:.8rem;font-weight:800}
.legal-consent{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:10px!important;color:var(--muted)!important;font-weight:500!important}
.legal-consent input{width:18px;min-height:18px;margin-top:3px;accent-color:var(--purple)}
.legal-consent a{color:var(--purple);font-weight:800}
.form-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.primary-button,.text-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border-radius:999px;font-weight:800}
.primary-button{padding:0 21px;color:var(--white);background:linear-gradient(135deg,var(--forest),var(--purple));box-shadow:0 12px 30px rgba(45,35,55,.18)}
.primary-button:hover{transform:translateY(-2px);box-shadow:0 17px 38px rgba(45,35,55,.23)}
.primary-button:disabled{opacity:.62;cursor:wait;transform:none}
.text-button{padding:0 10px;color:var(--purple);background:transparent}
.text-button:hover{color:var(--forest)}
.form-message,.configuration-message{min-height:24px;color:var(--muted);font-size:.88rem;font-weight:700}
.form-message[data-state="error"],.configuration-message{color:#8f3650}
.form-message[data-state="info"]{color:var(--purple)}
.configuration-message{margin-bottom:24px;padding:13px 15px;border-radius:14px;background:rgba(143,54,80,.09)}
.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.membership-option{display:flex;min-height:290px;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:20px;background:rgba(244,238,227,.64)}
.membership-option.is-featured{border-color:rgba(77,49,109,.3);background:rgba(77,49,109,.08)}
.membership-option>span{color:var(--purple);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.membership-option h3{margin-top:14px;font-size:2rem}
.membership-option h3 small{font:500 .78rem "Inter",Arial,sans-serif}
.membership-option strong{margin-top:8px;color:var(--forest);font-size:.78rem}
.membership-option p{margin:14px 0 24px;color:var(--muted);font-size:.9rem}
.membership-option .primary-button{width:100%;margin-top:auto}
.membership-option .primary-button.is-selected{outline:3px solid rgba(77,49,109,.24);outline-offset:3px}
.auth-state-view{padding:30px 0;text-align:center}
.auth-state-view .eyebrow{margin-top:24px}
.auth-state-view>p{margin:16px auto 28px}
.state-symbol{display:grid;width:58px;height:58px;place-items:center;margin:auto;color:var(--white);border-radius:50%;background:var(--forest);font-size:1.4rem;font-weight:900}
.state-symbol.is-error{background:#8f3650}
.state-symbol.is-pulsing{background:var(--purple);animation:softPulse 1.8s ease-in-out infinite}
@keyframes softPulse{50%{box-shadow:0 0 0 14px rgba(77,49,109,0)}}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(77,49,109,.42);outline-offset:3px}
@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:560px}.auth-card{max-height:none;margin:28px auto 56px}.auth-story-copy{padding:72px 0}}
@media(max-width:620px){.auth-story{min-height:520px;padding:26px 22px}.auth-logo{width:50px;height:50px}.auth-wordmark{width:160px;height:36px}.auth-card{width:calc(100% - 24px);padding:28px 20px}.membership-grid{grid-template-columns:1fr}.auth-switcher{margin-bottom:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
