/* Service layouts use the same brand tokens and controls as the homepage. */
:root {
  --c-white: var(--paper);
  --c-black: var(--ink);
  --c-grey: var(--muted);
  --c-light-grey: var(--line);
  --c-yellow: var(--yellow);
  --c-blue: var(--navy);
  --c-alt: #e9ebe7;
  --ease: cubic-bezier(.2,.7,.2,1);
}
.service-page {font-family:inherit}
.service-page :is(figure,p,h1,h2,h3) {margin:0}
.service-page .section {padding-block:clamp(4rem,8vw,7.5rem)}
.service-page .eyebrow,
.service-page .num-tag {font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;line-height:1.5}
.service-page .eyebrow {color:var(--muted)}
.service-page .num-tag {display:inline-flex;gap:12px;color:var(--muted)}
.service-page .num-tag .n {display:none}
.service-page :is(.body-copy,.desc,.copy,.bio) {font-size:16px;line-height:1.65;color:var(--muted)}
.service-page .grey {color:var(--muted)}
.service-page .hero {background:var(--paper);padding-block:clamp(3rem,6vw,6rem) 3rem}
.service-page .hero .eyebrow {display:flex;align-items:center;gap:12px;margin-bottom:2.2rem;color:var(--ink)}
.service-page .hero .eyebrow:before {content:"";width:9px;height:9px;background:var(--yellow);flex:none}
.service-page .hero h1 {color:var(--ink)}
.service-page .hero :is(.lead,.sub) {font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.5;letter-spacing:-.018em;margin-top:2.3rem;color:var(--ink)}
.service-page :is(.hero h1 .yellow,.heading-accent) {color:inherit;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:.09em;text-underline-offset:.13em;text-decoration-skip-ink:none}
.hero-actions,.row {display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2.5rem}
.service-page .btn {border:1px solid var(--navy);display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:17px 22px;background:var(--navy);color:var(--paper);font-size:14px;min-height:56px;transition:background .2s}
.service-page .btn:hover {background:#263e50}
.service-page :is(.btn,.button) {border-radius:0;font-weight:400;text-align:left}
.service-page .btn .arr {width:20px;height:20px;flex-shrink:0}
.service-page .text-link {display:inline-flex;align-items:center;gap:14px;font-size:14px;padding-block:10px}
.service-page .text-link:hover {text-decoration:underline;text-underline-offset:5px}
.service-jump-links {display:flex;flex-wrap:wrap;gap:1rem 2rem;border-top:1px solid var(--line);padding-top:1.3rem;margin-top:2rem;font-size:13px}
.service-jump-links a {display:inline-flex;align-items:center;gap:14px;padding-block:7px}
.service-jump-links a:after {content:"↓";color:var(--muted)}
.service-jump-links a:hover {text-decoration:underline;text-underline-offset:5px}
.service-page .section-head {max-width:60rem;margin-bottom:3rem}
.service-page .section-head h2 {margin-top:1.5rem}
.service-page .section-head>p {font-size:17px;line-height:1.6;color:var(--muted);max-width:36rem;margin-top:1.6rem}
.service-page h3 {line-height:1.15}
.service-page .qa {border-bottom:1px solid var(--line)}
.service-page .qa:first-child {border-top:1px solid var(--ink)}
.service-page .qa summary {display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:18px;font-weight:400;line-height:1.4;letter-spacing:-.02em;padding:1.4rem 0;cursor:pointer;list-style:none}
.service-page summary::-webkit-details-marker {display:none}
.service-page .qa summary:after {content:"+";font-size:24px;flex:none}
.service-page .qa[open] summary:after {content:"−"}
.service-page .qa .plus {display:none}
.service-page .qa :is(.ans,.answer) {font-size:15px;line-height:1.7;color:var(--muted);padding:0 2rem 1.5rem 0}
.service-page :is(.contact,.final) {background:var(--yellow)}
.service-page .contact-layout {display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.service-page .contact-layout>* {min-width:0}
.service-page .contact-intro :is(.eyebrow,.num-tag) {color:var(--ink);margin:0 0 1.8rem}
.service-page .contact-intro h2 {font-size:clamp(2.8rem,4.7vw,4.4rem);margin:0!important}
.service-page .contact-intro>p:not(.eyebrow) {max-width:28rem;margin-top:2rem;line-height:1.65;font-size:16px}
.service-page .contact-person {margin-top:3rem;font-size:13px;line-height:1.5}
.service-page .contact-person strong {display:block;font-weight:500}
.service-page .contact-person a {display:inline-block;border-bottom:1px solid currentColor;overflow-wrap:anywhere;margin-top:.5rem}
.service-page .field-label {font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}
.service-page .contact-email {font-size:13px;line-height:1.6;margin-top:1.8rem;overflow-wrap:anywhere}
.service-page .final-meta {display:flex;flex-wrap:wrap;gap:1rem 2rem;font-size:11px;border-top:1px solid #9b801a;padding-top:1.5rem;margin-top:1.5rem}
.service-page .next-step {font-size:14px}
.service-page .contact-flow[data-state="sent"] :is(.contact-email,.final-meta) {display:none}

@media(max-width:800px) {
  .service-page .hero {padding-top:3rem}
  .service-page .hero .eyebrow {margin-bottom:1.5rem}
  .service-page .hero :is(.lead,.sub) {font-size:18px;margin-top:1.8rem}
  .service-page .section-head {margin-bottom:2rem}
  .service-page .contact-layout {grid-template-columns:1fr;gap:2.5rem}
  .service-page .contact-person {margin-top:1.5rem}
}
@media(max-width:600px) {
  .service-page .hero-actions {align-items:stretch;gap:1rem}
  .service-page .hero-actions .button,.service-page .btn {width:100%}
  .service-page .qa summary {font-size:17px;padding-block:1.2rem}
  .service-page .section-head>p {font-size:16px}
  .service-page .contact-intro h2 {font-size:clamp(2.65rem,10vw,3.6rem)}
  .service-jump-links {gap:.25rem 1.5rem;font-size:12px}
}
@media print {
  .site-header,.service-jump-links,.contact-flow {display:none!important}
  .service-page .hero,.service-page .section {padding-block:2rem}
}
