/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cyan:#00A3E0;--cyan2:#0090c5;--green:#7ab800;
  --dark:#1a1a1a;--charcoal:#252525;--grey:#5a5a5a;--lgrey:#9a9a9a;
  --border:#e2e6ea;--off:#f5f6f8;--white:#fff;
  --sans:'Nunito',sans-serif;--disp:'Raleway',sans-serif;
}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{font-family:var(--sans);color:var(--dark);background:var(--white);overflow-x:hidden;max-width:100%;cursor:none;position:relative}

/* CURSOR */
#curDot{position:fixed;width:8px;height:8px;border-radius:50%;background:var(--cyan);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s}
#curRing{position:fixed;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--cyan);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .25s,border-color .25s;opacity:.7}
#curCanvas{position:fixed;inset:0;pointer-events:none;z-index:9997}
body.cHover #curRing{width:56px;height:56px;background:rgba(0,163,224,.1)}
body.cClick #curRing{width:20px;height:20px}
@media(max-width:768px){#curDot,#curRing,#curCanvas{display:none}body{cursor:auto}}

/* SCROLL BAR */
#spBar{position:fixed;top:0;left:0;height:3px;width:0;z-index:10000;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .08s linear}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:600;display:flex;align-items:center;justify-content:space-between;padding:1rem 5%;transition:background .4s,padding .35s,box-shadow .4s}
#nav.solid{background:rgba(255,255,255,.97);backdrop-filter:blur(14px);padding:.65rem 5%;box-shadow:0 1px 0 var(--border)}
.nav-logo img{height:34px;display:block;transition:opacity .2s,transform .25s}
/* white version (designs.net white) shows on dark nav */
.nav-logo .logo-dark{display:none}
.nav-logo .logo-white{display:block}
/* dark version (designs.net dark) shows when nav is solid white */
#nav.solid .nav-logo .logo-dark{display:block}
#nav.solid .nav-logo .logo-white{display:none}
.nav-logo:hover img{opacity:.85;transform:scale(1.04)}
.nav-logo:hover img{opacity:.85;transform:scale(1.04)}
.nav-links{display:flex;gap:2.6rem;list-style:none;align-items:center}
.nav-links a{font-family:var(--disp);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.85);transition:color .25s,transform .25s;position:relative;display:inline-flex;align-items:center;gap:.45rem;padding:.2rem 0}
.nav-links a::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--cyan);opacity:0;transform:scale(.3);transition:opacity .25s,transform .25s}
#nav.solid .nav-links a{color:var(--grey)}
.nav-links a::after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:1.5px;background:linear-gradient(90deg,var(--cyan),var(--green));transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.nav-links a:hover,.nav-links a.active{color:var(--cyan)!important;transform:translateY(-1px)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-links a:hover::before,.nav-links a.active::before{opacity:1;transform:scale(1)}
.nav-cta{font-family:var(--disp);font-size:.66rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--white)!important;text-decoration:none;padding:.56rem 1.5rem;background:transparent;border:1.5px solid rgba(0,163,224,.6);border-radius:100px;backdrop-filter:blur(8px);position:relative;overflow:hidden;transition:border-color .3s,transform .2s,box-shadow .3s;display:inline-flex;align-items:center;gap:.5rem}
.nav-cta::before{content:'';position:absolute;inset:0;border-radius:100px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.25,.46,.45,.94)}
.nav-cta:hover::before{transform:scaleX(1)}
.nav-cta span{position:relative;z-index:1}
.nav-cta:hover{border-color:var(--cyan);transform:translateY(-1px);box-shadow:0 0 20px rgba(0,163,224,.35)}
#nav.solid .nav-cta{background:var(--cyan);border-color:var(--cyan)}

/* ── MOBILE NAV: hamburger + creative full-screen menu ── */
.nav-mobile-actions{display:none;align-items:center;gap:.8rem}
.nav-cta-mobile{display:none}
.nav-cta-desktop{display:inline-flex}

/* Hamburger button — glowing ring + morphing lines */
.hamburger{display:none;position:relative;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:rgba(255,255,255,.06);border:1.5px solid rgba(0,163,224,.35);border-radius:50%;cursor:pointer;padding:0;align-items:center;transition:background .3s,border-color .3s,transform .3s;overflow:visible}
.hamburger::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(0,163,224,.5);opacity:0;transform:scale(.75);transition:opacity .4s,transform .4s}
.hamburger:active{transform:scale(.92)}
.hamburger.open{border-color:var(--cyan);background:rgba(0,163,224,.12)}
.hamburger.open::before{opacity:1;transform:scale(1);animation:hbPulse 2s ease-in-out infinite}
@keyframes hbPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,163,224,.35)}50%{box-shadow:0 0 0 5px rgba(0,163,224,0)}}
#nav.solid .hamburger{background:rgba(0,0,0,.04);border-color:rgba(0,163,224,.3)}
.hamburger-line{display:block;width:17px;height:2px;background:#fff;border-radius:1px;transition:transform .35s cubic-bezier(.65,0,.35,1),opacity .25s,background .3s,width .3s}
#nav.solid .hamburger-line{background:var(--dark)}
.hamburger.open .hamburger-line{background:var(--cyan)}
#nav.solid .hamburger.open .hamburger-line{background:var(--cyan)}
.hamburger.open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg);width:17px}
.hamburger.open .hamburger-line:nth-child(2){opacity:0;width:0}
.hamburger.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg);width:17px}

/* Full-screen creative menu */
.mobileMenu{position:fixed;top:0;right:0;width:100%;height:100vh;max-width:480px;background:
    radial-gradient(circle at 85% -10%,rgba(0,163,224,.16),transparent 55%),
    radial-gradient(circle at -10% 110%,rgba(122,184,0,.12),transparent 50%),
    #0a0a0c;
  z-index:950;display:flex;flex-direction:column;padding:6rem 2.2rem 2rem;
  transform:translateX(100%);transition:transform .55s cubic-bezier(.16,1,.3,1);
  box-shadow:-20px 0 60px rgba(0,0,0,.5);overflow:hidden}
.mobileMenu::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--cyan),var(--green),var(--cyan));background-size:100% 200%;animation:mmBarFlow 4s linear infinite}
@keyframes mmBarFlow{to{background-position:0 200%}}
.mobileMenu.open{transform:translateX(0)}

/* Decorative rotating ring + grid texture */
.mobileMenu-deco{position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;border:1px dashed rgba(0,163,224,.18);pointer-events:none;animation:mmRingSpin 30s linear infinite}
.mobileMenu-deco::after{content:'';position:absolute;inset:30px;border-radius:50%;border:1px solid rgba(122,184,0,.12)}
@keyframes mmRingSpin{to{transform:rotate(360deg)}}

.mobileMenu-tag{font-family:var(--disp);font-size:.6rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);opacity:0;display:flex;align-items:center;gap:.6rem;margin-bottom:2rem;transform:translateY(10px);transition:opacity .5s,transform .5s}
.mobileMenu-tag span{display:block;width:24px;height:1px;background:var(--cyan)}
.mobileMenu.open .mobileMenu-tag{opacity:1;transform:none;transition-delay:.15s}

.mobileMenu-links{display:flex;flex-direction:column;gap:0;margin-bottom:2.2rem;position:relative;z-index:1}
.mobileMenu-links a{font-family:var(--disp);font-size:1.7rem;font-weight:200;letter-spacing:-.01em;color:rgba(255,255,255,.92);text-decoration:none;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.06);transition:color .3s,transform .3s,padding-left .3s;display:flex;align-items:baseline;gap:.9rem;opacity:0;transform:translateX(24px);}
.mobileMenu.open .mobileMenu-links a{opacity:1;transform:none;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),color .25s,padding-left .25s}
.mobileMenu.open .mobileMenu-links a:nth-child(1){transition-delay:.20s}
.mobileMenu.open .mobileMenu-links a:nth-child(2){transition-delay:.27s}
.mobileMenu.open .mobileMenu-links a:nth-child(3){transition-delay:.34s}
.mobileMenu.open .mobileMenu-links a:nth-child(4){transition-delay:.41s}
.mobileMenu.open .mobileMenu-links a:nth-child(5){transition-delay:.48s}
.mobileMenu-links a .mm-num{font-size:.62rem;font-weight:700;color:rgba(0,163,224,.55);letter-spacing:.05em}
.mobileMenu-links a:hover,.mobileMenu-links a:active{color:var(--cyan);padding-left:.5rem}
.mobileMenu-links a:hover em,.mobileMenu-links a:active em{transform:translateX(3px)}
.mobileMenu-links a em{font-style:italic;font-weight:300;transition:transform .25s;display:inline-block}

.mobileMenu-cta{font-family:var(--disp);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-decoration:none;text-align:center;padding:1rem 1.4rem;background:linear-gradient(120deg,var(--cyan),var(--green));border-radius:100px;box-shadow:0 8px 26px rgba(0,163,224,.4);position:relative;overflow:hidden;opacity:0;transform:translateY(14px);transition:transform .25s,box-shadow .25s}
.mobileMenu.open .mobileMenu-cta{opacity:1;transform:none;transition:opacity .5s cubic-bezier(.16,1,.3,1) .56s,transform .5s cubic-bezier(.16,1,.3,1) .56s,box-shadow .25s}
.mobileMenu-cta::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:mmShine 3.2s ease-in-out infinite}
@keyframes mmShine{0%{left:-60%}100%{left:140%}}
.mobileMenu-cta:active{transform:translateY(0) scale(.98)}
.mobileMenu-foot{margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:.55rem;opacity:0;transition:opacity .5s;position:relative;z-index:1}
.mobileMenu.open .mobileMenu-foot{opacity:1;transition-delay:.65s}
.mobileMenu-foot a{font-size:.78rem;color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:.5rem}
.mobileMenu-foot a:hover{color:var(--cyan)}
.mobileMenu-social{display:flex;gap:.7rem;margin-top:.6rem}
.mobileMenu-social a{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:border-color .25s,color .25s,transform .25s}
.mobileMenu-social a:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}
.mobileMenu-close{position:absolute;top:1.6rem;right:1.6rem;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .25s,color .25s,transform .3s,background .25s;z-index:2}
.mobileMenu-close:hover{border-color:var(--cyan);color:var(--cyan);transform:rotate(90deg);background:rgba(0,163,224,.1)}

.mobileMenu-backdrop{position:fixed;inset:0;background:rgba(2,4,8,.6);backdrop-filter:blur(4px);z-index:940;opacity:0;pointer-events:none;transition:opacity .4s}
.mobileMenu-backdrop.open{opacity:1;pointer-events:all}

/* HERO */
.hero{position:relative;height:100vh;overflow:hidden;background:#040810}
.hSlide{position:absolute;inset:0;opacity:0;transition:opacity 1.5s ease}
.hSlide.on{opacity:1}
.hSlideBg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.1);transition:transform 9s ease}
.hSlide.on .hSlideBg{transform:scale(1)}
.hs0 .hSlideBg{background-image:linear-gradient(160deg,rgba(2,6,18,.85),rgba(0,163,224,.06)),url('https://images.unsplash.com/photo-1561070791-2526d30994b5?w=1920&q=85')}
.hs1 .hSlideBg{background-image:linear-gradient(160deg,rgba(2,6,18,.86),rgba(0,0,0,.22)),url('https://images.unsplash.com/photo-1626785774573-4b799315345d?w=1920&q=85')}
.hs2 .hSlideBg{background-image:linear-gradient(160deg,rgba(2,6,18,.85),rgba(0,0,0,.2)),url('https://images.unsplash.com/photo-1518770660439-4636190af475?w=1920&q=85')}
.hs3 .hSlideBg{background-image:linear-gradient(160deg,rgba(2,6,18,.86),rgba(0,0,0,.24)),url('https://images.unsplash.com/photo-1581291518633-83b4ebd1d83e?w=1920&q=85')}
#heroCanvas{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:5px;z-index:3;background:linear-gradient(90deg,var(--cyan),var(--green),var(--cyan));background-size:200%;animation:barShift 4s linear infinite}
@keyframes barShift{to{background-position:200% 0}}
.hero-body{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:0 5%;padding-top:5rem;max-width:860px}
.hero-text-slide{opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.hero-text-slide.on{opacity:1;pointer-events:auto}
.h-eyebrow{display:flex;align-items:center;gap:.8rem;margin-bottom:1.8rem;font-family:var(--disp);font-size:.64rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--cyan);opacity:0;animation:fadeUp .9s .3s forwards}
.h-eyebrow span{display:block;width:36px;height:1px;background:var(--cyan)}
.h-h1{font-family:var(--disp);font-weight:200;font-size:clamp(3rem,6.5vw,6.8rem);color:var(--white);line-height:1.03;letter-spacing:-.02em;overflow:hidden;margin-bottom:1.8rem}
.h-h1 .w{display:inline-block;transform:translateY(110%);animation:wordUp .85s cubic-bezier(.16,1,.3,1) forwards}
.h-h1 .w:nth-child(1){animation-delay:.4s}.h-h1 .w:nth-child(2){animation-delay:.52s}.h-h1 .w:nth-child(3){animation-delay:.64s}.h-h1 .w:nth-child(4){animation-delay:.76s}
.h-h1 em{font-style:italic;font-weight:300}.h-h1 strong{font-weight:800;color:var(--cyan)}
@keyframes wordUp{to{transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.h-sub{font-size:.95rem;font-weight:300;color:rgba(255,255,255,.6);line-height:1.9;max-width:460px;margin-bottom:3rem;opacity:0;animation:fadeUp .9s .88s forwards}
.h-btns{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .9s 1s forwards}
.hBtn{font-family:var(--disp);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.9rem 2.3rem;position:relative;overflow:hidden;display:inline-block;transition:transform .2s}
.hBtn:hover{transform:translateY(-2px)}
.hBtn-fill{background:var(--cyan);color:var(--white)}
.hBtn-fill::before{content:'';position:absolute;inset:0;background:var(--cyan2);transform:translateX(-101%);transition:transform .35s cubic-bezier(.25,.46,.45,.94)}
.hBtn-fill:hover::before{transform:translateX(0)}
.hBtn-fill span{position:relative;z-index:1}
.hBtn-out{color:var(--white);border:1px solid rgba(255,255,255,.35)}
.hBtn-out:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,163,224,.08)}
.hero-dots{position:absolute;bottom:2.5rem;left:5%;z-index:3;display:flex;gap:.6rem}
.hdot{width:18px;height:3px;border-radius:2px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .3s,background .3s}
.hdot.on{width:40px;background:var(--cyan)}
.hero-scrl{position:absolute;bottom:2rem;right:5%;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.hero-scrl-line{width:1px;height:52px;background:linear-gradient(var(--cyan),transparent);animation:scrlPulse 2.2s ease-in-out infinite}
.hero-scrl span{font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35);writing-mode:vertical-rl}
@keyframes scrlPulse{0%,100%{opacity:.3;transform:scaleY(.5);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}

/* TICKER */
.ticker{overflow:hidden;background:var(--charcoal);border-bottom:3px solid var(--green);padding:.65rem 0}
.ticker-track{display:flex;animation:tickRoll 38s linear infinite;white-space:nowrap}
.ticker-track:hover{animation-play-state:paused}
@keyframes tickRoll{to{transform:translateX(-50%)}}
.tick{display:inline-flex;align-items:center;gap:1.2rem;padding:0 2rem;font-family:var(--disp);font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.tick em{color:var(--cyan);font-style:normal;font-size:.8rem}

/* SHARED */
.sec{padding:7rem 5%}
.si{max-width:1200px;margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:.8rem;font-family:var(--disp);font-size:.62rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--cyan)}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--cyan)}
.sh2{font-family:var(--disp);font-size:clamp(2rem,3.2vw,2.9rem);font-weight:700;line-height:1.12;color:var(--dark);letter-spacing:-.01em}
.sh2 em{font-style:italic;font-weight:300;color:var(--cyan)}
.rv{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.rv.vis{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.4s}

/* ABOUT */
.about{background:var(--white)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-text{font-size:.9rem;color:var(--grey);line-height:1.9;margin-top:1rem}
.about-text p+p{margin-top:.9rem}
.adv-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.adv-row{display:flex;align-items:flex-start;gap:.8rem;font-size:.84rem;color:var(--grey);line-height:1.6}
.adv-row::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--cyan);flex-shrink:0;margin-top:.48rem}
.about-card{position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end}
.about-card-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1600508774634-4e11d34730e2?w=900&q=80') center/cover no-repeat;transition:transform .6s ease}
.about-card:hover .about-card-bg{transform:scale(1.04)}
.about-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(4,8,20,.97) 0%,rgba(4,8,20,.55) 50%,rgba(4,8,20,.25) 100%)}
.about-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cyan),var(--green));z-index:3}
.about-card-content{position:relative;z-index:2;padding:2.5rem}
/* Brand reveal */
.brand-reveal{position:relative;height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:1.8rem;overflow:hidden}
.br-ring{position:absolute;border-radius:50%;border:1px solid rgba(0,163,224,.2)}
.br-ring1{width:140px;height:140px;animation:ringSpin 20s linear infinite}
.br-ring2{width:200px;height:200px;border-style:dashed;border-color:rgba(0,163,224,.1);animation:ringSpin 30s linear infinite reverse}
.br-ring3{width:260px;height:260px;border-color:rgba(122,184,0,.08);animation:ringSpin 40s linear infinite}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.brand-logo-img{height:100px;width:auto;position:relative;z-index:2;filter:drop-shadow(0 0 20px rgba(0,163,224,.5));animation:logoFloat 4s ease-in-out infinite}
@keyframes logoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.03)}}
.astats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ast{text-align:center;padding:1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.ast-n{font-family:var(--disp);font-size:2.4rem;font-weight:800;color:var(--cyan);line-height:1}
.ast-l{font-size:.56rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:.25rem}
.about-tagline{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.07);font-family:var(--disp);font-style:italic;font-weight:300;font-size:.88rem;color:rgba(255,255,255,.4);line-height:1.8;text-align:center}
.bp{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--cyan);opacity:0;animation:bpFloat 6s linear infinite;pointer-events:none}
@keyframes bpFloat{0%{opacity:0;transform:translateY(20px) scale(.5)}15%{opacity:.7}85%{opacity:.5}100%{opacity:0;transform:translateY(-100px) scale(1.2)}}

/* PARALLAX */
.parWrap{position:relative;overflow:hidden;height:75vh;display:flex;align-items:center;justify-content:center}
.parBg{position:absolute;inset:-65%;background-size:cover;background-position:center;will-change:transform}
.parOv{position:absolute;inset:0;background:rgba(5,10,18,.68)}
.parBody{position:relative;z-index:1;text-align:center;padding:2rem;max-width:780px}
.parBody::before{content:'';display:block;width:44px;height:3px;background:linear-gradient(90deg,var(--cyan),var(--green));margin:0 auto 1.6rem}
.parBody h2{font-family:var(--disp);font-size:clamp(2.2rem,4.5vw,4.5rem);font-weight:200;color:var(--white);line-height:1.1;letter-spacing:-.02em}
.parBody h2 strong{font-weight:800;color:var(--cyan)}
.parBody p{font-size:.9rem;color:rgba(255,255,255,.5);margin-top:1.2rem;line-height:1.85}
.par2{position:relative;overflow:hidden;min-height:45vh;display:flex;align-items:center}
.par2Bg{position:absolute;inset:-65%;background:#080c14 url('https://images.unsplash.com/photo-1561070791-2526d30994b5?w=1800&q=85') center/cover no-repeat;will-change:transform}
.par2Ov{position:absolute;inset:0;background:rgba(5,8,16,.88)}
.par2Inner{position:relative;z-index:1;width:100%;padding:5rem 5%}
.statsRow{max-width:1200px;margin:0 auto;display:flex;gap:4rem;justify-content:center;flex-wrap:wrap}
.pStat{text-align:center}
.pStat-n{font-family:var(--disp);font-size:4.5rem;font-weight:800;color:var(--white);line-height:1}
.pStat-n em{color:var(--cyan);font-style:normal}
.pStat-l{font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-top:.5rem}

/* SERVICES */
.services{background:var(--off)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:3rem;border:1px solid var(--border)}
.svc{background:var(--white);padding:2.8rem 2.2rem;position:relative;overflow:hidden;cursor:default}
.svc::before{content:'';position:absolute;inset:0;background:var(--dark);clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%);transition:clip-path .48s cubic-bezier(.25,.46,.45,.94);z-index:0}
.svc:hover::before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.svc>*{position:relative;z-index:1}
.svc-icon{width:52px;height:52px;margin-bottom:1.2rem;display:block;color:var(--cyan);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.svc:hover .svc-icon{transform:scale(1.15) rotate(-5deg)}
.svc-bar{width:28px;height:2px;background:var(--cyan);margin-bottom:1rem}
.svc-name{font-family:var(--disp);font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:.65rem;transition:color .3s}
.svc-desc{font-size:.8rem;color:var(--grey);line-height:1.82;transition:color .3s}
.svc:hover .svc-name,.svc:hover .svc-desc{color:var(--white)}

/* CLIENT SLIDER */
.work{background:var(--dark);padding:7rem 0;position:relative}
.work-head{max-width:1200px;margin:0 auto;padding:0 5% 3rem;display:flex;align-items:flex-end;justify-content:space-between}
.work-head .sh2{color:var(--white);margin-bottom:0}
.work-hint{font-family:var(--disp);font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.3)}
/* Overlay arrow buttons ON the slider */
/* Bottom creative slider control — arrows flank the gradient progress line */
.sliderCtrl{max-width:1200px;margin:2.4rem auto 0;padding:0 5%;display:flex;align-items:center;gap:1.1rem}
.sBar{flex:1;position:relative;height:4px;background:rgba(255,255,255,.1);border-radius:4px;overflow:visible}
.sFill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .72s cubic-bezier(.25,.46,.45,.94);border-radius:4px}
.sThumb{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--white);box-shadow:0 0 0 4px rgba(0,163,224,.25),0 2px 8px rgba(0,0,0,.4);transform:translate(-50%,-50%);transition:left .72s cubic-bezier(.25,.46,.45,.94);left:0}
.wNavArr{flex-shrink:0;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.05);border:1.5px solid rgba(0,163,224,.4);color:rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,border-color .25s,transform .2s,color .25s}
.wNavArr:hover{background:var(--cyan);border-color:var(--cyan);color:var(--white);transform:scale(1.1)}
.wNavArr:active{transform:scale(.95)}
.sliderOuter{overflow:hidden;position:relative}
.sliderOuter::before,.sliderOuter::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.sliderOuter::before{left:0;background:linear-gradient(to right,var(--dark),transparent)}
.sliderOuter::after{right:0;background:linear-gradient(to left,var(--dark),transparent)}
.sliderTrack{display:flex;transition:transform .72s cubic-bezier(.25,.46,.45,.94);padding:0 5%;gap:1.4rem;will-change:transform}
.wCard{flex:0 0 320px;height:390px;position:relative;overflow:hidden;background:#1e1e1e;border:1px solid rgba(255,255,255,.06);transition:border-color .3s,transform .35s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer}
.wCard:hover{border-color:rgba(0,163,224,.5);transform:translateY(-6px)}
.wCard-img{flex:1;position:relative;overflow:hidden}
.wCard-bg{position:absolute;inset:0;background-size:cover;background-position:top;transition:transform .65s ease}
.wCard:hover .wCard-bg{transform:scale(1.07)}
.wCard-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,16,22,.97) 0%,rgba(14,16,22,.15) 55%,transparent 100%);z-index:1}
.wCard-logo{position:absolute;top:.8rem;left:.8rem;z-index:2;max-width:120px;max-height:42px;object-fit:contain;opacity:.88;transition:opacity .3s;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5)) brightness(0) invert(1)}
.wCard:hover .wCard-logo{opacity:1}
.wCard-logo-color{position:absolute;top:.8rem;left:.8rem;z-index:2;max-width:130px;max-height:46px;object-fit:contain;opacity:.88;transition:opacity .3s,transform .3s;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5)) brightness(0) invert(1)}
.wCard:hover .wCard-logo-color{opacity:1;transform:translateY(-1px)}
.wCard-logoTxt{position:absolute;top:.8rem;left:.8rem;z-index:2;font-family:var(--disp);font-weight:800;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);line-height:1.4;max-width:130px;background:rgba(0,0,0,.4);padding:.3rem .5rem;border-radius:2px}
.wCard-visit{position:absolute;top:.8rem;right:.8rem;z-index:2;font-family:var(--disp);font-size:.57rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--cyan);padding:.28rem .72rem;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);opacity:0;transform:translateY(-5px);transition:opacity .3s,transform .3s;pointer-events:none}
.wCard:hover .wCard-visit{opacity:1;transform:translateY(0)}
.wCard-info{padding:1.1rem 1.4rem 1.3rem;position:relative;z-index:2}
.wCard-name{font-size:.9rem;font-weight:800;color:var(--white);display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}
.wCard-dot{width:5px;height:5px;border-radius:50%;background:var(--cyan);flex-shrink:0}
.wCard-type{font-size:.7rem;color:rgba(255,255,255,.32);letter-spacing:.05em}
/* Progress bar only (no counter) */
.sliderCtrl{max-width:1200px;margin:2rem auto 0;padding:0 5%}
.sBar{height:2px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.sFill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .72s ease;border-radius:2px}

/* PORTFOLIO */
.portfolio{background:var(--white);padding:7rem 5%}
.pInner{max-width:1200px;margin:0 auto}
.pTabs{display:flex;gap:0;margin-top:2.5rem;border-bottom:2px solid var(--border)}
.pTab{font-family:var(--disp);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;background:none;border:none;cursor:pointer;padding:.75rem 1.7rem;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--lgrey);transition:color .2s,border-color .2s}
.pTab:hover,.pTab.on{color:var(--cyan);border-bottom-color:var(--cyan)}
/* Logo grid slider */
.logoSliderWrap{position:relative;overflow:hidden;margin-top:2rem;border:1px solid var(--border)}
.logoSliderWrap::before,.logoSliderWrap::after{content:'';position:absolute;top:0;bottom:0;width:50px;z-index:2;pointer-events:none}
.logoSliderWrap::before{left:0;background:linear-gradient(to right,var(--white),transparent)}
.logoSliderWrap::after{right:0;background:linear-gradient(to left,var(--white),transparent)}
.logoTrack{display:flex;transition:transform .6s cubic-bezier(.25,.46,.45,.94);gap:1px;background:var(--border)}
.logoCell{flex:0 0 20%;background:var(--white);aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:1.2rem;cursor:pointer;position:relative;overflow:hidden;transition:background .25s,transform .2s}
.logoCell:hover{background:var(--off);transform:scale(.97)}
.logoCell::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.logoCell:hover::after{transform:scaleX(1)}
.logoCell img{max-width:78%;max-height:58px;object-fit:contain;transition:transform .35s}
.logoCell:hover img{transform:scale(1.08)}
.logoCell-zoom{position:absolute;top:.4rem;right:.4rem;width:20px;height:20px;background:var(--cyan);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.55rem;color:white;opacity:0;transform:scale(.5);transition:opacity .2s,transform .2s}
.logoCell:hover .logoCell-zoom{opacity:1;transform:scale(1)}
.logoSliderNav{display:flex;align-items:center;gap:1rem;margin-top:1.2rem;justify-content:center}
.lsArr{width:38px;height:38px;border:1px solid var(--border);background:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--dark);border-radius:50%;transition:background .2s,border-color .2s,color .2s}
.lsArr:hover{background:var(--cyan);border-color:var(--cyan);color:var(--white)}
.ls-progress{flex:1;max-width:200px;height:2px;background:var(--border);border-radius:2px;overflow:hidden}
.ls-progress-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .5s ease;border-radius:2px;width:5%}
/* Design grids */
.designGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.designCard{background:var(--off);border:1px solid var(--border);overflow:hidden;transition:box-shadow .3s,transform .3s;cursor:pointer}
.designCard:hover{box-shadow:0 12px 36px rgba(0,163,224,.12);transform:translateY(-3px)}
.designCard-thumb{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.designCard-zoom{position:absolute;top:.6rem;right:.6rem;width:26px;height:26px;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;opacity:0;transform:scale(.6);transition:opacity .25s,transform .25s}
.designCard:hover .designCard-zoom{opacity:1;transform:scale(1)}
.designCard-label{padding:.75rem 1rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.designCard-name{font-size:.76rem;font-weight:700;color:var(--dark)}
.designCard-type{font-size:.62rem;color:var(--lgrey)}
.add-ph{display:flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--border);font-size:.72rem;text-align:center}
.add-ph span{font-size:2rem;color:var(--border)}

/* PROCESS */
.process{background:var(--dark);padding:7rem 5%;position:relative;overflow:hidden}
.proc-inner{max-width:1200px;margin:0 auto}
.process .sh2{color:var(--white)}
.proc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:4rem;position:relative}
.proc-steps::before{content:'';position:absolute;top:43px;left:12.5%;right:12.5%;height:1px;background:linear-gradient(90deg,var(--cyan),rgba(0,163,224,.1));z-index:0}
.pStep{position:relative;z-index:1;padding:0 1.5rem;text-align:center;cursor:default}
.pStep-orb{width:86px;height:86px;border-radius:50%;margin:0 auto 2rem;background:rgba(0,163,224,.08);border:1px solid rgba(0,163,224,.3);display:flex;align-items:center;justify-content:center;position:relative;transition:background .4s,border-color .4s,transform .35s}
.pStep:hover .pStep-orb{background:var(--cyan);border-color:var(--cyan);transform:scale(1.1)}
.pStep-orb::before{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(0,163,224,.2);opacity:0;transform:scale(.9);transition:opacity .4s,transform .4s}
.pStep:hover .pStep-orb::before{opacity:1;transform:scale(1)}
.pStep-orb::after{content:'';position:absolute;inset:-18px;border-radius:50%;border:1px solid rgba(0,163,224,.1);opacity:0;transform:scale(.8);transition:opacity .4s .06s,transform .4s .06s}
.pStep:hover .pStep-orb::after{opacity:1;transform:scale(1)}
.pStep-num{font-family:var(--disp);font-size:1.6rem;font-weight:800;color:var(--cyan);transition:color .3s;line-height:1}
.pStep:hover .pStep-num{color:var(--white)}
.pStep-name{font-family:var(--disp);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:.7rem;transition:color .3s}
.pStep:hover .pStep-name{color:var(--cyan)}
.pStep-desc{font-size:.78rem;color:rgba(255,255,255,.38);line-height:1.8;transition:color .3s}
.pStep:hover .pStep-desc{color:rgba(255,255,255,.65)}

/* TESTIMONIALS */
.testimonials{background:var(--off);padding:7rem 5%}
.tSliderWrap{position:relative;overflow:hidden;margin-top:3rem}
.tTrack{display:flex;transition:transform .65s cubic-bezier(.25,.46,.45,.94)}
.tCard{flex:0 0 calc(33.333% - 1rem);margin:0 .5rem;padding:2.5rem 2.2rem;background:var(--white);border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.tCard:hover{border-color:var(--cyan);box-shadow:0 8px 36px rgba(0,163,224,.1)}
.tCard::before{content:'"';font-family:var(--disp);font-size:7rem;font-weight:900;color:rgba(0,163,224,.1);position:absolute;top:-1.2rem;left:.8rem;line-height:1;pointer-events:none}
.tCard-stars{color:var(--cyan);font-size:.8rem;letter-spacing:.1em;margin-bottom:1rem}
.tCard-q{font-family:var(--disp);font-style:italic;font-weight:300;font-size:.9rem;color:var(--dark);line-height:1.78;margin-bottom:1.5rem}
.tCard-bar{width:22px;height:2px;background:var(--cyan);margin-bottom:.9rem}
.tCard-name{font-size:.75rem;font-weight:800;letter-spacing:.06em;color:var(--dark)}
.tCard-co{font-size:.68rem;color:var(--cyan);margin-top:.15rem}
.tNav{display:flex;align-items:center;gap:1.2rem;margin-top:2rem;justify-content:center}
.tNav-arr{width:40px;height:40px;border:1px solid var(--border);background:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--dark);border-radius:50%;transition:background .2s,border-color .2s,color .2s}
.tNav-arr:hover{background:var(--cyan);border-color:var(--cyan);color:var(--white)}
.tNav-dots{display:flex;gap:.5rem}
.tDot{width:7px;height:7px;border-radius:50%;background:var(--border);cursor:pointer;transition:background .2s,transform .2s}
.tDot.on{background:var(--cyan);transform:scale(1.3)}

/* AI CONTACT FORM */
.contact{background:var(--dark);padding:7rem 5%}
.contact-inner{max-width:1100px;margin:0 auto}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}
.contact .sh2{color:var(--white)}
.cDesc{font-size:.88rem;color:rgba(255,255,255,.48);line-height:1.9;margin-top:1rem;margin-bottom:2rem}
.cInfo{display:flex;flex-direction:column;gap:.9rem}
.cRow{display:flex;align-items:flex-start;gap:.9rem;font-size:.83rem}
.cRow-icon{width:34px;height:34px;flex-shrink:0;border:1px solid rgba(0,163,224,.38);display:flex;align-items:center;justify-content:center;color:var(--cyan);font-size:.8rem}
.cRow a,.cRow span{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;line-height:1.6}
.cRow a:hover{color:var(--cyan)}
.cEmails{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:1.5rem}
.cEmail{padding:.55rem 1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.cEmail-lbl{font-size:.57rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:.2rem}
.cEmail a{font-size:.74rem;color:var(--cyan);text-decoration:none;font-weight:700}
/* AI form widget */
.aiForm{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}
.aiForm-topbar{height:3px;background:linear-gradient(90deg,var(--cyan),var(--green))}
.aiForm-header{padding:1.2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:.8rem}
.aiForm-avatar{width:34px;height:34px;border-radius:50%;background:var(--cyan);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;color:white}
.aiForm-title{font-family:var(--disp);font-size:.8rem;font-weight:800;color:var(--white)}
.aiForm-sub{font-size:.63rem;color:rgba(255,255,255,.35);margin-top:.1rem}
.aiForm-live{margin-left:auto;display:flex;align-items:center;gap:.4rem;font-size:.6rem;color:var(--cyan);font-weight:700;letter-spacing:.08em}
.aiForm-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);animation:livePulse 2s ease-in-out infinite}
@keyframes livePulse{0%,100%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
.aiProg{height:2px;background:rgba(255,255,255,.06)}
.aiProgFill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .5s ease;width:0%}
.aiChat{height:280px;overflow-y:auto;padding:1.2rem 1.5rem;display:flex;flex-direction:column;gap:1rem;scrollbar-width:thin;scrollbar-color:rgba(0,163,224,.3) transparent}
.aiChat::-webkit-scrollbar{width:4px}
.aiChat::-webkit-scrollbar-thumb{background:rgba(0,163,224,.3);border-radius:2px}
.msg{display:flex;gap:.7rem;max-width:92%;animation:msgIn .4s cubic-bezier(.16,1,.3,1)}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.msg.bot{align-self:flex-start}.msg.usr{align-self:flex-end;flex-direction:row-reverse}
.msg-av{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;margin-top:.1rem}
.msg-av.b{background:var(--cyan);color:white}.msg-av.u{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}
.msg-bubble{padding:.65rem .9rem;font-size:.82rem;line-height:1.65;max-width:100%}
.msg-bubble.b{background:rgba(0,163,224,.1);border:1px solid rgba(0,163,224,.15);color:rgba(255,255,255,.82)}
.msg-bubble.u{background:rgba(0,163,224,.18);border:1px solid rgba(0,163,224,.25);color:var(--white)}
.aiChips{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1.5rem .8rem}
.chip{font-size:.68rem;font-weight:700;letter-spacing:.05em;color:var(--cyan);border:1px solid rgba(0,163,224,.35);background:transparent;padding:.35rem .8rem;cursor:pointer;border-radius:2px;transition:background .2s,color .2s}
.chip:hover{background:var(--cyan);color:white;border-color:var(--cyan)}
.aiInputRow{display:flex;gap:.6rem;padding:.9rem 1.2rem 1.2rem;border-top:1px solid rgba(255,255,255,.06)}
.aiInput{flex:1;font-family:var(--sans);font-size:.84rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:.65rem .9rem;color:white;outline:none;transition:border-color .25s}
.aiInput::placeholder{color:rgba(255,255,255,.22)}
.aiInput:focus{border-color:var(--cyan)}
.aiSend{width:38px;height:38px;background:var(--cyan);border:none;cursor:pointer;color:white;font-size:.95rem;transition:background .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.aiSend:hover{background:var(--cyan2)}
.typing{display:flex;align-items:center;gap:.4rem;padding:.5rem .8rem;background:rgba(0,163,224,.08);border:1px solid rgba(0,163,224,.12);align-self:flex-start}
.typing span{width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:typDot 1.2s ease-in-out infinite}
.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}
@keyframes typDot{0%,80%,100%{transform:scale(.8);opacity:.4}40%{transform:scale(1.1);opacity:1}}

/* FOOTER */
.footBar{height:4px;background:linear-gradient(90deg,var(--cyan),var(--green),var(--cyan));background-size:200%;animation:barShift 4s linear infinite}
footer{background:#141414;padding:3rem 5% 1.5rem}
.footInner{max-width:1200px;margin:0 auto}
.footTop{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.07)}
.foot-logo{height:28px;display:block;margin-bottom:.8rem}
.footTagline{font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.8}
.footCol h4{font-family:var(--disp);font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:1rem}
.footLinks{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footLinks a{font-size:.79rem;color:rgba(255,255,255,.46);text-decoration:none;transition:color .2s}
.footLinks a:hover{color:var(--cyan)}
.footCinfo a,.footCinfo span{font-size:.79rem;color:rgba(255,255,255,.46);display:block;margin-bottom:.35rem;text-decoration:none}
.footCinfo a:hover{color:var(--cyan)}
.footCinfo .hl{color:var(--cyan);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.footBottom{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;flex-wrap:wrap;gap:1rem}
.footCopy{font-size:.65rem;color:rgba(255,255,255,.2)}
.footBrand{height:22px;opacity:.35}

/* LIGHTBOX */
.lb-overlay{position:fixed;inset:0;z-index:8000;background:rgba(2,5,12,.95);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.16,1,.3,1)}
.lb-overlay.open{opacity:1;pointer-events:all}
.lb-inner{display:flex;flex-direction:column;align-items:center;width:min(680px,90vw);transform:scale(.88) translateY(30px);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.lb-overlay.open .lb-inner{transform:scale(1) translateY(0)}
.lb-img-wrap{width:100%;background:rgba(255,255,255,.96);border-radius:4px;padding:3.5rem 5rem;display:flex;align-items:center;justify-content:center;min-height:240px;box-shadow:0 40px 80px rgba(0,0,0,.5),0 0 0 1px rgba(0,163,224,.2)}
.lb-img{max-width:100%;max-height:45vh;object-fit:contain;transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1)}
.lb-footer{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem .5rem .3rem}
.lb-name{font-family:var(--disp);font-size:.88rem;font-weight:700;color:rgba(255,255,255,.85);letter-spacing:.08em;text-transform:uppercase}
.lb-type{font-size:.68rem;color:var(--cyan);margin-top:.2rem;letter-spacing:.04em}
.lb-hint{font-size:.58rem;color:rgba(255,255,255,.25);letter-spacing:.1em}
.lb-close{position:fixed;top:1.2rem;right:1.2rem;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(30,30,40,.8);color:rgba(255,255,255,.7);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .25s;z-index:8001}
.lb-close:hover{background:var(--cyan);transform:rotate(90deg);color:white;border-color:var(--cyan)}
.lb-arr{position:fixed;top:50%;width:54px;height:54px;border-radius:50%;border:1.5px solid rgba(255,255,255,.15);background:rgba(20,20,30,.7);backdrop-filter:blur(8px);color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .2s;z-index:8001}
.lb-arr:hover{background:var(--cyan);border-color:var(--cyan)}
.lb-arr-prev{left:1.5rem;transform:translateY(-50%)}.lb-arr-next{right:1.5rem;transform:translateY(-50%)}
.lb-arr-prev:hover{transform:translateY(-50%) scale(1.08)}.lb-arr-next:hover{transform:translateY(-50%) scale(1.08)}

/* SIDE NAV */
.side-nav{position:fixed;right:1.4rem;top:50%;transform:translateY(-50%);z-index:500;display:flex;flex-direction:column;align-items:center;gap:0}
.sn-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(to bottom,transparent,rgba(0,163,224,.25),transparent);transform:translateX(-50%)}
.sn-dot{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:34px;text-decoration:none;cursor:pointer}
.sn-pip{display:block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.15);transition:background .3s,transform .3s,border-color .3s;position:relative;z-index:1}
.sn-dot.active .sn-pip,.sn-dot:hover .sn-pip{background:var(--cyan);border-color:var(--cyan);transform:scale(1.5);box-shadow:0 0 8px var(--cyan)}
.sn-dot::before{content:attr(data-label);position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%) translateX(6px);font-family:var(--disp);font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:white;background:var(--cyan);padding:.22rem .55rem;white-space:nowrap;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;border-radius:2px}
.sn-dot:hover::before{opacity:1;transform:translateY(-50%) translateX(0)}
@media(max-width:768px){.side-nav{display:none}}

/* RESPONSIVE */
@media(max-width:1100px){.wCard{flex:0 0 300px}.footTop{grid-template-columns:1fr 1fr}.logoCell{flex:0 0 25%}}
@media(max-width:960px){.about-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}.svc-grid{grid-template-columns:1fr 1fr}.tCard{flex:0 0 calc(50% - 1rem)}.proc-steps{grid-template-columns:1fr 1fr}.logoCell{flex:0 0 33.333%}}
@media(max-width:768px){#nav .nav-links{display:none}.nav-cta-desktop{display:none}.nav-mobile-actions{display:flex}.nav-cta-mobile{display:inline-flex;padding:.5rem 1.1rem;font-size:.62rem}.hamburger{display:flex}.work-head{flex-direction:column;gap:.5rem;align-items:flex-start}.wCard{flex:0 0 85vw}.tCard{flex:0 0 calc(100% - 1rem)}.footTop{grid-template-columns:1fr 1fr}.cEmails{grid-template-columns:1fr}.logoCell{flex:0 0 50%}}
@media(max-width:540px){.svc-grid,.proc-steps{grid-template-columns:1fr}.footTop{grid-template-columns:1fr}.logoCell{flex:0 0 50%}.designGrid{grid-template-columns:1fr 1fr}}

/* ── WHATSAPP STICKY ─────────────────────────── */
.wa-btn{
  position:fixed;bottom:1.8rem;right:1.8rem;z-index:700;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;
  box-shadow:0 4px 16px rgba(37,211,102,.45);
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;
  animation:waPulse 3s ease-in-out infinite;
}
.wa-btn:hover{transform:scale(1.12);box-shadow:0 6px 24px rgba(37,211,102,.6)}
.wa-btn svg{width:30px;height:30px;fill:#fff}
@keyframes waPulse{
  0%,100%{box-shadow:0 4px 16px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,.4)}
  50%{box-shadow:0 4px 16px rgba(37,211,102,.45),0 0 0 10px rgba(37,211,102,0)}
}
/* Tooltip */
.wa-btn::before{
  content:'Chat on WhatsApp';
  position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);
  font-family:var(--sans);font-size:.72rem;font-weight:700;
  color:#fff;background:#25D366;
  padding:.35rem .8rem;border-radius:4px;
  white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s;
  transform:translateY(-50%) translateX(6px);
}
.wa-btn:hover::before{opacity:1;transform:translateY(-50%) translateX(0)}
@media(max-width:768px){.wa-btn{bottom:1.2rem;right:1.2rem;width:50px;height:50px}.wa-btn svg{width:26px;height:26px}}

/* ── BACK TO TOP ─────────────────────────── */
.back-to-top{
  position:fixed;bottom:6.2rem;right:1.8rem;z-index:699;
  width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;
  background:var(--dark);color:var(--cyan);
  box-shadow:0 4px 16px rgba(0,0,0,.35);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transform:translateY(10px);
  transition:opacity .25s,transform .25s,background .2s;
}
.back-to-top.show{opacity:1;pointer-events:auto;transform:none}
.back-to-top:hover{background:var(--cyan);color:#fff}
@media(max-width:768px){.back-to-top{bottom:5.2rem;right:1.2rem;width:42px;height:42px}}

/* ── MOBILE FOOTER — unique creative design ───── */
@media(max-width:768px){
  footer{padding:0 0 2rem}

  /* Stacked accordion-style panels */
  .footTop{
    display:flex;flex-direction:column;gap:0;
    padding-bottom:0;border-bottom:none;
  }

  /* Brand panel — full-width dark hero with centered logo + tagline */
  .footTop>div:first-child{
    background:linear-gradient(135deg,#0d0d0d 0%,#1a1a1a 100%);
    padding:2.5rem 1.5rem;
    text-align:center;
    border-bottom:3px solid;
    border-image:linear-gradient(90deg,var(--cyan),var(--green)) 1;
    position:relative;overflow:hidden;
  }
  .footTop>div:first-child::before{
    content:'';position:absolute;top:-40px;left:50%;transform:translateX(-50%);
    width:200px;height:200px;border-radius:50%;
    background:radial-gradient(circle,rgba(0,163,224,.12) 0%,transparent 70%);
    pointer-events:none;
  }
  .foot-logo{
    height:36px;margin:0 auto .8rem;display:block;
  }
  .footTagline{
    font-size:.75rem;line-height:1.75;
    color:rgba(255,255,255,.4);
    max-width:260px;margin:0 auto;
  }

  /* Quick contact strip */
  .foot-mobile-contact{
    display:flex;border-bottom:1px solid rgba(255,255,255,.07);
  }
  .foot-mobile-contact a{
    flex:1;display:flex;flex-direction:column;align-items:center;
    gap:.4rem;padding:1.1rem .5rem;text-decoration:none;
    color:rgba(255,255,255,.55);font-size:.65rem;font-weight:700;
    letter-spacing:.06em;text-transform:uppercase;
    border-right:1px solid rgba(255,255,255,.06);
    transition:color .2s,background .2s;
    font-family:var(--disp);
  }
  .foot-mobile-contact a:last-child{border-right:none}
  .foot-mobile-contact a:hover{color:var(--cyan);background:rgba(0,163,224,.06)}
  .foot-mobile-contact a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

  /* Collapsible nav columns */
  .footCol{
    border-bottom:1px solid rgba(255,255,255,.07);
    padding:0;
  }
  .footCol h4{
    padding:1rem 1.5rem;margin:0;
    display:flex;justify-content:space-between;align-items:center;
    cursor:pointer;
    font-size:.62rem;letter-spacing:.2em;
    color:rgba(255,255,255,.38);
  }
  .footCol h4::after{
    content:'＋';font-size:.9rem;color:var(--cyan);
    transition:transform .3s;display:block;
  }
  .footCol.open h4::after{transform:rotate(45deg)}
  .footLinks{
    max-height:0;overflow:hidden;
    transition:max-height .4s cubic-bezier(.25,.46,.45,.94);
    padding:0 1.5rem;
  }
  .footCol.open .footLinks{max-height:200px;padding:0 1.5rem .8rem}
  .footLinks a{font-size:.8rem;padding:.35rem 0;display:block;border-bottom:1px solid rgba(255,255,255,.04)}
  .footLinks a:last-child{border-bottom:none}

  /* Contact info panel — collapsible like other columns */
  .footCinfo{
    border-bottom:1px solid rgba(255,255,255,.07);
    padding:0;
  }
  .footCinfo h4{padding:1rem 1.5rem;margin:0;cursor:pointer}
  .footCinfo .footContactBody{
    max-height:0;overflow:hidden;
    transition:max-height .4s cubic-bezier(.25,.46,.45,.94);
    padding:0 1.5rem;
  }
  .footCinfo.open .footContactBody{max-height:260px;padding:0 1.5rem .8rem}
  .footCinfo a,.footCinfo span{font-size:.8rem}

  /* Footer bottom — centered on mobile */
  .footBottom{
    flex-direction:column;align-items:center;text-align:center;
    gap:.8rem;padding:1.5rem 1.5rem .5rem;
  }
  .footBrand{height:20px;opacity:.25;margin:0 auto}

  /* Hide desktop-only col dividers */
  .footTop>div:not(:first-child){padding:0}
}

/* ── MOBILE OVERFLOW SAFETY NET ──────────────── */
@media(max-width:768px){
  /* Universal box-sizing safety */
  .sec,.si,.pInner,.contact-inner,.work-head,.proc-inner,.footInner{
    max-width:100%;
    padding-left:5%;padding-right:5%;
    box-sizing:border-box;
  }
  .sec{padding-left:5%;padding-right:5%}
  /* Lightbox image wrap — reduce huge padding on small screens */
  .lb-img-wrap{padding:2rem 1.5rem;min-height:160px}
  .lb-inner{width:92vw}
  .lb-arr{width:42px;height:42px}
  .lb-arr-prev{left:.6rem}
  .lb-arr-next{right:.6rem}
  .lb-close{width:36px;height:36px;top:.8rem;right:.8rem}
  /* Stats row tighten */
  .statsRow{gap:1.6rem 2rem}
  .pStat-n{font-size:3rem}
  /* Process steps connecting line should not force width */
  .proc-steps::before{display:none}
  /* Design grid always 2 columns min on mobile, never 4 */
  .designGrid{grid-template-columns:1fr 1fr;gap:.7rem}
  /* Slider overlay buttons - keep inside viewport with safe margins */
  .wNavArr{width:38px;height:38px}
  .sliderCtrl{gap:.7rem}
  /* About card content padding tighter */
  .about-card-content{padding:1.6rem}
  .brand-reveal{height:140px}
  .br-ring3{width:200px;height:200px}
  .br-ring2{width:150px;height:150px}
  .br-ring1{width:110px;height:110px}
  /* Hero body never exceeds viewport */
  .hero-body{max-width:100%;padding:0 6%;padding-top:5rem}
  .h-sub{max-width:100%}
  /* Testimonial cards */
  .testimonials{padding:5rem 5%}
  /* Ticker text doesn't force scroll beyond intended marquee */
  .tick{padding:0 1.2rem}
  /* svc grid full width cards no overflow */
  .svc{padding:2.2rem 1.6rem}
  /* contact grid emails always stack safely */
  .cEmail{overflow:hidden}
  .cEmail a{word-break:break-word}
  /* AI form chips wrap properly */
  .aiChips{padding:0 1rem .8rem}
  .chip{font-size:.64rem;padding:.32rem .65rem}
  /* prevent any image from forcing width */
  img,svg{max-width:100%;height:auto}
  .nav-logo img,.foot-logo,.footBrand,.brand-logo-img,.wCard-logo{height:auto;max-width:160px}
  .nav-logo img{height:30px;width:auto;max-width:none}
  /* fixed-position elements respect viewport */
  .wa-btn,.lb-close,.lb-arr{max-width:90vw}
}
@media(max-width:420px){
  .designGrid{grid-template-columns:1fr 1fr;gap:.5rem}
  .statsRow{gap:1.2rem 1.5rem}
  .pStat-n{font-size:2.5rem}
  .h-h1{font-size:clamp(2.2rem,9vw,3rem)}
}
