/* Full studio photograph, with one readable panel; separate blocks on mobile. */
.home-hero {
  position: relative;
  isolation: isolate;
  padding: 0;
  background: var(--color-background);
}
.home-studio-photo { display: block; width: 100%; height: auto; }
.home-hero .hero-grid { position: relative; grid-template-columns: minmax(0, 1fr); padding-block: 1.5rem; }
.home-hero-copy {
  min-width: 0;
  max-width: 40rem;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-medium);
  background: rgb(255, 252, 247);
  box-shadow: var(--shadow-editorial);
}
.home-hero h1 { max-width: 22ch; font-size: clamp(2rem, 4.5vw, 3.5rem); }
.home-hero .lead { max-width: 52ch; margin-bottom: 0; }
.home-hero .hero-actions { margin-top: 1.25rem; }
.home-professional { display: grid; gap: 1.5rem; align-items: center; margin-bottom: 2rem; }
.home-professional-portrait { margin: 0; min-width: 0; max-width: 16rem; }
.home-professional-portrait img {
  display: block; width: 100%; height: auto;
  border-radius: var(--radius-medium); box-shadow: var(--shadow-editorial);
}
.home-professional-portrait figcaption { margin-top: 0.5rem; font-size: var(--font-size-secondary); color: var(--color-text-muted); }

.home-choices { grid-template-columns: minmax(0, 1fr); }
.home-choices .card { min-width: 0; overflow-wrap: anywhere; }
.home-choice { display: flex; flex-direction: column; }
.home-choice-links { display: grid; gap: 0.75rem; margin-top: auto; }
.home-choice-links a:focus-visible { outline: 3px solid var(--color-primary-dark); outline-offset: 4px; }

.access-note { font-size: var(--font-size-secondary); color: var(--color-text-muted); }
.home-hero .button-outline:not(:hover):not(:focus-visible) { background: var(--color-background); }
@media (min-width: 48rem) {
  .home-professional { grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.75fr); gap: 3rem; }
  .home-professional-portrait { justify-self: end; }
  .home-orientation .home-choices { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-choice { grid-column: span 2; }
  .home-choice:last-child { grid-column: 2 / span 2; }
  .method-section .method-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
  .home-hero .hero-grid { position: absolute; inset-inline: 0; bottom: 0; padding-block: 1.5rem; }
  .home-hero-copy { justify-self: end; background: rgba(255, 252, 247, 0.84); }
  .home-orientation .home-choices { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-choice:nth-child(4), .home-choice:nth-child(6) { grid-column: 2 / span 2; }
  .home-choice:nth-child(5), .home-choice:nth-child(7) { grid-column: 4 / span 2; }
}

/* Keep the same card structure; reuse the existing Premium palette per card. */
.home-choice-premium { border-color: var(--premium-gold); }
.home-choice-premium h3 { color: var(--premium-ivory); }
.home-premium-label {
  display: flex; align-items: center; gap: 0.5rem;
  margin-bottom: 0.75rem; color: var(--premium-gold);
  font-size: var(--font-size-small); font-weight: 650;
}
.home-choice-premium a { color: var(--premium-gold); }
.home-choice-premium a:hover { color: var(--premium-ivory); }
.home-choice-premium a:focus-visible { outline-color: var(--premium-ivory); }
.home-choice-premium:hover, .home-choice-premium:focus-within { border-color: var(--premium-gold); }

.home-testimonials { background: #f4efe5; }
.home-reviews-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
.home-review {
  display: flex; flex-direction: column; min-width: 0; margin: 0;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border: 1px solid var(--premium-gold); border-radius: var(--radius-medium);
  box-shadow: var(--shadow-editorial);
}
.home-review .home-review-rating { margin-bottom: 1rem; color: var(--premium-gold); letter-spacing: 0.12em; }
.home-review blockquote { margin: 0 0 1.5rem; }
.home-review blockquote p { margin: 0; }
.home-review figcaption { display: grid; gap: 0.25rem; margin-top: auto; }
.home-review figcaption span { font-size: var(--font-size-secondary); }
.home-reviews-actions { margin-top: 2rem; }
.home-reviews-actions .button { max-width: 100%; }
@media (min-width: 64rem) {
  .home-reviews-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
