.approved-home{background:var(--ivory);color:var(--ink)}
.approved-hero{position:relative;isolation:isolate;min-height:630px;padding:120px 0;overflow:hidden;color:#fff}
.approved-hero::before{position:absolute;z-index:-1;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-hero h1{max-width:760px;font-size:clamp(3.2rem,6.4vw,5.75rem);line-height:.99;letter-spacing:-.04em;text-shadow:0 3px 18px rgba(20,40,31,.52)}
.approved-hero .eyebrow{color:#d5f3de}
.approved-hero .hero-lede{max-width:640px;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)}
.approved-hero .button-quiet{border-color:rgba(255,255,255,.9);background:rgba(20,40,31,.3);color:#fff}
.approved-section{padding:100px 0;background:var(--ivory)}
.approved-section .section-heading{max-width:740px;margin-bottom:44px}
.approved-section .section-heading p:last-child{max-width:640px;color:var(--muted);font-size:1.08rem}
.approved-section .service-grid{gap:28px}
.approved-section .service-card{border-color:var(--line);border-radius:22px;box-shadow:none}
.approved-section .service-image{height:285px}
.approved-section .service-content{padding:32px}
.approved-section .card-kicker,.approved-section .text-link{color:var(--forest)}
.stories{padding:82px 0;background:var(--mint-soft)}
.story-intro{margin:0 auto 64px;text-align:center}
.story-intro h2{margin-bottom:28px}
.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-soft);aspect-ratio:16/9}
.video-preview{position:relative;display:block;width:100%;height:100%;color:#fff}
.video-preview::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,40,31,.06),rgba(20,40,31,.42));content:""}
.video-preview img{display:block;width:100%;height:100%;object-fit:cover}
.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,.86);font-weight:800;white-space:nowrap}
.video-preview svg{width:22px;height:22px;fill:#fff}
.testimonial-copy{display:flex;flex-direction:column;align-items:center;gap:24px;margin:72px 0 34px;text-align:center}
.testimonial-copy h2{margin:0}
.testimonial-grid{display:grid;min-height:284px;grid-template-columns:repeat(3,1fr);gap:24px}
.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)}
.testimonial.is-active{display:flex;animation:approved-quote-in .35s ease-out}
.testimonial p{margin:0 0 26px;color:#40554a;font-size:1.04rem;line-height:1.58}
.testimonial cite{color:var(--forest);font-size:.95rem;font-style:normal;font-weight:800}
.testimonial cite span{display:block;color:var(--muted);font-size:.85rem;font-weight:400}
.carousel-controls{display:flex;justify-content:center;margin-top:20px}
.carousel-dots{display:flex;gap:0}
.carousel-dot{display:grid;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;place-items:center}
.carousel-dot::before{width:10px;height:10px;border-radius:50%;background:#a7b9ad;content:""}
.carousel-dot.is-active::before{background:var(--forest);transform:scale(1.2)}
.carousel-dot:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
@keyframes approved-quote-in{from{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.approved-closing{padding:82px 0;background:#d9efdf}
.approved-closing-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}
.approved-closing h2{max-width:760px;margin-bottom:0}
.approved-closing .eyebrow{color:var(--forest)}
.approved-closing .button-outline{border-color:var(--forest);background:transparent;color:var(--forest)}
@media(max-width:900px){.approved-hero{min-height:0;padding:96px 0}.approved-hero::before{background-attachment:scroll}.testimonial-grid{grid-template-columns:1fr}.approved-closing-inner{display:grid;align-items:start}}
@media(max-width:600px){.approved-hero{padding:76px 0}.approved-hero::before{background-position:62% center}.approved-section,.stories{padding:68px 0}.approved-section .service-content{padding:26px}.video-preview span{font-size:.9rem}.testimonial-copy{margin-top:56px}}
@media(prefers-reduced-motion:reduce){.testimonial.is-active{animation:none}}
