/* Intro overlay */
body.intro-pending{
  overflow:hidden;
}

.site-shell{
  opacity:1;
  filter:none;
  transform:none;
  transition:opacity .95s ease, filter .95s ease, transform .95s ease;
}

body.intro-pending .site-shell{
  opacity:0;
  filter:blur(14px);
  transform:scale(1.015);
}

body.intro-complete .site-shell{
  opacity:1;
  filter:none;
  transform:none;
}

.intro-screen{
  position:fixed;
  inset:0;
  z-index:9999;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 38%, rgba(92,242,161,.16), transparent 18%),
    radial-gradient(circle at 50% 0%, rgba(92,242,161,.08), transparent 28%),
    linear-gradient(180deg, #010201 0%, #040604 48%, #010201 100%);
  display:grid;
  place-items:center;
  isolation:isolate;
}

.intro-video,
.intro-video-fallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.intro-video{
  opacity:.18;
  filter:grayscale(.12) saturate(.9) brightness(.42) contrast(1.08) blur(1px);
  transform:scale(1.08);
}

.intro-video-fallback{
  background:
    radial-gradient(circle at 60% 35%, rgba(92,242,161,.16), transparent 14%),
    radial-gradient(circle at 28% 65%, rgba(255,255,255,.06), transparent 18%),
    linear-gradient(135deg, rgba(92,242,161,.06), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 35%, rgba(0,0,0,.2));
}

.intro-gradient,
.intro-noise,
.intro-grid{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.intro-gradient{
  background:
    linear-gradient(90deg, rgba(2,3,2,.92) 0%, rgba(2,3,2,.64) 28%, rgba(2,3,2,.48) 50%, rgba(2,3,2,.74) 72%, rgba(2,3,2,.94) 100%),
    linear-gradient(180deg, rgba(2,3,2,.18), rgba(2,3,2,.54) 72%, rgba(2,3,2,.9));
}

.intro-noise{
  opacity:.07;
  mix-blend-mode:soft-light;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.3) 0 1px, transparent 1px 4px);
}

.intro-grid{
  opacity:.12;
  background:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:90px 90px;
  mask-image:radial-gradient(circle at 50% 42%, black 12%, transparent 72%);
}

.intro-screen::before,
.intro-screen::after{
  content:"";
  position:absolute;
  inset:auto;
  border-radius:999px;
  filter:blur(34px);
  pointer-events:none;
  opacity:.8;
}

.intro-screen::before{
  width:min(62vw, 760px);
  height:96px;
  left:50%;
  top:44%;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(184,255,224,.28), rgba(184,255,224,.6), rgba(184,255,224,.28), transparent);
  animation:introBeamSweep 2.6s ease-in-out infinite;
}

.intro-screen::after{
  width:30vw;
  height:30vw;
  right:-10vw;
  top:-10vw;
  background:radial-gradient(circle, rgba(92,242,161,.18), transparent 62%);
  animation:introOrbFloat 6s ease-in-out infinite alternate;
}

.intro-camera-frame,
.intro-flashes,
.intro-particles{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.intro-camera-frame{
  z-index:3;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(92,242,161,.04);
}

.frame-corner{
  position:absolute;
  width:min(7vw, 76px);
  height:min(7vw, 76px);
  border-color:rgba(218,255,236,.45);
  filter:drop-shadow(0 0 10px rgba(92,242,161,.12));
}

.corner-tl{ top:24px; left:24px; border-top:2px solid; border-left:2px solid; }
.corner-tr{ top:24px; right:24px; border-top:2px solid; border-right:2px solid; }
.corner-bl{ bottom:24px; left:24px; border-bottom:2px solid; border-left:2px solid; }
.corner-br{ bottom:24px; right:24px; border-bottom:2px solid; border-right:2px solid; }

.intro-rec{
  position:absolute;
  top:30px;
  right:34px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
}

.rec-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ff3b3b;
  box-shadow:0 0 0 rgba(255,59,59,.1);
  animation:recGlow 1.8s ease-in-out infinite;
}

.rec-text{
  color:#f5f5f5;
  font-size:12px;
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.intro-particles{
  z-index:1;
  overflow:hidden;
}

.intro-particle{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle, rgba(124,255,190,.95) 0%, rgba(92,242,161,.58) 42%, rgba(92,242,161,0) 72%);
  filter:blur(.3px);
  opacity:0;
  animation:particleFloat var(--particle-duration, 4.6s) ease-in-out var(--particle-delay, 0s) infinite;
}

.intro-particle::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:inherit;
  background:radial-gradient(circle, rgba(92,242,161,.45), transparent 68%);
  filter:blur(10px);
}

.intro-flashes{
  z-index:1;
  overflow:hidden;
}

.flash{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle, rgba(124,255,190,.24), rgba(92,242,161,.08) 36%, transparent 74%);
  filter:blur(14px);
  opacity:0;
  mix-blend-mode:screen;
}

.flash-a{
  width:18vw; height:18vw; left:10%; top:20%;
  animation:introFlash 4.8s ease-in-out .3s infinite;
}

.flash-b{
  width:14vw; height:14vw; right:12%; top:36%;
  animation:introFlash 5.4s ease-in-out 1.1s infinite;
}

.flash-c{
  width:16vw; height:16vw; left:42%; bottom:14%;
  animation:introFlash 5.1s ease-in-out 2.2s infinite;
}

.intro-center{
  position:relative;
  z-index:2;
  width:min(92vw, 900px);
  text-align:center;
  padding:52px 20px 120px;
}


.intro-wordmark{
  position:absolute;
  left:50%;
  top:48%;
  transform:translate(-50%, -50%);
  font-size:clamp(70px, 18vw, 240px);
  font-weight:900;
  line-height:.9;
  letter-spacing:.18em;
  color:rgba(255,255,255,.035);
  text-transform:uppercase;
  user-select:none;
  pointer-events:none;
  animation:introWordmark 4.6s ease forwards;
}

.intro-logo{
  width:min(68vw, 430px);
  margin:6px auto 0;
  filter:drop-shadow(0 0 26px rgba(92,242,161,.08));
  opacity:0;
  transform:translateY(18px) scale(.96);
  animation:introLogoIn 1.2s cubic-bezier(.2,1,.2,1) .5s forwards;
}

.intro-line{
  width:min(46vw, 420px);
  height:1px;
  margin:24px auto 0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), rgba(184,255,224,.88), rgba(255,255,255,.18), transparent);
  transform:scaleX(0);
  transform-origin:center;
  animation:introLineGrow .9s cubic-bezier(.22,1,.36,1) 1.15s forwards;
}

.intro-tagline{
  max-width:680px;
  margin:20px auto 0;
  color:#b8b8b8;
  font-size:clamp(15px, 2vw, 18px);
  line-height:1.7;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(14px);
  animation:introFadeUp .8s cubic-bezier(.22,1,.36,1) 1.35s forwards;
}

.intro-progress{
  position:absolute;
  left:50%;
  bottom:40px;
  transform:translateX(-50%);
  width:min(84vw, 420px);
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  z-index:2;
}

.intro-progress span{
  display:block;
  width:100%;
  height:100%;
  transform-origin:left center;
  transform:scaleX(0);
  background:linear-gradient(90deg, rgba(184,255,224,.24), rgba(92,242,161,.95));
  box-shadow:0 0 18px rgba(92,242,161,.45);
  animation:introProgressFill var(--intro-duration, 5.2s) linear forwards;
}

.intro-skip{
  position:absolute;
  right:24px;
  bottom:24px;
  z-index:2;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#f3f3f3;
  font:inherit;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}

.intro-skip:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.2);
}

.intro-screen.is-exit{
  animation:introScreenOut .9s cubic-bezier(.22,1,.36,1) forwards;
}

.intro-screen.is-exit .intro-center,
.intro-screen.is-exit .intro-progress,
.intro-screen.is-exit .intro-skip{
  animation:introContentOut .65s ease forwards;
}

@keyframes introFadeUp{
  to{ opacity:1; transform:translateY(0); }
}

@keyframes introLogoIn{
  0%{ opacity:0; transform:translateY(18px) scale(.96); filter:blur(10px) drop-shadow(0 0 0 rgba(92,242,161,0)); }
  55%{ opacity:1; }
  100%{ opacity:1; transform:translateY(0) scale(1); filter:blur(0) drop-shadow(0 0 26px rgba(92,242,161,.08)); }
}

@keyframes introLineGrow{
  from{ transform:scaleX(0); opacity:.35; }
  to{ transform:scaleX(1); opacity:1; }
}

@keyframes introBeamSweep{
  0%{ transform:translateX(-58%) scaleX(.85); opacity:.12; }
  50%{ transform:translateX(-50%) scaleX(1.04); opacity:.9; }
  100%{ transform:translateX(-42%) scaleX(.9); opacity:.18; }
}

@keyframes introOrbFloat{
  from{ transform:translate3d(0,0,0) scale(1); }
  to{ transform:translate3d(-20px, 28px, 0) scale(1.08); }
}

@keyframes introWordmark{
  0%{ opacity:0; transform:translate(-50%, -50%) scale(.96); }
  25%{ opacity:1; }
  65%{ opacity:1; }
  100%{ opacity:.28; transform:translate(-50%, -50%) scale(1.02); }
}

@keyframes introProgressFill{
  from{ transform:scaleX(0); }
  to{ transform:scaleX(1); }
}

@keyframes introScreenOut{
  0%{ opacity:1; visibility:visible; }
  100%{ opacity:0; visibility:hidden; }
}

@keyframes introContentOut{
  to{ opacity:0; transform:translateY(-10px) scale(.985); }
}

@keyframes recGlow{
  0%, 100%{ box-shadow:0 0 0 rgba(255,59,59,.15), 0 0 10px rgba(255,59,59,.18); }
  50%{ box-shadow:0 0 10px rgba(255,59,59,.45), 0 0 24px rgba(255,59,59,.85), 0 0 42px rgba(255,59,59,.45); }
}

@keyframes particleFloat{
  0%{
    opacity:0;
    transform:translate3d(0, 30px, 0) scale(.6);
  }
  16%{ opacity:.78; }
  55%{ opacity:.95; }
  100%{
    opacity:0;
    transform:translate3d(var(--particle-x, 0px), calc(var(--particle-y, -120px) - 30px), 0) scale(1.18);
  }
}

@keyframes introFlash{
  0%, 100%{ opacity:0; transform:scale(.7); }
  10%{ opacity:.18; }
  20%{ opacity:.38; transform:scale(1); }
  34%{ opacity:.1; }
  100%{ opacity:0; transform:scale(1.2); }
}

@media (max-width: 860px){
  .intro-center{ padding-bottom:130px; }
  .intro-wordmark{ letter-spacing:.12em; top:50%; }
  .intro-rec{ top:22px; right:22px; }
  .frame-corner{ width:58px; height:58px; }
}

@media (max-width: 640px){
  .intro-skip{ font-size:11px; letter-spacing:.14em; }
  .intro-center{ padding:28px 18px 130px; }
  .intro-progress{ bottom:30px; }
  .intro-skip{ right:18px; bottom:18px; }
  .intro-rec{ top:16px; right:16px; padding:9px 12px; gap:8px; }
  .rec-text{ letter-spacing:.22em; font-size:11px; }
  .corner-tl{ top:16px; left:16px; }
  .corner-tr{ top:16px; right:16px; }
  .corner-bl{ bottom:16px; left:16px; }
  .corner-br{ bottom:16px; right:16px; }
  .frame-corner{ width:42px; height:42px; }
}

@media (prefers-reduced-motion: reduce){
  .intro-screen,
  .intro-screen *,
  .site-shell{
    animation:none !important;
    transition:none !important;
  }

  body.intro-pending .site-shell{
    opacity:1;
    filter:none;
    transform:none;
  }

  .intro-screen{ display:none; }
}

    :root{
      --bg:#020302;
      --text:#f4f4f4;
      --muted:#a7a7a7;
      --line:rgba(255,255,255,.09);
      --line-strong:rgba(255,255,255,.14);
      --green:#5cf2a1;
      --green-soft:rgba(92,242,161,.10);
      --shadow:0 30px 80px rgba(0,0,0,.45);
      --max:1280px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:'Inter',sans-serif;
      color:var(--text);
      overflow-x:hidden;
      background:
        radial-gradient(circle at 50% 0%, rgba(92,242,161,.045), transparent 18%),
        linear-gradient(180deg,#030503 0%,#020302 32%,#030403 100%);
    }
    body::before{
      content:"";
      position:fixed; inset:0; z-index:-8; pointer-events:none; opacity:.8;
      background:
        linear-gradient(90deg, rgba(255,255,255,.012) 0%, transparent 20%, transparent 80%, rgba(255,255,255,.012) 100%),
        radial-gradient(circle at 50% 10%, rgba(255,255,255,.05), transparent 24%);
    }

    
    .bg-ambient{
      position:fixed; inset:0; pointer-events:none; z-index:-6;
      background:
        radial-gradient(circle at 50% 0%, rgba(92,242,161,.04), transparent 22%),
        radial-gradient(circle at 18% 24%, rgba(92,242,161,.02), transparent 18%),
        radial-gradient(circle at 82% 22%, rgba(255,255,255,.015), transparent 16%);
      animation:driftSlow 22s ease-in-out infinite alternate;
    }
    .bg-ambient::before,
    .bg-ambient::after{
      content:""; position:absolute; border-radius:50%; filter:blur(90px); mix-blend-mode:screen;
    }
    .bg-ambient::before{
      width:34vw; height:34vw; left:-8vw; bottom:-10vh;
      background:
        radial-gradient(circle at 44% 44%, rgba(92,242,161,.14), transparent 22%),
        radial-gradient(circle at 63% 58%, rgba(255,255,255,.06), transparent 14%);
      opacity:.08;
      animation:fogMoveA 22s ease-in-out infinite alternate;
    }
    .bg-ambient::after{
      width:30vw; height:30vw; right:-5vw; top:22vh;
      background:
        radial-gradient(circle at 42% 38%, rgba(92,242,161,.10), transparent 20%),
        radial-gradient(circle at 58% 56%, rgba(255,255,255,.045), transparent 14%);
      opacity:.06;
      animation:fogMoveB 19s ease-in-out infinite alternate;
    }

    .bg-orbs{
      position:fixed; inset:0; pointer-events:none; z-index:-5; overflow:hidden;
    }
    .bg-orbs::before,
    .bg-orbs::after{
      content:""; position:absolute; border-radius:50%; filter:blur(120px);
      background:radial-gradient(circle, rgba(92,242,161,.16), rgba(92,242,161,.03) 38%, transparent 68%);
      opacity:.16;
    }
    .bg-orbs::before{
      width:34vw; height:34vw; left:-12vw; top:32%;
      animation:orbFloatA 16s ease-in-out infinite alternate;
    }
    .bg-orbs::after{
      width:28vw; height:28vw; right:-8vw; top:48%;
      animation:orbFloatB 18s ease-in-out infinite alternate;
    }

    .bg-beams{
      position:fixed; inset:-10% -10%; pointer-events:none; z-index:-4; overflow:hidden;
      filter:blur(18px);
      opacity:.75;
    }
    .beam{
      position:absolute;
      display:block;
      height:160px;
      border-radius:999px;
      background:
        linear-gradient(90deg,
          rgba(92,242,161,0) 0%,
          rgba(184,255,224,.02) 8%,
          rgba(184,255,224,.08) 18%,
          rgba(184,255,224,.24) 34%,
          rgba(184,255,224,.36) 50%,
          rgba(184,255,224,.24) 66%,
          rgba(184,255,224,.08) 82%,
          rgba(92,242,161,0) 100%);
      box-shadow:
        0 0 30px rgba(92,242,161,.08),
        0 0 80px rgba(92,242,161,.05);
      mix-blend-mode:screen;
      opacity:.34;
    }
    .beam-a{
      width:54vw;
      left:-6vw;
      top:42%;
      transform:rotate(-9deg);
      animation:beamShiftA 14s ease-in-out infinite alternate;
    }
    .beam-b{
      width:46vw;
      right:-8vw;
      top:52%;
      transform:rotate(8deg);
      opacity:.28;
      animation:beamShiftB 17s ease-in-out infinite alternate;
    }
    .beam-c{
      width:30vw;
      left:28%;
      bottom:10%;
      height:120px;
      transform:rotate(3deg);
      opacity:.18;
      animation:beamShiftC 13s ease-in-out infinite alternate;
    }

    .bg-haze{
      position:fixed; inset:0; pointer-events:none; z-index:-3;
      background:
        radial-gradient(circle at 16% 58%, rgba(92,242,161,.08), transparent 18%),
        radial-gradient(circle at 83% 60%, rgba(92,242,161,.07), transparent 16%),
        radial-gradient(circle at 52% 54%, rgba(255,255,255,.03), transparent 14%);
      filter:blur(38px);
      opacity:.45;
      animation:hazeDrift 18s ease-in-out infinite alternate;
    }

    .scanlines{
      position:fixed; inset:0; pointer-events:none; z-index:-2;
      opacity:.028;
      background:repeating-linear-gradient(180deg, rgba(255,255,255,.14) 0 1px, transparent 1px 4px);
      mix-blend-mode:soft-light;
    }

    a{color:inherit; text-decoration:none}
    img{display:block; max-width:100%}
    .container{width:min(calc(100% - 32px), var(--max)); margin:0 auto}

    .nav-wrap{position:fixed; left:0; right:0; top:18px; display:flex; justify-content:center; z-index:50; pointer-events:none}
    .nav{
      width:min(calc(100% - 36px),1160px); pointer-events:auto;
      display:flex; align-items:center; justify-content:space-between; gap:0;
      padding:10px 14px; border:1px solid var(--line); border-radius:999px;
      background:rgba(5,8,6,.72); backdrop-filter:blur(18px); box-shadow:0 10px 30px rgba(0,0,0,.25);
    }
    .brand img{height:34px; width:auto; filter:drop-shadow(0 0 16px rgba(92,242,161,.08))}
    .nav-links{display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:center}
    .nav-links a,.nav-cta{
      padding:11px 16px; border-radius:999px; border:1px solid transparent;
      font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#d7d7d7; transition:.3s ease;
    }
    .nav-links a:hover,.nav-cta:hover{background:rgba(255,255,255,.06); border-color:var(--line); color:#fff}
    .nav-cta{background:rgba(255,255,255,.03); border-color:var(--line)}

    .hero{position:relative; min-height:100vh; display:flex; align-items:center; padding-top:110px; overflow:hidden}
    .hero::before{
      content:""; position:absolute; inset:0; z-index:-1; transform:scale(1.02);
      background:
        linear-gradient(90deg, rgba(2,3,2,.82) 0%, rgba(2,3,2,.56) 34%, rgba(2,3,2,.42) 58%, rgba(2,3,2,.76) 100%),
        linear-gradient(180deg, rgba(2,3,2,.2) 0%, rgba(2,3,2,.18) 48%, rgba(2,3,2,.82) 100%),
        url('assets/hero-studio-bg.webp') center center / cover no-repeat;
      filter:saturate(.88) contrast(1.02) brightness(.66);
    }
    .hero::after{
      content:""; position:absolute; inset:0; pointer-events:none;
      background:
        radial-gradient(circle at 76% 36%, rgba(92,242,161,.12), transparent 18%),
        radial-gradient(circle at 78% 58%, rgba(92,242,161,.06), transparent 11%),
        linear-gradient(90deg, rgba(2,3,2,.24), transparent 28%, transparent 70%, rgba(2,3,2,.35));
    }

    .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:center}
    .eyebrow{
      display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border-radius:999px;
      border:1px solid var(--line); background:rgba(255,255,255,.03); backdrop-filter:blur(12px);
      font-size:12px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:#ddd;
    }
    .eyebrow-dot{width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 22px rgba(92,242,161,.8)}
    .hero h1{margin:18px 0 0; max-width:820px; font-size:clamp(54px,8.8vw,108px); line-height:.94; letter-spacing:-.06em; font-weight:900; text-wrap:balance}
    .hero h1 .soft{color:#6f6f6f}
    .hero h1 .accent{background:linear-gradient(90deg,#fff 0%,#d8d8d8 48%,var(--green) 100%); -webkit-background-clip:text; background-clip:text; color:transparent}
    .hero-copy{max-width:640px; margin-top:22px; color:#afafaf; font-size:18px; line-height:1.8}
    .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:34px}
    .btn{
      padding:16px 24px; border-radius:999px; border:1px solid var(--line);
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; transition:.3s ease;
    }
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{background:linear-gradient(135deg,#fff 0%,#b8ffd8 100%); color:#050505; box-shadow:0 18px 50px rgba(92,242,161,.14)}
    .btn-secondary{background:rgba(255,255,255,.04); color:#fff}

    .hero-visual{position:relative; min-height:640px; display:grid; place-items:center}
    .hero-card{
      width:min(100%,520px); border-radius:36px; border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
      backdrop-filter:blur(22px); padding:14px; box-shadow:var(--shadow);
      transform:perspective(1400px) rotateY(-8deg) rotateX(3deg);
    }
    .hero-card-inner{
      position:relative; min-height:600px; border-radius:28px; overflow:hidden; border:1px solid rgba(255,255,255,.09);
      background:
        linear-gradient(180deg, rgba(255,255,255,.04), transparent 28%),
        radial-gradient(circle at 70% 20%, rgba(92,242,161,.18), transparent 25%),
        linear-gradient(135deg, #0f1511, #040604 55%, #0d0f0d);
    }
    .hero-card-top{
      display:flex; justify-content:space-between; align-items:center; padding:18px 20px;
      border-bottom:1px solid rgba(255,255,255,.08); color:#9e9e9e; font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
    }
    .hero-card-top span:last-child{color:var(--green)}
    .hero-card-body{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:26px}
    
    
    .hero-video-shell{
      width:100%;
      margin:12px 0 18px;
      padding:6px 6px 0;
      border-radius:26px 26px 18px 18px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.005)),
        linear-gradient(135deg, rgba(92,242,161,.05), transparent 42%);
      border:1px solid rgba(255,255,255,.05);
    }
    .hero-video-wrap{
      width:100%;
      height:135px;
      border-radius:20px 20px 14px 14px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.07);
      background:
        radial-gradient(circle at 30% 30%, rgba(92,242,161,.12), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)),
        #060806;
      box-shadow:0 10px 30px rgba(0,0,0,.24);
      position:relative;
    }
    .hero-video-wrap::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(180deg, rgba(0,0,0,.01), rgba(0,0,0,.12)),
        radial-gradient(circle at 70% 20%, rgba(92,242,161,.10), transparent 28%);
    }
    .hero-video{
      position:relative;
      z-index:2;
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      opacity:1;
      background:#060806;
      filter:saturate(.98) contrast(1.05) brightness(.94);
      transform:scale(1.01);
    }
    .hero-video-fallback{
      position:absolute;
      inset:0;
      z-index:1;
      background:
        radial-gradient(circle at 50% 50%, rgba(92,242,161,.14), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
        #070907;
    }

    .badge{
      display:inline-flex; width:fit-content; align-items:center; padding:9px 12px; border-radius:999px; background:rgba(0,0,0,.36);
      border:1px solid rgba(92,242,161,.22); color:var(--green); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
    }
    .hero-card-title{margin:16px 0 10px; max-width:370px; font-size:clamp(34px,4vw,54px); line-height:.95; letter-spacing:-.05em; font-weight:900}
    .hero-card-title span{color:#6d6d6d}
    .hero-card-sub{max-width:360px; line-height:1.6; color:#ababab; font-size:15px}
    .floating-small{
      position:absolute; border-radius:26px; border:1px solid var(--line); background:rgba(255,255,255,.04);
      backdrop-filter:blur(16px); padding:18px; box-shadow:0 18px 50px rgba(0,0,0,.28);
    }
    .floating-small.left{left:-24px; bottom:36px; width:190px; animation:float 8s ease-in-out infinite}
    .floating-small.right{right:-24px; top:120px; width:200px; animation:float 10s ease-in-out infinite reverse}
    .floating-kicker{margin-bottom:8px; color:#8f8f8f; font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase}
    .floating-stat{font-size:34px; line-height:1; font-weight:900; letter-spacing:-.06em}
    .floating-label{margin-top:6px; color:#b0b0b0; line-height:1.5; font-size:13px}

    .section{padding:120px 0; position:relative}
    .section-head{text-align:center; margin-bottom:34px}
    .section-kicker{margin-bottom:14px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.26em; text-transform:uppercase}
    .section-title{margin:0 auto; max-width:860px; font-size:clamp(34px,5vw,62px); line-height:1.02; letter-spacing:-.05em; font-weight:900; text-wrap:balance}
    .section-desc{margin:18px auto 0; max-width:740px; color:#a4a4a4; font-size:17px; line-height:1.8}

    .showcase-grid{display:grid; grid-template-columns:1.35fr .8fr .8fr; gap:16px}
    .stack{display:grid; gap:16px}
    .card{
      position:relative; overflow:hidden; min-height:260px; border-radius:28px; border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025)); isolation:isolate;
      box-shadow:0 20px 50px rgba(0,0,0,.22); transition:.45s ease;
    }
    .card:hover{transform:translateY(-6px); border-color:rgba(255,255,255,.16); box-shadow:0 26px 64px rgba(0,0,0,.32)}
    .card.tall{min-height:540px}.card.medium{min-height:260px}
    .card::before{
      content:""; position:absolute; inset:0; z-index:-3;
      background:
        radial-gradient(circle at 20% 18%, rgba(92,242,161,.18), transparent 22%),
        linear-gradient(180deg, rgba(255,255,255,.06), transparent 24%),
        linear-gradient(135deg, #111411, #050605 58%, #0e100e);
    }
    .card-media{position:absolute; inset:0; background-size:cover; background-position:center; filter:saturate(.82) contrast(1.04) brightness(.74); transform:scale(1.02)}
    .card-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.12) 35%, rgba(0,0,0,.76) 100%), linear-gradient(90deg, rgba(0,0,0,.18), transparent 50%)}
    
    .video-showcase-grid .video-card .card-content{
      z-index:3;
    }
    .video-frame{
      position:absolute;
      inset:0;
      overflow:hidden;
      border-radius:inherit;
      background:#050505;
    }
    .video-thumb,
    .video-frame iframe{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      border:0;
      display:block;
    }
    .video-thumb{
      filter:saturate(.88) contrast(1.03) brightness(.78);
      transition:transform .45s ease, filter .45s ease;
    }
    .video-card:hover .video-thumb{
      transform:scale(1.03);
      filter:saturate(.94) contrast(1.04) brightness(.84);
    }
    .video-play{
      z-index:2;
      cursor:pointer;
    }

    .play{
      position:absolute; top:18px; right:18px; width:58px; height:58px; display:grid; place-items:center; border-radius:50%;
      border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.10); backdrop-filter:blur(10px); font-size:18px; transition:.3s ease;
    }
    .card:hover .play{background:rgba(92,242,161,.9); color:#050505; transform:scale(1.08); box-shadow:0 0 30px rgba(92,242,161,.24)}
    .card-content{position:absolute; inset:auto 0 0 0; padding:22px; z-index:2}
    .meta{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px}
    .pill{
      padding:8px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(0,0,0,.26); backdrop-filter:blur(8px);
      color:#dfdfdf; font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
    }
    .card-title{max-width:84%; font-size:clamp(18px,2vw,30px); line-height:1.05; letter-spacing:-.04em; font-weight:800}
    .card-desc{margin-top:10px; max-width:80%; color:#b8b8b8; font-size:14px; line-height:1.6}

    .split{display:grid; grid-template-columns:.95fr 1.05fr; gap:28px; align-items:center}
    .panel{
      border-radius:32px; border:1px solid var(--line); background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
      padding:38px; box-shadow:0 24px 60px rgba(0,0,0,.22);
    }
    .lead-title{margin:0; font-size:clamp(34px,4vw,58px); line-height:1.02; letter-spacing:-.05em; font-weight:900}
    .lead-copy{margin-top:18px; max-width:600px; color:#a8a8a8; font-size:17px; line-height:1.9}
    .stats{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:34px; padding-top:28px; border-top:1px solid var(--line)}
    .stat-value{font-size:clamp(36px,4vw,58px); line-height:1; font-weight:900; letter-spacing:-.06em}
    .stat-label{margin-top:8px; color:#9f9f9f; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; line-height:1.5}

    
    .lead-title{
      font-size: clamp(32px, 4.1vw, 54px);
      max-width: 620px;
    }

    .about-visual{
      position:relative;
      min-height:620px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
    }

    
    .lead-title{
      font-size: clamp(32px, 4.1vw, 54px);
      max-width: 560px;
    }

    .about-visual{
      position:relative;
      min-height:620px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
    }

    .quality-gallery{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:center;
      perspective:1600px;
      min-height:560px;
      overflow:visible;
    }

    .quality-main-wrap{
      position:relative;
      width:100%;
      height:560px;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:visible;
    }

    .quality-main-wrap::before{
      content:"";
      position:absolute;
      inset:6% 4%;
      border-radius:34px;
      border:1px solid rgba(255,255,255,.05);
      background:linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,.005));
      opacity:.22;
    }

    .quality-main-card{
      position:absolute;
      width:min(72%, 520px);
      aspect-ratio:1.03/.78;
      overflow:hidden;
      border-radius:28px;
      border:1px solid rgba(255,255,255,.10);
      background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
      box-shadow:0 26px 70px rgba(0,0,0,.28);
      transition:transform .45s ease, box-shadow .45s ease, opacity .35s ease, border-color .35s ease;
      will-change:transform;
      cursor:pointer;
      padding:0;
    }

    .quality-main-card img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      transition:opacity .35s ease, transform .55s ease;
      filter:saturate(.96) contrast(1.02) brightness(.95);
    }

    .quality-main-card.is-switching img{
      opacity:.55;
      transform:scale(1.03);
    }

    .quality-card{
      position:absolute;
      padding:0;
      background:transparent;
      border:none;
    }
    .quality-card img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .quality-card.side{
      width:min(33%, 210px);
      aspect-ratio:.82/1;
      border-radius:24px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
      box-shadow:0 18px 40px rgba(0,0,0,.22);
      opacity:.72;
      transition:transform .45s ease, opacity .35s ease, box-shadow .35s ease, border-color .35s ease;
      cursor:pointer;
      background:rgba(255,255,255,.03);
    }

    .quality-card.side:hover{
      opacity:.95;
      border-color:rgba(92,242,161,.28);
      box-shadow:0 24px 54px rgba(0,0,0,.28);
    }

    .quality-card.top{
      width:min(36%, 240px);
      aspect-ratio:.92/1;
      border-radius:24px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
      box-shadow:0 18px 40px rgba(0,0,0,.18);
      opacity:.62;
      transition:transform .45s ease, opacity .35s ease, box-shadow .35s ease;
      cursor:pointer;
      background:rgba(255,255,255,.03);
    }

    .quality-card.top:hover{ opacity:.82; }

    .slot-center{
      z-index:4;
      left:50%;
      top:50%;
      transform:translate(-50%,-6%) rotate(-1deg);
    }
    .slot-left{
      z-index:2;
      left:8%;
      top:28%;
      transform:rotate(-11deg);
    }
    .slot-right{
      z-index:2;
      right:8%;
      top:28%;
      transform:rotate(11deg);
    }
    .slot-top-left{
      z-index:1;
      left:21%;
      top:4%;
      transform:rotate(-9deg);
    }
    .slot-top-right{
      z-index:1;
      right:21%;
      top:4%;
      transform:rotate(9deg);
    }

    .quality-gallery.dir-right .slot-left{ transform:translateX(36px) rotate(-8deg); }
    .quality-gallery.dir-right .slot-center{ transform:translate(-47%,-6%) rotate(-.5deg); }
    .quality-gallery.dir-right .slot-right{ transform:translateX(54px) rotate(13deg); }
    .quality-gallery.dir-right .slot-top-left{ transform:translateX(28px) rotate(-6deg); }
    .quality-gallery.dir-right .slot-top-right{ transform:translateX(42px) rotate(11deg); }

    .quality-gallery.dir-left .slot-left{ transform:translateX(-54px) rotate(-13deg); }
    .quality-gallery.dir-left .slot-center{ transform:translate(-53%,-6%) rotate(-1.5deg); }
    .quality-gallery.dir-left .slot-right{ transform:translateX(-36px) rotate(8deg); }
    .quality-gallery.dir-left .slot-top-left{ transform:translateX(-42px) rotate(-11deg); }
    .quality-gallery.dir-left .slot-top-right{ transform:translateX(-28px) rotate(6deg); }

    .quality-card.expanded{
      width:min(92%, 760px) !important;
      aspect-ratio:1.08/.74 !important;
      left:50% !important;
      right:auto !important;
      top:50% !important;
      transform:translate(-50%,-50%) rotate(0deg) !important;
      z-index:10 !important;
      opacity:1 !important;
      box-shadow:0 36px 90px rgba(0,0,0,.42) !important;
      border-color:rgba(92,242,161,.30) !important;
    }

    .quality-overlay{
      position:absolute;
      inset:0;
      background:rgba(0,0,0,.28);
      backdrop-filter:blur(3px);
      opacity:0;
      pointer-events:none;
      transition:opacity .3s ease;
      z-index:8;
      border-radius:34px;
    }
    .quality-overlay.is-visible{
      opacity:1;
      pointer-events:auto;
    }

    .about-visual{position:relative; min-height:620px}
    .about-card{
      position:absolute; overflow:hidden; border-radius:28px; border:1px solid var(--line); box-shadow:var(--shadow); background:#0d0d0d;
    }
    .about-card img{width:100%; height:100%; object-fit:cover}
    .about-card.main{width:78%; aspect-ratio:1.05/.82; right:0; top:14%; z-index:3}
    .about-card.back-1{width:38%; aspect-ratio:.9/1.1; right:8%; top:4%; z-index:2; opacity:.6; transform:rotate(10deg)}
    .about-card.back-2{width:34%; aspect-ratio:.95/1.15; right:1%; top:8%; z-index:1; opacity:.35; transform:rotate(18deg)}

    .services-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
    .service{
      position:relative; overflow:hidden; padding:28px; border-radius:28px; border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025)); transition:.35s ease;
    }
    .service::before{
      content:""; position:absolute; inset:auto -30% -50% auto; width:180px; height:180px;
      background:radial-gradient(circle, rgba(92,242,161,.16), transparent 70%); filter:blur(10px); opacity:0; transition:.35s ease;
    }
    .service:hover{transform:translateY(-5px); border-color:rgba(92,242,161,.22); background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03))}
    .service:hover::before{opacity:1}
    .service-icon{
      width:46px; height:46px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--line-strong);
      background:rgba(255,255,255,.03); color:var(--green); font-weight:800; margin-bottom:16px;
    }
    .service h3{margin:0; font-size:24px; line-height:1.08; letter-spacing:-.04em}
    .service p{margin:12px 0 0; color:#a7a7a7; font-size:15px; line-height:1.75}

    .process{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
    .step{min-height:230px; padding:24px; border-radius:26px; border:1px solid var(--line); background:rgba(255,255,255,.03)}
    .step-num{margin-bottom:16px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase}
    .step h4{margin:0; font-size:25px; line-height:1.02; letter-spacing:-.04em}
    .step p{margin:12px 0 0; color:#a7a7a7; font-size:15px; line-height:1.75}

    .quote-wrap{display:grid; grid-template-columns:.95fr 1.05fr; gap:20px; align-items:center}
    .quote-media{
      min-height:520px; display:grid; place-items:center; overflow:hidden; border-radius:32px; border:1px solid var(--line); box-shadow:var(--shadow);
      background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)), radial-gradient(circle at 10% 10%, rgba(92,242,161,.15), transparent 25%), linear-gradient(135deg,#111,#080808 55%,#0f0f0f);
    }
    .quote-media-inner{width:74%; aspect-ratio:.78/1; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.12); box-shadow:0 20px 50px rgba(0,0,0,.28)}
    .quote-copy{font-size:clamp(34px,6vw,88px); line-height:.94; letter-spacing:-.06em; font-weight:900; text-wrap:balance}
    .quote-copy span{display:block; color:#787878}

    .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px}
    .contact-card{
      min-height:420px; display:flex; flex-direction:column; justify-content:space-between; padding:34px; border-radius:32px; border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025)); box-shadow:0 24px 60px rgba(0,0,0,.22);
    }
    .contact-card h3{margin:0; font-size:clamp(34px,4vw,56px); line-height:.98; letter-spacing:-.05em; font-weight:900; text-wrap:balance}
    .contact-card p{max-width:520px; color:#a7a7a7; font-size:16px; line-height:1.85}
    .contact-box{margin-top:24px; padding:28px; border-radius:24px; border:1px dashed rgba(255,255,255,.12); background:rgba(0,0,0,.18)}
    .socials{display:flex; gap:24px; flex-wrap:wrap; margin-top:28px; color:#b9b9b9; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase}
    footer{padding:34px 0 56px; color:#7e7e7e; font-size:13px; text-align:center}

    .reveal{opacity:0; transform:translateY(40px) scale(.98); transition:opacity 1s cubic-bezier(.2,.7,0,1), transform 1s cubic-bezier(.2,.7,0,1)}
    .reveal.in-view{opacity:1; transform:translateY(0) scale(1)}
    .delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}

    @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
    @keyframes driftSlow{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(1.5vw,-1vh,0)}}
    @keyframes fogMoveA{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(2vw,-2vh,0) scale(1.06)}}
    @keyframes fogMoveB{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-2vw,2vh,0) scale(.98)}}

    
    
    
    .reviews-panel{
      background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
        radial-gradient(circle at 10% 10%, rgba(92,242,161,.10), transparent 25%),
        linear-gradient(135deg, #0c0f0d, #070808 55%, #0c0e0d);
      padding:28px;
    }
    .reviews-frame{
      position:relative;
      width:100%;
      min-height:560px;
      border-radius:28px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)),
        linear-gradient(135deg, rgba(92,242,161,.04), transparent 30%, transparent 70%, rgba(92,242,161,.03));
      isolation:isolate;
    }
    .reviews-frame::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(92,242,161,.06), transparent 18%, transparent 82%, rgba(92,242,161,.04)),
        linear-gradient(180deg, rgba(255,255,255,.03), transparent 24%);
      pointer-events:none;
      z-index:1;
    }
    .reviews-frame::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      z-index:0;
      background:
        linear-gradient(180deg, rgba(92,242,161,.18) 0%, rgba(92,242,161,.02) 14%, transparent 32%, transparent 68%, rgba(92,242,161,.02) 86%, rgba(92,242,161,.18) 100%);
      mask-image: linear-gradient(90deg, rgba(0,0,0,.85) 0 8%, transparent 12% 88%, rgba(0,0,0,.85) 92% 100%);
      animation:edgeLedDown 6.5s linear infinite;
      opacity:.55;
    }

    .reviews-marquee{
      position:absolute;
      left:0;
      right:0;
      top:0;
      z-index:2;
      display:flex;
      flex-direction:column;
      gap:0;
      padding:20px 18px;
      will-change:transform;
    }
    .reviews-marquee.clone{
      top:0;
    }

    .review-card{
      margin-bottom:16px;
      position:relative;
      width:min(82%, 500px);
      padding:18px 20px 18px;
      border-radius:26px;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(7,10,8,.86);
      backdrop-filter:blur(12px);
      box-shadow:0 24px 60px rgba(0,0,0,.28);
    }
    .review-card:nth-child(odd){ margin-left:auto; }
    .review-card:nth-child(even){ margin-right:auto; }

    .review-head{
      display:flex;
      align-items:center;
      gap:14px;
      margin-bottom:14px;
    }
    .review-avatar{
      width:68px;
      height:68px;
      border-radius:50%;
      object-fit:cover;
      border:2px solid rgba(255,255,255,.10);
      box-shadow:0 0 0 1px rgba(92,242,161,.10);
      flex:0 0 auto;
      background:#111;
    }
    .review-meta{min-width:0}
    .review-name{
      font-size:18px;
      font-weight:800;
      letter-spacing:-.02em;
      color:#f4f4f4;
    }
    .review-stars{
      margin-top:4px;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:800;
      color:var(--green);
    }
    .review-card p{
      margin:0;
      color:#d6d6d6;
      line-height:1.7;
      font-size:16px;
    }

    100%{ transform:translateY(-50%); }
    }
      100%{ transform:translateY(-100%); }
    }
    @keyframes edgeLedDown{
      0%{
        background-position:0 -140%, 0 0;
        opacity:.35;
      }
      50%{
        opacity:.72;
      }
      100%{
        background-position:0 140%, 0 0;
        opacity:.35;
      }
    }
      7%{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
      26%{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
      33%{ opacity:0; transform:translateX(-50%) translateY(-18px) scale(.985); }
      100%{ opacity:0; transform:translateX(-50%) translateY(-18px) scale(.985); }
    }
      8%{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
      26%{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
      33%{ opacity:0; transform:translateX(-50%) translateY(-18px) scale(.985); }
      100%{ opacity:0; transform:translateX(-50%) translateY(-18px) scale(.985); }
    }

    
    @keyframes orbFloatA{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(4vw,-3vh,0) scale(1.08)}}
    @keyframes orbFloatB{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-3vw,2vh,0) scale(.96)}}
    @keyframes beamShiftA{0%{transform:translate3d(0,0,0) rotate(-9deg) scaleX(1)}100%{transform:translate3d(3vw,-2vh,0) rotate(-11deg) scaleX(1.08)}}
    @keyframes beamShiftB{0%{transform:translate3d(0,0,0) rotate(8deg) scaleX(1)}100%{transform:translate3d(-3vw,2vh,0) rotate(10deg) scaleX(1.06)}}
    @keyframes beamShiftC{0%{transform:translate3d(0,0,0) rotate(3deg)}100%{transform:translate3d(2vw,-1vh,0) rotate(1deg)}}
    @keyframes hazeDrift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(1vw,-1vh,0) scale(1.03)}}

    @media (max-width:1100px){
      .hero-grid,.split,.quote-wrap,.contact-grid,.showcase-grid,.process,.stats,.services-grid{grid-template-columns:1fr}.beam{opacity:.22}.bg-orbs::before,.bg-orbs::after{opacity:.10}
      .nav-links{display:none}
      .hero-card{transform:none}
      .hero-visual{min-height:auto}
      .about-visual{min-height:520px}.quality-gallery{min-height:500px}.quality-main-wrap{height:500px}.quality-card.side{width:min(30%,180px)}.quality-card.top{width:min(32%,190px)}
      .card.tall,.card.medium{min-height:360px}.reviews-frame{min-height:650px}.review-card{
      margin-bottom:16px;width:min(88%,520px)}
    }
    @media (max-width:720px){
      .hero{padding-top:92px}.section{padding:86px 0}
      .panel,.contact-card,.service,.step{padding:24px}.quality-gallery{min-height:360px}.quality-main-wrap{height:360px}.quality-main-card{width:min(76%,100%)}.quality-card.side{width:30%;border-radius:18px}.quality-card.top{width:28%;border-radius:18px}.slot-left{left:2%;top:34%}.slot-right{right:2%;top:34%}.slot-top-left{left:16%;top:4%}.slot-top-right{right:16%;top:4%}
      .hero-copy,.section-desc,.lead-copy,.contact-card p{font-size:15px}.hero-video-shell{padding:4px 4px 0}.hero-video-wrap{height:142px}
      .hero-actions{flex-direction:column; align-items:stretch}.btn{width:100%}
      .floating-small{display:none}.contact-box{padding:20px}
      .brand img{height:28px}.nav-cta{font-size:11px; padding:10px 12px}.reviews-frame{min-height:720px}.review-card{
      margin-bottom:16px;width:min(90%,420px);padding:18px}.review-card p{font-size:15px}.review-avatar{width:56px;height:56px}.review-card-a{top:34px}.review-card-b{top:34px}.review-card-c{top:34px}.review-card-d{top:300px;left:50%;transform:translateX(-50%) scale(.95)}.review-card-e{top:500px;left:50%;transform:translateX(-50%) scale(.92)}
    }
  
.process-3d{padding:120px 0;position:relative;}
.process-header{text-align:center;margin-bottom:80px;}
.process-header .tag{color:#00ff88;letter-spacing:3px;font-size:12px;}
.process-header h2{font-size:48px;font-weight:700;}
.process-header .desc{opacity:.6;margin-top:10px;}
.camera-stage{position:relative;height:500px;perspective:1200px;}
.camera{width:300px;height:200px;margin:auto;position:relative;transform-style:preserve-3d;transition:transform .6s ease;}
.cam-body{position:absolute;width:100%;height:100%;background:#111;border-radius:20px;box-shadow:0 0 40px rgba(0,255,150,.1);}
.cam-lens{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#00ff88,#000);left:-60px;top:40px;box-shadow:0 0 40px #00ff88;}
.cam-grip{position:absolute;width:60px;height:120px;right:-40px;top:40px;background:#181818;border-radius:10px;}
.cam-back{position:absolute;width:80px;height:60px;top:-40px;left:100px;background:#0a0a0a;border-radius:10px;}
.step{position:absolute;width:240px;background:rgba(20,20,20,.8);padding:20px;border-radius:15px;backdrop-filter:blur(10px);opacity:0;transform:translateY(20px);transition:.5s;}
.step span{color:#00ff88;font-size:14px;}
.step h3{margin:5px 0;}
.step p{font-size:14px;opacity:.6;}
.step-1{top:0;left:10%;}
.step-2{top:50%;left:5%;}
.step-3{top:0;right:10%;}
.step-4{bottom:0;right:5%;}
.step.active{opacity:1;transform:translateY(0);}


/* PROCESS 3D SECTION */
.process-3d{
  position:relative;
  padding:0;
}
.process-3d-track{
  position:relative;
  min-height:300vh;
}
.process-3d-sticky{
  position:sticky;
  top:0;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:110px 0 70px;
}
.process-header-3d{
  margin-bottom:36px;
}
.process-header-3d h2{
  font-size:clamp(38px,6vw,74px);
  line-height:.96;
  letter-spacing:-.06em;
  margin:0;
}
.process-header-3d .desc{
  max-width:860px;
  margin:18px auto 0;
}
.process-3d-layout{
  width:min(calc(100% - 32px),1280px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(320px, 430px) minmax(520px, 1fr);
  gap:36px;
  align-items:center;
}
.process-copy{
  position:relative;
  min-height:300px;
}
.process-step-card{
  position:absolute;
  inset:0;
  padding:30px 28px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  backdrop-filter:blur(18px);
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  opacity:0;
  transform:translateY(22px) scale(.985);
  transition:opacity .45s ease, transform .45s ease;
}
.process-step-card.is-active{
  opacity:1;
  transform:translateY(0) scale(1);
}
.process-step-num{
  margin-bottom:16px;
  color:var(--green);
  font-size:12px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.process-step-card h3{
  margin:0;
  font-size:clamp(28px,3vw,42px);
  line-height:1;
  letter-spacing:-.05em;
}
.process-step-card p{
  margin:16px 0 0;
  color:#b2b2b2;
  font-size:16px;
  line-height:1.85;
  max-width:92%;
}

.process-camera-wrap{
  position:relative;
  min-height:580px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.process-camera-scene{
  position:relative;
  width:min(100%,820px);
  aspect-ratio:1.32/1;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1800px;
}
.process-camera-scene::before{
  content:"";
  position:absolute;
  inset:16% 4% 8%;
  border-radius:40px;
  background:
    radial-gradient(circle at 18% 60%, rgba(92,242,161,.10), transparent 22%),
    radial-gradient(circle at 74% 44%, rgba(255,255,255,.05), transparent 16%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.005));
  filter:blur(6px);
  border:1px solid rgba(255,255,255,.04);
}
.cine-camera{
  position:relative;
  width:min(100%,720px);
  height:430px;
  transform-style:preserve-3d;
  transition:transform .7s cubic-bezier(.2,.8,0,1);
}
.cam-shadow{
  position:absolute;
  width:72%;
  height:18%;
  left:15%;
  bottom:9%;
  border-radius:999px;
  background:radial-gradient(circle, rgba(0,0,0,.45), rgba(0,0,0,.12) 48%, transparent 72%);
  filter:blur(26px);
}
.cam-body-main,
.cam-body-panel,
.cam-side-module,
.cam-monitor,
.cam-back-unit,
.cam-viewfinder,
.cam-handle,
.cam-top-plate,
.cam-matte,
.cam-lens,
.cam-ring,
.cam-rail,
.cam-accent{
  position:absolute;
  display:block;
}
.cam-body-main{
  width:42%;
  height:36%;
  left:34%;
  top:34%;
  border-radius:28px;
  background:linear-gradient(180deg,#1a1c1d,#090a0a 70%);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 18px 50px rgba(0,0,0,.34);
}
.cam-body-panel{
  width:26%;
  height:24%;
  left:43%;
  top:41%;
  border-radius:22px;
  background:linear-gradient(180deg,#101212,#050505);
  border:1px solid rgba(255,255,255,.05);
  transition:transform .55s ease;
}
.cam-side-module{
  width:14%;
  height:18%;
  right:16%;
  top:43%;
  border-radius:18px;
  background:linear-gradient(180deg,#171919,#080808);
  border:1px solid rgba(255,255,255,.05);
  transition:transform .55s ease;
}
.cam-monitor{
  width:22%;
  height:13%;
  left:44%;
  top:17%;
  border-radius:16px;
  background:linear-gradient(180deg,#141616,#070808);
  border:1px solid rgba(255,255,255,.06);
  transform-origin:bottom center;
  transition:transform .65s ease;
}
.cam-monitor-screen{
  width:17%;
  height:9%;
  left:46.5%;
  top:19%;
  border-radius:10px;
  background:radial-gradient(circle at 30% 40%, rgba(92,242,161,.22), rgba(92,242,161,.04) 48%, rgba(0,0,0,.92));
  box-shadow:0 0 24px rgba(92,242,161,.10);
  transition:opacity .45s ease, transform .45s ease;
}
.cam-top-plate{
  width:22%;
  height:4.6%;
  left:43%;
  top:28%;
  border-radius:999px;
  background:linear-gradient(180deg,#1b1d1d,#0b0c0c);
}
.cam-handle{
  width:16%;
  height:5.4%;
  left:46%;
  top:11%;
  border-radius:999px;
  background:linear-gradient(180deg,#1c1e1e,#080909);
  transform:rotate(-12deg);
}
.cam-back-unit{
  width:12%;
  height:23%;
  right:12%;
  top:31%;
  border-radius:20px;
  background:linear-gradient(180deg,#161818,#070707);
  border:1px solid rgba(255,255,255,.05);
  transition:transform .6s ease;
}
.cam-viewfinder{
  width:9%;
  height:8%;
  right:18%;
  top:23%;
  border-radius:16px;
  background:linear-gradient(180deg,#191b1b,#070808);
}
.cam-matte{
  width:18%;
  height:28%;
  left:10%;
  top:32%;
  border-radius:24px;
  background:linear-gradient(180deg,#141616,#050606);
  border:1px solid rgba(255,255,255,.05);
  transform:skewX(-8deg);
  transition:transform .55s ease;
}
.cam-lens{
  width:20%;
  aspect-ratio:1/1;
  left:20%;
  top:34%;
  border-radius:50%;
  background:
    radial-gradient(circle at 45% 42%, rgba(92,242,161,.26), rgba(19,25,23,.95) 20%, rgba(0,0,0,.98) 60%),
    radial-gradient(circle, #080808, #000);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 30px rgba(0,0,0,.34);
}
.cam-lens-glow{
  width:18%;
  aspect-ratio:1/1;
  left:21%;
  top:35%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(92,242,161,.20), rgba(92,242,161,.02) 45%, transparent 68%);
  filter:blur(16px);
  opacity:.7;
  transition:transform .55s ease, opacity .55s ease;
}
.cam-ring{
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
}
.ring-a{
  width:24%;
  aspect-ratio:1/1;
  left:18%;
  top:32%;
}
.ring-b{
  width:15%;
  aspect-ratio:1/1;
  left:22.5%;
  top:36.5%;
  border-color:rgba(92,242,161,.14);
}
.cam-rail{
  height:2.1%;
  width:36%;
  left:18%;
  background:linear-gradient(90deg,#0d0e0e,#232626,#0d0e0e);
  border-radius:999px;
}
.rail-a{ bottom:26%; }
.rail-b{ bottom:21%; }
.cam-accent{
  width:6px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(92,242,161,.04), rgba(92,242,161,.6), rgba(92,242,161,.04));
  filter:blur(.2px);
  opacity:.0;
  transition:opacity .45s ease, transform .55s ease;
}
.accent-a{ left:53%; top:34%; height:32%; }
.accent-b{ right:21%; top:37%; height:20%; }

.cam-hotspot{
  position:absolute;
  display:flex;
  align-items:center;
  gap:10px;
  background:transparent;
  border:0;
  color:#d8d8d8;
  padding:0;
  cursor:pointer;
  opacity:.35;
  transition:opacity .35s ease, transform .35s ease;
}
.cam-hotspot .dot{
  width:12px; height:12px; border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 6px rgba(92,242,161,.08), 0 0 20px rgba(92,242,161,.18);
}
.cam-hotspot .label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}
.cam-hotspot::after{
  content:"";
  position:absolute;
  height:1px;
  background:linear-gradient(90deg, rgba(92,242,161,.65), rgba(92,242,161,0));
  opacity:.5;
}
.cam-hotspot.is-active{
  opacity:1;
  transform:translateY(-3px);
}
.hotspot-1{ left:8%; top:30%; }
.hotspot-1::after{ width:120px; left:18px; top:50%; }
.hotspot-2{ right:4%; top:37%; flex-direction:row-reverse; }
.hotspot-2::after{ width:108px; right:18px; top:50%; background:linear-gradient(270deg, rgba(92,242,161,.65), rgba(92,242,161,0)); }
.hotspot-3{ left:45%; bottom:9%; }
.hotspot-3::after{ width:1px; height:70px; left:5px; bottom:18px; background:linear-gradient(180deg, rgba(92,242,161,.65), rgba(92,242,161,0)); }
.hotspot-4{ right:14%; top:13%; flex-direction:row-reverse; }
.hotspot-4::after{ width:90px; right:18px; top:50%; background:linear-gradient(270deg, rgba(92,242,161,.65), rgba(92,242,161,0)); }

/* stage-specific motion */
.process-3d-layout[data-stage="0"] .cine-camera{
  transform:rotateY(-14deg) rotateX(4deg) translateZ(0);
}
.process-3d-layout[data-stage="0"] .cam-monitor{
  transform:rotateX(0deg);
}
.process-3d-layout[data-stage="0"] .cam-accent.accent-a{
  opacity:.8;
}
.process-3d-layout[data-stage="1"] .cine-camera{
  transform:rotateY(-4deg) rotateX(2deg) translateZ(0);
}
.process-3d-layout[data-stage="1"] .cam-side-module{
  transform:translateX(12px);
}
.process-3d-layout[data-stage="1"] .cam-accent.accent-b{
  opacity:.85;
}
.process-3d-layout[data-stage="2"] .cine-camera{
  transform:rotateY(8deg) rotateX(2deg) translateZ(0);
}
.process-3d-layout[data-stage="2"] .cam-matte{
  transform:translateX(-12px) skewX(-8deg);
}
.process-3d-layout[data-stage="2"] .cam-lens-glow{
  transform:scale(1.15);
  opacity:1;
}
.process-3d-layout[data-stage="2"] .cam-monitor{
  transform:rotateX(-14deg);
}
.process-3d-layout[data-stage="3"] .cine-camera{
  transform:rotateY(16deg) rotateX(3deg) translateZ(0);
}
.process-3d-layout[data-stage="3"] .cam-back-unit{
  transform:translateX(14px);
}
.process-3d-layout[data-stage="3"] .cam-body-panel{
  transform:translateX(10px);
}
.process-3d-layout[data-stage="3"] .cam-monitor-screen{
  transform:scale(1.04);
  opacity:1;
}

@media (max-width: 1100px){
  .process-3d-track{ min-height:auto; }
  .process-3d-sticky{ position:relative; min-height:auto; padding:100px 0 70px; }
  .process-3d-layout{ grid-template-columns:1fr; gap:26px; }
  .process-copy{ min-height:260px; order:2; }
  .process-camera-wrap{ min-height:460px; order:1; }
  .cine-camera{ width:min(100%,620px); height:360px; }
}
@media (max-width: 720px){
  .process-header-3d{ margin-bottom:24px; }
  .process-copy{ min-height:320px; }
  .process-step-card{ padding:22px 20px; border-radius:24px; }
  .process-step-card h3{ font-size:28px; }
  .process-step-card p{ font-size:15px; max-width:100%; }
  .process-camera-wrap{ min-height:320px; }
  .cine-camera{ height:250px; }
  .cam-hotspot .label{ font-size:10px; }
  .hotspot-1::after,.hotspot-2::after,.hotspot-4::after{ width:56px; }
  .hotspot-3::after{ height:42px; }
}


/* ===== Integrated Process Section ===== */
.process-integrated{
  padding-top: 120px;
  padding-bottom: 120px;
}
.process-intro{
  text-align: center;
  margin-bottom: 34px;
}
.process-title{
  margin: 0;
  font-size: clamp(42px, 6vw, 78px);
  line-height: .95;
  letter-spacing: -.06em;
}
.process-desc{
  max-width: 860px;
  margin: 16px auto 0;
  color: #a9a9a9;
  line-height: 1.8;
  font-size: 17px;
}
.process-wrap{
  display: grid;
  grid-template-columns: minmax(380px, 470px) minmax(620px, 1fr);
  gap: 30px;
  align-items: stretch;
  margin-top: 28px;
}
.process-copy{
  display: flex;
  align-items: stretch;
}
.process-stage-panel{
  width: 100%;
  min-height: 760px;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 16% 16%, rgba(92,242,161,.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
  padding: 22px;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 18px;
  overflow: hidden;
}
.process-stage-switcher{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.process-stage-tab{
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.02));
  color: #b5b5b5;
  cursor: pointer;
  transition: .3s ease;
  text-align: left;
  min-height: 106px;
  overflow: hidden;
}
.process-stage-tab.active{
  border-color: rgba(92,242,161,.24);
  background: linear-gradient(180deg, rgba(92,242,161,.11), rgba(255,255,255,.035));
  color: #ececec;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}
.process-stage-icon-wrap{
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.05), rgba(255,255,255,.015) 58%, transparent 78%);
}
.process-stage-icon-img{
  width: 54px;
  height: 54px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.22)) saturate(.8) brightness(.96);
}
.process-stage-meta{
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.process-stage-meta strong{
  font-size: 17px;
  line-height: 1.05;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.process-stage-meta small{
  color: #9d9d9d;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.process-stage-content{
  position: relative;
  min-height: 500px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(0,0,0,.18);
  overflow: hidden;
}
.process-card{
  position: absolute;
  inset: 0;
  padding: 30px 28px 24px;
  opacity: 0;
  transform: translateY(16px) scale(.985);
  transition: .35s ease;
}
.process-card.active{
  opacity: 1;
  transform: none;
}
.process-num{
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.process-card h3{
  margin: 0;
  font-size: clamp(28px, 3vw, 46px);
  line-height: 1.02;
  letter-spacing: 0;
  font-weight: 800;
  max-width: 11ch;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.process-card p{
  margin: 18px 0 0;
  color: var(--muted);
  line-height: 1.85;
  font-size: 16px;
  max-width: 95%;
}
.process-card-points{
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: grid;
  gap: 10px;
}
.process-card-points li{
  position: relative;
  padding-left: 18px;
  color: #d0d0d0;
  font-size: 14px;
  line-height: 1.7;
}
.process-card-points li::before{
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(92,242,161,.08);
  position: absolute;
  left: 0;
  top: .45em;
}
.process-viewer-shell{
  position: relative;
  border-radius: 36px;
  min-height: 720px;
  overflow: hidden;
  border: none;
  background:
    radial-gradient(circle at 28% 54%, rgba(92,242,161,.18), transparent 18%),
    radial-gradient(circle at 74% 46%, rgba(92,242,161,.10), transparent 16%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.005));
  box-shadow: none;
}
#processViewer{
  width: 100%;
  height: 720px;
  background: transparent;
  --poster-color: transparent;
  position: relative;
  z-index: 2;
}
.process-viewer-ambient{
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 1;
}
.process-ambient-a{
  width: 280px;
  height: 280px;
  left: -40px;
  top: 150px;
  background: radial-gradient(circle, rgba(92,242,161,.22), transparent 62%);
  opacity: .55;
}
.process-ambient-b{
  width: 230px;
  height: 230px;
  right: -20px;
  bottom: 120px;
  background: radial-gradient(circle, rgba(92,242,161,.14), transparent 64%);
  opacity: .38;
}
.process-viewer-grid{
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(circle at 50% 52%, rgba(0,0,0,.5), transparent 88%);
  opacity: .18;
  pointer-events: none;
}
.process-viewer-center-glow{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(92,242,161,.16), transparent 65%);
  filter: blur(70px);
  opacity: .28;
  pointer-events: none;
  z-index: 1;
}

@media (max-width: 1100px){
  .process-wrap{
    grid-template-columns: 1fr;
  }
  .process-stage-panel{
    min-height: auto;
  }
  .process-stage-content{
    min-height: 500px;
  }
  .process-viewer-shell{
    min-height: 520px;
  }
  #processViewer{
    height: 520px;
  }
}
@media (max-width: 720px){
  .process-wrap{
    gap: 18px;
  }
  .process-stage-switcher{
    grid-template-columns: 1fr;
  }
  .process-stage-tab{
    min-height: 96px;
    grid-template-columns: 52px minmax(0,1fr);
    padding: 14px;
  }
  .process-stage-icon-wrap{
    width: 52px;
    height: 52px;
  }
  .process-stage-icon-img{
    width: 48px;
    height: 48px;
  }
  .process-stage-meta strong{
    font-size: 15px;
    line-height: 1.06;
  }
  .process-stage-meta small{
    font-size: 10px;
    letter-spacing: .1em;
  }
  .process-stage-content{
    min-height: 560px;
  }
  .process-card h3{
    font-size: clamp(26px, 8vw, 40px);
  }
  .process-viewer-shell{
    min-height: 360px;
  }
  #processViewer{
    height: 360px;
  }
}


/* v36 process refinements */
.process-desc{
  text-wrap: balance;
}
.process-card p{
  text-align: justify;
  text-justify: inter-word;
  max-width: 100%;
}
.process-card h3{
  max-width: 10ch;
}
.process-stage-meta{
  align-self: start;
}
.process-stage-meta strong{
  text-wrap: pretty;
}
.process-stage-meta small{
  color:#b1b1b1;
}
.process-stage-icon-wrap{
  background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.035), rgba(255,255,255,.01) 58%, transparent 80%);
}
.process-stage-icon-img{
  mix-blend-mode: screen;
}
@media (max-width: 720px){
  .process-card p{
    text-align: left;
  }
}


/* v37 intro button spacing fixes */
.intro-rec{
  top: 52px;
  right: 52px;
  z-index: 4;
  pointer-events: none;
}
.intro-skip{
  right: 52px;
  bottom: 52px;
  z-index: 4;
}
@media (max-width: 900px){
  .intro-rec{
    top: 42px;
    right: 42px;
  }
  .intro-skip{
    right: 42px;
    bottom: 42px;
  }
}
@media (max-width: 560px){
  .intro-rec{
    top: 34px;
    right: 34px;
    padding: 9px 13px;
  }
  .intro-rec .rec-text{
    font-size: 11px;
    letter-spacing: .22em;
  }
  .intro-skip{
    right: 34px;
    bottom: 34px;
    padding: 11px 15px;
    font-size: 11px;
    letter-spacing: .14em;
  }
}


/* v38 updated process icons */
.process-stage-icon-wrap{
  background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.025), rgba(255,255,255,.01) 60%, transparent 82%) !important;
}
.process-stage-icon-img{
  width: 60px !important;
  height: 60px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.22)) contrast(1.02) saturate(.92) brightness(.98) !important;
}
.process-stage-tab{
  min-height: 108px !important;
}
@media (max-width: 720px){
  .process-stage-icon-img{
    width: 52px !important;
    height: 52px !important;
  }
}


/* v39 icon crop fix */
.process-stage-icon-img{
  width: 56px !important;
  height: 56px !important;
}
@media (max-width: 720px){
  .process-stage-icon-img{
    width: 48px !important;
    height: 48px !important;
  }
}




@keyframes reviewShineSweep{
  0%{ background-position:-100% 0; }
  100%{ background-position:100% 0; }
}




@keyframes reviewShineSweep{
  0%{ background-position:-120% 0; }
  100%{ background-position:120% 0; }
}


40%{
    background-position:-120% 0;
  }
  60%{
    background-position:-120% 0; /* pause */
  }
  100%{
    background-position:120% 0;
  }
}


47%{
    background-position:-40% 0;
  }
  100%{
    background-position:-40% 0;
  }
}


38%{
    background-position:-20% 0;
  }
  100%{
    background-position:-20% 0;
  }
}


38%{
    background-position:-20% 0;
  }
  100%{
    background-position:-20% 0;
  }
}


30%{
    background-position:-20% 0;
  }
  100%{
    background-position:-20% 0;
  }
}


30%{ background-position:-20% 0; }
  100%{ background-position:-20% 0; }
}


30%{
    background-position:-20% 0;
  }
  100%{
    background-position:-20% 0;
  }
}


/* v49 fixed review sweep with gray base + green overlay */
.review-highlight{
  display:block;
}
.review-line{
  display:block;
  position:relative;
  color:#787878 !important;
}
.review-line::after{
  content:attr(data-text);
  position:absolute;
  inset:0;
  color:transparent;
  background-image:linear-gradient(
    90deg,
    transparent 0%,
    transparent 35%,
    #5cf2a1 45%,
    #e6fff0 50%,
    #5cf2a1 55%,
    transparent 65%,
    transparent 100%
  );
  background-repeat:no-repeat;
  background-size:200% 100%;
  background-position:120% 0;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  pointer-events:none;
  animation:reviewSweepPass 3.5s linear infinite;
}

@keyframes reviewSweepPass{
  0%{
    background-position:120% 0;
  }
  40%{
    background-position:-20% 0;
  }
  100%{
    background-position:-20% 0;
  }
}
  30%{
    background-position:-20% 0;
  }
  100%{
    background-position:-20% 0;
  }
}


/* v52 branding refresh */
.brand img{
  height:40px;
  width:auto;
  object-fit:contain;
}
.intro-logo{
  width:min(78vw, 620px);
}
@media (max-width: 720px){
  .brand img{
    height:30px;
  }
  .intro-logo{
    width:min(82vw, 420px);
  }
}


/* v54 centered nav redesign */
.nav-wrap{
  top: 16px !important;
  z-index: 60 !important;
}
.nav{
  width: min(calc(100% - 40px), 1180px) !important;
  min-height: 58px !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.008)),
    rgba(4,7,5,.78) !important;
  backdrop-filter: blur(18px) !important;
  box-shadow:
    0 12px 34px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.03) !important;
  overflow: hidden;
}
.nav::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% -30%, rgba(92,242,161,.12), transparent 34%),
    linear-gradient(90deg, transparent 0%, rgba(92,242,161,.045) 50%, transparent 100%);
  pointer-events:none;
}
.brand{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  background: transparent !important;
}
.brand img{
  height: 22px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 10px rgba(92,242,161,.06)) !important;
}
.nav-links{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap: 34px !important;
  width: 100% !important;
  padding: 0 210px 0 165px !important;
  flex-wrap: nowrap !important;
}
.nav-links a{
  color:#e1e1e1 !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  opacity: .92 !important;
  white-space: nowrap !important;
}
.nav-links a:hover{
  color:#fff !important;
  opacity:1 !important;
}
.nav-cta{
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    rgba(9,12,10,.55) !important;
  color:#f3f3f3 !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
  box-shadow:
    inset 0 0 0 1px rgba(92,242,161,.08),
    0 0 18px rgba(92,242,161,.05) !important;
}
.nav-cta:hover{
  transform: translateY(-50%) !important;
  border-color: rgba(92,242,161,.22) !important;
  box-shadow:
    inset 0 0 0 1px rgba(92,242,161,.12),
    0 0 22px rgba(92,242,161,.09) !important;
}
.nav a::after{
  display:none !important;
}

@media (max-width: 1080px){
  .nav{
    min-height: 64px !important;
    padding: 0 14px !important;
  }
  .brand img{
    height: 20px !important;
  }
  .nav-links{
    gap: 22px !important;
    padding: 0 190px 0 120px !important;
  }
  .nav-links a,
  .nav-cta{
    font-size: 11px !important;
  }
  .nav-cta{
    padding: 9px 16px !important;
  }
}
@media (max-width: 820px){
  .nav{
    min-height: 108px !important;
    border-radius: 28px !important;
    align-items: flex-start !important;
    padding: 12px 14px 12px !important;
  }
  .brand{
    left: 16px !important;
    top: 18px !important;
    transform: none !important;
  }
  .brand img{
    height: 20px !important;
  }
  .nav-cta{
    top: 16px !important;
    right: 14px !important;
    transform: none !important;
    padding: 9px 14px !important;
  }
  .nav-links{
    padding: 42px 8px 0 !important;
    justify-content: center !important;
    gap: 14px 18px !important;
    flex-wrap: wrap !important;
  }
}
@media (max-width: 560px){
  .nav-wrap{
    top: 10px !important;
  }
  .nav{
    width: min(calc(100% - 16px), 1180px) !important;
    min-height: 112px !important;
    padding: 12px 10px 10px !important;
  }
  .brand img{
    height: 18px !important;
  }
  .nav-cta{
    padding: 8px 12px !important;
    font-size: 10px !important;
  }
  .nav-links{
    gap: 12px 14px !important;
    padding-top: 42px !important;
  }
  .nav-links a{
    font-size: 10px !important;
    letter-spacing: .06em !important;
  }
}

/* intro logo uses updated full logo cleanly */
.intro-logo{
  width: min(74vw, 580px) !important;
  margin: 8px auto 0 !important;
}
@media (max-width: 720px){
  .intro-logo{
    width: min(82vw, 420px) !important;
  }
}


/* v55 nav logo/spacing fix */
.brand{
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  padding:0 !important;
  background:transparent !important;
}
.brand img{
  height:24px !important;
  width:auto !important;
  max-width:190px !important;
  display:block !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 10px rgba(92,242,161,.06)) !important;
}
.nav{
  min-height:54px !important;
}
.nav-links{
  padding:0 230px 0 160px !important;
  gap:32px !important;
}
.nav-cta{
  right:10px !important;
  padding:10px 18px !important;
}
@media (max-width:1080px){
  .brand img{
    height:21px !important;
    max-width:165px !important;
  }
  .nav-links{
    padding:0 205px 0 120px !important;
    gap:20px !important;
  }
}
@media (max-width:820px){
  .brand{
    left:16px !important;
    top:18px !important;
    transform:none !important;
  }
  .brand img{
    height:18px !important;
    max-width:130px !important;
  }
}


/* v58 nav polish */
.nav-wrap{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:16px !important;
  display:flex !important;
  justify-content:center !important;
  z-index:70 !important;
  pointer-events:none !important;
}
.nav{
  position:relative !important;
  width:min(calc(100% - 34px),1188px) !important;
  min-height:58px !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr auto !important;
  align-items:center !important;
  gap:0 !important;
  border:none !important;
  border-radius:999px !important;
  pointer-events:auto !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.005)),
    rgba(4,8,6,.70) !important;
  backdrop-filter:blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(120%) !important;
  box-shadow:
    0 14px 40px rgba(0,0,0,.26),
    inset 0 0 0 1px rgba(255,255,255,.035) !important;
  overflow:hidden !important;
}
.nav::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(90deg, transparent 0%, rgba(92,242,161,.04) 50%, transparent 100%),
    radial-gradient(circle at 50% -35%, rgba(92,242,161,.10), transparent 34%);
  pointer-events:none;
}
.nav::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
  opacity:.65;
  pointer-events:none;
}
.nav-left,
.nav-right-links{
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  min-width:0 !important;
}
.nav-left{
  justify-content:flex-end !important;
  padding-right:70px !important;
}
.nav-right-links{
  justify-content:flex-start !important;
  padding-left:70px !important;
}
.nav-center{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  z-index:2 !important;
  padding:0 12px !important;
}
.nav-center img{
  height:23px !important;
  width:auto !important;
  max-width:160px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 0 8px rgba(92,242,161,.05)) !important;
}
.nav a{
  position:relative !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:12px !important;
  font-weight:700 !important;
  color:rgba(240,240,240,.92) !important;
  white-space:nowrap !important;
  transition:color .25s ease, opacity .25s ease, transform .25s ease !important;
}
.nav-left a:hover,
.nav-right-links a:hover{
  color:#fff !important;
  opacity:1 !important;
  transform:translateY(-.5px);
}
.nav a::after{
  display:none !important;
}
.nav-cta{
  justify-self:end !important;
  margin-left:18px !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  border:none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012)),
    rgba(9,12,10,.44) !important;
  color:#f5f5f5 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 0 0 1px rgba(92,242,161,.08),
    0 8px 22px rgba(0,0,0,.16) !important;
}
.nav-cta:hover{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.16),
    0 0 0 1px rgba(92,242,161,.12),
    0 8px 24px rgba(0,0,0,.20),
    0 0 18px rgba(92,242,161,.08) !important;
}
@media (max-width:1120px){
  .nav{
    width:min(calc(100% - 24px),1188px) !important;
    min-height:56px !important;
    padding:0 14px !important;
  }
  .nav-left,
  .nav-right-links{
    gap:22px !important;
  }
  .nav-left{padding-right:48px !important;}
  .nav-right-links{padding-left:48px !important;}
  .nav-center img{
    height:21px !important;
    max-width:150px !important;
  }
  .nav a{font-size:11px !important;}
  .nav-cta{padding:9px 15px !important; margin-left:12px !important;}
}
@media (max-width:860px){
  .nav{
    grid-template-columns:auto 1fr auto !important;
    min-height:98px !important;
    padding:12px 14px 12px !important;
    border-radius:28px !important;
  }
  .nav-center{
    order:1 !important;
    justify-self:start !important;
    padding:0 !important;
  }
  .nav-center img{
    height:19px !important;
    max-width:136px !important;
  }
  .nav-right-links{
    order:2 !important;
    padding-left:0 !important;
    gap:16px !important;
    justify-content:flex-end !important;
  }
  .nav-cta{
    order:3 !important;
    margin-left:12px !important;
    justify-self:end !important;
  }
  .nav-left{
    grid-column:1 / -1 !important;
    order:4 !important;
    width:100% !important;
    justify-content:center !important;
    padding:12px 0 0 !important;
    gap:14px 18px !important;
    flex-wrap:wrap !important;
  }
}
@media (max-width:560px){
  .nav-wrap{top:10px !important;}
  .nav{
    width:min(calc(100% - 14px),1188px) !important;
    min-height:100px !important;
    padding:10px 10px 10px !important;
    border-radius:24px !important;
    grid-template-columns:auto 1fr auto !important;
  }
  .nav-center img{
    height:17px !important;
    max-width:122px !important;
  }
  .nav-right-links a{display:none !important;}
  .nav-left{
    gap:10px 14px !important;
    padding-top:10px !important;
  }
  .nav a{
    font-size:10px !important;
    letter-spacing:.06em !important;
  }
  .nav-cta{
    padding:8px 12px !important;
    font-size:10px !important;
    margin-left:8px !important;
  }
}


/* v59 final floating centered nav */
.nav-wrap{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:16px !important;
  display:flex !important;
  justify-content:center !important;
  z-index:80 !important;
  pointer-events:none !important;
}

body .nav-wrap .nav{
  position:relative !important;
  width:min(calc(100% - 34px), 1188px) !important;
  min-height:56px !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr auto !important;
  align-items:center !important;
  gap:0 !important;
  pointer-events:auto !important;
  border:none !important;
  outline:none !important;
  border-radius:999px !important;
  background:rgba(5,9,7,.56) !important;
  backdrop-filter:blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(120%) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.22) !important;
  overflow:visible !important;
}

body .nav-wrap .nav::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(circle at 50% -25%, rgba(92,242,161,.08), transparent 34%),
    linear-gradient(90deg, transparent 0%, rgba(92,242,161,.03) 50%, transparent 100%);
  pointer-events:none;
}
body .nav-wrap .nav::after{
  content:none !important;
}

body .nav-wrap .nav-left,
body .nav-wrap .nav-right-links{
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  min-width:0 !important;
}

body .nav-wrap .nav-left{
  justify-content:flex-end !important;
  padding-right:68px !important;
}
body .nav-wrap .nav-right-links{
  justify-content:flex-start !important;
  padding-left:68px !important;
}

body .nav-wrap .nav-center{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  z-index:2 !important;
  padding:0 10px !important;
  transform:none !important;
  left:auto !important;
  top:auto !important;
  background:transparent !important;
}
body .nav-wrap .nav-center img{
  height:24px !important;
  width:auto !important;
  max-width:150px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 0 8px rgba(92,242,161,.05)) !important;
}

body .nav-wrap .nav a{
  position:relative !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:12px !important;
  font-weight:700 !important;
  color:rgba(240,240,240,.92) !important;
  white-space:nowrap !important;
  transition:color .25s ease, opacity .25s ease !important;
}
body .nav-wrap .nav-left a:hover,
body .nav-wrap .nav-right-links a:hover{
  color:#fff !important;
}
body .nav-wrap .nav a::after{
  content:none !important;
  display:none !important;
}

body .nav-wrap .nav-cta{
  justify-self:end !important;
  margin-left:20px !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  border:none !important;
  background:rgba(10,14,12,.48) !important;
  color:#f4f4f4 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 0 0 1px rgba(92,242,161,.07),
    0 6px 18px rgba(0,0,0,.14) !important;
}
body .nav-wrap .nav-cta:hover{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.16),
    0 0 0 1px rgba(92,242,161,.11),
    0 8px 20px rgba(0,0,0,.16),
    0 0 16px rgba(92,242,161,.08) !important;
}

@media (max-width:1120px){
  body .nav-wrap .nav{
    width:min(calc(100% - 24px), 1188px) !important;
    min-height:54px !important;
    padding:0 14px !important;
  }
  body .nav-wrap .nav-left,
  body .nav-wrap .nav-right-links{
    gap:22px !important;
  }
  body .nav-wrap .nav-left{padding-right:48px !important;}
  body .nav-wrap .nav-right-links{padding-left:48px !important;}
  body .nav-wrap .nav-center img{
    height:22px !important;
    max-width:140px !important;
  }
  body .nav-wrap .nav a{
    font-size:11px !important;
  }
  body .nav-wrap .nav-cta{
    padding:9px 15px !important;
    margin-left:14px !important;
  }
}

@media (max-width:860px){
  body .nav-wrap .nav{
    grid-template-columns:auto 1fr auto !important;
    min-height:96px !important;
    padding:12px 14px 12px !important;
    border-radius:28px !important;
  }
  body .nav-wrap .nav-center{
    justify-self:start !important;
    padding:0 !important;
  }
  body .nav-wrap .nav-center img{
    height:18px !important;
    max-width:132px !important;
  }
  body .nav-wrap .nav-right-links{
    padding-left:0 !important;
    gap:16px !important;
    justify-content:flex-end !important;
  }
  body .nav-wrap .nav-cta{
    margin-left:12px !important;
    justify-self:end !important;
  }
  body .nav-wrap .nav-left{
    grid-column:1 / -1 !important;
    width:100% !important;
    justify-content:center !important;
    padding:12px 0 0 !important;
    gap:14px 18px !important;
    flex-wrap:wrap !important;
  }
}

@media (max-width:560px){
  .nav-wrap{top:10px !important;}
  body .nav-wrap .nav{
    width:min(calc(100% - 14px), 1188px) !important;
    min-height:96px !important;
    padding:10px 10px 10px !important;
    border-radius:24px !important;
    grid-template-columns:auto 1fr auto !important;
  }
  body .nav-wrap .nav-center img{
    height:16px !important;
    max-width:118px !important;
  }
  body .nav-wrap .nav-right-links a{
    display:none !important;
  }
  body .nav-wrap .nav-left{
    gap:10px 14px !important;
    padding-top:10px !important;
  }
  body .nav-wrap .nav a{
    font-size:10px !important;
    letter-spacing:.06em !important;
  }
  body .nav-wrap .nav-cta{
    padding:8px 12px !important;
    font-size:10px !important;
    margin-left:8px !important;
  }
}


/* v60 nav: no borders, floating, subtle led underline */
.nav-wrap{
  top: 16px !important;
}
body .nav-wrap .nav{
  border: none !important;
  outline: none !important;
  background: rgba(4,8,6,.48) !important;
  backdrop-filter: blur(22px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(125%) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.22) !important;
}
body .nav-wrap .nav::before{
  background:
    radial-gradient(circle at 50% -40%, rgba(92,242,161,.08), transparent 34%),
    linear-gradient(90deg, transparent 0%, rgba(92,242,161,.03) 50%, transparent 100%) !important;
}
body .nav-wrap .nav::after{
  content:"" !important;
  position:absolute !important;
  left:22px !important;
  right:22px !important;
  bottom:10px !important;
  top:auto !important;
  height:1px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, transparent 0%, rgba(92,242,161,.22) 18%, rgba(92,242,161,.38) 50%, rgba(92,242,161,.22) 82%, transparent 100%) !important;
  opacity:.72 !important;
  pointer-events:none !important;
  box-shadow:0 0 10px rgba(92,242,161,.10) !important;
}
body .nav-wrap .nav-left a,
body .nav-wrap .nav-right-links a{
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  color: rgba(235,235,235,.86) !important;
  transition:
    color .22s ease,
    opacity .22s ease,
    transform .22s ease,
    text-shadow .22s ease !important;
}
body .nav-wrap .nav-left a:hover,
body .nav-wrap .nav-right-links a:hover{
  color:#ffffff !important;
  opacity:1 !important;
  transform:translateY(-1px) !important;
  text-shadow:0 0 12px rgba(92,242,161,.18) !important;
}
body .nav-wrap .nav-left a::before,
body .nav-wrap .nav-right-links a::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(92,242,161,0), rgba(92,242,161,.9), rgba(92,242,161,0));
  transform:translateX(-50%);
  opacity:0;
  transition:width .24s ease, opacity .24s ease, bottom .24s ease;
}
body .nav-wrap .nav-left a:hover::before,
body .nav-wrap .nav-right-links a:hover::before{
  width:24px;
  opacity:1;
  bottom:-7px;
}
body .nav-wrap .nav-center img{
  filter: drop-shadow(0 0 10px rgba(92,242,161,.05)) !important;
}
body .nav-wrap .nav-cta{
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.008)),
    rgba(10,14,12,.34) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
  border: none !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.11),
    0 0 0 1px rgba(92,242,161,.05),
    0 10px 24px rgba(0,0,0,.14) !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    color .22s ease,
    background .22s ease !important;
}
body .nav-wrap .nav-cta:hover{
  transform: translateY(-1px) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.14),
    0 0 0 1px rgba(92,242,161,.09),
    0 12px 28px rgba(0,0,0,.18),
    0 0 18px rgba(92,242,161,.08) !important;
}
@media (max-width: 560px){
  body .nav-wrap .nav::after{
    left:14px !important;
    right:14px !important;
    bottom:8px !important;
  }
}


/* v61 nav refinement */
body .nav-wrap .nav{
  min-height: 60px !important;
  padding: 0 18px !important;
}

body .nav-wrap .nav::after{
  left: 28px !important;
  right: 28px !important;
  bottom: 6px !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(92,242,161,.10) 16%,
    rgba(92,242,161,.22) 50%,
    rgba(92,242,161,.10) 84%,
    transparent 100%
  ) !important;
  opacity: .58 !important;
  box-shadow: 0 0 8px rgba(92,242,161,.06) !important;
}

body .nav-wrap .nav-center{
  padding: 0 16px !important;
}

body .nav-wrap .nav-center img{
  height: 28px !important;
  max-width: 176px !important;
}

body .nav-wrap .nav-left{
  padding-right: 84px !important;
}

body .nav-wrap .nav-right-links{
  padding-left: 84px !important;
}

body .nav-wrap .nav-left a,
body .nav-wrap .nav-right-links a{
  font-weight: 600 !important;
  letter-spacing: .075em !important;
  line-height: 1 !important;
}

body .nav-wrap .nav-left a::before,
body .nav-wrap .nav-right-links a::before{
  bottom: -8px !important;
}

body .nav-wrap .nav-left a:hover::before,
body .nav-wrap .nav-right-links a:hover::before{
  bottom: -6px !important;
  width: 22px !important;
}

/* CTA: stable, centered, dark glass, no hover jump */
body .nav-wrap .nav-cta{
  align-self: center !important;
  justify-self: end !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  margin-left: 18px !important;
  padding: 10px 18px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.012)),
    rgba(10,14,12,.30) !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 0 0 1px rgba(92,242,161,.05),
    0 10px 22px rgba(0,0,0,.14) !important;
  transform: none !important;
  transition:
    background .24s ease,
    box-shadow .24s ease,
    color .24s ease,
    opacity .24s ease !important;
}
body .nav-wrap .nav-cta::before{
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: inherit !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 58%) !important;
  opacity: .9 !important;
  pointer-events: none !important;
}
body .nav-wrap .nav-cta:hover{
  transform: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.016)),
    rgba(10,14,12,.34) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.15),
    0 0 0 1px rgba(92,242,161,.07),
    0 12px 24px rgba(0,0,0,.16),
    0 0 16px rgba(92,242,161,.05) !important;
}
body .nav-wrap .nav-cta span{
  position: relative;
  z-index: 1;
}

/* Tablet */
@media (max-width: 1120px){
  body .nav-wrap .nav{
    min-height: 58px !important;
  }
  body .nav-wrap .nav-center img{
    height: 26px !important;
    max-width: 164px !important;
  }
  body .nav-wrap .nav-left{
    padding-right: 64px !important;
  }
  body .nav-wrap .nav-right-links{
    padding-left: 64px !important;
  }
  body .nav-wrap .nav::after{
    left: 24px !important;
    right: 24px !important;
  }
}

/* Mobile */
@media (max-width: 860px){
  body .nav-wrap .nav{
    min-height: 98px !important;
  }
  body .nav-wrap .nav-center img{
    height: 22px !important;
    max-width: 146px !important;
  }
  body .nav-wrap .nav-cta{
    min-height: 34px !important;
    padding: 9px 14px !important;
    margin-left: 12px !important;
  }
  body .nav-wrap .nav::after{
    left: 18px !important;
    right: 18px !important;
    bottom: 8px !important;
  }
}
@media (max-width: 560px){
  body .nav-wrap .nav-center img{
    height: 19px !important;
    max-width: 128px !important;
  }
  body .nav-wrap .nav-cta{
    min-height: 32px !important;
    padding: 8px 12px !important;
    margin-left: 8px !important;
  }
  body .nav-wrap .nav::after{
    left: 14px !important;
    right: 14px !important;
    bottom: 7px !important;
  }
}


/* v62 final alignment fix */
body .nav-wrap .nav{
  min-height: 62px !important;
  align-items: center !important;
}

body .nav-wrap .nav-center{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform: translateY(-1px) !important; /* slight lift */
}

body .nav-wrap .nav-center img{
  height: 30px !important;
  max-width: 190px !important;
}

/* ensure CTA also vertically centered */
body .nav-wrap .nav-cta{
  align-self: center !important;
}

/* ensure links are perfectly centered too */
body .nav-wrap .nav-left,
body .nav-wrap .nav-right-links{
  align-items:center !important;
}


/* v63 real vertical centering fix */
body .nav-wrap .nav{
  min-height:62px !important;
  height:62px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  align-items:center !important;
}

body .nav-wrap .nav-left,
body .nav-wrap .nav-right-links{
  height:62px !important;
  display:flex !important;
  align-items:center !important;
}

body .nav-wrap .nav-left a,
body .nav-wrap .nav-right-links a{
  height:62px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  transform:none !important;
}

body .nav-wrap .nav-left a:hover,
body .nav-wrap .nav-right-links a:hover{
  transform:none !important;
}

body .nav-wrap .nav-center{
  height:62px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform:translateY(-1px) !important;
}

body .nav-wrap .nav-cta{
  height:40px !important;
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  align-self:center !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

@media (max-width:1120px){
  body .nav-wrap .nav{
    min-height:58px !important;
    height:58px !important;
  }
  body .nav-wrap .nav-left,
  body .nav-wrap .nav-right-links,
  body .nav-wrap .nav-left a,
  body .nav-wrap .nav-right-links a,
  body .nav-wrap .nav-center{
    height:58px !important;
  }
  body .nav-wrap .nav-cta{
    height:38px !important;
    min-height:38px !important;
  }
}

@media (max-width:860px){
  body .nav-wrap .nav{
    height:auto !important;
    min-height:98px !important;
  }
  body .nav-wrap .nav-left,
  body .nav-wrap .nav-right-links,
  body .nav-wrap .nav-left a,
  body .nav-wrap .nav-right-links a,
  body .nav-wrap .nav-center{
    height:auto !important;
  }
}


/* v64 actual nav centering + hover indicator fix */
body .nav-wrap{
  top: 14px !important;
}
body .nav-wrap .nav{
  min-height: 58px !important;
  height: 58px !important;
  padding: 0 18px !important;
  align-items: center !important;
  overflow: visible !important;
}

/* move the led line lower so it does not visually eat the lower spacing */
body .nav-wrap .nav::after{
  content:"" !important;
  position:absolute !important;
  left:28px !important;
  right:28px !important;
  bottom:-6px !important;
  top:auto !important;
  height:1px !important;
  border-radius:999px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(92,242,161,.08) 18%,
    rgba(92,242,161,.18) 50%,
    rgba(92,242,161,.08) 82%,
    transparent 100%
  ) !important;
  opacity:.72 !important;
  box-shadow: 0 0 8px rgba(92,242,161,.05) !important;
  pointer-events:none !important;
}

/* true vertical centering for nav texts */
body .nav-wrap .nav-left,
body .nav-wrap .nav-right-links{
  height:58px !important;
  display:flex !important;
  align-items:center !important;
}
body .nav-wrap .nav-left a,
body .nav-wrap .nav-right-links a{
  position: relative !important;
  height:58px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  transform:none !important;
}

/* remove the buggy hover line from each link */
body .nav-wrap .nav-left a::before,
body .nav-wrap .nav-right-links a::before{
  content:none !important;
  display:none !important;
}
body .nav-wrap .nav-left a:hover,
body .nav-wrap .nav-right-links a:hover{
  transform:none !important;
  color:#fff !important;
  text-shadow:0 0 10px rgba(92,242,161,.12) !important;
}

/* logo slightly larger and optically centered */
body .nav-wrap .nav-center{
  height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform: translateY(-2px) !important;
}
body .nav-wrap .nav-center img{
  height: 30px !important;
  max-width: 188px !important;
}

/* keep CTA aligned without jumping */
body .nav-wrap .nav-cta{
  align-self:center !important;
  height:40px !important;
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  transform:none !important;
}
body .nav-wrap .nav-cta:hover{
  transform:none !important;
}

@media (max-width:1120px){
  body .nav-wrap .nav{
    min-height:56px !important;
    height:56px !important;
  }
  body .nav-wrap .nav-left,
  body .nav-wrap .nav-right-links,
  body .nav-wrap .nav-left a,
  body .nav-wrap .nav-right-links a,
  body .nav-wrap .nav-center{
    height:56px !important;
  }
  body .nav-wrap .nav-center img{
    height:28px !important;
    max-width:176px !important;
  }
  body .nav-wrap .nav::after{
    left:22px !important;
    right:22px !important;
    bottom:-5px !important;
  }
}
@media (max-width:860px){
  body .nav-wrap .nav{
    height:auto !important;
    min-height:94px !important;
  }
  body .nav-wrap .nav::after{
    bottom:-5px !important;
  }
  body .nav-wrap .nav-left,
  body .nav-wrap .nav-right-links,
  body .nav-wrap .nav-left a,
  body .nav-wrap .nav-right-links a,
  body .nav-wrap .nav-center{
    height:auto !important;
  }
}


/* v65 navbar final polish */
body .nav-wrap{
  top: 14px !important;
}

body .nav-wrap .nav{
  border: none !important;
  outline: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.004)),
    rgba(5,9,7,.44) !important;
  backdrop-filter: blur(22px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(125%) !important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.18) !important;
}

body .nav-wrap .nav::before{
  background:
    radial-gradient(circle at 50% -40%, rgba(92,242,161,.08), transparent 34%),
    linear-gradient(90deg, transparent 0%, rgba(92,242,161,.025) 50%, transparent 100%) !important;
}

body .nav-wrap .nav::after{
  content:"" !important;
  position:absolute !important;
  left: 32px !important;
  right: 32px !important;
  bottom: -6px !important;
  top: auto !important;
  height: 1px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(92,242,161,.06) 18%,
    rgba(92,242,161,.16) 50%,
    rgba(92,242,161,.06) 82%,
    transparent 100%
  ) !important;
  opacity: .82 !important;
  box-shadow: 0 0 10px rgba(92,242,161,.06) !important;
  pointer-events: none !important;
}

body .nav-wrap .nav-left,
body .nav-wrap .nav-right-links{
  height: 58px !important;
  align-items: center !important;
}

body .nav-wrap .nav-left a,
body .nav-wrap .nav-right-links a{
  position: relative !important;
  height: 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  color: rgba(238,238,238,.9) !important;
  text-shadow: none !important;
  transition:
    color .22s ease,
    opacity .22s ease,
    text-shadow .22s ease !important;
}

body .nav-wrap .nav-left a::before,
body .nav-wrap .nav-right-links a::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom: 12px !important;
  width: 0 !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    rgba(92,242,161,0),
    rgba(92,242,161,.9),
    rgba(92,242,161,0)
  ) !important;
  transform: translateX(-50%) !important;
  opacity: 0 !important;
  transition:
    width .22s ease,
    opacity .22s ease,
    bottom .22s ease !important;
  pointer-events:none !important;
  display:block !important;
}

body .nav-wrap .nav-left a:hover,
body .nav-wrap .nav-right-links a:hover{
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow: 0 0 10px rgba(92,242,161,.14) !important;
}

body .nav-wrap .nav-left a:hover::before,
body .nav-wrap .nav-right-links a:hover::before{
  width: 24px !important;
  opacity: 1 !important;
  bottom: 14px !important;
}

body .nav-wrap .nav-center{
  height: 58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transform: translateY(-2px) !important;
}

body .nav-wrap .nav-center img{
  height: 32px !important;
  max-width: 198px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 0 8px rgba(92,242,161,.06)) !important;
}

body .nav-wrap .nav-cta{
  height: 40px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  align-self: center !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)),
    rgba(10,14,12,.30) !important;
  backdrop-filter: blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
  border: none !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 0 0 1px rgba(92,242,161,.04),
    0 8px 18px rgba(0,0,0,.12) !important;
  transition:
    background .22s ease,
    box-shadow .22s ease,
    color .22s ease !important;
}
body .nav-wrap .nav-cta:hover{
  transform: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
    rgba(10,14,12,.34) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.13),
    0 0 0 1px rgba(92,242,161,.07),
    0 10px 22px rgba(0,0,0,.14),
    0 0 16px rgba(92,242,161,.05) !important;
}

@media (max-width: 1120px){
  body .nav-wrap .nav{
    min-height: 56px !important;
    height: 56px !important;
  }
  body .nav-wrap .nav-left,
  body .nav-wrap .nav-right-links,
  body .nav-wrap .nav-left a,
  body .nav-wrap .nav-right-links a,
  body .nav-wrap .nav-center{
    height: 56px !important;
  }
  body .nav-wrap .nav-center img{
    height: 30px !important;
    max-width: 186px !important;
  }
  body .nav-wrap .nav::after{
    left: 24px !important;
    right: 24px !important;
    bottom: -5px !important;
  }
}
@media (max-width: 860px){
  body .nav-wrap .nav{
    height: auto !important;
    min-height: 94px !important;
  }
  body .nav-wrap .nav::after{
    bottom: -5px !important;
  }
  body .nav-wrap .nav-left,
  body .nav-wrap .nav-right-links,
  body .nav-wrap .nav-left a,
  body .nav-wrap .nav-right-links a,
  body .nav-wrap .nav-center{
    height: auto !important;
  }
}
@media (max-width: 560px){
  body .nav-wrap .nav-center img{
    height: 20px !important;
    max-width: 132px !important;
  }
  body .nav-wrap .nav::after{
    left: 16px !important;
    right: 16px !important;
    bottom: -5px !important;
  }
}


/* v66 logo bigger + CTA glass sweep */

body .nav-wrap .nav-center img{
  height: 36px !important;
  max-width: 220px !important;
}

/* glass sweep effect */
body .nav-wrap .nav-cta{
  position: relative !important;
  overflow: hidden !important;
}

body .nav-wrap .nav-cta::before{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:120%;
  height:100%;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.08) 35%,
    rgba(92,242,161,0.25) 50%,
    rgba(255,255,255,0.08) 65%,
    transparent 100%
  );
  transform: skewX(-20deg);
  transition: left .65s ease;
}

body .nav-wrap .nav-cta:hover::before{
  left:120%;
}



/* v67 intro buttons borderless + CTA visible glass sweep */

/* Intro pills without borders */
.intro-rec,
.intro-skip{
  border: none !important;
  outline: none !important;
  box-shadow:
    0 8px 22px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.008)),
    rgba(8,12,10,.30) !important;
}

.intro-rec::before,
.intro-skip::before,
.intro-rec::after,
.intro-skip::after{
  border: none !important;
}

/* Reservation CTA: actual visible sweep layered above the button */
body .nav-wrap .nav-cta{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

body .nav-wrap .nav-cta::after{
  content: "" !important;
  position: absolute !important;
  top: -18% !important;
  left: -140% !important;
  width: 78% !important;
  height: 136% !important;
  transform: skewX(-24deg) !important;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.06) 22%,
    rgba(255,255,255,.18) 42%,
    rgba(92,242,161,.18) 50%,
    rgba(255,255,255,.18) 58%,
    rgba(255,255,255,.06) 78%,
    rgba(255,255,255,0) 100%
  ) !important;
  filter: blur(1px) !important;
  opacity: .92 !important;
  pointer-events: none !important;
  z-index: 2 !important;
  transition: left .72s cubic-bezier(.22,.61,.36,1) !important;
}

body .nav-wrap .nav-cta:hover::after{
  left: 155% !important;
}

body .nav-wrap .nav-cta > *{
  position: relative;
  z-index: 3;
}


/* v68 intro buttons text-only (no background, no border) */
.intro-rec,
.intro-skip{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.intro-rec::before,
.intro-skip::before,
.intro-rec::after,
.intro-skip::after{
  display: none !important;
}



/* v70 intro size only - keep original positions */
.intro-rec{
  font-size: 14px !important;
  letter-spacing: .12em !important;
}

.intro-skip{
  font-size: 13px !important;
  letter-spacing: .08em !important;
}


/* v71 services redesign */
.services-immersive{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding-top:118px;
}
.services-bg-media,
.services-bg-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.services-bg-media{
  background:
    linear-gradient(180deg, rgba(3,5,4,.72) 0%, rgba(3,5,4,.54) 18%, rgba(3,5,4,.78) 100%),
    url("assets/services-bg-upnatom.webp") center center / cover no-repeat;
  transform:scale(1.03);
  opacity:.68;
  filter:saturate(.92) contrast(1.03);
}
.services-bg-overlay{
  background:
    radial-gradient(circle at 12% 52%, rgba(92,242,161,.12), transparent 18%),
    radial-gradient(circle at 88% 48%, rgba(92,242,161,.08), transparent 18%),
    linear-gradient(180deg, rgba(2,3,3,.06), rgba(2,3,3,.16));
}
.services-container{
  position:relative;
  z-index:1;
}
.services-showcase{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:28px;
  align-items:stretch;
}
.services-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.service-card{
  position:relative;
  min-height:250px;
  padding:28px 26px 26px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.024), rgba(255,255,255,.01)),
    rgba(4,7,6,.76);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    0 16px 34px rgba(0,0,0,.20);
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease;
  cursor:pointer;
}
.service-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(92,242,161,.22), transparent);
  opacity:0;
  transition:opacity .28s ease, transform .28s ease;
}
.service-card:hover,
.service-card.active{
  transform:translateY(-3px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012)),
    rgba(5,9,7,.82);
  box-shadow:
    inset 0 0 0 1px rgba(92,242,161,.12),
    0 18px 38px rgba(0,0,0,.26),
    0 0 0 1px rgba(92,242,161,.05);
}
.service-card:hover::after,
.service-card.active::after{
  opacity:1;
}
.service-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  margin-bottom:18px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#5cf2a1;
  background:rgba(92,242,161,.08);
  box-shadow:inset 0 0 0 1px rgba(92,242,161,.12);
}
.service-card h3{
  margin:0 0 14px;
  font-size:clamp(24px,2vw,34px);
  line-height:.98;
  letter-spacing:-.045em;
  max-width:14ch;
}
.service-card p{
  margin:0;
  max-width:44ch;
  color:var(--muted);
  line-height:1.75;
  font-size:16px;
}
.service-mini-thumb{
  position:absolute;
  right:20px;
  bottom:20px;
  width:98px;
  height:98px;
  border-radius:22px;
  overflow:hidden;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 14px 28px rgba(0,0,0,.18);
  opacity:.84;
  transform:translateY(0);
  transition:transform .28s ease, opacity .28s ease;
}
.service-card:hover .service-mini-thumb,
.service-card.active .service-mini-thumb{
  opacity:1;
  transform:translateY(-2px);
}
.service-mini-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.service-preview{
  position:sticky;
  top:112px;
  min-height:540px;
}
.service-preview-frame{
  position:relative;
  height:100%;
  min-height:540px;
  border-radius:34px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008)),
    rgba(4,7,6,.78);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    0 18px 38px rgba(0,0,0,.22);
}
.service-preview-frame::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(2,3,3,.06), rgba(2,3,3,.32) 65%, rgba(2,3,3,.62));
  z-index:1;
}
.service-preview-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease, filter .45s ease, opacity .3s ease;
  filter:saturate(.98) contrast(1.02);
}
.service-preview-frame:hover img{
  transform:scale(1.02);
}
.service-preview-copy{
  position:absolute;
  left:28px;
  right:28px;
  bottom:28px;
  z-index:2;
  display:grid;
  gap:10px;
}
.service-preview-copy span{
  display:inline-flex;
  width:max-content;
  min-height:30px;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#5cf2a1;
  background:rgba(5,9,7,.56);
  box-shadow:inset 0 0 0 1px rgba(92,242,161,.12);
}
.service-preview-copy strong{
  font-size:clamp(26px,2.5vw,42px);
  line-height:.98;
  letter-spacing:-.04em;
}
@media (max-width: 1100px){
  .services-showcase{
    grid-template-columns:1fr;
  }
  .service-preview{
    position:relative;
    top:auto;
    min-height:420px;
  }
  .service-preview-frame{
    min-height:420px;
  }
}
@media (max-width: 720px){
  .services-list{
    grid-template-columns:1fr;
  }
  .service-card{
    min-height:220px;
    padding:24px 22px 22px;
  }
  .service-mini-thumb{
    width:82px;
    height:82px;
    right:16px;
    bottom:16px;
  }
  .service-preview-frame,
  .service-preview{
    min-height:360px;
  }
}


/* v72 services tweaks */
.service-card{
  min-height: 205px !important;
  padding: 30px 28px 26px !important;
}
.service-card h3{
  margin: 0 0 14px !important;
  max-width: none !important;
  font-size: clamp(22px, 1.8vw, 32px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
  color: #f4f4f4 !important;
}
.service-card p{
  margin: 0 !important;
  max-width: 48ch !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: var(--muted) !important;
}
.service-chip,
.service-mini-thumb,
.service-preview-copy{
  display:none !important;
}
.service-preview-frame::before{
  background: linear-gradient(180deg, rgba(2,3,3,.04), rgba(2,3,3,.12) 55%, rgba(2,3,3,.18)) !important;
}
.service-preview-frame img{
  filter: saturate(1) contrast(1.02) !important;
}
@media (max-width: 720px){
  .service-card{
    min-height: 190px !important;
    padding: 24px 22px 22px !important;
  }
}


/* v73 services polish */
.services-bg-media{
  background-position: center 30% !important;
}

/* softer premium texture inside service blocks, not green */
.service-card{
  background:
    radial-gradient(circle at 14% 16%, rgba(255,255,255,.045), transparent 28%),
    radial-gradient(circle at 86% 84%, rgba(255,255,255,.03), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.02), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.012)),
    rgba(8,10,11,.78) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    inset 0 1px 0 rgba(255,255,255,.035),
    0 16px 34px rgba(0,0,0,.20) !important;
}

.service-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(125deg, rgba(255,255,255,.022) 0%, transparent 24%, transparent 76%, rgba(255,255,255,.018) 100%),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.006) 0px,
      rgba(255,255,255,.006) 1px,
      transparent 1px,
      transparent 20px
    );
  opacity:.65;
}

.service-card:hover,
.service-card.active{
  background:
    radial-gradient(circle at 14% 16%, rgba(255,255,255,.06), transparent 30%),
    radial-gradient(circle at 86% 84%, rgba(255,255,255,.04), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.028), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.014)),
    rgba(9,11,12,.84) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.075),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 18px 38px rgba(0,0,0,.24),
    0 0 0 1px rgba(255,255,255,.025) !important;
}

.service-card::after{
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent) !important;
}


/* v75 process section rebuilt */
.process-story{
  position:relative;
  overflow:hidden;
  padding:96px 0 86px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.03), transparent 24%),
    radial-gradient(circle at 10% 45%, rgba(255,255,255,.025), transparent 20%),
    linear-gradient(180deg, rgba(5,6,7,.38), rgba(5,6,7,.06) 18%, rgba(5,6,7,0) 32%),
    transparent;
}
.process-story::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 85% 68%, rgba(255,255,255,.02), transparent 14%),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.004) 0px,
      rgba(255,255,255,.004) 1px,
      transparent 1px,
      transparent 24px
    );
  opacity:.65;
  pointer-events:none;
}
.process-story-head{
  text-align:center;
  margin-bottom:26px;
}
.process-story-title{
  margin:8px 0 10px;
  font-size:clamp(42px,4.8vw,74px);
  line-height:.96;
  letter-spacing:-.06em;
}
.process-story-desc{
  margin:0 auto;
  max-width:700px;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.process-story-shell{
  position:relative;
  max-width:980px;
}
.process-story-stack{
  position:relative;
}
.process-story-stage{
  position:relative;
  min-height:72vh;
}
.process-story-step{
  position:sticky;
  top:126px;
  display:grid;
  grid-template-columns:64px minmax(0,560px);
  gap:26px;
  align-content:start;
  padding-top:16px;
  opacity:.28;
  transform:translateY(26px);
  filter:blur(1px);
  transition:opacity .35s ease, transform .35s ease, filter .35s ease;
}
.process-story-step.is-active{
  opacity:1;
  transform:none;
  filter:none;
}
.process-story-line{
  grid-column:1 / -1;
  height:1px;
  margin-bottom:26px;
  background:linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.04) 46%, transparent 100%);
  box-shadow:0 0 18px rgba(255,255,255,.04);
}
.process-story-number{
  font-size:42px;
  line-height:1;
  letter-spacing:-.06em;
  color:rgba(255,255,255,.28);
}
.process-story-copy{
  max-width:560px;
  padding-top:6px;
}
.process-story-copy h3{
  margin:0 0 12px;
  font-size:clamp(26px,2.2vw,38px);
  line-height:1;
  letter-spacing:-.05em;
  text-transform:uppercase;
  color:#f5f5f5;
}
.process-story-copy p{
  margin:0;
  max-width:500px;
  font-size:15px;
  line-height:1.72;
  color:rgba(230,230,230,.62);
}
.process-story-more{
  margin-top:16px;
  padding:0;
  border:none;
  background:none;
  color:#d7d7d7;
  font:inherit;
  font-size:14px;
  cursor:pointer;
  opacity:.86;
  transition:opacity .2s ease, color .2s ease;
}
.process-story-more:hover{
  opacity:1;
  color:#fff;
}
@media (max-width: 900px){
  .process-story{
    padding:82px 0 74px;
  }
  .process-story-stage{
    min-height:auto;
  }
  .process-story-step{
    position:relative;
    top:auto;
    grid-template-columns:54px 1fr;
    gap:18px;
    padding-top:8px;
    margin-bottom:40px;
    opacity:1;
    transform:none;
    filter:none;
  }
  .process-story-line{
    margin-bottom:18px;
  }
  .process-story-number{
    font-size:34px;
  }
}


/* v76 process spacing and scroll overlap fix */
.process-story-shell{
  max-width: 980px !important;
}

.process-story-stage{
  min-height: 42vh !important;
}

.process-story-step{
  top: 128px !important;
  min-height: 0 !important;
  padding-top: 6px !important;
}

.process-story-step:not(.is-active){
  opacity: .38 !important;
  transform: translateY(8px) !important;
  filter: blur(.2px) !important;
}

.process-story-line{
  margin-bottom: 20px !important;
}

.process-story-copy h3{
  margin-bottom: 10px !important;
}

.process-story-copy p{
  max-width: 560px !important;
}

@media (max-width: 900px){
  .process-story-stage{
    min-height: auto !important;
  }
  .process-story-step{
    margin-bottom: 22px !important;
  }
}


/* v77 process overlap + transition */
.process-story{
  padding-top: 84px !important;
  padding-bottom: 64px !important;
}
.process-story-head{
  margin-bottom: 10px !important;
}
.process-story-shell{
  max-width: 980px !important;
}
.process-story-stack{
  position: relative !important;
}
.process-story-stage{
  min-height: 22vh !important;
  margin: 0 !important;
  padding: 0 !important;
}
.process-story-step{
  top: 118px !important;
  grid-template-columns: 70px minmax(0, 620px) !important;
  gap: 22px !important;
  padding-top: 0 !important;
  opacity: .18 !important;
  transform: translateY(72px) scale(.985) !important;
  filter: blur(1.8px) !important;
  transition:
    opacity .46s ease,
    transform .46s ease,
    filter .46s ease !important;
}
.process-story-step.is-active{
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
  filter: blur(0) !important;
}
.process-story-line{
  margin-bottom: 14px !important;
}
.process-story-copy{
  max-width: 620px !important;
}
.process-story-copy h3{
  margin: 0 0 10px !important;
}
.process-story-copy p{
  max-width: 560px !important;
}

/* Keep next item almost visible below the active one */
.process-story-stage + .process-story-stage .process-story-step{
  margin-top: -8px !important;
}

@media (max-width: 900px){
  .process-story-stage{
    min-height: auto !important;
  }
  .process-story-step{
    position: relative !important;
    top: auto !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    margin-bottom: 18px !important;
  }
}


/* v79 compact process hoverflow */
.process-hoverflow{
  position:relative;
  overflow:hidden;
  padding:82px 0 68px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.03), transparent 24%),
    radial-gradient(circle at 10% 45%, rgba(255,255,255,.022), transparent 18%),
    linear-gradient(180deg, rgba(5,6,7,.28), rgba(5,6,7,.04) 18%, rgba(5,6,7,0) 38%),
    transparent;
}
.process-hoverflow::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 84% 68%, rgba(255,255,255,.018), transparent 15%),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.004) 0px,
      rgba(255,255,255,.004) 1px,
      transparent 1px,
      transparent 24px
    );
  opacity:.7;
}
.process-hoverflow .process-story-head{
  margin-bottom:16px;
}
.process-hoverflow-shell{
  position:relative;
  max-width:980px;
  height:420px;
  overflow:hidden;
  border-radius:28px;
}
.process-hoverflow-rail{
  position:absolute;
  left:0;
  right:0;
  top:20px;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.04) 46%, transparent 100%);
  box-shadow:0 0 18px rgba(255,255,255,.04);
  pointer-events:none;
}
.process-hoverflow-step{
  position:absolute;
  left:0;
  top:0;
  width:min(100%, 860px);
  display:grid;
  grid-template-columns:72px minmax(0, 650px);
  gap:18px;
  opacity:0;
  transform:translateY(120px) scale(.985);
  filter:blur(1.3px);
  transition:
    opacity .42s ease,
    transform .42s ease,
    filter .42s ease;
  pointer-events:none;
  will-change:transform, opacity, filter;
}
.process-hoverflow-step.is-active{
  opacity:1;
  transform:translateY(24px) scale(1);
  filter:none;
  pointer-events:auto;
  z-index:3;
}
.process-hoverflow-step.is-next{
  opacity:.28;
  transform:translateY(188px) scale(.99);
  filter:blur(.6px);
  z-index:2;
}
.process-hoverflow-step.is-prev{
  opacity:.10;
  transform:translateY(-40px) scale(.985);
  filter:blur(1.6px);
  z-index:1;
}
.process-hoverflow-number{
  font-size:44px;
  line-height:1;
  letter-spacing:-.06em;
  color:rgba(255,255,255,.28);
  padding-top:18px;
}
.process-hoverflow-copy{
  max-width:640px;
}
.process-hoverflow-line{
  width:100%;
  height:1px;
  margin-bottom:18px;
  opacity:0;
}
.process-hoverflow-copy h3{
  margin:0 0 12px;
  font-size:clamp(30px,2.4vw,44px);
  line-height:1;
  letter-spacing:-.05em;
  text-transform:uppercase;
  color:#f6f6f6;
}
.process-hoverflow-copy p{
  margin:0;
  max-width:540px;
  font-size:15px;
  line-height:1.72;
  color:rgba(230,230,230,.64);
}
.process-hoverflow-shell.is-hovered .process-hoverflow-step.is-active .process-hoverflow-copy h3{
  text-shadow:0 0 14px rgba(255,255,255,.04);
}
@media (max-width: 900px){
  .process-hoverflow{
    padding:74px 0 58px;
  }
  .process-hoverflow-shell{
    height:auto;
    overflow:visible;
  }
  .process-hoverflow-rail{
    top:14px;
  }
  .process-hoverflow-step{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    pointer-events:auto !important;
    margin:0 0 26px;
    grid-template-columns:54px 1fr;
  }
  .process-hoverflow-step:last-child{
    margin-bottom:0;
  }
  .process-hoverflow-number{
    font-size:34px;
    padding-top:8px;
  }
}


/* v80 process tighter spacing */
.process-hoverflow-shell{
  height: 330px !important;
}
.process-hoverflow-step.is-active{
  transform: translateY(18px) scale(1) !important;
}
.process-hoverflow-step.is-next{
  opacity: .26 !important;
  transform: translateY(122px) scale(.992) !important;
  filter: blur(.45px) !important;
}
.process-hoverflow-step.is-prev{
  opacity: .08 !important;
  transform: translateY(-16px) scale(.988) !important;
}
.process-hoverflow-copy h3{
  margin-bottom: 8px !important;
}
.process-hoverflow-copy p{
  line-height: 1.6 !important;
}
@media (max-width: 900px){
  .process-hoverflow-shell{
    height: auto !important;
  }
  .process-hoverflow-step{
    margin-bottom: 14px !important;
  }
}


/* v87 final team/contact layout */
.team-contact-card{
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.04), transparent 18%),
    radial-gradient(circle at 82% 82%, rgba(255,255,255,.022), transparent 16%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012)),
    rgba(6,8,12,.82) !important;
}
.team-contact-card h3{
  max-width:10ch;
}
.team-contact-card > div:first-child p{
  max-width:56ch;
}
.team-slider{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin-top:22px;
}
.team-slider-viewport{
  overflow:hidden;
  width:100%;
  padding:10px 0;
}
.team-slider-track{
  display:grid;
  grid-template-columns:repeat(4, calc(50% - 10px));
  gap:20px;
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.team-mini-card{
  position:relative;
  min-height:270px;
  border-radius:30px;
  padding:22px 18px 18px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.06), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012)),
    rgba(10,12,18,.9);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    inset 0 1px 0 rgba(255,255,255,.035),
    0 16px 36px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
  transform-style:preserve-3d;
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.team-mini-card::before{
  content:"";
  position:absolute;
  top:0;
  left:-125%;
  width:78%;
  height:100%;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.02) 20%, rgba(255,255,255,.12) 48%, rgba(255,255,255,.03) 72%, transparent 100%);
  transform:skewX(-22deg);
  opacity:0;
  pointer-events:none;
  transition:left .65s cubic-bezier(.22,.61,.36,1), opacity .25s ease;
}
.team-mini-card::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  opacity:.6;
}
.team-mini-card:hover{
  transform:translateY(-8px) scale(1.02);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.075), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
    rgba(12,14,20,.94);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.085),
    inset 0 1px 0 rgba(255,255,255,.055),
    0 26px 54px rgba(0,0,0,.28),
    0 0 42px rgba(255,255,255,.04);
}
.team-mini-card:hover::before{
  left:145%;
  opacity:1;
}
.photo-avatar{
  position:relative;
  width:120px;
  height:120px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    rgba(18,22,34,.82);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 12px 28px rgba(8,12,22,.18);
  overflow:hidden;
  transition:transform .34s ease, box-shadow .34s ease, filter .34s ease;
}
.photo-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.team-mini-card:hover .photo-avatar{
  transform:translateY(-2px) scale(1.08);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.14),
    0 16px 34px rgba(8,12,22,.24),
    0 0 26px rgba(255,255,255,.05),
    0 0 60px rgba(255,255,255,.025);
  filter:brightness(1.03);
}
.team-avatar-glow{
  position:absolute;
  inset:auto -12% -18%;
  height:42px;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,.04) 45%, transparent 72%);
  opacity:0;
  transform:scale(1);
  filter:blur(12px);
  transition:opacity .3s ease, transform .3s ease;
  pointer-events:none;
}
.team-mini-card:hover .team-avatar-glow{
  opacity:.95;
  animation:teamPulseGlow 1.6s ease-in-out infinite;
}
.team-mini-card h4{
  margin:0 0 8px;
  font-size:19px;
  line-height:1.06;
  letter-spacing:-.03em;
  color:#f3f4f6;
  max-width:100%;
  overflow-wrap:anywhere;
}
.team-mini-card:hover h4{
  text-shadow:0 0 12px rgba(255,255,255,.08);
}
.team-mini-card p{
  margin:0;
  color:rgba(215,220,230,.72);
  font-size:11px;
  line-height:1.45;
  letter-spacing:.12em;
  text-transform:uppercase;
  max-width:16ch;
}
.team-slider-arrow{
  width:44px;
  height:44px;
  border:none;
  border-radius:50%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)),
    rgba(10,12,16,.72);
  color:#f2f2f2;
  font-size:28px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 8px 22px rgba(0,0,0,.14);
  transition:background .22s ease, transform .22s ease, opacity .22s ease, box-shadow .22s ease;
}
.team-slider-arrow:hover{
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)),
    rgba(12,14,20,.82);
  transform:translateY(-1px);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 10px 26px rgba(0,0,0,.18);
}
.team-slider-arrow:disabled{
  opacity:.35;
  cursor:default;
  transform:none;
}
@media (max-width:1100px){
  .team-slider{
    grid-template-columns:1fr;
  }
  .team-slider-arrow{
    display:none;
  }
  .team-slider-track{
    grid-template-columns:repeat(4, 48%);
    gap:14px;
  }
}
@media (max-width:680px){
  .team-mini-card{
    min-height:236px;
    padding:20px 16px 16px;
  }
  .photo-avatar{
    width:98px;
    height:98px;
  }
  .team-mini-card h4{
    font-size:17px;
  }
  .team-slider-track{
    grid-template-columns:repeat(4, 82%);
  }
}
@keyframes teamPulseGlow{
  0%{transform:scale(1);opacity:.62;}
  50%{transform:scale(1.16);opacity:.92;}
  100%{transform:scale(1);opacity:.62;}
}


/* v88 contact banner image */
.contact-banner-wrap{
  margin-top:22px;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.008));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 14px 32px rgba(0,0,0,.16);
}
.contact-banner-image{
  display:block;
  width:100%;
  height:188px;
  object-fit:cover;
  object-position:center 52%;
  border-radius:28px;
  filter:saturate(.98) contrast(1.02);
}

/* v89 ensure banner visible */
.contact-banner-wrap{display:block !important; min-height:188px !important;}
.contact-banner-image{display:block !important; width:100% !important; height:188px !important; opacity:1 !important; visibility:visible !important;}


/* v90 contact banner image */
.contact-banner-wrap{
  display:block;
  margin-top:22px;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.008));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 14px 32px rgba(0,0,0,.16);
}
.contact-banner-image{
  display:block;
  width:100%;
  height:188px;
  object-fit:cover;
  object-position:center 52%;
  border-radius:28px;
  filter:saturate(.98) contrast(1.02);
}
@media (max-width:900px){
  .contact-banner-image{
    height:150px;
  }
}





/* quitar separación real entre bloques */
.process-hoverflow-step{
  gap: 8px !important;
  margin: 0 !important;
  padding: 6px 0 !important;
}

/* línea separadora casi inexistente */
.process-hoverflow-line{
  margin: 4px 0 !important;
  opacity: 0.15 !important;
}

/* texto más compacto */
.process-hoverflow-copy h3{
  margin-bottom: 2px !important;
}

.process-hoverflow-copy p{
  margin: 0 !important;
  line-height: 1.3 !important;
}

/* POSICIONES MÁS PEGADAS */

/* activo */
.process-hoverflow-step.is-active{
  transform: translateY(6px) scale(1) !important;
}

/* siguiente (muy cerca) */
.process-hoverflow-step.is-next{
  opacity: .3 !important;
  transform: translateY(52px) scale(.995) !important;
  filter: blur(.2px) !important;
}

/* anterior */
.process-hoverflow-step.is-prev{
  opacity: .08 !important;
  transform: translateY(-2px) scale(.99) !important;
}

@media (max-width: 900px){
  .process-hoverflow-shell{
    height: auto !important;
  }
}








/* v95 process spacing real fix */
.process-story{
  padding-top: 56px !important;
  padding-bottom: 40px !important;
}
.process-story-head{
  margin-bottom: 10px !important;
}
.process-story-shell{
  max-width: 980px !important;
}
.process-story-stack{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
}

/* the real spacing problem was each stage height */
.process-story-stage{
  min-height: 5vh !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.process-story-step{
  position:relative !important;
  top:auto !important;
  min-height:0 !important;
  grid-template-columns: 62px minmax(0, 720px) !important;
  gap: 16px !important;
  align-content:start !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

.process-story-line{
  margin: 0 0 8px !important;
  opacity: .12 !important;
}

.process-story-number{
  font-size: 34px !important;
  line-height: 1 !important;
}

.process-story-copy{
  padding-top: 0 !important;
  max-width: 720px !important;
}

.process-story-copy h3{
  margin: 0 0 6px !important;
  font-size: 31px !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
}

.process-story-copy p{
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  max-width: 620px !important;
  color: rgba(230,230,230,.62) !important;
}

@media (max-width: 900px){
  .process-story{
    padding-top: 40px !important;
    padding-bottom: 24px !important;
  }
  .process-story-step{
    grid-template-columns: 48px 1fr !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
  }
  .process-story-number{
    font-size: 28px !important;
  }
  .process-story-copy h3{
    font-size: 24px !important;
  }
  .process-story-copy p{
    font-size: 13px !important;
  }
}





/* default inactive look */
.process-story-step .process-story-number{
  color: rgba(255,255,255,.22) !important;
}
.process-story-step .process-story-copy h3{
  color: rgba(255,255,255,.58) !important;
  text-shadow: none !important;
}
.process-story-step .process-story-copy p{
  color: rgba(230,230,230,.34) !important;
  text-shadow: none !important;
}
.process-story-step .process-story-line{
  opacity: .10 !important;
  box-shadow: none !important;
}

/* active by scroll */
.process-story-step.is-active .process-story-number{
  color: rgba(255,255,255,.38) !important;
}
.process-story-step.is-active .process-story-copy h3{
  color: #f2f4f7 !important;
  text-shadow: 0 0 18px rgba(255,255,255,.06) !important;
}
.process-story-step.is-active .process-story-copy p{
  color: rgba(235,238,244,.72) !important;
}
.process-story-step.is-active .process-story-line{
  opacity: .18 !important;
  box-shadow: 0 0 12px rgba(255,255,255,.03) !important;
}

/* hovered item always wins */
.process-story-step:hover,
.process-story-step:focus-within{
  opacity: 1 !important;
}
.process-story-step:hover .process-story-number,
.process-story-step:focus-within .process-story-number{
  color: rgba(255,255,255,.52) !important;
}
.process-story-step:hover .process-story-copy h3,
.process-story-step:focus-within .process-story-copy h3{
  color: #ffffff !important;
  text-shadow:
    0 0 16px rgba(255,255,255,.10),
    0 0 26px rgba(92,242,161,.08) !important;
}
.process-story-step:hover .process-story-copy p,
.process-story-step:focus-within .process-story-copy p{
  color: rgba(245,247,250,.82) !important;
}
.process-story-step:hover .process-story-line,
.process-story-step:focus-within .process-story-line{
  opacity: .24 !important;
  box-shadow: 0 0 18px rgba(255,255,255,.05) !important;
}

.process-story-number{
  font-size: 38px !important;
}
.process-story-copy h3{
  font-size: 34px !important;
}
.process-story-copy p{
  font-size: 16px !important;
  line-height: 1.46 !important;
  max-width: 650px !important;
}

@media (max-width: 900px){
  .process-story-number{
    font-size: 30px !important;
  }
  .process-story-copy h3{
    font-size: 26px !important;
  }
  .process-story-copy p{
    font-size: 14px !important;
  }
}


/* v98 process exclusive hover priority + text scale */
.process-story-step{
  cursor: default;
  transition:
    opacity .24s ease,
    transform .24s ease,
    filter .24s ease,
    background .24s ease,
    box-shadow .24s ease !important;
}

/* default inactive look */
.process-story-step .process-story-number{
  color: rgba(255,255,255,.22) !important;
}
.process-story-step .process-story-copy h3{
  color: rgba(255,255,255,.58) !important;
  text-shadow: none !important;
}
.process-story-step .process-story-copy p{
  color: rgba(230,230,230,.34) !important;
  text-shadow: none !important;
}
.process-story-step .process-story-line{
  opacity: .10 !important;
  box-shadow: none !important;
}

/* active by scroll when nothing is hovered */
.process-story-step.is-active .process-story-number{
  color: rgba(255,255,255,.38) !important;
}
.process-story-step.is-active .process-story-copy h3{
  color: #f2f4f7 !important;
  text-shadow: 0 0 18px rgba(255,255,255,.06) !important;
}
.process-story-step.is-active .process-story-copy p{
  color: rgba(235,238,244,.72) !important;
}
.process-story-step.is-active .process-story-line{
  opacity: .18 !important;
  box-shadow: 0 0 12px rgba(255,255,255,.03) !important;
}

/* when the process block is hovered, remove the scroll-active highlight */
.process-story-shell:hover .process-story-step.is-active .process-story-number{
  color: rgba(255,255,255,.22) !important;
}
.process-story-shell:hover .process-story-step.is-active .process-story-copy h3{
  color: rgba(255,255,255,.58) !important;
  text-shadow: none !important;
}
.process-story-shell:hover .process-story-step.is-active .process-story-copy p{
  color: rgba(230,230,230,.34) !important;
  text-shadow: none !important;
}
.process-story-shell:hover .process-story-step.is-active .process-story-line{
  opacity: .10 !important;
  box-shadow: none !important;
}

/* hovered item always wins and is the only bright one */
.process-story-step:hover,
.process-story-step:focus-within{
  opacity: 1 !important;
}
.process-story-step:hover .process-story-number,
.process-story-step:focus-within .process-story-number{
  color: rgba(255,255,255,.52) !important;
}
.process-story-step:hover .process-story-copy h3,
.process-story-step:focus-within .process-story-copy h3{
  color: #ffffff !important;
  text-shadow:
    0 0 16px rgba(255,255,255,.10),
    0 0 26px rgba(92,242,161,.08) !important;
}
.process-story-step:hover .process-story-copy p,
.process-story-step:focus-within .process-story-copy p{
  color: rgba(245,247,250,.82) !important;
}
.process-story-step:hover .process-story-line,
.process-story-step:focus-within .process-story-line{
  opacity: .24 !important;
  box-shadow: 0 0 18px rgba(255,255,255,.05) !important;
}

.process-story-number{
  font-size: 38px !important;
}
.process-story-copy h3{
  font-size: 34px !important;
}
.process-story-copy p{
  font-size: 16px !important;
  line-height: 1.46 !important;
  max-width: 650px !important;
}

@media (max-width: 900px){
  .process-story-number{
    font-size: 30px !important;
  }
  .process-story-copy h3{
    font-size: 26px !important;
  }
  .process-story-copy p{
    font-size: 14px !important;
  }
}


/* v99 text integration */
.hero-copy,
.hero-card-sub,
.lead-copy,
.service-card p,
.process-story-copy p,
.contact-card p,
.contact-box p,
.card-desc{
  text-align: justify;
  text-justify: inter-word;
}
.team-contact-card > div:first-child p{
  text-align: justify;
}
.service-card p,
.process-story-copy p,
.contact-card p,
.contact-box p{
  max-width: 100%;
}


/* v100 english text cleanup */
.hero-copy,
.hero-card-sub,
.lead-copy,
.service-card p,
.process-story-copy p,
.contact-card p,
.contact-box p,
.card-desc{
  text-align: justify;
  text-justify: inter-word;
}

#showcase .meta,
#showcase .card-title,
#showcase .card-desc{
  display: none !important;
}


/* v101 reviews restore and hero/contact polish */
.hero h1{
  max-width: 10.2ch !important;
  line-height: .94 !important;
}
.hero h1 span{
  color: inherit !important;
}
.hero-screen-accent{
  background: linear-gradient(90deg, #e6fff0 0%, #9ef0c7 35%, #5cf2a1 75%, #2fd27e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  text-shadow: 0 0 24px rgba(92,242,161,.16);
}
.hero-card-title{
  font-size: clamp(46px, 5.2vw, 72px) !important;
  line-height: .93 !important;
  max-width: 8.2ch !important;
}
.floating-small.right{
  right: -12px !important;
}
#contact .socials{
  gap: 28px !important;
}
#contact .socials span{
  letter-spacing: .16em !important;
}
#contact .team-mini-card p{
  line-height: 1.35 !important;
}

/* reviews block restored */
.reviews-showcase{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:20px;
  align-items:center;
}
.reviews-panel{
  min-height:520px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 60px rgba(0,0,0,.22);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
    radial-gradient(circle at 10% 10%, rgba(92,242,161,.10), transparent 25%),
    linear-gradient(135deg, #0c0f0d, #070808 55%, #0c0e0d);
  padding:28px;
}
.reviews-frame{
  position:relative;
  width:100%;
  min-height:560px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)),
    linear-gradient(135deg, rgba(92,242,161,.04), transparent 30%, transparent 70%, rgba(92,242,161,.03));
  isolation:isolate;
}
.reviews-frame::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(92,242,161,.06), transparent 18%, transparent 82%, rgba(92,242,161,.04)),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 24%);
  pointer-events:none;
  z-index:1;
}
.reviews-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(180deg, rgba(92,242,161,.18) 0%, rgba(92,242,161,.02) 14%, transparent 32%, transparent 68%, rgba(92,242,161,.02) 86%, rgba(92,242,161,.18) 100%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,.85) 0 8%, transparent 12% 88%, rgba(0,0,0,.85) 92% 100%);
  animation: edgeLedDown 6.5s linear infinite;
  opacity:.55;
}
.reviews-marquee{
  position:absolute;
  left:0;
  right:0;
  top:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:20px 18px;
  will-change:transform;
}
.reviews-marquee.clone{ top:0; }
.review-card{
  margin-bottom:16px;
  position:relative;
  width:min(82%, 500px);
  padding:18px 20px 18px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(7,10,8,.86);
  backdrop-filter:blur(12px);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.review-card:nth-child(odd){ margin-left:auto; }
.review-card:nth-child(even){ margin-right:auto; }
.review-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
.review-avatar{
  width:68px;
  height:68px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.10);
  box-shadow:0 0 0 1px rgba(92,242,161,.10);
  flex:0 0 auto;
  background:#111;
}
.review-meta{ min-width:0; }
.review-name{
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
  color:#f4f4f4;
}
.review-stars{
  margin-top:4px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  color:var(--green);
}
.review-card p{
  margin:0;
  color:#d6d6d6;
  line-height:1.7;
  font-size:16px;
  text-align:left !important;
}
.quote-copy{
  font-size:clamp(34px,6vw,88px);
  line-height:.94;
  letter-spacing:-.06em;
  font-weight:900;
  text-wrap:balance;
}
.review-highlight{
  display:block;
}
.review-line{
  display:block;
  position:relative;
  color:#787878 !important;
}
.review-line::after{
  content:attr(data-text);
  position:absolute;
  inset:0;
  color:transparent;
  background-image:linear-gradient(
    90deg,
    transparent 0%,
    transparent 35%,
    #5cf2a1 45%,
    #e6fff0 50%,
    #5cf2a1 55%,
    transparent 65%,
    transparent 100%
  );
  background-repeat:no-repeat;
  background-size:200% 100%;
  background-position:120% 0;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  pointer-events:none;
  animation:reviewSweepPass 3.5s linear infinite;
}
@keyframes reviewSweepPass{
  0%{ background-position:120% 0; }
  40%{ background-position:-20% 0; }
  100%{ background-position:-20% 0; }
}
@keyframes edgeLedDown{
  0%{ background-position:0 -140%, 0 0; opacity:.35; }
  50%{ opacity:.72; }
  100%{ background-position:0 140%, 0 0; opacity:.35; }
}
@media (max-width: 980px){
  .reviews-showcase{
    grid-template-columns:1fr;
  }
}

/* v102 */
.team-role-split{text-align:center!important;display:block;width:100%;line-height:1.35!important}.hero h1{max-width:11ch!important;line-height:.92!important}.hero-screen-accent{background:linear-gradient(90deg,#eefef5 0%,#baf7d8 35%,#5cf2a1 75%,#2fd27e 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 24px rgba(92,242,161,.16)}.hero-card-title{font-size:clamp(38px,4.2vw,58px)!important;line-height:.92!important;max-width:7.1ch!important}.floating-small.left{display:none!important}.btn-primary.showcase-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px}.btn-primary.showcase-cta::before{content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-20deg);transition:left .6s ease}.btn-primary.showcase-cta:hover::before{left:140%}.btn-primary.showcase-cta .snake-mark{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 8px rgba(92,242,161,.22))}.btn-primary.showcase-cta .snake-mark svg{width:16px;height:16px;display:block}.btn-primary.showcase-cta:hover .snake-mark svg path{fill:#9ef0c7}#contact .socials a{color:inherit;text-decoration:none}#contact .socials a:hover{color:#fff}.topv-placeholder{min-height:260px;border-radius:32px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012)),rgba(6,8,12,.78);box-shadow:0 24px 60px rgba(0,0,0,.20)}.topv-placeholder .section-kicker{margin-bottom:14px}.reviews-showcase{display:grid;grid-template-columns:.95fr 1.05fr;gap:20px;align-items:center}.reviews-panel{min-height:520px;display:grid;place-items:center;overflow:hidden;border-radius:32px;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 60px rgba(0,0,0,.22);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015)),radial-gradient(circle at 10% 10%,rgba(92,242,161,.10),transparent 25%),linear-gradient(135deg,#0c0f0d,#070808 55%,#0c0e0d);padding:28px}.reviews-frame{position:relative;width:100%;min-height:560px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),linear-gradient(135deg,rgba(92,242,161,.04),transparent 30%,transparent 70%,rgba(92,242,161,.03));isolation:isolate}.reviews-frame::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(92,242,161,.06),transparent 18%,transparent 82%,rgba(92,242,161,.04)),linear-gradient(180deg,rgba(255,255,255,.03),transparent 24%);pointer-events:none;z-index:1}.reviews-frame::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(180deg,rgba(92,242,161,.18) 0%,rgba(92,242,161,.02) 14%,transparent 32%,transparent 68%,rgba(92,242,161,.02) 86%,rgba(92,242,161,.18) 100%);mask-image:linear-gradient(90deg,rgba(0,0,0,.85) 0 8%,transparent 12% 88%,rgba(0,0,0,.85) 92% 100%);animation:edgeLedDown 6.5s linear infinite;opacity:.55}.reviews-marquee{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;flex-direction:column;gap:0;padding:20px 18px;will-change:transform}.reviews-marquee.clone{top:0}.review-card{margin-bottom:16px;position:relative;width:min(82%,500px);padding:18px 20px 18px;border-radius:26px;border:1px solid rgba(255,255,255,.10);background:rgba(7,10,8,.86);backdrop-filter:blur(12px);box-shadow:0 24px 60px rgba(0,0,0,.28)}.review-card:nth-child(odd){margin-left:auto}.review-card:nth-child(even){margin-right:auto}.review-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.review-avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.10);box-shadow:0 0 0 1px rgba(92,242,161,.10);flex:0 0 auto;background:#111}.review-meta{min-width:0}.review-name{font-size:18px;font-weight:800;letter-spacing:-.02em;color:#f4f4f4}.review-stars{margin-top:4px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--green)}.review-card p{margin:0;color:#d6d6d6;line-height:1.7;font-size:16px;text-align:left!important}.quote-copy{font-size:clamp(34px,6vw,88px);line-height:.94;letter-spacing:-.06em;font-weight:900;text-wrap:balance}.review-highlight{display:block}.review-line{display:block;position:relative;color:#787878!important}.review-line::after{content:attr(data-text);position:absolute;inset:0;color:transparent;background-image:linear-gradient(90deg,transparent 0%,transparent 35%,#5cf2a1 45%,#e6fff0 50%,#5cf2a1 55%,transparent 65%,transparent 100%);background-repeat:no-repeat;background-size:200% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;pointer-events:none;animation:reviewSweepPass 3.5s linear infinite}@keyframes reviewSweepPass{0%{background-position:120% 0}40%{background-position:-20% 0}100%{background-position:-20% 0}}@keyframes edgeLedDown{0%{background-position:0 -140%,0 0;opacity:.35}50%{opacity:.72}100%{background-position:0 140%,0 0;opacity:.35}}@media (max-width:980px){.reviews-showcase{grid-template-columns:1fr}}


/* v103 */
.hero-card-body{gap:12px!important}
.hero-video-shell{margin-bottom:0!important}
.hero-card-title{
  font-size:clamp(42px,4.8vw,64px)!important;
  line-height:.92!important;
  max-width:7.8ch!important;
  letter-spacing:-.05em!important;
}
.hero-card-sub{max-width:31ch!important}
.btn-primary.showcase-cta .snake-mark svg path,
.btn-primary.showcase-cta:hover .snake-mark svg path{fill:#111111!important}

.video-modal{
  position:fixed; inset:0; z-index:120; opacity:0; pointer-events:none; transition:opacity .28s ease;
}
.video-modal.is-open{opacity:1; pointer-events:auto}
.video-modal-backdrop{
  position:absolute; inset:0; background:rgba(3,7,14,.64); backdrop-filter:blur(10px);
}
.video-modal-dialog{
  position:relative; width:min(92vw,1080px); margin:min(8vh,64px) auto 0; z-index:1;
}
.video-modal-frame{
  border-radius:18px; overflow:hidden; box-shadow:0 28px 80px rgba(0,0,0,.48); background:#000;
  border:1px solid rgba(255,255,255,.08);
}
.video-modal-frame iframe{
  display:block; width:100%; aspect-ratio:16/9; border:0; background:#000;
}
.video-modal-close{
  position:absolute; top:-20px; right:-6px; width:38px; height:38px; border:0; border-radius:999px;
  background:rgba(8,12,18,.84); color:#f4f4f4; font-size:28px; line-height:1; display:grid; place-items:center;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.video-modal-close:hover{background:rgba(16,20,28,.94)}
@media (max-width:820px){
  .hero-card-title{font-size:clamp(36px,7vw,52px)!important; max-width:8.2ch!important}
  .video-modal-dialog{width:min(94vw,980px); margin:84px auto 0}
  .video-modal-close{top:-18px; right:0}
}


/* v104 hero and showcase fixes */
.hero-card-body{
  gap: 10px !important;
}
.hero-card-title{
  font-size: clamp(40px, 4.3vw, 58px) !important;
  line-height: .92 !important;
  max-width: 10.6ch !important;
  letter-spacing: -.05em !important;
}
.hero-card-sub{
  margin-top: 2px !important;
  max-width: 30ch !important;
}
.hero-video-shell{
  margin-bottom: 2px !important;
}
.hero-video-wrap{
  border-radius: 22px !important;
}
.floating-small.right{
  top: 84px !important;
}
@media (max-width: 1180px){
  .floating-small.right{
    top: 74px !important;
  }
}
@media (max-width: 820px){
  .hero-card-title{
    font-size: clamp(34px, 6vw, 48px) !important;
    max-width: 11ch !important;
  }
  .floating-small.right{
    top: 64px !important;
  }
}


/* v106 hero/newsboard centering and modal centering */
.hero-card-body{
  align-items: center !important;
}
.hero-video-shell,
.hero-card-top,
.badge{
  align-self: stretch !important;
}
.badge{
  align-self: flex-start !important;
}
.hero-card-title{
  margin: 8px auto 8px !important;
  text-align: center !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  line-height: .92 !important;
  max-width: 10.8ch !important;
}
.hero-card-sub{
  margin: 0 auto !important;
  max-width: 34ch !important;
  text-align: center !important;
}

.floating-small.right{
  top: 50% !important;
  margin-top: -82px !important;
}

.video-modal{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.video-modal-dialog{
  width: min(92vw, 1080px);
  margin: 0 !important;
}
.video-modal-close{
  top: -18px !important;
  right: -6px !important;
}

@media (max-width: 820px){
  .hero-card-title{
    font-size: clamp(34px, 5.5vw, 46px) !important;
  }
  .hero-card-sub{
    max-width: 30ch !important;
  }
  .floating-small.right{
    margin-top: -76px !important;
  }
}


/* v107 partners band */
.partners-band{
  position: relative;
  padding-top: 48px !important;
  padding-bottom: 52px !important;
  margin-top: -8px;
  overflow: hidden;
}
.partners-band::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 8% 50%, rgba(24,168,160,.10), transparent 24%),
    radial-gradient(circle at 92% 50%, rgba(24,168,160,.08), transparent 22%),
    linear-gradient(180deg, rgba(8,10,12,.92), rgba(4,6,8,.96));
  pointer-events:none;
}
.partners-band::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.02) 10%, transparent 20%, transparent 80%, rgba(255,255,255,.02) 90%, transparent 100%);
  pointer-events:none;
  opacity:.45;
}
.partners-shell{
  position:relative;
  z-index:1;
  text-align:center;
  padding: 8px 0;
}
.partners-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(90,210,220,.20);
  background:rgba(12,22,28,.54);
  color:#56d8ea;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:18px;
}
.partners-kicker::before{
  content:"◈";
  font-size:11px;
  margin-right:8px;
  opacity:.9;
}
.partners-title{
  margin:0 0 28px;
  color:#f2f4f7;
  font-size: clamp(34px, 4.2vw, 62px);
  line-height: .98;
  letter-spacing: -.05em;
  font-weight: 900;
}
.partners-logos{
  display:grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  justify-content:center;
  align-items:center;
  gap: 46px;
  max-width: 980px;
  margin: 0 auto;
}
.partner-logo-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:88px;
  padding: 8px 12px;
  text-decoration:none;
}
.partner-logo{
  display:block;
  max-width: 100%;
  max-height: 82px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1) brightness(.86) contrast(.95);
  opacity: .58;
  transition: filter .28s ease, opacity .28s ease, transform .28s ease;
  transform: translateY(0);
}
.partner-logo-quasar{
  max-height: 72px;
}
.partner-logo-origen{
  max-height: 60px;
}
.partner-logo-link:hover .partner-logo,
.partner-logo-link:focus-visible .partner-logo{
  filter: grayscale(0) brightness(1) contrast(1);
  opacity: 1;
  transform: translateY(-2px);
}
@media (max-width: 900px){
  .partners-band{
    padding-top: 38px !important;
    padding-bottom: 42px !important;
  }
  .partners-title{
    margin-bottom: 22px;
  }
  .partners-logos{
    grid-template-columns: 1fr;
    gap: 22px;
    max-width: 520px;
  }
  .partner-logo{
    max-height: 70px;
  }
  .partner-logo-origen{
    max-height: 54px;
  }
}


/* v108 partners compact + hero lift */
.partners-band{
  padding-top: 24px !important;
  padding-bottom: 26px !important;
  margin-top: -20px !important;
}
.partners-band::before{
  background:
    radial-gradient(circle at 14% 50%, rgba(92,242,161,.08), transparent 22%),
    radial-gradient(circle at 86% 50%, rgba(92,242,161,.06), transparent 20%),
    linear-gradient(180deg, rgba(4,6,8,.98), rgba(2,3,4,1));
}
.partners-band::after{
  opacity:.26;
}
.partners-shell{
  padding: 2px 0;
}
.partners-kicker{
  margin-bottom: 12px;
  border:1px solid rgba(92,242,161,.26);
  background: rgba(11,28,18,.72);
  color: #5cf2a1;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 10px 24px rgba(0,0,0,.14);
}
.partners-title{
  margin: 0 0 16px;
  font-size: clamp(28px, 3.2vw, 46px);
}
.partners-logos{
  gap: 28px;
}
.partner-logo-link{
  min-height: 66px;
  padding: 4px 8px;
}
.partner-logo{
  max-height: 64px;
}
.partner-logo-quasar{
  max-height: 56px;
}
.partner-logo-origen{
  max-height: 46px;
}

/* keep hero content inside the visual background */
.hero{
  padding-top: 132px !important;
  min-height: 1040px !important;
}
.hero-media{
  min-height: 980px !important;
}
.hero-copy-wrap{
  transform: translateY(-34px) !important;
}
.hero-actions{
  margin-top: 24px !important;
}
@media (max-width: 1180px){
  .hero{
    min-height: 980px !important;
  }
  .hero-media{
    min-height: 930px !important;
  }
  .hero-copy-wrap{
    transform: translateY(-18px) !important;
  }
}
@media (max-width: 900px){
  .partners-band{
    padding-top: 20px !important;
    padding-bottom: 22px !important;
    margin-top: -10px !important;
  }
  .partners-title{
    margin-bottom: 14px;
    font-size: clamp(24px, 6vw, 36px);
  }
  .partner-logo{
    max-height: 58px;
  }
  .partner-logo-quasar{
    max-height: 48px;
  }
  .partner-logo-origen{
    max-height: 42px;
  }
  .hero{
    min-height: 920px !important;
  }
  .hero-media{
    min-height: 900px !important;
  }
  .hero-copy-wrap{
    transform: translateY(0) !important;
  }
}


/* v109 remove top partners, tighten hero bottom gap, footer partners */
.partners-band{
  display:none !important;
}

.hero{
  padding-bottom: 24px !important;
  min-height: auto !important;
}
.hero-media{
  min-height: 0 !important;
}
.hero-copy-wrap{
  transform: translateY(-10px) !important;
}
.hero-actions{
  margin-top: 18px !important;
}

#showcase{
  margin-top: 0 !important;
  padding-top: 36px !important;
}

.footer-partners{
  width: min(100%, 560px);
  margin: 12px auto 30px;
  text-align: center;
}
.footer-partners-kicker{
  color: #5cf2a1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.footer-partners-title{
  color: rgba(255,255,255,.72);
  font-size: 18px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -.03em;
  margin-bottom: 12px;
}
.footer-partners-logos{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}
.footer-partner-link{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.footer-partner-logo{
  display:block;
  max-width:100%;
  height:auto;
  object-fit:contain;
  filter: grayscale(1) brightness(.82) contrast(.94);
  opacity:.54;
  transition: filter .26s ease, opacity .26s ease, transform .26s ease;
}
.footer-partner-logo-quasar{
  max-height: 34px;
}
.footer-partner-logo-origen{
  max-height: 28px;
}
.footer-partner-link:hover .footer-partner-logo,
.footer-partner-link:focus-visible .footer-partner-logo{
  filter: grayscale(0) brightness(1) contrast(1);
  opacity: 1;
  transform: translateY(-1px);
}

@media (max-width: 900px){
  .hero{
    padding-bottom: 14px !important;
  }
  #showcase{
    padding-top: 24px !important;
  }
  .footer-partners{
    width:min(100%, 420px);
    margin: 10px auto 24px;
  }
  .footer-partners-title{
    font-size: 16px;
    margin-bottom: 10px;
  }
  .footer-partner-logo-quasar{
    max-height: 28px;
  }
  .footer-partner-logo-origen{
    max-height: 24px;
  }
  .footer-partners-logos{
    gap: 14px;
  }
}


/* v110 showcase direct youtube */
#showcase .video-direct-link{
  display:block;
  position:relative;
  width:100%;
  height:100%;
  color:inherit;
  text-decoration:none;
}
#showcase .video-direct-link .video-play{
  pointer-events:none;
}



/* v112 restore section-1-to-section-2 spacing like v109 */
.hero{
  padding-bottom: 24px !important;
  min-height: auto !important;
  height: auto !important;
  margin-bottom: 0 !important;
}
.hero-media{
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 0 !important;
}
.hero-copy-wrap{
  transform: translateY(-10px) !important;
  margin-bottom: 0 !important;
}
.hero-actions{
  margin-top: 18px !important;
}
#home.section{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
#showcase{
  margin-top: 0 !important;
  padding-top: 36px !important;
}
#showcase.section{
  margin-top: 0 !important;
}
@media (max-width: 900px){
  .hero{
    padding-bottom: 14px !important;
  }
  #showcase{
    padding-top: 24px !important;
  }
}


.hero-video,.intro-video{background:#050705;}
.hero-video,.hero-card,.quality-main-card,.service-preview-media img,.contact-banner-image{transform:translateZ(0);}

@supports (content-visibility:auto){
  #showcase,#about,#services,#process,#topv,#contact,.footer-partners,footer{
    content-visibility:auto;
    contain-intrinsic-size:900px;
  }
}

body.low-power .intro-screen::before,
body.low-power .intro-screen::after,
body.low-power .intro-flashes,
body.low-power .intro-particles,
body.low-power .scanlines,
body.low-power .bg-orbs,
body.low-power .bg-beams,
body.low-power .bg-haze{
  display:none !important;
}

body.low-power .site-shell,
body.low-power .hero-card,
body.low-power .quality-card,
body.low-power .review-card,
body.low-power .service-card,
body.low-power .contact-card,
body.low-power .team-mini-card,
body.low-power .btn,
body.low-power .nav,
body.low-power .intro-rec{
  backdrop-filter:none !important;
  filter:none !important;
}

body.low-power .hero-card,
body.low-power .quality-main-card,
body.low-power .quality-card,
body.low-power .service-preview-media img,
body.low-power .reviews-marquee,
body.low-power .team-slider-track{
  animation:none !important;
  transition-duration:.2s !important;
}

@media (max-width: 900px){
  .intro-screen::before,
  .intro-screen::after,
  .intro-flashes,
  .intro-particles,
  .bg-orbs,
  .bg-beams,
  .bg-haze,
  .scanlines{display:none !important;}

  .hero-card,
  .quality-main-card,
  .quality-card,
  .service-preview-media img,
  .reviews-marquee,
  .team-slider-track{
    animation:none !important;
    transition-duration:.24s !important;
  }
}
