.home-hero {
  position: relative;
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 3rem);
  align-items: stretch;
}

.hero-layout--variant {
  grid-auto-flow: dense;
}

.hero-layout__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}

.hero-layout__highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
}

.hero-highlight__label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--color-text-muted);
  display: block;
  margin-bottom: var(--space-3);
}

.hero-layout__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
}

.hero-layout__disclaimer {
  font-size: 0.8rem;
}

.hero-layout__visual {
  align-self: stretch;
}

.hero-grid__panel--photo {
  grid-template-rows: minmax(180px, 1.3fr) minmax(120px, 1fr);
}

.hero-grid__image-block--tall {
  grid-row: span 2;
}

.hero-grid__image-block--wide {
  align-self: flex-end;
}

.hero-panel-note {
  display: flex;
  align-items: stretch;
}

.hero-panel-note__inner {
  padding: clamp(1.5rem, 3vw, 2.2rem);
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.hero-panel-note__meta {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--color-text-muted);
}

.hero-panel-note__list {
  display: grid;
  gap: var(--space-3);
  font-size: 0.9rem;
  color: var(--color-text-soft);
}

.hero-panel-note__cta {
  align-self: flex-start;
}

.home-section-heading {
  max-width: 720px;
  margin-bottom: var(--space-16);
}

.home-section-heading--center {
  text-align: center;
  margin-inline: auto;
}

.home-section-heading--center p {
  margin-inline: auto;
}

.home-services__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.25fr);
  gap: var(--space-16);
  align-items: center;
}

.home-services__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}

.home-services__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-10);
}

.service-item h3 {
  font-size: var(--font-size-xl);
}

.home-services__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
}

.home-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-10);
}

.why-card {
  padding: var(--space-12);
}

.home-signature__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.1fr);
  gap: var(--space-16);
  align-items: center;
}

.home-signature__cards {
  display: grid;
  gap: var(--space-10);
}

.home-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-12);
  margin-bottom: var(--space-12);
}

.testimonial-card blockquote {
  margin-bottom: var(--space-6);
}

.testimonial-card__name {
  font-weight: 600;
  display: block;
}

.testimonial-card__meta {
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.home-team__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: var(--space-16);
  align-items: center;
}

.home-team__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.home-team__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-10);
}

.home-team__link {
  align-self: flex-start;
}

.home-case-study__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: var(--space-16);
  align-items: center;
}

.home-case-study__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}

.home-case-study__steps {
  display: grid;
  gap: var(--space-8);
}

.case-step h3 {
  font-size: var(--font-size-lg);
}

.home-case-study__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
}

.home-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
  gap: var(--space-16);
  align-items: flex-start;
}

.home-faq__items {
  display: grid;
  gap: var(--space-8);
}

.faq-item h3 {
  font-size: var(--font-size-lg);
}

.home-booking__shell {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: var(--space-16);
  align-items: flex-start;
}

.home-booking__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.home-booking__details {
  border-top: 1px solid rgba(184, 168, 150, 0.4);
  padding-top: var(--space-8);
}

.home-booking__form-wrapper {
  background: radial-gradient(circle at top left, rgba(253, 249, 244, 0.96) 0, rgba(247, 241, 233, 0.98) 40%, rgba(241, 235, 227, 1) 100%);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
  border: 1px solid rgba(184, 168, 150, 0.6);
  padding: clamp(1.75rem, 3vw, 2.25rem);
}

.home-booking__form {
  display: grid;
  gap: var(--space-6);
}

.home-booking__consent {
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.home-booking__checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
}

.home-booking__checkbox input[type="checkbox"] {
  margin-top: 0.2rem;
}

.home-booking__submit {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.home-booking__note {
  font-size: 0.85rem;
}

@media (max-width: 1199px) {
  .home-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-testimonials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 899px) {
  .hero-layout,
  .home-services__grid,
  .home-signature__grid,
  .home-team__grid,
  .home-case-study__grid,
  .home-faq__grid,
  .home-booking__shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-layout__highlights {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-services__items {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-team__columns {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .home-why__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-testimonials__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-section-heading {
    margin-bottom: var(--space-12);
  }

  .home-booking__shell {
    gap: var(--space-12);
  }
}
