/* Доп. утилиты для /modx/ и /bitrix/ — их нет в урезанном style.css */
.pt-28 { padding-top: 7rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.p-10 { padding: 2.5rem; }
.mb-5 { margin-bottom: 1.25rem; }
.mt-12 { margin-top: 3rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-4xl { max-width: 56rem; }
.gap-5 { gap: 1.25rem; }
.gap-10 { gap: 2.5rem; }
.space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.25rem; }
.space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }
.space-y-0 > :not([hidden]) ~ :not([hidden]) { margin-top: 0; }
.leading-relaxed { line-height: 1.625; }
.leading-\[1\.1\] { line-height: 1.1; }
.tracking-widest { letter-spacing: 0.1em; }
.tracking-\[0\.08em\] { letter-spacing: 0.08em; }
.tracking-\[0\.3em\] { letter-spacing: 0.3em; }
.whitespace-nowrap { white-space: nowrap; }
.w-fit { width: fit-content; }
.max-h-\[160px\] { max-height: 160px; }
.max-h-\[200px\] { max-height: 200px; }
.aspect-\[4\/3\] { aspect-ratio: 4 / 3; }
.scroll-mt-24 { scroll-margin-top: 6rem; }
.opacity-100 { opacity: 1; }
.z-\[9000\] { z-index: 9000; }
.z-\[9990\] { z-index: 9990; }
.z-\[9997\] { z-index: 9997; }
.z-\[9998\] { z-index: 9998; }
.z-\[10000\] { z-index: 10000; }

.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm\:flex-row { display: flex; flex-direction: row; }
  .sm\:w-auto { width: auto; }
  .sm\:text-left { text-align: left; }
  .sm\:text-5xl { font-size: 3rem; line-height: 1; }
  .sm\:p-6 { padding: 1.5rem; }
  .sm\:p-8 { padding: 2rem; }
  .sm\:opacity-0 { opacity: 0; }
  .sm\:group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }
}

@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:block { display: block; }
  .md\:flex-row { display: flex; flex-direction: row; }
  .md\:items-center { align-items: center; }
  .md\:justify-between { justify-content: space-between; }
  .md\:text-left { text-align: left; }
  .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
  .md\:text-5xl { font-size: 3rem; line-height: 1; }
  .md\:mx-0 { margin-left: 0; margin-right: 0; }
  .md\:mt-0 { margin-top: 0; }
  .md\:mb-0 { margin-bottom: 0; }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lg\:flex { display: flex; }
  .lg\:block { display: block; }
  .lg\:hidden { display: none; }
  .lg\:flex-row { flex-direction: row; }
  .lg\:items-start { align-items: flex-start; }
  .lg\:justify-start { justify-content: flex-start; }
  .lg\:gap-6 { gap: 1.5rem; }
  .lg\:gap-8 { gap: 2rem; }
  .lg\:gap-10 { gap: 2.5rem; }
  .lg\:gap-12 { gap: 3rem; }
  .lg\:p-8 { padding: 2rem; }
  .lg\:py-32 { padding-top: 8rem; padding-bottom: 8rem; }
  .lg\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .lg\:bottom-8 { bottom: 2rem; }
  .lg\:right-8 { right: 2rem; }
}

@media (min-width: 1280px) {
  .xl\:gap-6 { gap: 1.5rem; }
}

/* Цвета / прозрачности, которых нет в purge */
.bg-blue-600\/10 { background-color: color-mix(in srgb, #2563eb 10%, transparent); }
.bg-blue-600\/20 { background-color: color-mix(in srgb, #2563eb 20%, transparent); }
.bg-blue-500\/10 { background-color: color-mix(in srgb, #3b82f6 10%, transparent); }
.bg-purple-600\/20 { background-color: color-mix(in srgb, #9333ea 20%, transparent); }
.bg-emerald-600\/20 { background-color: color-mix(in srgb, #059669 20%, transparent); }
.bg-orange-600\/20 { background-color: color-mix(in srgb, #ea580c 20%, transparent); }
.bg-cyan-600\/20 { background-color: color-mix(in srgb, #0891b2 20%, transparent); }
.bg-indigo-600\/20 { background-color: color-mix(in srgb, #4f46e5 20%, transparent); }
.bg-green-600\/20 { background-color: color-mix(in srgb, #16a34a 20%, transparent); }
.text-emerald-400 { color: #34d399; }
.text-orange-400 { color: #fb923c; }
.text-indigo-400 { color: #818cf8; }
.text-purple-400 { color: #c084fc; }
.opacity-0 { opacity: 0; }
.group:hover .group-hover\:opacity-100,
.group:hover .portfolio-overlay { opacity: 1; }

/* Process 4 columns */
.service-process {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .service-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .service-process { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.bg-green-500\/10 { background-color: color-mix(in srgb, #22c55e 10%, transparent); }
.bg-slate-900\/30 { background-color: color-mix(in srgb, #0f172a 30%, transparent); }
.bg-slate-900\/40 { background-color: color-mix(in srgb, #0f172a 40%, transparent); }
.bg-slate-900\/50 { background-color: color-mix(in srgb, #0f172a 50%, transparent); }
.bg-slate-900\/95 { background-color: color-mix(in srgb, #0f172a 95%, transparent); }

.border-blue-500\/20 { border-color: color-mix(in srgb, #3b82f6 20%, transparent); }
.border-blue-500\/30 { border-color: color-mix(in srgb, #3b82f6 30%, transparent); }
.border-blue-500\/40 { border-color: color-mix(in srgb, #3b82f6 40%, transparent); }
.border-purple-500\/30 { border-color: color-mix(in srgb, #a855f7 30%, transparent); }
.border-indigo-500\/30 { border-color: color-mix(in srgb, #6366f1 30%, transparent); }
.border-green-500\/30 { border-color: color-mix(in srgb, #22c55e 30%, transparent); }
.border-white\/5 { border-color: color-mix(in srgb, #fff 5%, transparent); }

.text-blue-300 { color: #93c5fd; }
.text-cyan-400 { color: #22d3ee; }
.text-red-400 { color: #f87171; }
.text-purple-300 { color: #d8b4fe; }
.text-green-500 { color: #22c55e; }

.hover\:border-blue-500\/40:hover { border-color: color-mix(in srgb, #3b82f6 40%, transparent); }
.hover\:border-purple-500:hover { border-color: #a855f7; }
.hover\:border-green-500:hover { border-color: #22c55e; }
.hover\:border-blue-500:hover { border-color: #3b82f6; }
.hover\:bg-blue-500\/10:hover { background-color: color-mix(in srgb, #3b82f6 10%, transparent); }
.hover\:bg-purple-500\/10:hover { background-color: color-mix(in srgb, #a855f7 10%, transparent); }
.hover\:bg-green-500\/10:hover { background-color: color-mix(in srgb, #22c55e 10%, transparent); }
.hover\:text-purple-300:hover { color: #d8b4fe; }
.hover\:text-blue-300:hover { color: #93c5fd; }
.hover\:bg-blue-500:hover { background-color: #3b82f6; }
.hover\:bg-purple-500:hover { background-color: #a855f7; }
.hover\:scale-110:hover { transform: scale(1.1); }

/* Не переопределяем .bg-gradient-to-r / from-* / to-* из style.css (Tailwind v4) —
   иначе ломается градиентная линия этапов и другие градиенты.
   Добавляем только отсутствующие opacity-варианты. */
.from-blue-600\/20 {
  --tw-gradient-from: color-mix(in srgb, #2563eb 20%, transparent);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.from-purple-600\/20 {
  --tw-gradient-from: color-mix(in srgb, #9333ea 20%, transparent);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-indigo-600\/20 {
  --tw-gradient-to: color-mix(in srgb, #4f46e5 20%, transparent);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-indigo-600\/10 {
  --tw-gradient-to: color-mix(in srgb, #4f46e5 10%, transparent);
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.bg-purple-600\/10 { background-color: color-mix(in srgb, #9333ea 10%, transparent); }
.border-purple-500\/30 { border-color: color-mix(in srgb, #a855f7 30%, transparent); }
.border-purple-500\/40 { border-color: color-mix(in srgb, #a855f7 40%, transparent); }
.text-purple-300 { color: #d8b4fe; }

.shadow-\[0_0_15px_rgba\(37\,99\,235\,0\.3\)\] { box-shadow: 0 0 15px rgba(37, 99, 235, 0.3); }
.shadow-\[0_0_20px_rgba\(37\,99\,235\,0\.4\)\] { box-shadow: 0 0 20px rgba(37, 99, 235, 0.4); }
.shadow-\[0_0_20px_rgba\(37\,99\,235\,0\.3\)\] { box-shadow: 0 0 20px rgba(37, 99, 235, 0.3); }
.hover\:shadow-\[0_0_20px_rgba\(37\,99\,235\,0\.5\)\]:hover { box-shadow: 0 0 20px rgba(37, 99, 235, 0.5); }
.shadow-lg { box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); }
.shadow-2xl { box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); }
.shadow-blue-900\/50 { box-shadow: 0 10px 15px -3px color-mix(in srgb, #1e3a8a 50%, transparent); }

.backdrop-blur-md { backdrop-filter: blur(12px); }
.rounded-2xl { border-radius: 1rem; }
.rounded-3xl { border-radius: 1.5rem; }
.rounded-full { border-radius: 9999px; }
.rounded-xl { border-radius: 0.75rem; }

.portfolio-overlay { background: linear-gradient(to top, rgba(2,6,23,0.98) 0%, rgba(2,6,23,0.6) 40%, rgba(2,6,23,0) 100%); }
@media (max-width: 1023px), (hover: none) {
  .portfolio-overlay { opacity: 1 !important; }
}
.group:hover .group-hover\:opacity-100 { opacity: 1; }
.group:hover .portfolio-img { transform: scale(1.05); }

/* Надёжная сетка секций на посадочных */
.service-grid-3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .service-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .service-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.service-grid-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .service-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.service-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 1024px) {
  .service-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

.service-prose p + p { margin-top: 1.25rem; }

.text-pink-500 { color: #ec4899; }
.text-green-400 { color: #4ade80; }
.text-purple-400 { color: #c084fc; }
.text-blue-400 { color: #60a5fa; }
.bg-\[\#ff5f56\] { background-color: #ff5f56; }
.bg-\[\#ffbd2e\] { background-color: #ffbd2e; }
.bg-\[\#27c93f\] { background-color: #27c93f; }
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.pl-6 { padding-left: 1.5rem; }
.list-disc { list-style-type: disc; }
.pl-5 { padding-left: 1.25rem; }

/* ===== Premium effects (как на главной) ===== */
.service-glass {
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(148, 163, 184, 0.12);
  transition: border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}
.service-glass:hover {
  border-color: rgba(59, 130, 246, 0.45);
  box-shadow:
    0 0 40px rgba(37, 99, 235, 0.14),
    0 18px 40px rgba(0, 0, 0, 0.28);
  background: rgba(15, 23, 42, 0.68);
  /* без transform — иначе дёргается с GSAP reveal */
}

.service-stat {
  background: rgba(15, 23, 42, 0.4);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(148, 163, 184, 0.14);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}
.service-stat:hover {
  border-color: rgba(99, 102, 241, 0.4);
  box-shadow: 0 0 28px rgba(99, 102, 241, 0.12);
}

.service-price {
  transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.service-price:hover {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(30, 41, 59, 0.45);
  box-shadow: 0 0 24px rgba(37, 99, 235, 0.1);
}

.service-reveal {
  /* устарело: используем .gs-reveal как на главной, без CSS opacity/transform */
}

@keyframes service-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes service-float-slow {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.service-float { animation: service-float 6s ease-in-out infinite; }
.service-float-delayed { animation: service-float-slow 7s ease-in-out infinite 1s; }
.animate-float { animation: service-float 6s ease-in-out infinite; }
.animate-float-delayed { animation: service-float-slow 7s ease-in-out infinite 1s; }
.service-float-inner { animation: service-float 6s ease-in-out infinite; }
.service-float-delayed-inner { animation: service-float-slow 7s ease-in-out infinite 1s; }

.gs-reveal { will-change: transform, opacity; }

/* Курсор и FAB — как на главной */
@media (pointer: fine) {
  body, a, button, input, select, textarea, .cursor-pointer { cursor: none !important; }
}
#cursor-outline.hover {
  transform: translate(-50%, -50%) scale(1.5);
  background-color: rgba(59, 130, 246, 0.1);
  border-color: rgba(168, 85, 247, 0.8);
}
.fab-container:hover .fab-menu { opacity: 1; transform: translateY(0); pointer-events: auto; }
.fab-menu.active { opacity: 1; transform: translateY(0); pointer-events: auto; }

@media (prefers-reduced-motion: reduce) {
  .gs-reveal { opacity: 1 !important; transform: none !important; }
  .service-float,
  .service-float-delayed,
  .service-float-inner,
  .service-float-delayed-inner,
  .animate-float,
  .animate-float-delayed,
  .btn-max { animation: none !important; }
}

.service-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .service-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 2.5rem; }
}

.service-hero-visual {
  display: none;
  position: relative;
}
@media (min-width: 1024px) {
  .service-hero-visual { display: block; }
}

.service-code-window {
  position: relative;
  z-index: 10;
  border-radius: 1rem;
  background: rgba(15, 23, 42, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(51, 65, 85, 0.9);
  box-shadow:
    0 0 60px rgba(37, 99, 235, 0.18),
    0 25px 50px rgba(0, 0, 0, 0.45);
  padding: 1.5rem;
  overflow: hidden;
}

.service-hero-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%;
  height: 120%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(59, 130, 246, 0.18) 0%, transparent 65%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
}

.service-chip {
  position: absolute;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(2, 6, 23, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(51, 65, 85, 0.9);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

/* process: только разметка главной — без кастомной линии поверх цифр */
.step-node {
  transition: color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.service-float-inner { animation: service-float 6s ease-in-out infinite; }
.service-float-delayed-inner { animation: service-float-slow 7s ease-in-out infinite 1s; }

.service-section-glow {
  position: absolute;
  inset: auto;
  width: min(70vw, 520px);
  height: min(70vw, 520px);
  border-radius: 50%;
  pointer-events: none;
  filter: blur(100px);
  opacity: 0.35;
  z-index: 0;
}
.service-section-glow--blue {
  background: radial-gradient(circle, rgba(37, 99, 235, 0.45) 0%, transparent 70%);
}
.service-section-glow--purple {
  background: radial-gradient(circle, rgba(168, 85, 247, 0.35) 0%, transparent 70%);
}

.faq-item {
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.faq-item:hover {
  border-color: rgba(59, 130, 246, 0.3);
  box-shadow: 0 0 20px rgba(37, 99, 235, 0.08);
}

.service-icon-wrap {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}

/* Утилиты для блоков с главной */
.w-7 { width: 1.75rem; }
.h-7 { height: 1.75rem; }
.w-14 { width: 3.5rem; }
.h-14 { height: 3.5rem; }
.w-20 { width: 5rem; }
.h-20 { height: 5rem; }
.top-\[2\.5rem\] { top: 2.5rem; }
.left-\[5\%\] { left: 5%; }
.right-\[5\%\] { right: 5%; }
.left-\[40px\] { left: 40px; }
.top-\[40px\] { top: 40px; }
.bottom-\[40px\] { bottom: 40px; }
.origin-left { transform-origin: left center; }
/* Не дублируем .scale-x-0: в Tailwind v4 это CSS `scale`, а GSAP пишет в `transform` —
   конфликт оставлял линию этапов невидимой. Старт задаёт service-page.js. */
.max-w-5xl { max-width: 64rem; }
.flex-shrink-0 { flex-shrink: 0; }
.border-4 { border-width: 4px; }
.bg-\[\#060B22\] { background-color: #060B22; }
.border-l-4 { border-left-width: 4px; }
.border-l-lime-400 { border-left-color: #a3e635; }
.border-l-purple-500 { border-left-color: #a855f7; }
.border-l-cyan-400 { border-left-color: #22d3ee; }
.border-l-sky-400 { border-left-color: #38bdf8; }
.shrink-0 { flex-shrink: 0; }
.min-w-0 { min-width: 0; }
.tabular-nums { font-variant-numeric: tabular-nums; }
.bottom-24 { bottom: 6rem; }
.left-4 { left: 1rem; }
.right-4 { right: 1rem; }
.translate-y-5 { transform: translateY(1.25rem); }
.translate-y-4 { transform: translateY(1rem); }
.translate-y-0 { transform: translateY(0); }
.opacity-0 { opacity: 0; }
.opacity-100 { opacity: 1; }
.pointer-events-none { pointer-events: none; }
.pointer-events-auto { pointer-events: auto; }
.z-\[999999\] { z-index: 999999; }
.z-\[999998\] { z-index: 999998; }
.z-\[99999\] { z-index: 99999; }
.w-1\.5 { width: 0.375rem; }
.h-1\.5 { height: 0.375rem; }
.origin-bottom { transform-origin: bottom; }
.right-14 { right: 3.5rem; }
.-ml-0\.5 { margin-left: -0.125rem; }
.mt-0\.5 { margin-top: 0.125rem; }
.bg-\[\#0077FF\] { background-color: #0077FF; }
.bg-\[\#25D366\] { background-color: #25D366; }
.bg-\[\#0088cc\] { background-color: #0088cc; }
.hover\:bg-\[\#005ce6\]:hover { background-color: #005ce6; }
.hover\:bg-\[\#1ebd5a\]:hover { background-color: #1ebd5a; }
.hover\:bg-\[\#0077b3\]:hover { background-color: #0077b3; }
.border-indigo-500 { border-color: #6366f1; }
.border-pink-500 { border-color: #ec4899; }
.text-indigo-400 { color: #818cf8; }
.text-pink-400 { color: #f472b6; }
.shadow-\[0_0_20px_rgba\(59\,130\,246\,0\.3\)\] { box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); }
.shadow-\[0_0_20px_rgba\(99\,102\,241\,0\.3\)\] { box-shadow: 0 0 20px rgba(99, 102, 241, 0.3); }
.shadow-\[0_0_20px_rgba\(168\,85\,247\,0\.3\)\] { box-shadow: 0 0 20px rgba(168, 85, 247, 0.3); }
.shadow-\[0_0_20px_rgba\(236\,72\,153\,0\.3\)\] { box-shadow: 0 0 20px rgba(236, 72, 153, 0.3); }
.shadow-\[0_0_10px_rgba\(255\,255\,255\,0\.8\)\] { box-shadow: 0 0 10px rgba(255, 255, 255, 0.8); }

@media (min-width: 768px) {
  .md\:block { display: block; }
  .md\:hidden { display: none; }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .md\:flex-col { flex-direction: column; }
  .md\:items-center { align-items: center; }
  .md\:text-center { text-align: center; }
  .md\:mb-6 { margin-bottom: 1.5rem; }
  .md\:mb-24 { margin-bottom: 6rem; }
  .md\:gap-4 { gap: 1rem; }
  .md\:gap-0 { gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .gs-reveal { opacity: 1 !important; transform: none !important; }
  .service-float,
  .service-float-delayed,
  .service-float-inner,
  .service-float-delayed-inner,
  .animate-float,
  .animate-float-delayed,
  .btn-max { animation: none !important; }
}
