/* ================= SERVICES OVERVIEW PAGE ================= */
.services-hero {
  position:relative;
  overflow:hidden;
  min-height:780px;
  padding:188px 0 82px;
  background:
    radial-gradient(circle at 88% 10%,rgba(5,88,234,.18),transparent 28%),
    radial-gradient(circle at 72% 82%,rgba(249,30,101,.18),transparent 34%),
    linear-gradient(135deg,#fff 0%,#f5efff 58%,#fff2f7 100%);
}
.services-hero::before { content:"";position:absolute;inset:0;opacity:.25;background-image:radial-gradient(rgba(99,5,244,.32) 1px,transparent 1px);background-size:27px 27px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 86%); }
.services-hero-grid { position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:58px;align-items:center; }
.services-hero-copy h1 { max-width:790px;margin-top:23px;font-size:clamp(50px,5.2vw,76px);line-height:1;letter-spacing:-.058em; }
.services-hero-copy > p { max-width:720px;margin-top:25px;color:#514d60;font-size:clamp(17px,1.45vw,20px); }
.services-hero-actions { display:flex;flex-wrap:wrap;gap:14px;margin-top:31px; }
.services-hero-proof { display:flex;flex-wrap:wrap;gap:10px;margin-top:27px; }
.services-hero-proof span { padding:9px 12px;border-radius:999px;background:white;border:1px solid var(--line);box-shadow:0 10px 26px rgba(42,22,92,.07);font-size:11px;font-weight:800;color:#4b4658; }
.services-system { position:relative;min-height:520px; }
.system-orbit { position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(99,5,244,.22);transform:translate(-50%,-50%); }
.system-orbit.outer { width:440px;height:440px; }
.system-orbit.inner { width:315px;height:315px;border-style:dashed; }
.system-core { position:absolute;left:50%;top:50%;width:210px;height:210px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-content:center;text-align:center;color:white;background:linear-gradient(145deg,var(--pink),var(--purple) 58%,var(--blue));box-shadow:0 38px 90px rgba(99,5,244,.32); }
.system-core small { font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72); }
.system-core strong { max-width:150px;margin:8px auto 0;font-family:"Plus Jakarta Sans",sans-serif;font-size:28px;line-height:1.02; }
.system-core span { margin-top:10px;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
.system-node { position:absolute;padding:12px 15px;border-radius:999px;background:white;border:1px solid rgba(17,24,39,.1);box-shadow:0 16px 42px rgba(37,20,83,.16);font-size:11px;font-weight:900;color:#3f3850; }
.system-node.n1 { left:0;top:8%; }.system-node.n2 { right:-2%;top:14%; }.system-node.n3 { left:-4%;top:48%; }.system-node.n4 { right:-3%;top:51%; }.system-node.n5 { left:5%;bottom:9%; }.system-node.n6 { right:4%;bottom:7%; }.system-node.n7 { left:50%;bottom:-1%;transform:translateX(-50%); }
.services-proof-strip { padding:24px 0;background:var(--ink-2);color:white; }
.services-proof-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.11); }
.services-proof-grid > div { min-height:115px;padding:23px;background:var(--ink-2);display:flex;flex-direction:column;justify-content:center; }
.services-proof-grid strong { font-family:"Plus Jakarta Sans",sans-serif;font-size:28px; }
.services-proof-grid span { margin-top:5px;color:rgba(255,255,255,.55);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.services-section-head { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:48px;align-items:end; }
.services-section-head .section-intro { max-width:610px;justify-self:end; }
.services-page-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:44px; }
.services-page-card { position:relative;overflow:hidden;min-height:405px;padding:30px;border-radius:28px;color:white;box-shadow:0 20px 58px rgba(40,20,88,.14); }
.services-page-card::after { content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-92px;bottom:-92px;border:1px solid rgba(255,255,255,.22);box-shadow:0 0 0 30px rgba(255,255,255,.04),0 0 0 60px rgba(255,255,255,.025); }
.card-purple { background:linear-gradient(145deg,#261054,var(--purple)); }.card-pink { background:linear-gradient(145deg,#65102f,var(--pink)); }.card-blue { background:linear-gradient(145deg,#07235d,var(--blue)); }.card-ink { background:linear-gradient(145deg,#111827,#34235d); }.card-gold { background:linear-gradient(145deg,#6b4100,#c47f00); }.card-green { background:linear-gradient(145deg,#074724,var(--green)); }.card-ai { background:linear-gradient(145deg,#4b0d58 0%,#F91E65 48%,#6305F4 100%); }
.services-card-top { display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1; }
.services-card-top > span { font-family:"Bebas Neue",sans-serif;font-size:34px;color:rgba(255,255,255,.56); }
.services-card-icon { width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16); }
.services-card-icon svg { width:29px;height:29px; }
.services-page-card h3 { position:relative;z-index:1;margin-top:36px;font-size:clamp(27px,2.4vw,38px); }
.services-page-card p { position:relative;z-index:1;max-width:620px;margin-top:15px;color:rgba(255,255,255,.72);font-size:15px; }
.services-page-card ul { position:relative;z-index:1;display:grid;gap:8px;margin:20px 0 60px;padding:0;list-style:none;color:rgba(255,255,255,.78);font-size:12px;font-weight:700; }
.services-page-card li { position:relative;padding-left:16px; }.services-page-card li::before { content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:white; }
.services-page-card > a { position:absolute;z-index:2;left:30px;bottom:28px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase; }
.services-bottleneck-section { background:#f7f4ff; }
.bottleneck-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px; }
.bottleneck-card { min-height:330px;padding:30px;border-radius:27px;background:white;border:1px solid var(--line);box-shadow:0 16px 48px rgba(42,22,92,.08); }
.bottleneck-card > span { font-family:"Bebas Neue",sans-serif;font-size:58px;line-height:.8;color:rgba(99,5,244,.15); }
.bottleneck-card h3 { margin-top:22px;font-size:25px; }.bottleneck-card p { margin-top:12px;color:var(--muted);font-size:14px; }
.bottleneck-card strong { display:block;margin-top:24px;color:var(--purple);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }
.bottleneck-card a { display:block;margin-top:9px;font-size:14px;font-weight:800;color:#332a42; }.bottleneck-card a:hover { color:var(--purple); }
.services-process-section { background:var(--ink-2);color:white; }
.services-process-section .section-title { color:white; }
.services-process-grid-page { display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px; }
.services-process-card-page { min-height:250px;padding:28px;border-radius:25px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12); }
.services-process-card-page > span { display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--pink),var(--purple));font-family:"Plus Jakarta Sans",sans-serif;font-weight:900; }
.services-process-card-page:nth-child(2) > span { background:linear-gradient(135deg,var(--purple),var(--blue)); }.services-process-card-page:nth-child(3) > span { background:linear-gradient(135deg,var(--pink),var(--gold)); }.services-process-card-page:nth-child(4) > span { background:linear-gradient(135deg,var(--blue),var(--green)); }
.services-process-card-page h3 { margin-top:25px;font-size:22px; }.services-process-card-page p { margin-top:11px;color:rgba(255,255,255,.64);font-size:14px; }
.services-final-cta { display:grid;grid-template-columns:1.25fr .75fr;gap:42px;align-items:center;padding:50px;border-radius:30px;color:white;background:linear-gradient(135deg,var(--pink),var(--purple) 58%,var(--blue));box-shadow:0 30px 80px rgba(99,5,244,.25); }
.services-final-cta h2 { margin-top:17px;font-size:clamp(34px,4vw,52px); }.services-final-cta p { max-width:680px;margin-top:15px;color:rgba(255,255,255,.78); }
.services-final-cta > div:last-child { text-align:center; }.services-final-cta small { display:block;margin-top:12px;color:rgba(255,255,255,.64);font-size:11px; }

@media (max-width:1050px) {
  .services-hero { min-height:auto;padding:174px 0 74px; }
  .services-hero-grid,.services-section-head,.services-final-cta { grid-template-columns:1fr; }
  .services-system { max-width:650px;width:100%;margin:0 auto; }
  .services-section-head .section-intro { justify-self:start; }
  .services-proof-grid,.services-process-grid-page { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px) {
  .services-hero { padding:140px 0 58px; }
  .services-hero-copy h1 { font-size:clamp(34px,9vw,43px);line-height:1.04; }
  .services-hero-copy > p { font-size:16px; }
  .services-hero-actions .btn { width:100%; }
  .services-system { min-height:410px; }
  .system-orbit.outer { width:320px;height:320px; }.system-orbit.inner { width:230px;height:230px; }.system-core { width:155px;height:155px; }.system-core strong { font-size:21px; }.system-node { padding:9px 10px;font-size:8.5px; }
  .services-page-grid,.bottleneck-grid,.services-process-grid-page,.services-proof-grid { grid-template-columns:1fr; }
  .services-page-card { min-height:390px;padding:25px; }.services-page-card > a { left:25px; }.services-final-cta { padding:34px 25px; }
}
@media (max-width:430px) {
  .services-hero { padding-top:134px; }
  .services-hero-copy h1 { font-size:clamp(31px,8.5vw,36px); }
  .services-system { min-height:370px; }.system-orbit.outer { width:285px;height:285px; }.system-orbit.inner { width:205px;height:205px; }.system-core { width:140px;height:140px; }
  .services-page-card h3 { font-size:27px; }.services-final-cta h2 { font-size:31px; }
}

/* Services page content must remain visible even if animation libraries fail. */
.page-services .reveal {
  opacity: 1;
  transform: none;
}

.page-services .services-page-card:last-child { grid-column:1 / -1; }
@media (max-width:720px){.page-services .services-page-card:last-child{grid-column:auto}.page-services .system-node.n7{bottom:0}}
