/* Homepage email CTA (Leon, 2026-11-13). Built to the coss ui InputGroup, Input,
   Button and Field error specs, with the homepage's own coss tokens:
   - group: rounded-lg, 1px border-input, bg-background, shadow-xs/5; focus: border-ring
     and a 3px ring/24; aria-invalid: border-destructive/36, focused destructive/64 + ring
     destructive/16
   - input: unstyled inside the group, placeholder muted-foreground/72, text-base, sm:text-sm
   - button: coss Button in an inline-end addon, the site's primary (ds-btn-dark),
     inner radius one step down from the group
   - error: coss FieldError, text-destructive-foreground text-xs, 8px under the control */
.ds-cta-form{ width:100%; max-width:440px; display:flex; flex-direction:column; gap:8px; text-align:left; margin:0; }
.ds-cta-group{ position:relative; display:flex; align-items:center; width:100%; min-width:0; height:46px; padding:4px; border:1px solid rgba(0,0,0,.10); border-radius:12px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.05); transition:box-shadow .15s, border-color .15s; }
.ds-cta-group:focus-within{ border-color:#0040FF; box-shadow:0 0 0 3px rgba(0,64,255,.24); }
.ds-cta-group:has(input[aria-invalid="true"]){ border-color:rgba(239,68,68,.36); box-shadow:none; }
.ds-cta-group:has(input[aria-invalid="true"]:focus){ border-color:rgba(239,68,68,.64); box-shadow:0 0 0 3px rgba(239,68,68,.16); }
.ds-cta-input{ flex:1 1 auto; width:0; min-width:0; height:100%; padding:0 8px 0 9px; border:0; outline:none; background:transparent; color:#171717; font:inherit; font-size:16px; line-height:1; border-radius:8px; -webkit-appearance:none; appearance:none; }
.ds-cta-input::placeholder{ color:rgba(115,115,115,.72); opacity:1; }
.ds-cta-input:-webkit-autofill{ -webkit-text-fill-color:#171717; transition:background-color 5000000s ease-in-out 0s; }
.ds-cta-form .ds-cta-btn{ flex:none; height:100%; padding:0 14px; border-radius:8px; font-size:15px; }
.ds-cta-form .ds-cta-btn:disabled{ opacity:.64; cursor:default; }
.ds-cta-form .ds-cta-btn:focus-visible{ outline:2px solid #0040FF; outline-offset:1px; }
.ds-cta-error{ margin:0; padding:0 2px; color:#b91c1c; font-size:12px; line-height:1.4; }
.ds-cta-error[hidden]{ display:none; }
@media(min-width:640px){ .ds-cta-input{ font-size:14px; } .ds-cta-form .ds-cta-btn{ font-size:14px; } }
@media(max-width:380px){ .ds-cta-form .ds-cta-btn{ padding:0 10px; font-size:14px; } .ds-cta-input{ padding:0 4px 0 6px; } }
