/* Service editorial layout uses the existing Acadify palette and typography. */
.service-page { --service-accent:#cf6b48; color:#3f3e3c; }
.service-page .service-hero { padding:150px 0 72px; background:#1f1d1a; color:#fff; }
.service-page .service-hero h1 { color:#fff; font-size:clamp(2.25rem,4.4vw,4rem); letter-spacing:-.045em; line-height:1.08; max-width:850px; }
.service-page .service-hero p { color:#dedbd5; font-size:1.12rem; line-height:1.8; max-width:740px; }
.service-eyebrow { display:block; color:#a84a2e; font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:16px; }
.service-page .service-hero .service-eyebrow { color:#eda98e; }
.service-page .service-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin-bottom:34px; font-size:.82rem; }
.service-page .service-breadcrumb li, .service-page .service-breadcrumb a { color:#d5cfc4; }
.service-page .service-breadcrumb a:hover { color:#fff; }
.service-page .service-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.service-page .service-actions .btn { padding:13px 22px; border-radius:9px; font-weight:600; }
.service-page .service-actions .btn-primary,.challenge-brief .btn-primary { background:#a84a2e !important; background-image:none !important; border-color:#a84a2e; color:#fff !important; }
.service-page .service-actions .btn-primary:hover { background:#b85233; border-color:#b85233; }
.service-page .service-actions .btn-outline-light { color:#fff; }
.service-page .service-brief { background:#2b2824; border:1px solid #4a433d; border-radius:18px; padding:28px; }
.service-page .service-brief h2 { color:#fff; font-size:1.25rem; }
.service-page .service-brief p { font-size:.96rem; }
.service-page .service-brief .brief-label { display:block; color:#eda98e; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; margin-top:22px; }
.service-page .service-section { padding:72px 0; }
.service-page .service-section + .service-section { border-top:1px solid #dedbd5; }
.service-page .service-section h2 { font-size:clamp(1.75rem,2.6vw,2.6rem); letter-spacing:-.035em; }
.service-page .service-section h3 { font-size:1.14rem; line-height:1.4; }
.service-page .service-card { height:100%; background:#fff; border:1px solid #e2ded7; border-radius:16px; padding:28px; box-shadow:none; }
.service-page .service-card p { font-size:.96rem; line-height:1.75; margin-bottom:0; }
.service-page .service-card i { color:#b85233; margin-bottom:18px; font-size:1.5rem; }
.service-page .service-list { padding-left:20px; margin:18px 0 0; }
.service-page .service-list li { margin-bottom:12px; line-height:1.65; }
.service-page .service-delivery { background:#eae6df; border-radius:18px; padding:32px; }
.service-page .service-steps { list-style:none; padding:0; margin:30px 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.service-page .service-step-number { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid #cf6b48; color:#b85233; border-radius:50%; font-weight:700; margin-bottom:18px; }
.service-page .service-steps p { font-size:.9rem; line-height:1.7; }
.service-page .service-faq { border-bottom:1px solid #d8d2c9; padding:22px 0; }
.service-page .service-faq summary { cursor:pointer; font-weight:600; color:#1f1d1a; line-height:1.6; padding-right:10px; }
.service-page .service-faq p { max-width:850px; margin:18px 0 0; line-height:1.8; }
.service-page summary:focus-visible, .service-page a:focus-visible { outline:3px solid #cf6b48; outline-offset:5px; }
.service-page .service-related a { display:block; height:100%; color:#1f1d1a; text-decoration:none; border:1px solid #d8d2c9; border-radius:12px; padding:20px; font-weight:600; }
.service-page .service-related a:hover { border-color:#cf6b48; background:#fff; }
.service-page .service-cta { background:#1f1d1a; border-radius:22px; padding:40px; }
.service-page .service-cta h2, .service-page .service-cta p { color:#fff; }
.service-page .service-index-card { display:flex; flex-direction:column; }
.service-page .service-index-card a { color:#a84a2e; font-weight:600; margin-top:24px; }
.service-page .service-index-card p { flex:1; }
.service-page .service-jump { display:flex; flex-wrap:wrap; gap:10px 24px; margin:0; padding:18px 0; list-style:none; }
.service-page .service-jump a { font-size:.86rem; color:#52463d; text-underline-offset:4px; }
.challenge-card { height:100%; background:#fff; border:1px solid #e2ded7; border-radius:16px; padding:28px; display:flex; flex-direction:column; }
#problems-we-solve-section,.service-page section[id] { scroll-margin-top:115px; }
.challenge-card h3 { font-size:1.18rem; line-height:1.4; margin:16px 0; }
.challenge-card p { font-size:.95rem; line-height:1.75; }
.challenge-card .challenge-label { color:#a84a2e; font-size:.73rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; }
.challenge-card .challenge-first-step { border-top:1px solid #e2ded7; padding-top:16px; margin-top:auto; }
.challenge-card a { color:#a84a2e; font-weight:600; text-underline-offset:4px; }
.challenge-brief { border:1px solid #d8d2c9; border-radius:16px; background:#eae6df; padding:26px; }
@media(max-width:991px) { .service-page .service-hero { padding:125px 0 55px; } .service-page .service-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .service-page .service-section { padding:52px 0; } }
@media(max-width:575px) { .service-page .service-hero { padding-top:110px; } .service-page .service-steps { grid-template-columns:1fr; gap:12px; } .service-page .service-steps li { border-left:2px solid #d8d2c9; padding-left:20px; } .service-page .service-card,.service-page .service-delivery,.service-page .service-brief,.challenge-card { padding:22px; } .service-page .service-cta { padding:28px 22px; } .service-page .service-actions .btn { width:100%; } }
/* Keep the fixed navigation over the hero without inherited body spacing. */
body.service-document { padding-top:0 !important; background:#1f1d1a; }
.service-page { background:#f5f4ef; overflow-wrap:break-word; }
.service-page .service-actions .btn-outline-light { background:transparent !important; background-image:none !important; border:1px solid #dedbd5 !important; color:#fff !important; }
.service-page .service-actions .btn-outline-light:hover,
.service-page .service-actions .btn-outline-light:focus-visible,
.service-page .service-actions .btn-outline-light:active { background:#f5f4ef !important; color:#1f1d1a !important; border-color:#f5f4ef !important; }
.service-page .service-actions .btn-primary:hover,
.service-page .service-actions .btn-primary:focus-visible { background:#913d26 !important; border-color:#913d26 !important; }
.service-page .service-related .service-compare-link { display:inline-block; height:auto; padding:0; border:0; border-radius:0; color:#a84a2e; text-decoration:underline; text-underline-offset:4px; }
.service-page .service-related .service-compare-link:hover { background:transparent; color:#78331f; }
.service-page .service-section-intro { max-width:850px; line-height:1.8; margin:18px 0 28px; }
.service-page .service-decisions { margin-top:28px; }
.service-page .service-decision { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:32px; padding:26px 0; border-bottom:1px solid #d8d2c9; }
.service-page .service-decision p { margin:0; line-height:1.8; }
.service-page .service-example { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; margin:28px 0 0; }
.service-page .service-example li { background:#eae6df; padding:26px; border-radius:14px; }
.service-page .service-example .brief-label { display:block; font-weight:700; color:#78331f; margin-bottom:12px; }
.service-page .service-example p { line-height:1.8; margin:0; }
.service-page .service-index-card h2 { font-size:1.45rem; }
.service-page .service-card .service-list { font-size:.96rem; }
@media(max-width:767px) { .service-page .service-decision,.service-page .service-example { grid-template-columns:1fr; gap:16px; } .service-page .service-jump { gap:12px 18px; } }
@media(prefers-reduced-motion:reduce) { .service-page *, .service-page *::before,.service-page *::after { transition:none !important; } }
