/* ============ DESIGN SYSTEM SI DIGITAL ============ */
:root{
  --navy:#001639;
  --navy-2:#001a44;
  --offwhite:#f0ebe8;
  --offwhite-2:#e5dfdb;
  --lime:#c1ff72;
  --orange:#FF4500;
  --orange-soft:#ff6730;
  --black:#000000;
  --white:#ffffff;
  --font:'Poppins', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', system-ui, sans-serif;
  /* === MOTION TOKENS (inspirado no Lando Norris) === */
  --cubic-default:cubic-bezier(0.65, 0.05, 0, 1);  /* easing principal — entrada acentuada, saída lenta */
  --cubic-snap:cubic-bezier(0.83, 0, 0.17, 1);     /* mais snappy, pra micro-interactions */
  --duration-default:0.75s;
  --duration-fast:0.4s;
  --duration-slow:1.1s;
  --animation-default:var(--duration-default) var(--cubic-default);
  --animation-fast:var(--duration-fast) var(--cubic-default);
  --animation-snap:var(--duration-fast) var(--cubic-snap);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* scroll-behavior gerenciado pelo Lenis (smooth scroll com inércia) */
html.lenis,html.lenis body{height:auto}
html.lenis-smooth{scroll-behavior:auto !important}
html.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-scrolling iframe{pointer-events:none}
html,body{background:var(--navy);color:var(--offwhite);font-family:var(--font);overflow-x:clip;font-weight:400}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{display:block;max-width:100%}
.tnum{font-variant-numeric:tabular-nums;font-feature-settings:'tnum'}

/* ============ CUSTOM CURSOR (robusto, adapta cor ao fundo) ============ */
@media (hover:hover) and (pointer:fine){
  html.cc-on, html.cc-on *{cursor:none !important}
  html.cc-on a, html.cc-on button, html.cc-on .btn-cta,
  html.cc-on input, html.cc-on textarea, html.cc-on select, html.cc-on label{cursor:none !important}
}
.cc-ring,.cc-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:99999;border-radius:50%;
  transform:translate(-50%,-50%);will-change:transform;opacity:0;transition:opacity .25s}
html.cc-on .cc-ring,html.cc-on .cc-dot{opacity:1}
.cc-ring{width:34px;height:34px;border:1.5px solid var(--orange);
  transition:width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1),background .22s,border-color .22s,opacity .25s}
.cc-dot{width:6px;height:6px;background:var(--orange)}
.cc-ring.cc-hover{width:54px;height:54px;background:rgba(255,69,0,.12);border-color:var(--orange)}
.cc-dot.cc-hover{opacity:0}
.cc-ring.cc-down{width:26px;height:26px}
/* tema claro: usa navy pra contraste no offwhite */
.cc-ring.cc-light{border-color:var(--navy)}
.cc-dot.cc-light{background:var(--navy)}
.cc-ring.cc-light.cc-hover{background:rgba(0,22,57,.10);border-color:var(--navy)}

/* ============ LOADER ============ */
.loader{position:fixed;inset:0;background:var(--navy);z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;transition:opacity .6s,visibility .6s}
.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-symbol{width:80px;height:80px;animation:spin 1.4s linear infinite}
.loader-text{font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--offwhite);opacity:.5;display:flex;gap:12px;align-items:center}
.loader-text::before{content:'';width:6px;height:6px;background:var(--orange);border-radius:50%;animation:blink 1s infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes blink{50%{opacity:.2}}

/* ============ HEADER ============ */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 48px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,backdrop-filter .4s,padding .3s,border-color .3s;border-bottom:1px solid rgba(240,235,232,.1)}
header.scrolled{background:rgba(0,22,57,.85);backdrop-filter:blur(20px);border-bottom-color:rgba(240,235,232,.08);padding:12px 48px}
.logo-mark{display:flex;align-items:center;gap:14px;flex-shrink:0}
.logo-mark img{width:48px;height:48px;display:block;flex-shrink:0}
.logo-mark .wordmark{font-weight:800;font-size:24px;letter-spacing:-.04em;line-height:1;white-space:nowrap}
.logo-mark .wordmark .si{color:var(--orange)}
.logo-mark .wordmark .digital{color:var(--offwhite)}
nav ul{display:flex;list-style:none;gap:36px;align-items:center}
nav a{font-size:14px;font-weight:500;letter-spacing:-.01em;position:relative;padding:8px 0;opacity:.7;transition:opacity .3s}
nav a:hover,nav a.active{opacity:1}
nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--orange);transition:width .3s}
nav a:hover::after,nav a.active::after{width:100%}
.btn-cta{background:var(--orange);color:var(--white);padding:14px 24px;font-weight:600;font-size:13px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:10px;transition:transform .3s,background .3s;text-transform:uppercase}
.btn-cta:hover{background:var(--orange-soft);transform:translateY(-2px)}
.btn-cta .arrow{transition:transform .3s;display:inline-block}
.btn-cta:hover .arrow{transform:translateX(4px)}

/* ============ BUTTONS ============ */
.btn-primary,.btn-secondary{padding:18px 28px;font-size:13px;font-weight:600;letter-spacing:.05em;display:inline-flex;align-items:center;gap:12px;transition:transform .3s,background .3s,border-color .3s,box-shadow .3s;text-transform:uppercase}
.btn-primary{background:var(--orange);color:var(--white)}
.btn-primary:hover{background:var(--orange-soft);transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,69,0,.3)}
.btn-secondary{background:transparent;color:var(--offwhite);border:1px solid rgba(240,235,232,.3)}
.btn-secondary:hover{border-color:var(--offwhite);background:rgba(240,235,232,.05);transform:translateY(-2px)}
.btn-dark{background:var(--navy);color:var(--offwhite);padding:16px 24px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:10px;transition:background .3s,gap .3s}
.btn-dark:hover{background:var(--orange);gap:18px}

/* ============ SECTION HEADERS ============ */
.section-header{padding:0 48px;margin-bottom:64px;max-width:1400px;margin-left:auto;margin-right:auto}
.section-eyebrow{font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--orange);margin-bottom:20px;display:flex;align-items:center;gap:14px}
.section-eyebrow::before{content:'';width:32px;height:1px;background:var(--orange)}
.section-title{font-size:clamp(40px,5.5vw,80px);font-weight:900;line-height:.98;letter-spacing:-.035em;margin-bottom:24px}
.section-sub{font-size:18px;font-weight:300;line-height:1.55;max-width:640px;color:rgba(240,235,232,.7)}
.accent{color:var(--orange);font-style:italic;font-weight:900}

/* ============ FOOTER ============ */
footer{background:var(--black);color:var(--offwhite);padding:80px 48px 32px}
.footer-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:64px;border-bottom:1px solid rgba(240,235,232,.1)}
.footer-brand{display:flex;flex-direction:column;gap:24px}
.footer-brand .logo-mark img{width:56px;height:56px}
.footer-brand .wordmark{font-size:26px;font-weight:800;letter-spacing:-.04em}
.footer-brand .wordmark .si{color:var(--orange)}
.footer-tagline{font-size:14px;line-height:1.6;color:rgba(240,235,232,.5);max-width:280px;font-weight:300}
.footer-col h4{font-weight:600;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--orange);margin-bottom:20px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.footer-col li,.footer-col a{font-size:14px;color:rgba(240,235,232,.7);transition:color .3s,padding .3s;font-weight:400}
.footer-col a:hover{color:var(--offwhite);padding-left:6px}
.footer-bottom{max-width:1400px;margin:0 auto;padding-top:32px;display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:11px;color:rgba(240,235,232,.4);letter-spacing:.05em;flex-wrap:wrap;gap:16px}
.footer-bottom a{color:rgba(240,235,232,.6)}
.footer-bottom a:hover{color:var(--offwhite)}

/* ============ WHATSAPP FAB ============ */
.wa-fab{position:fixed;bottom:32px;right:32px;width:64px;height:64px;background:var(--lime);color:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:90;box-shadow:0 12px 32px rgba(193,255,114,.3);transition:transform .3s,box-shadow .3s;animation:wa-float 3s ease-in-out infinite}
.wa-fab:hover{transform:scale(1.1);box-shadow:0 16px 40px rgba(193,255,114,.5)}
.wa-fab svg{width:28px;height:28px}
@keyframes wa-float{50%{transform:translateY(-6px)}}

/* ============ RESPONSIVE BASE ============ */
@media(max-width:1024px){
  header{padding:14px 24px}
  header.scrolled{padding:10px 24px}
  nav ul{display:none}
  .section-header{padding:0 32px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:640px){
  .section-header{padding:0 24px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .logo-mark img{width:40px;height:40px}
  .logo-mark .wordmark{font-size:20px}
}

::selection{background:var(--orange);color:var(--white)}

/* ===== HEADER: logo real + troca de tema conforme o fundo da secao ===== */
.logo-header{gap:0}
.logo-header .logo-full{height:34px;width:auto;display:block}
.logo-header .logo-full-light{display:none}
header.theme-light .logo-header .logo-full-dark{display:none}
header.theme-light .logo-header .logo-full-light{display:block}
header.theme-light{background:rgba(240,235,232,.92);backdrop-filter:blur(20px);border-bottom-color:rgba(0,22,57,.12)}
header.theme-light nav a{color:var(--navy)}
header.theme-light.scrolled{background:rgba(240,235,232,.95);border-bottom-color:rgba(0,22,57,.14)}
header.theme-light .btn-cta{color:#fff}

/* ============ SVG BACKGROUND PATHS — drift animations ============ */
/* Movimento orgânico muito sutil pros paths do bg (script.js injeta) */
@keyframes si-bg-drift-0{
  0%{transform:translate(0,0) rotate(0deg)}
  100%{transform:translate(20px,-15px) rotate(.5deg)}
}
@keyframes si-bg-drift-1{
  0%{transform:translate(0,0) rotate(0deg)}
  100%{transform:translate(-25px,20px) rotate(-.4deg)}
}
@keyframes si-bg-drift-2{
  0%{transform:translate(0,0) rotate(0deg)}
  100%{transform:translate(15px,25px) rotate(.3deg)}
}
@keyframes si-bg-drift-3{
  0%{transform:translate(0,0) rotate(0deg)}
  100%{transform:translate(-20px,-10px) rotate(-.5deg)}
}

/* ============ HERO CINEMATIC v2 (scroll-driven estilo Lando) ============ */
.hero-cinematic{
  position:relative;
  height:250vh;
  background:transparent;
  margin-top:-100px;
  z-index:2;
}
.hero-cin-pin{
  position:sticky;
  top:0;
  height:100vh;
  width:100%;
  overflow:hidden;
}

/* Eyebrow */
.hero-cin-eyebrow{
  position:absolute;
  top:130px;
  left:48px;
  z-index:5;
  font-family:var(--font);
  font-weight:500;
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--lime);
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 16px;
  border:1px solid rgba(193,255,114,.3);
  background:rgba(0,22,57,.4);
  backdrop-filter:blur(8px);
  opacity:0;
  animation:cinFadeDown .8s cubic-bezier(.16,1,.3,1) .2s forwards;
}
@keyframes cinFadeDown{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:translateY(0)}
}
.hero-cin-dot{
  width:6px;height:6px;background:var(--lime);border-radius:50%;
  animation:dash-pulse 2s ease-in-out infinite;
}
@keyframes dash-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* Headline lateral esquerda */
.hero-cin-headline{
  position:absolute;
  left:48px;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  font-family:var(--font);
  font-size:clamp(48px,6.5vw,104px);
  line-height:.94;
  letter-spacing:-.035em;
  font-weight:900;
  color:var(--offwhite);
  max-width:50vw;
}
.cin-line{display:block;overflow:hidden;padding-bottom:.05em}
.cin-line > span{
  display:inline-block;
  will-change:transform;
  transform:translateY(110%);
  animation:cinSlideUp 1.1s cubic-bezier(.16,1,.3,1) forwards;
}
.cin-line:nth-child(1) > span{animation-delay:.3s}
.cin-line:nth-child(2) > span{animation-delay:.42s}
.cin-line:nth-child(3) > span{animation-delay:.54s}
@keyframes cinSlideUp{
  from{transform:translateY(110%)}
  to{transform:translateY(0)}
}
.cin-accent{color:var(--orange);font-style:italic}

/* Portrait wrap (centro) */
.hero-cin-portrait-wrap{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.92);
  z-index:3;
  width:clamp(300px,26vw,420px);
  aspect-ratio:4/5;
  will-change:transform,opacity;
  opacity:0;
  animation:cinPortraitIn 1.4s cubic-bezier(.16,1,.3,1) .4s forwards;
}
@keyframes cinPortraitIn{
  from{opacity:0;transform:translate(-50%,-50%) scale(.92)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
.hero-cin-portrait{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  filter:contrast(1.04) saturate(1.02);
}
.hero-cin-portrait-glow{
  position:absolute;
  inset:-60px;
  background:radial-gradient(ellipse at center,rgba(255,69,0,.12) 0%,transparent 65%);
  z-index:-1;
  pointer-events:none;
}

/* Dashboards SVG/CSS flutuantes */
.hero-cin-dash{
  position:absolute;
  z-index:6;
  width:220px;
  opacity:0; /* GSAP anima */
  pointer-events:none;
  will-change:transform,opacity;
}
.cin-card{
  background:rgba(0,22,57,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(193,255,114,.3);
  padding:18px 22px;
  font-family:var(--font);
  box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.2);
  position:relative;
}
.cin-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(193,255,114,.06) 0%,transparent 60%);
  pointer-events:none;
}
.cin-card-header{
  font-size:9px;font-weight:500;letter-spacing:.25em;
  color:var(--lime);
  margin-bottom:14px;
  display:flex;align-items:center;gap:8px;
}
.cin-dot{
  width:6px;height:6px;background:var(--lime);border-radius:50%;
  animation:dash-pulse 1.8s ease-in-out infinite;
}
.cin-card-body{margin-bottom:14px}
.cin-metric-label{
  font-size:9px;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(240,235,232,.55);
  margin-bottom:8px;
}
.cin-metric-value{
  font-size:34px;font-weight:700;
  color:var(--lime);
  letter-spacing:-.02em;line-height:1;
}
.cin-card-footer{
  font-size:10px;font-weight:400;
  color:rgba(240,235,232,.4);
  padding-top:10px;
  border-top:1px solid rgba(240,235,232,.08);
}

/* Posições dos dashboards — só no lado DIREITO (esquerda é da headline) */
/* 3 cards principais visíveis, 2 ocultos pra não sobrecarregar */
.hero-cin-dash{width:200px}
.hero-cin-dash--1{top:14%;right:4%}
.hero-cin-dash--2{top:43%;right:3%}
.hero-cin-dash--3{bottom:14%;right:4%}
.hero-cin-dash--4,.hero-cin-dash--5{display:none}
@media(min-width:1600px){
  .hero-cin-dash{width:220px}
}

/* CTAs */
.hero-cin-ctas{
  position:absolute;
  bottom:140px;
  left:48px;
  z-index:4;
  display:flex;
  gap:14px;
  opacity:0;
  animation:cinFadeUp .8s cubic-bezier(.16,1,.3,1) 1.1s forwards;
}
@keyframes cinFadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
.hero-cin-cta{
  padding:16px 26px;
  font-size:13px;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;
  display:inline-flex;align-items:center;gap:12px;
  transition:transform .3s,background .3s,border-color .3s,box-shadow .3s;
  font-family:var(--font);
}
.hero-cin-cta--primary{
  background:var(--orange);
  color:var(--white);
}
.hero-cin-cta--primary:hover{
  background:var(--orange-soft);
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(255,69,0,.3);
}
.hero-cin-cta--secondary{
  background:transparent;
  color:var(--offwhite);
  border:1px solid rgba(240,235,232,.3);
}
.hero-cin-cta--secondary:hover{
  border-color:var(--offwhite);
  background:rgba(240,235,232,.05);
}

/* Scroll hint */
.hero-cin-scroll-hint{
  position:absolute;
  bottom:36px;
  left:50%;
  transform:translateX(-50%);
  display:flex;align-items:center;gap:14px;
  z-index:5;
  font-family:var(--font);
  font-size:10px;font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;
  color:rgba(240,235,232,.5);
  opacity:0;
  animation:cinHintIn .8s ease-out 1.4s forwards,hint-bob 3s ease-in-out 2.2s infinite;
}
@keyframes cinHintIn{
  from{opacity:0}
  to{opacity:.5}
}
.hint-line{width:40px;height:1px;background:rgba(240,235,232,.3)}
@keyframes hint-bob{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(4px)}
}

/* Responsive */
@media(max-width:1024px){
  .hero-cinematic{height:220vh}
  .hero-cin-headline{font-size:clamp(36px,7vw,64px);left:32px;max-width:55vw}
  .hero-cin-eyebrow{left:32px;top:110px}
  .hero-cin-dash{width:180px}
  .cin-metric-value{font-size:28px}
  .hero-cin-ctas{left:32px;bottom:110px}
  .hero-cin-portrait-wrap{width:clamp(240px,28vw,320px)}
}
@media(max-width:640px){
  .hero-cinematic{height:auto;min-height:100vh;margin-top:0}
  .hero-cin-pin{position:relative;height:auto;min-height:100vh;padding:120px 24px 60px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
  .hero-cin-portrait-wrap{position:relative;transform:none;top:auto;left:auto;margin:20px auto;width:240px}
  .hero-cin-headline{position:relative;left:auto;top:auto;transform:none;font-size:clamp(36px,11vw,52px);max-width:100%}
  .hero-cin-eyebrow{position:relative;top:auto;left:auto}
  .hero-cin-dash{position:relative;width:100%;max-width:280px;top:auto !important;bottom:auto !important;left:auto !important;right:auto !important;margin:0;opacity:1 !important;transform:none !important}
  .hero-cin-ctas{position:relative;left:auto;bottom:auto;flex-direction:column;width:100%}
  .hero-cin-cta{justify-content:center}
  .hero-cin-scroll-hint{display:none}
}

/* ============ GALERIA HORIZONTAL DE CASES (scroll vertical → horizontal) ============ */
/* GSAP gerencia o pin via JS — section tem altura natural, ScrollTrigger
   cria o "virtual scroll" pelo tempo necessário pra completar 5×100vw. */
.cases-horizontal{
  position:relative;
  height:100vh;
  z-index:2;
  overflow:hidden;
}
.ch-pin{
  position:relative;
  height:100vh;
  width:100%;
  overflow:hidden;
}
.ch-header{
  position:absolute;
  top:120px;
  left:48px;
  z-index:5;
  pointer-events:none;
}
.ch-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-family:var(--font);
  font-size:11px;
  font-weight:500;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--lime);
  padding:8px 16px;
  border:1px solid rgba(193,255,114,.3);
  background:rgba(0,22,57,.5);
  backdrop-filter:blur(8px);
}
.ch-dot{
  width:6px;height:6px;background:var(--lime);border-radius:50%;
  animation:dash-pulse 2s ease-in-out infinite;
}
.ch-track{
  display:flex;
  width:500vw;
  height:100vh;
  will-change:transform;
}
.ch-slide{
  width:100vw;
  height:100vh;
  flex-shrink:0;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:center;
  padding:160px 80px 100px;
  gap:80px;
  position:relative;
}
/* Frame editorial pro print — sem mais "borda preta", combina com navy */
.ch-slide-image{
  position:relative;
  width:100%;
  height:75vh;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg, rgba(0,26,68,.6) 0%, rgba(0,22,57,.4) 100%);
  border:1px solid rgba(193,255,114,.2);
  border-radius:6px;
  overflow:hidden;
  box-shadow:
    0 30px 60px -20px rgba(0,0,0,.5),
    0 0 0 1px rgba(193,255,114,.04),
    inset 0 1px 0 rgba(193,255,114,.08);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
/* Barra superior do "frame" — estilo painel de dashboard */
.ch-slide-image::before{
  content:'PRINT REAL · GERENCIADOR · MAIO/2026';
  display:block;
  flex-shrink:0;
  padding:14px 20px;
  font-family:var(--font);
  font-size:9px;
  font-weight:600;
  letter-spacing:.28em;
  color:rgba(193,255,114,.8);
  background:rgba(0,22,57,.5);
  border-bottom:1px solid rgba(193,255,114,.12);
  position:relative;
}
/* 3 bolinhas estilo "macOS window" pro vibe editorial */
.ch-slide-image::after{
  content:'';
  position:absolute;
  top:18px;
  right:20px;
  width:8px;height:8px;
  border-radius:50%;
  background:#ff5f57;
  box-shadow:
    14px 0 0 #febc2e,
    28px 0 0 #28c840;
}
.ch-slide-image-wrap{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  min-height:0; /* permite o flex shrink */
}
.ch-slide-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:contrast(1.05) brightness(1);
  border-radius:3px;
}
.ch-slide-info{
  display:flex;
  flex-direction:column;
  gap:18px;
  max-width:480px;
  font-family:var(--font);
}
.ch-slide-counter{
  font-size:64px;
  font-weight:900;
  line-height:1;
  color:var(--lime);
  letter-spacing:-.04em;
}
.ch-slide-counter span{
  font-size:24px;
  font-weight:500;
  color:rgba(240,235,232,.4);
  margin-left:8px;
}
.ch-slide-sector{
  font-size:11px;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(240,235,232,.55);
}
.ch-slide-client{
  font-size:clamp(36px,4vw,56px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--offwhite);
  margin:4px 0 12px;
}
.ch-slide-metric{
  padding:24px 0;
  border-top:1px solid rgba(240,235,232,.1);
  border-bottom:1px solid rgba(240,235,232,.1);
}
.ch-slide-metric-label{
  font-size:10px;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(240,235,232,.5);
  margin-bottom:10px;
}
.ch-slide-metric-value{
  font-size:clamp(56px,7vw,96px);
  font-weight:900;
  line-height:.95;
  color:var(--lime);
  letter-spacing:-.04em;
  font-family:var(--font);
}
.ch-slide-desc{
  font-size:15px;
  line-height:1.55;
  color:rgba(240,235,232,.75);
  font-weight:400;
}
.ch-slide-channels{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}
.ch-slide-channels span{
  display:inline-block;
  padding:6px 14px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--offwhite);
  background:rgba(255,69,0,.15);
  border:1px solid rgba(255,69,0,.4);
}

/* Progress bar no fundo */
.ch-progress{
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  width:min(640px,60vw);
  height:2px;
  background:rgba(240,235,232,.1);
  z-index:5;
  overflow:hidden;
}
.ch-progress-fill{
  position:absolute;
  inset:0 auto 0 0;
  width:0%;
  background:var(--lime);
  will-change:width;
  box-shadow:0 0 12px rgba(193,255,114,.6);
}

/* Mobile: galeria vira vertical normal (não tem scroll horizontal) */
@media(max-width:1024px){
  .ch-slide{padding:140px 48px 80px;gap:48px}
  .ch-slide-image{height:60vh}
}
@media(max-width:768px){
  .cases-horizontal{height:auto !important}
  .ch-pin{position:relative;height:auto;overflow:visible}
  .ch-track{
    display:flex;
    flex-direction:column;
    width:100% !important;
    height:auto;
    transform:none !important;
  }
  .ch-slide{
    width:100%;
    height:auto;
    grid-template-columns:1fr;
    padding:80px 24px;
    gap:32px;
  }
  .ch-slide-image{height:auto;aspect-ratio:16/10}
  .ch-slide-image img{height:auto;aspect-ratio:16/10}
  .ch-header{position:relative;top:0;left:0;margin-bottom:24px;padding:60px 24px 0}
  .ch-progress{display:none}
}

/* ============ MANIFESTO SERIF (Lando-style) ============ */
.manifesto-section{
  padding:clamp(100px,15vh,200px) 48px;
  position:relative;
  overflow:hidden;
}
.manifesto-inner{
  max-width:1400px;
  margin:0 auto;
}
.manifesto-text{
  font-family:'Instrument Serif',Georgia,serif;
  font-weight:400;
  font-size:clamp(40px,6.5vw,108px);
  line-height:1.02;
  letter-spacing:-.025em;
  color:var(--offwhite);
  max-width:1100px;
}
.manifesto-text em{
  color:var(--lime);
  font-style:italic;
  font-weight:400;
}
@media(max-width:640px){
  .manifesto-section{padding:80px 24px}
  .manifesto-text{font-size:clamp(34px,8vw,52px);line-height:1.05}
}

/* ============ HOVER SWAP LOGOS (Lando-style) ============ */
/* Estado normal: grayscale + opacity baixa = logos "apagados" */
/* Hover: cor de volta + scale leve = logo "acorda" */
.logo-real,
.logo-item img{
  filter:grayscale(1) brightness(.95);
  opacity:.45;
  transition:filter .4s cubic-bezier(.16,1,.3,1),opacity .4s,transform .4s cubic-bezier(.16,1,.3,1);
}
.logo-real:hover,
.logo-item:hover img{
  filter:grayscale(0) brightness(1);
  opacity:1;
  transform:scale(1.08);
}
/* Pausa o marquee no hover pro usuário poder interagir */
.logos-marquee:hover{animation-play-state:paused}

/* SVG bg paths — global fixed (volta pro parallax suave) */
#si-bg-paths{
  pointer-events:none;
  user-select:none;
}
.si-bg-paths-section{pointer-events:none;user-select:none}

/* Sections, main, footer ficam ACIMA do SVG fixed (z-index:0) */
header, main, footer, section{
  position:relative;
  z-index:2;
}

/* IMPORTANTE: NÃO mexer no position de .wa-fab, .loader, .cc-ring, .cc-dot
   eles têm position:fixed próprio e z-index alto no design system. */

/* Header sticky por cima de tudo */
header{z-index:100 !important}
/* Cursor trail canvas por cima do conteúdo, atrás dos elementos fixed */
#si-trail{z-index:9998 !important}

/* ============ A11Y: Reduce motion pra quem prefere ============ */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .loader{display:none !important}
  .wa-fab{animation:none !important}
  /* Pausa SVG bg paths e oculta cursor trail */
  .si-bg-paths-section path{animation:none !important}
  #si-trail{display:none !important}
}

/* ============ MÉTODO JOURNEY — Scroll-driven jornada vertical ============ */
.metodo-journey{
  position:relative;
  background:var(--navy);
  overflow:hidden;
}
.metodo-journey-inner{
  height:500vh; /* 4 estágios × 100vh + 100vh extra pra respiro */
  position:relative;
}
.metodo-pin{
  height:calc(100vh - 32px);
  position:relative;
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:24px;
  padding:48px clamp(28px, 4vw, 64px) 32px;
  box-sizing:border-box;
  max-width:min(1600px, calc(100vw - 40px));
  margin:16px auto;
  /* Moldura — separa visualmente do bg de curvas */
  background:
    linear-gradient(180deg, rgba(0,12,35,.55) 0%, rgba(0,18,52,.72) 50%, rgba(0,12,35,.55) 100%);
  border:1px solid rgba(193,255,114,.12);
  border-radius:20px;
  box-shadow:
    0 32px 80px -16px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(193,255,114,.06),
    inset 0 -1px 0 rgba(0,0,0,.2);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.metodo-pin::before{
  content:'';
  position:absolute;
  inset:14px;
  border:1px dashed rgba(193,255,114,.06);
  border-radius:14px;
  pointer-events:none;
}

/* Header */
.mj-header{
  text-align:center;
}
.mj-main-title{
  font-family:'Instrument Serif', serif;
  font-size:clamp(40px, 5vw, 68px);
  font-weight:400;
  letter-spacing:-.02em;
  margin:12px 0 0;
  color:var(--offwhite);
  line-height:1.05;
}

/* Display: número + info ESQUERDA, visual DIREITA */
.mj-display{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
  min-height:0;
}

/* ESQUERDA */
.mj-left{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:24px;
}
.mj-numbers{
  position:relative;
  height:clamp(120px, 18vh, 200px);
}
.mj-number{
  font-family:'Instrument Serif', serif;
  font-size:clamp(120px, 18vh, 220px);
  line-height:.9;
  font-weight:400;
  color:var(--lime);
  position:absolute;
  top:0;
  left:0;
  opacity:0;
  transform:translateY(40px) scale(.95);
  transition:opacity .6s cubic-bezier(.65,0,.35,1), transform .6s cubic-bezier(.65,0,.35,1);
  letter-spacing:-.04em;
}
.mj-number.active{
  opacity:1;
  transform:translateY(0) scale(1);
}
.mj-info{
  position:relative;
  min-height:280px;
}
.mj-info-block{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .55s cubic-bezier(.65,0,.35,1) .15s, transform .55s cubic-bezier(.65,0,.35,1) .15s;
  pointer-events:none;
}
.mj-info-block.active{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.mj-stage-title{
  font-family:var(--font);
  font-size:clamp(32px, 3.8vw, 52px);
  font-weight:800;
  letter-spacing:-.02em;
  text-transform:uppercase;
  color:var(--offwhite);
  margin:0 0 18px;
  line-height:1;
}
.mj-stage-desc{
  font-size:clamp(15px, 1.1vw, 18px);
  line-height:1.55;
  color:rgba(240,235,232,.78);
  margin:0 0 24px;
  max-width:520px;
  font-family:var(--font);
}
.mj-bullets{
  list-style:none;
  padding:0;
  margin:0;
  font-family:var(--font);
}
.mj-bullets li{
  padding-left:28px;
  position:relative;
  margin-bottom:10px;
  font-size:14px;
  color:rgba(240,235,232,.65);
  letter-spacing:.01em;
}
.mj-bullets li::before{
  content:'';
  position:absolute;
  left:0;
  top:9px;
  width:18px;
  height:1px;
  background:var(--orange);
}

/* DIREITA: visual area */
.mj-right{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:clamp(380px, 50vh, 480px);
}
.mj-visual{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  opacity:0;
  transform:scale(.92);
  transition:opacity .6s cubic-bezier(.65,0,.35,1), transform .6s cubic-bezier(.65,0,.35,1);
  pointer-events:none;
}
.mj-visual.active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.mj-visual svg{
  width:clamp(280px, 30vw, 420px);
  height:clamp(280px, 30vw, 420px);
  display:block;
}
.mj-visual-label{
  font-family:var(--font);
  font-size:11px;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:rgba(193,255,114,.6);
}

/* === RADAR (01) === */
.mj-radar-ring{
  fill:none;
  stroke:rgba(193,255,114,.18);
  stroke-width:1;
}
.mj-radar-cross{
  stroke:rgba(193,255,114,.12);
  stroke-width:1;
  stroke-dasharray:3 6;
}
.mj-radar-sweep-wrap{
  transform-origin:200px 200px;
  animation:mj-radar-rotate 4s linear infinite;
}
.mj-radar-sweep{
  stroke:var(--lime);
  stroke-width:2;
  stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(193,255,114,.6));
}
.mj-radar-cone{
  fill:url(#mj-radar-grad);
  opacity:.18;
}
.mj-visual[data-stage="1"].active .mj-radar-sweep-wrap{
  animation-play-state:running;
}
@keyframes mj-radar-rotate{
  to{transform:rotate(360deg)}
}
.mj-radar-dot{
  fill:var(--orange);
  filter:drop-shadow(0 0 4px rgba(255,69,0,.7));
  animation:mj-radar-blink 1.8s ease infinite;
}
@keyframes mj-radar-blink{
  0%,100%{opacity:0;transform:scale(.4)}
  50%{opacity:1;transform:scale(1.4)}
}
.mj-radar-dot{transform-origin:center;transform-box:fill-box}

/* === NÓS (02) === */
.mj-node-line{
  stroke:rgba(193,255,114,.6);
  stroke-width:1.5;
  stroke-dasharray:300;
  stroke-dashoffset:300;
  transition:stroke-dashoffset 1.2s cubic-bezier(.65,0,.35,1);
}
.mj-visual[data-stage="2"].active .mj-node-line[data-i="1"]{transition-delay:.1s; stroke-dashoffset:0}
.mj-visual[data-stage="2"].active .mj-node-line[data-i="2"]{transition-delay:.3s; stroke-dashoffset:0}
.mj-visual[data-stage="2"].active .mj-node-line[data-i="3"]{transition-delay:.5s; stroke-dashoffset:0}
.mj-visual[data-stage="2"].active .mj-node-line[data-i="4"]{transition-delay:.7s; stroke-dashoffset:0}
.mj-visual[data-stage="2"].active .mj-node-line[data-i="5"]{transition-delay:.9s; stroke-dashoffset:0}
.mj-visual[data-stage="2"].active .mj-node-line[data-i="6"]{transition-delay:1.1s; stroke-dashoffset:0}
.mj-node{
  fill:var(--navy);
  stroke:var(--lime);
  stroke-width:2;
  filter:drop-shadow(0 0 4px rgba(193,255,114,.4));
}
.mj-node-center{
  fill:var(--lime);
  animation:mj-node-pulse 2s ease infinite;
  transform-origin:center;
  transform-box:fill-box;
}
@keyframes mj-node-pulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 4px rgba(193,255,114,.5))}
  50%{transform:scale(1.15);filter:drop-shadow(0 0 12px rgba(193,255,114,.9))}
}
.mj-node-label{
  font-family:var(--font);
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  fill:rgba(240,235,232,.5);
  text-anchor:middle;
}

/* === CONTADORES (03) === */
.mj-counters{
  display:flex;
  flex-direction:column;
  gap:18px;
  width:100%;
  max-width:380px;
  font-family:var(--font);
}
.mj-counter{
  padding:18px 22px;
  background:linear-gradient(135deg, rgba(0,26,68,.7), rgba(0,22,57,.4));
  border:1px solid rgba(193,255,114,.18);
  border-radius:4px;
  backdrop-filter:blur(6px);
}
.mj-counter-label{
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(240,235,232,.5);
  margin-bottom:6px;
}
.mj-counter-value{
  font-size:clamp(28px, 3vw, 40px);
  font-weight:800;
  color:var(--lime);
  font-variant-numeric:tabular-nums;
  line-height:1;
  margin-bottom:8px;
  letter-spacing:-.02em;
}
.mj-counter-bar{
  height:3px;
  background:rgba(193,255,114,.08);
  position:relative;
  overflow:hidden;
  border-radius:2px;
}
.mj-counter-bar span{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, var(--orange), var(--lime));
  transform-origin:left;
  transform:scaleX(0);
  width:var(--w, 50%);
  transition:transform 1.5s cubic-bezier(.65,0,.35,1) .4s;
}
.mj-visual[data-stage="3"].active .mj-counter-bar span{
  transform:scaleX(1);
}

/* === GRÁFICO (04) === */
.mj-graph-axis{
  stroke:rgba(240,235,232,.2);
  stroke-width:1;
}
.mj-graph-grid line{
  stroke:rgba(240,235,232,.05);
  stroke-width:1;
  stroke-dasharray:4 6;
}
.mj-graph-bar{
  fill:var(--orange);
  opacity:0;
  transform-origin:bottom center;
  transform:scaleY(0);
  transition:transform .9s cubic-bezier(.34,1.56,.64,1), opacity .3s ease;
}
.mj-visual[data-stage="4"].active .mj-graph-bar{opacity:.9; transform:scaleY(1)}
.mj-visual[data-stage="4"].active .mj-graph-bar[data-i="1"]{transition-delay:.2s}
.mj-visual[data-stage="4"].active .mj-graph-bar[data-i="2"]{transition-delay:.35s}
.mj-visual[data-stage="4"].active .mj-graph-bar[data-i="3"]{transition-delay:.5s}
.mj-visual[data-stage="4"].active .mj-graph-bar[data-i="4"]{transition-delay:.65s}
.mj-visual[data-stage="4"].active .mj-graph-bar[data-i="5"]{transition-delay:.8s}
.mj-graph-line{
  fill:none;
  stroke:var(--lime);
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:600;
  stroke-dashoffset:600;
  transition:stroke-dashoffset 1.4s cubic-bezier(.65,0,.35,1) 1.1s;
  filter:drop-shadow(0 0 4px rgba(193,255,114,.5));
}
.mj-visual[data-stage="4"].active .mj-graph-line{stroke-dashoffset:0}
.mj-graph-dot{
  fill:var(--lime);
  opacity:0;
  transform:scale(0);
  transform-origin:center;
  transform-box:fill-box;
  transition:opacity .3s ease var(--d, 1s), transform .4s cubic-bezier(.34,1.56,.64,1) var(--d, 1s);
}
.mj-visual[data-stage="4"].active .mj-graph-dot{opacity:1; transform:scale(1)}
.mj-graph-label{
  font-family:var(--font);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  fill:rgba(193,255,114,.5);
}

/* === PROGRESSO === */
.mj-progress{
  position:relative;
  padding:0 8px;
}
.mj-progress-track{
  height:2px;
  background:rgba(240,235,232,.08);
  position:relative;
  border-radius:1px;
  overflow:hidden;
  margin-bottom:14px;
}
.mj-progress-fill{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, var(--orange), var(--lime));
  transform-origin:left;
  transform:scaleX(.083); /* 1/12 = posição inicial sutil */
  transition:transform .6s cubic-bezier(.65,0,.35,1);
}
.mj-progress-dots{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  position:relative;
}
.mj-progress-dot{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  cursor:pointer;
  font-family:var(--font);
  transition:transform .3s ease;
}
.mj-progress-dot:hover{transform:translateY(-2px)}
.mj-dot-num{
  font-family:'Instrument Serif', serif;
  font-size:18px;
  color:rgba(240,235,232,.3);
  transition:color .35s ease;
  position:relative;
}
.mj-dot-num::before{
  content:'';
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%) scale(0);
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--lime);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  box-shadow:0 0 8px rgba(193,255,114,.6);
}
.mj-progress-dot.active .mj-dot-num{color:var(--lime)}
.mj-progress-dot.active .mj-dot-num::before{transform:translateX(-50%) scale(1)}
.mj-dot-label{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(240,235,232,.35);
  transition:color .35s ease;
}
.mj-progress-dot.active .mj-dot-label{color:var(--offwhite)}

/* === MOBILE === */
@media (max-width: 900px){
  .metodo-journey-inner{height:auto}
  .metodo-pin{
    height:auto;
    padding:60px 24px 40px;
    gap:32px;
  }
  .mj-display{
    grid-template-columns:1fr;
    gap:32px;
  }
  .mj-numbers{height:auto; min-height:120px}
  .mj-number{font-size:clamp(80px, 22vw, 140px)}
  .mj-info{min-height:auto}
  .mj-info-block{position:relative; opacity:1; transform:none; margin-bottom:60px}
  .mj-info-block:last-child{margin-bottom:0}
  /* Em mobile, mostra TODAS as etapas em sequência (sem pin) */
  .mj-right{display:none} /* simplifica: sem visuais em mobile */
  .mj-progress{display:none}
}

/* === REDUCED MOTION === */
@media (prefers-reduced-motion: reduce){
  .mj-radar-sweep-wrap, .mj-radar-dot, .mj-node-center{animation:none !important}
  .mj-number, .mj-info-block, .mj-visual{transition-duration:.2s !important}
}

/* ============ COOKIE CONSENT BANNER (LGPD) ============ */
#si-cookie-banner{
  position:fixed;bottom:24px;left:24px;right:24px;
  z-index:9999;
  pointer-events:none;
  display:flex;justify-content:center;
  font-family:var(--font);
  opacity:0;
  transform:translateY(20px);
  transition:opacity .5s var(--cubic-default), transform .5s var(--cubic-default);
}
#si-cookie-banner.cb-visible{
  opacity:1;
  transform:translateY(0);
}
#si-cookie-banner .cb-card{
  pointer-events:auto;
  background:rgba(0, 18, 52, .96);
  backdrop-filter:blur(20px) saturate(1.5);
  -webkit-backdrop-filter:blur(20px) saturate(1.5);
  border:1px solid rgba(193, 255, 114, .18);
  border-radius:14px;
  padding:28px 32px;
  max-width:680px;
  width:100%;
  box-shadow:0 24px 60px -16px rgba(0,0,0,.6), inset 0 1px 0 rgba(193,255,114,.08);
  color:var(--offwhite);
}
#si-cookie-banner h2{
  font-size:18px;font-weight:700;margin:0 0 8px;color:var(--lime);
  letter-spacing:-.01em;
}
#si-cookie-banner p{
  font-size:14px;line-height:1.55;color:rgba(240,235,232,.72);margin:0 0 4px;
}
.cb-options{margin:16px 0 4px;display:flex;flex-direction:column;gap:12px}
.cb-option{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(240,235,232,.06);
  padding:14px 18px;
  border-radius:6px;
}
.cb-option p{font-size:12px;color:rgba(240,235,232,.55);margin-top:4px}
.cb-opt-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cb-opt-head strong{font-size:14px;color:var(--offwhite);letter-spacing:.02em}
.cb-opt-pill{
  font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--lime);
  background:rgba(193,255,114,.12);
  padding:4px 8px;border-radius:99px;font-weight:600;
}
/* Toggle iOS style */
.cb-toggle{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer;flex-shrink:0}
.cb-toggle input{opacity:0;width:0;height:0;position:absolute}
.cb-toggle-slider{
  position:absolute;inset:0;
  background:rgba(240,235,232,.15);
  border-radius:99px;
  transition:background var(--animation-fast);
}
.cb-toggle-slider::before{
  content:'';position:absolute;
  height:16px;width:16px;left:3px;top:3px;
  background:var(--offwhite);border-radius:50%;
  transition:transform var(--animation-fast);
}
.cb-toggle input:checked + .cb-toggle-slider{background:var(--lime)}
.cb-toggle input:checked + .cb-toggle-slider::before{transform:translateX(18px);background:var(--navy)}
.cb-toggle input:focus-visible + .cb-toggle-slider{box-shadow:0 0 0 3px rgba(193,255,114,.3)}

.cb-actions{
  display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;
}
.cb-btn{
  font-family:var(--font);font-weight:600;
  font-size:12px;letter-spacing:.05em;text-transform:uppercase;
  padding:11px 18px;border-radius:6px;cursor:pointer;
  border:none;
  transition:transform var(--animation-fast), background var(--animation-fast);
}
.cb-btn-ghost{
  background:rgba(255,255,255,.04);
  color:rgba(240,235,232,.85);
  border:1px solid rgba(240,235,232,.12);
}
.cb-btn-ghost:hover{background:rgba(255,255,255,.08)}
.cb-btn-accept{
  background:var(--lime);
  color:var(--navy);
  margin-left:auto;
}
.cb-btn-accept:hover{transform:translateY(-1px);background:#d4ff8d}
.cb-footer{
  margin-top:14px;
  font-size:11px;
  color:rgba(240,235,232,.4);
  letter-spacing:.04em;
}
.cb-footer a{color:rgba(240,235,232,.6);text-decoration:underline}
.cb-footer a:hover{color:var(--lime)}

@media (max-width: 600px){
  #si-cookie-banner{bottom:12px;left:12px;right:12px}
  #si-cookie-banner .cb-card{padding:20px 22px}
  .cb-actions{flex-direction:column}
  .cb-btn-accept{margin-left:0;order:-1}
}

/* ============ HONEYPOT TRAP — invisível pra humano, visível pra bot ============ */
.hp-trap{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* ============ ACCESSIBILITY — FOCUS STATES (WCAG 2.1 AA) ============ */
/* Outline em todos elementos focáveis via teclado. Lime fica visível no navy. */
:focus{outline:none}
:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:3px;
  border-radius:2px;
  transition:outline-offset var(--animation-fast);
}
/* Para botões e CTAs, halo maior */
a:focus-visible,
button:focus-visible,
.btn-cta:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-dark:focus-visible,
[role="button"]:focus-visible{
  outline-offset:4px;
  box-shadow:0 0 0 4px rgba(193,255,114,.15);
}
/* Inputs/textarea — outline + lime border */
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:2px;
  border-color:var(--lime) !important;
}
/* Skip-to-content link (escondido até foco) */
.skip-to-content{
  position:absolute;
  top:-100px;
  left:24px;
  z-index:10000;
  background:var(--lime);
  color:var(--navy);
  padding:14px 24px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:4px;
  transition:top var(--animation-fast);
}
.skip-to-content:focus-visible{
  top:24px;
  outline:none;
  box-shadow:0 4px 24px rgba(0,0,0,.3);
}

/* ============ VALORES + MANIFESTO (originalmente inline em sobre.html) ============ */
/* Migrado pra global pra poder reaproveitar em cases.html */
.valores-section{
  background:var(--navy);
  padding:120px 48px;
  border-top:1px solid rgba(240,235,232,.05);
}
.valores-inner{max-width:1300px;margin:0 auto}
.valores-header{text-align:center;max-width:780px;margin:0 auto 80px}
.valores-title{
  font-size:clamp(36px,4.2vw,60px);
  font-weight:700;line-height:1;letter-spacing:-.03em;
  color:var(--offwhite);margin-bottom:24px;
}
.valores-title .accent{color:var(--orange);font-style:italic}
.valores-sub{
  font-size:17px;line-height:1.5;color:rgba(240,235,232,.6);
}
.valores-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.valor-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(240,235,232,.08);
  border-top:3px solid var(--lime);
  padding:40px 32px;
  transition:transform var(--animation-fast);
}
.valor-card:hover{transform:translateY(-4px)}
.valor-num{
  font-size:12px;letter-spacing:.25em;color:var(--lime);
  font-weight:600;margin-bottom:16px;
}
.valor-title{
  font-size:22px;font-weight:600;color:var(--offwhite);
  margin-bottom:16px;letter-spacing:-.02em;
}
.valor-text{
  font-size:14px;line-height:1.6;color:rgba(240,235,232,.65);
}

/* MANIFESTO FINAL (estilo serif gigante) */
.manifesto-section{
  background:var(--navy);
  padding:120px 48px;
  border-top:1px solid rgba(240,235,232,.05);
  text-align:center;
}
.manifesto-inner{max-width:880px;margin:0 auto}
.manifesto-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--orange);margin-bottom:32px;font-weight:600;
}
.manifesto-eyebrow span{width:32px;height:1px;background:var(--orange);display:inline-block}
.manifesto-text{
  font-size:clamp(24px,2.8vw,38px);
  font-weight:600;line-height:1.3;letter-spacing:-.02em;
  color:var(--offwhite);
}
.manifesto-text em{color:var(--orange);font-style:italic;font-weight:700}
.manifesto-sign{
  margin-top:40px;
  font-size:13px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(240,235,232,.5);
}
@media (max-width: 900px){
  .valores-section,.manifesto-section{padding:80px 24px}
  .valores-grid{grid-template-columns:1fr;gap:16px}
}

/* ============ POLIMENTO INSPIRADO NO LANDO NORRIS ============ */
/* Aplica tokens de motion global em elementos interativos chave.
   Não muda CSS antigo agressivamente — só onde dá ganho real. */

/* === MASK GRADIENT NOS MARQUEES === */
/* Logos das empresas / canais entram e saem com fade nas bordas */
.logos-marquee-wrap,
.canais-marquee-wrap,
.marquee-row,
[class*="marquee-wrap"],
[data-marquee-track]{
  -webkit-mask-image:linear-gradient(90deg,
    hsla(0,0%,100%,0) 0%,
    #000 8%,
    #000 92%,
    hsla(0,0%,100%,0) 100%);
  mask-image:linear-gradient(90deg,
    hsla(0,0%,100%,0) 0%,
    #000 8%,
    #000 92%,
    hsla(0,0%,100%,0) 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

/* === HOVER REFINADO NOS PRINTS DE CASES === */
/* Print do gerenciador zoom in sutil + filtro intensifica quando passa mouse */
.ch-slide-image-wrap{
  overflow:hidden;
  position:relative;
}
.ch-slide-image-wrap img{
  transition:transform var(--animation-default), filter var(--animation-default);
  will-change:transform;
}
.ch-slide:hover .ch-slide-image-wrap img,
.ch-slide-image:hover img{
  transform:scale(1.035);
  filter:contrast(1.08) brightness(1.04) saturate(1.06);
}

/* Idem pros prints do deep dive (case-list, se visível) */
.case-image-slot.filled{
  overflow:hidden;
}
.case-image-slot.filled .case-print-img{
  transition:transform var(--animation-default), filter var(--animation-default);
  will-change:transform;
}
.case-image-slot.filled:hover .case-print-img{
  transform:scale(1.03);
  filter:contrast(1.08) brightness(1.04);
}

/* === MICRO INTERACTIONS — BTNs com easing premium === */
/* Atualiza só o easing (mantém durations curtas pra feedback rápido) */
.btn-cta,
.btn-primary,
.btn-secondary,
.btn-dark{
  transition-timing-function:var(--cubic-default) !important;
}
.btn-cta:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-dark:hover{
  transition-timing-function:var(--cubic-snap) !important;
}

/* === CARDS COM EASING PREMIUM === */
.case-card,
.metodo-step,
.logo-card,
.agencia-card,
.dif-card,
.trust-card,
.contato-card{
  transition:
    transform var(--animation-fast),
    border-color var(--animation-default),
    background-color var(--animation-default),
    box-shadow var(--animation-default) !important;
}

/* === IMAGE REVEALS — clip-path elíptico estilo Lando === */
/* Aplicável onde tiver .reveal-clip — opt-in */
.reveal-clip{
  clip-path:ellipse(100% 50% at 50% 50%);
  transition:clip-path var(--animation-default), transform var(--animation-default);
}
.reveal-clip:hover{
  clip-path:ellipse(85% 50% at 50% 50%);
  transform:scale(1.02);
}

/* === LINKS COM UNDERLINE ANIMADO === */
/* Já tem em alguns lugares — refina o easing */
nav a::after,
.footer-link::after{
  transition:width var(--animation-fast) !important;
}

/* === HEADER/NAV SUTIL EM SCROLL === */
/* Quando rola, o header ganha leve backdrop blur (modernidade Lando) */
#header,
header{
  transition:background var(--animation-fast), backdrop-filter var(--animation-fast), border-color var(--animation-fast);
}
#header.scrolled,
header.scrolled{
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  background:rgba(0, 22, 57, 0.65) !important;
  border-bottom-color:rgba(193, 255, 114, 0.08);
}
