/* Phase 2 is scoped to services; header and hero geometry stay in main.css. */
.services-section{padding-block:60px;scroll-margin-top:18px}
.services-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:stretch}
.services-copy{display:contents}
.services-heading{grid-row:1}
.services-heading .eyebrow{font-size:.63rem;margin-bottom:16px;letter-spacing:.13em}
.services-heading h2{font-size:2.4rem}
.section-intro{font-size:.85rem;color:var(--muted);margin-block:18px 0}
.service-visual{position:relative;grid-row:2;min-height:0;height:250px;overflow:hidden;background:var(--ink)}
.service-image-layer{position:absolute;inset:0;opacity:0;transition:opacity .35s ease;pointer-events:none}
.service-image-layer.is-visible{opacity:1}
.service-image-layer>img,.mobile-service-photo>img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-visual::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#090a0bd9);pointer-events:none}
.service-image-copy{position:absolute;left:24px;right:24px;bottom:38px;color:white;z-index:1}
.service-image-copy>span{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.service-image-copy p{font-size:1.65rem;line-height:1.08;font-weight:700;letter-spacing:-.04em;margin-top:15px}
.image-disclaimer{position:absolute;bottom:18px;left:24px;color:#e0e0e0;font-size:.6rem;z-index:1}
.service-list{grid-row:3;min-width:0}
.service-item{border-bottom:1px solid var(--line);scroll-margin-top:18px}
.service-item summary{display:grid;grid-template-columns:36px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:17px 4px;list-style:none;cursor:pointer;transition:background .2s}
.service-item summary::-webkit-details-marker{display:none}
.service-number{color:var(--red);font-family:Arial,sans-serif;font-weight:800;font-size:1.7rem;letter-spacing:-.065em}
.service-item h3{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;font-weight:800;line-height:1.03;font-size:1.04rem;letter-spacing:-.02em;text-wrap:balance}
.service-summary{color:var(--muted);font-size:.7rem;display:block;line-height:1.5;margin-top:5px}
.service-plus{font-size:1.5rem;font-weight:300;color:var(--muted);transition:transform .2s;width:32px;height:32px;display:grid;place-items:center;line-height:1;border-radius:50%}
.service-item[open] .service-plus{transform:rotate(45deg)}
.service-item[open] summary,.service-item[data-active="true"] summary{background:#f3f3f2}
.service-item[data-active="true"] .service-plus{background:white;color:var(--red)}
.service-detail{padding:8px 8px 20px 52px;font-size:.83rem;color:var(--muted)}
.service-detail .text-link{color:var(--red);margin-top:8px;font-size:.75rem}
.service-detail-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.mobile-service-photo{display:block;position:relative;height:200px;margin-block:12px 18px;overflow:hidden;background:var(--ink)}
.mobile-service-photo-note{position:absolute;bottom:8px;left:8px;color:white;background:#111315d9;padding:3px 6px;font-size:.6rem}
.service-image-unavailable{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:white;padding:30px}
@media(min-width:701px){
 .services-section{padding-block:75px}
 .services-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
 .services-copy{display:block;padding-block:8px;min-width:0}
 .services-heading{grid-row:auto}
 .services-heading .eyebrow{font-size:.7rem;margin-bottom:20px;letter-spacing:.15em}
 .services-heading h2{font-size:clamp(2.25rem,4.2vw,3.75rem)}
 .section-intro{font-size:.95rem;margin-block:24px 28px}
 .service-visual{grid-row:auto;min-height:720px;height:auto}
 .service-list{grid-row:auto}
 .service-image-copy{left:32px;right:32px;bottom:54px}
 .service-image-copy p{font-size:2.1rem}
 .image-disclaimer{left:32px}
 .service-item summary{grid-template-columns:40px minmax(0,1fr) 32px;gap:10px;padding:19px 0}
 .service-number{font-size:1.75rem}
 .service-item h3{font-size:1rem}
 .service-summary{font-size:.68rem}
 .service-detail{padding:8px 20px 20px 64px}
 .mobile-service-photo{display:none}
}
@media(min-width:960px){
 .services-section{padding-block:100px}
 .hero+.services-section{padding-top:clamp(36px,5svh,56px)}
 .services-layout{gap:40px}
 .service-visual{min-height:740px}
 .service-item summary{gap:16px;padding-inline:8px}
 .service-item h3{font-size:1.08rem}
 .service-summary{font-size:.71rem}
}
@media(min-width:1151px){.services-layout{gap:70px}}
@media(max-width:360px){.service-summary{font-size:.65rem}}
@media(hover:hover){.service-item summary:hover{background:#f3f3f2}}
@media(prefers-reduced-motion:reduce){.service-image-layer,.service-plus,.service-item summary{transition:none}}
