/* Page-specific compositions share only the approved brand primitives. */
.ecosystem-page{background:#f3eee4;color:#0c202d}.eco-shell{width:min(88%,1240px);margin-inline:auto}.eco-hero{background:#0c202d url('/assets/images/screening-shadow.webp') center top/cover no-repeat;color:#f3eee4;padding:65px 0 70px}.eco-hero h1{font-size:clamp(42px,5.1vw,74px);max-width:1040px;margin:0 auto 25px!important}.eco-hero p{max-width:750px}.eco-hero .eco-shell>p,.eco-hero .eco-shell>h1{text-align:center;margin-inline:auto}.eco-hero .eco-actions{justify-content:center}.eco-hero .screen-kicker{color:#cfaf70}.eco-section{padding:64px 0}.eco-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start}.eco-panel{padding:32px;background:#e7eef0}.eco-paper{background:#f3eee4;color:#0c202d}.eco-blue{background:#c9dce4;color:#0c202d}.eco-dark{background:#0c202d;color:#f3eee4}.eco-dark .screen-kicker{color:#cfaf70}.eco-media{margin:0}.eco-media img{width:100%;height:auto;object-fit:contain;box-shadow:0 16px 30px #00182825}.eco-media figcaption{font-size:12px;margin-top:12px;line-height:1.5;opacity:.85}.eco-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px 25px}.eco-reading{max-width:850px}.ecosystem-page h2{font-size:clamp(33px,3.5vw,50px);margin:0 0 24px;line-height:1.09}.ecosystem-page h3{font-size:clamp(25px,2.4vw,33px);margin:0 0 15px;line-height:1.16}.ecosystem-page p{font-size:17px;line-height:1.75;max-width:72ch}.ecosystem-page .screen-kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;line-height:1.7}.eco-faq details,.eco-faq>details{padding:22px 0;border-bottom:1px solid #0c202d30}.eco-faq summary{cursor:pointer;font:400 24px/1.35 var(--serif);padding-right:20px}.eco-faq details p{margin-top:18px}.eco-facts{margin:25px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.eco-facts>div{padding:15px 0;border-bottom:1px solid #0c202d30}.eco-facts dt{font-weight:600;margin-bottom:5px}.eco-facts dd{margin:0}.eco-list{padding-left:22px;margin:20px 0}.eco-list li{padding:5px 0;line-height:1.7}.eco-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:25px 0}.eco-links a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}.eco-index{list-style:none;padding:0;margin:20px 0}.eco-index li{border-top:1px solid #0c202d30;padding:20px 0}.eco-index a{font:400 27px/1.25 var(--serif);text-underline-offset:6px}.eco-overlap{position:relative;margin-top:-70px;z-index:2;box-shadow:0 20px 35px #00182825}.eco-quote{font:400 clamp(30px,3vw,45px)/1.2 var(--serif);padding:30px 0;border-block:1px solid #af945e;margin:30px 0}.eco-caption{font-size:12px!important;opacity:.8}.ecosystem-page :is(section,article,[id]){scroll-margin-top:110px}.ecosystem-page .story-shell{width:min(88%,1240px);margin:auto}.ecosystem-page .story-section{padding:55px 0}.ecosystem-page .story-section-heading{max-width:850px;margin:0 auto 30px;text-align:center}.ecosystem-page .story-faq-list details{padding:20px 0;border-bottom:1px solid #0c202d30}.ecosystem-page .story-faq-list summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font:400 25px/1.35 var(--serif)}.ecosystem-page .story-faq-list details p{margin-top:20px}.ecosystem-page .story-service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.ecosystem-page .story-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.ecosystem-page .story-paper{background:#f3eee4;color:#0c202d}.ecosystem-page .story-dark{background:#0c202d;color:#f3eee4}
.story-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.story-field{display:flex;flex-direction:column;gap:8px}.story-field label{font-weight:600}.story-field input,.story-field select,.story-field textarea{width:100%;min-height:50px;padding:12px;border:1px solid #79878d;border-radius:0;background:#fffdf7;color:#0c202d}.story-field textarea{min-height:145px}.story-field.full,.story-field-wide{grid-column:1/-1}.story-check{display:flex;align-items:flex-start;gap:12px;margin:20px 0;font-size:15px;line-height:1.65}.story-check input{margin-top:5px;min-width:20px;min-height:20px}.story-form-message{padding:20px;background:#e4eddf;border-left:3px solid #365632;margin:20px 0}.story-form-message.is-error{background:#f8e7dc;border-color:#944c25}.story-form-message a{text-decoration:underline}.story-form-grid small{font-size:13px}.ecosystem-page .screen-package h3{margin:0}.ecosystem-page .screen-package{color:inherit}.ecosystem-page .screen-package strong{white-space:nowrap}
@media(max-width:960px){.eco-shell{width:90%}.eco-grid{gap:28px}.eco-hero{padding:45px 0}.eco-section{padding:45px 0}.ecosystem-page h1,.ecosystem-page h2,.ecosystem-page h3,.ecosystem-page p{text-align:center;margin-inline:auto}.eco-actions{justify-content:center}.eco-media figcaption{text-align:center}.eco-panel{padding:25px}.eco-facts{text-align:center}.eco-list{text-align:left}.eco-faq p{text-align:left}.eco-faq summary{text-align:left}.story-field p,.story-form-message p{text-align:left}.eco-links{justify-content:center}}
@media(max-width:700px){.eco-grid,.ecosystem-page .story-service-links{grid-template-columns:1fr;gap:30px}.eco-hero h1{font-size:clamp(36px,9vw,44px)}.eco-section{padding:38px 0}.ecosystem-page h2{font-size:34px}.ecosystem-page p{font-size:16px}.eco-overlap{margin-top:-22px}.eco-panel{padding:24px 20px}.eco-facts,.story-form-grid{grid-template-columns:1fr}.eco-actions{flex-direction:column;align-items:stretch;text-align:center}.eco-actions a{justify-content:center}.eco-faq summary{font-size:22px}.eco-hero .screen-button{margin:auto}.eco-index{text-align:center}.ecosystem-page .story-section{padding:38px 0}.eco-reading{text-align:center}.eco-reading ul,.eco-reading ol{text-align:left}}
.eco-section--blue{background:#c9dce4}.eco-section--dark{background:#0c202d;color:#f3eee4}.eco-section--dark .eco-panel,.eco-dark .eco-panel{color:#0c202d}.eco-heading{max-width:870px;margin-bottom:34px}.eco-price{font:400 33px/1.2 var(--serif);color:#745b27}.eco-additions{display:grid;grid-template-columns:1fr 1fr;gap:30px}.eco-additions article{padding:25px 0;border-top:1px solid #0c202d30}.eco-contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:50px}.eco-contact-aside{display:flex;flex-direction:column;gap:30px}.eco-contact-packages>a{display:flex;flex-direction:column;padding:18px 0;border-bottom:1px solid #0c202d30;text-decoration:none}.eco-contact-packages strong{font:400 25px var(--serif)}.eco-contact-packages span{font-size:14px;margin-top:8px}.eco-steps{padding-left:22px}.eco-steps li{padding-bottom:18px}.eco-form-submit{margin-top:25px}.story-field.field-full{grid-column:1/-1}.story-field-error{color:#8f2d22;font-size:14px}.eco-media.eco-shell{margin-inline:auto}.eco-hero.eco-shell{width:100%;padding-inline:6%;text-align:center}.eco-hero.eco-shell p,.eco-hero.eco-shell .eco-actions{margin-inline:auto;justify-content:center}.eco-dark .eco-faq details{border-color:#f3eee455}.eco-hero-split{display:grid;grid-template-columns:1.08fr 1fr;gap:50px;align-items:center}.eco-hero-split h1{text-align:left;margin-inline:0!important;font-size:clamp(42px,4.6vw,66px)}.eco-hero-split .eco-actions{justify-content:flex-start}.eco-hero-split .eco-media{box-shadow:0 22px 45px #0003;transform:translateY(30px)}.eco-dossier-list{list-style:none;padding:0;counter-reset:chapter;display:grid;grid-template-columns:1fr 1fr;gap:25px 55px}.eco-dossier-list li{counter-increment:chapter;padding:25px 0;border-top:1px solid #a58a57}.eco-dossier-list li::marker{font:400 35px var(--serif)}.eco-timeline-list{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-left:24px}.eco-timeline-list li{border-top:2px solid #a58a57;padding:25px 0}.eco-parent-questions{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0;list-style:none}.eco-parent-questions>li{padding:25px;background:#e5edf0}.eco-family-opening{text-align:center}.eco-family-frame{width:min(94%,1320px);margin:0 auto;position:relative}.eco-family-frame img{width:100%;max-height:580px;object-fit:cover}.eco-archive-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:45px;align-items:center}.eco-archive-layout .eco-media:nth-child(2){transform:translateY(45px)}.eco-county-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}.eco-city-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:0 35px;margin-top:30px}.eco-city-directory a{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:65px;font:400 23px var(--serif);text-decoration:none;border-bottom:1px solid #0c202d35}.eco-city-directory a:hover{color:#6b5425}.eco-city-directory .ylf-icon{width:18px}.eco-county-services{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.eco-county-services>a{padding:28px 0;border-bottom:1px solid #f3eee450;text-decoration:none}.eco-county-services span{font:400 32px var(--serif)}.eco-county-services p{margin:14px 0 0!important}.eco-veteran-opening{display:grid;grid-template-columns:1.3fr 1fr;gap:0;align-items:center}.eco-veteran-opening .eco-panel{margin-left:-55px;z-index:1;box-shadow:0 20px 35px #00182825}.eco-veteran-chapters{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:0;margin-top:35px}.eco-veteran-chapters>li{padding-top:22px;border-top:1px solid #7b929c}.eco-veteran-chapters span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px}
@media(max-width:960px){.eco-contact-grid{gap:25px}.eco-hero-split{gap:25px}.eco-hero-split h1{text-align:center}.eco-hero-split .eco-actions{justify-content:center}.eco-timeline-list{grid-template-columns:1fr 1fr}.eco-city-directory{grid-template-columns:repeat(3,1fr)}.eco-county-intro{gap:30px}.eco-veteran-opening .eco-panel{margin-left:-25px}.eco-county-services p,.eco-county-services span{text-align:center;display:block}}
@media(max-width:700px){.eco-additions,.eco-contact-grid,.eco-hero-split,.eco-dossier-list,.eco-timeline-list,.eco-parent-questions,.eco-archive-layout,.eco-county-intro,.eco-county-services,.eco-veteran-opening,.eco-veteran-chapters{grid-template-columns:1fr}.eco-hero-split .eco-media{transform:none}.eco-archive-layout .eco-media:nth-child(2){transform:none}.eco-city-directory{grid-template-columns:1fr 1fr;gap:0 20px}.eco-city-directory a{font-size:20px}.eco-veteran-opening .eco-panel{margin:-15px 12px 0}.eco-veteran-chapters{text-align:center}.eco-contact-grid{gap:35px}.eco-timeline-list{padding-left:22px}.eco-timeline-list p{text-align:left}.eco-family-frame img{max-height:none;height:auto;object-fit:contain}.eco-heading{text-align:center}}
.eco-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:12px 6%;background:#f3eee4;color:#42555f;font-size:12px;line-height:1.5}.eco-breadcrumb a{min-height:30px;display:inline-flex;align-items:center}.eco-breadcrumb span[aria-current]{max-width:65ch}
.eco-steps{list-style:none;padding:0}.eco-steps li{padding:20px 0;border-bottom:1px solid #0c202d25}.eco-section--dark .eco-price,.eco-dark .eco-price{color:#cfaf70}

/* Compact service-area directory; all city links remain available without scripts. */
.eco-communities .eco-shell{max-width:1040px}
.eco-communities h2{max-width:720px;margin:0 auto 16px;text-align:center}
.eco-communities .screen-kicker,.eco-community-intro{text-align:center;margin-inline:auto}
.eco-communities .eco-city-featured{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.eco-community-more{margin-top:24px}
.eco-community-more summary{display:flex;align-items:center;justify-content:center;gap:14px;min-height:48px;width:fit-content;max-width:100%;margin-inline:auto;padding:10px 20px;border:1px solid #506976;border-radius:3px;cursor:pointer;list-style:none;font:500 16px/1.4 var(--sans);color:#0c202d}
.eco-community-more summary::-webkit-details-marker{display:none}
.eco-community-more summary:hover{background:#ffffff40}
.eco-community-more summary:focus-visible{outline:3px solid #0c202d;outline-offset:4px}
.eco-community-more .ylf-icon{width:18px;height:18px;flex-shrink:0}
.eco-community-hide,.eco-community-more[open] .eco-community-show{display:none}
.eco-community-more[open] .eco-community-hide{display:inline}
.eco-community-more[open] summary>.ylf-icon{transform:rotate(45deg)}
.eco-community-more .eco-city-directory{margin-top:20px}
@media(max-width:700px){.eco-communities{padding:32px 0}.eco-communities h2{font-size:32px;max-width:340px}.eco-communities .eco-city-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:14px}.eco-communities .eco-city-directory a{min-height:52px;font-size:20px}.eco-community-intro{margin-block:0 14px}.eco-community-more{margin-top:20px}}
