/* Isolated Section 04 prototype. Original Services process remains unchanged. */
.planning-timeline{--timeline-gap:36px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--timeline-gap);margin-top:52px;padding:0;list-style:none}
.planning-timeline li{position:relative;display:block;min-width:0;padding:0;border:0}
.planning-timeline li>span{display:block;padding:0;margin:0 0 48px;font-size:12px;line-height:20px;color:#726850}
.planning-timeline li>span::before{content:'';position:absolute;z-index:1;top:30px;left:0;width:8px;height:8px;border:1px solid var(--taupe);border-radius:50%;background:var(--taupe)}
.planning-timeline li:not(:last-child)::before,.planning-timeline li:not(:last-child)::after{content:'';position:absolute;top:34px;left:4px;width:calc(100% + var(--timeline-gap));height:1px;pointer-events:none}
.planning-timeline li::before{background:var(--line)}
.planning-timeline li::after{background:var(--taupe);transform-origin:left center;transform:scaleX(var(--segment-progress,1))}
.planning-timeline h3{font-size:30px;line-height:1.15;margin:0 0 20px;color:var(--ink)}
.planning-timeline p{font-size:14px;line-height:1.85;color:var(--ink);max-width:none}
.planning-timeline.is-enhanced li:not(.is-active)>span::before{background:var(--paper)}
.planning-timeline.is-enhanced li:not(.is-active) h3{color:#726850}
.planning-timeline.is-enhanced li:not(.is-active) p{color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.planning-timeline h3,.planning-timeline p,.planning-timeline li>span::before{transition:color .2s ease,background-color .2s ease}}
@media(max-width:1100px){
 .planning-timeline{display:block;margin-top:38px}
 .planning-timeline li{padding:0 0 42px 38px}
 .planning-timeline li:last-child{padding-bottom:0}
 .planning-timeline li>span{margin-bottom:12px}
 .planning-timeline li>span::before{top:5px}
 .planning-timeline li:not(:last-child)::before,.planning-timeline li:not(:last-child)::after{top:9px;left:4px;width:1px;height:100%}
 .planning-timeline li::after{transform-origin:center top;transform:scaleY(var(--segment-progress,1))}
 .planning-timeline h3{font-size:32px;margin-bottom:16px}
 .planning-timeline p{max-width:640px}
}
@media(max-width:700px){.planning-timeline{margin-top:32px}.planning-timeline li{padding-left:30px;padding-bottom:36px}.planning-timeline h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){
 .planning-timeline li::after{transform:none!important}
 .planning-timeline.is-enhanced li>span::before{background:var(--taupe)!important}
 .planning-timeline.is-enhanced h3,.planning-timeline.is-enhanced p{color:var(--ink)!important}
}
@media print{.planning-timeline li::after{transform:none!important}.planning-timeline.is-enhanced h3,.planning-timeline.is-enhanced p{color:var(--ink)!important}.planning-timeline li{break-inside:avoid}}

/* Section 06: independent columns, preserving the FAQ reading order. */
.services-faq{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:72px}
.services-faq>div:not(.services-marker-track){width:100%;min-width:0;margin-inline:0}
.services-faq h2{margin:0}
.services-faq .faq-list{margin-top:0}
.services-faq .faq-columns-ready{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(36px,6vw,88px);align-items:start}
.services-faq .faq-column{min-width:0}
.services-faq .faq-list details p{max-width:none}
@media(max-width:700px){
 .services-faq{gap:24px;padding-block:52px}
 .services-faq h2{margin:0}
 .services-faq .faq-columns-ready{grid-template-columns:minmax(0,1fr);gap:0}
 .services-faq .faq-column:not(:last-child)>details:last-child{border-bottom:0}
}

/* Shared primary section typography, matching Section 03. */
.services-page{--services-heading-size:clamp(48px,5vw,76px)}
.services-page h2{font-family:var(--serif);font-size:var(--services-heading-size);font-weight:400;letter-spacing:-.025em;line-height:1.06}
@media(max-width:700px){.services-page{--services-heading-size:clamp(42px,10vw,58px)}}

/* Preferred-partner benefits: a feature beneath the services, not another card. */
.partner-benefits{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr;gap:24px 9%;border-top:1px solid #ffffff40;padding-top:36px}
.partner-benefits h3{font:400 clamp(28px,2.8vw,40px)/1.15 var(--serif);letter-spacing:-.02em;max-width:360px}
.partner-benefits p{font-size:15px;line-height:1.85;color:#d8d5ce}
@media(min-width:701px) and (max-width:1000px){.partner-benefits{column-gap:5%}}
@media(max-width:700px){.partner-benefits{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:30px}}

.help-intro-track{align-self:stretch;min-width:0}

/* Architectural hero: retain the arches and window light within the existing frame. */
.services-hero .hero-photo img{object-position:50% 46%}
@media(max-width:700px){.services-hero .hero-photo img{object-position:50% 52%}}
