/* Evergreen service explanations, using the existing portfolio design. */
.service-intro { align-items:start; grid-template-columns:minmax(0,1.3fr) minmax(260px,.85fr); gap:52px; }
.service-intro h1 { font-size:clamp(2.25rem,4.5vw,3.8rem); }
.service-headline { margin:22px 0 0; max-width:700px; color:#e2e9e7; font-size:clamp(1rem,1.8vw,1.2rem); line-height:1.7; font-weight:400; }
.service-audience { border-left:2px solid #489a8f; padding:5px 0 5px 24px; color:#dbe5e2; }
.service-audience h2 { margin:0 0 12px; color:#adccc4; font-weight:600; font-size:.8rem; letter-spacing:.06em; }
.service-audience p { margin:0 0 18px; line-height:1.85; font-size:.9rem; }
.service-audience-compact { margin:22px 0; }
.service-audience-compact p { margin:0; }
.service-details { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,1fr); gap:30px 48px; margin:28px 0; padding:34px; border:1px solid var(--sa-line); border-radius:8px; background:#171b1df7; scroll-margin-top:115px; }
.service-details h2, .service-related h2 { margin:0 0 17px; font-size:1.25rem; line-height:1.35; font-weight:500; letter-spacing:-.015em; }
.service-description p { margin:0 0 18px; color:#d1dcda; font-size:.93rem; line-height:1.85; }
.service-description p:last-child { margin-bottom:0; }
.service-description .service-scope { padding:16px 18px; border-left:3px solid #b5934c; background:#312a1e; color:#eee0c7; }
.service-uses { border-left:1px solid var(--sa-line); padding-left:30px; }
.service-uses ul { display:grid; gap:11px; list-style:none; padding:0; margin:0; }
.service-uses li { display:flex; align-items:baseline; gap:11px; color:#d7e4df; font-size:.85rem; line-height:1.6; }
.service-uses li::before { content:""; width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:var(--sa-amber); }
.service-area-line { grid-column:1/-1; margin:0; padding-top:22px; border-top:1px solid var(--sa-line); display:flex; align-items:baseline; gap:18px; color:#b7c9c4; font-size:.79rem; line-height:1.75; }
.service-area-line strong { flex-shrink:0; color:#e5ece8; font-weight:600; }
.hms-page > .service-area-line { padding:22px 26px; background:#171b1df5; border:1px solid var(--sa-line); border-radius:6px; }
.service-hero img { max-height:580px; }
.service-related { margin:36px 0; padding-block:24px; border-block:1px solid var(--sa-line); }
.service-related > div { display:flex; flex-wrap:wrap; gap:12px; }
.service-related a { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; min-height:48px; padding:14px 17px; background:#172422; border:1px solid #52746b70; border-radius:5px; color:#d7e7e1; font-size:.82rem; line-height:1.5; text-decoration:none; }
.service-related a:hover { border-color:var(--sa-amber); color:var(--sa-amber-soft); }
.service-example-link { margin:30px 0; }
.service-directory-intro { align-items:start; }
.service-directory-intro .service-credentials { color:#b9d3ca; font-size:.8rem; }
.service-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.service-directory-card { display:flex; flex-direction:column; padding:30px; border:1px solid var(--sa-line); border-radius:7px; background:#171b1df7; text-decoration:none; }
.service-directory-number { color:#93b9ae; font-size:.7rem; letter-spacing:.15em; margin-bottom:18px; }
.service-directory-card h2 { font-size:1.45rem; line-height:1.3; font-weight:500; letter-spacing:-.02em; margin:0 0 15px; }
.service-directory-card p { color:#c6d5ce; line-height:1.8; font-size:.9rem; margin:0 0 24px; }
.service-card-link { margin-top:auto; color:var(--sa-amber-soft); display:flex; justify-content:space-between; gap:16px; font-size:.81rem; font-weight:600; }
.service-directory-card:hover { border-color:#ca9b4d; background:#1c2422; }
.service-directory-area { margin:30px 0; max-width:850px; color:#c4d3ca; font-size:.88rem; line-height:1.85; }
.service-overview-audience strong { display:block; margin-bottom:5px; font-size:.8rem; color:#b9d3ca; font-weight:600; }
.service-overview-uses { display:flex; flex-wrap:wrap; list-style:none; padding:0; gap:10px 26px; color:#d2dfd9; font-size:.88rem; line-height:1.75; }
@media (max-width:940px) { .service-intro { gap:30px; } .service-details { padding:27px; gap:25px; } .service-uses { padding-left:24px; } }
@media (max-width:640px) {
  .service-intro { grid-template-columns:1fr; gap:25px; }
  .service-intro h1 { font-size:clamp(2.15rem,9vw,3.15rem); }
  .service-headline { margin-top:16px; font-size:1rem; }
  .service-audience { padding-left:18px; }
  .service-audience p { font-size:.86rem; }
  .service-details { grid-template-columns:1fr; padding:24px 20px; gap:25px; scroll-margin-top:96px; }
  .service-description p { font-size:.88rem; }
  .service-uses { border-left:0; border-top:1px solid var(--sa-line); padding:22px 0 0; }
  .service-area-line { display:block; font-size:.78rem; }
  .service-area-line strong { display:block; margin-bottom:8px; }
  .service-directory { grid-template-columns:1fr; gap:16px; }
  .service-directory-card { padding:25px 22px; }
  .service-related > div { flex-direction:column; }
}
