/* Homepage facts and services; scoped to leave the other sections unchanged. */
.facts-section { padding:30px 0; background:#fff; border-bottom:1px solid #edf2f8; }
.facts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.fact-card { --accent:#078ee8; --wash:#edf7ff; --edge:#d7ecfc; display:flex; align-items:center; gap:18px; min-width:0; position:relative; padding:25px 22px; border:1px solid var(--edge); border-radius:14px; background:linear-gradient(115deg,var(--wash),#fff); overflow:hidden; }
.fact-violet { --accent:#8850dd; --wash:#f5efff; --edge:#e9defa; }
.fact-amber { --accent:#d38b17; --wash:#fff8e9; --edge:#f6e8c7; }
.fact-teal { --accent:#089b91; --wash:#eafaf7; --edge:#cfeee7; }
.fact-icon { display:grid; place-items:center; flex:0 0 54px; width:54px; height:54px; color:var(--accent); background:#fff; border:1px solid var(--edge); border-radius:14px; font-size:26px; box-shadow:0 5px 12px #173b5f06; }
.fact-copy { display:flex; flex-direction:column; gap:4px; }
.fact-copy strong { font-size:clamp(28px,2.45vw,43px); line-height:1.1; letter-spacing:-.045em; font-weight:800; color:#102c50; font-variant-numeric:tabular-nums; }
.fact-copy > span { font-size:13px; font-weight:500; color:#6e7f96; line-height:1.5; }
.fact-trend { position:absolute; right:15px; top:15px; color:var(--accent); opacity:.45; font-size:14px; }
.services-modern { position:relative; padding:82px 0 90px; background:radial-gradient(ellipse at 0 100%,#edf7ff 0,transparent 48%),radial-gradient(ellipse at 100% 0,#f4f0ff 0,transparent 40%),#fcfdff; overflow:hidden; }
.services-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:40px; }
.services-heading-main { flex:1 1 60%; }
.services-eyebrow { display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.16em; color:#008ee5; font-weight:700; margin-bottom:18px; }
.services-eyebrow > span { width:8px; height:8px; border-radius:50%; background:#0799f4; box-shadow:0 0 0 5px #0799f410; }
.services-heading h2 { font-size:clamp(32px,2.8vw,48px); line-height:1.16; letter-spacing:-.045em; font-weight:750; margin:0; color:#112d51; }
.services-heading h2 > span { color:#098fe0; }
.services-heading-side { flex:0 1 390px; }
.services-heading-side > p { font-size:15px; line-height:1.85; color:#79899d; margin:0 0 18px; }
.services-all-link { display:inline-flex; gap:14px; align-items:center; font-size:14px; font-weight:700; color:#1c3c62; }
.services-all-link > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#0799f4; background:#eaf6ff; border:1px solid #d6ecfc; transition:background .2s,color .2s; }
.services-all-link:hover { color:#008ee5; }
.services-all-link:hover > span { background:#0799f4; color:#fff; }
.modern-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.modern-service-card { --accent:#078fe7; --wash:#eef8ff; --edge:#dceefa; display:flex; flex-direction:column; min-width:0; position:relative; isolation:isolate; border:1px solid var(--edge); border-radius:18px; padding:28px; background:#fff; color:#173455; box-shadow:0 8px 28px #18385b04; overflow:hidden; transition:transform .25s,box-shadow .25s,border-color .25s; }
.service-violet { --accent:#8651dc; --wash:#f5efff; --edge:#e9def9; }
.service-rose { --accent:#eb5485; --wash:#fff0f5; --edge:#f8dfea; }
.service-teal { --accent:#09a594; --wash:#eafbf7; --edge:#d6f0e9; }
.modern-service-card::before { content:""; position:absolute; z-index:-1; inset:0 0 auto; height:190px; background:linear-gradient(180deg,var(--wash),transparent); pointer-events:none; }
.modern-service-card::after { content:""; position:absolute; top:0; left:28px; right:28px; height:3px; border-radius:0 0 6px 6px; background:var(--accent); opacity:.75; }
.service-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }
.modern-service-icon { display:grid; place-items:center; width:64px; height:64px; flex-shrink:0; background:var(--accent); color:#fff; border-radius:17px; font-size:29px; box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 22%,transparent); transition:transform .25s; }
.service-card-number { font-size:39px; font-weight:700; letter-spacing:-.055em; line-height:1; color:var(--accent); opacity:.16; }
.modern-service-card h3 { margin:0 0 16px; color:#173455; font-size:21px; line-height:1.35; letter-spacing:-.03em; font-weight:700; }
.modern-service-card > p { color:#76869a; font-size:14px; line-height:1.9; margin:0 0 26px; }
.service-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:20px; border-top:1px solid var(--edge); color:var(--accent); font-size:12px; font-weight:600; }
.service-card-arrow { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; background:var(--wash); border:1px solid var(--edge); border-radius:50%; font-size:17px; transition:background .25s,color .25s,transform .25s; }
.modern-service-card:hover { color:#173455; border-color:var(--accent); transform:translateY(-7px); box-shadow:0 18px 40px #102f5310; }
.modern-service-card:hover .modern-service-icon { transform:rotate(-5deg); }
.modern-service-card:hover .service-card-arrow { background:var(--accent); color:#fff; border-color:var(--accent); transform:rotate(45deg); }
.modern-service-card:focus-visible,.services-all-link:focus-visible { outline:3px solid var(--accent,#0799f4); outline-offset:4px; }
@media (max-width:1399.98px) {
  .fact-card { gap:12px; padding:22px 16px; }
  .fact-icon { flex-basis:46px; width:46px; height:46px; font-size:23px; }
  .fact-copy > span { font-size:12px; }
  .modern-service-grid { gap:16px; }
  .modern-service-card { padding:24px 20px; }
  .modern-service-card h3 { font-size:19px; }
  .modern-service-card > p { font-size:13px; }
  .service-card-bottom { font-size:11px; gap:8px; }
}
@media (max-width:991.98px) {
  .facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .fact-copy strong { font-size:34px; }
  .fact-card { padding:24px; gap:18px; }
  .services-modern { padding:64px 0; }
  .services-heading { gap:28px; align-items:flex-start; }
  .services-heading-side { flex-basis:35%; }
  .services-heading-side > p { font-size:14px; }
  .modern-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .modern-service-card { padding:28px; }
  .modern-service-card h3 { font-size:22px; }
  .modern-service-card > p { font-size:14px; }
  .service-card-bottom { font-size:12px; }
}
@media (max-width:575.98px) {
  .facts-section { padding:20px 0; }
  .facts-grid { gap:10px; }
  .fact-card { padding:18px 12px; gap:10px; align-items:flex-start; flex-direction:column; border-radius:12px; }
  .fact-icon { flex-basis:40px; width:40px; height:40px; font-size:20px; border-radius:11px; }
  .fact-copy strong { font-size:31px; }
  .fact-copy > span { font-size:11px; }
  .services-modern { padding:48px 0; }
  .services-heading { flex-direction:column; gap:22px; margin-bottom:28px; }
  .services-heading-side { flex:auto; }
  .services-heading h2 { font-size:32px; }
  .services-eyebrow { font-size:10px; margin-bottom:15px; }
  .services-heading-side > p { font-size:14px; margin-bottom:14px; }
  .modern-service-grid { grid-template-columns:1fr; gap:18px; }
  .modern-service-card { padding:26px; border-radius:16px; }
  .service-card-top { margin-bottom:22px; }
  .modern-service-card h3 { font-size:23px; }
  .modern-service-card > p { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .modern-service-card,.modern-service-icon,.service-card-arrow,.services-all-link > span { transition:none; }
  .modern-service-card:hover,.modern-service-card:hover .modern-service-icon,.modern-service-card:hover .service-card-arrow { transform:none; }
}
