/* Opt-in composition for the seven normalized residential service pages. */
.service-family .family-section{padding:120px 0}.service-family .family-warm{background:var(--warm)}.service-family .family-dark,.service-family .family-hero{background:var(--ink);color:var(--white)}.service-family .family-dark .eyebrow,.service-family .family-hero .eyebrow{color:#d3ad6a}.service-family h1{font-size:clamp(44px,6.3vw,88px);line-height:1.01;letter-spacing:-.05em;margin:22px 0 28px;text-wrap:balance}.service-family h2{font-size:clamp(34px,4.2vw,64px);line-height:1.04;letter-spacing:-.04em;margin:18px 0 28px;font-weight:300;text-wrap:balance}.service-family h3{font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.025em;margin:0 0 15px}.service-family p{font-size:17px;line-height:1.75;color:#47423c}.service-family .family-dark p,.service-family .family-hero p{color:#d8d3cc}.family-hero{padding:155px 0 70px}.family-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.family-hero-copy>p{max-width:700px}.family-hero .btn{margin-top:18px}.service-placeholder{position:relative;display:grid;place-items:end start;background:linear-gradient(145deg,#34312d,#181715);overflow:hidden}.service-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#ffffff08 35%,#ffffff08 58%,transparent 58%)}.service-placeholder span{position:relative;margin:24px;color:#c4bbae;font-size:10px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase}.service-placeholder-hero{aspect-ratio:4/3}.service-placeholder-wide{aspect-ratio:2.25/1;margin-top:60px;background:linear-gradient(145deg,#d2cac0,#aaa094)}.service-placeholder-wide span{color:#49423a}.family-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.family-copy{max-width:650px}.family-copy p{margin:0 0 22px}.family-heading{max-width:850px;margin-bottom:55px}.family-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #bcae99}.family-capabilities article{padding:28px 28px 18px 0;border-bottom:1px solid #d5cdc2}.family-capabilities article:nth-child(3n+2),.family-capabilities article:nth-child(3n+3){border-left:1px solid #d5cdc2;padding-left:28px}.family-capabilities p{font-size:15px;line-height:1.65;color:#5d574f;margin:0}.family-links{border-top:1px solid #bcae99}.family-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #d5cdc2;font-size:18px}.family-links a:hover .cta-arrow{transform:translateX(3px)}.family-faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:85px}.family-faq details{border-top:1px solid var(--line)}.family-faq details:last-child{border-bottom:1px solid var(--line)}.family-faq summary{padding:23px 38px 23px 0;cursor:pointer;position:relative;list-style:none;font-size:19px;line-height:1.45}.family-faq summary::-webkit-details-marker{display:none}.family-faq summary:after{content:'+';position:absolute;right:5px;color:var(--gold)}.family-faq details[open] summary:after{content:'−'}.family-faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.family-faq p{padding-right:22px;margin:0 0 25px;font-size:16px}.family-closing{align-items:center}.family-closing .btn{margin-top:12px}
@media(max-width:1000px){.family-hero-grid,.family-split{gap:45px}.family-capabilities{grid-template-columns:repeat(2,1fr)}.family-capabilities article:nth-child(n){border-left:0;padding-left:0}.family-capabilities article:nth-child(even){border-left:1px solid #d5cdc2;padding-left:28px}.family-faq-grid{gap:40px}}
@media(max-width:800px){.family-hero-grid,.family-split,.family-faq-grid{grid-template-columns:1fr}.family-hero{padding-top:150px}.service-placeholder-hero{margin-top:18px;aspect-ratio:16/10}.family-capabilities{grid-template-columns:1fr}.family-capabilities article:nth-child(n){border-left:0;padding:24px 0}.family-faq-grid{gap:12px}}
@media(max-width:700px){.service-family .family-section{padding:78px 0}.service-family h1{font-size:clamp(39px,10vw,54px)}.family-hero{padding-bottom:45px}.service-placeholder-wide{aspect-ratio:4/3;margin-top:38px}.service-placeholder span{margin:18px}.family-split{gap:16px}.family-heading{margin-bottom:36px}.family-closing .btn{gap:12px;font-size:10px;padding:15px}}

/* Full-bleed service heroes and compact manufacturer system. */
.service-family .family-hero{position:relative;min-height:clamp(660px,78vh,860px);display:flex;align-items:flex-end;padding:155px 0 75px;overflow:hidden}
.service-family .family-hero-photo,.service-family .service-placeholder-hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;margin:0}
.service-family .family-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,12,11,.88),rgba(13,12,11,.65) 45%,rgba(13,12,11,.18))}
.service-family .family-hero-copy{position:relative;z-index:1;margin:0 auto}
.family-systems{background:#f7f4ef}.family-systems .family-heading{max-width:760px}.family-systems .family-heading>p{max-width:680px}
.family-brand-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-block:1px solid #cfc5b7;padding:22px 0;margin-bottom:38px}
.family-brand-row a{min-height:48px;display:grid;place-items:center;padding:10px 24px;color:#282521;font-size:14px;letter-spacing:.08em;text-transform:uppercase;border-right:1px solid #d8d0c5}
.family-brand-row a:last-child{border-right:0}.family-products{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.family-products article{min-width:0}
.family-product-placeholder{aspect-ratio:4/3;display:grid;place-items:center;background:#e4ded5;margin-bottom:20px}.family-product-placeholder span{max-width:150px;text-align:center;color:#777066;font-size:9px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase}
.family-products h3{font-size:21px;margin-bottom:10px}.family-products p{font-size:14px;line-height:1.6;margin:0 0 15px}.family-product-link{display:inline-flex;align-items:center;gap:9px;font-size:10px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}.family-product-link .cta-arrow{width:14px}.family-product-note{display:block;color:#746d64;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1000px){.family-products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.service-family .family-hero{min-height:680px}.service-family .family-hero-shade{background:linear-gradient(0deg,rgba(13,12,11,.92),rgba(13,12,11,.5) 65%,rgba(13,12,11,.28))}}
@media(max-width:700px){.service-family .family-hero{min-height:640px}.family-products{grid-template-columns:1fr}.family-product-placeholder{aspect-ratio:16/8}.family-brand-row{gap:0}.family-brand-row a{width:50%;border:0;border-bottom:1px solid #ded7cd;padding-inline:10px}}
.service-detail-photo{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;margin-top:60px}
@media(max-width:700px){.service-detail-photo{margin-top:38px}}
