/* === Fontes locais (Google Fonts como contingencia no proprio src) === */
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/inter-latin-ext-300.woff2') format('woff2'), url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/inter-latin-300.woff2') format('woff2'), url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/inter-latin-ext-400.woff2') format('woff2'), url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/inter-latin-400.woff2') format('woff2'), url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/inter-latin-ext-500.woff2') format('woff2'), url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/inter-latin-500.woff2') format('woff2'), url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/inter-latin-ext-600.woff2') format('woff2'), url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/inter-latin-600.woff2') format('woff2'), url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/spacegrotesk-latin-ext-400.woff2') format('woff2'), url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/spacegrotesk-latin-400.woff2') format('woff2'), url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/spacegrotesk-latin-ext-500.woff2') format('woff2'), url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/spacegrotesk-latin-500.woff2') format('woff2'), url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/spacegrotesk-latin-ext-600.woff2') format('woff2'), url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/spacegrotesk-latin-600.woff2') format('woff2'), url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/spacegrotesk-latin-ext-700.woff2') format('woff2'), url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/spacegrotesk-latin-700.woff2') format('woff2'), url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ============================================================
       GABRIEL ANDRADE TATTOO — v5 MANGA EDITION
       ============================================================
       SISTEMA DE CORES:
       • Seções escuras (hero, portfólio, FAQ, CTA): fundo #090909
       • Seções paper (artista, processo, depoimentos): fundo #f0ebe0
       MANGA ELEMENTS:
       • Gutter 4px preto entre toda seção
       • Halftone dots nas seções paper
       • Screentone no portfólio
       • Speed lines diagonais no CTA
       • FX text (onomatopeia JP) decorativo em cada seção
       • Chapter numbers grandes
       ============================================================ */

    :root {
      --red:         #DC2626;
      --red-dark:    #B91C1C;
      --red-dim:     rgba(220,38,38,0.12);
      --bg:          #090909;
      --bg-alt:      #0d0d0d;
      --bg-card:     #111111;
      --border:      #1e1e1e;
      --border-md:   #2a2a2a;
      --text:        #F0EDE8;
      --text-muted:  #888888;
      --text-dim:    rgba(240,237,232,0.55);
      --paper:       #f0ebe0;
      --paper-alt:   #ede8dd;
      --ink:         #1a1010;
      --ink-dim:     rgba(26,16,16,0.62);
      --ink-muted:   rgba(26,16,16,0.42);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background-color: var(--bg);
      color: var(--text);
      font-family: 'Inter', system-ui, sans-serif;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    /* ── GRAIN (página escura) ── */
    body::before {
      content: '';
      position: fixed; inset: 0; z-index: 9997;
      pointer-events: none; opacity: 0.03;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
      background-repeat: repeat; background-size: 180px 180px;
    }

    /* ── BARRA DE PROGRESSO ── */
    #scroll-progress {
      position: fixed; top: 0; left: 0; height: 3px; width: 0%;
      background: var(--red); z-index: 10000;
      box-shadow: 0 0 10px rgba(220,38,38,0.7), 0 0 24px rgba(220,38,38,0.3);
      transition: width 0.08s linear;
    }

    /* ── INTRO SCREEN — Capa de Capítulo ── */
    #intro-screen {
      position: fixed; inset: 0; z-index: 9999;
      background: #050505;
      display: flex; align-items: center; justify-content: center;
      flex-direction: column;
      pointer-events: none;
      animation: introFadeOut 0.6s ease-in 2.1s forwards;
    }
    .intro-chapter-tag {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 0.65rem; letter-spacing: 0.35em; text-transform: uppercase;
      color: rgba(220,38,38,0);
      margin-bottom: 1.5rem;
      animation: introSubReveal 2.1s ease forwards;
    }
    .intro-kanji {
      font-family: serif;
      font-size: clamp(6rem, 22vw, 14rem);
      color: rgba(220,38,38,0.08);
      user-select: none; line-height: 1;
      animation: kanjiReveal 2.1s cubic-bezier(0.16,1,0.3,1) forwards;
    }
    .intro-name {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 0.8rem; letter-spacing: 0.25em; text-transform: uppercase;
      color: rgba(220,38,38,0);
      margin-top: 1.5rem;
      animation: introSubReveal 2.1s ease 0.15s forwards;
    }
    /* FX decorativo na intro */
    .intro-fx {
      position: absolute;
      font-family: serif; font-weight: 900;
      color: rgba(220,38,38,0.04);
      user-select: none; line-height: 1;
    }
    .intro-fx-br { bottom: 1.5rem; right: 2rem; font-size: clamp(3rem, 8vw, 6rem); transform: rotate(8deg); animation: kanjiReveal 2.1s ease forwards; }
    .intro-fx-tl { top: 1.5rem; left: 2rem; font-size: clamp(2rem, 5vw, 4rem); transform: rotate(-6deg); animation: kanjiReveal 2.1s ease 0.2s forwards; }

    @keyframes kanjiReveal {
      0%   { opacity:0; transform:scale(1.3) translateY(8px); filter:blur(4px); }
      40%  { opacity:1; filter:blur(0); }
      100% { opacity:1; }
    }
    @keyframes introSubReveal {
      0%,35%{ color:rgba(220,38,38,0); }
      75%   { color:rgba(220,38,38,0.5); }
      100%  { color:rgba(220,38,38,0.3); }
    }
    @keyframes introFadeOut { 0%{opacity:1;pointer-events:all} 100%{opacity:0;pointer-events:none} }

    /* ── MANGA GUTTER — divisor entre seções ── */
    .manga-gutter {
      height: 4px;
      background: #000;
      box-shadow: 0 2px 0 rgba(220,38,38,0.55), 0 -1px 0 rgba(220,38,38,0.12);
      position: relative;
      z-index: 10;
    }
    .manga-gutter-lg {
      height: 8px;
      background: #000;
      box-shadow: 0 3px 0 rgba(220,38,38,0.6), 0 -2px 0 rgba(220,38,38,0.15);
      position: relative; z-index: 10;
    }

    /* ── PAPER SECTION ── */
    .paper-section {
      background-color: var(--paper);
      position: relative;
      overflow: hidden;
    }
    /* Halftone dots */
    .paper-section::before {
      content: '';
      position: absolute; inset: 0; z-index: 0;
      background-image: radial-gradient(circle, rgba(0,0,0,0.065) 1px, transparent 1px);
      background-size: 10px 10px;
      pointer-events: none;
    }
    /* Paper grain overlay */
    .paper-section::after {
      content: '';
      position: absolute; inset: 0; z-index: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
      background-repeat: repeat; background-size: 200px 200px;
      opacity: 0.2; pointer-events: none; mix-blend-mode: multiply;
    }
    .paper-section > * { position: relative; z-index: 1; }

    /* ── SCREENTONE BACKGROUND ── */
    .screentone-section { position: relative; }
    .screentone-section::before {
      content: '';
      position: absolute; inset: 0; z-index: 0;
      background-image: radial-gradient(circle, rgba(255,255,255,0.065) 1px, transparent 1px);
      background-size: 7px 7px;
      pointer-events: none;
    }
    .screentone-section > * { position: relative; z-index: 1; }

    /* ── DIAGONAL SPEED LINES (CTA) ── */
    .speedlines-section { position: relative; overflow: hidden; }
    .speedlines-section::before {
      content: '';
      position: absolute; inset: -50%; z-index: 0;
      opacity: 0.04;
      background-image: repeating-linear-gradient(
        -38deg,
        transparent 0px, transparent 5px,
        rgba(220,38,38,0.5) 5px, rgba(220,38,38,0.5) 6px
      );
      pointer-events: none;
    }
    .speedlines-section > * { position: relative; z-index: 1; }

    /* ── FX TEXT (Onomatopeia japonesa) ── */
    .manga-fx {
      position: absolute;
      font-family: serif; font-weight: 900;
      user-select: none; pointer-events: none;
      line-height: 1; letter-spacing: -0.04em;
      z-index: 0;
    }
    .manga-fx-dark { color: rgba(220,38,38,0.055); }
    .manga-fx-paper { color: rgba(26,16,16,0.055); }

    /* ── TIPOGRAFIA ── */
    .font-display { font-family:'Space Grotesk',system-ui,sans-serif; font-weight:700; letter-spacing:-0.02em; }
    .font-display-xl { font-family:'Space Grotesk',system-ui,sans-serif; font-weight:800; letter-spacing:-0.035em; line-height:1.06; }

    /* ── TYPEWRITER ── */
    .tw-cursor {
      display:inline-block; width:3px; height:0.85em;
      background:var(--red); vertical-align:middle; margin-left:2px;
      box-shadow:0 0 8px rgba(220,38,38,0.8);
      animation:twBlink 0.9s step-end infinite;
    }
    @keyframes twBlink { 0%,100%{opacity:1} 50%{opacity:0} }
    .hero-line { display:block; min-height:1.1em; }

    /* ── HERO VIDEO BG (vídeo só na DIREITA, revelado por gradiente) ──
       Vídeo ocupa a metade direita → menos upscale = mais nitidez, menos zoom.
       Esquerda = preto sólido (atrás do texto); gradiente preto→transparente "revela" o vídeo. */
    .hero-video-bg { position:absolute; top:0; right:0; bottom:0; left:42%; z-index:0; overflow:hidden; background:#0a0a0a; }
    .hero-video-bg video {
      position:absolute; inset:0;
      width:100%; height:100%;
      object-fit:cover; object-position:center;   /* corta o vídeo p/ cobrir a coluna */
      opacity:0; transition:opacity 0.9s ease;
      will-change:opacity;
    }
    .hero-video-bg video.show { opacity:1; }
    /* gradiente de revelação: preto na esquerda (funde com o fundo) → transparente na direita + fade inferior */
    .hero-video-bg::after {
      content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
      background:
        linear-gradient(to right, #090909 0%, rgba(9,9,9,0.82) 14%, rgba(9,9,9,0.08) 48%, rgba(9,9,9,0.26) 100%),
        linear-gradient(to bottom, transparent 48%, rgba(9,9,9,0.82) 90%, #090909 100%);
    }
    @media(max-width:767px){
      /* mobile: vídeo cobre o fundo todo, gradiente mais forte p/ legibilidade */
      .hero-video-bg { left:0; }
      .hero-video-bg::after {
        background:
          linear-gradient(to right, #090909 0%, rgba(9,9,9,0.78) 28%, rgba(9,9,9,0.42) 100%),
          linear-gradient(to bottom, rgba(9,9,9,0.4) 0%, transparent 32%, rgba(9,9,9,0.85) 84%, #090909 100%);
      }
    }
    .hero-overlay { display:none; }   /* substituído pelo gradiente de revelação do hero-video-bg */
    .hero-irezumi {
      position:absolute; right:6%; top:50%; transform:translateY(-50%);
      z-index:1; font-size:clamp(8rem,18vw,18rem); font-family:serif;
      color:rgba(220,38,38,0.045); user-select:none; pointer-events:none;
      line-height:1; letter-spacing:-0.05em;
    }
    .manga-speed-lines {
      position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; opacity:0.025;
      background-image:repeating-conic-gradient(
        from 0deg at 80% 50%,
        transparent 0deg, transparent 2deg,
        rgba(255,255,255,0.8) 2deg, rgba(255,255,255,0.8) 2.5deg
      );
    }

    /* ── BOTÕES ── */
    .btn-red {
      display:inline-flex; align-items:center; gap:0.5rem;
      background-color:var(--red); color:#fff;
      font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:0.9375rem;
      padding:0.875rem 2rem; border-radius:2px;
      transition:background-color 0.2s, transform 0.15s, box-shadow 0.2s;
      text-decoration:none; letter-spacing:-0.01em;
      cursor:pointer; border:none; white-space:nowrap;
      box-shadow:0 0 18px rgba(220,38,38,0.4), 0 0 40px rgba(220,38,38,0.15);
    }
    .btn-red:hover { background-color:var(--red-dark); transform:translateY(-2px); box-shadow:0 0 28px rgba(220,38,38,0.65), 0 0 60px rgba(220,38,38,0.3); }
    /* mobile: botões longos quebram linha (evita transbordo do CTA do WhatsApp) */
    @media(max-width:480px){
      .btn-red, .btn-outline-red {
        white-space:normal; text-align:center; max-width:100%;
        font-size:0.95rem; padding-left:1.25rem; padding-right:1.25rem; line-height:1.3;
      }
    }
    .btn-outline-red {
      display:inline-flex; align-items:center; gap:0.5rem;
      border:1.5px solid var(--red); color:var(--red);
      font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:0.9375rem;
      padding:0.875rem 1.75rem; border-radius:2px;
      transition:all 0.2s; text-decoration:none; letter-spacing:-0.01em;
    }
    .btn-outline-red:hover { background-color:var(--red); color:#fff; box-shadow:0 0 18px rgba(220,38,38,0.4); }

    /* Paper variant buttons */
    .btn-red-paper { box-shadow:0 0 0 1px rgba(220,38,38,0.3), 2px 2px 0 rgba(0,0,0,0.15); }
    .btn-red-paper:hover { box-shadow:0 0 0 1px rgba(220,38,38,0.5), 4px 4px 0 rgba(0,0,0,0.2); transform:translate(-1px,-1px); }

    .accent-line { width:2rem; height:2px; background:var(--red); flex-shrink:0; }
    .accent-line-ink { width:2rem; height:2px; background:var(--ink); flex-shrink:0; }

    .section-label {
      display:flex; align-items:center; gap:0.75rem;
      font-size:0.6875rem; letter-spacing:0.2em; text-transform:uppercase;
      color:var(--red); font-family:'Inter',sans-serif; font-weight:600;
    }
    .chapter-num {
      font-family:'Space Grotesk',sans-serif; font-size:0.625rem; font-weight:700; letter-spacing:0.1em;
      color:rgba(220,38,38,0.35); border:1px solid rgba(220,38,38,0.2);
      padding:0.1rem 0.45rem; border-radius:1px;
    }
    .chapter-num-ink {
      color:rgba(26,16,16,0.4); border-color:rgba(26,16,16,0.2);
    }

    .stat-number {
      font-family:'Space Grotesk',sans-serif;
      font-size:clamp(1.75rem,3vw,2.25rem); font-weight:800;
      color:var(--red); line-height:1; letter-spacing:-0.02em;
      text-shadow:0 0 20px rgba(220,38,38,0.3);
    }

    /* ── MANGA PANEL GRID (portfólio — painéis retrato 3:4) ── */
    .manga-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:4px; }
    @media(min-width:640px){ .manga-grid { grid-template-columns:repeat(3,1fr); } }
    @media(min-width:1024px){ .manga-grid { grid-template-columns:repeat(4,1fr); } }
    .portfolio-item { aspect-ratio:3/4; }

    .manga-panel {
      position:relative; overflow:hidden; cursor:pointer;
      border:1.5px solid #050505; transition:border-color 0.25s;
      display:block; width:100%; height:100%;
    }
    .manga-panel:hover { border-color:rgba(220,38,38,0.6); }
    .manga-panel img, .manga-panel video { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s cubic-bezier(0.22,1,0.36,1); }
    .manga-panel:hover img, .manga-panel:hover video { transform:scale(1.05); }
    /* selo de "play" nos painéis de vídeo */
    .panel-vidtag {
      position:absolute; top:0.5rem; right:0.5rem; z-index:4;
      display:flex; align-items:center; gap:0.25rem;
      background:rgba(9,9,9,0.7); border:1px solid rgba(220,38,38,0.4);
      padding:0.15rem 0.4rem; font-family:'Space Grotesk',sans-serif;
      font-size:0.55rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
      color:rgba(240,237,232,0.85);
    }
    .manga-panel::after {
      content:''; position:absolute; inset:0; z-index:2;
      background:repeating-linear-gradient(to bottom, transparent 0px, transparent 3px, rgba(220,38,38,0.04) 3px, rgba(220,38,38,0.04) 4px);
      opacity:0; transition:opacity 0.3s; pointer-events:none;
    }
    .manga-panel:hover::after { opacity:1; animation:scanSlide 2.5s linear infinite; }
    @keyframes scanSlide { from{background-position:0 0} to{background-position:0 80px} }
    .panel-cat {
      position:absolute; bottom:0; left:0; right:0; z-index:3;
      padding:1.75rem 0.875rem 0.5rem;
      background:linear-gradient(transparent, rgba(0,0,0,0.78));
      font-family:'Space Grotesk',sans-serif;
      font-size:0.62rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
      color:rgba(240,237,232,0.55); transition:color 0.2s;
    }
    .manga-panel:hover .panel-cat { color:rgba(220,38,38,0.9); }

    /* Filtros */
    .filter-btn {
      font-size:0.8125rem; font-weight:600; font-family:'Space Grotesk',sans-serif;
      padding:0.4rem 1.1rem; border:1px solid var(--border-md); border-radius:100px;
      cursor:pointer; transition:all 0.2s; background:transparent; color:#666; letter-spacing:-0.01em;
    }
    .filter-btn:hover,.filter-btn.active { border-color:var(--red); color:var(--red); background:var(--red-dim); }

    /* ── STYLE CARDS ── */
    .style-card {
      background:var(--bg-card); border:1px solid var(--border); overflow:hidden;
      transition:border-color 0.25s, transform 0.25s, box-shadow 0.25s;
    }
    .style-card:hover { border-color:rgba(220,38,38,0.45); transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(220,38,38,0.1); }
    .style-card-img { height:18rem; overflow:hidden; position:relative; border-bottom:1px solid var(--border); }
    .style-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s ease; }
    .style-card:hover .style-card-img img { transform:scale(1.04); }
    .style-tag {
      position:absolute; top:0.875rem; right:0.875rem;
      background:var(--red); color:#fff;
      font-size:0.65rem; font-weight:700; font-family:'Space Grotesk',sans-serif;
      letter-spacing:0.12em; text-transform:uppercase; padding:0.25rem 0.625rem; z-index:2;
    }

    /* ── UNIVERSO ITEMS ── */
    .universo-item {
      font-family:'Space Grotesk',sans-serif; font-size:0.9375rem; font-weight:600;
      letter-spacing:-0.01em; color:rgba(240,237,232,0.35);
      transition:color 0.2s, background 0.2s, box-shadow 0.2s;
      padding:0.375rem 0.875rem; border:1px solid transparent; border-radius:2px; cursor:default;
    }
    .universo-item:hover { color:var(--red); border-color:rgba(220,38,38,0.25); background:var(--red-dim); }

    /* ── UNIVERSOS — carrossel infinito (2 fileiras, sentidos opostos) ── */
    .uni-marquee {
      overflow:hidden; width:100%;
      -webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%);
              mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%);
    }
    .uni-track { display:flex; gap:0.5rem; width:max-content; will-change:transform; }
    .uni-track.left  { animation:uniLeft 40s linear infinite; }
    .uni-track.right { animation:uniRight 48s linear infinite; }
    .uni-marquee:hover .uni-track { animation-play-state:paused; }
    .uni-track .universo-item { cursor:default; white-space:nowrap; flex:0 0 auto; }
    @keyframes uniLeft  { from{transform:translateX(0)}     to{transform:translateX(-50%)} }
    @keyframes uniRight { from{transform:translateX(-50%)}  to{transform:translateX(0)} }
    @media(prefers-reduced-motion:reduce){ .uni-track{animation:none;flex-wrap:wrap;justify-content:center} }

    /* ── STEP NUMBER (processo) ── */
    .step-number {
      width:2.75rem; height:2.75rem; border:1.5px solid rgba(220,38,38,0.5); border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      font-size:0.8125rem; font-weight:700; color:var(--red); flex-shrink:0;
      font-family:'Space Grotesk',sans-serif; letter-spacing:-0.01em;
    }
    .step-number-ink {
      border-color:rgba(26,16,16,0.3); color:var(--red);
      background:rgba(220,38,38,0.06);
    }

    /* ── DEPOIMENTOS ── */
    .testimonial-card-paper {
      background:rgba(255,255,255,0.55); border:1px solid rgba(26,16,16,0.1);
      padding:1.75rem; transition:border-color 0.2s, box-shadow 0.2s;
    }
    .testimonial-card-paper:hover { border-color:rgba(220,38,38,0.25); box-shadow:2px 2px 0 rgba(220,38,38,0.1); }
    .testimonial-avatar { width:2.75rem; height:2.75rem; border-radius:50%; object-fit:cover; flex-shrink:0; border:1px solid rgba(26,16,16,0.15); }

    /* ── FAQ ── */
    .faq-item { border-bottom:1px solid var(--border); }
    .faq-question {
      width:100%; text-align:left; padding:1.375rem 0;
      font-size:0.9375rem; font-weight:600; font-family:'Space Grotesk',sans-serif;
      letter-spacing:-0.01em; color:var(--text); cursor:pointer;
      display:flex; justify-content:space-between; align-items:center;
      background:none; border:none;
    }
    .faq-question:hover { color:var(--red); }
    .faq-answer { max-height:0; overflow:hidden; transition:max-height 0.3s ease, padding-bottom 0.3s ease; color:rgba(240,237,232,0.6); line-height:1.75; font-size:0.9375rem; }
    .faq-answer.open { max-height:360px; padding-bottom:1.375rem; }
    .faq-icon { transition:transform 0.3s ease; color:var(--red); flex-shrink:0; margin-left:1rem; }
    .faq-item.open .faq-icon { transform:rotate(45deg); }

    /* ── SCROLL REVEAL ── */
    .reveal { opacity:0; transform:translateY(22px); transition:opacity 0.6s cubic-bezier(0.22,1,0.36,1), transform 0.6s cubic-bezier(0.22,1,0.36,1); }
    .reveal.visible { opacity:1; transform:none; }
    .reveal-left { opacity:0; transform:translateX(-32px); transition:opacity 0.65s cubic-bezier(0.22,1,0.36,1), transform 0.65s cubic-bezier(0.22,1,0.36,1); }
    .reveal-left.visible { opacity:1; transform:none; }
    .reveal-right { opacity:0; transform:translateX(32px); transition:opacity 0.65s cubic-bezier(0.22,1,0.36,1), transform 0.65s cubic-bezier(0.22,1,0.36,1); }
    .reveal-right.visible { opacity:1; transform:none; }

    /* ── MISC ── */
    .stars { display:flex; gap:2px; }
    .star { width:11px; height:11px; fill:var(--red); }
    .katakana-label { font-size:0.7rem; letter-spacing:0.25em; color:rgba(220,38,38,0.5); font-family:serif; user-select:none; }

    @keyframes bounce-y { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(7px)} }
    @keyframes revealFadeUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
