/* NORTHWOODS IT - SERVICES PAGE ONLY
   Four short category summaries keep the page easy to scan on a phone.
   Native details/summary supplies touch and keyboard behavior without JS. */
.services-overview .wrap { max-width:980px; }
.services-overview .page-head { padding-bottom:28px; }
.services-overview .page-head p { margin-bottom:12px; }
.service-categories { display:grid; gap:12px; }
.service-category { border:1px solid var(--line); border-radius:8px; background:white; scroll-margin-top:160px; }
.service-category summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px; cursor:pointer; list-style:none; }
.service-category summary::-webkit-details-marker { display:none; }
.category-copy { min-width:0; }
.category-title,.category-description,.category-action { display:block; }
.category-title { font-family:Manrope,sans-serif; font-weight:700; font-size:23px; line-height:1.3; }
.category-description { margin-top:6px; color:var(--muted); font-size:17px; line-height:1.5; }
.category-action { margin-top:9px; font-size:15px; font-weight:700; color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.category-indicator { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; border-radius:50%; background:#edf2e8; color:var(--green); font-size:25px; line-height:1; }
.category-indicator::after { content:'+'; }
.service-category[open] .category-indicator::after { content:'−'; }
/* Swap the visible action label while the native control exposes its state. */
.when-open { display:none; }
.service-category[open] .when-open { display:inline; }
.service-category[open] .when-closed { display:none; }
.service-category[open] summary { border-bottom:1px solid var(--line); }
.category-content { padding:0 26px; }
.category-content>.small { margin:20px 0; }
.service-detail { padding:20px 0; }
.service-detail+.service-detail { border-top:1px solid var(--line); }
.service-detail h2 { font-size:19px; line-height:1.35; letter-spacing:0; margin-bottom:7px; }
.service-detail p { font-size:16px; line-height:1.6; margin-bottom:9px; color:var(--muted); }
.service-detail .service-price { border:0; padding:0; margin:0; color:var(--green); }
.service-booking-note { margin:22px 0 0; font-size:15px; color:var(--muted); }
.services-contact { padding:34px 0 44px; }
.services-contact h2 { font-size:25px; margin-bottom:10px; }
.services-contact p { font-size:17px; margin-bottom:18px; }
@media(max-width:760px) {
 .services-overview .page-head h1 { font-size:clamp(2rem,8vw,2.7rem); }
 .service-category summary { padding:18px; gap:12px; }
 .category-title { font-size:20px; }
 .category-description { font-size:16px; }
 .category-content { padding:0 18px; }
}
@media(hover:hover) { .service-category summary:hover { background:#f3f6ef; border-radius:8px; } }
