/* ============================================================
   HERO MINIMAL — Edição Maio 2026 (v2)
   Carregar SEMPRE por último (override hero rules anteriores).
   Conceito: máxima respiração, nome empresa topo, charme via micro-detalhes
   ============================================================ */

/* ─── HERO base override ─── */
.hero.hero--fluid{
  position:relative;
  height:100svh;
  min-height:680px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
  background:#06040a;
  isolation:isolate;
  --gold:#c8a84b;
  --gold-soft:#e8c87a;
  --gold-deep:#9a7c2e;
}

/* ─── Background imagem (re-exibe + zoom suave infinito) ─── */
.hero--fluid .hero__bg{
  display:block;
  position:absolute;
  inset:-4%;
  z-index:0;
  pointer-events:none;
  filter:saturate(108%) contrast(104%);
}
.hero--fluid .hero__bg-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.08);
  transform-origin:center 60%;
  animation:heroFluidDrift 28s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes heroFluidDrift{
  0%   { transform:scale(1.08) translate3d(0,0,0); }
  100% { transform:scale(1.14) translate3d(-2%,-1%,0); }
}

/* ─── Atmosfera + grid + overlay escuro ─── */
.hero--fluid .hero__atmo{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(200,168,75,0.08) 0%, transparent 55%),
    radial-gradient(80% 60% at 50% 100%, rgba(200,168,75,0.06) 0%, transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.022) 0 1px, transparent 1px 100px),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.022) 0 1px, transparent 1px 100px);
  mix-blend-mode:overlay;
}
.hero--fluid .hero__overlay{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(6,4,10,.55) 0%, rgba(6,4,10,.18) 28%, rgba(6,4,10,.20) 60%, rgba(6,4,10,.78) 100%),
    radial-gradient(ellipse 70% 55% at 50% 48%, transparent 38%, rgba(6,4,10,.55) 90%) !important;
}
.hero--fluid #hero-canvas{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:3;opacity:.55;mix-blend-mode:screen;pointer-events:none;
}

/* ─── WORDMARK topo (nome empresa em UMA linha) ─── */
.hero--fluid .hero__wordmark{
  position:relative;z-index:5;
  width:min(1440px, 100% - 48px);
  margin:0 auto;
  padding-block-start:calc(var(--header-h, 80px) + clamp(28px, 6vw, 80px));
  display:flex;flex-direction:column;align-items:center;
  gap:clamp(18px, 2.4vw, 28px);
  text-align:center;
}

/* Kicker (eyebrow) */
.hero--fluid .hero__kicker{
  display:inline-flex;align-items:center;gap:12px;
  font-family:'DM Sans', sans-serif !important;
  font-size:11px;font-weight:600;
  letter-spacing:.34em;text-transform:uppercase;
  color:rgba(232,200,122,.78) !important;
  opacity:0;
  animation:heroFadeUp .9s cubic-bezier(.16,1,.3,1) .4s forwards;
}
.hero--fluid .hero__kicker-dot{
  width:5px;height:5px;border-radius:50%;background:var(--gold-soft);
  box-shadow:0 0 10px var(--gold-soft), 0 0 22px var(--gold);
  animation:heroPulse 2.4s ease-in-out infinite;
}
.hero--fluid .hero__kicker-text{
  font-family:'DM Sans', sans-serif !important;
  letter-spacing:.34em !important;
  color:rgba(232,200,122,.78) !important;
}

/* Nome empresa — UMA LINHA, hero principal */
.hero--fluid .hero__name{
  font-family:'Cormorant Garamond', Georgia, serif !important;
  font-size:clamp(2.6rem, 8.6vw, 8rem) !important;
  font-weight:300 !important;
  font-style:normal !important;
  line-height:1.1 !important;
  letter-spacing:-0.022em !important;
  color:#fff !important;
  margin:0 !important;
  padding-block:.05em;
  white-space:nowrap;
  display:flex;align-items:baseline;justify-content:center;
  gap:clamp(10px, 1.4vw, 22px);
  user-select:none;
  overflow:hidden;
}
.hero--fluid .hero__name .word{
  display:inline-block;
  position:relative;
  padding-block:.05em;
  transform:translateY(110%);
  opacity:0;
  animation:heroLineUp 1.2s cubic-bezier(.16,1,.3,1) forwards;
}
.hero--fluid .hero__name .word:nth-child(1){ animation-delay:.7s; }
.hero--fluid .hero__name .word:nth-child(2){ animation-delay:.9s; }
.hero--fluid .hero__name .word:nth-child(3){ animation-delay:1.1s; }

/* "Luz" em dourado com shimmer */
.hero--fluid .hero__name .word--gold{
  background:linear-gradient(120deg, var(--gold-soft) 0%, var(--gold) 50%, var(--gold-soft) 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent !important;
  font-style:italic;
  font-weight:400;
  animation:heroLineUp 1.2s cubic-bezier(.16,1,.3,1) .7s forwards, heroGoldShimmer 6s linear 2s infinite;
  padding-inline:.04em; /* respiro pro background-clip */
}

/* ─── MARQUEE inferior ─── */
.hero--fluid .hero__marquee{
  position:absolute;inset-block-end:64px;inset-inline:0;
  z-index:4;pointer-events:none;
  overflow:hidden;
  mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  opacity:0;animation:heroFadeUp 1s ease 1.8s forwards;
}
.hero--fluid .hero__marquee-track{
  display:flex;align-items:center;gap:32px;
  white-space:nowrap;
  animation:marqueeScroll 38s linear infinite;
  font-family:'DM Sans',sans-serif;
  font-size:11px;font-weight:600;
  letter-spacing:.34em;text-transform:uppercase;
  color:rgba(255,237,215,.42);
}
.hero--fluid .hero__marquee-track .dot{color:var(--gold);font-size:8px;}
@keyframes marqueeScroll{
  from{ transform:translateX(0); }
  to  { transform:translateX(-50%); }
}

/* ─── SCROLL INDICATOR (Linear-style numerado) ─── */
.hero--fluid .hero__scroll{
  position:absolute;
  inset-block-end:18px;
  inset-inline-end:32px;
  z-index:6;
  display:flex;align-items:center;gap:14px;
  background:none;border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;
  color:rgba(255,237,215,.6);
  opacity:0;animation:heroFadeUp 1s ease 2s forwards;
  transition:color .4s ease;
}
.hero--fluid .hero__scroll:hover{ color:var(--gold-soft); }
.hero--fluid .hero__scroll-num{
  font-size:11px;font-weight:600;letter-spacing:.2em;
}
.hero--fluid .hero__scroll-track{
  position:relative;display:block;width:44px;height:1px;background:rgba(255,237,215,.22);
  overflow:hidden;
}
.hero--fluid .hero__scroll-thumb{
  position:absolute;inset-block:0;left:-44px;width:44px;
  background:linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
  animation:scrollThumb 2.6s ease-in-out infinite;
}
@keyframes scrollThumb{
  0%   { left:-44px; }
  50%  { left:44px; }
  100% { left:44px; }
}
.hero--fluid .hero__scroll-label{
  font-size:10px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;
}

/* ─── Esconder scroll indicator antigo ─── */
.hero--fluid .hero__scroll-indicator{display:none !important;}

/* ─── ANIMAÇÕES ─── */
@keyframes heroFadeUp{
  from{ opacity:0; transform:translateY(18px); }
  to  { opacity:1; transform:translateY(0); }
}
@keyframes heroLineUp{
  from{ opacity:0; transform:translateY(110%); }
  to  { opacity:1; transform:translateY(0); }
}
@keyframes heroPulse{
  0%,100%{ transform:scale(1);  opacity:1; }
  50%    { transform:scale(1.4);opacity:.6; }
}
@keyframes heroGoldShimmer{
  0%   { background-position:0% 50%; }
  100% { background-position:200% 50%; }
}

/* ─── RESPONSIVO ─── */
@media (max-width: 900px){
  .hero--fluid .hero__name{
    font-size:clamp(2rem, 11vw, 3.4rem) !important;
    white-space:normal;
    flex-wrap:wrap;
    row-gap:.06em;
  }
  .hero--fluid .hero__marquee{ inset-block-end:48px; }
  .hero--fluid .hero__scroll{ inset-inline-end:18px; }
  .hero--fluid .hero__scroll-num,
  .hero--fluid .hero__scroll-label{ display:none; }
}

@media (prefers-reduced-motion: reduce){
  .hero--fluid .hero__bg-img,
  .hero--fluid .hero__marquee-track,
  .hero--fluid .hero__scroll-thumb,
  .hero--fluid .hero__name .word,
  .hero--fluid .hero__name .word--gold,
  .hero--fluid .hero__kicker,
  .hero--fluid .hero__kicker-dot{
    animation:none !important;
  }
  .hero--fluid .hero__name .word{ opacity:1; transform:none; }
  .hero--fluid .hero__kicker{ opacity:1; }
}

/* ============================================================
   HERO VIDEO FULLSCREEN — Edição Maio 2026 (v3)
   Vídeo loop como protagonista do fundo. Sem animações decorativas
   no background, sem blend, sem drift. Apenas vídeo + vinheta sutil
   para legibilidade do wordmark.
   ============================================================ */

/* Desativa todas as camadas decorativas antigas do hero */
.hero--fluid .hero__bg-img,
.hero--fluid .hero__atmo,
.hero--fluid #hero-canvas{
  display:none !important;
}

/* Container do background ocupa o hero inteiro */
.hero--fluid .hero__bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  filter:none;
  overflow:hidden;
  background:#06040A; /* fallback antes do vídeo carregar */
}

/* Vídeo: fullscreen, qualidade NATIVA 4K preservada (sem filtros, sem scale) */
.hero--fluid .hero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;          /* preenche todo o fundo, sem barras pretas */
  object-position:center center;
  z-index:1;
  pointer-events:none;
  opacity:0;
  filter:none;
  mix-blend-mode:normal;
  background:#06040A;

  /* Preservação de qualidade na renderização (3508x2360 nativo) */
  image-rendering:high-quality;
  image-rendering:-webkit-optimize-contrast;
  transform:translateZ(0);        /* GPU layer, evita resample por compositing */
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  -webkit-transform:translateZ(0);

  animation:heroVideoFadeIn 1.2s cubic-bezier(.16,1,.3,1) .15s forwards;
  will-change:opacity;
}

@keyframes heroVideoFadeIn{
  0%   { opacity:0; }
  100% { opacity:1; }
}

/* Vinheta sutil estática (legibilidade do wordmark) */
.hero--fluid .hero__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(6,4,10,.42) 0%, rgba(6,4,10,.08) 22%, rgba(6,4,10,.08) 68%, rgba(6,4,10,.62) 100%),
    radial-gradient(ellipse 90% 70% at 50% 50%, transparent 55%, rgba(6,4,10,.35) 100%) !important;
  animation:none !important;
}

/* Z-index do conteúdo acima do vídeo */
.hero--fluid .hero__wordmark,
.hero--fluid .hero__marquee,
.hero--fluid .hero__scroll{ z-index:6; }

/* Conexão lenta: usa apenas poster do vídeo (carrega imagem do <video>) */
@media (prefers-reduced-data: reduce){
  .hero--fluid .hero__video{ animation:none !important; opacity:1; }
}

/* Reduced motion: vídeo aparece direto sem fade */
@media (prefers-reduced-motion: reduce){
  .hero--fluid .hero__video{
    animation:none !important;
    opacity:1;
  }
}

/* ============================================================
   HERO SCROLL-SCRUB — v5 (Maio 2026) — SPLIT + VIDEO CARD
   Card de vídeo à direita, wordmark à esquerda.
   Wrapper alto cria orçamento de scroll, hero sticky.
   ============================================================ */

/* Wrap legado — removido em v7. Estilo neutralizado caso wrapper antigo persista. */
.hero-scroll-wrap{ position:relative; height:auto; background:#06040A; }

.hero--fluid.hero--scrub{
  position:relative;
  height:auto;
  min-height:560px;
  display:grid;
  grid-template-columns: minmax(280px, 32%) 1fr;
  align-items:center;
  gap:clamp(24px, 3.5vw, 56px);
  padding-inline:clamp(28px, 4vw, 72px);
  padding-block:clamp(56px, 7vh, 96px);
  background:#06040A;
  overflow:hidden;
  isolation:isolate;
}

/* Esconde decorações antigas no modo split */
.hero--fluid.hero--scrub .hero__overlay,
.hero--fluid.hero--scrub .hero__bg-img,
.hero--fluid.hero--scrub .hero__atmo,
.hero--fluid.hero--scrub #hero-canvas{
  display:none !important;
}

/* Colunas */
.hero--scrub .hero__col{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
}
.hero--scrub .hero__col--left{
  justify-content:center;
  align-items:flex-start;
  padding-block-start:0;
  text-align:left;
}
.hero--scrub .hero__col--right{
  justify-content:center;
  align-items:stretch;
  height:100%;
}

/* Wordmark à esquerda, alinhado */
.hero--fluid.hero--scrub .hero__wordmark{
  width:auto;
  padding-block-start:0;
  align-items:flex-start;
  text-align:left;
  gap:clamp(14px, 1.8vw, 22px);
}
.hero--fluid.hero--scrub .hero__kicker{
  font-size:10px !important;
  letter-spacing:.38em !important;
}
.hero--fluid.hero--scrub .hero__kicker-dot{
  width:4px;height:4px;
}
.hero--fluid.hero--scrub .hero__name{
  font-size:clamp(1.5rem, 3.6vw, 3.2rem) !important;
  letter-spacing:-.01em !important;
  line-height:1.0 !important;
  gap:clamp(.14em, .55vw, .28em) !important;
  white-space:nowrap !important;
  text-align:left;
}

/* ─── CARD DE VÍDEO ─── */
.hero__video-card{
  position:relative;
  margin:0;
  width:100%;
  height:clamp(420px, 62vh, 580px);
  min-height:0;
  border-radius:18px;
  overflow:hidden;
  background:transparent;
  box-shadow:0 30px 80px -28px rgba(0,0,0,.45);
  isolation:isolate;
}

.hero__video-card .hero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:1 !important;
  animation:none !important;
  filter:none;
  mix-blend-mode:normal;
  image-rendering:high-quality;
  image-rendering:-webkit-optimize-contrast;
  transform:translateZ(0);
  backface-visibility:hidden;
  pointer-events:none;
}

/* Vinheta removida: vídeo limpo, sem overlay de cor (2026-05-11) */
.hero__video-card::after{ display:none; }

/* Caption oculta: vídeo limpo (2026-05-11) */
.hero__video-caption{ display:none; }
.hero__video-caption-num{
  font-variant-numeric:tabular-nums;
  color:var(--gold-soft);
}
.hero__video-caption-label{
  color:rgba(255,237,215,.72);
}

/* Marquee + scroll button mantidos, alinhados ao container do hero */
.hero--fluid.hero--scrub .hero__marquee{
  font-size:10px !important;
  letter-spacing:.30em !important;
  opacity:.55;
  inset-block-end:32px;
  z-index:3;
}
.hero--fluid.hero--scrub .hero__scroll{
  inset-block-end:32px;
  z-index:3;
}
.hero--fluid.hero--scrub .hero__scroll-num,
.hero--fluid.hero--scrub .hero__scroll-label{
  font-size:10px !important;
  letter-spacing:.30em !important;
}

/* Tablet: colunas mais equilibradas */
@media (max-width: 1100px){
  .hero--fluid.hero--scrub{
    grid-template-columns: minmax(220px, 30%) 1fr;
    gap:clamp(16px, 2vw, 28px);
  }
}

/* Mobile: stack vertical, card por cima/baixo */
@media (max-width: 768px){
  .hero-scroll-wrap{ height:240vh; }
  .hero--fluid.hero--scrub{
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap:clamp(18px, 4vw, 28px);
    padding-block:clamp(90px, 14vh, 120px) clamp(80px, 10vh, 100px);
    padding-inline:clamp(18px, 5vw, 28px);
  }
  .hero--fluid.hero--scrub .hero__name{
    font-size:clamp(1.3rem, 8vw, 2.2rem) !important;
  }
  .hero__video-card{
    height:min(70svh, 620px);
    border-radius:0;
  }
  .hero--fluid.hero--scrub .hero__marquee,
  .hero--fluid.hero--scrub .hero__scroll{ display:none; }
}

/* Reduced motion: desativa pin/scrub, layout estático */
@media (prefers-reduced-motion: reduce){
  .hero-scroll-wrap{ height:auto; }
  .hero--fluid.hero--scrub{ position:relative; height:100svh; }
}

/* ============================================================
   HERO v6 — Logo SVG + Card 3D rebaixado (Maio 2026)
   - Logo animada substitui texto "Luz"
   - Card empurrado para baixo da coluna direita
   - Perspectiva 3D + tilt suave por mouse + glow dourado
   ============================================================ */

/* Coluna direita ganha perspectiva para o card 3D */
.hero--fluid.hero--scrub .hero__col--right{
  justify-content:flex-end;   /* empurra card para baixo */
  align-items:stretch;
  padding-block-end:clamp(40px, 8vh, 90px);
  perspective:1400px;
  perspective-origin:50% 30%;
}

/* Coluna esquerda: alinha wordmark um pouco mais alto */
.hero--fluid.hero--scrub .hero__col--left{
  justify-content:center;
  padding-block-start:clamp(40px, 6vh, 90px);
}

/* Wordmark com logo: layout vertical, logo no topo */
.hero--fluid.hero--scrub .hero__name--logo{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:clamp(8px, 1vw, 16px);
}
.hero--fluid.hero--scrub .hero__name--logo .word--logo{
  display:inline-flex;
  align-items:center;
  line-height:0;
}
.hero__logo-svg{
  display:block;
  height:clamp(90px, 11vw, 160px);
  width:auto;
  filter:
    drop-shadow(0 0 18px rgba(200,168,75,.25))
    drop-shadow(0 2px 6px rgba(0,0,0,.5));
  transform:translateZ(0);
}
.hero--fluid.hero--scrub .hero__name--logo .hero__name-line{
  display:inline-flex;
  align-items:baseline;
  gap:clamp(.18em, .8vw, .4em);
  white-space:nowrap;
}
.hero--fluid.hero--scrub .hero__name--logo .word--soft{
  font-size:clamp(1.7rem, 4.8vw, 4.2rem) !important;
  font-weight:400 !important;
  color:rgba(255,237,215,.82);
  letter-spacing:-.005em;
  line-height:1;
  font-style:normal !important;
}

/* Card 3D: perspectiva + tilt sutil padrão */
.hero__video-card{
  transform:rotateX(2deg) rotateY(-8deg) translateZ(0);
  transform-style:preserve-3d;
  transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
  box-shadow:none;
  will-change:transform;
}

/* Brilho dourado nas bordas removido (sem card) */
.hero__video-card::before{
  display:none;
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,
    rgba(232,200,122,.45) 0%,
    rgba(232,200,122,0) 30%,
    rgba(232,200,122,0) 70%,
    rgba(200,168,75,.35) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  pointer-events:none;
  z-index:3;
}

/* Reflexo sutil no topo do card */
.hero__video-card .hero__video{
  transform:translateZ(20px);   /* parallax interno: vídeo "sai" do card */
}

/* Em viewport pequenos: 3D mais discreto */
@media (max-width: 1100px){
  .hero__video-card{
    transform:rotateX(1deg) rotateY(-4deg);
  }
}
@media (max-width: 768px){
  .hero--fluid.hero--scrub .hero__col--right{
    perspective:none;
    padding-block-end:0;
    justify-content:center;
  }
  .hero__video-card{
    transform:none;
  }
  .hero__video-card .hero__video{ transform:translateZ(0); }
}

@media (prefers-reduced-motion: reduce){
  .hero__video-card{ transform:none !important; transition:none !important; }
  .hero__video-card .hero__video{ transform:translateZ(0) !important; }
}

/* ============================================================
   VIDEO SHOWCASE — Segunda card de vídeo (2026-05-11)
   Section editorial pós-manifesto. Texto à esquerda, card à direita.
   ============================================================ */
.video-showcase{
  padding-block:clamp(60px, 10vw, 140px);
  background:linear-gradient(180deg, #F6F1EA 0%, #efe7da 100%);
  color:#1C1713;
  overflow:hidden;
}
.video-showcase__grid{
  display:grid;
  grid-template-columns: 1fr minmax(380px, 52%);
  align-items:center;
  gap:clamp(28px, 5vw, 80px);
}
.video-showcase__text{
  display:flex;
  flex-direction:column;
  gap:clamp(14px, 1.6vw, 22px);
  max-width:520px;
}
.video-showcase__text .kicker{
  font-family:'DM Sans', sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:#9A7C2E;
}
.video-showcase__heading{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:500;
  font-size:clamp(1.8rem, 3.6vw, 3.4rem);
  line-height:1.05;
  letter-spacing:-.012em;
  margin:0;
  color:#18181B;
}
.video-showcase__heading em{
  font-style:italic;
  color:#B8894A;
  font-weight:500;
}
.video-showcase__lead{
  font-family:'DM Sans', sans-serif;
  font-size:clamp(.98rem, 1.05vw, 1.1rem);
  line-height:1.6;
  color:#3f3a35;
  max-width:46ch;
  margin:0;
}

.video-showcase__card{
  position:relative;
  margin:0;
  width:100%;
  aspect-ratio: 4 / 3;
  border-radius:4px;
  overflow:hidden;
  background:#0a0805;
  box-shadow:
    0 40px 80px -25px rgba(28,23,19,.45),
    0 18px 36px -16px rgba(184,137,74,.18),
    0 0 0 1px rgba(184,137,74,.20) inset;
  transform:rotateY(3deg) rotateX(-1deg);
  transform-style:preserve-3d;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.video-showcase__card:hover{
  transform:rotateY(0deg) rotateX(0deg) translateY(-4px);
}
.video-showcase__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  image-rendering:high-quality;
  image-rendering:-webkit-optimize-contrast;
  transform:translateZ(0);
  backface-visibility:hidden;
  pointer-events:none;
}
/* Vinheta removida: vídeo limpo (2026-05-11) */
.video-showcase__card::after{ display:none; }
.video-showcase__caption{
  position:absolute;
  inset:auto 0 0 0;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding:clamp(12px, 1.6vw, 20px) clamp(14px, 1.8vw, 24px);
  color:rgba(232,200,122,.92);
  font-family:'DM Sans', sans-serif;
  font-size:10px;
  letter-spacing:.30em;
  text-transform:uppercase;
}
.video-showcase__caption span:last-child{
  color:rgba(255,237,215,.78);
}

@media (max-width: 900px){
  .video-showcase__grid{
    grid-template-columns: 1fr;
    gap:clamp(22px, 4vw, 32px);
  }
  .video-showcase__card{
    aspect-ratio: 16 / 11;
    transform:none;
  }
}

@media (prefers-reduced-motion: reduce){
  .video-showcase__card{ transform:none !important; transition:none !important; }
}

/* ============================================================
   REEL v8 — Asymmetric 360° Cards (2026-05-11)
   Section editorial dark. Título à esquerda, 3 cards compactos
   em zig-zag à direita. Loop seamless dos vídeos de móveis.
   Anti-generic: nada de 3 cards iguais alinhados.
   ============================================================ */
.reel.reel--asym{
  background:#0E0B08;
  padding-block:clamp(80px, 12vw, 160px);
  position:relative;
  overflow:hidden;
}
.reel.reel--asym::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(60% 50% at 80% 25%, rgba(184,137,74,.08) 0%, transparent 60%),
    radial-gradient(50% 40% at 10% 80%, rgba(184,137,74,.05) 0%, transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 88px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 88px);
  pointer-events:none;
  z-index:0;
}

.reel.reel--asym .reel-wrap{
  position:relative;
  z-index:1;
  max-width:1480px;
  margin-inline:auto;
  padding-inline:clamp(24px, 5vw, 72px);
  display:grid;
  grid-template-columns: minmax(280px, 36%) 1fr;
  gap:clamp(40px, 6vw, 96px);
  align-items:center;
}

/* Bloco de título (lado esquerdo) */
.reel.reel--asym .reel-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:clamp(14px, 1.4vw, 20px);
  margin:0;
}
.reel.reel--asym .reel-eyebrow{
  font-family:'DM Sans', sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:rgba(232,200,122,.86);
  padding:0;
  display:inline-flex;
  align-items:center;
  gap:14px;
}
.reel.reel--asym .reel-eyebrow::before{
  content:"";
  display:inline-block;
  width:32px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(232,200,122,.86));
}
.reel.reel--asym .reel-eyebrow::after{ display:none; }

.reel.reel--asym .reel-title{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:400;
  font-size:clamp(2rem, 4vw, 3.6rem);
  line-height:1;
  letter-spacing:-.018em;
  color:#FFEDD7;
  margin:0;
}
.reel.reel--asym .reel-title em{
  font-style:italic;
  color:#E8C87A;
  background:linear-gradient(120deg, #E8C87A 0%, #B8894A 50%, #E8C87A 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;
          background-clip:text;
  color:transparent;
}

.reel.reel--asym .reel-lead{
  font-family:'DM Sans', sans-serif;
  font-size:14px;
  line-height:1.55;
  color:rgba(255,237,215,.62);
  max-width:38ch;
  margin:0;
}

.reel.reel--asym .reel-index{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(232,200,122,.55);
  padding-block-start:4px;
  border-block-start:1px solid rgba(232,200,122,.18);
  width:100%;
  max-width:240px;
}

/* Grid asymétrico — zig-zag vertical, cards compactos */
.reel.reel--asym .reel-grid--asym{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:clamp(16px, 1.6vw, 26px);
  align-items:start;
  max-width:none;
  margin:0;
}

.reel.reel--asym .reel-cell{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
  max-width:340px;
  margin-inline:auto;
}
.reel.reel--asym .reel-cell--a{ transform:translateY(-28px); }
.reel.reel--asym .reel-cell--b{ transform:translateY(28px); }
.reel.reel--asym .reel-cell--c{ transform:translateY(-14px); }
.reel.reel--asym .reel-cell{
  transition:transform .55s cubic-bezier(.16,1,.3,1);
}
.reel.reel--asym .reel-cell--a:hover{ transform:translateY(-36px); }
.reel.reel--asym .reel-cell--b:hover{ transform:translateY(20px); }
.reel.reel--asym .reel-cell--c:hover{ transform:translateY(-22px); }

.reel.reel--asym .reel-card{
  position:relative;
  width:100%;
  aspect-ratio: 3 / 4;
  border-radius:2px;
  overflow:hidden;
  background:#1c1410;
  box-shadow:
    0 24px 60px -18px rgba(0,0,0,.75),
    0 0 0 1px rgba(184,137,74,.18) inset,
    0 0 0 1px rgba(255,255,255,.02);
  cursor:pointer;
  transition:box-shadow .4s ease;
  transform:none !important;
  opacity:1 !important;
  animation:none !important;
}

.reel.reel--asym .reel-cell:hover .reel-card{
  box-shadow:
    0 40px 80px -20px rgba(0,0,0,.85),
    0 0 0 1px rgba(232,200,122,.55) inset;
}

/* Vídeo PURO — sem filtro, sem overlay de cor */
.reel.reel--asym .reel-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  image-rendering:high-quality;
  image-rendering:-webkit-optimize-contrast;
  transform:translateZ(0);
  backface-visibility:hidden;
  pointer-events:none;
  filter:none !important;
  mix-blend-mode:normal;
}

/* Ticks decorativos nos cantos (luxury detail) */
.reel.reel--asym .reel-tick{
  position:absolute;
  width:14px;height:14px;
  border-color:rgba(232,200,122,.65);
  z-index:2;
  pointer-events:none;
}
.reel.reel--asym .reel-tick--tl{ top:8px;left:8px;border-top:1px solid;border-left:1px solid; }
.reel.reel--asym .reel-tick--tr{ top:8px;right:8px;border-top:1px solid;border-right:1px solid; }
.reel.reel--asym .reel-tick--bl{ bottom:8px;left:8px;border-bottom:1px solid;border-left:1px solid; }
.reel.reel--asym .reel-tick--br{ bottom:8px;right:8px;border-bottom:1px solid;border-right:1px solid; }

/* Caption FORA do card (não sobrepõe vídeo) */
.reel.reel--asym .reel-caption{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-block:12px 0;
  font-family:'DM Sans', sans-serif;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,237,215,.78);
  background:transparent;
  position:static;
}
.reel.reel--asym .reel-caption-num{
  color:rgba(232,200,122,.85);
  font-weight:500;
}

/* Tablet */
@media (max-width: 1100px){
  .reel.reel--asym .reel-wrap{
    grid-template-columns: 1fr;
    gap:clamp(28px, 5vw, 48px);
  }
  .reel.reel--asym .reel-head{ align-items:flex-start; }
  .reel.reel--asym .reel-grid--asym{
    grid-template-columns: repeat(3, 1fr);
    gap:clamp(12px, 1.4vw, 20px);
  }
}

/* Mobile: carousel horizontal compacto */
@media (max-width: 700px){
  .reel.reel--asym{ padding-block:clamp(60px, 12vw, 100px); }
  .reel.reel--asym .reel-grid--asym{
    grid-template-columns: 1fr;
    gap:18px;
  }
  .reel.reel--asym .reel-card,
  .reel.reel--asym .reel-card--a,
  .reel.reel--asym .reel-card--b,
  .reel.reel--asym .reel-card--c{
    transform:none;
    max-width:none;
    aspect-ratio: 4 / 5;
  }
  .reel.reel--asym .reel-card:hover{ transform:none; }
}

@media (prefers-reduced-motion: reduce){
  .reel.reel--asym .reel-card{ transition:none !important; }
  .reel.reel--asym .reel-card:hover{ transform:translateY(0) !important; }
}

/* ============================================================
   REVERT v9 + AJUSTE FINAL HERO (2026-05-11 noite)
   - Card menor sem desenquadrar vídeo
   - Logo + texto inline mesma linha, próximo da navbar
   - Logo nua (sem drop-shadow) + animada via mask gradient
   - Sem tilt 3D
   ============================================================ */

/* Card vertical, mais à esquerda — proporção editorial */
.hero--fluid.hero--scrub{
  grid-template-columns: 1.18fr 0.92fr !important;
  align-items:stretch !important;
  padding-block:clamp(86px, 12vh, 120px) clamp(56px, 6.5vh, 88px) !important;
  column-gap:clamp(36px, 4.6vw, 76px) !important;
}
.hero--fluid.hero--scrub .hero__col--left{
  padding-block-start:clamp(8px, 1.2vh, 22px) !important;
  justify-content:flex-start !important;
  padding-inline-start:clamp(8px, 1.2vw, 24px) !important;
}
.hero--fluid.hero--scrub .hero__col--right{
  perspective:none !important;
  justify-content:stretch !important;
  align-items:stretch !important;
  padding-block-end:0 !important;
  margin-inline-start:clamp(-32px, -1.6vw, -8px) !important;
}
.hero__video-card{
  height:min(84svh, 760px) !important;
  width:100% !important;
  aspect-ratio:auto !important;
  border-radius:2px !important;
  background:#0c0907 !important;
  box-shadow:
    0 40px 90px -32px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(232,200,122,.10) !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transform:none !important;
  transition:box-shadow .5s cubic-bezier(.16,1,.3,1) !important;
}
.hero__video-card .hero__video{
  object-fit:cover !important;
  object-position:center center !important;
}
.hero__video-card:hover{ transform:none !important; }
.hero__video-card .hero__video{ transform:translateZ(0) !important; }
.hero__video-card::before,
.hero__video-card::after{ display:none !important; }

/* Wordmark inline: logo + nome MESMA LINHA, sem quebrar */
.hero--fluid.hero--scrub .hero__name--inline{
  flex-direction:row !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:clamp(.10em, .35vw, .22em) !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.hero--fluid.hero--scrub .hero__name--inline .hero__name-line{
  display:inline-flex;
  align-items:center;
  gap:clamp(.12em, .4vw, .22em);
  white-space:nowrap;
  line-height:1;
  margin-inline-start:clamp(.06em, .3vw, .16em);
  flex-wrap:nowrap !important;
}
.hero--fluid.hero--scrub .hero__name--inline .word--soft{
  white-space:nowrap !important;
}
.hero--fluid.hero--scrub .hero__name--inline .word--soft{
  font-style:italic;
  color:rgba(255,237,215,.82) !important;
  font-weight:400 !important;
  line-height:1;
  display:inline-block;
  vertical-align:middle;
  position:relative;
}

/* Hover dourado sutil na palavra */
.hero--fluid.hero--scrub .hero__name--inline .word--soft::after{
  content:"";
  position:absolute;
  inset:auto 0 -.08em 0;
  height:1px;
  background:linear-gradient(90deg, transparent, currentColor, transparent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .8s cubic-bezier(.16,1,.3,1);
}
.hero--fluid.hero--scrub:hover .hero__name--inline .word--soft::after{
  transform:scaleX(1);
}

/* Wordmark container: alinhamento e respiração */
.hero--fluid.hero--scrub .hero__wordmark{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:clamp(18px, 2.4vh, 32px);
  width:100%;
}

/* ─── LOGO ANIMADA — Mask + gradient gold cycling ─── */
.hero__logo-anim{
  display:inline-block;
  position:relative;
  vertical-align:middle;
  width:clamp(120px, 12.5vw, 196px);
  height:clamp(48px, 5.2vw, 82px);
  margin-inline-end:0;
  flex-shrink:0;
  -webkit-mask:url("../assets/icons/logo-white.png") center/contain no-repeat;
          mask:url("../assets/icons/logo-white.png") center/contain no-repeat;
  background:
    linear-gradient(120deg,
      #ffedd7 0%,
      #e8c87a 22%,
      #f6b94a 38%,
      #c8a84b 50%,
      #f6b94a 62%,
      #e8c87a 78%,
      #ffedd7 100%);
  background-size:240% 100%;
  background-position:0% 50%;
  animation:logoShimmer 5.5s ease-in-out infinite;
  filter:drop-shadow(0 0 24px rgba(232,200,122,.32));
  vertical-align:baseline;
  overflow:hidden;
}

/* Brilho de partícula (sweep mais intenso a cada ciclo) */
.hero__logo-anim-shine{
  position:absolute;
  inset:0;
  -webkit-mask:url("../assets/icons/logo-white.png") center/contain no-repeat;
          mask:url("../assets/icons/logo-white.png") center/contain no-repeat;
  background:linear-gradient(110deg,
    transparent 35%,
    rgba(255,255,255,.85) 50%,
    transparent 65%);
  background-size:300% 100%;
  background-position:200% 50%;
  animation:logoSweep 4s ease-in-out 1s infinite;
  pointer-events:none;
  mix-blend-mode:screen;
}

@keyframes logoShimmer{
  0%   { background-position:0% 50%; }
  50%  { background-position:100% 50%; }
  100% { background-position:0% 50%; }
}
@keyframes logoSweep{
  0%   { background-position:200% 50%; opacity:0; }
  20%  { opacity:1; }
  80%  { opacity:.9; }
  100% { background-position:-100% 50%; opacity:0; }
}

@media (prefers-reduced-motion: reduce){
  .hero__logo-anim,
  .hero__logo-anim-shine{ animation:none !important; }
  .hero__logo-anim{ background-position:50% 50%; }
}

/* ============================================================
   HERO CONTEÚDO NOVO — Lead + Metrics + CTAs + Chips
   ============================================================ */
.hero__lead{
  font-family:'DM Sans', sans-serif;
  font-size:clamp(1.05rem, 1.25vw, 1.32rem);
  line-height:1.6;
  color:rgba(255,237,215,.78);
  max-width:46ch;
  margin:0;
}

.hero__metrics{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:clamp(18px, 1.8vw, 28px);
  padding-block:18px;
  border-block-start:1px solid rgba(232,200,122,.18);
  border-block-end:1px solid rgba(232,200,122,.18);
  width:fit-content;
  max-width:100%;
}
.hero__metric{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.hero__metric-num{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:clamp(1.6rem, 2.4vw, 2.2rem);
  font-weight:500;
  line-height:1;
  background:linear-gradient(120deg, #ffedd7 0%, #e8c87a 50%, #c8a84b 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;
          background-clip:text;
  color:transparent;
}
.hero__metric-label{
  font-family:'DM Sans', sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,237,215,.55);
}
.hero__metric-divider{
  display:inline-block;
  width:1px;
  height:32px;
  background:linear-gradient(180deg, transparent, rgba(232,200,122,.32), transparent);
}

.hero__ctas{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:clamp(14px, 1.4vw, 22px);
  margin-block-start:4px;
}
.hero__cta{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 22px;
  font-family:'DM Sans', sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:2px;
  transition:transform .25s ease, background .3s ease, color .3s ease, box-shadow .3s ease;
}
.hero__cta--primary{
  background:linear-gradient(120deg, #f6b94a 0%, #c8a84b 50%, #f6b94a 100%);
  background-size:200% 100%;
  color:#1C1713;
  box-shadow:0 8px 24px -10px rgba(232,200,122,.55);
}
.hero__cta--primary:hover{
  background-position:100% 50%;
  transform:translateY(-2px);
  box-shadow:0 14px 30px -10px rgba(232,200,122,.7);
}
.hero__cta-arrow{
  font-size:14px;
  letter-spacing:0;
  transition:transform .25s ease;
}
.hero__cta--primary:hover .hero__cta-arrow{ transform:translateX(4px); }
.hero__cta--ghost{
  color:rgba(232,200,122,.85);
  border-block-end:1px solid rgba(232,200,122,.35);
  padding:4px 0;
  border-radius:0;
}
.hero__cta--ghost:hover{
  color:#fff;
  border-block-end-color:#fff;
}

.hero__chips{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hero__chips li{
  font-family:'DM Sans', sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.04em;
  color:rgba(255,237,215,.62);
  padding:6px 12px;
  border:1px solid rgba(232,200,122,.18);
  border-radius:999px;
  transition:border-color .3s ease, color .3s ease;
}
.hero__chips li:hover{
  border-color:rgba(232,200,122,.55);
  color:rgba(255,237,215,.92);
}

@media (max-width: 900px){
  .hero__metrics{ gap:14px; padding-block:14px; }
  .hero__metric-num{ font-size:1.4rem; }
  .hero__metric-divider{ display:none; }
  .hero__lead{ font-size:.92rem; }
}

/* ============================================================
   HERO v9 — DESATIVADO (2026-05-11 noite) — usuário reportou
   layout comprimido. Volta para split v7. Mantemos código v9
   abaixo dormente caso queira reativar (sem .hero--v9 no HTML).
   - Logo + texto na MESMA LINHA, próximo à navbar
   - Card vídeo SEM tilt 3D, sem efeito hover de inclinação
   - Animação Apple-style: float contínuo + luz cursor-reativa
     + reveal stagger das palavras + spotlight halo
   - Layout único e arquitetural, não-genérico
   ============================================================ */
.hero.hero--v9{
  position:relative;
  min-height:100svh;
  background:#06040A;
  color:#FFEDD7;
  overflow:hidden;
  isolation:isolate;
  --cursor-x:50%;
  --cursor-y:50%;
}

/* Granulado sutil (premium texture) */
.hero.hero--v9::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    radial-gradient(
      400px circle at var(--cursor-x) var(--cursor-y),
      rgba(200,168,75,.10) 0%,
      rgba(200,168,75,0) 60%
    ),
    radial-gradient(60% 50% at 80% 22%, rgba(200,168,75,.06) 0%, transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 90px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.014) 0 1px, transparent 1px 90px);
  pointer-events:none;
  z-index:0;
  mix-blend-mode:screen;
  transition:background .3s ease-out;
}

.hero.hero--v9 .hero__inner{
  position:relative;
  z-index:2;
  max-width:1560px;
  margin-inline:auto;
  padding-inline:clamp(24px, 5vw, 80px);
  padding-block-start:calc(var(--header-h, 80px) + clamp(20px, 3vh, 48px));
  padding-block-end:clamp(28px, 4vh, 60px);
  display:grid;
  grid-template-rows:auto 1fr auto;
  min-height:100svh;
  gap:clamp(24px, 4vh, 56px);
}

/* ─── WORDMARK INLINE (logo + texto, mesma linha) ─── */
.hero__wordline{
  margin:0;
  display:flex;
  align-items:baseline;
  gap:clamp(16px, 1.8vw, 28px);
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:300;
  font-size:clamp(1.8rem, 4.4vw, 4rem);
  line-height:1;
  letter-spacing:-.012em;
  color:#FFEDD7;
  flex-wrap:wrap;
}
.hero__wordline-logo{
  display:inline-flex;
  align-items:flex-end;
  position:relative;
  overflow:hidden;
  height:1em;
  opacity:0;
  transform:translateY(36%);
  animation:heroV9LogoIn 1.4s cubic-bezier(.16,1,.3,1) .25s forwards;
}
.hero__wordline-img{
  height:.85em;
  width:auto;
  display:block;
  filter:none;
}
.hero__wordline-text{
  display:inline-flex;
  align-items:baseline;
  gap:clamp(.18em, .5vw, .32em);
  color:rgba(255,237,215,.78);
  font-style:italic;
  font-weight:400;
}
.hero__wordline-word{
  display:inline-block;
  opacity:0;
  transform:translateY(28%);
  animation:heroV9WordIn 1.1s cubic-bezier(.16,1,.3,1) forwards;
}
.hero__wordline-word:nth-child(1){ animation-delay:.55s; }
.hero__wordline-word:nth-child(2){ animation-delay:.75s; }

@keyframes heroV9LogoIn{
  0%   { opacity:0; transform:translateY(40%) scale(.98); filter:blur(6px); }
  100% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}
@keyframes heroV9WordIn{
  0%   { opacity:0; transform:translateY(30%); filter:blur(4px); }
  100% { opacity:1; transform:translateY(0); filter:blur(0); }
}

/* ─── STAGE (card vídeo + meta laterais) ─── */
.hero__stage{
  position:relative;
  display:grid;
  grid-template-columns: 96px 1fr 200px;
  align-items:center;
  gap:clamp(20px, 3vw, 48px);
}

.hero__meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  font-family:'DM Sans', sans-serif;
  font-size:10px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(232,200,122,.78);
  opacity:0;
  transform:translateX(-10px);
  animation:heroV9Side 1s cubic-bezier(.16,1,.3,1) .9s forwards;
}
.hero__meta-num{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:22px;
  font-weight:300;
  letter-spacing:0;
  color:rgba(232,200,122,.55);
  line-height:1;
}
.hero__meta-rule{
  width:1px;height:72px;
  background:linear-gradient(180deg, rgba(232,200,122,.6), transparent);
}
.hero__meta-label{
  font-size:10px;
  line-height:1.7;
  color:rgba(255,237,215,.62);
}

.hero__sidetag{
  align-self:end;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:'DM Sans', sans-serif;
  font-size:10px;
  letter-spacing:.4em;
  text-transform:uppercase;
  color:rgba(232,200,122,.55);
  opacity:0;
  animation:heroV9Side 1s cubic-bezier(.16,1,.3,1) 1.1s forwards;
}

/* ─── FRAME (card vídeo) ─── */
.hero__frame{
  position:relative;
  margin:0;
  width:100%;
  aspect-ratio: 16 / 9;
  border-radius:2px;
  overflow:visible;
  opacity:0;
  transform:translateY(40px) scale(.985);
  animation:heroV9FrameIn 1.6s cubic-bezier(.16,1,.3,1) .55s forwards,
            heroV9Float 9s ease-in-out 2.2s infinite alternate;
  transform-origin:center 60%;
  will-change:transform, opacity;
}
.hero__frame-inner{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:2px;
  box-shadow:
    0 60px 120px -30px rgba(0,0,0,.85),
    0 24px 50px -20px rgba(200,168,75,.14),
    0 0 0 1px rgba(232,200,122,.22) inset;
}
.hero__frame .hero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:none;
  mix-blend-mode:normal;
  image-rendering:high-quality;
  image-rendering:-webkit-optimize-contrast;
  transform:translateZ(0);
}

/* Halo dourado fora do card (luz vazando) */
.hero__frame-light{
  position:absolute;
  inset:-30px;
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(
    60% 50% at var(--cursor-x) var(--cursor-y),
    rgba(232,200,122,.22) 0%,
    rgba(232,200,122,0) 60%
  );
  filter:blur(40px);
  opacity:0;
  animation:heroV9LightIn 2s ease 1.4s forwards;
  transition:background .35s ease-out;
}

@keyframes heroV9FrameIn{
  0%   { opacity:0; transform:translateY(80px) scale(.94); filter:blur(8px); }
  100% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}
@keyframes heroV9Float{
  0%   { transform:translateY(0) scale(1); }
  100% { transform:translateY(-8px) scale(1.005); }
}
@keyframes heroV9Side{
  0%   { opacity:0; transform:translateX(-10px); }
  100% { opacity:1; transform:translateX(0); }
}
@keyframes heroV9LightIn{
  0%   { opacity:0; }
  100% { opacity:1; }
}

/* ─── BASE (índice + scroll cue) ─── */
.hero__base{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  opacity:0;
  animation:heroV9Side 1s cubic-bezier(.16,1,.3,1) 1.3s forwards;
}
.hero__index{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:10px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(232,200,122,.42);
}
.hero__cue{
  appearance:none;
  background:transparent;
  border:none;
  display:inline-flex;
  align-items:center;
  gap:14px;
  cursor:pointer;
  font-family:'DM Sans', sans-serif;
  font-size:10px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(255,237,215,.66);
  padding:0;
}
.hero__cue-bar{
  display:inline-block;
  width:42px;
  height:1px;
  background:linear-gradient(90deg, rgba(232,200,122,.66), rgba(232,200,122,0));
  position:relative;
  overflow:hidden;
}
.hero__cue-bar::after{
  content:"";
  position:absolute;
  inset:0 0 0 -50%;
  background:linear-gradient(90deg, transparent, #E8C87A 50%, transparent);
  animation:heroV9CueSweep 2.4s ease-in-out infinite;
}
@keyframes heroV9CueSweep{
  0%   { transform:translateX(-50%); opacity:0; }
  30%  { opacity:1; }
  100% { transform:translateX(200%); opacity:0; }
}
.hero__cue:hover{ color:#E8C87A; }

/* ─── RESPONSIVO ─── */
@media (max-width: 900px){
  .hero.hero--v9 .hero__inner{
    padding-block-start:calc(var(--header-h, 80px) + 24px);
  }
  .hero__wordline{
    font-size:clamp(1.4rem, 8vw, 2.4rem);
    flex-wrap:wrap;
  }
  .hero__stage{
    grid-template-columns: 1fr;
    gap:18px;
  }
  .hero__meta{ flex-direction:row; align-items:center; gap:12px; }
  .hero__meta-rule{ width:32px; height:1px; }
  .hero__sidetag{ display:none; }
  .hero__frame{ aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce){
  .hero__wordline-logo,
  .hero__wordline-word,
  .hero__frame,
  .hero__meta,
  .hero__sidetag,
  .hero__base,
  .hero__frame-light{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
  .hero__cue-bar::after{ animation:none !important; }
}

/* ============================================================
   LOGO SWAP — Header preto/branco (2026-05-11)
   Sobre hero dark = white logo; header scrolled = black logo.
   ============================================================ */
.site-logo.site-logo--swap{
  display:inline-flex;
  align-items:center;
  position:relative;
  line-height:0;
}
.site-logo__img{
  display:block;
  height:clamp(28px, 3.4vw, 40px);
  width:auto;
  transition:opacity .3s ease;
}
.site-logo__img--dark{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
}
/* Scrolled (header sobre fundo claro): mostra preto */
.site-header.is-scrolled .site-logo__img--light{ opacity:0; }
.site-header.is-scrolled .site-logo__img--dark{
  opacity:1;
  position:relative;
  inset:auto;
}

/* Footer logo branco, tamanho controlado */
.footer-brand__logo{
  height:clamp(36px, 4vw, 52px);
  width:auto;
  display:block;
}

/* ============================================================
   HERO v8 — Camada interativa premium
   (status pill, metrics, chips, magnetic CTA, orb parallax)
   ============================================================ */

.hero__col--left{ position:relative; isolation:isolate; }

/* Orbe dourada seguindo o cursor (mouse parallax via JS --x,--y) */
.hero__orb{
  position:absolute;
  top:0; left:0;
  width:520px; height:520px;
  border-radius:50%;
  background:radial-gradient(circle at center,
    rgba(232,176,85,.18) 0%,
    rgba(201,148,58,.08) 35%,
    transparent 70%);
  filter:blur(40px);
  pointer-events:none;
  z-index:-1;
  transform:translate(calc(var(--orb-x, 30%) - 50%), calc(var(--orb-y, 40%) - 50%));
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
  opacity:.9;
}

/* Status pill — "Ateliê aberto" */
.hero__status{
  display:inline-flex; align-items:center; gap:10px;
  padding:7px 14px;
  background:rgba(184,137,74,.08);
  border:1px solid rgba(184,137,74,.22);
  border-radius:9999px;
  font-family:'DM Sans', sans-serif;
  font-size:11px; font-weight:600;
  letter-spacing:.06em;
  color:#9A7C2E;
  width:fit-content;
  margin-block-end:18px;
  backdrop-filter:blur(8px);
  animation:heroFadeUp .9s cubic-bezier(.16,1,.3,1) .1s both;
}
.hero__status-dot{
  width:7px; height:7px; border-radius:50%;
  background:#4CAF50;
  box-shadow:0 0 0 0 rgba(76,175,80,.6);
  animation:heroStatusPulse 2s ease-in-out infinite;
}
.hero__status-dot--away{ background:#FFA726; }
.hero__status-dot--away{ animation:none; box-shadow:0 0 8px rgba(255,167,38,.5); }
@keyframes heroStatusPulse{
  0%,100% { box-shadow:0 0 0 0 rgba(76,175,80,.6); }
  50%     { box-shadow:0 0 0 8px rgba(76,175,80,0); }
}
@keyframes heroFadeUp{
  from { opacity:0; transform:translateY(12px); filter:blur(4px); }
  to   { opacity:1; transform:translateY(0);    filter:blur(0); }
}

/* Lead com palavra rotativa */
.hero__lead em[data-hero-rotator]{
  display:inline-block;
  color:#9A7C2E;
  font-style:italic;
  font-weight:500;
  position:relative;
  min-width:7ch;
  text-align:left;
  transition:opacity .35s, transform .35s cubic-bezier(.16,1,.3,1);
}
.hero__lead em[data-hero-rotator].is-out{ opacity:0; transform:translateY(-6px); }

/* CTA row + redesign magnetic */
.hero__cta-row{
  display:flex; flex-wrap:wrap;
  align-items:center; gap:14px;
  margin-block-start:clamp(28px, 3.5vw, 40px);
  animation:heroFadeUp 1s cubic-bezier(.16,1,.3,1) .5s both;
}
body .hero__cta--primary[data-magnetic]{
  display:inline-flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:6px 6px 6px 24px !important;
}
.hero__cta-label{ font-family:inherit; }
.hero__cta-orb{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px;
  border-radius:9999px;
  background:#FBF9F5;
  color:#1C1713;
  transition:transform .35s cubic-bezier(.16,1,.3,1), background .35s;
  flex-shrink:0;
}
.hero__cta--primary:hover .hero__cta-orb{
  transform:translateX(2px) translateY(-1px) scale(1.06);
  background:#FFD9A8;
}
.hero__cta-orb svg{ width:15px; height:15px; }

body .hero__cta--ghost[data-pill]{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:13px 22px !important;
  background:transparent !important;
  color:#1C1713 !important;
  border:1px solid rgba(28,23,19,.22) !important;
  border-block-end:1px solid rgba(28,23,19,.22) !important;
  border-radius:9999px !important;
  font-family:'DM Sans', sans-serif;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase;
  text-decoration:none;
  transition:border-color .3s, color .3s, background .3s, transform .25s;
}
body .hero__cta--ghost[data-pill]:hover{
  border-color:#9A7C2E !important;
  color:#9A7C2E !important;
  background:rgba(184,137,74,.05) !important;
  transform:translateY(-1px);
}

/* Metrics strip */
.hero__metrics{
  list-style:none; padding:0;
  margin:clamp(32px,4vw,48px) 0 0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(16px,2vw,28px);
  padding-block:24px 0;
  border-block-start:1px solid rgba(184,137,74,.22);
  max-width:560px;
  animation:heroFadeUp 1s cubic-bezier(.16,1,.3,1) .7s both;
}
.hero__metric{
  display:block;
  min-width:0;
}
.hero__metric-num{
  display:inline;
  font-family:'JetBrains Mono', 'SF Mono', monospace;
  font-size:clamp(1.4rem, 2.4vw, 2.1rem);
  font-weight:500;
  background:linear-gradient(120deg, #9A7C2E 0%, #B8894A 50%, #D9B581 100%);
  -webkit-background-clip:text;
          background-clip:text;
  color:transparent;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.hero__metric-suffix{
  display:inline;
  font-family:'DM Sans', sans-serif;
  font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:#9A7C2E;
  margin-inline-start:4px;
}
.hero__metric-label{
  display:block;
  font-family:'DM Sans', sans-serif;
  font-size:11px; font-weight:400;
  color:rgba(28,23,19,.6);
  letter-spacing:.02em;
  margin-block-start:6px;
}

/* Chips de especialidade */
.hero__chips{
  list-style:none; padding:0;
  margin:clamp(20px, 2.5vw, 28px) 0 0;
  display:flex; flex-wrap:wrap; gap:8px;
  animation:heroFadeUp 1.1s cubic-bezier(.16,1,.3,1) .9s both;
}
.hero__chip{
  display:inline-flex; align-items:center;
  padding:6px 12px;
  background:rgba(255,255,255,.6);
  border:1px solid rgba(28,23,19,.10);
  border-radius:9999px;
  font-family:'DM Sans', sans-serif;
  font-size:10px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  color:rgba(28,23,19,.66);
  cursor:default;
  transition:border-color .3s, color .3s, background .3s, transform .3s cubic-bezier(.16,1,.3,1);
}
.hero__chip:hover{
  border-color:#B8894A;
  color:#9A7C2E;
  background:rgba(232,200,122,.10);
  transform:translateY(-2px);
}

/* Mobile adjustments */
@media (max-width: 768px){
  .hero__orb{ width:320px; height:320px; }
  .hero__cta-row{ flex-direction:column; align-items:stretch; }
  .hero__cta--primary, .hero__cta--ghost{ justify-content:center; }
  .hero__metrics{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
  .hero__metric-label{ font-size:10px; }
  .hero__chips{ display:none; }
}

@media (prefers-reduced-motion: reduce){
  .hero__status, .hero__cta-row, .hero__metrics, .hero__chips{ animation:none !important; opacity:1 !important; }
  .hero__status-dot{ animation:none !important; }
  .hero__orb{ transition:none !important; }
  .hero__lead em[data-hero-rotator]{ transition:none !important; }
}

/* ════════════════════════════════════════════════════════════════════
   HERO HOME — letras de "móveis planejados" aparecem (reconstrução por
   caractere), mesmo efeito das outras páginas. pageReveal.js já cria os
   .char dentro de .hero__name--inline; o logo é irmão (sem .char) → intacto.
   Mora aqui porque o index NÃO carrega page-hero-luxe.css.
   ════════════════════════════════════════════════════════════════════ */
.hero__name--inline .char{
  display:inline-block;
  opacity:0;
  transform:translate(var(--ox,0),var(--oy,0)) rotate(var(--r,0deg)) scale(var(--s,.6));
  filter:blur(10px);
  animation:charReassembleHero 1s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:var(--d,0s);
  will-change:transform,filter,opacity;
}
@keyframes charReassembleHero{
  0%   { opacity:0; transform:translate(var(--ox),var(--oy)) rotate(var(--r)) scale(var(--s,.6)); filter:blur(10px); }
  55%  { opacity:1; }
  100% { opacity:1; transform:translate(0,0) rotate(0) scale(1); filter:blur(0); }
}
@media (prefers-reduced-motion: reduce){
  .hero__name--inline .char{ animation:none; opacity:1; transform:none; filter:none; }
}
