[data-email-signup] { min-width: 0; }
.email-signup { width: 100%; max-width: 520px; margin: 16px 0 0; text-align: left; font: inherit; }
.email-signup label { display: block; margin: 0 0 6px; color: inherit; font-size: 14px; font-weight: 700; }
.signup-fields { display: flex; gap: 8px; }
.email-signup input { box-sizing: border-box; min-width: 0; width: 100%; flex: 1; min-height: 48px; border: 1px solid var(--muted, var(--mut, var(--accent-line, currentColor))); border-radius: 10px; padding: 11px 12px; background: var(--paper, var(--soft, var(--signup-surface, Canvas))); color: var(--ink, var(--signup-ink, CanvasText)); font: inherit; font-size: 16px; }
.email-signup button, .signup-bar button { min-height: 48px; border: 0; border-radius: 10px; padding: 10px 18px; font: inherit; font-weight: 700; cursor: pointer; }
.email-signup button:not(.metallic-gold-button), .signup-bar button { background: var(--coral, var(--brand, var(--accent, ButtonFace))); color: var(--signup-button-ink, ButtonText); }
.email-signup button { flex: 0 0 auto; }
.email-signup button:hover, .signup-bar button:hover { filter: brightness(.94); }
.email-signup :focus-visible, .signup-bar button:focus-visible { outline: 3px solid var(--brand, var(--accent, var(--coral, currentColor))); outline-offset: 4px; box-shadow: 0 0 0 2px var(--paper, var(--soft, var(--signup-surface, Canvas))); }
.email-signup .signup-note { margin: 9px 0 0; color: inherit; font-size: 12px; line-height: 1.5; font-weight: 400; }
.email-signup .signup-error { margin: 6px 0 0; color: inherit; font-size: 14px; font-weight: 700; }
.signup-error:empty { display: none; }
.signup-offer { display: block; margin: 20px 0 0; font-size: 20px; line-height: 1.4; }
header [data-email-signup] { max-width: 520px; margin: 20px auto 0; }
.hero-copy [data-email-signup] { margin-left: 0; }
.signup-country-title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.4; }
.signup-footer { box-sizing: border-box; width: min(1160px, calc(100% - 36px)); margin: 0 auto 30px; color: inherit; }
.signup-footer h2 { margin: 0; font-size: 24px; line-height: 1.25; color: inherit; }
.signup-footer .email-signup { margin: 16px auto 0; }
footer:has(.footer-grid) .signup-footer .email-signup { margin-left: 0; }
footer:has(.footer-grid) .signup-footer { text-align: left; }
.signup-gallery { display: flex; flex-direction: column; justify-content: center; padding: 28px 22px; background: var(--ink, #0e1a20); color: var(--paper, #f4efe7); }
.signup-gallery h3 { margin: 0; font-size: 28px; line-height: 1.2; color: inherit; }
.signup-gallery .signup-fields { flex-direction: column; }
.free-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.free-band .signup-design-note { margin-top: 16px; font-size: 14px; }
.signup-bar[hidden], .signup-bar [hidden] { display: none; }
.signup-bar { position: fixed; z-index: 80; left: 0; right: 0; bottom: 0; padding: 12px max(18px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); color: var(--paper, #f4efe7); background: var(--ink, #0e1a20); box-shadow: 0 -6px 26px #0003; }
.signup-bar-inner { max-width: 1160px; margin: auto; }
.signup-bar-summary { display: flex; align-items: center; gap: 16px; }
.signup-bar-summary p { flex: 1; margin: 0; font-size: 15px; line-height: 1.4; }
.signup-bar [data-signup-close] { flex: 0 0 44px; min-height: 44px; padding: 0; background: transparent; color: inherit; font-size: 24px; }
.signup-bar .email-signup { max-width: 620px; }
@media (max-width: 600px) {
  .signup-fields { flex-direction: column; }
  .email-signup button { width: 100%; }
  .free-grid { grid-template-columns: minmax(0, 1fr); }
  .signup-bar-summary { gap: 8px; }
  .signup-bar-summary p { font-size: 13px; }
  .signup-bar-summary button { padding: 9px 12px; }
}
