.services-hub { --ink:#123349; --blue:#004877; --sky:#e9f4f7; --line:#d6e3e9; --accent:#f0a13a; color:var(--ink); padding:0; gap:0; letter-spacing:0; }
.services-hub * { box-sizing:border-box; }
.sh__inner { width:min(118rem,calc(100% - 4rem)); margin-inline:auto; }
.services-hub a { color:var(--blue); text-underline-offset:4px; }
.services-hub a:focus-visible,.services-hub summary:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.sh__intro { background:var(--sky); padding:2.4rem 0 4rem; }
.sh__breadcrumb { display:flex; gap:1rem; font-size:1.4rem; margin-bottom:3.2rem; }
.sh__eyebrow { display:flex; gap:1rem; align-items:center; color:var(--blue); font-size:1.4rem; font-weight:700; margin-bottom:1.2rem; }
.sh__eyebrow:before { content:""; width:3.2rem; height:3px; flex-shrink:0; background:var(--accent); }
.services-hub h1 { font-size:4.8rem; line-height:1.3; text-wrap:balance; }
.sh__lead { max-width:88rem; font-size:1.8rem; line-height:1.9; color:#506a79; margin-top:1.6rem; }
.sh__intro-links { display:flex; gap:2.4rem; flex-wrap:wrap; margin-top:2.4rem; font-size:1.6rem; font-weight:700; }
.sh__nav { display:flex; flex-wrap:wrap; gap:1.2rem 2.4rem; padding-block:2.4rem; border-bottom:1px solid var(--line); }
.sh__nav a { font-size:1.5rem; padding:.6rem 0; }
.sh__service { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:5rem; padding:4rem 0; border-bottom:1px solid var(--line); scroll-margin-top:10rem; }
.sh__copy { min-width:0; }
.services-hub h2 { font-size:3.2rem; line-height:1.4; }
.sh__copy > p:not(.sh__eyebrow) { font-size:1.7rem; line-height:1.9; color:#506a79; margin-top:1.6rem; }
.sh__service figure { margin:0; aspect-ratio:4/3; background:#eef2f3; overflow:hidden; }
.sh__service img { width:100%; height:100%; object-fit:contain; }
.sh__links { display:flex; flex-wrap:wrap; gap:1.6rem 2.4rem; margin-top:2.4rem; }
.sh__links a { display:inline-flex; align-items:center; gap:.8rem; font-size:1.5rem; font-weight:700; min-height:4.4rem; }
.sh__process { background:#f6f9fb; padding:5rem 0; }
.sh__process ol { padding:0; list-style:none; counter-reset:step; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.4rem; margin-top:3rem; }
.sh__process li { border-top:2px solid var(--line); padding-top:1.6rem; }
.sh__process li:before { counter-increment:step; content:"0" counter(step); color:var(--blue); font-size:2.4rem; font-weight:700; }
.sh__process h3 { font-size:1.9rem; line-height:1.5; margin-top:1rem; }
.sh__process p,.sh__faq p { color:#506a79; font-size:1.6rem; line-height:1.9; margin-top:1rem; }
.sh__faq { padding-block:5rem; }
.sh__faq h2 { margin-bottom:2.4rem; }
.sh__faq details { border-bottom:1px solid var(--line); padding:1.6rem 0; }
.sh__faq summary { cursor:pointer; font-size:1.8rem; font-weight:700; }
.sh__contact { background:var(--ink); color:#fff; padding:5rem 0; }
.sh__contact > .sh__inner { display:flex; justify-content:space-between; align-items:center; gap:3rem; }
.sh__contact p { font-size:1.6rem; line-height:1.9; color:#c9dae3; margin-top:1.2rem; }
.sh__actions { display:flex; flex-direction:column; gap:1.2rem; flex-shrink:0; }
.sh__actions a { display:flex; align-items:center; justify-content:center; gap:1rem; font-size:1.6rem; font-weight:700; padding:1.6rem 2.4rem; border-radius:8px; background:var(--accent); color:var(--ink); text-decoration:none; }
.sh__actions a.sh__line { background:#06c755; color:#fff; }
@media(max-width:960px) { .services-hub h1 { font-size:4rem; } .sh__service { gap:3rem; } .sh__process ol { grid-template-columns:repeat(2,minmax(0,1fr)); } .sh__contact > .sh__inner { flex-direction:column; align-items:flex-start; } }
@media(max-width:640px) { .sh__inner { width:calc(100% - 3.2rem); } .services-hub h1 { font-size:3.4rem; } .services-hub h2 { font-size:2.8rem; } .sh__lead { font-size:1.6rem; } .sh__service { grid-template-columns:minmax(0,1fr); gap:2rem; padding-block:3rem; } .sh__service figure { grid-row:2; } .sh__process ol { grid-template-columns:minmax(0,1fr); } .sh__actions { width:100%; } }
