@import 'galaxy-tokens.css';

/* ============================================================
   BASE V4
   ============================================================ */
:root { --site-width: 1600px; }
html { scroll-behavior: auto; overflow-x: hidden; }
body { overflow-x: hidden; }
body::after{content:'';position:fixed;inset:0;background:url('data:image/svg+xml,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noiseFilter)"/%3E%3C/svg%3E');opacity:.02;pointer-events:none;z-index:9999}

/* Ambient Orb Cursor */
.ambient-orb {
  position: fixed; top: 0; left: 0; width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(168,132,240,0.06) 0%, transparent 60%);
  pointer-events: none; z-index: 0; mix-blend-mode: screen;
  transform: translate(-50%, -50%); will-change: transform;
}
.container { max-width: var(--site-width) !important; }
* { font-style: normal !important; }
#bgLines { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; opacity: 0.4; }

/* ============================================================
   BACKGROUND LINES
   ============================================================ */
.bg-v-lines { position: fixed; inset: 0; z-index: -1; pointer-events: none; display: flex; justify-content: space-between; max-width: var(--site-width); margin: 0 auto; padding: 0 5%; opacity: 0.8; }
.v-line { width: 1px; height: 100vh; background: linear-gradient(to bottom, transparent 0%, rgba(112,67,221,0.06) 20%, rgba(168,132,240,0.18) 50%, rgba(112,67,221,0.06) 80%, transparent 100%); animation: v-line-pulse 6s infinite alternate ease-in-out; transform-origin: top; }
.v-line:nth-child(even) { animation-delay: -3s; }
.v-line:nth-child(3) { animation-delay: -1.5s; }
.v-line:nth-child(5) { animation-delay: -4.5s; }
@keyframes v-line-pulse {
  0% { transform: scaleY(0.6); opacity: 0.1; }
  100% { transform: scaleY(1.1); opacity: 0.9; }
}

/* ============================================================
   CURSOR
   ============================================================ */
@media(pointer:fine){*{cursor:none!important}}
.cursor-dot{width:5px;height:5px;background:var(--primary);border-radius:50%;position:fixed;z-index:9997;transform:translate(-50%,-50%);pointer-events:none}
.cursor-ring{width:36px;height:36px;border:1px solid rgba(112,67,221,.35);border-radius:50%;position:fixed;z-index:9996;transform:translate(-50%,-50%);pointer-events:none;transition:width .4s var(--ease-out),height .4s var(--ease-out),border-color .3s,background .3s}
.cursor-ring.on-link{width:52px;height:52px;border-color:rgba(112,67,221,.6)}
.cursor-ring.on-btn{width:60px;height:60px;border-color:var(--primary);background:rgba(112,67,221,.05)}
.cursor-ring.on-card{width:48px;height:48px;border-color:rgba(112,67,221,.4)}

/* ============================================================
   LOADER
   ============================================================ */
#loader{position:fixed;inset:0;z-index:10000;background:var(--black);display:flex;align-items:center;justify-content:center;transition:opacity .5s var(--ease-out),visibility .5s}
#loader.out{opacity:0;visibility:hidden;pointer-events:none}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:28px}
.loader-symbol{width:56px;animation:sym-in .5s var(--ease-out) forwards}
@keyframes sym-in{from{opacity:0;transform:scale(.85) translateY(8px)}to{opacity:1;transform:none}}
.loader-accent{animation:pulse-a 1s ease-in-out infinite alternate}
@keyframes pulse-a{from{opacity:.35}to{opacity:1}}
.loader-bar-wrap{width:160px;height:1px;background:var(--deep)}
.loader-bar{height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--light));animation:bar-go 1.1s var(--ease-out) .25s forwards}
@keyframes bar-go{to{width:100%}}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.hero-headline{font-family:var(--font-display);font-size:clamp(2.8rem,5.5vw,5rem);font-weight:600;line-height:1.06;letter-spacing:-.03em;color:var(--offwhite);margin-bottom:var(--sp-10)}
.hero-headline .line{display:block}
.display-heading{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.5rem);font-weight:600;line-height:1.1;letter-spacing:-.025em;color:var(--offwhite)}
.section-heading{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.25rem);font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--offwhite);margin-bottom:var(--sp-12)}
.text-center{text-align:center}

/* ============================================================
   SECTIONS
   ============================================================ */
.section{padding:clamp(5rem,10vw,8rem) 0;position:relative}
.section-head{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-8)}
.section-head--center{justify-content:center}
.section-num{font-family:var(--font-mono);font-size:.6875rem;color:var(--primary);position:relative;padding-left:12px;opacity:.8}
.section-num::before{content:'';position:absolute;left:0;top:50%;width:4px;height:4px;background:var(--primary);border-radius:50%;transform:translateY(-50%)}
.section-tag{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--light);border:1px solid rgba(112,67,221,.2);padding:6px 14px;display:inline-flex;align-items:center;transition:border-color 0.4s, background 0.4s;}
.section-tag:hover{border-color:rgba(112,67,221,0.5);background:rgba(112,67,221,0.05);}

/* Icons & Elements Extras */
.spin-star{display:inline-block;color:var(--primary);font-size:0.9em;animation:spin-star 8s linear infinite;margin-left:8px;}
@keyframes spin-star{to{transform:rotate(360deg)}}
.tag{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--light);display:inline-flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6)}
.separator{width:48px;height:1px;background:var(--primary);margin:var(--sp-10) auto}

/* ============================================================
   BUTTONS — GALAXY PARTICLES
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-sans);font-weight:500;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:4px;padding:14px 28px;white-space:nowrap;position:relative;overflow:hidden;cursor:pointer;text-decoration:none;transition:all .4s var(--ease-out);z-index:1}
.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#5a35b5 50%,var(--primary) 100%);background-size:200% 200%;color:var(--offwhite);border:1px solid rgba(168,132,240,.15);animation:btn-gradient 4s ease infinite}
@keyframes btn-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.12) 55%,transparent 65%);transform:translateX(-120%);transition:transform .6s var(--ease-out);z-index:0}
.btn-primary:hover::before{transform:translateX(120%)}
.btn-primary:hover{box-shadow:0 0 30px rgba(112,67,221,.25),0 0 60px rgba(112,67,221,.1);transform:translateY(-2px);border-color:rgba(168,132,240,.35)}

/* Galaxy button canvas — contained inside */
.btn-galaxy{position:relative;overflow:hidden}
.btn-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}

.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--deep)}
.btn-ghost:hover{color:var(--offwhite);border-color:var(--mid);transform:translateY(-1px)}
.btn-lg{padding:16px 36px}.btn-full{width:100%}

/* Shoot-out Arrow Effect (Insany Inspired) */
.btn-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;width:1.2em;height:1.2em;color:transparent!important;}
.btn-icon::before,.btn-icon::after{content:'\2197\FE0E';color:var(--offwhite);position:absolute;transition:transform .4s cubic-bezier(0.16,1,0.3,1);}
.btn-icon::after{transform:translate(-120%,120%);}
.btn:hover .btn-icon::before{transform:translate(120%,-120%);}
.btn:hover .btn-icon::after{transform:translate(0,0);}

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:900;border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.navbar-inner{height:72px;display:flex;align-items:center;gap:var(--sp-6)}
.navbar.scrolled{background:rgba(8,4,18,.92);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom-color:var(--deep)}
.navbar.scrolled .navbar-inner{height:60px}
.navbar-logo-wrap{display:flex;align-items:center}
.navbar-logo-wrap svg{height:auto;transition:width .3s var(--ease-out)}
.navbar-logo-full{width:110px}.navbar-logo-symbol{width:32px;display:none}
.navbar.scrolled .navbar-logo-full{width:90px}
.navbar-links{display:flex;align-items:center;gap:var(--sp-6);margin-left:auto}
.navbar-cta{margin-left:var(--sp-4);padding:10px 20px;font-size:.75rem}
.navbar-toggle{display:none;flex-direction:column;gap:5px;background:none;padding:var(--sp-2);margin-left:auto}
.navbar-toggle span{width:20px;height:1px;background:var(--offwhite);transition:transform .3s var(--ease-out)}
.navbar-toggle.active span:first-child{transform:translateY(3px) rotate(45deg)}
.navbar-toggle.active span:last-child{transform:translateY(-3px) rotate(-45deg)}
.nav-link{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .25s;white-space:nowrap}
.nav-link:hover{color:var(--offwhite)}
.mobile-menu{display:none;position:fixed;inset:0;top:60px;background:rgba(8,4,18,.97);backdrop-filter:blur(30px);z-index:899;padding:var(--sp-10) var(--page-padding)}
.mobile-menu.open{display:flex}
.mobile-menu-links{display:flex;flex-direction:column;gap:var(--sp-4);width:100%}
.mobile-menu-links .nav-link{font-size:0.85rem}
.mobile-menu-links .btn{padding:12px 0;font-size:0.75rem}

/* ============================================================
   HERO — BOTTOM LEFT-ALIGNED
   ============================================================ */
.hero{position:relative;overflow:hidden;padding:clamp(8rem,15vh,12rem) 0 clamp(3rem,8vh,6rem);display:flex;align-items:flex-end;min-height:100vh}

/* Hero Background Video Responsive */
.hero-bg-video{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none;mask-image:linear-gradient(to bottom, black 70%, transparent 100%);-webkit-mask-image:linear-gradient(to bottom, black 70%, transparent 100%)}
.hero-bg-video::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(9,9,11,0.6) 0%, var(--bg) 100%);z-index:1}
.hero-bg-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100vh;min-width:177.77vh;transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:0.6}

.hero-ambient{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(112,67,221,.04) 0%,transparent 70%);opacity:.8}
.hero-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;width:100%}
.hero-desc{font-size:var(--text-sm);line-height:1.7;color:var(--muted);max-width:520px;margin-bottom:var(--sp-8)}
.hero-actions{display:flex;flex-direction:row;gap:var(--sp-3);align-items:center}
.scroll-cue{position:absolute;bottom:var(--sp-8);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2}
.scroll-cue-text{font-family:var(--font-mono);font-size:0.5rem;letter-spacing:0.2em;color:rgba(255,255,255,0.3);}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(112,67,221,.6),transparent);animation:scroll-p 2.5s ease-in-out infinite}
@keyframes scroll-p{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:.8;transform:scaleY(1)}}

/* Hero Rotating Badge */
.hero-badge{position:absolute;right:8%;top:65%;width:140px;height:140px;z-index:10;display:flex;align-items:center;justify-content:center;}
.hero-badge svg{width:100%;height:100%;animation:badge-rotate 16s linear infinite;color:var(--primary)}
.badge-center{position:absolute;font-size:1.6rem;color:var(--primary)}
@keyframes badge-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* Sobre Rotating Badge */
.sobre-badge{position:absolute;left:10%;top:10%;width:130px;height:130px;z-index:10;display:flex;align-items:center;justify-content:center;}
@media(max-width:1024px) { .sobre-badge { left:5%; top:5%; width:110px; height:110px; } }
.sobre-badge svg{width:100%;height:100%;animation:badge-rotate 14s linear infinite;color:var(--primary)}

/* ============================================================
   SERVIÇOS — IMAGENS VISUAIS + FLOAT
   ============================================================ */
.svc-visual-img {
  width:100%;max-width:480px;height:auto;
  border-radius:10px;
  display:block;margin:0 auto;
  opacity:0.9;
  margin-bottom:-60px;
  transition:opacity 0.4s, transform 0.4s;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,0.35));
}
.svc-hx:hover .svc-visual-img {
  opacity:1;
}

/* Floating animations — each image floats differently */
.svc-float-1 { animation: svc-drift-1 5s ease-in-out infinite; }
.svc-float-2 { animation: svc-drift-2 6s ease-in-out infinite; }
.svc-float-3 { animation: svc-drift-3 5.5s ease-in-out infinite; }
.svc-float-4 { animation: svc-drift-4 7s ease-in-out infinite; }

@keyframes svc-drift-1 {
  0%,100% { transform: translateY(0px) rotate(0deg); }
  50%     { transform: translateY(-10px) rotate(0.8deg); }
}
@keyframes svc-drift-2 {
  0%,100% { transform: translateY(0px) rotate(0deg); }
  50%     { transform: translateY(-8px) rotate(-0.6deg); }
}
@keyframes svc-drift-3 {
  0%,100% { transform: translateY(0px) rotate(0deg); }
  50%     { transform: translateY(-12px) rotate(1deg); }
}
@keyframes svc-drift-4 {
  0%,100% { transform: translateY(0px) rotate(0deg); }
  50%     { transform: translateY(-6px) rotate(-0.5deg); }
}

/* ============================================================
   STATS — CAROUSEL + STRIP BELOW
   ============================================================ */
.stats-section{position:relative;overflow:hidden;padding:0}

.stats-carousel{
  display:flex;flex-direction:column;gap:8px;padding:var(--sp-6) 0;
  -webkit-mask-image:linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  mask-image:linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}
.stats-row{overflow:hidden;height:180px}
.stats-img-track{display:flex;gap:8px;width:max-content;animation:stats-scroll-l 60s linear infinite}
.stats-img-track--reverse{animation:stats-scroll-r 70s linear infinite}
@keyframes stats-scroll-l{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes stats-scroll-r{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}

.stats-img-card{
  width:280px;height:170px;flex-shrink:0;
  border-radius:6px;overflow:hidden;
  border:1px solid rgba(255,255,255,0.05);
}
.stats-img-card img{
  width:100%;height:100%;object-fit:cover;display:block;opacity:0.8;transition:opacity 0.4s;
}
.stats-img-card:hover img{opacity:1;}

/* Strip below carousel */
.stats-strip{
  background:rgba(8,4,18,.7);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border-top:1px solid var(--deep);
}
.stats-strip-inner{
  display:flex;align-items:center;justify-content:center;gap:clamp(3rem,8vw,8rem);
  flex-wrap:wrap;
}

.stat-item-clean{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:var(--sp-6) 0;
  position:relative;
}
.stat-val{display:flex;align-items:baseline;justify-content:center;gap:2px;}

.stat-big{
  font-family:var(--font-display);font-size:clamp(2.5rem,4vw,3.5rem);
  font-weight:600;color:var(--offwhite);line-height:1;
}
.stat-sign{
  font-family:var(--font-display);font-size:clamp(1.2rem,2vw,1.8rem);
  font-weight:600;color:var(--primary);
}
.stat-desc{
  font-family:var(--font-mono);font-size:.5625rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  width:100%;margin-top:4px;
}

/* ============================================================
   PROVOCAÇÃO
   ============================================================ */
.provoc-section{position:relative;overflow:hidden}
.provoc-ambient{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 40% 50% at 50% 30%,rgba(112,67,221,.06) 0%,transparent 70%),radial-gradient(ellipse 30% 40% at 80% 70%,rgba(168,132,240,.04) 0%,transparent 70%)}
.provoc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:var(--sp-10)}
.provoc-col{padding:var(--sp-8) var(--sp-6);border-right:1px solid var(--deep);position:relative}
.provoc-col:last-child{border-right:none}
.provoc-num{font-family:var(--font-mono);font-size:2.5rem;font-weight:600;color:rgba(112,67,221,.12);line-height:1;margin-bottom:var(--sp-4);display:block}
.provoc-title{font-family:var(--font-display);font-size:.8125rem;font-weight:600;letter-spacing:.08em;color:var(--light);margin-bottom:var(--sp-3)}
.provoc-col p{font-size:var(--text-sm);line-height:1.7;color:var(--muted)}
.provoc-line{width:24px;height:1px;background:var(--primary);opacity:.4;margin-top:var(--sp-6)}

/* Sútil Fractal Glitch Effect (Permanente) */
.provoc-num {
  position: relative;
  display: inline-block;
  margin-bottom: var(--sp-4);
}
.provoc-num::before,
.provoc-num::after {
  content: attr(data-text);
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: transparent;
  pointer-events: none;
  opacity: 0.8;
}
.provoc-num::before {
  color: var(--primary);
  text-shadow: 1px 0 rgba(255,255,255,0.1);
  z-index: 10;
  animation: glitch-fractal-1 6s infinite ease-in-out alternate-reverse;
}
.provoc-num::after {
  color: var(--light);
  text-shadow: -1px 0 rgba(255,255,255,0.1);
  z-index: 11;
  animation: glitch-fractal-2 8s infinite ease-in-out alternate-reverse;
}

@keyframes glitch-fractal-1 {
  0% { clip-path: inset(10% -20% 80% -20%); transform: translate(-3px, 0) scale(1.04); }
  25% { clip-path: inset(40% -20% 50% -20%); transform: translate(3px, 0) scale(1.02); }
  50% { clip-path: inset(20% -20% 70% -20%); transform: translate(-2px, 0) scale(1.05); }
  75% { clip-path: inset(70% -20% 10% -20%); transform: translate(3px, 0) scale(1.03); }
  100% { clip-path: inset(30% -20% 60% -20%); transform: translate(-4px, 0) scale(1.04); }
}
@keyframes glitch-fractal-2 {
  0% { clip-path: inset(80% -20% 10% -20%); transform: translate(3px, 0) scale(1.03); }
  25% { clip-path: inset(20% -20% 60% -20%); transform: translate(-3px, 0) scale(1.05); }
  50% { clip-path: inset(60% -20% 30% -20%); transform: translate(4px, 0) scale(1.02); }
  75% { clip-path: inset(10% -20% 80% -20%); transform: translate(-2px, 0) scale(1.04); }
  100% { clip-path: inset(50% -20% 40% -20%); transform: translate(2px, 0) scale(1.03); }
}

/* ============================================================
   SOBRE
   ============================================================ */
.sobre-grid{display:flex;align-items:flex-start;gap:var(--sp-16);position:relative;z-index:1}
.sobre-text{flex:1 1 55%}.sobre-visual{flex:1 1 45%;display:flex;justify-content:center;align-items:center}
.sobre-body p{font-size:var(--text-sm);line-height:1.7;color:var(--muted);margin-bottom:var(--sp-5)}

/* New Galaxy GIF Overlay */
.sobre-visual{position:relative;width:100%;display:flex;justify-content:center;align-items:center}
.sobre-gif-wrap{position:relative;width:100%;max-width:550px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;pointer-events:none}
.sobre-galaxy-gif{width:100%;height:100%;object-fit:contain;opacity:0.95}
.sobre-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;height:70%;background:radial-gradient(circle, rgba(168,132,240,0.18) 0%, transparent 60%);z-index:1;mix-blend-mode:screen;animation:pulse-glow 4s ease-in-out infinite alternate}
@keyframes pulse-glow{0%{transform:translate(-50%,-50%) scale(0.9);opacity:0.6}100%{transform:translate(-50%,-50%) scale(1.1);opacity:1}}


/* ============================================================
   SERVICES — GALAXY PARTICLE HOVER
   ============================================================ */
.svc-list{display:flex;flex-direction:column;gap:1px;background:var(--deep);border-radius:6px;overflow:visible}

.svc-hx{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:340px;position:relative;overflow:hidden;
  background:var(--surface);
  transition:background .4s var(--ease-out);
}
.svc-hx:hover{background:var(--surface-2)}

/* Subtle galaxy line on hover top */
.svc-hx::after{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 10%,rgba(112,67,221,.3) 35%,rgba(168,132,240,.2) 50%,rgba(112,67,221,.3) 65%,transparent 90%);
  opacity:0;transition:opacity .6s;
}
.svc-hx:hover::after{opacity:1}

/* Subtle particle canvas */
.svc-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0;transition:opacity .5s}
.svc-hx:hover .svc-particles{opacity:.6}

.svc-hx-text{padding:var(--sp-10);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
.svc-hx-num{font-family:var(--font-mono);font-size:3rem;font-weight:600;color:rgba(112,67,221,.12);line-height:1;margin-bottom:var(--sp-4)}
.svc-hx h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--offwhite);margin-bottom:var(--sp-4);letter-spacing:-.01em}
.svc-hx p{font-size:.875rem;line-height:1.65;color:var(--muted);margin-bottom:var(--sp-6);max-width:440px;position:relative;z-index:1}
.svc-hx-link{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);text-decoration:none;padding-bottom:6px;border-bottom:1px solid rgba(112,67,221,.2);transition:color .25s,border-color .25s;align-self:flex-start;position:relative;z-index:1}
.svc-hx-link:hover{color:var(--light);border-color:var(--light)}

.shoot-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;width:1.2em;height:1.2em;}
.shoot-icon::before,.shoot-icon::after{content:'\2197\FE0E';position:absolute;transition:transform .4s cubic-bezier(0.16,1,0.3,1);}
.shoot-icon::after{transform:translate(-120%,120%);}
.svc-hx-link:hover .shoot-icon::before{transform:translate(120%,-120%);}
.svc-hx-link:hover .shoot-icon::after{transform:translate(0,0);}

.svc-hx-visual{
  display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:visible;z-index:1;
  transition:transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.svc-hx:hover .svc-hx-visual{
  transform:translateY(-20px) rotate(2deg) scale(1.05);
}

/* Visuals */
.svc-vis-lp{width:200px;padding:20px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:6px;transform:perspective(800px) rotateY(-8deg) rotateX(3deg);transition:transform .6s var(--ease-out)}
.svc-hx:hover .svc-vis-lp{transform:perspective(800px) rotateY(-2deg) rotateX(1deg) translateY(-8px)}
.vis-lp-bar{height:5px;border-radius:2px;background:rgba(255,255,255,.06);margin-bottom:8px}
.vis-accent{background:var(--primary);opacity:.6}.vis-w75{width:75%}.vis-w50{width:50%}.vis-w30{width:30%}.vis-w60{width:60%}.vis-w90{width:90%}.vis-w40{width:40%}
.vis-lp-block{height:60px;background:rgba(112,67,221,.04);border:1px solid rgba(112,67,221,.08);border-radius:4px;margin-bottom:8px}

.svc-vis-browser{width:220px;border:1px solid rgba(255,255,255,.08);border-radius:6px;overflow:hidden;background:rgba(255,255,255,.02);transition:transform .5s var(--ease-out)}
.svc-hx:hover .svc-vis-browser{transform:translateY(-8px)}
.vis-browser-bar{height:28px;background:rgba(255,255,255,.04);display:flex;align-items:center;gap:5px;padding:0 10px}
.vis-dot{width:6px;height:6px;border-radius:50%}
.vis-r{background:rgba(248,113,113,.4)}.vis-y{background:rgba(251,191,36,.4)}.vis-g{background:rgba(74,222,128,.4)}
.vis-browser-body{padding:14px}.vis-browser-body .vis-lp-bar{margin-bottom:6px}

.svc-vis-art{position:relative;width:180px;height:160px}
.vis-art-layer{position:absolute;border:1px solid;border-radius:4px;transition:transform .6s var(--ease-out),border-color .4s}
.vis-al-1{width:130px;height:80px;top:10px;left:5px;transform:rotate(-4deg);background:rgba(112,67,221,.04);border-color:rgba(112,67,221,.15)}
.vis-al-2{width:100px;height:65px;top:40px;left:50px;transform:rotate(2deg);background:rgba(168,132,240,.05);border-color:rgba(168,132,240,.15)}
.vis-al-3{width:85px;height:50px;top:60px;left:25px;transform:rotate(-1deg);background:rgba(112,67,221,.07);border-color:rgba(112,67,221,.2)}
.svc-hx:hover .vis-al-1{transform:rotate(-2deg) translate(-6px,-10px);border-color:rgba(112,67,221,.35)}
.svc-hx:hover .vis-al-2{transform:rotate(4deg) translate(8px,6px);border-color:rgba(168,132,240,.35)}
.svc-hx:hover .vis-al-3{transform:rotate(1deg) translate(-4px,8px);border-color:rgba(112,67,221,.4)}

.svc-vis-feed{display:flex;flex-direction:column;gap:8px}
.vis-feed-item{width:200px;height:40px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:4px;display:flex;align-items:center;gap:10px;padding:0 12px;transition:border-color .3s,transform .3s var(--ease-out)}
.svc-hx:hover .vis-feed-item{border-color:rgba(112,67,221,.2)}
.svc-hx:hover .vis-feed-item:nth-child(odd){transform:translateX(6px)}
.svc-hx:hover .vis-feed-item:nth-child(even){transform:translateX(-6px)}
.vis-feed-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);opacity:.7;flex-shrink:0}
.vis-feed-alt{background:var(--light)}
.vis-feed-line{height:4px;flex:1;background:rgba(255,255,255,.05);border-radius:2px}

/* ============================================================
   POR QUE
   ============================================================ */
.reasons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--deep);border-radius:6px;overflow:hidden}
.reason{background:var(--black);padding:var(--sp-8);transition:background .35s}
.reason:hover{background:var(--surface)}
.reason-top{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}
.reason-num{font-family:var(--font-mono);font-size:.6875rem;color:var(--muted);letter-spacing:.08em}
.reason-arrow{color:var(--primary);font-size:1rem}
.reason h4{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--offwhite);margin-bottom:var(--sp-2)}
.reason p{font-size:.8125rem;line-height:1.65;color:var(--muted)}

/* ============================================================
   DEPOIMENTOS — SEAMLESS INFINITE
   ============================================================ */
.carousel-wrap{position:relative;overflow:hidden;margin-top:var(--sp-8)}
.carousel-fade{position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.carousel-fade--left{left:0;background:linear-gradient(to right,var(--black),transparent)}
.carousel-fade--right{right:0;background:linear-gradient(to left,var(--black),transparent)}
.carousel-track{display:flex;gap:var(--sp-4);width:max-content}
.carousel-track:hover{animation-play-state:paused!important}

.testi-card{min-width:340px;max-width:380px;flex-shrink:0;background:var(--surface);border:1px solid var(--deep);border-radius:6px;padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);transition:border-color .35s}
.testi-card:hover{border-color:var(--mid)}
.testi-stars{color:var(--primary);font-size:.75rem;letter-spacing:2px}
.testi-card>p{font-size:.8125rem;line-height:1.65;color:var(--muted);flex:1}
.testi-author{display:flex;align-items:center;gap:var(--sp-3);margin-top:auto}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--surface-2);border:1px solid var(--deep);flex-shrink:0;object-fit:cover;overflow:hidden}
.testi-author strong{display:block;font-size:.8125rem;font-weight:600;color:var(--offwhite)}
.testi-author span{display:block;font-family:var(--font-mono);font-size:.625rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}

/* ============================================================
   PROJETOS — EXPANSÃO POR CORTES (SOFT SLICE)
   ============================================================ */
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);}

/* Placeholder Invisível */
.proj-item {
  position:relative;display:block;
  aspect-ratio:16/9; /* Initial height smaller */
  z-index:1;cursor:pointer;
}
.proj-item:hover { z-index:50; }

/* Expanding Card */
.proj-card {
  position:absolute;
  background:var(--surface);
  border-radius:10px;overflow:hidden;text-decoration:none;
  border:1px solid rgba(255,255,255,0.03);
  transition:width .8s cubic-bezier(0.16,1,0.3,1), 
             height .8s cubic-bezier(0.16,1,0.3,1),
             box-shadow .7s;
  z-index:2;
}

/* Left Column - Origins Left */
.proj-item:nth-child(odd) .proj-card {
  top:0; left:0; right:auto; bottom:auto;
  width:100%; height:100%;
}
.proj-item:nth-child(odd):hover .proj-card {
  width:calc(100% + 50px);
  height:calc(100% + 80px);
  box-shadow: 20px 30px 60px rgba(0,0,0,0.35);
}
.proj-item:nth-child(odd) .proj-img {
  position:absolute; top:0; left:0;
  width:calc(100% + 50px); height:auto; min-height:calc(100% + 80px);
}

/* Right Column - Origins Right */
.proj-item:nth-child(even) .proj-card {
  top:0; right:0; left:auto; bottom:auto;
  width:100%; height:100%;
}
.proj-item:nth-child(even):hover .proj-card {
  width:calc(100% + 50px);
  height:calc(100% + 80px);
  box-shadow: -20px 30px 60px rgba(0,0,0,0.35);
}
.proj-item:nth-child(even) .proj-img {
  position:absolute; top:0; right:0;
  width:calc(100% + 50px); height:auto; min-height:calc(100% + 80px);
}

/* Particles Canvas */
.proj-particles{
  position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;z-index:0;opacity:0;transition:opacity .6s;
}
.proj-item:hover .proj-particles{opacity:1;}

/* Fixed size image - no fades */
.proj-img {
  display:block; max-width:none; z-index:0; object-fit:cover;
}

/* Base da Carta - Textos (Faixa Deslizante Mestra) */
.proj-footer {
  position:absolute;bottom:0;left:0;right:0;
  padding:16px; 
  z-index:10;pointer-events:none;
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);
  overflow:hidden;
}

/* A faixa escura que sobe */
.proj-footer::before {
  content:'';
  position:absolute;bottom:0;left:0;right:0;width:100%;height:100%;
  background:rgba(8, 4, 18, 0.65); 
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,255,255,0.05); /* Soft glass edge */
  z-index:-1;
  transform:translateY(100%);
  transition:transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.proj-item:hover .proj-footer::before {
  transform:translateY(0);
}

/* Expert (Esquerda) - Pílula Blur Antes do Hover */
.proj-expert {
  background:rgba(8, 4, 18, 0.45);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:8px 12px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,0.04);
  font-family:var(--font-display);
  font-size:0.875rem;
  font-weight:600;
  color:#fff;
  line-height:1.2;
  transition:background 0.4s, backdrop-filter 0.4s, border-color 0.4s;
}

.proj-item:hover .proj-expert {
  background:transparent;
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
  border-color:transparent;
}

/* Projeto + Categoria (Direita) */
.proj-info {
  display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;
  opacity:0;
  transform:translateY(8px);
  transition:opacity 0.5s ease 0.1s, transform 0.5s ease 0.1s;
}
.proj-item:hover .proj-info {
  opacity:1;
  transform:translateY(0);
}
.proj-cat {
  font-family:var(--font-mono);font-size:.45rem;letter-spacing:.14em;
  color:rgba(255,255,255,0.75);text-transform:uppercase;
  text-align:right;
}
.proj-name {
  font-family:var(--font-display);font-size:.8rem;font-weight:500;
  color:#fff;text-align:right;
}

@media(max-width:768px){
  .projects-grid{grid-template-columns:1fr;gap:var(--sp-4);}
  .proj-item{aspect-ratio:auto; height:240px; background:var(--surface); border-radius:10px;}
  .proj-item .proj-card{
    top:0 !important; right:auto !important; left:0 !important; bottom:auto !important;
    width:100% !important; height:100% !important; box-shadow:none;
  }
  .proj-item:nth-child(6) .proj-img {
    top:-50px !important;
  }
  .proj-info{opacity:1 !important; transform:translateY(0) !important;}
  .proj-footer::before{transform:translateY(0) !important;}
}


/* Project Arrow Shoot-out */
.proj-arrow{position:absolute;top:var(--sp-6);right:var(--sp-6);font-size:1.6rem;color:transparent!important;width:1.2em;height:1.2em;overflow:hidden;opacity:0;transition:opacity .5s;}
.proj-arrow::before{content:'\2197\FE0E';color:var(--primary);position:absolute;top:0;left:0;transform:translate(-100%,100%);transition:transform .5s cubic-bezier(0.16,1,0.3,1);}
.proj-item:hover .proj-arrow{opacity:1;}
.proj-item:hover .proj-arrow::before{transform:translate(0,0);}


/* ============================================================
   CONTATO
   ============================================================ */
.contato-wrap{max-width:640px;margin:0 auto;text-align:center}
.contato-desc{font-size:var(--text-sm);line-height:1.7;color:var(--muted);max-width:540px;margin:var(--sp-5) auto var(--sp-10)}
.contact-form{display:flex;flex-direction:column;gap:var(--sp-6);text-align:left}
.field{position:relative}
.field input,.field textarea{font-family:var(--font-sans);font-size:.9375rem;background:transparent;border:none;border-bottom:1px solid var(--deep);color:var(--offwhite);padding:20px 0 var(--sp-3);width:100%;outline:none;transition:border-color .2s}
.field input:focus,.field textarea:focus{border-bottom-color:var(--primary)}
.field textarea{min-height:80px;resize:none}
.field label{position:absolute;top:18px;left:0;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);pointer-events:none;transition:top .2s var(--ease-out),font-size .2s,color .2s}
.field input:focus~label,.field input:not(:placeholder-shown)~label,.field textarea:focus~label,.field textarea:not(:placeholder-shown)~label{top:2px;font-size:.5rem;color:var(--light)}
.field input::placeholder,.field textarea::placeholder{color:transparent}
.submit-loading[hidden],.submit-done[hidden]{display:none}
.email-link{display:inline-block;margin-top:var(--sp-8);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted);transition:color .25s}
.email-link:hover{color:var(--primary)}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{padding:var(--sp-16) 0 var(--sp-6)}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--sp-10);border-bottom:1px solid var(--deep);gap:var(--sp-8)}
.footer-logo{width:90px;height:auto;margin-bottom:var(--sp-3)}
.footer-brand p{font-size:.8125rem;color:var(--muted)}
.footer-nav{display:flex;flex-direction:column;gap:var(--sp-3)}
.footer-nav a{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .25s}
.footer-nav a:hover{color:var(--offwhite)}
.footer-contact a{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);transition:color .25s}
.footer-contact a:hover{color:var(--primary)}
.footer-bottom{padding-top:var(--sp-5);text-align:center}
.footer-bottom span{font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.1em;color:var(--muted)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-badge{display:none}
  .sobre-grid{flex-direction:column;gap:var(--sp-8)}
  .sobre-visual{padding-top:var(--sp-6)}
  .sobre-canvas-wrap{transform:scale(1.1);max-width:100%}
  #sobreCanvas{mask-image:radial-gradient(circle,black 30%,transparent 65%);-webkit-mask-image:radial-gradient(circle,black 30%,transparent 65%);}
  .provoc-grid{grid-template-columns:1fr}
  .provoc-col{border-right:none;border-bottom:1px solid var(--deep)}
  .provoc-col:last-child{border-bottom:none}
  .svc-hx{grid-template-columns:1fr}.svc-hx-visual{min-height:220px}
  .reasons-grid{grid-template-columns:1fr}
  .projects-grid{grid-template-columns:1fr}
  .stats-strip-inner{flex-wrap:wrap}
  .stat-item-clean{flex:1 1 45%}
  .footer-top{flex-direction:column}
}
@media(max-width:768px){
  .navbar-logo-full{display:none}.navbar-logo-symbol{display:block}
  .navbar-links{display:none}.navbar-cta{display:none}.navbar-toggle{display:flex}
  .hero{flex-direction:column;justify-content:center;align-items:center;padding-bottom:var(--sp-10)}
  .hero-headline{font-size:2.4rem;line-height:1.2}
  .hero-headline .line{display:inline}
  .hero-actions{flex-direction:column;width:100%}
  .hero-actions .btn{width:100%;text-align:center}
  .scroll-cue{position:relative;bottom:auto;left:auto;transform:none;margin-top:var(--sp-8)}
  .stat-item-clean{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
