
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --void:#030308;--black:#060610;--deep:#0a0a16;--dark:#0e0e1c;--card:#111122;--card-hover:#151530;
  --border:#1a1a30;--border-light:#252545;
  --blue:#4a6cf7;--blue-dim:#3a55c9;--blue-bright:#6b8aff;--blue-glow:rgba(74,108,247,0.12);
  --red:#e63946;--red-dim:#c42e3a;--red-bright:#ff4d5a;
  --accent-grad:linear-gradient(135deg,var(--blue),var(--red));
  --accent-grad-hover:linear-gradient(135deg,var(--blue-bright),var(--red-bright));
  --muted:#7d7d9c;--body:#8888a8;--light:#b8b8d0;--white:#e8e8f0;--pure:#f5f5ff;
  --font-display:'Bebas Neue',Impact,sans-serif;
  --font-heading:'Syne',sans-serif;
  --font-mono:'DM Mono',monospace;
  --font-body:'Syne',sans-serif;
}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--void);color:var(--body);font-family:var(--font-body);font-weight:400;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--blue);color:var(--pure)}
a{color:inherit;text-decoration:none}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:10000;opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}

nav{position:fixed;top:0;width:100%;z-index:9000;padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,rgba(3,3,8,0.98) 0%,rgba(3,3,8,0.5) 70%,transparent 100%);transition:all 0.5s cubic-bezier(0.16,1,0.3,1)}
nav.scrolled{padding:0.9rem 4rem;background:rgba(6,6,16,0.97);backdrop-filter:blur(24px) saturate(1.4);border-bottom:1px solid var(--border)}
.nav-logo{font-family:var(--font-display);font-size:1.4rem;letter-spacing:0.08em;color:var(--white)}
.nav-logo-accent{background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:var(--font-mono);font-size:1.07rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--white);transition:color 0.3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent-grad);transition:width 0.4s}
.nav-links a:hover{color:var(--light)}.nav-links a:hover::after{width:100%}
.nav-cta{font-family:var(--font-mono);font-size:1.04rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;padding:0.6rem 1.6rem;border:1px solid var(--border-light);color:var(--light);transition:all 0.4s;position:relative;overflow:hidden}
.nav-cta::before{content:'';position:absolute;inset:0;background:var(--accent-grad);opacity:0;transition:opacity 0.4s}
.nav-cta:hover{border-color:var(--blue-dim);color:var(--pure)}.nav-cta:hover::before{opacity:0.15}
.nav-menu-btn{display:none;width:26px;height:18px;flex-direction:column;justify-content:space-between;cursor:pointer;border:none;background:none;padding:0}
.nav-menu-btn span{display:block;width:100%;height:1px;background:var(--light)}

.hero{position:relative;padding:0;overflow:hidden}
.hero-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 20%,rgba(74,108,247,0.05),transparent 70%),radial-gradient(ellipse 40% 35% at 80% 70%,rgba(230,57,70,0.03),transparent 60%),var(--void)}
.hero-brand{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.8rem);background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.7rem;opacity:0;animation:fadeUp 0.8s 0.1s forwards;line-height:1}
.hero-services{font-family:var(--font-mono);font-size:clamp(0.65rem,1.1vw,0.88rem);letter-spacing:0.28em;text-transform:uppercase;color:var(--light);opacity:0;animation:fadeUp 0.8s 0.2s forwards;margin-bottom:0}
.hero-pipe{color:var(--blue-dim);margin:0 0.6rem}
.hero-below-reel{position:relative;z-index:2;padding:5rem 4rem 5rem;text-align:center}
.hero-top{position:relative;z-index:2;padding:8rem 4rem 2.5rem;text-align:center}
.hero-text{max-width:100%;text-align:center}
.hero-micro{font-family:var(--font-mono);font-size:1.17rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--white);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:0.8rem;opacity:0;animation:fadeIn 0.6s 0.1s forwards}
.hero-micro::before{content:'';width:20px;height:1px;background:var(--blue-dim)}
.hero h1{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,4.5rem);font-weight:400;line-height:0.92;color:var(--pure);letter-spacing:0.03em;margin-bottom:1.4rem;opacity:0;animation:fadeUp 0.8s 0.2s forwards}
.hero h1 .grad{background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:1.82rem;color:var(--light);max-width:680px;margin-left:auto;margin-right:auto;line-height:1.35;opacity:0;animation:fadeUp 0.7s 0.4s forwards}
.hero-right{display:none}
.hero-industries{font-family:var(--font-mono);font-size:1.1rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--white);text-align:center;line-height:1.8;margin-top:1.4rem;margin-bottom:1.6rem;opacity:0;animation:fadeUp 0.7s 0.6s forwards}
.hero-industries span{color:var(--blue-dim)}
.hero-cta{display:inline-flex;align-items:center;gap:0.6rem;font-family:var(--font-mono);font-size:0.78rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;padding:0.8rem 2rem;background:var(--accent-grad);color:var(--pure);transition:all 0.4s;position:relative;overflow:hidden}
.hero-cta::before{content:'';position:absolute;inset:0;background:var(--accent-grad-hover);opacity:0;transition:opacity 0.4s}
.hero-cta:hover::before{opacity:1}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(74,108,247,0.2),0 4px 15px rgba(230,57,70,0.1)}
.hero-cta span,.hero-cta svg{position:relative;z-index:1}
.hero-reel{position:relative;z-index:2;width:100%;background:var(--dark);opacity:0;animation:fadeUp 0.9s 0.5s forwards}

.reel-label{position:absolute;top:-14px;left:2rem;z-index:3;font-family:var(--font-mono);font-size:0.91rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--blue);padding:0.25rem 0.8rem;background:var(--void);border:1px solid var(--border-light)}
.video-aspect{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.video-aspect iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}

.vet-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1rem 4rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;background:var(--deep);position:relative}
.vet-strip::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(74,108,247,0.03),rgba(230,57,70,0.02),transparent)}
.vet-icon{width:28px;height:28px;border:1px solid var(--border-light);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}
.vet-label{font-family:var(--font-mono);font-size:0.94rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--white);position:relative}
.vet-label strong{background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.vet-divider{width:1px;height:14px;background:var(--border);position:relative}
.vet-cert{font-family:var(--font-mono);font-size:1.1rem;letter-spacing:0.12em;color:var(--white);position:relative}

.parallax-divider{position:relative;height:350px;overflow:hidden}
.parallax-divider .parallax-img{position:absolute;top:-30%;left:0;right:0;height:160%;background-size:cover;background-position:center;will-change:transform}
.parallax-divider::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,var(--void) 0%,rgba(3,3,8,0.4) 30%,rgba(3,3,8,0.4) 70%,var(--black) 100%);pointer-events:none}

.showcase{padding:6rem 4rem;background:var(--black);scroll-margin-top:80px}
.showcase-header{display:block;margin-bottom:3rem}
.showcase-title{font-family:var(--font-display);font-size:clamp(2.5rem,4.5vw,4rem);color:var(--pure);letter-spacing:0.04em;line-height:0.95}
.showcase-title .grad{background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.showcase-sub{font-family:var(--font-mono);font-size:1.17rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--white);text-align:left;max-width:100%;line-height:1.8;margin-top:0.75rem;opacity:0.6}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.cat-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:320px;overflow:hidden;cursor:pointer;transition:all 0.5s cubic-bezier(0.16,1,0.3,1);text-decoration:none;color:inherit;border:1px solid var(--border)}
.cat-tile-bg{position:absolute;inset:-20px;background-size:cover;background-position:center;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1);will-change:transform}
.cat-tile:hover .cat-tile-bg{transform:scale(1.06)}
.cat-tile-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(3,3,8,0.35) 0%,rgba(3,3,8,0.88) 100%);transition:background 0.5s}
.cat-tile:hover .cat-tile-overlay{background:linear-gradient(to bottom,rgba(3,3,8,0.2) 0%,rgba(3,3,8,0.92) 100%)}
.cat-tile:hover{border-color:var(--border-light);transform:translateY(-5px);box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.cat-num{position:absolute;top:1.5rem;right:1.5rem;font-family:var(--font-display);font-size:6rem;line-height:1;color:rgba(255,255,255,0.05);z-index:2;pointer-events:none}
.cat-tile:hover .cat-num{color:rgba(255,255,255,0.08)}
.cat-icon{width:48px;height:48px;border:1.5px solid rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:all 0.4s;position:relative;z-index:3;background:rgba(3,3,8,0.4);backdrop-filter:blur(8px)}
.cat-tile:hover .cat-icon{border-color:var(--blue);background:rgba(74,108,247,0.15);box-shadow:0 0 25px rgba(74,108,247,0.2)}
.cat-content{position:relative;z-index:3;padding:2rem}
.cat-tag{font-family:var(--font-mono);font-size:1.01rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--blue);margin-bottom:0.4rem}
.cat-tile:nth-child(even) .cat-tag{color:var(--red)}
.cat-content h3{font-family:var(--font-display);font-size:2.2rem;letter-spacing:0.04em;color:var(--pure);margin-bottom:0.3rem;line-height:1}
.cat-content p{font-size:1.43rem;color:var(--light);line-height:1.6;margin-bottom:1rem;opacity:0.85}
.cat-link{font-family:var(--font-mono);font-size:1.1rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:0.5rem;opacity:0;transform:translateY(6px);transition:all 0.4s}
.cat-tile:nth-child(even) .cat-link{color:var(--red)}
.cat-tile:hover .cat-link{opacity:1;transform:translateY(0)}
.cat-tile.wide{grid-column:span 2;min-height:300px}

/* CLIENT LOGOS */
.clients{padding:3rem 0;background:var(--deep);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}
.clients-label{font-family:var(--font-mono);font-size:1.07rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--white);text-align:center;margin-bottom:1.8rem}
.clients-marquee{position:relative;overflow:hidden}
.clients-marquee::before,.clients-marquee::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.clients-marquee::before{left:0;background:linear-gradient(to right,var(--deep),transparent)}
.clients-marquee::after{right:0;background:linear-gradient(to left,var(--deep),transparent)}
.marquee-track{display:flex;gap:3.5rem;align-items:center;animation:marqueeScroll 35s linear infinite;width:max-content}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.client-logo-img{height:45px;opacity:0.4;filter:brightness(1.3) grayscale(0.3);transition:all 0.4s;object-fit:contain}
.client-logo-img:hover{opacity:0.75;filter:brightness(1.5) grayscale(0)}
.client-name{font-family:var(--font-heading);font-size:1.37rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--white);white-space:nowrap;opacity:0.4;transition:opacity 0.4s}.client-logo-wrap{display:flex;align-items:center;justify-content:center;height:72px;width:160px;flex-shrink:0}.client-logo{height:72px;width:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:0.45;transition:opacity 0.4s}.client-logo:hover{opacity:0.8}
.client-name:hover{opacity:0.75}
.client-sep{width:3px;height:3px;border-radius:50%;background:var(--border-light);flex-shrink:0}

/* ABOUT */
.about-single{max-width:780px;margin:0 auto 2.5rem auto}
.about-single p{font-size:1.37rem;color:var(--light);line-height:1.3;margin-bottom:0.8rem}
.about-single p:last-child{margin-bottom:0}
.about-single p strong{color:var(--white);font-weight:600}
.about-list{font-size:1.37rem;color:var(--light);line-height:1.3;margin:0 0 0.8rem 1.6rem;padding:0}
.about-list li{margin-bottom:0.35rem}
.about{padding:5rem 4rem;background:var(--void);position:relative;overflow:hidden;scroll-margin-top:80px}
.about::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(74,108,247,0.03),transparent 70%);pointer-events:none}
.about-layout{max-width:1100px;margin:0 auto;position:relative}
.about-headline{font-family:var(--font-display);font-size:clamp(2.2rem,3.8vw,3.4rem);color:var(--pure);letter-spacing:0.04em;line-height:1;margin-bottom:2.5rem;max-width:100%;text-align:center}
.about-headline .grad{background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:start;margin-bottom:3rem}
.about-left p{font-size:1.37rem;color:var(--light);line-height:1.85;margin-bottom:1rem}
.about-left p strong{color:var(--light);font-weight:600}
.about-right-text{font-size:1.37rem;color:var(--light);line-height:1.85;padding-left:2rem;border-left:1px solid var(--border)}
.about-right-text strong{color:var(--light);font-weight:600}

/* 4-STAT ROW */
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);margin-bottom:2rem}
.stat{text-align:center;padding:1.5rem 1rem;border-right:1px solid var(--border);transition:background 0.3s}
.stat:last-child{border-right:none}
.stat:hover{background:var(--card)}
.stat-num{font-family:var(--font-display);font-size:3.2rem;line-height:1;margin-bottom:0.3rem;background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-label{font-family:var(--font-mono);font-size:1.01rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--white);line-height:1.5}

/* CREDENTIALS BAR */
.credentials{
  display:flex;gap:2rem;align-items:center;justify-content:center;
  padding:1rem 2rem;
  border:1px solid var(--border);
  background:var(--card);
}
.credential-item{
  display:flex;align-items:center;gap:0.8rem;
  font-family:var(--font-mono);font-size:1.17rem;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--white);
}
.credential-icon{
  width:34px;height:34px;
  border:1px solid var(--border-light);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.credential-sep{width:1px;height:16px;background:var(--border)}

/* CONTACT */
.contact{padding:5rem 4rem;background:var(--deep);border-top:1px solid var(--border);scroll-margin-top:80px}
.contact-layout{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:4rem}
.contact-left h2{font-family:var(--font-display);font-size:clamp(2.5rem,4vw,3.5rem);color:var(--pure);letter-spacing:0.04em;line-height:0.95;margin-bottom:1rem}
.contact-left h2 .grad{background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.contact-copy{font-size:1.37rem;color:var(--light);line-height:1.85;margin-bottom:2rem}
.contact-detail{display:flex;align-items:center;gap:0.8rem;margin-bottom:1rem}
.contact-detail-icon{width:96px;height:96px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-detail a{text-decoration:none;color:inherit}.contact-detail-link{display:flex;align-items:center;gap:1.5rem;text-decoration:none;color:inherit;transition:opacity 0.3s}.contact-detail-link:hover{opacity:0.75}
.contact-detail-label{font-family:var(--font-mono);font-size:1.01rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--white)}
.contact-detail-value{font-size:1.43rem;color:var(--white)}
.contact-form{display:flex;flex-direction:column;gap:0.9rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem}
.form-group label{display:block;font-family:var(--font-mono);font-size:1.01rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--white);margin-bottom:0.35rem}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.8rem 1rem;background:var(--card);border:1px solid var(--border);color:var(--light);font-family:var(--font-body);font-size:1.37rem;outline:none;transition:all 0.3s;-webkit-appearance:none;appearance:none}
.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a4a68' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}
.form-group select option{background:var(--card);color:var(--light)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--blue-dim);background:var(--card-hover);box-shadow:0 0 0 3px var(--blue-glow)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted)}
.form-group textarea{min-height:80px;resize:vertical}
.form-submit{display:inline-flex;align-items:center;gap:0.7rem;font-family:var(--font-mono);font-size:0.78rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;padding:0.85rem 2rem;background:var(--accent-grad);color:var(--pure);border:none;cursor:pointer;transition:all 0.4s;align-self:flex-start;position:relative;overflow:hidden}
.form-submit::before{content:'';position:absolute;inset:0;background:var(--accent-grad-hover);opacity:0;transition:opacity 0.4s}
.form-submit:hover::before{opacity:1}.form-submit:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(74,108,247,0.2)}
.form-submit span,.form-submit svg{position:relative;z-index:1}

footer{background:var(--void);border-top:1px solid var(--border);padding:2.5rem 4rem;display:flex;justify-content:space-between;align-items:center}
.footer-logo{font-family:var(--font-display);font-size:1.1rem;letter-spacing:0.06em;color:var(--white)}
.footer-center{font-family:var(--font-mono);font-size:0.98rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--white)}
.footer-right{display:flex;gap:0.8rem}
.footer-social{width:80px;height:80px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all 0.3s}
.footer-social:hover{border-color:var(--blue-dim);background:var(--blue-glow)}

@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(30px);transition:all 0.8s cubic-bezier(0.16,1,0.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.rd1{transition-delay:0.1s}.rd2{transition-delay:0.2s}.rd3{transition-delay:0.3s}

@media(max-width:1100px){nav{padding:1.2rem 2.5rem}.hero,.showcase,.about,.contact{padding-left:2.5rem;padding-right:2.5rem}footer{padding:1.5rem 2.5rem}.parallax-divider{height:280px}}
@media(max-width:860px){
  .nav-links{display:none}.nav-menu-btn{display:flex}.nav-cta{display:none}nav{padding:1rem 1.5rem}
  .hero,.showcase,.about,.contact{padding-left:1.5rem;padding-right:1.5rem}
  .hero-top{padding-top:7.5rem;padding-left:1.5rem;padding-right:1.5rem}.hero-below-reel{padding-left:1.5rem;padding-right:1.5rem}
  .hero h1{font-size:clamp(1.5rem,5vw,2.5rem)}
  .showcase-header{display:block}.showcase-sub{text-align:left;max-width:none}
  .cat-grid{grid-template-columns:1fr}.cat-tile.wide{grid-column:auto}.cat-tile{min-height:240px}
  .cat-link{opacity:1;transform:none}
  .about-columns{grid-template-columns:1fr;gap:2rem}
  .about-right-text{padding-left:0;border-left:none;padding-top:1rem;border-top:1px solid var(--border)}
  .about-stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2n){border-right:none}.stat:not(:nth-last-child(-n+1)):not(:nth-last-child(-n+2)){border-bottom:1px solid var(--border)}
  .credentials{flex-wrap:wrap;gap:1rem;justify-content:center}.credential-sep{display:none}
  .contact-layout{grid-template-columns:1fr;gap:2.5rem}.form-row{grid-template-columns:1fr}
  .vet-strip{flex-wrap:wrap;padding:0.8rem 1.5rem;gap:0.6rem;justify-content:center}
  footer{flex-direction:column;gap:0.8rem;text-align:center;padding:1.5rem}.parallax-divider{height:220px}
}
@media(max-width:520px){.hero h1{font-size:3rem}.cat-tile{min-height:200px}.parallax-divider{height:180px}}

/* STUDIO INTRO */
.studio-intro{padding:3rem 4rem;background:var(--void);border-top:1px solid var(--border)}
.studio-intro-inner{max-width:960px;margin:0 auto}
.studio-intro-inner p{font-size:1.37rem;color:var(--light);line-height:1.3}

/* STATS SECTION (below demo reel) */
.stats-section{padding:2.5rem 4rem;background:var(--void);border-bottom:1px solid var(--border)}
.stats-inner{max-width:1200px;margin:0 auto}
.stats-inner .about-stats{margin-bottom:0}

@media(max-width:1100px){.studio-intro,.stats-section{padding-left:2.5rem;padding-right:2.5rem}}
@media(max-width:860px){.studio-intro,.stats-section{padding-left:1.5rem;padding-right:1.5rem}}


/* ── LIGHTBOX OVERLAY ── */
.lightbox-overlay{
  position:fixed;inset:0;
  background:rgba(3,3,8,0.96);
  backdrop-filter:blur(16px) saturate(1.2);
  z-index:99999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity 0.45s cubic-bezier(0.16,1,0.3,1);
}
.lightbox-overlay.active{opacity:1;pointer-events:all}
.lightbox-content{
  width:92%;max-width:1140px;
  position:relative;
  transform:translateY(30px);
  transition:transform 0.45s cubic-bezier(0.16,1,0.3,1);
}
.lightbox-overlay.active .lightbox-content{transform:translateY(0)}
.lightbox-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.2rem;
}
.lightbox-title{
  font-family:var(--font-display);font-size:2.2rem;
  color:var(--pure);letter-spacing:0.04em;line-height:1;
}
.lightbox-close{
  width:48px;height:48px;flex-shrink:0;
  border:1px solid var(--border-light);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--light);background:none;
  transition:all 0.3s;margin-left:2rem;
}
.lightbox-close:hover{border-color:var(--red-bright);color:var(--red-bright);background:rgba(230,57,70,0.08)}
.lightbox-video-wrap{
  position:relative;padding-bottom:56.25%;height:0;overflow:hidden;
  border:1px solid var(--border-light);
  box-shadow:0 30px 80px rgba(0,0,0,0.8),0 0 0 1px rgba(74,108,247,0.08);
}
.lightbox-video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.lightbox-footer{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:1.2rem;
}
.lightbox-vimeo-btn{
  font-family:var(--font-mono);font-size:0.9rem;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--blue);
  display:inline-flex;align-items:center;gap:0.5rem;
  transition:color 0.3s;
}
.lightbox-vimeo-btn:hover{color:var(--blue-bright)}
.lightbox-hint{
  font-family:var(--font-mono);font-size:0.8rem;letter-spacing:0.12em;
  color:var(--muted);text-transform:uppercase;
}
@media(max-width:860px){
  .lightbox-title{font-size:1.5rem}
  .lightbox-hint{display:none}
}


/* ── ABOUT TEAM PHOTO ── */
.about-photo-wrap{
  position:relative;margin-top:3rem;overflow:hidden;
  border:1px solid var(--border);
}
.about-photo-wrap::before{
  content:'';position:absolute;inset:-1px;
  border:1px solid transparent;
  background:linear-gradient(135deg,rgba(74,108,247,0.2),transparent 40%,transparent 60%,rgba(230,57,70,0.12)) border-box;
  -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3;
}
.about-photo-img{
  width:100%;height:520px;object-fit:cover;object-position:center 25%;
  display:block;filter:brightness(0.82) contrast(1.05);
  transition:transform 0.8s cubic-bezier(0.16,1,0.3,1),filter 0.6s;
}
.about-photo-wrap:hover .about-photo-img{
  transform:scale(1.025);filter:brightness(0.9) contrast(1.05);
}
.about-photo-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    to top,
    rgba(3,3,8,0.88) 0%,
    rgba(3,3,8,0.45) 35%,
    rgba(3,3,8,0.1)  65%,
    transparent      100%
  );
  z-index:1;
}
.about-photo-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:2rem 2.5rem;z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;
}
.about-photo-caption-left{display:flex;flex-direction:column;gap:0.4rem}
.about-photo-eyebrow{
  font-family:var(--font-mono);font-size:0.8rem;letter-spacing:0.3em;
  text-transform:uppercase;color:var(--blue);
  display:flex;align-items:center;gap:0.6rem;
}
.about-photo-eyebrow::before{content:'';width:16px;height:1px;background:var(--blue-dim)}
.about-photo-caption-text{
  font-family:var(--font-heading);font-size:1.25rem;font-weight:600;
  color:var(--pure);letter-spacing:0.02em;line-height:1.3;
  text-shadow:0 2px 12px rgba(0,0,0,0.6);
}
.about-photo-caption-right{
  font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;flex-shrink:0;
}
@media(max-width:860px){
  .about-photo-img{height:380px;object-position:center 20%}
  .about-photo-caption{padding:1.5rem;flex-direction:column;align-items:flex-start;gap:0.5rem}
  .about-photo-caption-right{display:none}
  .about-photo-caption-text{font-size:1.05rem}
}
@media(max-width:520px){
  .about-photo-img{height:280px}
}


@media(max-width:600px){.marquee-track{gap:1.8rem}.clients-marquee::before,.clients-marquee::after{width:60px}}

/* About section parallax background */
.about{position:relative;overflow:hidden}
.about-bg{
  position:absolute;inset:0;
  background-image:url('/images/showcase/about-bg-1200.webp');
  background-size:cover;
  background-position:center center;
  background-attachment:fixed;
  opacity:0.65;
  pointer-events:none;
  z-index:0
}
.about-overlay{
  position:absolute;inset:0;
  background:rgba(6,6,16,0.45);
  z-index:1;
  pointer-events:none
}
.about .about-layout{position:relative;z-index:2}
@media(max-width:900px){
  .about-bg{background-attachment:scroll;opacity:0.65}
}

/* ============ 2026 revamp additions ============ */
.skip-link{position:absolute;left:-9999px;top:0;z-index:99999;background:var(--blue);color:#03030a;padding:0.7rem 1.2rem;font-family:var(--font-mono);font-size:0.85rem;letter-spacing:0.1em}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.nav-links{gap:1.6rem}
.nav-links a{font-size:0.78rem}
.nav-links li{position:relative}
.nav-links .has-sub>a{display:inline-flex;align-items:center;gap:0.35rem}
.nav-sub{position:absolute;top:calc(100% + 0.9rem);left:50%;transform:translateX(-50%) translateY(6px);min-width:280px;background:rgba(6,6,14,0.97);border:1px solid rgba(255,255,255,0.08);backdrop-filter:blur(14px);padding:0.6rem 0;list-style:none;opacity:0;visibility:hidden;transition:opacity 0.25s,transform 0.25s,visibility 0.25s;z-index:9999}
.nav-links .has-sub:hover .nav-sub,.nav-links .has-sub:focus-within .nav-sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-sub li{display:block}
.nav-sub a{display:block;padding:0.55rem 1.3rem;font-size:0.78rem;letter-spacing:0.06em;text-transform:none;font-family:var(--font-body);color:var(--body)}
.nav-sub a:hover{color:var(--pure);background:rgba(255,255,255,0.04)}
/* hero copy-first */
.hero-headline-wrap{max-width:1060px;margin:0 auto;text-align:center;padding:9rem 2rem 5rem}
.hero-headline-wrap h1{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,5.6rem);line-height:0.98;letter-spacing:0.015em;color:var(--pure);margin:0 0 1.6rem}
.hero-headline-wrap .hero-sub{margin:0 auto 2rem;max-width:760px}
.hero-cta-row{display:flex;gap:1.1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.6rem}
.hero-cta-secondary{display:inline-flex;align-items:center;gap:0.6rem;padding:1.05rem 2rem;border:1px solid rgba(255,255,255,0.22);color:var(--light);font-family:var(--font-mono);font-size:0.85rem;letter-spacing:0.14em;text-transform:uppercase;transition:border-color 0.3s,color 0.3s,background 0.3s}
.hero-cta-secondary:hover{border-color:var(--blue);color:var(--pure);background:rgba(59,130,246,0.08)}
/* reel facade */
.reel-facade{position:relative;width:100%;height:100%;cursor:pointer;border:0;padding:0;background:#000;display:block}
.reel-facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.85}
.reel-facade .reel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:rgba(3,3,8,0.72);border:1px solid rgba(255,255,255,0.35);display:flex;align-items:center;justify-content:center;transition:background 0.3s,transform 0.3s;backdrop-filter:blur(6px)}
.reel-facade:hover .reel-play,.reel-facade:focus-visible .reel-play{background:rgba(59,130,246,0.5);transform:translate(-50%,-50%) scale(1.06)}
.reel-facade .reel-hint{position:absolute;bottom:1.1rem;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.75);white-space:nowrap}
/* section shells */
.band{padding:7rem 2rem}
.band-inner{max-width:1240px;margin:0 auto}
.band-eyebrow{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--blue);margin-bottom:1.1rem}
.band-title{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.8rem);line-height:1;color:var(--pure);margin:0 0 1.2rem;letter-spacing:0.02em}
.band-sub{color:var(--body);max-width:720px;font-size:1.05rem;line-height:1.75}
/* services grid */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.2rem}
.svc-card{display:flex;flex-direction:column;gap:0.8rem;padding:2rem 1.8rem;border:1px solid rgba(255,255,255,0.09);background:rgba(255,255,255,0.02);transition:border-color 0.3s,background 0.3s,transform 0.3s}
.svc-card:hover{border-color:rgba(59,130,246,0.5);background:rgba(59,130,246,0.05);transform:translateY(-4px)}
.svc-card h3{font-family:var(--font-display);font-size:1.5rem;letter-spacing:0.04em;color:var(--pure);margin:0}
.svc-card p{color:var(--body);font-size:0.95rem;line-height:1.7;margin:0;flex:1}
.svc-card .svc-link{font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:0.5rem}
.svc-more{margin-top:2.4rem;text-align:center}
/* strategic media band */
.sm-band{background:linear-gradient(180deg,rgba(59,130,246,0.06),transparent 65%);border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06)}
.sm-cols{display:grid;grid-template-columns:1.1fr 0.9fr;gap:4rem;align-items:center}
.sm-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.sm-points li{display:flex;gap:0.9rem;color:var(--body);font-size:0.98rem;line-height:1.65;align-items:flex-start}
.sm-points li svg{flex:none;margin-top:0.25rem}
/* industries */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}
.ind-item{padding:1.6rem 1.5rem;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.015)}
.ind-item h3{font-family:var(--font-body);font-weight:700;font-size:0.98rem;color:var(--pure);margin:0 0 0.45rem}
.ind-item p{color:var(--muted);font-size:0.85rem;line-height:1.6;margin:0}
/* case studies */
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.2rem}
.cs-card{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,0.09);background:rgba(255,255,255,0.02);transition:border-color 0.3s,transform 0.3s;overflow:hidden}
.cs-card:hover{border-color:rgba(59,130,246,0.5);transform:translateY(-4px)}
.cs-card-media{position:relative;aspect-ratio:16/9;overflow:hidden}
.cs-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.cs-card-body{padding:1.7rem 1.6rem 2rem;display:flex;flex-direction:column;gap:0.7rem;flex:1}
.cs-tag{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--blue)}
.cs-card h3{font-family:var(--font-display);font-size:1.45rem;letter-spacing:0.03em;color:var(--pure);margin:0}
.cs-card p{color:var(--body);font-size:0.92rem;line-height:1.65;margin:0;flex:1}
/* contact extras */
.contact-phone a{color:var(--light);text-decoration:none}
/* reduced motion + misc */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
  .marquee-track{animation:none !important}
  .reveal{opacity:1 !important;transform:none !important}
}
@media(max-width:1100px){.svc-grid{grid-template-columns:repeat(2,1fr)}.ind-grid{grid-template-columns:repeat(2,1fr)}.cs-grid{grid-template-columns:1fr}.sm-cols{grid-template-columns:1fr;gap:2.5rem}}
@media(max-width:1200px){.nav-links{display:none}.nav-menu-btn{display:flex}}
@media(max-width:640px){.svc-grid{grid-template-columns:1fr}.ind-grid{grid-template-columns:1fr}.band{padding:4.5rem 1.4rem}.hero-headline-wrap{padding-top:7.5rem}}
.cat-tile-bg{width:100%;height:100%;object-fit:cover}img.cat-tile-bg{position:absolute;inset:0}
.hero-headline-wrap .hero-sub{font-size:1.22rem;line-height:1.65;color:var(--light)}
.hero-headline-wrap .hero-brand{font-size:clamp(1.1rem,1.6vw,1.5rem);margin-bottom:1.4rem}
.footer-center a{color:var(--muted);transition:color 0.3s}
.footer-center a:hover{color:var(--light)}

/* ============ shared page components ============ */
.page-hero{position:relative;padding:11rem 2rem 4.5rem;text-align:center;overflow:hidden}
.page-hero .band-eyebrow{margin-bottom:1.4rem}
.page-hero h1{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,5rem);line-height:0.98;letter-spacing:0.02em;color:var(--pure);margin:0 auto 1.5rem;max-width:1000px}
.page-hero .lead{color:var(--light);font-size:1.15rem;line-height:1.7;max-width:780px;margin:0 auto 2.2rem}
.breadcrumbs{max-width:1240px;margin:0 auto;padding:6.5rem 2rem 0;font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--light)}
.breadcrumbs+ .page-hero{padding-top:3rem}
.prose{max-width:820px;margin:0 auto;color:var(--body);font-size:1.02rem;line-height:1.8}
.prose h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--pure);letter-spacing:0.03em;margin:3rem 0 1.1rem;line-height:1.05}
.prose h3{font-family:var(--font-body);font-weight:700;font-size:1.12rem;color:var(--pure);margin:2.2rem 0 0.7rem}
.prose p{margin:0 0 1.2rem}
.prose ul{margin:0 0 1.4rem;padding-left:1.3rem}
.prose li{margin-bottom:0.55rem}
.prose a{color:var(--blue);text-decoration:none;border-bottom:1px solid rgba(74,108,247,0.45)}
.prose a:hover{border-bottom-color:var(--blue)}
.prose strong{color:var(--light)}
.checklist{list-style:none;padding:0;margin:0 0 1.4rem;display:flex;flex-direction:column;gap:0.7rem}
.checklist li{display:flex;gap:0.8rem;align-items:flex-start;padding-left:0}
.checklist li::before{content:'';flex:none;width:15px;height:15px;margin-top:0.35rem;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a6cf7' stroke-width='2.5'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
/* process steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin:3rem 0 0;counter-reset:step}
.step{position:relative;padding:1.9rem 1.7rem;border:1px solid rgba(255,255,255,0.09);background:rgba(255,255,255,0.02)}
.step .step-num{font-family:var(--font-display);font-size:2.2rem;color:var(--blue);line-height:1;margin-bottom:0.7rem}
.step h3{font-family:var(--font-body);font-weight:700;font-size:1.02rem;color:var(--pure);margin:0 0 0.5rem}
.step p{color:var(--body);font-size:0.92rem;line-height:1.65;margin:0}
@media(max-width:900px){.steps{grid-template-columns:1fr}}
/* FAQ accordions */
.faq-list{max-width:820px;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:0.8rem}
.faq-item{border:1px solid rgba(255,255,255,0.09);background:rgba(255,255,255,0.02)}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;font-family:var(--font-body);font-weight:700;font-size:0.98rem;color:var(--pure)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:var(--font-mono);color:var(--blue);font-size:1.2rem;flex:none}
.faq-item[open] summary::after{content:'\2212'}
.faq-item .faq-body{padding:0 1.4rem 1.3rem;color:var(--body);font-size:0.95rem;line-height:1.7}
/* CTA band */
.cta-band{text-align:center;padding:6.5rem 2rem;border-top:1px solid rgba(255,255,255,0.06)}
.cta-band h2{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.6rem);color:var(--pure);letter-spacing:0.03em;line-height:1;margin:0 0 1.1rem}
.cta-band p{color:var(--body);max-width:640px;margin:0 auto 2.2rem;line-height:1.7}
/* two-col feature rows */
.feature-rows{display:flex;flex-direction:column;gap:1.2rem;margin-top:3rem}
.feature-row{display:grid;grid-template-columns:260px 1fr;gap:2rem;padding:1.8rem;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.015)}
.feature-row h3{font-family:var(--font-display);font-size:1.4rem;letter-spacing:0.04em;color:var(--pure);margin:0}
.feature-row p{color:var(--body);font-size:0.95rem;line-height:1.7;margin:0}
.feature-row .tags{margin-top:0.7rem;display:flex;flex-wrap:wrap;gap:0.45rem}
.feature-row .tags span{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--blue);border:1px solid rgba(74,108,247,0.35);padding:0.25rem 0.6rem}
@media(max-width:800px){.feature-row{grid-template-columns:1fr;gap:0.8rem}}
/* case study article */
.cs-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:1000px;margin:3rem auto 0}
.cs-meta div{border:1px solid rgba(255,255,255,0.08);padding:1.2rem 1.3rem}
.cs-meta dt{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--blue);margin-bottom:0.4rem}
.cs-meta dd{margin:0;color:var(--light);font-size:0.95rem;line-height:1.5}
@media(max-width:900px){.cs-meta{grid-template-columns:repeat(2,1fr)}}
.todo-note{border:1px dashed rgba(230,57,70,0.5);background:rgba(230,57,70,0.06);color:var(--light);padding:1rem 1.3rem;font-size:0.88rem;line-height:1.6;margin:1.5rem 0}
