    :root {
      --ink: #05090d;
      --hero-background: 260 87% 3%;
      --hero-foreground: 40 6% 95%;
      --hero-card: 240 6% 9%;
      --hero-primary: 262 83% 58%;
      --hero-secondary: 240 4% 16%;
      --hero-muted: 240 5% 65%;
      --hero-border: 240 4% 20%;
      --hero-heading: 40 10% 96%;
      --hero-sub: 40 6% 82%;
      --hero-radius: .75rem;
      --navy: #0B1F3B;
      --blue-deep: #0d2444;
      --blue-band: #0f2e66;
      --blue: #1D4ED8;
      --blue-mid: #3B82F6;
      --blue-light: #60A5FA;
      --gray: #94A3B8;
      --white: #F8FAFC;
      --card: #0f2a50;
      --line: rgba(59,130,246,.2);
      --line-strong: rgba(96,165,250,.55);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--ink);
      color: var(--white);
      font-family: "Geist", "Inter", system-ui, sans-serif;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; }
    button, .button { cursor: pointer; font-family: inherit; }
    svg { display: block; }
    .container { width: min(1080px, calc(100% - 40px)); margin: 0 auto; }

    h1, h2, h3 {
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    h1 {
      font-size: clamp(42px, 7vw, 78px);
      line-height: .88;
      max-width: 660px;
      margin: 0 auto;
      text-align: center;
    }

    h2 {
      font-size: clamp(30px, 4vw, 48px);
      line-height: 1.05;
    }

    p {
      color: var(--gray);
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.7;
    }

    .button {
      align-items: center;
      border-radius: 999px;
      display: inline-flex;
      font-size: 13px;
      font-weight: 800;
      justify-content: center;
      min-height: 42px;
      padding: 12px 22px;
      transition: transform .35s cubic-bezier(.16,1,.3,1), background .35s ease, border-color .35s ease, box-shadow .35s ease, color .35s ease;
      white-space: nowrap;
    }

    .button-primary {
      background: linear-gradient(135deg, var(--blue), #7c3aed);
      border: 1px solid rgba(248,250,252,.18);
      box-shadow: 0 18px 48px rgba(29,78,216,.26), inset 0 1px 1px rgba(255,255,255,.18);
      color: #fff;
    }
    .button-primary:hover { background: linear-gradient(135deg, var(--blue-mid), #8b5cf6); border-color: rgba(248,250,252,.28); box-shadow: 0 24px 58px rgba(29,78,216,.34), inset 0 1px 1px rgba(255,255,255,.24); transform: translateY(-2px); }
    .button-outline {
      background: linear-gradient(145deg, rgba(248,250,252,.08), rgba(248,250,252,.025));
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(248,250,252,.14);
      box-shadow: 0 14px 36px rgba(0,0,0,.24), inset 0 1px 1px rgba(255,255,255,.12);
      color: #fff;
    }
    .button-outline:hover { background: linear-gradient(145deg, rgba(248,250,252,.14), rgba(248,250,252,.04)); border-color: rgba(96,165,250,.34); box-shadow: 0 22px 48px rgba(0,0,0,.34), inset 0 1px 1px rgba(255,255,255,.2); transform: translateY(-2px); }
    .button-light { background: var(--white); border: 1px solid var(--white); color: var(--ink); }
    .button-light:hover { background: var(--blue-light); border-color: var(--blue-light); color: #fff; transform: translateY(-2px); }

    .liquid-glass {
      background: rgba(255,255,255,.01);
      background-blend-mode: luminosity;
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      border: none;
      box-shadow: inset 0 1px 1px rgba(255,255,255,.1);
      overflow: hidden;
      position: relative;
    }

    .liquid-glass::before {
      background: linear-gradient(180deg, rgba(255,255,255,.45) 0%, rgba(255,255,255,.15) 20%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%, rgba(255,255,255,.15) 80%, rgba(255,255,255,.45) 100%);
      border-radius: inherit;
      content: "";
      inset: 0;
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      padding: 1.4px;
      pointer-events: none;
      position: absolute;
    }

    .logo { align-items: center; display: inline-flex; gap: 9px; }
    .logo-icon { color: var(--blue-light); height: 32px; width: 32px; }
    .logo-text {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: 14px;
      font-weight: 700;
      line-height: 1;
      text-transform: uppercase;
    }
    .logo-warrior { color: #fff; }
    .logo-web { color: var(--blue); }

    .site-nav {
      background: hsl(var(--hero-background) / .82);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid hsl(var(--hero-border) / .9);
      border-radius: 999px;
      box-shadow: 0 16px 44px rgba(0,0,0,.28), inset 0 1px 1px rgba(255,255,255,.08);
      color: hsl(var(--hero-foreground));
      height: 48px;
      left: 50%;
      overflow: hidden;
      position: fixed;
      top: 24px;
      transform: translateX(-50%);
      transition: width .42s cubic-bezier(.22,1,.36,1), transform .3s ease, opacity .3s ease;
      width: auto;
      z-index: 50;
    }
    .site-nav::after {
      display: none;
    }
    .site-nav.nav-collapsed {
      cursor: pointer;
      width: 48px;
    }
    .site-nav .logo-warrior { color: #fff; }
    .site-nav .logo-icon { color: var(--blue-light); }
    .nav-inner {
      align-items: center;
      display: flex;
      height: 48px;
      justify-content: flex-start;
      min-height: 48px;
      padding: 0 22px;
      width: auto;
    }
    .nav-logo {
      align-items: center;
      display: flex;
      flex: 0 0 auto;
      padding-right: 8px;
      transition: opacity .25s ease, transform .3s ease;
    }
    .nav-logo svg {
      color: var(--blue-light);
      height: 24px;
      width: 24px;
    }
    .nav-links { align-items: center; display: flex; gap: 30px; font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; font-size: 14px; font-weight: 600; padding-right: 0; transition: opacity .25s ease, transform .3s ease; }
    .nav-links a { transition: all .3s ease; }
    .nav-links a:hover { color: var(--blue); }
    .nav-menu-icon {
      color: hsl(var(--hero-foreground));
      display: grid;
      inset: 0;
      opacity: 0;
      place-items: center;
      pointer-events: none;
      position: absolute;
      transform: scale(.8);
      transition: opacity .25s ease .08s, transform .3s ease;
    }
    .nav-menu-icon svg {
      height: 22px;
      width: 22px;
    }
    .site-nav.nav-collapsed .nav-logo,
    .site-nav.nav-collapsed .nav-links {
      opacity: 0;
      pointer-events: none;
      transform: translateX(-18px) scale(.96);
    }
    .site-nav.nav-collapsed .nav-menu-icon {
      opacity: 1;
      transform: scale(1);
    }
    .nav-cta { min-height: 38px; padding: 8px 16px; font-size: 14px; border-radius: 999px; }
    .nav-short { display: none; }

    .section {
      background: #05090d;
      isolation: isolate;
      padding: 96px 0;
      overflow: hidden;
      position: relative;
    }
    .section::before {
      background:
        radial-gradient(circle at 50% 34%, rgba(29,78,216,.16), transparent 36%),
        linear-gradient(to right, rgba(248,250,252,.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(248,250,252,.035) 1px, transparent 1px);
      background-size: auto, 60px 60px, 60px 60px;
      content: "";
      inset: 0;
      -webkit-mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
      mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }
    .section[data-cinema]::after {
      background: linear-gradient(180deg, rgba(248,250,252,.075), transparent 64%);
      -webkit-background-clip: text;
      background-clip: text;
      bottom: -4vw;
      color: transparent;
      content: attr(data-cinema);
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: clamp(92px, 18vw, 260px);
      font-weight: 700;
      left: 50%;
      letter-spacing: -.06em;
      line-height: .75;
      opacity: .8;
      pointer-events: none;
      position: absolute;
      text-transform: uppercase;
      transform: translateX(-50%);
      -webkit-text-stroke: 1px rgba(248,250,252,.045);
      user-select: none;
      white-space: nowrap;
      z-index: 0;
    }
    .section > .container {
      position: relative;
      z-index: 2;
    }
    .section-label {
      align-items: center;
      background: linear-gradient(145deg, rgba(248,250,252,.08), rgba(248,250,252,.025));
      border: 1px solid rgba(248,250,252,.12);
      border-radius: 999px;
      box-shadow: 0 14px 34px rgba(0,0,0,.26), inset 0 1px 1px rgba(255,255,255,.12);
      color: var(--blue-light);
      display: inline-flex;
      font-size: 11px;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-weight: 600;
      letter-spacing: 1px;
      margin-bottom: 12px;
      padding: 7px 13px;
      text-transform: none;
    }
    .center { text-align: center; }
    .section-heading { margin: 0 auto 46px; max-width: 650px; position: relative; text-align: center; z-index: 1; }
    .section-heading p { margin: 14px auto 0; max-width: 560px; font-size: 13px; }
    .section h2,
    .section-heading h2,
    .split h2 {
      background: linear-gradient(180deg, #fff 0%, rgba(96,165,250,.72) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      filter: drop-shadow(0 0 22px rgba(96,165,250,.16));
    }
    .eyebrow,
    .service-card p,
    .service-card a,
    .split-actions a,
    .process-step p,
    .card p,
    .location-state,
    .testimonial-card blockquote,
    .testimonial-title,
    .trust-card span,
    .faq-answer p,
    .cta-panel p,
    .footer p,
    .footer a {
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-weight: 600;
    }

    .hero {
      background: hsl(var(--hero-background));
      min-height: 900px;
      overflow: hidden;
      padding: 108px 0 0;
      position: relative;
    }
    .hero-bg-video {
      height: 100%;
      left: 0;
      object-fit: cover;
      opacity: 0;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 0;
    }
    .hero::before {
      background:
        radial-gradient(circle at 50% 8%, hsl(var(--hero-primary) / .28), transparent 30%),
        linear-gradient(180deg, hsl(var(--hero-background) / .42), hsl(var(--hero-background) / .72) 44%, hsl(var(--hero-background)) 100%);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 1;
    }
    .hero::after {
      background-image:
        linear-gradient(to right, rgba(248,250,252,.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(248,250,252,.035) 1px, transparent 1px);
      background-size: 64px 64px;
      content: "";
      inset: 0;
      -webkit-mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 72%, transparent);
      mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 72%, transparent);
      pointer-events: none;
      position: absolute;
      z-index: 1;
    }
    .hero .container,
    .hero .hero-social-proof {
      position: relative;
      z-index: 2;
    }
    .hero-copy {
      margin: 0 auto;
      max-width: 1120px;
      text-align: center;
    }
    .hero h1 {
      background-image: linear-gradient(223deg, #E8E8E9 0%, #3A7BBF 104.15%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      font-size: clamp(42px, 4.2vw, 72px);
      font-weight: 700;
      letter-spacing: -0.015em;
      line-height: 1.08;
      max-width: min(1180px, calc(100vw - 96px));
      text-transform: none;
    }
    .hero h1 .hero-line {
      display: block;
      white-space: nowrap;
    }
    .hero-sub {
      color: hsl(var(--hero-sub));
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: 18px;
      font-weight: 600;
      line-height: 1.75;
      margin: 26px auto 0;
      max-width: 560px;
      opacity: .82;
    }
    .hero-actions {
      display: flex;
      gap: 12px;
      justify-content: center;
      margin-bottom: 66px;
      margin-top: 32px;
    }
    .hero .button-outline {
      border-radius: 999px;
      color: hsl(var(--hero-foreground));
      font-family: "Geist", "Inter", system-ui, sans-serif;
      font-size: 16px;
      font-weight: 400;
      min-height: 56px;
      padding: 16px 29px;
    }
    .hero .button-primary {
      background: hsl(var(--hero-primary));
      border-color: hsl(var(--hero-primary));
      border-radius: 999px;
      color: #fff;
      font-family: "Geist", "Inter", system-ui, sans-serif;
      font-size: 16px;
      font-weight: 500;
      min-height: 56px;
      padding: 16px 29px;
    }
    .hero-video-spacer {
      height: 160px;
    }
    .hero-social-proof {
      align-items: center;
      background: linear-gradient(145deg, rgba(248,250,252,.06), rgba(248,250,252,.018));
      border: 1px solid rgba(248,250,252,.1);
      border-radius: 999px;
      box-shadow: 0 22px 56px rgba(0,0,0,.24), inset 0 1px 1px rgba(255,255,255,.12);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      display: flex;
      gap: 48px;
      margin: 0 auto;
      max-width: 1080px;
      overflow: hidden;
      padding: 18px 26px;
    }
    .social-proof-label {
      color: hsl(var(--hero-foreground) / .5);
      flex: 0 0 auto;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.45;
      white-space: nowrap;
    }
    .marquee-window {
      flex: 1;
      overflow: hidden;
      min-width: 0;
      -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
      mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
    }
    .marquee-track {
      animation: marquee 20s linear infinite;
      display: flex;
      gap: 64px;
      width: max-content;
    }
    .brand-logo {
      align-items: center;
      color: hsl(var(--hero-foreground));
      display: inline-flex;
      flex: 0 0 auto;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: 16px;
      font-weight: 600;
      gap: 10px;
    }
    .brand-mark {
      align-items: center;
      border-radius: 10px;
      color: hsl(var(--hero-foreground));
      display: inline-flex;
      font-size: 13px;
      font-weight: 700;
      height: 24px;
      justify-content: center;
      width: 24px;
    }
    @keyframes marquee {
      0% { transform: translateX(0%); }
      100% { transform: translateX(-50%); }
    }

    .photo-strip {
      display: grid;
      gap: 10px;
      grid-template-columns: repeat(6, 1fr);
      margin: 66px 0 0;
      width: 100vw;
      margin-left: calc(50% - 50vw);
    }
    .photo {
      background:
        linear-gradient(180deg, rgba(5,9,13,.08), rgba(5,9,13,.44)),
        radial-gradient(circle at 24% 22%, rgba(248,250,252,.42), transparent 10%),
        linear-gradient(135deg, var(--tone-a), var(--tone-b));
      border: 1px solid rgba(248,250,252,.08);
      min-height: 184px;
      overflow: hidden;
      position: relative;
    }
    .photo::before, .photo::after {
      content: "";
      position: absolute;
      opacity: .55;
    }
    .photo::before {
      background: rgba(248,250,252,.85);
      border-radius: 999px 999px 10px 10px;
      height: 54px;
      left: 20%;
      top: 28%;
      width: 38px;
    }
    .photo::after {
      background: rgba(7,12,19,.45);
      border-radius: 12px 12px 0 0;
      bottom: 0;
      height: 42%;
      left: 12%;
      transform: skewX(-8deg);
      width: 80%;
    }
    .photo.tall { min-height: 214px; }

    .services-showcase {
      background: #000;
      isolation: isolate;
      overflow: hidden;
      padding: 96px 0;
      position: relative;
    }
    .services-showcase::after {
      background: linear-gradient(180deg, rgba(248,250,252,.075), transparent 64%);
      -webkit-background-clip: text;
      background-clip: text;
      bottom: -4vw;
      color: transparent;
      content: attr(data-cinema);
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: clamp(92px, 18vw, 260px);
      font-weight: 700;
      left: 50%;
      letter-spacing: -.06em;
      line-height: .75;
      opacity: .8;
      pointer-events: none;
      position: absolute;
      text-transform: uppercase;
      transform: translateX(-50%);
      -webkit-text-stroke: 1px rgba(248,250,252,.045);
      user-select: none;
      white-space: nowrap;
      z-index: 1;
    }
    .services-bg-video {
      height: 100%;
      inset: 0;
      animation: servicesVideoDrift 18s ease-in-out infinite alternate;
      filter: saturate(1.2) contrast(1.08) brightness(1.08);
      object-fit: cover;
      opacity: .62;
      position: absolute;
      transform: scale(1.04);
      width: 100%;
      z-index: 0;
    }
    .services-showcase::before {
      background:
        radial-gradient(circle at 50% 18%, rgba(96,165,250,.18), transparent 34%),
        linear-gradient(to right, rgba(248,250,252,.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(248,250,252,.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.32) 45%, rgba(0,0,0,.62));
      background-size: auto, 60px 60px, 60px 60px, auto;
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 1;
    }
    .services-showcase .container {
      position: relative;
      z-index: 2;
    }
    .service-masonry {
      display: grid;
      gap: 16px;
      grid-template-columns: repeat(12, 1fr);
      margin: 0 auto;
      max-width: 920px;
    }
    .service-card {
      align-items: flex-end;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      background:
        radial-gradient(circle at var(--spotlight-x, 18%) var(--spotlight-y, 18%), rgba(255,255,255,.16), transparent 18%),
        linear-gradient(180deg, rgba(5,9,13,.08), rgba(5,9,13,.74)),
        linear-gradient(135deg, var(--tone-a), var(--tone-b));
      background-position: center;
      background-size: cover;
      border: 1px solid rgba(96,165,250,.32);
      border-radius: 22px;
      box-shadow: 0 22px 56px rgba(0,0,0,.34), inset 0 1px 1px rgba(255,255,255,.12);
      display: flex;
      min-height: 250px;
      overflow: hidden;
      padding: 24px;
      position: relative;
      transform: perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1);
      transform-style: preserve-3d;
      transition: transform .2s ease-out, border-color .3s ease, box-shadow .3s ease;
      will-change: transform;
    }
    .service-card:hover {
      border-color: rgba(96,165,250,.8);
      box-shadow: 0 32px 86px rgba(0,0,0,.48), inset 0 1px 1px rgba(255,255,255,.18);
    }
    .service-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 85% -10%, rgba(147,197,253,.28), transparent 45%),
        radial-gradient(circle at -10% 110%, rgba(29,78,216,.35), transparent 50%);
      opacity: .9;
      pointer-events: none;
    }
    .service-card::after {
      background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 40%);
      border-radius: 999px;
      content: "";
      height: 200%;
      left: var(--spotlight-x, 50%);
      opacity: var(--spotlight-opacity, 0);
      pointer-events: none;
      position: absolute;
      top: var(--spotlight-y, 50%);
      transform: translate(-50%, -50%);
      transition: opacity .3s ease;
      width: 200%;
      z-index: 2;
    }
    .service-card > div { position: relative; transform: translateZ(36px); z-index: 3; }
    .service-card .sc-inner { display:flex; flex-direction:column; gap:2px; width:100%; height:100%; }
    .service-card .sc-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
    .service-card .sc-icon { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.06)); border:1px solid rgba(255,255,255,.28); box-shadow: 0 8px 20px -8px rgba(15,23,42,.6), inset 0 1px 1px rgba(255,255,255,.25); backdrop-filter: blur(8px); }
    .service-card .sc-icon svg { width:22px; height:22px; }
    .service-card .sc-tag { font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(226,232,240,.7); padding:5px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(3,7,18,.35); }
    .service-card .eyebrow { color: rgba(191,219,254,.85); font-size: 10px; font-weight: 800; margin-bottom: 8px; text-transform: uppercase; letter-spacing:.14em; }
    .service-card h3 { font-size: 25px; line-height: 1.02; margin-bottom: 12px; }
    .service-card p { color: rgba(226,232,240,.82); font-size: 13px; line-height: 1.6; max-width: 320px; margin-bottom: 14px; }
    .service-card .sc-list { list-style:none; padding:0; margin:0 0 18px; display:grid; gap:8px; }
    .service-card .sc-list li { position:relative; padding-left:22px; font-size:12.5px; color:rgba(226,232,240,.82); line-height:1.5; }
    .service-card .sc-list li::before { content:""; position:absolute; left:0; top:6px; width:14px; height:14px; border-radius:50%; background:linear-gradient(135deg,#60a5fa,#1d4ed8); box-shadow: inset 0 0 0 2px rgba(15,23,42,.35), 0 0 0 3px rgba(96,165,250,.12); }
    .service-card .sc-list li::after { content:""; position:absolute; left:3px; top:9px; width:6px; height:3px; border-left:1.6px solid #fff; border-bottom:1.6px solid #fff; transform:rotate(-45deg); }
    .service-card.image-card { background: radial-gradient(circle at var(--spotlight-x, 18%) var(--spotlight-y, 18%), rgba(255,255,255,.16), transparent 18%), linear-gradient(180deg, rgba(5,9,13,.08), rgba(5,9,13,.82)), var(--card-image); background-position: center; background-size: cover; }
    .service-card a {
      align-items: center;
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      background: rgba(248,250,252,.1);
      border: 1px solid rgba(248,250,252,.22);
      border-radius: 8px;
      box-shadow: inset 0 1px 1px rgba(255,255,255,.12);
      color: #fff;
      display: inline-flex;
      font-size: 11px;
      font-weight: 700;
      gap: 6px;
      letter-spacing: .04em;
      margin-top: 16px;
      padding: 8px 16px;
      text-transform: uppercase;
      transition: background .25s ease, border-color .25s ease, transform .25s ease;
    }
    .service-card a:hover {
      background: rgba(248,250,252,.18);
      border-color: rgba(96,165,250,.5);
      transform: translateY(-1px);
    }
    .span-4 { grid-column: span 4; }
    .span-5 { grid-column: span 5; }
    .span-6 { grid-column: span 6; }
    .span-7 { grid-column: span 7; }
    .span-8 { grid-column: span 8; }
    .short { min-height: 198px; }
    .tall-card { min-height: 440px; }
    @keyframes servicesVideoDrift {
      from { transform: scale(1.04) translate3d(-1.2%, -1%, 0); }
      to { transform: scale(1.1) translate3d(1.2%, 1%, 0); }
    }

    .why-light {
      background: #05090d;
      color: #fff;
    }
    .why-light h2 { color: transparent; }
    .why-light p { color: rgba(226,232,240,.78); }
    .why-light .section-label { color: var(--blue-light); }
    .split { align-items: center; display: grid; gap: 64px; grid-template-columns: 1fr 1fr; }
    .split-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; margin-top: 22px; width: 100%; }
    .split-actions a {
      align-items: center;
      background: linear-gradient(145deg, rgba(248,250,252,.08), rgba(248,250,252,.025));
      border: 1px solid rgba(248,250,252,.12);
      border-radius: 999px;
      box-shadow: 0 14px 34px rgba(0,0,0,.24), inset 0 1px 1px rgba(255,255,255,.12);
      color: #fff;
      display: inline-flex;
      font-size: 12px;
      font-weight: 900;
      gap: 6px;
      padding: 11px 18px;
      white-space: nowrap;
    }
    .why-light .split > div:first-child {
      background: linear-gradient(145deg, rgba(248,250,252,.07), rgba(248,250,252,.018));
      border: 1px solid rgba(248,250,252,.12);
      border-radius: 28px;
      box-shadow: 0 26px 74px rgba(0,0,0,.32), inset 0 1px 1px rgba(255,255,255,.12);
      padding: clamp(24px, 4vw, 42px);
      text-align: center;
    }
    .growth-photo {
      aspect-ratio: 1.5 / 1;
      display: flex;
      margin-inline: auto;
      max-width: 520px;
      position: relative;
      width: min(100%, 35vw + 140px);
    }
    .growth-photo-card {
      background: linear-gradient(145deg, rgba(248,250,252,.08), rgba(248,250,252,.025));
      border: 1px solid rgba(248,250,252,.13);
      border-radius: 34px;
      box-shadow: 0 28px 90px rgba(0,0,0,.42), inset 0 1px 1px rgba(255,255,255,.14);
      padding: 10px;
      overflow: hidden;
      position: relative;
      transform: perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1);
      transform-style: preserve-3d;
      transition: transform .2s ease-out, box-shadow .3s ease;
      will-change: transform;
      width: 100%;
    }
    .growth-photo-card::after {
      background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 40%);
      border-radius: 999px;
      content: "";
      height: 200%;
      left: var(--spotlight-x, 50%);
      opacity: var(--spotlight-opacity, 0);
      pointer-events: none;
      position: absolute;
      top: var(--spotlight-y, 50%);
      transform: translate(-50%, -50%);
      transition: opacity .3s ease;
      width: 200%;
      z-index: 2;
    }
    .growth-photo-card:hover {
      box-shadow: 0 36px 105px rgba(0,0,0,.54), inset 0 1px 1px rgba(255,255,255,.2);
    }
    .growth-photo-card img {
      aspect-ratio: 1.5 / 1;
      border-radius: 24px;
      display: block;
      height: 100%;
      object-fit: cover;
      position: relative;
      transform: translateZ(28px);
      width: 100%;
      z-index: 1;
    }

    .process {
      background:
        radial-gradient(circle at 50% 18%, rgba(29,78,216,.14), transparent 34%),
        #000;
    }
    .process-layout {
      align-items: center;
      display: grid;
      gap: 28px;
      grid-template-columns: 1fr 330px 1fr;
      margin-top: 44px;
    }
    .process-photo {
      background:
        linear-gradient(180deg, rgba(5,9,13,.02), rgba(5,9,13,.12)),
        url('https://assets.cdn.filesafe.space/1f9eL5b7pomfdaotJ0ox/media/69f5f4548831cb2c6caf74a0.png');
      background-position: center;
      background-size: cover;
      border: 1px solid rgba(248,250,252,.18);
      border-radius: 14px;
      box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px 1px rgba(255,255,255,.12);
      min-height: 360px;
      overflow: hidden;
      position: relative;
      transform: perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1);
      transform-style: preserve-3d;
      transition: transform .2s ease-out, border-color .3s ease, box-shadow .3s ease;
      will-change: transform;
    }
    .process-photo:hover {
      border-color: rgba(96,165,250,.5);
      box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 1px 1px rgba(255,255,255,.16);
    }
    .process-photo::after {
      background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 40%);
      border-radius: 999px;
      content: "";
      height: 200%;
      left: var(--spotlight-x, 50%);
      opacity: var(--spotlight-opacity, 0);
      pointer-events: none;
      position: absolute;
      top: var(--spotlight-y, 50%);
      transform: translate(-50%, -50%);
      transition: opacity .3s ease;
      width: 200%;
      z-index: 2;
    }
    .process-list { display: grid; gap: 56px; }
    .process-step { text-align: center; }
    .process-step {
      background: linear-gradient(145deg, rgba(248,250,252,.07), rgba(248,250,252,.018));
      border: 1px solid rgba(248,250,252,.12);
      border-radius: 22px;
      box-shadow: 0 18px 54px rgba(0,0,0,.28), inset 0 1px 1px rgba(255,255,255,.1);
      overflow: hidden;
      padding: 22px 18px;
      position: relative;
      transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
    }
    .process-step::after {
      background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 40%);
      border-radius: 999px;
      content: "";
      height: 200%;
      left: var(--spotlight-x, 50%);
      opacity: var(--spotlight-opacity, 0);
      pointer-events: none;
      position: absolute;
      top: var(--spotlight-y, 50%);
      transform: translate(-50%, -50%);
      transition: opacity .3s ease;
      width: 200%;
      z-index: 1;
    }
    .process-step > * {
      position: relative;
      z-index: 2;
    }
    .process-step:hover {
      border-color: rgba(96,165,250,.32);
      box-shadow: 0 26px 68px rgba(0,0,0,.38), inset 0 1px 1px rgba(255,255,255,.16);
      transform: translateY(-4px);
    }
    .process-step svg {
      color: var(--blue-light);
      height: 20px;
      width: 20px;
    }
    .process-icon-button {
      align-items: center;
      background: linear-gradient(145deg, rgba(248,250,252,.08), rgba(248,250,252,.025));
      border: 1px solid rgba(248,250,252,.14);
      border-radius: 14px;
      box-shadow: 0 12px 28px rgba(0,0,0,.22), inset 0 1px 1px rgba(255,255,255,.12);
      display: inline-flex;
      height: 44px;
      justify-content: center;
      margin: 0 auto 16px;
      transition: transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
      width: 44px;
    }
    .process-step:hover .process-icon-button {
      background: rgba(96,165,250,.08);
      border-color: rgba(96,165,250,.55);
      box-shadow: 0 14px 30px rgba(0,0,0,.24), inset 0 1px 1px rgba(255,255,255,.12);
      transform: scale(1.2);
    }
    .process-step h3 { font-size: 21px; margin-bottom: 9px; }
    .process-step p { color: rgba(248,250,252,.76); font-size: 12px; line-height: 1.55; }
    .process-actions { display: flex; gap: 12px; justify-content: center; margin-top: 42px; }

    .card-grid, .location-grid, .testimonial-grid {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(3, 1fr);
    }
    .feature-grid, .mini-stack {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(2, 1fr);
    }
    .card {
      background: linear-gradient(145deg, rgba(248,250,252,.07), rgba(248,250,252,.018));
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1px solid rgba(248,250,252,.12);
      border-radius: 22px;
      box-shadow: 0 18px 54px rgba(0,0,0,.28), inset 0 1px 1px rgba(255,255,255,.1);
      padding: 24px;
      transition: all .3s ease;
    }
    .card:hover { border-color: rgba(96,165,250,.34); box-shadow: 0 28px 76px rgba(0,0,0,.4), inset 0 1px 1px rgba(255,255,255,.16); transform: translateY(-4px); }
    .tilt-card {
      overflow: hidden;
      position: relative;
      transform: perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1);
      transform-style: preserve-3d;
      transition: transform .2s ease-out, border-color .3s ease, box-shadow .3s ease;
      will-change: transform;
    }
    .tilt-card:hover {
      border-color: var(--line-strong);
      box-shadow: 0 24px 70px rgba(0,0,0,.42);
    }
    .tilt-card::after {
      background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 40%);
      border-radius: 999px;
      content: "";
      height: 200%;
      left: var(--spotlight-x, 50%);
      opacity: var(--spotlight-opacity, 0);
      pointer-events: none;
      position: absolute;
      top: var(--spotlight-y, 50%);
      transform: translate(-50%, -50%);
      transition: opacity .3s ease;
      width: 200%;
      z-index: 2;
    }
    .tilt-card > * {
      position: relative;
      transform: translateZ(32px);
      z-index: 3;
    }
    .card svg { color: var(--blue-light); height: 30px; margin-bottom: 16px; width: 30px; }
    .card h3 { font-size: 21px; line-height: 1; margin-bottom: 10px; }
    .card p { font-size: 13px; line-height: 1.65; }
    .location-card { text-align: center; }
    .location-card svg { margin-left: auto; margin-right: auto; }
    .location-city { display: block; font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; font-size: 22px; font-weight: 700; text-transform: uppercase; }
    .location-state { color: var(--gray); display: block; font-size: 13px; margin-top: 5px; }
    .service-area-section {
      background: #000;
    }
    .service-area-map {
      aspect-ratio: 800 / 440;
      background:
        radial-gradient(circle at 50% 42%, rgba(29,78,216,.16), transparent 34%),
        radial-gradient(circle, rgba(255,255,127,.22) 1px, transparent 1.4px),
        #000;
      background-position: center, 0 0, center;
      background-size: auto, 20px 20px, auto;
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(248,250,252,.13);
      border-radius: 28px;
      box-shadow: inset 0 1px 1px rgba(255,255,255,.12), inset 0 0 90px rgba(0,0,0,.7), 0 34px 96px rgba(0,0,0,.42);
      left: 50%;
      margin: 46px auto 0;
      max-width: none;
      overflow: hidden;
      position: relative;
      translate: -50% 0;
      width: min(1280px, calc(100vw - 36px));
    }
    .service-area-map::before {
      background: linear-gradient(to bottom, #000, transparent 10%, transparent 90%, #000);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 2;
    }
    .service-area-map::after {
      background:
        radial-gradient(circle at 34% 52%, rgba(96,165,250,.18), transparent 12%),
        radial-gradient(circle at 67% 48%, rgba(96,165,250,.14), transparent 16%);
      content: "";
      inset: 0;
      pointer-events: none;
      position: absolute;
      z-index: 1;
    }
    .service-area-map svg {
      height: 100%;
      inset: 0;
      position: absolute;
      width: 100%;
      z-index: 3;
    }
    .map-outline {
      fill: rgba(29,78,216,.13);
      stroke: rgba(96,165,250,.52);
      stroke-linejoin: round;
      stroke-width: 1.8;
    }
    .route {
      fill: none;
      filter: url(#map-glow);
      stroke: url(#service-area-gradient);
      stroke-dasharray: 420;
      stroke-dashoffset: 420;
      stroke-width: 2;
      animation: drawRoute 6.6s ease-in-out infinite;
    }
    .route.route-2 { animation-delay: .35s; }
    .route.route-3 { animation-delay: .7s; }
    .route-dot {
      fill: var(--blue-light);
      filter: url(#map-glow);
      opacity: .9;
    }
    .map-point {
      cursor: pointer;
      transform-origin: center;
      transition: transform .3s ease;
    }
    .map-point:hover {
      transform: scale(1.12);
    }
    .map-point-core { r: 7px;
      fill: var(--blue-light);
      filter: url(#map-glow);
    }
    circle.map-pulse { r: 6px; }
    .map-pulse {
      animation: mapPulse 2s ease-out infinite;
      fill: var(--blue-light);
      opacity: .5;
      transform-origin: center;
    }
    .map-label rect {
      fill: rgba(0,0,0,.9);
      stroke: rgba(96,165,250,.25);
      stroke-width: 1;
    }
    .map-label text {
      fill: #fff;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: 13px;
      font-weight: 600;
    }
    @keyframes drawRoute {
      0%, 8% { stroke-dashoffset: 420; opacity: 0; }
      30%, 68% { stroke-dashoffset: 0; opacity: 1; }
      86%, 100% { stroke-dashoffset: -420; opacity: 0; }
    }
    @keyframes mapPulse {
      0% { opacity: .55; transform: scale(1); }
      100% { opacity: 0; transform: scale(4); }
    }
    .client-dot { cursor: pointer; }
    .client-tooltip { opacity: 0; pointer-events: none; transition: opacity .22s ease; }
    .client-dot:hover .client-tooltip, .client-dot:focus-visible .client-tooltip { opacity: 1; }
    .tooltip-bg { fill: rgba(5,9,13,.95); stroke: rgba(96,165,250,.42); stroke-width: .8; }
    .client-name-text { fill: #F8FAFC; font-family: "Montserrat","Helvetica Neue",Arial,sans-serif; font-size: 9.5px; font-weight: 700; }
    .client-loc-text { fill: #60A5FA; font-family: "Montserrat","Helvetica Neue",Arial,sans-serif; font-size: 8.5px; font-weight: 600; }
    .dot-city-label { fill: rgba(248,250,252,.97); font-family: "Montserrat","Helvetica Neue",Arial,sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .03em; pointer-events: none; }

    .testimonials {
      background: #05090d;
      overflow: hidden;
    }
    .testimonial-slider {
      margin: 0 auto;
      max-width: 1120px;
      position: relative;
    }
    .testimonial-controls {
      display: flex;
      gap: 10px;
      justify-content: flex-end;
      margin: -56px 0 22px;
      position: relative;
      z-index: 2;
    }
    .testimonial-control {
      align-items: center;
      background: linear-gradient(145deg, rgba(248,250,252,.08), rgba(248,250,252,.025));
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1px solid rgba(248,250,252,.14);
      border-radius: 999px;
      box-shadow: 0 14px 32px rgba(0,0,0,.26), inset 0 1px 1px rgba(255,255,255,.12);
      color: var(--blue-light);
      display: inline-flex;
      height: 38px;
      justify-content: center;
      transition: transform .3s ease, background .3s ease, color .3s ease, opacity .3s ease, box-shadow .3s ease;
      width: 38px;
    }
    .testimonial-control:hover:not(:disabled) {
      background: var(--blue);
      box-shadow: 0 18px 38px rgba(29,78,216,.28);
      color: #fff;
      transform: scale(1.1);
    }
    .testimonial-control:disabled {
      color: rgba(15,23,42,.35);
      cursor: not-allowed;
      opacity: .55;
    }
    .testimonial-control svg {
      height: 19px;
      width: 19px;
    }
    .testimonial-viewport {
      cursor: grab;
      overflow: hidden;
      padding: 4px 2px 12px;
      position: relative;
      touch-action: pan-y;
      user-select: none;
    }
    .testimonial-viewport.dragging {
      cursor: grabbing;
    }
    .testimonial-track {
      display: flex;
      transform: translateX(0);
      transition: transform .62s cubic-bezier(.22, 1, .36, 1);
      will-change: transform;
    }
    .testimonial-slide {
      flex: 0 0 calc(100% / var(--visible-testimonials, 3));
      padding: 10px;
    }
    .testimonial-card {
      background: linear-gradient(145deg, rgba(248,250,252,.08), rgba(248,250,252,.025));
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(248,250,252,.13);
      border-radius: 22px;
      box-shadow: 0 18px 54px rgba(0,0,0,.3), inset 0 1px 1px rgba(255,255,255,.1);
      color: #fff;
      height: 100%;
      min-height: 265px;
      overflow: hidden;
      padding: 26px;
      position: relative;
      transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    }
    .testimonial-card::after {
      background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 40%);
      border-radius: 999px;
      content: "";
      height: 200%;
      left: var(--spotlight-x, 50%);
      opacity: var(--spotlight-opacity, 0);
      pointer-events: none;
      position: absolute;
      top: var(--spotlight-y, 50%);
      transform: translate(-50%, -50%);
      transition: opacity .3s ease;
      width: 200%;
      z-index: 1;
    }
    .testimonial-card > * {
      position: relative;
      z-index: 2;
    }
    .testimonial-card:hover {
      border-color: rgba(96,165,250,.34);
      box-shadow: 0 28px 76px rgba(0,0,0,.42), inset 0 1px 1px rgba(255,255,255,.16);
      transform: translateY(-5px);
    }
    .testimonial-quote-icon {
      color: var(--blue-light);
      left: -12px;
      opacity: .16;
      position: absolute;
      top: -18px;
      z-index: 2;
    }
    .testimonial-quote-icon svg {
      height: 66px;
      width: 66px;
    }
    .testimonial-card blockquote {
      color: rgba(248,250,252,.88);
      font-size: 15px;
      font-style: normal;
      font-weight: 600;
      line-height: 1.7;
      margin: 0 0 24px;
      min-height: 128px;
      position: relative;
      z-index: 2;
    }
    .testimonial-author {
      align-items: center;
      border-top: 1px solid rgba(248,250,252,.12);
      display: flex;
      gap: 13px;
      margin-top: auto;
      padding-top: 16px;
      position: relative;
      z-index: 2;
    }
    .testimonial-avatar-wrap {
      flex: 0 0 auto;
      position: relative;
    }
    .testimonial-avatar-wrap::after {
      animation: avatarPulse 3s ease-in-out infinite;
      background: rgba(29,78,216,.18);
      border-radius: 999px;
      content: "";
      inset: 0;
      opacity: 0;
      position: absolute;
    }
    .testimonial-avatar {
      border: 2px solid #fff;
      border-radius: 999px;
      box-shadow: 0 6px 14px rgba(15,23,42,.22);
      display: block;
      height: 46px;
      object-fit: cover;
      position: relative;
      width: 46px;
      z-index: 1;
    }
    .testimonial-name {
      color: #fff;
      display: block;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.2;
    }
    .testimonial-title {
      color: rgba(203,213,225,.76);
      display: block;
      font-size: 13px;
      font-weight: 600;
      margin-top: 4px;
    }
    .testimonial-dots {
      display: flex;
      gap: 10px;
      justify-content: center;
      margin-top: 20px;
    }
    .testimonial-dot {
      background: rgba(148,163,184,.55);
      border: 0;
      border-radius: 999px;
      height: 8px;
      padding: 0;
      position: relative;
      transition: transform .3s ease, background .3s ease;
      width: 8px;
    }
    .testimonial-dot:hover {
      transform: scale(1.2);
    }
    .testimonial-dot.active {
      animation: dotPulse 1.8s ease-in-out infinite;
      background: var(--blue-light);
    }
    .testimonial-dot.active::after {
      animation: dotRing 1.8s ease-out infinite;
      background: rgba(96,165,250,.28);
      border-radius: inherit;
      content: "";
      inset: 0;
      position: absolute;
    }
    @keyframes avatarPulse {
      0% { opacity: 0; transform: scale(1); }
      42% { opacity: .35; transform: scale(1.22); }
      100% { opacity: 0; transform: scale(1); }
    }
    @keyframes dotPulse {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.22); }
    }
    @keyframes dotRing {
      from { opacity: 1; transform: scale(1); }
      to { opacity: 0; transform: scale(1.85); }
    }
    .trust { background: #05090d; }
    .trust-card {
      align-items: flex-start;
      background: linear-gradient(145deg, rgba(248,250,252,.07), rgba(248,250,252,.018));
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1px solid rgba(248,250,252,.12);
      border-radius: 22px;
      display: flex;
      gap: 14px;
      overflow: hidden;
      padding: 18px;
      position: relative;
      transform: perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1);
      transform-style: preserve-3d;
      transition: transform .2s ease-out, border-color .3s ease, box-shadow .3s ease;
      will-change: transform;
    }
    .trust-card:hover {
      border-color: rgba(96,165,250,.34);
      box-shadow: 0 28px 76px rgba(0,0,0,.4), inset 0 1px 1px rgba(255,255,255,.16);
    }
    .trust-card::after {
      background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 40%);
      border-radius: 999px;
      content: "";
      height: 200%;
      left: var(--spotlight-x, 50%);
      opacity: var(--spotlight-opacity, 0);
      pointer-events: none;
      position: absolute;
      top: var(--spotlight-y, 50%);
      transform: translate(-50%, -50%);
      transition: opacity .3s ease;
      width: 200%;
      z-index: 2;
    }
    .trust-card > * {
      position: relative;
      transform: translateZ(30px);
      z-index: 3;
    }
    .trust-card svg { color: var(--blue-light); flex: 0 0 auto; height: 28px; width: 28px; }
    .trust-card strong { display: block; font-size: 15px; margin-bottom: 5px; }
    .trust-card span { color: var(--gray); display: block; font-size: 12px; line-height: 1.5; }

    .faq-wrap {
      background: linear-gradient(145deg, rgba(248,250,252,.06), rgba(248,250,252,.016));
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(248,250,252,.11);
      border-radius: 26px;
      box-shadow: 0 28px 84px rgba(0,0,0,.32), inset 0 1px 1px rgba(255,255,255,.1);
      margin: 34px auto 0;
      max-width: 860px;
      overflow: hidden;
      padding: 10px 24px;
      position: relative;
    }
    .faq-wrap::after {
      background: radial-gradient(circle, rgba(255,255,255,.15) 0%, transparent 40%);
      border-radius: 999px;
      content: "";
      height: 200%;
      left: var(--spotlight-x, 50%);
      opacity: var(--spotlight-opacity, 0);
      pointer-events: none;
      position: absolute;
      top: var(--spotlight-y, 50%);
      transform: translate(-50%, -50%);
      transition: opacity .3s ease;
      width: 200%;
      z-index: 1;
    }
    .faq-wrap > * {
      position: relative;
      z-index: 2;
    }
    .faq-item { border-bottom: 1px solid rgba(248,250,252,.1); }
    .faq-item:last-child { border-bottom: 0; }
    .faq-question {
      align-items: center;
      background: transparent;
      border: 0;
      color: #fff;
      display: flex;
      font-size: 16px;
      font-weight: 900;
      justify-content: space-between;
      padding: 22px 0;
      text-align: left;
      width: 100%;
    }
    .faq-icon { color: var(--blue-light); font-size: 25px; margin-left: 18px; }
    .faq-answer { max-height: 0; opacity: 0; overflow: hidden; transition: max-height .35s ease, opacity .35s ease; }
    .faq-answer p { font-size: 14px; padding-bottom: 22px; }
    .faq-item.active .faq-answer { opacity: 1; }

    @keyframes footerBreathe {
      0% { transform: translate(-50%, -50%) scale(1); opacity: .55; }
      100% { transform: translate(-50%, -50%) scale(1.12); opacity: .95; }
    }
    @keyframes footerScrollMarquee {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    @keyframes footerHeartbeat {
      0%, 100% { transform: scale(1); filter: drop-shadow(0 0 5px rgba(96,165,250,.4)); }
      15%, 45% { transform: scale(1.18); filter: drop-shadow(0 0 12px rgba(96,165,250,.8)); }
      30% { transform: scale(1); }
    }
    .footer-glass-pill {
      background: linear-gradient(145deg, rgba(248,250,252,.08), rgba(248,250,252,.025));
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(248,250,252,.12);
      box-shadow: 0 16px 42px rgba(0,0,0,.34), inset 0 1px 1px rgba(255,255,255,.14), inset 0 -1px 2px rgba(0,0,0,.4);
      color: rgba(248,250,252,.88);
      transition: transform .35s cubic-bezier(.16,1,.3,1), background .35s ease, border-color .35s ease, box-shadow .35s ease, color .35s ease;
    }
    .footer-glass-pill:hover {
      background: linear-gradient(145deg, rgba(248,250,252,.14), rgba(248,250,252,.04));
      border-color: rgba(96,165,250,.32);
      box-shadow: 0 24px 52px rgba(0,0,0,.46), inset 0 1px 1px rgba(255,255,255,.22);
      color: #fff;
    }
    .footer-text-glow {
      background: linear-gradient(180deg, #fff 0%, rgba(96,165,250,.72) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      filter: drop-shadow(0 0 22px rgba(96,165,250,.18));
    }
    .final-cta {
      background: #05090d;
      isolation: isolate;
      overflow: hidden;
      padding: 112px 0 40px;
    }
    .cta-stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      margin: 56px auto 0;
      max-width: 980px;
      position: relative;
      z-index: 1;
    }
    .cta-stat {
      align-items: center;
      background: linear-gradient(160deg, rgba(248,250,252,.06), rgba(248,250,252,.015));
      border: 1px solid rgba(248,250,252,.1);
      border-radius: 18px;
      display: flex;
      flex-direction: column;
      gap: 6px;
      padding: 22px 14px;
      text-align: center;
    }
    .cta-stat-num {
      background: linear-gradient(180deg, #fff, #93c5fd);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: clamp(22px, 3vw, 30px);
      font-weight: 800;
      letter-spacing: -.02em;
    }
    .cta-stat-label {
      color: rgba(248,250,252,.68);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .cta-badges {
      align-items: center;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      margin: 30px auto 0;
      max-width: 900px;
      position: relative;
      z-index: 1;
    }
    .cta-badge {
      align-items: center;
      background: rgba(29,78,216,.14);
      border: 1px solid rgba(96,165,250,.28);
      border-radius: 999px;
      color: #cfe0ff;
      display: inline-flex;
      font-size: 12px;
      font-weight: 600;
      gap: 6px;
      letter-spacing: .04em;
      padding: 8px 14px;
    }
    .cta-badge svg { color: #60a5fa; }
    @media (max-width: 720px) {
      .cta-stats { grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 40px; }
    }
    .final-cta::before {
      background-image:
        linear-gradient(to right, rgba(248,250,252,.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(248,250,252,.035) 1px, transparent 1px);
      background-size: 58px 58px;
      content: "";
      inset: 0;
      -webkit-mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
      mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }
    .final-cta::after {
      animation: footerBreathe 8s ease-in-out infinite alternate;
      background: radial-gradient(circle at 50% 50%, rgba(29,78,216,.24), rgba(96,165,250,.12) 42%, transparent 72%);
      border-radius: 50%;
      content: "";
      height: 70vh;
      left: 50%;
      pointer-events: none;
      position: absolute;
      top: 50%;
      width: 82vw;
      z-index: 0;
    }
    .cta-strip {
      position: relative;
      padding: 90px 0;
      background:
        radial-gradient(ellipse at 20% 30%, rgba(59,130,246,.22), transparent 55%),
        radial-gradient(ellipse at 80% 70%, rgba(29,78,216,.20), transparent 55%),
        linear-gradient(180deg, #05090d 0%, #0a1526 60%, #0d2444 100%);
      overflow: hidden;
      border-top: 1px solid rgba(148,197,255,.08);
    }
    .cta-strip::before {
      content: "";
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(148,197,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,197,255,.06) 1px, transparent 1px);
      background-size: 44px 44px;
      mask-image: radial-gradient(ellipse at center, black 40%, transparent 78%);
      pointer-events: none;
    }
    @media (max-width: 720px){ .cta-strip { padding: 60px 0; } }

    .portfolio-band { padding: 90px 0; background: linear-gradient(180deg,#050912 0%,#0a1526 100%); }
    .portfolio-band h2 { font-family:"Montserrat",sans-serif; font-size:clamp(28px,3.4vw,44px); font-weight:800; color:#fff; margin:0 0 14px; letter-spacing:-.01em; }
    .portfolio-band .lead { color:rgba(226,232,240,.78); font-size:16px; line-height:1.65; max-width:720px; margin-bottom:44px; }
    .portfolio-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px; }
    .portfolio-card { position:relative; border-radius:20px; overflow:hidden; background:#0b1220; border:1px solid rgba(148,197,255,.16); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; text-decoration:none; display:block; }
    .portfolio-card:hover { transform:translateY(-6px); border-color:rgba(148,197,255,.45); box-shadow:0 24px 60px -20px rgba(59,130,246,.45); }
    .portfolio-card .thumb { aspect-ratio: 16 / 10; width:100%; object-fit:cover; object-position:top center; display:block; background:#0b1220; }
    .portfolio-card .meta { padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .portfolio-card .meta .name { font-family:"Montserrat",sans-serif; font-weight:700; color:#fff; font-size:15px; }
    .portfolio-card .meta .visit { color:#9ec5ff; font-size:12px; letter-spacing:.08em; text-transform:uppercase; display:inline-flex; align-items:center; gap:6px; }

    .cta-panel {
      background: linear-gradient(145deg, rgba(248,250,252,.075), rgba(248,250,252,.018));
      border: 1px solid rgba(248,250,252,.14);
      border-radius: 30px;
      box-shadow: 0 34px 100px rgba(0,0,0,.46), inset 0 1px 1px rgba(255,255,255,.16);
      margin: 0 auto;
      max-width: 980px;
      overflow: hidden;
      padding: 76px 28px;
      position: relative;
      text-align: center;
      z-index: 1;
    }
    .cta-panel::before {
      background: linear-gradient(180deg, rgba(248,250,252,.08), transparent 64%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      content: "RANK";
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: clamp(118px, 18vw, 250px);
      font-weight: 700;
      left: 50%;
      letter-spacing: -.05em;
      line-height: .72;
      opacity: .75;
      pointer-events: none;
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%);
      -webkit-text-stroke: 1px rgba(248,250,252,.06);
      z-index: 0;
    }
    .cta-panel > * {
      position: relative;
      z-index: 1;
    }
    .cta-panel h2 { font-size: clamp(34px, 5vw, 62px); max-width: 720px; margin: 0 auto; }
    .cta-panel p { color: rgba(248,250,252,.84); font-size: 14px; margin: 16px auto 28px; max-width: 620px; }
    .cta-actions { display: flex; gap: 14px; justify-content: center; }
    .cta-actions .button { border-radius: 999px; min-height: 50px; padding-inline: 28px; }

    .footer {
      background: #05090d;
      border-top: 1px solid rgba(248,250,252,.08);
      isolation: isolate;
      overflow: hidden;
      padding: 132px 0 34px;
      position: relative;
    }
    .footer::before {
      background-image:
        linear-gradient(to right, rgba(248,250,252,.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(248,250,252,.035) 1px, transparent 1px);
      background-size: 60px 60px;
      content: "";
      inset: 0;
      -webkit-mask-image: linear-gradient(to bottom, transparent, #000 26%, #000 74%, transparent);
      mask-image: linear-gradient(to bottom, transparent, #000 26%, #000 74%, transparent);
      pointer-events: none;
      position: absolute;
      z-index: 0;
    }
    .footer::after {
      animation: footerBreathe 8s ease-in-out infinite alternate;
      background: radial-gradient(circle at 50% 50%, rgba(29,78,216,.18), rgba(96,165,250,.08) 44%, transparent 72%);
      border-radius: 50%;
      content: "";
      height: 70vh;
      left: 50%;
      pointer-events: none;
      position: absolute;
      top: 50%;
      width: 86vw;
      z-index: 0;
    }
    .footer-marquee {
      background: rgba(5,9,13,.72);
      border-bottom: 1px solid rgba(248,250,252,.08);
      border-top: 1px solid rgba(248,250,252,.08);
      box-shadow: 0 28px 80px rgba(0,0,0,.38);
      left: -5%;
      overflow: hidden;
      padding: 16px 0;
      position: absolute;
      top: 38px;
      transform: rotate(-2deg);
      width: 110%;
      z-index: 2;
    }
    .footer-marquee-track {
      animation: footerScrollMarquee 38s linear infinite;
      display: flex;
      width: max-content;
    }
    .footer-marquee-item {
      align-items: center;
      color: rgba(248,250,252,.62);
      display: flex;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: 12px;
      font-weight: 700;
      gap: 28px;
      letter-spacing: .22em;
      padding-inline: 24px;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .footer-marquee-item span:nth-child(even) { color: rgba(96,165,250,.74); }
    .footer-giant-bg-text {
      background: linear-gradient(180deg, rgba(248,250,252,.09), transparent 62%);
      -webkit-background-clip: text;
      background-clip: text;
      bottom: -4vw;
      color: transparent;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: clamp(88px, 20vw, 330px);
      font-weight: 700;
      left: 50%;
      letter-spacing: -.06em;
      line-height: .75;
      pointer-events: none;
      position: absolute;
      transform: translateX(-50%);
      -webkit-text-stroke: 1px rgba(248,250,252,.05);
      user-select: none;
      white-space: nowrap;
      z-index: 0;
    }
    .footer-grid {
      display: grid;
      gap: 34px;
      grid-template-columns: 1.45fr .9fr .9fr .55fr;
      position: relative;
      z-index: 3;
    }
    .footer p { color: rgba(248,250,252,.72); font-size: 12px; max-width: 340px; }
    .footer a:not(.logo) {
      align-items: center;
      color: rgba(248,250,252,.72);
      display: inline-flex;
      font-size: 12px;
      margin: 0 8px 10px 0;
      padding: 10px 14px;
    }
    .footer a:not(.logo):hover { color: #fff; }
    .footer h4 { color: #fff; font-size: 12px; margin-bottom: 14px; text-transform: uppercase; }
    .footer .logo { margin-bottom: 20px; position: relative; z-index: 1; }
    .footer-line { background: rgba(248,250,252,.14); height: 1px; margin: 44px 0 20px; position: relative; z-index: 3; }
    .footer-bottom {
      align-items: center;
      display: flex;
      gap: 18px;
      justify-content: space-between;
      position: relative;
      z-index: 3;
    }
    .copyright { color: rgba(248,250,252,.58); display: flex; font-size: 11px; gap: 16px; }
    .footer .container > .copyright { display: none; }
    .made-with {
      align-items: center;
      color: rgba(248,250,252,.62);
      display: inline-flex;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      font-size: 10px;
      font-weight: 700;
      gap: 8px;
      letter-spacing: .14em;
      padding: 10px 16px;
      text-transform: uppercase;
    }
    .made-heart {
      animation: footerHeartbeat 2s cubic-bezier(.25, 1, .5, 1) infinite;
      color: var(--blue-light);
      display: inline-block;
      font-size: 13px;
      letter-spacing: 0;
    }
    .footer-top-button {
      align-items: center;
      color: rgba(248,250,252,.72);
      display: inline-flex;
      height: 46px;
      justify-content: center;
      width: 46px;
    }
    .footer-top-button svg { height: 19px; transition: transform .3s ease; width: 19px; }
    .footer-top-button:hover svg { transform: translateY(-4px); }

    [data-animate] { opacity: 0; transform: translateY(34px); transition: opacity .7s ease, transform .7s ease; }
    [data-animate].is-visible { opacity: 1; transform: translateY(0); }
    [data-animate="fade-left"] { transform: translateX(-34px); }
    [data-animate="fade-right"] { transform: translateX(34px); }
    [data-animate="zoom"] { transform: scale(.96); }
    [data-animate="fade-left"].is-visible, [data-animate="fade-right"].is-visible, [data-animate="zoom"].is-visible { transform: translateX(0) scale(1); }
    .delay-1 { transition-delay: .08s; }
    .delay-2 { transition-delay: .16s; }
    .delay-3 { transition-delay: .24s; }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
      [data-animate] { opacity: 1; transform: none; }
    }

    @media (max-width: 900px) {
      .hero h1 { font-size: clamp(36px, 7vw, 60px); max-width: calc(100vw - 32px); }
      .photo-strip { grid-template-columns: repeat(3, 1fr); }
      .service-card, .span-4, .span-5, .span-6, .span-7, .span-8 { grid-column: span 6; }
      .split, .process-layout, .footer-grid { grid-template-columns: 1fr; }
      .process-list { grid-template-columns: repeat(2, 1fr); gap: 24px; }
      .process-photo { order: -1; }
      .why-light .split > div:first-child { text-align: center; }
      .split-actions { justify-content: center; }
      .card-grid, .location-grid, .testimonial-grid, .feature-grid, .mini-stack { grid-template-columns: 1fr; }
      .service-area-map { aspect-ratio: 1.75 / 1; width: min(1120px, calc(100vw - 28px)); }
      .footer-bottom { flex-direction: column; text-align: center; }
      .footer-grid { gap: 30px; }
      .cta-panel { padding: 64px 22px; }
      .results-columns { grid-template-columns: 1fr; }
    }

    @media (max-width: 900px) {
      .process-layout { gap: 18px; margin-top: 26px; }
      .process-photo { display: none; }
      .process-list { gap: 14px !important; }
      .process-step { padding: 20px 16px; text-align: left; display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
      .process-step .process-icon-button { margin: 0; flex-shrink: 0; grid-row: span 2; align-self: start; }
      .process-step h3 { font-size: 17px; margin-bottom: 4px; grid-column: 2; }
      .process-step p { font-size: 13px; grid-column: 2; }
      .process-actions { margin-top: 26px; }
      .section.process .section-heading { margin-bottom: 8px; }
    }

    @media (max-width: 560px) {
      .container { width: min(100% - 28px, 1080px); }
      .section { padding: 58px 0; }
      .hero { min-height: 660px; padding-top: 70px; }
      .hero-actions, .process-actions, .cta-actions { flex-direction: column; }
      .button { width: 100%; }
      .hero h1 { font-size: clamp(36px, 10.5vw, 52px); }
      .hero h1 .hero-line { white-space: normal; }
      .hero-sub { font-size: 16px; }
      .hero-video-spacer { height: 112px; }
      .hero-social-proof { align-items: flex-start; border-radius: 24px; flex-direction: column; gap: 22px; padding: 20px; }
      .marquee-window { width: 100%; }
      .section[data-cinema]::after,
      .services-showcase::after { font-size: clamp(74px, 24vw, 150px); bottom: 4px; }
      .service-area-map { aspect-ratio: 1.12 / 1; margin-top: 30px; width: calc(100vw - 24px); }
      .map-label text { font-size: 11px; }
      .testimonial-controls { justify-content: center; margin: 0 0 16px; }
      .nav-inner { min-height: 46px; }
      .site-nav { top: 14px; max-width: calc(100vw - 24px); }
      .nav-inner { padding: 0 14px; }
      .nav-links { gap: 14px; font-size: 12px; }
      .nav-logo { padding-right: 8px; }
      .nav-logo svg { height: 20px; width: 20px; }
      .nav-logo img { height: 20px !important; }
      .photo-strip { grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 44px; }
      .photo, .photo.tall { min-height: 130px; }
      .service-card, .span-4, .span-5, .span-6, .span-7, .span-8 { grid-column: span 12; min-height: 230px; }
      .process-list { grid-template-columns: 1fr; }
      .faq-wrap { border-radius: 20px; padding: 6px 16px; }
      .final-cta { padding: 78px 0 58px; }
      .cta-panel { border-radius: 22px; padding: 52px 18px; }
      .footer { padding-top: 122px; }
      .footer-marquee { top: 30px; }
      .footer a:not(.logo) { justify-content: center; margin-right: 0; width: 100%; }
      .copyright { flex-direction: column; text-align: center; }
      .copyright span:last-child { text-align: center; }
    }

    /* Mobile hamburger */
    .nav-toggle {
      align-items: center;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 10px;
      color: #fff;
      cursor: pointer;
      display: none;
      height: 36px;
      justify-content: center;
      margin-left: auto;
      padding: 0;
      width: 40px;
    }
    .nav-toggle svg { height: 20px; width: 20px; }
    .nav-toggle .icon-close { display: none; }
    .site-nav.mobile-open .nav-toggle .icon-open { display: none; }
    .site-nav.mobile-open .nav-toggle .icon-close { display: block; }

    .site-nav .nav-inner { justify-content: space-between; }
    .nav-logo { margin-right: auto; }
    .nav-toggle { display: inline-flex; }
    .nav-links {
      background: rgba(10,14,22,.98);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 16px;
      box-shadow: 0 24px 60px rgba(0,0,0,.5);
      display: none !important;
      flex-direction: column;
      gap: 0 !important;
      right: 10px;
      min-width: 220px;
      padding: 8px;
      position: absolute;
      top: calc(100% + 8px);
    }
    .nav-links a {
      border-radius: 10px;
      color: #fff;
      font-size: 15px !important;
      padding: 12px 14px;
      text-align: left;
      width: 100%;
    }
    .nav-links a:hover { background: rgba(96,165,250,.14); }
    .site-nav.mobile-open .nav-links { display: flex !important; }
    .site-nav { overflow: visible !important; }
    .nav-menu-icon { display: none !important; }

    @media (max-width: 820px) {
      .site-nav { top: 12px; max-width: calc(100vw - 20px); width: calc(100vw - 20px); border-radius: 18px; }
      .site-nav .nav-inner { padding: 0 14px !important; gap: 10px !important; }
      .nav-logo { padding-right: 0 !important; }
      .nav-links { left: 10px; right: 10px; }
    }


 
html,body{margin:0!important;padding:0!important;width:100%!important;overflow-x:hidden!important;}
.custom-code-element,.ghl-element,[class*="col-"],[class*="row-"],[data-type="row"],[data-type="column"]{margin:0!important;padding:0!important;max-width:100%!important;width:100%!important;}
.site-nav .nav-inner{padding:0 30px;gap:28px;}
.site-nav .nav-logo{padding-right:0;}
@media(max-width:768px){.hero{min-height:100svh;padding:150px 0 40px;display:flex;flex-direction:column;justify-content:center;}.hero-video-spacer{height:30px;}.hero-social-proof{margin-bottom:0;}.hero-copy{margin-bottom:0;}}
.results-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;}
.result-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;flex:0 1 calc(33.333% - 16px);max-width:400px;}
.result-card .r-img{background:#0a0f1a;border-bottom:1px solid var(--line);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;}
.result-card .r-img img{width:100%;height:100%;object-fit:contain;display:block;}
.result-card figcaption{padding:18px 22px 22px;color:var(--hero-sub,#cbd5e1);font-size:13.5px;line-height:1.6;flex:1;}
@media(max-width:980px){.result-card{flex:0 1 calc(50% - 11px);max-width:none;}}
@media(max-width:640px){.result-card{flex:1 1 100%;max-width:none;}}

.roi-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;max-width:960px;margin:0 auto;padding:36px!important;}
.roi-spend-label{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--blue-light);}
.roi-spend{font-family:'Montserrat',sans-serif;font-size:54px;font-weight:800;color:#fff;line-height:1;margin:8px 0 22px;}
#roiSlider{width:100%;-webkit-appearance:none;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--blue-light));outline:none;}
#roiSlider::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(96,165,250,.3);cursor:pointer;}
.roi-range{display:flex;justify-content:space-between;color:var(--gray);font-size:12px;font-weight:600;margin-top:10px;}
.roi-right{display:flex;flex-direction:column;gap:16px;}
.roi-stat{background:rgba(248,250,252,.04);border:1px solid var(--line);border-radius:16px;padding:18px 22px;display:flex;flex-direction:column;}
.roi-statlabel{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gray);}
.roi-statval{font-family:'Montserrat',sans-serif;font-size:34px;font-weight:800;color:#fff;line-height:1.1;}
.roi-statsub{font-size:12px;color:var(--gray);font-weight:600;}
.revenue-ramp{max-width:960px;margin:24px auto 0;padding:34px 38px!important;}
.rev-guarantee{display:flex;align-items:center;justify-content:center;gap:12px;text-align:left;margin:0 auto 26px;padding:14px 22px;max-width:640px;background:linear-gradient(135deg,rgba(29,78,216,.24),rgba(96,165,250,.08));border:1px solid var(--line-strong,rgba(96,165,250,.4));border-radius:14px;box-shadow:0 0 32px rgba(96,165,250,.18);}
.rev-guarantee svg{flex:none;color:var(--blue-light);}
.rev-guarantee span{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;color:#fff;line-height:1.45;}
.rev-guarantee strong{color:var(--blue-light);font-weight:800;}
@media(max-width:640px){.rev-guarantee{flex-direction:column;gap:8px;text-align:center;font-size:13px;}}
.ramp-head{margin-bottom:30px;}
.ramp-label{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--blue-light);}
.ramp-sub{color:var(--gray);font-size:13px;font-weight:500;margin-top:6px;max-width:560px;}
.ramp-chart{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:end;}
.rev-bar{display:flex;flex-direction:column;align-items:center;text-align:center;}
.rev-amt{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(17px,2.3vw,26px);color:#fff;margin-bottom:12px;}
.rev-track{width:100%;max-width:130px;height:210px;display:flex;align-items:flex-end;background:rgba(248,250,252,.04);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.rev-fill{width:100%;height:0;border-radius:11px 11px 0 0;background:linear-gradient(180deg,var(--blue-light),var(--blue));box-shadow:0 0 30px rgba(96,165,250,.45);transition:height 1.2s cubic-bezier(.22,1,.36,1);}
.revenue-ramp.is-visible .rev-fill{height:var(--h);}
.rev-bar:nth-child(2) .rev-fill{transition-delay:.15s;}
.rev-bar:nth-child(3) .rev-fill{transition-delay:.3s;}
.rev-mo{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:#fff;margin-top:16px;}
.rev-phase{color:var(--gray);font-size:12px;font-weight:600;margin-top:3px;}
@media(max-width:640px){.revenue-ramp{padding:24px 20px!important;}.ramp-chart{gap:10px;}.rev-track{height:160px;}.rev-amt{font-size:15px;}.rev-phase{font-size:11px;}}
.clients-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;}
.client-card{background:linear-gradient(145deg,rgba(248,250,252,.07),rgba(248,250,252,.018));border:1px solid var(--line);border-radius:16px;padding:22px 20px;transition:border-color .3s ease,transform .3s ease;display:flex;flex-direction:column;flex:0 1 calc(33.333% - 11px);}
.client-card:hover{border-color:var(--line-strong);transform:translateY(-3px);}
.client-nm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:#fff;line-height:1.2;}
.client-loc{color:var(--gray);font-size:12px;font-weight:600;margin:4px 0 12px;}
.client-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;}
.client-links a{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;color:var(--blue-light);border:1px solid var(--line);border-radius:8px;padding:6px 12px;transition:background .2s,border-color .2s;}
.client-links a:hover{background:rgba(96,165,250,.12);border-color:var(--line-strong);}
.client-gbp{background:rgba(96,165,250,.14)!important;}
.client-site{font-size:10px!important;padding:5px 9px!important;opacity:.8;}
@media(max-width:900px){.roi-wrap{grid-template-columns:1fr;gap:28px;}.client-card{flex:0 1 calc(50% - 8px);}}
.case-study-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;}
.case-study{padding:32px!important;display:flex;flex-direction:column;gap:20px;background:#0b0b0f;border:1px solid var(--line);border-radius:24px;}
.cs-header{margin-bottom:4px;}
.cs-title{font-family:'Montserrat',sans-serif;font-size:38px;font-weight:800;color:#fff;line-height:1.05;letter-spacing:-.01em;margin:0 0 8px;}
.cs-meta{color:var(--gray);font-size:15px;font-weight:500;margin:0;}
.cs-metric{background:rgba(248,250,252,.03);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;}
.cs-metric-title{font-family:'Montserrat',sans-serif;font-size:20px;font-weight:700;color:#fff;line-height:1.25;margin:0;}
.cs-hi{color:#c5ff3d;}
.cs-metric-sub{color:var(--gray);font-size:14px;margin:0;}
.cs-chart{width:100%;height:auto;border-radius:12px;background:#fff;display:block;}
.testimonial-video-stack{display:grid;grid-template-columns:1fr;gap:20px;margin:34px auto 0;max-width:360px;}
.testimonial-video-thumb{position:relative;width:100%;aspect-ratio:9/16;background:#000;border-radius:20px;border:1px solid var(--line);overflow:hidden;cursor:pointer;padding:0;display:block;box-shadow:0 18px 45px rgba(0,0,0,.36);}
.testimonial-video-thumb video,.testimonial-video-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none;display:block;}
.testimonial-video-thumb .play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.46));transition:background .2s;}
.testimonial-video-thumb:hover .play-btn{background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.58));}
.testimonial-video-thumb .play-btn::before{content:"";width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 8px 30px rgba(0,0,0,.4);}
.testimonial-video-thumb .play-btn::after{content:"";position:absolute;width:0;height:0;border-left:20px solid #0b0b0f;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px;}
.video-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;}
.video-lightbox.open{display:flex;}
.video-lightbox video{max-width:min(420px,100%);max-height:90vh;width:auto;height:auto;border-radius:16px;background:#000;}
.video-lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.video-lightbox-close:hover{background:rgba(255,255,255,.25);}
@media(max-width:800px){.case-study-grid{grid-template-columns:1fr;}.cs-title{font-size:30px;}.testimonial-video-stack{max-width:330px;gap:16px;}}

@media(max-width:560px){.client-card{flex:1 1 100%;}}
@media(max-width:560px){.clients-grid{grid-template-columns:1fr;}}
