


.primary-button {
  display: inline-block;
  background: var(--content-primary);
  color: var(--content-inverse);
  font-family: var(--type-display);
  font-weight: 800;
  font-size: 1em;
  letter-spacing: 0.01em;
  border: 2px solid var(--action-primary);
  border-radius: var(--edge-round);
  padding: 0.8em 1.6em;
  cursor: pointer;
  outline: 2px solid var(--action-quiet);
  outline-offset: 4px;
  text-align: center;
  transition: background var(--motion-glide), outline-offset var(--motion-glide), color var(--motion-glide);
}
.primary-button:hover,
.primary-button:focus-visible {
  background: var(--action-hover);
  color: var(--content-inverse);
  outline-offset: 7px;
  text-decoration: none;
}
.large-button { font-size: 1.15em; padding: 0.95em 2.1em; width: 100%; }

.ghost-button {
  display: inline-block;
  background: transparent;
  color: var(--content-primary);
  font-family: var(--type-display);
  font-weight: 700;
  font-size: 0.95em;
  border: 1px solid var(--edge-strong);
  border-radius: var(--edge-round);
  padding: 0.75em 1.4em;
  cursor: pointer;
  transition: border-color var(--motion-glide), background var(--motion-glide);
}
.ghost-button:hover,
.ghost-button:focus-visible { background: rgba(240, 139, 74, 0.14); border-color: var(--action-hover); text-decoration: none; }


.section-eyebrow {
  display: inline-block;
  font-family: var(--type-display);
  font-size: 0.78em;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--action-hover);
  margin-bottom: var(--rhythm-tight);
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--type-display);
  font-size: 0.8em;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--content-primary);
  background: rgba(246, 236, 225, 0.09);
  border: 1px solid var(--edge-soft);
  border-radius: 2em;
  padding: 0.45em 1em;
}
.badge-glyph { width: 1.05em; height: 1.05em; flex: none; fill: none; stroke: var(--action-hover); stroke-width: 2; }


.price-now { font-family: var(--type-display); font-size: 2.6em; font-weight: 900; line-height: 1; color: var(--content-primary); }
.price-was { font-size: 1.05em; color: var(--content-muted); text-decoration: line-through; margin-left: 0.5em; }
.price-cut {
  display: inline-block;
  font-family: var(--type-display);
  font-size: 0.8em;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--content-inverse);
  background: var(--action-hover);
  border-radius: var(--edge-round);
  padding: 0.3em 0.7em;
  margin-left: 0.6em;
  vertical-align: middle;
}


.form-label {
  display: block;
  font-family: var(--type-display);
  font-size: 0.82em;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--content-muted);
  margin-bottom: 0.45em;
}
.form-input {
  width: 100%;
  background: rgba(19, 13, 11, 0.55);
  color: var(--content-primary);
  border: 1px solid var(--edge-soft);
  border-bottom: 2px solid var(--action-quiet);
  border-radius: var(--edge-round);
  padding: 0.8em 0.9em;
  font-family: var(--type-body);
  font-size: 1em;
}
.form-input::placeholder { color: rgba(203, 179, 160, 0.72); }
.form-input:focus { border-bottom-color: var(--action-hover); outline: 2px solid var(--action-hover); outline-offset: 1px; }
.form-error { display: block; color: var(--signal-alert); font-size: 0.85em; margin-top: 0.4em; }
.form-note { font-size: 0.85em; color: var(--content-muted); margin: 0; }


.section-divider {
  height: 5em;
  border: 0;
  margin: 0;
  background: linear-gradient(to bottom, var(--surface-base), var(--surface-raised));
}
.section-divider-back { background: linear-gradient(to bottom, var(--surface-raised), var(--surface-base)); }


.site-logo { display: inline-flex; align-items: center; gap: 0.6em; text-decoration: none; }
.site-logo:hover { text-decoration: none; }
.site-logo-mark { height: 2.1em; width: auto; display: block; }
.site-logo-word { font-family: var(--type-display); font-size: 1.22em; font-weight: 900; letter-spacing: -0.01em; line-height: 1; }
.site-logo-word .word-lead { color: var(--action-hover); }
.site-logo-word .word-tail { color: var(--content-primary); }


.reveal { opacity: 0; transform: translateY(1.8em); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.is-revealed { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .primary-button, .ghost-button { transition: none; }
}

@media (max-width: 768px) {
  .price-now { font-size: 2.1em; }
  .large-button { font-size: 1.05em; }
}
