.signup-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(4.25rem + clamp(1.25rem, 4vw, 3rem)) clamp(1.25rem,4vw,3rem) clamp(1.25rem,4vw,3rem);background:radial-gradient(circle at 50% 16%,rgba(94,189,77,.08),transparent 34rem),var(--cream,#faf7f0)}.signup-shell--focused{padding-top:clamp(1.25rem,4vw,3rem)}.signup-card{width:100%;max-width:560px;background:var(--surface,#fff);border:1px solid var(--border-card,transparent);border-radius:20px;padding:clamp(1.5rem,4vw,2.65rem);box-shadow:var(--shadow-lift,var(--shadow-md,0 10px 30px rgba(0,0,0,.08)));color:var(--charcoal,#2a2a28)}.signup-card h1{font-family:var(--font-display);color:var(--charcoal-darker,#1b1b1b);font-size:clamp(1.85rem,4vw,2.45rem);line-height:1.08;margin:0 0 .65rem;letter-spacing:0}.signup-identity{color:var(--charcoal-light,#5a5a5a);font-size:clamp(1rem,2.5vw,1.18rem);margin-bottom:1.75rem}.signup-identity strong{color:var(--charcoal,#2a2a28);font-weight:700}.signup-plans{border:1px solid var(--border-card-strong,rgba(0,0,0,.1));border-radius:14px;padding:1.15rem 1.25rem;margin-bottom:1.35rem;background:color-mix(in srgb,var(--surface,#fff) 82%,var(--cream-warm,#efeeed))}.signup-plans legend{padding:0 .5rem;color:var(--charcoal-darker,#1b1b1b);font-size:1.05rem;font-weight:700}.signup-plan{display:flex;align-items:center;gap:.75rem;padding:.55rem 0}.signup-plan input{width:1rem;height:1rem;flex:0 0 auto;accent-color:#2f6f4e}.signup-plan-price{margin-left:auto;opacity:.7;font-size:.9rem}.signup-coming-soon{font-size:.8rem;opacity:.6;margin:.5rem 0 0}.signup-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.signup-field span{color:var(--charcoal-darker,#1b1b1b);font-size:1rem;font-weight:600}.signup-field input{padding:.8rem .95rem;border:1px solid var(--border-card-strong,rgba(0,0,0,.15));border-radius:10px;font:inherit;color:var(--charcoal,#2a2a28);background:var(--cream-warm,#fff)}.signup-consent-control input:focus-visible,.signup-field input:focus,.signup-inline-link:focus-visible,.terms-modal-close:focus-visible{outline:2px solid rgba(94,189,77,.56);outline-offset:3px}.signup-tos{margin-bottom:1.35rem;color:var(--charcoal,#2a2a28);font-size:1rem}.signup-consent-control{display:grid;grid-template-columns:1.15rem minmax(0,1fr);column-gap:.78rem;align-items:start}.signup-consent-control input{width:1.15rem;height:1.15rem;margin:.2rem 0 0;accent-color:#2f6f4e;flex:0 0 auto}.signup-consent-control p,.signup-consent-control span{margin:0;line-height:1.55}.signup-inline-link{display:inline;padding:0;border:0;border-radius:4px;background:transparent;color:var(--sage-text,#2b7a24);cursor:pointer;font:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.signup-inline-link:hover{color:var(--forest,#4aa83c)}.signup-error{color:#b91c1c;margin:0 0 1rem}.signup-button{display:inline-block;width:100%;text-align:center;background:#2f6f4e;color:#fff;border:none;padding:.75rem 1rem;border-radius:var(--cta-radius,8px);font-weight:600;cursor:pointer;text-decoration:none}.signup-button:disabled{opacity:.5;cursor:not-allowed}.terms-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem);background:rgba(0,0,0,.66);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.terms-modal{width:min(100%,820px);max-height:min(86vh,860px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--border-card-strong,rgba(255,255,255,.2));border-radius:22px;background:var(--surface,#fff);color:var(--charcoal,#2a2a28);box-shadow:0 38px 110px rgba(0,0,0,.46)}.terms-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:clamp(1.25rem,3vw,1.8rem) clamp(1.25rem,3vw,2rem) 1.05rem;border-bottom:1px solid var(--border-card,rgba(0,0,0,.08))}.terms-kicker{color:var(--sage-text,#2b7a24);font-size:.74rem;font-weight:800;letter-spacing:.12em;margin:0 0 .35rem;text-transform:uppercase}.terms-modal h2,.terms-page-card h1{color:var(--charcoal-darker,#1b1b1b);font-family:var(--font-display);margin:0}.terms-modal h2{font-size:clamp(1.55rem,3vw,2rem);line-height:1.1}.terms-modal-header p:last-child,.terms-version{color:var(--charcoal-light,#5a5a5a);margin:.35rem 0 0}.terms-modal-close{width:2.4rem;height:2.4rem;flex:0 0 auto;border:1px solid var(--border-card,rgba(0,0,0,.08));border-radius:999px;background:var(--cream-warm,#efeeed);color:var(--charcoal,#2a2a28);cursor:pointer;font-size:1rem;font-weight:700;line-height:1}.terms-modal-close:hover{border-color:var(--sage-text,#2b7a24);color:var(--sage-text,#2b7a24)}.terms-modal-body{overflow-y:auto;padding:1.25rem clamp(1.25rem,3vw,2rem) 1.5rem}.terms-intro{color:var(--charcoal,#2a2a28);font-family:var(--font-editorial);font-size:1rem;line-height:1.7;margin:0}.terms-responsibility-callout{margin:1rem 0 1.3rem;padding:.95rem 1rem;border:1px solid rgba(94,189,77,.24);border-radius:12px;background:rgba(94,189,77,.1);color:var(--charcoal-darker,#1b1b1b);font-weight:700;line-height:1.55}.terms-section{padding:1.15rem 0;border-top:1px solid var(--border-card,rgba(0,0,0,.08))}.terms-section h2,.terms-section h3{color:var(--charcoal-darker,#1b1b1b);font-size:1.02rem;line-height:1.35;margin:0 0 .7rem}.terms-section p{color:var(--charcoal,#2a2a28);font-family:var(--font-editorial);font-size:.94rem;line-height:1.68;margin:0}.terms-section p+p{margin-top:.72rem}.terms-section ul{margin:.65rem 0 0;padding-left:1.25rem}.terms-section li{color:var(--charcoal,#2a2a28);font-family:var(--font-editorial);font-size:.94rem;line-height:1.68;margin:.38rem 0}.terms-commitment-list{display:grid;gap:.65rem;margin-top:.75rem}.terms-commitment-item{display:grid;gap:.18rem;padding:.78rem 0;border-top:1px solid var(--border-card,rgba(0,0,0,.08))}.terms-commitment-topic{color:var(--charcoal-darker,#1b1b1b);font-size:.92rem;line-height:1.4}.terms-commitment-copy{color:var(--charcoal,#2a2a28);font-family:var(--font-editorial);font-size:.94rem;line-height:1.62}.terms-section.is-conspicuous{margin-top:.35rem;padding:1rem;border:1px solid rgba(94,189,77,.28);border-radius:12px;background:color-mix(in srgb,var(--cream-warm,#efeeed) 72%,rgba(94,189,77,.16))}.terms-section.is-conspicuous p{font-size:.88rem;font-weight:700;letter-spacing:.02em}.terms-modal-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.34fr);align-items:center;gap:1rem;padding:1rem clamp(1.25rem,3vw,2rem);border-top:1px solid var(--border-card,rgba(0,0,0,.08));background:color-mix(in srgb,var(--surface,#fff) 88%,var(--cream-warm,#efeeed))}.terms-modal-consent{color:var(--charcoal,#2a2a28);font-size:.92rem}.terms-accept-button{padding:.72rem .95rem}.terms-page-shell{align-items:flex-start}.terms-page-card{max-width:900px}.terms-page-card h1{font-size:clamp(2rem,5vw,3rem);line-height:1.05}.terms-page-content{margin-top:.7rem}.legal-page-nav{display:flex;align-items:center;gap:.55rem;margin:0 0 1.35rem;color:var(--charcoal-light,#5a5a5a);font-size:.86rem;line-height:1.4}.legal-page-nav a{color:var(--sage-text,#2b7a24);font-weight:700;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.legal-page-nav a:hover{color:var(--forest,#4aa83c)}@media (max-width:640px){.signup-card{border-radius:16px}.signup-plan{align-items:flex-start;flex-wrap:wrap}.signup-plan-price{flex-basis:100%;margin-left:1.75rem}.terms-modal{max-height:90vh;border-radius:18px}.terms-modal-footer{grid-template-columns:1fr}}