.services-page{
  background:
    radial-gradient(circle at 79% 8%,rgba(126,177,255,.25),transparent 23%),
    radial-gradient(circle at 16% 47%,rgba(219,231,255,.45),transparent 27%),
    linear-gradient(180deg,#fff 0%,#fbfcff 33%,#f8fbff 68%,#fff 100%);
  color:#101a32;
}

.services-hero-ref{
  min-height:330px;display:block;padding-top:30px;padding-bottom:26px;position:relative;isolation:isolate;overflow:visible;
}
.services-hero-ref:before{
  content:"";position:absolute;z-index:-2;inset:-24px -8vw -30px 40%;
  background:
    radial-gradient(ellipse at 68% 44%,rgba(101,160,255,.30),transparent 35%),
    radial-gradient(ellipse at 86% 54%,rgba(203,220,255,.42),transparent 45%),
    radial-gradient(ellipse at 52% 26%,rgba(240,225,255,.28),transparent 36%);
  filter:blur(2px);pointer-events:none;
}
.services-hero-copy{position:relative;z-index:3;max-width:650px;padding-right:24px}
.services-breadcrumbs{display:flex;gap:12px;align-items:center;color:#8390a9;font-size:12px;margin-bottom:32px}
.services-hero-copy h1{font-size:clamp(38px,4.6vw,64px);letter-spacing:-.05em;line-height:1.08;margin:0;color:#111827;font-weight:500}
.services-hero-copy h1 span{color:#5d85e8}
.services-hero-copy p{font-size:15px;line-height:1.65;color:#53627f;margin:24px 0 0}
.services-hero-art{
  position:absolute;z-index:1;right:-2.5%;top:8px;width:55%;height:310px;display:flex;align-items:center;justify-content:flex-end;pointer-events:none;overflow:visible;
}
.services-hero-art:before{content:"";position:absolute;width:84%;height:72%;border-radius:50%;background:rgba(95,155,255,.20);filter:blur(48px);right:0;top:16%}
.services-hero-art img{
  width:min(100%,560px);height:auto;position:relative;filter:saturate(.96) brightness(1.045);
  -webkit-mask-image:radial-gradient(ellipse 72% 70% at 58% 48%,#000 47%,rgba(0,0,0,.86) 62%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 70% at 58% 48%,#000 47%,rgba(0,0,0,.86) 62%,transparent 100%);
}

.services-catalog{padding:18px 0 26px}
.services-ref-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.service-ref-card{
  position:relative;min-height:326px;overflow:hidden;text-align:left;padding:21px 20px 18px;border-radius:27px;
  border:1px solid rgba(183,199,226,.63);box-shadow:0 12px 30px rgba(62,89,132,.045),inset 0 1px 0 rgba(255,255,255,.9);
  color:#111827;font:inherit;cursor:pointer;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;background:#fafdff;
}
.service-ref-card.tone-blue{background:linear-gradient(145deg,#f7fbff 0%,#f3f8ff 55%,#fbfdff 100%)}
.service-ref-card.tone-ice{background:linear-gradient(145deg,#fbfdff 0%,#f7fbff 55%,#f3f9ff 100%)}
.service-ref-card.tone-lilac{background:linear-gradient(145deg,#fbfbff 0%,#faf7ff 57%,#f8fbff 100%)}
.service-ref-card.tone-cream{background:linear-gradient(145deg,#fffdfa 0%,#fdf9f3 57%,#fbfcff 100%)}
.service-ref-card.tone-pink{background:linear-gradient(145deg,#fffafd 0%,#fdf7fb 57%,#f8faff 100%)}
.service-ref-card:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;right:27px;top:84px;background:#78aaff;box-shadow:0 0 10px #78aaff,38px 30px 0 -1px rgba(122,170,255,.58);opacity:.7}
.service-ref-tag{position:absolute;top:68px;left:20px;right:auto;font-size:9px;letter-spacing:.02em;text-transform:uppercase;color:#6184d9;background:#edf3ff;border-radius:999px;padding:7px 11px;z-index:4}
.service-ref-card h2{font-size:18px;line-height:1.25;margin:0;font-weight:700;letter-spacing:-.025em;position:absolute;z-index:4;top:20px;left:20px;right:20px;max-width:none;min-height:0}
.service-ref-visual{position:absolute;left:5%;right:5%;top:92px;bottom:auto;width:90%;height:182px;object-fit:contain;z-index:1;transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .38s ease;filter:saturate(.96)}
.service-ref-more{position:absolute;z-index:3;right:19px;bottom:16px;color:#53658e;font-size:11px;display:flex;align-items:center;gap:12px}
.service-ref-more b{font-size:18px;font-weight:500;color:#324a77}
@media (hover:hover) and (pointer:fine){
  .service-ref-card:hover{transform:translateY(-4px);border-color:rgba(107,148,224,.82);box-shadow:0 18px 38px rgba(72,102,153,.10),0 0 0 1px rgba(111,159,240,.08) inset}
  .service-ref-card:hover .service-ref-visual{transform:translateY(-5px) scale(1.025);filter:saturate(1.02) drop-shadow(0 12px 22px rgba(91,134,204,.12))}
  .service-ref-card:nth-child(2):hover .service-ref-visual,.service-ref-card:nth-child(8):hover .service-ref-visual,.service-ref-card:nth-child(9):hover .service-ref-visual{transform:translateY(-4px) rotate(1.5deg) scale(1.02)}
  .service-ref-card:nth-child(4):hover .service-ref-visual{transform:translateY(-8px) scale(1.02)}
  .service-ref-card:nth-child(7):hover .service-ref-visual{filter:saturate(1.05) brightness(1.04) drop-shadow(0 0 18px rgba(255,206,109,.22))}
}

.services-choice{margin-top:4px;margin-bottom:22px;min-height:108px;border:1px solid rgba(125,160,222,.72);border-radius:22px;background:linear-gradient(90deg,#fbfdff,#f8fbff 50%,#fbfdff);display:grid;grid-template-columns:190px 1fr auto;gap:28px;align-items:center;padding:18px 28px;overflow:hidden;box-shadow:inset 0 1px 0 #fff}
.services-choice img{width:150px;max-height:80px;object-fit:contain;mix-blend-mode:multiply;opacity:.82}
.services-choice h2{font-size:18px;margin:0 0 7px;color:#273b6e}
.services-choice p{font-size:12px;color:#5f6f90;margin:0;line-height:1.5}
.choice-btn{display:inline-flex;align-items:center;justify-content:center;min-width:198px;padding:15px 22px;border-radius:999px;background:#0f1e38;color:#fff;font-weight:700;font-size:13px;box-shadow:0 10px 24px rgba(15,30,56,.12);transition:.2s ease}
.choice-btn:hover{transform:translateY(-2px)}
.services-contact{min-height:86px;border:1px solid rgba(193,207,231,.68);border-radius:20px;margin-bottom:16px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.72)}
.services-contact h2{font-size:16px;color:#273b6e;margin:0 0 5px}.services-contact p{margin:0;font-size:11px;color:#8995aa}
.contact-telegram{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border:1px solid #d6e0f1;border-radius:14px;background:#fff;color:#526483;font-size:11px;font-weight:600}.contact-telegram span{color:#4c80e6;font-size:15px}
.services-footer{min-height:110px}

.service-placeholder-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(20,40,72,.26);backdrop-filter:blur(12px)}
.service-placeholder-modal.is-open{display:flex}.service-placeholder-card{width:min(520px,100%);position:relative;padding:34px;border-radius:28px;background:rgba(255,255,255,.97);border:1px solid #ccd9ee;box-shadow:0 28px 80px rgba(35,61,105,.2)}
.service-placeholder-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid #d6e0ef;background:#fff;color:#324a74;font-size:24px;cursor:pointer}.service-placeholder-label{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef4ff;color:#5d7bb3;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.service-placeholder-card h2{font-size:30px;line-height:1.15;margin:18px 0 12px}.service-placeholder-card p{margin:0;color:#667694;line-height:1.65}

@media (max-width:980px){.services-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-hero-ref{grid-template-columns:1fr .8fr}.services-choice{grid-template-columns:130px 1fr}.services-choice .choice-btn{grid-column:2;justify-self:start}.services-choice img{grid-row:1 / 3}}
@media (max-width:680px){.services-hero-ref{padding-top:22px;min-height:390px;overflow:hidden}.services-breadcrumbs{margin-bottom:22px}.services-hero-art{width:92%;right:-24%;top:155px;height:220px;justify-content:center;opacity:.82}.services-hero-art img{width:100%;max-width:430px}.services-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-ref-card{min-height:275px;padding:17px 14px 14px;border-radius:22px}.service-ref-card h2{font-size:18px;line-height:1.25;margin:0;font-weight:700;letter-spacing:-.025em;position:absolute;z-index:4;top:20px;left:20px;right:20px;max-width:none;min-height:0}.service-ref-tag{position:absolute;top:68px;left:20px;right:auto;font-size:9px;letter-spacing:.02em;text-transform:uppercase;color:#6184d9;background:#edf3ff;border-radius:999px;padding:7px 11px;z-index:4}.service-ref-visual{height:155px;top:92px;bottom:auto}.service-ref-more{font-size:9px;right:14px}.services-choice{grid-template-columns:1fr;padding:20px;text-align:center}.services-choice img{grid-row:auto;margin:auto}.services-choice .choice-btn{grid-column:auto;justify-self:stretch}.services-contact{flex-direction:column;align-items:flex-start}.contact-telegram{width:100%;justify-content:center}}
@media (max-width:430px){.services-ref-grid{grid-template-columns:1fr}.service-ref-card{min-height:310px}.service-ref-visual{height:190px}.services-hero-copy h1{font-size:36px}}
@media (prefers-reduced-motion:reduce){.service-ref-card,.service-ref-visual,.choice-btn{transition:none!important}}

.service-ref-card.has-tag h2{margin-top:0;max-width:none}
.service-ref-card:not(.has-tag) h2{padding-top:0}
.services-page .site-topbar{background:rgba(255,255,255,.86)}

/* v12 — reference-matched integrated services background */
.services-page{
  background:
    radial-gradient(ellipse 58% 34% at 82% 8%, rgba(122,174,255,.30) 0%, rgba(178,208,255,.18) 34%, rgba(232,240,255,.08) 58%, transparent 78%),
    radial-gradient(ellipse 44% 30% at 8% 22%, rgba(210,229,255,.25) 0%, rgba(238,245,255,.12) 52%, transparent 82%),
    radial-gradient(ellipse 52% 34% at 52% 56%, rgba(218,233,255,.20) 0%, rgba(245,248,255,.08) 58%, transparent 84%),
    radial-gradient(ellipse 42% 24% at 17% 78%, rgba(225,218,255,.16) 0%, rgba(249,247,255,.06) 62%, transparent 84%),
    radial-gradient(ellipse 40% 24% at 86% 88%, rgba(203,226,255,.18) 0%, rgba(247,251,255,.06) 62%, transparent 84%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 22%,#f7fbff 52%,#fbfcff 76%,#ffffff 100%);
  background-attachment: scroll;
}
.services-hero-ref{
  min-height:330px;
  position:relative;
  isolation:isolate;
  overflow:visible;
}
.services-hero-ref:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:-80px -12vw -70px 34%;
  background:
    radial-gradient(ellipse 62% 58% at 70% 43%,rgba(112,166,255,.23),transparent 55%),
    radial-gradient(ellipse 48% 52% at 48% 50%,rgba(200,221,255,.20),transparent 62%),
    radial-gradient(ellipse 38% 40% at 82% 22%,rgba(239,226,255,.16),transparent 64%);
  filter:blur(16px);
  pointer-events:none;
}
.services-hero-art{
  position:absolute;
  z-index:1;
  right:-7%;
  top:0;
  width:61%;
  height:320px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  pointer-events:none;
  overflow:visible;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.services-hero-art:before{
  content:"";
  position:absolute;
  width:92%;
  height:88%;
  right:0;
  top:2%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(110,167,255,.22) 0%,rgba(173,204,255,.10) 45%,transparent 74%);
  filter:blur(30px);
}
.services-hero-art img{
  width:min(100%,760px);
  height:auto;
  position:relative;
  display:block;
  opacity:.98;
  filter:saturate(.98) brightness(1.025);
  -webkit-mask-image:none;
  mask-image:none;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
@media (max-width:980px){
  .services-hero-art{right:-14%;width:68%;opacity:.9}
}
@media (max-width:680px){
  .services-page{
    background:
      radial-gradient(ellipse 80% 22% at 82% 10%,rgba(126,176,255,.24),transparent 72%),
      radial-gradient(ellipse 90% 30% at 10% 45%,rgba(215,232,255,.22),transparent 78%),
      linear-gradient(180deg,#fff 0%,#f7fbff 52%,#fff 100%);
  }
  .services-hero-art{width:105%;right:-44%;top:150px;height:210px;opacity:.72}
  .services-hero-art img{width:100%;max-width:560px}
}

/* v13 — full-page pastel blue/lilac cosmic background, reference matched */
.services-page{
  position:relative;
  isolation:isolate;
  min-height:100%;
  background:
    radial-gradient(ellipse 54% 30% at 83% 7%, rgba(108,155,255,.48) 0%, rgba(135,160,255,.32) 24%, rgba(176,164,255,.22) 44%, rgba(223,226,255,.10) 64%, transparent 82%),
    radial-gradient(ellipse 52% 34% at 50% 24%, rgba(222,208,255,.28) 0%, rgba(236,227,255,.16) 46%, transparent 78%),
    radial-gradient(ellipse 55% 30% at 9% 46%, rgba(192,222,255,.30) 0%, rgba(226,240,255,.17) 48%, transparent 78%),
    radial-gradient(ellipse 48% 26% at 84% 58%, rgba(211,199,255,.22) 0%, rgba(231,222,255,.12) 48%, transparent 78%),
    radial-gradient(ellipse 60% 28% at 34% 78%, rgba(183,216,255,.22) 0%, rgba(225,239,255,.13) 48%, transparent 80%),
    linear-gradient(180deg,#fbfdff 0%,#f7f8ff 24%,#f5f8ff 52%,#f8f7ff 74%,#fbfdff 100%);
  background-attachment:scroll;
  color:#101a32;
}
.services-page::before,
.services-page::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
}
.services-page::before{
  opacity:.58;
  background-image:
    radial-gradient(circle at 7% 13%,rgba(255,255,255,.95) 0 1.2px,transparent 1.8px),
    radial-gradient(circle at 16% 34%,rgba(129,170,255,.70) 0 1px,transparent 1.6px),
    radial-gradient(circle at 24% 8%,rgba(255,255,255,.82) 0 1.1px,transparent 1.8px),
    radial-gradient(circle at 39% 19%,rgba(177,157,255,.65) 0 1px,transparent 1.7px),
    radial-gradient(circle at 47% 7%,rgba(255,255,255,.92) 0 1.3px,transparent 1.9px),
    radial-gradient(circle at 61% 31%,rgba(112,164,255,.62) 0 1px,transparent 1.6px),
    radial-gradient(circle at 72% 15%,rgba(255,255,255,.88) 0 1.2px,transparent 1.9px),
    radial-gradient(circle at 84% 42%,rgba(161,142,255,.60) 0 1px,transparent 1.6px),
    radial-gradient(circle at 91% 20%,rgba(255,255,255,.90) 0 1.2px,transparent 1.9px),
    radial-gradient(circle at 12% 66%,rgba(119,169,255,.52) 0 1px,transparent 1.6px),
    radial-gradient(circle at 31% 57%,rgba(255,255,255,.78) 0 1px,transparent 1.7px),
    radial-gradient(circle at 53% 72%,rgba(156,137,255,.48) 0 1px,transparent 1.6px),
    radial-gradient(circle at 69% 84%,rgba(255,255,255,.78) 0 1px,transparent 1.8px),
    radial-gradient(circle at 89% 73%,rgba(118,166,255,.50) 0 1px,transparent 1.6px);
}
.services-page::after{
  opacity:.42;
  background:
    radial-gradient(circle at 79% 14%,rgba(255,255,255,.98) 0 2px,rgba(255,255,255,.30) 2.6px,transparent 5px),
    radial-gradient(circle at 88% 23%,rgba(255,255,255,.98) 0 2.4px,rgba(168,198,255,.30) 3px,transparent 6px),
    radial-gradient(circle at 67% 9%,rgba(255,255,255,.95) 0 1.8px,transparent 4px),
    radial-gradient(circle at 94% 36%,rgba(255,255,255,.92) 0 2px,transparent 5px),
    radial-gradient(circle at 8% 52%,rgba(255,255,255,.82) 0 1.7px,transparent 4px),
    radial-gradient(circle at 96% 82%,rgba(255,255,255,.82) 0 1.8px,transparent 4px);
}

/* Keep the hero as one continuous background composition */
.services-hero-ref{
  min-height:350px;
  padding-top:30px;
  padding-bottom:30px;
  overflow:visible;
  isolation:isolate;
}
.services-hero-ref::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:36%;
  right:-11vw;
  top:-92px;
  height:475px;
  background:
    radial-gradient(ellipse 60% 65% at 70% 44%,rgba(104,149,255,.30) 0%,rgba(133,155,255,.22) 31%,rgba(172,159,255,.16) 49%,rgba(220,225,255,.08) 67%,transparent 84%);
  filter:blur(4px);
  pointer-events:none;
}
.services-hero-copy{position:relative;z-index:4;max-width:610px;padding-right:22px}
.services-hero-art{
  position:absolute;
  z-index:2;
  right:-9%;
  top:-56px;
  width:69%;
  height:390px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  pointer-events:none;
  overflow:visible;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.services-hero-art::before{
  content:"";
  position:absolute;
  width:104%;
  height:112%;
  right:-2%;
  top:-4%;
  border-radius:50%;
  background:
    radial-gradient(ellipse at 64% 46%,rgba(100,145,255,.33) 0%,rgba(131,155,255,.23) 35%,rgba(176,157,255,.16) 55%,rgba(236,231,255,.07) 72%,transparent 84%);
  filter:blur(32px);
}
.services-hero-art img{
  width:min(100%,920px)!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  position:relative;
  display:block;
  opacity:1;
  transform:none!important;
  filter:saturate(1.04) brightness(1.05) drop-shadow(0 18px 42px rgba(109,130,221,.10));
  -webkit-mask-image:radial-gradient(ellipse 78% 78% at 55% 48%,#000 58%,rgba(0,0,0,.82) 72%,transparent 100%);
  mask-image:radial-gradient(ellipse 78% 78% at 55% 48%,#000 58%,rgba(0,0,0,.82) 72%,transparent 100%);
}

/* Let cards sit lightly in the same cosmic atmosphere */
.service-ref-card{
  background-color:rgba(255,255,255,.66);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.service-ref-card.tone-blue{background:linear-gradient(145deg,rgba(248,252,255,.88),rgba(239,246,255,.74))}
.service-ref-card.tone-ice{background:linear-gradient(145deg,rgba(252,254,255,.89),rgba(243,249,255,.74))}
.service-ref-card.tone-lilac{background:linear-gradient(145deg,rgba(253,251,255,.89),rgba(246,241,255,.72))}
.service-ref-card.tone-cream{background:linear-gradient(145deg,rgba(255,253,249,.90),rgba(250,245,255,.72))}
.service-ref-card.tone-pink{background:linear-gradient(145deg,rgba(255,251,254,.90),rgba(247,240,255,.72))}
.services-choice,
.services-contact{
  background:linear-gradient(100deg,rgba(255,255,255,.74),rgba(241,247,255,.67) 48%,rgba(248,242,255,.70));
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

@media (max-width:980px){
  .services-hero-art{right:-17%;top:-22px;width:72%;height:350px}
  .services-hero-art img{width:min(100%,760px)!important}
}
@media (max-width:680px){
  .services-page{
    background:
      radial-gradient(ellipse 86% 22% at 86% 8%,rgba(118,161,255,.36),transparent 72%),
      radial-gradient(ellipse 88% 26% at 20% 38%,rgba(216,203,255,.24),transparent 74%),
      radial-gradient(ellipse 92% 30% at 85% 68%,rgba(198,220,255,.20),transparent 78%),
      linear-gradient(180deg,#fbfdff 0%,#f6f7ff 48%,#fbfdff 100%);
  }
  .services-hero-ref{min-height:470px;padding-top:22px;overflow:hidden}
  .services-hero-copy{max-width:100%;padding-right:0}
  .services-hero-art{width:115%;right:-52%;top:170px;height:270px;opacity:.92}
  .services-hero-art img{width:100%!important;max-width:700px!important}
}

/* v14 — simplified services background: soft blue/lilac glow + stars only */
.services-page{
  position:relative;
  isolation:isolate;
  min-height:100%;
  background:
    radial-gradient(ellipse 58% 34% at 82% 8%, rgba(136,170,255,.34) 0%, rgba(176,188,255,.24) 30%, rgba(219,211,255,.17) 52%, transparent 78%),
    radial-gradient(ellipse 58% 36% at 20% 30%, rgba(197,224,255,.28) 0%, rgba(226,238,255,.16) 48%, transparent 80%),
    radial-gradient(ellipse 52% 34% at 74% 48%, rgba(208,194,255,.24) 0%, rgba(232,222,255,.14) 48%, transparent 80%),
    radial-gradient(ellipse 62% 36% at 26% 72%, rgba(188,217,255,.22) 0%, rgba(225,236,255,.13) 50%, transparent 82%),
    radial-gradient(ellipse 54% 30% at 82% 88%, rgba(217,200,255,.20) 0%, rgba(239,231,255,.10) 52%, transparent 82%),
    linear-gradient(180deg,#fcfdff 0%,#f7f8ff 28%,#f5f8ff 52%,#f8f6ff 76%,#fcfdff 100%);
  color:#101a32;
}
.services-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.62;
  background-image:
    radial-gradient(circle at 7% 13%,rgba(255,255,255,.95) 0 1.2px,transparent 1.9px),
    radial-gradient(circle at 16% 34%,rgba(123,171,255,.72) 0 1px,transparent 1.7px),
    radial-gradient(circle at 24% 8%,rgba(255,255,255,.85) 0 1.1px,transparent 1.8px),
    radial-gradient(circle at 39% 19%,rgba(179,158,255,.68) 0 1px,transparent 1.7px),
    radial-gradient(circle at 47% 7%,rgba(255,255,255,.92) 0 1.2px,transparent 1.9px),
    radial-gradient(circle at 61% 31%,rgba(112,164,255,.64) 0 1px,transparent 1.6px),
    radial-gradient(circle at 72% 15%,rgba(255,255,255,.90) 0 1.2px,transparent 1.9px),
    radial-gradient(circle at 84% 42%,rgba(161,142,255,.62) 0 1px,transparent 1.6px),
    radial-gradient(circle at 91% 20%,rgba(255,255,255,.90) 0 1.2px,transparent 1.9px),
    radial-gradient(circle at 12% 66%,rgba(119,169,255,.54) 0 1px,transparent 1.6px),
    radial-gradient(circle at 31% 57%,rgba(255,255,255,.80) 0 1px,transparent 1.7px),
    radial-gradient(circle at 53% 72%,rgba(156,137,255,.50) 0 1px,transparent 1.6px),
    radial-gradient(circle at 69% 84%,rgba(255,255,255,.80) 0 1px,transparent 1.8px),
    radial-gradient(circle at 89% 73%,rgba(118,166,255,.52) 0 1px,transparent 1.6px);
}
.services-page::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.34;
  background:
    radial-gradient(circle at 79% 14%,rgba(255,255,255,.98) 0 2px,rgba(177,198,255,.26) 2.8px,transparent 5px),
    radial-gradient(circle at 88% 23%,rgba(255,255,255,.96) 0 2.2px,rgba(179,162,255,.22) 3px,transparent 6px),
    radial-gradient(circle at 94% 36%,rgba(255,255,255,.92) 0 1.8px,transparent 4px),
    radial-gradient(circle at 8% 52%,rgba(255,255,255,.82) 0 1.7px,transparent 4px),
    radial-gradient(circle at 96% 82%,rgba(255,255,255,.82) 0 1.8px,transparent 4px);
}
/* Remove all planet artwork from the hero for now */
.services-hero-art{display:none!important;}
.services-hero-ref::before{display:none!important;}
.services-hero-copy{max-width:720px;padding-right:0;}
.services-hero-ref{min-height:auto;padding-top:30px;padding-bottom:46px;overflow:visible;}

@media (max-width:680px){
  .services-page{
    background:
      radial-gradient(ellipse 92% 26% at 86% 8%,rgba(140,174,255,.30),transparent 74%),
      radial-gradient(ellipse 96% 32% at 12% 38%,rgba(211,200,255,.22),transparent 76%),
      radial-gradient(ellipse 94% 30% at 86% 70%,rgba(194,220,255,.18),transparent 78%),
      linear-gradient(180deg,#fcfdff 0%,#f6f7ff 50%,#fbfdff 100%);
  }
  .services-hero-ref{min-height:auto;padding-top:22px;padding-bottom:34px;overflow:visible;}
}


/* v15 — exact responsive title breaks requested by client */
.services-title{max-width:none!important;}
.services-title-desktop{display:inline!important;color:inherit!important;}
.services-title-mobile{display:none!important;color:inherit!important;}
.services-title em{font-style:normal;color:#5d85e8;}
@media (min-width:761px){
  .services-hero-copy{max-width:900px!important;}
  .services-title{font-size:clamp(38px,4vw,60px)!important;line-height:1.08!important;}
  .services-title-desktop{display:inline!important;}
  .services-title-mobile{display:none!important;}
}
@media (max-width:760px){
  .services-title-desktop{display:none!important;}
  .services-title-mobile{display:inline!important;}
  .services-title{font-size:clamp(31px,9vw,42px)!important;line-height:1.12!important;}
}

/* v16 — detailed service modal */
.service-detail-modal,.training-choice-modal{
  position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;
  padding:28px;background:rgba(21,31,58,.26);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.service-detail-modal.is-open,.training-choice-modal.is-open{display:flex}
body.modal-open{overflow:hidden}
.service-detail-card{
  width:min(900px,calc(100vw - 56px));max-height:calc(100vh - 56px);display:flex;flex-direction:column;position:relative;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,248,255,.94) 55%,rgba(249,245,255,.96));
  border:1px solid rgba(141,176,224,.42);border-radius:30px;box-shadow:0 28px 90px rgba(56,78,130,.24);overflow:hidden;color:#111a30
}
.service-detail-scroll{overflow:auto;padding:38px 42px 20px;overscroll-behavior:contain}
.service-detail-close,.training-choice-close{position:absolute;z-index:3;right:18px;top:16px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(239,245,255,.9);color:#50627f;font-size:28px;line-height:1;cursor:pointer}
.service-detail-label{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eaf3ff;color:#4875b6;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.service-detail-card h2{font-size:clamp(28px,4vw,44px);line-height:1.08;margin:16px 56px 10px 0;letter-spacing:-.035em}
.service-detail-lead{font-size:17px;line-height:1.65;color:#56657d;margin:0 0 24px;max-width:760px}
.service-detail-section{padding:20px 0;border-top:1px solid rgba(145,168,205,.24)}
.service-detail-section h3{font-size:16px;margin:0 0 10px;color:#1a2d4f}
.service-detail-section p{margin:0;color:#586980;line-height:1.65}
.service-detail-section ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px}
.service-detail-section li{position:relative;padding-left:18px;color:#4d5f78;line-height:1.5;font-size:14px}
.service-detail-section li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:#75aaf0;box-shadow:0 0 0 4px rgba(117,170,240,.10)}
.service-detail-note{margin:4px 0 12px;padding:13px 15px;border-radius:14px;background:rgba(230,239,255,.72);color:#50647f;font-size:13px;line-height:1.55}
.service-detail-footer{border-top:1px solid rgba(145,168,205,.28);padding:20px 42px 22px;display:grid;grid-template-columns:minmax(170px,1fr) auto;gap:14px 18px;align-items:center;background:rgba(255,255,255,.72)}
.service-price-wrap span{display:block;font-size:12px;color:#7a8aa2;margin-bottom:4px}.service-price-wrap strong{font-size:24px;line-height:1.15;color:#14233e}
.service-detail-actions{display:flex;gap:10px}.service-action-primary,.service-action-phone{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:13px;text-decoration:none;font-weight:800;font-size:13px}
.service-action-primary{background:#78aef3;color:white;box-shadow:0 9px 24px rgba(75,129,203,.22)}.service-action-phone{background:#fff;color:#38679f;border:1px solid rgba(98,143,203,.34)}
.service-phone-copy{grid-column:1/-1;color:#4e6688;font-size:13px;text-decoration:underline;text-underline-offset:3px;width:max-content;max-width:100%;user-select:text;-webkit-user-select:text}
.training-choice-card{width:min(620px,calc(100vw - 48px));position:relative;padding:34px;background:linear-gradient(145deg,#fff,#f4f8ff 58%,#faf6ff);border:1px solid rgba(141,176,224,.42);border-radius:28px;box-shadow:0 28px 90px rgba(56,78,130,.24)}
.training-choice-card h2{font-size:30px;margin:14px 50px 8px 0}.training-choice-card p{color:#63728a;line-height:1.6}.training-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.training-choice-actions button{min-height:66px;padding:13px;border:1px solid rgba(112,153,210,.30);border-radius:16px;background:rgba(255,255,255,.84);color:#254a79;font-weight:800;cursor:pointer}
@media(max-width:680px){
  .service-detail-modal,.training-choice-modal{padding:12px;align-items:center}.service-detail-card{width:calc(100vw - 24px);max-height:calc(100vh - 24px);border-radius:22px}.service-detail-scroll{padding:28px 20px 14px}.service-detail-card h2{font-size:29px;margin-right:42px}.service-detail-lead{font-size:15px}.service-detail-section ul{grid-template-columns:1fr}.service-detail-footer{padding:16px 20px 18px;grid-template-columns:1fr}.service-detail-actions{display:grid;grid-template-columns:1fr}.service-action-primary,.service-action-phone{width:100%}.service-phone-copy{grid-column:1}.training-choice-card{width:calc(100vw - 24px);padding:28px 20px}.training-choice-card h2{font-size:26px}.training-choice-actions{grid-template-columns:1fr}
}

/* v19: service 3 must match the homepage management visual exactly */
#service-3 .service-ref-visual{
  width:100%;
  left:0;
  right:0;
  height:190px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 12px 24px rgba(76,112,165,.12));
}
@media (max-width:680px){
  #service-3 .service-ref-visual{height:185px;}
}
@media (max-width:430px){
  #service-3 .service-ref-visual{height:190px;}
}


/* v20 — exact homepage management visual embedded into services HTML.
   No external asset URL is used, so browser/CDN caching cannot return the old artwork. */
#service-3 .service-management-exact{
  position:absolute;
  left:5%;
  right:5%;
  top:92px;
  width:90%;
  height:182px;
  padding:0 6px;
  object-fit:contain;
  object-position:center;
  background:transparent;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 12px 24px rgba(76,112,165,.12));
}
@media (max-width:680px){
  #service-3 .service-management-exact{top:92px;width:90%;left:5%;right:5%;height:155px;padding:0 4px;}
}
@media (max-width:430px){
  #service-3 .service-management-exact{height:190px;}
}


/* v21 — first service uses the exact newly supplied rocket artwork. */
#service-1 .service-direct-full-new{
  position:absolute;
  left:4%;
  right:4%;
  top:92px;
  width:92%;
  height:190px;
  object-fit:contain;
  object-position:center;
  background:transparent;
  border:0;
  box-shadow:none;
  mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(ellipse 80% 78% at 50% 52%,#000 68%,rgba(0,0,0,.78) 82%,transparent 100%);
  mask-image:radial-gradient(ellipse 80% 78% at 50% 52%,#000 68%,rgba(0,0,0,.78) 82%,transparent 100%);
  filter:drop-shadow(0 12px 24px rgba(76,112,165,.10));
}
@media (max-width:680px){
  #service-1 .service-direct-full-new{top:92px;left:4%;right:4%;width:92%;height:160px;}
}
@media (max-width:430px){
  #service-1 .service-direct-full-new{height:195px;top:98px;}
}


/* v22 — first service rocket artwork with real transparent background.
   The raster square has been removed from the asset itself, so the object
   visually lives directly inside the card. */
#service-1 .service-direct-full-new{
  position:absolute;
  left:7%;
  right:7%;
  top:86px;
  width:86%;
  height:205px;
  object-fit:contain;
  object-position:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  mix-blend-mode:normal!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:drop-shadow(0 16px 24px rgba(76,112,165,.10));
}
@media (max-width:680px){
  #service-1 .service-direct-full-new{
    left:7%;
    right:7%;
    top:88px;
    width:86%;
    height:178px;
  }
}
@media (max-width:430px){
  #service-1 .service-direct-full-new{
    left:8%;
    right:8%;
    width:84%;
    top:92px;
    height:210px;
  }
}


/* v23 — catalog cards matched to the approved 12-card reference.
   Only card internals are affected. No page/header/modal changes. */
.services-ref-grid .service-ref-card{
  position:relative;
  overflow:hidden;
}
.services-ref-grid .service-ref-card h2{
  top:20px!important;
  left:20px!important;
  right:20px!important;
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  min-height:0!important;
  text-align:left!important;
  z-index:5!important;
}
/* No numbering in any service card. */
.services-ref-grid .service-ref-card::before{
  content:none!important;
  display:none!important;
}
/* Keep the first-card badge separate from the title, at the upper-right. */
.services-ref-grid #service-1 .service-ref-tag{
  top:18px!important;
  left:auto!important;
  right:16px!important;
  max-width:46%;
  text-align:center;
  z-index:6!important;
  white-space:normal;
}
.services-ref-grid #service-1 h2{
  right:48%!important;
}
/* All approved objects live directly in the card: no image frame/background. */
.services-ref-grid .service-ref-visual,
.services-ref-grid #service-1 .service-direct-full-new{
  position:absolute!important;
  left:5%!important;
  right:5%!important;
  top:86px!important;
  width:90%!important;
  height:188px!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  mix-blend-mode:normal!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:drop-shadow(0 12px 22px rgba(76,112,165,.10))!important;
  z-index:1!important;
}
.services-ref-grid .service-ref-more{
  right:18px!important;
  bottom:15px!important;
  z-index:7!important;
}
@media (max-width:680px){
  .services-ref-grid .service-ref-card h2{
    top:20px!important;
    left:20px!important;
    right:20px!important;
  }
  .services-ref-grid #service-1 .service-ref-tag{
    top:18px!important;
    right:15px!important;
    max-width:48%;
  }
  .services-ref-grid #service-1 h2{right:50%!important;}
  .services-ref-grid .service-ref-visual,
  .services-ref-grid #service-1 .service-direct-full-new{
    top:84px!important;
    left:5%!important;
    right:5%!important;
    width:90%!important;
    height:164px!important;
  }
}
@media (max-width:430px){
  .services-ref-grid #service-1 h2{right:20px!important;}
  .services-ref-grid #service-1 .service-ref-tag{
    top:78px!important;
    left:20px!important;
    right:auto!important;
    max-width:70%;
  }
  .services-ref-grid #service-1 .service-direct-full-new{top:108px!important;}
  .services-ref-grid .service-ref-visual,
  .services-ref-grid #service-1 .service-direct-full-new{
    height:190px!important;
  }
}


/* v25 — EXACT homepage rocket sync. Same asset + same visual treatment as homepage. */
.services-ref-grid #service-1 .service-direct-full-new{
  position:absolute!important;
  left:5%!important;
  right:5%!important;
  top:108px!important;
  width:90%!important;
  height:190px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0 6px!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  mix-blend-mode:multiply!important;
  filter:drop-shadow(0 12px 24px rgba(76,112,165,.12))!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  opacity:1!important;
}
@media(max-width:680px){
  .services-ref-grid #service-1 .service-direct-full-new{
    top:108px!important;
    width:90%!important;
    height:190px!important;
    padding:0 4px!important;
  }
}

/* v28 — glass CTA */
.services-contact{display:none!important}
.services-choice{position:relative;margin-top:10px;margin-bottom:28px;min-height:154px;grid-template-columns:210px 1fr auto;gap:30px;padding:24px 34px;isolation:isolate;border:1px solid rgba(255,255,255,.88);border-radius:28px;background:linear-gradient(115deg,rgba(178,220,255,.66),rgba(219,231,255,.62) 48%,rgba(205,195,255,.60));box-shadow:inset 0 1px 1px rgba(255,255,255,.95),inset 0 -1px 0 rgba(126,159,225,.14),0 18px 40px rgba(92,121,184,.15);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.services-choice:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(circle at 16% 20%,rgba(255,255,255,.92) 0 1px,transparent 2px),radial-gradient(circle at 72% 25%,rgba(255,255,255,.85) 0 1.5px,transparent 2.5px),radial-gradient(circle at 86% 68%,rgba(255,255,255,.9) 0 1px,transparent 2px),linear-gradient(110deg,transparent 18%,rgba(255,255,255,.28) 44%,transparent 63%);background-size:82px 72px,126px 105px,110px 92px,100% 100%}
.services-choice img{width:170px;max-height:105px;object-fit:contain;mix-blend-mode:normal;opacity:.95;filter:saturate(.75) hue-rotate(8deg) drop-shadow(0 8px 14px rgba(93,112,205,.15))}
.services-choice h2{font-size:28px;letter-spacing:-.025em;margin:0 0 8px;color:#17336c}.services-choice p{font-size:14px;color:#294777;line-height:1.55;max-width:620px}
.choice-btn{border:1px solid rgba(255,255,255,.95);background:rgba(255,255,255,.76);color:#142b61;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 25px rgba(74,94,160,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);min-width:220px;font-size:14px;cursor:pointer}
.choice-contact-modal{display:none;position:fixed;inset:0;z-index:1200;padding:20px;align-items:center;justify-content:center;background:rgba(18,31,67,.22);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.choice-contact-modal.is-open{display:flex}.choice-contact-card{position:relative;width:min(520px,calc(100vw - 40px));padding:34px;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:linear-gradient(135deg,rgba(244,250,255,.92),rgba(226,237,255,.88) 52%,rgba(229,223,255,.86));box-shadow:inset 0 1px 0 #fff,0 28px 80px rgba(39,59,113,.25);backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%)}.choice-contact-card h2{margin:0 42px 8px 0;color:#17336c;font-size:28px}.choice-contact-card p{margin:0;color:#5c6e91;line-height:1.55}.choice-contact-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.66);color:#526587;font-size:26px;cursor:pointer}.choice-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.choice-contact-actions a{min-height:58px;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:800}.choice-call{background:#17336c;color:#fff}.choice-write{background:rgba(255,255,255,.82);color:#17336c;border:1px solid rgba(116,151,214,.28)}
@media(max-width:980px){.services-choice{grid-template-columns:150px 1fr}.services-choice .choice-btn{grid-column:2;justify-self:start}}
@media(max-width:680px){.services-choice{grid-template-columns:1fr;padding:22px;text-align:center;gap:14px}.services-choice img{grid-row:auto;width:120px;margin:auto}.services-choice h2{font-size:24px}.services-choice p{font-size:13px}.services-choice .choice-btn{grid-column:auto;justify-self:stretch;width:100%}.choice-contact-card{padding:28px 20px}.choice-contact-card h2{font-size:24px}.choice-contact-actions{grid-template-columns:1fr}}

/* v29 — refined glass CTA: clean darker glass, no star field, transparent planet sticker */
.services-choice{
  background:
    radial-gradient(ellipse at 18% 28%,rgba(220,241,255,.72),transparent 36%),
    radial-gradient(ellipse at 78% 76%,rgba(177,174,244,.34),transparent 42%),
    linear-gradient(115deg,rgba(133,193,242,.74),rgba(166,204,245,.72) 46%,rgba(174,174,236,.70))!important;
  border-color:rgba(244,250,255,.92)!important;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.98),inset 0 -1px 0 rgba(89,123,195,.18),0 18px 42px rgba(76,105,169,.18)!important;
}
.services-choice:before{
  background:
    linear-gradient(112deg,transparent 12%,rgba(255,255,255,.18) 31%,rgba(220,240,255,.10) 43%,transparent 59%),
    radial-gradient(ellipse at 54% 4%,rgba(255,255,255,.24),transparent 43%)!important;
  background-size:100% 100%!important;
}
.services-choice img{
  width:170px!important;
  max-height:112px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
  filter:drop-shadow(0 9px 13px rgba(69,89,161,.18)) saturate(.9)!important;
}


/* v30 — CTA without planet, clean cool glass */
.services-choice{
  grid-template-columns:1fr auto!important;
  gap:36px!important;
  padding:30px 42px!important;
  min-height:150px!important;
  background:
    radial-gradient(ellipse at 18% 24%,rgba(205,234,255,.62),transparent 38%),
    radial-gradient(ellipse at 82% 78%,rgba(157,160,226,.34),transparent 44%),
    linear-gradient(115deg,rgba(116,181,235,.78),rgba(149,192,238,.76) 48%,rgba(157,157,222,.74))!important;
}
.services-choice:before{
  background:
    linear-gradient(112deg,transparent 10%,rgba(255,255,255,.16) 30%,rgba(220,240,255,.08) 45%,transparent 62%),
    radial-gradient(ellipse at 55% 0%,rgba(255,255,255,.20),transparent 46%)!important;
  background-size:100% 100%!important;
}
.services-choice>div{align-self:center}
.services-choice .choice-btn{grid-column:auto!important;justify-self:end!important;align-self:center!important}
@media(max-width:980px){.services-choice{grid-template-columns:1fr auto!important}.services-choice .choice-btn{grid-column:auto!important}}
@media(max-width:680px){.services-choice{grid-template-columns:1fr!important;padding:24px!important;gap:16px!important}.services-choice .choice-btn{grid-column:auto!important;justify-self:stretch!important}}

/* v33 — services page motion refinements */
html.motion-ready .motion-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .82s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
html.motion-ready .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
html.motion-ready .motion-reveal.motion-delay-1{transition-delay:.09s}
html.motion-ready .motion-reveal.motion-delay-2{transition-delay:.18s}
html.motion-ready .motion-reveal.motion-delay-3{transition-delay:.27s}
html.motion-ready .motion-reveal.motion-delay-4{transition-delay:.36s}
html.motion-ready .motion-reveal.motion-delay-5{transition-delay:.45s}

@media (hover:hover) and (pointer:fine){
  .service-ref-card{transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .3s ease}
  .choice-btn,.service-action-primary,.service-action-phone,.choice-contact-actions a,.training-choice-actions button{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,filter .28s ease}
  .choice-btn:hover,.service-action-primary:hover,.service-action-phone:hover,.choice-contact-actions a:hover,.training-choice-actions button:hover{transform:scale(1.02);filter:brightness(1.015)}
}
.choice-btn:active,.service-action-primary:active,.service-action-phone:active,.choice-contact-actions a:active,.training-choice-actions button:active{transform:scale(.98)}

/* Modal layers stay mounted so closing can animate too. */
.service-detail-modal,.training-choice-modal,.choice-contact-modal{display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .42s ease,visibility 0s linear .42s}
.service-detail-modal.is-open,.training-choice-modal.is-open,.choice-contact-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .42s ease,visibility 0s linear 0s}
.service-detail-card,.training-choice-card,.choice-contact-card{opacity:0;transform:scale(.96) translateY(8px);transition:opacity .42s ease,transform .46s cubic-bezier(.22,1,.36,1)}
.service-detail-modal.is-open .service-detail-card,.training-choice-modal.is-open .training-choice-card,.choice-contact-modal.is-open .choice-contact-card{opacity:1;transform:scale(1) translateY(0)}

@media (prefers-reduced-motion:reduce){
  html.motion-ready .motion-reveal,html.motion-ready .motion-reveal.is-visible{opacity:1!important;transform:none!important;transition:none!important}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
}

/* v35 — tighter spacing between service-page blocks */
.services-hero-ref{padding-bottom:18px}
.services-catalog{padding:10px 0 18px}
.services-choice{margin-top:2px;margin-bottom:18px}
@media(max-width:680px){
  .services-hero-ref{padding-bottom:18px}
  .services-catalog{padding:8px 0 16px}
}
.service-action-primary{font-family:inherit;cursor:pointer;border:0}.service-action-phone{text-decoration:none}

.lead-success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}.lead-success-actions .lead-success-close{margin-top:0}.lead-success-repeat{min-height:48px;padding:0 18px;border:1px solid rgba(74,143,243,.45);border-radius:14px;background:rgba(255,255,255,.74);color:#377fdd;font-weight:700;cursor:pointer;transition:.25s ease}.lead-success-repeat:hover{transform:translateY(-1px);background:#fff;box-shadow:0 8px 20px rgba(75,126,235,.12)}
@media(max-width:700px){.lead-success-actions{display:grid;grid-template-columns:1fr;width:100%}.lead-success-actions button{width:100%}}

/* v43 — after a successful submission the form disappears completely and the modal becomes a standalone thank-you screen. */
.lead-card.is-success{width:min(560px,100%);padding:44px 34px 34px;overflow:visible}
.lead-card.is-success .lead-close{background:rgba(255,255,255,.8)}
.lead-card.is-success .lead-success{display:grid;place-items:center;min-height:330px;padding:20px 10px 10px}
.lead-card.is-success .lead-success p{max-width:430px;font-size:15px;line-height:1.65}
.lead-card.is-success .lead-success-actions{width:min(430px,100%)}
@media(max-width:700px){.lead-card.is-success{padding:38px 18px 24px}.lead-card.is-success .lead-success{min-height:360px;padding:18px 0 4px}.lead-card.is-success .lead-success p{font-size:14px}}


/* v45 — mobile success screen: after submit, reset the scrollable card and show a true standalone thank-you state. */
@media (max-width:700px){
  .lead-card.is-success{
    width:calc(100% - 4px);
    max-height:calc(100dvh - 24px);
    overflow:hidden;
    padding:30px 18px 22px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .lead-card.is-success .lead-success{
    display:grid!important;
    place-items:center;
    align-content:center;
    min-height:min(520px,calc(100dvh - 100px));
    width:100%;
    padding:28px 0 8px;
  }
  .lead-card.is-success .lead-success>span{width:68px;height:68px;margin-bottom:18px;font-size:34px}
  .lead-card.is-success .lead-success h2{font-size:24px;margin-bottom:10px}
  .lead-card.is-success .lead-success p{max-width:310px;font-size:14px;line-height:1.55}
  .lead-card.is-success .lead-success-actions{width:100%;max-width:340px;margin-top:24px}
  .lead-card.is-success .lead-success-actions button{min-height:50px}
}

/* Privacy consent link */
.lead-consent a{color:#377fdd;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.lead-consent a:hover{color:#245fa9}

/* v49 — international phone input */
.lead-phone-field .iti{width:100%;display:block}
.lead-phone-field .iti input{padding-left:88px!important}
.lead-phone-field .iti__flag-container{padding-left:3px}
.lead-phone-field .iti__selected-flag{border-radius:13px 0 0 13px;padding:0 10px 0 12px}
.lead-phone-field .iti__country-list{z-index:100000;border-radius:14px;border:1px solid rgba(116,158,211,.25);box-shadow:0 16px 40px rgba(16,47,86,.18);max-width:min(360px,calc(100vw - 48px));white-space:normal}
.lead-phone-error{display:block;min-height:16px;margin-top:5px;color:#c53d52;font-size:11px;line-height:1.35}
.lead-phone-field.is-invalid input{border-color:#d85b70!important;box-shadow:0 0 0 3px rgba(216,91,112,.10)!important}
@media(max-width:700px){.lead-phone-field .iti__country-list{position:fixed;left:24px!important;right:24px!important;top:18%!important;width:auto!important;max-width:none!important;max-height:55vh}.lead-phone-field .iti input{padding-left:84px!important}}

/* Cookie / analytics consent */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:120000;max-width:980px;margin:auto;padding:16px 18px;background:#fff;border:1px solid rgba(116,158,211,.28);border-radius:18px;box-shadow:0 18px 55px rgba(16,47,86,.18);display:flex;align-items:center;justify-content:space-between;gap:18px;color:#17345e}
.cookie-banner[hidden]{display:none}
.cookie-banner__text{display:grid;gap:4px;font-size:13px;line-height:1.45}.cookie-banner__text strong{font-size:15px}.cookie-banner__text a{color:#377fdd}.cookie-banner__actions{display:flex;gap:8px;flex-shrink:0}.cookie-banner__actions button{border:1px solid rgba(55,127,221,.3);background:#f4f8ff;color:#17345e;border-radius:12px;padding:10px 12px;font:inherit;font-weight:700;cursor:pointer}.cookie-banner__actions .cookie-accept{background:#377fdd;color:#fff;border-color:#377fdd}
@media(max-width:700px){.cookie-banner{left:10px;right:10px;bottom:10px;align-items:stretch;flex-direction:column}.cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr}.cookie-banner__actions button{padding:11px 8px;font-size:12px}}
