/*
 * PluginPip 2027 - Services optical glass composition v2.
 * Local theme only. No external media, scripts or paid dependencies.
 * Scoped to the Services page and layered after services-refresh.css.
 */
.pp-stage--services{
  overflow:hidden;
  background:
    radial-gradient(ellipse 44% 60% at 79% 45%,rgba(93,49,170,.27),transparent 79%),
    radial-gradient(ellipse 30% 33% at 100% 73%,rgba(169,71,175,.14),transparent 80%),
    #160a31;
}
.pp-stage--services .pp-services-hero__layout{
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(.75rem,2vw,2.5rem);
}
.pp-stage--services .pp-services-hero__copy{z-index:5}
.pp-stage--services .pp-services-headline{
  font-size:clamp(4.15rem,7.2vw,8.25rem);
  letter-spacing:-.052em;
}
.pp-stage--services .pp-services-hero__visual{
  --glass-ink:#211037;
  width:min(100%,650px);
  max-width:none;
  min-height:0;
  aspect-ratio:1/1;
  isolation:isolate;
  filter:none;
  transform:translateX(1%);
}
.pp-stage--services .pp-services-hero__visual::before{
  content:"";
  position:absolute;
  inset:4%;
  z-index:-1;
  background:radial-gradient(ellipse at 52% 50%,rgba(142,81,238,.25),rgba(108,38,157,.11) 50%,transparent 75%);
  filter:blur(28px);
}
.pp-stage--services .pp-services-hero__orbit{
  position:absolute;
  background:none;
  border:1px solid rgba(234,205,255,.36);
  box-shadow:inset 0 0 15px rgba(232,193,255,.06),0 0 14px rgba(177,101,247,.12);
  border-radius:50%;
  pointer-events:none;
}
.pp-stage--services .pp-services-hero__orbit--outer{
  inset:9% 0;
  border-radius:50%;
  transform:rotate(-27deg) scaleY(.79);
  animation:pp-glass-orbit 55s linear infinite;
}
.pp-stage--services .pp-services-hero__orbit--inner{
  inset:17%;
  border:1px solid rgba(244,207,255,.19);
  box-shadow:0 0 25px rgba(172,99,245,.09);
  transform:rotate(21deg) scaleY(.8);
  animation:none;
}
.pp-stage--services .pp-services-hero__orbit--outer::after,
.pp-stage--services .pp-services-hero__orbit--inner::after{
  content:"";
  position:absolute;
  width:9px;height:9px;
  border-radius:50%;
  top:14%;left:17%;
  background:#ddff81;
  box-shadow:0 0 13px rgba(207,251,71,.62);
}
.pp-stage--services .pp-services-hero__orbit--inner::after{
  width:6px;height:6px;top:76%;left:90%;
  background:#ffb0e3;
  box-shadow:0 0 12px rgba(255,95,194,.45);
}
.pp-stage--services .pp-services-hero__lens{
  position:absolute;
  pointer-events:none;
  border:1.5px solid rgba(238,214,255,.65);
  backdrop-filter:blur(10px) saturate(135%);
  -webkit-backdrop-filter:blur(10px) saturate(135%);
  box-shadow:inset 2px 3px 5px rgba(255,255,255,.25),
    inset -4px -5px 12px rgba(63,24,125,.25),0 24px 35px rgba(10,3,34,.23);
}
.pp-stage--services .pp-services-hero__lens--back{
  z-index:1;
  width:53%;height:59%;top:18%;left:22%;
  border-radius:47% 53% 42% 58% / 53% 45% 55% 47%;
  transform:rotate(23deg);
  background:linear-gradient(132deg,rgba(254,233,255,.23),rgba(189,112,241,.08) 39%,rgba(86,53,158,.17) 76%,rgba(236,185,255,.25));
}
.pp-stage--services .pp-services-hero__lens--side{
  z-index:2;
  width:40%;height:48%;right:9%;top:27%;
  transform:rotate(-31deg);
  border-radius:53% 47% 55% 45% / 42% 58% 44% 56%;
  background:linear-gradient(158deg,rgba(252,224,255,.38),rgba(173,127,238,.08) 43%,rgba(159,74,211,.16) 83%);
}
.pp-stage--services .pp-services-hero__core{
  z-index:3;
  inset:auto;
  top:21%;left:21%;
  width:58%;height:58%;
  padding:0;
  display:grid;
  place-items:center;
  transform:rotate(-8deg);
  border-radius:46% 54% 51% 49% / 52% 47% 53% 48%;
  border:2px solid rgba(246,255,216,.9);
  background:
    radial-gradient(ellipse 48% 23% at 28% 10%,rgba(255,255,255,.92),transparent 98%),
    radial-gradient(ellipse 62% 36% at 77% 93%,rgba(78,148,18,.62),transparent 95%),
    radial-gradient(ellipse at 22% 77%,rgba(233,255,161,.65),transparent 53%),
    linear-gradient(143deg,rgba(239,255,192,.91) 0%,rgba(202,252,86,.88) 28%,rgba(167,232,43,.85) 62%,rgba(132,201,34,.91) 100%);
  box-shadow:
    inset 8px 12px 18px rgba(255,255,255,.73),
    inset -14px -21px 24px rgba(41,101,13,.31),
    inset 0 0 0 5px rgba(244,255,193,.13),
    0 0 0 2px rgba(231,255,182,.14),
    0 21px 35px rgba(10,2,38,.33),
    0 0 44px rgba(207,255,75,.19);
  backdrop-filter:blur(13px) saturate(150%);
  -webkit-backdrop-filter:blur(13px) saturate(150%);
  animation:pp-glass-float 8s ease-in-out infinite;
}
.pp-stage--services .pp-services-hero__core::before{
  content:"";
  position:absolute;
  inset:4%;
  border:1px solid rgba(255,255,240,.42);
  border-radius:inherit;
  background:linear-gradient(137deg,rgba(255,255,255,.21),transparent 34%,rgba(234,255,182,.09) 76%,transparent);
  pointer-events:none;
  z-index:0;
}
.pp-stage--services .pp-services-hero__core::after{
  content:"";
  position:absolute;
  top:7%;left:18%;
  width:64%;height:17%;
  border-radius:50%;
  transform:rotate(-19deg);
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.06));
  filter:blur(2px);
  pointer-events:none;
}
.pp-stage--services .pp-services-hero__core-copy{
  position:relative;
  z-index:1;
  width:78%;
  max-width:320px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  transform:rotate(8deg);
  color:#24123e;
  text-shadow:0 1px 0 rgba(255,255,255,.26);
}
.pp-stage--services .pp-services-hero__core-copy>span{
  display:block;
  font-size:clamp(.65rem,1.05vw,.95rem);
  line-height:1;
  font-weight:900;
  letter-spacing:.19em;
  margin:0 0 .85rem .08rem;
}
.pp-stage--services .pp-services-hero__core-copy strong{
  display:block;
  margin:0;
  font-family:Impact,'Arial Narrow','DejaVu Sans Condensed',sans-serif;
  font-size:clamp(2rem,3.25vw,3.65rem);
  font-weight:850;
  line-height:.98;
  letter-spacing:-.015em;
  white-space:nowrap;
  color:#23103b;
}
.pp-stage--services .pp-services-hero__node{
  position:absolute;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;min-width:0;
  min-height:60px;
  padding:1rem 1.65rem;
  border:1.5px solid rgba(255,242,255,.78);
  border-radius:49% 51% 24% 34% / 54% 50% 28% 30%;
  font-size:clamp(.73rem,.95vw,.94rem);
  font-weight:900;
  line-height:1;
  letter-spacing:.075em;
  text-shadow:none;
  backdrop-filter:blur(15px) saturate(145%);
  -webkit-backdrop-filter:blur(15px) saturate(145%);
  box-shadow:inset 3px 4px 7px rgba(255,255,255,.46),
    inset -5px -6px 11px rgba(51,15,94,.25),
    0 14px 24px rgba(11,2,40,.28);
}
.pp-stage--services .pp-services-hero__node::before{
  content:"";
  position:absolute;
  top:6px;left:13%;
  width:65%;height:27%;
  border-radius:80% 20% 75% 25%;
  background:linear-gradient(180deg,rgba(255,255,255,.7),transparent);
  transform:rotate(-8deg);
  pointer-events:none;
}
.pp-stage--services .pp-services-hero__node--web{
  top:8%;left:10%;
  color:#2b1446;
  background:linear-gradient(147deg,rgba(255,252,255,.87),rgba(221,192,253,.69) 58%,rgba(145,99,214,.64));
  transform:rotate(-15deg);
}
.pp-stage--services .pp-services-hero__node--software{
  top:16%;right:0;
  color:#fff;
  background:linear-gradient(149deg,rgba(198,155,254,.83),rgba(118,65,208,.77) 55%,rgba(71,32,143,.82));
  transform:rotate(11deg);
  box-shadow:inset 3px 4px 8px rgba(255,232,255,.45),inset -4px -7px 11px rgba(44,16,111,.36),0 14px 25px rgba(18,4,47,.32);
}
.pp-stage--services .pp-services-hero__node--hosting{
  bottom:15%;left:0;
  color:#3a1235;
  background:linear-gradient(143deg,rgba(255,224,244,.87),rgba(244,150,208,.74) 50%,rgba(188,79,157,.74));
  transform:rotate(12deg);
}
.pp-stage--services .pp-services-hero__node--seo{
  right:10%;bottom:7%;
  color:#20351a;
  background:linear-gradient(138deg,rgba(251,255,220,.93),rgba(217,253,112,.81) 52%,rgba(158,210,62,.72));
  transform:rotate(-12deg);
}
@keyframes pp-glass-float {
  0%,100%{transform:translateY(0) rotate(-8deg)}
  50%{transform:translateY(-6px) rotate(-8deg)}
}
@keyframes pp-glass-orbit{
  to{transform:rotate(333deg) scaleY(.79)}
}
@media(min-width:781px) and (max-width:1199px){
 .pp-stage--services .pp-services-headline{font-size:clamp(3.5rem,6.6vw,6.7rem)}
 .pp-stage--services .pp-services-hero__layout{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
 .pp-stage--services .pp-services-hero__core-copy strong{font-size:clamp(1.65rem,3.1vw,2.8rem)}
 .pp-stage--services .pp-services-hero__node{min-height:48px;padding:.75rem 1.05rem}
}
@media(max-width:780px){
 .pp-stage--services .pp-services-hero__layout{grid-template-columns:minmax(0,1fr);gap:1rem}
 .pp-stage--services .pp-services-hero__visual{width:min(100%,500px);margin:1.5rem auto 0;transform:none}
 .pp-stage--services .pp-services-hero__core-copy strong{font-size:clamp(1.85rem,7.1vw,3.5rem)}
}
@media(max-width:480px){
 .pp-stage--services .pp-services-hero__visual{width:min(100%,350px)}
 .pp-stage--services .pp-services-hero__core-copy strong{font-size:clamp(1.35rem,6.7vw,2.45rem)}
 .pp-stage--services .pp-services-hero__core-copy>span{font-size:.6rem;margin-bottom:.5rem}
 .pp-stage--services .pp-services-hero__node{min-height:40px;padding:.65rem .9rem;font-size:.61rem}
 .pp-stage--services .pp-services-hero__node--software{right:1%}
 .pp-stage--services .pp-services-hero__node--hosting{left:1%}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .pp-stage--services .pp-services-hero__lens{background:rgba(154,100,200,.42)}
 .pp-stage--services .pp-services-hero__node--web{background:#e5d2f4}
 .pp-stage--services .pp-services-hero__node--software{background:#673ab0}
 .pp-stage--services .pp-services-hero__node--hosting{background:#e99fce}
 .pp-stage--services .pp-services-hero__node--seo{background:#d7f784}
}
@media(prefers-reduced-motion:reduce){
 .pp-stage--services .pp-services-hero__core,
 .pp-stage--services .pp-services-hero__orbit{animation:none}
}


/*
 * Optical sharpness pass v3.
 * Hard specular boundaries and defined refraction; no global soft-focus.
 */
.pp-stage--services .pp-services-hero__visual{
  filter:none;
  -webkit-font-smoothing:antialiased;
}
.pp-stage--services .pp-services-hero__visual::before{
  inset:12%;
  background:radial-gradient(ellipse at 50% 49%,rgba(119,61,191,.17) 0%,rgba(72,25,125,.08) 43%,transparent 69%);
  filter:none;
}
.pp-stage--services .pp-services-hero__orbit{
  border:1px solid rgba(224,193,251,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.pp-stage--services .pp-services-hero__orbit--inner{
  border-color:rgba(218,179,249,.38);
  box-shadow:none;
}
.pp-stage--services .pp-services-hero__orbit--outer::after,
.pp-stage--services .pp-services-hero__orbit--inner::after{
  box-shadow:0 0 0 2px rgba(255,255,255,.25);
}
.pp-stage--services .pp-services-hero__lens{
  backdrop-filter:blur(2px) saturate(125%);
  -webkit-backdrop-filter:blur(2px) saturate(125%);
  border:1.5px solid rgba(253,240,255,.82);
  box-shadow:
    inset 2px 3px 0 rgba(255,255,255,.27),
    inset -6px -8px 0 rgba(99,47,155,.12),
    0 0 0 1px rgba(125,60,183,.25),
    0 16px 30px rgba(11,2,34,.28);
}
.pp-stage--services .pp-services-hero__lens--back{
  background:
    linear-gradient(129deg,rgba(255,255,255,.32) 0%,rgba(224,170,255,.15) 17%,rgba(108,60,173,.04) 44%,rgba(98,48,162,.2) 83%,rgba(244,208,255,.35) 100%);
}
.pp-stage--services .pp-services-hero__lens--side{
  background:
    linear-gradient(151deg,rgba(255,242,255,.47) 0%,rgba(222,162,255,.16) 20%,rgba(93,47,166,.12) 68%,rgba(224,166,255,.34) 100%);
}
.pp-stage--services .pp-services-hero__core{
  border:2px solid #f4ffd7;
  background:
    radial-gradient(ellipse 49% 17% at 32% 12%,rgba(255,255,255,.94) 0%,rgba(255,255,255,.3) 58%,transparent 100%),
    radial-gradient(ellipse 45% 34% at 89% 90%,rgba(72,152,14,.52),transparent 100%),
    linear-gradient(146deg,#edffb5 0%,#ddff8f 15%,#baf549 39%,#a2e431 65%,#82c524 100%);
  backdrop-filter:blur(1px) saturate(115%);
  -webkit-backdrop-filter:blur(1px) saturate(115%);
  box-shadow:
    inset 3px 5px 0 rgba(255,255,255,.85),
    inset 0 0 0 9px rgba(246,255,215,.11),
    inset -8px -12px 0 rgba(65,128,21,.14),
    0 0 0 1px rgba(185,255,114,.55),
    0 18px 34px rgba(10,2,38,.4);
}
.pp-stage--services .pp-services-hero__core::before{
  inset:3%;
  border:1px solid rgba(255,255,255,.66);
  background:linear-gradient(138deg,rgba(255,255,255,.21),transparent 39%,rgba(67,153,19,.08) 84%,transparent);
}
.pp-stage--services .pp-services-hero__core::after{
  top:6%;left:16%;width:69%;height:15%;
  background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(255,255,255,.06));
  filter:none;
  transform:rotate(-18deg);
}
.pp-stage--services .pp-services-hero__core-copy{
  width:73%;
  max-width:none;
  text-shadow:none;
  transform:rotate(8deg) translateX(2%);
}
.pp-stage--services .pp-services-hero__core-copy>span{
  color:#24103d;
  font-weight:900;
  letter-spacing:.19em;
  margin-bottom:.7rem;
}
.pp-stage--services .pp-services-hero__core-copy strong{
  color:#201031;
  font-size:clamp(1.9rem,3vw,3.25rem);
  line-height:1.04;
  letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;
  text-shadow:none;
}
.pp-stage--services .pp-services-hero__node{
  backdrop-filter:blur(3px) saturate(125%);
  -webkit-backdrop-filter:blur(3px) saturate(125%);
  border:1.5px solid rgba(255,255,255,.9);
  border-radius:54% 46% 27% 31% / 51% 45% 31% 28%;
  box-shadow:
    inset 2px 3px 0 rgba(255,255,255,.55),
    inset -5px -6px 0 rgba(49,17,95,.19),
    0 0 0 1px rgba(63,23,98,.24),
    0 10px 18px rgba(8,2,31,.31);
}
.pp-stage--services .pp-services-hero__node::before{
  height:23%;
  top:7px;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.06));
}
.pp-stage--services .pp-services-hero__node--web{
  background:linear-gradient(144deg,rgba(255,255,255,.94),rgba(223,193,254,.85) 53%,rgba(151,111,212,.83));
}
.pp-stage--services .pp-services-hero__node--software{
  background:linear-gradient(146deg,rgba(184,125,247,.92) 0%,rgba(126,67,212,.93) 52%,rgba(70,30,151,.95));
  box-shadow:inset 2px 3px 0 rgba(255,255,255,.46),inset -5px -7px 0 rgba(43,16,100,.2),0 0 0 1px rgba(73,25,137,.4),0 12px 20px rgba(10,2,34,.34);
}
.pp-stage--services .pp-services-hero__node--hosting{
  background:linear-gradient(145deg,rgba(255,231,247,.96),rgba(244,166,216,.9) 48%,rgba(194,87,163,.87));
}
.pp-stage--services .pp-services-hero__node--seo{
  background:linear-gradient(140deg,rgba(253,255,233,.96),rgba(220,251,127,.92) 49%,rgba(159,211,65,.87));
}
@media(min-width:781px) and (max-width:1199px){
 .pp-stage--services .pp-services-hero__core-copy strong{font-size:clamp(1.7rem,2.85vw,2.6rem)}
}
@media(max-width:780px){
 .pp-stage--services .pp-services-hero__core-copy strong{font-size:clamp(1.9rem,6.25vw,3.1rem)}
}
@media(max-width:480px){
 .pp-stage--services .pp-services-hero__core-copy strong{font-size:clamp(1.4rem,6.1vw,2.15rem)}
}
