  :root{ --flare:#FF2E2E; --ember:#D21B1B; --fire:#FF4D00; --gold:#FFB020; --bone:#E8E0D5; }
  html{ -webkit-font-smoothing:antialiased; }
  body{ background:#050505; color:var(--bone); overflow-x:hidden; }
  ::selection{ background:var(--fire); color:#050505; }

  ::-webkit-scrollbar{ width:10px; }
  ::-webkit-scrollbar-track{ background:#0B0B0D; }
  ::-webkit-scrollbar-thumb{ background:linear-gradient(#FF4D00,#7A0C0C); }

  /* ============ LOGOTIPO ============ */
  .logo{ display:block; height:100%; width:auto; }
  .logo--fire{ fill:url(#fireGrad); }
  .logo--bone{ fill:var(--bone); }
  .logo--ink{ fill:#050505; }
  /* drop-shadow estático (rasteriza uma vez) + halo separado que pisca só com opacity */
  .logo-glow{ filter:drop-shadow(0 0 26px rgba(255,77,0,.5)) drop-shadow(0 0 72px rgba(210,27,27,.3)); }

  /* ===== LOGOTIPO EM CHAMAS =====
     O wordmark vira MÁSCARA e o fogo queima por dentro das letras.
     A máscara é estática, então nada é invalidado por quadro — só o
     canvas (que já tem camada própria) se atualiza. Bem mais barato que
     animar um gradiente SVG, que forçaria repintar o vetor inteiro. */
  .logo-burn{
    position:relative; display:block; width:100%; aspect-ratio:900/218.1;
    background:linear-gradient(180deg,#7E0D0D 0%,#C81414 22%,#FF4D00 58%,#FFA318 82%,#FFD98A 100%);
    -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 218.1'><g fill='%23000' fill-rule='evenodd'><path d='M309.4 6.1 L235.3 79.9 L193.1 38.6 L190.7 40.0 L79.7 150.0 L75.5 156.1 L148.3 157.8 L190.8 116.9 L193.5 116.9 L239.6 161.4 L312.4 160.0 L312.4 157.9 L274.7 119.7 L274.7 117.6 L294.5 97.6 L332.3 97.8 L332.5 160.7 L386.4 213.8 L387.7 212.5 L389.4 97.8 L411.8 97.8 L412.1 100.9 L409.7 108.2 L408.5 123.9 L408.4 134.7 L410.8 150.8 L422.9 175.4 L436.3 190.2 L446.0 197.5 L459.5 204.8 L475.9 209.6 L497.0 210.8 L514.3 208.4 L515.9 207.3 L518.4 207.2 L519.4 206.0 L521.6 206.0 L531.5 200.8 L546.7 190.3 L559.6 177.0 L568.0 165.1 L568.7 165.5 L568.7 216.5 L569.6 216.5 L626.5 159.5 L626.7 96.6 L683.6 96.4 L699.5 80.7 L701.6 80.7 L742.2 121.2 L742.2 123.3 L711.7 154.3 L711.6 156.3 L786.0 157.8 L892.6 51.2 L898.7 44.4 L899.0 42.8 L851.6 41.0 L824.8 41.0 L782.3 83.1 L780.3 83.1 L737.8 41.0 L621.2 41.0 L506.0 155.4 L506.0 137.8 L562.7 81.2 L556.5 72.1 L546.0 62.2 L534.4 54.5 L516.4 45.8 L504.6 43.4 L317.1 42.0 L315.3 3.4 L314.8 2.0 L313.8 2.0 Z'/><path d='M0.0 126.1 L0.0 210.0 L0.8 210.0 L55.0 157.2 L55.6 99.0 L113.7 98.8 L169.8 42.7 L0.0 42.2 Z'/><path d='M66.3 114.9 L67.8 142.2 L68.6 143.1 L100.0 112.4 L100.0 111.3 L80.1 109.6 L66.3 109.6 Z'/><path d='M188.5 136.9 L167.9 157.8 L213.7 156.4 L214.5 155.5 L192.1 133.8 Z'/></g></svg>") center/contain no-repeat;
            mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 218.1'><g fill='%23000' fill-rule='evenodd'><path d='M309.4 6.1 L235.3 79.9 L193.1 38.6 L190.7 40.0 L79.7 150.0 L75.5 156.1 L148.3 157.8 L190.8 116.9 L193.5 116.9 L239.6 161.4 L312.4 160.0 L312.4 157.9 L274.7 119.7 L274.7 117.6 L294.5 97.6 L332.3 97.8 L332.5 160.7 L386.4 213.8 L387.7 212.5 L389.4 97.8 L411.8 97.8 L412.1 100.9 L409.7 108.2 L408.5 123.9 L408.4 134.7 L410.8 150.8 L422.9 175.4 L436.3 190.2 L446.0 197.5 L459.5 204.8 L475.9 209.6 L497.0 210.8 L514.3 208.4 L515.9 207.3 L518.4 207.2 L519.4 206.0 L521.6 206.0 L531.5 200.8 L546.7 190.3 L559.6 177.0 L568.0 165.1 L568.7 165.5 L568.7 216.5 L569.6 216.5 L626.5 159.5 L626.7 96.6 L683.6 96.4 L699.5 80.7 L701.6 80.7 L742.2 121.2 L742.2 123.3 L711.7 154.3 L711.6 156.3 L786.0 157.8 L892.6 51.2 L898.7 44.4 L899.0 42.8 L851.6 41.0 L824.8 41.0 L782.3 83.1 L780.3 83.1 L737.8 41.0 L621.2 41.0 L506.0 155.4 L506.0 137.8 L562.7 81.2 L556.5 72.1 L546.0 62.2 L534.4 54.5 L516.4 45.8 L504.6 43.4 L317.1 42.0 L315.3 3.4 L314.8 2.0 L313.8 2.0 Z'/><path d='M0.0 126.1 L0.0 210.0 L0.8 210.0 L55.0 157.2 L55.6 99.0 L113.7 98.8 L169.8 42.7 L0.0 42.2 Z'/><path d='M66.3 114.9 L67.8 142.2 L68.6 143.1 L100.0 112.4 L100.0 111.3 L80.1 109.6 L66.3 109.6 Z'/><path d='M188.5 136.9 L167.9 157.8 L213.7 156.4 L214.5 155.5 L192.1 133.8 Z'/></g></svg>") center/contain no-repeat;
  }
  .logo-fire{
    position:absolute; inset:0; width:100%; height:100%;
    opacity:.92; pointer-events:none;
  }
  .logo-halo{
    position:absolute; left:-8%; top:-45%; width:86%; height:190%; pointer-events:none; z-index:-1;
    background:radial-gradient(closest-side, rgba(255,150,25,.52), rgba(255,60,0,.24) 50%, rgba(160,20,0,.10) 68%, transparent 80%);
    animation:haloPulse 3.4s ease-in-out infinite; will-change:opacity;
  }
  @keyframes haloPulse{ 0%,100%{ opacity:.72 } 33%{ opacity:1 } 61%{ opacity:.55 } 82%{ opacity:.88 } }
  .logo--bone{ transition:fill .35s, filter .35s; }
  .group:hover .logo--bone{ fill:url(#fireGrad); filter:drop-shadow(0 0 16px rgba(255,77,0,.5)); }
  /* wordmark dentro de texto corrido: acompanha tamanho, cor e linha de base */
  .logo-inline{
    display:inline-block; height:1.02em; width:auto;
    vertical-align:-.18em; margin:0 .14em; fill:currentColor;
    transition:fill .35s;
  }
  .logo-inline--cap{ height:1.15em; vertical-align:-.24em; }

  /* marcas decorativas (bullets, rótulos, marquee) — em "em" para acompanhar
     o texto ao redor, e em CSS próprio para não dependerem do purge do Tailwind:
     se uma utility de altura some, o SVG estoura e ocupa o pai inteiro. */
  .mark{ height:1.05em; width:auto; flex:0 0 auto; display:inline-block; vertical-align:-.15em; }
  .mark--lg{ height:1.5em; }

  /* ============ FUNDO DE FOGO ============ */
  .fire-stage{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
  /* Brasa de fundo: UM gradiente radial estático pintado na própria camada.
     Gradiente já é suave — dispensa filter:blur, que custa caro por quadro.
     A vida vem do canvas de chamas e das brasas, não de blur animado. */
  .fire-stage{
    background-image:radial-gradient(120% 62% at 50% 108%,
      rgba(255,186,60,.40) 0%, rgba(255,77,0,.32) 24%, rgba(190,26,26,.20) 46%,
      rgba(90,10,10,.10) 66%, transparent 80%);
  }
  .fire-stage--wide{
    background-image:radial-gradient(150% 78% at 50% 112%,
      rgba(255,186,60,.34) 0%, rgba(255,77,0,.28) 26%, rgba(190,26,26,.16) 50%, transparent 78%);
  }

  /* chamas procedurais (canvas) — sobem da base da seção */
  .fire-canvas{
    position:absolute; left:0; right:0; bottom:0; width:100%; height:34%;
    z-index:3; pointer-events:none; mix-blend-mode:screen; opacity:.5;
    filter:saturate(1.35) contrast(1.08) hue-rotate(-4deg);
    -webkit-mask-image:linear-gradient(to top,#000 0 8%,rgba(0,0,0,.7) 34%,rgba(0,0,0,.34) 58%,rgba(0,0,0,.12) 78%,transparent 97%);
            mask-image:linear-gradient(to top,#000 0 8%,rgba(0,0,0,.7) 34%,rgba(0,0,0,.34) 58%,rgba(0,0,0,.12) 78%,transparent 97%);
  }
  /* brasas em canvas */
  #embers{ position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; }

  .low-power .logo-halo, .low-power .fire-flicker{ animation:none; }

  /* pulso de luz do fogo sobre a seção inteira */
  .fire-flicker{ animation:fireLight 4.3s ease-in-out infinite; }
  @keyframes fireLight{
    0%,100%{ opacity:.82 } 23%{ opacity:1 } 47%{ opacity:.74 } 71%{ opacity:.95 }
  }

  /* linha de brasa acesa no rodapé das seções */
  .fire-line{ height:2px; background:linear-gradient(90deg, transparent, #7A0C0C 12%, #FF4D00 50%, #7A0C0C 88%, transparent); box-shadow:0 0 22px rgba(255,77,0,.55); }

  /* ============ PADRÕES TRIBAIS ============ */
  .tribal-chevron{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cpath d='M0 24 L12 2 L24 24 L36 2 L48 24' fill='none' stroke='%23D21B1B' stroke-width='3'/%3E%3C/svg%3E");
    background-repeat:repeat-x; background-size:auto 24px; height:24px;
  }
  .tribal-mesh{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cpath d='M32 0 L64 32 L32 64 L0 32 Z' fill='none' stroke='%23E8E0D5' stroke-width='1'/%3E%3Cpath d='M32 20 L44 32 L32 44 L20 32 Z' fill='none' stroke='%23FF4D00' stroke-width='1'/%3E%3C/svg%3E");
    background-size:64px 64px; opacity:.05;
  }
  .tribal-spear{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='40' viewBox='0 0 24 40'%3E%3Cpath d='M12 2 L22 20 L12 38 L2 20 Z' fill='none' stroke='%23FF4D00' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat:repeat-y; background-size:24px 40px;
  }

  /* ============ TIPOGRAFIA ============ */
  .display{ font-family:'Anton',Impact,sans-serif; letter-spacing:.01em; line-height:.92; text-transform:uppercase; }
  .eyebrow{ font-family:'Barlow Condensed',sans-serif; letter-spacing:.42em; text-transform:uppercase; font-weight:600; }
  .stroke-text{ color:transparent; -webkit-text-stroke:2px rgba(232,224,213,.34); }
  .fire-text{ background:linear-gradient(180deg,#FFD166 0%,#FFB020 22%,#FF4D00 60%,#D21B1B 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }

  /* ============ REVEAL ============ */
  .reveal{ opacity:0; transform:translateY(34px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
  .reveal.is-visible{ opacity:1; transform:none; }
  .reveal[data-delay="1"]{ transition-delay:.09s } .reveal[data-delay="2"]{ transition-delay:.18s }
  .reveal[data-delay="3"]{ transition-delay:.27s } .reveal[data-delay="4"]{ transition-delay:.36s }
  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1!important; transform:none!important; transition:none!important; }
    .marquee__track,.logo-halo,.fire-flicker{ animation:none!important; }
    .fire-canvas{ display:none; }
  }

  /* ============ PLACEHOLDERS DE MÍDIA ============ */
  .ph{
    position:relative; overflow:hidden; background:#0B0B0D;
    background-image:
      radial-gradient(120% 120% at 12% 0%, rgba(255,77,0,.26) 0%, transparent 55%),
      radial-gradient(90% 90% at 100% 100%, rgba(232,224,213,.10) 0%, transparent 60%),
      repeating-linear-gradient(135deg, rgba(232,224,213,.045) 0 2px, transparent 2px 9px);
  }
  /* marca d'água do logo dentro dos placeholders */
  .ph::before{
    content:''; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:58%; height:auto; aspect-ratio:900/218.1; opacity:.10;
    background:#E8E0D5;
    -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 218.1'><g fill='%23000' fill-rule='evenodd'><path d='M309.4 6.1 L235.3 79.9 L193.1 38.6 L190.7 40.0 L79.7 150.0 L75.5 156.1 L148.3 157.8 L190.8 116.9 L193.5 116.9 L239.6 161.4 L312.4 160.0 L312.4 157.9 L274.7 119.7 L274.7 117.6 L294.5 97.6 L332.3 97.8 L332.5 160.7 L386.4 213.8 L387.7 212.5 L389.4 97.8 L411.8 97.8 L412.1 100.9 L409.7 108.2 L408.5 123.9 L408.4 134.7 L410.8 150.8 L422.9 175.4 L436.3 190.2 L446.0 197.5 L459.5 204.8 L475.9 209.6 L497.0 210.8 L514.3 208.4 L515.9 207.3 L518.4 207.2 L519.4 206.0 L521.6 206.0 L531.5 200.8 L546.7 190.3 L559.6 177.0 L568.0 165.1 L568.7 165.5 L568.7 216.5 L569.6 216.5 L626.5 159.5 L626.7 96.6 L683.6 96.4 L699.5 80.7 L701.6 80.7 L742.2 121.2 L742.2 123.3 L711.7 154.3 L711.6 156.3 L786.0 157.8 L892.6 51.2 L898.7 44.4 L899.0 42.8 L851.6 41.0 L824.8 41.0 L782.3 83.1 L780.3 83.1 L737.8 41.0 L621.2 41.0 L506.0 155.4 L506.0 137.8 L562.7 81.2 L556.5 72.1 L546.0 62.2 L534.4 54.5 L516.4 45.8 L504.6 43.4 L317.1 42.0 L315.3 3.4 L314.8 2.0 L313.8 2.0 Z'/><path d='M0.0 126.1 L0.0 210.0 L0.8 210.0 L55.0 157.2 L55.6 99.0 L113.7 98.8 L169.8 42.7 L0.0 42.2 Z'/><path d='M66.3 114.9 L67.8 142.2 L68.6 143.1 L100.0 112.4 L100.0 111.3 L80.1 109.6 L66.3 109.6 Z'/><path d='M188.5 136.9 L167.9 157.8 L213.7 156.4 L214.5 155.5 L192.1 133.8 Z'/></g></svg>") center/contain no-repeat;
    mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 218.1'><g fill='%23000' fill-rule='evenodd'><path d='M309.4 6.1 L235.3 79.9 L193.1 38.6 L190.7 40.0 L79.7 150.0 L75.5 156.1 L148.3 157.8 L190.8 116.9 L193.5 116.9 L239.6 161.4 L312.4 160.0 L312.4 157.9 L274.7 119.7 L274.7 117.6 L294.5 97.6 L332.3 97.8 L332.5 160.7 L386.4 213.8 L387.7 212.5 L389.4 97.8 L411.8 97.8 L412.1 100.9 L409.7 108.2 L408.5 123.9 L408.4 134.7 L410.8 150.8 L422.9 175.4 L436.3 190.2 L446.0 197.5 L459.5 204.8 L475.9 209.6 L497.0 210.8 L514.3 208.4 L515.9 207.3 L518.4 207.2 L519.4 206.0 L521.6 206.0 L531.5 200.8 L546.7 190.3 L559.6 177.0 L568.0 165.1 L568.7 165.5 L568.7 216.5 L569.6 216.5 L626.5 159.5 L626.7 96.6 L683.6 96.4 L699.5 80.7 L701.6 80.7 L742.2 121.2 L742.2 123.3 L711.7 154.3 L711.6 156.3 L786.0 157.8 L892.6 51.2 L898.7 44.4 L899.0 42.8 L851.6 41.0 L824.8 41.0 L782.3 83.1 L780.3 83.1 L737.8 41.0 L621.2 41.0 L506.0 155.4 L506.0 137.8 L562.7 81.2 L556.5 72.1 L546.0 62.2 L534.4 54.5 L516.4 45.8 L504.6 43.4 L317.1 42.0 L315.3 3.4 L314.8 2.0 L313.8 2.0 Z'/><path d='M0.0 126.1 L0.0 210.0 L0.8 210.0 L55.0 157.2 L55.6 99.0 L113.7 98.8 L169.8 42.7 L0.0 42.2 Z'/><path d='M66.3 114.9 L67.8 142.2 L68.6 143.1 L100.0 112.4 L100.0 111.3 L80.1 109.6 L66.3 109.6 Z'/><path d='M188.5 136.9 L167.9 157.8 L213.7 156.4 L214.5 155.5 L192.1 133.8 Z'/></g></svg>") center/contain no-repeat;
  }
  .ph::after{
    content:attr(data-label); position:absolute; inset:auto 0 0 0; padding:.65rem .9rem;
    font-family:'Barlow Condensed',sans-serif; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
    color:rgba(232,224,213,.55); background:linear-gradient(transparent, rgba(5,5,5,.9));
  }

  /* ============ CARDS ============ */
  .svc-card{ position:relative; transition:transform .45s cubic-bezier(.16,1,.3,1), border-color .45s, background-color .45s; }
  .svc-card::after{ content:''; position:absolute; inset:auto 0 0 0; height:2px; background:linear-gradient(90deg,#FF4D00,#D21B1B); transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.16,1,.3,1); }
  .svc-card:hover{ transform:translateY(-8px); border-color:#A81616; background-color:#131317; }
  .svc-card:hover::after{ transform:scaleX(1); }
  .svc-card:hover .svc-icon{ background:linear-gradient(160deg,#FFB020,#FF4D00); color:#050505; border-color:#FF4D00; transform:rotate(-45deg); }
  .svc-icon{ transition:all .45s cubic-bezier(.16,1,.3,1); }
  .svc-card:hover .svc-arrow{ transform:translateX(6px); opacity:1; }
  .svc-arrow{ transition:all .35s; opacity:.4; }

  /* ============ FILTROS ============ */
  .filter-btn{ transition:all .3s; }
  .filter-btn[aria-pressed="true"]{ background:linear-gradient(160deg,#FF4D00,#D21B1B); color:#050505; border-color:#FF4D00; }
  .case-item.is-hidden{ display:none; }

  /* ============ MARQUEE ============ */
  .marquee{ overflow:hidden; white-space:nowrap; }
  .marquee__track{ display:inline-flex; align-items:center; animation:marquee 34s linear infinite; }
  @keyframes marquee{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }

  /* ============ BOTÕES ============ */
  .btn-primary{ position:relative; overflow:hidden; isolation:isolate; transition:color .3s, border-color .3s; }
  .btn-primary::before{
    content:''; position:absolute; inset:0; background:linear-gradient(160deg,#FFB020,#FF4D00 55%,#D21B1B);
    transform:translateY(101%); transition:transform .4s cubic-bezier(.16,1,.3,1); z-index:-1;
  }
  .btn-primary:hover::before{ transform:translateY(0); }
  .btn-primary:hover{ color:#050505; border-color:#FF4D00; }

  .link-underline{ background-image:linear-gradient(var(--fire),var(--fire)); background-size:0 1px; background-repeat:no-repeat; background-position:0 100%; transition:background-size .35s; }
  .link-underline:hover{ background-size:100% 1px; }

  /* ============ MODAL / HEADER ============ */
  .modal{ opacity:0; visibility:hidden; transition:opacity .35s, visibility .35s; }
  .modal.is-open{ opacity:1; visibility:visible; }
  #site-header{ transition:background-color .4s, border-color .4s; }
  #site-header.is-scrolled{ background:rgba(5,5,5,.9); backdrop-filter:blur(14px); border-color:#1E1E24; }