:root {
  --ms-primary: #8B1E2D;
  --ms-primary-hover: #6E1522;
  --ms-gold: #C4A35A;
  --ms-gold-light: #D4B56A;
  --ms-bg: #FBF6EE;
  --ms-surface: #FFFDF8;
  --ms-text: #3B1216;
  --ms-muted: #7A5340;
  --ms-border: #E8D7C3;
}

* { box-sizing: border-box; }

body.ms-soon {
  margin: 0;
  min-height: 100vh;
  font-family: "Plus Jakarta Sans", "Noto Sans", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ms-text);
  background:
    radial-gradient(900px 420px at 10% -10%, rgba(139, 30, 45, 0.08), transparent 55%),
    radial-gradient(700px 360px at 100% 0%, rgba(196, 163, 90, 0.16), transparent 50%),
    var(--ms-bg);
}

.ms-soon__wrap {
  width: min(100% - 2rem, 640px);
  margin: 0 auto;
  padding: 2.5rem 0 3rem;
}

.ms-soon__logo {
  display: block;
  height: 84px;
  width: auto;
  max-width: min(220px, 70vw);
  object-fit: contain;
  background: #14080A;
  border-radius: 12px;
  margin-bottom: 1.25rem;
}

.ms-soon__eyebrow {
  margin: 0;
  color: var(--ms-gold);
  font-family: Cinzel, Georgia, serif;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.ms-soon h1 {
  margin: 0.2rem 0 0.5rem;
  color: var(--ms-primary);
  font-family: Cinzel, Georgia, serif;
  font-size: clamp(2rem, 6vw, 2.75rem);
  line-height: 1.15;
}

.ms-soon__lead {
  margin: 0 0 1.5rem;
  font-size: 1.05rem;
}

.ms-soon__card {
  background: var(--ms-surface);
  border: 1px solid var(--ms-border);
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 12px 28px rgba(139, 30, 45, 0.08);
}

.ms-soon__card h2 {
  margin: 0 0 1rem;
  color: var(--ms-primary);
  font-size: 1.25rem;
}

.ms-soon__form {
  display: grid;
  gap: 0.9rem;
}

.ms-soon__form label,
.ms-soon__form fieldset {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.ms-soon__label,
.ms-soon__form legend {
  font-size: 14px;
  font-weight: 600;
}

.ms-soon__star {
  color: inherit;
  font-weight: inherit;
}

.ms-soon__form input[type="text"],
.ms-soon__form input[type="tel"] {
  width: 100%;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  background: #fff;
  color: var(--ms-text);
  font: inherit;
  font-size: 16px;
}

.ms-soon__choice {
  display: flex !important;
  align-items: center;
  gap: 0.55rem;
  min-height: 44px;
  font-weight: 500;
}

.ms-soon__choice input {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--ms-primary);
}

.ms-soon__check {
  display: flex !important;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 14px;
}

.ms-soon__check input {
  margin-top: 0.25rem;
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--ms-primary);
}

.ms-soon__note {
  margin: 0.9rem 0 0;
}

.ms-soon__privacy,
.ms-soon__note,
.ms-soon__thanks {
  color: var(--ms-muted);
  font-size: 14px;
}

.ms-soon__privacy,
.ms-soon__thanks {
  margin: 0;
}

.ms-soon__alert,
.ms-soon__field-error {
  margin: 0;
  color: var(--ms-primary);
  font-size: 14px;
  font-weight: 600;
}

.ms-soon__field-error:empty { display: none; }

.ms-soon__form button {
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: var(--ms-primary);
  color: #FBF6EE;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.ms-soon__form button:hover { background: var(--ms-primary-hover); }

.ms-soon__hp {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}

@media (max-width: 560px) {
  .ms-soon__wrap { padding-top: 1.5rem; }
  .ms-soon__logo { height: 64px; }
  .ms-soon__card { padding: 1rem; }
}
