@font-face{font-family:"Bakbak One";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/bakbak-one-400.woff2") format("woff2")}
@font-face{font-family:"Gantari";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/gantari-400.woff2") format("woff2")}
@font-face{font-family:"Gantari";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/gantari-500.woff2") format("woff2")}
@font-face{font-family:"Gantari";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/gantari-600.woff2") format("woff2")}
@font-face{font-family:"Gantari";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/gantari-700.woff2") format("woff2")}

:root{
  --ink:#050806;--deep:#07140e;--emerald:#12e08a;--gold:#ffd24a;--pink:#ff2d9a;
  --cream:#fff4e8;--mint:#b8ffd8;--cta-ink:#14020c;
}
*{box-sizing:border-box}
html{background:var(--ink);color:var(--cream);scroll-behavior:smooth}
body{
  margin:0;font-family:"Gantari",system-ui,sans-serif;font-weight:400;line-height:1.55;
  background:
    radial-gradient(900px 420px at 80% -40px,rgba(255,45,154,.22),transparent 55%),
    radial-gradient(800px 380px at 15% -60px,rgba(18,224,138,.16),transparent 50%),
    linear-gradient(180deg,#0b1a12 0%,#050806 32%,#040705 100%);
  min-height:100%;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#ffe98a}
h1,h2,h3,.tb-brand,.tb-hero-title,.tb-tile-name,.tb-kicker{
  font-family:"Bakbak One",Georgia,serif;font-weight:400;letter-spacing:.01em;line-height:1.05;color:var(--gold);
}
.tb-skip{position:absolute;left:-999px;top:0}
.tb-skip:focus{left:8px;top:8px;background:var(--gold);color:var(--ink);padding:.4rem .7rem;z-index:40}

/* Drum-crest header — 46px wordmark, 40px nav pills, 52px CTA (HARD RULE 07:20 + polish) */
.tb-crest{
  position:sticky;top:0;z-index:20;height:66px;
  display:flex;align-items:center;gap:.55rem;
  padding:0 .8rem 0 .6rem;
  background:linear-gradient(180deg,#0c1f16 0%,#050806 100%);
  border-bottom:3px solid #0f8a58;
  box-shadow:0 6px 18px rgba(0,0,0,.5), inset 0 -2px 0 #ffd24a66, 0 0 22px rgba(255,45,154,.18);
}
.tb-brand{display:flex;align-items:center;gap:.42rem;text-decoration:none;color:var(--gold);font-size:46px;line-height:1;white-space:nowrap;filter:drop-shadow(0 0 10px rgba(255,210,74,.55))}
.tb-brand svg{width:48px;height:48px;flex:0 0 auto;filter:drop-shadow(0 0 8px rgba(255,210,74,.7))}
.tb-beaters{display:flex;gap:.32rem;flex:1;justify-content:center;flex-wrap:nowrap}
.tb-chip{
  display:inline-flex;align-items:center;justify-content:center;gap:.34rem;
  height:40px;padding:0 .78rem;
  color:var(--cream);text-decoration:none;font-weight:700;font-size:.86rem;
  border-radius:999px;border:1px solid #12e08a66;
  background:#0a1812;letter-spacing:.02em;white-space:nowrap;
}
.tb-chip:hover,.tb-chip.is-on{background:linear-gradient(180deg,#ffd24a,#12e08a);color:var(--ink);border-color:var(--gold)}
.tb-chip svg{width:18px;height:18px;flex:0 0 auto}
.tb-cta,.tb-rec{
  display:inline-flex;align-items:center;gap:.35rem;justify-content:center;
  background:linear-gradient(180deg,#ff6ac0 0%,#ff2d9a 55%,#c41872 100%);
  color:#fff4e8;font-weight:800;text-decoration:none;text-transform:uppercase;
  letter-spacing:.04em;border:0;border-radius:999px;cursor:pointer;
  box-shadow:0 0 0 2px #ffd24a, 0 0 16px rgba(255,45,154,.5), inset 0 1px 0 #ffc0e4;
  font-family:"Gantari",sans-serif;
}
.tb-cta{height:42px;padding:0 1.05rem;font-size:.88rem;white-space:nowrap;flex:0 0 auto;font-weight:800}
.tb-crest .tb-cta{height:52px;padding:0 1.4rem;font-size:.98rem;letter-spacing:.06em;font-weight:800;box-shadow:0 0 0 2px #ffd24a, 0 0 20px rgba(255,45,154,.65), inset 0 1px 0 #ffc0e4}
.tb-cta:hover,.tb-rec:hover{filter:brightness(1.08);color:#fff}
.tb-cta svg,.tb-rec svg{width:14px;height:14px}
.tb-burger{display:none;background:none;border:0;color:var(--gold);font-size:1.4rem;padding:.2rem}

/* Full-width samba avenue hero, 268px, cuíca RTP explainer (no invented %) on the right */
.tb-avenue{width:100%;margin:0;padding:0}
.tb-stage{
  position:relative;overflow:hidden;height:268px;
  border-bottom:3px solid #0f8a58;
  box-shadow:0 8px 24px rgba(0,0,0,.45), 0 0 28px rgba(255,45,154,.18);
  background:#07140e;
}
.tb-stage-art,.tb-stage img{
  width:100%;height:268px;object-fit:cover;object-position:center 42%;
  filter:saturate(1.2) brightness(1.08) contrast(1.05);
}
.tb-stage-shade{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,8,6,.58) 0%,rgba(5,8,6,.16) 40%,rgba(5,8,6,.05) 62%,rgba(5,8,6,.28) 100%),
             linear-gradient(180deg,rgba(5,8,6,.04) 50%,rgba(5,8,6,.3) 100%);
}
.tb-stage-copy{position:absolute;left:28px;top:16px;right:42%;z-index:2;max-width:36rem}
.tb-hero-title{
  margin:0;font-size:64px;line-height:.92;font-weight:400;letter-spacing:.005em;
  background:linear-gradient(180deg,#fff8d0 0%,#ffe56a 36%,#ffd24a 68%,#e8a810 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 3px 0 #143018) drop-shadow(0 0 18px rgba(255,210,74,.8)) drop-shadow(0 8px 16px rgba(0,0,0,.45));
}
.tb-hero-title em{font-style:normal;display:block;font-size:.96em;margin-top:.02em;
  background:linear-gradient(180deg,#fff8d0 0%,#ffe56a 36%,#ffd24a 68%,#e8a810 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
.tb-hero-note{margin:.45rem 0 0;font-size:18px;font-weight:600;line-height:1.25;color:#fff4e8;text-shadow:0 2px 8px #000,0 1px 2px #000;background:none;display:block;padding:0;border:0;max-width:28rem}
.tb-demo{
  display:inline-flex;align-items:center;gap:.35rem;
  background:linear-gradient(180deg,#ffe56a,#ffd24a);color:var(--ink);
  font-weight:800;font-size:.88rem;text-decoration:none;text-transform:uppercase;
  letter-spacing:.04em;padding:.48rem .95rem;border-radius:8px;
  box-shadow:0 0 0 1px #fff, 0 4px 12px rgba(0,0,0,.35);
}
.tb-cuica{
  position:absolute;right:18px;top:18px;width:168px;height:168px;z-index:3;
  border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#1a3a28 0%,#07140e 70%);
  border:6px solid #ffd24a;
  box-shadow:0 0 0 3px #12e08a, 0 0 24px rgba(255,45,154,.45), inset 0 0 18px rgba(18,224,138,.35);
  color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.4rem;
}
.tb-cuica strong{font-family:"Bakbak One",serif;font-size:1.12rem;color:#ffd24a;line-height:1.05;display:block}
.tb-cuica span{font-size:.72rem;font-weight:700;color:#b8ffd8;margin-top:.25rem;line-height:1.25;max-width:9.2rem}

/* Slim promo rail: art-filled banner cards, 26-30px titles, small badge, no body or buttons */
.tb-posts{max-width:1280px;margin:8px auto 0;padding:0 12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tb-post{
  position:relative;display:block;
  height:128px;text-decoration:none;color:inherit;border-radius:10px;overflow:hidden;
  border:2px solid #0f8a58;box-shadow:0 0 0 1px #ffd24a33,0 4px 12px rgba(0,0,0,.35);background:#07140e;
}
.tb-post img{width:100%;height:128px;object-fit:cover;object-position:center;filter:saturate(1.2) brightness(1.08)}
.tb-post:hover{border-color:var(--gold);transform:translateY(-1px)}
.tb-post-copy{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;
  padding:10px 14px 12px;min-width:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,8,6,.78) 0%,rgba(5,8,6,.42) 42%,rgba(5,8,6,.08) 72%,transparent 100%);
}
.tb-post-copy strong{
  font-family:"Bakbak One",serif;font-size:28px;color:#ffe56a;line-height:1.02;font-weight:400;
  text-shadow:0 2px 0 #143018,0 0 14px rgba(255,210,74,.65),0 4px 10px rgba(0,0,0,.55);
  max-width:70%;
}
.tb-post-chip{
  display:inline-flex;align-self:flex-start;margin:0;
  background:linear-gradient(180deg,#ffe56a,#ffd24a);color:#14020c;
  font-weight:800;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;
  padding:.18rem .5rem;border-radius:6px;box-shadow:0 0 0 1px #fff8,0 2px 6px rgba(0,0,0,.3);
}
.tb-post .tb-badge{left:auto;right:8px;top:8px}
.tb-badge{
  position:absolute;top:6px;left:6px;z-index:2;
  font-size:.62rem;font-weight:800;letter-spacing:.06em;padding:.12rem .4rem;border-radius:4px;color:#14020c;
}
.tb-badge-hot{background:linear-gradient(180deg,#ff6ac0,#ff2d9a);color:#fff4e8;box-shadow:0 0 8px rgba(255,45,154,.5)}
.tb-badge-novo{background:linear-gradient(180deg,#7dffc3,#12e08a);color:#04210e;box-shadow:0 0 8px rgba(18,224,138,.45)}
.tb-badge-guia{background:linear-gradient(180deg,#ffe56a,#ffd24a)}

/* Bloco procession of 8 drum-hoop tiles — bold 16-18px names on high-contrast gold plaques */
.tb-lane-wrap{max-width:1280px;margin:8px auto 0;padding:0 12px}
.tb-lane-head{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tb-lane-head h2{margin:0;font-size:1.15rem;line-height:1}
.tb-lane-head a{font-size:.75rem;font-weight:700;color:var(--gold)}
.tb-lane{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
.tb-tile{position:relative;display:block;text-decoration:none;color:inherit;border-radius:10px;overflow:hidden;background:#07140e;border:2px solid #ffd24a;box-shadow:0 0 0 1px #0f8a58, 0 4px 10px rgba(0,0,0,.4), 0 0 10px rgba(255,45,154,.16)}
.tb-tile img{width:100%;height:258px;object-fit:cover;object-position:center 40%;filter:saturate(1.16) brightness(1.08)}
.tb-tile-name{
  margin:0;padding:.2rem .16rem .22rem;font-size:17px;color:#1a1004;
  background:linear-gradient(180deg,#fff3a0 0%,#ffd24a 48%,#c99212 100%);
  border-top:2px solid #fff6c2;box-shadow:inset 0 1px 0 #fff8d0, 0 -2px 0 #8a6a10;
  text-align:center;text-transform:uppercase;line-height:1.08;letter-spacing:.01em;
  height:48px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;
  text-shadow:0 1px 0 #ffe56a88;
}
.tb-tile-name small{display:block;font-family:"Gantari",sans-serif;font-size:.58rem;color:#3a2a10;letter-spacing:.06em;font-weight:800;text-transform:uppercase}
.tb-tile:hover{border-color:#ffe56a;transform:translateY(-2px);box-shadow:0 0 14px rgba(255,210,74,.4)}
.tb-play{position:absolute;right:6px;bottom:3.15em;width:24px;height:24px;border-radius:50%;background:rgba(255,210,74,.92);color:#050806;display:grid;place-items:center;font-size:.72rem;box-shadow:0 0 8px rgba(255,210,74,.6)}

/* Slim facts strip — kept BELOW the 800px fold (no body text in first screen) */
.tb-wake{
  max-width:1280px;margin:1.1rem auto 0;padding:0 12px;height:36px;
  display:flex;align-items:center;gap:.8rem;flex-wrap:nowrap;
  background:linear-gradient(90deg,#0c1f16,#050806 40%,#0c1f16);
  border-block:2px solid #0f8a58;
  box-shadow:inset 0 0 0 1px #ffd24a33;
  overflow:hidden;
}
.tb-wake strong{font-family:"Bakbak One",serif;color:var(--gold);font-size:.9rem;white-space:nowrap}
.tb-wake span{font-size:.74rem;font-weight:600;color:#eaf8ee;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.tb-wake b{color:#ffd24a;font-family:"Bakbak One",serif;font-weight:400}

/* Below-fold */
.tb-wrap{max-width:1100px;margin:0 auto;padding:0 .8rem 2rem}
.tb-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin:1.4rem auto 1rem;max-width:1280px;padding:0 12px}
.tb-fact{background:#0c1f16;border:1px solid #12e08a55;border-radius:10px;padding:.55rem .65rem;box-shadow:inset 0 0 0 1px #ffd24a22}
.tb-fact b{display:block;font-family:"Bakbak One",serif;color:var(--gold);font-size:1.05rem}
.tb-fact span{font-size:.72rem;color:#d8f0e0}
.tb-prose{background:rgba(7,20,14,.7);border:1px solid #12e08a44;border-radius:14px;padding:1rem 1.15rem 1.2rem;margin:0 0 1.1rem}
.tb-prose h1{font-size:clamp(1.5rem,3vw,2.1rem);margin:.2rem 0 .6rem}
.tb-prose h2{font-size:1.25rem;margin:1.1rem 0 .4rem}
.tb-prose h3{font-size:1.05rem;margin:.9rem 0 .3rem;color:#ffe56a}
.tb-prose p,.tb-prose li{font-size:.95rem;color:#eaf8ee}
.tb-prose ul{margin:.3rem 0 .6rem;padding-left:1.15rem}
.tb-crumb{font-size:.75rem;color:#c8ddd0;margin:0 0 .4rem}
.tb-crumb a{color:#ffd24a}
.tb-page-hero{position:relative;border-radius:14px;overflow:hidden;margin:0 0 1rem;border:2px solid #0f8a58}
.tb-page-hero img{width:100%;height:auto;max-height:280px;object-fit:cover}
.tb-cover{border-radius:14px;overflow:hidden;margin:0 0 1rem;border:3px solid #ffd24a;box-shadow:0 0 18px rgba(255,45,154,.25)}
.tb-cover img{width:100%;height:auto}
.tb-disc{font-size:.78rem;color:#c8ddd0}
.tb-rec{padding:.55rem 1rem;font-size:.88rem;margin:.5rem 0;border-radius:10px}
.tb-note{font-size:.88rem;color:#d8f0e0;background:#0c1f16;border:1px dashed #12e08a66;border-radius:8px;padding:.6rem .7rem}
.tb-related{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin:0 0 1rem}
.tb-related a{display:block;text-decoration:none;color:var(--gold);font-weight:700;font-size:.78rem;background:#0c1f16;border:1px solid #12e08a55;border-radius:10px;overflow:hidden}
.tb-related img{width:100%;height:96px;object-fit:cover}
.tb-related span{display:block;padding:.4rem .5rem}
.tb-foot{
  margin-top:1.2rem;padding:1.1rem .8rem 1.6rem;background:#040705;border-top:3px solid #0f8a58;
  color:#c8ddd0;font-size:.82rem;
}
.tb-foot-inner{max-width:1100px;margin:0 auto;display:grid;gap:.7rem}
.tb-foot nav{display:flex;flex-wrap:wrap;gap:.55rem 1rem}
.tb-foot a{color:#ffd24a}
.tb-18{font-weight:800;color:#ffd24a}

/* Reviews hub — alas da bateria */
.tb-tools{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0 0 .8rem}
.tb-tools input[type="search"]{
  flex:1 1 220px;height:40px;border-radius:999px;border:2px solid #0f8a58;background:#07140e;color:var(--cream);
  padding:0 .9rem;font:600 .9rem "Gantari",sans-serif;
}
.tb-alabtn{
  height:36px;padding:0 .7rem;border-radius:999px;border:1px solid #12e08a66;background:#0a1812;color:var(--cream);
  font-weight:700;cursor:pointer;
}
.tb-alabtn.is-on{background:linear-gradient(180deg,#ffd24a,#12e08a);color:var(--ink);border-color:var(--gold)}
.tb-ala{margin:0 0 1.1rem}
.tb-ala h2{font-size:1.2rem;margin:.2rem 0 .45rem}
.tb-slips{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}
.tb-slip{background:#0c1f16;border:1px solid #12e08a55;border-radius:12px;padding:.65rem .7rem}
.tb-slip h3{margin:0 0 .25rem;font-size:1rem;color:#ffd24a}
.tb-slip p{margin:0 0 .4rem;font-size:.82rem;color:#d8f0e0}
.tb-slip-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.3rem}
.tb-mini{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:8px;font-size:.72rem;font-weight:800;text-decoration:none}
.tb-mini-go{background:#12e08a;color:#04210e}
.tb-mini-full{background:#ffd24a;color:#14020c}
.tb-more{
  margin:.5rem 0 0;height:38px;padding:0 .9rem;border-radius:999px;border:1px solid #ffd24a66;
  background:#07140e;color:var(--gold);font-weight:700;cursor:pointer;
}
.tb-rev-cta{margin:.8rem 0}

@media (max-width:900px){
  .tb-crest{height:58px}
  .tb-crest .tb-cta{height:40px;padding:0 0.9rem;font-size:.78rem}
  .tb-beaters{display:none}
  .tb-beaters.is-open{
    display:flex;flex-direction:column;position:absolute;top:58px;left:0;right:0;background:#050806;
    padding:.6rem;border-bottom:2px solid #0f8a58;z-index:25;
  }
  .tb-burger{display:inline-flex}
  .tb-brand{font-size:28px}
  .tb-brand svg{width:32px;height:32px}
  .tb-stage,.tb-stage-art,.tb-stage img{height:220px}
  .tb-cuica{width:120px;height:120px;right:8px;top:8px}
  .tb-cuica strong{font-size:.82rem}
  .tb-stage-copy{right:36%;left:12px;top:8px}
  .tb-hero-title{font-size:1.7rem;filter:drop-shadow(0 2px 0 #143018) drop-shadow(0 0 10px rgba(255,210,74,.7))}
  .tb-hero-note{font-size:15px;max-width:16rem}
  .tb-posts{grid-template-columns:1fr;padding:0 8px}
  .tb-post-copy strong{font-size:22px;max-width:80%}
  .tb-lane{grid-template-columns:repeat(2,1fr)}
  .tb-tile img{height:160px}
  .tb-tile-name{font-size:16px;height:44px}
  .tb-lane-head{position:static;width:auto;height:auto;margin:0 0 6px;clip:auto;overflow:visible;white-space:normal}
  .tb-facts,.tb-related,.tb-slips{grid-template-columns:1fr 1fr}
  .tb-wake{height:auto;flex-wrap:wrap;padding:.3rem 8px;margin-top:8px}
}
@media (max-width:520px){
  .tb-facts,.tb-related,.tb-slips{grid-template-columns:1fr}
  .tb-post{height:110px}
  .tb-post img{height:110px}
}

@media (min-width:1100px){
  /* fold-guard: wake below 800px */
  .tb-wake{margin-top:16px}
}
