/* Homepage introduction and early parent trust links. */
.concept-1 .hero h1 { font-size:clamp(2.8rem,4.6vw,4.5rem); line-height:1.08; }
.hero-copy strong { display:block; margin-top:.65rem; }
.hero-proof-links { display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; margin-top:1.5rem; font-size:.9rem; line-height:1.5; }
.hero-proof-links a { text-decoration:underline; text-underline-offset:4px; font-weight:700; }
.hero-proof-links a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.early-trust { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:1.5rem; }
.early-trust-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:clamp(1.5rem,3vw,2.5rem); border-radius:1.5rem; background:#f8f0e3; }
.early-trust-reviews { background:#e5efe7; }
.early-trust-card .eyebrow { margin-bottom:.75rem; }
.early-trust-card h2 { font-size:clamp(1.6rem,2.4vw,2.2rem); line-height:1.2; margin-bottom:.8rem; }
.early-trust-card p:not(.eyebrow) { margin-bottom:1.25rem; }
.early-trust-card .button { margin-top:auto; max-width:100%; }
@media(max-width:760px) {
  .concept-1 .hero h1 { font-size:clamp(2.5rem,10vw,3.8rem); }
  .early-trust { grid-template-columns:1fr; }
  .hero-proof-links { font-size:.88rem; }
}

/* A quiet, solid-colour introduction on every screen size. */
.concept-1 .hero { background:#f8f0e3; color:var(--ink); min-height:0; align-items:center; }
.concept-1 .hero-content { color:var(--ink); padding-block:clamp(2.5rem,6vw,5rem); }
.concept-1 .hero-content > * { max-width:780px; }
.concept-1 .hero h1 { max-width:780px; }
.concept-1 .hero .eyebrow.light { color:var(--pink-dark); }
.concept-1 .hero .button-ghost { color:var(--pink-dark); border-color:var(--pink-dark); }
.concept-1 .hero .button-ghost:hover { background:var(--pink-dark); color:#fff; }
.concept-1 .hero-proof-links { color:var(--ink); }
@media(max-width:760px) {
  .concept-1 .hero-content { width:calc(100% - 2.5rem); }
}

/* Aligned family cards and activity photographs. */
.concept-1 .story { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.concept-1 .story > * { min-width:0; }
.concept-1 .community-gallery { width:100%; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; align-items:stretch; }
.concept-1 .community-card { min-width:0; display:flex; flex-direction:column; border-radius:1rem; }
.concept-1 .community-card > img { width:100%; height:280px; min-height:0; object-fit:contain; background:#f4e9e5; }
.concept-1 .community-photo-pair { width:100%; min-width:0; height:280px; grid-template-columns:repeat(2,minmax(0,1fr)); background:#f4e9e5; }
.concept-1 .community-photo-pair img { width:100%; height:280px; object-fit:contain; }
.concept-1 .community-card figcaption { flex:1; padding:1.25rem; align-content:start; }
.concept-1 .community-card-message { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.concept-1 .community-card-message > img { height:300px; }
.concept-1 .community-card-message figcaption { align-content:center; }
.concept-1 .life > .gallery { width:min(1180px,calc(100% - 3rem)); margin-inline:auto; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; min-height:0; align-items:stretch; }
.concept-1 .gallery figure { min-width:0; margin:0; aspect-ratio:auto; border-radius:1rem; background:#fff; display:flex; flex-direction:column; box-shadow:0 8px 24px rgba(77,55,39,.06); }
.concept-1 .gallery figure img { display:block; width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; flex:none; }
.concept-1 .gallery figcaption { position:static; inset:auto; flex:1; display:flex; align-items:center; justify-content:center; padding:1rem; min-height:4.5rem; background:#fff; font-size:.9rem; line-height:1.45; text-align:center; }
@media(max-width:900px) {
 .concept-1 .life > .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .concept-1 .story { grid-template-columns:minmax(0,1fr); }
 .concept-1 .community-gallery { grid-template-columns:minmax(0,1fr); }
 .concept-1 .community-card-message { grid-column:auto; display:flex; }
 .concept-1 .community-card > img,.concept-1 .community-card-message > img { height:auto; aspect-ratio:4 / 3; }
 .concept-1 .community-photo-pair,.concept-1 .community-photo-pair img { height:240px; }
 .concept-1 .life > .gallery { width:calc(100% - 2rem); }
}
@media(max-width:540px) {
 .concept-1 .life > .gallery { grid-template-columns:minmax(0,1fr); }
 .concept-1 .gallery figure:last-child { grid-column:auto; }
}

/* Explicit contrast for the plain introduction, including mobile overrides. */
.concept-1 .hero { background:#f8f0e3; color:#353033; }
.concept-1 .hero .hero-content,
.concept-1 .hero .hero-content h1,
.concept-1 .hero .hero-copy,
.concept-1 .hero .hero-copy strong,
.concept-1 .hero .hero-proof-links,
.concept-1 .hero .hero-proof-links a { color:#353033; }
.concept-1 .hero .hero-content .eyebrow { color:#93445f; }
.concept-1 .hero .button-ghost { color:#93445f; border-color:#93445f; background:transparent; }
.concept-1 .hero .button-ghost:hover,
.concept-1 .hero .button-ghost:focus-visible { color:#fff; background:#93445f; }
.concept-1 .hero .button:not(.button-ghost) { color:#fff; background:#93445f; border-color:#93445f; }
