/* Family overview only. Existing shared header, footer and service pages are unchanged. */
.family-page .intro{padding:30px 0 34px;max-width:1000px}
.family-page .breadcrumb{font-size:12px;margin-bottom:21px}
.family-page .intro>.eyebrow{color:#89612e;font-size:11px;letter-spacing:2.2px;margin-bottom:12px}
.family-page h1{font-size:clamp(42px,4.6vw,62px);letter-spacing:-1px;line-height:1.08}
.family-page h1:after{width:55px;margin:19px 0 23px}
.family-page .lead{font-size:18px;line-height:1.8;max-width:880px}
.family-page .family-actions{display:flex;align-items:center;gap:18px 28px;flex-wrap:wrap;margin-top:24px}
.family-page .family-actions .button{min-height:48px}
.family-page .text-link{min-height:44px;letter-spacing:1.1px;font-size:10px;line-height:1.6;gap:14px}
.family-page .featured{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:34px;margin:0 0 48px;padding:32px 36px;background:linear-gradient(115deg,#faf6ef,#fdfbf8);border-color:#c5a47285;align-items:center}
.family-page .featured>.number{display:none}
.family-page .featured .eyebrow{color:#89612e;font-size:10px;letter-spacing:2px;margin-bottom:13px}
.family-page .featured h2{font-size:clamp(31px,3.2vw,43px);margin-bottom:16px;line-height:1.15}
.family-page .featured p:not(.eyebrow){font-size:16px;line-height:1.8;margin-bottom:16px;max-width:560px}
.family-page .featured ul{font-size:15px;line-height:1.7;padding-left:28px;margin:0;list-style:none;border-color:#c5a47285}
.family-page .featured li{margin:12px 0;padding-left:22px}
.family-page .family-case-note{grid-column:1/-1;padding-top:20px;border-top:1px solid #c5a47255;margin:0!important;max-width:none!important;font-size:14px!important}
.family-page .listing{padding-bottom:44px;scroll-margin-top:24px}
.family-page .listing>h2,.family-page .process>h2,.family-page .family-faq>h2{font-size:clamp(30px,3vw,40px);line-height:1.18;margin-bottom:15px}
.family-page .service-grid{gap:0 38px}
.family-page .service,.family-page .service:nth-child(even){grid-template-columns:minmax(0,1fr);gap:0;padding:25px 0 22px;border-left:0;border-bottom:1px solid #c5a47275;align-content:start;min-width:0}
.family-page .service.wide{grid-column:auto}
.family-page .service:last-child:nth-child(odd){grid-column:1/-1}
.family-page .service:last-child:nth-child(odd) p{max-width:720px}
.family-page .service>.number{display:none}
.family-page .service h3{font-size:clamp(25px,2.2vw,31px);line-height:1.2;margin-bottom:12px;letter-spacing:-.4px}
.family-page .service h3>a{display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.family-page .service p{font-size:16px;line-height:1.8;margin-bottom:13px;max-width:510px}
.family-page .service .text-link{justify-content:space-between;max-width:100%;border-color:#c5a47290}
.family-page .family-contact-link{display:inline-flex;align-items:center;gap:12px;color:#173a52;min-height:44px;font-size:14px;margin-top:20px;border-bottom:1px solid #c5a472;text-underline-offset:4px}
.family-page .process{padding:0 0 44px}
.family-page .steps{margin-top:25px;gap:0}
.family-page .steps>div{padding:0 24px;border-color:#c5a47285;min-width:0}
.family-page .steps>div:first-child{padding-left:0}
.family-page .steps .number{font-size:32px;color:#89612e;letter-spacing:-.5px}
.family-page .steps h3{font-size:24px;line-height:1.25;margin:10px 0}
.family-page .steps p{font-size:14px;line-height:1.8}
.family-page .family-faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:38px;padding:36px 0 40px;border-top:1px solid #c5a47275}
.family-page .family-faq>h2{max-width:330px;margin:0}
.family-page .family-faq details{border-bottom:1px solid #c5a47275}
.family-page .family-faq details:first-child{border-top:1px solid #c5a47275}
.family-page .family-faq summary{display:flex;justify-content:space-between;align-items:center;gap:22px;cursor:pointer;list-style:none;min-height:68px;padding:17px 0;font-size:16px;line-height:1.65;color:#17354d;font-weight:600}
.family-page .family-faq summary::-webkit-details-marker{display:none}
.family-page .family-faq summary:after{content:'+';font-weight:400;font-size:24px;color:#89612e;flex-shrink:0;line-height:1}
.family-page .family-faq details[open] summary:after{content:'−'}
.family-page .family-faq details p{font-size:15px;line-height:1.85;padding:0 28px 21px 0}
.family-page .location-note{padding:27px 30px 30px;margin:0 0 42px;background:#f9f7f3;border-top:1px solid #c5a47275}
.family-page .location-note h2{font-size:30px}
.family-page .location-note p{font-size:15px;line-height:1.8}
.family-page .family-locations{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:16px}
.family-page .family-locations a{min-height:44px;display:inline-flex;align-items:center;gap:12px;font-size:14px;color:#17354d;border-bottom:1px solid #c5a472}
.family-page .family-locations a:after{content:'↗';color:#89612e}
.family-page .consult{margin-top:0}
.family-page .consult-photo{background-image:url('family-consult.webp')}
@media(hover:hover) and (pointer:fine){
 .family-page .service:hover{border-color:#99753d}
 .family-page .service h3 a:hover,.family-page .family-faq summary:hover,.family-page .family-locations a:hover,.family-page .family-contact-link:hover{color:#805a27}
 .family-page .text-link span{transition:transform .25s}
 .family-page .text-link:hover span{transform:translateX(4px)}
}
@media(min-width:701px) and (max-width:1000px){
 .family-page .featured{padding:27px;gap:25px;grid-template-columns:1.1fr .9fr}
 .family-page .steps{grid-template-columns:1fr 1fr;gap:28px 26px}
 .family-page .steps>div{padding-left:20px;padding-right:0}
 .family-page .steps>div:nth-child(odd){border:0;padding-left:0}
 .family-page .family-faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px}
}
@media(max-width:700px){
 .family-page .intro{padding:23px 0 29px}
 .family-page .breadcrumb{font-size:10px;gap:6px;margin-bottom:20px}
 .family-page .intro>.eyebrow{font-size:10px;letter-spacing:1.5px}
 .family-page h1{font-size:42px;letter-spacing:-.7px}
 .family-page h1:after{margin:16px 0 20px}
 .family-page .lead{font-size:16px;line-height:1.85}
 .family-page .family-actions{gap:10px 22px;margin-top:20px}
 .family-page .family-actions .button{font-size:10px}
 .family-page .featured{grid-template-columns:minmax(0,1fr);gap:20px;padding:25px 22px;margin-bottom:32px}
 .family-page .featured h2{font-size:32px}
 .family-page .featured p:not(.eyebrow){font-size:15px}
 .family-page .featured ul{grid-column:1;padding:15px 0 0;border-left:0;border-top:1px solid #c5a47275;font-size:14px}
 .family-page .featured li{margin:8px 0}
 .family-page .family-case-note{font-size:13px!important;padding-top:18px}
 .family-page .listing{padding-bottom:32px}
 .family-page .listing>h2,.family-page .process>h2,.family-page .family-faq>h2{font-size:31px}
 .family-page .service-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .family-page .service,.family-page .service:nth-child(even){padding:21px 0}
 .family-page .service h3{font-size:28px;margin-bottom:9px}
 .family-page .service p{font-size:15px}
 .family-page .process{padding-bottom:32px}
 .family-page .steps{grid-template-columns:1fr 1fr;gap:25px 18px;margin-top:22px}
 .family-page .steps>div,.family-page .steps>div:first-child{padding:0;border:0}
 .family-page .steps h3{font-size:22px}
 .family-page .steps p{font-size:14px}
 .family-page .family-faq{grid-template-columns:minmax(0,1fr);gap:22px;padding:30px 0}
 .family-page .family-faq summary{font-size:15px;min-height:64px;gap:16px}
 .family-page .family-faq details p{font-size:15px;padding-right:0}
 .family-page .location-note{padding:23px 20px 25px;margin-bottom:32px}
 .family-page .location-note h2{font-size:28px}
 .family-page .family-locations{gap:8px 18px}
}
@media(max-width:360px){.family-page .steps{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.family-page .service h3 a,.family-page .text-link span{transition:none}.family-page .text-link:hover span{transform:none}}
