:root{
  --cream:#faf7f1; --navy:#1b3a5b; --teal:#37897f; --bright:#1e8fb0; --slate:#3a5a76;
  --line:#e3ddd2; --ink-soft:#5c6b7a; --white:#fff;
  --shadow:0 1px 2px rgba(27,58,91,.06), 0 6px 18px rgba(27,58,91,.07);
}
*{box-sizing:border-box}
body{margin:0; background:var(--cream); color:var(--navy);
  font-family:Poppins,"Segoe UI",system-ui,sans-serif; -webkit-font-smoothing:antialiased}
.wrap{max-width:480px; margin:0 auto; padding:36px 20px 64px}

.auth-head{margin-bottom:18px}
.hand{font-family:Caveat,Poppins,cursive; font-size:30px; font-weight:700; color:var(--teal); display:block; line-height:1}
.auth-head h1{margin:2px 0 8px; font-size:32px; line-height:1.1; font-weight:700}
.auth-head p{margin:0; font-size:14px; line-height:1.55; color:var(--slate)}
.auth-head a{color:var(--teal); font-weight:600}

.auth-card{background:var(--white); border:1.5px solid var(--line); border-radius:16px;
  box-shadow:var(--shadow); padding:20px 20px 18px; display:flex; flex-direction:column; gap:6px}
.auth-card + .auth-card{margin-top:14px}
.auth-card h2{margin:0 0 8px; font-size:16px; font-weight:700}
.auth-card label{font-size:12px; font-weight:600; margin-top:6px}
.auth-card input[type="text"],
.auth-card input[type="email"],
.auth-card input[type="password"]{font-family:inherit; font-size:14px; width:100%;
  padding:12px 14px; border:1.5px solid var(--line); border-radius:12px; background:#fff; color:inherit}
.auth-card input:focus{outline:none; border-color:var(--bright)}
.check{display:flex; align-items:center; gap:8px; font-weight:500; margin:8px 0 4px}
.check input{width:16px; height:16px; accent-color:var(--teal)}

.field-error{margin:0; font-size:12.5px; line-height:1.45; color:#9a3d45; font-weight:500}
.auth-status{margin:0 0 14px; background:#e8f1ef; color:var(--navy); border-radius:12px;
  padding:12px 14px; font-size:13.5px; line-height:1.5; font-weight:500}
.auth-card .auth-status{margin:0 0 8px}

.btn{display:inline-flex; align-items:center; justify-content:center; font-family:inherit;
  font-size:14px; font-weight:600; cursor:pointer; text-decoration:none;
  background:var(--navy); color:#fff; border:1.5px solid var(--navy); border-radius:999px;
  padding:12px 22px; margin-top:10px}
.btn:hover{opacity:.88}
.btn:focus-visible{outline:3px solid var(--bright); outline-offset:3px}
.btn.ghost{background:transparent; color:var(--navy); border-color:var(--line)}
.btn.ghost:hover{border-color:var(--teal); color:var(--teal); opacity:1}
.auth-alt{margin-top:12px; font-size:13px; font-weight:600; color:var(--teal); text-decoration:none}
.auth-alt:hover{text-decoration:underline}
.auth-signout{margin-top:16px}
.auth-signout .btn{margin-top:0}

/* Dedicated full-screen authentication layout. */
.auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100svh;background:#fff}
.auth-story{background:#eaf1ed;padding:40px 9%;display:flex;flex-direction:column;position:relative;overflow:hidden}
.auth-brand{width:220px;display:block}.auth-brand img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.story-content{max-width:520px;margin:auto 0;padding:65px 0 40px}
.story-eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#47796f}
.story-content h2{font-size:clamp(28px,2.8vw,42px);line-height:1.25;letter-spacing:-1.4px;font-weight:600;margin:22px 0 18px}
.story-content h2 em{font-style:normal;color:var(--teal)}
.story-content>p{color:var(--slate);font-size:14px;line-height:1.9;max-width:410px}
.study-preview{height:270px;position:relative;margin:36px 0 12px}
.study-note{position:absolute;top:8px;left:8px;background:#fffcf6;padding:24px 30px;width:72%;max-width:300px;border:1px solid #deddd0;transform:rotate(-5deg);box-shadow:0 12px 24px #1b3a5b0b;border-radius:6px}
.note-kicker{font-size:8px;letter-spacing:1.3px;color:#7e8c88;font-weight:600}.study-note h3{font-size:23px;line-height:1.5;font-weight:500;margin:12px 0}.study-note h3 span{font-family:Caveat,cursive;font-size:32px;color:var(--teal)}
.note-line{height:3px;background:#e5ece4;margin:9px 0;width:85%}.note-line.short{width:55%}
.study-illustration{position:absolute;right:0;top:28px;width:43%;height:190px;object-fit:contain;transform:rotate(8deg);filter:drop-shadow(0 8px 5px #1b3a5b12)}
.study-sticker{position:absolute;right:0;bottom:8px;background:#fff3c9;padding:10px 16px;transform:rotate(5deg);font-family:Caveat,cursive;font-size:22px;color:#73603c}
.story-features{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--slate)}.story-features span::before{content:'✓';margin-right:6px;color:var(--teal)}
.story-footer{color:#69847b;font-size:10px;margin:0}
.auth-main{padding:36px clamp(24px,5vw,80px) 24px;display:flex;flex-direction:column;min-width:0}
.auth-top{display:flex;justify-content:space-between;gap:12px;font-size:11px}.auth-top a{color:var(--ink-soft);text-decoration:none}.auth-top span{display:none}
.auth-form-wrap{width:100%;max-width:460px;margin:auto;padding:54px 0}.auth-footer{text-align:center;font-family:Caveat,cursive;font-size:22px;color:#82918a}
.auth-split .auth-head{margin-bottom:28px}.auth-split .hand{font-size:27px;margin-bottom:12px}.auth-split .auth-head h1{font-size:clamp(27px,2.5vw,35px);line-height:1.25;letter-spacing:-1px;margin-bottom:12px}.auth-split .auth-head p{font-size:13px;color:var(--ink-soft);line-height:1.8}
.auth-split .auth-card{border:0;box-shadow:none;border-radius:0;padding:0;gap:8px}.auth-split .auth-card label{margin-top:10px}.auth-split .auth-card input:not([type=checkbox]):not([type=hidden]){border-radius:8px;border-width:1px;background:#fdfdfb;padding:13px 14px}
.auth-split .btn{border-radius:8px;background:var(--teal);border-color:var(--teal);min-height:49px;width:100%;gap:12px;font-size:13px}.auth-split .btn:disabled{opacity:.55;cursor:wait}.auth-split .auth-alt{display:inline-block;font-size:12px}.auth-switch{font-size:12px;text-align:center;margin:24px 0 0;color:var(--ink-soft)}.auth-switch a{color:var(--teal);font-weight:600}
.signup-steps{list-style:none;padding:0;display:flex;gap:12px;justify-content:space-between;margin:0 0 42px}.signup-steps li{display:flex;align-items:center;gap:7px;font-size:10px;color:#89928f}.step-number{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border:1px solid #dfe5df;border-radius:50%;font-size:11px}.signup-steps .is-current{color:var(--navy);font-weight:600}.is-current .step-number{background:var(--teal);border-color:var(--teal);color:white}.is-complete .step-number{background:#eaf1ed;color:var(--teal);border-color:#eaf1ed}
.plan-card{display:flex;flex-direction:column;border:1.5px solid var(--teal);border-radius:12px;padding:25px;background:#fafcf9;cursor:pointer}.plan-heading{display:flex;justify-content:space-between;align-items:center}.plan-heading input{accent-color:var(--teal);width:18px;height:18px}.plan-badge{font-size:10px;letter-spacing:1.3px;font-weight:600;color:var(--teal)}.plan-price{display:flex;align-items:baseline;gap:10px;margin:12px 0 3px}.plan-price strong{font-size:48px;letter-spacing:-2px;font-weight:600;line-height:1.3}.plan-price>span{font-size:12px;color:var(--ink-soft)}.plan-description{font-size:12px;color:var(--slate)}.plan-divider{border-top:1px solid #dce5de;margin:22px 0 15px}.plan-feature{font-size:12px;margin:7px 0;display:flex;gap:10px}.plan-feature::before{content:'✓';color:var(--teal);font-weight:700}.plan-terms{font-size:11px;color:var(--teal);margin-top:20px}.plan-form>.btn{margin-top:22px}
.field-hint{font-size:11px;line-height:1.7;color:var(--ink-soft)}.checkout-summary{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fdfbf7}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0;font-size:12px}.summary-total{border-top:1px solid var(--line);padding-top:20px}.summary-total strong{font-size:24px;white-space:nowrap}.summary-total strong span{font-size:11px;font-weight:400}.checkout-summary p{font-size:12px;line-height:1.8;color:var(--slate)}.checkout-identity{margin-top:24px;display:flex;flex-direction:column;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.checkout-note,.secure-note{font-size:11px;color:var(--ink-soft);line-height:1.7}.secure-note{text-align:center;margin-bottom:0}
@media(min-width:1500px){.auth-story{padding-left:15%;padding-right:12%}}
@media(max-width:900px){.auth-story{padding:32px 28px}.auth-brand{width:185px}.story-content h2{font-size:30px}.auth-main{padding:30px 28px}.story-features{gap:8px}}
@media(max-width:700px){.auth-split{display:block}.auth-story{display:none}.auth-main{min-height:100svh;padding:24px}.auth-top span{display:inline;color:var(--teal);font-weight:600}.auth-form-wrap{padding:44px 0}.signup-steps{margin-bottom:34px}.auth-split .auth-head h1{font-size:30px}.plan-card{padding:23px}.auth-footer{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.plan-form .plan-card{padding:18px 22px}.plan-form .plan-card+.plan-card{margin-top:14px}.plan-form .plan-price strong{font-size:34px;letter-spacing:-1px}.plan-form .plan-terms{margin-top:10px}.plan-card:has(input:checked){outline:2px solid var(--teal);outline-offset:2px}.plan-inclusions{padding:22px 0 0}
@media(min-width:701px){.auth-story{align-self:start;min-height:100svh}}
