.welcome-surface { background: #f9f9ee; }
.welcome-hero { display: grid; grid-template-columns: 35% 65%; height: 43vw; max-height: 840px; }
.welcome-hero h1 { align-self: center; justify-self: center; margin: 35px 0 0; writing-mode: vertical-rl; color: var(--color-accent); font-size: clamp(24px, 2.5vw, 48px); font-weight: 500; letter-spacing: .25em; }
.welcome-hero > img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.welcome-intro { padding-block: 7vw 4vw; text-align: center; }
.welcome-intro h2 { font-size: clamp(16px, 1.5vw, 28px); margin: 0 0 2vw; letter-spacing: .15em; line-height: 1.8; }
.welcome-intro > img { width: 70%; margin-inline: auto; }
.welcome-intro p { font-size: clamp(13px, 1.05vw, 20px); line-height: 2; margin: 3vw 0 0; }
.welcome-heading { margin: 0; color: var(--color-accent); font-size: clamp(20px, 1.8vw, 32px); line-height: 1.9; letter-spacing: .15em; text-align: center; }
.welcome-values { padding-block: 6vw 3vw; }
.welcome-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3vw; margin-top: 4vw; }
.welcome-feature img { width: 100%; }
.welcome-values h3 { font-size: clamp(15px, 1.5vw, 27px); color: #508460; line-height: 1.8; margin: 1.5vw 0; text-align: center; }
.welcome-values p { font-size: clamp(13px, 1.1vw, 20px); line-height: 2; margin: 0; }
.welcome-food { display: grid; grid-template-columns: 40% 55%; gap: 5%; align-items: center; margin: 8vw auto 0; width: 90%; }
.welcome-food__children { width: 90%; }
.welcome-food__kitchen > img { width: 100%; }
.welcome-food__copy { margin: 3vw 0 0 auto; width: 85%; }
.welcome-nurse { display: grid; grid-template-columns: 34% 44%; gap: 6%; align-items: center; width: 84%; margin: -1vw auto 0; }
.welcome-nurse > img { width: 100%; }
.welcome-instagram { background: #f9f9ee; padding: 7vw 5vw; }
.welcome-voices { background: #fcedc0; padding: 7vw 0 9vw; }
.welcome-voices .welcome-heading { color: var(--color-text); }
.welcome-voices__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5vw; align-items: start; width: 88%; margin: 4vw auto 0; }
.welcome-voice { background: #fff; border-radius: 3.2vw; padding: 2.8vw 2vw 3.5vw; }
.welcome-voice:nth-child(2) { margin-top: 5vw; }
.welcome-voice:nth-child(3) { margin-top: 2.3vw; }
.welcome-voice h3 { display: flex; align-items: center; justify-content: flex-end; gap: .5em; margin: 0 0 2vw; color: var(--color-yellow); }
.welcome-voice h3 span { font-size: clamp(11px, 1vw, 17px); line-height: 1.3; letter-spacing: .1em; }
.welcome-voice strong { font-family: "Montserrat", sans-serif; font-weight: 800; font-size: clamp(32px, 4vw, 64px); line-height: 1; }
.welcome-voice p { margin: 0; font-size: clamp(13px, 1.1vw, 20px); line-height: 2.1; }
@media (max-width: 767px) {
  .welcome-hero { grid-template-columns: 28% 72%; height: 82vw; min-height: 300px; max-height: 450px; }
  .welcome-hero h1 { font-size: 20px; letter-spacing: .15em; margin-top: 44px; }
  .welcome-hero > img { object-position: 48% center; }
  .welcome-intro { padding-block: 44px 36px; }
  .welcome-intro h2 { font-size: 16px; margin-bottom: 20px; letter-spacing: .08em; }
  .welcome-intro > img { width: 100%; }
  .welcome-intro p { margin-top: 20px; font-size: 13px; text-align: left; }
  .welcome-values { padding-block: 44px; }
  .welcome-heading { font-size: 18px; letter-spacing: .1em; }
  .welcome-features { grid-template-columns: 1fr; gap: 36px; margin-top: 28px; }
  .welcome-feature img { width: min(100%, 340px); margin-inline: auto; }
  .welcome-values h3 { font-size: 16px; margin: 12px 0; }
  .welcome-values p { font-size: 14px; }
  .welcome-feature p { max-width: 340px; margin-inline: auto; }
  .welcome-food { width: 100%; margin-top: 48px; grid-template-columns: 32% 64%; gap: 4%; align-items: start; }
  .welcome-food__children { width: 100%; margin-top: 60px; }
  .welcome-food__kitchen { display: contents; }
  .welcome-food__copy { grid-column: 1 / -1; width: 100%; margin-top: 12px; }
  .welcome-nurse { width: 100%; grid-template-columns: 35% 59%; gap: 6%; margin-top: 36px; }
  .welcome-nurse h3 { text-align: left; font-size: 15px; }
  .welcome-nurse p { font-size: 13px; }
  .welcome-instagram { padding: 44px 5vw; }
  .welcome-voices { padding-block: 44px; }
  .welcome-voices__grid { grid-template-columns: 1fr; width: 100%; max-width: 420px; gap: 20px; margin-top: 28px; }
  .welcome-voice { padding: 24px; border-radius: 28px; }
  .welcome-voice:nth-child(2), .welcome-voice:nth-child(3) { margin-top: 0; }
  .welcome-voice h3 { margin-bottom: 18px; }
  .welcome-voice h3 span { font-size: 12px; }
  .welcome-voice strong { font-size: 42px; }
  .welcome-voice p { font-size: 14px; }
}
