
    :root{
      --bg:#05060a;
      --bg-soft:#090b12;
      --panel:rgba(255,255,255,.055);
      --panel-strong:rgba(255,255,255,.085);
      --line:rgba(255,255,255,.12);
      --text:#f7f8fb;
      --muted:#a9afbe;
      --violet:#290188;
      --blue:#0086c1;
      --cyan:#00c8e6;
      --brand-blue:#0086c1;
      --brand-aqua:#00c8e6;
      --radius:28px;
      --radius-sm:18px;
      --shadow:0 30px 90px rgba(0,0,0,.42);
      --max:1240px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--text);
      background:
        radial-gradient(circle at 12% 8%, rgba(76,38,255,.12), transparent 28rem),
        radial-gradient(circle at 88% 18%, rgba(0,200,230,.08), transparent 30rem),
        var(--bg);
      font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }

    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:100;
      opacity:.17;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
      mix-blend-mode:soft-light;
    }

    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button{font:inherit}
    section{position:relative}
    ::selection{background:rgba(0,200,230,.25)}

    .wrap{
      width:min(calc(100% - 40px), var(--max));
      margin-inline:auto;
    }

    .nav{
      position:fixed;
      inset:18px 0 auto;
      z-index:90;
      transition:.35s ease;
    }

    .nav.scrolled{inset:10px 0 auto}

    .nav-shell{
      width:min(calc(100% - 28px), 1180px);
      margin:auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      min-height:70px;
      padding:10px 12px 10px 18px;
      border:1px solid rgba(255,255,255,.11);
      background:rgba(6,7,12,.62);
      backdrop-filter:blur(20px) saturate(135%);
      border-radius:999px;
      box-shadow:0 18px 70px rgba(0,0,0,.28);
    }

    .brand{
      position:relative;
      display:flex;
      align-items:center;
      gap:11px;
      min-width:max-content;
      isolation:isolate;
    }

    .brand-logo-shell{
      position:relative;
      width:43px;
      height:34px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border:1px solid transparent;
      border-radius:12px;
      transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
    }
.brand-mark{
      width:43px;
      height:34px;
      object-fit:contain;
      object-position:center;
      filter:
        brightness(1.2)
        saturate(1.2)
        drop-shadow(0 0 9px rgba(117,63,255,.58))
        drop-shadow(0 0 11px rgba(0,200,230,.34));
    }

    .brand-name{
      font-weight:800;
      font-size:15px;
      letter-spacing:.22em;
    }

    .nav-links{
      display:flex;
      align-items:center;
      gap:26px;
      color:#c7cbd5;
      font-size:13px;
    }

    .nav-links a{
      position:relative;
      transition:.25s ease;
    }

    .nav-links a::after{
      content:"";
      position:absolute;
      left:0;
      right:100%;
      bottom:-7px;
      height:1px;
      background:linear-gradient(90deg,var(--violet),var(--cyan));
      transition:.3s ease;
    }

    .nav-links a:hover{color:white}
    .nav-links a:hover::after{right:0}

    .menu-btn{
      display:none;
      width:42px;
      height:42px;
      border:0;
      border-radius:50%;
      color:white;
      background:rgba(255,255,255,.08);
      cursor:pointer;
    }

    .btn{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:52px;
      padding:0 22px;
      border-radius:999px;
      border:1px solid var(--brand-blue);
      color:white;
      background:var(--brand-blue);
      font-weight:700;
      font-size:14px;
      letter-spacing:-.01em;
      cursor:pointer;
      transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
    }

    .btn:hover,
    .btn:focus-visible{
      transform:translateY(-1px);
      background:var(--brand-blue);
      border-color:var(--cyan);
      box-shadow:0 0 0 3px rgba(0,200,230,.075);
      outline:none;
    }

    .btn.secondary{
      background:rgba(255,255,255,.055);
      border-color:rgba(255,255,255,.16);
    }

    .btn.secondary:hover,
    .btn.secondary:focus-visible{
      background:rgba(255,255,255,.08);
      border-color:rgba(0,200,230,.65);
    }

    .btn .arrow{
      width:18px;
      height:18px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:rgba(255,255,255,.13);
      transition:transform .22s ease;
    }

    .btn:hover .arrow,
    .btn:focus-visible .arrow{
      transform:translateX(2px);
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:9px;
      color:#d9dce5;
      font-weight:700;
      font-size:12px;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    .eyebrow::before{
      content:"";
      width:30px;
      height:1px;
      background:linear-gradient(90deg,var(--violet),var(--cyan));
      box-shadow:0 0 12px var(--cyan);
    }

    .hero{
      min-height:100svh;
      display:grid;
      align-items:center;
      overflow:hidden;
      padding:150px 0 92px;
      border-bottom:1px solid rgba(255,255,255,.075);
      background:#05060a;
    }

    .hero-media{
      position:absolute;
      inset:0;
      overflow:hidden;
      background:
        radial-gradient(circle at 14% 18%, rgba(84,37,255,.22), transparent 30rem),
        radial-gradient(circle at 86% 25%, rgba(0,200,230,.12), transparent 28rem),
        linear-gradient(135deg,#070812 0%,#05060a 56%,#080a12 100%);
    }

    .hero-media::before{
      content:"";
      position:absolute;
      inset:-20%;
      opacity:.36;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.045) 1px, transparent 1px);
      background-size:64px 64px;
      transform:perspective(800px) rotateX(62deg) translateY(20%);
      mask-image:linear-gradient(to bottom,transparent 3%,#000 34%,transparent 82%);
    }

    .hero-media::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg, rgba(5,6,10,.4), transparent 55%, rgba(5,6,10,.12)),
        linear-gradient(0deg, #05060a 0%, transparent 34%);
    }

    .hero-orb{
      position:absolute;
      width:620px;
      aspect-ratio:1;
      right:-180px;
      top:2%;
      border-radius:50%;
      background:conic-gradient(from 110deg, transparent, rgba(30,123,255,.24), rgba(0,200,230,.17), transparent 44%);
      filter:blur(16px);
      animation:spin 18s linear infinite;
      opacity:.72;
    }

    @keyframes spin{to{transform:rotate(360deg)}}

    .hero-grid{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);
      gap:64px;
      align-items:center;
    }

    .hero-copy{max-width:790px}

    .hero-kicker{
      display:inline-flex;
      align-items:center;
      gap:12px;
      margin-bottom:28px;
      color:#d8dce6;
      font-size:12px;
      font-weight:750;
      letter-spacing:.18em;
      text-transform:uppercase;
    }

    .hero-kicker::before{
      content:"";
      width:34px;
      height:1px;
      background:linear-gradient(90deg,var(--violet),var(--cyan));
      box-shadow:0 0 12px rgba(36,231,239,.45);
    }

    .hero h1{
      margin:0;
      max-width:900px;
      padding-bottom:.08em;
      overflow:visible;
      font-size:clamp(56px,6.7vw,106px);
      line-height:.96;
      letter-spacing:-.062em;
      font-weight:780;
      text-wrap:normal;
    }

    .hero h1 .gradient{
      display:block;
      width:max-content;
      max-width:100%;
      padding:0 .04em .11em 0;
      color:transparent;
      background:linear-gradient(90deg,#fff 0%,#c7d5ff 35%,#63dff4 72%,#a683ff 100%);
      -webkit-background-clip:text;
      background-clip:text;
    }

    .hero-lead{
      max-width:730px;
      margin:30px 0 0;
      color:#c2c7d3;
      font-size:clamp(17px,1.55vw,21px);
      line-height:1.62;
      letter-spacing:-.02em;
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:34px;
    }

    .hero-side{
      position:relative;
      width:100%;
      aspect-ratio:16/10.5;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.14);
      border-radius:28px;
      background:#0a0c13;
      box-shadow:0 35px 100px rgba(0,0,0,.46);
      isolation:isolate;
    }

    .hero-side img{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      filter:saturate(.86) brightness(.8);
      transition:transform .8s cubic-bezier(.2,.8,.2,1), filter .5s ease;
    }

    .hero-side::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      background:
        linear-gradient(180deg,transparent 26%,rgba(5,6,10,.18) 56%,rgba(5,6,10,.9)),
        linear-gradient(120deg,rgba(89,42,255,.18),transparent 45%,rgba(0,200,230,.1));
    }

    .hero-side::after{
      content:"";
      position:absolute;
      inset:-45%;
      z-index:2;
      background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.14),transparent 58%);
      transform:translateX(-70%) rotate(7deg);
      transition:transform 1s cubic-bezier(.2,.8,.2,1);
      pointer-events:none;
    }

    .hero-side:hover img{
      transform:scale(1.045);
      filter:saturate(1) brightness(.9);
    }

    .hero-side:hover::after{transform:translateX(70%) rotate(7deg)}

    .hero-side-content{
      position:absolute;
      z-index:3;
      inset:auto 24px 24px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:20px;
    }

    .hero-side-copy strong{
      display:block;
      font-size:12px;
      letter-spacing:.15em;
      text-transform:uppercase;
      color:#fff;
      margin-bottom:8px;
    }

    .hero-side-copy p{
      margin:0;
      color:#c0c5d0;
      font-size:14px;
      line-height:1.55;
      max-width:330px;
    }

    .play-hero{
      width:64px;
      height:64px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border:1px solid rgba(255,255,255,.25);
      border-radius:50%;
      background:rgba(255,255,255,.14);
      color:white;
      cursor:pointer;
      backdrop-filter:blur(14px);
      transition:.35s ease;
      box-shadow:0 0 0 0 rgba(0,200,230,.25);
      animation:pulse 2.8s infinite;
    }

    .play-hero:hover{
      transform:scale(1.08) rotate(3deg);
      background:linear-gradient(135deg,var(--violet),var(--cyan));
      border-color:transparent;
    }

    .scroll-cue{
      position:absolute;
      z-index:3;
      left:50%;
      bottom:24px;
      transform:translateX(-50%);
      display:flex;
      align-items:center;
      gap:10px;
      color:#9aa1ae;
      font-size:11px;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    .scroll-cue i{
      position:relative;
      display:block;
      width:1px;
      height:34px;
      background:rgba(255,255,255,.38);
    }

    .scroll-cue i::after{
      content:"";
      position:absolute;
      left:50%;
      bottom:0;
      width:7px;
      height:7px;
      border-right:1px solid rgba(255,255,255,.72);
      border-bottom:1px solid rgba(255,255,255,.72);
      transform:translateX(-50%) rotate(45deg);
      transform-origin:center;
    }

    .section{
      padding:88px 0;
    }

    #work{padding-bottom:58px}
    #approach{padding:58px 0 34px}
    #process{padding:34px 0 72px}

    .section-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(280px,.66fr);
      gap:60px;
      align-items:end;
      margin-bottom:56px;
    }

    .section h2{
      margin:16px 0 0;
      font-size:clamp(42px,5.4vw,78px);
      line-height:.98;
      letter-spacing:-.055em;
      font-weight:760;
      text-wrap:balance;
    }

    .section-head p{
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.72;
    }

    .service{
      margin-top:24px;
      padding:30px;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:
        radial-gradient(circle at 100% 0%, rgba(0,200,230,.055), transparent 24rem),
        linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.025));
      box-shadow:0 22px 90px rgba(0,0,0,.19);
      overflow:hidden;
    }

    .service-top{
      display:grid;
      grid-template-columns:1fr minmax(280px,.75fr);
      gap:50px;
      align-items:start;
      margin-bottom:26px;
    }

    .service-index{
      display:inline-flex;
      align-items:center;
      gap:14px;
      color:#8f97a7;
      font-size:12px;
      letter-spacing:.15em;
      text-transform:uppercase;
    }

    .service-index::after{
      content:"";
      width:56px;
      height:1px;
      background:linear-gradient(90deg,var(--violet),var(--cyan));
    }

    .service h3{
      margin:14px 0 0;
      font-size:clamp(28px,3vw,44px);
      letter-spacing:-.045em;
    }

    .service-top p{
      margin:4px 0 0;
      color:#aeb4c2;
      line-height:1.68;
      font-size:15px;
    }

    .service-top p.align-heading{
      margin-top:43px;
    }

    .video-grid{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:16px;
    }

    .video-card[hidden]{display:none}

    .video-more-actions{
      display:flex;
      justify-content:center;
      margin-top:24px;
    }

    .video-card{
      position:relative;
      flex:0 1 calc((100% - 32px)/3);
      max-width:calc((100% - 32px)/3);
      min-width:0;
      min-height:0;
      aspect-ratio:16/10;
      overflow:hidden;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.1);
      background:#0b0d14;
      cursor:pointer;
      box-shadow:0 16px 50px rgba(0,0,0,.22);
      transform:translateZ(0);
    }

    .video-card img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .5s ease;
      filter:saturate(.82) brightness(.78);
    }

    .video-card::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg,transparent 28%,rgba(4,5,9,.2) 60%,rgba(4,5,9,.82)),
        linear-gradient(120deg,rgba(76,36,255,.14),transparent 45%,rgba(0,200,230,.08));
      transition:.4s ease;
    }

    .video-card:hover img{transform:scale(1.055);filter:saturate(1) brightness(.88)}
    .video-card:hover::after{opacity:.82}

    .video-meta{
      position:absolute;
      z-index:2;
      inset:auto 16px 15px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:14px;
    }

    .video-meta strong{
      display:block;
      font-size:13px;
      letter-spacing:.01em;
    }

    .video-meta small{
      display:block;
      color:#aeb4c2;
      margin-top:5px;
      font-size:11px;
    }

    .card-play{
      width:42px;
      height:42px;
      flex:0 0 auto;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.13);
      border:1px solid rgba(255,255,255,.2);
      backdrop-filter:blur(12px);
      transition:.35s ease;
    }

    .video-card:hover .card-play{
      background:linear-gradient(135deg,var(--violet),var(--cyan));
      transform:scale(1.06) rotate(3deg);
      border-color:transparent;
    }

    .video-card iframe{
      width:100%;
      height:100%;
      border:0;
      position:absolute;
      inset:0;
      z-index:5;
    }

    .manifesto{
      padding:38px;
      border-radius:32px;
      border:1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(circle at 0 0, rgba(92,43,255,.19), transparent 32rem),
        radial-gradient(circle at 100% 100%, rgba(0,200,230,.12), transparent 30rem),
        rgba(255,255,255,.035);
      overflow:hidden;
    }

    .manifesto-grid{
      display:grid;
      grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
      gap:80px;
      align-items:start;
    }

    .manifesto h2{position:sticky;top:130px}

    .manifesto-copy p{
      margin:0 0 22px;
      color:#c0c5d0;
      font-size:18px;
      line-height:1.78;
    }

    .manifesto-copy p:last-child{margin-bottom:0}

    .signal{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      margin-top:48px;
    }

    .signal div{
      min-height:96px;
      padding:18px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(0,0,0,.16);
    }

    .signal span{
      display:block;
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.13em;
      color:#8f96a6;
    }

    .signal strong{
      display:block;
      margin-top:12px;
      font-size:14px;
      font-weight:650;
    }

    .process{
      counter-reset:step;
    }

    .process-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:14px;
      margin-top:54px;
    }

    .step{
      counter-increment:step;
      position:relative;
      min-height:330px;
      padding:28px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.105);
      background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.026));
      overflow:hidden;
    }

    .step::before{
      content:"0" counter(step);
      display:block;
      margin-bottom:78px;
      font-size:12px;
      letter-spacing:.16em;
      color:#9ba2b1;
    }

    .step::after{
      content:"";
      position:absolute;
      width:190px;
      height:190px;
      right:-90px;
      top:-90px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.1);
      box-shadow:0 0 0 26px rgba(255,255,255,.02),0 0 0 52px rgba(255,255,255,.015);
    }

    .step h3{
      margin:0;
      font-size:23px;
      letter-spacing:-.035em;
    }

    .step p{
      margin:15px 0 0;
      color:#aeb4c2;
      font-size:14px;
      line-height:1.68;
    }

    .trust{
      overflow:hidden;
      border-top:1px solid rgba(255,255,255,.08);
      border-bottom:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.018);
    }

    .trust-head{
      padding:68px 0 30px;
      text-align:center;
    }

    .trust h2{max-width:820px;margin-inline:auto}
    .trust p{
      max-width:660px;
      margin:24px auto 0;
      color:var(--muted);
      line-height:1.7;
    }

    .client-marquee{
      position:relative;
      overflow:hidden;
      padding:18px 0 68px;
      mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
      -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
    }

    .client-marquee-track{
      display:flex;
      width:max-content;
      gap:14px;
      animation:clientMarquee 52s linear infinite;
      will-change:transform;
    }

    .client-marquee:hover .client-marquee-track{
      animation-play-state:paused;
    }

    @keyframes clientMarquee{
      to{transform:translateX(calc(-50% - 7px))}
    }

    .client-logo{
      width:214px;
      height:104px;
      flex:0 0 214px;
      display:grid;
      place-items:center;
      padding:6px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:18px;
      background:#f1f2f4;
      box-shadow:0 12px 38px rgba(0,0,0,.13);
      transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        background .22s ease;
    }

    .client-logo:hover{
      transform:translateY(-2px);
      border-color:rgba(0,200,230,.7);
      background:#f7f8f9;
      box-shadow:0 0 0 3px rgba(0,200,230,.06),0 14px 42px rgba(0,0,0,.17);
    }

    .client-logo img{
      display:block;
      width:192px;
      height:74px;
      object-fit:contain;
      opacity:.88;
      transition:opacity .22s ease,transform .22s ease;
    }

    .client-logo:hover img{
      opacity:1;
      transform:scale(1.018);
    }

    @media (max-width:680px){
      .client-marquee{
        padding-bottom:52px;
        mask-image:linear-gradient(90deg,transparent,#000 11%,#000 89%,transparent);
        -webkit-mask-image:linear-gradient(90deg,transparent,#000 11%,#000 89%,transparent);
      }

      .client-marquee-track{
        gap:10px;
        animation-duration:46s;
      }

      .client-logo{
        width:172px;
        height:88px;
        flex-basis:172px;
        padding:5px;
        border-radius:15px;
      }

      .client-logo img{
        width:154px;
        height:62px;
      }
    }

    .cta{
      padding:78px 0 34px;
    }

    .cta-shell{
      position:relative;
      overflow:hidden;
      padding:clamp(34px,7vw,88px);
      border-radius:38px;
      border:1px solid rgba(255,255,255,.13);
      background:
        radial-gradient(circle at 10% 10%,rgba(92,42,255,.34),transparent 30rem),
        radial-gradient(circle at 90% 90%,rgba(0,200,230,.18),transparent 30rem),
        #0a0c13;
      box-shadow:0 35px 110px rgba(0,0,0,.4);
    }

    .cta-shell::after{
      content:"";
      position:absolute;
      width:520px;
      aspect-ratio:1;
      right:-140px;
      top:-220px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.1);
      box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.015);
    }

    .cta-copy{position:relative;z-index:2;max-width:830px}

    .cta h2{
      font-size:clamp(48px,7vw,96px);
      max-width:800px;
    }

    .cta p{
      max-width:690px;
      margin:26px 0 0;
      color:#c3c8d3;
      line-height:1.75;
      font-size:17px;
    }

    .cta-actions{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:14px;
      margin-top:34px;
    }

    .email-note{
      display:flex;
      flex-direction:column;
      gap:4px;
      font-size:14px;
      color:#d9dce4;
    }

    .email-note a{
      color:#eef1f7;
      text-decoration:underline;
      text-decoration-color:rgba(0,200,230,.42);
      text-underline-offset:4px;
      transition:color .25s ease,text-decoration-color .25s ease;
    }

    .email-note a:hover{
      color:var(--cyan);
      text-decoration-color:var(--cyan);
    }

    .email-note small{color:#8f96a6}


    .contact-layout{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:minmax(0,.72fr) minmax(520px,1.08fr);
      gap:72px;
      align-items:start;
    }

    .contact-intro{
      position:sticky;
      top:120px;
    }

    .contact-intro h2{
      margin-top:16px;
      max-width:620px;
    }

    .contact-intro p{
      max-width:560px;
    }

    .contact-form{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      padding:28px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:26px;
      background:rgba(5,7,13,.5);
      backdrop-filter:blur(18px);
      box-shadow:0 24px 80px rgba(0,0,0,.28);
    }

    .form-field{
      display:flex;
      flex-direction:column;
      gap:9px;
      min-width:0;
    }

    .form-field.full{grid-column:1 / -1}

    .form-field label{
      color:#eef1f7;
      font-size:13px;
      font-weight:700;
      letter-spacing:-.01em;
    }

    .form-control{
      width:100%;
      min-height:54px;
      padding:0 16px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:15px;
      outline:none;
      color:#f8f9fc;
      background:rgba(255,255,255,.055);
      font:inherit;
      transition:border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease;
    }

    textarea.form-control{
      min-height:162px;
      padding:15px 16px;
      resize:vertical;
      line-height:1.55;
    }

    select.form-control{
      appearance:none;
      cursor:pointer;
      padding-right:48px;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.25 8 10l4-3.75' fill='none' stroke='%2300c8e6' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat:no-repeat;
      background-position:right 16px center;
      background-size:16px 16px;
    }

    .form-control::placeholder{color:#767e8e}

    .form-control:hover{
      border-color:rgba(255,255,255,.22);
      background-color:rgba(255,255,255,.07);
    }

    .form-control:focus{
      border-color:rgba(0,200,230,.72);
      box-shadow:0 0 0 4px rgba(0,200,230,.09),0 0 28px rgba(0,200,230,.07);
      background-color:rgba(255,255,255,.075);
    }

    .file-field{
      position:relative;
      display:flex;
      align-items:center;
      gap:12px;
      min-height:58px;
      padding:10px 12px;
      border:1px dashed rgba(255,255,255,.2);
      border-radius:15px;
      background:rgba(255,255,255,.035);
      cursor:pointer;
      transition:.25s ease;
    }

    .file-field:hover{
      border-color:rgba(0,200,230,.46);
      background:rgba(0,200,230,.045);
    }

    .file-field input{
      position:absolute;
      inset:0;
      width:100%;
      opacity:0;
      cursor:pointer;
    }

    .file-icon{
      width:38px;
      height:38px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      border-radius:12px;
      background:rgba(255,255,255,.08);
    }

    .file-copy strong{
      display:block;
      color:#eef1f7;
      font-size:13px;
    }

    .file-copy small{
      display:block;
      margin-top:3px;
      color:#858d9d;
      font-size:11px;
    }

    .form-footer{
      grid-column:1 / -1;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-top:2px;
    }

    .form-footer .btn{
      min-width:210px;
    }

    .form-status{
      min-height:20px;
      color:#9ca4b4;
      font-size:12px;
      line-height:1.45;
      text-align:right;
    }

    .form-status.error{color:#ff9caa}
    .form-status.success{color:#78efe4}

    @media (max-width:1000px){
      .contact-layout{
        grid-template-columns:1fr;
        gap:36px;
      }
      .contact-intro{position:static}
    }

    @media (max-width:680px){
      .contact-form{
        grid-template-columns:1fr;
        padding:18px;
        border-radius:21px;
      }
      .form-field.full{grid-column:auto}
      .form-footer{
        grid-column:auto;
        align-items:stretch;
        flex-direction:column;
      }
      .form-footer .btn{width:100%}
      .form-status{text-align:left}
    }

    footer{
      padding:26px 0 40px;
      color:#858c9a;
      font-size:12px;
    }

    .footer-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }

    .footer-brand{
      display:flex;
      align-items:center;
      gap:10px;
      color:#d5d8e0;
      font-weight:700;
      letter-spacing:.13em;
    }

    .footer-brand img{
      width:31px;
      height:24px;
      object-fit:contain;
      object-position:center 28%;
    }

    .reveal{
      opacity:0;
      transform:translateY(28px);
      transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1);
    }

    .reveal.is-visible{
      opacity:1;
      transform:none;
    }

    .modal{
      position:fixed;
      inset:0;
      z-index:120;
      display:none;
      place-items:center;
      padding:24px;
      background:rgba(2,3,7,.62);
      -webkit-backdrop-filter:blur(18px);
      backdrop-filter:blur(18px);
    }

    .modal.open{display:grid}

    .modal-dialog{
      width:min(1440px,100%,calc((100vh - 48px) * 16 / 9));
      width:min(1440px,100%,calc((100dvh - 48px) * 16 / 9));
      aspect-ratio:16/9;
      position:relative;
      border-radius:20px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.18);
      background:#000;
      box-shadow:0 35px 120px rgba(0,0,0,.7);
      animation:modalIn .35s ease both;
    }

    @keyframes modalIn{
      from{opacity:0;transform:translateY(18px) scale(.975)}
    }

    #modalVideo{position:absolute;inset:0}
    .modal iframe{display:block;width:100%;height:100%;border:0}

    .close-modal{
      position:absolute;
      z-index:3;
      right:16px;
      top:16px;
      width:44px;
      height:44px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.18);
      background:rgba(7,8,13,.68);
      color:white;
      cursor:pointer;
      backdrop-filter:blur(12px);
      transition:.25s ease;
    }

    .close-modal:hover{transform:rotate(8deg) scale(1.05);background:rgba(255,255,255,.14)}

    @media (max-width:1000px){
      .nav-links{display:none}
      .menu-btn{display:block}
      .nav-shell.open{
        border-radius:28px;
        align-items:flex-start;
        flex-wrap:wrap;
      }
      .nav-shell.open .nav-links{
        order:3;
        width:100%;
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        padding:6px 8px 14px;
      }
      .nav-shell.open .nav-links a{
        width:100%;
        padding:13px 6px;
        border-top:1px solid rgba(255,255,255,.08);
      }
      .nav-shell .btn.nav-cta{display:none}
      .hero-grid{grid-template-columns:1fr;gap:42px}
      .hero-side{max-width:720px}
      .section-head{grid-template-columns:1fr;gap:24px}
      .service-top p.align-heading{margin-top:4px}
      .video-card{flex-basis:calc((100% - 16px)/2);max-width:calc((100% - 16px)/2)}
      .manifesto-grid{grid-template-columns:1fr;gap:34px}
      .manifesto h2{position:static}
      .process-grid{grid-template-columns:repeat(2,1fr)}
      .signal{grid-template-columns:repeat(2,1fr)}
    }

    @media (max-width:680px){
      .wrap{width:min(calc(100% - 24px),var(--max))}
      .nav{inset:8px 0 auto}
      .nav-shell{width:calc(100% - 16px);min-height:62px;padding:8px 9px 8px 14px}
      .brand-name{font-size:13px}
      .brand-mark{width:34px}
      .hero{padding:130px 0 58px;min-height:860px;align-items:end}
      .hero-grid{gap:34px}
      .hero-kicker{margin-bottom:22px}
      .hero-side{border-radius:22px}
      .hero h1{font-size:clamp(54px,16vw,82px)}
      .hero-lead{font-size:16px}
      .hero-side{padding:20px}
      .scroll-cue{display:none}
      .section{padding:68px 0}
      #work{padding-bottom:44px}
      #approach{padding:44px 0 26px}
      #process{padding:26px 0 56px}
      .section h2{font-size:clamp(40px,12.5vw,62px)}
      .service{padding:18px;border-radius:22px}
      .service-top{grid-template-columns:1fr;gap:18px}
      .video-card{flex-basis:100%;max-width:100%;min-height:220px}
      .manifesto{padding:24px;border-radius:24px}
      .manifesto-copy p{font-size:16px}
      .signal{grid-template-columns:1fr 1fr}
      .process-grid{grid-template-columns:1fr}
      .step{min-height:auto}
      .step::before{margin-bottom:48px}
      .cta{padding-top:64px}
      .cta-shell{border-radius:28px}
      .cta h2{font-size:clamp(45px,13vw,68px)}
      .footer-inner{align-items:flex-start;flex-direction:column}
      .modal{padding:10px}
      .modal-dialog{border-radius:12px}
    }

    @media (prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
      }
      .client-marquee-track{animation:none !important}
    }
  
    /* Unified minimal interactions */
    .scroll-cue{
      display:none !important;
    }

    .brand-logo-shell,
    .brand:hover .brand-logo-shell,
    .brand:focus-visible .brand-logo-shell{
      border-color:transparent !important;
      background:transparent !important;
      box-shadow:none !important;
      transition:none !important;
    }

    .btn,
    .play-hero,
    .menu-btn,
    .close-modal,
    .video-card,
    .file-field,
    .client-logo{
      transform:scale(1) !important;
      transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease !important;
    }

    .btn:hover,
    .btn:focus-visible,
    .play-hero:hover,
    .play-hero:focus-visible,
    .menu-btn:hover,
    .menu-btn:focus-visible,
    .close-modal:hover,
    .close-modal:focus-visible,
    .video-card:hover,
    .video-card:focus-visible,
    .file-field:hover,
    .file-field:focus-within,
    .client-logo:hover,
    .client-logo:focus-visible{
      transform:scale(1.02) !important;
      border-color:rgba(0,200,230,.68) !important;
      box-shadow:0 0 0 3px rgba(0,200,230,.065) !important;
      outline:none !important;
    }

    .btn:active,
    .play-hero:active,
    .menu-btn:active,
    .close-modal:active,
    .video-card:active,
    .file-field:active,
    .client-logo:active{
      transform:scale(.985) !important;
      border-color:rgba(0,200,230,.82) !important;
      box-shadow:0 0 0 2px rgba(0,200,230,.05) !important;
    }

    /* Keep every control's fill unchanged during hover and click. */
    .btn:hover,
    .btn:focus-visible,
    .btn:active{
      background:var(--brand-blue) !important;
    }

    .btn.secondary:hover,
    .btn.secondary:focus-visible,
    .btn.secondary:active{
      background:rgba(255,255,255,.055) !important;
    }

    .play-hero:hover,
    .play-hero:focus-visible,
    .play-hero:active{
      background:rgba(255,255,255,.14) !important;
    }

    .menu-btn:hover,
    .menu-btn:focus-visible,
    .menu-btn:active{
      background:rgba(255,255,255,.08) !important;
    }

    .close-modal:hover,
    .close-modal:focus-visible,
    .close-modal:active{
      background:rgba(7,8,13,.68) !important;
    }

    .file-field:hover,
    .file-field:focus-within,
    .file-field:active{
      background:rgba(255,255,255,.035) !important;
    }

    /* No elements inside controls move independently. */
    .btn .arrow,
    .btn:hover .arrow,
    .btn:focus-visible .arrow,
    .btn:active .arrow,
    .card-play,
    .video-card:hover .card-play,
    .video-card:focus-visible .card-play,
    .video-card:active .card-play{
      transform:none !important;
      transition:none !important;
    }

    .video-card:hover img,
    .video-card:focus-visible img,
    .client-logo:hover img,
    .client-logo:focus-visible img{
      transform:none !important;
    }

  
    .contact-form .btn:hover,
    .contact-form .btn:focus-visible{
      transform:scale(1.02) !important;
      border-color:var(--brand-aqua) !important;
      box-shadow:0 0 0 3px rgba(0,200,230,.075) !important;
      background:var(--brand-blue) !important;
    }

    .contact-form .btn:active{
      transform:scale(.985) !important;
      border-color:var(--brand-aqua) !important;
      box-shadow:0 0 0 2px rgba(0,200,230,.055) !important;
      background:var(--brand-blue) !important;
    }

  

/* CMS additions */
.preview-bar{position:fixed;left:50%;top:96px;z-index:95;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:9px 14px;border:1px solid rgba(0,200,230,.45);border-radius:999px;background:rgba(5,6,10,.88);backdrop-filter:blur(18px);box-shadow:0 14px 50px rgba(0,0,0,.38);font-size:12px;color:#d8fbff}
.preview-bar a{font-weight:800;color:var(--brand-aqua)}
.client-logo img{transform:scale(var(--logo-scale,1)) !important;transform-origin:center !important}
.client-logo:hover img,.client-logo:focus-visible img{transform:scale(var(--logo-scale,1)) !important}
.brand-logo-shell,.brand:hover .brand-logo-shell,.brand:focus-visible .brand-logo-shell{border-color:transparent !important;background:transparent !important;box-shadow:none !important}

.service-top p.align-heading{margin-top:43px}
@media(max-width:900px){.service-top p.align-heading{margin-top:4px}}

/* Full supplied wordmark, without recoloring or cropping. */
.brand-logo-shell{width:180px;height:auto;border:0;border-radius:0}
.brand-mark{width:180px;height:auto;object-fit:contain;filter:none}
.footer-brand img{width:160px;height:auto;object-position:center}
@media(max-width:680px){.brand-logo-shell,.brand-mark{width:142px}}


/* Showreel and portfolio player styling. */
.hero-side{border:0}
.hero-side::after{display:none}
.play-hero,.card-play{width:64px;height:64px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.14);color:#fff;font-size:16px;line-height:1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.video-card:hover .card-play,.video-card:focus-visible .card-play,.video-card:active .card-play{background:rgba(255,255,255,.14);border-color:rgba(0,200,230,.68);box-shadow:0 0 0 3px rgba(0,200,230,.065)}

/* Compact studio logo. */
.brand-logo-shell,.brand-mark{width:138px}
.footer-brand img{width:124px}
@media(max-width:680px){.brand-logo-shell,.brand-mark{width:112px}}
