/* V11.0 — Services page only. Interactive service command deck, no rotating plane/video visual. */
body.services-page .services-video-hero {
  --services-mx: 72%;
  --services-my: 38%;
  --engine-color: 111,131,255;
  background:
    radial-gradient(820px circle at 78% 36%, rgba(92,107,255,.14), transparent 48%),
    radial-gradient(520px circle at 88% 74%, rgba(162,92,255,.12), transparent 42%),
    radial-gradient(540px circle at 12% 18%, rgba(47,176,255,.08), transparent 34%),
    linear-gradient(120deg,#05060b 0%,#080a14 38%,#090c19 62%,#06070d 100%);
  overflow:hidden;
}
body.services-page .services-video-hero::before,
body.services-page .services-video-hero::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
body.services-page .services-video-hero::before {
  background:
    radial-gradient(420px circle at var(--services-mx) var(--services-my), rgba(var(--engine-color),.16), transparent 68%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 18%, transparent 78%, rgba(255,255,255,.03));
  z-index:-1;
}
body.services-page .services-video-hero::after {
  background:
    linear-gradient(90deg, rgba(4,5,9,.95), rgba(5,7,15,.83) 34%, rgba(5,7,17,.56) 62%, rgba(5,6,10,.44)),
    radial-gradient(circle at 84% 50%, rgba(157,111,255,.06), transparent 36%);
  z-index:-1;
}
body.services-page .services-hero-video {display:none !important;}
body.services-page .services-video-shade {
  background:linear-gradient(180deg, rgba(4,5,9,.06) 0%, transparent 52%, rgba(4,5,9,.95) 100%);
}
body.services-page .services-hero-grain {
  opacity:.22;
  mix-blend-mode:soft-light;
}
body.services-page .services-hero-content {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:center;
  gap:clamp(18px,2vw,34px);
  min-height:100svh;
  padding-top:125px;
  padding-bottom:132px;
  position:relative;
}
body.services-page .services-hero-copy {max-width:675px; position:relative; z-index:4;}
body.services-page .services-hero-copy h1 {
  font-size:clamp(58px,6.2vw,100px);
  margin:24px 0 29px;
  line-height:.96;
}
body.services-page .services-hero-copy p {
  max-width:620px;
  font-size:clamp(15px,1.23vw,18px);
}
body.services-page .services-availability {position:absolute; right:0; bottom:68px; z-index:7;}
body.services-page .services-scroll-cue {z-index:7;}

body.services-page .services-engine {
  width:100%;
  max-width:650px;
  height:clamp(440px,41vw,610px);
  position:relative;
  isolation:isolate;
  align-self:center;
  justify-self:end;
  min-width:0;
  user-select:none;
  -webkit-user-select:none;
  --engine-rx: 0deg;
  --engine-ry: 0deg;
  --engine-tx: 0px;
  --engine-ty: 0px;
}
body.services-page .services-engine-halo,
body.services-page .services-engine-glow {
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
body.services-page .services-engine-halo {
  inset:9% 7%;
  background:radial-gradient(circle, rgba(var(--engine-color),.12), rgba(129,79,255,.05) 46%, transparent 74%);
  filter:blur(22px);
  opacity:.9;
}
body.services-page .services-engine-glow-a {
  width:240px;height:240px;left:-8%;top:8%;
  background:radial-gradient(circle, rgba(71,167,255,.11), transparent 70%);
  animation:serviceGlowFloat 9s ease-in-out infinite;
}
body.services-page .services-engine-glow-b {
  width:290px;height:290px;right:-10%;bottom:-2%;
  background:radial-gradient(circle, rgba(182,92,255,.12), transparent 72%);
  animation:serviceGlowFloat 11s ease-in-out infinite reverse;
}
@keyframes serviceGlowFloat {
  0%,100% { transform:translate3d(0,0,0); }
  50% { transform:translate3d(0,-16px,0) scale(1.04); }
}
body.services-page .services-engine-grid {
  position:absolute; inset:10% 6%;
  border:1px solid rgba(150,163,255,.11);
  border-radius:28px;
  background-image:
    linear-gradient(rgba(143,155,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,155,255,.05) 1px, transparent 1px);
  background-size:34px 34px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
  -webkit-mask-image:radial-gradient(ellipse at center, black 62%, transparent 92%);
  mask-image:radial-gradient(ellipse at center, black 62%, transparent 92%);
  pointer-events:none;
}
body.services-page .engine-corner {
  position:absolute;
  width:22px;height:22px;
  opacity:.48;
  pointer-events:none;
}
body.services-page .engine-corner-tl {top:10%;left:6%;border-top:1px solid #a2afff;border-left:1px solid #a2afff;}
body.services-page .engine-corner-tr {top:10%;right:6%;border-top:1px solid #a2afff;border-right:1px solid #a2afff;}
body.services-page .engine-corner-bl {bottom:10%;left:6%;border-bottom:1px solid #a2afff;border-left:1px solid #a2afff;}
body.services-page .engine-corner-br {bottom:10%;right:6%;border-bottom:1px solid #a2afff;border-right:1px solid #a2afff;}
body.services-page .services-engine-head,
body.services-page .services-engine-foot {
  position:absolute;
  left:8%;right:8%;
  display:flex;justify-content:space-between;align-items:center;
  font:500 10px "JetBrains Mono",monospace;
  letter-spacing:.115em;
  color:rgba(184,196,233,.64);
  pointer-events:none;
}
body.services-page .services-engine-head {top:6%;}
body.services-page .services-engine-foot {bottom:5%;font-size:9px;}
body.services-page .engine-rec-dot {height:6px;width:6px;background:#d7ff5b;border-radius:50%;box-shadow:0 0 10px #d7ff5b;}
body.services-page .engine-index {margin-left:auto;color:rgba(170,184,255,.4);}
body.services-page .engine-coordinates {color:rgba(164,182,255,.74);}

body.services-page .services-engine-panel {
  position:absolute;
  inset:14% 10% 13%;
  border-radius:28px;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:18px;
  background:linear-gradient(150deg, rgba(18,21,38,.9), rgba(8,10,19,.82));
  border:1px solid rgba(160,172,255,.16);
  box-shadow:0 26px 80px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  transform:
    perspective(1200px)
    rotateX(var(--engine-rx))
    rotateY(var(--engine-ry))
    translate3d(var(--engine-tx),var(--engine-ty),0);
  transition:transform .24s ease-out, border-color .28s ease, box-shadow .28s ease;
}
body.services-page .services-engine-panel::before,
body.services-page .services-engine-panel::after {
  content:"";
  position:absolute;
  pointer-events:none;
}
body.services-page .services-engine-panel::before {
  inset:0;
  border-radius:inherit;
  background:radial-gradient(280px circle at var(--services-mx) var(--services-my), rgba(var(--engine-color),.16), transparent 62%);
  opacity:.9;
}
body.services-page .services-engine-panel::after {
  left:18px;right:18px;top:18px;height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}
body.services-page .services-engine-preview {
  position:relative;
  z-index:1;
  padding:16px 16px 15px;
  border-radius:22px;
  background:linear-gradient(155deg, rgba(22,27,46,.96), rgba(13,17,32,.84));
  border:1px solid rgba(160,174,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.services-page .services-engine-preview {
  transition: opacity .18s ease, transform .18s ease, filter .18s ease;
  will-change: opacity, transform;
  backface-visibility: hidden;
}
body.services-page .services-engine-preview.is-fading {
  opacity: .58;
  transform: translateY(4px);
  filter: blur(.35px);
}
body.services-page .engine-preview-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:13px;
  font:500 9px "JetBrains Mono",monospace;
  letter-spacing:.18em;
  color:rgba(204,216,255,.76);
}
body.services-page .engine-preview-kicker::before {
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:rgba(var(--engine-color),.9);
  box-shadow:0 0 14px rgba(var(--engine-color),.75);
}
body.services-page .services-engine-preview strong {
  display:block;
  margin:0 0 11px;
  font:800 clamp(28px,3vw,42px)/1.02 "Manrope","DM Sans",sans-serif;
  letter-spacing:-.055em;
  color:#f1f4ff;
  text-shadow:0 0 24px rgba(var(--engine-color),.18);
}
body.services-page .services-engine-preview p {
  margin:0;
  color:#c5cee7;
  line-height:1.62;
  font-size:14px;
}
body.services-page .engine-preview-tags {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body.services-page .engine-preview-tags span {
  display:inline-flex;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(166,179,255,.16);
  background:rgba(255,255,255,.03);
  color:#dfe5ff;
  font:600 10px "JetBrains Mono",monospace;
  letter-spacing:.05em;
}
body.services-page .services-engine-list {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  position:relative;
  z-index:1;
}
body.services-page .engine-service-pill {
  position:relative;
  min-height:86px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:15px 15px 14px;
  border-radius:18px;
  color:#edf1ff;
  background:linear-gradient(135deg, rgba(24,28,48,.9), rgba(12,15,28,.84));
  border:1px solid rgba(158,172,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
  overflow:hidden;
  outline-offset:4px;
}
body.services-page .engine-service-pill::before {
  content:"";
  position:absolute;
  inset:auto -20% -55% 20%;
  height:120px;
  background:radial-gradient(circle, rgba(var(--engine-color),.18), transparent 66%);
  opacity:0;
  transition:opacity .2s ease;
}
body.services-page .engine-service-pill:hover,
body.services-page .engine-service-pill:focus-visible,
body.services-page .engine-service-pill.is-active {
  transform:translateY(-3px);
  border-color:rgba(156,176,255,.58);
  background:linear-gradient(135deg, rgba(38,45,77,.96), rgba(16,20,39,.92));
  box-shadow:0 16px 30px rgba(0,0,0,.3), 0 0 24px rgba(var(--engine-color),.13);
}
body.services-page .engine-service-pill:hover::before,
body.services-page .engine-service-pill:focus-visible::before,
body.services-page .engine-service-pill.is-active::before {opacity:1;}
body.services-page .engine-service-index {
  display:grid;
  place-items:center;
  width:35px;height:35px;
  border-radius:12px;
  background:rgba(var(--engine-color),.14);
  color:#dce4ff;
  font:700 12px "JetBrains Mono",monospace;
  box-shadow:inset 0 0 0 1px rgba(var(--engine-color),.18);
}
body.services-page .engine-service-pill strong {
  display:block;
  font-size:16px;
  letter-spacing:-.03em;
  color:#f1f4ff;
}
body.services-page .engine-service-pill small {
  display:block;
  margin-top:5px;
  color:#9ca9c7;
  font:500 11px/1.3 "Inter",sans-serif;
}
body.services-page .engine-service-pill i {
  font-style:normal;
  color:rgba(220,230,255,.65);
  font-size:16px;
}

body.services-page .service-card {scroll-margin-top:110px;}
body.services-page .service-card::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s ease;
  background:radial-gradient(360px circle at var(--card-x,50%) var(--card-y,50%), rgba(111,131,255,.16), transparent 65%);
}
body.services-page .service-card:hover::before,
body.services-page .service-card:focus-within::before {opacity:1;}
body.services-page .service-card > * {position:relative;z-index:1;}
body.services-page .service-card.service-card-ping {animation:service-ping 1.2s ease-out;}
@keyframes service-ping {
  0%,100% {border-color:var(--line);box-shadow:none;}
  35% {border-color:rgba(150,165,255,.75);box-shadow:0 0 28px rgba(111,131,255,.19);}
}

@media (max-width:1180px) {
  body.services-page .services-hero-copy h1 {font-size:clamp(54px,6vw,84px);}  
  body.services-page .services-engine {height:clamp(420px,44vw,560px);}  
  body.services-page .services-engine-panel {inset:14% 7% 13%;}
  body.services-page .services-engine-list {gap:10px;}
  body.services-page .engine-service-pill {min-height:80px;padding:14px 13px 13px;}
  body.services-page .engine-service-pill strong {font-size:15px;}
  body.services-page .engine-service-pill small {font-size:10px;}
}
@media (min-width:761px) and (max-width:900px) {
  body.services-page .services-video-hero {min-height:0;}
  body.services-page .services-hero-content {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    padding-top:166px;
    padding-bottom:118px;
    gap:28px;
  }
  body.services-page .services-hero-copy {max-width:670px;}
  body.services-page .services-hero-copy h1 {font-size:clamp(58px,8.1vw,78px);}  
  body.services-page .services-engine {height:560px;max-width:640px;align-self:center;justify-self:center;}
  body.services-page .services-availability {position:relative;right:auto;bottom:auto;align-self:flex-end;}
}
@media (max-width:760px) {
  body.services-page .services-video-hero {min-height:0;}
  body.services-page .services-hero-content {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    padding-top:146px;
    padding-bottom:124px;
    gap:26px;
  }
  body.services-page .services-hero-copy h1 {font-size:clamp(46px,12.4vw,74px);line-height:.97;}
  body.services-page .services-hero-copy p {font-size:15px;}
  body.services-page .services-engine {
    height:auto;
    max-width:100%;
    align-self:stretch;
    justify-self:stretch;
  }
  body.services-page .services-engine-head,
  body.services-page .services-engine-foot {left:7%;right:7%;}
  body.services-page .services-engine-panel {
    position:relative;
    inset:auto;
    transform:none !important;
    padding:18px;
  }
  body.services-page .services-engine-preview strong {font-size:31px;}
  body.services-page .services-engine-list {grid-template-columns:1fr;}
  body.services-page .engine-service-pill {min-height:74px;}
  body.services-page .services-availability {position:relative;right:auto;bottom:auto;align-self:stretch;}
  body.services-page .services-scroll-cue {bottom:22px;}
}
@media (max-width:430px) {
  body.services-page .services-hero-content {padding-top:137px;gap:19px;}
  body.services-page .services-hero-copy h1 {font-size:clamp(42px,12.1vw,56px);}  
  body.services-page .services-engine-head {top:4.5%;font-size:8px;}
  body.services-page .services-engine-foot {bottom:4.5%;font-size:7px;}
  body.services-page .services-engine-panel {padding:14px;border-radius:22px;}
  body.services-page .services-engine-preview {padding:14px;}
  body.services-page .services-engine-preview strong {font-size:26px;}
  body.services-page .services-engine-preview p {font-size:13px;}
  body.services-page .engine-preview-tags {gap:7px;margin-top:14px;}
  body.services-page .engine-preview-tags span {padding:7px 10px;font-size:9px;}
  body.services-page .engine-service-pill {padding:12px 12px 11px;border-radius:16px;gap:10px;}
  body.services-page .engine-service-index {width:31px;height:31px;border-radius:10px;font-size:11px;}
  body.services-page .engine-service-pill strong {font-size:14px;}
  body.services-page .engine-service-pill small {font-size:9px;}
}
@media (prefers-reduced-motion:reduce) {
  body.services-page .services-engine-glow,
  body.services-page .services-engine-panel,
  body.services-page .engine-service-pill {transition:none;animation:none;}
  body.services-page .service-card.service-card-ping {animation:none;border-color:#8295ff;}
}

/* Online Classes spotlight — dedicated main learning section */
body.services-page .classes-spotlight {
  padding: 0 0 120px;
}
body.services-page .classes-spotlight-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 24px;
  padding: 34px;
  border-radius: 34px;
  border: 1px solid rgba(153,166,255,.16);
  background:
    radial-gradient(520px circle at 85% 18%, rgba(131,96,255,.10), transparent 50%),
    radial-gradient(440px circle at 10% 86%, rgba(79,164,255,.08), transparent 45%),
    linear-gradient(155deg, rgba(14,17,31,.96), rgba(8,10,19,.96));
  box-shadow: 0 28px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
  overflow: hidden;
}
body.services-page .classes-spotlight-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.03), transparent 22%, transparent 78%, rgba(255,255,255,.03)),
    radial-gradient(400px circle at 75% 24%, rgba(111,131,255,.13), transparent 70%);
}
body.services-page .classes-spotlight-copy,
body.services-page .classes-spotlight-panel {
  position: relative;
  z-index: 1;
}
body.services-page .classes-spotlight-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: 16px 0 18px;
}
body.services-page .classes-spotlight-heading h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 58px);
  line-height: .97;
  letter-spacing: -.05em;
}
body.services-page .classes-discount-badge {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(165,255,112,.12);
  border: 1px solid rgba(165,255,112,.24);
  color: #dfffc7;
  font: 700 11px "JetBrains Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.services-page .classes-lead {
  font-size: 18px;
  line-height: 1.75;
  max-width: 760px;
  color: #d8e0f2;
}
body.services-page .classes-focus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}
body.services-page .classes-focus-grid article {
  padding: 18px 18px 20px;
  border-radius: 22px;
  background: linear-gradient(155deg, rgba(21,26,46,.88), rgba(11,14,28,.92));
  border: 1px solid rgba(155,168,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
body.services-page .classes-focus-grid article > span {
  display: inline-flex;
  margin-bottom: 18px;
  color: rgba(194,205,238,.62);
  font: 600 10px "JetBrains Mono", monospace;
  letter-spacing: .12em;
}
body.services-page .classes-focus-grid h3 {
  margin: 0 0 10px;
  font-size: 22px;
  letter-spacing: -.03em;
}
body.services-page .classes-focus-grid p {
  margin: 0;
  color: #afb9d3;
  line-height: 1.7;
  font-size: 14px;
}
body.services-page .classes-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
body.services-page .classes-spotlight-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.services-page .classes-panel-block,
body.services-page .classes-panel-note {
  padding: 22px;
  border-radius: 24px;
  background: linear-gradient(160deg, rgba(20,24,41,.92), rgba(11,14,27,.94));
  border: 1px solid rgba(154,167,255,.15);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
body.services-page .classes-panel-kicker {
  display: inline-flex;
  margin-bottom: 16px;
  color: rgba(190,203,238,.7);
  font: 600 10px "JetBrains Mono", monospace;
  letter-spacing: .14em;
}
body.services-page .classes-track-list,
body.services-page .classes-software-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
body.services-page .classes-track-list span,
body.services-page .classes-software-chips span {
  display: inline-flex;
  align-items: center;
  padding: 10px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(160,173,255,.12);
  color: #e7ecff;
  font-size: 13px;
  line-height: 1.35;
}
body.services-page .classes-panel-note {
  color: #c4cee7;
  line-height: 1.75;
  font-size: 14px;
}
body.services-page .classes-panel-note strong {
  color: #fff;
}

@media (max-width: 1100px) {
  body.services-page .classes-spotlight-shell {
    grid-template-columns: 1fr;
    padding: 28px;
  }
}
@media (max-width: 760px) {
  body.services-page .classes-spotlight { padding-bottom: 90px; }
  body.services-page .classes-spotlight-shell { padding: 22px; border-radius: 26px; }
  body.services-page .classes-lead { font-size: 16px; }
  body.services-page .classes-focus-grid { grid-template-columns: 1fr; }
  body.services-page .classes-focus-grid h3 { font-size: 20px; }
}
@media (max-width: 430px) {
  body.services-page .classes-spotlight-heading h2 { font-size: 32px; }
  body.services-page .classes-discount-badge { font-size: 10px; padding: 9px 13px; }
  body.services-page .classes-panel-block,
  body.services-page .classes-panel-note,
  body.services-page .classes-focus-grid article { padding: 16px; border-radius: 18px; }
  body.services-page .classes-track-list span,
  body.services-page .classes-software-chips span { font-size: 12px; padding: 9px 11px; }
}

/* V11.3: compact five-item deck, no decorative dot/caption headings.
   Let the panel's content determine height to avoid clipping/overlap at any viewport. */
body.services-page .services-engine { height:auto; }
body.services-page .services-engine-panel {
  position:relative;
  inset:auto;
  margin:24px 4.5% 46px;
}
body.services-page .services-engine-foot { bottom:4px; }
body.services-page .engine-service-pill:last-child { grid-column:1 / -1; }
@media (max-width:760px) {
  body.services-page .services-engine-panel { margin:20px 0 44px; }
  body.services-page .engine-service-pill:last-child { grid-column:auto; }
}

/* V11.4 — Services grid cards readability + premium tags */
body.services-page .services-grid {
  gap: 22px;
}
body.services-page .service-card {
  min-height: 402px;
  padding: 30px;
  gap: 38px;
  border-radius: 30px;
}
body.services-page .service-card-top {
  align-items: center;
  gap: 18px;
  color: rgba(214,223,245,.74);
}
body.services-page .service-card-top span:first-child {
  font-size: 11px;
  letter-spacing: .16em;
  color: rgba(205,215,240,.82);
}
body.services-page .service-card-top span:last-child {
  font-size: 11.5px;
  letter-spacing: .20em;
  color: rgba(237,242,255,.72);
}
body.services-page .service-card h3 {
  margin: 0 0 16px;
  font: 800 clamp(31px,2.15vw,40px)/1.03 "Manrope","Inter",sans-serif;
  letter-spacing: -.05em;
  color: #f3f6ff;
  max-width: 430px;
}
body.services-page .service-card p {
  max-width: 440px;
  font-size: 16px;
  line-height: 1.72;
  color: #bfc8de;
}
body.services-page .service-tags {
  gap: 10px;
}
body.services-page .service-tags span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(159,173,255,.18);
  background: linear-gradient(150deg, rgba(21,25,43,.94), rgba(14,17,30,.92));
  color: #e6ecff;
  font: 600 12px/1.2 "Inter", sans-serif;
  letter-spacing: .01em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 6px 18px rgba(0,0,0,.14);
}
body.services-page .service-card:hover .service-tags span,
body.services-page .service-card:focus-within .service-tags span {
  border-color: rgba(173,187,255,.28);
  background: linear-gradient(150deg, rgba(30,36,61,.98), rgba(17,21,38,.96));
}

@media (max-width: 1100px) {
  body.services-page .service-card {
    min-height: 390px;
    padding: 28px;
  }
  body.services-page .service-card h3 {
    font-size: clamp(28px,3vw,34px);
  }
  body.services-page .service-card p {
    font-size: 15px;
  }
}
@media (max-width: 760px) {
  body.services-page .services-grid {
    gap: 18px;
  }
  body.services-page .service-card {
    min-height: 345px;
    padding: 24px;
    gap: 28px;
    border-radius: 24px;
  }
  body.services-page .service-card-top span:first-child,
  body.services-page .service-card-top span:last-child {
    font-size: 10px;
  }
  body.services-page .service-card h3 {
    font-size: clamp(28px,7.1vw,36px);
    margin-bottom: 13px;
  }
  body.services-page .service-card p {
    font-size: 14.5px;
    line-height: 1.68;
  }
  body.services-page .service-tags {
    gap: 8px;
  }
  body.services-page .service-tags span {
    min-height: 34px;
    padding: 8px 12px;
    font-size: 11px;
  }
}


/* V20 — In light theme, preserve intentional dark hero/training visuals
   while restoring dark text contrast on light service cards. */
body.light.services-page .services-hero-copy {color:#f4f6ff;}
body.light.services-page .services-hero-copy h1 {color:#fff;}
body.light.services-page .services-engine {color:#f1f4ff;}
body.light.services-page .classes-spotlight-shell {color:#f4f7ff;}
body.light.services-page .classes-spotlight-copy h2,
body.light.services-page .classes-focus-grid h3 {color:#f4f7ff;}
body.light.services-page .classes-spotlight-copy>p {color:#c6d0e8;}
body.light.services-page .classes-spotlight-copy .classes-lead {color:#d8e0f2;}
body.light.services-page .classes-panel-block,
body.light.services-page .classes-panel-note {color:#dce5ff;}
body.light.services-page .service-card,
body.light.services-page .service-card-featured {
  background:linear-gradient(150deg,#fff,#f2f5fc);
  border-color:rgba(31,53,91,.17);
}
body.light.services-page .service-card h3 {color:#172033;}
body.light.services-page .service-card p {color:#4b5870;}
body.light.services-page .service-card-top span:first-child,
body.light.services-page .service-card-top span:last-child {color:#53627e;}
body.light.services-page .service-tags span {
  color:#33435f;
  border-color:rgba(48,70,111,.20);
  background:linear-gradient(150deg,#f9faff,#edf1fb);
  box-shadow:0 6px 18px rgba(26,39,77,.07);
}
body.light.services-page .service-card:hover .service-tags span {
  background:linear-gradient(150deg,#f1f4fe,#e8edfb);
  border-color:rgba(74,99,179,.30);
}
