

.smx-page{
  --ink-900:#070B14;
  --ink-800:#0B0F1E;
  --ink-700:#121a2e;
  --paper-100:#F4F8FF;
  --paper-000:#FFFFFF;
  --blue-500:#2F6BFF;
  --blue-400:#4E86FF;
  --blue-300:#7FACFF;
  --blue-200:#B9D2FF;
  --line-dark:rgba(127,172,255,0.18);
  --line-light:rgba(11,15,30,0.10);
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'JetBrains Mono', monospace;
  
  color: var(--ink-900);
  overflow-x: hidden;
}

.smx-page *{ box-sizing: border-box; }

.smx-page section{ padding: 30px 0; position: relative; }
.smx-page .smx-dark{ background: var(--ink-800); color: var(--paper-100); }
.smx-page .smx-light{ background: var(--paper-100); color: var(--ink-900); }
.smx-page .smx-white{ background: var(--paper-000); color: var(--ink-900); }

.smx-page .smx-stack{ display:flex; flex-direction:column; gap:30px; align-items:center; text-align:center; }
.smx-page .smx-wrap{ max-width: 1180px; margin: 0 auto; }
.smx-page .smx-narrow{ max-width: 760px; margin: 0 auto; }

/* ---- Type ---- */
.smx-page h1,.smx-page h2,.smx-page h3{
  
  font-weight: 600;
  line-height: 1.15;
  margin: 0;
  text-align: center;
}
.smx-page .smx-grad-text{
  background: linear-gradient(100deg,#7FACFF 0%, #2F6BFF 45%, #B9D2FF 100%);
  background-size: 220% 220%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: smxGradShift 8s ease-in-out infinite;
}
@keyframes smxGradShift{
  0%,100%{ background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
}
.smx-page h1{ font-size: 2.6rem; letter-spacing: -0.01em; }
.smx-page h2{ font-size: clamp(1.6rem, 3.4vw, 2.4rem); letter-spacing: -0.01em; }
.smx-page h3{ font-size: clamp(1.05rem, 1.8vw, 1.3rem); }
.smx-page p{ line-height: 1.75; font-size: 1.02rem; margin:0; }
.smx-page .smx-eyebrow{
 
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--blue-400);
  display:inline-flex; align-items:center; gap:10px;
}
.smx-page .smx-eyebrow::before,.smx-page .smx-eyebrow::after{
  content:""; width:22px; height:1px; background: currentColor; opacity:.6;
}

/* ---- CTA button — placeholder class per client instruction ---- */
.smx-page .modal-cta-btn{
  
  font-weight: 600;
  font-size: 0.95rem;
  padding: 15px 34px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(100deg,#2F6BFF,#5EA1FF);
  box-shadow: 0 10px 30px -8px rgba(47,107,255,0.55);
  position: relative;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.smx-page .modal-cta-btn::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);
  transform: translateX(-120%) skewX(-15deg);
  transition: transform .7s ease;
}
.smx-page .modal-cta-btn:hover{ transform: translateY(-3px); box-shadow: 0 16px 40px -8px rgba(47,107,255,0.7); }
.smx-page .modal-cta-btn:hover::after{ transform: translateX(120%) skewX(-15deg); }
.smx-page .modal-cta-btn.smx-ghost{
  background: transparent; color: var(--paper-100);
  box-shadow: none; border: 1px solid var(--line-dark);
}
.smx-page .smx-light .modal-cta-btn.smx-ghost{ color: var(--ink-900); border-color: var(--line-light); }

/* ---- Signal rail (signature element) ---- */
.smx-rail{
  position:absolute; left:50%; top:0; bottom:0; width:2px; transform: translateX(-50%);
  background: linear-gradient(180deg, transparent, var(--line-dark) 10%, var(--line-dark) 90%, transparent);
  pointer-events:none; z-index:0;
}
.smx-light .smx-rail, .smx-white .smx-rail{ background: linear-gradient(180deg, transparent, var(--line-light) 10%, var(--line-light) 90%, transparent); }
.smx-rail-pulse{
  position:absolute; left:-3px; top:-40px; width:8px; height:120px; border-radius:4px;
  background: linear-gradient(180deg, transparent, var(--blue-400), transparent);
  filter: blur(1px);
  animation: smxPulseDown 5.5s linear infinite;
}
@keyframes smxPulseDown{
  0%{ top:-120px; opacity:0; }
  8%{ opacity:1; }
  92%{ opacity:1; }
  100%{ top:110%; opacity:0; }
}

/* ---- generic reveal-on-scroll ---- */
.smx-reveal{ opacity:0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1); }
.smx-reveal.smx-in{ opacity:1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce){
  .smx-page *{ animation: none !important; transition: none !important; }
}

/* =========================================================
   1. HERO
   ========================================================= */
.smx-hero{
  min-height: 100vh;
  display:flex; align-items:center; justify-content:center;
  padding-top: 120px; padding-bottom: 100px;
  overflow:hidden;

  /* ↓↓↓ new: background image ↓↓↓ */
  background-image: url('../images/application-modernization/application-modernization.webp')!important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.smx-hero-field{
  position:absolute; inset:0; z-index:0;
  background:
    linear-gradient(180deg, rgba(7,11,20,0.82), rgba(7,11,20,0.72)),
    radial-gradient(60% 50% at 50% 0%, rgba(47,107,255,0.28), transparent 70%),
    radial-gradient(40% 40% at 85% 80%, rgba(94,161,255,0.14), transparent 70%);
}
.smx-hero-grid{
  position:absolute; inset:0; z-index:0; opacity:.35;
  background-image:
    linear-gradient(var(--line-dark) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-dark) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(60% 60% at 50% 30%, black, transparent);
          mask-image: radial-gradient(60% 60% at 50% 30%, black, transparent);
  animation: smxDrift 40s linear infinite;
}
@keyframes smxDrift{ from{ background-position: 0 0;} to{ background-position: 64px 128px; } }
.smx-hero-content{ position:relative; z-index:2; max-width: 900px; margin:0 auto; }
.smx-hero-highlights{
  display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top: 8px;
}
.smx-hero-highlights span{
  font-size:.78rem; letter-spacing:.02em;
  padding: 9px 16px; border-radius: 999px;
  border:1px solid var(--line-dark); color: var(--blue-200);
  background: rgba(127,172,255,0.05);
  animation: smxFloatChip 6s ease-in-out infinite;
}
.smx-hero-highlights span:nth-child(2n){ animation-delay: -1.4s; }
.smx-hero-highlights span:nth-child(3n){ animation-delay: -2.8s; }
@keyframes smxFloatChip{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-5px);} }
.smx-hero-cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* =========================================================
   2. TRUSTED — flowing current strip
   ========================================================= */
.smx-trust-strip{
    background: #07080b;
  border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light);
  padding: 26px 0; overflow:hidden; position:relative;
}
.smx-trust-track{ display:flex; gap:64px; width:max-content; animation: smxScrollX 26s linear infinite; }
.smx-trust-track span{
  font-size:.85rem; letter-spacing:.14em; text-transform:uppercase;
  color: var(--ink-700); opacity:.55; white-space:nowrap;
}
@keyframes smxScrollX{ from{ transform: translateX(0);} to{ transform: translateX(-50%);} }
.sg-logos {
  --line-2: rgba(255, 255, 255, 0.12);
  padding: 26px 0;
  background: #07080b;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.sg-logos__track {
    background: #07080b;
  display: flex;
  gap: 42px;
  align-items: center;
  width: max-content;
  animation: 42s linear infinite sg-logos-marq;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent,
    #000 10%,
    #000 90%,
    transparent
  );
  mask-image: linear-gradient(
    90deg,
    transparent,
    #000 10%,
    #000 90%,
    transparent
  );
}
@keyframes sg-logos-marq {
  to {
    transform: translateX(-50%);
  }
}
.sg-logos__item {
  height: 56px;
  min-width: 150px;
  padding: 12px 22px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.025);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sg-logos__item:hover {
  transform: translateY(-2px);
  border-color: var(--line-2);
}
.sg-logos {
  min-height: 108px;
  contain: layout style;
}
.sg-logos__item img {
  width: 118px;
  height: 34px;
  max-width: 118px;
  max-height: 34px;
  object-fit: contain;
  display: block;
  aspect-ratio: 118/34;
}

/* =========================================================
   3. PAIN POINTS — fault-line cluster (asymmetric, non-grid)
   ========================================================= */
.smx-fault-cluster{
  display:grid; grid-template-columns: repeat(6,1fr); gap:18px; margin-top: 20px;
}
.smx-fault-card{
  grid-column: span 3;
  border:1px solid var(--line-dark); border-radius: 18px;
  padding: 26px 22px; background: linear-gradient(180deg, rgba(127,172,255,0.05), transparent);
  text-align:center; position:relative;
  transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .4s ease, background .4s ease;
}
.smx-fault-card:hover{ transform: translateY(-6px); border-color: var(--blue-400); background: rgba(47,107,255,0.08); }
.smx-fault-card:nth-child(5),.smx-fault-card:nth-child(6){ grid-column: span 3; }
.smx-fault-card:nth-child(1),.smx-fault-card:nth-child(4){ grid-column: span 4; }
.smx-fault-card:nth-child(2),.smx-fault-card:nth-child(3){ grid-column: span 2; }
.smx-fault-mark{ font-size:.7rem; color: var(--blue-300); letter-spacing:.15em; }
@media (max-width:780px){
  .smx-fault-cluster{ grid-template-columns: 1fr; }
  .smx-fault-card, .smx-fault-card:nth-child(1),.smx-fault-card:nth-child(2),.smx-fault-card:nth-child(3),.smx-fault-card:nth-child(4),.smx-fault-card:nth-child(5),.smx-fault-card:nth-child(6){ grid-column: span 1; }
}
/* =========================================================
   4. WHAT IS — definition dossier
   ========================================================= */
.smx-def-grid{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 64px;
  align-items:start;
  margin-top: 10px;
}
.smx-def-left{
  display:flex; flex-direction:column; gap:20px;
  text-align:left;
}
.smx-def-left .smx-eyebrow{ justify-content:flex-start; }
.smx-def-left h2{ text-align:left; }

.smx-def-spectrum{ display:flex; align-items:center; gap:14px; margin: 4px 0 2px; }
.smx-def-spectrum-track{
  flex:1; height:5px; border-radius:999px;
  background: linear-gradient(90deg, var(--blue-200), var(--blue-500));
  position:relative;
}
.smx-def-spectrum-track::before,.smx-def-spectrum-track::after{
  content:""; position:absolute; top:50%; width:9px; height:9px; border-radius:50%;
  background:var(--paper-000); border:2px solid var(--blue-500); transform:translateY(-50%);
}
.smx-def-spectrum-track::before{ left:-4px; }
.smx-def-spectrum-track::after{ right:-4px; background:var(--blue-500); border-color:var(--blue-500); }
.smx-def-spectrum-label{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-700); opacity:.55; white-space:nowrap; }

.smx-def-right{ position:sticky; top: 110px; }
.smx-def-panel{
  background: var(--ink-800); color: var(--paper-100);
  border-radius: 22px; padding: 34px 30px 26px;
  position:relative; overflow:hidden;
}
.smx-def-panel::before{
  content:""; position:absolute; inset:0; z-index:0;
  background: radial-gradient(60% 60% at 100% 0%, rgba(47,107,255,0.28), transparent 70%);
}
.smx-def-panel-label{
  position:relative; z-index:1; display:block;
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  color: var(--blue-300); margin-bottom: 22px;
}
.smx-def-ruler{
  position:relative; z-index:1; list-style:none; margin:0; padding-left:24px;
}
.smx-def-ruler::before{
  content:""; position:absolute; left:5px; top:8px; bottom:8px; width:1px;
  background: linear-gradient(180deg, var(--blue-400), transparent);
}
.smx-def-ruler li{
  position:relative; padding: 15px 0; font-size:.94rem; line-height:1.55;
  border-bottom: 1px solid var(--line-dark);
  transition: color .3s ease;
}
.smx-def-ruler li:last-child{ border-bottom:none; padding-bottom:0; }
.smx-def-ruler li:first-child{ padding-top:0; }
.smx-def-ruler li::before{
  content:""; position:absolute; left:-24px; top:26px; width:10px; height:1px; background: var(--blue-400);
}
.smx-def-ruler li::after{
  content:""; position:absolute; left:-28px; top:22px; width:9px; height:9px; border-radius:50%;
  background: var(--ink-800); border:2px solid var(--blue-400);
}
.smx-def-ruler li:hover{ color: var(--blue-200); }

@media (max-width:900px){
  .smx-def-grid{ grid-template-columns: 1fr; gap:36px; }
  .smx-def-right{ position:static; }
}
/* =========================================================
   5. SERVICES — zigzag timeline
   ========================================================= */
.smx-zigzag{ position:relative; max-width: 980px; margin: 44px auto 0; padding: 6px 0; }
.smx-zigzag::before{
  content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; transform:translateX(-50%);
  background: linear-gradient(180deg, var(--line-dark), var(--blue-400) 50%, var(--line-dark));
}
.smx-zig-item{ position:relative; width:50%; padding: 30px 46px; box-sizing:border-box; }
.smx-zig-item:nth-child(odd){ left:0; text-align:right; }
.smx-zig-item:nth-child(even){ left:50%; text-align:left; }

.smx-zig-node{
  position:absolute; top:34px; width:44px; height:44px; border-radius:50%;
  background: var(--ink-700); border:1px solid var(--blue-400);
  box-shadow: 0 0 20px rgba(47,107,255,.4);
  display:flex; align-items:center; justify-content:center;
  font-weight:600; color: var(--blue-200); z-index:2;
  transition: transform .3s ease, box-shadow .3s ease;
}
.smx-zig-item:nth-child(odd) .smx-zig-node{ right:-22px; }
.smx-zig-item:nth-child(even) .smx-zig-node{ left:-22px; }
.smx-zig-item:hover .smx-zig-node{ transform: scale(1.12); box-shadow: 0 0 30px rgba(47,107,255,.7); }

.smx-zig-item::after{
  content:""; position:absolute; top:54px; width:24px; height:1px; background: var(--line-dark);
}
.smx-zig-item:nth-child(odd)::after{ right:0; }
.smx-zig-item:nth-child(even)::after{ left:0; }

.smx-zig-card{
  display:inline-block; max-width:100%; text-align:left;
  background: linear-gradient(180deg, rgba(127,172,255,.06), transparent);
  border:1px solid var(--line-dark); border-radius:16px; padding:22px 24px;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, background .35s ease;
}
.smx-zig-item:hover .smx-zig-card{ transform: translateY(-4px); border-color: var(--blue-400); background: rgba(47,107,255,0.08); }
.smx-zig-card h3{ text-align:left; margin-bottom:8px; }
.smx-zig-card p{ opacity:.8; }

@media (max-width:760px){
  .smx-zigzag::before{ left:20px; }
  .smx-zig-item,
  .smx-zig-item:nth-child(odd),
  .smx-zig-item:nth-child(even){
    width:100%; left:0; text-align:left; padding:26px 10px 26px 56px;
  }
  .smx-zig-item:nth-child(odd) .smx-zig-node,
  .smx-zig-item:nth-child(even) .smx-zig-node{ left:-2px; right:auto; }
  .smx-zig-item:nth-child(odd)::after,
  .smx-zig-item:nth-child(even)::after{ left:20px; right:auto; }
  .smx-zig-card{ text-align:left; }
}

/* =========================================================
   6. 6Rs — honeycomb ring
   ========================================================= */
.smx-hive{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; max-width: 900px; margin: 30px auto 0; }
.smx-hive-cell{
  width: 220px; padding: 26px 18px; text-align:center;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  background: var(--ink-800); border:1px solid var(--line-dark);
  transition: transform .4s ease, background .4s ease, border-color .4s ease;
}
.smx-hive-cell:hover{
  transform: scale(1.06);
  background: linear-gradient(135deg, #16233f, #0d1830);
  border-color: var(--blue-400);
}
.smx-hive-cell .smx-fault-mark{ display:block; margin-bottom:10px; }

/* =========================================================
   7. TECH STACK — orbiting chip cloud
   ========================================================= */
.smx-chipcloud{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width: 980px; margin: 30px auto 0; }
.smx-chip{
  font-size:.82rem;
  padding: 10px 18px; border-radius: 999px; border:1px solid var(--line-light);
  background: var(--paper-000); color: var(--ink-800);
  animation: smxFloatChip 7s ease-in-out infinite;
  transition: border-color .3s ease, transform .3s ease;
}
.smx-chip:hover{ border-color: var(--blue-500); transform: translateY(-4px); }
.smx-chip--logo{
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.smx-chip--logo img{
  width:50px;
  height:50px;
  object-fit:contain;
  flex-shrink:0;
}
@media (max-width:520px){
  .smx-chip--logo img{ width:16px; height:16px; }
}

/* =========================================================
   8. PROCESS — animated card stack
   ========================================================= */
.smx-proc-grid{
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
  align-items:start;
  margin-top: 40px;
}
.smx-proc-left{
  position:sticky; top:110px;
  text-align:left; display:flex; flex-direction:column; gap:20px;
}
.smx-proc-left .smx-eyebrow{ justify-content:flex-start; }
.smx-proc-left h2{ text-align:left; }

.smx-proc-stack{
  display:flex; flex-direction:column; gap:10px;
  position:relative; padding-left:34px;
}
.smx-proc-stack::before{
  content:""; position:absolute; left:14px; top:10px; bottom:10px; width:1px;
  background: linear-gradient(180deg, var(--blue-400), var(--line-dark));
}

.smx-proc-card{
  position:relative;
  border:1px solid var(--line-dark); border-radius:16px;
  background: linear-gradient(180deg, rgba(127,172,255,.04), transparent);
  overflow:hidden; cursor:pointer;
  transition: background .4s ease, border-color .4s ease, transform .4s cubic-bezier(.2,.8,.2,1);
}
.smx-proc-card::before{
  content:""; position:absolute; left:-27px; top:22px; width:10px; height:10px; border-radius:50%;
  background: var(--ink-700); border:2px solid var(--blue-400);
  transition: background .3s ease, box-shadow .3s ease;
}
.smx-proc-card:hover::before,
.smx-proc-card:focus::before{ background: var(--blue-400); box-shadow: 0 0 14px rgba(47,107,255,.8); }

.smx-proc-card-head{ display:flex; align-items:center; gap:14px; padding:18px 22px; }
.smx-proc-num{ font-family: var(--font-mono); font-size:.8rem; color: var(--blue-300); }
.smx-proc-card-head h3{ text-align:left; font-size:1.02rem; margin:0; }

.smx-proc-card-body{
  max-height:0; opacity:0; transform: translateY(-6px);
  transition: max-height .45s cubic-bezier(.2,.8,.2,1), opacity .35s ease, transform .35s ease;
  padding: 0 22px;
}
.smx-proc-card-body p{ opacity:.75; font-size:.9rem; padding-bottom:20px; }

.smx-proc-card:hover,
.smx-proc-card:focus{
  border-color: var(--blue-400);
  background: rgba(47,107,255,0.08);
  transform: translateX(6px);
  outline:none;
}
.smx-proc-card:hover .smx-proc-card-body,
.smx-proc-card:focus .smx-proc-card-body{
  max-height:200px; opacity:1; transform: translateY(0);
}

@media (max-width:900px){
  .smx-proc-grid{ grid-template-columns:1fr; gap:30px; }
  .smx-proc-left{ position:static; text-align:center; }
  .smx-proc-left .smx-eyebrow{ justify-content:center; }
  .smx-proc-left h2{ text-align:center; }
  .smx-proc-stack{ padding-left:28px; }
}

/* =========================================================
   9. COMPARISON — interactive drag reveal
   ========================================================= */
.smx-compare{
  position:relative; max-width: 880px; margin: 34px auto 0; border-radius:20px; overflow:hidden;
  border:1px solid var(--line-light); user-select:none;
}
.smx-compare-row{ display:flex; }
.smx-compare-col{ flex:1; padding: 26px 22px; }
.smx-compare-col.legacy{ background: #0d1220; color:#c9d3ea; }
.smx-compare-col.modern{ background: linear-gradient(160deg,#0e1a3a,#0B0F1E); color:#eaf1ff; }
.smx-compare-item{ display:flex; justify-content:space-between; gap:14px; padding: 12px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:.92rem; }
.smx-compare-item:last-child{ border-bottom:none; }
.smx-compare-label{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; opacity:.6; display:block; margin-bottom:2px; }
.smx-compare-head{ text-align:center; padding: 16px;  letter-spacing:.12em; text-transform:uppercase; font-size:.78rem; }
.smx-compare-head.legacy{ background:#080b14; color:#8b96b8; }
.smx-compare-head.modern{ background:#0a1330; color: var(--blue-200); }

/* =========================================================
   10. BENEFITS — dark glass cards (always-on gradient)
   ========================================================= */
.smx-glass-sec{ overflow:hidden; padding-top:60px; padding-bottom:60px; }

.smx-glass-orb{
  position:absolute; border-radius:50%; filter: blur(70px); z-index:0; pointer-events:none;
  opacity:.35;
}
.smx-glass-orb.o1{
  width:420px; height:420px; top:-120px; left:-100px;
  background: radial-gradient(circle, rgba(47,107,255,0.45), transparent 70%);
  animation: smxOrbFloat 14s ease-in-out infinite;
}
.smx-glass-orb.o2{
  width:360px; height:360px; bottom:-140px; right:-80px;
  background: radial-gradient(circle, rgba(127,172,255,0.35), transparent 70%);
  animation: smxOrbFloat 18s ease-in-out infinite reverse;
}
.smx-glass-orb.o3{
  width:280px; height:280px; top:40%; left:50%;
  background: radial-gradient(circle, rgba(94,161,255,0.25), transparent 70%);
  animation: smxOrbFloat 20s ease-in-out infinite;
}
@keyframes smxOrbFloat{
  0%,100%{ transform: translate(0,0); }
  50%{ transform: translate(30px,-30px); }
}

.smx-glass-grid{
  position:relative; z-index:2;
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:18px;
  max-width:1080px; margin: 34px auto 0;
}

.smx-glass-card{
  flex: 1 1 220px;
  max-width: 250px;
  border-radius:20px; padding: 28px 22px; text-align:center;
  background: linear-gradient(135deg, rgba(11,15,30,0.9), rgba(47,107,255,0.45));
  border: 1px solid rgba(255,255,255,0.1);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 10px 34px rgba(11,15,30,0.2), inset 0 1px 0 rgba(255,255,255,0.08);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .4s ease, box-shadow .4s ease;
}
.smx-glass-card h3{ font-size:1rem; color: #ffffff; }
.smx-glass-card p{ font-size:.88rem; opacity:.9; margin-top:8px; color: #dce8ff; }
.smx-glass-card:hover{
  transform: translateY(-8px);
  border-color: rgba(47,107,255,0.7);
  box-shadow: 0 18px 44px rgba(47,107,255,0.32), inset 0 1px 0 rgba(255,255,255,0.14);
}

@media(max-width:820px){
  .smx-glass-card:first-child{ flex-basis: 100%; max-width: 460px; }
}
@media(max-width:520px){
  .smx-glass-card, .smx-glass-card:first-child{ flex-basis: 100%; max-width: 100%; }
  .smx-glass-orb{ display:none; }
}

/* =========================================================
   11. INDUSTRIES — dual-direction current belts
   ========================================================= */
.smx-belt{ overflow:hidden; padding: 6px 0; -webkit-mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent); mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent); }
.smx-belt-track{ display:flex; gap:14px; width:max-content; }
.smx-belt-track.a{ animation: smxScrollX 50s linear infinite; }
.smx-belt-track.b{ animation: smxScrollXrev 50s linear infinite; }
@keyframes smxScrollXrev{ from{ transform: translateX(-50%);} to{ transform: translateX(0);} }
.smx-belt-pill{
  padding: 12px 22px; border-radius: 14px; border:1px solid var(--line-dark);
  background: rgba(127,172,255,0.05); white-space:nowrap;
  transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
.smx-belt-pill:hover{ background: rgba(47,107,255,0.12); border-color: var(--blue-400); transform: translateY(-3px); }
.smx-belt-pill a{
  display:flex; align-items:center; gap:10px;
  color: var(--blue-200); text-decoration:none;
}
.smx-belt-icon{
  width:22px; height:22px; object-fit:contain; flex-shrink:0;
}
.smx-belt-pill h3{ font-weight:600; margin:0; }
.smx-belt-pill a h3{ border-bottom:1px solid transparent; transition: border-color .3s ease; }
.smx-belt-pill a:hover h3{ border-color: var(--blue-200); }

/* =========================================================
   12. COMPLIANCE — expanding capsule groups (dark)
   ========================================================= */
.smx-capsule-group{ max-width: 860px; margin: 30px auto 0; display:flex; flex-direction:column; gap:12px; }
.smx-capsule{
  border-radius:16px; overflow:hidden; text-align:left;
  background: #0c1226;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 10px 30px rgba(11,15,30,0.25), inset 0 1px 0 rgba(255,255,255,0.04);
  transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.smx-capsule.smx-open{
  background: linear-gradient(180deg, #0e1730, #0c1226 60%);
  border-color: rgba(47,107,255,0.55);
  box-shadow: 0 14px 40px rgba(47,107,255,0.22), inset 0 1px 0 rgba(255,255,255,0.06);
}
.smx-capsule-head{
  width:100%; background:none; border:none; cursor:pointer; padding: 18px 24px;
  display:flex; align-items:center; justify-content:center; gap:12px; text-align:center;
  font-weight:600; font-size:1rem; color: #ffffff;
}
.smx-capsule-head .smx-plus{ width:20px; height:20px; position:relative; flex-shrink:0; }
.smx-capsule-head .smx-plus::before, .smx-capsule-head .smx-plus::after{
  content:""; position:absolute; background: var(--blue-300); border-radius:2px;
}
.smx-capsule-head .smx-plus::before{ width:100%; height:2px; top:9px; left:0; }
.smx-capsule-head .smx-plus::after{ width:2px; height:100%; left:9px; top:0; transition: transform .3s ease; }
.smx-capsule.smx-open .smx-plus::after{ transform: rotate(90deg); }
.smx-capsule-body{ max-height:0; overflow:hidden; transition: max-height .45s cubic-bezier(.2,.8,.2,1); }
.smx-capsule-body-inner{ padding: 0 24px 22px; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.smx-capsule-tag{
  font-size:.78rem; padding:8px 14px; border-radius:999px;
  background: rgba(47,107,255,0.14);
  border:1px solid rgba(127,172,255,0.4);
  color: #eaf1ff;
}
/* =========================================================
   13. WHY CHOOSE — tabs
   ========================================================= */
.smx-why-tabs{
  display:grid; grid-template-columns: 0.85fr 1.15fr;
  gap: 40px; max-width: 1080px; margin: 40px auto 0;
  align-items:stretch;
}
.smx-why-tablist{ display:flex; flex-direction:column; gap:6px; }
.smx-why-tab{
  display:flex; align-items:center; gap:16px;
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding: 16px 18px; border-radius:12px;
  color: var(--paper-100); opacity:.55;
  font-family: var(--font-body); font-size:.98rem; font-weight:500;
  border-left: 2px solid transparent;
  transition: opacity .3s ease, background .3s ease, border-color .3s ease;
}
.smx-why-tab-num{ font-family: var(--font-mono); font-size:.78rem; color: var(--blue-300); flex-shrink:0; }
.smx-why-tab:hover{ opacity:.85; background: rgba(127,172,255,0.05); }
.smx-why-tab.smx-active{
  opacity:1; background: rgba(47,107,255,0.1);
  border-left-color: var(--blue-400);
}

.smx-why-panels{ position:relative; }
.smx-why-panel{
  display:none;
  background: linear-gradient(160deg, rgba(127,172,255,0.08), transparent);
  border: 1px solid var(--line-dark); border-radius:20px;
  padding: 40px 38px; height:100%;
  animation: smxFadeUp .5s cubic-bezier(.2,.8,.2,1);
}
.smx-why-panel.smx-active{ display:block; }
@keyframes smxFadeUp{
  from{ opacity:0; transform: translateY(14px); }
  to{ opacity:1; transform: translateY(0); }
}
.smx-why-panel-num{
  display:inline-block; font-family: var(--font-mono);
  font-size:.85rem; color: var(--blue-300);
  border:1px solid var(--line-dark); border-radius:999px;
  padding: 5px 14px; margin-bottom:18px;
}
.smx-why-panel h3{ text-align:left; margin-bottom:14px; font-size:1.3rem; }
.smx-why-panel p{ text-align:left; opacity:.8; font-size:1rem; }

@media (max-width:820px){
  .smx-why-tabs{ grid-template-columns: 1fr; gap:20px; }
  .smx-why-tab{ border-left:none; border-bottom:2px solid transparent; border-radius:10px 10px 0 0; }
  .smx-why-tab.smx-active{ border-left:none; border-bottom-color: var(--blue-400); }
  .smx-why-panel{ padding: 28px 24px; }
}

/* =========================================================
   15. ENGAGEMENT MODELS — dark cards + animated icons
   ========================================================= */
.smx-eng-grid{
  display:grid; grid-template-columns: repeat(4,1fr); gap:18px;
  max-width:1080px; margin:34px auto 0;
}
.smx-eng-card{
  border-radius:20px; padding: 34px 24px; text-align:center;
  background: #0c1226;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 10px 30px rgba(11,15,30,0.15);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .4s ease, background .4s ease, box-shadow .4s ease;
}
.smx-eng-card h3{ font-size:1rem; color: var(--paper-100); margin-top:20px; transition: color .35s ease; }
.smx-eng-card p{ font-size:.88rem; opacity:.65; margin-top:10px; color: var(--paper-100); transition: color .35s ease, opacity .35s ease; }

.smx-eng-icon{
  width:64px; height:64px; margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%; border: 1px solid rgba(127,172,255,0.3);
  background: rgba(47,107,255,0.08);
  color: var(--blue-300);
  transition: transform .5s cubic-bezier(.34,1.56,.64,1), background .4s ease, border-color .4s ease, color .4s ease;
}
.smx-eng-icon svg{ width:30px; height:30px; }

.smx-eng-card:hover{
  transform: translateY(-8px);
  border-color: rgba(47,107,255,0.6);
  background: linear-gradient(160deg, #101a3a, #0c1226);
  box-shadow: 0 18px 44px rgba(47,107,255,0.28);
}
.smx-eng-card:hover h3{ color:#ffffff; }
.smx-eng-card:hover p{ color:#dce8ff; opacity:.85; }
.smx-eng-card:hover .smx-eng-icon{
  transform: rotate(360deg) scale(1.12);
  background: var(--blue-500);
  border-color: var(--blue-400);
  color: #ffffff;
}

@media(max-width:820px){ .smx-eng-grid{ grid-template-columns: repeat(2,1fr); } }
@media(max-width:520px){ .smx-eng-grid{ grid-template-columns: 1fr; } }

/* =========================================================
   16. ASSESSMENT CTA
   ========================================================= */
.smx-assess-list{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:760px; margin:0 auto; }
.smx-assess-list span{ font-size:.8rem; padding:9px 16px; border-radius:999px; border:1px solid var(--line-dark); color:var(--blue-200); }

/* =========================================================
   17. FAQ — terminal reveal
   ========================================================= */
.smx-faq-list{ max-width: 800px; margin: 30px auto 0; text-align:left; }
.smx-faq-item{ border-bottom:1px solid var(--line-light); }
.smx-faq-q{
  width:100%; background:none; border:none; cursor:pointer; padding:20px 6px;
  display:flex; align-items:center; gap:14px; text-align:left;
  font-size:.95rem; color: var(--ink-900); font-weight:600;
}
.smx-faq-q .smx-caret{ color: var(--blue-500); transition: transform .3s ease; flex-shrink:0; }
.smx-faq-item.smx-open .smx-caret{ transform: rotate(90deg); }
.smx-faq-a{ max-height:0; overflow:hidden; transition: max-height .4s ease; }
.smx-faq-a-inner{ padding: 0 6px 20px 34px; opacity:.85; }

/* Sections spacing rule: exactly 30px handled via wrapper margins */
.smx-page .smx-section-gap{ height:30px; }

/* CASES STUDY */
 #CaseStudies {
    background: #07080B;
    padding: 30px 0;
    position: relative;
    overflow: hidden;
    color: #F3F4F6;
  }

  #CaseStudies::before {
    content: "";
    position: absolute;
    top: -200px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 600px;
    background: radial-gradient(circle, rgba(34,211,238,0.10) 0%, rgba(139,92,246,0.06) 45%, transparent 70%);
    filter: blur(60px);
    pointer-events: none;
  }

  #CaseStudies::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
  }

  #CaseStudies .cs-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;
    z-index: 2;
  }

  #CaseStudies .client-title {
    font-size: 56px;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-align: center;
    margin: 0 0 16px 0;
    color: #F3F4F6;
  }



  #CaseStudies .cs-subtext {
    text-align: center;
    max-width: 620px;
    margin: 0 auto 64px auto;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.55;
    color: #8A8F9B;
  }

  /* ===== VIEWPORT (shows exactly one card) ===== */
  #CaseStudies .cs-viewport {
    position: relative;
    max-width: 1140px;
    margin: 0 auto;
    overflow: hidden;
  }

  #CaseStudies .casestudies_slider {
    position: relative;
    overflow: hidden;
  }

  #CaseStudies .slider-casestudies {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
    will-change: transform;
  }

  #CaseStudies .caseStudiesSliderBox {
    flex: 0 0 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 6px;
  }

  /* ===== CARD ===== */
  #CaseStudies .case_box {
    position: relative;
    display: flex;
    align-items: center;
    gap: 36px;
    background: #0F1219;
    border-radius: 24px;
    overflow: hidden;
    padding: 40px;
    transition: transform 0.35s ease, background 0.35s ease;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    z-index: 0;
  }

  /* static border */
  #CaseStudies .case_box::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 1px;
    background: rgba(255,255,255,0.07);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    transition: opacity 0.35s ease;
    z-index: 1;
  }

  /* animated gradient border on hover */
  #CaseStudies .case_box::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 1.5px;
    background: conic-gradient(from var(--angle, 0deg), #22D3EE, #8B5CF6, #5EE6E0, #22D3EE);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.35s ease;
    animation: cs-rotate 3s linear infinite;
    z-index: 2;
  }

  @property --angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
  }

  @keyframes cs-rotate {
    to { --angle: 360deg; }
  }

  #CaseStudies .case_box:hover {
    transform: translateY(-6px);
    background: rgba(15, 18, 25, 0.92);
    box-shadow: 0 24px 60px -20px rgba(56,189,248,0.25), 0 0 40px rgba(56,189,248,0.08);
  }

  #CaseStudies .case_box:hover::before { opacity: 0; }
  #CaseStudies .case_box:hover::after { opacity: 1; }

  #CaseStudies .case_box__image {
    flex: 0 0 420px;
    width: 420px;
    height: 300px;
    position: relative;
    overflow: hidden;
    /* background: #0C0E14; */
    /* border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.07); */
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #CaseStudies .case_box__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
  }

  #CaseStudies .case_box__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  #CaseStudies .case_box__content h4 {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 14px 0;
    color: #F3F4F6;
  }

  #CaseStudies .case_box__content p {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.6;
    color: #C7CAD1;
    margin: 0 0 20px 0;
  }

  #CaseStudies .case_box__points {
    list-style: none;
    margin: 0 0 28px 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  #CaseStudies .case_box__points li {
    position: relative;
    padding-left: 22px;
    font-size: 13px;
    font-weight: 400;
    color: #8A8F9B;
    line-height: 1.4;
  }

  #CaseStudies .case_box__points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, #22D3EE, #8B5CF6);
  }

  #CaseStudies .viewCaseStudies {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 14px 22px;
    border-radius: 999px;
    background: #F3F4F6;
    color: #07080B;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: transform 0.3s ease, background 0.3s ease, gap 0.3s ease;
  }

  #CaseStudies .viewCaseStudies i {
    font-style: normal;
    transition: transform 0.3s ease;
  }

  #CaseStudies .viewCaseStudies::after {
    content: "\2192";
    transition: transform 0.3s ease;
  }

  #CaseStudies .viewCaseStudies i {
    display: none; /* font-awesome glyph not loaded, use unicode arrow above */
  }

  #CaseStudies .viewCaseStudies:hover {
    transform: translateY(-3px);
    background: #22D3EE;
  }

  #CaseStudies .viewCaseStudies:hover::after {
    transform: translateX(4px);
  }

  /* ===== DOTS / PROGRESS ===== */
  #CaseStudies .cs-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 32px;
    flex-wrap: wrap;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
  }

  #CaseStudies .cs-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: none;
    cursor: pointer;
    transition: width 0.35s ease, background 0.35s ease;
    padding: 0;
  }

  #CaseStudies .cs-dot.active {
    width: 26px;
    background: linear-gradient(90deg, #22D3EE, #8B5CF6);
  }

  /* ===== ARROWS ===== */
  #CaseStudies .caseStudiesBottomArrows {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 36px;
  }

  #CaseStudies .caseStudiesBottomArrows button {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    color: #F3F4F6;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
  }

  #CaseStudies .caseStudiesBottomArrows button:hover {
    border-color: rgba(56,189,248,0.55);
    background: rgba(56,189,248,0.08);
    transform: translateY(-2px);
  }

  #CaseStudies .caseStudiesBottomArrows i {
    font-style: normal;
  }

  #CaseStudies .caseStudiesBottomArrows .fa-arrow-left::before { content: "\2190"; }
  #CaseStudies .caseStudiesBottomArrows .fa-arrow-right::before { content: "\2192"; }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 991px) {
    #CaseStudies { padding: 90px 0; }
    #CaseStudies .client-title { font-size: 40px; }
    #CaseStudies .case_box { flex-direction: column; padding: 32px; gap: 24px; }
    #CaseStudies .case_box__image { width: 100%; max-width: 360px; height: 260px; flex: 0 0 260px; }
    #CaseStudies .case_box__content { align-items: center; text-align: center; }
    #CaseStudies .case_box__content h4 { font-size: 24px; }
    #CaseStudies .case_box__points { align-items: flex-start; }
  }

  @media (max-width: 575px) {
    #CaseStudies { padding: 30px 0; }
    #CaseStudies .cs-container { padding: 0 20px; }
    #CaseStudies .client-title { font-size: 30px; }
    #CaseStudies .cs-subtext { font-size: 15px; margin-bottom: 40px; }
    #CaseStudies .case_box { padding: 24px; }
    #CaseStudies .case_box__image { width: 100%; max-width: 280px; height: 220px; flex: 0 0 220px; }
    #CaseStudies .case_box__content h4 { font-size: 21px; }
    #CaseStudies .case_box__points li { font-size: 12px; }
    #CaseStudies .caseStudiesBottomArrows button { width: 42px; height: 42px; }
  }
.tr-gradient-text{
    background: linear-gradient(90deg, #22D3EE, #8B5CF6, #FFFFFF);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
   display:inline-block;
    padding-bottom:6px;
    line-height:inherit;
}

