/* A short homepage with four distinct sections; full details stay on separate pages. */
body[data-page="index.html"] > main { display: block; }
body[data-page="index.html"] .hero { padding-block: 48px 52px; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 40px; }
html body[data-page="index.html"] .hero h1 { max-width: 22ch; font-size: clamp(2.125rem, 4.25vw, 3.625rem); line-height: 1.14; margin-bottom: 22px; }
body[data-page="index.html"] .hero .lede { max-width: 42ch; margin-bottom: 24px; }
body[data-page="index.html"] .actions { align-items: center; gap: 12px 24px; }
body[data-page="index.html"] .hero .brand-stage { display: flex; min-height: 280px; padding: 24px; background: transparent; }
body[data-page="index.html"] .hero .brand-stage img { width: 100%; max-width: 300px; }
body[data-page="index.html"] .home-brand-line { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; font-size: .9375rem; font-weight: 600; line-height: 1.5; letter-spacing: 0; }
.home-brand-line span { padding-bottom: 5px; border-bottom: 3px solid var(--orange); }
.home-brand-line span:nth-child(2) { border-color: var(--blush); }
.home-brand-line span:nth-child(3) { border-color: var(--gold); }

/* Services are choices to open, with the whole row acting as the link. */
.home-services { padding-block: 44px 48px; background: var(--cream); border-block: 1px solid var(--olive); }
body[data-page="index.html"] .home-services h2 { font-size: 2rem; line-height: 1.25; margin-bottom: 24px; }
.home-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.home-service { --service-accent: var(--orange); --service-wash: var(--sunrise-wash); min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 24px; border: 1px solid var(--olive); border-left: 5px solid var(--service-accent); border-radius: 9px; background: var(--cream); color: var(--charcoal); text-decoration: none; }
.home-service[data-home-audience="presence"] { --service-accent: var(--blush); --service-wash: var(--blush-wash); }
.home-service[data-home-audience="individual"] { --service-accent: var(--gold); --service-wash: var(--manila-wash); }
body[data-page="index.html"] .home-service h3 { font-size: 1.375rem; line-height: 1.3; font-weight: 650; margin-bottom: 8px; }
.home-service p { font-size: 1rem; line-height: 1.5; margin: 0; }
.home-service-arrow { font-size: 1.75rem; line-height: 1; }
.home-service:hover, .home-service:focus-visible { background: var(--service-wash); }
.home-service:hover h3, .home-service:focus-visible h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* A shared, photo-led founder introduction. */
.home-people { background: var(--olive-wash); padding-block: 48px; }
.home-people-intro { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 48px; align-items: center; }
.home-portraits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.home-portraits figure { margin: 0; min-width: 0; }
.home-portraits img { display: block; width: 148px; max-width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border: 1px solid var(--olive); border-radius: 8px; background: var(--cream); }
.home-portraits figcaption { font-size: 1rem; font-weight: 600; line-height: 1.5; margin-top: 7px; }
body[data-page="index.html"] .home-people h2 { font-size: 2rem; line-height: 1.25; margin-bottom: 12px; }
.home-people-copy { min-width: 0; }
.home-people-copy p { max-width: 43ch; margin-bottom: 12px; }
.home-founder-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding-block: 6px; font-size: 1rem; font-weight: 600; line-height: 1.5; }

/* The final invitation has a clear change of tone and a visible next step. */
.home-invitation { padding-block: 48px 52px; background: var(--charcoal); color: var(--cream); border-top: 4px solid var(--gold); }
.home-invitation > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 28px 40px; }
body[data-page="index.html"] .home-invitation h2 { max-width: 22ch; font-size: 2.25rem; font-weight: 650; line-height: 1.2; margin-bottom: 14px; color: var(--cream); }
.home-invitation p { max-width: 43ch; margin-bottom: 0; color: var(--cream); }
.home-invitation .button.primary { flex-shrink: 0; min-height: 48px; background: var(--blush); color: var(--charcoal); border-color: var(--blush); }
.home-invitation .button.primary:hover { background: var(--cream); border-color: var(--cream); }
.home-invitation .button:focus-visible { outline-color: var(--cream); box-shadow: 0 0 0 4px var(--charcoal); }

@media screen and (max-width: 900px) {
  /* The header logo and Sunrise-colored wordmark form one compact mobile opening. */
  body[data-page="index.html"] .hero { grid-template-columns: minmax(0, 1fr); padding-block: 30px 36px; gap: 0; }
  body[data-page="index.html"] .hero .brand-stage { display: none; }
  html body[data-page="index.html"] .hero h1 { max-width: 23ch; font-size: 2.375rem; }
  body[data-page="index.html"] .hero .lede { max-width: 44ch; font-size: 1.125rem; line-height: 1.6; }
  .home-services { padding-block: 32px 36px; }
  body[data-page="index.html"] .home-services h2 { font-size: 1.625rem; margin-bottom: 20px; }
  .home-service-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .home-service { padding: 17px 18px; gap: 18px; }
  body[data-page="index.html"] .home-service h3 { font-size: 1.25rem; margin-bottom: 6px; }
  .home-service p { font-size: 1rem; line-height: 1.5; }
  .home-people { padding-block: 36px; }
  .home-people-intro { gap: 28px; }
  .home-portraits { gap: 16px; }
  .home-portraits img { width: 124px; }
  body[data-page="index.html"] .home-people h2 { font-size: 1.875rem; }
  .home-people-copy p { font-size: 1.0625rem; line-height: 1.6; }
  .home-invitation { padding-block: 36px 40px; }
  .home-invitation > .wrap { align-items: flex-start; flex-direction: column; gap: 24px; }
  body[data-page="index.html"] .home-invitation h2 { font-size: 2rem; }
  .home-invitation p { font-size: 1.0625rem; line-height: 1.6; }
}
@media screen and (max-width: 650px) {
  html body[data-page="index.html"] .hero h1 { font-size: clamp(1.875rem, 8.2vw, 2.25rem); line-height: 1.17; margin-bottom: 18px; }
  body[data-page="index.html"] .hero .lede { margin-bottom: 20px; }
  body[data-page="index.html"] .home-brand-line { font-size: .875rem; margin-bottom: 18px; }
  body[data-page="index.html"] .actions { gap: 8px; }
  .home-people-intro { grid-template-columns: minmax(0, 1fr); gap: 22px; text-align: center; }
  .home-portraits { justify-self: center; }
  .home-portraits img { width: 136px; }
  body[data-page="index.html"] .home-people h2 { font-size: 1.75rem; }
  .home-people-copy p { max-width: 34ch; margin-inline: auto; }
  .home-invitation .button { width: 100%; }
}
@media screen and (max-width: 360px) {
  .home-service { padding-inline: 14px; gap: 12px; }
  .home-portraits { gap: 14px; }
  .home-portraits img { width: 124px; }
}
@media (forced-colors: active) {
  .home-service { border-color: LinkText; }
  .home-invitation { border-color: CanvasText; }
  .home-service:focus-visible, .home-invitation .button:focus-visible { outline-color: Highlight; box-shadow: none; }
}
@media print {
  .home-service-grid, .home-people-intro { grid-template-columns: 1fr; }
  .home-service, .home-people-intro { break-inside: avoid; }
  .home-services, .home-people { padding-block: 20px; }
  .home-invitation { display: none; }
}
