/* Candidate-only support layer for generated nested service pages.
   Scope is limited to body.service-page; retained page chrome stays unchanged. */
body.service-page { background: #fffdf2; color: #20243a; }
.service-page main { overflow-x: clip; }
.service-page .service-hero { background: #fff4a3; padding: clamp(4rem, 8vw, 7rem) 1.25rem; }
.service-page .service-shell { width: min(100%, 88rem); margin-inline: auto; }
/* Hero type is a centered block; the deck keeps a left-aligned reading measure. */
.service-page .service-hero__inner { max-width: 52rem; margin-inline: auto; text-align: center; }
.service-page .service-kicker,
.service-page .service-eyebrow { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; color: #171a42; font-family: 'Public Sans', sans-serif; font-size: .75rem; font-weight: 800; letter-spacing: .12em; line-height: 1.25; text-transform: uppercase; }
.service-page .service-kicker { border-radius: 999px; background: #ffff00; padding: .55rem .85rem; }
.service-page .service-hero h1 { max-width: 18ch; margin: 1rem auto 0; color: #171a42; font-family: Sora, sans-serif; font-size: clamp(2.55rem, 6vw, 5rem); font-weight: 800; letter-spacing: -.045em; line-height: .98; text-wrap: balance; }
.service-page .service-deck { max-width: 52rem; margin: 1.5rem auto 0; border-left: .25rem solid #ff0000; padding-left: 1.25rem; font-family: 'Public Sans', sans-serif; font-size: clamp(1.0625rem, 2vw, 1.25rem); line-height: 1.7; text-align: left; }
.service-page .service-hero .service-deck { margin: 1.5rem auto 0; }
@media (min-width: 64rem) { .service-page .service-hero h1 { font-size: 62px; } }
.service-page .service-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.service-page .service-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; border-radius: 1.25rem; background: #c90000; color: #fffdf2; padding: .8rem 1.35rem; font-family: 'Public Sans', sans-serif; font-weight: 800; text-decoration: none; transition: background-color .2s, transform .2s; }
.service-page .service-button:hover { background: #a80000; transform: translateY(-2px); }
.service-page .service-button--light { background: #fff9cc; color: #171a42; box-shadow: inset 0 0 0 1px #d9d7ba; }
.service-page .service-button--light:hover { background: #ffff00; }
.service-page .service-button:focus-visible,
.service-page details:focus-within { outline: 4px solid rgb(0 0 255 / .3); outline-offset: 4px; }
.service-page .service-section { padding: clamp(4rem, 8vw, 6.5rem) 1.25rem; }
.service-page .service-section--ink { background: #11145c; color: #fffdf2; }
.service-page .service-section--sun { background: #fff4a3; }
/* Required non-hero alignment: centered eyebrow and heading; readable deck remains left aligned. */
.service-page .service-section__head { max-width: 52rem; margin: 0 auto; text-align: center; }
.service-page .service-section__head .service-eyebrow { justify-content: center; }
.service-page .service-section h2 { max-width: 24ch; margin: .75rem auto 0; color: #171a42; font-family: Sora, sans-serif; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.05; text-wrap: balance; }
.service-page .service-section--ink h2 { color: #fffdf2; }
.service-page .service-section__head .service-deck { color: inherit; }
.service-page .service-section--ink .service-deck { border-color: #ff0000; color: #d8daf5; }
.service-page .service-content { max-width: 72rem; margin: 2.5rem auto 0; }
/* Lists share the established 52rem reading measure and become contained cards, not full-width stripes. */
.service-page .service-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); gap: .85rem; width: min(100%, 52rem); margin: 0 auto; padding: 0; list-style: none; }
.service-page .service-list li { min-width: 0; border-left: .25rem solid #ff0000; background: #fffdf2; color: #20243a; padding: 1rem 1.15rem; box-shadow: 0 1px 0 rgb(23 26 66 / .08); }
/* Ink-section eyebrows need a bright accent against the navy panel. */
.service-page .service-section--ink .service-eyebrow { color: #ffff00; }
.service-page .service-card-grid { display: grid; gap: 1rem; }
.service-page .service-card { background: #fffdf2; color: #20243a; padding: 1.35rem; box-shadow: 0 1px 0 rgb(23 26 66 / .1); }
.service-page .service-card h3 { margin: 0; color: #171a42; font-family: Sora, sans-serif; font-size: 1.2rem; line-height: 1.2; }
.service-page .service-card p { margin: .75rem 0 0; line-height: 1.65; }
.service-page .service-steps { display: grid; gap: 1rem; padding: 0; list-style: none; counter-reset: service-step; }
.service-page .service-steps li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; align-items: start; padding: 1.2rem 0; border-bottom: 1px solid rgb(32 36 58 / .14); }
.service-page .service-steps li::before { content: counter(service-step, decimal-leading-zero); counter-increment: service-step; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; background: #11145c; color: #ffff00; font-family: Sora, sans-serif; font-weight: 800; }
.service-page .service-steps strong { display: block; color: #171a42; font-family: Sora, sans-serif; }
.service-page .service-steps p { margin: .35rem 0 0; line-height: 1.65; }
.service-page .service-faqs { display: grid; gap: .75rem; }
.service-page .service-faqs details { background: #fffdf2; color: #20243a; padding: 0 1.2rem; box-shadow: 0 1px 0 rgb(23 26 66 / .1); }
.service-page .service-faqs summary { cursor: pointer; padding: 1.2rem 2rem 1.2rem 0; color: #171a42; font-family: Sora, sans-serif; font-weight: 800; }
.service-page .service-faqs p { margin: 0; padding: 0 0 1.2rem; line-height: 1.7; }
.service-page .service-final { background: #c90000; color: #fffdf2; text-align: center; }
.service-page .service-final h2 { color: #fffdf2; }
.service-page .service-final .service-deck { border-left: 0; padding-left: 0; text-align: left; }
.service-page .service-trust { margin: 1.25rem 0 0; color: #fff9cc; font-family: 'Public Sans', sans-serif; font-weight: 800; }
@media (min-width: 42rem) { .service-page .service-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .service-page .service-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
