/* This stylesheet is loaded only on the service pages. Native anchor scrolling preserves URL history and keyboard navigation. */
html:has(.service-page) { scroll-behavior:smooth; }
.service-page { --service-ink:#172029; --service-red:#c8312c; color:var(--service-ink); background:#fff; width:100%; margin:0; }
.entry-content .service-page > * { width:100%; max-width:none !important; margin:0 !important; }
.service-page, .service-page * { box-sizing:border-box; }
.service-page .service-wrap { width:min(1100px, calc(100% - 80px)); margin-inline:auto; }
.service-page h1, .service-page h2 { color:var(--service-ink); font-weight:700; text-transform:none; }
.service-page h2 { font-size:clamp(28px,3vw,40px); letter-spacing:-.035em; line-height:1.18; margin:0; }
.service-page p { margin:0 0 20px; line-height:1.85; }
.service-page .service-eyebrow { color:var(--service-red); font-size:11px; font-weight:700; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; margin:0 0 18px; }
.service-page .service-hero { padding:155px 0 70px; }
.service-page .service-hero .service-eyebrow { color:#fff !important; }
.service-page .service-hero h1 { color:#fff; font-size:clamp(40px,5vw,66px); line-height:1.08; letter-spacing:-.04em; margin:0 0 24px; }
.service-page .service-lead { max-width:650px; color:#eef0f1 !important; font-size:18px; line-height:1.75; margin-bottom:28px; }
.service-page a { text-decoration:none; }
.service-page .wp-block-button__link { text-transform:none; letter-spacing:normal; }
.service-page .service-button .wp-block-button__link { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; padding:15px 22px; background:var(--service-red); color:#fff; font-size:13px; font-weight:700; line-height:1.5; border:1px solid transparent; border-radius:2px; transition:background .15s; }
.service-page .service-button .wp-block-button__link:hover { background:#a92824; color:#fff; }
.service-page .service-link .wp-block-button__link { display:inline-flex; gap:24px; align-items:center; color:var(--service-ink); font-weight:700; font-size:14px; padding:10px 0; background:transparent; border-radius:0; border-bottom:1px solid #bbc2c5; }
.service-page .service-link .wp-block-button__link:hover, .service-page .service-contact-links a:hover { color:var(--service-red); }
.service-page a:focus-visible { outline:3px solid #d89017; outline-offset:5px; }
.service-nav { border-bottom:1px solid #e3e5e5; background:#fff; }
.service-page .service-nav-links { display:flex; gap:48px; }
.service-page .service-nav .wp-block-button__link { display:flex; gap:20px; align-items:center; color:#46535c; padding:24px 0; background:transparent; border-radius:0; font-size:13px; font-weight:600; }
.service-nav a span { color:#899297; font-size:14px; }
.service-page .service-nav a:hover { color:var(--service-red); }
.service-section { padding:78px 0; }
.service-section + .service-section .service-row { position:relative; }
.service-section + .service-section:not(.service-tint) .service-row::before { content:""; position:absolute; height:1px; background:#e6e9e9; top:-78px; left:0; right:0; }
.service-page [id] { scroll-margin-top:36px; }
.service-page .service-row { gap:85px; margin-bottom:0; align-items:flex-start; }
.service-copy { color:#56616a; font-size:16px; }
.service-copy > :last-child { margin-bottom:0; }
.service-tint { background:#f3f5f4; }
.service-page .service-copy > .service-contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin-top:26px; }
.service-contact-links a { color:var(--service-ink); overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#c6cccf; font-size:15px; }
.service-contact-links .service-phone a { font-size:27px; font-weight:700; text-decoration:none; letter-spacing:-.02em; }
.service-phone span { margin-left:18px; font-size:21px; }
.service-contact-links + .wp-block-buttons { margin-top:22px; }
.service-page .service-back, .service-page .service-back a { color:#fff !important; font-size:13px; margin-bottom:28px; }
.service-back a:hover { text-decoration:underline; text-underline-offset:5px; }
@media (max-width:1000px) {
 .service-page .service-row { gap:40px; }
 .service-page .service-nav-links { gap:32px; }
 .service-page .service-nav .wp-block-button__link { gap:12px; font-size:12px; }
}
@media (max-width:781px) {
 .service-page .service-wrap { width:calc(100% - 40px); }
 .service-page .service-hero { padding:125px 0 48px; }
 .service-page .service-hero h1 { font-size:clamp(34px,8vw,48px); }
 .service-page .service-lead { font-size:16px; }
 .service-lead br { display:none; }
 .service-page .service-button .wp-block-button__link { font-size:12px; }
 .service-page .service-nav-links { display:flex; flex-wrap:wrap; column-gap:24px; row-gap:0; padding-block:10px; }
 .service-page .service-nav .wp-block-button__link { padding:10px 0; font-size:12px; gap:10px; }
 .service-section { padding:48px 0; }
 .service-section + .service-section:not(.service-tint) .service-row::before { top:-48px; }
 .service-page .service-row { gap:24px; }
 .service-page h2 { font-size:30px; }
 .service-copy { font-size:15px; }
 .service-page [id] { scroll-margin-top:20px; }
 .service-contact-links .service-phone a { font-size:25px; }
}
@media (prefers-reduced-motion:reduce) {
 html:has(.service-page) { scroll-behavior:auto; }
 .service-page a { transition:none; }
}

/* Neutralize theme block margins without replacing Gutenberg layouts. */
.service-page.alignfull { width:100%; max-width:none; margin:0 !important; padding:0; }
.service-page > *, .service-page .service-wrap > *, .service-page .wp-block-column > * { margin-block-start:0; }
.service-page .service-contact-links p { margin:0; }
.service-page .wp-block-cover__inner-container { width:100%; }

