:root{--forest:#123d32;--forest-deep:#082b23;--sage:#dce9df;--cream:#f7f4ed;--ink:#15231f;--muted:#68736f;--line:#dfe5e2;--error:#9d2d2d;--white:#fff;--shadow:0 24px 60px rgba(17,45,37,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream)}button,input{font:inherit}.auth-skip{position:fixed;left:1rem;top:-5rem;z-index:10;background:var(--white);padding:.75rem 1rem;color:var(--forest)}.auth-skip:focus{top:1rem}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr)}.auth-story{position:relative;min-height:100vh;overflow:hidden;background:var(--forest-deep)}.auth-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% center}.auth-story-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,32,26,.2) 15%,rgba(5,32,26,.1) 42%,rgba(5,32,26,.88) 100%)}.auth-wordmark{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:700;font-size:1.2rem;letter-spacing:-.02em}.auth-wordmark-light{position:absolute;z-index:2;top:2.2rem;left:2.5rem;color:var(--white)}.auth-wordmark-dark{color:var(--forest);margin-bottom:clamp(3rem,8vh,6rem)}.auth-mark{width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.34)}.auth-wordmark-dark .auth-mark{background:var(--sage);border-color:transparent}.auth-story-copy{position:absolute;z-index:2;left:clamp(2rem,6vw,5rem);right:clamp(2rem,8vw,7rem);bottom:clamp(2.5rem,8vh,6rem);color:var(--white);max-width:660px}.auth-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;margin:0 0 1rem;color:#8dc2a8}.auth-story-copy h1,.auth-heading h2{font-family:"Fraunces",serif;font-weight:600;letter-spacing:-.035em}.auth-story-copy h1{font-size:clamp(2.7rem,5vw,5.2rem);line-height:1.02;margin:0 0 1.25rem}.auth-story-copy h1 em{font-weight:600;color:#cde4d3}.auth-story-copy>p:not(.auth-eyebrow){font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.65;max-width:570px;color:rgba(255,255,255,.85)}.auth-trust-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.6rem;font-size:.88rem}.auth-trust-row i{color:#a9d2b8;margin-right:.4rem}.auth-panel{display:grid;place-items:center;padding:2rem;background:var(--white)}.auth-panel-inner{width:min(100%,480px)}.auth-heading{margin-bottom:2rem}.auth-heading h2{font-size:clamp(2rem,3.3vw,3rem);margin:.25rem 0 .65rem}.auth-heading>p:last-child{margin:0;color:var(--muted);line-height:1.6}.auth-form{display:grid;gap:1.2rem}.auth-field label,.auth-label-row label{display:block;font-size:.86rem;font-weight:700;margin-bottom:.5rem}.auth-label-row{display:flex;justify-content:space-between;align-items:center}.auth-label-row a,.auth-register a,.auth-footer a{color:var(--forest);font-weight:700;text-decoration:none}.auth-label-row a{font-size:.82rem}.auth-input-wrap{position:relative}.auth-input-wrap>i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#82908a}.auth-input-wrap input{width:100%;height:3.35rem;border:1px solid var(--line);border-radius:.8rem;padding:0 3.2rem 0 2.85rem;background:#fbfcfb;color:var(--ink);outline:none;transition:.2s}.auth-input-wrap input:focus{border-color:#3c7b64;box-shadow:0 0 0 4px rgba(60,123,100,.12);background:var(--white)}.auth-input-wrap input.is-invalid{border-color:var(--error)}.auth-password-toggle{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);width:2.4rem;height:2.4rem;border:0;border-radius:.55rem;background:transparent;color:var(--muted);cursor:pointer}.auth-password-toggle:hover,.auth-password-toggle:focus{background:var(--sage);color:var(--forest)}.auth-field-error{display:block;color:var(--error);font-size:.8rem;margin-top:.4rem}.auth-check{display:flex;align-items:center;gap:.65rem;font-size:.86rem;color:var(--muted);width:max-content;cursor:pointer}.auth-check input{width:1.05rem;height:1.05rem;accent-color:var(--forest)}.auth-submit{height:3.45rem;border:0;border-radius:.8rem;background:var(--forest);color:var(--white);font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(18,61,50,.18);transition:.2s}.auth-submit i{margin-left:.5rem}.auth-submit:hover,.auth-submit:focus{background:var(--forest-deep);transform:translateY(-1px)}.auth-alert{border-radius:.75rem;padding:.85rem 1rem;margin-bottom:1.2rem;display:grid;gap:.2rem;font-size:.86rem}.auth-alert-error{background:#fff0ee;color:#7a2525}.auth-alert-success{background:#edf8f0;color:#255b39}.auth-divider{display:flex;align-items:center;gap:1rem;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-socials{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.7rem}.auth-socials a{border:1px solid var(--line);border-radius:.7rem;padding:.75rem;text-align:center;color:var(--ink);text-decoration:none;font-weight:600}.auth-socials a:hover{border-color:#aebdb6;background:#f8faf8}.auth-register{text-align:center;color:var(--muted);font-size:.9rem;margin:1.7rem 0 0}.auth-footer{display:flex;gap:1.2rem;margin-top:clamp(3rem,7vh,5rem);font-size:.78rem}.auth-footer a{color:var(--muted);font-weight:500}.auth-demo{font-size:.8rem;background:var(--cream);border-radius:.65rem;padding:.7rem 1rem}.auth-demo summary{cursor:pointer;font-weight:700}.auth-demo p{margin:.55rem 0 0}.auth-demo p:last-child{margin-bottom:0}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:310px}.auth-story-copy{bottom:2rem}.auth-story-copy h1{font-size:2.6rem}.auth-story-copy>p:not(.auth-eyebrow),.auth-trust-row{display:none}.auth-panel{padding:2.2rem 1.25rem 3rem}.auth-wordmark-dark{display:none}.auth-panel-inner{width:min(100%,540px)}}
@media(max-width:520px){.auth-story{min-height:230px}.auth-story>img{object-position:45% 42%}.auth-story-copy{left:1.25rem;right:1.25rem;bottom:1.4rem}.auth-story-copy h1{font-size:2rem;margin-bottom:0}.auth-story-copy .auth-eyebrow{margin-bottom:.5rem}.auth-wordmark-light{top:1.1rem;left:1.25rem}.auth-panel{place-items:start center}.auth-heading h2{font-size:2rem}.auth-footer{justify-content:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
