/* ============================================================
   WELCOME
   Warm, personal intro. Eases out of the dark hero onto oat.
   Asymmetric two-column: image left, note right.
   ============================================================ */

.welcome {
  background: var(--oat);
  padding-block: clamp(4rem, 9vw, 8rem);
}

.welcome-inner {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

@media (min-width: 900px) {
  .welcome-inner {
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(3rem, 6vw, 6rem);
  }
}

/* ---- image ---- */
.welcome-media {
  position: relative;
}
.welcome-media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 1px solid var(--line);
}
.welcome-caption {
  display: block;
  margin-top: var(--space-s);
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--step--1);
  color: var(--stone);
}

/* ---- text ---- */
.welcome-overline {
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--wine);
  margin-bottom: var(--space-s);
}
.welcome-title {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--step-4);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin-bottom: var(--space-m);
}
.welcome-title em {
  font-style: italic;
  color: var(--wine);
}
.welcome-body p {
  font-size: var(--step-0);
  line-height: 1.75;
  color: var(--ink-soft);
  max-width: 48ch;
}
.welcome-body p + p {
  margin-top: 1.1em;
}
.welcome-body p.welcome-sign {
  font-family: var(--font-display);
  font-style: italic;
  font-size: var(--step-1);
  color: var(--ink);
  margin-top: var(--space-l);
}
.welcome-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  margin-top: var(--space-m);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--step--1);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  padding-bottom: 3px;
  transition: color 0.3s var(--ease), border-color 0.3s var(--ease);
}
.welcome-link svg {
  transition: transform 0.3s var(--ease);
}
.welcome-link:hover {
  color: var(--wine);
  border-color: var(--wine);
}
.welcome-link:hover svg {
  transform: translateX(4px);
}

/* ---- stagger ---- */
.welcome-title.reveal { transition-delay: 0.08s; }
.welcome-body.reveal { transition-delay: 0.16s; }