
.gpp-services-v148{--red:#f3163b;--panel:#11141b;--line:rgba(255,255,255,.09);--muted:#9ca5b5;max-width:1280px;margin:0 auto;padding:34px 24px 80px;color:#f7f8fb}
.gpp-services-v148 *{box-sizing:border-box}
.gpp-services-hero{position:relative;overflow:hidden;min-height:520px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:44px;padding:58px 56px;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 83% 20%,rgba(243,22,59,.34),transparent 28%),radial-gradient(circle at 76% 84%,rgba(124,58,237,.23),transparent 32%),linear-gradient(135deg,#171a22 0%,#0a0d12 64%,#11131a 100%);box-shadow:0 30px 90px rgba(0,0,0,.32)}
.gpp-services-hero:before{content:"";position:absolute;inset:auto -120px -150px auto;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.05);box-shadow:0 0 0 45px rgba(255,255,255,.014),0 0 0 90px rgba(255,255,255,.009)}
.gpp-services-hero__content{position:relative;z-index:2}
.gpp-services-kicker,.gpp-services-intro>span,.gpp-services-flow>div>span,.gpp-services-cta span{display:inline-flex;align-items:center;gap:9px;color:#ff4d6b;font-size:10px;font-weight:900;letter-spacing:.18em}
.gpp-services-kicker:before,.gpp-services-intro>span:before,.gpp-services-flow>div>span:before,.gpp-services-cta span:before{content:"";width:28px;height:2px;border-radius:99px;background:var(--red)}
.gpp-services-hero h1{max-width:720px;margin:15px 0 18px;color:#fff;font-size:clamp(46px,5.3vw,76px);line-height:.98;letter-spacing:-.055em}
.gpp-services-hero p{max-width:680px;margin:0;color:#b0b8c5;font-size:15px;line-height:1.75}
.gpp-services-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.gpp-services-hero__actions a,.gpp-services-cta a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--red);border-radius:12px;background:linear-gradient(135deg,var(--red),#ff3556);color:#fff!important;text-decoration:none;font-size:11px;font-weight:900;box-shadow:0 12px 30px rgba(243,22,59,.22)}
.gpp-services-hero__actions a.is-secondary,.gpp-services-cta a.is-secondary{border-color:rgba(255,255,255,.12);background:#171b23;box-shadow:none}
.gpp-services-hero__visual{position:relative;min-height:360px;display:grid;place-items:center}
.gpp-services-orbit{position:relative;width:300px;height:300px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 32px rgba(255,255,255,.018),0 0 0 64px rgba(255,255,255,.012)}
.gpp-services-orbit strong{position:absolute;left:50%;top:50%;width:94px;height:94px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:28px;background:linear-gradient(135deg,#f3163b,#8b1cf5);color:#fff;font-size:44px;box-shadow:0 18px 50px rgba(243,22,59,.28)}
.gpp-services-orbit span{position:absolute;width:60px;height:60px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(13,16,22,.84);font-size:24px;backdrop-filter:blur(12px)}
.gpp-services-orbit span:nth-child(1){left:-12px;top:72px}.gpp-services-orbit span:nth-child(2){right:-12px;top:82px}.gpp-services-orbit span:nth-child(3){left:48px;bottom:-7px}.gpp-services-orbit span:nth-child(4){right:44px;bottom:-7px}
.gpp-services-intro{max-width:760px;margin:80px auto 28px;text-align:center}.gpp-services-intro>span{justify-content:center}.gpp-services-intro h2{margin:11px 0 8px;color:#fff;font-size:38px;letter-spacing:-.035em}.gpp-services-intro p{margin:0;color:var(--muted);font-size:13px}
.gpp-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gpp-service-card{position:relative;min-height:310px;display:flex;flex-direction:column;padding:24px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#151922,#101319);box-shadow:0 16px 45px rgba(0,0,0,.19);transition:transform .2s ease,border-color .2s ease}
.gpp-service-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.16)}
.gpp-service-card:after{content:"";position:absolute;right:-60px;top:-70px;width:170px;height:170px;border-radius:50%;background:var(--glow,rgba(243,22,59,.14));filter:blur(8px)}
.gpp-service-card.is-red{--accent:#ff4965;--glow:rgba(243,22,59,.18)}.gpp-service-card.is-purple{--accent:#b58cff;--glow:rgba(124,58,237,.20)}.gpp-service-card.is-blue{--accent:#7dd3fc;--glow:rgba(14,165,233,.17)}.gpp-service-card.is-green{--accent:#86efac;--glow:rgba(34,197,94,.15)}.gpp-service-card.is-orange{--accent:#fdba74;--glow:rgba(249,115,22,.15)}.gpp-service-card.is-ai{--accent:#e9d5ff;--glow:rgba(168,85,247,.21)}
.gpp-service-card__icon{position:relative;z-index:2;width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:#0e1117;font-size:24px}
.gpp-service-card>span{position:relative;z-index:2;margin-top:20px;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.15em}
.gpp-service-card h3{position:relative;z-index:2;margin:8px 0 10px;color:#fff;font-size:23px;letter-spacing:-.025em}
.gpp-service-card p{position:relative;z-index:2;margin:0 0 22px;color:#9ea7b6;font-size:11px;line-height:1.65}
.gpp-service-card>a,.gpp-service-card>button{position:relative;z-index:2;margin-top:auto;min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:#171b23;color:#fff!important;text-decoration:none;font-size:10px;font-weight:900}
.gpp-service-card>button{opacity:.55;cursor:not-allowed}.gpp-service-card>a b{color:var(--accent);font-size:15px}
.gpp-services-flow{margin-top:70px;padding:34px;border:1px solid var(--line);border-radius:24px;background:#101319;display:grid;grid-template-columns:.9fr 1.4fr;gap:30px;align-items:center}
.gpp-services-flow h2{margin:9px 0 0;color:#fff;font-size:32px;letter-spacing:-.035em}
.gpp-services-flow__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gpp-services-flow__steps article{padding:18px;border:1px solid var(--line);border-radius:15px;background:#151922}
.gpp-services-flow__steps b{display:block;color:#ff4965;font-size:11px}.gpp-services-flow__steps strong{display:block;margin-top:12px;color:#fff;font-size:15px}.gpp-services-flow__steps p{margin:5px 0 0;color:#929aa7;font-size:10px;line-height:1.5}
.gpp-services-cta{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px 38px;border:1px solid rgba(243,22,59,.22);border-radius:24px;background:radial-gradient(circle at 88% 30%,rgba(243,22,59,.21),transparent 32%),linear-gradient(135deg,#14171f,#0d1015)}
.gpp-services-cta h2{max-width:620px;margin:8px 0 0;color:#fff;font-size:30px}.gpp-services-cta>div:last-child{display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:1000px){.gpp-services-hero{grid-template-columns:1fr;min-height:0}.gpp-services-hero__visual{min-height:330px}.gpp-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gpp-services-flow{grid-template-columns:1fr}}
@media(max-width:650px){.gpp-services-v148{padding:18px 12px 55px}.gpp-services-hero{padding:30px 22px;border-radius:21px}.gpp-services-hero h1{font-size:42px}.gpp-services-hero__visual{display:none}.gpp-services-grid{grid-template-columns:1fr}.gpp-services-flow__steps{grid-template-columns:1fr}.gpp-services-cta{align-items:flex-start;flex-direction:column;padding:26px 22px}}

/* v14.8.1 — true full-width services landing page */
html,body{overflow-x:hidden}

.gpp-services-v148{
  width:100vw;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0 0 90px!important;
  overflow:hidden;
}

.gpp-services-v148 .gpp-services-hero{
  width:100%;
  min-height:650px;
  padding:80px clamp(28px,6vw,96px);
  border-left:0;
  border-right:0;
  border-radius:0;
}

.gpp-services-hero__content{max-width:820px}
.gpp-services-hero h1{max-width:820px;font-size:clamp(54px,6.4vw,92px)}
.gpp-services-hero p{max-width:760px;font-size:16px}
.gpp-services-hero__visual{min-height:430px}
.gpp-services-orbit{width:360px;height:360px}
.gpp-services-orbit strong{width:110px;height:110px;font-size:50px}
.gpp-services-orbit span{width:68px;height:68px;font-size:27px}

.gpp-services-intro,
.gpp-services-grid,
.gpp-services-flow,
.gpp-services-cta{
  width:min(1500px,calc(100% - 64px));
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}

.gpp-services-intro{max-width:860px;margin-top:95px}
.gpp-services-intro h2{font-size:44px}
.gpp-services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gpp-service-card{min-height:350px;padding:28px;border-radius:24px}
.gpp-service-card h3{font-size:26px}
.gpp-service-card p{font-size:12px}
.gpp-services-flow{margin-top:85px;padding:42px;grid-template-columns:.8fr 1.5fr}
.gpp-services-flow h2{font-size:38px}
.gpp-services-flow__steps{gap:14px}
.gpp-services-flow__steps article{padding:22px}
.gpp-services-cta{margin-top:24px;padding:42px 46px}
.gpp-services-cta h2{font-size:36px}

@media(max-width:1100px){
  .gpp-services-v148 .gpp-services-hero{grid-template-columns:1fr;min-height:auto}
  .gpp-services-hero__visual{min-height:380px}
  .gpp-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gpp-services-flow{grid-template-columns:1fr}
}

@media(max-width:700px){
  .gpp-services-v148{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-bottom:60px!important;
  }
  .gpp-services-v148 .gpp-services-hero{padding:42px 20px}
  .gpp-services-hero h1{font-size:44px}
  .gpp-services-hero__visual{display:none}
  .gpp-services-intro,
  .gpp-services-grid,
  .gpp-services-flow,
  .gpp-services-cta{width:calc(100% - 24px)}
  .gpp-services-grid{grid-template-columns:1fr}
  .gpp-services-flow__steps{grid-template-columns:1fr}
  .gpp-services-cta{flex-direction:column;align-items:flex-start;padding:28px 22px}
}


/* v14.8.2 — keep hero CTAs visible above the fold */
.gpp-services-v148 .gpp-services-hero{
  min-height:calc(100svh - 92px);
  height:auto;
  padding-top:clamp(40px,6vh,68px);
  padding-bottom:clamp(40px,6vh,68px);
}

.gpp-services-hero h1{
  font-size:clamp(50px,5.8vw,84px);
  line-height:.95;
  margin-top:12px;
  margin-bottom:16px;
}

.gpp-services-hero p{
  line-height:1.6;
}

.gpp-services-hero__actions{
  margin-top:24px;
}

/* Shorter desktop/laptop screens: preserve the whole hero in first viewport. */
@media (min-width:901px) and (max-height:850px){
  .gpp-services-v148 .gpp-services-hero{
    min-height:calc(100svh - 88px);
    padding-top:34px;
    padding-bottom:34px;
  }

  .gpp-services-hero h1{
    max-width:730px;
    font-size:clamp(48px,5.25vw,72px);
    line-height:.94;
    margin-top:10px;
    margin-bottom:13px;
  }

  .gpp-services-hero p{
    max-width:690px;
    font-size:14px;
    line-height:1.5;
  }

  .gpp-services-hero__actions{
    margin-top:18px;
  }

  .gpp-services-hero__actions a{
    min-height:44px;
  }

  .gpp-services-hero__visual{
    min-height:320px;
  }

  .gpp-services-orbit{
    width:310px;
    height:310px;
  }
}

/* Very short laptop viewports */
@media (min-width:901px) and (max-height:720px){
  .gpp-services-v148 .gpp-services-hero{
    padding-top:24px;
    padding-bottom:24px;
  }

  .gpp-services-hero h1{
    font-size:clamp(44px,4.8vw,64px);
    margin-bottom:10px;
  }

  .gpp-services-hero p{
    font-size:13px;
    line-height:1.42;
  }

  .gpp-services-hero__actions{
    margin-top:14px;
  }

  .gpp-services-kicker{
    font-size:9px;
  }

  .gpp-services-hero__visual{
    min-height:280px;
  }

  .gpp-services-orbit{
    width:275px;
    height:275px;
  }
}


/* v14.8.3 — tighter transition from hero to services */
.gpp-services-intro{
  max-width:860px;
  margin-top:58px!important;
  margin-bottom:34px!important;
  padding:0 20px;
}

.gpp-services-intro>span{
  margin-bottom:8px;
}

.gpp-services-intro h2{
  display:block!important;
  margin:10px 0 10px!important;
  color:#111827!important;
  font-size:clamp(34px,3.2vw,46px)!important;
  line-height:1.05;
  letter-spacing:-.04em;
}

.gpp-services-intro p{
  max-width:720px;
  margin:0 auto!important;
  color:#6b7280!important;
  font-size:14px!important;
  line-height:1.6!important;
}

.gpp-services-grid{
  margin-top:0!important;
}

.gpp-service-card{
  min-height:330px;
}

@media(max-width:700px){
  .gpp-services-intro{
    margin-top:42px!important;
    margin-bottom:24px!important;
    padding:0 8px;
  }

  .gpp-services-intro h2{
    font-size:32px!important;
  }

  .gpp-services-intro p{
    font-size:13px!important;
  }

  .gpp-service-card{
    min-height:300px;
  }
}
