/* =========================================================
   01. ROOT / RESET / BASE
========================================================= */
:root{
  --bg: #0B0B0F;
  --bg2:#07070A;
  --white:#F5F6FA;
  --muted: rgba(245,246,250,.78);
  --gold:#D7B56D;
  --gold2:#B8924B;
  --line: rgba(215,181,109,.28);
  --shadow: 0 20px 60px rgba(0,0,0,.55);
  --radius: 18px;
  --max: 1200px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  background:
    radial-gradient(1200px 700px at 70% 10%, rgba(215,181,109,.10), transparent 55%),
    radial-gradient(900px 600px at 20% 15%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  color: rgba(245,246,250,.92);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing:.1px;
  overflow-x:hidden;
}

a{ color: inherit; text-decoration:none; }

.wrap{
  width:min(var(--max), calc(100% - 64px));
  margin:0 auto;
}

.muted{
  color: rgba(245,246,250,.72);
  line-height:1.8;
  max-width:80ch;
}

.gold{
  color: var(--gold);
  text-shadow: 0 0 22px rgba(215,181,109,.18);
}

/* =========================================================
   02. HEADER / NAVBAR
========================================================= */
header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background: rgba(5,6,10,.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(215,181,109,.14);
  transition:
    background .35s ease,
    backdrop-filter .35s ease,
    -webkit-backdrop-filter .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

header.scrolled{
  background: rgba(5,6,10,.42);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(215,181,109,.22);
  box-shadow: 0 10px 34px rgba(0,0,0,.22);
}

header .wrap{
  width: min(var(--max), calc(100% - 64px));
  margin: 0 auto;
}

.topbar{
  height: 92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:0 26px;
  background: transparent;
}

.brand{
  display:flex;
  align-items:center;
  flex: 0 0 auto;
}

.brand img{
  height: 62px;
  width: auto;
  display: block;
}

nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  flex: 1 1 auto;
  font-family: Rajdhani, sans-serif;
  font-weight:600;
  letter-spacing:.9px;
  text-transform:uppercase;
  font-size:15px;
}

nav a{
  opacity:.86;
  position:relative;
  padding:10px 0;
  transition:opacity .25s ease;
}

nav a:hover{ opacity:1; }

nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:4px;
  height:2px;
  width:0%;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transition:width .25s ease;
  opacity:.9;
}

nav a:hover::after{ width:100%; }

.cta-top{
  display:flex;
  gap:12px;
  align-items:center;
  flex: 0 0 auto;
}

.gold-line{
  display:none;
}

/* =========================================================
   03. BUTTONS
========================================================= */
.btn{
  border-radius:999px;
  padding:12px 16px;
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    border-color .18s ease;
  user-select:none;
  white-space:nowrap;
}

.btn-primary{
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold2) 100%);
  color:#17130C;
  box-shadow: 0 14px 34px rgba(215,181,109,.22);
  border: 1px solid rgba(215,181,109,.55);
}

.btn-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 46px rgba(215,181,109,.28);
}

.btn-ghost{
  background: transparent;
  border: 1px solid rgba(245,246,250,.28);
  color: var(--white);
  opacity:.92;
}

.btn-ghost:hover{
  transform: translateY(-1px);
  border-color: rgba(215,181,109,.45);
}

/* =========================================================
   04. HERO
========================================================= */
.hero{
  --hero-shift: 0px;
  --hero-scale: 1;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 70% 40%, rgba(210, 20, 32, .34) 0%, rgba(160, 0, 20, .18) 24%, rgba(0,0,0,0) 52%),
    radial-gradient(circle at 80% 28%, rgba(255,150,70,.10) 0%, rgba(255,150,70,0) 18%),
    radial-gradient(circle at 55% 58%, rgba(115,0,20,.14) 0%, rgba(115,0,20,0) 36%),
    linear-gradient(90deg, #050505 0%, #090203 38%, #170204 62%, #060606 100%);
}

.hero::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 26%),
    radial-gradient(circle at 82% 62%, rgba(255,100,100,.07) 0%, rgba(255,100,100,0) 22%);
  mix-blend-mode: screen;
  opacity: .65;
  animation: heroGlowPulse 5.5s ease-in-out infinite alternate;
}

.hero::after{
  content: "";
  position: absolute;
  inset: -10%;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 28% 42%, rgba(255, 40, 55, 0.08) 0%, rgba(255,40,55,0) 22%),
    radial-gradient(circle at 72% 40%, rgba(255, 120, 0, 0.07) 0%, rgba(255,120,0,0) 18%),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0.00) 0px,
      rgba(255,255,255,0.00) 42px,
      rgba(255,72,72,0.022) 43px,
      rgba(255,72,72,0.022) 44px
    ),
    linear-gradient(
      114deg,
      rgba(255,0,50,0.00) 0%,
      rgba(255,0,50,0.07) 44%,
      rgba(255,185,75,0.05) 50%,
      rgba(255,0,50,0.00) 56%
    );
  mix-blend-mode: screen;
  opacity: .72;
  transform: translateY(var(--hero-shift)) scale(var(--hero-scale));
  animation: heroProjectionMove 8s ease-in-out infinite alternate;
}

.hero-grid-lines,
.hero-particles,
.hero-scan,
.hero-beam{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.hero-grid-lines{
  z-index:2;
  background-image:
    linear-gradient(rgba(255,255,255,.050) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity:.28;
  mix-blend-mode: screen;
  animation: heroGridMove 16s linear infinite;
}

.hero-particles{
  z-index:2;
  background:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.24) 0 1.5px, transparent 2px),
    radial-gradient(circle at 28% 70%, rgba(255,130,130,.25) 0 1.5px, transparent 2px),
    radial-gradient(circle at 44% 30%, rgba(255,220,180,.20) 0 1.5px, transparent 2px),
    radial-gradient(circle at 62% 58%, rgba(255,255,255,.20) 0 1.5px, transparent 2px),
    radial-gradient(circle at 78% 26%, rgba(255,120,120,.18) 0 1.5px, transparent 2px),
    radial-gradient(circle at 86% 70%, rgba(255,255,255,.18) 0 1.5px, transparent 2px);
  opacity:.45;
  filter: blur(.2px);
  animation: heroParticlesFloat 10s ease-in-out infinite alternate;
}

.hero-scan{
  display:none;
}

.hero-beam{
  z-index:3;
  background:
    linear-gradient(114deg, rgba(255,0,40,0) 0%, rgba(255,0,40,.08) 44%, rgba(255,190,70,.05) 50%, rgba(255,0,40,0) 58%),
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.040) 48%, rgba(255,255,255,0) 52%, rgba(255,255,255,0) 100%);
  mix-blend-mode: screen;
  opacity: .55;
  animation: heroBeamMove 6.5s ease-in-out infinite alternate;
}

@keyframes heroGlowPulse{
  0%{ opacity:.35; transform: scale(1); }
  100%{ opacity:.78; transform: scale(1.04); }
}

@keyframes heroProjectionMove{
  0%{ opacity:.48; }
  50%{ opacity:.72; }
  100%{ opacity:.88; }
}

@keyframes heroGridMove{
  0%{ transform: translateY(0px); }
  100%{ transform: translateY(64px); }
}

@keyframes heroParticlesFloat{
  0%{ transform: translate3d(0,0,0); opacity:.28; }
  100%{ transform: translate3d(14px,-22px,0); opacity:.50; }
}

@keyframes heroScanPass{
  0%{ transform: translateY(-100%); opacity:0; }
  8%{ opacity:.18; }
  18%{ opacity:.55; }
  32%{ opacity:.18; }
  100%{ transform: translateY(100%); opacity:0; }
}

@keyframes heroBeamMove{
  0%{ transform: translateX(-2%) scaleX(1); opacity:.24; }
  100%{ transform: translateX(2%) scaleX(1.04); opacity:.62; }
}

.hero-grid{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  align-items:center;
  min-height: 430px;
  padding: 70px 0 0;
}

.hero-content{
  position: relative;
  z-index: 5;
  margin-top: 0px;
}

.kicker{
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color: rgba(215,181,109,.95);
  font-size:14px;
  margin-bottom:16px;
  text-shadow: 0 0 18px rgba(215,181,109,.12);
}

h1{
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size: clamp(40px, 3.4vw, 58px);
  line-height:.98;
  margin:0 0 16px;
}

.hero-title{
  position: relative;
  display: block;
  width: 100%;
  max-width: 620px;
  min-height: 220px;
  margin: 0 0 18px;
  transform: translateY(calc(var(--hero-shift) * -0.22)) scale(var(--hero-scale));
  transform-origin: left top;
}

.hero-title span{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  display:block;
  margin:0;
  opacity:0;
  transform: translateY(16px) scale(.985);
  animation: heroTitleSwap 8s infinite;
  will-change: transform, opacity;
}

.hero-title span:nth-child(2){
  animation-delay:4s;
}

.hero-title strong{
  color: var(--gold);
  text-shadow: 0 0 20px rgba(215,181,109,.18);
}

@keyframes heroTitleSwap{
  0%{ opacity:0; transform: translateY(16px) scale(.985); }
  8%{ opacity:1; transform: translateY(0) scale(1.008); }
  42%{ opacity:1; transform: translateY(0) scale(1.012); }
  50%{ opacity:0; transform: translateY(-12px) scale(1); }
  100%{ opacity:0; transform: translateY(-12px) scale(1); }
}

.h1-sub{
  font-size: clamp(16px, 1.2vw, 18px);
  color: var(--muted);
  line-height:1.6;
  max-width:54ch;
  margin-bottom:26px;
}

.hero-actions{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:22px;
  flex-wrap: wrap;
}

.trust{
  display:flex;
  gap:22px;
  max-width:620px;
  margin-top:22px;
  font-size:13.5px;
  letter-spacing:.3px;
}

.trust span{
  opacity:.92;
}

.trust .dot{
  width:6px;
  height:6px;
  background:linear-gradient(135deg,#d7b56d,#f0d48a);
  box-shadow:0 0 8px rgba(215,181,109,.5);
}

.trust-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color: rgba(245,246,250,.72);
  font-size:13px;
  line-height:1.35;
}

.trust-item::before{
  content:"•";
  color: rgba(215,181,109,.95);
  font-size:18px;
  line-height:1;
  margin-top:-1px;
  flex:0 0 auto;
}

/* =========================================================
   05. HERO VISUAL / PERSONAGEM / SÍMBOLO
========================================================= */
.hero-panel{
  position:absolute;
  width:520px;
  height:520px;
  top:-6px;
  right:72px;
  z-index:1;
  border-radius:22px;
  overflow:hidden;
  opacity:.98;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(4,4,8,.26) 0%, rgba(4,4,8,.68) 100%),
    radial-gradient(circle at 50% 45%, rgba(0,0,0,0) 0%, rgba(0,0,0,.26) 34%, rgba(0,0,0,.70) 78%, rgba(0,0,0,.90) 100%),
    url('../img/hero-authority-bg.jpg');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-blend-mode: multiply, multiply, normal;
  box-shadow:
    0 40px 80px rgba(0,0,0,.58),
    inset 0 0 140px rgba(255,0,0,.06),
    inset 0 0 80px rgba(255,160,80,.03),
    inset 0 -120px 140px rgba(0,0,0,.72),
    inset 0 0 0 1px rgba(255,255,255,.03);
  transform:
    perspective(1200px)
    rotateY(-10deg)
    rotateX(4deg)
    translateY(calc(var(--hero-shift) * 0.18));
  filter: blur(.2px) saturate(.82) brightness(.72) contrast(1.02);
  animation: heroPanelFloat 8s ease-in-out infinite alternate;
}
.hero-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.18) 22%, rgba(0,0,0,.14) 56%, rgba(0,0,0,.82) 100%),
    radial-gradient(circle at 50% 50%, rgba(0,0,0,0) 0%, rgba(0,0,0,.12) 34%, rgba(0,0,0,.64) 100%);
  mix-blend-mode:multiply;
  opacity:.96;
}
.hero-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.00) 0px, rgba(255,255,255,0.00) 39px, rgba(255,90,90,0.020) 40px, rgba(255,90,90,0.020) 41px),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    radial-gradient(circle at 50% 18%, rgba(255,120,60,.10) 0%, transparent 28%);
  background-size: auto, 34px 34px, 34px 34px, auto;
  mix-blend-mode:screen;
  opacity:.22;
}
.hero-visual{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  min-height: 380px;
  margin-top: -10px;
  perspective:1200px;
  z-index:4;
}

.hero-person{
  width:500px;
  max-width:100%;
  position:relative;
  z-index:4;
  transform: translateY(calc(20px + var(--hero-shift) * 0.40));
  filter:
    drop-shadow(0 40px 80px rgba(0,0,0,.85))
    drop-shadow(0 0 28px rgba(255,45,45,.16))
    drop-shadow(0 0 36px rgba(215,181,109,.10));
  animation: subtleFloat 7.4s ease-in-out infinite;
  pointer-events:none;
  user-select:none;
}

.hero-symbol{
  position:absolute;
  z-index:6;
  width:210px;
  top:46%;
  left:50%;
  transform: translate(-50%,-50%);
  animation: holoMotion 5.6s ease-in-out infinite;
  filter:
    drop-shadow(0 0 26px rgba(255,52,52,.34))
    drop-shadow(0 0 34px rgba(215,181,109,.48));
  pointer-events:none;
  user-select:none;
}

.hero-tech-overlay{
  position:absolute;
  width: 840px;
  max-width: 135%;
  top: 48%;
  left: 52%;
  transform: translate(-50%, calc(-50% + var(--hero-shift) * 0.30))
             scale(calc(1 + (var(--hero-scale) - 1) * 0.55));
  z-index: 3;
  opacity: .24;
  mix-blend-mode: screen;
  pointer-events:none;
  user-select:none;
  filter:
    drop-shadow(0 0 24px rgba(255,40,40,.18))
    drop-shadow(0 0 26px rgba(215,181,109,.10));
}

@keyframes heroPanelFloat{
  0%{
    transform:
      perspective(1200px)
      rotateY(-10deg)
      rotateX(4deg)
      translateY(calc(var(--hero-shift) * 0.18));
    opacity:.72;
  }
  100%{
    transform:
      perspective(1200px)
      rotateY(-12deg)
      rotateX(5deg)
      translateY(calc(-10px + (var(--hero-shift) * 0.18)));
    opacity:.90;
  }
}

@keyframes subtleFloat{
  0%{ transform: translateY(calc(20px + var(--hero-shift) * 0.40)); }
  50%{ transform: translateY(calc(10px + var(--hero-shift) * 0.40)); }
  100%{ transform: translateY(calc(20px + var(--hero-shift) * 0.40)); }
}

@keyframes holoMotion{
  0%{ transform: translate(-50%, calc(-50% + var(--hero-shift) * 0.20)) rotateY(0deg) scale(1); }
  50%{ transform: translate(-50%, calc(-53% + var(--hero-shift) * 0.20)) rotateY(7deg) scale(1.06); }
  100%{ transform: translate(-50%, calc(-50% + var(--hero-shift) * 0.20)) rotateY(0deg) scale(1); }
}

/* =========================================================
   06. SECTIONS BASE
========================================================= */
section{
  padding: 86px 0;
}

.section-title{
  font-family: Rajdhani, sans-serif;
  text-transform:uppercase;
  font-weight:700;
  letter-spacing:2px;
  color: rgba(215,181,109,.92);
  font-size: 14px;
  margin: 0 0 16px;
}

/* =========================================================
   07. MANIFESTO
========================================================= */
.manifesto{
  position:relative;
  border-top: 1px solid rgba(255,255,255,.06);
  background:
    radial-gradient(900px 520px at 30% 10%, rgba(215,181,109,.09), transparent 60%),
    radial-gradient(900px 520px at 80% 40%, rgba(255,255,255,.05), transparent 65%);
}

.manifesto-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 26px;
  padding-top: 24px;
}

.line{
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size: clamp(22px, 2.1vw, 34px);
  line-height:1.12;
  margin:0;
  opacity:0;
  transform: translateY(18px);
  transition: opacity .8s ease, transform .8s ease;
}

.line strong{
  color: var(--gold);
  text-shadow: 0 0 22px rgba(215,181,109,.20);
  font-weight:800;
}

.line.reveal{
  opacity:1;
  transform: translateY(0);
}

.manifesto-card{
  margin-top:22px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--radius);
  background: rgba(255,255,255,.03);
  padding: 22px 22px;
  max-width: 920px;
  box-shadow: 0 16px 44px rgba(0,0,0,.35);
  opacity:0;
  transform: translateY(18px);
  transition: opacity .8s ease, transform .8s ease;
}

.manifesto-card.reveal{
  opacity:1;
  transform: translateY(0);
}

.manifesto-card p{
  margin:0;
  color: rgba(245,246,250,.78);
  line-height:1.8;
  font-size:15px;
}

/* =========================================================
   08. FOOTER
========================================================= */
footer{
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 42px 0;
  color: rgba(245,246,250,.64);
  font-size: 13px;
}

/* =========================================================
   09. RESPONSIVO
========================================================= */
@media (max-width: 980px){
  .wrap{
    width: calc(100% - 36px);
  }

  header .wrap{
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .topbar{
    height: 84px;
    padding: 0 18px;
    gap: 18px;
  }

  .brand img{
    height: 52px;
  }

  nav{
    display:none;
  }

  .hero{
    padding: 0;
  }

  .hero-grid-lines{
    background-size: 46px 46px;
    opacity: .20;
  }

  .hero-grid{
    grid-template-columns: 1fr;
    min-height:auto;
    gap: 18px;
    padding: 108px 0 22px;
  }

  .hero-content{
    margin-top: -18px;
  }

  .hero-title{
    min-height: 170px;
    max-width: 100%;
  }

  .hero-visual{
    min-height: 420px;
  }

  .hero-panel{
    width: 430px;
    height: 430px;
    right: 50%;
    top: 12px;
    transform:
      perspective(1200px)
      rotateY(-8deg)
      rotateX(4deg)
      translateX(50%)
      translateY(calc(var(--hero-shift) * 0.14));
    opacity:.62;
    background-position:center top;
  }

  .hero-person{
    width: 520px;
  }

  .hero-symbol{
    width: 220px;
    top: 42%;
  }

  .hero-tech-overlay{
    width: 700px;
  }

  .hero-actions{
    gap: 12px;
  }

  .trust{
    gap: 14px;
  }
}

@media (max-width: 640px){
  .wrap{
    width: calc(100% - 28px);
  }

  .topbar{
    height: 78px;
    padding: 0 14px;
  }

  .brand img{
    height: 46px;
  }

  .hero-grid{
    padding: 98px 0 18px;
  }

  .kicker{
    font-size: 12px;
    letter-spacing: 1.7px;
    margin-bottom: 12px;
  }

  h1{
    font-size: clamp(34px, 10vw, 48px);
    line-height: .95;
  }

  .hero-title{
    min-height: 145px;
    margin-bottom: 14px;
  }

  .h1-sub{
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 22px;
  }

  .hero-actions .btn{
    width: 100%;
    justify-content: center;
  }

  .hero-visual{
    min-height: 420px;
  }

  .hero-panel{
    width: 330px;
    height: 330px;
    right: 50%;
    top: 26px;
    transform:
      perspective(1200px)
      rotateY(-6deg)
      rotateX(3deg)
      translateX(50%)
      translateY(calc(var(--hero-shift) * 0.10));
    opacity:.54;
    background-position:center top;
  }

  .hero-person{
    width: 420px;
    max-width: 108%;
  }

  .hero-symbol{
    width: 170px;
    top: 40%;
  }

  .hero-tech-overlay{
    width: 560px;
    max-width: 145%;
    opacity: .36;
  }

  .trust{
    font-size: 12px;
    gap: 10px;
  }
}
.hero{
  padding: 0 !important;
}


/* =========================================================
   02B. MOBILE MENU
========================================================= */
.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(215,181,109,.22);
  background:rgba(255,255,255,.03);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  padding:0;
  box-shadow: 0 8px 22px rgba(0,0,0,.20);
}

.menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background:rgba(245,246,250,.92);
  transition: transform .25s ease, opacity .25s ease;
}

.menu-toggle.is-active span:nth-child(1){
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle.is-active span:nth-child(2){
  opacity:0;
}

.menu-toggle.is-active span:nth-child(3){
  transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu{
  display:none;
}

body.menu-open{
  overflow:hidden;
}

/* =========================================================
   05B. HERO MOBILE ACTIONS
========================================================= */
@media (max-width: 980px){
  .menu-toggle{
    display:inline-flex;
    order:3;
    margin-left:8px;
  }

  .cta-top{
    display:none;
  }

.mobile-menu{
  position: fixed;
  inset: 0;
  padding: 86px 16px 120px;
  background: rgba(5,6,10,.94);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

  .mobile-menu.is-open{
    opacity:1;
    pointer-events:auto;
    transform: translateY(0);
  }

.mobile-menu-inner{
  margin-bottom: 26px;
  min-height: 300px;
  border:1px solid rgba(215,181,109,.18);
  border-radius:18px;
  background: linear-gradient(
  180deg,
  #05060A 0%,
  #07070C 100%
  );
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 20px 60px rgba(0,0,0,.38);
  padding:16px 12px 14px;
  display:grid;
  align-content:start;
  gap:14px;
  max-width: 100%;
}

.mobile-menu a{
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-size:15px;
  color:rgba(245,246,250,.92);
  padding:10px 8px;
  border-radius:12px;
}

.mobile-menu-ghost{
  margin-top: 6px;
}

  .mobile-menu a:not(.mobile-menu-ghost):not(.mobile-menu-cta):hover{
    background:rgba(255,255,255,.04);
  }

  .mobile-menu-ghost,
  .mobile-menu-cta{
    text-align:center;
    justify-content:center;
    display:flex;
    align-items:center;
    min-height:42px;
    border-radius:999px;
  }

  .mobile-menu-ghost{
    border:1px solid rgba(245,246,250,.24);
  }

  .mobile-menu-cta{
    background: linear-gradient(180deg, var(--gold) 0%, var(--gold2) 100%);
    color:#17130C !important;
    border:1px solid rgba(215,181,109,.52);
    box-shadow: 0 14px 34px rgba(215,181,109,.18);
  }

.menu-toggle.is-active{
  border-color: rgba(215,181,109,.5);
  background: rgba(255,255,255,.06);
}

  .hero-actions{
    gap:12px;
  }

  .hero-actions .btn{
    width:100%;
    justify-content:center;
  }
}

@media (max-width: 640px){
  .menu-toggle{
    width:42px;
    height:42px;
    border-radius:12px;
  }

.mobile-menu{
  padding:82px 10px 110px;
}

.mobile-menu-inner{
  min-height: 280px;
  gap:12px;
  padding:14px 11px 12px;
}

  .mobile-menu a{
    font-size:14px;
    padding:8px 6px;
  }

  .hero-panel{
    opacity:.50;
  }
}



/* ===== MENU FIX ===== */
.menu-toggle{
  position: relative;
  z-index: 1002;
  -webkit-tap-highlight-color: transparent;
}

.mobile-menu{
  z-index: 1001;
}

@media (max-width: 980px){
  header{
    overflow: visible;
  }

  .topbar{
    position: relative;
    z-index: 1002;
  }

  .mobile-menu{
    display:block;
    position:fixed;
    inset:0;
    padding:86px 16px 120px;
    background:#05060A;
    opacity:0;
    pointer-events:none;
    transform: translateY(-8px);
    transition: opacity .22s ease, transform .22s ease;
  }

  .mobile-menu.is-open{
    opacity:1;
    pointer-events:auto;
    transform: translateY(0);
  }
}

/* ===== MOBILE MENU FINAL FIX ===== */
@media (max-width: 980px){
  .mobile-menu{
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 86px 16px 120px !important;
    display: block !important;
    background: rgba(5,6,10,.96) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity .22s ease, transform .22s ease;
    overflow-y: auto;
  }

  .mobile-menu.is-open{
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .mobile-menu-inner{
    margin-bottom: 32px !important;
    min-height: 300px !important;
  }

  body.menu-open .hero-actions,
  body.menu-open .trust{
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

@media (max-width: 640px){
  .mobile-menu{
    padding: 82px 10px 120px !important;
  }

  .mobile-menu-inner{
    min-height: 280px !important;
    margin-bottom: 28px !important;
  }
}



/* =========================================================
   10. CASES IMPACTO
========================================================= */
.cases-section{
  position: relative;
  overflow: hidden;
  padding: 118px 0 108px;
  background: linear-gradient(180deg, #040507 0%, #05060b 100%);
}

.cases-bg,
.cases-noise{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.cases-bg{
  background:
    radial-gradient(900px 520px at 16% 26%, rgba(150,18,34,.20) 0%, rgba(150,18,34,0) 55%),
    radial-gradient(900px 520px at 82% 34%, rgba(20,74,155,.22) 0%, rgba(20,74,155,0) 52%),
    radial-gradient(700px 360px at 48% 60%, rgba(215,181,109,.08) 0%, rgba(215,181,109,0) 58%),
    linear-gradient(90deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,0) 22%, rgba(255,255,255,.018) 50%, rgba(255,255,255,0) 74%, rgba(255,255,255,.02) 100%);
  opacity: .95;
}

.cases-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 92px,
      rgba(255,255,255,.028) 93px,
      rgba(255,255,255,.028) 94px
    );
  opacity:.18;
  mix-blend-mode: screen;
}

.cases-noise{
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.05) 0 1px, transparent 1.5px),
    radial-gradient(circle at 82% 60%, rgba(255,255,255,.04) 0 1px, transparent 1.5px),
    radial-gradient(circle at 56% 34%, rgba(255,255,255,.03) 0 1px, transparent 1.5px);
  opacity:.18;
  filter: blur(.2px);
}

.cases-top{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns: .95fr .8fr;
  gap: 42px;
  align-items:end;
  margin-bottom: 42px;
}

.cases-heading{
  max-width: 620px;
}

.cases-title{
  margin:0;
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.2px;
  line-height:1.02;
  font-size: clamp(40px, 4vw, 72px);
  max-width: 560px;
  text-wrap: balance;
}

.cases-side{
  display:flex;
  justify-content:flex-end;
}

.cases-copy{
  margin:0;
  max-width: 35ch;
  color: rgba(245,246,250,.78);
  line-height:1.8;
  font-size: clamp(15px, 1.16vw, 18px);
  position:relative;
  padding-left: 24px;
}

.cases-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:1px;
  height: calc(100% - 8px);
  background: linear-gradient(180deg, rgba(215,181,109,.95), rgba(215,181,109,.10));
  box-shadow: 0 0 14px rgba(215,181,109,.18);
}

.cases-stage{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns: 1.28fr .92fr;
  gap: 22px;
  align-items:stretch;
}

.cases-stack{
  display:grid;
  grid-template-rows: 1fr 1fr;
  gap: 22px;
}

.case-card{
  position:relative;
  overflow:hidden;
  border-radius: 26px;
  min-height: 280px;
  border: 1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.022) 100%);
  box-shadow:
    0 24px 70px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 0 0 1px rgba(255,255,255,.015);
  isolation:isolate;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.case-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 12%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 24%),
    radial-gradient(circle at 82% 82%, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 24%);
  opacity:.8;
  pointer-events:none;
}

.case-card::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(215,181,109,.65), transparent);
  opacity:.45;
  pointer-events:none;
}

.case-card:hover{
  transform: translateY(-6px);
  border-color: rgba(215,181,109,.22);
  box-shadow:
    0 40px 120px rgba(0,0,0,.60),
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 0 0 1px rgba(255,255,255,.015);
}

.case-card-featured{
  min-height: 582px;
  background:
    linear-gradient(140deg, rgba(120,16,26,.12) 0%, rgba(255,255,255,.02) 36%, rgba(14,44,104,.10) 100%),
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.022) 100%);
}

.case-index{
  position:absolute;
  left:24px;
  top:22px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:82px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(215,181,109,.28);
  color: rgba(215,181,109,.95);
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  letter-spacing:1.4px;
  font-size:12px;
  text-transform:uppercase;
  background: rgba(6,7,10,.34);
  backdrop-filter: blur(8px);
}

.case-watermark{
  position:absolute;
  right:18px;
  bottom:-12px;
  z-index:1;
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  line-height:.8;
  letter-spacing:-2px;
  text-transform:uppercase;
  color: rgba(255,255,255,.05);
  text-shadow:
    0 0 42px rgba(255,255,255,.03),
    0 0 70px rgba(215,181,109,.05);
  pointer-events:none;
  user-select:none;
}

.case-card-featured .case-watermark{
  font-size: clamp(118px, 14vw, 230px);
  right:24px;
  bottom:-8px;
}

.case-card:not(.case-card-featured) .case-watermark{
  font-size: clamp(120px, 9vw, 170px);
  opacity: .14;
  right: 24px;
  bottom: -10px;
  letter-spacing:-2px;
  text-shadow:
    0 0 30px rgba(255,255,255,.05),
    0 0 50px rgba(215,181,109,.06);
}

.case-inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height: inherit;
  padding: 98px 28px 30px;
}

.case-meta{
  margin-bottom: 12px;
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:13px;
  color: rgba(215,181,109,.92);
}

.case-name{
  margin:0 0 14px;
  max-width: 14ch;
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  line-height: .96;
  letter-spacing: .5px;
  font-size: clamp(28px, 2.45vw, 48px);
}

.case-card:not(.case-card-featured) .case-name{
  max-width: 16ch;
  font-size: clamp(22px, 1.9vw, 34px);
}

.case-text{
  margin:0;
  max-width: 40ch;
  color: rgba(245,246,250,.74);
  font-size: 15px;
  line-height: 1.75;
}

/* CARD IA */
.case-card-ai{
  overflow:hidden;
}

.case-card-ai .case-watermark{
  right: 132px;
  bottom: -2px;
  font-size: 120px;
  opacity: .06;
}

.case-thumb{
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 170px;
  height: 250px;
  border-radius: 18px;
  overflow: hidden;
  opacity: .98;
  pointer-events: none;
  z-index: 2;
  box-shadow:
    0 18px 40px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.05);
}

.case-thumb::before{
  content:"";
  position:absolute;
  inset:-42px;
  background:
    radial-gradient(circle at center, rgba(255,180,80,.28), transparent 70%);
  filter:blur(28px);
  z-index:-1;
}

.case-thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position: center center;
  filter:
    contrast(1.05)
    brightness(.95)
    saturate(.92);
}

.case-card-ai::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:265px;
  background: linear-gradient(
    90deg,
    rgba(5,10,18,0) 0%,
    rgba(5,10,18,.38) 30%,
    rgba(5,10,18,.72) 58%,
    rgba(5,10,18,.96) 100%
  );
  pointer-events:none;
  z-index:1;
}

.case-card-ai .case-inner{
  padding-right: 205px;
}

.case-card-ai:hover .case-thumb{
  transform: translateY(-4px) scale(1.015);
  transition: transform .35s ease;
}

@media (max-width: 980px){
  .cases-section{
    padding: 96px 0 88px;
  }

  .cases-top,
  .cases-stage{
    grid-template-columns: 1fr;
  }

  .cases-top{
    gap: 22px;
    margin-bottom: 28px;
  }

  .cases-side{
    justify-content:flex-start;
  }

  .cases-heading,
  .cases-title{
    max-width: 520px;
  }

  .cases-stack{
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .case-card-featured{
    min-height: 430px;
  }

  .case-card{
    min-height: 250px;
  }

  .case-card-featured .case-watermark{
    font-size: clamp(102px, 22vw, 180px);
  }

  .case-card:not(.case-card-featured) .case-watermark{
  font-size: clamp(120px, 9vw, 170px);
  opacity: .14;
  right: 24px;
  bottom: -10px;
  letter-spacing:-2px;
  text-shadow:
    0 0 30px rgba(255,255,255,.05),
    0 0 50px rgba(215,181,109,.06);
}

  .case-thumb{
    width:150px;
    height:220px;
    right:16px;
    bottom:16px;
  }

  .case-card-ai .case-inner{
    padding-right: 180px;
  }

  .case-card-ai .case-watermark{
    right: 112px;
    font-size: 96px;
  }
}

@media (max-width: 640px){
  .cases-section{
    padding: 84px 0 78px;
  }

  .cases-title{
    max-width: 320px;
    font-size: clamp(34px, 13vw, 52px);
  }

  .cases-copy{
    padding-left: 18px;
    font-size: 15px;
  }

  .cases-stage,
  .cases-stack{
    gap: 16px;
  }

  .case-card{
    border-radius: 22px;
    min-height: 220px;
  }

  .case-card-featured{
    min-height: 370px;
  }

  .case-index{
    left:18px;
    top:18px;
    min-width:76px;
    height:32px;
    font-size:11px;
  }

  .case-inner{
    padding: 84px 20px 22px;
  }

  .case-name{
    font-size: clamp(24px, 8vw, 36px);
  }

  .case-card:not(.case-card-featured) .case-name{
    font-size: clamp(20px, 7vw, 28px);
  }

  .case-text{
    font-size: 14px;
    line-height: 1.65;
  }

  .case-thumb{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    height:190px;
    margin:18px 0 0;
    border-radius:16px;
  }

  .case-card-ai::after{
    display:none;
  }

  .case-card-ai .case-inner{
    padding-right: 20px;
  }

  .case-card-ai .case-watermark{
    right: 18px;
    bottom: 6px;
    font-size: 88px;
  }
}

/* =========================================================
   10. NOVA ORDEM / INTRO SECTIONS / PLACEHOLDERS
========================================================= */
.section-divider{
  position: relative;
}

.section-divider::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(215,181,109,.18), transparent);
}

.section-intro{
  background:
    radial-gradient(900px 520px at 20% 10%, rgba(215,181,109,.07), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.01) 0%, rgba(255,255,255,0) 100%);
}

.intro-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 36px;
  align-items:end;
}

.section-headline{
  margin: 0;
  font-family: Rajdhani, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .7px;
  line-height: .98;
  font-size: clamp(34px, 3vw, 54px);
  max-width: 12ch;
}

.intro-copy{
  margin:0;
  color: rgba(245,246,250,.74);
  line-height: 1.75;
  font-size: 16px;
  max-width: 56ch;
}

.placeholder-stage{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 30px;
}

.placeholder-card{
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%);
  box-shadow: 0 20px 50px rgba(0,0,0,.28);
  padding: 24px 22px 22px;
  min-height: 210px;
}

.placeholder-tag{
  display:inline-flex;
  margin-bottom: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(215,181,109,.26);
  color: rgba(215,181,109,.92);
  font-family: Rajdhani, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.placeholder-card strong{
  display:block;
  margin-bottom: 10px;
  font-family: Rajdhani, sans-serif;
  font-size: 24px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.placeholder-card p{
  margin:0;
  color: rgba(245,246,250,.70);
  line-height: 1.7;
  font-size: 15px;
}

/* =========================================================
   11. BLOCO CINEMATOGRÁFICO
========================================================= */
.cinematic-face{
  position: relative;
  min-height: 86vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(3,4,8,.92) 0%, rgba(7,8,12,.62) 34%, rgba(7,8,12,.48) 58%, rgba(3,4,8,.92) 100%),
    #06070A;
}

.cinematic-bg,
.cinematic-vignette{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.cinematic-bg{
  background:
    linear-gradient(90deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.40) 32%, rgba(0,0,0,.14) 52%, rgba(0,0,0,.50) 72%, rgba(0,0,0,.82) 100%),
    radial-gradient(circle at 24% 38%, rgba(0,120,255,.18) 0%, rgba(0,120,255,0) 22%),
    radial-gradient(circle at 72% 42%, rgba(255,48,48,.16) 0%, rgba(255,48,48,0) 20%),
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 34%),
    url('assets/img/cinematic-dr-schuntz.jpg');
  background-size: cover;
  background-position: center center;
  transform: scale(1.04);
  filter: saturate(.95) contrast(1.02) brightness(.78);
}

.cinematic-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 86px,
      rgba(255,255,255,.03) 87px,
      rgba(255,255,255,.03) 88px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 86px,
      rgba(255,255,255,.02) 87px,
      rgba(255,255,255,.02) 88px
    );
  mix-blend-mode: screen;
  opacity:.18;
}

.cinematic-vignette{
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,0) 24%, rgba(0,0,0,.24) 56%, rgba(0,0,0,.78) 100%);
}

.cinematic-shell{
  position:relative;
  z-index:3;
  width:min(1320px, calc(100% - 72px));
  display:grid;
  grid-template-columns: .95fr .8fr;
  gap: 28px;
  align-items:center;
}

.cinematic-copy{
  max-width: 520px;
}

.cinematic-copy-right{
  justify-self:end;
  align-self:end;
  text-align:left;
  max-width: 270px;
  padding-bottom: 20px;
}

.cinematic-kicker{
  margin:0 0 10px;
  font-family: Rajdhani, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: clamp(18px, 1.4vw, 24px);
  color: rgba(245,246,250,.86);
}

.cinematic-title{
  margin:0 0 18px;
  font-family: Rajdhani, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  line-height: .98;
  letter-spacing: .7px;
  font-size: clamp(38px, 4.4vw, 72px);
  max-width: 9.5ch;
}

.cinematic-text{
  margin:0;
  color: rgba(245,246,250,.78);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.8;
  max-width: 34ch;
}

.cinematic-copy-right p{
  margin:0;
  color: rgba(245,246,250,.70);
  font-size: clamp(14px, 1vw, 17px);
  line-height: 1.7;
}

/* =========================================================
   12. MANIFESTO MAIS TARDE
========================================================= */
.manifesto-late{
  padding-top: 98px;
}

.manifesto-intro{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 36px;
  align-items:end;
  margin-bottom: 22px;
}

.manifesto-grid-compact{
  gap: 18px;
  max-width: 980px;
}

.section-contact{
  padding-bottom: 104px;
}

/* =========================================================
   13. RESPONSIVO NOVOS BLOCOS
========================================================= */
@media (max-width: 980px){
  .intro-grid,
  .manifesto-intro,
  .cinematic-shell{
    grid-template-columns: 1fr;
  }

  .section-headline{
    max-width: 14ch;
  }

  .placeholder-stage{
    grid-template-columns: 1fr;
  }

  .cinematic-face{
    min-height: 78vh;
    padding: 88px 0;
  }

  .cinematic-shell{
    width: calc(100% - 36px);
    gap: 18px;
  }

  .cinematic-title{
    max-width: 11ch;
  }

  .cinematic-copy-right{
    justify-self:start;
    padding-bottom:0;
    max-width: 320px;
  }
}

@media (max-width: 640px){
  .section-headline{
    font-size: clamp(28px, 9vw, 40px);
    max-width: 13ch;
  }

  .intro-copy{
    font-size: 15px;
  }

  .placeholder-card{
    min-height: auto;
    padding: 20px 18px 18px;
  }

  .cinematic-face{
    min-height: 74vh;
    padding: 74px 0;
  }

  .cinematic-shell{
    width: calc(100% - 28px);
  }

  .cinematic-title{
    font-size: clamp(30px, 10vw, 44px);
    max-width: 12ch;
  }

  .cinematic-kicker{
    font-size: 16px;
  }

  .cinematic-copy-right{
    max-width: 220px;
  }
}


/* =========================================================
   99. CASES FINAL REFINO + SLIDER
========================================================= */
.cases-heading{
  max-width: 620px;
}

.cases-title{
  max-width: 620px !important;
  margin: 0;
  font-family: Rajdhani, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .2px !important;
  line-height: .98 !important;
  font-size: clamp(40px, 4vw, 72px) !important;
}

.cases-title span{
  display:block;
  white-space:nowrap;
}

.case-index{
  min-width: auto;
  padding: 0 16px;
}

.case-card-ai{
  overflow: hidden;
}

.case-card-ai .case-watermark{
  right: 130px;
  bottom: -4px;
  font-size: 118px;
  opacity: .06;
}

.case-card-ai .case-inner{
  padding-right: 212px;
}

.case-thumb-slider{
  position:absolute;
  right:18px;
  bottom:18px;
  width:170px;
  height:250px;
  border-radius:18px;
  overflow:hidden;
  pointer-events:none;
  z-index:2;
  box-shadow:
    0 18px 40px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.05);
}

.case-thumb-slider::before{
  content:"";
  position:absolute;
  inset:-42px;
  background: radial-gradient(circle at center, rgba(255,180,80,.28), transparent 70%);
  filter: blur(28px);
  z-index:0;
}

.case-thumb-slider::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 28%),
    linear-gradient(0deg, rgba(0,0,0,.18), rgba(0,0,0,0) 35%);
  z-index:2;
}

.case-thumb-slider img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:0;
  transform: translateX(16px) scale(1.02);
  transition: opacity .75s ease, transform .75s ease;
  filter: contrast(1.05) brightness(.95) saturate(.92);
  z-index:1;
}

.case-thumb-slider img.is-active{
  opacity:1;
  transform: translateX(0) scale(1);
}

.case-card-ai::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:265px;
  background: linear-gradient(
    90deg,
    rgba(5,10,18,0) 0%,
    rgba(5,10,18,.38) 30%,
    rgba(5,10,18,.72) 58%,
    rgba(5,10,18,.96) 100%
  );
  pointer-events:none;
  z-index:1;
}

.case-card-ai:hover .case-thumb-slider{
  transform: translateY(-4px) scale(1.015);
  transition: transform .35s ease;
}

@media (max-width: 980px){
  .cases-heading,
  .cases-title{
    max-width: 520px !important;
  }

  .cases-title span{
    white-space:normal;
  }

  .case-thumb-slider{
    width:150px;
    height:220px;
    right:16px;
    bottom:16px;
  }

  .case-card-ai .case-inner{
    padding-right: 180px;
  }

  .case-card-ai .case-watermark{
    right: 112px;
    font-size: 96px;
  }
}

@media (max-width: 640px){
  .cases-title{
    max-width: 320px !important;
    font-size: clamp(34px, 13vw, 52px) !important;
  }

  .cases-title span{
    white-space:normal;
  }

  .case-thumb-slider{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    height:190px;
    margin:18px 0 0;
    border-radius:16px;
  }

  .case-thumb-slider::after{
    border-radius:16px;
  }

  .case-card-ai::after{
    display:none;
  }

  .case-card-ai .case-inner{
    padding-right: 20px;
  }

  .case-card-ai .case-watermark{
    right: 18px;
    bottom: 6px;
    font-size: 88px;
  }
}


/* =========================================================
   100. CASES TITLE + SLIDER FINAL FIX
========================================================= */
.cases-top{
  grid-template-columns: minmax(620px, 1.12fr) minmax(320px, .88fr) !important;
  align-items:end !important;
}

.cases-heading{
  max-width: 680px !important;
}

.cases-title{
  max-width: 680px !important;
  width: 100% !important;
  font-size: clamp(42px, 4.2vw, 74px) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
  text-wrap: unset !important;
}

.cases-title span{
  display:block !important;
  white-space:nowrap !important;
}

.case-index{
  min-width: auto !important;
  padding: 0 16px !important;
}

.case-card-ai{
  overflow:hidden !important;
}

.case-card-ai .case-watermark{
  right: 132px !important;
  bottom: -4px !important;
  font-size: 118px !important;
  opacity: .06 !important;
}

.case-card-ai .case-inner{
  padding-right: 214px !important;
}

.case-thumb,
.case-thumb-slider{
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 170px !important;
  height: 250px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: 2 !important;
  box-shadow:
    0 18px 40px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.05) !important;
  transform: translateZ(0);
}

.case-thumb-slider::before{
  content:"";
  position:absolute;
  inset:-42px;
  background: radial-gradient(circle at center, rgba(255,180,80,.28), transparent 70%);
  filter: blur(28px);
  z-index:0;
}

.case-thumb-slider::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 28%),
    linear-gradient(0deg, rgba(0,0,0,.18), rgba(0,0,0,0) 35%);
  z-index:2;
}

.case-thumb-slider img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:0;
  transform: translateX(16px) scale(1.02);
  transition: opacity .75s ease, transform .75s ease;
  filter: contrast(1.05) brightness(.95) saturate(.92) !important;
  z-index:1;
}

.case-thumb-slider img.is-active{
  opacity:1 !important;
  transform: translateX(0) scale(1) !important;
}

.case-card-ai::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:265px;
  background: linear-gradient(
    90deg,
    rgba(5,10,18,0) 0%,
    rgba(5,10,18,.38) 30%,
    rgba(5,10,18,.72) 58%,
    rgba(5,10,18,.96) 100%
  );
  pointer-events:none;
  z-index:1;
}

.case-card-ai:hover .case-thumb-slider{
  transform: translateY(-4px) scale(1.015);
  transition: transform .35s ease;
}

@media (max-width: 980px){
  .cases-top{
    grid-template-columns: 1fr !important;
  }

  .cases-heading,
  .cases-title{
    max-width: 560px !important;
  }

  .cases-title span{
    white-space:normal !important;
  }

  .case-thumb-slider{
    width:150px !important;
    height:220px !important;
    right:16px !important;
    bottom:16px !important;
  }

  .case-card-ai .case-inner{
    padding-right: 180px !important;
  }

  .case-card-ai .case-watermark{
    right: 112px !important;
    font-size: 96px !important;
  }
}

@media (max-width: 640px){
  .cases-title{
    max-width: 320px !important;
    font-size: clamp(34px, 13vw, 52px) !important;
  }

  .cases-title span{
    white-space:normal !important;
  }

  .case-thumb-slider{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    height:190px !important;
    margin:18px 0 0 !important;
    border-radius:16px !important;
  }

  .case-thumb-slider::after{
    border-radius:16px !important;
  }

  .case-card-ai::after{
    display:none !important;
  }

  .case-card-ai .case-inner{
    padding-right: 20px !important;
  }

  .case-card-ai .case-watermark{
    right: 18px !important;
    bottom: 6px !important;
    font-size: 88px !important;
  }
}


/* =========================================================
   101. BAMBINELLA STACK CARDS + SCAN REVEAL
========================================================= */
.case-card-ai{
  perspective: 1200px;
}

.case-card-ai .case-inner{
  position: relative;
  z-index: 3;
}

.case-thumb-slider{
  isolation: isolate;
  overflow: visible !important;
  background: transparent;
  border-radius: 22px !important;
  box-shadow: none !important;
}

.case-thumb-slider::before{
  content:"";
  position:absolute;
  inset:auto 10px 6px 18px;
  height: 78%;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.01)),
    linear-gradient(135deg, rgba(18,28,54,.62), rgba(10,12,20,.38));
  border: 1px solid rgba(255,255,255,.05);
  box-shadow:
    0 18px 44px rgba(0,0,0,.32),
    0 0 0 1px rgba(255,255,255,.02) inset;
  transform: translate3d(-18px,-10px,0) scale(.92) rotate(-5deg);
  z-index: 0;
  opacity: .72;
  filter: blur(.2px);
}

.case-thumb-slider::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 20px;
  background:
    linear-gradient(115deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.03) 26%,
      rgba(120,190,255,.16) 46%,
      rgba(255,220,160,.20) 50%,
      rgba(255,255,255,.03) 54%,
      rgba(255,255,255,0) 100%);
  mix-blend-mode: screen;
  transform: translateX(-145%);
  animation: bambiScan 4.8s ease-in-out infinite;
  z-index: 4;
  pointer-events: none;
}

.case-thumb-slider img{
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.06);
  box-shadow:
    0 20px 50px rgba(0,0,0,.46),
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 0 26px rgba(105,160,255,.06);
  opacity: .22;
  transform: translate3d(20px,-8px,0) scale(.9) rotate(4deg);
  filter: saturate(.78) brightness(.7) blur(.35px);
  z-index: 1;
  transition:
    opacity .85s ease,
    transform .95s cubic-bezier(.2,.7,.15,1),
    filter .85s ease,
    box-shadow .85s ease;
}

.case-thumb-slider img.is-active{
  opacity: 1 !important;
  transform: translate3d(0,0,0) scale(1) rotate(0deg) !important;
  filter: contrast(1.06) brightness(.96) saturate(.94) !important;
  z-index: 3;
  box-shadow:
    0 26px 70px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 0 34px rgba(255,180,80,.10),
    0 0 34px rgba(80,130,255,.08);
}

.case-card-ai:hover .case-thumb-slider img.is-active{
  transform: translate3d(0,-3px,0) scale(1.012) rotate(0deg) !important;
}

.case-card-ai .case-watermark{
  opacity: .065 !important;
}

@keyframes bambiScan{
  0%, 18%{
    transform: translateX(-145%);
    opacity: 0;
  }
  26%{
    opacity: .55;
  }
  44%{
    transform: translateX(145%);
    opacity: .85;
  }
  52%{
    opacity: 0;
  }
  100%{
    transform: translateX(145%);
    opacity: 0;
  }
}

@media (max-width: 980px){
  .case-thumb-slider{
    width: 154px !important;
    height: 228px !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  .case-thumb-slider::before{
    inset:auto 8px 6px 12px;
    height: 76%;
    transform: translate3d(-14px,-8px,0) scale(.92) rotate(-4deg);
  }

  .case-thumb-slider img{
    transform: translate3d(14px,-6px,0) scale(.92) rotate(3deg);
  }
}

@media (max-width: 640px){
  .case-card-ai{
    overflow: hidden;
  }

  .case-thumb-slider{
    width: 100% !important;
    height: 320px !important;
    margin: 20px 0 0 !important;
    border-radius: 18px !important;
  }

  .case-thumb-slider::before{
    inset:auto 10px 8px 14px;
    height: 84%;
    transform: translate3d(-10px,-6px,0) scale(.96) rotate(-3deg);
    border-radius: 16px;
  }

  .case-thumb-slider::after{
    border-radius: 18px;
    animation-duration: 5.2s;
  }

  .case-thumb-slider img{
    border-radius: 18px;
    transform: translate3d(10px,-4px,0) scale(.95) rotate(2deg);
    object-position: center top !important;
  }

  .case-thumb-slider img.is-active{
    transform: translate3d(0,0,0) scale(1) rotate(0deg) !important;
  }
}


/* =========================================================
   102. HERO / MOBILE / BAMBINELLA FINAL ADJUST
========================================================= */

/* HERO SYMBOL DESCE UM POUCO NO DESKTOP */
.hero-symbol{
  top: 48.6% !important;
}

/* HERO TABLET */
@media (max-width: 980px){
  .hero-symbol{
    top: 45.8% !important;
  }
}

/* HERO MOBILE: MAIS RESPIRO NO KICKER E SÍMBOLO MAIS BAIXO */
@media (max-width: 640px){
  .hero-grid{
    padding-top: 108px !important;
  }

  .hero-content{
    margin-top: 6px !important;
  }

  .kicker{
    margin-top: 14px !important;
    margin-bottom: 16px !important;
  }

  .hero-title{
    min-height: 158px !important;
  }

  .hero-visual{
    min-height: 410px !important;
  }

  .hero-symbol{
    top: 48.8% !important;
    width: 172px !important;
  }
}

/* =========================================================
   103. BAMBINELLA SCAN CLIP + SPACING FIX
========================================================= */

/* prende totalmente o efeito dentro da área da thumb */
.case-thumb-slider{
  overflow: hidden !important;
  isolation: isolate !important;
  border-radius: 20px !important;
}

/* card de fundo permanece com profundidade, mas sem vazar para fora */
.case-thumb-slider::before{
  content:"";
  position:absolute;
  inset: 10px 10px 10px 10px !important;
  height: auto !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)),
    linear-gradient(135deg, rgba(18,28,54,.40), rgba(10,12,20,.20));
  border: 1px solid rgba(255,255,255,.04);
  box-shadow:
    0 14px 34px rgba(0,0,0,.26),
    0 0 0 1px rgba(255,255,255,.02) inset;
  transform: translate3d(-10px,-8px,0) scale(.965) rotate(-4deg) !important;
  z-index: 0 !important;
  opacity: .52 !important;
  filter: none !important;
}

/* faixa de scan clipada e sem atravessar o texto */
.case-thumb-slider::after{
  content:"";
  position:absolute;
  inset:0 !important;
  border-radius:20px !important;
  background:
    linear-gradient(
      115deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.02) 28%,
      rgba(120,190,255,.12) 46%,
      rgba(255,220,160,.18) 50%,
      rgba(255,255,255,.02) 54%,
      rgba(255,255,255,0) 100%
    ) !important;
  mix-blend-mode: screen;
  transform: translateX(-135%) !important;
  animation: bambiScanClip 4.8s ease-in-out infinite !important;
  z-index: 4 !important;
  pointer-events: none;
  opacity: 0;
}

@keyframes bambiScanClip{
  0%, 18%{
    transform: translateX(-135%);
    opacity: 0;
  }
  28%{
    opacity: .44;
  }
  44%{
    transform: translateX(135%);
    opacity: .72;
  }
  52%, 100%{
    transform: translateX(135%);
    opacity: 0;
  }
}

/* mantém a imagem ativa em destaque */
.case-thumb-slider img{
  z-index: 1 !important;
}

.case-thumb-slider img.is-active{
  z-index: 3 !important;
}

/* MOBILE: texto mais próximo da imagem no card 03 */
@media (max-width: 640px){
  .case-thumb-slider{
    height: 230px !important;
    margin: 16px 0 4px !important;
    border-radius: 18px !important;
  }

  .case-thumb-slider::before{
    inset: 10px 10px 10px 10px !important;
    border-radius: 16px !important;
    transform: translate3d(-8px,-6px,0) scale(.972) rotate(-3deg) !important;
    opacity: .44 !important;
  }

  .case-thumb-slider::after{
    border-radius: 18px !important;
    animation-duration: 5s !important;
  }

  .case-thumb-slider img{
    border-radius: 18px !important;
    object-position: center top !important;
    transform: translate3d(8px,-3px,0) scale(.96) rotate(2deg) !important;
  }

  .case-thumb-slider img.is-active{
    transform: translate3d(0,0,0) scale(1) rotate(0deg) !important;
  }

  .case-card-ai .case-inner{
    padding: 22px 20px 24px !important;
  }

  .case-card-ai .case-meta{
    margin-bottom: 10px !important;
  }

  .case-card-ai .case-name{
    margin-bottom: 12px !important;
  }
}

/* ============================= */
/* SUPER ESPORTE 10 - CARD HERO  */
/* ============================= */

.case-super{
position:relative;
overflow:hidden;
}

/* número gigante */
.case-super-bg{
position:absolute;
right:-40px;
bottom:-40px;
font-size:220px;
font-weight:900;
color:rgba(255,255,255,0.03);
pointer-events:none;
}

/* escudo */
.case-super-shield{
position:absolute;
right:40px;
bottom:0;
width:220px;
opacity:.08;
filter:blur(.3px);
pointer-events:none;
}

/* mascote */
.case-super-mascot{
position:absolute;
right:-10px;
bottom:-10px;
width:260px;
z-index:2;
pointer-events:none;
}

/* badge 7 dias */
.case-super-badge{
position:absolute;
top:22px;
right:22px;

background:linear-gradient(135deg,#FFD36A,#CFA43A);

color:#000;
font-size:11px;
font-weight:700;
letter-spacing:.15em;

padding:6px 10px;
border-radius:30px;

box-shadow:
0 6px 20px rgba(255,210,120,.35);

z-index:3;
}

/* glow dourado */
.case-super::after{
content:"";
position:absolute;
right:80px;
bottom:40px;

width:180px;
height:180px;

background:radial-gradient(
circle,
rgba(255,210,120,.25),
transparent 70%
);

filter:blur(20px);
pointer-events:none;
}


@media(max-width:768px){

.case-super-mascot{
width:200px;
right:-20px;
bottom:-10px;
opacity:.95;
}

.case-super-shield{
width:160px;
right:10px;
opacity:.06;
}

.case-super-bg{
font-size:140px;
right:-20px;
bottom:-20px;
}

.case-super-badge{
top:14px;
right:14px;
}

}

/* =========================================================
   104. CASE CARD BAMBINELLA — RECORRÊNCIA PREMIUM
========================================================= */
.case-card-bambi{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(145deg, rgba(18,32,62,.14) 0%, rgba(255,255,255,.02) 38%, rgba(18,42,86,.12) 100%),
    linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.022) 100%);
}

.case-card-bambi .case-inner{
  position:relative;
  z-index:5;
  padding-right: 188px;
}

.case-card-bambi .case-name{
  max-width: 11ch;
}

.case-card-bambi .case-watermark{
  right: 16px;
  bottom: -4px;
  opacity: .06 !important;
}

.case-bambi-panel{
  position:absolute;
  top:18px;
  right:18px;
  width: 218px;
  height: 98px;
  border-radius: 18px;
  overflow:hidden;
  z-index:2;
  box-shadow:
    0 18px 44px rgba(0,0,0,.30),
    0 0 0 1px rgba(255,255,255,.05) inset;
  background: rgba(7,10,16,.7);
}

.case-bambi-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.42)),
    linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,0));
  z-index:2;
  pointer-events:none;
}

.case-bambi-panel::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  background: linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(120,190,255,.08) 45%, rgba(255,220,160,.15) 50%, rgba(255,255,255,0) 55%);
  transform: translateX(-140%);
  animation: bambiPanelScan 5.2s ease-in-out infinite;
  mix-blend-mode: screen;
  z-index:3;
  pointer-events:none;
}

.case-bambi-dashboard{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  filter: saturate(.9) brightness(.9) contrast(1.03);
}

.case-bambi-mascot{
  position:absolute;
  right:-16px;
  bottom:-14px;
  width: 180px;
  z-index:3;
  pointer-events:none;
  filter: drop-shadow(0 18px 38px rgba(0,0,0,.42));
}

.case-bambi-badge{
  position:absolute;
  top:126px;
  right:22px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 12px;
  border-radius:999px;
  background: linear-gradient(135deg,#f5d37a,#caa24c);
  color:#17130c;
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  letter-spacing:.1em;
  font-size:12px;
  box-shadow: 0 10px 22px rgba(0,0,0,.28);
}

.case-card-bambi::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width: 250px;
  background: linear-gradient(90deg, rgba(8,10,18,0) 0%, rgba(8,10,18,.22) 28%, rgba(8,10,18,.82) 68%, rgba(8,10,18,.98) 100%);
  z-index:1;
  pointer-events:none;
}

.case-card-bambi::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,215,120,.16) 0%, rgba(255,215,120,0) 24%),
    radial-gradient(circle at 74% 68%, rgba(255,70,70,.08) 0%, rgba(255,70,70,0) 22%);
  opacity:.9;
  pointer-events:none;
}

@keyframes bambiPanelScan{
  0%, 20%{ transform: translateX(-140%); opacity:0; }
  32%{ opacity:.5; }
  46%{ transform: translateX(140%); opacity:.78; }
  58%, 100%{ transform: translateX(140%); opacity:0; }
}

@media (max-width: 980px){
  .case-card-bambi .case-inner{
    padding-right: 176px;
  }

  .case-bambi-panel{
    width: 196px;
    height: 90px;
    right:16px;
    top:16px;
  }

  .case-bambi-badge{
    top:112px;
    right:18px;
  }

  .case-bambi-mascot{
    width: 160px;
    right:-12px;
    bottom:-10px;
  }

  .case-card-bambi::after{
    width: 220px;
  }
}

@media (max-width: 640px){
  .case-card-bambi{
    min-height: 290px;
  }

  .case-card-bambi .case-inner{
    padding-right: 20px !important;
    padding-top: 168px !important;
  }

  .case-bambi-panel{
    top:16px;
    left:16px;
    right:16px;
    width: auto;
    height: 94px;
    border-radius:16px;
  }

  .case-bambi-panel::after{
    border-radius:16px;
  }

  .case-bambi-badge{
    top:118px;
    right:16px;
    height:28px;
    padding:0 10px;
    font-size:11px;
  }

  .case-bambi-mascot{
    width: 108px;
    right:-6px;
    bottom:-6px;
    opacity:.96;
  }

  .case-card-bambi::after{
    width: 160px;
    background: linear-gradient(90deg, rgba(8,10,18,0) 0%, rgba(8,10,18,.18) 36%, rgba(8,10,18,.76) 100%);
  }

  .case-card-bambi .case-name{
    max-width: 10ch;
  }
}


/* =========================================================
   999. CASES STABILIZE FINAL
========================================================= */
.cases-top{
  grid-template-columns: minmax(560px,1.08fr) minmax(300px,.82fr) !important;
  align-items:end !important;
  gap: 40px !important;
}

.cases-heading{
  max-width: 720px !important;
}

.cases-title{
  max-width: 720px !important;
  width: 100% !important;
  font-size: clamp(42px,4.3vw,74px) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
}

.cases-title span{
  display:block !important;
  white-space: normal !important;
}

.cases-stage{
  grid-template-columns: 1.14fr .86fr !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.cases-stack{
  display:grid !important;
  grid-template-rows: minmax(250px,1fr) minmax(250px,1fr) !important;
  gap: 18px !important;
}

.case-card{
  min-height: 250px !important;
}

.case-card-featured{
  min-height: 520px !important;
}

.case-card .case-inner{
  min-height: 100% !important;
}

.case-card:not(.case-card-featured) .case-name{
  max-width: 12ch !important;
}

.case-card-ai::after,
.case-thumb-slider,
.case-thumb{
  display:none !important;
}

.case-card-ai .case-inner{
  padding-right: 28px !important;
}

.case-card-ai .case-watermark{
  right: 16px !important;
  bottom: -8px !important;
  font-size: 118px !important;
  opacity: .06 !important;
}

/* card 1 */
.case-super{
  position: relative !important;
  overflow: hidden !important;
}

.case-super .case-inner{
  padding: 112px 28px 30px !important;
  justify-content: flex-end !important;
}

.case-super .case-name{
  max-width: 12ch !important;
  font-size: clamp(30px,2.5vw,48px) !important;
}

.case-super-shield{
  position: absolute !important;
  top: 20px !important;
  right: 24px !important;
  bottom: auto !important;
  width: 220px !important;
  opacity: .10 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  filter: none !important;
}

.case-super-mascot{
  position: absolute !important;
  right: 8px !important;
  bottom: -6px !important;
  width: 218px !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.case-super-badge{
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 4 !important;
}

.case-super .case-watermark{
  right: 22px !important;
  bottom: -12px !important;
  font-size: 170px !important;
  opacity: .06 !important;
}

.case-super::after{
  content:"" !important;
  position:absolute !important;
  right: 42px !important;
  bottom: 44px !important;
  width: 170px !important;
  height: 170px !important;
  background: radial-gradient(circle, rgba(255,210,120,.18), transparent 70%) !important;
  filter: blur(18px) !important;
  pointer-events:none !important;
}

/* card 2 */
.case-bambi{
  overflow: hidden !important;
}

.case-bambi .case-inner{
  padding: 98px 24px 110px !important;
  z-index: 3 !important;
}

.case-bambi .case-name{
  max-width: 10ch !important;
  font-size: clamp(24px,1.9vw,36px) !important;
}

.case-bambi .case-watermark{
  right: 16px !important;
  bottom: -8px !important;
  font-size: 126px !important;
  opacity: .055 !important;
}

.case-bambi-panel{
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  top: auto !important;
  left: auto !important;
  width: 190px !important;
  height: 74px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  z-index: 2 !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.04) inset !important;
  background: rgba(7,10,16,.55) !important;
}

.case-bambi-panel::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.38)) !important;
  z-index: 2 !important;
}

.case-bambi-panel::after{
  display:none !important;
}

.case-bambi-panel img{
  width:100% !important;
  height:100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  filter: saturate(.9) brightness(.92) contrast(1.03) !important;
}

.case-bambi-mascot,
.case-bambi-badge{
  display:none !important;
}

.case-card-bambi::after,
.case-card-bambi::before{
  display:none !important;
}

/* mobile */
@media (max-width: 980px){
  .cases-top{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .cases-title{
    max-width: 560px !important;
    font-size: clamp(36px,8vw,56px) !important;
  }

  .cases-stage{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .cases-stack{
    grid-template-rows: none !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .case-card-featured{
    min-height: 420px !important;
  }

  .case-super-mascot{
    width: 190px !important;
    right: 2px !important;
    bottom: -6px !important;
  }

  .case-super-shield{
    width: 180px !important;
    top: 26px !important;
    right: 20px !important;
  }

  .case-super .case-watermark{
    font-size: 138px !important;
  }

  .case-bambi .case-inner{
    padding: 92px 22px 104px !important;
  }

  .case-bambi-panel{
    width: 180px !important;
    height: 70px !important;
  }
}

@media (max-width: 640px){
  .cases-section{
    padding: 88px 0 78px !important;
  }

  .cases-title{
    max-width: 320px !important;
    font-size: clamp(34px,13vw,52px) !important;
  }

  .cases-copy{
    font-size: 15px !important;
  }

  .case-card{
    min-height: 220px !important;
  }

  .case-card-featured{
    min-height: 360px !important;
  }

  .case-super .case-inner{
    padding: 82px 20px 110px !important;
  }

  .case-super .case-name{
    font-size: clamp(24px,8vw,38px) !important;
    max-width: 10ch !important;
  }

  .case-super-shield{
    width: 150px !important;
    top: 18px !important;
    right: 16px !important;
    opacity: .08 !important;
  }

  .case-super-mascot{
    width: 158px !important;
    right: 0 !important;
    bottom: -4px !important;
  }

  .case-super .case-watermark{
    font-size: 112px !important;
    right: 12px !important;
    bottom: -4px !important;
  }

  .case-bambi{
    min-height: 250px !important;
  }

  .case-bambi .case-inner{
    padding: 82px 18px 92px !important;
  }

  .case-bambi .case-name{
    font-size: clamp(20px,7vw,30px) !important;
    max-width: 9ch !important;
  }

  .case-bambi-panel{
    right: 14px !important;
    bottom: 14px !important;
    width: 150px !important;
    height: 58px !important;
    border-radius: 12px !important;
  }

  .case-card-ai .case-inner{
    padding: 82px 18px 22px !important;
  }

  .case-card-ai .case-name{
    font-size: clamp(20px,7vw,30px) !important;
    max-width: 9ch !important;
  }
}

/* =========================================================
   1011. HOTFIX FINAL — SUBIR CARD 1 SEM MEXER NOS DA DIREITA
========================================================= */
@media (min-width: 981px){
  .case-super,
  .case-card-featured.case-super{
    min-height: 560px !important;
    height: auto !important;
  }

  .case-super .case-inner{
    justify-content: flex-start !important;
    padding: 64px 24px 22px !important;
    min-height: 100% !important;
  }

  .case-super .case-meta{
    margin-top: 148px !important;
    margin-bottom: 10px !important;
  }

  .case-super-title{
    max-width: 11.8ch !important;
    margin: 0 0 10px !important;
  }

  .case-super-title .big-top{
    font-size: clamp(52px, 4.35vw, 82px) !important;
    line-height: .78 !important;
    margin-bottom: 2px !important;
  }

  .case-super-title .big-bottom{
    font-size: clamp(28px, 2.30vw, 42px) !important;
    line-height: .88 !important;
    margin-bottom: 2px !important;
  }

  .case-super-title .sub{
    font-size: clamp(32px, 2.72vw, 50px) !important;
    line-height: .88 !important;
    margin-bottom: 2px !important;
  }

  .case-super-title .highlight{
    font-size: clamp(31px, 2.55vw, 46px) !important;
    line-height: .88 !important;
  }

  .case-super .case-text{
    max-width: 24ch !important;
    margin-top: 12px !important;
  }

  .case-super-mascot{
    width: 255px !important;
    right: -6px !important;
    bottom: -10px !important;
  }

  .case-super-shield{
    width: 205px !important;
    top: 18px !important;
    right: 20px !important;
  }
}


/* =========================================================
   1005. CASES FINAL MINI FIX — TÍTULOS SEM BAGUNÇAR ALTURA
========================================================= */
@media (min-width: 981px){
  .case-super-title span{
    display:block !important;
  }

  .case-super-title .big-top{
    font-size: clamp(56px, 4.8vw, 88px) !important;
    line-height: .76 !important;
    margin-bottom: 6px !important;
  }

  .case-super-title .big-bottom{
    line-height: .86 !important;
    margin-bottom: 4px !important;
  }

  .case-bambi .case-name,
  .case-card-ai .case-name{
    max-width: none !important;
    width: 100% !important;
    line-height: .92 !important;
  }

  .case-bambi .case-name br,
  .case-card-ai .case-name br{
    display: block !important;
    content: "";
  }
}


/* =========================================================
   1012. CASES FINAL CLEAN OVERRIDE — COMPACTAR SEM BAGUNÇAR
========================================================= */
@media (min-width: 981px){
  .cases-stage{
    grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr) !important;
    gap: 16px !important;
    align-items: start !important;
  }

  .cases-stack{
    grid-template-rows: auto auto !important;
    gap: 16px !important;
    align-content: start !important;
  }

  .case-super,
  .case-card-featured.case-super{
    min-height: 520px !important;
    height: auto !important;
  }

  .case-super .case-inner{
    justify-content: flex-start !important;
    padding: 58px 24px 22px !important;
    min-height: 100% !important;
  }

  .case-super .case-meta{
    margin-top: 126px !important;
    margin-bottom: 10px !important;
  }

  .case-super-title{
    max-width: 12.2ch !important;
    margin: 0 0 10px !important;
  }

  .case-super-title span{
    display: block !important;
  }

  .case-super-title .big-top{
    font-size: clamp(60px, 5vw, 92px) !important;
    line-height: .74 !important;
    margin-bottom: 4px !important;
  }

  .case-super-title .big-bottom{
    font-size: clamp(30px, 2.5vw, 44px) !important;
    line-height: .86 !important;
    margin-bottom: 2px !important;
  }

  .case-super-title .sub{
    font-size: clamp(34px, 2.9vw, 52px) !important;
    line-height: .86 !important;
    margin-bottom: 2px !important;
  }

  .case-super-title .highlight{
    font-size: clamp(33px, 2.7vw, 48px) !important;
    line-height: .86 !important;
  }

  .case-super .case-text{
    max-width: 23ch !important;
    margin-top: 10px !important;
  }

  .case-super-mascot{
    width: 292px !important;
    right: -16px !important;
    bottom: -14px !important;
  }

  .case-super-shield{
    width: 210px !important;
    top: 18px !important;
    right: 18px !important;
    opacity: .09 !important;
  }

  .case-bambi,
  .case-card-ai{
    min-height: 0 !important;
  }

  .case-bambi .case-inner,
  .case-card-ai .case-inner{
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 68px 26px 22px !important;
    min-height: auto !important;
  }

  .case-bambi .case-meta,
  .case-card-ai .case-meta{
    margin-bottom: 12px !important;
  }

  .case-bambi-title,
  .case-ai-title{
    max-width: none !important;
    width: auto !important;
    margin: 0 0 12px !important;
    line-height: .92 !important;
    font-size: clamp(21px, 1.7vw, 30px) !important;
  }

  .case-bambi-title span,
  .case-ai-title span{
    display: block !important;
    white-space: nowrap !important;
  }

  .case-ai-title{
    font-size: clamp(20px, 1.62vw, 29px) !important;
  }

  .case-bambi .case-text,
  .case-card-ai .case-text{
    max-width: 29ch !important;
    line-height: 1.58 !important;
    font-size: 14px !important;
  }
}

/* =========================================================
   1013. WATERMARK FINAL — MAIS VISÍVEL SEM QUEBRAR LAYOUT
========================================================= */
@media (min-width: 981px){
  .case-card-bambi .case-watermark,
  .case-card-ai .case-watermark{
    display: block !important;
    z-index: 1 !important;
    font-size: clamp(132px, 9.4vw, 182px) !important;
    right: 18px !important;
    bottom: -8px !important;
    letter-spacing: -2px !important;
    line-height: .8 !important;
    text-shadow:
      0 0 26px rgba(255,255,255,.05),
      0 0 44px rgba(215,181,109,.05) !important;
    pointer-events: none !important;
    user-select: none !important;
  }

  .case-card-bambi .case-watermark{
    opacity: .16 !important;
    color: rgba(170,205,255,.18) !important;
  }

  .case-card-ai .case-watermark{
    opacity: .15 !important;
    color: rgba(255,228,168,.17) !important;
  }
}

/* =========================================================
   1014. MOBILE — WATERMARK TOPO DIREITO SEM AFETAR DESKTOP
========================================================= */
@media (max-width: 640px){
  .case-card-bambi .case-watermark,
  .case-card-ai .case-watermark{
    top: 22px !important;
    right: 14px !important;
    bottom: auto !important;
    left: auto !important;
    font-size: 98px !important;
    line-height: .82 !important;
    letter-spacing: -2px !important;
    z-index: 1 !important;
    pointer-events: none !important;
    user-select: none !important;
  }

  .case-card-bambi .case-watermark{
    opacity: .14 !important;
    color: rgba(170,205,255,.18) !important;
  }

  .case-card-ai .case-watermark{
    opacity: .14 !important;
    color: rgba(255,228,168,.17) !important;
  }
}


/* =========================================================
   3000. CINEMATIC FACE RESTAURADA
========================================================= */
.cinematic-face{
  position: relative !important;
  min-height: 860px !important;
  padding: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #02050b !important;
  display: flex !important;
  align-items: center !important;
}

.cinematic-bg,
.cinematic-bg-glow,
.cinematic-fade,
.cinematic-edge-line{
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
}

.cinematic-bg{
  z-index:1 !important;
  background-image:
    linear-gradient(90deg,
      rgba(2,5,11,.96) 0%,
      rgba(2,5,11,.84) 14%,
      rgba(2,5,11,.30) 33%,
      rgba(2,5,11,.04) 52%,
      rgba(2,5,11,.18) 68%,
      rgba(2,5,11,.76) 86%,
      rgba(2,5,11,.96) 100%
    ),
    url('../img/dr-schuntz-transition-bg.jpg') !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: cover, cover !important;
  background-position: center center, 72% center !important;
  filter: brightness(.88) contrast(1.10) saturate(1.02) !important;
  opacity: 1 !important;
  transform-origin: center center !important;
  transform: translate3d(0,0,0) scale(1.055) !important;
  will-change: transform !important;
  animation: cinematicBgDrift 8.4s cubic-bezier(.28,.72,.18,1) infinite alternate !important;
}

.cinematic-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 68% 49%, rgba(0,146,255,.15) 0%, rgba(0,146,255,.07) 18%, transparent 38%),
    radial-gradient(circle at 40% 54%, rgba(255,255,255,.06) 0%, transparent 24%);
  filter: blur(10px);
  opacity:.88;
  mix-blend-mode: screen;
}

.cinematic-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(2,5,11,.82) 0%, rgba(2,5,11,.10) 14%, rgba(2,5,11,0) 24%, rgba(2,5,11,0) 76%, rgba(2,5,11,.14) 88%, rgba(2,5,11,.86) 100%),
    linear-gradient(90deg,
      rgba(2,5,11,.92) 0%,
      rgba(2,5,11,.78) 12%,
      rgba(2,5,11,.18) 32%,
      rgba(2,5,11,0) 52%,
      rgba(2,5,11,.16) 70%,
      rgba(2,5,11,.72) 88%,
      rgba(2,5,11,.94) 100%);
  opacity:.98;
}

.cinematic-bg-glow{
  z-index:2 !important;
  background:
    radial-gradient(circle at 66% 49%, rgba(0,146,255,.14) 0%, rgba(0,146,255,.06) 16%, transparent 36%);
  filter: blur(12px);
  opacity:.82;
  animation: cinematicGlowDrift 8.4s cubic-bezier(.28,.72,.18,1) infinite alternate !important;
}

.cinematic-fade,
.cinematic-edge-line{
  display:none !important;
}

.cinematic-shell{
  position:relative !important;
  z-index:5 !important;
  width:min(1320px, calc(100% - 72px)) !important;
  min-height:860px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns: 390px 1fr !important;
  gap:24px !important;
  align-items:center !important;
}

.cinematic-copy-left{
  position:relative !important;
  z-index:7 !important;
  max-width:390px !important;
}

.cinematic-kicker{
  margin:0 0 12px !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size:16px !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  color: rgba(245,246,250,.92) !important;
  text-transform:none !important;
}

.cinematic-title{
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  max-width:390px !important;
  font-family: Rajdhani, sans-serif !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:-.02em !important;
  line-height:.90 !important;
  font-size: clamp(54px, 4.55vw, 78px) !important;
}

.cinematic-title span{
  display:block !important;
  white-space:nowrap !important;
}

.cinematic-text{
  margin-top:22px !important;
  max-width:24ch !important;
  color: rgba(245,246,250,.72) !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

.cinematic-visual{
  position:absolute !important;
  right:-10.5% !important;
  bottom:-18px !important;
  width:min(86vw, 1400px) !important;
  z-index:6 !important;
  pointer-events:none !important;
  overflow:visible !important;
}

.cinematic-hero{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  transform-origin:right bottom !important;
  transform: translate3d(-18px,6px,0) scale(1.392) !important;
  filter:
    brightness(.98)
    contrast(1.03)
    drop-shadow(0 28px 66px rgba(0,0,0,.42)) !important;
  will-change: transform !important;
  animation: cinematicHeroDrift 8.4s cubic-bezier(.28,.72,.18,1) infinite alternate !important;
}

.cinematic-copy-right{
  position:absolute !important;
  right:12.4% !important;
  bottom:112px !important;
  max-width:230px !important;
  text-align:left !important;
  z-index:7 !important;
}

.cinematic-copy-right p{
  margin:0 !important;
  color: rgba(245,246,250,.66) !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

@keyframes cinematicBgDrift{
  0%{
    transform: translate3d(-12px,-4px,0) scale(1.045);
  }
  42%{
    transform: translate3d(-22px,-8px,0) scale(1.070);
  }
  100%{
    transform: translate3d(6px,2px,0) scale(1.058);
  }
}

@keyframes cinematicGlowDrift{
  0%{
    transform: translate3d(-8px,-3px,0) scale(1);
    opacity:.70;
  }
  42%{
    transform: translate3d(-18px,-6px,0) scale(1.03);
    opacity:.90;
  }
  100%{
    transform: translate3d(6px,2px,0) scale(1.01);
    opacity:.76;
  }
}

@keyframes cinematicHeroDrift{
  0%{
    transform: translate3d(-10px,2px,0) scale(1.374);
  }
  42%{
    transform: translate3d(-30px,8px,0) scale(1.408);
  }
  100%{
    transform: translate3d(-16px,10px,0) scale(1.388);
  }
}

@media (max-width: 1200px){
  .cinematic-shell{
    width: calc(100% - 64px) !important;
    grid-template-columns: 360px 1fr !important;
  }

  .cinematic-title{
    font-size: clamp(48px, 6vw, 62px) !important;
    max-width:360px !important;
  }

  .cinematic-visual{
    width:min(88vw, 1320px) !important;
    right:-11% !important;
    bottom:-16px !important;
  }

  .cinematic-copy-right{
    right:10% !important;
  }
}

@media (max-width: 980px){
  .cinematic-face{
    min-height:980px !important;
    padding:0 !important;
    align-items:stretch !important;
  }

  .cinematic-shell{
    width:100% !important;
    min-height:980px !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    align-items:stretch !important;
    padding:0 22px 42px !important;
  }

  .cinematic-copy-left{
    max-width:300px !important;
    padding-top:230px !important;
  }

  .cinematic-title{
    max-width:6.2ch !important;
    font-size: clamp(34px, 11vw, 56px) !important;
    line-height:.95 !important;
  }

  .cinematic-text{
    margin-top:16px !important;
    max-width:17ch !important;
    font-size:13px !important;
    line-height:1.58 !important;
  }

  .cinematic-visual{
    position:absolute !important;
    top:-14px !important;
    right:-47% !important;
    bottom:auto !important;
    width:176vw !important;
    max-width:none !important;
    margin:0 !important;
  }

  .cinematic-hero{
    transform: translate3d(0,0,0) scale(1.02) !important;
    transform-origin:right top !important;
    animation:none !important;
  }

  .cinematic-copy-right{
    position:absolute !important;
    left:22px !important;
    right:auto !important;
    bottom:36px !important;
    max-width:235px !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1.45 !important;
  }
}

@media (max-width: 640px){
  .cinematic-face{
    min-height:930px !important;
  }

  .cinematic-shell{
    min-height:930px !important;
    padding:0 16px 34px !important;
  }

  .cinematic-copy-left{
    max-width:265px !important;
    padding-top:208px !important;
  }

  .cinematic-title{
    max-width:6ch !important;
    font-size: clamp(30px, 11.7vw, 46px) !important;
  }

  .cinematic-text{
    max-width:16ch !important;
    font-size:12px !important;
    line-height:1.56 !important;
  }

  .cinematic-visual{
    top:18px !important;
    right:-54% !important;
    width:188vw !important;
  }

  .cinematic-copy-right{
    left:16px !important;
    bottom:28px !important;
    max-width:210px !important;
    font-size:11px !important;
  }
}

/* =========================================================
   4001. MOBILE CASES FINAL TIGHT FIX
========================================================= */
@media (max-width: 640px){

  .cases-stage,
  .cases-stack{
    gap: 14px !important;
  }

  .case-card,
  .case-card-featured,
  .case-card-bambi,
  .case-card-ai,
  .case-super{
    min-height: auto !important;
    height: auto !important;
  }

  /* CARD 1 */
  .case-super .case-inner{
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: 66px 18px 18px !important;
  }

  .case-super .case-meta{
    margin-top: 8px !important;
    margin-bottom: 10px !important;
  }

  .case-super-title{
    max-width: 8.8ch !important;
    margin: 0 0 10px !important;
    line-height: .86 !important;
  }

  .case-super-title span{
    white-space: normal !important;
  }

  /* 2,5 MILHÕES DE na mesma faixa visual */
  .case-super-title .big-top,
  .case-super-title .big-bottom{
    display: inline !important;
    font-size: clamp(48px, 15vw, 66px) !important;
    line-height: .80 !important;
    margin: 0 !important;
  }

  .case-super-title .big-top{
    margin-right: 6px !important;
  }

  .case-super-title .sub{
    display: block !important;
    font-size: clamp(24px, 8.8vw, 34px) !important;
    line-height: .90 !important;
    margin: 2px 0 0 !important;
  }

  .case-super-title .highlight{
    display: block !important;
    font-size: clamp(24px, 8.8vw, 34px) !important;
    line-height: .90 !important;
    margin: 0 !important;
  }

  .case-super .case-text{
    max-width: 18ch !important;
    margin-top: 12px !important;
    font-size: 14px !important;
    line-height: 1.52 !important;
  }

  .case-super-mascot{
    width: 140px !important;
    right: -2px !important;
    bottom: -4px !important;
  }

  .case-super-shield{
    width: 120px !important;
    top: 16px !important;
    right: 12px !important;
    opacity: .07 !important;
  }

  .case-super-badge{
    top: 14px !important;
    right: 14px !important;
  }

  .case-super .case-watermark{
    font-size: 92px !important;
    right: 12px !important;
    bottom: -2px !important;
    opacity: .05 !important;
  }

  /* CARD 2 */
  .case-bambi .case-inner,
  .case-card-bambi .case-inner{
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: 56px 18px 82px !important;
  }

  .case-bambi .case-meta,
  .case-card-bambi .case-meta{
    margin-bottom: 10px !important;
  }

  .case-bambi-title{
    margin: 0 0 10px !important;
    line-height: .92 !important;
  }

  .case-bambi-title span{
    display: block !important;
    white-space: normal !important;
  }

  .case-bambi .case-text,
  .case-card-bambi .case-text{
    max-width: 20ch !important;
    font-size: 14px !important;
    line-height: 1.54 !important;
    margin-top: 0 !important;
  }

  .case-bambi-panel{
    width: 148px !important;
    height: 58px !important;
    right: 12px !important;
    bottom: 12px !important;
  }

  .case-bambi .case-watermark,
  .case-card-bambi .case-watermark{
    top: 14px !important;
    right: 12px !important;
    bottom: auto !important;
    font-size: 82px !important;
    opacity: .10 !important;
  }

  /* CARD 3 */
  .case-card-ai .case-inner{
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: 56px 18px 18px !important;
  }

  .case-card-ai .case-meta{
    margin-bottom: 10px !important;
  }

  .case-ai-title{
    margin: 0 0 10px !important;
    line-height: .92 !important;
  }

  .case-ai-title span{
    display: block !important;
    white-space: normal !important;
  }

  .case-card-ai .case-text{
    max-width: 21ch !important;
    font-size: 14px !important;
    line-height: 1.54 !important;
  }

  .case-card-ai .case-watermark{
    top: 14px !important;
    right: 12px !important;
    bottom: auto !important;
    font-size: 82px !important;
    opacity: .10 !important;
  }
}



/* === CINEMATIC FIX (integrated) === */
.cinematic-face .cinematic-visual{
right:-4.5% !important;
bottom:-18px !important;
}

.cinematic-face .cinematic-hero{
transform-origin:right bottom !important;
transform: translate3d(-22px,6px,0) scale(1.42) !important;
animation: cinematicHeroDrift 7.2s ease-in-out infinite alternate !important;
}

.cinematic-face .cinematic-bg{
animation: cinematicBgDrift 7.2s ease-in-out infinite alternate !important;
}

@keyframes cinematicHeroDrift{
0%{transform: translate3d(-28px,4px,0) scale(1.41);}
50%{transform: translate3d(-8px,10px,0) scale(1.445);}
100%{transform: translate3d(-18px,2px,0) scale(1.42);}
}

@keyframes cinematicBgDrift{
0%{transform: scale(1.05) translate3d(-12px,-4px,0);}
50%{transform: scale(1.08) translate3d(-26px,-10px,0);}
100%{transform: scale(1.06) translate3d(8px,3px,0);}
}


/* =========================================================
   5000. CP CASES — DESKTOP LOCK + MOBILE NAV
========================================================= */
.cp-cases{
  position:relative;
  padding:112px 0 108px !important;
}

.cp-cases .wrap{
  width:min(var(--max), calc(100% - 64px)) !important;
  margin:0 auto !important;
}

.cp-cases .cases-top{
  display:grid !important;
  grid-template-columns:minmax(520px,1.04fr) minmax(300px,.96fr) !important;
  gap:40px !important;
  align-items:end !important;
  margin-bottom:34px !important;
}

.cp-cases .cases-heading{ max-width:680px !important; }
.cp-cases .cases-title{
  max-width:680px !important;
  margin:0 !important;
  font-size:clamp(44px,4.3vw,74px) !important;
  line-height:.95 !important;
  letter-spacing:0 !important;
}
.cp-cases .cases-title span{
  display:block !important;
  white-space:nowrap !important;
}
.cp-cases .cases-copy{
  max-width:34ch !important;
  font-size:18px !important;
  line-height:1.72 !important;
}

.cp-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.56fr);
  gap:22px;
  align-items:stretch;
}

.cp-stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:22px;
  height:100%;
}

.cp-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.015) 100%),
    linear-gradient(180deg, #0b0e15 0%, #05070b 100%);
  box-shadow:
    0 28px 70px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 0 0 1px rgba(255,255,255,.015);
}

.cp-card--hero{
  height:100%;
  display:grid;
  grid-template-rows:390px 1fr;
  min-height:0;
}

.cp-stack .cp-card{
  display:grid;
  grid-template-rows:146px 1fr;
  min-height:0;
}

.cp-media{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.05);
  background:
    radial-gradient(420px 220px at 18% 18%, rgba(255,130,80,.24), transparent 58%),
    radial-gradient(440px 260px at 82% 82%, rgba(45,110,255,.20), transparent 62%),
    linear-gradient(180deg, rgba(13,17,28,.98), rgba(6,8,12,1));
  min-height:0;
}

.cp-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.94) contrast(1.04) brightness(.88);
}

.cp-body{
  position:relative;
  padding:20px 22px 22px;
  display:flex;
  flex-direction:column;
  min-height:0;
}

.cp-nav-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  margin-bottom:12px;
}

.cp-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:108px;
  height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(215,181,109,.30);
  background:rgba(6,8,12,.28);
  color:rgba(245,246,250,.92);
  font-family:Inter,system-ui,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0;
}

.cp-title{
  margin:0 0 10px;
  font-family:Inter,system-ui,sans-serif;
  font-weight:600;
  text-transform:none;
  letter-spacing:-.02em;
  line-height:1.12;
  font-size:17px;
  width:100%;
  max-width:none;
}
.cp-card--hero .cp-title{ font-size:18px; }

.cp-title strong,
.cp-title span{
  display:block;
  font-weight:600;
  font-size:inherit;
  color:rgba(245,246,250,.96);
}

.cp-text{
  margin:0;
  color:rgba(245,246,250,.72);
  font-size:14px;
  line-height:1.58;
  width:100%;
  max-width:none;
}

.cp-nav{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.cp-nav--mobile{ display:none; }

.cp-next,
.cp-prev{
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg, #f0c96f 0%, #c99b43 100%);
  box-shadow:0 12px 26px rgba(201,155,67,.28);
  color:#17130c;
  font-size:28px;
  line-height:1;
  flex:0 0 auto;
}

/* Desktop: sem botões */
@media (min-width:769px){
  .cp-nav--desktop,
  .cp-next,
  .cp-prev{
    display:none !important;
  }
}

@media (max-width:980px){
  .cp-cases{
    padding:96px 0 92px !important;
  }
  .cp-cases .wrap{
    width:calc(100% - 36px) !important;
  }
  .cp-cases .cases-top{
    grid-template-columns:1fr !important;
    gap:24px !important;
    margin-bottom:24px !important;
  }
  .cp-cases .cases-title span{
    white-space:normal !important;
  }
  .cp-cases .cases-copy{
    max-width:100% !important;
    font-size:16px !important;
  }
  .cp-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .cp-stack{
    grid-template-rows:none;
    gap:18px;
    height:auto;
  }
  .cp-card--hero{
    grid-template-rows:330px 1fr;
  }
  .cp-stack .cp-card{
    grid-template-rows:200px 1fr;
  }
}

@media (max-width:768px){
  .cp-cases .wrap{
    width:calc(100% - 28px) !important;
  }
  .cp-grid{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 0 12px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .cp-grid::-webkit-scrollbar{ display:none; }
  .cp-stack{ display:contents; }

  .cp-card,
  .cp-card--hero{
    flex:0 0 100%;
    min-width:100%;
    max-width:100%;
    scroll-snap-align:start;
    border-radius:24px;
  }

  .cp-card--hero{
    grid-template-rows:248px 1fr;
  }
  .cp-stack .cp-card{
    grid-template-rows:248px 1fr;
  }

  .cp-body{
    padding:18px 18px 18px;
    min-height:220px;
  }

  .cp-title{
    font-size:16px;
    margin:0 0 10px;
  }

  .cp-text{
    font-size:14px;
    line-height:1.56;
  }

  .cp-nav--desktop{ display:none !important; }

  .cp-nav--mobile{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:auto;
    padding-top:16px;
  }

  .cp-next,
  .cp-prev{
    width:40px;
    height:40px;
    font-size:26px;
  }
}

/* =========================================================
   5001. CP CASES — FINAL DESKTOP LOCK
   Ajuste final pedido pelo usuário:
   - desktop sem botões
   - card esquerdo com mesma altura do conjunto da direita
   - 2 cards direitos proporcionais
   - mobile preservado em carrossel
========================================================= */
@media (min-width: 769px){
  .cp-grid{
    grid-template-columns: minmax(0, 1fr) minmax(420px, .78fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  .cp-stack{
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 18px !important;
    height: 540px !important;
    min-height: 540px !important;
  }

  .cp-card--hero{
    height: 540px !important;
    min-height: 540px !important;
    display: grid !important;
    grid-template-rows: 348px 1fr !important;
  }

  .cp-stack .cp-card{
    height: 261px !important;
    min-height: 261px !important;
    display: grid !important;
    grid-template-rows: 132px 1fr !important;
  }

  .cp-card--hero .cp-media{
    height: 348px !important;
    min-height: 348px !important;
  }

  .cp-stack .cp-card .cp-media{
    height: 132px !important;
    min-height: 132px !important;
  }

  .cp-body{
    padding: 18px 22px 18px !important;
  }

  .cp-card--hero .cp-body{
    padding: 18px 22px 18px !important;
  }

  .cp-title{
    max-width: none !important;
    width: 100% !important;
    font-size: 17px !important;
    line-height: 1.08 !important;
    margin: 0 0 8px !important;
  }

  .cp-card--hero .cp-title{
    font-size: 18px !important;
  }

  .cp-text{
    width: 100% !important;
    max-width: none !important;
    font-size: 13px !important;
    line-height: 1.52 !important;
  }

  .cp-nav,
  .cp-nav--desktop,
  .cp-nav--mobile,
  .cp-next,
  .cp-prev{
    display: none !important;
  }
}




/* =========================================================
5005 — FINAL HEIGHT BALANCE (fix text cut card 2)
========================================================= */
@media (min-width: 769px){

  .cp-stack{
    height: 624px !important;
    min-height: 624px !important;
    gap: 18px !important;
  }

  .cp-card--hero{
    height: 624px !important;
    min-height: 624px !important;
    grid-template-rows: 420px 1fr !important;
  }

  .cp-stack .cp-card{
    height: 303px !important;
    min-height: 303px !important;
    grid-template-rows: 154px 1fr !important;
  }

  .cp-card--hero .cp-media{
    height: 420px !important;
    min-height: 420px !important;
  }

  .cp-stack .cp-card .cp-media{
    height: 154px !important;
    min-height: 154px !important;
  }

  .cp-stack .cp-body{
    padding: 20px 22px 32px !important;
  }

  .cp-card--hero .cp-body{
    padding: 20px 22px 26px !important;
  }

}

/* =========================================================
   9000. SAFE FINAL OVERRIDES — HOVER + REVEAL + MOBILE IMPACT
   Ajustes pontuais sem desmontar o restante
========================================================= */

.reveal-on-scroll{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,.7,.18,1);
  will-change:transform, opacity;
}
.reveal-on-scroll.reveal{
  opacity:1;
  transform:translate3d(0,0,0);
}

.cp-card{
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    filter .28s ease;
}

.cp-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 24%),
    linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.025) 46%, rgba(215,181,109,.10) 50%, rgba(255,255,255,.025) 54%, rgba(255,255,255,0) 100%);
  opacity:.18;
  transform:translateX(-20%);
  transition:opacity .28s ease, transform .42s ease;
}

@media (min-width: 769px){
  .cp-card:hover{
    transform:translateY(-6px);
    border-color:rgba(215,181,109,.22);
    box-shadow:
      0 34px 84px rgba(0,0,0,.48),
      0 0 0 1px rgba(215,181,109,.08) inset,
      inset 0 1px 0 rgba(255,255,255,.05);
    filter:brightness(1.02);
  }

  .cp-card:hover::before{
    opacity:.36;
    transform:translateX(0%);
  }

  .cp-card:hover .cp-media img{
    transform:scale(1.018);
    filter:saturate(.98) contrast(1.05) brightness(.92);
    transition:transform .38s ease, filter .38s ease;
  }

  .cp-card .cp-media img{
    transition:transform .38s ease, filter .38s ease;
  }

  /* trava o desktop no tamanho que estava aprovado */
  .cp-grid{
    grid-template-columns:minmax(0,1fr) minmax(420px,.82fr) !important;
    gap:18px !important;
    align-items:stretch !important;
  }

  .cp-stack{
    height:568px !important;
    min-height:568px !important;
    grid-template-rows:1fr 1fr !important;
    gap:18px !important;
  }

  .cp-card--hero{
    height:568px !important;
    min-height:568px !important;
    grid-template-rows:352px 1fr !important;
  }

  .cp-stack .cp-card{
    height:275px !important;
    min-height:275px !important;
    grid-template-rows:138px 1fr !important;
  }

  .cp-card--hero .cp-media{
    height:352px !important;
    min-height:352px !important;
  }

  .cp-stack .cp-card .cp-media{
    height:138px !important;
    min-height:138px !important;
  }

  .cp-card--hero .cp-body{
    padding:20px 22px 22px !important;
  }

  .cp-stack .cp-card .cp-body{
    padding:18px 22px 22px !important;
  }

  .cp-card--hero .cp-title{
    font-size:18px !important;
    margin:0 0 10px !important;
  }

  .cp-stack .cp-card .cp-title{
    font-size:16px !important;
    margin:0 0 8px !important;
  }

  .cp-card--hero .cp-text{
    font-size:14px !important;
    line-height:1.58 !important;
  }

  .cp-stack .cp-card .cp-text{
    font-size:13px !important;
    line-height:1.52 !important;
  }

  .cp-nav,
  .cp-nav--desktop,
  .cp-nav--mobile,
  .cp-next,
  .cp-prev{
    display:none !important;
  }
}

@media (max-width: 768px){
  .cp-card::before{
    opacity:.12;
    transform:none;
  }
}

/* impacto mobile: personagem como apoio visual */
@media (max-width: 640px){
  .cinematic-face{
    min-height:900px !important;
  }

  .cinematic-shell{
    min-height:900px !important;
    padding:0 16px 32px !important;
  }

  .cinematic-copy-left{
    max-width:258px !important;
    padding-top:200px !important;
    position:relative !important;
    z-index:8 !important;
  }

  .cinematic-title{
    max-width:6.1ch !important;
  }

  .cinematic-visual{
    top:auto !important;
    bottom:-8px !important;
    right:-22% !important;
    width:124vw !important;
    z-index:4 !important;
  }

  .cinematic-hero{
    transform-origin:right bottom !important;
    transform:translate3d(0,0,0) scale(.72) !important;
    filter:
      brightness(.98)
      contrast(1.03)
      drop-shadow(0 22px 44px rgba(0,0,0,.34)) !important;
  }

  .cinematic-copy-right{
    left:16px !important;
    bottom:26px !important;
    max-width:206px !important;
    z-index:8 !important;
  }

  .cinematic-bg{
    background-position:center center, 68% center !important;
  }

  .cinematic-face::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:140px;
    pointer-events:none;
    z-index:5;
    background:linear-gradient(180deg, rgba(2,5,11,0) 0%, rgba(2,5,11,.88) 100%);
  }
}

/* MOBILE FIX — bloco impacto */
@media (max-width: 768px){

#cinematic-face{
  height: 78vh;
  min-height: 520px;
  overflow: hidden;
  position: relative;
}

.cinematic-visual{
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.cinematic-bg{
  position:absolute;
  inset:-20%;
  will-change: transform;
}

.cinematic-hero{
  position:absolute;
  right:-12%;
  bottom:-8%;
  width:70%;
  max-width:420px;
  opacity:.9;
  pointer-events:none;
  will-change: transform;
}

}



/* =========================================================
   9001. CP CARDS — MOBILE POLISH
   mantém desktop intacto
========================================================= */
@media (max-width: 768px){
  .cp-card,
  .cp-card--hero{
    background:
      linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.018) 100%),
      linear-gradient(180deg, #0b0e15 0%, #05070b 100%) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    box-shadow:
      0 24px 58px rgba(0,0,0,.42),
      0 0 0 1px rgba(255,255,255,.02) inset,
      inset 0 1px 0 rgba(255,255,255,.05) !important;
  }

  .cp-card::before{
    opacity:.26 !important;
    transform:none !important;
    background:
      radial-gradient(circle at 16% 14%, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 24%),
      radial-gradient(circle at 82% 82%, rgba(215,181,109,.10) 0%, rgba(215,181,109,0) 26%),
      linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.02) 46%, rgba(215,181,109,.10) 50%, rgba(255,255,255,.02) 54%, rgba(255,255,255,0) 100%) !important;
  }

  .cp-card::after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:1px;
    background: linear-gradient(90deg, transparent, rgba(215,181,109,.55), transparent);
    opacity:.45;
    pointer-events:none;
  }

  .cp-media{
    overflow:hidden !important;
  }

  .cp-media img{
    transform:scale(1.012);
    filter:saturate(.98) contrast(1.05) brightness(.91) !important;
    transition:transform .26s ease, filter .26s ease !important;
  }

  .cp-card:active{
    transform:translateY(-3px) scale(.992);
    border-color:rgba(215,181,109,.22) !important;
    box-shadow:
      0 30px 70px rgba(0,0,0,.48),
      0 0 0 1px rgba(215,181,109,.06) inset,
      inset 0 1px 0 rgba(255,255,255,.05) !important;
  }

  .cp-card:active .cp-media img{
    transform:scale(1.02);
    filter:saturate(1) contrast(1.06) brightness(.93) !important;
  }

  .cp-badge{
    border-color: rgba(215,181,109,.34) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.20);
  }

  .cp-title{
    text-shadow: 0 0 20px rgba(255,255,255,.03);
  }

  .cp-nav--mobile{
    padding-top:18px !important;
  }

  .cp-next,
  .cp-prev{
    box-shadow:
      0 14px 28px rgba(201,155,67,.30),
      0 0 0 1px rgba(255,255,255,.10) inset !important;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
  }

  .cp-next:active,
  .cp-prev:active{
    transform:translateY(-2px) scale(.96);
    filter:brightness(1.04);
    box-shadow:
      0 18px 34px rgba(201,155,67,.34),
      0 0 0 1px rgba(255,255,255,.12) inset !important;
  }
}

/* =========================================================
   9002. MOBILE CASE NAV — PULSE FORTE
========================================================= */
@media (max-width: 768px){

  .cp-next.pulse-attention,
  .cp-prev.pulse-attention{
    animation: cpPulseStrong 1.45s ease-in-out infinite;
  }

  .cp-next.pulse-attention::before,
  .cp-prev.pulse-attention::before{
    content:"";
    position:absolute;
    inset:-10px;
    border-radius:999px;
    background: radial-gradient(circle, rgba(215,181,109,.34) 0%, rgba(215,181,109,0) 72%);
    z-index:-1;
    animation: cpGlowStrong 1.45s ease-in-out infinite;
    pointer-events:none;
  }

  .cp-next.pulse-attention::after,
  .cp-prev.pulse-attention::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:999px;
    background:
      linear-gradient(115deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.05) 38%,
        rgba(255,255,255,.30) 50%,
        rgba(255,255,255,.05) 62%,
        rgba(255,255,255,0) 100%);
    transform: translateX(-140%);
    animation: cpShineStrong 1.45s ease-in-out infinite;
    pointer-events:none;
    mix-blend-mode: screen;
  }

  .cp-next.pulse-attention,
  .cp-prev.pulse-attention{
    position:relative;
    overflow:hidden;
  }

  .cp-next.pulse-attention{
    box-shadow:
      0 0 0 0 rgba(215,181,109,.00),
      0 16px 34px rgba(201,155,67,.42),
      0 0 34px rgba(215,181,109,.28),
      0 0 0 1px rgba(255,255,255,.12) inset !important;
  }

  .cp-prev.pulse-attention{
    box-shadow:
      0 0 0 0 rgba(215,181,109,.00),
      0 16px 34px rgba(201,155,67,.42),
      0 0 34px rgba(215,181,109,.28),
      0 0 0 1px rgba(255,255,255,.12) inset !important;
  }

  @keyframes cpPulseStrong{
    0%{
      transform: scale(1) translateY(0);
      filter: brightness(1);
    }
    18%{
      transform: scale(1.08) translateY(-2px);
      filter: brightness(1.06);
    }
    36%{
      transform: scale(.98) translateY(0);
      filter: brightness(1.02);
    }
    55%{
      transform: scale(1.05) translateY(-1px);
      filter: brightness(1.08);
    }
    100%{
      transform: scale(1) translateY(0);
      filter: brightness(1);
    }
  }

  @keyframes cpGlowStrong{
    0%{
      opacity:0;
      transform:scale(.82);
    }
    22%{
      opacity:.9;
      transform:scale(1.08);
    }
    48%{
      opacity:.35;
      transform:scale(1.22);
    }
    100%{
      opacity:0;
      transform:scale(1.34);
    }
  }

  @keyframes cpShineStrong{
    0%, 18%{
      transform: translateX(-140%);
      opacity:0;
    }
    30%{
      opacity:.42;
    }
    52%{
      transform: translateX(140%);
      opacity:.75;
    }
    100%{
      transform: translateX(140%);
      opacity:0;
    }
  }

  .cp-next.pulse-attention span,
  .cp-prev.pulse-attention span{
    position:relative;
    z-index:2;
  }
}

/* ===== MOBILE FIX PERSONAGEM ===== */
@media (max-width: 768px){

.section-cinematic{
    padding-top: 20px !important;
    padding-bottom: 0 !important;
}

.cinematic-character{
    right: -20px !important;
    bottom: 0 !important;
    width: 60vw !important;
    max-width: none !important;
}

.cinematic-character img{
    content: url("/assets/img/dr-schuntz-mobile.png");
    width: 100%;
    height: auto;
}

}


/* =========================================================
   9999. CINEMATIC MOBILE HARD LOCK
   correção definitiva: menos topo vazio + personagem maior
========================================================= */
@media (max-width: 768px){
  #cinematic-face,
  .cinematic-face{
    min-height: 560px !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: stretch !important;
  }

  #cinematic-face .cinematic-shell,
  .cinematic-face .cinematic-shell{
    width: 100% !important;
    min-height: 560px !important;
    padding: 0 16px 72px !important;
    gap: 0 !important;
    align-items: stretch !important;
  }

  #cinematic-face .cinematic-copy-left,
  .cinematic-face .cinematic-copy-left{
    max-width: 238px !important;
    padding-top: 54px !important;
    position: relative !important;
    z-index: 8 !important;
  }

  #cinematic-face .cinematic-kicker,
  .cinematic-face .cinematic-kicker{
    margin: 0 0 6px !important;
  }

  #cinematic-face .cinematic-title,
  .cinematic-face .cinematic-title{
    max-width: 5.6ch !important;
    font-size: clamp(28px, 11vw, 44px) !important;
    line-height: .91 !important;
    margin: 0 !important;
  }

  #cinematic-face .cinematic-text,
  .cinematic-face .cinematic-text{
    margin-top: 14px !important;
    max-width: 16ch !important;
    font-size: 12px !important;
    line-height: 1.52 !important;
  }

  #cinematic-face .cinematic-visual,
  .cinematic-face .cinematic-visual{
    position: absolute !important;
    top: auto !important;
    bottom: -4px !important;
    right: -14% !important;
    left: auto !important;
    width: 118vw !important;
    max-width: none !important;
    overflow: visible !important;
    z-index: 4 !important;
    inset: auto !important;
  }

  #cinematic-face .cinematic-hero,
  .cinematic-face .cinematic-hero{
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    opacity: 1 !important;
    position: relative !important;
    transform-origin: right bottom !important;
    filter: brightness(.98) contrast(1.03) drop-shadow(0 26px 52px rgba(0,0,0,.40)) !important;
  }

  #cinematic-face .cinematic-copy-right,
  .cinematic-face .cinematic-copy-right{
    left: 16px !important;
    right: auto !important;
    bottom: 34px !important;
    max-width: 205px !important;
    z-index: 8 !important;
  }

  #cinematic-face::after,
  .cinematic-face::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 132px;
    pointer-events: none;
    z-index: 5;
    background: linear-gradient(180deg, rgba(2,5,11,0) 0%, rgba(2,5,11,.88) 100%);
  }
}

@media (max-width: 640px){
  #cinematic-face,
  .cinematic-face{
    min-height: 540px !important;
  }

  #cinematic-face .cinematic-shell,
  .cinematic-face .cinematic-shell{
    min-height: 540px !important;
    padding: 0 16px 78px !important;
  }

  #cinematic-face .cinematic-copy-left,
  .cinematic-face .cinematic-copy-left{
    max-width: 228px !important;
    padding-top: 42px !important;
  }

  #cinematic-face .cinematic-title,
  .cinematic-face .cinematic-title{
    font-size: clamp(27px, 10.8vw, 42px) !important;
    max-width: 5.5ch !important;
  }

  #cinematic-face .cinematic-text,
  .cinematic-face .cinematic-text{
    max-width: 15ch !important;
  }

  #cinematic-face .cinematic-visual,
  .cinematic-face .cinematic-visual{
    bottom: -2px !important;
    right: -10% !important;
    width: 126vw !important;
  }

  #cinematic-face .cinematic-copy-right,
  .cinematic-face .cinematic-copy-right{
    bottom: 44px !important;
    max-width: 198px !important;
  }
}


/* =========================================================
   11000. METHOD SYSTEM — BLOCO INTEGRADO FINAL
   Não altera HERO / CASES / IMPACTO
========================================================= */
.method-system{
  position:relative;
  overflow:hidden;
  padding:118px 0 112px;
  background:linear-gradient(180deg, #05060b 0%, #06070c 100%);
  isolation:isolate;
}

.method-bg,
.method-gridlines,
.method-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.method-bg{
  background:
    radial-gradient(900px 520px at 16% 18%, rgba(215,181,109,.08) 0%, rgba(215,181,109,0) 60%),
    radial-gradient(900px 560px at 82% 28%, rgba(22,86,190,.16) 0%, rgba(22,86,190,0) 58%),
    radial-gradient(700px 360px at 50% 78%, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 58%),
    linear-gradient(90deg, rgba(255,255,255,.018) 0%, rgba(255,255,255,0) 20%, rgba(255,255,255,.016) 50%, rgba(255,255,255,0) 80%, rgba(255,255,255,.016) 100%);
  opacity:.95;
}

.method-gridlines{
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 92px,
      rgba(255,255,255,.022) 93px,
      rgba(255,255,255,.022) 94px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 92px,
      rgba(255,255,255,.015) 93px,
      rgba(255,255,255,.015) 94px
    );
  opacity:.12;
  mix-blend-mode:screen;
}

.method-glow-a{
  background:radial-gradient(circle at 18% 44%, rgba(215,181,109,.10), transparent 34%);
  filter:blur(34px);
  opacity:.55;
}

.method-glow-b{
  background:radial-gradient(circle at 68% 56%, rgba(60,130,255,.12), transparent 32%);
  filter:blur(48px);
  opacity:.50;
}

.method-wrap{
  position:relative;
  z-index:2;
}

.method-intro{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(320px,.76fr);
  gap:46px;
  align-items:end;
  margin-bottom:42px;
}

.method-title{
  margin:0;
  font-family:Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-.02em;
  line-height:.92;
  font-size:clamp(44px,4.25vw,74px);
  max-width:9.2ch;
}

.method-title span{ display:block; }

.method-lead{
  margin:0;
  max-width:34ch;
  color:rgba(245,246,250,.78);
  font-size:clamp(15px,1.12vw,18px);
  line-height:1.78;
  position:relative;
  padding-left:24px;
}

.method-lead strong{
  color:rgba(245,246,250,.96);
  font-weight:700;
}

.method-lead::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:1px;
  height:calc(100% - 8px);
  background:linear-gradient(180deg, rgba(215,181,109,.95), rgba(215,181,109,.08));
  box-shadow:0 0 16px rgba(215,181,109,.18);
}

.method-system-stage{
  position:relative;
  padding-top:46px;
}

.method-line{
  position:absolute;
  left:7.2%;
  right:7.2%;
  top:142px;
  height:28px;
  z-index:1;
  pointer-events:none;
  opacity:0;
  transform:translate3d(0,16px,0);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,.7,.18,1);
}

.method-system-stage.is-live .method-line{
  opacity:1;
  transform:translate3d(0,0,0);
}

.method-line-track{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,
    rgba(215,181,109,.10) 0%,
    rgba(215,181,109,.58) 24%,
    rgba(255,255,255,.16) 50%,
    rgba(215,181,109,.58) 76%,
    rgba(215,181,109,.10) 100%);
  box-shadow:0 0 18px rgba(215,181,109,.14), 0 0 34px rgba(62,126,255,.05);
}

.method-node{
  position:absolute;
  top:50%;
  width:12px;
  height:12px;
  border-radius:999px;
  transform:translate(-50%,-50%);
  background:linear-gradient(180deg, #f0c96f 0%, #c89a43 100%);
  box-shadow:0 0 0 4px rgba(215,181,109,.08), 0 0 18px rgba(215,181,109,.42), 0 0 26px rgba(65,126,255,.10);
}

.node-1{ left:16.666%; }
.node-2{ left:50%; }
.node-3{ left:83.333%; }

.method-pulse{
  position:absolute;
  top:50%;
  left:0;
  width:90px;
  height:10px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.18) 25%,
    rgba(215,181,109,.75) 50%,
    rgba(60,130,255,.28) 72%,
    rgba(255,255,255,0) 100%);
  filter:blur(1px);
  opacity:.85;
  animation:methodPulseRun 4.8s ease-in-out infinite;
}

.method-cards{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}

.method-card{
  position:relative;
  overflow:hidden;
  min-height:236px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.015) 100%),
    linear-gradient(180deg, #0b0e15 0%, #07080c 100%);
  box-shadow:0 24px 64px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04), inset 0 0 0 1px rgba(255,255,255,.01);
  padding:22px 22px 22px;
  transform-style:preserve-3d;
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease, filter .28s ease, opacity .55s ease;
  will-change:transform;
  opacity:0;
  transform:translate3d(0,24px,0);
}

.method-system-stage.is-live .method-card{
  opacity:1;
  transform:translate3d(0,0,0);
}

.method-system-stage.is-live .method-card-1{ transition-delay:.08s; }
.method-system-stage.is-live .method-card-2{ transition-delay:.18s; }
.method-system-stage.is-live .method-card-3{ transition-delay:.28s; }

.method-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 16% 12%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 26%),
    radial-gradient(circle at 82% 84%, rgba(215,181,109,.06) 0%, rgba(215,181,109,0) 24%),
    linear-gradient(115deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.015) 46%,
      rgba(215,181,109,.08) 50%,
      rgba(255,255,255,.015) 54%,
      rgba(255,255,255,0) 100%);
  opacity:.36;
  pointer-events:none;
}

.method-card::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(215,181,109,.60), transparent);
  opacity:.40;
  pointer-events:none;
}

.method-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
  position:relative;
  z-index:2;
}

.method-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(215,181,109,.28);
  background:rgba(7,10,16,.32);
  color:rgba(215,181,109,.94);
  font-family:Rajdhani, sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.method-watermark{
  font-family:Rajdhani, sans-serif;
  font-weight:700;
  letter-spacing:-2px;
  line-height:.8;
  font-size:78px;
  color:rgba(255,255,255,.045);
  user-select:none;
  pointer-events:none;
}

.method-card-title{
  position:relative;
  z-index:2;
  margin:0 0 14px;
  font-family:Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  line-height:.92;
  letter-spacing:.2px;
  font-size:clamp(26px,1.95vw,36px);
}

.method-card-title span{ display:block; }

.method-card-text{
  position:relative;
  z-index:2;
  margin:0;
  max-width:29ch;
  color:rgba(245,246,250,.72);
  font-size:15px;
  line-height:1.62;
}

.method-card-bracket{
  position:absolute;
  width:18px;
  height:18px;
  opacity:.62;
  pointer-events:none;
}

.bracket-tl{ left:14px; top:14px; border-left:1px solid rgba(215,181,109,.35); border-top:1px solid rgba(215,181,109,.35); }
.bracket-tr{ right:14px; top:14px; border-right:1px solid rgba(215,181,109,.35); border-top:1px solid rgba(215,181,109,.35); }
.bracket-bl{ left:14px; bottom:14px; border-left:1px solid rgba(215,181,109,.25); border-bottom:1px solid rgba(215,181,109,.25); }
.bracket-br{ right:14px; bottom:14px; border-right:1px solid rgba(215,181,109,.25); border-bottom:1px solid rgba(215,181,109,.25); }

@keyframes methodPulseRun{
  0%{ left:-6%; opacity:0; }
  14%{ opacity:.7; }
  50%{ opacity:1; }
  86%{ opacity:.7; }
  100%{ left:calc(100% - 64px); opacity:0; }
}

@media (min-width: 981px){
  .method-card:hover{
    transform:translateY(-7px) perspective(1200px) rotateX(3deg);
    border-color:rgba(215,181,109,.20);
    box-shadow:0 34px 84px rgba(0,0,0,.44), 0 0 0 1px rgba(215,181,109,.05) inset, inset 0 1px 0 rgba(255,255,255,.04);
    filter:brightness(1.02);
  }
}

@media (max-width: 980px){
  .method-system{
    padding:98px 0 92px;
  }

  .method-intro{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:28px;
  }

  .method-title{
    max-width:10ch;
    font-size:clamp(38px,8.5vw,60px);
  }

  .method-lead{
    max-width:100%;
    font-size:16px;
  }

  .method-system-stage{
    padding-top:18px;
  }

  .method-line{
    display:none;
  }

  .method-cards{
    grid-template-columns:1fr;
    gap:16px;
  }

  .method-card{
    min-height:220px;
  }

  .method-card-title{
    font-size:clamp(24px,5.2vw,34px);
  }

  .method-card-text{
    max-width:100%;
  }
}

@media (max-width: 640px){
  .method-system{
    padding:88px 0 78px;
  }

  .method-title{
    max-width:7.2ch;
    font-size:clamp(34px,11vw,46px);
    line-height:.95;
  }

  .method-lead{
    padding-left:18px;
    font-size:15px;
    line-height:1.68;
  }

  .method-card{
    min-height:auto;
    padding:20px 18px 18px;
    border-radius:22px;
  }

  .method-card-top{
    margin-bottom:14px;
  }

  .method-pill{
    min-width:78px;
    height:30px;
    font-size:11px;
  }

  .method-watermark{
    font-size:64px;
  }

  .method-card-title{
    margin-bottom:12px;
    font-size:clamp(22px,7vw,30px);
  }

  .method-card-text{
    font-size:14px;
    line-height:1.58;
  }
}



/* =========================================================
   11010. METHOD SYSTEM — POLIMENTO FINAL
========================================================= */
.method-system{
  background:
    radial-gradient(circle at 70% 40%, rgba(210,20,32,.22) 0%, rgba(160,0,20,.12) 24%, rgba(0,0,0,0) 52%),
    radial-gradient(circle at 80% 28%, rgba(255,150,70,.07) 0%, rgba(255,150,70,0) 18%),
    radial-gradient(circle at 55% 58%, rgba(115,0,20,.10) 0%, rgba(115,0,20,0) 36%),
    linear-gradient(90deg, #050505 0%, #090203 38%, #170204 62%, #060606 100%) !important;
}

.method-system::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 26%),
    radial-gradient(circle at 82% 62%, rgba(255,100,100,.05) 0%, rgba(255,100,100,0) 22%);
  mix-blend-mode:screen;
  opacity:.58;
}

.method-bg{
  background:
    radial-gradient(880px 520px at 14% 18%, rgba(215,181,109,.08) 0%, rgba(215,181,109,0) 60%),
    radial-gradient(980px 640px at 72% 32%, rgba(170,18,30,.20) 0%, rgba(170,18,30,0) 58%),
    radial-gradient(760px 420px at 88% 20%, rgba(255,150,70,.08) 0%, rgba(255,150,70,0) 38%),
    linear-gradient(90deg, rgba(255,255,255,.016) 0%, rgba(255,255,255,0) 20%, rgba(255,255,255,.014) 50%, rgba(255,255,255,0) 80%, rgba(255,255,255,.014) 100%) !important;
  opacity:.92 !important;
}

.method-gridlines{ opacity:.10 !important; }

.method-glow-a{
  background: radial-gradient(circle at 16% 46%, rgba(215,181,109,.12), transparent 34%) !important;
  opacity:.52 !important;
}

.method-glow-b{
  background: radial-gradient(circle at 72% 46%, rgba(175,28,44,.18), transparent 34%) !important;
  opacity:.46 !important;
}

@media (min-width: 981px){
  .method-line-track{
    height:2px !important;
    background: linear-gradient(90deg,
      rgba(215,181,109,.14) 0%,
      rgba(215,181,109,.72) 24%,
      rgba(255,255,255,.24) 50%,
      rgba(215,181,109,.72) 76%,
      rgba(215,181,109,.14) 100%) !important;
    box-shadow:
      0 0 22px rgba(215,181,109,.18),
      0 0 38px rgba(165,42,42,.10) !important;
  }

  .method-node{
    width:13px !important;
    height:13px !important;
    box-shadow:
      0 0 0 5px rgba(215,181,109,.10),
      0 0 22px rgba(215,181,109,.48),
      0 0 28px rgba(165,42,42,.12) !important;
  }

  .method-pulse{
    width:108px !important;
    opacity:.94 !important;
    background: linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.22) 20%,
      rgba(215,181,109,.86) 50%,
      rgba(255,90,90,.24) 74%,
      rgba(255,255,255,0) 100%) !important;
    filter: blur(1.2px) !important;
  }

  .method-intro{
    grid-template-columns:minmax(0,.96fr) minmax(280px,.64fr) !important;
    gap:42px !important;
  }

  .method-intro-right{ justify-self:end; }

  .method-lead{
    max-width:29ch !important;
    font-size:clamp(15px,1.04vw,17px) !important;
    line-height:1.72 !important;
    color:rgba(245,246,250,.82) !important;
    text-shadow:0 0 18px rgba(255,255,255,.03) !important;
  }

  .method-lead::before{
    box-shadow:
      0 0 16px rgba(215,181,109,.16),
      0 0 26px rgba(165,42,42,.08) !important;
  }
}

@media (max-width: 640px){
  .method-system{
    padding:82px 0 76px !important;
  }

  .method-card{
    padding:18px 18px 16px !important;
  }

  .method-card-top{
    margin-bottom:12px !important;
  }

  .method-card-title{
    font-size:clamp(20px,6.6vw,28px) !important;
    margin-bottom:10px !important;
  }

  .method-card-text{
    font-size:13px !important;
    line-height:1.52 !important;
  }

  .method-watermark{
    font-size:58px !important;
    opacity:.75;
  }
}


/* =========================================================
   12050. OPERAÇÕES — FINAL LOCK (AZUL + SETAS)
   Ajuste isolado: não altera Hero / Cases / Impacto / Método
========================================================= */
.operacoes{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  padding: 128px 0 122px !important;
  background:
    radial-gradient(900px 460px at 22% 48%, rgba(18,72,180,.14) 0%, rgba(18,72,180,0) 58%),
    radial-gradient(780px 420px at 82% 58%, rgba(0,122,255,.10) 0%, rgba(0,122,255,0) 60%),
    radial-gradient(620px 320px at 58% 38%, rgba(255,255,255,.03) 0%, rgba(255,255,255,0) 52%),
    linear-gradient(180deg, #05070c 0%, #04060b 100%) !important;
}

.operacoes::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 92px,
      rgba(255,255,255,.018) 93px,
      rgba(255,255,255,.018) 94px
    );
  opacity:.08 !important;
  mix-blend-mode:screen !important;
}

.operacoes::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 18% 40%, rgba(215,181,109,.05) 0%, rgba(215,181,109,0) 26%),
    radial-gradient(circle at 76% 46%, rgba(0,122,255,.12) 0%, rgba(0,122,255,0) 32%);
  filter: blur(20px) !important;
  opacity:.72 !important;
}

.operacoes-grid{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1.04fr) minmax(340px, .88fr) !important;
  gap:56px !important;
  align-items:center !important;
}

.operacoes-left{
  max-width:720px !important;
}

.operacoes-title{
  margin:0 !important;
  font-family:Rajdhani, sans-serif !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:-.02em !important;
  line-height:.92 !important;
  font-size:clamp(48px, 4.8vw, 82px) !important;
  max-width:7.3ch !important;
}

.operacoes-title span{
  display:block !important;
}

.operacoes-right{
  max-width:500px !important;
  justify-self:end !important;
}

.operacoes-text{
  margin:0 0 28px !important;
  color:rgba(245,246,250,.80) !important;
  font-size:clamp(16px, 1.12vw, 19px) !important;
  line-height:1.68 !important;
  max-width:28ch !important;
}

.operacoes-points{
  display:grid !important;
  grid-template-columns:repeat(4, max-content) !important;
  gap:14px 22px !important;
  align-items:start !important;
}

.operacoes-points span{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 0 10px 0 !important;
  color:rgba(245,246,250,.72) !important;
  font-family:Rajdhani, sans-serif !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:.14em !important;
  font-size:13px !important;
  white-space:nowrap !important;
}

.operacoes-points span::before{
  content:"›" !important;
  display:inline-block !important;
  color:rgba(215,181,109,.92) !important;
  font-size:14px !important;
  line-height:1 !important;
  transform:translateY(-1px) !important;
  text-shadow:0 0 12px rgba(215,181,109,.14) !important;
}

.operacoes-points span::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:1px !important;
  background:linear-gradient(90deg, rgba(215,181,109,.10), rgba(215,181,109,.46), rgba(215,181,109,.10)) !important;
  opacity:.44 !important;
}

@media (max-width: 980px){
  .operacoes{
    padding:96px 0 88px !important;
    background:
      radial-gradient(760px 420px at 26% 44%, rgba(18,72,180,.16) 0%, rgba(18,72,180,0) 58%),
      radial-gradient(620px 360px at 76% 58%, rgba(0,122,255,.11) 0%, rgba(0,122,255,0) 60%),
      linear-gradient(180deg, #05070c 0%, #04060b 100%) !important;
  }

  .operacoes-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
    align-items:start !important;
  }

  .operacoes-left,
  .operacoes-right{
    max-width:none !important;
    justify-self:start !important;
  }

  .operacoes-title{
    font-size:clamp(40px, 9vw, 60px) !important;
    max-width:7.6ch !important;
  }

  .operacoes-text{
    max-width:32ch !important;
    font-size:15px !important;
    line-height:1.56 !important;
    margin-bottom:24px !important;
  }

  .operacoes-points{
    grid-template-columns:repeat(2, minmax(0, max-content)) !important;
    gap:14px 22px !important;
  }
}

@media (max-width: 640px){
  .operacoes{
    padding:84px 0 76px !important;
    background:
      radial-gradient(520px 300px at 28% 40%, rgba(18,72,180,.18) 0%, rgba(18,72,180,0) 58%),
      radial-gradient(430px 260px at 76% 54%, rgba(0,122,255,.12) 0%, rgba(0,122,255,0) 62%),
      linear-gradient(180deg, #05070c 0%, #04060b 100%) !important;
  }

  .operacoes-title{
    font-size:clamp(34px, 10.8vw, 48px) !important;
    line-height:.91 !important;
    max-width:6.9ch !important;
  }

  .operacoes-text{
    font-size:14px !important;
    line-height:1.52 !important;
    max-width:18ch !important;
    margin-bottom:20px !important;
  }

  .operacoes-points{
    grid-template-columns:1fr 1fr !important;
    gap:12px 18px !important;
  }

  .operacoes-points span{
    font-size:11px !important;
    letter-spacing:.13em !important;
    padding-bottom:8px !important;
  }

  .operacoes-points span::before{
    font-size:12px !important;
  }
}




/* ================================
   OPERAÇÕES — AJUSTE TIPOGRÁFICO
================================ */

.operacoes-title span{
display:block;
}

.operacoes-title span.linha{
display:block;
}


/* ================================
   SETINHAS PREMIUM
================================ */

.operacoes-points span{
position:relative;
padding-left:18px;
letter-spacing:.12em;
}

.operacoes-points span::before{
content:"›";
position:absolute;
left:0;
top:0;
color:#c6a15b;
opacity:.9;
font-weight:600;
}


/* ================================
   DESKTOP LAYOUT
================================ */

@media(min-width:1024px){

.operacoes-grid{
align-items:center;
}

.operacoes-right{
max-width:420px;
}

.operacoes-points{
display:flex;
gap:28px;
flex-wrap:wrap;
margin-top:18px;
}

}


/* ================================
   MOBILE LAYOUT
================================ */

@media(max-width:768px){

.operacoes-title{
font-size:42px;
line-height:1.05;
}

.operacoes-points{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px 28px;
margin-top:22px;
}

.operacoes-points span{
font-size:12px;
letter-spacing:.18em;
}

}


/* =========================================================
   12060. OPERAÇÕES — QUEBRA FINAL DO TÍTULO
   Mantém tudo igual e corrige só:
   - "É DIREÇÃO" na mesma linha
   - mais largura do título no desktop e mobile
========================================================= */
.operacoes-title{
  max-width: 9.6ch !important;
}

.operacoes-title span.linha{
  white-space: nowrap !important;
}

@media (max-width: 980px){
  .operacoes-title{
    max-width: 8.8ch !important;
  }
}

@media (max-width: 640px){
  .operacoes-title{
    max-width: 8.4ch !important;
    font-size: clamp(34px, 10.2vw, 48px) !important;
    line-height: .92 !important;
  }

  .operacoes-title span.linha{
    white-space: nowrap !important;
  }
}




/* PERSONA MOSAIC */
.persona-mosaic{position:relative;overflow:hidden;padding:140px 0;background:#010205}
.persona-shell{position:relative;z-index:2}
.persona-copy{text-align:center;max-width:820px;margin:0 auto 76px}
.persona-title{font-family:Rajdhani,sans-serif;font-weight:700;text-transform:uppercase;line-height:.92;font-size:clamp(42px,4.2vw,78px)}
.persona-title span,.persona-title strong{display:block}
.persona-title strong{color:var(--gold)}
.persona-sub{margin:20px auto 0;max-width:30ch;color:rgba(245,246,250,.72)}
.persona-mosaic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;height:920px;overflow:hidden}
.persona-col{display:flex;flex-direction:column;gap:22px}
.persona-col-1{animation:personaScroll 30s linear infinite}
.persona-col-2{animation:personaScroll 26s linear infinite reverse}
.persona-col-3{animation:personaScroll 34s linear infinite}
.persona-col img{width:100%;border-radius:20px;object-fit:cover}
@keyframes personaScroll{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
@media(max-width:768px){
.persona-mosaic-grid{grid-template-columns:1fr 1fr;height:700px}
.persona-col-3{display:none}
}

/* =========================================================
   13000. PERSONA MOSAIC — CINEMATIC SCROLL STAGE
   Patch isolado: não altera HERO / CASES / IMPACTO / MÉTODO / OPERAÇÕES
========================================================= */
.persona-mosaic{
  --persona-progress: 0;
  --persona-overlay-opacity: .54;
  --persona-copy-shift: 0px;
  position: relative;
  overflow: clip;
  isolation: isolate;
  min-height: 1320px;
  padding: 0 !important;
  background:
    radial-gradient(980px 520px at 18% 28%, rgba(210,20,32,.14) 0%, rgba(210,20,32,0) 58%),
    radial-gradient(840px 460px at 84% 40%, rgba(215,181,109,.08) 0%, rgba(215,181,109,0) 58%),
    linear-gradient(180deg, #050507 0%, #07080c 100%);
}

.persona-bg,
.persona-gridlines,
.persona-glow,
.persona-vignette,
.persona-fade,
.persona-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.persona-bg{
  z-index:1;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.03) 0%, rgba(255,255,255,0) 28%),
    linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,0) 18%, rgba(0,0,0,0) 82%, rgba(0,0,0,.22) 100%);
}

.persona-gridlines{
  z-index:2;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 90px,
      rgba(255,255,255,.016) 91px,
      rgba(255,255,255,.016) 92px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 90px,
      rgba(255,255,255,.010) 91px,
      rgba(255,255,255,.010) 92px
    );
  opacity:.18;
  mix-blend-mode:screen;
}

.persona-glow-a{
  z-index:2;
  background: radial-gradient(circle at 20% 40%, rgba(210,20,32,.18) 0%, rgba(210,20,32,0) 34%);
  filter: blur(42px);
  opacity:.72;
}

.persona-glow-b{
  z-index:2;
  background: radial-gradient(circle at 82% 34%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 28%);
  filter: blur(38px);
  opacity:.48;
}

.persona-vignette{
  z-index:5;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,0) 26%, rgba(0,0,0,.22) 64%, rgba(0,0,0,.68) 100%),
    linear-gradient(90deg, rgba(3,4,8,.88) 0%, rgba(3,4,8,.22) 18%, rgba(3,4,8,0) 34%, rgba(3,4,8,0) 66%, rgba(3,4,8,.22) 82%, rgba(3,4,8,.88) 100%);
}

.persona-fade-top{
  z-index:6;
  background: linear-gradient(180deg, rgba(5,5,7,1) 0%, rgba(5,5,7,.86) 16%, rgba(5,5,7,0) 40%);
}
.persona-fade-bottom{
  z-index:6;
  background: linear-gradient(180deg, rgba(5,5,7,0) 58%, rgba(5,5,7,.84) 86%, rgba(5,5,7,1) 100%);
}

.persona-overlay{
  z-index:7;
  background:
    linear-gradient(180deg, rgba(5,5,7,.10) 0%, rgba(5,5,7,.26) 22%, rgba(5,5,7,var(--persona-overlay-opacity)) 42%, rgba(5,5,7,var(--persona-overlay-opacity)) 60%, rgba(5,5,7,.28) 80%, rgba(5,5,7,.18) 100%);
}

.persona-shell{
  position:relative;
  z-index:10;
  min-height: 1320px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.persona-copy{
  position:relative;
  z-index:14;
  width:min(760px, 100%);
  margin:0 auto;
  text-align:center;
  transform: translate3d(0, var(--persona-copy-shift), 0);
}

.persona-title{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  font-family: Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:-.02em;
  line-height:.92;
  font-size: clamp(56px, 5.1vw, 92px);
  text-shadow:
    0 10px 34px rgba(0,0,0,.44),
    0 0 22px rgba(255,255,255,.02);
}
.persona-title span,
.persona-title strong{
  display:block;
}
.persona-title strong{
  color: var(--gold);
  text-shadow:
    0 0 18px rgba(215,181,109,.14),
    0 12px 34px rgba(0,0,0,.40);
}

.persona-sub{
  margin:20px auto 0;
  max-width:24ch;
  color: rgba(245,246,250,.74);
  font-size: clamp(15px, 1.1vw, 18px);
  line-height:1.65;
  text-shadow:0 6px 22px rgba(0,0,0,.28);
}

.persona-mosaic-stage{
  position:absolute;
  inset:0;
  z-index:9;
  overflow:hidden;
}

.persona-mosaic-grid{
  position:absolute;
  inset:-8% -4%;
  display:grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 18px;
  align-items:start;
  padding: 110px 44px 140px;
  transform: translate3d(0,0,0);
  will-change: transform;
}

.persona-col{
  display:grid;
  gap:18px;
  will-change: transform, opacity, filter;
}

.persona-col img{
  display:block;
  width:100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position:center center;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.06);
  box-shadow:
    0 20px 44px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.02) inset;
  filter:
    saturate(.82)
    contrast(.98)
    brightness(.58);
  opacity:.78;
  transform: scale(.98);
  background:#0d0f14;
}

.persona-col img:nth-child(2n){ aspect-ratio: 4 / 4.65; }
.persona-col img:nth-child(3n){ aspect-ratio: 4 / 5.3; }

.persona-col-1 img:nth-child(odd),
.persona-col-3 img:nth-child(even),
.persona-col-5 img:nth-child(odd),
.persona-col-7 img:nth-child(even){
  transform: scale(.98) rotate(-1.2deg);
}
.persona-col-2 img:nth-child(odd),
.persona-col-4 img:nth-child(even),
.persona-col-6 img:nth-child(odd){
  transform: scale(.98) rotate(1.2deg);
}

@media (max-width: 1180px){
  .persona-mosaic{ min-height: 1220px; }
  .persona-shell{ min-height: 1220px; }
  .persona-mosaic-grid{
    inset:-6% -8%;
    gap: 14px;
    padding: 110px 26px 130px;
  }
  .persona-col{ gap:14px; }
  .persona-col img{ border-radius:16px; }
  .persona-title{ font-size: clamp(48px, 7vw, 76px); }
}

@media (max-width: 980px){
  .persona-mosaic{ min-height: 1100px; }
  .persona-shell{
    min-height: 1100px;
    align-items:flex-start;
    padding-top: 140px;
  }
  .persona-copy{ width:min(520px, 100%); }
  .persona-title{ font-size: clamp(38px, 9vw, 60px); }
  .persona-sub{ font-size: 15px; max-width: 22ch; }
  .persona-mosaic-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    inset:-10% -14%;
    gap: 12px;
    padding: 80px 18px 120px;
  }
  .persona-col{ gap:12px; }
  .persona-col-4,
  .persona-col-5,
  .persona-col-6,
  .persona-col-7{ display:none; }
  .persona-overlay{
    background:
      linear-gradient(180deg, rgba(5,5,7,.16) 0%, rgba(5,5,7,.34) 16%, rgba(5,5,7,.60) 36%, rgba(5,5,7,.60) 64%, rgba(5,5,7,.34) 84%, rgba(5,5,7,.18) 100%);
  }
}

@media (max-width: 640px){
  .persona-mosaic{ min-height: 980px; }
  .persona-shell{
    min-height: 980px;
    padding-top: 122px;
  }
  .persona-copy{ width:min(320px, 100%); }
  .persona-title{
    font-size: clamp(32px, 10.4vw, 46px);
    line-height:.94;
  }
  .persona-sub{
    margin-top:16px;
    font-size:13px;
    line-height:1.58;
    max-width:20ch;
  }
  .persona-mosaic-grid{
    inset:-14% -26%;
    gap: 10px;
    padding: 62px 12px 112px;
  }
  .persona-col{ gap:10px; }
  .persona-col img{
    border-radius:14px;
    box-shadow: 0 16px 34px rgba(0,0,0,.30);
  }
  .persona-vignette{
    background:
      radial-gradient(circle at 50% 50%, rgba(0,0,0,0) 18%, rgba(0,0,0,.26) 58%, rgba(0,0,0,.74) 100%),
      linear-gradient(90deg, rgba(3,4,8,.94) 0%, rgba(3,4,8,.34) 18%, rgba(3,4,8,0) 34%, rgba(3,4,8,0) 66%, rgba(3,4,8,.34) 82%, rgba(3,4,8,.94) 100%);
  }
}

.persona-mosaic.is-active .persona-col img{ opacity:.82; }


/* =========================================================
   14000. PERSONAS — HOTFIX FINAL
   corrige alinhamento, fade, movimento vertical e sobra inferior
========================================================= */
#personas.persona-mosaic{
  position:relative !important;
  overflow:hidden !important;
  background:#020305 !important;
  min-height: 980px !important;
  padding: 0 !important;
}
#personas .persona-shell{
  position:relative !important;
  z-index:10 !important;
  min-height: 980px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#personas .persona-mosaic-stage{
  position:absolute !important;
  inset:0 !important;
  overflow:hidden !important;
  z-index:9 !important;
}
#personas .persona-mosaic-grid{
  position:absolute !important;
  inset: 56px 28px 64px 28px !important;
  display:grid !important;
  grid-template-columns: repeat(7, minmax(0,1fr)) !important;
  gap: 14px !important;
  padding:0 !important;
  transform: translate3d(0,0,0) !important;
  will-change: transform !important;
}
#personas .persona-col{
  display:grid !important;
  gap:14px !important;
  will-change: transform, opacity !important;
}
#personas .persona-col img{
  display:block !important;
  width:100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit:cover !important;
  border-radius:16px !important;
  opacity:.22;
  filter: saturate(.82) contrast(.98) brightness(.42);
  transition:none !important;
}
#personas .persona-copy{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:min(760px, calc(100% - 80px)) !important;
  margin:0 !important;
  text-align:center !important;
  z-index:14 !important;
  transform: translate(-50%, -50%) !important;
}
#personas .persona-title{
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  font-size: clamp(56px, 5.1vw, 92px) !important;
  line-height:.92 !important;
}
#personas .persona-sub{
  margin:16px auto 0 !important;
  max-width:22ch !important;
  color:rgba(245,246,250,.78) !important;
  font-size:clamp(15px,1vw,18px) !important;
  line-height:1.5 !important;
}
#personas .persona-vignette{
  z-index:5 !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,0) 20%, rgba(0,0,0,.24) 58%, rgba(0,0,0,.78) 100%),
    linear-gradient(90deg, rgba(2,3,5,.96) 0%, rgba(2,3,5,.50) 16%, rgba(2,3,5,0) 34%, rgba(2,3,5,0) 66%, rgba(2,3,5,.50) 84%, rgba(2,3,5,.96) 100%) !important;
}
#personas .persona-fade-top{
  z-index:6 !important;
  background:linear-gradient(180deg, rgba(2,3,5,1) 0%, rgba(2,3,5,.90) 16%, rgba(2,3,5,0) 42%) !important;
}
#personas .persona-fade-bottom{
  z-index:6 !important;
  background:linear-gradient(180deg, rgba(2,3,5,0) 52%, rgba(2,3,5,.88) 84%, rgba(2,3,5,1) 100%) !important;
}
#personas .persona-overlay{
  z-index:7 !important;
  background:linear-gradient(180deg, rgba(2,3,5,.10) 0%, rgba(2,3,5,.22) 20%, rgba(2,3,5,.50) 44%, rgba(2,3,5,.50) 58%, rgba(2,3,5,.24) 80%, rgba(2,3,5,.10) 100%) !important;
}

@media (max-width: 980px){
  #personas.persona-mosaic,
  #personas .persona-shell{ min-height: 860px !important; }
  #personas .persona-mosaic-grid{
    inset: 88px 20px 56px 20px !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap:12px !important;
  }
  #personas .persona-col{ gap:12px !important; }
  #personas .persona-col-4,
  #personas .persona-col-5,
  #personas .persona-col-6,
  #personas .persona-col-7{ display:none !important; }
  #personas .persona-copy{ width:min(520px, calc(100% - 40px)) !important; }
  #personas .persona-title{ font-size: clamp(40px, 8.6vw, 62px) !important; }
}
@media (max-width: 640px){
  #personas.persona-mosaic,
  #personas .persona-shell{ min-height: 760px !important; }
  #personas .persona-mosaic-grid{
    inset: 110px 16px 44px 16px !important;
    gap:10px !important;
  }
  #personas .persona-col{ gap:10px !important; }
  #personas .persona-copy{
    width:min(320px, calc(100% - 28px)) !important;
    top:50% !important;
  }
  #personas .persona-title{ font-size: clamp(32px, 10.5vw, 46px) !important; }
  #personas .persona-sub{ font-size:13px !important; line-height:1.52 !important; }
  #personas .persona-col img{ border-radius:14px !important; }
}



/* =========================================================
   13090. PERSONAS — FINAL 9x4 LOCK
========================================================= */
#personas{
  background:#000 !important;
}
#personas .persona-shell{
  position:relative !important;
}
#personas .persona-mosaic-stage{
  position:relative !important;
  width:min(1180px, calc(100% - 72px)) !important;
  margin:0 auto !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
#personas .persona-mosaic-grid{
  position:relative !important;
  z-index:12 !important;
  display:grid !important;
  grid-template-columns:repeat(9, minmax(0, 1fr)) !important;
  gap:14px !important;
  align-items:start !important;
  height:auto !important;
  overflow:visible !important;
  transform:none !important;
}
#personas .persona-col{
  display:grid !important;
  grid-template-rows:repeat(4, 1fr) !important;
  gap:14px !important;
  animation:none !important;
  transform:none !important;
  opacity:1 !important;
  filter:none !important;
}
#personas .persona-col img{
  display:block !important;
  width:100% !important;
  aspect-ratio:.78 / 1 !important;
  object-fit:cover !important;
  border-radius:18px !important;
  opacity:.96 !important;
  filter:saturate(.94) contrast(1.02) brightness(.86) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.28) !important;
}
#personas .persona-copy{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  z-index:40 !important;
  width:min(760px, calc(100% - 96px)) !important;
  margin:0 !important;
  text-align:center !important;
  opacity:1 !important;
  pointer-events:none !important;
}
#personas .persona-title{
  margin:0 !important;
  line-height:.92 !important;
  letter-spacing:-.02em !important;
  text-shadow:0 8px 28px rgba(0,0,0,.78), 0 2px 6px rgba(0,0,0,.72) !important;
}
#personas .persona-sub{
  margin:16px auto 0 !important;
  max-width:24ch !important;
  color:rgba(255,255,255,.96) !important;
  font-size:clamp(18px, 1.12vw, 22px) !important;
  line-height:1.42 !important;
  text-shadow:0 4px 18px rgba(0,0,0,.96), 0 1px 4px rgba(0,0,0,.92) !important;
  position:relative !important;
  z-index:41 !important;
}
#personas .persona-vignette{
  position:absolute !important;
  inset:0 !important;
  z-index:20 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.22) 16%, rgba(0,0,0,0) 28%, rgba(0,0,0,0) 72%, rgba(0,0,0,.22) 84%, rgba(0,0,0,.82) 100%),
    linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,0) 18%, rgba(0,0,0,0) 82%, rgba(0,0,0,.78) 100%) !important;
}
#personas .persona-mosaic-stage::before,
#personas .persona-mosaic-stage::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:170px !important;
  pointer-events:none !important;
  z-index:22 !important;
}
#personas .persona-mosaic-stage::before{
  left:0 !important;
  background:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.94) 18%, rgba(0,0,0,.56) 42%, rgba(0,0,0,0) 100%) !important;
}
#personas .persona-mosaic-stage::after{
  right:0 !important;
  background:linear-gradient(270deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.94) 18%, rgba(0,0,0,.56) 42%, rgba(0,0,0,0) 100%) !important;
}
#personas .persona-fade-top{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:180px !important;
  z-index:23 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.94) 18%, rgba(0,0,0,.54) 56%, rgba(0,0,0,0) 100%) !important;
}
#personas .persona-fade-bottom{
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:190px !important;
  z-index:23 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.52) 44%, rgba(0,0,0,.94) 82%, rgba(0,0,0,1) 100%) !important;
}
@media (max-width: 980px){
  #personas .persona-mosaic-stage{
    width:min(100%, calc(100% - 40px)) !important;
  }
  #personas .persona-mosaic-grid{
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
  #personas .persona-col{
    gap:12px !important;
  }
  #personas .persona-col:nth-child(n+6){
    display:none !important;
  }
  #personas .persona-copy{
    width:min(560px, calc(100% - 40px)) !important;
  }
  #personas .persona-title{
    font-size:clamp(40px, 8vw, 64px) !important;
  }
  #personas .persona-sub{
    max-width:22ch !important;
    font-size:15px !important;
  }
  #personas .persona-mosaic-stage::before,
  #personas .persona-mosaic-stage::after{
    width:110px !important;
  }
  #personas .persona-fade-top{
    height:140px !important;
  }
  #personas .persona-fade-bottom{
    height:146px !important;
  }
}
@media (max-width: 640px){
  #personas .persona-mosaic-stage{
    width:min(100%, calc(100% - 28px)) !important;
  }
  #personas .persona-mosaic-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
  }
  #personas .persona-col{
    gap:10px !important;
  }
  #personas .persona-col:nth-child(n+4){
    display:none !important;
  }
  #personas .persona-copy{
    width:min(340px, calc(100% - 28px)) !important;
  }
  #personas .persona-title{
    font-size:clamp(31px, 10.4vw, 46px) !important;
    line-height:.94 !important;
  }
  #personas .persona-sub{
    margin-top:12px !important;
    max-width:20ch !important;
    font-size:13px !important;
    line-height:1.52 !important;
  }
  #personas .persona-col img{
    border-radius:14px !important;
  }
  #personas .persona-mosaic-stage::before,
  #personas .persona-mosaic-stage::after{
    width:64px !important;
  }
  #personas .persona-fade-top{
    height:106px !important;
  }
  #personas .persona-fade-bottom{
    height:120px !important;
  }
}

/* =========================================================
   16000. PERSONAS — FINAL CLEAN OVERRIDE
   separa melhor da seção anterior
   fundo 100% preto
   fade apenas no grid (topo/rodapé)
   texto mais legível
========================================================= */
#personas.persona-mosaic{
  position: relative !important;
  z-index: 20 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #000 !important;
  min-height: 760px !important;
  padding: 0 !important;
  margin: 0 !important;
}

#personas::before,
#personas::after{
  display: none !important;
  content: none !important;
}

#personas > .persona-bg,
#personas > .persona-gridlines,
#personas > .persona-glow-a,
#personas > .persona-glow-b,
#personas > .persona-vignette,
#personas > .persona-fade-top,
#personas > .persona-fade-bottom,
#personas > .persona-overlay{
  display: none !important;
}

#personas .persona-shell{
  position: relative !important;
  z-index: 3 !important;
  min-height: 760px !important;
  display: block !important;
  background: #000 !important;
}

#personas .persona-mosaic-stage{
  position: absolute !important;
  left: 50% !important;
  top: 48px !important;
  bottom: 42px !important;
  width: min(1180px, calc(100% - 64px)) !important;
  transform: translateX(-50%) !important;
  overflow: hidden !important;
  z-index: 4 !important;
  background: #000 !important;
  border-radius: 0 !important;
}

#personas .persona-mosaic-stage::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 12 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,.98) 10%,
      rgba(0,0,0,.84) 20%,
      rgba(0,0,0,.46) 34%,
      rgba(0,0,0,0) 48%,
      rgba(0,0,0,0) 52%,
      rgba(0,0,0,.46) 66%,
      rgba(0,0,0,.84) 80%,
      rgba(0,0,0,.98) 90%,
      rgba(0,0,0,1) 100%
    ) !important;
}

#personas .persona-mosaic-stage::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 11 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.96) 0%,
      rgba(0,0,0,.54) 10%,
      rgba(0,0,0,0) 24%,
      rgba(0,0,0,0) 76%,
      rgba(0,0,0,.54) 90%,
      rgba(0,0,0,.96) 100%
    ) !important;
}

#personas .persona-vignette,
#personas .persona-fade,
#personas .persona-overlay{
  display: none !important;
}

#personas .persona-mosaic-grid{
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 8px 12px !important;
  will-change: transform !important;
}

#personas .persona-col{
  display: grid !important;
  gap: 14px !important;
  will-change: transform, opacity !important;
}

#personas .persona-col img{
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  background: #080808 !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  box-shadow: 0 18px 34px rgba(0,0,0,.34) !important;
}

#personas .persona-copy{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 20 !important;
  width: min(840px, calc(100% - 48px)) !important;
  margin: 0 !important;
  text-align: center !important;
}

#personas .persona-copy::before{
  content: "" !important;
  position: absolute !important;
  inset: -28px -42px -24px -42px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(0,0,0,.82) 0%,
      rgba(0,0,0,.66) 30%,
      rgba(0,0,0,.38) 56%,
      rgba(0,0,0,0) 82%
    ) !important;
  filter: blur(12px) !important;
}

#personas .persona-title{
  margin: 0 !important;
  text-shadow:
    0 12px 34px rgba(0,0,0,.64),
    0 0 20px rgba(0,0,0,.40) !important;
}

#personas .persona-sub{
  color: rgba(245,246,250,.94) !important;
  text-shadow:
    0 10px 24px rgba(0,0,0,.74),
    0 0 14px rgba(0,0,0,.42) !important;
}

@media (max-width: 980px){
  #personas.persona-mosaic,
  #personas .persona-shell{
    min-height: 670px !important;
  }

  #personas .persona-mosaic-stage{
    top: 40px !important;
    bottom: 36px !important;
    width: calc(100% - 40px) !important;
  }

  #personas .persona-mosaic-grid{
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 12px !important;
    padding: 8px !important;
  }

  #personas .persona-col{
    gap: 12px !important;
  }

  #personas .persona-col-4,
  #personas .persona-col-5,
  #personas .persona-col-6,
  #personas .persona-col-7,
  #personas .persona-col-8,
  #personas .persona-col-9{
    display: none !important;
  }
}

@media (max-width: 640px){
  #personas.persona-mosaic,
  #personas .persona-shell{
    min-height: 600px !important;
  }

  #personas .persona-mosaic-stage{
    top: 32px !important;
    bottom: 30px !important;
    width: calc(100% - 24px) !important;
  }

  #personas .persona-mosaic-grid{
    gap: 10px !important;
    padding: 6px !important;
  }

  #personas .persona-col{
    gap: 10px !important;
  }

  #personas .persona-copy::before{
    inset: -18px -12px -16px -12px !important;
  }
}

/* ===== PERSONAS — TUNING FINAL ===== */

#personas .persona-mosaic-stage{
  top: 56px !important;
  bottom: 56px !important; /* agora fica IGUAL */
}

/* Fade lateral mais forte (efeito Tales) */
#personas .persona-mosaic-stage::after{
  background:
    linear-gradient(90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 12%,
      rgba(0,0,0,.85) 22%,
      rgba(0,0,0,.35) 32%,
      rgba(0,0,0,0) 42%,
      rgba(0,0,0,0) 58%,
      rgba(0,0,0,.35) 68%,
      rgba(0,0,0,.85) 78%,
      rgba(0,0,0,1) 88%,
      rgba(0,0,0,1) 100%
    ) !important;
}

/* Fade top/bottom mais impactante */
#personas .persona-mosaic-stage::before{
  background:
    linear-gradient(180deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,1) 14%,
      rgba(0,0,0,.9) 24%,
      rgba(0,0,0,.45) 36%,
      rgba(0,0,0,0) 48%,
      rgba(0,0,0,0) 52%,
      rgba(0,0,0,.45) 64%,
      rgba(0,0,0,.9) 76%,
      rgba(0,0,0,1) 86%,
      rgba(0,0,0,1) 100%
    ) !important;
}

/* AJUSTE RESPIRO ENTRE MANIFESTO E CONTATO */
#contato.section-contact{
  padding-top:40px !important;
  padding-bottom:104px;
}

/* =====================================
CORREÇÃO TÍTULO MÉTODO - DESKTOP
===================================== */

@media (min-width: 1024px){

  .method-intro{
    grid-template-columns: minmax(520px, 1.1fr) minmax(320px, .9fr) !important;
    gap: 70px !important;
    align-items: center !important;
  }

  .method-intro-left{
    max-width: 560px !important;
    width: 100% !important;
  }

  .method-title{
    max-width: 560px !important;
  }

  .method-title span{
    display:block !important;
    white-space:nowrap !important;
  }

}

/* =========================================================
   11020. METHOD SYSTEM — MICRO POLIMENTO DESKTOP
========================================================= */
@media (min-width: 981px){

  .method-system-stage{
    padding-top:36px !important;
  }

  .method-card{
    background:
      radial-gradient(circle at 78% 18%, rgba(60,130,255,.055) 0%, rgba(60,130,255,0) 34%),
      linear-gradient(180deg, rgba(255,255,255,.048) 0%, rgba(255,255,255,.017) 100%),
      linear-gradient(180deg, #0b0e15 0%, #07080c 100%) !important;
    box-shadow:
      0 24px 64px rgba(0,0,0,.34),
      0 0 34px rgba(60,130,255,.055),
      inset 0 1px 0 rgba(255,255,255,.045),
      inset 0 0 0 1px rgba(255,255,255,.012) !important;
  }

  .method-card::before{
    opacity:.40 !important;
  }

  .method-intro .section-title{
    text-shadow:
      0 0 10px rgba(215,181,109,.22),
      0 0 22px rgba(215,181,109,.12) !important;
  }

  .method-lead{
    color:rgba(245,246,250,.84) !important;
  }

  .method-lead strong{
    color:rgba(255,255,255,.98) !important;
  }

}


/* =========================================================
   13000. IMPACTO — FRASE FINAL PREMIUM
   Ajuste isolado no bloco cinematic-face
========================================================= */
.cinematic-copy-right.impact-note{
  position:absolute !important;
  right:12.4% !important;
  bottom:112px !important;
  max-width:260px !important;
  text-align:right !important;
  z-index:8 !important;
  padding-bottom:0 !important;
}

.cinematic-copy-right.impact-note p{
  position:relative !important;
  margin:0 !important;
  color:rgba(245,246,250,.92) !important;
  font-size:15px !important;
  line-height:1.45 !important;
  letter-spacing:.45px !important;
  font-weight:500 !important;
  text-shadow:
    0 0 8px rgba(49,130,255,.18),
    0 0 18px rgba(49,130,255,.10) !important;
  opacity:.96 !important;
}

.cinematic-copy-right.impact-note strong{
  display:block !important;
  margin-bottom:4px !important;
  color:#ffffff !important;
  font-family:Rajdhani, sans-serif !important;
  font-size:18px !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:1.15px !important;
  text-transform:uppercase !important;
  text-shadow:
    0 0 10px rgba(215,181,109,.18),
    0 0 22px rgba(49,130,255,.10) !important;
}

.cinematic-copy-right.impact-note span{
  display:block !important;
  color:rgba(245,246,250,.82) !important;
}

.cinematic-copy-right.impact-note p::before{
  content:"" !important;
  position:absolute !important;
  right:100% !important;
  top:2px !important;
  margin-right:14px !important;
  width:2px !important;
  height:44px !important;
  border-radius:999px !important;
  background:linear-gradient(to bottom, rgba(217,167,61,.96), rgba(217,167,61,.12)) !important;
  box-shadow:0 0 16px rgba(217,167,61,.28) !important;
}

@media (max-width:1200px){
  .cinematic-copy-right.impact-note{
    right:10% !important;
    max-width:240px !important;
  }
}

@media (max-width:768px){
  #cinematic-face .cinematic-copy-right.impact-note,
  .cinematic-face .cinematic-copy-right.impact-note{
    left:16px !important;
    right:auto !important;
    bottom:44px !important;
    max-width:210px !important;
    text-align:left !important;
    z-index:8 !important;
  }

  #cinematic-face .cinematic-copy-right.impact-note p,
  .cinematic-face .cinematic-copy-right.impact-note p{
    font-size:12px !important;
    line-height:1.42 !important;
    letter-spacing:.25px !important;
  }

  #cinematic-face .cinematic-copy-right.impact-note strong,
  .cinematic-face .cinematic-copy-right.impact-note strong{
    font-size:14px !important;
    letter-spacing:.9px !important;
    margin-bottom:3px !important;
  }

  #cinematic-face .cinematic-copy-right.impact-note p::before,
  .cinematic-face .cinematic-copy-right.impact-note p::before{
    left:0 !important;
    right:auto !important;
    top:-12px !important;
    margin-right:0 !important;
    width:42px !important;
    height:1px !important;
    background:linear-gradient(90deg, rgba(217,167,61,.96), rgba(217,167,61,.08)) !important;
  }
}

/* =========================================================
   12100. OPERAÇÕES — RADAR MASTER FIX DEFINITIVO
   Corrige o radar que sumiu: cria os pseudo-elementos completos
   com content + position absolute + z-index certo.
========================================================= */
@media (min-width: 981px){

  .operacoes{
    padding:128px 0 122px !important;
    background:
      linear-gradient(180deg, rgba(0,0,0,.78) 0%, rgba(4,6,11,0) 18%, rgba(4,6,11,0) 78%, rgba(0,0,0,.52) 100%),
      radial-gradient(980px 500px at 26% 48%, rgba(18,72,180,.18) 0%, rgba(18,72,180,0) 58%),
      radial-gradient(860px 460px at 76% 54%, rgba(0,122,255,.15) 0%, rgba(0,122,255,0) 62%),
      radial-gradient(680px 360px at 51% 48%, rgba(90,150,255,.075) 0%, rgba(90,150,255,0) 56%),
      linear-gradient(180deg, #05070c 0%, #03050a 100%) !important;
  }

  .operacoes-grid{
    position:relative !important;
    z-index:2 !important;
    gap:64px !important;
  }

  .operacoes-left,
  .operacoes-right{
    position:relative !important;
    z-index:4 !important;
  }

  .operacoes-left{ transform:translateX(30px) !important; }
  .operacoes-right{ transform:translateY(-20px) !important; }

  .operacoes-text{
    color:rgba(245,246,250,.86) !important;
    text-shadow:0 0 18px rgba(255,255,255,.035) !important;
  }

  .operacoes-points span{
    color:rgba(245,246,250,.82) !important;
    letter-spacing:.16em !important;
    text-shadow:0 0 16px rgba(80,150,255,.08) !important;
  }

  .operacoes-points span::after{
    opacity:.56 !important;
    box-shadow:0 0 12px rgba(215,181,109,.10) !important;
  }

  .operacoes-grid::before{
    content:"" !important;
    position:absolute !important;
    left:50.5% !important;
    top:50% !important;
    width:470px !important;
    height:470px !important;
    border-radius:50% !important;
    pointer-events:none !important;
    z-index:1 !important;
    transform:translate(-50%, -50%) rotate(0deg) !important;
    background:
      radial-gradient(circle at center, rgba(30,105,220,.18) 0%, rgba(30,105,220,.075) 27%, rgba(30,105,220,0) 66%),
      radial-gradient(circle at center, transparent 0 22%, rgba(82,150,255,.24) 22.35%, transparent 23.15%),
      radial-gradient(circle at center, transparent 0 39%, rgba(82,150,255,.18) 39.35%, transparent 40.15%),
      radial-gradient(circle at center, transparent 0 56%, rgba(82,150,255,.14) 56.35%, transparent 57.15%),
      radial-gradient(circle at center, transparent 0 70%, rgba(82,150,255,.11) 70.35%, transparent 71.1%),
      linear-gradient(90deg, transparent 49.55%, rgba(82,150,255,.20) 49.82%, rgba(82,150,255,.20) 50.18%, transparent 50.45%),
      linear-gradient(0deg, transparent 49.55%, rgba(82,150,255,.17) 49.82%, rgba(82,150,255,.17) 50.18%, transparent 50.45%),
      linear-gradient(32deg, transparent 49.66%, rgba(215,181,109,.14) 49.90%, rgba(215,181,109,.14) 50.10%, transparent 50.34%),
      linear-gradient(142deg, transparent 49.66%, rgba(82,150,255,.13) 49.90%, rgba(82,150,255,.13) 50.10%, transparent 50.34%) !important;
    opacity:.62 !important;
    filter:drop-shadow(0 0 46px rgba(40,110,255,.23)) drop-shadow(0 0 78px rgba(40,110,255,.11)) !important;
    animation: operacoesRadarFixRotate 40s linear infinite, operacoesRadarFixGlow 6s ease-in-out infinite !important;
  }

  .operacoes-grid::after{
    content:"" !important;
    position:absolute !important;
    left:50.5% !important;
    top:50% !important;
    width:420px !important;
    height:420px !important;
    border-radius:50% !important;
    pointer-events:none !important;
    z-index:2 !important;
    transform:translate(-50%, -50%) !important;
    background:
      radial-gradient(circle at 50% 50%, rgba(130,195,255,.46) 0 2px, transparent 3.4px),
      radial-gradient(circle at 28% 36%, rgba(130,195,255,.52) 0 2.5px, transparent 3.9px),
      radial-gradient(circle at 66% 35%, rgba(130,195,255,.44) 0 2.3px, transparent 3.7px),
      radial-gradient(circle at 61% 68%, rgba(215,181,109,.42) 0 2.3px, transparent 3.7px),
      linear-gradient(29deg, transparent 31%, rgba(130,195,255,.20) 31.2%, rgba(130,195,255,.20) 31.7%, transparent 32%),
      linear-gradient(151deg, transparent 38%, rgba(215,181,109,.16) 38.2%, rgba(215,181,109,.16) 38.7%, transparent 39%),
      linear-gradient(104deg, transparent 43%, rgba(130,195,255,.15) 43.2%, rgba(130,195,255,.15) 43.7%, transparent 44%) !important;
    opacity:.60 !important;
    filter:drop-shadow(0 0 22px rgba(80,150,255,.26)) drop-shadow(0 0 44px rgba(80,150,255,.14)) !important;
    animation: operacoesRadarFixNodes 6s ease-in-out infinite !important;
  }
}

@keyframes operacoesRadarFixRotate{
  from{ transform:translate(-50%, -50%) rotate(0deg) scale(1); }
  to{ transform:translate(-50%, -50%) rotate(360deg) scale(1); }
}

@keyframes operacoesRadarFixGlow{
  0%,100%{ opacity:.50; filter:drop-shadow(0 0 36px rgba(40,110,255,.19)) drop-shadow(0 0 70px rgba(40,110,255,.09)); }
  50%{ opacity:.70; filter:drop-shadow(0 0 58px rgba(40,110,255,.29)) drop-shadow(0 0 94px rgba(40,110,255,.15)); }
}

@keyframes operacoesRadarFixNodes{
  0%,100%{ transform:translate(-50%, -50%) rotate(0deg) scale(.985); opacity:.44; }
  50%{ transform:translate(-50%, -50%) rotate(3deg) scale(1.03); opacity:.72; }
}

@media (max-width: 980px){
  .operacoes-grid::before,
  .operacoes-grid::after{ display:none !important; }
}

/* =========================================================
   15000. PERFORMANCE / LOADER / SCROLL ANCHOR
   Seguro: sem regras globais de imagem para não distorcer hero/grid
========================================================= */
html{
  scroll-behavior:smooth;
  scroll-padding-top:104px;
}

body:not(.is-loaded){
  overflow:hidden;
}

.site-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 45%, rgba(215,181,109,.08), transparent 34%),
    linear-gradient(180deg,#05060a 0%,#020305 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .42s ease, visibility .42s ease;
}

.site-loader-mark{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  transform:translateY(-6px);
}

.site-loader-mark img{
  width:142px;
  height:auto;
  display:block;
  filter:drop-shadow(0 0 22px rgba(215,181,109,.14));
}

.site-loader-mark span{
  width:136px;
  height:2px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  position:relative;
}

.site-loader-mark span::after{
  content:"";
  position:absolute;
  inset:0;
  width:42%;
  background:linear-gradient(90deg, transparent, rgba(215,181,109,.95), transparent);
  animation:siteLoaderRun 1.1s ease-in-out infinite;
}

body.is-loaded{
  overflow-x:hidden;
}

body.is-loaded .site-loader{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

@keyframes siteLoaderRun{
  0%{ transform:translateX(-120%); }
  100%{ transform:translateX(260%); }
}

@media (max-width:980px){ html{ scroll-padding-top:88px; } }
@media (max-width:640px){
  html{ scroll-padding-top:80px; }
  .site-loader-mark img{ width:118px; }
}

/* =========================================================
   17010. MOBILE IMPACT — COMPACTAR TOPO INTERNO
   Corrige o respiro dentro do bloco Impacto sem mexer no desktop.
   Importante: também vence o cinematic-patch no mobile.
========================================================= */
@media (max-width: 768px){
  body #cinematic-face,
  body #cinematic-face.cinematic-face,
  #cinematic-face,
  .cinematic-face{
    min-height: 510px !important;
    height: auto !important;
    padding: 0 !important;
    align-items: flex-start !important;
    overflow: hidden !important;
  }

  body #cinematic-face .cinematic-shell,
  #cinematic-face .cinematic-shell,
  .cinematic-face .cinematic-shell{
    width: 100% !important;
    min-height: 510px !important;
    display: block !important;
    grid-template-columns: 1fr !important;
    padding: 0 16px 66px !important;
    align-items: flex-start !important;
  }

  body #cinematic-face .cinematic-copy-left,
  #cinematic-face .cinematic-copy-left,
  .cinematic-face .cinematic-copy-left{
    max-width: 232px !important;
    padding-top: 12px !important;
    position: relative !important;
    z-index: 8 !important;
  }

  body #cinematic-face .cinematic-kicker,
  #cinematic-face .cinematic-kicker,
  .cinematic-face .cinematic-kicker{
    margin-top: 0 !important;
    margin-bottom: 6px !important;
  }
}

@media (max-width: 640px){
  body #cinematic-face,
  body #cinematic-face.cinematic-face,
  #cinematic-face,
  .cinematic-face{
    min-height: 500px !important;
  }

  body #cinematic-face .cinematic-shell,
  #cinematic-face .cinematic-shell,
  .cinematic-face .cinematic-shell{
    min-height: 500px !important;
    padding: 0 16px 70px !important;
  }

  body #cinematic-face .cinematic-copy-left,
  #cinematic-face .cinematic-copy-left,
  .cinematic-face .cinematic-copy-left{
    padding-top: 8px !important;
    max-width: 226px !important;
  }
}

@media (max-width: 390px){
  body #cinematic-face,
  body #cinematic-face.cinematic-face,
  #cinematic-face,
  .cinematic-face{
    min-height: 490px !important;
  }

  body #cinematic-face .cinematic-shell,
  #cinematic-face .cinematic-shell,
  .cinematic-face .cinematic-shell{
    min-height: 490px !important;
  }

  body #cinematic-face .cinematic-copy-left,
  #cinematic-face .cinematic-copy-left,
  .cinematic-face .cinematic-copy-left{
    padding-top: 6px !important;
  }
}

/* =========================================================
   PATCH MOBILE FINAL — HERO + IMPACTO
========================================================= */
@media (max-width: 640px){

  .hero-grid-lines{
    background-image:
      linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px) !important;
    background-size: 46px 46px !important;
    opacity: .14 !important;
  }

  .hero-grid{
    padding-bottom: 0 !important;
  }

  .hero-visual{
    min-height: 305px !important;
    height: 305px !important;
    overflow: hidden !important;
    align-items: flex-start !important;
    margin-top: 18px !important;
    margin-bottom: 0 !important;
  }

  .hero-person{
    width: 410px !important;
    max-width: 114% !important;
    transform: translateY(-4px) !important;
  }

  .hero-symbol{
    width: 150px !important;
    top: 57% !important;
    left: 50% !important;
  }

  .hero-tech-overlay{
    opacity: .28 !important;
  }

  #cinematic-face .cinematic-copy-left,
  .cinematic-face .cinematic-copy-left,
  body #cinematic-face .cinematic-copy-left{
    padding-top: 54px !important;
  }
}

@media (max-width: 640px){
  .hero-symbol{
    top: 73% !important;
  }
}

/* =========================================================
   MOBILE CASES — MICRO REFINO FINAL
   Só mobile. Não altera desktop.
========================================================= */
@media (max-width: 768px){

  .cp-card--hero .cp-title{
    font-size: 17px !important;
    line-height: 1.08 !important;
  }

  .cp-card--hero .cp-title strong,
  .cp-card--hero .cp-title span{
    display: inline !important;
  }

  .cp-card--hero .cp-title strong::after{
    content: " " !important;
  }

  .cp-title{
    font-size: 16px !important;
    line-height: 1.12 !important;
  }

  .cp-text{
    font-size: 15px !important;
    line-height: 1.62 !important;
    max-width: 28ch !important;
  }

  .cp-body{
    padding: 20px 18px 22px !important;
  }
}

/* =========================================
MOBILE - QUEBRA FORÇADA CARD 1 CASES
========================================= */
@media (max-width:768px){

  .cp-card--hero .cp-title{
    max-width: 100% !important;
    line-height: 1.08 !important;
  }

  .cp-card--hero .cp-title{
    font-size: 16px !important;
  }

  .cp-card--hero .cp-title::before{
    content: none !important;
  }

  .cp-card--hero .cp-title{
    white-space: normal !important;
  }

}

/* =========================================
MOBILE - TÍTULO MÉTODO REFINADO
========================================= */
@media (max-width:768px){

  .method-title{
    display:flex;
    flex-direction:column;
    gap:6px;
    line-height:0.92 !important;
  }

  .method-title span:nth-child(1){
    display:block;
  }

  .method-title span:nth-child(2){
    display:block;
  }

  .method-title span:nth-child(3){
    display:block;
  }

}

/* MOBILE — CORREÇÃO FINAL TÍTULO MÉTODO */
@media (max-width: 640px){

  #metodo .method-title{
    max-width: 100% !important;
    width: 100% !important;
    font-size: clamp(36px, 10vw, 46px) !important;
    line-height: .94 !important;
  }

  #metodo .method-title span{
    display: block !important;
    white-space: nowrap !important;
  }

}

/* MOBILE — ELEMENTO TÁTICO DO DESKTOP */
@media (max-width: 640px){

  #operacoes{
    position:relative;
    overflow:hidden;
  }

  /* radar principal */
  #operacoes::before{
    content:"";
    position:absolute;
    right:-110px;
    top:180px;
    width:420px;
    height:420px;
    border-radius:50%;
    pointer-events:none;
    opacity:.48;
    z-index:0;

    background:
      /* linhas retas */
      linear-gradient(28deg,
        transparent 48%,
        rgba(90,150,255,.14) 49%,
        rgba(90,150,255,.14) 51%,
        transparent 52%),

      linear-gradient(118deg,
        transparent 48%,
        rgba(90,150,255,.10) 49%,
        rgba(90,150,255,.10) 51%,
        transparent 52%),

      linear-gradient(62deg,
        transparent 48%,
        rgba(255,210,120,.08) 49%,
        rgba(255,210,120,.08) 51%,
        transparent 52%),

      /* circulos */
      radial-gradient(circle,
        transparent 22%,
        rgba(50,120,255,.16) 22.5%,
        transparent 23%,
        transparent 39%,
        rgba(50,120,255,.12) 39.5%,
        transparent 40%,
        transparent 57%,
        rgba(50,120,255,.10) 57.5%,
        transparent 58%,
        transparent 74%,
        rgba(50,120,255,.08) 74.5%,
        transparent 75%);
    
    filter: blur(.2px);
  }

  /* glow auxiliar */
  #operacoes::after{
    content:"";
    position:absolute;
    right:20px;
    top:280px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle,
      rgba(0,110,255,.16) 0%,
      rgba(0,40,120,.08) 40%,
      transparent 72%);
    pointer-events:none;
    z-index:0;
  }

  #operacoes .container,
  #operacoes .ops-grid{
    position:relative;
    z-index:2;
  }

}

/* MOBILE — RADAR OPERAÇÕES */
@media (max-width: 640px){

  .operacoes{
    position: relative !important;
    overflow: hidden !important;
  }

  .operacoes::before{
    content:"" !important;
    position:absolute !important;
    right:-135px !important;
    top:120px !important;
    width:430px !important;
    height:430px !important;
    border-radius:50% !important;
    pointer-events:none !important;
    z-index:1 !important;
    opacity:.42 !important;

    background:
      linear-gradient(28deg, transparent 48%, rgba(90,150,255,.18) 49%, rgba(90,150,255,.18) 51%, transparent 52%),
      linear-gradient(118deg, transparent 48%, rgba(90,150,255,.13) 49%, rgba(90,150,255,.13) 51%, transparent 52%),
      linear-gradient(62deg, transparent 48%, rgba(255,210,120,.10) 49%, rgba(255,210,120,.10) 51%, transparent 52%),
      radial-gradient(circle,
        transparent 22%,
        rgba(70,130,255,.18) 22.5%,
        transparent 23%,
        transparent 39%,
        rgba(70,130,255,.14) 39.5%,
        transparent 40%,
        transparent 57%,
        rgba(70,130,255,.12) 57.5%,
        transparent 58%,
        transparent 74%,
        rgba(70,130,255,.10) 74.5%,
        transparent 75%);
  }

  .operacoes::after{
    z-index:0 !important;
  }

  .operacoes .wrap,
  .operacoes-grid{
    position:relative !important;
    z-index:2 !important;
  }
}