/* Service documents share the existing brand and grow with their content. */
.service-page .page-top{padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--muted)}
.breadcrumbs li+li::before{content:'/';margin-right:10px;color:var(--muted)}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.service-nav{display:flex;gap:8px;flex-wrap:wrap;font-size:13px}
.service-nav a{min-height:44px;padding:10px 14px;display:flex;align-items:center;border:1px solid var(--line);border-radius:3px}
.service-nav a[aria-current="page"]{color:var(--bg);background:var(--ink);border-color:var(--ink)}
.service-nav a:hover:not([aria-current="page"]){background:var(--surface)}
.service-hero{padding-block:clamp(36px,5vw,72px)}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;align-items:center}
.service-hero-copy,.service-visual,.route-overview{min-width:0}
.service-hero-copy .eyebrow{margin-bottom:24px;color:var(--muted);max-width:55ch;align-items:flex-start}
.service-hero-copy .eyebrow::before{margin-top:.35em}
.service-hero-copy .eyebrow span{min-width:0}
.service-hero h1{font-size:clamp(2.25rem,4.3vw,3.9rem);line-height:1.08;max-width:21ch}
.service-hero .lead{max-width:57ch;margin-bottom:28px}
.service-page .contact-primary{white-space:normal;text-align:center;font-size:16px;max-width:100%}
.service-visual{margin:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--soft)}
.service-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:18px}
.service-visual figcaption{padding:16px 20px;font:500 12px/1.6 var(--mono);border-top:1px solid var(--line);color:var(--muted)}
.service-facts{display:grid;grid-template-columns:1fr;gap:20px;border-top:1px solid var(--line);margin:36px 0 0;padding-top:26px}
.service-facts dt{font:500 11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:7px}
.service-facts dd{margin:0;font-weight:650;font-size:17px}
.service-page .section-head{gap:36px}
.service-page .section-head>div{min-width:0;max-width:600px}
.service-page .section-intro{max-width:510px;padding-top:0;font-size:16px;line-height:1.8}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.detail-block{padding:28px;border:1px solid var(--line);background:var(--surface);border-radius:4px;min-width:0}
.detail-block h3{font-size:23px}
.detail-block p{font-size:16px;line-height:1.8}
.detail-block p+p{margin-top:16px}
.page-process,.page-faq{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.service-steps{list-style:none;margin:0;padding:0}
.service-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.service-steps li:first-child{padding-top:0}
.service-steps .number{padding-top:6px;color:var(--accent-ink)}
.service-steps h3{font-size:21px;margin-bottom:8px}
.service-steps p{font-size:16px}
.route-overview{padding:30px;border:1px solid var(--line);background:var(--surface);border-radius:4px}
.route-overview>.eyebrow{margin-bottom:22px;color:var(--muted)}
.route-overview ol{list-style:none;margin:0;padding:0}
.route-overview li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line);font-weight:650}
.route-overview .number{color:var(--accent-ink);padding-top:7px}
.example-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;margin-bottom:20px}
.example-images figure{margin:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--surface);min-width:0}
.example-images img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:12px;background:var(--soft)}
.example-images figcaption{padding:16px 20px;font-size:13px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line)}
.page-faq details{border-top:1px solid var(--line)}
.page-faq details:last-child{border-bottom:1px solid var(--line)}
.page-faq summary{cursor:pointer;min-height:56px;padding:18px 8px;font-size:17px;font-weight:650;line-height:1.5}
.page-faq summary::marker{color:var(--accent-ink)}
.page-faq summary:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}
.page-faq details p{padding:0 8px 22px;font-size:16px;line-height:1.8}
.project-contact-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:clamp(24px,4vw,50px);background:#151819;color:#F4F3EF;border:1px solid #343C3C;border-radius:4px}
.project-contact-panel .eyebrow{color:#A8B0AA;margin-bottom:22px}
.project-contact-panel h2{margin-bottom:20px}
.project-contact-panel p{color:#A8B0AA;font-size:15px;max-width:60ch}
.quote-checklist{padding-left:22px;margin:22px 0 0;font-size:16px;color:#F4F3EF}
.quote-checklist li+li{margin-top:12px}
.quote-checklist li::marker{color:#FF8B6D}
.page-contact-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px;min-width:0}
.page-contact-actions .contact-primary{min-height:54px}
.page-contact-actions .text-link{color:#F4F3EF;font-size:15px}
.page-email{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;font-size:16px}
.related-section h2{font-size:28px;margin-bottom:24px}
.related-links{display:flex;gap:16px;flex-wrap:wrap}
.related-link{display:flex;align-items:center;gap:20px;padding:18px 24px;border:1px solid var(--line);border-radius:3px;min-height:54px;font-weight:650;background:var(--surface)}
.related-link::after{content:'↗';color:var(--accent-ink)}
.related-link:hover{border-color:var(--accent-ink)}
.service-case-grid,.resource-links{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.service-case-card{display:grid;grid-template-columns:96px minmax(0,1fr) 16px;align-items:center;gap:20px;border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:20px;min-width:0}
.service-case-card img{width:96px;height:96px;object-fit:contain;background:var(--soft);border-radius:3px;padding:8px}
.service-case-card h3,.resource-link h3{font-size:18px;line-height:1.35;margin:0 0 8px}
.service-case-card p,.resource-link p{font-size:14px;font-weight:400;line-height:1.7;margin:0;color:var(--muted)}
.resource-arrow{color:var(--accent-ink)}
.service-case-card:hover,.resource-link:hover{border-color:var(--accent-ink)}
.service-case-card:focus-visible,.resource-link:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}
.service-resources{padding-block:40px;border-top:1px solid var(--line)}
.service-resources .section-head{margin-bottom:24px;align-items:start}
.service-resources h2{font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.3;max-width:24ch}
.resource-link{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:20px;padding:24px;align-items:start}
.resource-link::after{content:none}
.page-faq details{overflow:hidden}
.page-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none}
.page-faq summary::-webkit-details-marker{display:none}
.page-faq summary::after{content:'+';color:var(--accent-ink);font-size:24px;font-weight:400;flex-shrink:0}
.page-faq details[open] summary::after{content:'−'}
@media(min-width:750px){.service-case-grid,.resource-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.service-case-card{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:16px}.service-case-card img{width:64px;height:80px}.service-case-card .resource-arrow{display:none}}
@media(min-width:600px){.service-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.service-hero-grid{grid-template-columns:1.12fr 1fr;gap:52px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-process,.page-faq{grid-template-columns:1fr 1.6fr;gap:70px}.project-contact-panel{grid-template-columns:1.3fr 1fr;gap:50px}}
@media(max-width:780px){.service-page .page-top{gap:12px}.service-page .service-nav{font-size:12px;gap:6px}.service-nav a{padding-inline:10px}.service-page .section-intro{padding-top:18px}.detail-block{padding:24px}.service-hero-copy .eyebrow{font-size:10px;letter-spacing:.08em}}
