/* ECC Services extension: load AFTER global styles.css. No global header/footer replacements. */
.ecc-services-hero,.ecc-detail-hero{background:#EDF1F0;padding:5rem 0 5.5rem}
.ecc-services-hero__inner,.ecc-detail-hero .container{max-width:1200px}
.ecc-services-hero h1,.ecc-detail-hero h1{max-width:850px;margin:0 0 1.5rem;color:#182728;font-size:clamp(2.3rem,6vw,4.25rem);line-height:1.12;letter-spacing:-.035em}
.ecc-services-hero p:not(.section-eyebrow),.ecc-detail-hero p:not(.section-eyebrow){max-width:650px;margin:0 0 2rem;color:#455657;font-size:1.125rem;line-height:1.7}
.ecc-services-intro,.ecc-services-catalog,.ecc-services-photo-strip,.ecc-services-next,.ecc-detail-section,.ecc-detail-cta{padding:4rem 0}
.ecc-services-intro,.ecc-services-photo-strip,.ecc-detail-section{background:#fff}
.ecc-services-catalog,.ecc-detail-section--tinted{background:#EDF1F0}
.ecc-services-next,.ecc-detail-cta{background:#275D60;color:#fff}
.ecc-services-split,.ecc-detail-two{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center}
.ecc-services-split h2,.ecc-services-heading h2,.ecc-services-next h2,.ecc-detail-section h2,.ecc-detail-cta h2{margin:0 0 1.25rem;color:#182728;font-size:clamp(2rem,5vw,3.25rem);line-height:1.12}
.ecc-services-split p:not(.section-eyebrow),.ecc-services-next p:not(.section-eyebrow),.ecc-detail-section p,.ecc-detail-cta p:not(.section-eyebrow){color:#455657;line-height:1.75;margin:0 0 1.25rem}
.ecc-services-heading{margin-bottom:2.25rem}
.ecc-service-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.ecc-service-tile{display:flex;flex-direction:column;min-height:100%;padding:2rem;border:1px solid #D7E1DF;border-radius:6px;background:#fff}
.ecc-service-tile h3,.ecc-detail-three h3{font-size:1.5rem;color:#182728;margin:0 0 1rem;line-height:1.25}
.ecc-service-tile p:not(.section-eyebrow){color:#455657;line-height:1.7;margin:0 0 1.75rem}
.ecc-service-tile .service-link{margin-top:auto;color:#245A5A;font-weight:700;text-decoration:none;align-self:flex-start}
.ecc-service-tile .service-link:hover{text-decoration:underline;text-underline-offset:4px}
.ecc-services-photo-strip figure,.ecc-detail-photo figure{margin:0;border-radius:6px;overflow:hidden;background:#D7E1DF}
.ecc-services-photo-strip img,.ecc-detail-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ecc-services-next h2,.ecc-detail-cta h2{color:#fff}
.ecc-services-next .section-eyebrow,.ecc-detail-cta .section-eyebrow{color:#D7E7E5}
.ecc-services-next p:not(.section-eyebrow),.ecc-detail-cta p:not(.section-eyebrow){color:#fff}
.ecc-services-next .button,.ecc-detail-cta .button{background:#fff;border-color:#fff;color:#245A5A}
.ecc-services-next .button:hover,.ecc-detail-cta .button:hover{background:#EDF1F0;border-color:#EDF1F0;color:#183F40}
.ecc-breadcrumb{padding-top:1rem;padding-bottom:1rem;display:flex;gap:.5rem;flex-wrap:wrap;font-size:.9rem;color:#455657}
.ecc-breadcrumb a{color:#245A5A}
.ecc-focus-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.ecc-focus-list li{padding:1.1rem 1.25rem;border:1px solid #D7E1DF;border-radius:6px;background:#fff;color:#182728;font-weight:600}
.ecc-detail-three{display:grid;grid-template-columns:1fr;gap:1rem}
.ecc-detail-three article{background:#fff;border:1px solid #D7E1DF;border-radius:6px;padding:1.75rem}
.ecc-back-link{color:#fff;font-weight:600}
/* Navbar extension: original .header-container, .nav-list, and .menu-icon remain unchanged. */
.nav-list .nav-services{position:relative;min-width:0}
.nav-services__trigger{display:flex;align-items:center}
.nav-services__trigger>a{flex:1;min-width:0}
.nav-submenu-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;padding:9px;background:transparent;border:1px solid transparent;border-radius:6px;color:#245A5A;cursor:pointer}
.nav-submenu-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.nav-submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-submenu{display:none;list-style:none;padding:0 0 .5rem 1rem;margin:0;min-width:0}
.nav-services.is-open>.nav-submenu{display:block}
.nav-submenu a{font-size:.94rem;white-space:normal}
.nav-submenu-toggle:focus-visible{outline:3px solid #245A5A;outline-offset:2px}
/* The parent Services link remains usable independent of the submenu control. */
@media(min-width:768px){.ecc-services-intro,.ecc-services-catalog,.ecc-services-photo-strip,.ecc-services-next,.ecc-detail-section,.ecc-detail-cta{padding:5rem 0}.ecc-services-split,.ecc-detail-two{grid-template-columns:1fr 1fr;gap:3.5rem}.ecc-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecc-detail-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.nav-submenu-toggle{width:32px;height:36px;padding:6px;margin-left:-8px}.nav-submenu{position:absolute;z-index:1100;top:100%;left:0;min-width:245px;max-width:300px;padding:.5rem;background:#fff;border:1px solid #D8E0E0;border-radius:6px;box-shadow:0 12px 28px rgba(25,71,74,.12)}.nav-services:hover>.nav-submenu,.nav-services:focus-within>.nav-submenu{display:block}.nav-submenu a{padding:10px 12px;white-space:normal}}
@media(min-width:1200px){.ecc-services-intro,.ecc-services-catalog,.ecc-services-photo-strip,.ecc-services-next,.ecc-detail-section,.ecc-detail-cta{padding:6rem 0}}
@media(prefers-reduced-motion:reduce){.nav-submenu-toggle svg{transition:none}}

/* =========================================
   ECC SITE-WIDE HERO STANDARDIZATION
   Homepage reference
========================================= */

/* 1. UNIFORM HERO SPACING */

.hero,
.about-hero,
.therapists-hero,
.faq-hero,
.testimonials-hero,
.ecc-services-hero,
.ecc-detail-hero {
    padding: 60px 20px 72px;
}

/* 2. UNIFORM CONTENT CONTAINERS */

.hero-container,
.about-hero > .container,
.therapists-hero-container,
.faq-hero-container,
.testimonials-hero-inner,
.ecc-services-hero__inner,
.ecc-detail-hero > .container {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* 3. CONSISTENT TEXT ALIGNMENT */

.about-hero__content,
.therapists-hero-content,
.faq-hero-content,
.testimonials-hero-copy,
.ecc-services-hero__inner,
.ecc-detail-hero > .container {
    text-align: left;
}

/* Remove FAQ-specific centering */

.faq-hero-container {
    justify-content: flex-start;
}

.faq-hero-content {
    max-width: 760px;
    margin: 0;
}

/* 4. UNIFORM HERO HEADINGS */

.hero-title,
.about-hero__title,
.therapists-hero h1,
.faq-hero-title,
.testimonials-hero-copy h1,
.ecc-services-hero h1,
.ecc-detail-hero h1 {
    margin: 0 0 24px;
    max-width: 850px;

    font-family: var(--font-primary);
    font-size: clamp(2.25rem, 6vw, 4.25rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.035em;

    color: var(--color-heading);
}

/* 5. UNIFORM EYEBROW SPACING */

.hero .hero-eyebrow,
.about-hero .about-hero__eyebrow,
.therapists-hero .section-eyebrow,
.faq-hero .section-eyebrow,
.testimonials-hero .eyebrow,
.ecc-services-hero .section-eyebrow,
.ecc-detail-hero .section-eyebrow {
    margin: 0 0 20px;

    font-family: var(--font-primary);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--color-teal-accent);
}

/* 6. UNIFORM DESCRIPTION SPACING */

.hero-description,
.about-hero__description,
.therapists-hero-description,
.faq-hero-description,
.testimonials-hero-copy .hero-lead,
.ecc-services-hero p:not(.section-eyebrow),
.ecc-detail-hero p:not(.section-eyebrow) {
    max-width: 650px;
    margin: 0 0 24px;

    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.7;

    color: var(--color-body-muted);
}

/* Preserve spacing between multiple paragraphs */

.about-hero__description:last-of-type,
.therapists-hero-description:last-of-type {
    margin-bottom: 32px;
}

/* FAQ description: remove automatic centering */

.faq-hero-description {
    margin-left: 0;
    margin-right: 0;
}

/* 7. HOMEPAGE-ALIGNED HERO BUTTON SPACING */

.about-hero__actions,
.hero-actions {
    margin-top: 8px;
}

.therapists-hero .button {
    margin-top: 8px;
}

/* 8. TABLET SPACING */

@media (min-width: 768px) {

    .hero,
    .about-hero,
    .therapists-hero,
    .faq-hero,
    .testimonials-hero,
    .ecc-services-hero,
    .ecc-detail-hero {
        padding: 88px 32px;
    }

}

/* 9. LARGE DESKTOP SPACING */

@media (min-width: 1200px) {

    .hero,
    .about-hero,
    .therapists-hero,
    .faq-hero,
    .testimonials-hero,
    .ecc-services-hero,
    .ecc-detail-hero {
        padding: 112px 32px;
    }

}

/* 10. SMALL MOBILE SCREENS */

@media (max-width: 374px) {

    .hero,
    .about-hero,
    .therapists-hero,
    .faq-hero,
    .testimonials-hero,
    .ecc-services-hero,
    .ecc-detail-hero {
        padding-left: 16px;
        padding-right: 16px;
    }

    .hero-title,
    .about-hero__title,
    .therapists-hero h1,
    .faq-hero-title,
    .testimonials-hero-copy h1,
    .ecc-services-hero h1,
    .ecc-detail-hero h1 {
        font-size: 2rem;
    }

    .hero-description,
    .about-hero__description,
    .therapists-hero-description,
    .faq-hero-description,
    .testimonials-hero-copy .hero-lead,
    .ecc-services-hero p:not(.section-eyebrow),
    .ecc-detail-hero p:not(.section-eyebrow) {
        font-size: 1rem;
    }

}

/* Scoped refinements for the Services directory and its detail pages. */
.ecc-services-photo-strip .ecc-photo--mirrored { transform: scaleX(-1); }
.ecc-detail-cta .button + p { margin-top: 2.5rem; margin-bottom: 0; }
.ecc-detail-two--expectation-reversed .ecc-expectation-copy { text-align: left; }
@media (max-width: 767px) {
    .ecc-detail-two--expectation-reversed .ecc-expectation-heading { order: -1; }
}
@media (min-width: 768px) {
    .ecc-detail-two--expectation-reversed .ecc-expectation-heading { text-align: right; }
    .ecc-detail-three--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Shared Services hero: edit this block once for the overview and all detail pages.
   Each image can set --hero-image-position (for example: 50% 30%) on its figure. */
.ecc-services-hero .ecc-service-hero-grid,
.ecc-detail-hero .ecc-service-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 2.5rem;
}
.ecc-service-hero-copy { min-width: 0; }
.ecc-service-hero-copy h1 { overflow-wrap: break-word; }
.ecc-service-hero-copy .button { max-width: 100%; white-space: normal; text-align: center; }
.ecc-service-hero-image {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    border-radius: 6px;
    background: #D7E1DF;
    aspect-ratio: 4 / 3;
}
.ecc-service-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--hero-image-position, center);
}
@media (min-width: 900px) {
    .ecc-services-hero .ecc-service-hero-grid,
    .ecc-detail-hero .ecc-service-hero-grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
        gap: clamp(2rem, 4vw, 4rem);
    }
    .nav-submenu { min-width: 290px; max-height: calc(100dvh - 110px); overflow-y: auto; }
}

/* Alternating Services layout: hero copy left; focus heading right;
   explanation heading left; closing photograph left. */
.ecc-layout-focus, .ecc-layout-explanation, .ecc-layout-photo {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    align-items: center;
}
.ecc-layout-focus > *, .ecc-layout-explanation > *, .ecc-layout-photo > * { min-width: 0; }
.ecc-layout-heading, .ecc-layout-copy, .ecc-layout-photo-copy { text-align: left; }
.ecc-layout-catalog { margin-top: 2.5rem; }
.ecc-layout-extra { margin-top: 2rem; }
.ecc-layout-extra h3 { color: #182728; font-size: 1.5rem; line-height: 1.3; margin: 0 0 1rem; }
.ecc-layout-modalities { display: grid; gap: 1.5rem; }
.ecc-layout-modalities article { padding: 0; }
.ecc-layout-focus .ecc-focus-list a { display: block; color: #245A5A; text-decoration: none; }
.ecc-layout-focus .ecc-focus-list a:hover { text-decoration: underline; }
.ecc-layout-photo figure { margin: 0; }
@media (min-width: 900px) {
    .ecc-layout-focus, .ecc-layout-explanation, .ecc-layout-photo {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3.5rem;
    }
    .ecc-layout-focus > .ecc-layout-heading { grid-column: 2; grid-row: 1; }
    .ecc-layout-focus > .ecc-focus-list { grid-column: 1; grid-row: 1; }
    .ecc-layout-explanation { align-items: start; }
    .ecc-layout-explanation > .ecc-layout-heading { grid-column: 1; grid-row: 1; }
    .ecc-layout-explanation > .ecc-layout-copy { grid-column: 2; grid-row: 1; }
    .ecc-layout-photo > figure { grid-column: 1; grid-row: 1; }
    .ecc-layout-photo > .ecc-layout-photo-copy { grid-column: 2; grid-row: 1; }
}

/* Family Therapy & Parent Support: third-section layout */

@media (min-width: 900px) {

    body:has(.nav-submenu a[aria-current="page"][href*="family-therapy-parent-support"])
    .ecc-layout-explanation {
        row-gap: 0;
        align-items: start;
    }

    body:has(.nav-submenu a[aria-current="page"][href*="family-therapy-parent-support"])
    .ecc-layout-explanation > .ecc-layout-copy {
        display: contents;
    }

    body:has(.nav-submenu a[aria-current="page"][href*="family-therapy-parent-support"])
    .ecc-layout-explanation > .ecc-layout-heading {
        grid-column: 1;
        grid-row: 1;
    }

    body:has(.nav-submenu a[aria-current="page"][href*="family-therapy-parent-support"])
    .ecc-layout-explanation > .ecc-layout-copy > p:nth-of-type(1) {
        grid-column: 1;
        grid-row: 2;
    }

    body:has(.nav-submenu a[aria-current="page"][href*="family-therapy-parent-support"])
    .ecc-layout-explanation > .ecc-layout-copy > p:nth-of-type(2) {
        grid-column: 1;
        grid-row: 3;
        align-self: start;
    }

    body:has(.nav-submenu a[aria-current="page"][href*="family-therapy-parent-support"])
    .ecc-layout-explanation > .ecc-layout-copy > .ecc-layout-extra {
        grid-column: 2;
        grid-row: 1 / span 3;
        align-self: start;
        margin-top: 0;
    }

}
