
:root{
  /* Core palette */
  --ss-bg: #020617;                 /* main dark navy */
  --ss-bg-alt: #031b2f;             /* deep cyber blue */
  --ss-text: #e5faff;               /* main text */
  --ss-muted: rgba(229,250,255,.72);
  --ss-border-soft: rgba(255,255,255,.10);

  /* Accent */
  --ss-accent: #12dfe3;             /* cyan */
  --ss-grad-cyan: #12dfe3;
  --ss-grad-cyan: #08cfd1;
  --ss-grad-cyan-deep: #0891b2;

  /* Layout */
  --ss-radius-card: 10px;
  --ss-radius-sm: 8px;

  /* Shadows */
  --ss-shadow-card: 0 18px 50px rgba(0,0,0,.55);
  --ss-shadow-soft: 0 12px 34px rgba(0,0,0,.35);

  /* Focus */
  --ss-focus: rgba(8,214,214,.55);

  /* Media / sticky */
  --ss-sticky-top: 90px;            /* adjust if your navbar is taller */
  --ss-media-zoom: 1.08;
}

/* ---------------------------------------------------------
   Reset / Base
--------------------------------------------------------- */
*,
*::before,
*::after{ box-sizing: border-box; }

html, body{ margin: 0; padding: 0; }

body{
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;
  background: radial-gradient(circle at 20% 0%, rgba(8,214,214,.18), transparent 34%), radial-gradient(circle at top, var(--ss-bg) 0%, var(--ss-bg) 55%, var(--ss-bg-alt) 100%);
  color: var(--ss-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Remove browser outlines globally (use theme cues instead) */
*:focus,
*:focus-visible{ outline: none; }

a{ color: inherit; text-decoration: none; }
a:hover, a:focus{ text-decoration: none; }

img, video{
  max-width: 100%;
  display: block;
}

/* Keep images crisp (avoid blur from leftover filters/3D) */
img, video{
  image-rendering: auto;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* ---------------------------------------------------------
   Lists — remove bullets site-wide
--------------------------------------------------------- */
ul, ol{
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
li::marker{ content: ''; }

/* ---------------------------------------------------------
   Scrollbar (theme)
--------------------------------------------------------- */
/* Firefox */
*{
  scrollbar-width: thin;
  scrollbar-color: var(--ss-accent) rgba(2, 6, 23, 0.85);
}

/* Chromium / Safari */
::-webkit-scrollbar{ width: 12px; height: 12px; }

::-webkit-scrollbar-track{
  background: rgba(255,255,255,.06);
  border-radius: 999px;
  margin: 10px;
  border: 1px solid rgba(148,163,184,.18);
}

::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, var(--ss-grad-cyan), var(--ss-grad-cyan-deep), rgba(2,6,23,.9));
  border-radius: 999px;
  border: 3px solid rgba(2,6,23,.75);
  box-shadow:
    0 0 12px rgba(8,214,214,.22),
    0 0 18px rgba(6,182,212,.12),
    inset 0 0 10px rgba(255,255,255,.10);
}

::-webkit-scrollbar-thumb:hover{
  background: linear-gradient(180deg, rgba(8,214,214,1), rgba(6,182,212,.85), rgba(2,6,23,.85));
  box-shadow:
    0 0 16px rgba(8,214,214,.32),
    0 0 24px rgba(6,182,212,.18),
    inset 0 0 12px rgba(255,255,255,.14);
}

::-webkit-scrollbar-corner{ background: transparent; }

@media (prefers-reduced-motion: reduce){
  ::-webkit-scrollbar-thumb,
  ::-webkit-scrollbar-thumb:hover{ box-shadow: none; }
}

/* ---------------------------------------------------------
   App containers
--------------------------------------------------------- */
.ss-app{ position: relative; min-height: 100vh; }

.ss-shell{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.ss-main{
  position: relative;
  z-index: 1;
  padding-bottom: 4rem;
}

/* Optional background particles layer */
#ss-bg-layer{
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
#ss-particles{ width: 100%; height: 100%; display: block; }

/* ---------------------------------------------------------
   Header / Navbar
--------------------------------------------------------- */
.ss-header{
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(15,23,42,.92);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.ss-header-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
}

.ss-brand{ display:flex; align-items:center; gap: .7rem; }
.ss-brand-logo{ width:44px; height:44px; object-fit:contain; border-radius:12px; box-shadow:0 0 22px rgba(8,214,214,.18); }
.ss-brand-name{ font-weight: 650; font-size: .98rem; }
.ss-brand-tagline{ font-size: .75rem; color: var(--ss-muted); }

/* Desktop nav links: tab underline */
.ss-nav{ display:flex; align-items:center; gap: 1.2rem; }

.ss-nav-link{
  position: relative;
  font-size: .88rem;
  padding: .4rem 0;
  letter-spacing: .03em;
  text-transform: uppercase;
  opacity: .85;
  transition: color .18s ease, opacity .18s ease, transform .18s ease;
}

.ss-nav-link::after{
  content:'';
  position:absolute;
  left:0; right:0;
  bottom:-.25rem;
  height:2px;
  border-radius: 999px;
  background: linear-gradient(to right, var(--ss-grad-cyan), rgba(6,182,212,1));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .22s ease;
}

.ss-nav-link:hover,
.ss-nav-link:focus-visible{
  color:#ecfeff;
  opacity:1;
  transform: translateY(-1px);
}
.ss-nav-link:hover::after,
.ss-nav-link:focus-visible::after{ transform: scaleX(1); }

.ss-nav-link--active{ color:#cffafe; opacity:1; }
.ss-nav-link--active::after{ transform: scaleX(1); }

/* CTA button in nav */
.ss-nav-cta{
  margin-left:.5rem;
  padding:.45rem .95rem;
  border-radius: 999px;
  border: 1px solid var(--ss-accent);
  font-size:.82rem;
  text-transform: uppercase;
  letter-spacing:.08em;
  background: rgba(15,23,42,.40);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration: none !important;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.ss-nav-cta::after{
  display:none;
}
.ss-nav-cta:hover,
.ss-nav-cta:focus-visible{
  background: var(--ss-accent);
  color: #111827;
  border-color: #2dd4bf;
  box-shadow: 0 12px 32px rgba(8,214,214,.40);
  transform: translateY(-1px);
}

/* Mobile toggle */
.ss-nav-toggle{
  display:none;
  width:32px;
  height:28px;
  flex-direction: column;
  justify-content:center;
  gap:6px;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
}
.ss-nav-toggle span{
  display:block;
  height:2px;
  width:100%;
  background:#f9fafb;
  border-radius: 999px;
  transition: transform .25s ease, opacity .25s ease;
}
.ss-nav-toggle.is-open span:first-child{ transform: translateY(4px) rotate(45deg); }
.ss-nav-toggle.is-open span:last-child{ transform: translateY(-4px) rotate(-45deg); }

@media (max-width: 820px){
  .ss-nav-toggle{ display:flex; }

  .ss-nav{
    position: fixed;
    top: 64px;
    right: 0; left: 0;
    padding: .85rem 1.25rem 1.3rem;
    background: radial-gradient(circle at top, var(--ss-bg) 0, var(--ss-bg) 55%, var(--ss-bg-alt) 100%);
    border-bottom: 1px solid rgba(255,255,255,.08);
    flex-direction: column;
    align-items: flex-start;
    gap: .4rem;

    transform: translateY(-18px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
  }
  .ss-nav.is-open{
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .ss-nav-link{ width:100%; padding:.55rem 0; opacity:.92; }
  .ss-nav-link::after{ width: 36%; right:auto; bottom:-.15rem; }

  .ss-nav-cta{
    width:100%;
    justify-content:center;
    margin-left:0;
    margin-top:.3rem;
  }
}

/* ---------------------------------------------------------
   Sections / Grids
--------------------------------------------------------- */
.ss-section{
  position: relative;
  z-index: 1;
  padding: 3.4rem 0;
}

.ss-section--light{ background: rgba(255,255,255,.04); }

.ss-section-header{ max-width: 720px; margin-bottom: 1.6rem; }

.ss-section-title{
  font-size: 1.6rem;
  margin: 0 0 .4rem;
}
.ss-section-sub{
  margin: 0;
  font-size: .95rem;
  color: var(--ss-muted);
}
.ss-section-cta{ margin-top: 1.4rem; text-align: center; }

.ss-grid{ display:grid; gap: 1.2rem; }
.ss-grid-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ss-grid-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ss-grid-4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px){
  .ss-grid-4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px){
  .ss-grid-3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ss-grid-2, .ss-grid-3, .ss-grid-4{ grid-template-columns: minmax(0, 1fr); }
}

/* ---------------------------------------------------------
   Cards (NO outlines, modern glass)
--------------------------------------------------------- */
.ss-card{
  background: rgba(15,23,42,.92);
  border-radius: var(--ss-radius-card);
  border: 0;
  padding: 1rem;
  box-shadow: var(--ss-shadow-soft);
  position: relative;
  overflow: hidden; /* required for zoomed media */
}

/* subtle top sheen */
.ss-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 18% 12%, rgba(8,214,214,.10), transparent 55%);
  pointer-events:none;
}

/* Clickable card */
.ss-card-link{
  display:block;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.ss-card-link:hover,
.ss-card-link:focus-visible{
  transform: translateY(-4px);
  box-shadow: 0 22px 60px rgba(0,0,0,.65);
}

/* Text */
.ss-card-title{ margin: 0 0 .4rem; font-size: 1rem; }
.ss-card-text{ margin: .1rem 0 .5rem; font-size: .9rem; color: var(--ss-muted); }

.ss-chip{
  display:inline-flex;
  align-items:center;
  padding:.15rem .55rem;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.10);
  font-size:.72rem;
  margin-bottom:.35rem;
  color: var(--ss-muted);
}

.ss-list{
  margin: .2rem 0 0;
  padding-left: 1rem;
  font-size: .86rem;
  color: var(--ss-muted);
}
.ss-list li{ margin-bottom: .18rem; }

.ss-link-muted{
  font-size:.85rem;
  color: #e5e7eb;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Media card area (full width) */
.ss-card-media{
  border-radius: var(--ss-radius-sm);
  overflow:hidden;
  margin-bottom: .7rem;
  width:100%;
  aspect-ratio: 16 / 9;
  background: rgba(255,255,255,.04);
}

/* 100% width media + smooth zoom when hovering THAT card only */
.ss-card-media img,
.ss-card-media video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 350ms ease;
  will-change: transform;
}

/* zoom only when hovering the card (or clickable wrapper) */
.ss-card:hover .ss-card-media img,
.ss-card:hover .ss-card-media video,
.ss-card-link:hover .ss-card-media img,
.ss-card-link:hover .ss-card-media video{
  transform: scale(var(--ss-media-zoom));
}

/* Leader image */
.ss-card-leader img{
  width:100%;
  height:190px;
  object-fit: cover;
}

/* ---------------------------------------------------------
   Sticky slider media while scrolling
   Usage (recommended): wrap your slide media with class .ss-sticky-media
   Works also for common slider wrappers: .slider-media / .slide-media
--------------------------------------------------------- */
.ss-sticky-media,
.slider-media,
.slide-media{
  position: sticky;
  top: var(--ss-sticky-top);
  z-index: 2;
}

.ss-sticky-media img,
.ss-sticky-media video,
.slider-media img,
.slider-media video,
.slide-media img,
.slide-media video{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* If you want the sticky media to have a “panel” feel */
.ss-sticky-media{
  border-radius: var(--ss-radius-card);
  overflow: hidden;
}

/* ---------------------------------------------------------
   Buttons
--------------------------------------------------------- */
.ss-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.45rem .95rem;
  border-radius:999px;
  border: 1px solid var(--ss-accent);
  font-size:.86rem;
  cursor:pointer;
  background: transparent;
  color:#f9fafb;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ss-btn-solid{ background: var(--ss-accent); color:#111827; }
.ss-btn-solid:hover{ box-shadow: 0 12px 30px rgba(8,214,214,.45); transform: translateY(-1px); }
.ss-btn-outline:hover{ background: rgba(248,250,252,.08); }
.w-100{ width:100%; }

/* ---------------------------------------------------------
   Alerts
--------------------------------------------------------- */
.ss-alert{
  border-radius: 12px;
  padding: .75rem 1rem;
  font-size: .88rem;
  margin-bottom: 1rem;
}
.ss-alert-error{
  background: rgba(248,113,113,.15);
  border: 1px solid rgba(248,113,113,.45);
}
.ss-alert-success{
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(52,211,153,.45);
}

/* ---------------------------------------------------------
   Forms (Underline-only inputs)
--------------------------------------------------------- */
.ss-form-row{
  display:flex;
  flex-direction: column;
  margin-bottom: .8rem;
}
.ss-form-row label{
  font-size: .8rem;
  margin-bottom: .25rem;
  color: rgba(229,231,235,.75);
}

/* underline fields */
.ss-form-row input,
.ss-form-row textarea,
.ss-form-row select{
  font-family: inherit;
  font-size: .95rem;
  padding: .45rem 0;
  border: 0;
  border-bottom: 2px solid rgba(255,255,255,.14);
  border-radius: 0;
  outline: none;
  background: transparent;
  color: var(--ss-text);
}

/* focus */
.ss-form-row input:focus,
.ss-form-row textarea:focus,
.ss-form-row select:focus{
  border-bottom-color: var(--ss-accent);
  box-shadow: none;
}

/* ---------------------------------------------------------
   HERO FULLSCREEN
--------------------------------------------------------- */
.ss-hero-fullscreen{
  position: relative;
  height: 100vh;
  min-height: 520px;
  overflow: hidden;
  background-size: cover;
}
.ss-hero-fullscreen-slides{ width:100%; height:100%; position:relative; }
.ss-hero-fullscreen-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform: scale(1.02);
  transition: opacity .7s ease, transform .7s ease;
}
.ss-hero-fullscreen-slide.is-active{ opacity:1; transform: scale(1); }

.ss-hero-fullscreen-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(to bottom, rgba(15,23,42,.30), rgba(2,6,23,.75));
  display:flex;
  align-items:center;
}
.ss-hero-copy{ max-width: 680px; padding: 3.2rem 0; }

.ss-hero-eyebrow{
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform: uppercase;
  color: var(--ss-muted);
  margin: 0 0 .4rem;
}
.ss-hero-title{ margin: 0 0 .7rem; font-size: clamp(1.7rem, 2.3vw + 1rem, 2.4rem); }
.ss-hero-kicker{ margin: 0 0 1rem; font-size: .95rem; color: var(--ss-muted); }

.ss-hero-actions{ display:flex; flex-wrap:wrap; gap:.5rem; }

.ss-hero-indicators{
  position:absolute;
  bottom: 1.6rem;
  left:0; right:0;
  display:flex;
  justify-content:center;
  gap:.45rem;
}
.ss-hero-indicator{
  width:9px;
  height:9px;
  border-radius:999px;
  border: 1px solid var(--ss-accent);
  background: rgba(255,255,255,.10);
  cursor:pointer;
  padding:0;
}
.ss-hero-indicator.is-active{ background: var(--ss-accent); }

@media (max-width: 768px){
  .ss-hero-copy{ max-width: 100%; }
}

/* ---------------------------------------------------------
   Services page list
--------------------------------------------------------- */
.ss-services-list{ display:flex; flex-direction: column; gap: 1.1rem; }
.ss-service-detail{ padding: 1.1rem 1.2rem; }

/* ---------------------------------------------------------
   Stats
--------------------------------------------------------- */
.ss-stats-grid{ margin-top: .8rem; }
.ss-stat-card{ text-align:left; }
.ss-stat-value{ font-size: 1.6rem; font-weight: 650; }
.ss-stat-label{ font-size: .85rem; color: var(--ss-muted); }

/* ---------------------------------------------------------
   Footer
--------------------------------------------------------- */
.ss-footer{
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(15,23,42,.92);
  position: relative;
  z-index: 1;
}
.ss-footer-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 1.6rem 1.25rem 2rem;
}
.ss-footer-brand{ display:flex; align-items:center; gap:.7rem; margin-bottom: 1.3rem; }

.ss-footer-grid{
  display:grid;
  gap: 1.5rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ss-footer-col-title{
  font-size:.78rem;
  font-weight: 600;
  margin-bottom: .3rem;
}
.ss-footer-links{
  display:flex;
  flex-direction: column;
  gap:.12rem;
  font-size:.8rem;
  color: var(--ss-muted);
}

.ss-footer-bottom{
  margin-top: 1.3rem;
  display:flex;
  justify-content: space-between;
  gap:.5rem;
  font-size:.78rem;
  color: var(--ss-muted);
}

@media (max-width: 800px){
  .ss-footer-grid{ grid-template-columns: minmax(0, 1fr); }
  .ss-footer-bottom{ flex-direction: column; align-items:flex-start; }
}

/* ---------------------------------------------------------
   Scroll animations
--------------------------------------------------------- */
[data-anim]{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .65s ease, transform .65s ease, filter .65s ease, clip-path .65s ease;
  will-change: opacity, transform;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

[data-anim].is-visible{
  opacity: 1;
  transform: none;
  filter: none; /* force remove blur */
  clip-path: inset(0 0 0 0 round 0);
}

/* Variants */
[data-anim="fade-up"]{ transform: translateY(18px); }
[data-anim="fade-down"]{ transform: translateY(-18px); }
[data-anim="fade-left"]{ transform: translateX(22px); }
[data-anim="fade-right"]{ transform: translateX(-22px); }

[data-anim="zoom-in"]{ transform: scale(.985); filter: none; }
[data-anim="zoom-out"]{ transform: scale(1.015); filter: none; }

[data-anim="flip-up"]{ transform: perspective(900px) rotateX(10deg) translateY(14px); }
[data-anim="tilt"]{ transform: translateY(16px) skewY(-0.6deg); }

[data-anim="clip-up"]{ clip-path: inset(18% 0 0 0 round 8px); }
[data-anim="clip-up"].is-visible{ clip-path: inset(0 0 0 0 round 8px); }

[data-anim="fade-in"]{ transform: translateY(10px); }

/* ---------------------------------------------------------
   Service detail hero layout
--------------------------------------------------------- */
.ss-service-hero{
  display:grid;
  gap: 1.8rem;
  align-items:flex-start;
}
.ss-service-hero-media{
  max-width: 420px;
  margin-left:auto;
}
.ss-service-hero-media img{
  border-radius: var(--ss-radius-card);
  border: 0;
  box-shadow: var(--ss-shadow-card);
}

.ss-pill-group{
  margin-top:.7rem;
  display:flex;
  flex-wrap: wrap;
  gap:.4rem;
}
.ss-pill{
  padding:.15rem .7rem;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.10);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform: uppercase;
  color: var(--ss-muted);
}

@media (max-width: 900px){
  .ss-service-hero{ grid-template-columns: minmax(0,1fr); }
  .ss-service-hero-media{ max-width: 100%; margin-left: 0; }
}

/* ---------------------------------------------------------
   Testimonials (single version)
--------------------------------------------------------- */
.ss-testimonials .swiper{ padding-bottom: 2.4rem; }

.ss-t-card{
  min-width: 380px;
  max-width: 380px;
  height:100%;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 260px;
  padding: 1rem 1rem .95rem;
}

.ss-t-top{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap:10px;
  margin-bottom: 12px;
}

.ss-t-quote{
  margin: 0 0 16px;
  line-height: 1.68;
  color: var(--ss-text);
  opacity: .94;
  font-size: .95rem;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ss-t-person{ display:flex; gap: 12px; align-items:center; }
.ss-t-role{ font-size: .83rem; color: var(--ss-muted); margin-top: 2px; }

.ss-t-avatar{
  width:42px; height:42px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  font-weight: 700;
}

.ss-t-name{ font-weight: 700; }
.ss-t-meta{ font-size: 12px; color: var(--ss-muted); margin-top: 2px; }

.ss-t-stars{ letter-spacing: 2px; }
.ss-t-star{ opacity: 1; color: rgba(8,214,214,.32); }
.ss-t-star.is-on{ color: var(--ss-accent); text-shadow: 0 0 12px rgba(8,214,214,.20); }

.ss-chip--muted{ opacity: .7; border-color: rgba(255,255,255,.10); }

/* Continuous drift support */
.ss-t-swiper .swiper-wrapper{ transition-timing-function: linear !important; }
.ss-t-swiper .swiper-slide{ width: 280px; }
@media (max-width: 768px){
  .ss-t-swiper .swiper-slide{ width: 85%; }
}

/* Premium ticker look */
.ss-testimonials .swiper-button-prev,
.ss-testimonials .swiper-button-next,
.ss-testimonials .swiper-pagination{ display:none !important; }

.ss-t-swiper{
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}

/* ---------------------------------------------------------
   Services — Scroll stacking (single version kept)
--------------------------------------------------------- */
.ss-svc-scroll{
  /* Compact the section so heading + stack read as one screen */
  padding: 1.6rem 0 2.4rem;
}

.ss-svc-header{ padding-bottom: .35rem; }

/* Reduce header spacing for the solutions stack */
.ss-svc-header .ss-section-header{ margin-bottom: .85rem; }
.ss-svc-header .ss-section-title{ margin-bottom: .25rem; }
.ss-svc-header .ss-section-sub{ margin-bottom: 0; }

.ss-svc-stage{
  /* Sticky is fallback. When GSAP pinning is enabled it will pin the stage,
     and CSS-sticky can cause overlap. JS adds body.ss-has-gsap. */
  position: sticky;
  top: 64px;
  height: calc(100vh - 64px);
  min-height: 520px;
  overflow: hidden;
  border-radius: var(--ss-radius-card);
  background: rgba(2,6,23,.35);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  border: 0;
  isolation: isolate;
}

body.ss-has-gsap .ss-svc-stage{
  position: relative;
  top: auto;
}

.ss-svc-split{
  height:100%;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(14px, 2.4vw, 34px);
  /* Tighter padding to reduce empty space and keep the stack centered */
  padding: clamp(12px, 1.8vw, 22px);
  align-items: center;
}

.ss-svc-stack{
  position: relative;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ss-svc-frame{
  position:absolute;
  width: min(52vh, 620px);
  aspect-ratio: 1 / 1;
  border-radius: 1px;
  overflow:hidden;
  background: rgba(2,6,23,.72);
  transform: translate3d(0, 0, 0) scale(1);
  opacity: 1;
  transition: transform 420ms cubic-bezier(.22, 1, .28, 1), opacity 260ms ease;
  will-change: transform, opacity;
  box-shadow: 0 22px 60px rgba(0,0,0,.55);
}

.ss-svc-frame::before{
  content:'';
  position:absolute;
  inset:0;
  padding: 25px;
  border-radius: 2px;
  background: linear-gradient(135deg, rgba(8,214,214,.95), rgba(6,182,212,.70), rgba(59,130,246,.70));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
  opacity: .90;
  z-index: 2;
}

.white-bg {
  background-color: rgba(255, 255, 255, 0.65);
  border-radius: 5px;
}

.ss-svc-frame::after{
  content:'';
  position:absolute;
  inset: 18px;
  border-radius: 1px;
  border: 2px solid rgba(255,255,255,.10);
  pointer-events:none;
  z-index: 2;
}

.ss-svc-frame img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transform: none;
}

.ss-svc-copy{
  position: relative;
  height:100%;
  display:flex;
  align-items:center;
}

.ss-svc-copyitem{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  opacity:1;
  transform: translateY(22px);
  transition: transform 420ms cubic-bezier(.22, 1, .28, 1), opacity 260ms ease;
  will-change: transform, opacity;
  pointer-events:none;
}

.ss-svc-copycard{
  max-width: 520px;
  width:100%;
  padding: clamp(18px, 2.4vw, 26px);
  background: none !important;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}

.ss-svc-scroll .card{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ss-svc-title{
  margin: .35rem 0 .55rem;
  font-size: clamp(1.15rem, 1.2vw + 1rem, 1.45rem);
}

.ss-svc-text{
  margin: 0 0 .8rem;
  color: var(--ss-muted);
  line-height: 1.6;
}

.ss-svc-actions{
  margin-top: 16px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 920px){
  .ss-svc-stage{
    top: 58px;
    height: calc(100vh - 58px);
    border-radius: 18px;
  }
  .ss-svc-split{
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .ss-svc-stack{
    position:absolute;
    inset:0;
    height:100%;
    z-index:0;
  }

  .ss-svc-stage::before{
    content:'';
    position:absolute;
    inset:0;
    background: linear-gradient(180deg, rgba(2,6,23,.55), rgba(2,6,23,.90));
    z-index: 1;
  }

  .ss-svc-frame{ width: min(92vw, 580px); }

  .ss-svc-copy{
    position: relative;
    z-index: 2;
    justify-content:center;
    text-align:center;
  }

  .ss-svc-copycard{
    max-width: 560px;
    margin: 0 auto;
    background: rgba(213,652,255,.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .ss-svc-actions{ justify-content:center; }
}

@media (prefers-reduced-motion: reduce){
  .ss-svc-stage{ position: static; height: auto; }
  .ss-svc-split{ grid-template-columns: 1fr; }
  .ss-svc-stack, .ss-svc-copy{ position: static; height: auto; }
  .ss-svc-frame, .ss-svc-copyitem{
    position: static;
    opacity: 1;
    transform: none;
    transition: none;
    pointer-events: auto;
    margin-bottom: 14px;
  }
}

/* ---------------------------------------------------------
   Headings gradient (kept)
--------------------------------------------------------- */
.ss-hero-title,
.ss-section-title,
.ss-svc-title{
  color: var(--ss-grad-cyan);
  letter-spacing: -0.01em;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)){
  .ss-hero-title,
  .ss-section-title,
  .ss-svc-title{
    background: linear-gradient(90deg, var(--ss-grad-cyan) 0%, var(--ss-grad-cyan) 45%, var(--ss-grad-cyan-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 10px 30px rgba(14,211,211,.10);
  }
}

/* =========================================================
   Affiliates marquee (logos only)
========================================================= */
.ss-affiliates-marquee{
  position: relative;
  overflow: hidden;
  /* logos only (no card background) */
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 6px 0;
}

.ss-affiliates-track{
  display: flex;
  align-items: center;
  gap: 22px;
  width: max-content;
  padding: 0 18px;
  animation: ss-affiliates-marquee 44s linear infinite;
  will-change: transform;
}

.ss-affiliate-logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  min-width: 120px;
  padding: 6px 10px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: translateZ(0);
}

.ss-affiliate-logo img{
  height: 90px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  filter: none;
}

/* Text-logo (for affiliates without an image) */
.ss-affiliate-textlogo span{
  font-weight: 800;
  letter-spacing: .14em;
  font-size: 1.05rem;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--ss-grad-cyan), var(--ss-grad-cyan), var(--ss-grad-cyan-deep));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* Keep moving continuously (do not pause on hover) */

@keyframes ss-affiliates-marquee{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(-50%,0,0); }
}

@media (max-width: 640px){
  .ss-affiliate-logo{ height: 52px; min-width: 110px; }
  .ss-affiliate-logo img{ height: 34px; }
}

/* =========================================================
   Leadership: org tree + team cards + employee cards
========================================================= */
.ss-tree-wrap{
  margin: 1.2rem 0 1.8rem;
  padding: 1.1rem 1rem;
  border-radius: var(--ss-radius-card);
  background: rgba(15,23,42,.55);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--ss-shadow-soft);
}

.ss-tree-title{
  margin: 0 0 .8rem;
  font-size: .95rem;
  color: rgba(229,231,235,.85);
}

/* The tree can overflow on small screens; keep it usable inside a framed, scrollable area. */
.ss-tree-frame{
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 10px 10px 18px;
  border-radius: 16px;
  background: rgba(2,6,23,.25);
  border: 1px solid rgba(255,255,255,.08);
  scrollbar-gutter: stable both-edges;
}

.ss-tree{
  /* shrink-wrap so the frame can scroll when needed */
  width: max-content;
  margin: 0 auto;
}

.ss-tree ul{
  padding-top: 20px;
  position: relative;
  padding-left: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 0;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.ss-tree li{
  list-style-type: none;
  text-align: center;
  position: relative;
  /* spacing is inside each node so connector lines stay continuous */
  padding: 20px 18px 0;
}

/* connectors */
.ss-tree li::before,
.ss-tree li::after{
  content: '';
  position: absolute;
  top: 0;
  right: 50%;
  border-top: 1px solid rgba(255,255,255,.14);
  width: 50%;
  height: 20px;
}
.ss-tree li::after{
  right: auto;
  left: 50%;
  border-left: 1px solid rgba(255,255,255,.14);
  width: 50%;
}

.ss-tree li:only-child::after,
.ss-tree li:only-child::before{ display: none; }
.ss-tree li:only-child{ padding-top: 0; }

.ss-tree li:first-child::before,
.ss-tree li:last-child::after{ border: 0 none; }

.ss-tree li:last-child::before{
  border-right: 1px solid rgba(255,255,255,.14);
  border-radius: 0 10px 0 0;
}
.ss-tree li:first-child::after{
  border-radius: 10px 0 0 0;
}

.ss-tree ul ul::before{
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  border-left: 1px solid rgba(255,255,255,.14);
  width: 0;
  height: 20px;
}

.ss-node{
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(2,6,23,.55);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  min-width: 190px;
}

.ss-node:hover{ border-color: rgba(8,214,214,.35); }

.ss-node-name{ font-weight: 800; }
.ss-node-role{ font-size: .82rem; color: var(--ss-muted); }

.ss-team-card{
  min-height: 180px;
}

.ss-team-card .ss-card-title{ font-size: 1.02rem; }

.ss-team-meta{ color: var(--ss-muted); font-size: .9rem; }

.ss-people-grid{ margin-top: .8rem; }

.ss-person-card{
  display: block;
}

.ss-person-card .ss-avatar{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  font-weight: 800;
  margin-bottom: .55rem;
}

.ss-person-card .ss-card-text{ margin-top: .25rem; }

.ss-profile{
  max-width: 760px;
  margin: 0 auto;
}

.ss-profile .ss-card{
  padding: 1.25rem;
}

.ss-profile-top{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.ss-profile-avatar{
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  font-weight: 900;
  font-size: 1.1rem;
}

.ss-profile-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

@media (max-width: 900px){
  .ss-tree-frame{ padding: 10px 8px 16px; }
  .ss-tree li{ padding: 18px 12px 0; }
  .ss-node{ min-width: 160px; padding: 10px 10px; }
  .ss-node-photo{ width: 68px; height: 68px; }
}

@media (max-width: 480px){
  .ss-tree li{ padding: 16px 10px 0; }
  .ss-node{ min-width: 148px; }
  .ss-node-name{ font-size: .95rem; }
  .ss-node-role{ font-size: .78rem; }
}


/* =========================================================
   Feedback marquee (replaces Swiper)
   Same motion style as the old affiliates marquee, but pauses on hover.
========================================================= */
.ss-feedback-marquee{
  position: relative;
  overflow: hidden;
  padding: 6px 0;
}

.ss-feedback-track{
  display: flex;
  gap: 18px;
  width: max-content;
  animation: ss-feedback-marquee 54s linear infinite;
  will-change: transform;
}

.ss-feedback-marquee:hover .ss-feedback-track,
.ss-feedback-marquee:focus-within .ss-feedback-track{
  animation-play-state: paused;
}

@keyframes ss-feedback-marquee{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(-50%,0,0); }
}

/* =========================================================
   Team member presentation
   (square images 1:1, image → name → rank)
========================================================= */
.ss-node{
  align-items: center;
  gap: 6px;
}

.ss-node-photo{
  width: 76px;
  height: 76px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}

.ss-member-card{
  display: block;
}

.ss-member-photo{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  margin-bottom: .75rem;
}

.ss-member-name{
  font-weight: 900;
  font-size: 1.02rem;
}

.ss-member-rank{
  color: var(--ss-muted);
  font-size: .9rem;
  margin-top: .25rem;
}

.ss-member-meta{
  color: rgba(229,231,235,.72);
  font-size: .86rem;
  margin-top: .3rem;
}

.ss-profile-photo{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
}

/* =========================================================
   Leadership page layout
   CEO + top leadership tree, then teams grouped by leader
========================================================= */
.ss-leader-block{ margin-top: 1.1rem; }

.ss-leader-layout{
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.ss-leader-card{
  display: flex;
  align-items: center;
  gap: .9rem;
}

.ss-leader-photo{
  width: 90px;
  height: 90px;
  border-radius: 16px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}

.ss-team-badge{
  display: inline-block;
  padding: .28rem .58rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  font-size: .78rem;
  color: rgba(229,231,235,.92);
  margin-bottom: .65rem;
}

@media (max-width: 900px){
  .ss-leader-layout{ grid-template-columns: minmax(0, 1fr); }
}


/* Honeypot field (anti-bot) */
.ss-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }


/* =========================================================
   Affiliates wide section (full-width horizontal marquees)
========================================================= */
.ss-affiliates-header--center{
  text-align: center;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.ss-affiliates-wide{
  display: grid;
  gap: .95rem;
}

.ss-affiliates-marquee--wide{
  --ss-ribbon-height: 80px;
  --ss-logo-size: 50px;
  --ss-logo-gap: 30px;
  position: relative;
  overflow: hidden;
  min-height: var(--ss-ribbon-height);
  height: var(--ss-ribbon-height);
  padding: 0;
  background:
    linear-gradient(90deg, rgba(255,177,46,.30), rgba(255,122,0,.18) 24%, rgba(255,255,255,.96) 50%, rgba(255,122,0,.18) 76%, rgba(255,177,46,.30)),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,237,.94));
  border: 1px solid rgba(6,182,212,.14);
  border-radius: 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}

.ss-affiliates-marquee--wide::before,
.ss-affiliates-marquee--wide::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 110px;
  z-index: 2;
  pointer-events: none;
}

.ss-affiliates-marquee--wide::before{
  left: 0;
  background: linear-gradient(90deg, rgba(255,248,240,1) 0%, rgba(255,248,240,.94) 35%, rgba(255,248,240,0) 100%);
}

.ss-affiliates-marquee--wide::after{
  right: 0;
  background: linear-gradient(270deg, rgba(255,248,240,1) 0%, rgba(255,248,240,.94) 35%, rgba(255,248,240,0) 100%);
}

.ss-affiliates-marquee--wide .ss-affiliates-track{
  display: flex;
  align-items: center;
  gap: var(--ss-logo-gap);
  height: 100%;
  padding: 0 30px;
  animation-duration: 34s;
}

.ss-affiliates-marquee--wide.ss-affiliates-marquee--reverse .ss-affiliates-track{
  animation-direction: reverse;
  animation-duration: 38s;
}

.ss-affiliates-marquee--wide .ss-affiliate-logo,
.ss-affiliates-marquee--wide .ss-affiliate-textlogo{
  flex: 0 0 auto;
  min-width: unset;
  width: var(--ss-logo-size);
  height: var(--ss-logo-size);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ss-affiliates-marquee--wide .ss-affiliate-logo img{
  width: var(--ss-logo-size);
  height: var(--ss-logo-size);
  max-width: var(--ss-logo-size);
  max-height: var(--ss-logo-size);
  object-fit: contain;
  filter: saturate(1.02) contrast(1.02);
}

.ss-affiliates-marquee--wide .ss-affiliate-textlogo span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--ss-logo-size);
  height: var(--ss-logo-size);
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #9a3412;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.1;
}

.ss-affiliates-actions{
  display: grid;
  gap: .7rem;
  justify-items: center;
  text-align: center;
}

.ss-affiliates-actions .ss-list{
  max-width: 760px;
  text-align: left;
}

@media (max-width: 900px){
  .ss-affiliates-marquee--wide{
    --ss-ribbon-height: 74px;
    --ss-logo-size: 44px;
    --ss-logo-gap: 24px;
  }

  .ss-affiliates-marquee--wide::before,
  .ss-affiliates-marquee--wide::after{
    width: 80px;
  }

  .ss-affiliates-marquee--wide .ss-affiliates-track{
    padding: 0 22px;
    animation-duration: 28s;
  }
}

@media (max-width: 640px){
  .ss-affiliates-marquee--wide{
    --ss-ribbon-height: 68px;
    --ss-logo-size: 38px;
    --ss-logo-gap: 20px;
  }

  .ss-affiliates-marquee--wide::before,
  .ss-affiliates-marquee--wide::after{
    width: 54px;
  }

  .ss-affiliates-marquee--wide .ss-affiliates-track{
    padding: 0 16px;
  }
}

@media (min-width: 600px) {
.ss-svc-copycard {
    font-size: 10px;
}
}

@media (max-width: 900px){
  .ss-t-card{
    min-width: 330px;
    max-width: 330px;
    min-height: 245px;
  }
}

@media (max-width: 640px){
  .ss-t-card{
    min-width: 290px;
    max-width: 290px;
    min-height: 230px;
  }

  .ss-t-quote{
    -webkit-line-clamp: 6;
    font-size: .92rem;
  }
}

/* ---------------------------------------------------------
   Final homepage / full-width cybersecurity service upgrade
--------------------------------------------------------- */
html,
body{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.ss-app,
.ss-main,
.ss-section,
.ss-hero-fullscreen,
.ss-footer,
.ss-header{
  width: 100%;
  max-width: 100%;
}

.ss-shell,
.ss-footer-inner{
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1rem, 3.5vw, 4rem);
  padding-right: clamp(1rem, 3.5vw, 4rem);
}

.ss-section-header--wide{
  max-width: min(1180px, 100%);
}

.ss-hero-copy{
  max-width: min(850px, 100%);
}

.ss-section-title{
  font-size: clamp(1.75rem, 2vw + 1rem, 3rem);
  line-height: 1.08;
}

.ss-section-sub{
  max-width: 980px;
  font-size: clamp(.95rem, .28vw + .88rem, 1.08rem);
}

.ss-home-services-section{
  background:
    radial-gradient(circle at 8% 0%, rgba(8,214,214,.11), transparent 34%),
    radial-gradient(circle at 90% 22%, rgba(59,130,246,.10), transparent 30%),
    rgba(2,6,23,.62);
}

.ss-home-services-grid{
  align-items: stretch;
}

.ss-card--home-service{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: .95rem;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.94)),
    radial-gradient(circle at 18% 16%, rgba(8,214,214,.13), transparent 45%);
}

.ss-card--home-service .ss-card-body{
  display: flex;
  flex-direction: column;
  flex: 1;
}

.ss-service-card-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.75rem;
}

.ss-service-card-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.35rem;
  height:2.35rem;
  border-radius:999px;
  color:#111827;
  background: linear-gradient(135deg, var(--ss-grad-cyan), var(--ss-grad-cyan));
  font-weight:800;
  font-size:.82rem;
  box-shadow: 0 0 30px rgba(8,214,214,.25);
}

.ss-service-card-label{
  color: rgba(229,231,235,.74);
  font-size:.78rem;
  text-transform: uppercase;
  letter-spacing:.08em;
  text-align:right;
}

.ss-service-subtitle{
  margin-top:.35rem;
  margin-bottom:.15rem;
  color:#cffafe;
  font-size:.82rem;
  font-weight:700;
}

.ss-service-subservice-list{
  margin-top:.25rem;
  padding-left:0;
}

.ss-service-subservice-list li{
  position:relative;
  padding-left:1.15rem;
  margin-bottom:.35rem;
}

.ss-service-subservice-list li::before{
  content:'•';
  position:absolute;
  left:0;
  top:0;
  color: var(--ss-accent);
}

.ss-card-arrow{
  margin-top:auto;
  padding-top:.8rem;
  display:inline-flex;
  color:#cffafe;
  font-size:.85rem;
  font-weight:700;
}

/* Professional zig-zag timeline */
.ss-professional-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 7%, rgba(8,214,214,.13), transparent 32%),
    linear-gradient(180deg, rgba(15,23,42,.60), rgba(2,6,23,.94));
}

.ss-professional-timeline{
  --professional-progress: 0;
  position:relative;
  min-height: 960px;
  margin-top: 2rem;
}

.ss-professional-line{
  position:absolute;
  inset: 0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}

.ss-professional-line-base,
.ss-professional-line-active{
  fill:none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ss-professional-line-base{
  stroke: rgba(148,163,184,.18);
  stroke-width: 1.25;
}

.ss-professional-line-active{
  stroke: url(#ssTimelineGradient);
  stroke-width: 1.7;
  path-length: 1;
  stroke-dasharray: 1;
  stroke-dashoffset: calc(1 - var(--professional-progress));
  filter: drop-shadow(0 0 10px rgba(8,214,214,.45)) drop-shadow(0 0 20px rgba(14,211,211,.16));
  transition: stroke-dashoffset .08s linear;
}

.ss-professional-step{
  position:relative;
  min-height: 240px;
  display:flex;
  align-items:center;
  z-index:2;
}

.ss-professional-point{
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%) scale(.92);
  width:4rem;
  height:4rem;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(15,23,42,.98);
  border: 1px solid rgba(8,214,214,.38);
  color:#cffafe;
  font-weight:800;
  box-shadow: 0 0 0 10px rgba(8,214,214,.05), 0 18px 50px rgba(0,0,0,.42);
  transition: background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.ss-professional-step.is-lit .ss-professional-point{
  color:#111827;
  background: linear-gradient(135deg, var(--ss-grad-cyan), var(--ss-grad-cyan));
  transform:translate(-50%, -50%) scale(1.04);
  box-shadow: 0 0 0 14px rgba(8,214,214,.08), 0 0 38px rgba(8,214,214,.38), 0 22px 70px rgba(0,0,0,.5);
}

.ss-step-right .ss-professional-point{ left:82%; }
.ss-step-left .ss-professional-point{ left:18%; }

.ss-professional-copy{
  width:min(56%, 780px);
  padding:1.25rem;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(15,23,42,.95), rgba(2,6,23,.86));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--ss-shadow-soft);
}

.ss-step-right .ss-professional-copy{
  margin-right:auto;
}

.ss-step-left .ss-professional-copy{
  margin-left:auto;
}

.ss-professional-copy h3{
  margin:0 0 .4rem;
  font-size: clamp(1.1rem, .65vw + 1rem, 1.55rem);
}

.ss-professional-copy p:last-child{
  margin:0;
  color: var(--ss-muted);
  line-height:1.65;
}

@media (min-width: 1280px){
  .ss-grid-3.ss-home-services-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ss-grid-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 980px){
  .ss-professional-timeline{ min-height: auto; }
  .ss-professional-step{ min-height: 260px; }
  .ss-professional-copy{ width:68%; }
  .ss-step-right .ss-professional-point{ left:76%; }
  .ss-step-left .ss-professional-point{ left:24%; }
}

@media (max-width: 720px){
  .ss-shell,
  .ss-footer-inner{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .ss-hero-fullscreen{
    min-height: 620px;
  }

  .ss-hero-actions,
  .ss-section-cta{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }

  .ss-btn{
    width:100%;
    justify-content:center;
  }

  .ss-professional-timeline{
    margin-top:1.2rem;
  }

  .ss-professional-line{
    left: 1.15rem;
    width: 3rem;
  }

  .ss-professional-step{
    min-height: auto;
    padding: 1rem 0 1.4rem 4.25rem;
  }

  .ss-step-right .ss-professional-point,
  .ss-step-left .ss-professional-point{
    left: 1.5rem;
    top: 2.3rem;
    width:3rem;
    height:3rem;
    font-size:.78rem;
  }

  .ss-professional-copy,
  .ss-step-right .ss-professional-copy,
  .ss-step-left .ss-professional-copy{
    width:100%;
    margin-left:0;
    margin-right:0;
  }
}

/* ---------------------------------------------------------
   Final polish: animated counters, cleaner home services, refined timeline
--------------------------------------------------------- */
.ss-home-services-section .ss-section-title{
  max-width: 1020px;
}

.ss-card--home-service .ss-service-card-topline{
  justify-content:flex-start;
  margin-bottom:.7rem;
}

.ss-card--home-service .ss-service-card-label{
  display:inline-flex;
  align-items:center;
  width:auto;
  padding:.38rem .68rem;
  border-radius:999px;
  color:#cffafe;
  background:rgba(8,214,214,.09);
  border:1px solid rgba(8,214,214,.18);
  font-size:.72rem;
  letter-spacing:.08em;
  text-align:left;
}

.ss-card--home-service .ss-card-text{
  margin-bottom:.3rem;
}

.ss-stat-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(8,214,214,.14);
  background:
    radial-gradient(circle at 15% 12%, rgba(8,214,214,.12), transparent 34%),
    linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.88));
}

.ss-stat-card::after{
  content:'';
  position:absolute;
  inset:auto -20% -40% 20%;
  height:70px;
  background:linear-gradient(90deg, transparent, rgba(8,214,214,.16), transparent);
  transform:rotate(-8deg);
  opacity:0;
  transition:opacity .45s ease, transform .6s ease;
}

.ss-stat-card.is-counted::after{
  opacity:1;
  transform:rotate(-8deg) translateX(18%);
}

.ss-stat-value{
  display:flex;
  align-items:baseline;
  gap:.08em;
  font-size:clamp(2rem, 2.2vw + 1rem, 4rem);
  line-height:1;
  font-weight:850;
  letter-spacing:-.055em;
  color:#cffafe;
  text-shadow:0 0 26px rgba(8,214,214,.22);
}

.ss-stat-suffix{
  font-size:.48em;
  letter-spacing:-.03em;
  color:var(--ss-accent);
}

.ss-stat-label{
  margin-top:.65rem;
  font-size:.9rem;
  line-height:1.45;
}

.ss-professional-timeline{
  min-height: 900px;
  max-width: min(1320px, 100%);
  margin-left:auto;
  margin-right:auto;
}

.ss-professional-line-active{
  transition: stroke-dashoffset .16s linear;
  filter: drop-shadow(0 0 8px rgba(8,214,214,.44)) drop-shadow(0 0 18px rgba(14,211,211,.16));
}

.ss-professional-step{
  min-height:225px;
}

.ss-professional-point{
  width:1.15rem;
  height:1.15rem;
  font-size:0;
  color:transparent;
  border:2px solid rgba(8,214,214,.65);
  background:#020617;
  box-shadow:0 0 0 6px rgba(2,6,23,.95), 0 0 18px rgba(8,214,214,.22);
  transform:translate(-50%, -50%) scale(.96);
}

.ss-professional-step.is-lit .ss-professional-point{
  background:var(--ss-accent);
  color:transparent;
  transform:translate(-50%, -50%) scale(1.08);
  box-shadow:0 0 0 6px rgba(2,6,23,.96), 0 0 20px rgba(8,214,214,.55), 0 0 36px rgba(14,211,211,.24);
}

.ss-step-right .ss-professional-point{ left:82%; }
.ss-step-left .ss-professional-point{ left:18%; }

.ss-professional-copy{
  width:min(34%, 430px);
  padding:.25rem 0;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
  font-family:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ss-step-right .ss-professional-copy{
  margin-right:20.5%;
  margin-left:auto;
  text-align:right;
}

.ss-step-left .ss-professional-copy{
  margin-left:20.5%;
  margin-right:auto;
  text-align:left;
}

.ss-professional-copy .ss-hero-eyebrow{
  margin-bottom:.35rem;
  font-size:.68rem;
  letter-spacing:.14em;
}

.ss-professional-copy h3{
  margin:0 0 .32rem;
  font-size:clamp(.98rem, .45vw + .88rem, 1.22rem);
  line-height:1.28;
  letter-spacing:-.025em;
}

.ss-professional-copy p:last-child{
  max-width:36rem;
  margin:0;
  font-size:clamp(.78rem, .22vw + .72rem, .92rem);
  line-height:1.58;
  color:rgba(229,231,235,.72);
}

.ss-step-right .ss-professional-copy p:last-child{
  margin-left:auto;
}

@media (max-width: 980px){
  .ss-professional-timeline{ min-height:auto; }
  .ss-professional-step{ min-height:220px; }
  .ss-professional-copy{ width:42%; }
  .ss-step-right .ss-professional-point{ left:76%; }
  .ss-step-left .ss-professional-point{ left:24%; }
  .ss-step-right .ss-professional-copy{ margin-right:26.5%; }
  .ss-step-left .ss-professional-copy{ margin-left:26.5%; }
}

@media (max-width: 720px){
  .ss-stat-value{ font-size:clamp(2.1rem, 12vw, 3.4rem); }

  .ss-professional-line{
    left:1.1rem;
    width:3rem;
  }

  .ss-professional-step{
    min-height:auto;
    padding:1rem 0 1.55rem 3.35rem;
  }

  .ss-step-right .ss-professional-point,
  .ss-step-left .ss-professional-point{
    left:1.48rem;
    top:2.08rem;
    width:1rem;
    height:1rem;
  }

  .ss-professional-copy,
  .ss-step-right .ss-professional-copy,
  .ss-step-left .ss-professional-copy{
    width:100%;
    margin-left:0;
    margin-right:0;
    text-align:left;
  }

  .ss-professional-copy p:last-child,
  .ss-step-right .ss-professional-copy p:last-child{
    margin-left:0;
  }
}

/* ---------------------------------------------------------
   Home solutions section restored
--------------------------------------------------------- */
.ss-home-solutions-section{
  background:
    radial-gradient(circle at 12% 0%, rgba(8,214,214,.10), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(59,130,246,.08), transparent 34%),
    rgba(255,255,255,.04);
}

.ss-home-solutions-grid{
  align-items:stretch;
}

.ss-solution-card{
  min-height:100%;
  border:1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.90)),
    radial-gradient(circle at 16% 14%, rgba(8,214,214,.10), transparent 42%);
}

.ss-solution-card .ss-chip{
  color:#cffafe;
  border-color:rgba(8,214,214,.22);
  background:rgba(8,214,214,.08);
}

.ss-solution-card .ss-card-title{
  font-size:clamp(1.02rem, .45vw + .9rem, 1.35rem);
}

/* ---------------------------------------------------------
   Customer case studies image stack
   Desktop + tablet: GSAP pin/scale stack on images only
   Mobile: static image cards only
--------------------------------------------------------- */
.ss-home-solutions-stack-section{
  --svc-count:4;
  position:relative;
  min-height:calc((var(--svc-count) * 94vh) + 220px);
  padding-top:clamp(3rem, 5vw, 5rem);
  padding-bottom:clamp(2rem, 4vw, 4rem);
  background:
    radial-gradient(circle at 10% 0%, rgba(8,214,214,.10), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(59,130,246,.10), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(2,6,23,.84));
}

.ss-home-solutions-stack-section .ss-svc-shell{ position:relative; }

.ss-home-solutions-stack-section .ss-svc-stage{
  position:relative;
  height:calc(100vh - clamp(56px, 6vw, 74px));
  min-height:620px;
  border-radius:clamp(18px, 2vw, 30px);
  overflow:hidden;
  background:
    linear-gradient(145deg, rgba(2,6,23,.90), rgba(15,23,42,.82)),
    radial-gradient(circle at 22% 24%, rgba(8,214,214,.12), transparent 36%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 80px rgba(0,0,0,.40);
  isolation:isolate;
}

.ss-home-solutions-stack-section .ss-svc-stage::before{
  content:'';
  position:absolute;
  inset:-1px;
  background:
    linear-gradient(120deg, rgba(8,214,214,.14), transparent 24%, transparent 70%, rgba(59,130,246,.12)),
    radial-gradient(circle at calc(var(--svc-progress, 0) * 100%) 14%, rgba(8,214,214,.18), transparent 24%);
  pointer-events:none;
  z-index:0;
}

.ss-home-solutions-stack-section .ss-svc-split{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(240px, .68fr);
  gap:clamp(1.2rem, 3vw, 3.4rem);
  align-items:center;
  height:100%;
  padding:clamp(1rem, 2.6vw, 2.25rem);
}

.ss-home-solutions-stack-section .ss-svc-stack{
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ss-home-solutions-stack-section .ss-svc-frame{
  position:absolute;
  width:min(70vh, 46vw, 720px);
  aspect-ratio:1 / 1;
  border-radius:clamp(18px, 2vw, 28px);
  overflow:hidden;
  background:#020617 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 30px 80px rgba(0,0,0,.50) !important;
  will-change:transform, opacity;
}

.ss-home-solutions-stack-section .ss-svc-frame::before{
  content:'';
  position:absolute;
  inset:0;
  padding:2px;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(8,214,214,.90), rgba(6,182,212,.55), rgba(59,130,246,.66));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:3;
}

.ss-home-solutions-stack-section .ss-svc-frame::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(2,6,23,.76));
  pointer-events:none;
  z-index:2;
}

.ss-home-solutions-stack-section .ss-svc-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ss-svc-frame-chip{
  position:absolute;
  left:.95rem;
  bottom:.95rem;
  z-index:4;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.45rem .72rem;
  color:#111827;
  background:linear-gradient(135deg, var(--ss-grad-cyan), var(--ss-grad-cyan));
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 12px 34px rgba(0,0,0,.34);
}

.ss-home-solutions-stack-section .ss-svc-copy{
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.ss-home-solutions-stack-section .ss-svc-copyitem{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.ss-home-solutions-stack-section .ss-svc-copyitem.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.ss-home-solutions-stack-section .ss-svc-copycard{
  max-width:min(400px, 100%);
  padding:0;
  background:transparent !important;
  border:none;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.ss-home-solutions-stack-section .ss-svc-title{
  margin:.55rem 0 .7rem;
  font-size:clamp(1.05rem, .85vw + .9rem, 1.6rem);
  line-height:1.08;
  letter-spacing:-.04em;
}

.ss-home-solutions-stack-section .ss-svc-text{
  margin:0 0 .95rem;
  color:rgba(229,231,235,.78);
  line-height:1.6;
  font-size:.94rem;
}

.ss-home-solutions-stack-section .ss-list{
  margin:.25rem 0 .95rem;
  font-size:.9rem;
}

.ss-home-solutions-stack-section .ss-svc-actions{
  margin-top:1rem;
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
}

.ss-home-solutions-stack-section .ss-svc-end{ width:100%; height:1px; }

@media (max-width: 1199px){
  .ss-home-solutions-stack-section .ss-svc-frame{ width:min(68vh, 44vw, 620px); }
  .ss-home-solutions-stack-section .ss-svc-split{ grid-template-columns:minmax(0, 1fr) minmax(230px, .72fr); }
}

@media (max-width: 767px){
  .ss-home-solutions-stack-section{
    min-height:auto;
    padding-bottom:1.5rem;
  }

  .ss-home-solutions-stack-section .ss-svc-stage{
    height:auto;
    min-height:0;
    overflow:visible;
    position:relative;
  }

  .ss-home-solutions-stack-section .ss-svc-split{
    grid-template-columns:1fr;
    gap:1rem;
    padding:.9rem;
  }

  .ss-home-solutions-stack-section .ss-svc-stack{
    display:grid;
    grid-template-columns:1fr;
    gap:1rem;
    height:auto;
  }

  .ss-home-solutions-stack-section .ss-svc-frame{
    position:relative;
    width:100%;
    aspect-ratio:16 / 11;
    opacity:1 !important;
    transform:none !important;
  }

  .ss-home-solutions-stack-section .ss-svc-copy{
    display:none;
  }
}

.ss-t-stars{ letter-spacing: 2px; }
.ss-t-star{ opacity: 1; color: rgba(8,214,214,.32); }
.ss-t-star.is-on{ color: var(--ss-accent); text-shadow: 0 0 12px rgba(8,214,214,.20); }

.ss-chip--muted{ opacity: .7; border-color: rgba(255,255,255,.10); }

/* Continuous drift support */
.ss-t-swiper .swiper-wrapper{ transition-timing-function: linear !important; }
.ss-t-swiper .swiper-slide{ width: 280px; }
@media (max-width: 768px){
  .ss-t-swiper .swiper-slide{ width: 85%; }
}

/* Premium ticker look */
.ss-testimonials .swiper-button-prev,
.ss-testimonials .swiper-button-next,
.ss-testimonials .swiper-pagination{ display:none !important; }

.ss-t-swiper{
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}

/* ---------------------------------------------------------
   Services — Scroll stacking (single version kept)
--------------------------------------------------------- */
.ss-svc-scroll{
  /* Compact the section so heading + stack read as one screen */
  padding: 1.6rem 0 2.4rem;
}

.ss-svc-header{ padding-bottom: .35rem; }

/* Reduce header spacing for the solutions stack */
.ss-svc-header .ss-section-header{ margin-bottom: .85rem; }
.ss-svc-header .ss-section-title{ margin-bottom: .25rem; }
.ss-svc-header .ss-section-sub{ margin-bottom: 0; }

.ss-svc-stage{
  /* Sticky is fallback. When GSAP pinning is enabled it will pin the stage,
     and CSS-sticky can cause overlap. JS adds body.ss-has-gsap. */
  position: sticky;
  top: 64px;
  height: calc(100vh - 64px);
  min-height: 520px;
  overflow: hidden;
  border-radius: var(--ss-radius-card);
  background: rgba(2,6,23,.35);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  border: 0;
  isolation: isolate;
}

body.ss-has-gsap .ss-svc-stage{
  position: relative;
  top: auto;
}

.ss-svc-split{
  height:100%;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(14px, 2.4vw, 34px);
  /* Tighter padding to reduce empty space and keep the stack centered */
  padding: clamp(12px, 1.8vw, 22px);
  align-items: center;
}

.ss-svc-stack{
  position: relative;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ss-svc-frame{
  position:absolute;
  width: min(52vh, 620px);
  aspect-ratio: 1 / 1;
  border-radius: 1px;
  overflow:hidden;
  background: rgba(2,6,23,.72);
  transform: translate3d(0, 0, 0) scale(1);
  opacity: 1;
  transition: transform 420ms cubic-bezier(.22, 1, .28, 1), opacity 260ms ease;
  will-change: transform, opacity;
  box-shadow: 0 22px 60px rgba(0,0,0,.55);
}

.ss-svc-frame::before{
  content:'';
  position:absolute;
  inset:0;
  padding: 25px;
  border-radius: 2px;
  background: linear-gradient(135deg, rgba(8,214,214,.95), rgba(6,182,212,.70), rgba(59,130,246,.70));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
  opacity: .90;
  z-index: 2;
}

.white-bg {
  background-color: rgba(255, 255, 255, 0.65);
  border-radius: 5px;
}

.ss-svc-frame::after{
  content:'';
  position:absolute;
  inset: 18px;
  border-radius: 1px;
  border: 2px solid rgba(255,255,255,.10);
  pointer-events:none;
  z-index: 2;
}

.ss-svc-frame img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transform: none;
}

.ss-svc-copy{
  position: relative;
  height:100%;
  display:flex;
  align-items:center;
}

.ss-svc-copyitem{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  opacity:1;
  transform: translateY(22px);
  transition: transform 420ms cubic-bezier(.22, 1, .28, 1), opacity 260ms ease;
  will-change: transform, opacity;
  pointer-events:none;
}

.ss-svc-copycard{
  max-width: 520px;
  width:100%;
  padding: clamp(18px, 2.4vw, 26px);
  background: none !important;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}

.ss-svc-scroll .card{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ss-svc-title{
  margin: .35rem 0 .55rem;
  font-size: clamp(1.15rem, 1.2vw + 1rem, 1.45rem);
}

.ss-svc-text{
  margin: 0 0 .8rem;
  color: var(--ss-muted);
  line-height: 1.6;
}

.ss-svc-actions{
  margin-top: 16px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 920px){
  .ss-svc-stage{
    top: 58px;
    height: calc(100vh - 58px);
    border-radius: 18px;
  }
  .ss-svc-split{
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .ss-svc-stack{
    position:absolute;
    inset:0;
    height:100%;
    z-index:0;
  }

  .ss-svc-stage::before{
    content:'';
    position:absolute;
    inset:0;
    background: linear-gradient(180deg, rgba(2,6,23,.55), rgba(2,6,23,.90));
    z-index: 1;
  }

  .ss-svc-frame{ width: min(92vw, 580px); }

  .ss-svc-copy{
    position: relative;
    z-index: 2;
    justify-content:center;
    text-align:center;
  }

  .ss-svc-copycard{
    max-width: 560px;
    margin: 0 auto;
    background: rgba(213,652,255,.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .ss-svc-actions{ justify-content:center; }
}

@media (prefers-reduced-motion: reduce){
  .ss-svc-stage{ position: static; height: auto; }
  .ss-svc-split{ grid-template-columns: 1fr; }
  .ss-svc-stack, .ss-svc-copy{ position: static; height: auto; }
  .ss-svc-frame, .ss-svc-copyitem{
    position: static;
    opacity: 1;
    transform: none;
    transition: none;
    pointer-events: auto;
    margin-bottom: 14px;
  }
}

/* ---------------------------------------------------------
   Headings gradient (kept)
--------------------------------------------------------- */
.ss-hero-title,
.ss-section-title,
.ss-svc-title{
  color: var(--ss-grad-cyan);
  letter-spacing: -0.01em;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)){
  .ss-hero-title,
  .ss-section-title,
  .ss-svc-title{
    background: linear-gradient(90deg, var(--ss-grad-cyan) 0%, var(--ss-grad-cyan) 45%, var(--ss-grad-cyan-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 10px 30px rgba(14,211,211,.10);
  }
}

/* =========================================================
   Affiliates marquee (logos only)
========================================================= */
.ss-affiliates-marquee{
  position: relative;
  overflow: hidden;
  /* logos only (no card background) */
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 6px 0;
}

.ss-affiliates-track{
  display: flex;
  align-items: center;
  gap: 22px;
  width: max-content;
  padding: 0 18px;
  animation: ss-affiliates-marquee 44s linear infinite;
  will-change: transform;
}

.ss-affiliate-logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  min-width: 120px;
  padding: 6px 10px;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: translateZ(0);
}

.ss-affiliate-logo img{
  height: 90px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  filter: none;
}

/* Text-logo (for affiliates without an image) */
.ss-affiliate-textlogo span{
  font-weight: 800;
  letter-spacing: .14em;
  font-size: 1.05rem;
  text-transform: uppercase;
  background: linear-gradient(90deg, var(--ss-grad-cyan), var(--ss-grad-cyan), var(--ss-grad-cyan-deep));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* Keep moving continuously (do not pause on hover) */

@keyframes ss-affiliates-marquee{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(-50%,0,0); }
}

@media (max-width: 640px){
  .ss-affiliate-logo{ height: 52px; min-width: 110px; }
  .ss-affiliate-logo img{ height: 34px; }
}

/* =========================================================
   Leadership: org tree + team cards + employee cards
========================================================= */
.ss-tree-wrap{
  margin: 1.2rem 0 1.8rem;
  padding: 1.1rem 1rem;
  border-radius: var(--ss-radius-card);
  background: rgba(15,23,42,.55);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--ss-shadow-soft);
}

.ss-tree-title{
  margin: 0 0 .8rem;
  font-size: .95rem;
  color: rgba(229,231,235,.85);
}

/* The tree can overflow on small screens; keep it usable inside a framed, scrollable area. */
.ss-tree-frame{
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 10px 10px 18px;
  border-radius: 16px;
  background: rgba(2,6,23,.25);
  border: 1px solid rgba(255,255,255,.08);
  scrollbar-gutter: stable both-edges;
}

.ss-tree{
  /* shrink-wrap so the frame can scroll when needed */
  width: max-content;
  margin: 0 auto;
}

.ss-tree ul{
  padding-top: 20px;
  position: relative;
  padding-left: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 0;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.ss-tree li{
  list-style-type: none;
  text-align: center;
  position: relative;
  /* spacing is inside each node so connector lines stay continuous */
  padding: 20px 18px 0;
}

/* connectors */
.ss-tree li::before,
.ss-tree li::after{
  content: '';
  position: absolute;
  top: 0;
  right: 50%;
  border-top: 1px solid rgba(255,255,255,.14);
  width: 50%;
  height: 20px;
}
.ss-tree li::after{
  right: auto;
  left: 50%;
  border-left: 1px solid rgba(255,255,255,.14);
  width: 50%;
}

.ss-tree li:only-child::after,
.ss-tree li:only-child::before{ display: none; }
.ss-tree li:only-child{ padding-top: 0; }

.ss-tree li:first-child::before,
.ss-tree li:last-child::after{ border: 0 none; }

.ss-tree li:last-child::before{
  border-right: 1px solid rgba(255,255,255,.14);
  border-radius: 0 10px 0 0;
}
.ss-tree li:first-child::after{
  border-radius: 10px 0 0 0;
}

.ss-tree ul ul::before{
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  border-left: 1px solid rgba(255,255,255,.14);
  width: 0;
  height: 20px;
}

.ss-node{
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(2,6,23,.55);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  min-width: 190px;
}

.ss-node:hover{ border-color: rgba(8,214,214,.35); }

.ss-node-name{ font-weight: 800; }
.ss-node-role{ font-size: .82rem; color: var(--ss-muted); }

.ss-team-card{
  min-height: 180px;
}

.ss-team-card .ss-card-title{ font-size: 1.02rem; }

.ss-team-meta{ color: var(--ss-muted); font-size: .9rem; }

.ss-people-grid{ margin-top: .8rem; }

.ss-person-card{
  display: block;
}

.ss-person-card .ss-avatar{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  font-weight: 800;
  margin-bottom: .55rem;
}

.ss-person-card .ss-card-text{ margin-top: .25rem; }

.ss-profile{
  max-width: 760px;
  margin: 0 auto;
}

.ss-profile .ss-card{
  padding: 1.25rem;
}

.ss-profile-top{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.ss-profile-avatar{
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  font-weight: 900;
  font-size: 1.1rem;
}

.ss-profile-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

@media (max-width: 900px){
  .ss-tree-frame{ padding: 10px 8px 16px; }
  .ss-tree li{ padding: 18px 12px 0; }
  .ss-node{ min-width: 160px; padding: 10px 10px; }
  .ss-node-photo{ width: 68px; height: 68px; }
}

@media (max-width: 480px){
  .ss-tree li{ padding: 16px 10px 0; }
  .ss-node{ min-width: 148px; }
  .ss-node-name{ font-size: .95rem; }
  .ss-node-role{ font-size: .78rem; }
}


/* =========================================================
   Feedback marquee (replaces Swiper)
   Same motion style as the old affiliates marquee, but pauses on hover.
========================================================= */
.ss-feedback-marquee{
  position: relative;
  overflow: hidden;
  padding: 6px 0;
}

.ss-feedback-track{
  display: flex;
  gap: 18px;
  width: max-content;
  animation: ss-feedback-marquee 54s linear infinite;
  will-change: transform;
}

.ss-feedback-marquee:hover .ss-feedback-track,
.ss-feedback-marquee:focus-within .ss-feedback-track{
  animation-play-state: paused;
}

@keyframes ss-feedback-marquee{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(-50%,0,0); }
}

/* =========================================================
   Team member presentation
   (square images 1:1, image → name → rank)
========================================================= */
.ss-node{
  align-items: center;
  gap: 6px;
}

.ss-node-photo{
  width: 76px;
  height: 76px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
}

.ss-member-card{
  display: block;
}

.ss-member-photo{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  margin-bottom: .75rem;
}

.ss-member-name{
  font-weight: 900;
  font-size: 1.02rem;
}

.ss-member-rank{
  color: var(--ss-muted);
  font-size: .9rem;
  margin-top: .25rem;
}

.ss-member-meta{
  color: rgba(229,231,235,.72);
  font-size: .86rem;
  margin-top: .3rem;
}

.ss-profile-photo{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
}

/* =========================================================
   Leadership page layout
   CEO + top leadership tree, then teams grouped by leader
========================================================= */
.ss-leader-block{ margin-top: 1.1rem; }

.ss-leader-layout{
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.ss-leader-card{
  display: flex;
  align-items: center;
  gap: .9rem;
}

.ss-leader-photo{
  width: 90px;
  height: 90px;
  border-radius: 16px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}

.ss-team-badge{
  display: inline-block;
  padding: .28rem .58rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  font-size: .78rem;
  color: rgba(229,231,235,.92);
  margin-bottom: .65rem;
}

@media (max-width: 900px){
  .ss-leader-layout{ grid-template-columns: minmax(0, 1fr); }
}


/* Honeypot field (anti-bot) */
.ss-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }


/* =========================================================
   Affiliates wide section (full-width horizontal marquees)
========================================================= */
.ss-affiliates-header--center{
  text-align: center;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.ss-affiliates-wide{
  display: grid;
  gap: .95rem;
}

.ss-affiliates-marquee--wide{
  --ss-ribbon-height: 80px;
  --ss-logo-size: 50px;
  --ss-logo-gap: 30px;
  position: relative;
  overflow: hidden;
  min-height: var(--ss-ribbon-height);
  height: var(--ss-ribbon-height);
  padding: 0;
  background:
    linear-gradient(90deg, rgba(255,177,46,.30), rgba(255,122,0,.18) 24%, rgba(255,255,255,.96) 50%, rgba(255,122,0,.18) 76%, rgba(255,177,46,.30)),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,247,237,.94));
  border: 1px solid rgba(6,182,212,.14);
  border-radius: 0;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
}

.ss-affiliates-marquee--wide::before,
.ss-affiliates-marquee--wide::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 110px;
  z-index: 2;
  pointer-events: none;
}

.ss-affiliates-marquee--wide::before{
  left: 0;
  background: linear-gradient(90deg, rgba(255,248,240,1) 0%, rgba(255,248,240,.94) 35%, rgba(255,248,240,0) 100%);
}

.ss-affiliates-marquee--wide::after{
  right: 0;
  background: linear-gradient(270deg, rgba(255,248,240,1) 0%, rgba(255,248,240,.94) 35%, rgba(255,248,240,0) 100%);
}

.ss-affiliates-marquee--wide .ss-affiliates-track{
  display: flex;
  align-items: center;
  gap: var(--ss-logo-gap);
  height: 100%;
  padding: 0 30px;
  animation-duration: 34s;
}

.ss-affiliates-marquee--wide.ss-affiliates-marquee--reverse .ss-affiliates-track{
  animation-direction: reverse;
  animation-duration: 38s;
}

.ss-affiliates-marquee--wide .ss-affiliate-logo,
.ss-affiliates-marquee--wide .ss-affiliate-textlogo{
  flex: 0 0 auto;
  min-width: unset;
  width: var(--ss-logo-size);
  height: var(--ss-logo-size);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ss-affiliates-marquee--wide .ss-affiliate-logo img{
  width: var(--ss-logo-size);
  height: var(--ss-logo-size);
  max-width: var(--ss-logo-size);
  max-height: var(--ss-logo-size);
  object-fit: contain;
  filter: saturate(1.02) contrast(1.02);
}

.ss-affiliates-marquee--wide .ss-affiliate-textlogo span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--ss-logo-size);
  height: var(--ss-logo-size);
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #9a3412;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.1;
}

.ss-affiliates-actions{
  display: grid;
  gap: .7rem;
  justify-items: center;
  text-align: center;
}

.ss-affiliates-actions .ss-list{
  max-width: 760px;
  text-align: left;
}

@media (max-width: 900px){
  .ss-affiliates-marquee--wide{
    --ss-ribbon-height: 74px;
    --ss-logo-size: 44px;
    --ss-logo-gap: 24px;
  }

  .ss-affiliates-marquee--wide::before,
  .ss-affiliates-marquee--wide::after{
    width: 80px;
  }

  .ss-affiliates-marquee--wide .ss-affiliates-track{
    padding: 0 22px;
    animation-duration: 28s;
  }
}

@media (max-width: 640px){
  .ss-affiliates-marquee--wide{
    --ss-ribbon-height: 68px;
    --ss-logo-size: 38px;
    --ss-logo-gap: 20px;
  }

  .ss-affiliates-marquee--wide::before,
  .ss-affiliates-marquee--wide::after{
    width: 54px;
  }

  .ss-affiliates-marquee--wide .ss-affiliates-track{
    padding: 0 16px;
  }
}

@media (min-width: 600px) {
.ss-svc-copycard {
    font-size: 10px;
}
}

@media (max-width: 900px){
  .ss-t-card{
    min-width: 330px;
    max-width: 330px;
    min-height: 245px;
  }
}

@media (max-width: 640px){
  .ss-t-card{
    min-width: 290px;
    max-width: 290px;
    min-height: 230px;
  }

  .ss-t-quote{
    -webkit-line-clamp: 6;
    font-size: .92rem;
  }
}

/* ---------------------------------------------------------
   Final homepage / full-width cybersecurity service upgrade
--------------------------------------------------------- */
html,
body{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.ss-app,
.ss-main,
.ss-section,
.ss-hero-fullscreen,
.ss-footer,
.ss-header{
  width: 100%;
  max-width: 100%;
}

.ss-shell,
.ss-footer-inner{
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1rem, 3.5vw, 4rem);
  padding-right: clamp(1rem, 3.5vw, 4rem);
}

.ss-section-header--wide{
  max-width: min(1180px, 100%);
}

.ss-hero-copy{
  max-width: min(850px, 100%);
}

.ss-section-title{
  font-size: clamp(1.75rem, 2vw + 1rem, 3rem);
  line-height: 1.08;
}

.ss-section-sub{
  max-width: 980px;
  font-size: clamp(.95rem, .28vw + .88rem, 1.08rem);
}

.ss-home-services-section{
  background:
    radial-gradient(circle at 8% 0%, rgba(8,214,214,.11), transparent 34%),
    radial-gradient(circle at 90% 22%, rgba(59,130,246,.10), transparent 30%),
    rgba(2,6,23,.62);
}

.ss-home-services-grid{
  align-items: stretch;
}

.ss-card--home-service{
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: .95rem;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.94)),
    radial-gradient(circle at 18% 16%, rgba(8,214,214,.13), transparent 45%);
}

.ss-card--home-service .ss-card-body{
  display: flex;
  flex-direction: column;
  flex: 1;
}

.ss-service-card-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.75rem;
}

.ss-service-card-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.35rem;
  height:2.35rem;
  border-radius:999px;
  color:#111827;
  background: linear-gradient(135deg, var(--ss-grad-cyan), var(--ss-grad-cyan));
  font-weight:800;
  font-size:.82rem;
  box-shadow: 0 0 30px rgba(8,214,214,.25);
}

.ss-service-card-label{
  color: rgba(229,231,235,.74);
  font-size:.78rem;
  text-transform: uppercase;
  letter-spacing:.08em;
  text-align:right;
}

.ss-service-subtitle{
  margin-top:.35rem;
  margin-bottom:.15rem;
  color:#cffafe;
  font-size:.82rem;
  font-weight:700;
}

.ss-service-subservice-list{
  margin-top:.25rem;
  padding-left:0;
}

.ss-service-subservice-list li{
  position:relative;
  padding-left:1.15rem;
  margin-bottom:.35rem;
}

.ss-service-subservice-list li::before{
  content:'•';
  position:absolute;
  left:0;
  top:0;
  color: var(--ss-accent);
}

.ss-card-arrow{
  margin-top:auto;
  padding-top:.8rem;
  display:inline-flex;
  color:#cffafe;
  font-size:.85rem;
  font-weight:700;
}

/* Professional zig-zag timeline */
.ss-professional-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 7%, rgba(8,214,214,.13), transparent 32%),
    linear-gradient(180deg, rgba(15,23,42,.60), rgba(2,6,23,.94));
}

.ss-professional-timeline{
  --professional-progress: 0;
  position:relative;
  min-height: 960px;
  margin-top: 2rem;
}

.ss-professional-line{
  position:absolute;
  inset: 0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}

.ss-professional-line-base,
.ss-professional-line-active{
  fill:none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ss-professional-line-base{
  stroke: rgba(148,163,184,.18);
  stroke-width: 1.25;
}

.ss-professional-line-active{
  stroke: url(#ssTimelineGradient);
  stroke-width: 1.7;
  path-length: 1;
  stroke-dasharray: 1;
  stroke-dashoffset: calc(1 - var(--professional-progress));
  filter: drop-shadow(0 0 10px rgba(8,214,214,.45)) drop-shadow(0 0 20px rgba(14,211,211,.16));
  transition: stroke-dashoffset .08s linear;
}

.ss-professional-step{
  position:relative;
  min-height: 240px;
  display:flex;
  align-items:center;
  z-index:2;
}

.ss-professional-point{
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%) scale(.92);
  width:4rem;
  height:4rem;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(15,23,42,.98);
  border: 1px solid rgba(8,214,214,.38);
  color:#cffafe;
  font-weight:800;
  box-shadow: 0 0 0 10px rgba(8,214,214,.05), 0 18px 50px rgba(0,0,0,.42);
  transition: background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.ss-professional-step.is-lit .ss-professional-point{
  color:#111827;
  background: linear-gradient(135deg, var(--ss-grad-cyan), var(--ss-grad-cyan));
  transform:translate(-50%, -50%) scale(1.04);
  box-shadow: 0 0 0 14px rgba(8,214,214,.08), 0 0 38px rgba(8,214,214,.38), 0 22px 70px rgba(0,0,0,.5);
}

.ss-step-right .ss-professional-point{ left:82%; }
.ss-step-left .ss-professional-point{ left:18%; }

.ss-professional-copy{
  width:min(56%, 780px);
  padding:1.25rem;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(15,23,42,.95), rgba(2,6,23,.86));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--ss-shadow-soft);
}

.ss-step-right .ss-professional-copy{
  margin-right:auto;
}

.ss-step-left .ss-professional-copy{
  margin-left:auto;
}

.ss-professional-copy h3{
  margin:0 0 .4rem;
  font-size: clamp(1.1rem, .65vw + 1rem, 1.55rem);
}

.ss-professional-copy p:last-child{
  margin:0;
  color: var(--ss-muted);
  line-height:1.65;
}

@media (min-width: 1280px){
  .ss-grid-3.ss-home-services-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ss-grid-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 980px){
  .ss-professional-timeline{ min-height: auto; }
  .ss-professional-step{ min-height: 260px; }
  .ss-professional-copy{ width:68%; }
  .ss-step-right .ss-professional-point{ left:76%; }
  .ss-step-left .ss-professional-point{ left:24%; }
}

@media (max-width: 720px){
  .ss-shell,
  .ss-footer-inner{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .ss-hero-fullscreen{
    min-height: 620px;
  }

  .ss-hero-actions,
  .ss-section-cta{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }

  .ss-btn{
    width:100%;
    justify-content:center;
  }

  .ss-professional-timeline{
    margin-top:1.2rem;
  }

  .ss-professional-line{
    left: 1.15rem;
    width: 3rem;
  }

  .ss-professional-step{
    min-height: auto;
    padding: 1rem 0 1.4rem 4.25rem;
  }

  .ss-step-right .ss-professional-point,
  .ss-step-left .ss-professional-point{
    left: 1.5rem;
    top: 2.3rem;
    width:3rem;
    height:3rem;
    font-size:.78rem;
  }

  .ss-professional-copy,
  .ss-step-right .ss-professional-copy,
  .ss-step-left .ss-professional-copy{
    width:100%;
    margin-left:0;
    margin-right:0;
  }
}

/* ---------------------------------------------------------
   Final polish: animated counters, cleaner home services, refined timeline
--------------------------------------------------------- */
.ss-home-services-section .ss-section-title{
  max-width: 1020px;
}

.ss-card--home-service .ss-service-card-topline{
  justify-content:flex-start;
  margin-bottom:.7rem;
}

.ss-card--home-service .ss-service-card-label{
  display:inline-flex;
  align-items:center;
  width:auto;
  padding:.38rem .68rem;
  border-radius:999px;
  color:#cffafe;
  background:rgba(8,214,214,.09);
  border:1px solid rgba(8,214,214,.18);
  font-size:.72rem;
  letter-spacing:.08em;
  text-align:left;
}

.ss-card--home-service .ss-card-text{
  margin-bottom:.3rem;
}

.ss-stat-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(8,214,214,.14);
  background:
    radial-gradient(circle at 15% 12%, rgba(8,214,214,.12), transparent 34%),
    linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.88));
}

.ss-stat-card::after{
  content:'';
  position:absolute;
  inset:auto -20% -40% 20%;
  height:70px;
  background:linear-gradient(90deg, transparent, rgba(8,214,214,.16), transparent);
  transform:rotate(-8deg);
  opacity:0;
  transition:opacity .45s ease, transform .6s ease;
}

.ss-stat-card.is-counted::after{
  opacity:1;
  transform:rotate(-8deg) translateX(18%);
}

.ss-stat-value{
  display:flex;
  align-items:baseline;
  gap:.08em;
  font-size:clamp(2rem, 2.2vw + 1rem, 4rem);
  line-height:1;
  font-weight:850;
  letter-spacing:-.055em;
  color:#cffafe;
  text-shadow:0 0 26px rgba(8,214,214,.22);
}

.ss-stat-suffix{
  font-size:.48em;
  letter-spacing:-.03em;
  color:var(--ss-accent);
}

.ss-stat-label{
  margin-top:.65rem;
  font-size:.9rem;
  line-height:1.45;
}

.ss-professional-timeline{
  min-height: 900px;
  max-width: min(1320px, 100%);
  margin-left:auto;
  margin-right:auto;
}

.ss-professional-line-active{
  transition: stroke-dashoffset .16s linear;
  filter: drop-shadow(0 0 8px rgba(8,214,214,.44)) drop-shadow(0 0 18px rgba(14,211,211,.16));
}

.ss-professional-step{
  min-height:225px;
}

.ss-professional-point{
  width:1.15rem;
  height:1.15rem;
  font-size:0;
  color:transparent;
  border:2px solid rgba(8,214,214,.65);
  background:#020617;
  box-shadow:0 0 0 6px rgba(2,6,23,.95), 0 0 18px rgba(8,214,214,.22);
  transform:translate(-50%, -50%) scale(.96);
}

.ss-professional-step.is-lit .ss-professional-point{
  background:var(--ss-accent);
  color:transparent;
  transform:translate(-50%, -50%) scale(1.08);
  box-shadow:0 0 0 6px rgba(2,6,23,.96), 0 0 20px rgba(8,214,214,.55), 0 0 36px rgba(14,211,211,.24);
}

.ss-step-right .ss-professional-point{ left:82%; }
.ss-step-left .ss-professional-point{ left:18%; }

.ss-professional-copy{
  width:min(34%, 430px);
  padding:.25rem 0;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
  font-family:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ss-step-right .ss-professional-copy{
  margin-right:20.5%;
  margin-left:auto;
  text-align:right;
}

.ss-step-left .ss-professional-copy{
  margin-left:20.5%;
  margin-right:auto;
  text-align:left;
}

.ss-professional-copy .ss-hero-eyebrow{
  margin-bottom:.35rem;
  font-size:.68rem;
  letter-spacing:.14em;
}

.ss-professional-copy h3{
  margin:0 0 .32rem;
  font-size:clamp(.98rem, .45vw + .88rem, 1.22rem);
  line-height:1.28;
  letter-spacing:-.025em;
}

.ss-professional-copy p:last-child{
  max-width:36rem;
  margin:0;
  font-size:clamp(.78rem, .22vw + .72rem, .92rem);
  line-height:1.58;
  color:rgba(229,231,235,.72);
}

.ss-step-right .ss-professional-copy p:last-child{
  margin-left:auto;
}

@media (max-width: 980px){
  .ss-professional-timeline{ min-height:auto; }
  .ss-professional-step{ min-height:220px; }
  .ss-professional-copy{ width:42%; }
  .ss-step-right .ss-professional-point{ left:76%; }
  .ss-step-left .ss-professional-point{ left:24%; }
  .ss-step-right .ss-professional-copy{ margin-right:26.5%; }
  .ss-step-left .ss-professional-copy{ margin-left:26.5%; }
}

@media (max-width: 720px){
  .ss-stat-value{ font-size:clamp(2.1rem, 12vw, 3.4rem); }

  .ss-professional-line{
    left:1.1rem;
    width:3rem;
  }

  .ss-professional-step{
    min-height:auto;
    padding:1rem 0 1.55rem 3.35rem;
  }

  .ss-step-right .ss-professional-point,
  .ss-step-left .ss-professional-point{
    left:1.48rem;
    top:2.08rem;
    width:1rem;
    height:1rem;
  }

  .ss-professional-copy,
  .ss-step-right .ss-professional-copy,
  .ss-step-left .ss-professional-copy{
    width:100%;
    margin-left:0;
    margin-right:0;
    text-align:left;
  }

  .ss-professional-copy p:last-child,
  .ss-step-right .ss-professional-copy p:last-child{
    margin-left:0;
  }
}

/* ---------------------------------------------------------
   Home solutions section restored
--------------------------------------------------------- */
.ss-home-solutions-section{
  background:
    radial-gradient(circle at 12% 0%, rgba(8,214,214,.10), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(59,130,246,.08), transparent 34%),
    rgba(255,255,255,.04);
}

.ss-home-solutions-grid{
  align-items:stretch;
}

.ss-solution-card{
  min-height:100%;
  border:1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.90)),
    radial-gradient(circle at 16% 14%, rgba(8,214,214,.10), transparent 42%);
}

.ss-solution-card .ss-chip{
  color:#cffafe;
  border-color:rgba(8,214,214,.22);
  background:rgba(8,214,214,.08);
}

.ss-solution-card .ss-card-title{
  font-size:clamp(1.02rem, .45vw + .9rem, 1.35rem);
}

/* ---------------------------------------------------------
   Customer case studies image stack
   Desktop + tablet: GSAP pin/scale stack on images only
   Mobile: static image cards only
--------------------------------------------------------- */
.ss-home-solutions-stack-section{
  --svc-count:4;
  position:relative;
  min-height:calc((var(--svc-count) * 96vh) + 260px);
  padding-top:clamp(3rem, 5vw, 5rem);
  padding-bottom:clamp(2rem, 4vw, 4rem);
  background:
    radial-gradient(circle at 10% 0%, rgba(8,214,214,.10), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(59,130,246,.10), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(2,6,23,.84));
}

.ss-home-solutions-stack-section .ss-svc-shell{ position:relative; }

.ss-home-solutions-stack-section .ss-svc-stage{
  position:relative;
  height:calc(100vh - clamp(56px, 6vw, 74px));
  min-height:620px;
  border-radius:clamp(18px, 2vw, 30px);
  overflow:hidden;
  background:
    linear-gradient(145deg, rgba(2,6,23,.90), rgba(15,23,42,.82)),
    radial-gradient(circle at 22% 24%, rgba(8,214,214,.12), transparent 36%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 80px rgba(0,0,0,.40);
  isolation:isolate;
}

.ss-home-solutions-stack-section .ss-svc-stage::before{
  content:'';
  position:absolute;
  inset:-1px;
  background:
    linear-gradient(120deg, rgba(8,214,214,.14), transparent 24%, transparent 70%, rgba(59,130,246,.12)),
    radial-gradient(circle at calc(var(--svc-progress, 0) * 100%) 14%, rgba(8,214,214,.18), transparent 24%);
  pointer-events:none;
  z-index:0;
}

.ss-home-solutions-stack-section .ss-svc-split{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.12fr) minmax(240px, .68fr);
  gap:clamp(1.2rem, 3vw, 3.4rem);
  align-items:center;
  height:100%;
  padding:clamp(1rem, 2.6vw, 2.25rem);
}

.ss-home-solutions-stack-section .ss-svc-stack{
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ss-home-solutions-stack-section .ss-svc-frame{
  position:absolute;
  width:min(70vh, 44vw, 700px);
  aspect-ratio:1 / 1;
  border-radius:clamp(18px, 2vw, 28px);
  overflow:hidden;
  background:#020617 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 30px 80px rgba(0,0,0,.50) !important;
  will-change:transform, opacity;
}

.ss-home-solutions-stack-section .ss-svc-frame::before{
  content:'';
  position:absolute;
  inset:0;
  padding:2px;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(8,214,214,.90), rgba(6,182,212,.55), rgba(59,130,246,.66));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:3;
}

.ss-home-solutions-stack-section .ss-svc-frame::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(2,6,23,.76));
  pointer-events:none;
  z-index:2;
}

.ss-home-solutions-stack-section .ss-svc-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ss-svc-frame-chip{
  position:absolute;
  left:.95rem;
  bottom:.95rem;
  z-index:4;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.45rem .72rem;
  color:#111827;
  background:linear-gradient(135deg, var(--ss-grad-cyan), var(--ss-grad-cyan));
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 12px 34px rgba(0,0,0,.34);
}

.ss-home-solutions-stack-section .ss-svc-copy{
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.ss-home-solutions-stack-section .ss-svc-copyitem{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.ss-home-solutions-stack-section .ss-svc-copyitem.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.ss-home-solutions-stack-section .ss-svc-copycard{
  max-width:min(420px, 100%);
  padding:0;
  background:transparent !important;
  border:none;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.ss-home-solutions-stack-section .ss-svc-title{
  margin:.55rem 0 .7rem;
  font-size:clamp(1.12rem, .95vw + .95rem, 1.85rem);
  line-height:1.08;
  letter-spacing:-.04em;
}

.ss-home-solutions-stack-section .ss-svc-text{
  margin:0 0 .95rem;
  color:rgba(229,231,235,.78);
  line-height:1.6;
  font-size:.96rem;
}

.ss-home-solutions-stack-section .ss-list{
  margin:.25rem 0 .95rem;
  font-size:.94rem;
}

.ss-home-solutions-stack-section .ss-svc-actions{
  margin-top:1rem;
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
}

.ss-home-solutions-stack-section .ss-svc-end{ width:100%; height:1px; }

.ss-t-stars{ display:flex; align-items:center; gap:2px; flex-wrap:wrap; }
.ss-t-star{ position:relative; display:inline-block; color:rgba(8,214,214,.32); }
.ss-t-star.is-on{ color:var(--ss-accent); text-shadow:0 0 12px rgba(8,214,214,.20); }
.ss-t-star.is-half{ color:rgba(8,214,214,.32); }
.ss-t-star.is-half::before{
  content:'★';
  position:absolute;
  inset:0;
  width:50%;
  overflow:hidden;
  color:var(--ss-accent);
  text-shadow:0 0 12px rgba(8,214,214,.20);
}
.ss-t-rating{ margin-left:.4rem; font-size:.82rem; color:var(--ss-muted); font-weight:700; }
.ss-t-person--anon .ss-t-avatar{ background:linear-gradient(135deg, rgba(8,214,214,.18), rgba(6,182,212,.32)); }

@media (max-width: 1199px){
  .ss-home-solutions-stack-section .ss-svc-frame{ width:min(62vh, 42vw, 560px); }
  .ss-home-solutions-stack-section .ss-svc-split{ grid-template-columns:minmax(0, 1fr) minmax(230px, .72fr); }
}

@media (max-width: 767px){
  .ss-home-solutions-stack-section{
    min-height:auto;
    padding-bottom:1.5rem;
  }

  .ss-home-solutions-stack-section .ss-svc-stage{
    height:auto;
    min-height:0;
    overflow:visible;
    position:relative;
  }

  .ss-home-solutions-stack-section .ss-svc-split{
    grid-template-columns:1fr;
    gap:1rem;
    padding:.9rem;
  }

  .ss-home-solutions-stack-section .ss-svc-stack{
    display:grid;
    grid-template-columns:1fr;
    gap:1rem;
    height:auto;
  }

  .ss-home-solutions-stack-section .ss-svc-frame{
    position:relative;
    width:100%;
    aspect-ratio:16 / 11;
    opacity:1 !important;
    transform:none !important;
  }

  .ss-home-solutions-stack-section .ss-svc-copy{
    display:none;
  }
}

/* ---------------------------------------------------------
   Client requested visual update only:
   - New cyber cyan/cyan cursor
   - Feedback cleanup fallback
   - Solid rough silver + cyanen case-study image frames
--------------------------------------------------------- */
html,
body{
  cursor:url('/assets/cursors/cyber-cyan-normal.png') 4 3, auto;
}

a,
button,
[role="button"],
input[type="button"],
input[type="submit"],
input[type="reset"],
select,
summary,
.ss-btn,
.ss-chip,
.ss-nav-link,
.ss-mobile-link,
.ss-svc-frame-chip,
[data-cursor="link"]{
  cursor:url('/assets/cursors/cyber-cyan-link.png') 16 16, pointer;
}

input,
textarea,
[contenteditable="true"],
[data-cursor="text"]{
  cursor:url('/assets/cursors/cyber-cyan-text.png') 16 16, text;
}

[disabled],
.is-disabled,
[aria-disabled="true"],
[data-cursor="unavailable"]{
  cursor:url('/assets/cursors/cyber-cyan-unavailable.png') 16 16, not-allowed;
}

.ss-t-rating,
.ss-t-person,
.ss-t-avatar,
.ss-t-name,
.ss-t-role{
  display:none !important;
}

.ss-home-solutions-stack-section .ss-svc-frame{
  border-radius:2px !important;
  padding:10% !important;
  overflow:hidden !important;
  background-color:#c7c7cb !important;
  background-image:
    linear-gradient(135deg, rgba(255,255,255,1), rgba(190,190,196,1) 28%, rgba(212,175,55,.92) 62%, rgba(235,235,240,1) 100%),
    url('/assets/textures/rough-silver-cyanen-frame.png') !important;
  background-size:cover, 320px 320px !important;
  background-blend-mode:overlay, normal !important;
  border:0 !important;
  opacity:1 !important;
  box-shadow:
    0 28px 86px rgba(0,0,0,.58),
    0 0 0 2px rgba(238,238,242,1),
    0 0 48px rgba(212,175,55,.44) !important;
}

.ss-home-solutions-stack-section .ss-svc-frame::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:2px !important;
  padding:0 !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.82), transparent 24%, rgba(184,134,11,.52) 52%, transparent 72%, rgba(255,255,255,.58)),
    url('/assets/textures/rough-silver-cyanen-frame.png') !important;
  background-size:cover, 260px 260px !important;
  -webkit-mask:none !important;
  mask:none !important;
  -webkit-mask-composite:source-over !important;
  mask-composite:add !important;
  opacity:1 !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.ss-home-solutions-stack-section .ss-svc-frame::after{
  content:'' !important;
  position:absolute !important;
  inset:10% !important;
  border-radius:1px !important;
  background:linear-gradient(180deg, transparent 50%, rgba(2,6,23,.34)) !important;
  border:2px solid rgba(242,242,246,1) !important;
  box-shadow:
    0 0 0 1px rgba(212,175,55,.76),
    inset 0 0 18px rgba(0,0,0,.50),
    0 0 24px rgba(212,175,55,.40) !important;
  opacity:1 !important;
  pointer-events:none !important;
  z-index:2 !important;
}

.ss-home-solutions-stack-section .ss-svc-frame img{
  position:relative !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:1px !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.24) !important;
}

.ss-home-solutions-stack-section .ss-svc-frame-chip{
  left:calc(10% + .95rem) !important;
  bottom:calc(10% + .95rem) !important;
  z-index:4 !important;
}


/* ---------------------------------------------------------
   2026 services refresh: 12 categories, richer pages, cleaner polish
--------------------------------------------------------- */
.ss-section-header--wide{ max-width: 860px; margin-left:auto; margin-right:auto; }
.ss-services-category-grid .ss-card--service,
.ss-card--home-service{
  min-height: 100%;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(8,214,214,.14);
  background:
    radial-gradient(circle at top left, rgba(8,214,214,.14), transparent 32%),
    linear-gradient(145deg, rgba(15,23,42,.94), rgba(2,6,23,.96));
}
.ss-services-category-grid .ss-card--service::after,
.ss-card--home-service::after,
.ss-related-service-card::after{
  content:'';
  position:absolute;
  inset:auto -30% -45% auto;
  width:180px;
  height:180px;
  border-radius:999px;
  background: rgba(8,214,214,.08);
  filter: blur(8px);
  pointer-events:none;
}
.ss-services-category-grid .ss-card-title{ font-size: 1.08rem; line-height:1.25; }
.ss-services-category-grid .ss-card-media,
.ss-card--home-service .ss-card-media{
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.ss-card-arrow{
  display:inline-flex;
  margin-top:.55rem;
  color:#cffafe;
  font-size:.82rem;
  font-weight:650;
  letter-spacing:.01em;
}
.ss-card-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 2.2rem;
  height: 2.2rem;
  padding:0 .45rem;
  border-radius: 999px;
  color:#111827;
  background: var(--ss-accent);
  font-size:.78rem;
  font-weight:800;
  margin-bottom:.8rem;
  box-shadow: 0 12px 30px rgba(8,214,214,.22);
}
.ss-service-detail-hero{
  min-height: 100vh;
  height: auto;
  position: relative;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  display:flex;
  align-items:center;
}
.ss-service-detail-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(8,214,214,.26), transparent 34%),
    linear-gradient(110deg, rgba(2,6,23,.96), rgba(2,6,23,.78), rgba(2,6,23,.92));
}
.ss-service-detail-hero-inner{
  position:relative;
  z-index:1;
  width:100%;
  padding-top: 7.5rem;
  padding-bottom: 4.5rem;
}
.ss-service-detail-copy{ max-width: 880px; }
.ss-service-intro{
  max-width: 820px;
  margin:1.1rem 0 1.25rem;
  color:rgba(255,255,255,.86);
  line-height:1.8;
  font-size:1rem;
}
.ss-detail-feature-grid{ margin-top:1.25rem; }
.ss-detail-mini-card{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
}
.ss-detail-mini-card .ss-card-number{ flex: 0 0 auto; margin-bottom:0; }
.ss-detail-mini-card .ss-card-text{ margin: .15rem 0 0; line-height:1.65; }
.ss-subservice-grid{ align-items:stretch; }
.ss-subservice-card,
.ss-detail-panel,
.ss-related-service-card{
  border-color: rgba(8,214,214,.14);
  background:
    linear-gradient(145deg, rgba(15,23,42,.92), rgba(2,6,23,.96));
}
.ss-subservice-card .ss-card-text{ line-height:1.65; }
.ss-process-list{
  display:grid;
  gap:.85rem;
  max-width:920px;
  margin: 1rem auto 0;
}
.ss-process-item{
  display:grid;
  grid-template-columns: 64px minmax(0,1fr);
  gap:1rem;
  align-items:start;
  padding:1rem;
  border-radius: var(--ss-radius-card);
  border:1px solid rgba(255,255,255,.08);
  background: rgba(2,6,23,.58);
  box-shadow: var(--ss-shadow-soft);
}
.ss-process-item span{
  display:inline-flex;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  color:#111827;
  background:linear-gradient(135deg, var(--ss-grad-cyan), var(--ss-grad-cyan));
  font-weight:800;
}
.ss-process-item p{ margin:.15rem 0 0; color:var(--ss-muted); line-height:1.7; }
.ss-detail-panel .ss-card-title{ font-size:1.45rem; margin-bottom:.8rem; }
.ss-detail-list{ padding-left:0; }
.ss-detail-list li{
  position:relative;
  padding-left:1.55rem;
  margin-bottom:.65rem;
  line-height:1.55;
}
.ss-detail-list li::before{
  content:'•';
  position:absolute;
  left:.2rem;
  top:0;
  color:var(--ss-accent);
  font-weight:800;
}
.ss-footer-links--services{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:.16rem .8rem;
}
.ss-footer-links a:hover{ color:#cffafe; }
@media (max-width: 900px){
  .ss-service-detail-hero-inner{ padding-top:6rem; }
  .ss-footer-links--services{ grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 640px){
  .ss-process-item{ grid-template-columns:minmax(0,1fr); }
  .ss-detail-mini-card{ flex-direction:column; }
}

/* ---------------------------------------------------------
   Home GIF hero
   Replaces the old homepage slider only.
--------------------------------------------------------- */
.ss-hero-gif{
  position: relative;
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  background: #020617;
}

.ss-hero-gif-media{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 768px){
  .ss-hero-gif{
    height: 100vh;
    min-height: 100vh;
  }
}


/* ---------------------------------------------------------
   Custom override: centered professional timeline message cards
--------------------------------------------------------- */
.ss-professional-section{
  position:relative;
}

.ss-professional-section .ss-section-header{
  position:relative;
  z-index:2;
}

@media (min-width: 721px){
  .ss-professional-timeline{
    --professional-progress:0;
    position:relative;
    max-width:min(1180px, 100%);
    min-height:900px;
    margin:2.5rem auto 0;
    padding:1rem 0;
  }

  .ss-professional-line{
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    width:120px;
    height:100%;
    transform:translateX(-50%);
    pointer-events:none;
    overflow:visible;
    z-index:1;
  }

  .ss-professional-line-base{
    stroke:rgba(226,232,240,.18);
    stroke-width:1.25;
  }

  .ss-professional-line-active{
    stroke:url(#ssTimelineGradient);
    stroke-width:1.8;
    stroke-dasharray:1;
    stroke-dashoffset:calc(1 - var(--professional-progress));
    filter:drop-shadow(0 0 10px rgba(8,214,214,.44)) drop-shadow(0 0 20px rgba(6,182,212,.22));
    transition:stroke-dashoffset .14s linear;
  }

  .ss-professional-step{
    position:relative;
    min-height:225px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) 92px minmax(0, 1fr);
    align-items:center;
    z-index:2;
  }

  .ss-professional-point,
  .ss-step-right .ss-professional-point,
  .ss-step-left .ss-professional-point{
    left:50%;
    top:50%;
    width:1.15rem;
    height:1.15rem;
    border-radius:999px;
    font-size:0;
    color:transparent;
    background:#020617;
    border:2px solid rgba(8,214,214,.72);
    box-shadow:0 0 0 7px rgba(2,6,23,.96), 0 0 22px rgba(8,214,214,.26);
    transform:translate(-50%, -50%) scale(.9);
    z-index:4;
  }

  .ss-professional-step.is-lit .ss-professional-point{
    background:linear-gradient(135deg, #cffafe, #12dfe3 55%, #06b6d4);
    border-color:rgba(254,243,199,.96);
    transform:translate(-50%, -50%) scale(1.08);
    box-shadow:0 0 0 7px rgba(2,6,23,.96), 0 0 24px rgba(8,214,214,.62), 0 0 46px rgba(6,182,212,.3);
  }

  .ss-professional-copy,
  .ss-step-right .ss-professional-copy,
  .ss-step-left .ss-professional-copy{
    position:relative;
    width:min(88%, 500px);
    padding:1.1rem 1.2rem;
    border-radius:24px;
    background:
      radial-gradient(circle at 14% 12%, rgba(8,214,214,.12), transparent 34%),
      linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.9));
    border:1px solid rgba(8,214,214,.18);
    box-shadow:0 24px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
    opacity:.48;
    filter:saturate(.85);
    overflow:visible;
    transition:opacity .45s ease, transform .55s ease, border-color .45s ease, box-shadow .45s ease, filter .45s ease;
    font-family:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  .ss-step-right .ss-professional-copy{
    grid-column:1;
    justify-self:end;
    margin:0 2.35rem 0 0;
    text-align:right;
    transform:translateX(-28px) scale(.985);
  }

  .ss-step-left .ss-professional-copy{
    grid-column:3;
    justify-self:start;
    margin:0 0 0 2.35rem;
    text-align:left;
    transform:translateX(28px) scale(.985);
  }

  .ss-professional-step.is-lit .ss-professional-copy{
    opacity:1;
    filter:saturate(1);
    border-color:rgba(8,214,214,.34);
    box-shadow:0 28px 85px rgba(0,0,0,.38), 0 0 32px rgba(8,214,214,.08), inset 0 1px 0 rgba(255,255,255,.07);
    transform:translateX(0) scale(1);
  }

  .ss-professional-copy::after{
    content:'';
    position:absolute;
    top:50%;
    width:1rem;
    height:1rem;
    background:linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.9));
    border:1px solid rgba(8,214,214,.18);
    transform:translateY(-50%) rotate(45deg);
    z-index:0;
    pointer-events:none;
  }

  .ss-professional-copy::before{
    content:'';
    position:absolute;
    top:50%;
    width:2.45rem;
    height:1px;
    background:linear-gradient(90deg, rgba(8,214,214,.05), rgba(8,214,214,.52));
    opacity:.55;
    transition:opacity .45s ease, box-shadow .45s ease;
    pointer-events:none;
  }

  .ss-step-right .ss-professional-copy::after{
    right:-.45rem;
    border-left:0;
    border-bottom:0;
  }

  .ss-step-left .ss-professional-copy::after{
    left:-.45rem;
    border-right:0;
    border-top:0;
  }

  .ss-step-right .ss-professional-copy::before{
    right:-2.45rem;
  }

  .ss-step-left .ss-professional-copy::before{
    left:-2.45rem;
    background:linear-gradient(90deg, rgba(8,214,214,.52), rgba(8,214,214,.05));
  }

  .ss-professional-step.is-lit .ss-professional-copy::before{
    opacity:1;
    box-shadow:0 0 16px rgba(8,214,214,.25);
  }

  .ss-professional-copy .ss-hero-eyebrow{
    margin-bottom:.4rem;
    font-size:.68rem;
    letter-spacing:.14em;
  }

  .ss-professional-copy h3{
    margin:0 0 .38rem;
    font-size:clamp(1.02rem, .52vw + .9rem, 1.3rem);
    line-height:1.28;
    letter-spacing:-.025em;
  }

  .ss-professional-copy p:last-child{
    max-width:36rem;
    margin:0;
    font-size:clamp(.82rem, .24vw + .74rem, .95rem);
    line-height:1.62;
    color:rgba(229,231,235,.75);
  }

  .ss-step-right .ss-professional-copy p:last-child{
    margin-left:auto;
  }
}

@media (min-width: 721px) and (max-width: 980px){
  .ss-professional-timeline{
    min-height:auto;
    max-width:100%;
  }

  .ss-professional-step{
    min-height:230px;
    grid-template-columns:minmax(0, 1fr) 72px minmax(0, 1fr);
  }

  .ss-professional-copy,
  .ss-step-right .ss-professional-copy,
  .ss-step-left .ss-professional-copy{
    width:min(92%, 390px);
  }

  .ss-step-right .ss-professional-copy{
    margin-right:1.65rem;
  }

  .ss-step-left .ss-professional-copy{
    margin-left:1.65rem;
  }

  .ss-professional-copy::before{
    width:1.7rem;
  }

  .ss-step-right .ss-professional-copy::before{
    right:-1.7rem;
  }

  .ss-step-left .ss-professional-copy::before{
    left:-1.7rem;
  }
}

@media (max-width: 720px){
  .ss-professional-timeline{
    min-height:auto;
    margin-top:1.4rem;
  }

  .ss-professional-line{
    left:1.1rem;
    width:3rem;
    transform:none;
  }

  .ss-professional-step{
    min-height:auto;
    padding:1rem 0 1.55rem 3.4rem;
  }

  .ss-step-right .ss-professional-point,
  .ss-step-left .ss-professional-point,
  .ss-professional-point{
    left:1.5rem;
    top:2.08rem;
    width:1rem;
    height:1rem;
  }

  .ss-professional-copy,
  .ss-step-right .ss-professional-copy,
  .ss-step-left .ss-professional-copy{
    width:100%;
    margin:0;
    padding:1rem 1rem;
    border-radius:20px;
    text-align:left;
    background:linear-gradient(145deg, rgba(15,23,42,.96), rgba(2,6,23,.9));
    border:1px solid rgba(8,214,214,.18);
    box-shadow:0 20px 60px rgba(0,0,0,.28);
    opacity:1;
    transform:none;
  }
}


/* ---------------------------------------------------------
   Delivery standard timeline update + dedicated page
--------------------------------------------------------- */
@keyframes ssBubbleHoverFloat{
  0%{ transform:var(--bubble-hover-transform) translateY(0) scale(1.018); }
  50%{ transform:var(--bubble-hover-transform) translateY(-5px) scale(1.026); }
  100%{ transform:var(--bubble-hover-transform) translateY(0) scale(1.018); }
}

@media (min-width: 721px){
  .ss-professional-line{
    width:clamp(180px, 16vw, 280px);
  }

  .ss-professional-line-base,
  .ss-professional-line-active{
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .ss-professional-line-base{
    stroke-width:1.65;
  }

  .ss-professional-line-active{
    stroke-width:2.35;
  }

  .ss-professional-step{
    color:inherit;
    text-decoration:none;
    cursor:pointer;
    outline:none;
  }

  .ss-professional-step:focus-visible .ss-professional-copy{
    outline:2px solid rgba(8,214,214,.82);
    outline-offset:5px;
  }

  .ss-professional-copy{
    will-change:transform, box-shadow, border-color, filter;
  }

  .ss-step-right .ss-professional-copy{ --bubble-hover-transform:translateX(0); }
  .ss-step-left .ss-professional-copy{ --bubble-hover-transform:translateX(0); }

  .ss-professional-step:hover .ss-professional-copy,
  .ss-professional-step:focus-visible .ss-professional-copy{
    opacity:1;
    filter:saturate(1.12) brightness(1.06);
    border-color:rgba(8,214,214,.58);
    box-shadow:0 34px 92px rgba(0,0,0,.46), 0 0 38px rgba(8,214,214,.16), inset 0 1px 0 rgba(255,255,255,.1);
    animation:ssBubbleHoverFloat 1.45s ease-in-out infinite;
  }

  .ss-professional-step:hover .ss-professional-copy::before,
  .ss-professional-step:focus-visible .ss-professional-copy::before{
    opacity:1;
    box-shadow:0 0 18px rgba(8,214,214,.42);
  }

  .ss-professional-step:hover .ss-professional-copy::after,
  .ss-professional-step:focus-visible .ss-professional-copy::after{
    border-color:rgba(8,214,214,.42);
  }

  .ss-professional-step:hover .ss-professional-point,
  .ss-professional-step:focus-visible .ss-professional-point{
    background:linear-gradient(135deg, #ecfeff, #12dfe3 55%, #0891b2);
    border-color:rgba(255,247,237,.98);
    transform:translate(-50%, -50%) scale(1.18);
    box-shadow:0 0 0 7px rgba(2,6,23,.96), 0 0 30px rgba(8,214,214,.72), 0 0 58px rgba(6,182,212,.38);
  }

  .ss-professional-link-label{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    margin-top:.85rem;
    color:#12dfe3;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.75;
    transition:opacity .3s ease, transform .3s ease;
  }

  .ss-professional-link-label::after{
    content:'→';
    font-size:.92rem;
    transition:transform .3s ease;
  }

  .ss-professional-step:hover .ss-professional-link-label,
  .ss-professional-step:focus-visible .ss-professional-link-label{
    opacity:1;
    transform:translateY(-1px);
  }

  .ss-professional-step:hover .ss-professional-link-label::after,
  .ss-professional-step:focus-visible .ss-professional-link-label::after{
    transform:translateX(4px);
  }
}

@media (min-width: 1200px){
  .ss-professional-timeline{
    max-width:min(1320px, 100%);
  }

  .ss-professional-line{
    width:clamp(300px, 27vw, 430px);
  }

  .ss-professional-line-base{
    stroke-width:1.9;
  }

  .ss-professional-line-active{
    stroke-width:2.75;
  }

  .ss-professional-step{
    grid-template-columns:minmax(0, 1fr) 150px minmax(0, 1fr);
    min-height:245px;
  }

  .ss-step-right .ss-professional-copy{
    margin-right:3.5rem;
  }

  .ss-step-left .ss-professional-copy{
    margin-left:3.5rem;
  }

  .ss-professional-copy::before{
    width:3.55rem;
  }

  .ss-step-right .ss-professional-copy::before{
    right:-3.55rem;
  }

  .ss-step-left .ss-professional-copy::before{
    left:-3.55rem;
  }
}

@media (max-width:720px){
  .ss-professional-step{
    color:inherit;
    text-decoration:none;
    cursor:pointer;
  }

  .ss-professional-step:focus-visible .ss-professional-copy{
    outline:2px solid rgba(8,214,214,.82);
    outline-offset:4px;
  }

  .ss-professional-link-label{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    margin-top:.75rem;
    color:#12dfe3;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .ss-professional-link-label::after{
    content:'→';
  }
}

.ss-delivery-page{
  overflow:hidden;
}

.ss-delivery-hero{
  position:relative;
  padding-top:clamp(7rem, 12vw, 10rem);
  background:
    radial-gradient(circle at 18% 16%, rgba(8,214,214,.13), transparent 32%),
    radial-gradient(circle at 80% 8%, rgba(148,163,184,.12), transparent 34%);
}

.ss-delivery-hero-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
  margin-top:2rem;
}

.ss-delivery-stat-card{
  min-height:170px;
  padding:1.15rem;
  border-radius:24px;
  border:1px solid rgba(8,214,214,.18);
  background:linear-gradient(145deg, rgba(15,23,42,.92), rgba(2,6,23,.86));
  box-shadow:0 24px 80px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.06);
}

.ss-delivery-stat-card span{
  display:inline-flex;
  width:2.25rem;
  height:2.25rem;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  margin-bottom:.85rem;
  color:#020617;
  font-weight:900;
  background:linear-gradient(135deg, #cffafe, #12dfe3 55%, #0891b2);
}

.ss-delivery-stat-card strong{
  display:block;
  color:#ecfeff;
  font-size:1rem;
  margin-bottom:.45rem;
}

.ss-delivery-stat-card p{
  margin:0;
  color:rgba(229,231,235,.72);
  line-height:1.62;
  font-size:.92rem;
}

.ss-delivery-detail-section{
  position:relative;
}

.ss-delivery-phase-grid{
  display:grid;
  gap:1.2rem;
}

.ss-delivery-phase{
  scroll-margin-top:7rem;
  display:grid;
  grid-template-columns:6rem minmax(0, 1fr);
  gap:1.1rem;
  align-items:start;
  padding:1.25rem;
  border-radius:30px;
  border:1px solid rgba(148,163,184,.18);
  background:
    radial-gradient(circle at 8% 15%, rgba(8,214,214,.1), transparent 28%),
    linear-gradient(145deg, rgba(15,23,42,.88), rgba(2,6,23,.92));
  box-shadow:0 24px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}

.ss-delivery-phase-number{
  position:sticky;
  top:6.5rem;
  width:5rem;
  height:5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:26px;
  color:#020617;
  font-weight:900;
  font-size:1.3rem;
  background:linear-gradient(135deg, #cffafe, #12dfe3 55%, #0891b2);
  box-shadow:0 18px 46px rgba(8,214,214,.18);
}

.ss-delivery-phase-body{
  max-width:880px;
}

.ss-delivery-phase-body h2{
  margin:.15rem 0 .7rem;
  color:#ecfeff;
  font-size:clamp(1.35rem, 1.2vw + 1rem, 2.1rem);
  line-height:1.18;
  letter-spacing:-.045em;
}

.ss-delivery-phase-body p{
  color:rgba(229,231,235,.76);
  line-height:1.75;
  margin:.65rem 0;
}

.ss-delivery-phase-body .ss-list{
  margin-top:1rem;
}

.ss-delivery-cta{
  margin-top:1.5rem;
  padding:clamp(1.3rem, 3vw, 2.4rem);
  border-radius:30px;
  text-align:center;
  border:1px solid rgba(8,214,214,.22);
  background:
    radial-gradient(circle at 50% 0%, rgba(8,214,214,.16), transparent 34%),
    linear-gradient(145deg, rgba(15,23,42,.9), rgba(2,6,23,.94));
  box-shadow:0 24px 90px rgba(0,0,0,.32);
}

.ss-delivery-cta h2{
  margin:0 0 .45rem;
  color:#ecfeff;
  font-size:clamp(1.4rem, 1vw + 1rem, 2rem);
}

.ss-delivery-cta p{
  max-width:720px;
  margin:0 auto 1.1rem;
  color:rgba(229,231,235,.72);
  line-height:1.7;
}

@media (max-width: 980px){
  .ss-delivery-hero-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  .ss-delivery-hero{
    padding-top:6.2rem;
  }

  .ss-delivery-hero-grid{
    grid-template-columns:1fr;
  }

  .ss-delivery-phase{
    grid-template-columns:1fr;
    padding:1rem;
    border-radius:24px;
  }

  .ss-delivery-phase-number{
    position:relative;
    top:auto;
    width:3.8rem;
    height:3.8rem;
    border-radius:20px;
  }
}

/* =========================
   Sploitsec custom cursor
   Cyanen / cyan / cyan theme
   ========================= */
@media (hover: hover) and (pointer: fine){
  body.ss-cursor-enabled,
  body.ss-cursor-enabled *{
    cursor:none !important;
  }

  .ss-cursor{
    --cursor-size:34px;
    --cursor-scale:1;
    --cursor-ring:rgba(8,214,214,.88);
    --cursor-core:#12dfe3;
    --cursor-hot:#08cfd1;
    position:fixed;
    left:0;
    top:0;
    width:var(--cursor-size);
    height:var(--cursor-size);
    z-index:2147483000;
    pointer-events:none;
    opacity:0;
    transform:translate3d(-100px, -100px, 0) scale(var(--cursor-scale));
    transform-origin:center;
    mix-blend-mode:screen;
    transition:opacity .18s ease, filter .22s ease;
    will-change:transform, opacity;
  }

  .ss-cursor.is-visible{
    opacity:1;
  }

  .ss-cursor__ring,
  .ss-cursor__dot,
  .ss-cursor__halo,
  .ss-cursor__spark,
  .ss-cursor__blade,
  .ss-cursor__tail{
    position:absolute;
    inset:0;
    margin:auto;
    pointer-events:none;
  }

  .ss-cursor__halo{
    width:58px;
    height:58px;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    border-radius:999px;
    background:radial-gradient(circle, rgba(8,214,214,.20), rgba(14,211,211,.08) 42%, transparent 70%);
    filter:blur(8px);
    animation:ssCursorPulse 2.4s ease-in-out infinite;
  }

  .ss-cursor__ring{
    width:34px;
    height:34px;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%) rotate(0deg);
    border:1.5px solid var(--cursor-ring);
    border-radius:999px;
    box-shadow:
      0 0 14px rgba(8,214,214,.38),
      inset 0 0 12px rgba(14,211,211,.16);
    background:linear-gradient(135deg, rgba(254,243,199,.06), rgba(8,214,214,.025));
    animation:ssCursorRingSpin 5.5s linear infinite;
  }

  .ss-cursor__ring::before,
  .ss-cursor__ring::after{
    content:"";
    position:absolute;
    width:5px;
    height:5px;
    border-radius:999px;
    background:linear-gradient(135deg, #ecfeff, #12dfe3 52%, #06b6d4);
    box-shadow:0 0 12px rgba(8,214,214,.85);
  }

  .ss-cursor__ring::before{
    right:1px;
    top:4px;
  }

  .ss-cursor__ring::after{
    left:2px;
    bottom:5px;
  }

  .ss-cursor__dot{
    width:8px;
    height:8px;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%) rotate(45deg);
    border-radius:2px;
    background:linear-gradient(135deg, #ecfeff, var(--cursor-core) 48%, var(--cursor-hot));
    box-shadow:0 0 18px rgba(8,214,214,.75);
    transition:width .18s ease, height .18s ease, border-radius .18s ease, transform .18s ease;
  }

  .ss-cursor__spark{
    width:7px;
    height:7px;
    left:50%;
    top:50%;
    transform:translate(15px, -15px) rotate(45deg);
    background:#cffafe;
    border-radius:1.5px;
    box-shadow:0 0 14px rgba(254,243,199,.78);
    animation:ssCursorSpark 1.35s ease-in-out infinite;
  }

  .ss-cursor__blade{
    width:18px;
    height:7px;
    left:50%;
    top:50%;
    transform:translate(-24px, 14px) rotate(-28deg);
    border-radius:999px;
    background:linear-gradient(90deg, transparent, rgba(8,214,214,.88), rgba(6,182,212,.95));
    filter:drop-shadow(0 0 8px rgba(6,182,212,.48));
    animation:ssCursorBlade 1.9s ease-in-out infinite;
  }

  .ss-cursor__tail{
    width:18px;
    height:18px;
    left:50%;
    top:50%;
    transform:translate(-28px, -26px) rotate(18deg);
    clip-path:polygon(50% 0, 100% 100%, 0 100%);
    background:linear-gradient(135deg, rgba(254,243,199,.95), rgba(8,214,214,.72), rgba(6,182,212,.28));
    opacity:.72;
    filter:drop-shadow(0 0 9px rgba(8,214,214,.52));
    animation:ssCursorTail 2.15s ease-in-out infinite;
  }

  .ss-cursor.is-interactive{
    filter:drop-shadow(0 0 18px rgba(8,214,214,.34));
  }

  .ss-cursor.is-interactive .ss-cursor__ring{
    width:48px;
    height:48px;
    border-color:rgba(254,243,199,.95);
    background:radial-gradient(circle, rgba(8,214,214,.16), rgba(6,182,212,.06) 62%, transparent 72%);
    box-shadow:
      0 0 24px rgba(8,214,214,.52),
      inset 0 0 18px rgba(14,211,211,.22);
    animation-duration:2.7s;
  }

  .ss-cursor.is-interactive .ss-cursor__dot{
    width:13px;
    height:13px;
    border-radius:4px;
    transform:translate(-50%, -50%) rotate(135deg);
  }

  .ss-cursor.is-interactive .ss-cursor__spark{
    transform:translate(22px, -22px) rotate(45deg);
  }

  .ss-cursor.is-link .ss-cursor__tail{
    opacity:1;
    transform:translate(-34px, -30px) rotate(42deg) scale(1.12);
  }

  .ss-cursor.is-text .ss-cursor__ring{
    width:22px;
    height:42px;
    border-radius:18px;
  }

  .ss-cursor.is-text .ss-cursor__dot{
    width:3px;
    height:24px;
    border-radius:999px;
    transform:translate(-50%, -50%) rotate(0deg);
  }

  .ss-cursor.is-pressed .ss-cursor__ring{
    width:28px;
    height:28px;
    border-color:#06b6d4;
  }

  .ss-cursor.is-pressed .ss-cursor__dot{
    transform:translate(-50%, -50%) rotate(225deg) scale(.72);
  }

  body.ss-cursor-enabled a,
  body.ss-cursor-enabled button,
  body.ss-cursor-enabled input,
  body.ss-cursor-enabled textarea,
  body.ss-cursor-enabled select,
  body.ss-cursor-enabled summary,
  body.ss-cursor-enabled [role="button"],
  body.ss-cursor-enabled [data-professional-step],
  body.ss-cursor-enabled .ss-card,
  body.ss-cursor-enabled .ss-btn{
    cursor:none !important;
  }
}

@keyframes ssCursorRingSpin{
  to{ transform:translate(-50%, -50%) rotate(360deg); }
}

@keyframes ssCursorPulse{
  0%, 100%{ transform:translate(-50%, -50%) scale(.86); opacity:.72; }
  50%{ transform:translate(-50%, -50%) scale(1.08); opacity:1; }
}

@keyframes ssCursorSpark{
  0%, 100%{ opacity:.42; transform:translate(13px, -13px) rotate(45deg) scale(.82); }
  50%{ opacity:1; transform:translate(19px, -19px) rotate(135deg) scale(1.15); }
}

@keyframes ssCursorBlade{
  0%, 100%{ opacity:.46; transform:translate(-22px, 13px) rotate(-28deg) scaleX(.75); }
  50%{ opacity:.98; transform:translate(-29px, 19px) rotate(-18deg) scaleX(1.08); }
}

@keyframes ssCursorTail{
  0%, 100%{ opacity:.38; transform:translate(-25px, -24px) rotate(18deg) scale(.78); }
  50%{ opacity:.82; transform:translate(-31px, -30px) rotate(34deg) scale(1.02); }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce){
  .ss-cursor,
  .ss-cursor *{
    animation:none !important;
    transition:none !important;
  }
}

/* ---------------------------------------------------------
   2026 service-card media hover motion
   Adds a slow, premium shake to service images while hovered.
--------------------------------------------------------- */
@keyframes ss-service-media-slow-shake{
  0%{
    transform: scale(var(--ss-media-zoom)) translate3d(0, 0, 0) rotate(0deg);
  }
  18%{
    transform: scale(var(--ss-media-zoom)) translate3d(3px, -2px, 0) rotate(.45deg);
  }
  36%{
    transform: scale(var(--ss-media-zoom)) translate3d(-3px, 2px, 0) rotate(-.4deg);
  }
  54%{
    transform: scale(var(--ss-media-zoom)) translate3d(2px, 3px, 0) rotate(.32deg);
  }
  72%{
    transform: scale(var(--ss-media-zoom)) translate3d(-2px, -2px, 0) rotate(-.28deg);
  }
  100%{
    transform: scale(var(--ss-media-zoom)) translate3d(0, 0, 0) rotate(0deg);
  }
}

.ss-card--service .ss-card-media,
.ss-card--home-service .ss-card-media,
.ss-related-service-card .ss-card-media{
  isolation:isolate;
}

.ss-card--service .ss-card-media img,
.ss-card--home-service .ss-card-media img,
.ss-related-service-card .ss-card-media img{
  transform-origin:center center;
  backface-visibility:hidden;
}

.ss-card--service:hover .ss-card-media img,
.ss-card--service:focus-visible .ss-card-media img,
.ss-card--home-service:hover .ss-card-media img,
.ss-card--home-service:focus-visible .ss-card-media img,
.ss-related-service-card:hover .ss-card-media img,
.ss-related-service-card:focus-visible .ss-card-media img{
  animation:ss-service-media-slow-shake 2.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce){
  .ss-card--service:hover .ss-card-media img,
  .ss-card--service:focus-visible .ss-card-media img,
  .ss-card--home-service:hover .ss-card-media img,
  .ss-card--home-service:focus-visible .ss-card-media img,
  .ss-related-service-card:hover .ss-card-media img,
  .ss-related-service-card:focus-visible .ss-card-media img{
    animation:none;
  }
}

/* Expanded service directory visibility fix */
.ss-service-count-grid{
  margin-top: 1.6rem;
}
.ss-service-location-pills{
  flex-wrap: wrap;
}
.ss-service-index-panel{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:.55rem;
}
.ss-service-index-link{
  display:flex;
  align-items:center;
  min-height: 3rem;
  padding:.72rem .85rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:1rem;
  background:rgba(15,23,42,.64);
  color:#f8fafc;
  font-size:.86rem;
  line-height:1.25;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.ss-service-index-link:hover,
.ss-service-index-link:focus-visible{
  transform: translateY(-2px);
  border-color:rgba(8,214,214,.55);
  background:rgba(30,41,59,.82);
}
.ss-footer-service-col{
  grid-column: span 2;
}
.ss-footer-links--all-services{
  max-height:none;
  grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width: 1000px){
  .ss-service-index-panel{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ss-footer-service-col{ grid-column: span 1; }
  .ss-footer-links--all-services{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .ss-service-index-panel{ grid-template-columns: minmax(0,1fr); }
  .ss-footer-links--all-services{ grid-template-columns: minmax(0,1fr); }
}

/* ---------------------------------------------------------
   Final cPanel build: clean responsive footer
--------------------------------------------------------- */
.ss-footer{
  border-top:1px solid rgba(148,163,184,.18);
  background:linear-gradient(180deg, rgba(2,6,23,.96), rgba(15,23,42,.98));
}
.ss-footer-inner{
  max-width:1180px;
  padding:2.2rem 1.25rem 1.8rem;
}
.ss-footer-top{
  display:flex;
  justify-content:space-between;
  gap:1.25rem;
  align-items:flex-start;
  padding-bottom:1.4rem;
  margin-bottom:1.35rem;
  border-bottom:1px solid rgba(148,163,184,.14);
}
.ss-footer-brand-block{ max-width:760px; }
.ss-footer-tagline{
  margin:.45rem 0 0;
  max-width:760px;
  color:var(--ss-muted);
  line-height:1.7;
}
.ss-footer-cta-row{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  justify-content:flex-end;
  min-width:260px;
}
.ss-footer-grid--clean{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.6fr) minmax(0,1.15fr) minmax(0,1fr);
  gap:1.35rem 1.6rem;
  align-items:start;
}
.ss-footer-col-title{
  color:#f8fafc;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  margin-bottom:.65rem;
}
.ss-footer-links,
.ss-footer-bottom-links{
  display:flex;
  flex-direction:column;
  gap:.34rem;
}
.ss-footer-links a,
.ss-footer-bottom-links a,
.ss-footer-links span{
  color:var(--ss-muted);
  text-decoration:none;
  line-height:1.38;
}
.ss-footer-links a:hover,
.ss-footer-bottom-links a:hover,
.ss-footer-links a:focus-visible,
.ss-footer-bottom-links a:focus-visible{
  color:#cffafe;
}
.ss-footer-links--two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.34rem .85rem;
}
.ss-footer-service-directory{
  margin-top:1.45rem;
  border:1px solid rgba(148,163,184,.18);
  border-radius:1.1rem;
  background:rgba(15,23,42,.54);
  overflow:hidden;
}
.ss-footer-service-directory summary{
  cursor:pointer;
  list-style:none;
  padding:1rem 1.1rem;
  color:#f8fafc;
  font-weight:800;
}
.ss-footer-service-directory summary::-webkit-details-marker{ display:none; }
.ss-footer-service-directory summary::after{
  content:'+';
  float:right;
  color:var(--ss-accent);
  font-weight:900;
}
.ss-footer-service-directory[open] summary::after{ content:'–'; }
.ss-footer-directory-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.25rem;
  padding:0 1.1rem 1.1rem;
}
.ss-footer-directory-group{
  border-top:1px solid rgba(148,163,184,.12);
  padding-top:.9rem;
}
.ss-footer-directory-title{
  color:#e5e7eb;
  font-size:.86rem;
  font-weight:800;
  margin-bottom:.55rem;
}
.ss-footer-directory-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.3rem .75rem;
}
.ss-footer-bottom{
  margin-top:1.45rem;
  padding-top:1rem;
  border-top:1px solid rgba(148,163,184,.14);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  color:var(--ss-muted);
}
.ss-footer-bottom-links{
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.45rem 1rem;
}
@media (max-width:1080px){
  .ss-footer-top{ flex-direction:column; }
  .ss-footer-cta-row{ justify-content:flex-start; min-width:0; }
  .ss-footer-grid--clean{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .ss-footer-grid--clean,
  .ss-footer-links--two-col,
  .ss-footer-directory-grid,
  .ss-footer-directory-links{ grid-template-columns:minmax(0,1fr); }
  .ss-footer-bottom{ flex-direction:column; align-items:flex-start; }
  .ss-footer-bottom-links{ justify-content:flex-start; }
}
