/*
Theme Name: 4TY Light Rebuild
Description: Full-site lighter visual system, approved homepage, mountain footer, and updated leadership content for 4 The Youth staging.
Template: 4ty-modern
Version: 3.1.21
Text Domain: 4ty-approved-homepage
*/

:root{--brand-green:#63bd82;--evergreen:#347457;--evergreen-deep:#285b47;--paper:#fbfaf6;--sage-wash:#e9f3eb;--sand:#efe7d9;--ink:#24312c;--muted:#5c6a64;--line:#d7e2db;--shadow:0 18px 50px rgba(40,91,71,.12)}
body{background:var(--paper);color:var(--ink)}
.approved-home .testimonial,
.approved-home .testimonial p{quotes:none}
.approved-home .testimonial::before,
.approved-home .testimonial::after,
.approved-home .testimonial p::before,
.approved-home .testimonial p::after{content:none!important}
.approved-home .carousel-dot::before{content:none}
.site-header,body.fourty-about-page .site-header,body.fourty-site.fourty-therapy-page .site-header,body.fourty-contact-page .site-header{position:relative;background:rgba(251,250,246,.97);border-bottom:1px solid var(--line);color:#344a40}.header-inner{min-height:88px}.brand img{filter:none}.primary-nav ul a,body.fourty-site.fourty-therapy-page .primary-nav ul a,body.fourty-contact-page .primary-nav ul a{color:#344a40}.primary-nav .button-small{border-color:var(--brand-green);background:var(--brand-green);color:#17382c}.menu-toggle span:not(.screen-reader-text){background:var(--evergreen-deep)}
.trust-strip,.foster-truth,.about-milestone,.therapy-paths{border:0;background:#d9efdf;color:var(--ink)}.trust-grid p,.foster-truth p,.about-milestone-grid div,.therapy-path-grid div{border-color:rgba(40,91,71,.16)}.trust-grid span,.foster-truth span,.about-milestone-grid span,.therapy-path-grid span{color:var(--muted)}
.approved-home .approved-hero{position:relative;isolation:isolate;min-height:630px;padding:120px 0;overflow:hidden;color:#fff}.approved-home .approved-hero:before{position:absolute;z-index:-2;inset:0;background:url('/wp-content/uploads/2020/08/family-hike2-1600x770.jpg') center/cover fixed no-repeat;filter:saturate(.78) contrast(1.03);content:""}.approved-home .approved-hero:after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(12,35,26,.62) 0%,rgba(12,35,26,.46) 42%,rgba(12,35,26,.12) 72%,transparent 100%);content:"";pointer-events:none}.approved-home .approved-hero h1{max-width:760px;font-size:clamp(3.2rem,6.4vw,5.75rem);line-height:.99;letter-spacing:-.045em;text-shadow:0 3px 18px rgba(20,40,31,.46)}.approved-home .approved-hero .eyebrow{color:#d5f3de}.approved-home .hero-lede{max-width:640px;color:rgba(255,255,255,.94);font-size:clamp(1.08rem,1.8vw,1.28rem);line-height:1.55;text-shadow:0 2px 12px rgba(20,40,31,.52)}.approved-home .button-quiet{border-color:rgba(255,255,255,.88);background:rgba(20,40,31,.18);color:#fff}
.approved-home .approved-section{padding:100px 0}.approved-home .section-heading{max-width:740px;margin-bottom:44px}.approved-home .section-heading p:last-child{max-width:640px;color:var(--muted);font-size:1.08rem}.approved-home .service-grid{gap:28px}.approved-home .service-card{border-color:var(--line);border-radius:22px;box-shadow:none}.approved-home .service-image{height:285px}.approved-home .service-content{padding:32px}.approved-home .card-kicker{color:var(--evergreen)}.approved-home .text-link{color:var(--evergreen)}
.approved-home .stories{padding:82px 0;background:var(--sage-wash)}.approved-home .story-intro{margin:0 auto 64px;text-align:center}.approved-home .story-intro h2{margin-bottom:28px}.approved-home .video-frame{position:relative;max-width:900px;margin:0 auto;overflow:hidden;border:7px solid #fff;border-radius:22px;background:var(--ink);box-shadow:var(--shadow);aspect-ratio:16/9}.approved-home .video-preview{position:relative;display:block;width:100%;height:100%;color:#fff}.approved-home .video-preview:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,40,31,.06),rgba(20,40,31,.42));content:""}.approved-home .video-preview img{display:block;width:100%;height:100%;object-fit:cover}.approved-home .video-preview span{position:absolute;z-index:1;top:50%;left:50%;display:inline-flex;align-items:center;gap:12px;padding:14px 20px;transform:translate(-50%,-50%);border-radius:999px;background:rgba(35,49,44,.84);font-weight:800;white-space:nowrap}.approved-home .video-preview svg{width:22px;height:22px;fill:#fff}.approved-home .testimonial-copy{display:flex;flex-direction:column;align-items:center;gap:24px;margin:72px 0 34px;text-align:center}.approved-home .testimonial-copy h2{margin:0}.approved-home .testimonial-copy .button{border-color:var(--brand-green);background:var(--brand-green);color:#143a2b}.approved-home .testimonial-grid{display:grid;min-height:284px;grid-template-columns:repeat(3,1fr);gap:24px}.approved-home .testimonial{display:none;min-height:284px;flex-direction:column;justify-content:space-between;padding:30px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 14px 36px rgba(40,91,71,.09)}.approved-home .testimonial.is-active{display:flex;animation:approved-quote-in .35s ease-out}.approved-home .testimonial p{margin:0 0 26px;color:#40554a;font-size:1.04rem;line-height:1.58}.approved-home .testimonial cite{color:var(--evergreen-deep);font-size:.95rem;font-style:normal;font-weight:800}.approved-home .testimonial cite span{display:block;color:var(--muted);font-size:.85rem;font-weight:400}.approved-home .carousel-controls{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:20px}.approved-home .carousel-toggle{position:relative;display:grid;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--evergreen-deep);cursor:pointer;place-items:center}.approved-home .carousel-toggle span{position:relative;display:block;width:10px;height:12px}.approved-home .carousel-toggle span:before,.approved-home .carousel-toggle span:after{position:absolute;top:0;width:3px;height:12px;border-radius:2px;background:currentColor;content:""}.approved-home .carousel-toggle span:before{left:1px}.approved-home .carousel-toggle span:after{right:1px}.approved-home .carousel-toggle.is-paused span{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor}.approved-home .carousel-toggle.is-paused span:before,.approved-home .carousel-toggle.is-paused span:after{display:none}.approved-home .carousel-toggle:hover{background:rgba(40,91,71,.1)}.approved-home .carousel-dots{display:flex;gap:0}.approved-home .carousel-dot{position:relative;display:grid;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;place-items:center}.approved-home .carousel-dot:after{width:10px;height:10px;border-radius:50%;background:#a7b9ad;content:""}.approved-home .carousel-dot.is-active:after{background:var(--evergreen-deep);transform:scale(1.2)}.approved-home .carousel-dot:focus-visible,.approved-home .carousel-toggle:focus-visible{outline:3px solid var(--evergreen-deep);outline-offset:3px}@keyframes approved-quote-in{from{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.approved-home .approved-closing{padding:82px 0;background:#d9efdf}.approved-home .approved-closing-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}.approved-home .approved-closing h2{max-width:760px;margin-bottom:0}.approved-home .approved-closing .eyebrow{color:var(--evergreen)}.approved-home .approved-closing .button{border-color:var(--brand-green);background:var(--brand-green);color:#143a2b}.approved-home .approved-closing .button-outline{border-color:var(--evergreen);background:transparent;color:var(--evergreen-deep)}
.site-footer{position:relative;min-height:470px;padding:76px 0 28px;overflow:hidden;background:#f7f5ef url('/wp-content/uploads/2020/08/mountain-bg2.jpg') center bottom/cover no-repeat;color:var(--ink)}.site-footer:before{position:absolute;inset:0;background:rgba(247,245,239,.56);content:"";pointer-events:none}.site-footer .footer-grid,.site-footer .footer-bottom{position:relative;z-index:1}.site-footer .footer-grid h2{color:var(--evergreen-deep)}.site-footer .footer-grid p,.site-footer .footer-bottom{color:#58685f}.site-footer .footer-slogan{color:var(--evergreen-deep)!important}.site-footer .footer-logo{filter:none}.site-footer .footer-grid .text-link{color:var(--evergreen);font-weight:800}.site-footer .footer-bottom{border-top-color:rgba(40,91,71,.25)}.site-footer .footer-social{display:flex;flex-wrap:wrap;gap:12px}.site-footer .footer-social a{display:inline-flex;align-items:center;min-height:42px;margin:0;padding:8px 14px;border:1px solid rgba(40,91,71,.35);border-radius:999px;color:var(--evergreen-deep);font-weight:700;text-decoration:none}.site-footer .footer-social a:hover,.site-footer .footer-social a:focus-visible{border-color:var(--evergreen);background:var(--brand-green);color:#143a2b}
.thank-you-main{background:var(--sage-wash)}.thank-you-section{padding:clamp(72px,9vw,128px) 0}.thank-you-card{max-width:820px;margin:0 auto;padding:clamp(32px,6vw,64px);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.thank-you-icon{display:grid;width:58px;height:58px;margin-bottom:30px;border-radius:50%;background:var(--brand-green);color:#17382c;place-items:center}.thank-you-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:3}.thank-you-card h1{max-width:700px;margin:0 0 22px;font-size:clamp(2.6rem,6vw,4.75rem);line-height:1;letter-spacing:-.04em}.thank-you-lede{max-width:66ch;margin:0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.22rem);line-height:1.65}.thank-you-next{margin:38px 0 0;padding-top:32px;border-top:1px solid var(--line)}.thank-you-next h2{margin:0 0 18px;font-size:1.35rem}.thank-you-next ol{display:grid;gap:12px;margin:0;padding-left:1.35rem;color:#40554a}.thank-you-next li{padding-left:8px}.thank-you-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.thank-you-actions .button{border-color:var(--brand-green);background:var(--brand-green);color:#143a2b}.thank-you-actions .button-outline{border-color:var(--evergreen);background:transparent;color:var(--evergreen-deep)}.thank-you-help{margin:28px 0 0;color:var(--muted);font-size:.96rem}.thank-you-help a{color:var(--evergreen-deep);font-weight:800}.thank-you-safety{margin:28px 0 0;padding:18px 20px;border-radius:12px;background:#f3eee5;color:#4f5e57;font-size:.94rem}.thank-you-safety a{color:var(--evergreen-deep);font-weight:800}
@media(max-width:900px){.primary-nav,body.fourty-site.fourty-therapy-page .primary-nav,body.fourty-contact-page .primary-nav{background:var(--evergreen-deep);color:#fff}.primary-nav ul a,body.fourty-site.fourty-therapy-page .primary-nav ul a,body.fourty-contact-page .primary-nav ul a{color:#fff}.approved-home .approved-hero{min-height:0;padding:96px 0}.approved-home .approved-hero:before{background-attachment:scroll}.approved-home .testimonial-grid{grid-template-columns:1fr}.approved-home .approved-closing-inner{display:grid;align-items:start}.site-footer{min-height:0}}@media(max-width:600px){.approved-home .approved-hero{padding:76px 0}.approved-home .approved-hero:before{background-position:62% center}.approved-home .button-row{display:grid}.approved-home .button{width:100%}.approved-home .approved-section,.approved-home .stories{padding:68px 0}.approved-home .service-content{padding:26px}.approved-home .video-preview span{font-size:.9rem}.approved-home .testimonial-copy{margin-top:56px}.site-footer{padding-top:62px}.thank-you-actions{display:grid}.thank-you-actions .button{width:100%}}

/*
THESIS: Every primary page opens inside the same photographic world as the approved homepage; split-image heroes and dark color blocks are retired.
OWN-WORLD: Warm paper and pale growth-green surfaces, white cards, ink typography, logo green for actions, mountain footer, and full-bleed fixed photography.
STORY: Visitors immediately recognize their route, understand the next step, and move into calm, clearly grouped information without a competing legacy palette.
FIRST VIEWPORT: A full-width photograph sits behind one left-aligned headline, concise support copy, and no more than two explicit actions.
FORM: Homepage-derived fixed-image editorial system, extended consistently across four routes.
FINISH: unreviewed and undocumented is unfinished; this build ends with the finish review, the verdict, and DESIGN.md
*/

/* Shared secondary-page hero: the image stays fixed while the page scrolls over it. */
.unified-page-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: 620px;
    padding: 112px 0;
    overflow: hidden;
    align-items: center;
    color: #fff;
}
.unified-page-hero::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    filter: saturate(.78) contrast(1.03) brightness(.78);
    content: "";
}
.unified-page-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg, rgba(20,40,31,.34) 0%, rgba(20,40,31,.12) 58%, rgba(20,40,31,.04) 100%);
    content: "";
}
.unified-page-hero--foster::before {
    background-image: url('/wp-content/uploads/2020/08/foster-parent-1400x770.jpg');
    background-position: center 38%;
}
.unified-page-hero--therapy::before {
    background-image: url('assets/therapy-campfire-v1.jpg');
    background-position: center center;
}
.unified-page-hero--about::before {
    background-image: url('assets/about-community-hero-v2.jpg');
    background-position: center 45%;
}
.unified-page-hero--contact::before {
    background-image: url('assets/contact-therapy-conversation.png');
    background-position: center 42%;
}
.therapy-referral-photo img {
    aspect-ratio: 5 / 4;
    object-position: 65% center;
}
.about-owner-portrait {
    width: min(100%, 320px);
    min-height: 0;
    justify-self: center;
    border: 7px solid #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--shadow);
}
.about-owner-portrait img {
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: contain;
    border-radius: 11px;
}

.therapist-card .therapist-card-top img {
    border-radius: 12px;
}
@media (max-width: 600px) {
    .about-owner-portrait {
        width: min(78vw, 280px);
        min-height: 0;
        margin: 0 auto 1.5rem;
        border-width: 6px;
    }
    .about-owner-portrait img {
        height: auto;
        min-height: 0;
        aspect-ratio: auto;
        object-fit: contain;
    }
}
.unified-page-hero-content {
    position: relative;
    z-index: 1;
}
.unified-page-hero h1 {
    max-width: 820px;
    font-size: clamp(3.2rem, 6.2vw, 5.65rem);
    line-height: .99;
    letter-spacing: -.04em;
    text-wrap: balance;
    text-shadow: 0 3px 18px rgba(20,40,31,.52);
}
.unified-page-hero .eyebrow {
    color: #d5f3de;
    text-shadow: 0 2px 12px rgba(20,40,31,.5);
}
.unified-page-hero-lede {
    max-width: 650px;
    color: rgba(255,255,255,.96);
    font-size: clamp(1.08rem,1.8vw,1.28rem);
    line-height: 1.55;
    text-shadow: 0 2px 12px rgba(20,40,31,.58);
}
.unified-page-hero-note {
    max-width: 620px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.9);
    font-size: .9rem;
    text-shadow: 0 2px 10px rgba(20,40,31,.58);
}
.unified-page-hero .button {
    border-color: var(--brand-green);
    background: var(--brand-green);
    color: #17382c;
}
.unified-page-hero .button-dark {
    border-color: rgba(255,255,255,.9);
    background: rgba(20,40,31,.16);
    color: #fff;
}

/* One restrained palette across all secondary routes. */
.foster-main,
.therapy-main,
.about-main,
.contact-main {
    background: var(--paper);
}
.foster-fit,
.foster-story,
.foster-faq,
.therapy-welcome,
.therapy-approach,
.therapy-referrals,
.about-story,
.about-values,
.contact-section {
    background: var(--paper);
}
.foster-process,
.foster-support,
.therapy-needs,
.therapy-team,
.about-leadership {
    background: var(--sage-wash);
}
.foster-start,
.therapy-inquiry,
.about-difference,
.therapy-safety,
.foster-quote {
    background: #d9efdf;
    color: var(--ink);
}
.therapy-safety .eyebrow,
.therapy-safety h2,
.therapy-safety p,
.therapy-safety a {
    color: var(--ink);
}
.foster-support-panel,
.therapy-approach-card {
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    box-shadow: none;
}
.foster-support-panel .support-label,
.foster-support-panel li {
    color: var(--ink) !important;
}
.foster-support-panel li {
    border-bottom-color: var(--line);
}
.about-difference-card,
.foster-check-card,
.foster-form-card,
.therapy-form-card,
.contact-form-card,
.therapist-card,
.therapy-topic-card {
    border-color: var(--line);
    background: #fff;
    box-shadow: none;
}
.about-difference .button-dark,
.button-dark {
    border-color: var(--evergreen);
    background: transparent;
    color: var(--evergreen-deep);
}
.foster-quote blockquote,
.foster-quote p {
    color: var(--ink);
}
.therapy-topic-card summary {
    min-height: 118px;
}
.therapy-topic-card summary h3 {
    max-width: 24ch;
}
.about-values-grid article {
    padding-top: 32px;
}

@media (max-width: 900px) {
    .primary-nav,
    body.fourty-site.fourty-therapy-page .primary-nav,
    body.fourty-contact-page .primary-nav {
        border-top: 1px solid var(--line);
        background: var(--paper);
        color: var(--ink);
    }
    .primary-nav ul a,
    body.fourty-site.fourty-therapy-page .primary-nav ul a,
    body.fourty-contact-page .primary-nav ul a {
        color: var(--ink);
    }
    .unified-page-hero {
        min-height: 0;
        padding: 94px 0;
    }
    .unified-page-hero::before {
        background-attachment: scroll;
    }
}
@media (max-width: 600px) {
    .unified-page-hero {
        padding: 76px 0;
    }
    .unified-page-hero h1 {
        max-width: 100%;
        font-size: clamp(2.4rem, 11vw, 3.3rem);
        letter-spacing: -.035em;
        text-wrap: pretty;
    }
    .unified-page-hero .button-row {
        display: grid;
    }
    .unified-page-hero .button {
        width: 100%;
    }
    .unified-page-hero--foster::before,
    .unified-page-hero--therapy::before,
    .unified-page-hero--about::before,
    .unified-page-hero--contact::before {
        background-position: center;
    }
}

body.fourty-site.fourty-therapy-page .menu-toggle span:not(.screen-reader-text) {
    background: var(--evergreen-deep);
}

body.fourty-site.fourty-therapy-page .menu-toggle span:not(.screen-reader-text) 