/*! shark-web — acervo de elementos de site da Shark Pro Trade
 *  Gerado por tools/build.mjs em 2026-09-08
 *  NAO EDITE ESTE ARQUIVO. A fonte sao as folhas em css/ e js/, e a ordem
 *  vem dos <link>/<script> do index.html.
 *  29 folhas, na ordem da galeria
 */

/* ========================================================================
   ../dash-shark/css/dash-shark.tokens.css
   ======================================================================== */
:root {

  --ds-black:      #000000;
  --ds-graphite:   #0b0c0d;
  --ds-graphite-2: #101113;
  --ds-graphite-3: #16181a;
  --ds-white:      #fefefe;

  --ds-blue:       #007aff;
  --ds-green:      #00ff5f;
  --ds-mint:       #29f3c1;
  --ds-red:        #fd0000;
  --ds-pink:       #e6387e;

  --ds-pink-deep:  #a3144e;

  --ds-canvas:        var(--ds-black);
  --ds-surface:       var(--ds-graphite);
  --ds-surface-2:     var(--ds-graphite-2);
  --ds-surface-raised: var(--ds-graphite-3);
  --ds-sunken:        #060707;
  --ds-glass:         rgba(11, 12, 13, 0.6);
  --ds-glass-strong:  rgba(11, 12, 13, 0.86);

  --ds-text-1: var(--ds-white);
  --ds-text-2: rgba(254, 254, 254, 0.64);
  --ds-text-3: rgba(254, 254, 254, 0.38);
  --ds-text-4: rgba(254, 254, 254, 0.22);
  --ds-text-on-accent: #001b0a;

  --ds-line:        rgba(254, 254, 254, 0.08);
  --ds-line-strong: rgba(254, 254, 254, 0.14);
  --ds-line-faint:  rgba(254, 254, 254, 0.045);

  --ds-glow-blue:  rgba(0, 122, 255, 0.25);
  --ds-glow-green: rgba(0, 255, 95, 0.2);
  --ds-glow-red:   rgba(253, 0, 0, 0.18);
  --ds-glow-pink:  rgba(230, 56, 126, 0.32);

  --ds-display: "Space Grotesk", system-ui, -apple-system, sans-serif;
  --ds-body:    "Manrope", system-ui, -apple-system, sans-serif;
  --ds-mono:    "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --ds-fs-micro: 9.5px;
  --ds-fs-xs:    11px;
  --ds-fs-sm:    12.5px;
  --ds-fs-base:  14px;
  --ds-fs-md:    15px;
  --ds-fs-lg:    17px;
  --ds-fs-xl:    20px;
  --ds-fs-2xl:   26px;
  --ds-fs-3xl:   34px;
  --ds-fs-hero:  clamp(38px, 4.4vw, 58px);

  --ds-lh-tight: 1.06;
  --ds-lh-snug:  1.3;
  --ds-lh-base:  1.6;

  --ds-track-tight: -0.02em;
  --ds-track-hero:  -0.035em;
  --ds-track-label: 0.16em;
  --ds-track-wide:  0.32em;

  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 20px;
  --ds-space-6: 24px;
  --ds-space-7: 32px;
  --ds-space-8: 40px;
  --ds-space-9: 56px;
  --ds-space-10: 72px;

  --ds-r-xs:   6px;
  --ds-r-sm:   10px;
  --ds-r-md:   14px;
  --ds-r-lg:   18px;
  --ds-r-xl:   24px;
  --ds-r-2xl:  32px;
  --ds-r-pill: 999px;

  --ds-e1: 0 1px 2px rgba(0, 0, 0, 0.6);
  --ds-e2: 0 8px 24px -12px rgba(0, 0, 0, 0.8);
  --ds-e3: 0 24px 70px -30px rgba(0, 0, 0, 0.9);
  --ds-e4: 0 40px 110px -50px rgba(0, 0, 0, 0.95);
  --ds-underglow-blue:  0 50px 140px -70px rgba(0, 122, 255, 0.45);
  --ds-underglow-green: 0 50px 140px -70px rgba(0, 255, 95, 0.45);
  --ds-ring-blue:  0 0 0 1px rgba(0, 122, 255, 0.3);
  --ds-ring-green: 0 0 0 1px rgba(0, 255, 95, 0.3);

  --ds-blur-sm: 8px;
  --ds-blur-md: 12px;
  --ds-blur-lg: 16px;

  --ds-ease:      cubic-bezier(0.16, 1, 0.3, 1);
  --ds-ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --ds-dur-1: 120ms;
  --ds-dur-2: 220ms;
  --ds-dur-3: 400ms;
  --ds-dur-4: 800ms;

  --ds-z-base:    1;
  --ds-z-sticky:  100;

  --ds-z-scrim:   150;
  --ds-z-drawer:  200;
  --ds-z-modal:   300;
  --ds-z-toast:   400;
  --ds-z-tooltip: 500;

  --ds-mesh-size: 3px;
  --ds-mesh-dot:  rgba(254, 254, 254, 0.18);
}

@media (max-width: 767px) {
  :root {
    --ds-blur-sm: 0px;
    --ds-blur-md: 0px;
    --ds-blur-lg: 0px;
    --ds-e3: 0 12px 32px -18px rgba(0, 0, 0, 0.9);
    --ds-e4: 0 16px 40px -22px rgba(0, 0, 0, 0.95);
    --ds-underglow-blue:  0 24px 60px -40px rgba(0, 122, 255, 0.4);
    --ds-underglow-green: 0 24px 60px -40px rgba(0, 255, 95, 0.4);
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --ds-dur-1: 0ms;
    --ds-dur-2: 0ms;
    --ds-dur-3: 0ms;
    --ds-dur-4: 0ms;
  }
}

/* ========================================================================
   css/shark-web.tokens.css
   ======================================================================== */
:root {

  --sw-acento:       var(--ds-blue, #007aff);
  --sw-acento-glow:  var(--ds-glow-blue, rgba(0, 122, 255, 0.25));
  --sw-acento-tinta: #001424;

  --sw-fundo:        var(--ds-canvas, #000000);
  --sw-superficie:   var(--ds-surface, #0b0c0d);
  --sw-superficie-2: var(--ds-surface-raised, #16181a);
  --sw-poco:         var(--ds-sunken, #060707);
  --sw-vidro:        var(--ds-glass, rgba(11, 12, 13, 0.6));
  --sw-vidro-forte:  var(--ds-glass-strong, rgba(11, 12, 13, 0.86));

  --sw-tinta-1: var(--ds-text-1, #fefefe);
  --sw-tinta-2: var(--ds-text-2, rgba(254, 254, 254, 0.64));

  --sw-tinta-3: rgba(254, 254, 254, 0.48);
  --sw-tinta-4: rgba(254, 254, 254, 0.22);

  --sw-veu-1: rgba(254, 254, 254, 0.06);
  --sw-veu-2: rgba(254, 254, 254, 0.10);
  --sw-veu-3: rgba(254, 254, 254, 0.14);
  --sw-veu-4: rgba(254, 254, 254, 0.24);
  --sw-brilho: rgba(255, 255, 255, 0.45);
  --sw-erro: var(--ds-red, #fd0000);
  --sw-logo-inverte: 0;

  --sw-display-2: "Archivo", "Archivo Expanded", var(--ds-display, "Space Grotesk"), sans-serif;
  --sw-display-2-larg: 118%;

  --sw-fs-d1:    clamp(42px, 7.4vw, 104px);
  --sw-fs-d2:    clamp(32px, 4.6vw, 64px);
  --sw-fs-d3:    clamp(24px, 2.8vw, 40px);
  --sw-fs-lead:  clamp(17px, 1.5vw, 21px);
  --sw-fs-body:  16px;
  --sw-fs-sm:    14px;
  --sw-fs-xs:    12.5px;
  --sw-fs-micro: 10.5px;

  --sw-track-d1:     -0.042em;
  --sw-track-d2:     -0.032em;
  --sw-track-d3:     -0.022em;
  --sw-track-lead:   -0.01em;
  --sw-track-kicker:  0.28em;

  --sw-lh-d1:   0.96;
  --sw-lh-d2:   1.04;
  --sw-lh-d3:   1.16;
  --sw-lh-lead: 1.5;
  --sw-lh-body: 1.65;

  --sw-medida:       64ch;
  --sw-medida-curta: 46ch;
  --sw-medida-h1:    18ch;

  --sw-w:          1200px;
  --sw-w-estreito:  880px;
  --sw-w-largo:    1440px;
  --sw-gutter:     clamp(20px, 5vw, 40px);

  --sw-secao-y: clamp(72px, 9vw, 148px);
  --sw-bloco-y: clamp(32px, 4vw, 56px);
  --sw-gap:     clamp(20px, 2.4vw, 32px);
  --sw-gap-sm:  14px;
  --sw-gap-lg:  clamp(32px, 4vw, 64px);

  --sw-dur-1:   200ms;
  --sw-dur-2:   420ms;
  --sw-dur-3:   720ms;
  --sw-dur-4:  1100ms;
  --sw-stagger:  90ms;

  --sw-ease:       cubic-bezier(0.16, 1, 0.3, 1);
  --sw-ease-soft:  cubic-bezier(0.33, 1, 0.68, 1);
  --sw-ease-inout: cubic-bezier(0.65, 0, 0.35, 1);

  --sw-ease-mola:  cubic-bezier(0.2, 0.9, 0.2, 1.06);

  --sw-rise:    22px;
  --sw-rise-lg: 34px;

  --sw-secao-bg-alt: var(--ds-graphite, #0b0c0d);

  --sw-mesh-size: var(--ds-mesh-size, 3px);
  --sw-mesh-dot:  var(--ds-mesh-dot, rgba(254, 254, 254, 0.18));

  --sw-z-nav:     900;
  --sw-z-mobar:   890;
  --sw-z-subnav:  880;
  --sw-z-overlay: 950;

  --sw-linha:       var(--ds-line, rgba(254, 254, 254, 0.08));
  --sw-linha-fraca: var(--ds-line-faint, rgba(254, 254, 254, 0.045));
  --sw-btn-tinta:   var(--ds-black, #000000);
  --sw-btn-fundo:   var(--ds-white, #fefefe);
}

[data-registro="repouso"] {

  --sw-fundo:        var(--ds-canvas, #000000);
  --sw-superficie:   var(--ds-surface, #0b0c0d);
  --sw-superficie-2: var(--ds-surface-raised, #16181a);
  --sw-poco:         var(--ds-sunken, #060707);
  --sw-vidro:        var(--ds-glass, rgba(11, 12, 13, 0.6));
  --sw-vidro-forte:  var(--ds-glass-strong, rgba(11, 12, 13, 0.86));
  --sw-tinta-1: var(--ds-text-1, #fefefe);
  --sw-tinta-2: var(--ds-text-2, rgba(254, 254, 254, 0.64));
  --sw-tinta-3: rgba(254, 254, 254, 0.48);
  --sw-tinta-4: rgba(254, 254, 254, 0.22);
  --sw-veu-1: rgba(254, 254, 254, 0.06);
  --sw-veu-2: rgba(254, 254, 254, 0.10);
  --sw-veu-3: rgba(254, 254, 254, 0.14);
  --sw-veu-4: rgba(254, 254, 254, 0.24);
  --sw-brilho: rgba(255, 255, 255, 0.45);
  --sw-erro: var(--ds-red, #fd0000);
  --sw-secao-bg-alt: var(--ds-graphite, #0b0c0d);

  --sw-logo-inverte: 0;

  background: var(--sw-fundo);
  color: var(--sw-tinta-1);
  --sw-secao-y: clamp(88px, 11vw, 200px);
  --sw-bloco-y: clamp(40px, 5vw, 72px);
  --sw-gap:     clamp(24px, 3vw, 44px);
  --sw-lh-body: 1.72;
  --sw-rise:    18px;
  --sw-dur-3:   820ms;

  --sw-acento:       var(--ds-blue, #007aff);
  --sw-acento-glow:  transparent;

  --sw-acento-tinta: #001424;

  --sw-linha:        var(--ds-line, rgba(254, 254, 254, 0.08));
  --sw-linha-fraca:  var(--ds-line-faint, rgba(254, 254, 254, 0.045));
  --sw-btn-tinta:    var(--ds-black, #000000);
  --sw-btn-fundo:    var(--ds-white, #fefefe);
}

[data-registro="conversao"] {

  --sw-fundo:        var(--ds-canvas, #000000);
  --sw-superficie:   var(--ds-surface, #0b0c0d);
  --sw-superficie-2: var(--ds-surface-raised, #16181a);
  --sw-poco:         var(--ds-sunken, #060707);
  --sw-vidro:        var(--ds-glass, rgba(11, 12, 13, 0.6));
  --sw-vidro-forte:  var(--ds-glass-strong, rgba(11, 12, 13, 0.86));
  --sw-tinta-1: var(--ds-text-1, #fefefe);
  --sw-tinta-2: var(--ds-text-2, rgba(254, 254, 254, 0.64));
  --sw-tinta-3: rgba(254, 254, 254, 0.48);
  --sw-tinta-4: rgba(254, 254, 254, 0.22);
  --sw-veu-1: rgba(254, 254, 254, 0.06);
  --sw-veu-2: rgba(254, 254, 254, 0.10);
  --sw-veu-3: rgba(254, 254, 254, 0.14);
  --sw-veu-4: rgba(254, 254, 254, 0.24);
  --sw-brilho: rgba(255, 255, 255, 0.45);
  --sw-erro: var(--ds-red, #fd0000);
  --sw-secao-bg-alt: var(--ds-graphite, #0b0c0d);

  --sw-logo-inverte: 0;

  background: var(--sw-fundo);
  color: var(--sw-tinta-1);
  --sw-secao-y: clamp(64px, 8vw, 128px);
  --sw-bloco-y: clamp(28px, 3.4vw, 48px);
  --sw-lh-body: 1.6;
  --sw-rise:    26px;

  --sw-acento:       var(--ds-green, #00ff5f);
  --sw-acento-glow:  var(--ds-glow-green, rgba(0, 255, 95, 0.2));
  --sw-acento-tinta: var(--ds-text-on-accent, #001b0a);
  --sw-linha:        var(--ds-line-strong, rgba(254, 254, 254, 0.14));
  --sw-linha-fraca:  var(--ds-line, rgba(254, 254, 254, 0.08));
  --sw-btn-tinta:    var(--ds-text-on-accent, #001b0a);
  --sw-btn-fundo:    var(--ds-green, #00ff5f);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --sw-dur-1: 0ms;
    --sw-dur-2: 0ms;
    --sw-dur-3: 0ms;
    --sw-dur-4: 0ms;
    --sw-stagger: 0ms;
    --sw-rise: 0px;
    --sw-rise-lg: 0px;
  }
}

[data-registro="editorial"] {

  background: var(--sw-fundo);
  color: var(--sw-tinta-1);
  --sw-fundo:        #e8e6e1;
  --sw-superficie:   #f2f1ed;
  --sw-superficie-2: #fbfaf8;

  --sw-logo-inverte: 1;
  --sw-poco:         #dcd9d2;
  --sw-vidro:        rgba(242, 241, 237, 0.74);
  --sw-vidro-forte:  rgba(242, 241, 237, 0.94);

  --sw-tinta-1: #14161a;
  --sw-tinta-2: rgba(20, 22, 26, 0.68);

  --sw-tinta-3: rgba(20, 22, 26, 0.62);
  --sw-tinta-4: rgba(20, 22, 26, 0.20);

  --sw-veu-1: rgba(20, 22, 26, 0.05);
  --sw-veu-2: rgba(20, 22, 26, 0.08);
  --sw-veu-3: rgba(20, 22, 26, 0.12);
  --sw-veu-4: rgba(20, 22, 26, 0.20);
  --sw-brilho: rgba(20, 22, 26, 0.10);
  --sw-superficie-2: #fbfaf8;

  --sw-logo-inverte: 1;

  --sw-linha:       rgba(20, 22, 26, 0.13);
  --sw-linha-fraca: rgba(20, 22, 26, 0.07);

  --sw-erro: #b00000;

  --sw-acento:       #006625;
  --sw-acento-glow:  transparent;
  --sw-acento-tinta: #fbfaf8;

  --sw-btn-fundo: #14161a;
  --sw-btn-tinta: #f2f1ed;

  --sw-secao-bg-alt: #dedbd4;

  --sw-secao-y: clamp(96px, 12vw, 220px);
  --sw-lh-body: 1.7;

  --sw-track-d1: -0.03em;
  --sw-track-d2: -0.022em;
  --sw-lh-d1: 0.94;
}

[data-registro="cinema"] {

  --sw-fundo:        var(--ds-canvas, #000000);
  --sw-superficie:   var(--ds-surface, #0b0c0d);
  --sw-superficie-2: var(--ds-surface-raised, #16181a);
  --sw-poco:         var(--ds-sunken, #060707);
  --sw-vidro:        var(--ds-glass, rgba(11, 12, 13, 0.6));
  --sw-vidro-forte:  var(--ds-glass-strong, rgba(11, 12, 13, 0.86));
  --sw-tinta-1: var(--ds-text-1, #fefefe);
  --sw-tinta-2: var(--ds-text-2, rgba(254, 254, 254, 0.64));
  --sw-tinta-3: rgba(254, 254, 254, 0.48);
  --sw-tinta-4: rgba(254, 254, 254, 0.22);
  --sw-veu-1: rgba(254, 254, 254, 0.06);
  --sw-veu-2: rgba(254, 254, 254, 0.10);
  --sw-veu-3: rgba(254, 254, 254, 0.14);
  --sw-veu-4: rgba(254, 254, 254, 0.24);
  --sw-brilho: rgba(255, 255, 255, 0.45);
  --sw-erro: var(--ds-red, #fd0000);
  --sw-secao-bg-alt: var(--ds-graphite, #0b0c0d);

  --sw-logo-inverte: 0;

  background: var(--sw-fundo);
  color: var(--sw-tinta-1);
  --sw-acento:      var(--ds-blue, #007aff);
  --sw-acento-glow: var(--ds-glow-blue, rgba(0, 122, 255, 0.25));

  --sw-acento-tinta: #001424;

  --sw-linha:       rgba(254, 254, 254, 0.16);
  --sw-linha-fraca: rgba(254, 254, 254, 0.08);

  --sw-secao-y: clamp(80px, 10vw, 170px);

  --sw-peso-display: 300;
  --sw-track-d1: -0.005em;
  --sw-track-d2:  0.005em;
  --sw-lh-d1: 1.02;

  --sw-btn-fundo: var(--ds-white, #fefefe);
  --sw-btn-tinta: var(--ds-black, #000000);
}

.sw-chao-acento {
  --sw-fundo:        #000000;
  --sw-superficie:   #050505;
  --sw-superficie-2: #090909;
  --sw-poco:         #000000;

  --sw-veu-1: rgba(254, 254, 254, 0.06);
  --sw-veu-2: rgba(254, 254, 254, 0.10);
  --sw-veu-3: rgba(254, 254, 254, 0.14);
  --sw-veu-4: rgba(254, 254, 254, 0.24);
  --sw-linha:       rgba(254, 254, 254, 0.10);
  --sw-linha-fraca: rgba(254, 254, 254, 0.06);

  --sw-tinta-1: #fefefe;
  --sw-tinta-2: rgba(254, 254, 254, 0.66);
  --sw-tinta-3: rgba(254, 254, 254, 0.50);
  --sw-tinta-4: rgba(254, 254, 254, 0.24);

  background: var(--sw-fundo);
  color: var(--sw-tinta-1);
}

[data-registro="editorial"] .sw-chao-acento {
  --sw-acento:       var(--ds-green, #00ff5f);
  --sw-acento-tinta: var(--ds-text-on-accent, #001b0a);
}

.sw-chao-acento .sw-btn--primario {
  background: var(--sw-tinta-1);
  color: color-mix(in srgb, var(--sw-acento) 22%, #000000);
}

.sw-chao-acento--luz {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.sw-chao-acento--luz::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -34%;
  width: 118%;
  aspect-ratio: 4 / 1;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center,
    color-mix(in srgb, var(--sw-acento) 13%, transparent), transparent 66%);
  z-index: -1;
  pointer-events: none;
}

@supports (color: color-mix(in srgb, red 50%, blue)) {
  .sw-chao-acento {
    --sw-fundo:        color-mix(in srgb, var(--sw-acento) 12%, #000000);
    --sw-superficie:   color-mix(in srgb, var(--sw-acento) 15%, #050505);
    --sw-superficie-2: color-mix(in srgb, var(--sw-acento) 19%, #090909);
    --sw-poco:         color-mix(in srgb, var(--sw-acento) 9%,  #000000);
  }
}

/* ========================================================================
   css/shark-web.base.css
   ======================================================================== */
html:has(.sw-page) {
  overflow-x: hidden;
}

.sw-page {
  background: var(--sw-fundo);
  color: var(--sw-tinta-1);
  font-family: var(--ds-body, "Manrope", system-ui, sans-serif);
  font-size: var(--sw-fs-body);
  line-height: var(--sw-lh-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.sw-page *,
.sw-page *::before,
.sw-page *::after {
  box-sizing: border-box;
}

.sw-container {
  width: 100%;
  max-width: calc(var(--sw-w) + var(--sw-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--sw-gutter);
}

.sw-container--estreito { max-width: calc(var(--sw-w-estreito) + var(--sw-gutter) * 2); }
.sw-container--largo    { max-width: calc(var(--sw-w-largo)    + var(--sw-gutter) * 2); }

.sw-secao {
  position: relative;
  padding-block: var(--sw-secao-y);

  background: var(--sw-secao-bg, var(--sw-fundo));
}

.sw-secao--densa { padding-block: calc(var(--sw-secao-y) * 0.62); }
.sw-secao--ar    { padding-block: calc(var(--sw-secao-y) * 1.35); }

.sw-secao--alt { background: var(--sw-secao-bg-alt); }

.sw-secao--divisa::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    var(--sw-linha-fraca) 22%,
    var(--sw-linha-fraca) 78%,
    transparent);
}

.sw-secao-topo {
  display: flex;
  flex-direction: column;
  gap: var(--sw-gap-sm);
  margin-bottom: var(--sw-bloco-y);
}

.sw-secao-topo--centro {
  align-items: center;
  text-align: center;
}

.sw-secao-topo--centro .sw-lead { margin-inline: auto; }

.sw-grade {
  display: grid;
  gap: var(--sw-gap);
  grid-template-columns: repeat(var(--sw-cols, 1), minmax(0, 1fr));
}

.sw-grade--2 { --sw-cols: 2; }
.sw-grade--3 { --sw-cols: 3; }
.sw-grade--4 { --sw-cols: 4; }

@media (max-width: 1023px) {
  .sw-grade--3,
  .sw-grade--4 { --sw-cols: 2; }
}

@media (max-width: 640px) {
  .sw-grade--2,
  .sw-grade--3,
  .sw-grade--4 { --sw-cols: 1; }
}

.sw-duo {
  display: grid;
  gap: var(--sw-gap-lg);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
}

.sw-duo + .sw-duo { margin-top: var(--sw-bloco-y); }

.sw-duo--inverso > :first-child { order: 2; }

@media (max-width: 860px) {
  .sw-duo { grid-template-columns: minmax(0, 1fr); }
  .sw-duo--inverso > :first-child { order: 0; }
}

.sw-medida       { max-width: var(--sw-medida); }
.sw-medida--curta { max-width: var(--sw-medida-curta); }

.sw-prose {
  max-width: var(--sw-medida);
  color: var(--sw-tinta-2);
}

.sw-prose > * + *  { margin-top: 1.1em; }
.sw-prose > * + h2,
.sw-prose > * + h3 { margin-top: 2em; }

.sw-prose h2,
.sw-prose h3 { color: var(--sw-tinta-1); }

.sw-prose a {
  color: var(--sw-acento);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in srgb, var(--sw-acento) 40%, transparent);
  transition: text-decoration-color var(--sw-dur-1) var(--sw-ease);
}

.sw-prose a:hover { text-decoration-color: var(--sw-acento); }

.sw-prose strong { color: var(--sw-tinta-1); font-weight: 700; }

.sw-pilha {
  display: flex;
  flex-direction: column;
  gap: var(--sw-gap-sm);
}

.sw-linha-h {
  display: flex;
  align-items: center;
  gap: var(--sw-gap-sm);
  flex-wrap: wrap;
}

.sw-bleed {
  margin-inline: calc(var(--sw-gutter) * -1);
  padding-inline: var(--sw-gutter);
  overflow-x: auto;
  scrollbar-width: none;
}

.sw-bleed::-webkit-scrollbar { display: none; }

.sw-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.sw-page :focus-visible {
  outline: 2px solid var(--sw-acento);
  outline-offset: 3px;
  border-radius: var(--ds-r-xs, 6px);
}

.sw-duo--contraste {
  align-items: stretch;
  gap: var(--sw-gap);
}

.sw-duo-lado {
  display: flex;
  flex-direction: column;
  gap: var(--sw-gap-sm);
  padding: var(--sw-gap-lg) var(--sw-gap);
  border-radius: var(--ds-r-xl, 24px);
  background: var(--sw-superficie);
  color: var(--sw-tinta-1);
}

.sw-duo-lado--invertido {
  --sw-superficie:   #fbfaf8;
  --sw-superficie-2: #f2f1ed;
  --sw-poco:         #e8e6e1;
  --sw-tinta-1: #14161a;

  --sw-tinta-2: rgba(20, 22, 26, 0.74);
  --sw-tinta-3: rgba(20, 22, 26, 0.64);
  --sw-tinta-4: rgba(20, 22, 26, 0.22);
  --sw-veu-1: rgba(20, 22, 26, 0.05);
  --sw-veu-2: rgba(20, 22, 26, 0.08);
  --sw-veu-3: rgba(20, 22, 26, 0.12);
  --sw-veu-4: rgba(20, 22, 26, 0.20);
  --sw-linha:       rgba(20, 22, 26, 0.13);
  --sw-linha-fraca: rgba(20, 22, 26, 0.07);

  --sw-acento: #006625;
  --sw-acento-tinta: #fbfaf8;
  background: var(--sw-superficie);
  color: var(--sw-tinta-1);
}

[data-registro="editorial"] .sw-duo-lado--invertido {
  --sw-superficie:   #16181a;
  --sw-superficie-2: #101113;
  --sw-poco:         #060707;
  --sw-tinta-1: #fefefe;
  --sw-tinta-2: rgba(254, 254, 254, 0.64);
  --sw-tinta-3: rgba(254, 254, 254, 0.52);
  --sw-tinta-4: rgba(254, 254, 254, 0.22);
  --sw-veu-1: rgba(254, 254, 254, 0.05);
  --sw-veu-2: rgba(254, 254, 254, 0.08);
  --sw-veu-3: rgba(254, 254, 254, 0.12);
  --sw-veu-4: rgba(254, 254, 254, 0.20);
  --sw-linha:       rgba(254, 254, 254, 0.14);
  --sw-linha-fraca: rgba(254, 254, 254, 0.06);

  --sw-acento: var(--ds-green, #00ff5f);
  --sw-acento-tinta: #001b0a;
  background: var(--sw-superficie);
  color: var(--sw-tinta-1);
}

.sw-duo-lado--invertido {
  box-shadow: inset 0 0 0 1px var(--sw-linha);
}

.sw-duo-numero {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(44px, 6.5vw, 78px);
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
  color: var(--sw-tinta-1);
  margin: 0;
}

.sw-duo-numero small {
  font-size: var(--sw-fs-body);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--sw-tinta-2);
}

.sw-duo-nota {
  margin: 0;
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-3);
}

@media (max-width: 860px) {
  .sw-duo--contraste { gap: var(--sw-gap-sm); }
}

.sw-linha-conta {
  margin: 4px 0 0;
  display: grid;
  gap: 0;
}

.sw-linha-conta > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sw-gap-sm);
  padding: 12px 0;
  box-shadow: inset 0 -1px 0 var(--sw-linha);
}

.sw-linha-conta dt {
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-2);
}

.sw-linha-conta dd {
  margin: 0;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-sm);
  font-variant-numeric: tabular-nums;
  color: var(--sw-tinta-1);
}

.sw-linha-conta > div.is-total {
  box-shadow: none;
  padding-top: 16px;
}

.sw-linha-conta > div.is-total dt { font-weight: 700; color: var(--sw-tinta-1); }

.sw-linha-conta > div.is-total dd {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 700;
  letter-spacing: -0.03em;
}

dialog:not([open]) { display: none; }

html {

  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.sw-page a,
.sw-page button,
.sw-page summary,
.sw-page [role="button"] {
  -webkit-tap-highlight-color: transparent;
}

@media (forced-colors: active) {
  html .sw-card,
  html .sw-plano,
  html .sw-modal,
  html .sw-input,
  html .sw-select,
  html .sw-textarea,
  html .sw-btn,
  html .sw-chip,
  html .sw-tab,
  html .sw-espia-seta,
  html .sw-plano-badge,
  html .sw-etiqueta {
    border: 1px solid CanvasText;
  }

  html .sw-btn--primario { border-width: 2px; }

  html .sw-plano-lista li::before,
  html .sw-menu-btn-icone::before,
  html .sw-menu-btn-icone::after,
  html .sw-cmp-sim,
  html .sw-cmp-nao {
    forced-color-adjust: none;
  }
}

.sw-pular {
  position: fixed;
  top: -100px;
  left: var(--sw-gutter, 16px);
  z-index: 10000;
  padding: 12px 18px;
  border-radius: var(--ds-r-md, 12px);
  background: var(--sw-acento, #00ff5f);
  color: var(--sw-acento-tinta, #001b0a);
  font-family: var(--ds-body, "Manrope", system-ui, sans-serif);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: top var(--sw-dur-1, 180ms) var(--sw-ease, ease);
}

.sw-pular:focus {
  top: 12px;
}

/* ========================================================================
   css/shark-web.tipo.css
   ======================================================================== */
.sw-d1,
.sw-d2,
.sw-d3 {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-weight: 700;
  color: var(--sw-tinta-1);
  margin: 0;
  text-wrap: balance;
}

.sw-d1 {
  font-size: var(--sw-fs-d1);
  line-height: var(--sw-lh-d1);
  letter-spacing: var(--sw-track-d1);
}

.sw-d2 {
  font-size: var(--sw-fs-d2);
  line-height: var(--sw-lh-d2);
  letter-spacing: var(--sw-track-d2);
}

.sw-d3 {
  font-size: var(--sw-fs-d3);
  line-height: var(--sw-lh-d3);
  letter-spacing: var(--sw-track-d3);
  font-weight: 600;
}

.sw-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  letter-spacing: var(--sw-track-kicker);
  text-transform: uppercase;
  color: var(--sw-acento);
  margin: 0;
}

.sw-kicker--dot::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

.sw-lead {
  font-size: var(--sw-fs-lead);
  line-height: var(--sw-lh-lead);
  letter-spacing: var(--sw-track-lead);
  color: var(--sw-tinta-2);
  max-width: var(--sw-medida-curta);
  margin: 0;
}

.sw-lead--largo { max-width: var(--sw-medida); }

.sw-mono {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  letter-spacing: 0.04em;
  color: var(--sw-tinta-3);
}

.sw-num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

.sw-h1--duas-linhas > span {
  display: block;
  color: var(--sw-acento);
}

.sw-h1--outline > span,
.sw-d1.sw-h1--outline,
.sw-d2.sw-h1--outline {
  color: transparent;
  -webkit-text-stroke: 1px var(--sw-tinta-3);
  paint-order: stroke fill;
}

.sw-h1--outline--acento > span {
  -webkit-text-stroke-color: var(--sw-acento);
}

.sw-h1-bloco {
  display: flex;
  flex-direction: column;

  gap: clamp(14px, 1.6vw, 24px);
  max-width: var(--sw-medida);
}

.sw-h1-bloco .sw-d1 { max-width: var(--sw-medida-h1); }

.sw-h1-bloco--centro {
  align-items: center;
  text-align: center;
  margin-inline: auto;
}

.sw-h1--com-dado > span {
  color: var(--sw-acento);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: -0.05em;
}

.sw-h1--split.is-split .sw-char {
  display: inline-block;
  will-change: transform, opacity;
}

.sw-char-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

.sw-h1--medida {
  max-width: var(--sw-medida-h1);
  font-size: var(--sw-fs-d2);
  line-height: var(--sw-lh-d2);
  letter-spacing: var(--sw-track-d2);
  text-wrap: balance;
}

.sw-marca {
  background: var(--sw-acento);
  color: var(--sw-acento-tinta);
  padding: 0.05em 0.3em;
  border-radius: var(--ds-r-xs, 6px);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.sw-sub-acento {
  background-image: linear-gradient(var(--sw-acento), var(--sw-acento));
  background-repeat: no-repeat;
  background-size: 100% 2px;
  background-position: 0 100%;
  padding-bottom: 2px;
}

.sw-titulo {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--sw-tinta-1);
  margin: 0;
}

.sw-texto {
  font-size: var(--sw-fs-sm);
  line-height: var(--sw-lh-body);
  color: var(--sw-tinta-2);
  margin: 0;
}

.sw-texto--fraco { color: var(--sw-tinta-3); }

/* ========================================================================
   css/shark-web.nav.css
   ======================================================================== */
.sw-nav {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: var(--sw-z-nav);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sw-gap);
  height: 72px;
  padding-inline: var(--sw-gutter);
  background: var(--sw-vidro);
  backdrop-filter: blur(var(--ds-blur-md, 12px));
  -webkit-backdrop-filter: blur(var(--ds-blur-md, 12px));
  box-shadow: inset 0 -1px 0 var(--sw-linha);
  transition: transform var(--sw-dur-2) var(--sw-ease),
              background var(--sw-dur-2) var(--sw-ease);
}

.sw-nav.is-oculta { transform: translate3d(0, -100%, 0); }

.sw-nav.is-topo {
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.sw-nav-marca {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--sw-tinta-1);
  text-decoration: none;
  flex: none;
}

.sw-nav-marca img { height: 26px; width: auto; display: block; }

.sw-nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sw-nav-link {
  padding: 8px 13px;
  border-radius: var(--ds-r-sm, 10px);
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-2);
  text-decoration: none;
  transition: color var(--sw-dur-1) var(--sw-ease), background var(--sw-dur-1) var(--sw-ease);
}

.sw-nav-link:hover,
.sw-nav-link[aria-current] {
  color: var(--sw-tinta-1);
  background: var(--sw-veu-1);
}

.sw-nav-acoes { display: flex; align-items: center; gap: 10px; flex: none; }

@media (max-width: 900px) {
  .sw-nav-links { display: none; }
}

.sw-page--com-nav { padding-top: 72px; }

.sw-page [id] { scroll-margin-top: 96px; }

.sw-page { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  .sw-page { scroll-behavior: auto; }
}

.sw-subnav {
  position: sticky;
  top: 72px;
  z-index: var(--sw-z-subnav);
  display: flex;
  gap: 2px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 10px var(--sw-gutter);
  background: var(--sw-vidro-forte);
  backdrop-filter: blur(var(--ds-blur-md, 12px));
  -webkit-backdrop-filter: blur(var(--ds-blur-md, 12px));
  box-shadow: inset 0 -1px 0 var(--sw-linha);
}

.sw-subnav::-webkit-scrollbar { display: none; }

.sw-subnav-item {
  flex: none;
  padding: 7px 14px;
  border-radius: var(--ds-r-pill, 999px);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  letter-spacing: 0.04em;
  color: var(--sw-tinta-3);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--sw-dur-1) var(--sw-ease), background var(--sw-dur-1) var(--sw-ease);
}

.sw-subnav-item:hover { color: var(--sw-tinta-1); }

.sw-subnav-item.is-ativo,
.sw-subnav-item[aria-current="true"] {
  color: var(--sw-acento-tinta);
  background: var(--sw-acento);
}

.sw-tabs {
  display: inline-flex;
  gap: 3px;
  padding: 4px;
  border-radius: var(--ds-r-pill, 999px);
  background: var(--sw-superficie);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}

.sw-tabs::-webkit-scrollbar { display: none; }

.sw-tab {
  flex: none;
  padding: 9px 18px;
  border: 0;
  border-radius: var(--ds-r-pill, 999px);
  background: transparent;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-sm);
  font-weight: 500;
  color: var(--sw-tinta-3);
  cursor: pointer;
  white-space: nowrap;
  transition: color var(--sw-dur-1) var(--sw-ease), background var(--sw-dur-1) var(--sw-ease);
}

.sw-tab:hover { color: var(--sw-tinta-1); }

.sw-tab[aria-selected="true"] {
  background: var(--sw-veu-2);
  color: var(--sw-tinta-1);
}

.sw-tabpanel[hidden] { display: none !important; }

.sw-trilha {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-3);
}

.sw-trilha a { color: inherit; text-decoration: none; }
.sw-trilha a:hover { color: var(--sw-tinta-1); }

.sw-trilha li + li::before {
  content: "/";
  margin-right: 8px;

  color: var(--sw-tinta-3);
}

.sw-trilha ol,
.sw-trilha ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }

.sw-mobar {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: var(--sw-z-mobar);
  display: none;
  align-items: center;
  gap: 12px;
  padding: 12px var(--sw-gutter);
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  background: var(--sw-vidro-forte);
  backdrop-filter: blur(var(--ds-blur-lg, 16px));
  -webkit-backdrop-filter: blur(var(--ds-blur-lg, 16px));
  box-shadow: inset 0 1px 0 var(--sw-linha);
  transform: translate3d(0, 110%, 0);
  transition: transform var(--sw-dur-2) var(--sw-ease);
}

.sw-mobar.is-visivel { transform: translate3d(0, 0, 0); }

@media (max-width: 767px) { .sw-mobar { display: flex; } }

.sw-rodape {
  position: relative;
  padding-top: var(--sw-secao-y);
  overflow: hidden;
}

.sw-rodape-grade {
  display: grid;
  gap: var(--sw-gap-lg);
  grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
  padding-bottom: var(--sw-bloco-y);
}

@media (max-width: 860px) { .sw-rodape-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .sw-rodape-grade { grid-template-columns: minmax(0, 1fr); } }

.sw-rodape-coluna { display: flex; flex-direction: column; gap: 10px; }

.sw-rodape-titulo {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  letter-spacing: var(--sw-track-kicker);
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  margin-bottom: 4px;
}

.sw-rodape-coluna a {
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-2);
  text-decoration: none;
  transition: color var(--sw-dur-1) var(--sw-ease);
}

.sw-rodape-coluna a:hover { color: var(--sw-tinta-1); }

.sw-rodape-legal {
  display: flex;
  justify-content: space-between;
  gap: var(--sw-gap);
  flex-wrap: wrap;
  padding-block: var(--sw-gap);
  border-top: 1px solid var(--sw-linha);
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-3);
}

@media (pointer: coarse), (max-width: 900px) {
  .sw-rodape-coluna a,
  .sw-rodape .sw-logo {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

   ancorando na propria escala do texto. */
.sw-rodape-wordmark {
  display: block;
  margin-top: var(--sw-bloco-y);
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(64px, 18vw, 260px);
  font-weight: 700;
  line-height: 0.78;
  letter-spacing: -0.05em;
  text-align: center;
  white-space: nowrap;
  color: transparent;
  -webkit-text-stroke: 1px var(--sw-tinta-4);
  margin-bottom: -0.16em;
  user-select: none;

}

[data-registro="conversao"] .sw-rodape-wordmark {
  -webkit-text-stroke-color: color-mix(in srgb, var(--sw-acento) 38%, transparent);
}

.sw-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sw-chip {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 17px;
  border: 0;
  border-radius: var(--ds-r-pill, 999px);
  background: transparent;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-sm);
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1;
  color: var(--sw-tinta-3);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--sw-dur-1) var(--sw-ease),
              color var(--sw-dur-1) var(--sw-ease);
}

.sw-chip:hover { color: var(--sw-tinta-1); background: var(--sw-veu-1); }

.sw-chip:focus-visible {
  outline: 2px solid var(--sw-acento);
  outline-offset: 2px;
}

.sw-chip[aria-selected="true"],
.sw-chip[aria-current="true"],
.sw-chip.is-ativo {
  background: color-mix(in srgb, var(--sw-acento) 20%, transparent);
  color: var(--sw-tinta-1);
  font-weight: 700;
}

[data-registro="editorial"] .sw-chip[aria-selected="true"],
[data-registro="editorial"] .sw-chip[aria-current="true"],
[data-registro="editorial"] .sw-chip.is-ativo {
  background: var(--sw-acento);
  color: var(--sw-acento-tinta);
}

.sw-chip-conta {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  color: var(--sw-tinta-3);
}

.sw-chip-painel[hidden] { display: none !important; }

@media (pointer: coarse) {

  .sw-rodape-coluna a {
    display: flex;
    align-items: center;
    min-height: 44px;
  }

  .sw-rodape-coluna { gap: 0; }

  .sw-rodape-legal a { min-height: 44px; display: inline-flex; align-items: center; }

  .sw-subnav-item,
  .sw-trilha a { min-height: 44px; display: inline-flex; align-items: center; }

  .sw-nav-acoes { gap: 12px; }
  .sw-nav-acoes .sw-btn { min-height: 44px; }
}

@media (pointer: coarse) {

  .sw-tab { min-height: 44px; }

  .sw-chip { min-height: 44px; }
}

/* ========================================================================
   css/shark-web.hero.css
   ======================================================================== */
.sw-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: min(92vh, 900px);
  padding-block: calc(var(--sw-secao-y) * 0.9);
  overflow: hidden;
  isolation: isolate;
}

.sw-hero--curto { min-height: 0; }

.sw-hero-conteudo {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--sw-gap);
}

.sw-hero-fundo {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.sw-hero-fundo--trama {
  background-image: radial-gradient(var(--sw-mesh-dot) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.5;
  mask-image: linear-gradient(180deg, #000 0%, transparent 72%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 72%);
}

.sw-hero-fundo--contorno {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='120' viewBox='0 0 240 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.055' stroke-width='1'%3E%3Cpath d='M0 20c40 0 40-16 80-16s40 16 80 16 40-16 80-16'/%3E%3Cpath d='M0 45c40 0 40-16 80-16s40 16 80 16 40-16 80-16'/%3E%3Cpath d='M0 70c40 0 40-16 80-16s40 16 80 16 40-16 80-16'/%3E%3Cpath d='M0 95c40 0 40-16 80-16s40 16 80 16 40-16 80-16'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 240px 120px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000, transparent 78%);
}

.sw-hero-fundo--aura {
  background: radial-gradient(ellipse 60% 50% at 50% 8%,
    color-mix(in srgb, var(--sw-acento) 16%, transparent),
    transparent 70%);
}

.sw-hero--dado .sw-hero-conteudo {
  align-items: center;
  text-align: center;
  max-width: 860px;
  margin-inline: auto;
}

.sw-hero--dado .sw-lead { margin-inline: auto; }

.sw-hero-prova {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  margin-top: var(--sw-bloco-y);
}

.sw-hero--vsl .sw-hero-conteudo {
  align-items: center;
  text-align: center;
  max-width: 980px;
  margin-inline: auto;
}

.sw-hero-video {
  position: relative;
  width: 100%;
  max-width: 860px;
  aspect-ratio: 16 / 9;
  border-radius: var(--ds-r-xl, 24px);
  overflow: hidden;

  background: var(--sw-superficie-2);
  box-shadow: inset 0 0 0 1px var(--sw-veu-3),
              inset 0 1px 0 var(--sw-veu-2),
              var(--ds-e4, 0 40px 110px -50px rgba(0, 0, 0, 0.95)),
              0 50px 140px -70px var(--sw-acento-glow);
}

.sw-hero-video img,
.sw-hero-video video,
.sw-hero-video iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
}

.sw-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 74px;
  height: 74px;
  border: 0;
  border-radius: 50%;
  background: var(--sw-btn-fundo);
  color: var(--sw-btn-tinta);
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 12px 40px -12px rgba(0, 0, 0, 0.8);
  transition: transform var(--sw-dur-1) var(--sw-ease);
}

.sw-play:hover { transform: scale(1.06); }

.sw-play::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 5px;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 18px solid currentColor;
}

@media (prefers-reduced-motion: reduce) {
  .sw-play:hover { transform: none; }
}

.sw-selo-nota {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: var(--ds-r-pill, 999px);
  background: var(--sw-veu-1);
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-2);
}

.sw-hero--declaracao {
  min-height: min(88vh, 820px);
}

.sw-hero--declaracao .sw-hero-conteudo {
  max-width: var(--sw-medida);
  gap: var(--sw-gap-lg);
}

.sw-hero--declaracao .sw-d1 { max-width: 28ch; }

.sw-hero--produto .sw-hero-conteudo { gap: var(--sw-gap-lg); }

.sw-hero-duo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: var(--sw-gap-lg);
  align-items: center;
  width: 100%;
}

@media (max-width: 900px) {
  .sw-hero-duo { grid-template-columns: minmax(0, 1fr); }
}

.sw-hero-painel {
  border-radius: var(--ds-r-xl, 24px);
  background: var(--sw-superficie);
  box-shadow: var(--ds-e3, 0 24px 70px -30px rgba(0, 0, 0, 0.9)),
              inset 0 1px 0 var(--sw-veu-1);
  padding: var(--sw-gap);
  overflow: hidden;
}

.sw-scroll-dica {
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: var(--sw-track-kicker);
  text-transform: uppercase;
  color: var(--sw-tinta-4);
  transition: opacity var(--sw-dur-2) var(--sw-ease);
}

.sw-scroll-dica::after {
  content: "";
  width: 1px;
  height: 34px;
  background: linear-gradient(var(--sw-tinta-4), transparent);
}

.sw-scroll-dica.is-oculta { opacity: 0; }

.sw-hero--copy .sw-hero-conteudo {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  align-items: center;
  gap: var(--sw-gap-lg);
  text-align: left;
}

.sw-hero--copy .sw-lead { margin-inline: 0; }

.sw-hero--copy .sw-d2 + .sw-texto,
.sw-hero--copy .sw-d1 + .sw-texto { margin-top: 16px; }

.sw-hero-retrato {
  position: relative;
  align-self: stretch;
  min-height: clamp(320px, 46vw, 560px);
  margin-block: calc(var(--sw-secao-y) * -0.5);
  margin-right: calc(var(--sw-gutter) * -1);
  border-radius: var(--ds-r-2xl, 32px) 0 0 var(--ds-r-2xl, 32px);
  overflow: hidden;
  isolation: isolate;
}

.sw-hero-retrato img,
.sw-hero-retrato video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(0.35) contrast(1.08);
}

.sw-hero-retrato::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image:
    radial-gradient(var(--sw-mesh-dot, rgba(254, 254, 254, 0.18)) 0.85px, transparent 0.85px),
    radial-gradient(color-mix(in srgb, var(--sw-mesh-dot, rgba(254, 254, 254, 0.18)) 45%, transparent) 0.85px, transparent 0.85px);
  background-size: 5px 5px;
  background-position: 0 0, 2.5px 2.5px;
  mix-blend-mode: overlay;
  opacity: 0.72;
}

.sw-hero-retrato::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(100deg,
    var(--sw-fundo) 0%,
    color-mix(in srgb, var(--sw-fundo) 55%, transparent) 22%,
    transparent 52%);
}

.sw-hero-prova-linha {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sw-gap-sm);
  margin-top: var(--sw-gap);
  padding-top: var(--sw-gap-sm);
  box-shadow: inset 0 1px 0 var(--sw-linha);
}

.sw-hero-prova-linha > div { display: grid; gap: 2px; }

.sw-hero-prova-linha b {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--sw-tinta-1);
}

.sw-hero-prova-linha span {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

@media (max-width: 520px) {
  .sw-hero-prova-linha { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .sw-hero--copy .sw-hero-conteudo { grid-template-columns: minmax(0, 1fr); }
  .sw-hero-retrato {
    order: -1;
    min-height: 260px;
    margin: 0 calc(var(--sw-gutter) * -1) var(--sw-gap);
    border-radius: 0;
  }

  .sw-hero-retrato::after {
    background: linear-gradient(to bottom,
      transparent 40%,
      color-mix(in srgb, var(--sw-fundo) 60%, transparent) 76%,
      var(--sw-fundo) 100%);
  }
}

.sw-hero--vsl-trama .sw-hero-conteudo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sw-gap);
  text-align: center;
}

.sw-hero-quadro-trama {
  position: relative;
  width: 100%;
  max-width: 940px;
  margin-inline: auto;
  padding: clamp(18px, 3vw, 40px);
  border-radius: var(--ds-r-2xl, 32px);
  isolation: isolate;
}

.sw-hero-quadro-trama::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background-image:
    radial-gradient(var(--sw-mesh-dot, rgba(254, 254, 254, 0.18)) 1px, transparent 1px),
    radial-gradient(color-mix(in srgb, var(--sw-mesh-dot, rgba(254, 254, 254, 0.18)) 45%, transparent) 1px, transparent 1px);
  background-size: 7px 7px;
  background-position: 0 0, 3.5px 3.5px;
  opacity: 0.5;
  mask-image: radial-gradient(ellipse at center, transparent 46%, #000 92%);
  -webkit-mask-image: radial-gradient(ellipse at center, transparent 46%, #000 92%);
}

.sw-hero-quadro-trama::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -18%;
  width: 86%;
  aspect-ratio: 3 / 1;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center,
    color-mix(in srgb, var(--sw-acento) 24%, transparent), transparent 66%);
  z-index: -1;
  pointer-events: none;
}

.sw-hero-quadro-trama > * { position: relative; z-index: 1; }

.sw-hero-vsl-nota {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

.sw-hero-vsl-nota::before {
  content: "";
  width: 22px;
  height: 1px;
  background: currentColor;
}

@media (max-width: 640px) {
  .sw-hero-quadro-trama { padding: 12px; }
}

/* ========================================================================
   css/shark-web.prova.css
   ======================================================================== */
.sw-barras {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sw-barra {
  --sw-v: 50;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, var(--sw-barra-w, 78%)) auto;
  align-items: center;
  gap: 14px;
}

.sw-barra::before {
  content: "";
  grid-area: 1 / 1;
  height: 100%;
  min-height: 54px;
  width: calc(var(--sw-v) * 1%);
  border-radius: var(--ds-r-lg, 18px);
  background: var(--sw-superficie);
  transition: width var(--sw-dur-4) var(--sw-ease);
}

.sw-barra-nome,
.sw-barra-valor {
  position: relative;
  z-index: 1;
}

.sw-barra-nome {
  grid-area: 1 / 1;
  justify-self: end;
  padding: 16px 22px;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-weight: 600;
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-3);
  white-space: nowrap;

  margin-right: calc(100% - var(--sw-v) * 1%);
  transition: margin-right var(--sw-dur-4) var(--sw-ease);
}

.sw-barra-valor {
  grid-area: 1 / 2;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-sm);
  font-weight: 600;
  color: var(--sw-tinta-3);
}

.sw-barra.is-vencedor::before {
  background:
    radial-gradient(var(--sw-mesh-dot) 0.9px, transparent 0.9px) 0 0 / var(--sw-mesh-size) var(--sw-mesh-size),
    linear-gradient(90deg,
      color-mix(in srgb, var(--sw-acento) 22%, var(--sw-superficie)),
      color-mix(in srgb, var(--sw-acento) 62%, var(--sw-superficie)));
  box-shadow: var(--ds-underglow-blue, 0 50px 140px -70px rgba(0, 122, 255, 0.45));
}

[data-registro="conversao"] .sw-barra.is-vencedor::before {
  box-shadow: var(--ds-underglow-green, 0 50px 140px -70px rgba(0, 255, 95, 0.45));
}

.sw-barra.is-vencedor .sw-barra-nome,
.sw-barra.is-vencedor .sw-barra-valor {
  color: var(--sw-tinta-1);
}

.sw-barra-selo {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: var(--ds-r-pill, 999px);
  background: var(--sw-veu-3);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  vertical-align: middle;
}

@media (max-width: 640px) {
  .sw-barra { grid-template-columns: minmax(0, 1fr) auto; }
  .sw-barra-nome { font-size: var(--sw-fs-xs); padding: 14px 14px; }
}

.sw-logos { padding-block: var(--sw-bloco-y); }

.sw-logos-item {
  display: inline-flex;
  align-items: center;
  height: 28px;
  opacity: 0.5;
  filter: grayscale(1);
  transition: opacity var(--sw-dur-1) var(--sw-ease), filter var(--sw-dur-1) var(--sw-ease);
}

.sw-logos-item:hover {
  opacity: 1;
  filter: grayscale(0);
}

.sw-logos-item img { height: 100%; width: auto; display: block; }

.sw-logos-nome {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--sw-tinta-3);
  white-space: nowrap;
}

.sw-case {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-block: var(--sw-gap-sm);
  border-top: 1px solid var(--sw-linha);
  text-decoration: none;
  color: inherit;
  transition: border-color var(--sw-dur-1) var(--sw-ease);
}

a.sw-case:hover { border-top-color: var(--sw-acento); }

.sw-case-nome {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--sw-tinta-1);
}

.sw-case-uso {
  font-size: var(--sw-fs-sm);
  line-height: 1.5;
  color: var(--sw-tinta-2);
  max-width: 46ch;
}

.sw-case-link {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  color: var(--sw-acento);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sw-case-link::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--sw-dur-1) var(--sw-ease);
}

a.sw-case:hover .sw-case-link::after { transform: rotate(45deg) translate(2px, -2px); }

.sw-credencial {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sw-credencial-valor {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-d3);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.035em;
  color: var(--sw-tinta-1);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

.sw-credencial-valor--acento { color: var(--sw-acento); }

.sw-credencial-label {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  letter-spacing: var(--sw-track-kicker);
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

.sw-faixa-numeros {
  display: grid;
  grid-template-columns: repeat(var(--sw-cols, 4), minmax(0, 1fr));
  gap: 1px;
  background: var(--sw-linha);
  border-radius: var(--ds-r-lg, 18px);
  overflow: hidden;
}

.sw-faixa-numeros > * {
  background: var(--sw-fundo);
  padding: var(--sw-gap);
}

[data-registro] .sw-secao--alt .sw-faixa-numeros > * { background: var(--sw-secao-bg-alt); }

@media (max-width: 860px) { .sw-faixa-numeros { --sw-cols: 2; } }

.sw-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.sw-timeline::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 8px;
  bottom: calc(var(--sw-timeline-fim, 28px));
  width: 1px;
  background: linear-gradient(var(--sw-linha), transparent);
}

.sw-timeline-item {
  position: relative;
  padding-left: 30px;
  padding-bottom: var(--sw-bloco-y);
}

.sw-timeline-item:last-child { padding-bottom: 0; }

.sw-timeline-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--sw-fundo);

  box-shadow: 0 0 0 1px var(--ds-line-strong, var(--sw-veu-3));
}

.sw-timeline-item.is-marco::before {
  background: var(--sw-acento);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--sw-acento) 20%, transparent);
}

.sw-timeline-data {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  display: block;
  margin-bottom: 6px;
}

.sw-timeline-titulo {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--sw-tinta-1);
  margin: 0 0 6px;
}

.sw-imprensa {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: var(--sw-gap-sm);
}

.sw-imprensa-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: var(--sw-gap);
  border-radius: var(--ds-r-lg, 18px);
  background: var(--sw-superficie);
  text-decoration: none;
  color: inherit;
  transition: background var(--sw-dur-1) var(--sw-ease);
}

.sw-imprensa-card:hover { background: var(--sw-superficie-2); }

.sw-imprensa-veiculo {
  font-family: var(--sw-display-2, Georgia, serif);
  font-size: clamp(20px, 2.4vw, 27px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--sw-tinta-3);
}

.sw-imprensa-veiculo--sans {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  letter-spacing: -0.045em;
}

.sw-imprensa-manchete {
  margin: 0;
  font-size: var(--sw-fs-sm);
  line-height: 1.5;
  color: var(--sw-tinta-2);
  flex: 1;
}

.sw-imprensa-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--sw-fs-xs);
  font-weight: 700;
  color: var(--sw-acento);
}

.sw-imprensa-link {
  position: relative;
  padding-right: 26px;

  align-self: flex-start;
}

.sw-imprensa-link::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 15px;
  height: 1.5px;
  margin-top: -0.75px;
  background: currentColor;
  transition: transform var(--sw-dur-1) var(--sw-ease);
}

.sw-imprensa-link::before {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
  margin-right: -1px;
  transition: transform var(--sw-dur-1) var(--sw-ease);
}

.sw-imprensa-card:hover .sw-imprensa-link::after { transform: translateX(4px); }
.sw-imprensa-card:hover .sw-imprensa-link::before { transform: translateX(4px) translateY(-50%) rotate(45deg); }

@media (prefers-reduced-motion: reduce) {
  .sw-imprensa-card:hover .sw-imprensa-link::after { transform: none; }
  .sw-imprensa-card:hover .sw-imprensa-link::before { transform: translateY(-50%) rotate(45deg); }
}

.sw-case--avatar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "retrato nota"
    "texto   texto"
    "quem    quem";
  align-items: center;
  gap: 14px 16px;
  padding: var(--sw-gap);
  border-top: 0;
  border-radius: var(--ds-r-lg, 18px);
  background: var(--sw-superficie);
  transition: background var(--sw-dur-1) var(--sw-ease);
}

a.sw-case--avatar:hover { background: var(--sw-superficie-2); border-top-color: transparent; }

.sw-case-retrato {
  grid-area: retrato;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background: var(--sw-superficie-2);

  box-shadow: 0 0 0 1px var(--sw-linha);
}

.sw-case--avatar .sw-case-uso {
  grid-area: texto;
  font-size: var(--sw-fs-lead);
  line-height: 1.45;
  color: var(--sw-tinta-1);
  max-width: none;

  text-indent: -0.42em;
}

.sw-case--avatar .sw-case-nome {
  grid-area: quem;
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: var(--sw-fs-sm);
  font-weight: 600;
}

.sw-case-papel {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  font-weight: 500;
}

.sw-nota {
  grid-area: nota;
  justify-self: end;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.sw-nota-valor {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--sw-tinta-1);
  font-variant-numeric: tabular-nums;
}

.sw-case--avatar {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.sw-case--avatar::before {
  content: "";
  position: absolute;
  right: -18%;
  top: -60%;
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,
    color-mix(in srgb, var(--sw-acento) 26%, transparent),
    transparent 68%);
  opacity: 0;
  transition: opacity var(--sw-dur-2) var(--sw-ease);
  pointer-events: none;
  z-index: -1;
}

.sw-case--avatar:hover::before,
.sw-case--avatar:focus-within::before { opacity: 1; }

.sw-case--avatar:hover .sw-nota-valor,
.sw-case--avatar:focus-within .sw-nota-valor {
  text-shadow:
    0 0 18px color-mix(in srgb, var(--sw-acento) 45%, transparent),
    0 0 46px color-mix(in srgb, var(--sw-acento) 20%, transparent);
}

.sw-case--avatar .sw-nota-valor,
.sw-case--avatar .sw-case-retrato { transition: text-shadow var(--sw-dur-2) var(--sw-ease), box-shadow var(--sw-dur-2) var(--sw-ease); }

.sw-case--avatar:hover .sw-case-retrato,
.sw-case--avatar:focus-within .sw-case-retrato {
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--sw-acento) 70%, transparent),
    0 0 22px color-mix(in srgb, var(--sw-acento) 30%, transparent);
}

.sw-case--avatar:hover .sw-nota-escala::after,
.sw-case--avatar:focus-within .sw-nota-escala::after {
  text-shadow: 0 0 12px color-mix(in srgb, var(--sw-acento) 55%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .sw-case--avatar::before { transition: none; }
}

.sw-nota-valor small {
  font-size: 0.5em;
  font-weight: 600;
  color: var(--sw-tinta-3);
  letter-spacing: 0;
}

.sw-nota-escala {
  position: relative;
  display: inline-block;
  font-size: 12px;
  letter-spacing: 2px;
  line-height: 1;
  color: var(--sw-tinta-4);

  speak: never;
}

.sw-nota-escala::before {
  content: "★★★★★";
}

.sw-nota-escala::after {
  content: "★★★★★";
  position: absolute;
  left: 0;
  top: 0;
  width: calc(var(--sw-nota, 100) * 1%);
  overflow: hidden;
  color: var(--sw-acento);
  white-space: nowrap;
}

@media (max-width: 520px) {
  .sw-case--avatar {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "retrato quem"
      "nota    nota"
      "texto   texto";
  }
  .sw-nota { justify-self: start; }
}

.sw-timeline--fita {
  --sw-fita-w: 56px;
  --sw-quadro-h: 36px;
  padding-left: calc(var(--sw-fita-w) + 26px);
}

.sw-timeline--fita::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--sw-fita-w);
  border-radius: 4px;

  background: color-mix(in srgb, var(--sw-veu-1) 55%, transparent);
  box-shadow: inset 0 0 0 1px var(--sw-linha-fraca);

  mask-image: linear-gradient(to bottom, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 6%, #000 94%, transparent);
}

.sw-timeline--fita::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--sw-fita-w);
  pointer-events: none;
  background-image:
    repeating-linear-gradient(to bottom, var(--sw-fundo) 0 7px, transparent 7px 20px),
    repeating-linear-gradient(to bottom, var(--sw-fundo) 0 7px, transparent 7px 20px);
  background-size: 5px 100%, 5px 100%;
  background-position: 3px 4px, calc(100% - 3px) 4px;
  background-repeat: no-repeat, no-repeat;
  border-radius: 4px;
  opacity: 0.6;
  mask-image: linear-gradient(to bottom, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 6%, #000 94%, transparent);
}

.sw-timeline--fita .sw-timeline-item { padding-left: 0; }

.sw-timeline--fita .sw-timeline-item::before { display: none; }

.sw-timeline-quadro {
  position: absolute;
  left: calc((var(--sw-fita-w) + 26px) * -1 + (var(--sw-fita-w) - var(--sw-quadro-h)) / 2);
  top: 0;
  width: var(--sw-quadro-h);
  height: var(--sw-quadro-h);
  border-radius: 2px;
  overflow: hidden;
  background: var(--sw-superficie-2);
  z-index: 1;
}

.sw-timeline-quadro img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  filter: grayscale(1) contrast(1.1);
  opacity: 0.55;
  transition: filter var(--sw-dur-2) var(--sw-ease), opacity var(--sw-dur-2) var(--sw-ease);
}

.sw-timeline-item.is-marco .sw-timeline-quadro img { filter: none; opacity: 1; }

.sw-timeline-item:hover .sw-timeline-quadro img { filter: none; opacity: 1; }

.sw-timeline-ano {
  position: absolute;
  right: 10px;
  top: -0.18em;
  font-family: var(--sw-display-2, var(--ds-display));
  font-stretch: var(--sw-display-2-larg, 100%);
  font-size: clamp(46px, 7vw, 96px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.05em;
  color: transparent;
  -webkit-text-stroke: 1px var(--sw-tinta-4);
  pointer-events: none;
  z-index: -1;
  font-variant-numeric: tabular-nums;
}

.sw-timeline-item.is-marco .sw-timeline-ano { -webkit-text-stroke-color: color-mix(in srgb, var(--sw-acento) 55%, transparent); }

.sw-timeline--fita .sw-timeline-item { position: relative; isolation: isolate; }

@media (max-width: 560px) {
  .sw-timeline-ano { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-timeline-quadro img { transition: none; }
}

.sw-logos.sw-marquee:hover .sw-marquee-trilho { animation-play-state: running; }

.sw-logos-item--svg svg {
  height: 100%;
  width: auto;
  display: block;
  fill: currentColor;
  color: var(--sw-tinta-2);
}

.sw-logos-item--svg {
  color: var(--sw-tinta-2);
  opacity: 1;
  filter: none;
  transition: color var(--sw-dur-1) var(--sw-ease);
}

.sw-logos-item--svg:hover { color: var(--sw-tinta-1); }

.sw-logos-item--png img {
  filter: grayscale(1) brightness(0) invert(1);
  opacity: 0.55;
  transition: opacity var(--sw-dur-1) var(--sw-ease);
}

.sw-logos-item--png { opacity: 1; filter: none; }
.sw-logos-item--png:hover img { opacity: 0.92; }

[data-registro="editorial"] .sw-logos-item--png img { filter: grayscale(1) brightness(0); }

.sw-logos-item { height: calc(28px * var(--sw-logo-esc, 1)); }

@media (hover: none) {

  .sw-logos-item { opacity: 0.85; }

  .sw-timeline-quadro img { opacity: 0.82; filter: grayscale(0.4); }
}

/* ========================================================================
   css/shark-web.calendario.css
   ======================================================================== */
.sw-calendario {
  --sw-cal-pos: var(--ds-green, #00ff5f);
  --sw-cal-neg: var(--sw-erro, #fd0000);
  --sw-cal-marca: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
  --sw-cal-vazio: var(--sw-linha, rgba(254, 254, 254, 0.12));

  --sw-cal-vazio-borda: #656565;

  --sw-cal-pos-tinta: #0f9c49;

  --sw-cal-marca-tam: 7px;
  --sw-cal-marca-gap: 3px;

  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 28px var(--sw-gap-lg, 40px);
  align-items: start;
  color: var(--sw-tinta-1, #fefefe);

  padding: clamp(20px, 2.6vw, 32px);
  border-radius: 20px;
  box-shadow: inset 0 0 0 1px var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
}

[data-registro="editorial"] .sw-calendario,
.sw-calendario[data-registro="editorial"] {
  --sw-cal-pos: #0a6b34;
  --sw-cal-pos-tinta: #0a6b34;
  --sw-cal-neg: #a5140f;
  --sw-cal-marca: rgba(20, 22, 26, 0.68);
  --sw-cal-vazio: rgba(20, 22, 26, 0.16);
  --sw-cal-vazio-borda: #b8b5ae;
}

@media (max-width: 900px) {

  .sw-calendario { grid-template-columns: minmax(0, 1fr); gap: var(--sw-gap, 24px); }
}

.sw-cal-lado {
  display: grid;
  gap: 14px;
  align-content: start;
  min-width: 0;
}

.sw-cal-abas {
  grid-column: 1 / -1;

  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 8px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
}

.sw-cal-aba {
  display: grid;
  gap: 2px;
  padding: 8px 14px;
  min-height: 44px;
  align-content: center;
  border: 0;
  border-radius: 10px;
  background: rgba(254, 254, 254, 0.02);
  box-shadow: inset 0 0 0 1px var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
  color: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
  text-align: left;
  cursor: pointer;
  transition: background var(--sw-dur-1, 160ms) var(--sw-ease, ease),
              color var(--sw-dur-1, 160ms) var(--sw-ease, ease),
              box-shadow var(--sw-dur-1, 160ms) var(--sw-ease, ease);
}

[data-registro="editorial"] .sw-cal-aba { background: rgba(20, 22, 26, 0.02); }

.sw-cal-aba:hover { color: var(--sw-tinta-1, #fefefe); }

.sw-cal-aba:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--sw-acento, #007aff);
}

.sw-cal-aba.is-ativa {
  background: var(--sw-superficie, rgba(254, 254, 254, 0.05));
  box-shadow: inset 0 0 0 1px var(--sw-linha, rgba(254, 254, 254, 0.12));
  color: var(--sw-tinta-1, #fefefe);
}

.sw-cal-aba.is-ativa[data-cor] { box-shadow: none; }

.sw-cal-aba.is-ativa[data-cor="azul"]   { background: var(--ds-blue, #007aff); }
.sw-cal-aba.is-ativa[data-cor="verde"]  { background: var(--ds-green, #00ff5f); }
.sw-cal-aba.is-ativa[data-cor="branco"] { background: var(--sw-tinta-1, #fefefe); }

.sw-cal-aba.is-ativa[data-cor],
.sw-cal-aba.is-ativa[data-cor] .sw-cal-aba-nota { color: #0b0c0d; }

.sw-cal-aba-nome {
  font-family: var(--ds-display, system-ui);
  font-size: var(--sw-fs-sm, 13.5px);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.sw-cal-aba-nota {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro, 10.5px);
  letter-spacing: 0.06em;
  color: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
}

.sw-cal-mes-total {
  display: grid;
  gap: 2px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
}

.sw-cal-mes-total-valor {
  font-family: var(--ds-display, system-ui);
  font-size: clamp(28px, 2.9vw, 40px);
  font-weight: var(--sw-peso-display, 700);
  letter-spacing: -0.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--sw-tinta-1, #fefefe);
}

.sw-cal-mes-total-valor.is-pos { color: var(--sw-cal-pos); }
.sw-cal-mes-total-valor.is-neg { color: var(--sw-cal-neg); }

.sw-cal-resumo {

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
}

.sw-cal-numero { display: grid; gap: 3px; }

.sw-cal-numero-valor {
  font-family: var(--ds-display, system-ui);
  font-size: clamp(20px, 1.9vw, 27px);
  font-weight: var(--sw-peso-display, 700);
  letter-spacing: -0.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.sw-cal-numero--destaque .sw-cal-numero-valor { color: var(--sw-cal-pos); }

.sw-cal-numero-label {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro, 10.5px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
}

.sw-cal-regua {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.sw-cal-mes {
  display: grid;
  grid-template-columns: 3.4em minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 3px 9px;
  border: 0;
  background: rgba(254, 254, 254, 0.02);
  box-shadow: inset 0 0 0 1px var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
  text-align: left;
  color: inherit;
  cursor: pointer;
  border-radius: 9px;
  min-height: 26px;
  transition: background var(--sw-dur-1, 160ms) var(--sw-ease, ease),
              box-shadow var(--sw-dur-1, 160ms) var(--sw-ease, ease);
}

@media (pointer: coarse), (max-width: 900px) {
  .sw-cal-mes { min-height: 44px; align-content: center; }
}

[data-registro="editorial"] .sw-cal-mes { background: rgba(20, 22, 26, 0.02); }

.sw-cal-mes:hover,
.sw-cal-mes:focus-visible {
  background: rgba(254, 254, 254, 0.05);
  outline: none;
}

[data-registro="editorial"] .sw-cal-mes:hover,
[data-registro="editorial"] .sw-cal-mes:focus-visible { background: rgba(20, 22, 26, 0.05); }

.sw-cal-mes.is-aberto {
  background: var(--sw-superficie, rgba(254, 254, 254, 0.04));
  box-shadow: inset 0 0 0 1px var(--sw-linha, rgba(254, 254, 254, 0.12));
}

.sw-cal-mes:focus-visible { box-shadow: inset 0 0 0 2px var(--sw-acento, #007aff); }

.sw-cal-mes-nome {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro, 10.5px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
  white-space: nowrap;
  padding-right: 4px;
}

.sw-cal-mes.is-corrente .sw-cal-mes-nome { color: var(--sw-tinta-2, rgba(254, 254, 254, 0.82)); }
.sw-cal-mes.is-aberto  .sw-cal-mes-nome { color: var(--sw-acento, #007aff); }

.sw-cal-dias {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sw-cal-marca-gap);
  min-width: 0;
}

.sw-cal-dia {
  width: var(--sw-cal-marca-tam);
  height: var(--sw-cal-marca-tam);
  border-radius: 50%;
  border: 0;
  padding: 0;
  flex: none;
  background: var(--sw-cal-marca);
  transition: background var(--sw-dur-1, 160ms) var(--sw-ease, ease),
              box-shadow var(--sw-dur-1, 160ms) var(--sw-ease, ease),
              transform var(--sw-dur-1, 160ms) var(--sw-ease, ease);
}

.sw-cal-dia.is-neg {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px var(--sw-cal-marca);
}

.sw-cal-dia.is-sem-info {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--sw-cal-vazio-borda, #656565);
}

.sw-cal-dia.is-futuro {
  background: transparent;
  box-shadow: none;
}

.sw-cal-mes.is-corrente .sw-cal-dia.is-pos,
.sw-cal-mes.is-aberto   .sw-cal-dia.is-pos { background: var(--sw-cal-pos); }

.sw-cal-mes.is-corrente .sw-cal-dia.is-neg,
.sw-cal-mes.is-aberto   .sw-cal-dia.is-neg { box-shadow: inset 0 0 0 1.5px var(--sw-cal-neg); }

.sw-cal-dia:hover { transform: scale(1.45); }

@keyframes sw-cal-entra {
  from { transform: scale(0.5); opacity: 0.35; }
  to   { transform: scale(1);   opacity: 1; }
}

html.sw-carga-js .sw-cal-mes.is-vista .sw-cal-dia {
  animation: sw-cal-entra var(--sw-dur-2, 320ms) var(--sw-ease, ease) both;
  animation-delay: calc(var(--d, 0) * 11ms + var(--m, 0) * 70ms);
}

.sw-cal-grade-caixa {
  display: grid;
  gap: var(--sw-gap-sm, 16px);
  min-width: 0;
  padding: clamp(14px, 1.8vw, 22px);
  border-radius: 16px;
  box-shadow: inset 0 0 0 1px var(--sw-linha, rgba(254, 254, 254, 0.12));
}

.sw-cal-grade-topo {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sw-gap-sm, 16px);
  flex-wrap: wrap;
}

.sw-cal-grade-mes {
  font-family: var(--ds-display, system-ui);
  font-size: var(--sw-fs-lead, 17px);
  font-weight: 600;
  margin: 0;
}

.sw-cal-grade-total {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs, 12px);
  color: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
  font-variant-numeric: tabular-nums;
}

.sw-cal-grade {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));

  column-gap: max(8px, 1.9%);
  row-gap: 9px;
}

.sw-cal-grade:not(.sw-cal-grade--fds) .sw-cal-semana:nth-child(6),
.sw-cal-grade:not(.sw-cal-grade--fds) .sw-cal-semana:nth-child(7),
.sw-cal-grade:not(.sw-cal-grade--fds) .sw-cal-celula.is-fds { display: none; }

.sw-cal-grade--fds { grid-template-columns: repeat(7, minmax(0, 1fr)); }

.sw-cal-semana {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro, 10.5px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
  text-align: center;
  padding-bottom: 2px;
}

.sw-cal-celula {
  position: relative;
  display: grid;
  align-content: space-between;
  gap: 4px;

  justify-self: stretch;
  align-self: stretch;

  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;

  aspect-ratio: 1.5;
  min-height: 58px;
  padding: 8px 10px;
  border: 0;
  border-radius: 12px;
  background: rgba(254, 254, 254, 0.02);
  box-shadow: inset 0 0 0 1px var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
  color: inherit;
  font-family: var(--ds-mono, ui-monospace, monospace);
  text-align: left;
  cursor: pointer;
  transition: box-shadow var(--sw-dur-1, 160ms) var(--sw-ease, ease),
              background var(--sw-dur-1, 160ms) var(--sw-ease, ease);
}

[data-registro="editorial"] .sw-cal-celula { background: rgba(20, 22, 26, 0.02); }

.sw-cal-celula:not([data-abre]) { cursor: default; }

.sw-cal-celula:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--sw-acento, #007aff),
              0 0 0 2px var(--sw-acento-glow, rgba(0, 122, 255, 0.35));
}

.sw-cal-celula-num {
  font-size: var(--sw-fs-micro, 10.5px);
  color: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
  font-variant-numeric: tabular-nums;
}

.sw-cal-celula-placar {
  font-size: clamp(11px, 1.05vw, 14px);
  font-weight: 600;
  line-height: 1.1;
  color: var(--sw-tinta-2, rgba(254, 254, 254, 0.82));
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sw-cal-celula.is-pos { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--sw-cal-pos) 52%, transparent); }
.sw-cal-celula.is-neg { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--sw-cal-neg) 52%, transparent); }
.sw-cal-celula.is-neutro { box-shadow: inset 0 0 0 1.5px var(--sw-cal-vazio-borda, #656565); }

.sw-cal-celula.is-sem-info {
  cursor: default;
  background: rgba(254, 254, 254, 0.02);
  box-shadow: inset 0 0 0 1.5px var(--sw-cal-vazio-borda, #656565);
}

[data-registro="editorial"] .sw-cal-celula.is-sem-info { background: rgba(20, 22, 26, 0.02); }

.sw-cal-celula.is-futuro {
  cursor: default;
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
  opacity: 0.5;
}

.sw-cal-celula.is-fora {
  cursor: default;
  background: transparent;
  box-shadow: none;
  opacity: 0.2;
}

.sw-cal-celula.is-expandida {

  grid-row: span 2;
  grid-column: span 2;
  align-content: start;
  gap: 8px;
  aspect-ratio: auto;
  z-index: 1;
  background: var(--sw-superficie-2, rgba(254, 254, 254, 0.06));
  scroll-margin-top: 96px;
}

.sw-cal-celula.is-expandida.is-fim { grid-column: span 2 / -1; }

.sw-cal-celula-detalhe {
  display: none;
  gap: 3px;
  padding-top: 6px;
  margin-top: 2px;
  border-top: 1px solid var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
  font-size: var(--sw-fs-micro, 10.5px);
  color: var(--sw-tinta-2, rgba(254, 254, 254, 0.82));
}

.sw-cal-celula.is-expandida .sw-cal-celula-detalhe { display: grid; }

.sw-cal-linha {
  display: flex;
  justify-content: space-between;
  gap: 8px 14px;
  font-variant-numeric: tabular-nums;
}

.sw-cal-linha b { font-weight: 600; white-space: nowrap; }

.sw-cal-linha .sw-cal-vlr--curto { display: none; }
.sw-cal-linha.is-pos b { color: var(--sw-cal-pos-tinta, var(--sw-cal-pos)); }
.sw-cal-linha.is-neg b { color: var(--sw-cal-neg); }

.sw-cal-tip {
  position: absolute;
  z-index: 20;
  min-width: 152px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--sw-superficie-2, rgba(18, 19, 21, 0.98));
  box-shadow: inset 0 0 0 1px var(--sw-linha, rgba(254, 254, 254, 0.12)),
              0 12px 30px -12px rgba(0, 0, 0, 0.9);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro, 10.5px);
  line-height: 1.5;
  color: var(--sw-tinta-2, rgba(254, 254, 254, 0.82));
  pointer-events: none;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity var(--sw-dur-1, 160ms) var(--sw-ease, ease),
              transform var(--sw-dur-1, 160ms) var(--sw-ease, ease);
}

.sw-cal-tip:not(.is-visivel) { visibility: hidden; }

.sw-cal-tip.is-visivel { opacity: 1; transform: translateY(0); }

[data-registro="editorial"] .sw-cal-tip {
  background: #fbfaf8;
  box-shadow: inset 0 0 0 1px rgba(20, 22, 26, 0.16), 0 12px 30px -14px rgba(20, 22, 26, 0.35);
  color: rgba(20, 22, 26, 0.86);
}

.sw-cal-tip .sw-cal-linha.is-pos b { color: var(--sw-cal-pos-tinta, var(--sw-cal-pos)); }

.sw-cal-tip-data {
  color: var(--sw-tinta-1, #fefefe);
  font-weight: 600;
  display: block;
  margin-bottom: 5px;
}

[data-registro="editorial"] .sw-cal-tip-data { color: #14161a; }

.sw-cal-pe {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  padding-top: var(--sw-gap-sm, 16px);
  border-top: 1px solid var(--sw-linha-fraca, rgba(254, 254, 254, 0.06));
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro, 10.5px);
  letter-spacing: 0.06em;
  color: var(--sw-tinta-3, rgba(254, 254, 254, 0.62));
}

.sw-calendario.is-carregando .sw-cal-regua { opacity: 0.35; }

.sw-cal-erro {
  grid-column: 1 / -1;
  padding: 14px 16px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--sw-cal-neg) 8%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-cal-neg) 30%, transparent);
  font-size: var(--sw-fs-sm, 13.5px);
  color: var(--sw-tinta-2, rgba(254, 254, 254, 0.82));
}

@media (pointer: coarse) {
  .sw-cal-dia { pointer-events: none; }
  .sw-cal-mes { min-height: 44px; }
  .sw-calendario { --sw-cal-marca-tam: 8px; --sw-cal-marca-gap: 4px; }
  .sw-cal-tip { display: none; }
}

@media (max-width: 560px) {

  .sw-cal-abas { grid-template-columns: 1fr; gap: 6px; }

  .sw-cal-aba {
    grid-template-columns: auto 1fr;
    align-items: baseline;
    gap: 8px;
    padding: 10px 14px;
  }

  .sw-cal-aba-nota { text-align: right; }

  .sw-cal-grade--fds { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .sw-cal-grade--fds .sw-cal-semana:nth-child(6),
  .sw-cal-grade--fds .sw-cal-semana:nth-child(7),
  .sw-cal-grade--fds .sw-cal-celula.is-fds { display: none; }

  .sw-calendario { padding: 12px; }
  .sw-cal-grade-caixa { padding: 8px; }
  .sw-cal-grade { column-gap: 5px; row-gap: 5px; }
  .sw-cal-celula { min-height: 52px; padding: 6px; border-radius: 10px; }
  .sw-cal-celula-placar { font-size: 11px; }

  .sw-cal-cifra { display: none; }
  .sw-cal-mes { grid-template-columns: 2.8em minmax(0, 1fr); padding: 7px 8px; }

  .sw-cal-linha .sw-cal-vlr--longo { display: none; }
  .sw-cal-linha .sw-cal-vlr--curto { display: inline; }

  .sw-cal-linha { flex-direction: column; align-items: flex-start; gap: 0; }
  .sw-cal-celula.is-expandida { grid-row: span 3; }
}

@media (prefers-reduced-motion: reduce) {
  html.sw-carga-js .sw-cal-mes.is-vista .sw-cal-dia { animation: none; }
  .sw-cal-dia,
  .sw-cal-celula,
  .sw-cal-tip { transition: none; }
}

@media (forced-colors: active) {
  .sw-cal-celula { border: 1px solid CanvasText; }
  .sw-cal-celula.is-pos { border-width: 2px; }
  .sw-cal-dia { border: 1px solid CanvasText; background: CanvasText; }
  .sw-cal-dia.is-neg,
  .sw-cal-dia.is-sem-info { background: Canvas; }
  .sw-cal-tip { border: 1px solid CanvasText; }
}

/* ========================================================================
   css/shark-web.cards.css
   ======================================================================== */
.sw-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--sw-gap-sm);
  padding: var(--sw-gap);
  border-radius: var(--ds-r-lg, 18px);
  background: var(--sw-superficie);
  box-shadow: var(--ds-e2, 0 8px 24px -12px rgba(0, 0, 0, 0.8));
  transition: background var(--sw-dur-2) var(--sw-ease),
              transform var(--sw-dur-2) var(--sw-ease),
              box-shadow var(--sw-dur-2) var(--sw-ease);
}

.sw-secao--alt .sw-card { background: var(--sw-superficie-2); }

.sw-card--uso     { min-height: 190px; justify-content: space-between; }
.sw-card--recurso { gap: 12px; }

.sw-card--vidro {
  background: var(--sw-vidro);
  backdrop-filter: blur(var(--ds-blur-md, 12px));
  -webkit-backdrop-filter: blur(var(--ds-blur-md, 12px));
  box-shadow: inset 0 1px 0 var(--sw-veu-1),
              var(--ds-e2, 0 8px 24px -12px rgba(0, 0, 0, 0.8));
}

.sw-card--contorno {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--sw-linha);
}

.sw-card--aceso {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-acento) 34%, transparent),
              var(--ds-e3, 0 24px 70px -30px rgba(0, 0, 0, 0.9)),
              0 50px 140px -70px var(--sw-acento-glow);
}

a.sw-card,
.sw-card--acionavel { cursor: pointer; text-decoration: none; color: inherit; }

a.sw-card:hover,
.sw-card--acionavel:hover {
  transform: translate3d(0, -2px, 0);
  box-shadow: var(--ds-e3, 0 24px 70px -30px rgba(0, 0, 0, 0.9));
}

@media (prefers-reduced-motion: reduce) {
  a.sw-card:hover,
  .sw-card--acionavel:hover { transform: none; }
}

.sw-card-icone {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: var(--ds-r-sm, 10px);
  background: color-mix(in srgb, var(--sw-acento) 14%, transparent);
  color: var(--sw-acento);
  flex: none;
}

.sw-card-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sw-gap-sm);
}

.sw-card-pe {
  margin-top: auto;
  padding-top: var(--sw-gap-sm);
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  color: var(--sw-acento);
}

.sw-card-arte {
  margin: calc(var(--sw-gap) * -1) calc(var(--sw-gap) * -1) 0;
  border-radius: var(--ds-r-lg, 18px) var(--ds-r-lg, 18px) 0 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--sw-poco);
}

.sw-card-arte img,
.sw-card-arte video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sw-card-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: var(--ds-r-pill, 999px);
  background: var(--sw-veu-1);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
}

.sw-stack { display: flex; flex-direction: column; gap: var(--sw-gap); }

.sw-stack-item--arte {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  gap: var(--sw-gap);
  align-items: center;
  overflow: hidden;
}

.sw-stack-arte {
  position: relative;
  align-self: stretch;
  margin: calc(var(--sw-gap) * -1) calc(var(--sw-gap) * -1) calc(var(--sw-gap) * -1) 0;
  min-height: 250px;

  mask-image:
    linear-gradient(100deg,
      transparent 0%,
      rgba(0, 0, 0, 0.04) 13%,
      rgba(0, 0, 0, 0.18) 25%,
      rgba(0, 0, 0, 0.45) 37%,
      rgba(0, 0, 0, 0.74) 49%,
      rgba(0, 0, 0, 0.93) 61%,
      #000 74%),
    linear-gradient(to bottom,
      transparent 0%,
      rgba(0, 0, 0, 0.55) 8%,
      #000 20%,
      #000 80%,
      rgba(0, 0, 0, 0.55) 92%,
      transparent 100%);
  mask-composite: intersect;
  -webkit-mask-image:
    linear-gradient(100deg,
      transparent 0%,
      rgba(0, 0, 0, 0.04) 13%,
      rgba(0, 0, 0, 0.18) 25%,
      rgba(0, 0, 0, 0.45) 37%,
      rgba(0, 0, 0, 0.74) 49%,
      rgba(0, 0, 0, 0.93) 61%,
      #000 74%),
    linear-gradient(to bottom,
      transparent 0%,
      rgba(0, 0, 0, 0.55) 8%,
      #000 20%,
      #000 80%,
      rgba(0, 0, 0, 0.55) 92%,
      transparent 100%);
  -webkit-mask-composite: source-in;
}

.sw-stack-arte > img,
.sw-stack-arte > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sw-stack-arte--midia { min-height: 280px; }

@media (max-width: 860px) {
  .sw-stack-item--arte { grid-template-columns: minmax(0, 1fr); }
  .sw-stack-arte {
    margin: var(--sw-gap) calc(var(--sw-gap) * -1) calc(var(--sw-gap) * -1);
    min-height: 190px;

    mask-image:
      linear-gradient(180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.06) 12%,
        rgba(0, 0, 0, 0.26) 24%,
        rgba(0, 0, 0, 0.58) 36%,
        rgba(0, 0, 0, 0.86) 48%,
        #000 60%),
      linear-gradient(90deg,
        transparent 0%, rgba(0, 0, 0, 0.7) 6%, #000 14%,
        #000 86%, rgba(0, 0, 0, 0.7) 94%, transparent 100%);
    mask-composite: intersect;
    -webkit-mask-image:
      linear-gradient(180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.06) 12%,
        rgba(0, 0, 0, 0.26) 24%,
        rgba(0, 0, 0, 0.58) 36%,
        rgba(0, 0, 0, 0.86) 48%,
        #000 60%),
      linear-gradient(90deg,
        transparent 0%, rgba(0, 0, 0, 0.7) 6%, #000 14%,
        #000 86%, rgba(0, 0, 0, 0.7) 94%, transparent 100%);
    -webkit-mask-composite: source-in;
  }
}

.sw-stack-item {
  position: sticky;

  top: calc(var(--sw-stack-topo, 108px) + var(--sw-i, 0) * 18px);
  min-height: 320px;
}

@media (max-width: 860px) {
  .sw-stack-item { position: relative; top: auto; min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-stack-item { position: relative; top: auto; }
}

.sw-stack-num {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(48px, 6vw, 88px);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.05em;
  color: var(--sw-acento);
  font-variant-numeric: tabular-nums;
}

[data-registro="conversao"] .sw-stack-num {
  text-shadow: 0 0 18px color-mix(in srgb, var(--sw-acento) 55%, transparent),
               0 0 60px color-mix(in srgb, var(--sw-acento) 25%, transparent);
}

[data-registro="repouso"] .sw-stack-num {
  color: transparent;
  -webkit-text-stroke: 1px var(--sw-tinta-4);
}

.sw-carrossel {
  display: flex;
  gap: var(--sw-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-block: 4px;
  margin-inline: calc(var(--sw-gutter) * -1);
  padding-inline: var(--sw-gutter);
}

.sw-carrossel::-webkit-scrollbar { display: none; }

.sw-carrossel > * {
  flex: 0 0 min(340px, 78%);
  scroll-snap-align: start;
}

.sw-carrossel-zona {
  position: relative;
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

/* ========================================================================
   css/shark-web.conversao.css
   ======================================================================== */
.sw-btn {
  --sw-btn-y: 13px;
  --sw-btn-x: 26px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: var(--sw-btn-y) var(--sw-btn-x);
  border: 0;
  border-radius: var(--ds-r-pill, 999px);
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-sm);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  background: transparent;
  color: var(--sw-tinta-1);
  transition: background var(--sw-dur-1) var(--sw-ease),
              color var(--sw-dur-1) var(--sw-ease),
              box-shadow var(--sw-dur-1) var(--sw-ease),
              opacity var(--sw-dur-1) var(--sw-ease);
}

.sw-btn--primario {
  background: var(--sw-btn-fundo);
  color: var(--sw-btn-tinta);
}

.sw-btn--primario:hover {
  box-shadow: 0 12px 34px -14px var(--sw-acento-glow),
              0 0 0 1px color-mix(in srgb, var(--sw-btn-fundo) 60%, transparent);
}

.sw-btn--fantasma {
  box-shadow: inset 0 0 0 1px var(--sw-veu-3);
  color: var(--sw-tinta-1);
}

.sw-btn--fantasma:hover {
  background: var(--sw-veu-1);
  box-shadow: inset 0 0 0 1px var(--sw-veu-4);
}

.sw-btn--texto {
  padding-inline: 0;
  color: var(--sw-acento);
}

.sw-btn--texto:hover { opacity: 0.75; }

.sw-btn-roll {
  position: relative;
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
}

.sw-btn-roll > span,
.sw-btn-roll > b {
  display: block;
  transition: transform var(--sw-dur-2) var(--sw-ease);
  font-weight: inherit;
}

.sw-btn-roll > b {
  position: absolute;
  inset: 0;
  transform: translateY(105%);
}

.sw-btn:hover .sw-btn-roll > span,
.sw-btn:focus-visible .sw-btn-roll > span { transform: translateY(-105%); }

.sw-btn:hover .sw-btn-roll > b,
.sw-btn:focus-visible .sw-btn-roll > b { transform: none; }

@media (prefers-reduced-motion: reduce) {
  .sw-btn-roll > span,
  .sw-btn-roll > b { transition: none; }
  .sw-btn-roll > b { display: none; }
}

.sw-btn--chamativo {
  --sw-btn-y: 0;
  --sw-btn-x: 0;
  padding: 0;
  gap: 0;
  border-radius: var(--ds-r-md, 14px);
  overflow: hidden;
  background: var(--sw-btn-fundo);
  color: var(--sw-btn-tinta);
  box-shadow: 0 18px 46px -18px var(--sw-acento-glow);
  transition: transform var(--sw-dur-2) var(--sw-ease),
              box-shadow var(--sw-dur-2) var(--sw-ease);
}

.sw-btn--chamativo:hover {
  transform: translate3d(0, -2px, 0);
  box-shadow: 0 26px 60px -20px var(--sw-acento-glow);
}

.sw-btn-corpo {
  padding: 17px 26px;
  font-size: var(--sw-fs-body);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.sw-btn-seta {
  display: grid;
  place-items: center;
  width: 56px;
  align-self: stretch;
  box-shadow: inset 1px 0 0 color-mix(in srgb, var(--sw-btn-tinta) 22%, transparent);
  transition: background var(--sw-dur-1) var(--sw-ease);
}

.sw-btn--chamativo:hover .sw-btn-seta {
  background: color-mix(in srgb, var(--sw-btn-tinta) 12%, transparent);
}

.sw-btn-seta::before {
  content: "";
  width: 9px;
  height: 9px;
  border-top: 1.6px solid currentColor;
  border-right: 1.6px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--sw-dur-1) var(--sw-ease);
}

.sw-btn--chamativo:hover .sw-btn-seta::before { transform: rotate(45deg) translate(2px, -2px); }

@media (prefers-reduced-motion: reduce) {
  .sw-btn--chamativo:hover { transform: none; }
}

.sw-btn-flutuante {
  position: fixed;
  right: var(--sw-gutter);
  bottom: calc(var(--sw-gutter) + env(safe-area-inset-bottom, 0px));
  z-index: var(--sw-z-mobar);
  opacity: 0;
  transform: translate3d(0, 16px, 0) scale(0.96);
  pointer-events: none;
  transition: opacity var(--sw-dur-2) var(--sw-ease),
              transform var(--sw-dur-2) var(--sw-ease);
}

.sw-btn-flutuante.is-visivel {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

@media (max-width: 767px) {
  .sw-btn-flutuante { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
}

.sw-btn--lg { --sw-btn-y: 17px; --sw-btn-x: 34px; font-size: var(--sw-fs-body); }
.sw-btn--sm { --sw-btn-y: 9px;  --sw-btn-x: 18px; font-size: var(--sw-fs-xs); }
.sw-btn--bloco { display: flex; width: 100%; }

.sw-btn[disabled],
.sw-btn[aria-disabled="true"] { opacity: 0.4; pointer-events: none; }

[data-registro="conversao"] .sw-btn--primario {
  overflow: hidden;
  isolation: isolate;
}

[data-registro="conversao"] .sw-btn--primario::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, var(--sw-brilho) 50%, transparent 65%);
  transform: translateX(-120%);
  animation: sw-shine 3.2s var(--sw-ease-soft) infinite;
  pointer-events: none;
}

@keyframes sw-shine {
  0%, 62% { transform: translateX(-120%); }
  100%    { transform: translateX(120%); }
}

@media (prefers-reduced-motion: reduce) {
  [data-registro="conversao"] .sw-btn--primario::after { animation: none; display: none; }
}

.sw-cta-par {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.sw-cta-nota {
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-3);
}

.sw-cta-bloco {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sw-gap);
  text-align: center;
  padding: var(--sw-secao-y) var(--sw-gutter);
  border-radius: var(--ds-r-2xl, 32px);
  background: var(--sw-superficie);
  overflow: hidden;
  isolation: isolate;
}

.sw-cta-bloco::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -55%;
  width: 120%;
  aspect-ratio: 2 / 1;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center,
    color-mix(in srgb, var(--sw-acento) 26%, transparent),
    transparent 62%);
  z-index: -1;
  pointer-events: none;
}

.sw-faq { border-top: 1px solid var(--sw-linha); }

.sw-faq-item {
  border-bottom: 1px solid var(--sw-linha);
}

.sw-faq-item > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sw-gap);
  padding: var(--sw-gap-sm) 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--sw-tinta-1);
}

.sw-faq-item > summary::-webkit-details-marker { display: none; }

.sw-faq-item > summary::after {
  content: "";
  flex: none;
  width: 13px;
  height: 13px;
  background:
    linear-gradient(currentColor, currentColor) center / 100% 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) center / 1.5px 100% no-repeat;
  color: var(--sw-tinta-3);
  transition: transform var(--sw-dur-2) var(--sw-ease), color var(--sw-dur-2) var(--sw-ease);
}

.sw-faq-item[open] > summary::after {
  transform: rotate(45deg);
  color: var(--sw-acento);
}

.sw-faq-resposta {
  padding-bottom: var(--sw-gap);
  max-width: var(--sw-medida);
  font-size: var(--sw-fs-sm);
  line-height: var(--sw-lh-body);
  color: var(--sw-tinta-2);
}

.sw-form {
  display: flex;
  flex-direction: column;
  gap: var(--sw-gap-sm);
}

.sw-campo { display: flex; flex-direction: column; gap: 6px; }

.sw-label {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  letter-spacing: var(--sw-track-kicker);
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

.sw-input {
  width: 100%;
  padding: 13px 16px;
  border: 0;
  border-radius: var(--ds-r-md, 14px);
  background: var(--sw-poco);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  color: var(--sw-tinta-1);
  font-family: inherit;
  font-size: var(--sw-fs-sm);
  transition: box-shadow var(--sw-dur-1) var(--sw-ease);
}

.sw-input::placeholder { color: var(--sw-tinta-4); }

.sw-input:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--sw-acento),
              0 0 0 3px color-mix(in srgb, var(--sw-acento) 18%, transparent);
}

.sw-campo.is-invalido .sw-input {
  box-shadow: inset 0 0 0 1px var(--sw-erro);
}

.sw-erro {
  font-size: var(--sw-fs-xs);

  color: var(--sw-erro);
}

.sw-select {
  width: 100%;
  padding: 13px 40px 13px 16px;
  border: 0;
  border-radius: var(--ds-r-md, 14px);
  background: var(--sw-poco);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  color: var(--sw-tinta-1);
  font-family: inherit;
  font-size: var(--sw-fs-sm);
  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-size: 6px 6px, 6px 6px;
  background-position: right 20px center, right 14px center;
  background-repeat: no-repeat;
}

.sw-select:focus {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--sw-acento),
              0 0 0 3px color-mix(in srgb, var(--sw-acento) 18%, transparent);
}

.sw-textarea {
  min-height: 120px;
  resize: vertical;
  line-height: var(--sw-lh-body);
}

.sw-check {
  display: inline-flex;
  align-items: flex-start;
  gap: 11px;
  cursor: pointer;
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-2);
}

.sw-check input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.sw-check-marca {
  flex: none;
  width: 19px;
  height: 19px;
  margin-top: 1px;
  border-radius: 6px;
  background: var(--sw-poco);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  display: grid;
  place-items: center;
  transition: background var(--sw-dur-1) var(--sw-ease),
              box-shadow var(--sw-dur-1) var(--sw-ease);
}

.sw-check input:focus-visible + .sw-check-marca {
  box-shadow: inset 0 0 0 1px var(--sw-acento),
              0 0 0 3px color-mix(in srgb, var(--sw-acento) 20%, transparent);
}

.sw-check input:checked + .sw-check-marca {
  background: var(--sw-acento);
  box-shadow: none;
}

.sw-check-marca::before {
  content: "";
  width: 5px;
  height: 9px;
  border-right: 1.8px solid var(--sw-acento-tinta);
  border-bottom: 1.8px solid var(--sw-acento-tinta);
  transform: rotate(45deg) scale(0);
  transition: transform var(--sw-dur-1) var(--sw-ease);
}

.sw-check input:checked + .sw-check-marca::before { transform: rotate(45deg) scale(1); }

.sw-check--radio .sw-check-marca { border-radius: 50%; }
.sw-check--radio .sw-check-marca::before {
  width: 7px; height: 7px; border: 0; border-radius: 50%;
  background: var(--sw-acento-tinta); transform: scale(0);
}
.sw-check--radio input:checked + .sw-check-marca::before { transform: scale(1); }

.sw-form-linha {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sw-gap-sm);
}

@media (max-width: 560px) { .sw-form-linha { grid-template-columns: minmax(0, 1fr); } }

.sw-prova-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-3);
}

.sw-avatares { display: flex; }

.sw-avatares img,
.sw-avatares span {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--sw-superficie-2);
  box-shadow: 0 0 0 2px var(--sw-fundo);
  display: grid;
  place-items: center;
  font-size: 10px;
  color: var(--sw-tinta-2);
}

.sw-avatares > * + * { margin-left: -9px; }

.sw-input[data-sw-mascara] {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

.sw-campo-dica {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.08em;
  color: var(--sw-tinta-3);
  margin-left: auto;
}

.sw-label-linha { display: flex; align-items: baseline; gap: 10px; }

.sw-campo.is-preenchido .sw-campo-dica { opacity: 0; }
.sw-campo-dica { transition: opacity var(--sw-dur-1) var(--sw-ease); }

.sw-campo-ico { position: relative; display: block; }

.sw-campo-ico > .sw-ico,
.sw-campo-ico > i {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--sw-tinta-3);
  pointer-events: none;
  font-size: 14px;
  transition: color var(--sw-dur-1) var(--sw-ease);
}

.sw-campo-ico > .sw-input { padding-left: 44px; }
.sw-campo-ico:focus-within > .sw-ico,
.sw-campo-ico:focus-within > i { color: var(--sw-acento); }

.sw-campo.is-valido .sw-campo-ico::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 6px;
  height: 11px;
  border-right: 1.8px solid var(--sw-tinta-2);
  border-bottom: 1.8px solid var(--sw-tinta-2);
  transform: translateY(-62%) rotate(45deg);
}

.sw-captcha {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: var(--ds-r-md, 14px);
  background: var(--sw-poco);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  cursor: pointer;
  user-select: none;

  text-align: left;
  transition: box-shadow var(--sw-dur-1) var(--sw-ease);
}

.sw-captcha:hover { box-shadow: inset 0 0 0 1px var(--sw-veu-3); }

.sw-captcha:focus-visible {
  outline: 2px solid var(--sw-acento);
  outline-offset: 2px;
}

.sw-captcha-caixa {
  position: relative;
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--sw-superficie);
  box-shadow: inset 0 0 0 1.5px var(--sw-tinta-4);
  transition: box-shadow var(--sw-dur-1) var(--sw-ease), background var(--sw-dur-1) var(--sw-ease);
}

.sw-captcha.is-verificando .sw-captcha-caixa {
  box-shadow: inset 0 0 0 1.5px transparent;
  background: transparent;
}

.sw-captcha.is-verificando .sw-captcha-caixa::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid var(--sw-veu-3);
  border-top-color: var(--sw-acento);
}

@media (prefers-reduced-motion: no-preference) {
  .sw-captcha.is-verificando .sw-captcha-caixa::before {
    animation: sw-ico-gira 780ms linear infinite;
  }
}

.sw-captcha.is-ok .sw-captcha-caixa {
  background: var(--sw-acento);
  box-shadow: inset 0 0 0 1.5px var(--sw-acento);
}

.sw-captcha.is-ok .sw-captcha-caixa::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 4px;
  width: 6px;
  height: 12px;
  border-right: 2px solid var(--sw-acento-tinta);
  border-bottom: 2px solid var(--sw-acento-tinta);
  transform: rotate(45deg);
}

.sw-captcha-texto {
  flex: 1;
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-2);
  line-height: 1.3;
}

.sw-captcha-texto small {
  display: block;
  margin-top: 3px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
}

.sw-captcha-marca {
  flex: none;
  display: grid;
  place-items: center;
  gap: 2px;
  text-align: center;
  color: var(--sw-tinta-3);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 8.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sw-captcha-marca { color: var(--sw-tinta-2); }

.sw-captcha-marca .sw-logo-icone { height: 15px; }

.sw-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.sw-form-pe {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sw-gap-sm);
  padding-top: var(--sw-gap-sm);
  margin-top: 4px;
  box-shadow: inset 0 1px 0 var(--sw-linha);
  flex-wrap: wrap;
}

.sw-form-pe .sw-logo { opacity: 0.72; }

.sw-form-seguro {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--sw-fs-micro);
  font-family: var(--ds-mono, ui-monospace, monospace);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

.sw-form-topo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--sw-gap-sm);
}

.sw-form-topo .sw-logo { flex: none; }

.sw-form-topo p {
  margin: 0;
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-3);
  line-height: 1.4;
}

@media (pointer: coarse) {

  .sw-btn { min-height: 44px; }

  .sw-btn--sm { min-height: 44px; }

}

@media (pointer: coarse) {

  .sw-btn--texto { min-width: 44px; }
}

/* ========================================================================
   css/shark-web.planos.css
   ======================================================================== */
.sw-planos {
  display: grid;
  gap: var(--sw-gap);
  grid-template-columns: repeat(var(--sw-cols, 3), minmax(0, 1fr));
  align-items: start;
}

@media (min-width: 941px) {
  .sw-planos:has(> :last-child:nth-child(1)) { --sw-cols: 1; max-width: 460px; margin-inline: auto; }
  .sw-planos:has(> :last-child:nth-child(2)) { --sw-cols: 2; max-width: 820px; margin-inline: auto; }
  .sw-planos:has(> :last-child:nth-child(4)) { --sw-cols: 4; }
}

@media (max-width: 940px) {
  .sw-planos { --sw-cols: 1; max-width: 460px; margin-inline: auto; }
}

.sw-plano {
  position: relative;
  display: flex;
  flex-direction: column;

  align-items: stretch;
  gap: var(--sw-gap-sm);
  padding: var(--sw-gap-lg) var(--sw-gap);
  border-radius: var(--ds-r-xl, 24px);
  background: var(--sw-superficie);
  text-align: center;

  overflow: hidden;
  transition: transform var(--sw-dur-2) var(--sw-ease),
              box-shadow var(--sw-dur-2) var(--sw-ease);
}

.sw-plano:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 70px -50px rgba(0, 0, 0, 0.75);
}

.sw-plano--esq { text-align: left; }

.sw-plano--destaque {
  background: var(--sw-superficie-2);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-acento) 32%, transparent),
              0 50px 140px -70px var(--sw-acento-glow);
}

.sw-plano--destaque:hover {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-acento) 46%, transparent),
              0 50px 140px -70px var(--sw-acento-glow),
              0 30px 70px -50px rgba(0, 0, 0, 0.75);
}

.sw-plano-selo {
  align-self: center;
  padding: 5px 13px;
  border-radius: var(--ds-r-pill, 999px);
  background: var(--sw-acento);
  color: var(--sw-acento-tinta);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.sw-plano-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}

.sw-plano--esq .sw-plano-badges { justify-content: flex-start; }

.sw-plano-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  border-radius: var(--ds-r-pill, 999px);
  background: var(--sw-veu-2);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
  white-space: nowrap;
}

.sw-plano-badge--eco {
  background: var(--sw-poco);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-acento) 46%, transparent);
  color: var(--sw-acento);
}

.sw-plano-badge--quente {
  background: var(--sw-acento);
  box-shadow: none;
  color: var(--sw-acento-tinta);
}

.sw-plano-badge--quente::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  animation: sw-plano-pulso 2.2s ease-in-out infinite;
}

@keyframes sw-plano-pulso {
  0%, 100% { opacity: 1;   scale: 1; }
  50%      { opacity: 0.4; scale: 0.72; }
}

.sw-plano-nome {
  margin: 0;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  font-weight: 600;
  color: var(--sw-tinta-1);
}

.sw-plano-ancora {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-3);
}

.sw-plano--esq .sw-plano-ancora { justify-content: flex-start; }

.sw-plano-ancora s {
  text-decoration-line: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--sw-tinta-4);
  font-variant-numeric: tabular-nums;
}

.sw-plano-preco {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);

  font-size: clamp(22px, 2.1vw, 30px);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--sw-tinta-1);
  font-variant-numeric: tabular-nums;
}

.sw-plano--esq .sw-plano-preco { justify-content: flex-start; }

.sw-plano-ciclo {
  font-family: var(--ds-body, "Manrope", system-ui, sans-serif);
  font-size: var(--sw-fs-sm);
  font-weight: 500;
  color: var(--sw-tinta-3);
}

.sw-plano-divisa {
  width: calc(100% + var(--sw-gap) * 2);
  margin-inline: calc(var(--sw-gap) * -1);
  height: 1px;
  background: var(--sw-linha);
  border: 0;
}

.sw-plano-lista {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-2);
  text-align: left;
}

.sw-plano-lista li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.sw-plano-lista li::before {
  content: "";
  flex: none;
  width: 6px;
  height: 10px;
  margin-top: 5px;
  border-right: 1.5px solid var(--sw-acento);
  border-bottom: 1.5px solid var(--sw-acento);
  transform: rotate(45deg);
}

.sw-plano-lista li.is-especial { color: var(--sw-tinta-1); font-weight: 600; }

.sw-plano-lista li.is-fora {
  color: var(--sw-tinta-3);
}

.sw-plano-lista li.is-fora::before {
  width: 10px;
  height: 0;
  margin-top: 9px;
  border-right: 0;
  border-bottom: 1.5px solid var(--sw-tinta-4);
  transform: none;
}

.sw-plano-acao {
  width: 100%;
  margin-top: auto;
  padding-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
}

.sw-plano-acao .sw-btn { justify-content: center; }

.sw-plano-acao .sw-btn .sw-ico {
  transition: translate var(--sw-dur-1) var(--sw-ease);
}

.sw-plano-acao .sw-btn:hover .sw-ico,
.sw-plano-acao .sw-btn:focus-visible .sw-ico {
  translate: 3px 0;
}

.sw-plano-rodape {
  font-size: var(--sw-fs-micro);
  color: var(--sw-tinta-3);
  text-align: center;
}

.sw-plano-pagto {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}

.sw-plano-pagto .sw-bandeiras { font-size: 21px; gap: 10px; }

.sw-plano-pagto-nota {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--sw-fs-micro);
  color: var(--sw-tinta-3);
}

.sw-plano-tarja {
  width: calc(100% + var(--sw-gap) * 2);
  margin-inline: calc(var(--sw-gap) * -1);
  margin-bottom: calc(var(--sw-gap-lg) * -1);
  margin-top: 4px;
  padding: 11px var(--sw-gap);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--sw-veu-2);
  font-size: var(--sw-fs-micro);
  line-height: 1.45;
  color: var(--sw-tinta-2);
  text-align: center;
}

.sw-plano-tarja--acento {
  background: var(--sw-acento);
  color: var(--sw-acento-tinta);
  font-weight: 600;
}

.sw-plano-tarja--aviso {
  background: var(--sw-veu-4);
  box-shadow: inset 0 1px 0 var(--sw-acento);
  color: var(--sw-tinta-1);
  font-weight: 600;
}

.sw-planos--escada { align-items: stretch; }

.sw-plano-nivel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.sw-plano--esq .sw-plano-nivel { justify-content: flex-start; }

.sw-plano-nivel i {
  width: 16px;
  height: 3px;
  border-radius: 999px;
  background: var(--sw-tinta-4);
}

.sw-plano-nivel i.is-cheio { background: var(--sw-acento); }

.sw-plano-heranca {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border-radius: var(--ds-r-md, 12px);
  background: var(--sw-veu-1);
  box-shadow: inset 0 0 0 1px var(--sw-linha-fraca);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
  text-align: left;
}

.sw-plano-heranca b {
  color: var(--sw-tinta-1);
  font-weight: 700;

  margin-right: -0.06em;
}

.sw-plano-heranca::before {
  content: "";
  flex: none;
  width: 9px;
  height: 9px;
  border-left: 1.5px solid var(--sw-acento);
  border-bottom: 1.5px solid var(--sw-acento);
  border-bottom-left-radius: 3px;
  margin-bottom: 3px;
}

.sw-plano-novo {
  width: 100%;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  text-align: left;
}

.sw-planos--escada .sw-plano-lista li.is-novo::after {
  content: "";
  align-self: center;
  margin-left: auto;
  flex: none;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--sw-acento);
}

.sw-comparativo-zona {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border-radius: var(--ds-r-xl, 24px);
  background: var(--sw-superficie);
}

.sw-comparativo {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-2);
}

.sw-comparativo th,
.sw-comparativo td {
  padding: 13px 16px;
  text-align: center;
  vertical-align: middle;
  box-shadow: inset 0 -1px 0 var(--sw-linha-fraca);
}

.sw-comparativo th[scope="row"] {
  position: sticky;
  left: 0;
  z-index: 1;
  text-align: left;
  font-weight: 500;
  color: var(--sw-tinta-1);
  background: var(--sw-superficie);
  min-width: 220px;
}

.sw-comparativo thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--sw-superficie);
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-body);
  font-weight: 600;
  color: var(--sw-tinta-1);
  box-shadow: inset 0 -1px 0 var(--sw-linha);
}

.sw-comparativo thead th:first-child { z-index: 3; left: 0; }

.sw-comparativo thead th small {
  display: block;
  margin-top: 3px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
}

.sw-comparativo .is-destaque { background: var(--sw-veu-1); }
.sw-comparativo thead th.is-destaque {
  background: color-mix(in srgb, var(--sw-acento) 14%, var(--sw-superficie));
  color: var(--sw-tinta-1);
}

.sw-comparativo tbody th[colspan],
.sw-comparativo tbody td.sw-comparativo-grupo {
  text-align: left;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  background: var(--sw-veu-1);
  padding-block: 9px;
}

.sw-comparativo .sw-cmp-sim,
.sw-comparativo .sw-cmp-nao {
  display: inline-block;
  vertical-align: middle;
}

.sw-comparativo .sw-cmp-sim {
  width: 7px;
  height: 12px;
  border-right: 2px solid var(--sw-acento);
  border-bottom: 2px solid var(--sw-acento);
  transform: rotate(45deg) translate(-1px, -1px);
}

.sw-comparativo .sw-cmp-nao {
  width: 12px;
  height: 0;
  border-bottom: 2px solid var(--sw-tinta-4);
}

.sw-comparativo td b {
  color: var(--sw-tinta-1);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.sw-comparativo tfoot td { box-shadow: none; padding-top: 18px; }

@media (max-width: 700px) {
  .sw-comparativo th,
  .sw-comparativo td { padding: 11px 12px; }

  .sw-comparativo { min-width: 430px; }

  .sw-comparativo th[scope="row"] {
    min-width: 118px;
    width: 118px;
    max-width: 118px;
    font-size: var(--sw-fs-micro);
    line-height: 1.35;
  }

  .sw-comparativo thead th { font-size: var(--sw-fs-sm); }
  .sw-comparativo thead th small { font-size: 8.5px; letter-spacing: 0.04em; }
  .sw-comparativo td { font-size: var(--sw-fs-micro); }
}

@media (prefers-reduced-motion: reduce) {
  .sw-plano,
  .sw-plano-acao .sw-btn .sw-ico { transition: none; }
  .sw-plano:hover { transform: none; }
  .sw-plano-badge--quente::before { animation: none; }
}

/* ========================================================================
   css/shark-web.espia.css
   ======================================================================== */
.sw-espia-caixa {
  --sw-espia-n: 3.4;
  --sw-espia-gap: var(--sw-gap-sm);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sw-espia-cabeca {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sw-gap-sm);
  flex-wrap: wrap;
}

.sw-espia-titulo {
  margin: 0;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--sw-tinta-1);
}

.sw-espia-controles {
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (pointer: coarse), (max-width: 900px) {
  .sw-espia-seta { min-width: 44px; min-height: 44px; }
}

.sw-espia-seta {
  width: 40px;
  height: 40px;
  flex: none;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--sw-veu-2);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  color: var(--sw-tinta-1);
  font-size: 13px;
  cursor: pointer;
  transition: background var(--sw-dur-1) var(--sw-ease),
              box-shadow var(--sw-dur-1) var(--sw-ease),
              opacity var(--sw-dur-1) var(--sw-ease);
}

.sw-espia-seta:hover:not(:disabled) {
  background: var(--sw-veu-3);
  box-shadow: inset 0 0 0 1px var(--sw-tinta-4);
}

.sw-espia-seta:disabled {
  opacity: 0.3;
  cursor: default;
}

.sw-espia-conta {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  color: var(--sw-tinta-3);
  font-variant-numeric: tabular-nums;
  margin-right: 4px;
}

.sw-espia-zona {
  position: relative;
  mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}

.sw-espia-zona.is-inicio {
  mask-image: linear-gradient(90deg, #000 0, #000 96%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 96%, transparent 100%);
}

.sw-espia-zona.is-fim {
  mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 100%);
}

.sw-espia-zona.is-inicio.is-fim {
  mask-image: none;
  -webkit-mask-image: none;
}

.sw-espia {
  display: flex;
  gap: var(--sw-espia-gap, var(--sw-gap-sm));
  overflow-x: auto;
  overflow-y: hidden;

  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;

  padding-block: 4px;
}

.sw-espia::-webkit-scrollbar { display: none; }

.sw-espia > * {
  flex: 0 0 calc(
    (100% - (var(--sw-espia-n, 3.4) - 1) * var(--sw-espia-gap, var(--sw-gap-sm)))
    / var(--sw-espia-n, 3.4)
  );
  scroll-snap-align: start;
}

.sw-espia.is-arrastando {
  scroll-snap-type: none;
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}

.sw-espia.is-rolavel { cursor: grab; }

.sw-espia-trilho {
  position: relative;
  height: 3px;
  border-radius: 999px;
  background: var(--sw-veu-2);
  overflow: hidden;
}

.sw-espia-barra {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 30%;
  border-radius: inherit;
  background: var(--sw-acento);

  transition: translate 120ms linear, width var(--sw-dur-1) var(--sw-ease);
}

[data-registro="repouso"] .sw-espia-barra,
[data-registro="editorial"] .sw-espia-barra {
  background: var(--sw-tinta-2);
}

.sw-espia-caixa--2  { --sw-espia-n: 2.3; }
.sw-espia-caixa--4  { --sw-espia-n: 4.4; }
.sw-espia-caixa--5  { --sw-espia-n: 5.4; }

.sw-espia-caixa--cheia { --sw-espia-n: 1.18; }

@media (max-width: 1100px) {
  .sw-espia-caixa    { --sw-espia-n: 2.4; }
  .sw-espia-caixa--4,
  .sw-espia-caixa--5 { --sw-espia-n: 3.3; }
}

@media (max-width: 700px) {
  .sw-espia-caixa,
  .sw-espia-caixa--2,
  .sw-espia-caixa--4,
  .sw-espia-caixa--5 { --sw-espia-n: 1.35; }
  .sw-espia-caixa--cheia { --sw-espia-n: 1.08; }
  .sw-espia-seta { width: 36px; height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-espia { scroll-behavior: auto; }
  .sw-espia-barra { transition: none; }
}

@media (pointer: coarse) {

  .sw-espia-seta { width: 44px; height: 44px; }
}

/* ========================================================================
   css/shark-web.palco.css
   ======================================================================== */
.sw-palco {
  position: relative;
  display: grid;
  min-height: min(94vh, 940px);
  overflow: hidden;
  isolation: isolate;
  background: var(--sw-fundo);
}

.sw-palco--meia   { min-height: min(62vh, 620px); }
.sw-palco--faixa  { min-height: 0; aspect-ratio: 21 / 9; }
.sw-palco--quadro { min-height: 0; aspect-ratio: 4 / 3; border-radius: var(--ds-r-2xl, 32px); }

.sw-palco--sangra {
  margin-inline: calc(var(--sw-gutter) * -1);
}

.sw-palco-midia {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  isolation: isolate;
}

.sw-palco-midia > img,
.sw-palco-midia > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sw-trata { position: relative; width: 100%; height: 100%; isolation: isolate; }

.sw-trata > img,
.sw-trata > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(1) contrast(1.18) brightness(0.82);
}

.sw-trata--duotone::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  mix-blend-mode: color;
  background: linear-gradient(150deg,
    var(--ds-blue, #007aff) 0%,
    var(--sw-acento) 100%);
}

.sw-trata--trama::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  mix-blend-mode: overlay;
  opacity: 0.55;
  background-image: radial-gradient(var(--sw-mesh-dot) 0.8px, transparent 0.8px);
  background-size: var(--sw-mesh-size) var(--sw-mesh-size);
}

.sw-trata--grao::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0.014;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(../css/%23n)'/%3E%3C/svg%3E");
}

.sw-trata--fundo > img,
.sw-trata--fundo > video { filter: grayscale(1) contrast(1.1) brightness(0.46); }

.sw-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.sw-scrim--base {
  background: linear-gradient(180deg, transparent 34%, rgba(0, 0, 0, 0.82) 100%);
}

.sw-scrim--esq {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.86) 0%, transparent 62%);
}

.sw-scrim--canto {
  background: radial-gradient(120% 90% at 0% 100%, rgba(0, 0, 0, 0.9), transparent 62%);
}

.sw-scrim--topo {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.7), transparent 28%);
}

.sw-palco-conteudo {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  padding: clamp(24px, 4vw, 64px) var(--sw-gutter);
  gap: var(--sw-gap);

  justify-items: start;
}

.sw-palco-conteudo--tl { place-self: start   start; }
.sw-palco-conteudo--tc { place-self: start   center; text-align: center; justify-items: center; }
.sw-palco-conteudo--tr { place-self: start   end;    text-align: right; justify-items: end; }
.sw-palco-conteudo--cl { place-self: center  start; }
.sw-palco-conteudo--cc { place-self: center  center; text-align: center; justify-items: center; }
.sw-palco-conteudo--cr { place-self: center  end;    text-align: right; justify-items: end; }
.sw-palco-conteudo--bl { place-self: end     start; }
.sw-palco-conteudo--bc { place-self: end     center; text-align: center; justify-items: center; }
.sw-palco-conteudo--br { place-self: end     end;    text-align: right; justify-items: end; }

.sw-d0 {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(52px, 9.5vw, 168px);
  font-weight: var(--sw-peso-display, 700);
  line-height: var(--sw-lh-d1);
  letter-spacing: var(--sw-track-d1);
  color: var(--sw-tinta-1);
  margin: 0;
  text-wrap: balance;
}

.sw-wordmark {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-sm);
  font-weight: 400;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--sw-tinta-1);
  text-decoration: none;
  white-space: nowrap;
}

.sw-spec {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  gap: var(--sw-gap);
  flex-wrap: wrap;
  padding: 12px var(--sw-gutter);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

.sw-spec-item { display: inline-flex; gap: 8px; }
.sw-spec-item b { color: var(--sw-tinta-2); font-weight: 500; }

.sw-nav--minima {
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  height: 64px;
}

.sw-menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 4px;
  border: 0;
  background: transparent;
  color: var(--sw-tinta-1);
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-sm);
  cursor: pointer;
}

.sw-menu-btn-icone {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  display: grid;
  place-items: center;
  gap: 5px;
  transition: box-shadow var(--sw-dur-1) var(--sw-ease);
}

.sw-menu-btn:hover .sw-menu-btn-icone { box-shadow: inset 0 0 0 1px var(--sw-tinta-2); }

.sw-menu-btn-icone::before,
.sw-menu-btn-icone::after {
  content: "";
  width: 14px;
  height: 1px;
  background: currentColor;
}

.sw-palco-controle {
  position: absolute;
  right: var(--sw-gutter);
  bottom: 46px;
  z-index: 4;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: var(--sw-veu-2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--sw-tinta-1);
  cursor: pointer;
  display: grid;
  place-items: center;
}

.sw-palco-controle::before {
  content: "";
  width: 9px;
  height: 11px;
  border-inline: 3px solid currentColor;
}

.sw-palco-controle.is-pausado::before {
  width: 0;
  height: 0;
  border: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid currentColor;
  margin-left: 3px;
}

.sw-ticker {
  --sw-marquee-dur: 42s;
  position: relative;
  z-index: var(--sw-z-nav);
  display: flex;
  overflow: hidden;
  padding-block: 7px;
  background: var(--sw-fundo);
  box-shadow: inset 0 -1px 0 var(--sw-linha);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sw-acento);
}

.sw-ticker .sw-marquee-trilho { gap: 0; padding-right: 0; }

.sw-ticker-item { display: inline-flex; align-items: center; white-space: nowrap; }

.sw-ticker-item::after {
  content: "+";
  margin-inline: 28px;
  color: var(--sw-tinta-4);
}

.sw-palco--claro {

  --sw-fundo: #f8f7f4;
  background: var(--sw-fundo);
  --sw-tinta-1: #14161a;

  --sw-tinta-2: rgba(20, 22, 26, 0.74);
  --sw-tinta-3: rgba(20, 22, 26, 0.64);
  --sw-tinta-4: rgba(20, 22, 26, 0.22);
  --sw-linha:       rgba(20, 22, 26, 0.13);
  --sw-linha-fraca: rgba(20, 22, 26, 0.07);
  --sw-veu-1: rgba(20, 22, 26, 0.05);
  --sw-veu-2: rgba(20, 22, 26, 0.08);
  --sw-veu-3: rgba(20, 22, 26, 0.12);
  --sw-veu-4: rgba(20, 22, 26, 0.20);
  --sw-acento: #006625;
  --sw-acento-tinta: #fbfaf8;

  --sw-logo-inverte: 1;
  color: var(--sw-tinta-1);
}

.sw-scrim--base-claro {
  background: linear-gradient(180deg, transparent 34%, rgba(248, 247, 244, 0.94) 100%);
}

.sw-scrim--esq-claro {
  background: linear-gradient(90deg, rgba(248, 247, 244, 0.96) 0%, transparent 62%);
}

.sw-scrim--canto-claro {
  background: radial-gradient(120% 90% at 0% 100%, rgba(248, 247, 244, 0.97), transparent 62%);
}

.sw-palco--claro .sw-spec {
  background: linear-gradient(180deg, transparent, rgba(248, 247, 244, 0.9) 55%);
}

.sw-scrim--topo-claro {
  background: linear-gradient(180deg, rgba(248, 247, 244, 0.82), transparent 28%);
}

.sw-trata--claro > img,
.sw-trata--claro > video {
  filter: grayscale(1) contrast(0.6) brightness(1.9);
}

.sw-palco--claro .sw-palco-midia::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: rgba(248, 247, 244, 0.45);
}

.sw-trata--claro.sw-trata--duotone::before {
  background: linear-gradient(150deg,
    color-mix(in srgb, var(--ds-blue, #007aff) 55%, #ffffff) 0%,
    color-mix(in srgb, var(--sw-acento) 60%, #ffffff) 100%);
  mix-blend-mode: multiply;
}

.sw-trata--claro.sw-trata--trama::after {
  mix-blend-mode: multiply;
  opacity: 0.4;
  background-image: radial-gradient(rgba(20, 22, 26, 0.55) 0.8px, transparent 0.8px);
}

.sw-palco--claro .sw-palco-controle {
  background: rgba(248, 247, 244, 0.82);
  color: #14161a;
}

@media (pointer: coarse) {

  .sw-wordmark { display: inline-flex; align-items: center; min-height: 44px; }

  .sw-palco-controle { width: 44px; height: 44px; }

  .sw-menu-btn { min-height: 44px; }

  .sw-palco { min-height: min(78svh, 620px); }
  .sw-palco--meia { min-height: min(56svh, 440px); }
}

@media (max-width: 700px) {

  .sw-spec { gap: 4px 14px; padding-inline: var(--sw-gutter); }
  .sw-spec-item { font-size: 8.5px; }
}

.sw-palco .sw-palco-conteudo--bl,
.sw-palco .sw-palco-conteudo--bc,
.sw-palco .sw-palco-conteudo--br {
  padding-bottom: calc(clamp(24px, 4vw, 64px) + var(--sw-spec-altura, 34px));
}

@supports selector(:has(*)) {
  .sw-palco:not(:has(.sw-spec)) .sw-palco-conteudo--bl,
  .sw-palco:not(:has(.sw-spec)) .sw-palco-conteudo--bc,
  .sw-palco:not(:has(.sw-spec)) .sw-palco-conteudo--br {
    padding-bottom: clamp(24px, 4vw, 64px);
  }
}

@media (max-width: 700px) {

  .sw-palco .sw-palco-conteudo--bl,
  .sw-palco .sw-palco-conteudo--bc,
  .sw-palco .sw-palco-conteudo--br {
    --sw-spec-altura: 60px;
  }
}

/* ========================================================================
   css/shark-web.logo.css
   ======================================================================== */
.sw-logo {
  display: inline-flex;
  align-items: center;
  gap: var(--sw-logo-gap, 0.55em);
  color: var(--sw-tinta-1);
  text-decoration: none;
  flex: none;

  font-size: var(--sw-logo-h, 26px);
  line-height: 1;
}

.sw-logo--sm { --sw-logo-h: 20px; }
.sw-logo--lg { --sw-logo-h: 40px; }
.sw-logo--xl { --sw-logo-h: 72px; }

.sw-logo--pilha {
  flex-direction: column;
  gap: 0.3em;
}

svg.sw-logo-icone {
  display: block;

  height: 1.15em;
  width: auto;
  flex: none;
  fill: currentColor;
  overflow: visible;
}

img.sw-logo-icone {
  display: block;
  height: 1em;
  width: auto;
  flex: none;
  filter: invert(var(--sw-logo-inverte, 0));
}

.sw-logo-wordmark {
  display: block;
  height: 0.62em;
  width: auto;
  flex: none;
  filter: invert(var(--sw-logo-inverte, 0));
}

.sw-logo--pilha .sw-logo-wordmark { height: 0.44em; }

.sw-logo--texto {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-weight: 700;
  font-size: calc(var(--sw-logo-h, 26px) * 0.7);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sw-logo--texto b { font-weight: 700; color: var(--sw-acento); }

.sw-selo {
  display: grid;
  place-items: center;
  width: var(--sw-selo-h, 44px);
  height: var(--sw-selo-h, 44px);
  border-radius: 50%;
  background: var(--sw-veu-1);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  color: var(--sw-tinta-1);
  flex: none;
}

.sw-selo .sw-logo-icone { height: 46%; }

.sw-selo--acento {
  background: var(--sw-acento);
  color: var(--sw-acento-tinta);
  box-shadow: none;
}

.sw-logo-agua {
  position: absolute;
  inset: auto -6% -12% auto;
  width: min(52%, 620px);
  color: var(--sw-tinta-4);
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}

.sw-logo-agua .sw-logo-icone { width: 100%; height: auto; }

@media (prefers-reduced-motion: no-preference) {
  .sw-logo-agua--nada > .sw-logo-icone {
    animation: sw-nada 26s ease-in-out infinite alternate;
  }
}

@keyframes sw-nada {
  from { transform: translate3d(0, 0, 0) rotate(0deg); }
  to   { transform: translate3d(-4%, -2%, 0) rotate(-1.5deg); }
}

@media (pointer: coarse) {

  a.sw-logo { min-height: 44px; }
}

/* ========================================================================
   css/shark-web.editorial.css
   ======================================================================== */
.sw-grade-visivel {
  position: relative;
  isolation: isolate;
}

.sw-grade-visivel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    90deg,
    var(--sw-linha-fraca) 0 1px,
    transparent 1px var(--sw-grade-passo, 12.5%));
}

@media (max-width: 700px) {
  .sw-grade-visivel::before { display: none; }
}

.sw-cabecalho-corrido {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sw-gap);
  padding-block: 14px;
  border-block: 1px solid var(--sw-linha);
  font-family: var(--ds-body, "Manrope", system-ui, sans-serif);
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-2);
}

.sw-cabecalho-corrido > :nth-child(1) { font-weight: 700; color: var(--sw-tinta-1); }
.sw-cabecalho-corrido > :nth-child(3) { color: var(--sw-acento); }
.sw-cabecalho-corrido > :nth-child(4) { text-align: right; }

@media (max-width: 700px) {
  .sw-cabecalho-corrido { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 6px; }
  .sw-cabecalho-corrido > :nth-child(4) { text-align: left; }
}

.sw-serif {
  font-family: var(--sw-display-2);
  font-stretch: var(--sw-display-2-larg, 100%);
  font-stretch: var(--sw-display-2-larg, 100%);
  font-weight: 400;
  color: var(--sw-tinta-1);
  margin: 0;
}

.sw-colossal {
  font-family: var(--sw-display-2);
  font-stretch: var(--sw-display-2-larg, 100%);
  font-stretch: var(--sw-display-2-larg, 100%);
  font-weight: 400;

  font-size: clamp(44px, 10.5vw, 176px);
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: var(--sw-tinta-1);
  margin: 0;
  text-wrap: balance;
}

.sw-colossal--acento { color: var(--sw-acento); }

.sw-colossal--estreito { font-stretch: 76%; }

.sw-sobrescrito {
  font-family: var(--sw-display-2);
  font-stretch: var(--sw-display-2-larg, 100%);
  font-stretch: var(--sw-display-2-larg, 100%);

  font-size: var(--sw-fs-sm);
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  margin: 0 0 14px;
}

.sw-capitular::first-letter {
  font-family: var(--sw-display-2);
  font-stretch: var(--sw-display-2-larg, 100%);
  font-size: 4.1em;
  line-height: 0.82;
  float: left;
  padding-right: 0.08em;
  padding-top: 0.04em;
  color: var(--sw-acento);
}

.sw-marginalia {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  line-height: 1.55;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  max-width: 22ch;
}

.sw-colunas {
  max-width: none;
  column-gap: var(--sw-gap-lg);
  column-rule: 1px solid var(--sw-linha-fraca);
}

@media (min-width: 900px)  { .sw-colunas { column-count: 2; } }
@media (min-width: 1280px) { .sw-colunas--3 { column-count: 3; } }

.sw-colunas h2,
.sw-colunas h3 { break-after: avoid; }
.sw-colunas p  { break-inside: avoid-column; }

.sw-colagem {
  position: relative;
  display: grid;
  isolation: isolate;
}

.sw-colagem-tipo {
  grid-area: 1 / 1;
  position: relative;
  z-index: 1;

  align-self: center;
}

.sw-colagem-obj {
  grid-area: 1 / 1;
  position: relative;
  z-index: 2;
  justify-self: var(--sw-obj-x, center);
  align-self: var(--sw-obj-y, center);
  width: var(--sw-obj-w, 34%);
  height: auto;
  pointer-events: none;

  filter: drop-shadow(0 30px 50px rgba(0, 0, 0, 0.34));
}

.sw-colagem-tipo--frente {
  z-index: 3;
  clip-path: inset(var(--sw-corte, 52%) 0 0 0);

  pointer-events: none;
  user-select: none;
}

@media (max-width: 760px) {
  .sw-colagem { display: block; }
  .sw-colagem-obj { display: block; width: 56%; margin: 0 auto 12px; }
  .sw-colagem-tipo--frente { display: none; }
}

.sw-recorte {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.26));
  transform: rotate(var(--sw-giro, -6deg));
}

.sw-fio {
  border: 0;
  border-top: 1px solid var(--sw-linha);
  margin-block: var(--sw-bloco-y);
}

.sw-fio--forte { border-top-width: 2px; border-top-color: var(--sw-tinta-1); }

.sw-num-secao {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.2em;
  color: var(--sw-tinta-3);
  display: block;
  margin-bottom: 10px;
}

.sw-citacao {
  position: relative;
  font-family: var(--sw-display-2);
  font-stretch: var(--sw-display-2-larg, 100%);
  font-size: clamp(24px, 3vw, 42px);
  line-height: 1.24;
  color: var(--sw-tinta-1);
  max-width: 24ch;
  margin: 0;
  padding-left: 0.6em;
}

.sw-citacao::before {
  content: "\201C";
  position: absolute;
  left: -0.28em;
  top: -0.06em;
  color: var(--sw-acento);
  font-size: 2.2em;
  line-height: 1;
}

.sw-citacao-fonte {
  display: block;
  margin-top: 14px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

/* ========================================================================
   css/shark-web.carga.css
   ======================================================================== */
html.sw-carga-js .sw-preloader {
  position: fixed;
  inset: 0;
  z-index: 9998;
  display: grid;
  place-items: center;
  gap: 26px;
  background: var(--sw-fundo);
  animation: sw-preloader-prazo 0s linear 2s forwards;
}

html:not(.sw-carga-js) .sw-preloader { display: none; }

.sw-preloader.is-pronto {
  animation: none;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 520ms var(--sw-ease), visibility 0s linear 520ms;
}

@keyframes sw-preloader-prazo {
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}

.sw-preloader-marca {
  position: relative;
  width: min(38vw, 240px);
  color: var(--sw-tinta-4);
}

.sw-preloader-marca .sw-logo-icone { width: 100%; height: auto; }

.sw-preloader-marca-frente svg { fill: currentColor; }

.sw-preloader-marca-frente {
  position: absolute;
  inset: 0;
  color: var(--sw-acento);
  clip-path: inset(0 calc(100% - var(--sw-carga, 0) * 1%) 0 0);
  transition: clip-path 420ms var(--sw-ease);
}

.sw-preloader-num {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: var(--sw-track-kicker);
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .sw-preloader-marca-frente { transition: none; }
}

.sw-barra-carga {
  width: 100%;
  max-width: 220px;
  height: 2px;
  border-radius: 2px;
  background: var(--sw-veu-2);
  overflow: hidden;
}

.sw-barra-carga-fill {
  height: 100%;
  width: calc(var(--sw-carga, 0) * 1%);
  background: var(--sw-acento);
  transition: width 420ms var(--sw-ease);
}

.sw-spin {
  width: var(--sw-spin-h, 18px);
  height: var(--sw-spin-h, 18px);
  border-radius: 50%;
  border: 1.5px solid var(--sw-tinta-4);
  border-top-color: var(--sw-acento);
  animation: sw-spin 720ms linear infinite;
  flex: none;
}

@keyframes sw-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .sw-spin { animation: sw-pulso 1.4s ease-in-out infinite; }
}

@keyframes sw-pulso { 50% { opacity: 0.35; } }

.sw-skel {
  position: relative;
  overflow: hidden;
  border-radius: var(--ds-r-sm, 10px);
  background:
    radial-gradient(var(--sw-skel-ponto, var(--sw-tinta-4)) 0.8px, transparent 0.8px) 0 0 / var(--sw-mesh-size) var(--sw-mesh-size),
    var(--sw-superficie);

  color: transparent;
  user-select: none;
}

.sw-skel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--sw-veu-2) 48%, transparent);
  transform: translateX(-100%);
  animation: sw-skel 1.5s var(--sw-ease-soft) infinite;
}

@keyframes sw-skel { to { transform: translateX(100%); } }

.sw-skel--texto  { height: 0.72em; margin-block: 0.28em; }
.sw-skel--titulo { height: 1.2em; margin-block: 0.3em; }
.sw-skel--linha-curta { width: 62%; }
.sw-skel--circulo { border-radius: 50%; aspect-ratio: 1; }
.sw-skel--card   { min-height: 190px; border-radius: var(--ds-r-lg, 18px); }
.sw-skel--midia  { aspect-ratio: 16 / 9; border-radius: var(--ds-r-lg, 18px); }

@media (prefers-reduced-motion: reduce) {
  .sw-skel::after { animation: none; opacity: 0.4; }
}

.sw-vivo {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
}

.sw-vivo::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sw-acento);
  box-shadow: 0 0 0 0 var(--sw-acento);
  animation: sw-vivo 2.4s ease-out infinite;
  flex: none;
}

@keyframes sw-vivo {
  0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--sw-acento) 55%, transparent); }
  70%  { box-shadow: 0 0 0 8px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

.sw-vivo.is-fechado { color: var(--sw-tinta-3); }
.sw-vivo.is-fechado::before { background: var(--sw-tinta-4); animation: none; }

@media (prefers-reduced-motion: reduce) {
  .sw-vivo::before { animation: none; }
}

.sw-img {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: var(--sw-ar, 16 / 9);
  border-radius: var(--sw-img-r, var(--ds-r-lg, 18px));
  background:
    radial-gradient(var(--sw-mesh-dot) 0.8px, transparent 0.8px) 0 0 / var(--sw-mesh-size) var(--sw-mesh-size),
    var(--sw-poco);
}

.sw-img > img,
.sw-img > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  opacity: 0;
  transition: opacity 520ms var(--sw-ease);
}

.sw-img > img.is-carregada,
.sw-img > video.is-carregada { opacity: 1; }

html:not(.sw-img-js) .sw-img > img,
html:not(.sw-img-js) .sw-img > video { opacity: 1; }

.sw-img > img.is-erro {
  opacity: 1;
  object-fit: contain;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-3);
  padding: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .sw-img > img,
  .sw-img > video { transition: none; opacity: 1; }
}

/* ========================================================================
   css/shark-web.midia.css
   ======================================================================== */
.sw-galeria {
  display: grid;
  gap: var(--sw-gap-sm);
  grid-template-columns: repeat(var(--sw-cols, 3), minmax(0, 1fr));
}

@media (max-width: 860px) { .sw-galeria { --sw-cols: 2; } }

.sw-galeria-item {
  position: relative;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  border-radius: var(--ds-r-md, 14px);
  overflow: hidden;
}

.sw-galeria-item .sw-img { border-radius: inherit; }

.sw-galeria-item > .sw-img > img {
  transition: transform 620ms var(--sw-ease), opacity 520ms var(--sw-ease);
}

.sw-galeria-item:hover > .sw-img > img { transform: scale(1.045); }

.sw-galeria-item--alto  { grid-row: span 2; }
.sw-galeria-item--largo { grid-column: span 2; }

@media (prefers-reduced-motion: reduce) {
  .sw-galeria-item:hover > .sw-img > img { transform: none; }
}

.sw-lightbox {
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  max-height: 100vh;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ds-text-1, #fefefe);
  overscroll-behavior: contain;
}

.sw-lightbox::backdrop {
  background: rgba(0, 0, 0, 0.86);
  backdrop-filter: blur(18px) saturate(0.7);
  -webkit-backdrop-filter: blur(18px) saturate(0.7);
}

.sw-lightbox-palco {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  height: 100%;
  padding: clamp(16px, 4vw, 54px);
  gap: var(--sw-gap);
}

.sw-lightbox-figura {
  margin: 0;
  display: grid;
  place-items: center;
  min-height: 0;
}

.sw-lightbox-figura {
  position: relative;
  overflow: hidden;
}

.sw-lightbox-figura img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: var(--ds-r-md, 14px);
}

.sw-lightbox-pe {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sw-gap);
  flex-wrap: wrap;
}

.sw-lightbox-legenda {
  font-size: var(--sw-fs-sm);
  color: rgba(254, 254, 254, 0.72);
  max-width: 62ch;
  margin: 0;
}

.sw-lightbox-contador {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  color: rgba(254, 254, 254, 0.62);
  font-variant-numeric: tabular-nums;
  flex: none;
}

.sw-lightbox-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: rgba(254, 254, 254, 0.1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fefefe;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background var(--sw-dur-1) var(--sw-ease);
}

.sw-lightbox-btn:hover { background: rgba(254, 254, 254, 0.2); }
.sw-lightbox-btn[disabled] { opacity: 0.3; pointer-events: none; }

.sw-lightbox-btn--ant { left: clamp(10px, 2vw, 26px); }
.sw-lightbox-btn--prox { right: clamp(10px, 2vw, 26px); }

.sw-lightbox-btn--ant::before,
.sw-lightbox-btn--prox::before {
  content: "";
  width: 9px;
  height: 9px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
}

.sw-lightbox-btn--ant::before  { transform: rotate(-135deg); margin-left: -3px; }
.sw-lightbox-btn--prox::before { transform: rotate(45deg); margin-right: -3px; }

.sw-lightbox-fechar {
  position: absolute;
  top: clamp(12px, 2vw, 26px);
  right: clamp(12px, 2vw, 26px);
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgba(254, 254, 254, 0.1);
  color: #fefefe;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.sw-lightbox-fechar::before,
.sw-lightbox-fechar::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 1.5px;
  background: currentColor;
}

.sw-lightbox-fechar::before { transform: rotate(45deg); }
.sw-lightbox-fechar::after  { transform: rotate(-45deg); }

@media (prefers-reduced-motion: no-preference) {
  .sw-lightbox[open] { animation: sw-lb-entra 300ms var(--sw-ease); }
}

@keyframes sw-lb-entra { from { opacity: 0; } }

.sw-player {
  position: relative;
  display: grid;
  gap: 12px;
}

.sw-player-quadro {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: var(--ds-r-xl, 24px);
  overflow: hidden;
  background: var(--sw-poco);
  box-shadow: var(--ds-e4, 0 40px 110px -50px rgba(0, 0, 0, 0.95)),
              0 50px 140px -70px var(--sw-acento-glow);
}

.sw-player-quadro iframe,
.sw-player-quadro video,
.sw-player-quadro img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  display: block;
}

.sw-player-escudo {
  position: absolute;
  inset: 0;
  z-index: 2;
  cursor: pointer;

  background: transparent;
}

.sw-player-capa {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  place-items: center;
  cursor: pointer;
  border: 0;
  padding: 0;
  background: none;
}

.sw-player-capa::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.55));
}

.sw-player.is-tocando .sw-player-capa { display: none; }

.sw-player-play {
  position: relative;
  z-index: 1;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--sw-btn-fundo);
  color: var(--sw-btn-tinta);
  display: grid;
  place-items: center;
  box-shadow: 0 14px 44px -14px rgba(0, 0, 0, 0.8);
  transition: transform var(--sw-dur-1) var(--sw-ease);
}

.sw-player-capa:hover .sw-player-play { transform: scale(1.07); }

.sw-player-play::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 6px;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 18px solid currentColor;
}

.sw-player-ui {
  display: flex;
  align-items: center;
  gap: 14px;
}

.sw-player-btn {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: var(--sw-veu-2);
  color: var(--sw-tinta-1);
  cursor: pointer;
  display: grid;
  place-items: center;
  flex: none;
  transition: background var(--sw-dur-1) var(--sw-ease);
}

.sw-player-btn:hover { background: var(--sw-veu-3); }

.sw-player-btn--play::before {
  content: "";
  width: 0; height: 0;
  margin-left: 3px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid currentColor;
}

.sw-player.is-tocando .sw-player-btn--play::before {
  width: 9px; height: 11px;
  margin-left: 0;
  border: 0;
  border-inline: 3px solid currentColor;
}

.sw-player-trilho {
  flex: 1;
  appearance: none;
  -webkit-appearance: none;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(
    to right,
    var(--sw-acento) calc(var(--sw-progresso, 0) * 1%),
    var(--sw-veu-2) calc(var(--sw-progresso, 0) * 1%));
  cursor: pointer;
}

.sw-player-trilho:disabled {
  cursor: default;
  opacity: 0.5;
}

.sw-player-trilho::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--sw-acento);
  border: 0;
}

.sw-player-trilho::-moz-range-thumb {
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--sw-acento); border: 0;
}

.sw-player-tempo {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  color: var(--sw-tinta-3);
  font-variant-numeric: tabular-nums;
  flex: none;
}

.sw-player-ui { flex-wrap: wrap; }

.sw-player-grupo {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
}

.sw-player-btn--salto {
  position: relative;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.sw-player-btn--salto::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1.2px solid currentColor;
  border-radius: 50%;
  border-top-color: transparent;
  opacity: 0.55;
}

.sw-player-btn--voltar::before  { transform: rotate(30deg); }
.sw-player-btn--avancar::before { transform: rotate(-30deg) scaleX(-1); }

.sw-player-vel {
  min-width: 44px;
  height: 34px;
  padding-inline: 10px;
  border: 0;
  border-radius: var(--ds-r-pill, 999px);
  background: var(--sw-veu-2);
  color: var(--sw-tinta-1);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  font-weight: 600;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  transition: background var(--sw-dur-1) var(--sw-ease);
}

.sw-player-vel:hover { background: var(--sw-veu-3); }
.sw-player-vel.is-rapido { background: var(--sw-acento); color: var(--sw-acento-tinta); }

.sw-player-btn--som {
  position: relative;
}

.sw-player-btn--som::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 8px solid currentColor;
  margin-right: 5px;
}

.sw-player-btn--som::after {
  content: "";
  position: absolute;
  right: 9px;
  width: 8px;
  height: 8px;
  border: 1.4px solid currentColor;
  border-radius: 50%;
  border-left-color: transparent;
  border-top-color: transparent;
  transform: rotate(-45deg);
  opacity: 0.85;
}

.sw-player.is-mudo .sw-player-btn--som::after {
  width: 14px;
  height: 1.6px;
  right: 6px;
  border: 0;
  border-radius: 0;
  background: currentColor;
  transform: rotate(-45deg);
  opacity: 1;
}

.sw-player-btn--cheia::before {
  content: "";
  width: 13px;
  height: 11px;
  border: 1.6px solid currentColor;
  border-radius: 2px;
  mask-image: linear-gradient(90deg, #000 30%, transparent 30% 70%, #000 70%),
              linear-gradient(180deg, #000 34%, transparent 34% 66%, #000 66%);
  -webkit-mask-image: linear-gradient(90deg, #000 30%, transparent 30% 70%, #000 70%),
                      linear-gradient(180deg, #000 34%, transparent 34% 66%, #000 66%);
  mask-composite: intersect;
  -webkit-mask-composite: source-in;
}

.sw-player--cinema {
  position: fixed;
  inset: 0;
  z-index: var(--sw-z-overlay);
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 60px);
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.sw-player--cinema .sw-player-quadro { width: min(1100px, 100%); }

.sw-player-feixe {
  position: absolute;
  width: 46vw;
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(130px);
  pointer-events: none;
  z-index: -1;
}

.sw-player-feixe--a { left: -8vw;  top: 4vh;  background: var(--ds-blue, #007aff);  opacity: 0.34; animation: sw-respira 9s ease-in-out infinite; }
.sw-player-feixe--b { right: -8vw; bottom: 2vh; background: var(--sw-acento);        opacity: 0.3;  animation: sw-respira 11s ease-in-out infinite reverse; }

@keyframes sw-respira {
  50% { transform: scale(1.16) translate3d(2%, -2%, 0); opacity: 0.44; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-player-feixe { animation: none; }
  .sw-player-capa:hover .sw-player-play { transform: none; }
}

.sw-tipo-foto {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-weight: 700;
  font-size: clamp(56px, 14vw, 220px);
  line-height: 0.9;
  letter-spacing: -0.045em;
  margin: 0;

  background-size: cover;
  background-position: center;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

  -webkit-text-stroke: 1px var(--sw-tinta-4);
}

.sw-tipo-foto { background-position-y: calc(50% + var(--sw-foto-y, 0px)); }

.sw-atravessa-bloco { display: flow-root; }

.sw-atravessa {
  float: var(--sw-atravessa-lado, right);
  width: min(38%, 420px);
  margin: 0 0 var(--sw-gap) var(--sw-gap);
  transform: rotate(var(--sw-giro, 4deg));
  shape-outside: polygon(8% 0, 100% 4%, 92% 100%, 0 94%);
  shape-margin: 18px;
  filter: drop-shadow(0 26px 44px rgba(0, 0, 0, 0.3));
}

.sw-atravessa--esq {
  --sw-atravessa-lado: left;
  --sw-giro: -4deg;
  margin: 0 var(--sw-gap) var(--sw-gap) 0;
}

.sw-atravessa--alfa { shape-outside: var(--sw-foto); }

.sw-atravessa img { width: 100%; height: auto; display: block; border-radius: 6px; }

@media (max-width: 760px) {
  .sw-atravessa {
    float: none;
    width: 100%;
    margin: var(--sw-gap) 0;
    transform: none;
    shape-outside: none;
  }
}

.sw-pilha-fotos {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(280px, 42vw, 480px);
  touch-action: pan-y;
}

.sw-pilha-foto {
  position: absolute;
  width: min(62%, 380px);
  border-radius: var(--ds-r-lg, 18px);
  overflow: hidden;

  box-shadow: inset 0 0 0 1px var(--sw-veu-3),
              var(--ds-e3, 0 24px 70px -30px rgba(0, 0, 0, 0.9));
  cursor: grab;

  --sw-d: calc(var(--sw-i, 0) - (var(--sw-n, 3) - 1) / 2);
  transform:
    translate3d(calc(var(--sw-d) * 26%), calc(var(--sw-d) * var(--sw-d) * 2%), 0)
    rotate(calc(var(--sw-d) * 6deg))
    scale(calc(1 - var(--sw-i, 0) * 0.03));
  z-index: calc(10 - var(--sw-i, 0));

  transition: transform 760ms var(--sw-ease-mola, cubic-bezier(0.2, 0.9, 0.2, 1.06)),
              opacity 420ms linear;
}

.sw-pilha-foto:active { cursor: grabbing; }
.sw-pilha-foto.is-arrastando { transition: none; }

.sw-pilha-foto img {
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.sw-pilha-foto { touch-action: none; }

.sw-pilha-dica {
  position: absolute;
  bottom: -6px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: var(--sw-track-kicker);
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

.sw-rasgo {
  display: grid;
  gap: var(--sw-rasgo-gap, 3px);
  background-size: cover;
  background-position: center;
  aspect-ratio: var(--sw-ar, 4 / 3);
  overflow: hidden;
  border-radius: var(--ds-r-lg, 18px);
}

.sw-rasgo-faixa {
  background-size: 100% calc(var(--sw-faixas, 5) * 100%);
  background-position-y: calc(var(--sw-i, 0) * -100%);

  transform: translate3d(var(--sw-desloca, 0px), 0, 0);
  transition: transform 900ms var(--sw-ease);
}

.sw-rasgo-faixa:nth-child(odd)  { --sw-desloca: -14%; }
.sw-rasgo-faixa:nth-child(even) { --sw-desloca: 14%; }

.sw-rasgo.is-alinhado .sw-rasgo-faixa { --sw-desloca: 0px; }

.sw-rasgo.is-rasgado { background-image: none !important; }

html:not(.sw-motion) .sw-rasgo .sw-rasgo-faixa { --sw-desloca: 0px; }

@media (prefers-reduced-motion: reduce) {
  .sw-rasgo-faixa { --sw-desloca: 0px; transition: none; }
}

.sw-cortina {
  position: relative;
  overflow: hidden;
  border-radius: var(--ds-r-lg, 18px);
  aspect-ratio: var(--sw-ar, 16 / 9);
  --sw-corte-x: 50;
}

.sw-cortina > * { position: absolute; inset: 0; }

.sw-cortina-depois {
  clip-path: inset(0 0 0 calc(var(--sw-corte-x) * 1%));
  z-index: 1;
}

.sw-cortina-range {
  z-index: 3;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 100%;
  margin: 0;
  background: transparent;
  cursor: ew-resize;
}

.sw-cortina-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--sw-btn-fundo);
  border: 0;
  cursor: ew-resize;
}

.sw-cortina-range::-moz-range-thumb {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--sw-btn-fundo); border: 0;
}

.sw-cortina::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--sw-corte-x) * 1%);
  width: 1px;
  background: var(--sw-btn-fundo);
  z-index: 2;
  pointer-events: none;
}

.sw-cortina-rotulo {
  position: absolute;
  z-index: 2;
  bottom: 12px;
  padding: 5px 11px;
  border-radius: var(--ds-r-pill, 999px);

  background: rgba(0, 0, 0, 0.94);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fefefe;
  pointer-events: none;
  inset-inline: auto;
}

.sw-cortina-rotulo--esq  { left: 12px; }
.sw-cortina-rotulo--dir  { right: 12px; }

.sw-marquee-img .sw-marquee-trilho { gap: var(--sw-gap-sm); padding-right: var(--sw-gap-sm); }

.sw-marquee-img .sw-img {
  width: clamp(180px, 22vw, 320px);
  flex: none;
  border-radius: var(--ds-r-md, 14px);
}

.sw-esteira-dupla { display: grid; gap: var(--sw-gap-sm); }

.sw-som-btn {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--sw-tinta-3);
  cursor: pointer;
  display: grid;
  place-items: center;
  gap: 2px;
  flex: none;
  transition: color var(--sw-dur-1) var(--sw-ease);
}

.sw-som-btn:hover { color: var(--sw-tinta-1); }
.sw-som-btn.is-ligado { color: var(--sw-acento); }

.sw-som-btn::before,
.sw-som-btn::after,
.sw-som-btn span {
  content: "";
  display: block;
  width: 2px;
  height: 7px;
  border-radius: 1px;
  background: currentColor;
  grid-row: 1;
}

.sw-som-btn::before { grid-column: 1; }
.sw-som-btn span    { grid-column: 2; height: 12px; }
.sw-som-btn::after  { grid-column: 3; }

.sw-som-btn { grid-auto-flow: column; }

@media (prefers-reduced-motion: no-preference) {
  .sw-som-btn.is-ligado::before { animation: sw-eq 1.1s ease-in-out infinite; }
  .sw-som-btn.is-ligado span    { animation: sw-eq 1.1s ease-in-out infinite 0.18s; }
  .sw-som-btn.is-ligado::after  { animation: sw-eq 1.1s ease-in-out infinite 0.36s; }
}

@keyframes sw-eq { 50% { transform: scaleY(0.45); } }

.sw-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9997;
  padding: 8px 14px;
  border-radius: var(--ds-r-pill, 999px);
  background: rgba(254, 254, 254, 0.92);
  color: #000;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%, -50%, 0) scale(0.85);
  transition: opacity 180ms var(--sw-ease), transform 180ms var(--sw-ease);
  will-change: transform;
  white-space: nowrap;
}

.sw-cursor.is-visivel { opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); }

@media (hover: none), (prefers-reduced-motion: reduce) {
  .sw-cursor { display: none; }
}

.sw-atravessa {
  position: relative;
  transition: transform var(--sw-dur-2) var(--sw-ease),
              filter var(--sw-dur-2) var(--sw-ease);
}

.sw-atravessa {
  --sw-atr-rx: 0deg;
  --sw-atr-ry: 0deg;
  --sw-atr-luz: 0;
  transform:
    perspective(1100px)
    rotate(var(--sw-giro, 4deg))
    rotateX(var(--sw-atr-rx))
    rotateY(var(--sw-atr-ry));
  transform-style: preserve-3d;
}

.sw-atravessa.is-perto {

  transform:
    perspective(1100px)
    rotate(calc(var(--sw-giro, 4deg) * 0.18))
    rotateX(var(--sw-atr-rx))
    rotateY(var(--sw-atr-ry))
    scale(1.035);
  filter: drop-shadow(0 34px 60px rgba(0, 0, 0, 0.42));
  z-index: 2;
  transition: transform 120ms linear, filter var(--sw-dur-2) var(--sw-ease);
}

.sw-atravessa:focus-visible { outline: 2px solid var(--sw-acento); outline-offset: 6px; }

.sw-atravessa::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 6px;
  pointer-events: none;
  background: radial-gradient(
    circle at var(--sw-atr-x, 50%) var(--sw-atr-y, 50%),
    rgba(255, 255, 255, 0.34) 0%,
    rgba(255, 255, 255, 0.08) 26%,
    transparent 58%);
  mix-blend-mode: overlay;
  opacity: var(--sw-atr-luz);
  transition: opacity var(--sw-dur-2) var(--sw-ease);
  z-index: 1;
}

.sw-atravessa figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 26px 14px 12px;
  border-radius: 0 0 6px 6px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.82), transparent);
  color: #fff;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity var(--sw-dur-2) var(--sw-ease), transform var(--sw-dur-2) var(--sw-ease);
}

.sw-atravessa.is-perto figcaption,
.sw-atravessa:focus-visible figcaption { opacity: 1; transform: none; }

@media (max-width: 760px) {

  .sw-atravessa figcaption { opacity: 1; transform: none; }
  .sw-atravessa.is-perto { transform: perspective(1100px) rotateX(var(--sw-atr-rx)) rotateY(var(--sw-atr-ry)); }
}

@media (prefers-reduced-motion: reduce) {
  .sw-atravessa,
  .sw-atravessa::after,
  .sw-atravessa figcaption { transition: none; }
  .sw-atravessa.is-perto { transform: rotate(var(--sw-giro, 4deg)); filter: none; }
  .sw-atravessa::after { display: none; }
}

.sw-marquee[data-sw-arrasta] {
  cursor: grab;

  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}

.sw-marquee[data-sw-arrasta].is-arrastando { cursor: grabbing; }

.sw-marquee.is-manual .sw-marquee-trilho {
  animation: none;
  transform: translate3d(var(--sw-marquee-x, 0px), 0, 0);
  will-change: transform;
}

.sw-marquee.is-manual .sw-marquee-trilho > * {
  transform: skewX(var(--sw-marquee-skew, 0deg));
  transition: transform 220ms var(--sw-ease);
}

.sw-marquee.is-arrastando .sw-marquee-trilho > * { transition: none; }

.sw-marquee[data-sw-arrasta] img {
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}

.sw-marquee-dica {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;

  background: rgba(0, 0, 0, 0.95);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
  color: #fff;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  pointer-events: none;
  transition: opacity var(--sw-dur-2) var(--sw-ease);
}

.sw-marquee.is-tocado .sw-marquee-dica { opacity: 0; }

.sw-marquee { position: relative; }

@media (prefers-reduced-motion: reduce) {
  .sw-marquee.is-manual .sw-marquee-trilho > * { transition: none; transform: none; }
}

.sw-lightbox-acoes {
  position: absolute;
  left: 50%;
  bottom: clamp(12px, 2.4vw, 30px);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px;
  border-radius: var(--ds-r-pill, 999px);

  background: rgba(10, 10, 12, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 0 0 1px rgba(254, 254, 254, 0.12);
  z-index: 2;
}

.sw-lightbox-acao {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(254, 254, 254, 0.82);
  font-size: 14px;
  cursor: pointer;
  transition: background var(--sw-dur-1) var(--sw-ease), color var(--sw-dur-1) var(--sw-ease);
}

.sw-lightbox-acao:hover { background: rgba(254, 254, 254, 0.14); color: #fefefe; }
.sw-lightbox-acao:focus-visible { outline: 2px solid var(--sw-acento); outline-offset: 2px; }
.sw-lightbox-acao[disabled] { opacity: 0.32; pointer-events: none; }

.sw-lightbox-acao.is-copiado { background: var(--sw-acento); color: var(--sw-acento-tinta); }

.sw-lightbox-zoom {
  min-width: 46px;
  text-align: center;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.08em;
  color: rgba(254, 254, 254, 0.72);
  font-variant-numeric: tabular-nums;
}

.sw-lightbox-sep {
  width: 1px;
  height: 20px;
  margin-inline: 4px;
  background: rgba(254, 254, 254, 0.16);
}

.sw-lightbox-figura img {
  transform-origin: center;
  transition: transform 240ms var(--sw-ease);
  will-change: transform;
}

.sw-lightbox.is-ampliada .sw-lightbox-figura { cursor: grab; overflow: hidden; }
.sw-lightbox.is-ampliada .sw-lightbox-figura:active { cursor: grabbing; }

.sw-lightbox.is-ampliada .sw-lightbox-figura img { transition: none; }

.sw-lightbox.is-ampliada .sw-lightbox-btn { opacity: 0; pointer-events: none; }

@media (max-width: 560px) {
  .sw-lightbox-acao { width: 34px; height: 34px; }
  .sw-lightbox-zoom { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-lightbox-figura img { transition: none; }
}

html.sw-cinema::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9980;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(8px) saturate(0.5);
  -webkit-backdrop-filter: blur(8px) saturate(0.5);

  pointer-events: auto;
  cursor: pointer;
  animation: sw-cinema-entra 420ms var(--sw-ease) both;
}

@keyframes sw-cinema-entra { from { opacity: 0; } }

.sw-player.is-cinema {
  position: relative;
  z-index: 9981;
}

.sw-player.is-cinema .sw-player-quadro {
  box-shadow:
    0 60px 160px -40px rgba(0, 0, 0, 0.95),
    0 0 120px -20px var(--sw-acento-glow);
  transition: box-shadow var(--sw-dur-3) var(--sw-ease);
}

.sw-player.is-cinema .sw-player-ui { --sw-tinta-3: rgba(254, 254, 254, 0.68); }

.sw-player.is-cinema::after {
  content: "Esc ou clique fora";
  position: absolute;
  top: -30px;
  right: 0;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  pointer-events: none;
  animation: sw-cinema-dica 4s var(--sw-ease) both;
}

@keyframes sw-cinema-dica {
  0%   { opacity: 0; }
  14%  { opacity: 1; }
  76%  { opacity: 1; }
  100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html.sw-cinema::before,
  .sw-player.is-cinema::after { animation: none; }
}

.sw-depos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  gap: var(--sw-gap-sm);
}

.sw-depo {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: var(--sw-depo-prop, 3 / 4);
  padding: 0;
  border: 0;
  border-radius: var(--ds-r-lg, 18px);
  overflow: hidden;

  background: var(--ds-surface-raised, #16181a);
  color: #fff;
  cursor: pointer;
  isolation: isolate;
}

.sw-depo-thumb {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.sw-depo-thumb img,
.sw-depo-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 720ms var(--sw-ease), filter var(--sw-dur-2) var(--sw-ease);
}

.sw-depo-thumb img { filter: grayscale(0.65) contrast(1.05); }
.sw-depo:hover .sw-depo-thumb img,
.sw-depo:focus-visible .sw-depo-thumb img { filter: none; transform: scale(1.05); }

.sw-depo-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
    rgba(0, 0, 0, 0.88) 0%,
    rgba(0, 0, 0, 0.55) 22%,
    rgba(0, 0, 0, 0.12) 48%,
    transparent 68%);
}

.sw-depo-corpo {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
  text-align: left;
}

.sw-depo-play {
  margin: auto auto 0;
  position: absolute;
  left: 50%;
  top: 44%;
  transform: translate(-50%, -50%);
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.62);
  transition: transform var(--sw-dur-2) var(--sw-ease), background var(--sw-dur-2) var(--sw-ease);
}

.sw-depo-play::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 4px;
  border-left: 15px solid currentColor;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
}

.sw-depo:hover .sw-depo-play,
.sw-depo:focus-visible .sw-depo-play {
  transform: translate(-50%, -50%) scale(1.08);
  background: var(--sw-acento);
  color: var(--sw-acento-tinta);
  box-shadow: none;
}

.sw-depo-nome {
  margin-top: auto;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.sw-depo-papel {
  margin-top: 4px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.66);
}

.sw-depo-dur {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.94);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 10px;
  letter-spacing: 0.1em;
  font-variant-numeric: tabular-nums;
}

.sw-depo:focus-visible { outline: 2px solid var(--sw-acento); outline-offset: 4px; }

.sw-depo-modal {
  width: min(1000px, calc(100vw - 2 * var(--sw-gutter)));
  padding: 0;
  border: 0;
  border-radius: var(--ds-r-xl, 24px);
  background: var(--sw-superficie);
  color: var(--sw-tinta-1);
  overflow: visible;
}

.sw-depo-modal::backdrop {
  background: rgba(0, 0, 0, 0.86);
  backdrop-filter: blur(16px) saturate(0.6);
  -webkit-backdrop-filter: blur(16px) saturate(0.6);
}

.sw-depo-modal-corpo { padding: var(--sw-gap); }

.sw-depo-modal-quem {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: var(--sw-gap-sm);
}

.sw-depo-modal-quem img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex: none;
}

.sw-depo-modal-quem b {
  display: block;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: var(--sw-fs-lead);
  letter-spacing: -0.02em;
}

.sw-depo-modal-quem span {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

@media (max-width: 560px) {
  .sw-depos { grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)); }
  .sw-depo-play { width: 46px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-depo-thumb img,
  .sw-depo-play { transition: none; }
  .sw-depo:hover .sw-depo-thumb img { transform: none; }
}

.sw-depos:has(> :nth-child(4)) {
  --sw-espia-n: 3.4;
  --sw-espia-gap: var(--sw-gap-sm);
  display: flex;
  gap: var(--sw-espia-gap);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-block: 4px;
}

.sw-depos:has(> :nth-child(4))::-webkit-scrollbar { display: none; }

.sw-depos:has(> :nth-child(4)) > .sw-depo {
  flex: 0 0 calc(
    (100% - (var(--sw-espia-n) - 1) * var(--sw-espia-gap)) / var(--sw-espia-n)
  );
  scroll-snap-align: start;
}

.sw-depos.is-arrastando {
  scroll-snap-type: none;
  cursor: grabbing;
  user-select: none;
}

.sw-depos.is-rolavel { cursor: grab; }

@media (max-width: 1100px) {
  .sw-depos:has(> :nth-child(4)) { --sw-espia-n: 2.4; }
}

@media (max-width: 700px) {
  .sw-depos:has(> :nth-child(4)) { --sw-espia-n: 1.35; }
}

@media (pointer: coarse) {

  .sw-player-btn { width: 44px; height: 44px; }
  .sw-player-vel { min-height: 44px; }

  .sw-lightbox-fechar,
  .sw-lightbox-btn,
  .sw-lightbox-acao { min-width: 44px; min-height: 44px; }

  .sw-som-btn { min-width: 44px; min-height: 44px; }
}

@media (pointer: coarse) {

  .sw-player-trilho {
    height: 44px;
    background: transparent;
  }

  .sw-player-trilho::-webkit-slider-runnable-track {
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(
      to right,
      var(--sw-acento) calc(var(--sw-progresso, 0) * 1%),
      var(--sw-veu-2) calc(var(--sw-progresso, 0) * 1%));
  }

  .sw-player-trilho::-webkit-slider-thumb { margin-top: -4.5px; }

  .sw-player-trilho::-moz-range-track {
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(
      to right,
      var(--sw-acento) calc(var(--sw-progresso, 0) * 1%),
      var(--sw-veu-2) calc(var(--sw-progresso, 0) * 1%));
  }
}

@media (hover: none) {
  .sw-depo-thumb img { filter: none; }
}

.sw-lightbox-pe {

  padding-bottom: calc(44px + clamp(12px, 2.4vw, 30px) + 10px);
}

@media (min-width: 900px) {

  .sw-lightbox-pe { padding-bottom: 0; }
}

.sw-player-ui { display: none; }

.sw-player.is-tocando .sw-player-ui,
.sw-player.is-cinema .sw-player-ui {
  display: flex;
  animation: sw-player-ui-entra var(--sw-dur-2) var(--sw-ease) both;
}

@keyframes sw-player-ui-entra {
  from { opacity: 0; translate: 0 6px; }
}

html:not(.sw-img-js) .sw-player-ui { display: flex; animation: none; }

/* ========================================================================
   css/shark-web.icones.css
   ======================================================================== */
.sw-ico {
  font-size: 0.92em;
  line-height: 1;
  vertical-align: baseline;

  transform: translateY(-0.055em);
  flex: none;
}

.sw-ico--sm { font-size: 0.8em; }
.sw-ico--lg { font-size: 1.15em; }
.sw-ico--xl { font-size: 1.6em; }

.sw-ico--solo { transform: none; vertical-align: middle; }

.sw-ico--fraco  { color: var(--sw-tinta-3); }
.sw-ico--acento { color: var(--sw-acento); }

.sw-ico--fixo { width: 1.25em; text-align: center; }

@media (prefers-reduced-motion: no-preference) {
  .sw-ico--gira { animation: sw-ico-gira 900ms linear infinite; }
}
@keyframes sw-ico-gira { to { transform: rotate(360deg); } }

.sw-btn .sw-ico { transform: none; }

.sw-btn-ico-dir {
  transition: transform var(--sw-dur-1) var(--sw-ease);
}

.sw-btn:hover .sw-btn-ico-dir,
.sw-btn:focus-visible .sw-btn-ico-dir { transform: translateX(3px); }

.sw-btn--ico {
  --sw-btn-x: 0;
  --sw-btn-y: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  justify-content: center;
  border-radius: 50%;
}

.sw-btn--ico.sw-btn--sm { width: 34px; height: 34px; }
.sw-btn--ico.sw-btn--lg { width: 54px; height: 54px; }

.sw-btn.is-carregando {
  pointer-events: none;
  opacity: 0.72;
}

.sw-ico-selo {
  display: grid;
  place-items: center;
  width: var(--sw-ico-selo-h, 44px);
  height: var(--sw-ico-selo-h, 44px);
  flex: none;
  border-radius: var(--ds-r-md, 14px);
  background: var(--sw-veu-1);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  color: var(--sw-tinta-1);
  font-size: calc(var(--sw-ico-selo-h, 44px) * 0.42);
}

.sw-ico-selo--redondo { border-radius: 50%; }
.sw-ico-selo--lg { --sw-ico-selo-h: 60px; }
.sw-ico-selo--sm { --sw-ico-selo-h: 34px; }

.sw-ico-selo--acento {
  background: var(--sw-acento);
  color: var(--sw-acento-tinta);
  box-shadow: none;
}

.sw-ico-selo--vazado {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--sw-tinta-4);
  color: var(--sw-tinta-2);
}

.sw-lista-ico { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.sw-lista-ico li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  font-size: var(--sw-fs-sm);
  color: var(--sw-tinta-2);
  line-height: var(--sw-lh-body, 1.6);
}

.sw-lista-ico li > .sw-ico,
.sw-lista-ico li > i {
  margin-top: 0.28em;
  color: var(--sw-acento);
  font-size: 0.92em;
}

.sw-lista-ico li.is-limite { color: var(--sw-tinta-3); }
.sw-lista-ico li.is-limite > .sw-ico,
.sw-lista-ico li.is-limite > i { color: var(--sw-tinta-3); }

.sw-etiqueta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--sw-veu-1);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
}

.sw-etiqueta--acento {
  background: color-mix(in srgb, var(--sw-acento) 16%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-acento) 40%, transparent);
  color: var(--sw-acento);
}

.sw-etiqueta--vivo::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 0 currentColor;
}

@media (prefers-reduced-motion: no-preference) {
  .sw-etiqueta--vivo::before { animation: sw-etiqueta-pulso 1.9s var(--sw-ease-inout) infinite; }
}

@keyframes sw-etiqueta-pulso {
  0%   { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 60%, transparent); }
  70%  { box-shadow: 0 0 0 7px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

.sw-bandeiras {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  color: var(--sw-tinta-3);
  font-size: 26px;
  line-height: 1;
}

.sw-bandeira { display: inline-flex; align-items: center; }

.sw-bandeiras i { transition: color var(--sw-dur-1) var(--sw-ease); }
.sw-bandeiras:hover i { color: var(--sw-tinta-2); }

.sw-bandeiras b {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 7px;
  border-radius: 4px;
  box-shadow: inset 0 0 0 1px currentColor;
}

.sw-codbarras {
  height: var(--sw-codbarras-h, 54px);
  width: 100%;
  background-image:
    repeating-linear-gradient(90deg, currentColor 0 2px, transparent 2px 5px),
    repeating-linear-gradient(90deg, currentColor 0 4px, transparent 4px 13px),
    repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 8px);
  background-size: 100% 100%;
  color: var(--sw-tinta-1);
  opacity: 0.92;
}

.sw-codbarras--sm { --sw-codbarras-h: 36px; }

@media (prefers-reduced-motion: reduce) {
  .sw-ico--gira { animation: none; }
  .sw-etiqueta--vivo::before { animation: none; }
  .sw-btn:hover .sw-btn-ico-dir { transform: none; }
}

@media (pointer: coarse) {

  .sw-btn--ico,
  .sw-btn--ico.sw-btn--sm { width: 44px; height: 44px; }
}

/* ========================================================================
   css/shark-web.cupom.css
   ======================================================================== */
.sw-plano--cupom {
  position: relative;
  padding: 0;
  overflow: hidden;
  border-radius: var(--ds-r-lg, 18px);
  background: var(--sw-superficie);
  text-align: center;

  mask-image:
    radial-gradient(circle 13px at 0 var(--sw-cupom-y, 62%), transparent 98%, #000 100%),
    radial-gradient(circle 13px at 100% var(--sw-cupom-y, 62%), transparent 98%, #000 100%);
  mask-composite: intersect;
  -webkit-mask-image:
    radial-gradient(circle 13px at 0 var(--sw-cupom-y, 62%), transparent 98%, #000 100%),
    radial-gradient(circle 13px at 100% var(--sw-cupom-y, 62%), transparent 98%, #000 100%);
  -webkit-mask-composite: source-in;
}

.sw-cupom-rotulos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sw-gap-sm);
  padding: 16px var(--sw-gap);
  font-family: var(--ds-mono, ui-monospace, monospace);

  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
  flex-wrap: wrap;
}

.sw-cupom-rotulos span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.sw-plano--cupom:has(> .sw-cupom-selo) .sw-cupom-rotulos { padding-right: 128px; }

.sw-cupom-rotulos b { color: var(--sw-tinta-1); font-weight: 700; }

.sw-cupom-corpo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sw-gap-sm);
  padding: var(--sw-gap) var(--sw-gap);
}

.sw-cupom-corpo > p,
.sw-cupom-corpo > h2,
.sw-cupom-corpo > h3 { margin: 0; }

.sw-cupom-ancora {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
}

.sw-cupom-ancora s {

  color: var(--sw-tinta-3);
  text-decoration-thickness: 1.5px;
  text-decoration-color: currentColor;
}

.sw-cupom-preco {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);

  font-size: clamp(42px, 7.4vw, 76px);
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
  color: var(--sw-tinta-1);
}

.sw-cupom-preco small {
  font-size: 0.44em;
  font-weight: 700;
  letter-spacing: -0.02em;
  align-self: flex-start;
  margin-top: 0.24em;
}

.sw-cupom-preco i {
  font-style: normal;
  font-size: 0.52em;
  letter-spacing: -0.02em;
}

.sw-cupom-avista {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-xs);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-tinta-2);
}

.sw-cupom-corpo .sw-btn { width: 100%; justify-content: center; margin-top: 6px; }

.sw-cupom-divisa {
  height: 1px;
  margin-inline: 16px;
  background: repeating-linear-gradient(90deg,
    var(--sw-tinta-4) 0 6px, transparent 6px 12px);
}

.sw-cupom-talao {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: var(--sw-gap) var(--sw-gap);
  background: #f6f5f3;
  color: #14161a;
}

.sw-cupom-talao .sw-codbarras { color: #14161a; max-width: 78%; }
.sw-cupom-talao .sw-bandeiras { color: rgba(20, 22, 26, 0.55); font-size: 23px; }
.sw-cupom-talao .sw-bandeiras:hover i { color: rgba(20, 22, 26, 0.8); }

.sw-cupom-talao .sw-bandeiras b { color: rgba(20, 22, 26, 0.82); }

.sw-cupom-talao--escuro {
  background: var(--sw-poco);
  color: var(--sw-tinta-2);
}

.sw-cupom-talao--escuro .sw-codbarras { display: none; }
.sw-cupom-talao--escuro .sw-bandeiras { color: var(--sw-tinta-3); }

.sw-cupom-codigo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: var(--ds-r-sm, 10px);
  background: var(--sw-veu-1);
  box-shadow: inset 0 0 0 1px var(--sw-tinta-4);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-sm);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sw-tinta-1);
  cursor: copy;
  border: 0;
}

.sw-cupom-codigo::after {
  content: "";
  width: 11px;
  height: 12px;
  flex: none;
  border: 1.2px solid currentColor;
  border-radius: 2px;
  box-shadow: 3px -3px 0 -1px var(--sw-superficie), 3px -3px 0 currentColor;
  opacity: 0.6;
}

.sw-cupom-codigo.is-copiado::after {
  width: 6px; height: 10px;
  border: 0;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  border-radius: 0;
  box-shadow: none;
  transform: rotate(45deg) translateY(-2px);
  opacity: 1;
}

.sw-cupom-prazo {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

.sw-cupom-selo {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  gap: 1px;
  min-width: 86px;
  padding: 14px 16px 12px;
  border-bottom-left-radius: var(--ds-r-lg, 18px);
  background: var(--sw-acento);
  color: var(--sw-acento-tinta);
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  text-transform: none;
  pointer-events: none;
}

.sw-cupom-selo small {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.72;
}

.sw-cupom-aviso {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  border-radius: var(--ds-r-md, 14px);
  margin-top: 10px;
  background: var(--sw-veu-1);
  box-shadow: inset 0 0 0 1px var(--sw-linha);
  font-size: var(--sw-fs-xs);
  line-height: 1.5;
  color: var(--sw-tinta-2);
  text-align: left;
}

.sw-cupom-aviso .sw-ico-selo {
  --sw-ico-selo-h: 34px;
  background: color-mix(in srgb, var(--sw-erro) 14%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-erro) 34%, transparent);
  color: var(--sw-erro);
}

.sw-cupom-aviso b { color: var(--sw-tinta-1); font-weight: 700; }

.sw-plano--cupom.sw-plano--destaque { background: var(--sw-superficie-2); }

.sw-plano--cupom-cheio {
  background: var(--sw-cupom-cor, var(--sw-acento));
  --sw-tinta-1: var(--sw-cupom-tinta, var(--sw-acento-tinta));
  --sw-tinta-2: color-mix(in srgb, var(--sw-cupom-tinta, var(--sw-acento-tinta)) 76%, transparent);

  --sw-tinta-3: color-mix(in srgb, var(--sw-cupom-tinta, var(--sw-acento-tinta)) 68%, transparent);
  --sw-tinta-4: color-mix(in srgb, var(--sw-cupom-tinta, var(--sw-acento-tinta)) 28%, transparent);
  --sw-veu-1: color-mix(in srgb, var(--sw-cupom-tinta, var(--sw-acento-tinta)) 10%, transparent);
  --sw-veu-2: color-mix(in srgb, var(--sw-cupom-tinta, var(--sw-acento-tinta)) 16%, transparent);
  --sw-linha: color-mix(in srgb, var(--sw-cupom-tinta, var(--sw-acento-tinta)) 20%, transparent);
  color: var(--sw-tinta-1);
}

.sw-plano--cupom-cheio .sw-btn--primario {
  background: var(--sw-cupom-tinta, var(--sw-acento-tinta));
  color: var(--sw-cupom-cor, var(--sw-acento));
}

.sw-plano--cupom-cheio .sw-cupom-selo {
  background: var(--sw-cupom-tinta, var(--sw-acento-tinta));
  color: var(--sw-cupom-cor, var(--sw-acento));
}

.sw-plano--cupom-cheio .sw-cupom-talao {
  --sw-tinta-1: #14161a;
  --sw-tinta-2: rgba(20, 22, 26, 0.7);
  --sw-tinta-3: rgba(20, 22, 26, 0.55);
}

.sw-cupom--verde { --sw-cupom-cor: var(--ds-green, #b8f14a); --sw-cupom-tinta: #0f1a05; }
.sw-cupom--tinta { --sw-cupom-cor: #14161a;                  --sw-cupom-tinta: #f6f5f3; }

.sw-cupons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  gap: var(--sw-gap);
  align-items: stretch;
}

.sw-cupons > .sw-plano--cupom {
  display: flex;
  flex-direction: column;
}

.sw-cupons > .sw-plano--cupom > .sw-cupom-corpo { flex: 1; justify-content: center; }

@media (max-width: 560px) {
  .sw-cupom-rotulos { justify-content: center; }
  .sw-cupom-talao .sw-codbarras { max-width: 100%; }
}

@media (pointer: coarse) {

  .sw-cupom-codigo { min-height: 44px; }
}

/* ========================================================================
   css/shark-web.modal.css
   ======================================================================== */
.sw-modal {
  width: min(560px, calc(100vw - 2 * var(--sw-gutter)));

  max-height: min(84vh, 760px);
  max-height: min(84dvh, 760px);
  padding: 0;
  border: 0;
  border-radius: var(--ds-r-xl, 24px);
  background: var(--sw-superficie);
  color: var(--sw-tinta-1);
  overflow: hidden;

  display: flex;
  flex-direction: column;

  box-shadow: 0 40px 120px rgba(0, 0, 0, 0.62),
              inset 0 0 0 1px var(--sw-linha);
}

.sw-modal--lg { width: min(760px, calc(100vw - 2 * var(--sw-gutter))); }
.sw-modal--sm { width: min(420px, calc(100vw - 2 * var(--sw-gutter))); }

.sw-modal::backdrop {
  background: rgba(0, 0, 0, 0.68);
  backdrop-filter: blur(6px) saturate(0.7);
  -webkit-backdrop-filter: blur(6px) saturate(0.7);
}

@media (prefers-reduced-motion: no-preference) {
  .sw-modal {
    opacity: 0;
    transform: translateY(14px) scale(0.985);
    transition: opacity var(--sw-dur-2) var(--sw-ease),
                transform var(--sw-dur-2) var(--sw-ease),
                overlay var(--sw-dur-2) allow-discrete,
                display var(--sw-dur-2) allow-discrete;
  }

  .sw-modal[open] { opacity: 1; transform: none; }

  @starting-style {
    .sw-modal[open] { opacity: 0; transform: translateY(14px) scale(0.985); }
  }

  .sw-modal::backdrop {
    opacity: 0;
    transition: opacity var(--sw-dur-2) var(--sw-ease),
                overlay var(--sw-dur-2) allow-discrete,
                display var(--sw-dur-2) allow-discrete;
  }

  .sw-modal[open]::backdrop { opacity: 1; }

  @starting-style {
    .sw-modal[open]::backdrop { opacity: 0; }
  }
}

.sw-modal-topo {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--sw-gap-sm);
  padding: var(--sw-gap) var(--sw-gap) 0;
}

.sw-modal-corpo {
  padding: var(--sw-gap-sm) var(--sw-gap) var(--sw-gap);
  overflow-y: auto;

  flex: 1 1 auto;
  min-height: 0;

  overscroll-behavior: contain;
}

.sw-modal-titulo {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 700;
  letter-spacing: -0.028em;
  line-height: 1.15;
  margin: 0;
  color: var(--sw-tinta-1);
}

.sw-modal-texto {
  margin: 10px 0 0;
  font-size: var(--sw-fs-sm);
  line-height: var(--sw-lh-body, 1.6);
  color: var(--sw-tinta-2);
  max-width: 52ch;
}

.sw-modal-pe {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: var(--sw-gap-sm) var(--sw-gap) var(--sw-gap);
  box-shadow: inset 0 1px 0 var(--sw-linha);
  flex-wrap: wrap;
}

.sw-modal-pe--espalha { justify-content: space-between; }

.sw-modal-fechar {
  position: absolute;
  top: calc(var(--sw-gap) - 8px);
  right: calc(var(--sw-gap) - 8px);
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--sw-veu-1);
  color: var(--sw-tinta-2);
  cursor: pointer;
  font-size: 14px;
  transition: background var(--sw-dur-1) var(--sw-ease), color var(--sw-dur-1) var(--sw-ease);
}

.sw-modal-fechar:hover { background: var(--sw-veu-2); color: var(--sw-tinta-1); }

.sw-modal-fechar:focus-visible {
  outline: 2px solid var(--sw-acento);
  outline-offset: 2px;
}

.sw-modal--generico .sw-modal-topo { padding-right: calc(var(--sw-gap) + 32px); }

.sw-modal--atencao {
  box-shadow: 0 40px 120px rgba(0, 0, 0, 0.62),
              inset 0 0 0 1px color-mix(in srgb, var(--sw-erro) 34%, transparent);
}

.sw-modal--atencao .sw-modal-topo::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--sw-erro);
}

.sw-modal--atencao .sw-ico-selo {
  background: color-mix(in srgb, var(--sw-erro) 16%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-erro) 38%, transparent);
  color: var(--sw-erro);
}

.sw-btn--perigo {
  background: var(--sw-erro);
  color: #fff;
  box-shadow: none;
}

.sw-btn--perigo:hover { filter: brightness(1.12); }

.sw-modal--oportunidade {
  isolation: isolate;
  overflow: hidden;
  background: var(--sw-superficie-2);
}

.sw-modal--oportunidade::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -46%;
  width: 130%;
  aspect-ratio: 2 / 1;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center,
    color-mix(in srgb, var(--sw-acento) 30%, transparent), transparent 64%);
  z-index: -1;
  pointer-events: none;
}

.sw-modal--oportunidade .sw-modal-topo {
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: var(--sw-gap-lg);
}

.sw-modal--oportunidade .sw-modal-corpo { text-align: center; }
.sw-modal--oportunidade .sw-modal-texto { margin-inline: auto; }
.sw-modal--oportunidade .sw-modal-pe { justify-content: center; }

.sw-modal-selo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--sw-acento) 18%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-acento) 44%, transparent);
  color: var(--sw-acento);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.sw-modal-relogio {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  color: var(--sw-tinta-1);
}

.sw-modal-relogio small {
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

@media (max-width: 560px) {
  .sw-modal {
    width: 100%;
    max-width: none;
    max-height: 88vh;
    margin: auto auto 0;
    border-radius: var(--ds-r-xl, 24px) var(--ds-r-xl, 24px) 0 0;
  }

  @media (prefers-reduced-motion: no-preference) {
    .sw-modal { transform: translateY(100%); }
    .sw-modal[open] { transform: none; }
    @starting-style { .sw-modal[open] { transform: translateY(100%); } }
  }

  .sw-modal-topo::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 38px;
    height: 4px;
    border-radius: 999px;
    background: var(--sw-tinta-4);
  }

  .sw-modal-pe { flex-direction: column-reverse; align-items: stretch; }
  .sw-modal-pe .sw-btn { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-modal, .sw-modal::backdrop { transition: none; }
}

/* ========================================================================
   css/shark-web.carta.css
   ======================================================================== */
.sw-carta {
  --sw-carta-x: 50%;
  --sw-carta-y: 50%;
  --sw-carta-rx: 0deg;
  --sw-carta-ry: 0deg;
  --sw-carta-persp: 900;
  --sw-carta-z: 26;
  --sw-carta-luz: 0;

  --sw-carta-forca: 1;
  --sw-holo-base: 0.19;
  --sw-holo-pico: 0.36;

  position: relative;
  display: block;
  width: 100%;
  max-width: var(--sw-carta-larg, 320px);
  aspect-ratio: 5 / 7;
  border-radius: var(--ds-r-lg, 18px);

  overflow: visible;
  isolation: isolate;

  background: var(--ds-surface, #0b0c0d);
  color: #fff;
  text-decoration: none;
  transform: perspective(calc(var(--sw-carta-persp, 900) * 1px))
             rotateX(var(--sw-carta-rx))
             rotateY(var(--sw-carta-ry));
  transform-style: preserve-3d;

  box-shadow:
    inset 0 0 0 1px var(--sw-veu-3),
    0 18px 44px rgba(0, 0, 0, 0.45),
    0 0 var(--sw-carta-halo, 0px) color-mix(in srgb, var(--sw-acento) 45%, transparent);
  transition: transform 380ms var(--sw-ease), box-shadow 380ms var(--sw-ease);
  will-change: transform;
}

.sw-carta.is-ativa {
  transition: transform 90ms linear, box-shadow 380ms var(--sw-ease);
  --sw-carta-halo: 46px;
}

.sw-carta--lg { --sw-carta-larg: 400px; }
.sw-carta--sm { --sw-carta-larg: 230px; }

.sw-carta-arte {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  overflow: hidden;
}

.sw-carta-arte img,
.sw-carta-arte video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  transform: scale(1.06) translate3d(
    calc((var(--sw-carta-ry) / 1deg) * -0.4px),
    calc((var(--sw-carta-rx) / 1deg) * 0.4px), 0);
  transition: transform 380ms var(--sw-ease);
}

.sw-carta.is-ativa .sw-carta-arte img,
.sw-carta.is-ativa .sw-carta-arte video { transition: transform 90ms linear; }

.sw-carta-arte::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
    rgba(0, 0, 0, 0.86) 0%,
    rgba(0, 0, 0, 0.62) 24%,
    rgba(0, 0, 0, 0.18) 52%,
    transparent 74%);
}

.sw-carta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  pointer-events: none;
  background-image:

    repeating-linear-gradient(
      115deg,
      var(--sw-holo-1, #0a84ff)   0%,
      var(--sw-holo-2, #22d3ee)   7%,
      var(--sw-holo-3, #7c5cff)  14%,
      var(--sw-holo-4, #e455c8)  21%,
      var(--sw-holo-1, #0a84ff)  28%),

    repeating-linear-gradient(
      -35deg,
      rgba(255, 255, 255, 0.00)  0%,
      rgba(255, 255, 255, 0.42)  4%,
      rgba(255, 255, 255, 0.00)  9%),

    repeating-conic-gradient(
      from 0deg at 50% 50%,
      rgba(255, 255, 255, 0.12) 0deg 3deg,
      transparent 3deg 6deg);
  background-size: 260% 260%, 200% 200%, 5px 5px;
  background-position:
    calc(var(--sw-carta-x) * 1.4) calc(var(--sw-carta-y) * 1.4),
    calc(100% - var(--sw-carta-x)) calc(100% - var(--sw-carta-y)),
    0 0;
  background-blend-mode: color-dodge, overlay, overlay;

  filter: brightness(0.62) contrast(1.5) saturate(0.75);
  mix-blend-mode: color-dodge;

  opacity: calc((var(--sw-holo-base) + var(--sw-carta-luz) * var(--sw-holo-pico))
                * var(--sw-carta-forca));
  transition: opacity 380ms var(--sw-ease);
}

.sw-carta.is-ativa::before { transition: opacity 90ms linear; }

.sw-carta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(
    circle at var(--sw-carta-x) var(--sw-carta-y),
    rgba(255, 255, 255, 0.55) 0%,
    rgba(255, 255, 255, 0.14) 22%,
    transparent 55%);
  mix-blend-mode: overlay;
  opacity: var(--sw-carta-luz);
  transition: opacity 300ms var(--sw-ease);
}

.sw-carta-corpo {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;

  transform: translateZ(calc(var(--sw-carta-z) * 1px))
             scale(calc(1 - var(--sw-carta-z) / var(--sw-carta-persp)));
}

.sw-carta-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: auto;
}

.sw-carta-raro {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;

  background: rgba(0, 0, 0, 0.86);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
}

.sw-carta-num {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 9.5px;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.72);
  font-variant-numeric: tabular-nums;
}

.sw-carta-titulo {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6);
}

.sw-carta-texto {
  margin: 7px 0 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.82);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.6);
}

.sw-carta-pe {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
  padding-top: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.sw-carta-pe b {
  font-size: 17px;
  letter-spacing: -0.01em;
  color: #fff;
  text-transform: none;
  font-variant-numeric: tabular-nums;
}

.sw-carta--bonus {
  --sw-holo-1: #0a84ff;
  --sw-holo-2: #22d3ee;
  --sw-holo-3: #4f7cff;
  --sw-holo-4: #7c5cff;
}

.sw-carta--cupom {
  mask-image:
    radial-gradient(circle 12px at 0 68%, transparent 98%, #000 100%),
    radial-gradient(circle 12px at 100% 68%, transparent 98%, #000 100%);
  mask-composite: intersect;
  -webkit-mask-image:
    radial-gradient(circle 12px at 0 68%, transparent 98%, #000 100%),
    radial-gradient(circle 12px at 100% 68%, transparent 98%, #000 100%);
  -webkit-mask-composite: source-in;
}

.sw-carta--cupom .sw-carta-pe {
  margin-top: 16px;
  padding-top: 14px;
  box-shadow: none;
  background: repeating-linear-gradient(90deg,
    rgba(255, 255, 255, 0.4) 0 5px, transparent 5px 10px) top / 100% 1px no-repeat;
}

.sw-carta--raro {
  --sw-holo-1: #94a3b8;
  --sw-holo-2: #e2e8f0;
  --sw-holo-3: #64748b;
  --sw-holo-4: #cbd5e1;
}

.sw-carta--raro { --sw-holo-base: 0.42; --sw-holo-pico: 0.34; }

.sw-carta--espectro {
  --sw-holo-1: #ff2d55;
  --sw-holo-2: #ffd60a;
  --sw-holo-3: #30d158;
  --sw-holo-4: #0a84ff;
}

.sw-carta-mao {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 14px;
  padding-block: 20px;
}

.sw-carta-mao > * {
  --sw-d: calc(var(--sw-i, 0) - (var(--sw-n, 3) - 1) / 2);

  margin-inline: 0;
  transform: perspective(900px)
             rotate(calc(var(--sw-d) * 7deg))
             translateY(calc(abs(var(--sw-d)) * 14px))
             rotateX(var(--sw-carta-rx))
             rotateY(var(--sw-carta-ry));
  z-index: calc(10 - abs(var(--sw-d)));
  transition: transform 420ms var(--sw-ease), z-index 0s;
}

.sw-carta-mao > *:hover,
.sw-carta-mao > *:focus-visible {
  z-index: 20;
  transform: perspective(900px)
             rotate(calc(var(--sw-d) * 2deg))
             translateY(-18px)
             rotateX(var(--sw-carta-rx))
             rotateY(var(--sw-carta-ry));
}

@media (max-width: 720px) {
  .sw-carta-mao { flex-wrap: wrap; gap: var(--sw-gap-sm); }
  .sw-carta-mao > * { margin-inline: 0; transform: none; }
  .sw-carta-mao > *:hover { transform: translateY(-8px); }
}

@media (prefers-reduced-motion: no-preference) {
  .sw-carta.is-varrendo::before {

    animation: sw-carta-varre 1500ms var(--sw-ease-inout) both;
  }
}

@keyframes sw-carta-varre {
  0%   { opacity: 0.19; }
  50%  { opacity: 0.68; }
  100% { opacity: 0.19; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-carta,
  .sw-carta::before,
  .sw-carta::after,
  .sw-carta-arte img,
  .sw-carta-mao > * { transition: none; animation: none; }

  .sw-carta { transform: none; }
  .sw-carta-arte img, .sw-carta-arte video { transform: scale(1.06); }
}

.sw-carta-palco {
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  max-height: 100vh;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: hidden;
}

.sw-carta-palco::backdrop {
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(20px) saturate(0.6);
  -webkit-backdrop-filter: blur(20px) saturate(0.6);
}

.sw-carta-palco-caixa {
  display: grid;
  place-items: center;
  height: 100%;
  padding: clamp(20px, 5vw, 60px);

  perspective: 1600px;
}

.sw-carta-palco-dica {
  position: absolute;
  left: 50%;
  bottom: clamp(14px, 3vw, 30px);
  translate: -50% 0;
  padding: 7px 14px;
  border-radius: var(--ds-r-pill, 999px);
  background: rgba(0, 0, 0, 0.6);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(254, 254, 254, 0.72);
  pointer-events: none;
  transition: opacity var(--sw-dur-2) var(--sw-ease);
}

.sw-carta-palco.is-explorado .sw-carta-palco-dica { opacity: 0; }

.sw-carta.is-aberta {
  --sw-carta-larg: min(78vw, 400px);
  --sw-carta-persp: 1600;

  --sw-carta-z: 40;
  cursor: default;
  box-shadow:
    inset 0 0 0 1px var(--sw-veu-4),
    0 40px 120px rgba(0, 0, 0, 0.7),
    0 0 90px color-mix(in srgb, var(--sw-acento) 30%, transparent);
}

.sw-carta.is-aberta { --sw-holo-base: 0.42; --sw-holo-pico: 0.44; }

.sw-carta.is-aberta .sw-carta-texto { opacity: 0.86; }
.sw-carta.is-aberta .sw-carta-titulo { font-size: 27px; }
.sw-carta.is-aberta .sw-carta-corpo { padding: 22px; }

.sw-carta-marca { display: block; flex: none; }

.sw-carta[data-sw-abre] { cursor: zoom-in; }

.sw-carta[data-sw-abre]::before,
.sw-carta[data-sw-abre]::after { pointer-events: none; }

@media (prefers-reduced-motion: no-preference) {
  .sw-carta-palco[open] { animation: sw-carta-palco-entra 320ms var(--sw-ease); }
}

@keyframes sw-carta-palco-entra { from { opacity: 0; } }

.sw-carta--acao {

  cursor: default;
}

.sw-carta--acao[data-sw-abre] { cursor: default; }

.sw-carta-acao {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 12px;
}

.sw-carta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 16px;
  border: 0;
  border-radius: var(--ds-r-pill, 999px);

  background: var(--ds-green, #00ff5f);
  color: #001b0a;
  font-family: var(--ds-body, "Manrope", system-ui, sans-serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: filter var(--sw-dur-1) var(--sw-ease),
              transform var(--sw-dur-1) var(--sw-ease);
}

.sw-carta-btn:hover,
.sw-carta-btn:focus-visible {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.sw-carta-btn:active { transform: translateY(0); }

.sw-carta-btn--fantasma {
  background: rgba(0, 0, 0, 0.72);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.34);
  color: #fff;
  font-weight: 600;
}

.sw-carta-btn--fantasma:hover,
.sw-carta-btn--fantasma:focus-visible {
  background: rgba(0, 0, 0, 0.86);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
  filter: none;
}

.sw-carta-acao small {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 9.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(255, 255, 255, 0.72);
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
}

.sw-carta--acao .sw-carta-texto { margin-top: 5px; }
.sw-carta--acao .sw-carta-pe { margin-top: 10px; padding-top: 9px; }

.sw-carta--acao.is-aberta .sw-carta-btn { padding: 14px 20px; font-size: 15px; }
.sw-carta--acao.is-aberta .sw-carta-acao { margin-top: 16px; gap: 9px; }

@media (prefers-reduced-motion: reduce) {
  .sw-carta-btn { transition: none; }
  .sw-carta-btn:hover { transform: none; }
}

@media (pointer: coarse) {

  .sw-carta-btn {
    min-height: calc(44px / (1 - var(--sw-carta-z, 26) / var(--sw-carta-persp, 900)));
  }
}

/* ========================================================================
   css/shark-web.brilho.css
   ======================================================================== */
.sw-carta--brilho-min   { --sw-carta-forca: 0.3; }
.sw-carta--brilho-fraco { --sw-carta-forca: 0.55; }
.sw-carta--brilho-forte { --sw-carta-forca: 1.35; }

.sw-carta--brilho-prisma::before {
  background-image:
    repeating-linear-gradient(115deg,
      var(--sw-holo-1, #0a84ff)   0%,
      var(--sw-holo-2, #22d3ee)   7%,
      var(--sw-holo-3, #7c5cff)  14%,
      var(--sw-holo-4, #e455c8)  21%,
      var(--sw-holo-1, #0a84ff)  28%),
    repeating-linear-gradient(-35deg,
      rgba(255, 255, 255, 0.00)  0%,
      rgba(255, 255, 255, 0.42)  4%,
      rgba(255, 255, 255, 0.00)  9%),
    repeating-conic-gradient(from 0deg at 50% 50%,
      rgba(255, 255, 255, 0.12) 0deg 3deg,
      transparent 3deg 6deg);
  background-size: 260% 260%, 200% 200%, 5px 5px;
  background-position:
    calc(var(--sw-carta-x) * 1.4) calc(var(--sw-carta-y) * 1.4),
    calc(100% - var(--sw-carta-x)) calc(100% - var(--sw-carta-y)),
    0 0;
  background-blend-mode: color-dodge, overlay, overlay;

  filter: brightness(0.62) contrast(1.5) saturate(0.75);
  mix-blend-mode: color-dodge;
}

.sw-carta--brilho-linhas {
  --sw-brilho-linha: 1.6px;
  --sw-holo-base: 0.16;
  --sw-holo-pico: 0.4;
}

.sw-carta--brilho-linhas::before {
  background-image:
    repeating-linear-gradient(112deg,
      var(--sw-holo-1, #0a84ff)   0%,
      var(--sw-holo-2, #22d3ee)   9%,
      var(--sw-holo-3, #7c5cff)  18%,
      var(--sw-holo-4, #e455c8)  27%,
      var(--sw-holo-1, #0a84ff)  36%),
    repeating-linear-gradient(90deg,
      rgba(0, 0, 0, 0.55)        calc(var(--sw-brilho-linha) * 0),
      rgba(0, 0, 0, 0.55)        calc(var(--sw-brilho-linha) * 2),
      rgba(255, 255, 255, 0.65)  calc(var(--sw-brilho-linha) * 2),
      rgba(255, 255, 255, 0.65)  calc(var(--sw-brilho-linha) * 4));
  background-size: 400% 400%, cover;
  background-position:
    calc(((50% - var(--sw-carta-x)) * 2.6) + 50%)
    calc(((50% - var(--sw-carta-y)) * 3.5) + 50%),
    center center;
  background-blend-mode: overlay;
  filter: brightness(0.6) contrast(1.15) saturate(0.7);
  mix-blend-mode: color-dodge;
}

@media (max-width: 700px) {
  .sw-carta--brilho-linhas { --sw-brilho-linha: 0.9px; }
}

.sw-carta--brilho-pilar {
  --sw-brilho-barra: 8px;

  --sw-holo-base: 0.12;
  --sw-holo-pico: 0.3;
}

.sw-carta--brilho-pilar::before {
  background-image:
    repeating-linear-gradient(90deg,
      transparent                calc(var(--sw-brilho-barra) * 2),
      rgba(180, 220, 255, 0.85)  calc(var(--sw-brilho-barra) * 3),
      transparent                calc(var(--sw-brilho-barra) * 3.5),
      rgba(140, 255, 220, 0.75)  calc(var(--sw-brilho-barra) * 4),
      transparent                calc(var(--sw-brilho-barra) * 5),
      transparent                calc(var(--sw-brilho-barra) * 14)),
    repeating-linear-gradient(90deg,
      transparent                calc(var(--sw-brilho-barra) * 2),
      rgba(200, 170, 255, 0.8)   calc(var(--sw-brilho-barra) * 3),
      transparent                calc(var(--sw-brilho-barra) * 3.5),
      rgba(120, 190, 255, 0.7)   calc(var(--sw-brilho-barra) * 4),
      transparent                calc(var(--sw-brilho-barra) * 5),
      transparent                calc(var(--sw-brilho-barra) * 10));
  background-size: 200% 200%, 200% 200%;

  background-position:
    calc((((50% - var(--sw-carta-x)) * 1.65) + 50%) + (var(--sw-carta-y) * 0.5)) var(--sw-carta-x),
    calc((((50% - var(--sw-carta-x)) * -0.9) + 50%) - (var(--sw-carta-y) * 0.75)) var(--sw-carta-y);
  background-blend-mode: screen;

  filter: brightness(0.92) contrast(1.1) saturate(0.85);
  mix-blend-mode: overlay;
}

.sw-carta--brilho-vidro {
  --sw-holo-base: 0.1;
  --sw-holo-pico: 0.5;
}

.sw-carta--brilho-vidro::before {
  background-image:
    radial-gradient(farthest-corner circle at var(--sw-carta-x) var(--sw-carta-y),
      rgba(255, 255, 255, 0.9) 0%,
      rgba(255, 255, 255, 0.28) 22%,
      rgba(255, 255, 255, 0) 62%),
    linear-gradient(105deg,
      transparent 40%,
      rgba(255, 255, 255, 0.16) 48%,
      transparent 56%);
  background-size: cover, 300% 300%;
  background-position: center center, calc(100% - var(--sw-carta-x)) 0;
  background-blend-mode: screen;
  filter: brightness(0.85) contrast(1.25);
  mix-blend-mode: soft-light;
}

.sw-carta--brilho-metal {
  --sw-holo-base: 0.22;
  --sw-holo-pico: 0.34;
}

.sw-carta--brilho-metal::before {
  background-image:
    radial-gradient(farthest-corner circle at var(--sw-carta-x) var(--sw-carta-y),
      hsla(0, 0%, 92%, 0.85) 0%,
      hsla(0, 0%, 76%, 0.14) 26%,
      hsla(0, 0%, 0%, 0) 88%),
    repeating-linear-gradient(100deg,
      rgba(255, 255, 255, 0.10) 0px,
      rgba(255, 255, 255, 0.10) 1px,
      rgba(0, 0, 0, 0.10) 1px,
      rgba(0, 0, 0, 0.10) 3px);
  background-size: cover, cover;
  background-blend-mode: overlay;
  filter: brightness(0.7) contrast(3.2);
  mix-blend-mode: luminosity;
}

.sw-carta--brilho-fumaca {
  --sw-holo-base: 0.2;
  --sw-holo-pico: 0.4;
}

.sw-carta--brilho-fumaca::before {
  background-image:
    radial-gradient(farthest-corner circle at var(--sw-carta-x) var(--sw-carta-y),
      rgba(255, 255, 255, 0.55) 0%,
      rgba(120, 140, 190, 0.35) 28%,
      rgba(10, 12, 20, 0.9) 78%),
    repeating-conic-gradient(from 12deg at 50% 50%,
      rgba(255, 255, 255, 0.16) 0deg 2deg,
      transparent 2deg 5deg);
  background-size: 300% 300%, 7px 7px;
  background-position:
    calc(20% + var(--sw-carta-x) * 0.6) calc(20% + var(--sw-carta-y) * 0.6),
    0 0;
  background-blend-mode: multiply;
  filter: brightness(1.2) contrast(1.6) saturate(0.8);
  mix-blend-mode: color-burn;
}

.sw-carta--brilho-onda {
  --sw-holo-base: 0.15;
  --sw-holo-pico: 0.44;
}

.sw-carta--brilho-onda::before {
  background-image:
    repeating-linear-gradient(108deg,
      var(--sw-holo-1, #0a84ff)   0%,
      var(--sw-holo-2, #22d3ee)   8%,
      var(--sw-holo-3, #7c5cff)  16%,
      var(--sw-holo-4, #e455c8)  24%,
      var(--sw-holo-1, #0a84ff)  32%),

    repeating-linear-gradient(-96deg,
      var(--sw-holo-2, #22d3ee)   0%,
      var(--sw-holo-3, #7c5cff)   9%,
      var(--sw-holo-4, #e455c8)  18%,
      var(--sw-holo-1, #0a84ff)  27%,
      var(--sw-holo-2, #22d3ee)  36%);
  background-size: 320% 320%, 280% 280%;
  background-position:
    calc(var(--sw-carta-x) * 1.8) calc(var(--sw-carta-y) * 1.2),
    calc(100% - var(--sw-carta-x) * 1.3) calc(100% - var(--sw-carta-y) * 1.7);
  background-blend-mode: difference;
  filter: brightness(0.8) contrast(1.9) saturate(0.85);
  mix-blend-mode: color-dodge;
}

@media (prefers-reduced-motion: reduce) {
  .sw-carta--brilho-prisma::before,
  .sw-carta--brilho-linhas::before,
  .sw-carta--brilho-pilar::before,
  .sw-carta--brilho-vidro::before,
  .sw-carta--brilho-metal::before,
  .sw-carta--brilho-fumaca::before,
  .sw-carta--brilho-onda::before {
    transition: none;
  }
}

/* ========================================================================
   css/shark-web.profundidade.css
   ======================================================================== */
.sw-carta--profundidade {

  --sw-prof-0:  0.055;
  --sw-prof-1:  0;
  --sw-prof-2: -0.02;
  --sw-prof-3: -0.035;
  --sw-prof-4: -0.055;

  --sw-prof-5: -0.095;

  --sw-prof-z: 10px;

  isolation: isolate;
}

.sw-carta-cena {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;

  overflow: hidden;
  transform-style: preserve-3d;

  background: var(--ds-sunken, #060707);
}

.sw-carta-camada {
  position: absolute;

  inset: -3%;
  width: 106%;
  height: 106%;
  object-fit: cover;
  display: block;
  pointer-events: none;

  transition: translate 380ms var(--sw-ease);
  will-change: translate;
}

.sw-carta.is-ativa .sw-carta-camada {

  transition: translate 90ms linear;
}

.sw-carta-camada:nth-of-type(1) {
  z-index: 6;
  translate:
    calc((var(--sw-carta-x, 50%) - 50%) * var(--sw-prof-0))
    calc((var(--sw-carta-y, 50%) - 50%) * var(--sw-prof-0));
}

.sw-carta-camada:nth-of-type(2) {
  z-index: 5;
  translate:
    calc((var(--sw-carta-x, 50%) - 50%) * var(--sw-prof-1))
    calc((var(--sw-carta-y, 50%) - 50%) * var(--sw-prof-1));
}

.sw-carta-camada:nth-of-type(3) {
  z-index: 4;
  translate:
    calc((var(--sw-carta-x, 50%) - 50%) * var(--sw-prof-2))
    calc((var(--sw-carta-y, 50%) - 50%) * var(--sw-prof-2));
}

.sw-carta-camada:nth-of-type(4) {
  z-index: 3;
  translate:
    calc((var(--sw-carta-x, 50%) - 50%) * var(--sw-prof-3))
    calc((var(--sw-carta-y, 50%) - 50%) * var(--sw-prof-3));
}

.sw-carta-camada:nth-of-type(5) {
  z-index: 2;
  translate:
    calc((var(--sw-carta-x, 50%) - 50%) * var(--sw-prof-4))
    calc((var(--sw-carta-y, 50%) - 50%) * var(--sw-prof-4));
}

.sw-carta-camada:nth-of-type(6) {
  z-index: 1;
  translate:
    calc((var(--sw-carta-x, 50%) - 50%) * var(--sw-prof-5))
    calc((var(--sw-carta-y, 50%) - 50%) * var(--sw-prof-5));
}

.sw-carta-camada--moldura {
  inset: 0;
  width: 100%;
  height: 100%;
  translate: none;
}

.sw-carta-camada:nth-of-type(6) {
  inset: -6%;
  width: 112%;
  height: 112%;
}

.sw-carta-cena::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 7;
  pointer-events: none;
  background: linear-gradient(to bottom,
    rgba(0, 0, 0, 0.62) 0%,
    rgba(0, 0, 0, 0.28) 12%,
    transparent 26%);
}

.sw-carta--profundidade {

  aspect-ratio: 1472 / 2054;
}

.sw-carta--profundidade-ficha {

  aspect-ratio: auto;
  display: flex;
  flex-direction: column;
}

.sw-carta--profundidade-ficha .sw-carta-cena {

  position: relative;
  inset: auto;
  width: 100%;
  aspect-ratio: 1472 / 2054;
  flex: none;
  border-radius: var(--ds-r-lg, 18px) var(--ds-r-lg, 18px) 0 0;
}

.sw-carta--profundidade-ficha .sw-carta-corpo {
  position: relative;
  height: auto;
  flex: 1 1 auto;

  background: var(--ds-surface, #0b0c0d);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  justify-content: flex-start;
  gap: 9px;
  padding: 14px 16px 16px;

  transform: none;
}

.sw-carta--profundidade-ficha .sw-carta-topo {
  margin-bottom: 0;
}

.sw-carta--profundidade-ficha .sw-carta-texto { margin: 0; }
.sw-carta--profundidade-ficha .sw-carta-form { margin-top: 3px; }

.sw-carta--profundidade-ficha .sw-carta-cena::after { display: none; }

.sw-carta--profundidade .sw-carta-corpo { z-index: 10; }

.sw-carta--profundidade::before,
.sw-carta--profundidade::after { z-index: 8; }

.sw-carta-camada { opacity: 0; transition: translate 380ms var(--sw-ease), opacity 520ms var(--sw-ease); }
.sw-carta-camada.is-carregada { opacity: 1; }

html:not(.sw-img-js) .sw-carta-camada { opacity: 1; }

.sw-carta-cena .sw-skel {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 0;
}

.sw-carta-cena.is-pronta .sw-skel { opacity: 0; pointer-events: none; }

.sw-carta--profundidade:focus-within {
  --sw-carta-rx: 0deg;
  --sw-carta-ry: 0deg;
  --sw-carta-luz: 0;
  transform: none;
}

.sw-carta--profundidade:focus-within .sw-carta-camada {
  translate: none;
}

.sw-carta--profundidade:focus-within .sw-carta-cena {
  transform-style: flat;
}

.sw-carta-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}

.sw-carta-form .sw-input,
.sw-carta-form .sw-select {
  background: rgba(0, 0, 0, 0.78);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.26);
  color: #fff;
  font-size: 14px;
  padding: 11px 13px;
  border-radius: var(--ds-r-md, 12px);
  width: 100%;
}

.sw-carta-form .sw-input::placeholder { color: rgba(255, 255, 255, 0.5); }

.sw-carta-form .sw-input:focus-visible {
  outline: 2px solid var(--ds-green, #00ff5f);
  outline-offset: 2px;
  background: rgba(0, 0, 0, 0.9);
}

.sw-carta-form .sw-input[aria-invalid="true"] {
  box-shadow: inset 0 0 0 1px var(--ds-red, #fd0000);
}

.sw-carta-erro {
  display: none;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: var(--ds-r-sm, 8px);
  background: rgba(0, 0, 0, 0.8);
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  color: #ff6b6b;
}

.sw-carta-form.is-invalido .sw-carta-erro { display: flex; }

.sw-carta-form.is-enviado .sw-carta-btn {
  background: rgba(0, 0, 0, 0.78);
  box-shadow: inset 0 0 0 1px var(--ds-green, #00ff5f);
  color: var(--ds-green, #00ff5f);
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .sw-carta-camada { transition: opacity 520ms linear; translate: none; }
}

/* ========================================================================
   css/shark-web.travessia.css
   ======================================================================== */
.sw-travessia {
  position: relative;
  width: 100%;
  height: var(--sw-travessia-h, clamp(140px, 22vw, 260px));
  overflow: hidden;
  pointer-events: none;

  contain: paint;
  color: var(--sw-tinta-1);
}

.sw-travessia--divisa { --sw-travessia-h: clamp(90px, 12vw, 150px); margin-block: calc(var(--sw-secao-y, 96px) * -0.35); }

.sw-travessia--fundo {
  position: absolute;
  inset: 0;
  height: auto;
  z-index: 0;
  opacity: 0.5;
}

.sw-travessia-bicho {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--sw-travessia-w, clamp(150px, 20vw, 300px));

  translate: -140% -50%;
  will-change: translate, rotate;
}

.sw-travessia-bicho > svg,
.sw-travessia-bicho > .sw-logo-icone {
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;

  transform: scaleX(var(--sw-travessia-face, 1));
}

.sw-travessia--sonar .sw-travessia-bicho > svg {
  mask-image: linear-gradient(90deg,
    transparent 0%,
    #000 var(--sw-sonar-a, 30%),
    #000 var(--sw-sonar-b, 100%));
  -webkit-mask-image: linear-gradient(90deg,
    transparent 0%,
    #000 var(--sw-sonar-a, 30%),
    #000 var(--sw-sonar-b, 100%));
}

.sw-travessia-esteira { display: none; }
.sw-travessia--esteira .sw-travessia-esteira,
.sw-travessia--passagem .sw-travessia-esteira { display: block; }

.sw-travessia-esteira {
  position: absolute;
  top: 50%;
  right: 86%;
  width: var(--sw-esteira-alcance, 460px);
  height: 0;
  pointer-events: none;
}

.sw-travessia-esteira i {
  position: absolute;
  right: 0;
  display: block;
  height: 1px;

  background: linear-gradient(90deg, transparent, currentColor);
  opacity: 0;
}

.sw-travessia-esteira i:nth-child(1) { top: -13px; width: 62%; }
.sw-travessia-esteira i:nth-child(2) { top: 1px;   width: 100%; height: 1.6px; }
.sw-travessia-esteira i:nth-child(3) { top: 15px;  width: 44%; }

@media (prefers-reduced-motion: no-preference) {

  .sw-travessia .sw-travessia-bicho {
    animation:
      sw-travessia-x var(--sw-travessia-dur, 17s) linear infinite,
      sw-travessia-y calc(var(--sw-travessia-dur, 17s) / 7) ease-in-out infinite alternate;
  }

  .sw-travessia .sw-travessia-esteira i { opacity: 0.34; animation: none; }

  .sw-travessia--passagem .sw-travessia-bicho { animation: none; }

  .sw-travessia--passagem.is-nadando .sw-travessia-bicho {
    animation:
      sw-travessia-x var(--sw-travessia-dur, 4.2s) var(--sw-ease-inout) both,
      sw-travessia-y calc(var(--sw-travessia-dur, 4.2s) / 3.5) ease-in-out infinite alternate;
  }

  .sw-travessia--passagem .sw-travessia-esteira i { opacity: 0; }

  .sw-travessia--passagem.is-nadando .sw-travessia-esteira i {
    animation: sw-travessia-esteira var(--sw-travessia-dur, 4.2s) linear both;
  }

  .sw-travessia--passagem.is-nadando .sw-travessia-esteira i:nth-child(2) { animation-delay: 60ms; }
  .sw-travessia--passagem.is-nadando .sw-travessia-esteira i:nth-child(3) { animation-delay: 130ms; }
}

@keyframes sw-travessia-x {
  from { translate: -140% -58%; }
  to   { translate: calc(100vw + 40%) -44%; }
}

@keyframes sw-travessia-y {
  from { rotate: -2.4deg; }
  to   { rotate: 2.4deg; }
}

@keyframes sw-travessia-esteira {
  0%   { opacity: 0; }
  16%  { opacity: 0.4; }
  84%  { opacity: 0.4; }
  100% { opacity: 0; }
}

.sw-travessia-agua {
  position: absolute;
  inset: 0;
  opacity: 0.07;

  background-image:
    repeating-linear-gradient(177deg, currentColor 0 1px, transparent 1px 34px),
    repeating-linear-gradient(183deg, currentColor 0 1px, transparent 1px 57px);
  background-size: 200% 100%, 200% 100%;
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent);
}

@media (prefers-reduced-motion: no-preference) {
  .sw-travessia-agua { animation: sw-travessia-agua 22s linear infinite; }
}

@keyframes sw-travessia-agua {
  to { background-position: -200% 0, 200% 0; }
}

.sw-travessia--vulto .sw-travessia-bicho {
  filter: blur(14px);
  opacity: 0.5;
  color: var(--sw-fundo);
  mix-blend-mode: multiply;
}

[data-registro="repouso"] .sw-travessia--vulto .sw-travessia-bicho,
[data-registro="conversao"] .sw-travessia--vulto .sw-travessia-bicho,
[data-registro="cinema"] .sw-travessia--vulto .sw-travessia-bicho {
  color: var(--sw-tinta-1);
  mix-blend-mode: soft-light;
  opacity: 0.32;
}

@media (prefers-reduced-motion: reduce) {
  .sw-travessia-bicho {
    translate: calc(50vw - 50%) -50%;
    rotate: 0deg;
    animation: none;
  }
  .sw-travessia-esteira,
  .sw-travessia-agua { display: none; }
  .sw-travessia--sonar .sw-travessia-bicho > svg {
    mask-image: none;
    -webkit-mask-image: none;
    opacity: 0.5;
  }
}

/* ========================================================================
   css/shark-web.dither.css
   ======================================================================== */
.sw-dither {
  --sw-dither-passo: 6px;
  --sw-dither-r: 0.9px;

  --sw-dither-cor: var(--sw-mesh-dot, rgba(254, 254, 254, 0.18));
  --sw-dither-cor-2: color-mix(in srgb, var(--sw-dither-cor) 45%, transparent);
  --sw-dither-opacidade: 0.55;

  position: relative;

  isolation: isolate;
}

.sw-dither::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  opacity: var(--sw-dither-opacidade);
  background-image:
    radial-gradient(var(--sw-dither-cor)   var(--sw-dither-r), transparent var(--sw-dither-r)),
    radial-gradient(var(--sw-dither-cor-2) var(--sw-dither-r), transparent var(--sw-dither-r));
  background-size: var(--sw-dither-passo) var(--sw-dither-passo);
  background-position:
    0 0,
    calc(var(--sw-dither-passo) / 2) calc(var(--sw-dither-passo) / 2);
}

.sw-dither > * { position: relative; z-index: 1; }

.sw-dither--fraca  { --sw-dither-opacidade: 0.28; }

.sw-dither--forte  { --sw-dither-opacidade: 0.9; --sw-dither-r: 1.05px; }

.sw-dither--fina   { --sw-dither-passo: 4px; --sw-dither-r: 0.75px; }
.sw-dither--grossa { --sw-dither-passo: 9px; --sw-dither-r: 1.3px; }

.sw-dither--fade-b::after {
  mask-image: linear-gradient(to bottom, #000, transparent);
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent);
}

.sw-dither--fade-t::after {
  mask-image: linear-gradient(to top, #000, transparent);
  -webkit-mask-image: linear-gradient(to top, #000, transparent);
}

.sw-dither--fade-d::after {
  mask-image: linear-gradient(115deg, #000 10%, transparent 78%);
  -webkit-mask-image: linear-gradient(115deg, #000 10%, transparent 78%);
}

.sw-dither--borda::after {
  mask-image: radial-gradient(ellipse at center, transparent 38%, #000 88%);
  -webkit-mask-image: radial-gradient(ellipse at center, transparent 38%, #000 88%);
}

.sw-dither--tinta {
  --sw-dither-cor:   color-mix(in srgb, var(--sw-acento-tinta, #000) 26%, transparent);
  --sw-dither-cor-2: color-mix(in srgb, var(--sw-acento-tinta, #000) 12%, transparent);
}

.sw-dither--acento {
  --sw-dither-cor:   color-mix(in srgb, var(--sw-acento) 40%, transparent);
  --sw-dither-cor-2: color-mix(in srgb, var(--sw-acento) 18%, transparent);
}

.sw-dither-hosp { position: relative; isolation: isolate; }

.sw-dither-camada {
  --sw-dither-passo: 6px;
  --sw-dither-r: 0.9px;
  --sw-dither-cor: var(--sw-mesh-dot, rgba(254, 254, 254, 0.18));
  --sw-dither-cor-2: color-mix(in srgb, var(--sw-dither-cor) 45%, transparent);

  opacity: 0.55;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background-image:
    radial-gradient(var(--sw-dither-cor)   var(--sw-dither-r), transparent var(--sw-dither-r)),
    radial-gradient(var(--sw-dither-cor-2) var(--sw-dither-r), transparent var(--sw-dither-r));
  background-size: var(--sw-dither-passo) var(--sw-dither-passo);
  background-position:
    0 0,
    calc(var(--sw-dither-passo) / 2) calc(var(--sw-dither-passo) / 2);
}

.sw-dither-hosp > *:not(.sw-dither-camada) { position: relative; z-index: 1; }

@media (prefers-reduced-motion: no-preference) {
  .sw-dither--viva::after,
  .sw-dither-camada--viva { animation: sw-dither-anda 8s linear infinite; }
}

@keyframes sw-dither-anda {
  to { background-position:
         var(--sw-dither-passo) var(--sw-dither-passo),
         calc(var(--sw-dither-passo) * 1.5) calc(var(--sw-dither-passo) * 1.5); }
}

.sw-dither-faixa {
  height: var(--sw-dither-faixa-h, 64px);
  opacity: 0.6;
  width: 100%;
  --sw-dither-passo: 6px;
  --sw-dither-r: 0.9px;
  background-image:
    radial-gradient(var(--sw-mesh-dot, rgba(254, 254, 254, 0.18)) var(--sw-dither-r), transparent var(--sw-dither-r)),
    radial-gradient(color-mix(in srgb, var(--sw-mesh-dot, rgba(254, 254, 254, 0.18)) 45%, transparent) var(--sw-dither-r), transparent var(--sw-dither-r));
  background-size: var(--sw-dither-passo) var(--sw-dither-passo);
  background-position: 0 0, 3px 3px;
  mask-image:
    linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent),
    linear-gradient(to bottom, #000, transparent);
  mask-composite: intersect;
  -webkit-mask-image:
    linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent),
    linear-gradient(to bottom, #000, transparent);
  -webkit-mask-composite: source-in;
  pointer-events: none;
}

[data-registro="editorial"] .sw-dither,
[data-registro="editorial"] .sw-dither-camada,
[data-registro="editorial"] .sw-dither-faixa {
  --sw-dither-cor:   rgba(20, 22, 26, 0.22);
  --sw-dither-cor-2: rgba(20, 22, 26, 0.10);
}

[data-registro="editorial"] .sw-dither-faixa {
  background-image:
    radial-gradient(rgba(20, 22, 26, 0.22) var(--sw-dither-r), transparent var(--sw-dither-r)),
    radial-gradient(rgba(20, 22, 26, 0.10) var(--sw-dither-r), transparent var(--sw-dither-r));
}

/* ========================================================================
   css/shark-web.baralho.css
   ======================================================================== */
.sw-baralho {
  --sw-baralho-x:  98px;
  --sw-baralho-y: -34px;

  --sw-baralho-z:  -78px;
  --sw-baralho-giro: -17deg;
  --sw-baralho-larg: clamp(210px, 26vw, 300px);

  position: relative;
  display: grid;

  grid-template-columns: var(--sw-baralho-larg);
  justify-content: center;
  perspective: 1400px;
  perspective-origin: 42% 46%;

  padding: clamp(30px, 6vw, 70px) clamp(80px, 20vw, 300px) clamp(30px, 6vw, 70px) clamp(20px, 4vw, 50px);
}

.sw-baralho-carta {
  --sw-d: var(--sw-i, 0);

  grid-area: 1 / 1;
  position: relative;
  width: 100%;
  aspect-ratio: var(--sw-baralho-prop, 5 / 6);
  padding: clamp(14px, 2vw, 22px);
  border: 0;
  border-radius: clamp(14px, 2vw, 22px);
  background: var(--sw-baralho-cor, var(--sw-superficie-2));
  color: var(--sw-baralho-tinta, var(--sw-tinta-1));
  text-align: left;
  cursor: pointer;
  font: inherit;

  transform:
    translate3d(
      calc(var(--sw-d) * var(--sw-baralho-x)),
      calc(var(--sw-d) * var(--sw-baralho-y)),
      calc(var(--sw-d) * var(--sw-baralho-z)))
    rotateY(var(--sw-baralho-giro));
  transform-style: preserve-3d;

  z-index: calc(20 - var(--sw-d));
  box-shadow:
    0 var(--sw-baralho-sombra-y, 30px) var(--sw-baralho-sombra-b, 60px) rgba(0, 0, 0, 0.45),
    inset 0 0 0 1px var(--sw-veu-2);

  transition:
    transform 620ms var(--sw-ease-mola, cubic-bezier(0.2, 0.9, 0.2, 1.06)),
    box-shadow 620ms var(--sw-ease),
    z-index 0s;
}

.sw-baralho-carta::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.55);

  opacity: min(0.44, calc(var(--sw-d) * 0.11));
  transition: opacity 620ms var(--sw-ease);
}

.sw-baralho-carta.is-frente {
  transform: translate3d(0, 0, 40px) rotateY(0deg);
  box-shadow:
    0 44px 90px rgba(0, 0, 0, 0.55),
    0 0 70px color-mix(in srgb, var(--sw-acento) 22%, transparent),
    inset 0 0 0 1px var(--sw-veu-3);
  cursor: default;
}

.sw-baralho-carta:focus-visible {
  outline: 2px solid var(--sw-acento);
  outline-offset: 6px;
}

@media (hover: hover) and (pointer: fine) {
  .sw-baralho-carta:not(.is-frente):hover {
    transform:
      translate3d(
        calc(var(--sw-d) * var(--sw-baralho-x) - 14px),
        calc(var(--sw-d) * var(--sw-baralho-y)),
        calc(var(--sw-d) * var(--sw-baralho-z) + 40px))
      rotateY(var(--sw-baralho-giro));
  }
  .sw-baralho-carta:not(.is-frente):hover::after { opacity: calc(var(--sw-d) * 0.14); }
}

.sw-baralho-carta > * {
  position: relative;
  z-index: 1;
  transform: translateZ(18px) scale(calc(1 - 18 / 1400));
}

.sw-baralho-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.72;
}

.sw-baralho-num {
  display: block;
  margin-top: auto;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(38px, 6vw, 72px);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.05em;
  font-variant-numeric: tabular-nums;
}

.sw-baralho-titulo {
  display: block;
  margin-top: 6px;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(15px, 1.6vw, 19px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.sw-baralho-texto {
  display: block;
  margin-top: 8px;
  font-size: var(--sw-fs-xs);
  line-height: 1.45;
  opacity: 0.78;

  opacity: 0;
  transition: opacity 420ms var(--sw-ease);
}

.sw-baralho-carta.is-frente .sw-baralho-texto { opacity: 0.78; }

.sw-baralho-carta {
  display: flex;
  flex-direction: column;
}

.sw-baralho--acento .sw-baralho-carta.is-frente {
  --sw-baralho-cor: var(--sw-acento);
  --sw-baralho-tinta: var(--sw-acento-tinta);
}

.sw-baralho--degrau .sw-baralho-carta::after { opacity: 0; }

.sw-baralho--degrau .sw-baralho-carta {

  --sw-baralho-cor: color-mix(
    in srgb,
    var(--sw-superficie-2) calc(100% - var(--sw-d, 0) * 9%),
    var(--sw-tinta-1));
}

@media (max-width: 720px), (pointer: coarse) {
  .sw-baralho {
    display: flex;
    grid-template-columns: none;
    perspective: none;
    gap: var(--sw-gap-sm);
    padding: 10px var(--sw-gutter) 22px;
    margin-inline: calc(var(--sw-gutter) * -1);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .sw-baralho::-webkit-scrollbar { display: none; }

  .sw-baralho-carta {
    flex: none;
    width: min(74vw, 300px);
    transform: none;
    scroll-snap-align: center;
    transition: box-shadow 420ms var(--sw-ease);
  }

  .sw-baralho-carta.is-frente { transform: none; }
  .sw-baralho-carta::after { opacity: 0; }
  .sw-baralho-texto { opacity: 0.78; }
  .sw-baralho-carta > * { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-baralho-carta,
  .sw-baralho-carta::after,
  .sw-baralho-texto { transition: none; }
  .sw-baralho-carta:not(.is-frente):hover { transform:
    translate3d(
      calc(var(--sw-d) * var(--sw-baralho-x)),
      calc(var(--sw-d) * var(--sw-baralho-y)),
      calc(var(--sw-d) * var(--sw-baralho-z)))
    rotateY(var(--sw-baralho-giro)); }
}

.sw-baralho-arte {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  overflow: hidden;
}

.sw-baralho-arte img,
.sw-baralho-arte video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sw-baralho-arte::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
    rgba(0, 0, 0, 0.9) 0%,
    rgba(0, 0, 0, 0.62) 26%,
    rgba(0, 0, 0, 0.2) 54%,
    rgba(0, 0, 0, 0.34) 100%);
}

.sw-baralho-carta:has(> .sw-baralho-arte) {
  background: var(--ds-sunken, #060707);
  color: #fff;
  --sw-baralho-tinta: #fff;
}

.sw-baralho-arte img,
.sw-baralho-arte video {
  filter: grayscale(calc(var(--sw-d, 0) * 0.24)) contrast(1.04);
  transition: filter 620ms var(--sw-ease);
}

.sw-baralho-carta.is-frente .sw-baralho-arte img,
.sw-baralho-carta.is-frente .sw-baralho-arte video { filter: none; }

.sw-baralho-selo {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.94);
  color: #fff;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  .sw-baralho-arte img,
  .sw-baralho-arte video { transition: none; }
}

/* ========================================================================
   css/shark-web.patamares.css
   ======================================================================== */
.sw-patamares {
  --sw-n: 5;
  --sw-i-ativo: 0;

  --sw-marca-h: 30px;

  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--sw-n), minmax(0, 1fr));
  align-items: start;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sw-patamares::before,
.sw-patamares::after {
  content: "";
  position: absolute;
  top: calc(var(--sw-marca-h) / 2);
  height: 1px;
  pointer-events: none;
}

.sw-patamares::before {
  left: calc(50% / var(--sw-n));
  right: calc(50% / var(--sw-n));
  background: var(--sw-linha);
}

.sw-patamares::after {
  left: calc(50% / var(--sw-n));
  width: calc((100% - 100% / var(--sw-n)) * var(--sw-i-ativo) / max(1, var(--sw-n) - 1));
  background: var(--sw-acento);
}

.sw-patamar {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

.sw-patamar-marca {
  display: grid;
  place-items: center;
  height: var(--sw-marca-h);
  color: var(--sw-tinta-4);

  background: var(--sw-secao-bg, var(--sw-fundo));
  padding-inline: 7px;
  transition: color var(--sw-dur-2) var(--sw-ease);
}

.sw-patamar-marca .sw-logo-icone { height: 0.8em; font-size: var(--sw-marca-h); }

.sw-patamar-rotulo {
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
  transition: color var(--sw-dur-2) var(--sw-ease);
}

.sw-patamar.is-passado .sw-patamar-marca { color: var(--sw-tinta-3); }

.sw-patamar.is-atual .sw-patamar-marca { color: var(--sw-acento); }

.sw-patamar.is-atual .sw-patamar-rotulo {
  color: var(--sw-tinta-1);
  font-weight: 700;
}

.sw-patamares-grupo {
  grid-row: 2;
  position: relative;
  padding-top: 20px;
  margin-top: 14px;
  text-align: center;
  font-family: var(--ds-mono, ui-monospace, monospace);
  font-size: var(--sw-fs-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sw-tinta-3);
}

.sw-patamares-grupo::before {
  content: "";
  position: absolute;
  inset: 0 8% auto;
  height: 9px;
  border: 1px solid var(--sw-linha);
  border-bottom: 0;
  border-radius: 3px 3px 0 0;
}

.sw-patamares-grupo--acento { color: var(--sw-acento); }
.sw-patamares-grupo--acento::before { border-color: color-mix(in srgb, var(--sw-acento) 45%, transparent); }

.sw-patamar-cartao {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--sw-gap);
  padding: var(--sw-gap-lg) var(--sw-gap);
  border-radius: var(--ds-r-xl, 24px);
  background: var(--sw-superficie);
  margin-bottom: var(--sw-gap-lg);
}

.sw-patamar-cartao .sw-logo-icone {
  height: clamp(64px, 9vw, 118px);
  color: var(--sw-acento);
}

.sw-patamar-cartao h3 {
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1;
  margin: 0;
  color: var(--sw-tinta-1);
}

.sw-patamar-cartao p {
  margin: 8px 0 0;
  font-family: var(--ds-display, "Space Grotesk", system-ui, sans-serif);
  font-size: clamp(18px, 2.4vw, 26px);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--sw-acento);
}

@media (max-width: 640px) {
  .sw-patamar-cartao { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; }
}

@media (max-width: 760px) {
  .sw-patamares {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .sw-patamares::before,
  .sw-patamares::after {
    top: calc(var(--sw-marca-h) / 2);
    bottom: auto;
    left: calc(var(--sw-marca-h) / 2);
    right: auto;
    width: 1px;
    height: calc(100% - var(--sw-marca-h) - 34px);
  }

  .sw-patamares::after {
    height: calc((100% - var(--sw-marca-h) - 34px) * var(--sw-i-ativo) / max(1, var(--sw-n) - 1));
  }

  .sw-patamar {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    gap: 14px;
    text-align: left;
  }

  .sw-patamar-marca { padding-block: 5px; padding-inline: 0; }

  .sw-patamares-grupo {
    grid-row: auto;
    grid-column: 1 !important;
    text-align: left;
    padding-top: 0;
    padding-left: 34px;
    margin-top: 4px;
  }

  .sw-patamares-grupo::before {
    inset: -6px auto -6px calc(var(--sw-marca-h) / 2);
    width: 9px;
    height: auto;
    border: 1px solid var(--sw-linha);
    border-right: 0;
    border-radius: 3px 0 0 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sw-patamar-marca,
  .sw-patamar-rotulo { transition: none; }
}

/* ========================================================================
   css/shark-web.transicao.css
   ======================================================================== */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: sw-vt-sai 220ms var(--sw-ease) both;
}

::view-transition-new(root) {
  animation: sw-vt-entra 320ms var(--sw-ease) both;
}

@keyframes sw-vt-sai   { to   { opacity: 0; transform: translate3d(0, -8px, 0); } }
@keyframes sw-vt-entra { from { opacity: 0; transform: translate3d(0, 10px, 0); } }

.sw-nav          { view-transition-name: sw-nav; }
.sw-logo         { view-transition-name: sw-logo; }
.sw-mobar        { view-transition-name: sw-mobar; }
.sw-ticker       { view-transition-name: sw-ticker; }

.sw-palco .sw-nav { view-transition-name: none; }

.sw-motion [data-sw-entrada] > * {
  opacity: 0;
  transform: translate3d(0, var(--sw-rise), 0);
  animation: sw-entra var(--sw-dur-4) var(--sw-ease) both;
  animation-delay: calc(var(--sw-entrada-base, 120ms) + var(--sw-i, 0) * 90ms);
}

.sw-motion [data-sw-entrada] > *:nth-child(1) { --sw-i: 0; }
.sw-motion [data-sw-entrada] > *:nth-child(2) { --sw-i: 1; }
.sw-motion [data-sw-entrada] > *:nth-child(3) { --sw-i: 2; }
.sw-motion [data-sw-entrada] > *:nth-child(4) { --sw-i: 3; }
.sw-motion [data-sw-entrada] > *:nth-child(5) { --sw-i: 4; }
.sw-motion [data-sw-entrada] > *:nth-child(n+6) { --sw-i: 5; }

@keyframes sw-entra {
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation: none; }

  .sw-motion [data-sw-entrada] > * {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

.sw-cortina-pagina {
  position: fixed;
  inset: 0;
  z-index: 9997;
  display: flex;
  pointer-events: none;

  visibility: hidden;
}

.sw-cortina-pagina.is-fechando,
.sw-cortina-pagina.is-abrindo,
.sw-cortina-pagina.is-fechada { visibility: visible; }

.sw-cortina-pagina.is-fechando { pointer-events: all; }

.sw-cortina-pagina > i {
  flex: 1;
  display: block;
  background: var(--sw-fundo, #000);
  transform: translate3d(0, 100%, 0);
  will-change: transform;
}

.sw-cortina-pagina.is-fechada > i { transform: none; }

.sw-cortina-pagina.is-fechando > i {
  animation: sw-cortina-sobe 460ms var(--sw-ease, cubic-bezier(.16,1,.3,1)) both;
}

.sw-cortina-pagina.is-fechando > i:nth-child(1) { animation-delay: 0ms; }
.sw-cortina-pagina.is-fechando > i:nth-child(2) { animation-delay: 40ms; }
.sw-cortina-pagina.is-fechando > i:nth-child(3) { animation-delay: 80ms; }
.sw-cortina-pagina.is-fechando > i:nth-child(4) { animation-delay: 120ms; }
.sw-cortina-pagina.is-fechando > i:nth-child(5) { animation-delay: 160ms; }

.sw-cortina-pagina.is-abrindo > i {
  animation: sw-cortina-desce 620ms var(--sw-ease, cubic-bezier(.16,1,.3,1)) both;
}

.sw-cortina-pagina.is-abrindo > i:nth-child(5) { animation-delay: 0ms; }
.sw-cortina-pagina.is-abrindo > i:nth-child(4) { animation-delay: 45ms; }
.sw-cortina-pagina.is-abrindo > i:nth-child(3) { animation-delay: 90ms; }
.sw-cortina-pagina.is-abrindo > i:nth-child(2) { animation-delay: 135ms; }
.sw-cortina-pagina.is-abrindo > i:nth-child(1) { animation-delay: 180ms; }

@keyframes sw-cortina-sobe {
  from { transform: translate3d(0, 100%, 0); }
  to   { transform: none; }
}

@keyframes sw-cortina-desce {
  from { transform: none; }
  to   { transform: translate3d(0, -100%, 0); }
}

.sw-cortina-marca {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--sw-tinta-1, #fefefe);
  opacity: 0;
  pointer-events: none;
}

.sw-cortina-marca .sw-logo-icone { width: min(24vw, 150px); height: auto; }

.sw-cortina-pagina.is-fechando .sw-cortina-marca {
  animation: sw-cortina-marca 700ms var(--sw-ease, cubic-bezier(.16,1,.3,1)) 140ms both;
}

@keyframes sw-cortina-marca {
  0%   { opacity: 0; transform: translateX(-14%) scale(0.94); }
  55%  { opacity: 1; transform: none; }
  100% { opacity: 0; transform: translateX(14%) scale(1.03); }
}

@media (prefers-reduced-motion: reduce) {
  .sw-cortina-pagina { display: none; }
}

/* ========================================================================
   css/shark-web.motion.css
   ======================================================================== */
.sw-motion [data-sw-reveal] {
  opacity: 0;
  will-change: transform, opacity;
}

.sw-motion [data-sw-reveal="up"],
.sw-motion [data-sw-reveal=""]      { transform: translate3d(0, var(--sw-rise), 0); }
.sw-motion [data-sw-reveal="down"]  { transform: translate3d(0, calc(var(--sw-rise) * -1), 0); }
.sw-motion [data-sw-reveal="left"]  { transform: translate3d(calc(var(--sw-rise) * -1.4), 0, 0); }
.sw-motion [data-sw-reveal="right"] { transform: translate3d(calc(var(--sw-rise) * 1.4), 0, 0); }
.sw-motion [data-sw-reveal="fade"]  { transform: none; }
.sw-motion [data-sw-reveal="scale"] { transform: scale(0.96); }

.sw-motion [data-sw-reveal].is-revelado {
  will-change: auto;
  transform: none;
}

.sw-motion [data-sw-split].is-split .sw-char,
.sw-motion [data-sw-split].is-split .sw-word {
  display: inline-block;
  will-change: transform, opacity;
}

.sw-marquee {
  --sw-marquee-dur: 34s;
  display: flex;
  overflow: hidden;
  gap: 0;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.sw-marquee-trilho {
  display: flex;
  align-items: center;
  gap: var(--sw-gap-lg);
  padding-right: var(--sw-gap-lg);
  flex: none;
  min-width: 100%;
  animation: sw-marquee var(--sw-marquee-dur) linear infinite;
}

.sw-marquee:hover .sw-marquee-trilho { animation-play-state: paused; }

.sw-marquee--reverso .sw-marquee-trilho { animation-direction: reverse; }

@keyframes sw-marquee {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-100%, 0, 0); }
}

.sw-spotlight {
  position: relative;
  isolation: isolate;
}

.sw-spotlight::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  transition: opacity var(--sw-dur-2) var(--sw-ease);
  background: radial-gradient(
    260px circle at var(--sw-mx, 50%) var(--sw-my, 50%),
    color-mix(in srgb, var(--sw-acento) 16%, transparent),
    transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.sw-spotlight.is-ativo::before { opacity: 1; }

.sw-spotlight > * { position: relative; z-index: 1; }

.sw-magnetico {
  will-change: transform;
}

.sw-motion [data-sw-parallax],
.sw-motion [data-sw-scrub] {
  will-change: transform;
}

.sw-motion [data-sw-transicao] {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .sw-motion [data-sw-reveal],
  .sw-motion [data-sw-transicao] {
    opacity: 1 !important;
    transform: none !important;
  }

  .sw-marquee-trilho { animation: none; }

  .sw-spotlight::before { display: none; }
}
