:root { --service-ink:#0f172a; --service-slate:#475569; --service-line:#dce3ec; --service-wash:#f5f7fa; --service-accent:#ea580c; }
.service-hero { padding:122px 0 76px; background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%); }
.service-crumbs { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.55rem; color:#64748b; font-size:.84rem; font-weight:600; }
.service-crumbs a { color:#475569; text-decoration:none; }
.service-hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr); gap:3.75rem; align-items:center; }
.service-eyebrow,.service-kicker { color:var(--service-accent); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.service-hero h1,.service-section h2 { color:var(--service-ink); font-family:'Open Sans',sans-serif; letter-spacing:-.05em; line-height:1.08; }
.service-hero h1 { margin:.65rem 0 1.25rem; font-size:clamp(2.35rem,4.2vw,4.5rem); font-weight:800; }
.service-lede { max-width:640px; color:var(--service-slate); font-size:1.08rem; line-height:1.72; }
.service-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.7rem; }
.service-hero-image { overflow:hidden; border:1px solid var(--service-line); border-radius:20px; background:#152131; box-shadow:0 26px 70px rgba(15,23,42,.13); }
.service-hero-image img { display:block; width:100%; height:440px!important; object-fit:cover; }
.service-section { padding:88px 0; }
.service-section.alt { background:var(--service-wash); }
.service-section h2 { max-width:760px; margin:.65rem 0 1rem; font-size:clamp(1.9rem,3.2vw,3rem); }
.service-section p { max-width:760px; color:var(--service-slate); line-height:1.76; }
/* Center standalone section introductions; keep split layouts and cards naturally left-aligned. */
.service-section > .container > .service-kicker { display:block; margin-left:auto; margin-right:auto; text-align:center; }
.service-section > .container > h2 { max-width:900px; margin-left:auto; margin-right:auto; text-align:center; font-size:clamp(2rem,3.2vw,3.1rem); }
.service-section > .container > p { max-width:760px; margin-left:auto; margin-right:auto; text-align:center; }
.service-section > .container > .service-grid,
.service-section > .container > .service-projects,
.service-section > .container > .service-faq { margin-left:auto; margin-right:auto; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem; margin-top:2.2rem; }
.service-card { padding:1.65rem; border:1px solid var(--service-line); border-radius:16px; background:#fff; }
.service-card i { color:var(--service-accent); font-size:1.15rem; }
.service-card h3 { margin:.8rem 0 .5rem; color:var(--service-ink); font-size:1.05rem; }
.service-card p { margin:0; font-size:.92rem; }
.service-split { display:grid; grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr); gap:5rem; align-items:start; }
.service-steps { display:grid; gap:.8rem; margin:1.5rem 0 0; }
.service-step { display:grid; grid-template-columns:2.2rem 1fr; gap:.8rem; align-items:start; padding:1rem 0; border-bottom:1px solid var(--service-line); }
.service-step:last-child { border-bottom:0; }.service-step span { display:grid; place-items:center; width:2.15rem; height:2.15rem; border-radius:50%; background:#fff0e8; color:#c2410c; font-size:.78rem; font-weight:800; }
.service-step strong { display:block; color:var(--service-ink); margin-bottom:.22rem; }.service-step p { margin:0; font-size:.93rem; }
.service-proof { padding:2rem; border-left:3px solid var(--service-accent); border-radius:0 14px 14px 0; background:#fff; color:var(--service-slate); line-height:1.7; }
.service-proof a { color:#0f4c81; font-weight:700; }
.service-projects { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; margin-top:2.25rem; }
.service-project { overflow:hidden; border:1px solid var(--service-line); border-radius:16px; background:#fff; }
.service-project img { display:block; width:100%; height:270px; object-fit:cover; }
.service-project-body { padding:1.35rem; }.service-project-body h3 { margin:0 0 .55rem; color:var(--service-ink); font-size:1.15rem; }.service-project-body p { margin:0 0 .85rem; font-size:.92rem; }.service-project-body a { color:#0f4c81; font-size:.9rem; font-weight:700; text-decoration:none; }
.service-checklist { display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem 1.25rem; margin:1.4rem 0 0; padding:0; list-style:none; }.service-checklist li { color:var(--service-slate); font-size:.94rem; line-height:1.55; }.service-checklist i { margin-right:.48rem; color:var(--service-accent); }
.service-faq { max-width:900px; margin-top:2rem; border-top:1px solid var(--service-line); }.service-faq details { padding:1.1rem 0; border-bottom:1px solid var(--service-line); }.service-faq summary { cursor:pointer; color:var(--service-ink); font-weight:700; }.service-faq p { margin:.75rem 0 0; }
.service-cta { padding:78px 0; border-top:1px solid var(--service-line); background:#f5f7fa; text-align:center; }.service-cta h2 { max-width:740px; margin:0 auto .9rem; color:var(--service-ink); font-family:'Open Sans',sans-serif; font-size:clamp(1.9rem,3vw,3rem); letter-spacing:-.04em; }.service-cta p { max-width:620px; margin:0 auto 1.75rem; color:var(--service-slate); line-height:1.7; }
@media (max-width:960px) { .service-hero { padding-top:122px; }.service-hero-grid,.service-split { grid-template-columns:1fr; gap:2.5rem; }.service-hero-image { max-width:760px; }.service-grid { grid-template-columns:1fr; } }
@media (max-width:640px) { .service-section { padding:64px 0; }.service-hero-image img { height:330px!important; }.service-hero-actions { flex-direction:column; align-items:stretch; }.service-hero-actions .btn { justify-content:center; }.service-projects,.service-checklist { grid-template-columns:1fr; } }
