/* ============================================================
   CLÍNICA ALAR — Coming Soon Page
   coming-soon.css: loaded by index.html only
   ============================================================ */

body {
  min-height: 100vh;
  min-height: 100dvh;
  background:
    radial-gradient(60% 55% at 50% 28%, var(--sage-light) 0%, transparent 70%),
    linear-gradient(180deg, var(--taupe-light) 0%, var(--white) 65%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.soon {
  width: 100%;
  max-width: 640px;
  margin-inline: auto;
  padding: clamp(2rem, 6vw, 3rem) 1.5rem;
  text-align: center;
}

.soon__mark {
  display: block;
  width: clamp(4.5rem, 9vw, 6rem);
  height: auto;
  margin-inline: auto;
  margin-bottom: clamp(1.5rem, 4vw, 2.25rem);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  animation: soon-rise .7s ease both;
}

.soon__eyebrow {
  display: inline-block;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--sage-dark);
  margin-bottom: .875rem;
  animation: soon-rise .7s .05s ease both;
}

.soon__title {
  font-size: clamp(2.25rem, 6vw, 3.5rem);
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--black);
  margin-bottom: clamp(1.5rem, 4vw, 2rem);
  animation: soon-rise .7s .1s ease both;
}

.soon__badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .625rem 1.375rem;
  background: var(--sage-dark);
  color: var(--white);
  font-size: .9375rem;
  font-weight: 600;
  border-radius: var(--radius-md);
  margin-bottom: clamp(1.5rem, 4vw, 2rem);
  animation: soon-rise .7s .15s ease both;
}

.soon__badge svg {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}

.soon__hook {
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  color: var(--gray-mid);
  max-width: 42ch;
  margin-inline: auto;
  margin-bottom: clamp(2.5rem, 7vw, 3.5rem);
  animation: soon-rise .7s .2s ease both;
}

.soon__hook strong {
  color: var(--black);
  font-weight: 600;
}

.soon__address {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .8125rem;
  letter-spacing: .01em;
  color: var(--gray-mid);
  padding-top: clamp(1.5rem, 4vw, 2rem);
  border-top: 1px solid var(--border);
  animation: soon-rise .7s .25s ease both;
}

.soon__address svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--sage);
}

@keyframes soon-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .soon__mark,
  .soon__eyebrow,
  .soon__title,
  .soon__badge,
  .soon__hook,
  .soon__address {
    animation: none;
  }
}
