/* Service detail pages use the portfolio's shared fonts, colors and navigation. */
.service-detail-container { max-width:1080px; }
.service-detail-page .service-detail-hero { text-align:left; }
.service-detail-hero h1 { max-width:850px; font-size:clamp(2rem,4.4vw,3.6rem); line-height:1.12; letter-spacing:-.045em; }
.service-detail-hero .service-summary { max-width:860px; margin-bottom:1.2rem; font-size:1.13rem; line-height:1.75; }
.service-eyebrow { margin-bottom:.8rem; color:var(--accent,#d7a457); font-family:"DM Mono",monospace; font-size:.76rem; letter-spacing:.055em; text-transform:uppercase; }
.service-breadcrumb { margin-bottom:2rem; font-size:.8rem; line-height:1.7; }
.service-breadcrumb ol { display:flex; flex-wrap:wrap; gap:.35rem .55rem; padding:0; margin:0; list-style:none; }
.service-breadcrumb li+li::before { content:"/"; margin-right:.55rem; color:var(--subtle,#9ba4b5); }
.service-breadcrumb li:last-child { color:var(--subtle,#9ba4b5); }
.service-byline { color:var(--subtle,#9ba4b5); font-size:.82rem; line-height:1.7; }
.service-byline span { padding:0 .35rem; }
.service-tags { display:flex; flex-wrap:wrap; gap:.5rem; }
.service-tags .badge { padding:.5rem .7rem; font-weight:500; }
.service-block { margin-bottom:3rem; }
.service-block h2,.service-related h2 { margin-bottom:1.1rem; font-size:clamp(1.4rem,2.3vw,1.9rem); line-height:1.3; letter-spacing:-.025em; }
.service-block p { max-width:930px; line-height:1.85; }
.service-scope { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0; }
.service-scope>div,.service-evidence-card { padding:1.35rem; background:var(--panel-soft,rgba(128,128,128,.04)); border:1px solid var(--border,rgba(128,128,128,.22)); border-radius:16px; }
.service-scope dt { margin-bottom:.55rem; color:var(--heading,#f3f3f4); font-weight:700; }
.service-scope dd { margin:0; font-size:.9rem; line-height:1.8; }
.service-approach { list-style:none; counter-reset:approach; margin:0; padding:0; }
.service-approach li { position:relative; padding:0 0 1.65rem 3.5rem; counter-increment:approach; }
.service-approach li::before { content:counter(approach,decimal-leading-zero); position:absolute; left:0; top:.1rem; width:2.5rem; height:2.5rem; display:grid; place-items:center; color:var(--accent,#d7a457); background:var(--accent-soft,rgba(215,164,87,.09)); border:1px solid var(--border,rgba(128,128,128,.22)); border-radius:11px; font-family:"DM Mono",monospace; font-size:.83rem; }
.service-approach h3 { margin-bottom:.55rem; font-size:1.13rem; line-height:1.5; }
.service-approach p { margin-bottom:0; }
.service-limitations { padding:1.5rem; border-left:3px solid var(--accent,#d7a457); background:var(--panel-soft,rgba(128,128,128,.04)); border-radius:0 14px 14px 0; }
.service-limitations p:last-child { margin-bottom:0; }
.service-evidence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.service-evidence-card h3 { margin-bottom:.65rem; font-size:1rem; line-height:1.55; }
.service-evidence-card p { margin:0; font-size:.88rem; line-height:1.8; }
.service-questions { margin:0; }
.service-questions>div { padding:1.25rem 0; border-bottom:1px solid var(--border,rgba(128,128,128,.22)); }
.service-questions>div:first-child { padding-top:0; }
.service-questions dt { margin-bottom:.6rem; color:var(--heading,#f3f3f4); font-size:1.03rem; line-height:1.55; }
.service-questions dd { margin:0; line-height:1.85; }
.service-contact { padding:2rem; background:var(--panel-soft,rgba(128,128,128,.04)); border:1px solid var(--border,rgba(128,128,128,.22)); border-radius:20px; }
.service-related ul { display:flex; flex-wrap:wrap; gap:.7rem; margin:0; padding:0; list-style:none; }
.service-related li a { display:block; padding:.65rem .9rem; font-size:.82rem; border:1px solid var(--border,rgba(128,128,128,.22)); border-radius:10px; }
.service-related li a:hover,.service-related li a:focus { border-color:var(--accent,#d7a457); }
.service-skip { position:fixed; top:-6rem; left:1rem; z-index:100000; padding:.75rem 1rem; color:#111; background:#f5ba5a; border-radius:0 0 10px 10px; }
.service-skip:focus { top:0; color:#111; }
.service-detail-page a { overflow-wrap:anywhere; }
@media (max-width:1199.98px) { .service-scope,.service-evidence { grid-template-columns:1fr; } }
@media (max-width:575.98px) {
  .service-detail-hero .container { padding-left:1.35rem; padding-right:1.35rem; }
  .service-detail-hero .service-summary { font-size:1rem; }
  .service-breadcrumb { font-size:.73rem; margin-bottom:1.5rem; }
  .service-block { margin-bottom:2.2rem; }
  .service-approach li { padding-left:2.7rem; }
  .service-approach li::before { width:2rem; height:2rem; font-size:.73rem; }
  .service-contact,.service-limitations { padding:1.25rem; }
  .service-contact .btn { display:block; width:100%; white-space:normal; }
}
@media print {
  .service-detail-page .header,.service-detail-page .service-related,.service-detail-page .service-contact,.service-detail-page .service-skip { display:none !important; }
  .service-detail-page .main-wrapper { margin:0 !important; }
  .service-scope,.service-evidence { display:block; }
  .service-scope>div,.service-evidence-card { margin-bottom:.75rem; }
}
