/* Layout for the approved catalog and one-service editorial family. */
.services-page { width:var(--page-width); margin:var(--page-start-gap) auto clamp(3rem,6vw,5rem); }
.services-page>section { margin-top:clamp(2.5rem,5vw,4rem); }
.services-page h1,.services-page h2,.service-page h1,.service-page h2 { overflow-wrap:anywhere; }
.services-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(1.5rem,6vw,5rem); align-items:end; }
.services-hero h1 { margin:0; font:500 var(--type-page-title)/1.12 Georgia,serif; }
.services-hero .lead { margin:0 0 1.4rem; }
.services-paths,.services-process { padding-top:clamp(2.5rem,5vw,4rem); border-top:1px solid var(--line); }
.services-page h2,.service-body h2 { margin:0 0 1rem; font:500 var(--type-section)/1.2 Georgia,serif; }
.services-path-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.services-path { min-width:0; padding:1.4rem; background:var(--card); border:1px solid var(--line); border-radius:.65rem; }
.services-path-number { margin:0; color:var(--jade); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.services-path h3 { margin:.65rem 0; font:500 var(--type-card)/1.25 Georgia,serif; }
.services-path>p:last-of-type { color:var(--muted); }
.services-path-links,.services-known ul { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0 0; padding:0; list-style:none; }
.services-path-links li,.services-known li { min-width:0; max-width:100%; }
.services-path-links a,.services-known a { display:inline-flex; align-items:center; min-height:44px; padding:.45rem .75rem; border:1px solid var(--line); border-radius:.35rem; background:var(--card); color:var(--jade-dark); text-decoration:none; }
.services-path-links a,.services-known a { max-width:100%; overflow-wrap:anywhere; }
.services-path-links a:hover,.services-known a:hover { border-color:var(--jade); text-decoration:underline; }
.services-path h3 a { color:inherit; text-decoration:none; }
.services-path h3 a:hover { text-decoration:underline; }
.services-known { padding:clamp(1.5rem,4vw,2.5rem); background:var(--jade-dark); color:#fff; border-radius:.65rem; }
.services-known .eyebrow { color:#e3c58b; }
.services-directory { padding-top:clamp(2.5rem,5vw,4rem); border-top:1px solid var(--line); }
.services-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,4vw,3rem); margin-top:1.5rem; }
.services-directory-group { min-width:0; }
.services-directory-group h3 { margin:0 0 .8rem; font:500 var(--type-card)/1.25 Georgia,serif; }
.services-directory-list { margin:0; padding:0 0 0 1.25rem; }
.services-directory-list .services-directory-list { margin:.65rem 0 0; }
.services-directory-list li { padding:.5rem 0; overflow-wrap:anywhere; }
.services-directory-list li+li { border-top:1px solid var(--line); }
.services-directory-list a,.services-directory-list strong { font-weight:700; }
.services-directory-list span { display:block; color:var(--muted); }
.services-unclear { max-width:76ch; }
.services-unclear .button { margin-top:.6rem; }
.services-process .home-card-grid { margin-top:1.5rem; }
.service-page { max-width:860px; }
.service-intro { max-width:76ch; }
.service-intro h1 { margin:.1rem 0 var(--page-title-gap); }
.service-intro .lead { margin-bottom:1rem; }
.service-body { margin-top:clamp(2.5rem,5vw,4rem); }
.service-body section+section { margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.service-page .related-links { margin-top:clamp(2.5rem,5vw,4rem); }
.service-question { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; margin-top:clamp(2.5rem,5vw,4rem); padding:clamp(1rem,3vw,1.5rem); border-radius:.65rem; background:var(--story-bg,#e8eee5); }
.service-question p { max-width:54ch; margin:0; }
.service-question .button { flex:none; }
@media(max-width:860px) { .services-hero { grid-template-columns:1fr; } }
@media(max-width:680px) { .services-path-grid,.services-directory-grid { grid-template-columns:1fr; } .services-path { padding:1.2rem; } .service-question { align-items:flex-start; flex-direction:column; } }
