*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    body { background:#080808; overflow-x:hidden; font-family:var(--font-sans); }
    /* ── HEADER fixo, transparente ─────────────────────── */
    .lb-header {
      position:fixed; top:0; left:0; right:0; z-index:200;
      padding:0 24px;
      display:flex; align-items:center; justify-content:space-between;
      height:56px;
      background:rgba(8,8,8,.7);
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
    }
    .lb-logo {
      font-family:var(--font-serif); font-size:1rem; font-weight:400;
      color:#fff; letter-spacing:.06em; text-decoration:none;
    }
    .lb-back {
      display:flex; align-items:center; gap:5px;
      font-size:.62rem; letter-spacing:.12em; text-transform:uppercase;
      color:rgba(255,255,255,.38); transition:color .2s;
    }
    .lb-back:hover { color:#fff; }
    .lb-back svg { width:12px; height:12px; }
    .lb-header-cta {
      display:inline-flex; align-items:center; gap:7px; padding:8px 18px;
      border:1px solid rgba(212,184,150,.4); border-radius:50px;
      font-size:.75rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
      color:var(--gold-light); transition:background .2s, border-color .2s;
    }
    .lb-header-cta:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.5); }
    /* ── SCROLL CONTAINER ──────────────────────────────── */
    .lb-scroll {
      height:100svh;
      overflow-y:scroll;
      scroll-snap-type:y mandatory;
      overscroll-behavior-y:contain;
      /* webkit scroll-snap */
      -webkit-overflow-scrolling:touch;
    }
    /* ── SLIDE BASE ────────────────────────────────────── */
    .lb-slide {
      height:100svh;
      scroll-snap-align:start;
      scroll-snap-stop:always;
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
    }
    /* Imagem de fundo de cada slide */
    .lb-slide-bg {
      position:absolute; inset:0;
      background-size:cover; background-position:center;
      transition:transform .6s ease;
    }
    /* Overlay gradiente — mobile: cobre 55% de baixo
       desktop: cobre metade direita                    */
    .lb-slide-overlay {
      position:absolute; inset:0;
      background:linear-gradient(
        to top,
        rgba(8,8,8,.98) 0%,
        rgba(8,8,8,.85) 42%,
        rgba(8,8,8,.4)  68%,
        transparent    100%
      );
    }
    /* Conteúdo do slide — parte inferior */
    .lb-slide-content {
      position:relative; z-index:2;
      margin-top:auto;
      padding:28px 24px 36px;
    }
    /* Numeração */
    .lb-slide-num {
      font-family:var(--font-serif);
      font-size:clamp(5rem,18vw,11rem);
      font-weight:600; line-height:1;
      opacity:.07; pointer-events:none; user-select:none;
      color:#fff;
      position:absolute; bottom:28px; right:20px; z-index:1;
    }
    /* Label de categoria */
    .lb-cat {
      font-size:.58rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
      display:flex; align-items:center; gap:8px; margin-bottom:10px;
    }
    .lb-cat::before { content:''; display:block; width:18px; height:1px; background:currentColor; opacity:.8; }
    /* Título principal */
    .lb-title {
      font-family:var(--font-serif);
      font-size:clamp(2.4rem,9vw,5.5rem);
      font-weight:400; line-height:.95; color:#fff;
      margin-bottom:10px;
    }
    .lb-title em { font-style:italic; color:rgba(255,255,255,.5); }
    /* Descrição */
    .lb-desc {
      font-size:clamp(.78rem,2.5vw,.88rem);
      color:rgba(255,255,255,.5); line-height:1.6;
      max-width:480px; margin-bottom:20px;
    }
    /* Pills (e.p.t.q.) */
    .lb-pills { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px; }
    .lb-pill {
      padding:3px 10px; border-radius:2px;
      font-size:.55rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
    }
    /* Linha de ações */
    .lb-actions {
      display:flex; align-items:center; gap:16px; flex-wrap:wrap;
    }
    .btn-lb {
      display:inline-flex; align-items:center; gap:8px; padding:13px 24px;
      border-radius:50px; font-family:var(--font-sans);
      font-size:.82rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase;
      transition:transform .2s, filter .2s; flex-shrink:0;
    }
    .btn-lb:hover { transform:translateY(-2px); filter:brightness(1.12); }
    .btn-lb svg { width:15px; height:15px; flex-shrink:0; }
    .lb-link {
      font-size:.65rem; letter-spacing:.1em; text-transform:uppercase;
      color:rgba(255,255,255,.32); transition:color .2s; white-space:nowrap;
    }
    .lb-link:hover { color:rgba(255,255,255,.75); }
    /* ── INDICADOR DE PROGRESSO (lado direito) ─────────── */
    .lb-progress {
      position:fixed; right:18px; top:50%; transform:translateY(-50%);
      z-index:150; display:flex; flex-direction:column; gap:10px;
    }
    .lb-progress-dot {
      width:5px; height:5px; border-radius:50%;
      background:rgba(255,255,255,.2);
      transition:background .3s, transform .3s;
      cursor:pointer;
    }
    .lb-progress-dot.active {
      background:#fff;
      transform:scale(1.4);
    }
    /* ── SLIDE 0 — INTRO ──────────────────────────────── */
    .slide-intro {
      background:#080808;
      display:flex; align-items:center; justify-content:center;
    }
    .slide-intro-content {
      text-align:center; padding:0 24px; position:relative; z-index:2;
    }
    .intro-eyebrow {
      font-size:.6rem; letter-spacing:.24em; text-transform:uppercase;
      color:rgba(255,255,255,.3); display:block; margin-bottom:24px;
    }
    .intro-title {
      font-family:var(--font-serif);
      font-size:clamp(3.5rem,14vw,9rem);
      font-weight:400; line-height:.9; color:#fff; margin-bottom:14px;
    }
    .intro-title em { font-style:italic; color:rgba(255,255,255,.35); display:block; }
    .intro-sub {
      font-size:.88rem; color:rgba(255,255,255,.58);
      letter-spacing:.08em; margin-bottom:48px;
    }
    .intro-cats {
      display:flex; gap:20px; justify-content:center; flex-wrap:wrap; margin-bottom:40px;
    }
    .intro-cat {
      display:flex; align-items:center; gap:7px;
      font-size:.65rem; letter-spacing:.1em; text-transform:uppercase;
      color:rgba(255,255,255,.55);
    }
    .intro-cat span { width:5px; height:5px; border-radius:50%; flex-shrink:0; }
    .intro-scroll {
      font-size:.58rem; letter-spacing:.2em; text-transform:uppercase;
      color:rgba(255,255,255,.2); display:flex; align-items:center;
      justify-content:center; gap:8px;
      animation:blink-scroll 2s ease-in-out infinite;
    }
    @keyframes blink-scroll {
      0%,100% { opacity:.3; } 50% { opacity:.9; }
    }
    .intro-scroll svg { width:14px; height:14px; }
    /* Decoração: 4 pontos coloridos em canto */
    .intro-deco {
      position:absolute; bottom:80px; left:50%; transform:translateX(-50%);
      display:flex; gap:6px;
    }
    .intro-deco-bar {
      width:32px; height:3px; border-radius:2px; opacity:.6;
    }
    /* ── CORES POR SLIDE ──────────────────────────────── */
    /* Fios — gold */
    .slide-fios .lb-slide-overlay {
      background:linear-gradient(to top,
        rgba(13,12,9,.98) 0%, rgba(13,12,9,.84) 42%,
        rgba(13,12,9,.3) 68%, transparent 100%);
    }
    /* Regen — lilac */
    .slide-regen .lb-slide-overlay {
      background:linear-gradient(to top,
        rgba(13,10,18,.98) 0%, rgba(13,10,18,.84) 42%,
        rgba(13,10,18,.3) 68%, transparent 100%);
    }
    /* Bio — teal */
    .slide-bio .lb-slide-overlay {
      background:linear-gradient(to top,
        rgba(4,13,12,.98) 0%, rgba(4,13,12,.84) 42%,
        rgba(4,13,12,.3) 68%, transparent 100%);
    }
    /* fill·k — neutral */
    .slide-fillk .lb-slide-overlay {
      background:linear-gradient(to top,
        rgba(8,8,8,.98) 0%, rgba(8,8,8,.84) 42%,
        rgba(8,8,8,.3) 68%, transparent 100%);
    }
    /* fill·k logo */
    .fillk-logo-lb {
      height:72px; width:auto; max-width:100%;
      filter:brightness(0) invert(1); opacity:.72;
      display:block; margin-bottom:14px;
      margin-right:auto;
    }
    /* fill·k specs mini */
    .fillk-mini-specs {
      display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px;
    }
    .fillk-mini-spec {
      padding:3px 9px; border:1px solid rgba(255,255,255,.12); border-radius:2px;
      font-size:.57rem; color:rgba(255,255,255,.45); letter-spacing:.07em;
    }
    /* ── SLIDE FINAL — CTA ─────────────────────────────── */
    .slide-finale {
      background:#F5F2EE;
      display:flex; align-items:center; justify-content:center;
    }
    .slide-finale-content {
      text-align:center; padding:0 24px;
    }
    .finale-eyebrow {
      font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
      color:rgba(0,0,0,.3); display:block; margin-bottom:20px;
    }
    .finale-title {
      font-family:var(--font-serif);
      font-size:clamp(2.4rem,10vw,6rem);
      font-weight:400; line-height:.95; color:#111; margin-bottom:12px;
    }
    .finale-title em { font-style:italic; color:rgba(0,0,0,.35); }
    .finale-sub {
      font-size:.87rem; color:rgba(0,0,0,.45);
      max-width:380px; margin:0 auto 36px; line-height:1.7;
    }
    .finale-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
    .btn-fd {
      display:inline-flex; align-items:center; gap:9px; padding:14px 28px;
      background:#111; color:#F5F2EE; border-radius:50px;
      font-family:var(--font-sans); font-size:.9rem; font-weight:500;
      letter-spacing:.03em; text-transform:uppercase;
      transition:background .2s, transform .2s;
    }
    .btn-fd:hover { background:#222; transform:translateY(-2px); }
    .btn-fo {
      display:inline-flex; align-items:center; gap:9px; padding:14px 28px;
      background:transparent; color:#333; border:1px solid rgba(0,0,0,.2);
      border-radius:50px; font-family:var(--font-sans); font-size:.9rem;
      font-weight:500; letter-spacing:.03em; text-transform:uppercase;
      transition:background .2s, transform .2s;
    }
    .btn-fo:hover { background:rgba(0,0,0,.05); transform:translateY(-2px); }
    /* ── DESKTOP: layout lado a lado ──────────────────── */
    @media(min-width:860px) {
      .lb-slide-overlay {
        background:linear-gradient(
          to right,
          rgba(8,8,8,.97) 0%,
          rgba(8,8,8,.88) 38%,
          rgba(8,8,8,.3)  62%,
          transparent    100%
        ) !important;
      }
      .lb-slide-content {
        margin-top:0;
        display:flex; flex-direction:column; justify-content:center;
        height:100%; padding:80px 0 60px 0; max-width:480px;
      }
      .lb-slide-num { font-size:16rem; right:32px; bottom:24px; }
    }
