@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=Libre+Caslon+Display&display=swap');

/* Registration-only styles: the sales site and existing auth pages stay independent. */
.signup-page{--signup-ink:#142820;--signup-paper:#f8faf7;--signup-line:#dce3dc;--signup-muted:#617269;--signup-accent:#d4ef83;margin:0;background:var(--signup-paper);color:var(--signup-ink);font:15px/1.6 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
.signup-page *{box-sizing:border-box}
.signup-page a{color:inherit;text-decoration:none}
.signup-page a:hover{text-decoration:underline;text-underline-offset:4px}
.signup-page button,.signup-page input{font:inherit}
.signup-page button,.signup-page a,.signup-page input{touch-action:manipulation}
.signup-page button{cursor:pointer}
.signup-page :is(a,button,input):focus-visible{outline:3px solid #78a844;outline-offset:4px}
.signup-page .hidden,.signup-page [hidden]{display:none!important}
.signup-page .signup-skip{position:absolute;top:-100px;left:20px;padding:12px;background:#fff;z-index:2}
.signup-page .signup-skip:focus{top:12px}
.signup-page .signup-nav{max-width:1320px;margin:auto;min-height:84px;padding:20px 56px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--signup-line)}
.signup-page .signup-brand{display:inline-flex;align-items:center;gap:10px;font-size:22px;font-weight:700;letter-spacing:-1px;white-space:nowrap}
.signup-page .signup-brand:hover{text-decoration:none}
.signup-page .signup-brand>span{display:grid;place-items:center;width:31px;height:31px;background:var(--signup-ink);color:var(--signup-accent);border-radius:50%;font:23px/1 Georgia,serif}
.signup-page #login-nav{font-size:13px;color:var(--signup-muted)}
.signup-page #login-nav strong{color:var(--signup-ink);font-weight:600;margin-left:8px}
.signup-page .signup-layout{max-width:1170px;padding:64px 56px 72px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);column-gap:clamp(50px,7vw,100px);row-gap:22px;align-items:start}
.signup-page .signup-form{min-width:0;grid-column:1;grid-row:1 / span 2}
.signup-page .signup-visual{grid-column:2;grid-row:1;position:relative;isolation:isolate;margin:0;overflow:hidden;aspect-ratio:16/9;border-radius:9px;background:#142820}
.signup-page .signup-visual :is(img,video){position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.signup-page .signup-visual video{opacity:0;transition:opacity .5s ease}
.signup-page .signup-visual video.is-playing{opacity:1}
.signup-page .signup-visual:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(7,23,16,.8));pointer-events:none}
.signup-page .signup-visual-caption{position:absolute;z-index:1;inset:auto 20px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#fff;font-size:14px}
.signup-page #signup-video-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff80;border-radius:50%;background:#14282080;color:#fff;font-size:15px;line-height:1}
.signup-page #signup-video-toggle:hover{background:#142820d9}
.signup-page .signup-steps{list-style:none;display:flex;justify-content:space-between;gap:12px;padding:0 0 28px;margin:0 0 31px;border-bottom:1px solid var(--signup-line);font-size:12px;color:var(--signup-muted)}
.signup-page .signup-steps li{display:flex;align-items:center;gap:8px;line-height:1.3}
.signup-page .signup-steps li>span:first-child{display:grid;place-items:center;flex:0 0 25px;height:25px;border:1px solid #ced9cc;border-radius:50%;font-size:10px}
.signup-page .signup-steps [aria-current=step]{color:var(--signup-ink);font-weight:700}
.signup-page .signup-steps [aria-current=step]>span:first-child{background:var(--signup-ink);border-color:var(--signup-ink);color:var(--signup-accent)}
.signup-page .signup-steps .is-done>span:first-child{background:#e4edd9;border-color:#c7d7b9;color:#38552c}
.signup-page .signup-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5b734b}
.signup-page h1,.signup-page h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.04}
.signup-page h1{font-size:clamp(44px,4.8vw,62px);margin:15px 0 21px}
.signup-page .signup-intro{font-size:15px;color:var(--signup-muted);line-height:1.75;margin:0 0 26px;max-width:420px}
.signup-page .signup-intro strong{color:var(--signup-ink);overflow-wrap:anywhere}
.signup-page label{display:block;font-size:13px;font-weight:600;margin:19px 0 7px}
.signup-page input:not([type=hidden]){width:100%;min-height:49px;border:1px solid #ccd7cd;border-radius:5px;background:#fff;padding:12px 14px;color:var(--signup-ink);transition:border-color .18s,box-shadow .18s}
.signup-page input::placeholder{color:#8d9b91}
.signup-page input:focus{border-color:#628452}
.signup-page .signup-help{font-size:12px;line-height:1.7;color:var(--signup-muted);margin:10px 0 0}
.signup-page .signup-button{display:flex;justify-content:center;align-items:center;gap:12px;min-height:49px;width:100%;padding:13px 18px;border:1px solid var(--signup-ink);border-radius:5px;font-size:14px;font-weight:600;line-height:1.45;transition:background .2s}
.signup-page .signup-primary{background:var(--signup-ink);color:#fff;margin-top:25px}
.signup-page .signup-primary:hover{background:#284e3b}
.signup-page button:disabled{cursor:default;opacity:.6}
.signup-page .signup-google{background:#fff;border-color:#cbd5cc;color:var(--signup-ink)}
.signup-page .signup-google:hover{background:#eef3e9;text-decoration:none}
.signup-page .signup-divider{display:flex;align-items:center;gap:15px;margin:20px 0;color:#88968a;font-size:12px}
.signup-page .signup-divider:before,.signup-page .signup-divider:after{content:'';flex:1;height:1px;background:var(--signup-line)}
.signup-page .signup-legal{margin:19px 0 0;font-size:11px;color:var(--signup-muted);text-align:center}
.signup-page .signup-legal a,.signup-page .signup-signin a{text-decoration:underline;text-underline-offset:3px}
.signup-page .signup-signin{font-size:13px;color:var(--signup-muted);margin:29px 0 0;text-align:center}
.signup-page .signup-signin a{color:var(--signup-ink);font-weight:600}
.signup-page .error{background:#f8e9e3;border:1px solid #eccbc0;color:#883d28;border-radius:5px;padding:12px 14px;margin:16px 0;font-size:13px;overflow-wrap:anywhere}
.signup-page .otp-input{font:500 30px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:.32em;text-align:center;padding-left:.32em!important}
.signup-page .auth-recovery{display:flex;justify-content:space-between;gap:18px;margin-top:22px}
.signup-page .text-button{border:0;background:transparent;padding:0;color:#375b2d;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.signup-page .text-button:disabled{text-decoration:none;color:var(--signup-muted)}
.signup-page .signup-expiry{margin-top:24px}
.signup-page .signup-summary{grid-column:2;grid-row:2;margin-top:1px;padding:31px 33px 28px;border:1px solid #d5dfd0;border-radius:9px;background:linear-gradient(150deg,#eef3e8,#f1f5ec 60%,#e8f0df);min-width:0}
.signup-page .signup-summary-top{display:flex;justify-content:space-between;gap:18px;align-items:center}
.signup-page .signup-summary-top>a{font-size:11px;color:#5c744e;white-space:nowrap}
.signup-page .signup-summary h2{font-size:46px;margin:31px 0 16px;overflow-wrap:anywhere}
.signup-page .signup-price{display:flex;flex-direction:column;gap:5px;margin-bottom:22px}
.signup-page #summary-price{font:400 39px/1.1 'Libre Caslon Display',Georgia,serif;letter-spacing:-.03em;overflow-wrap:anywhere}
.signup-page #summary-cadence{font-size:11px;color:var(--signup-muted)}
.signup-page #summary-description{font-size:13px;color:#53664b;line-height:1.75;margin:0}
.signup-page .signup-plan-notice{font-size:12px;line-height:1.7;color:#765521;border-left:2px solid #b79552;padding-left:12px;margin:18px 0 0}
.signup-page .signup-plan-recovery{display:flex;flex-direction:column;align-items:start;gap:14px;margin-top:20px;font-size:12px}
.signup-page .signup-benefits{list-style:none;padding:21px 0 0;margin:22px 0 0;border-top:1px solid #d2ddca}
.signup-page .signup-benefits:empty{display:none}
.signup-page .signup-benefits li{position:relative;padding:0 0 14px 24px;font-size:13px;line-height:1.65;color:#3d5534}
.signup-page .signup-benefits li:before{content:'✓';position:absolute;left:0;top:0;color:#63813e;font-size:13px}
.signup-page .signup-next{border-top:1px solid #d2ddca;padding-top:23px;margin-top:11px}
.signup-page .signup-next p{margin:10px 0 14px;color:#3f5736;font-size:13px;line-height:1.75}
.signup-page .signup-clients{font-size:10px;line-height:1.8;color:#6f805f;display:block}
.signup-page .signup-coverage{font-size:10px;line-height:1.75;color:#71816a;border-top:1px solid #d2ddca;padding-top:21px;margin:24px 0 0}
.signup-page .signup-footer{max-width:1320px;margin:auto;border-top:1px solid var(--signup-line);padding:23px 56px 28px;display:flex;justify-content:space-between;gap:18px;color:#71816f;font-size:11px}
@media(max-width:1000px){.signup-page .signup-layout{padding:48px 36px 56px;column-gap:45px}.signup-page .signup-nav,.signup-page .signup-footer{padding-left:36px;padding-right:36px}.signup-page .signup-summary{padding:28px 24px}.signup-page .signup-steps{font-size:11px;gap:7px}}
@media(max-width:800px){.signup-page .signup-layout{grid-template-columns:1fr;max-width:590px;gap:28px;padding-top:28px}.signup-page :is(.signup-visual,.signup-form,.signup-summary){grid-column:1;grid-row:auto}.signup-page .signup-visual{aspect-ratio:auto;height:clamp(150px,34vw,210px)}.signup-page .signup-nav{min-height:74px}.signup-page h1{font-size:53px}.signup-page .signup-steps{font-size:12px}.signup-page .signup-summary h2{margin-top:24px}}
@media(max-width:480px){.signup-page .signup-layout{padding:28px 22px 39px}.signup-page .signup-nav,.signup-page .signup-footer{padding-left:22px;padding-right:22px}.signup-page .signup-brand{font-size:18px;gap:7px}.signup-page .signup-brand>span{width:27px;height:27px;font-size:20px}.signup-page #login-nav{font-size:0}.signup-page #login-nav strong{font-size:12px;margin:0}.signup-page h1{font-size:46px}.signup-page .signup-steps{padding-bottom:23px;margin-bottom:26px;font-size:11px;gap:10px}.signup-page .signup-steps li{gap:6px}.signup-page .signup-steps li>span:first-child{flex-basis:23px;height:23px}.signup-page .signup-summary{padding:26px 23px}.signup-page .signup-footer{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:no-preference){.signup-page .signup-layout{animation:signup-arrive .55s ease both}@keyframes signup-arrive{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.signup-page *,.signup-page *:before,.signup-page *:after{animation:none!important;transition:none!important}}
