
/* ═══════════════════════════════ RESET & VARS ═══════════════════════════════ */
:root{
  --black:#000;--dark:#0a0a0a;--off:#111;--mid:#181818;--panel:#1c1c1c;
  --red:#c0392b;--glow:#e74c3c;
  --aureos:#c8a84b;--titas:#612E64;--titas-l:#9b5fa0;
  --urban:#2ecc71;--urban-l:#55eea0;
  --white:#fff;--gray:#888;--gray-l:#aaa;
  --text:#f0f0f0;--muted:#777;
  --border:rgba(255,255,255,0.07);--gborder:rgba(255,255,255,0.05);
  --glass:rgba(15,15,15,0.65);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--black);color:var(--text);font-family:'Inter',sans-serif;font-weight:300;overflow-x:hidden;line-height:1.6;cursor:none}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:var(--red);border-radius:4px}

/* ── NOISE ── */
body::before{content:'';position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");
  background-size:200px;pointer-events:none;z-index:9999;opacity:.35}

/* ══════════════════════ CURSOR PERSONALIZADO ══════════════════════ */
#cursor{position:fixed;width:12px;height:12px;background:var(--glow);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:transform .1s,background .3s;mix-blend-mode:difference}
#cursor-ring{position:fixed;width:40px;height:40px;border:1.5px solid rgba(231,76,60,.6);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:width .3s,height .3s,opacity .3s,transform .12s cubic-bezier(.23,1,.32,1);opacity:.7}
body:hover #cursor{opacity:1}
.cursor-hover #cursor{transform:translate(-50%,-50%) scale(2.5);background:var(--white)}
.cursor-hover #cursor-ring{width:60px;height:60px;opacity:.3}

/* ══════════════════════ SCROLL PROGRESS ══════════════════════ */
#scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--red),var(--glow));z-index:10000;width:0%;transition:width .1s linear}

/* ══════════════════════ REVEAL ANIMATIONS ══════════════════════ */
.reveal,.reveal-l,.reveal-r{opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal{transform:translateY(55px)}
.reveal-l{transform:translateX(-65px)}
.reveal-r{transform:translateX(65px)}
.reveal.on,.reveal-l.on,.reveal-r.on{opacity:1;transform:translate(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}

/* ══════════════════════ HERO ══════════════════════ */
.hero{
  min-height:100vh;
  display:flex;
  align-items:stretch;
  position:relative;
  overflow:hidden;
  background:var(--black);
}

/* 2 colunas: esquerda texto, direita imagem */
.hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1300px;
  margin:0 auto;
  padding: 40px 60px 40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:40px;
}

.hero-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}

.hero-right{
  /* lado direito vazio — a imagem de fundo já cobre */
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:500px;
}

@media(max-width:900px){
  .hero-inner{
    grid-template-columns:1fr;
    padding: 80px 40px 100px;
    text-align:center;
    justify-items:center;
  }
  .hero-left{ align-items:center; text-align:center; }
  .hero-right{ display:none; }
  .hero h1{ font-size: clamp(5rem,15vw,11rem); line-height:.82; white-space:normal; }
}

.hero-h1-svg{ display: none; }

@media(max-width:600px){
  /* Hero: flex column, conteúdo em cima, imagem embaixo */
  .hero{
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100svh;
  }
  /* Imagem de fundo: só na metade inferior */
  .hero-bg{
    background-position: center bottom !important;
    background-size: cover !important;
    /* máscara: transparente no topo, imagem só na metade inferior */
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, transparent 50%, black 65%, black 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, transparent 50%, black 65%, black 100%);
  }
  .hero-bg::after{
    background: linear-gradient(to bottom,
      rgba(0,0,0,0) 50%,
      rgba(0,0,0,0.3) 75%,
      rgba(0,0,0,0.7) 100%) !important;
  }
  .hero-inner{
    padding: 80px 20px 20px;
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
    flex: 0 0 auto;
    z-index: 2;
  }
  .hero-left{ align-items: center; text-align: center; }
  .hero-right{ display: none; }
  .hero-logo{ width: 56px; margin-bottom: 10px; }
  .hero-badge{
    font-size: .68rem;
    letter-spacing: .25em;
    padding: 4px 10px;
    margin-bottom: 10px;
  }
  .hero h1{ display: none; }
  .hero-h1-svg{
    display: block !important;
    width: 100%;
    margin: 6px 0 0;
    opacity: 1;
  }
  .h1-line{
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(5rem, 22vw, 9rem);
    line-height: .88;
    display: block;
    width: 100%;
    text-align: center;
    transform: scaleX(1.18);
    transform-origin: center;
  }
  .h1-white{ color: #ffffff; }
  .h1-red{ color: #e74c3c; }
  .hero-sub{ display: none; }
  .hero-cta{
    margin-top: 20px;
    width: 100%;
  }
  .hero-cta a{
    font-size: 1.3rem;
    padding: 16px 28px;
    width: 100%;
    text-align: center;
    display: block;
    box-sizing: border-box;
    border-radius: 10px;
  }
  /* Scroll: logo abaixo do botão, antes da imagem */
  .hero-scroll{
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 16px auto 0;
    opacity: 1 !important;
    animation: none !important;
    z-index: 2;
  }
  /* Espaço da imagem: empurra o hero a crescer */
  .hero::after{
    content: '';
    display: block;
    flex: 1;
    min-height: 40vh;
    z-index: 1;
    pointer-events: none;
  }
}
.hero-bg{
  position:absolute;inset:0;
  background-image:url('img/hero-bg-desktop.webp');
  background-size:cover;
  background-position:65% center;
  background-repeat:no-repeat;
}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.88) 35%, rgba(0,0,0,0.15) 65%, rgba(0,0,0,0.05) 100%),
    linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 40%);
}
@media(max-width:900px){
  .hero-bg{
    background-image:url('img/hero-bg-tablet.webp');
    background-position:center bottom;
  }
  .hero-bg::after{
    background:
      linear-gradient(to bottom, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.85) 100%);
  }
}
@media(max-width:600px){
  .hero-bg{
    background-image:url('img/hero-bg-mobile.webp');
    background-position:center bottom;
  }
  .hero-bg::after{
    background:linear-gradient(to bottom, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.4) 60%, rgba(0,0,0,0.9) 100%);
  }
}
.hero-lines{position:absolute;inset:0;overflow:hidden}
.hero-h1-svg{ display:none; }
.hero-lines span{position:absolute;display:block;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(192,57,43,.35),transparent);
  animation:lineFall 4s linear infinite;opacity:0}
@keyframes lineFall{0%{transform:translateY(-100vh);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(100vh);opacity:0}}

.hero-logo{width:clamp(70px,10vw,110px);margin-bottom:24px;opacity:1;
  filter:drop-shadow(0 0 20px rgba(192,57,43,.5))}
.footer-logo{filter:drop-shadow(0 0 10px rgba(192,57,43,.3))}
.hero-badge{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.45em;color:var(--gray-l);
  margin-bottom:18px;opacity:1;
  background:rgba(255,255,255,.04);padding:5px 16px;border-radius:50px;
  border:1px solid rgba(255,255,255,.09);display:inline-block;}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(5rem,11vw,14rem);line-height:.85;
  letter-spacing:.02em;opacity:1;color:var(--white);
  white-space:normal;}
.hero h1 .red{color:var(--glow);text-shadow:0 0 60px rgba(192,57,43,.5)}
.hero-sub{font-size:clamp(.95rem,2vw,1.1rem);color:var(--muted);font-weight:300;
  margin-top:20px;max-width:500px;opacity:1;}
.hero-cta{margin-top:32px;opacity:1;}
.hero-cta a{
  display:inline-block;
  background:var(--glow);
  color:#fff;
  text-decoration:none;
  padding:16px 38px;
  border-radius:8px;
  font-family:'Bebas Neue',sans-serif;
  font-size:1.4rem;
  letter-spacing:.12em;
  transition:background .3s, transform .15s, box-shadow .3s;
  box-shadow:0 8px 24px rgba(192,57,43,.45);
  position:relative;
  overflow:hidden;
}
.hero-cta a:hover{
  background:#ff1a1a;
  box-shadow:0 12px 32px rgba(192,57,43,.7);
  transform:translateY(-2px);
}
.hero-cta a:active{
  transform:scale(.96);
  background:#fff;
  color:var(--red);
  box-shadow:0 4px 12px rgba(192,57,43,.3);
  transition:background .08s, transform .08s;
}
/* Ripple */
.hero-cta a .ripple{
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.45);
  transform:scale(0);
  animation:rippleAnim .55s linear;
  pointer-events:none;
}
@keyframes rippleAnim{
  to{ transform:scale(4); opacity:0; }
}
.hero-cta a:hover{background:var(--red);transform:translateY(-3px);box-shadow:0 14px 32px rgba(192,57,43,.65)}
.hero-scroll{
  position:absolute;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  opacity:0;
  animation:fadeUp .8s 1.3s forwards;
  z-index:10;
}
.hero-scroll .scroll-label{
  font-family:'Bebas Neue',sans-serif;
  font-size:.78rem;
  letter-spacing:.4em;
  color:rgba(255,255,255,.45);
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
}

/* Mouse animado */
.scroll-mouse{
  width:26px;
  height:42px;
  border:2px solid rgba(255,255,255,.3);
  border-radius:13px;
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:7px;
  animation:mouseBob 2.4s ease-in-out infinite;
}
.scroll-mouse::after{
  content:'';
  width:4px;
  height:8px;
  background:var(--glow);
  border-radius:2px;
  animation:wheelScroll 2.4s ease-in-out infinite;
}
/* chevron simples abaixo do mouse */
.scroll-chevron{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  margin-top:4px;
}
.scroll-chevron i{
  display:block;
  width:8px;height:8px;
  border-right:2px solid rgba(255,255,255,.4);
  border-bottom:2px solid rgba(255,255,255,.4);
  transform:rotate(45deg);
  animation:chevDown 1.6s ease-in-out infinite;
}
.scroll-chevron i:nth-child(2){ animation-delay:.2s; opacity:.55; }
.scroll-chevron i:nth-child(3){ animation-delay:.4s; opacity:.25; }

@keyframes mouseBob{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(5px); }
}
@keyframes wheelScroll{
  0%{ transform:translateY(0); opacity:1; }
  55%{ transform:translateY(9px); opacity:0; }
  56%{ transform:translateY(0); opacity:0; }
  100%{ transform:translateY(0); opacity:1; }
}
@keyframes chevDown{
  0%,20%{ opacity:0; transform:rotate(45deg) translate(-2px,-2px); }
  60%{ opacity:1; transform:rotate(45deg) translate(0,0); }
  100%{ opacity:0; transform:rotate(45deg) translate(2px,2px); }
}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* ══════════════════════ SECTION COMMONS ══════════════════════ */
.section-header{text-align:center;padding:90px 20px 54px}
.section-label{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:.55em;
  color:var(--glow);margin-bottom:14px;display:block;text-transform:uppercase}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.8rem,7vw,5.5rem);
  line-height:1;letter-spacing:.02em;color:var(--white)}
.section-title em{color:var(--glow);font-style:normal}
.section-desc{max-width:660px;margin:22px auto 0;color:var(--muted);font-size:1.05rem;line-height:1.75}
.section-divider{width:60px;height:3px;background:var(--glow);border-radius:2px;margin:18px auto 0}
.container{max-width:1100px;margin:0 auto}

/* BACKGROUNDS ALTERNADOS */
.bg-black{background:var(--black)}
.bg-dark{background:var(--dark)}
.bg-off{background:var(--off)}
.bg-mid{background:var(--mid)}
.bg-panel{background:var(--panel)}
.bg-red-hint{background:linear-gradient(180deg,var(--dark) 0%,#0e0404 50%,var(--dark) 100%)}

/* ══════════════════════ CONCEITO ══════════════════════ */
.conceito-section{padding:100px 20px;position:relative;overflow:hidden;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.conceito-section::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 65% 50%,rgba(192,57,43,.06) 0%,transparent 65%)}
.conceito-grid{max-width:1100px;margin:0 auto;display:grid;
  grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.conceito-text h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.8rem,6vw,4.8rem);
  line-height:.9;margin-bottom:26px;color:var(--white)}
.conceito-text h2 em{color:var(--glow);font-style:normal}
.conceito-text p{color:var(--muted);font-size:1.05rem;line-height:1.8;margin-bottom:16px}
.conceito-text p strong{color:var(--text);font-weight:500}

/* ── Circles ── */
.circles-container{display:flex;align-items:center;justify-content:center;
  position:relative;height:480px}
.circle-ring{position:absolute;border-radius:50%;border:1px dashed;
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 0 40px rgba(0,0,0,.7)}
.ring-label{position:absolute;font-family:'Bebas Neue',sans-serif;font-size:1rem;
  letter-spacing:.35em;text-align:center;pointer-events:none;
  background:var(--off);padding:4px 14px;border-radius:20px;top:-14px;white-space:nowrap}
.ring-1{width:440px;height:440px;border-color:rgba(255,255,255,.14);animation:spin 40s linear infinite}
.ring-1 .ring-label{color:var(--gray-l)}
.ring-2{width:340px;height:340px;border-color:rgba(97,46,100,.4);animation:spin 30s linear infinite reverse}
.ring-2 .ring-label{color:var(--titas-l)}
.ring-3{width:250px;height:250px;border-color:rgba(200,168,75,.35);animation:spin 25s linear infinite}
.ring-3 .ring-label{color:var(--aureos)}
.ring-4{width:165px;height:165px;border-color:rgba(192,57,43,.5);animation:spin 15s linear infinite reverse}
.ring-4 .ring-label{color:var(--glow)}
.ring-core{width:90px;height:90px;border:2px solid var(--glow);border-radius:50%;
  background:rgba(192,57,43,.1);display:flex;align-items:center;justify-content:center;
  font-family:'Bebas Neue',sans-serif;font-size:.82rem;letter-spacing:.2em;
  color:#fff;text-align:center;animation:corePulse 3s ease-in-out infinite;
  box-shadow:0 0 20px rgba(192,57,43,.45)}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes corePulse{
  0%,100%{box-shadow:0 0 14px rgba(192,57,43,.4),inset 0 0 10px rgba(192,57,43,.3);transform:scale(1)}
  50%{box-shadow:0 0 36px rgba(192,57,43,.8),inset 0 0 20px rgba(192,57,43,.55);transform:scale(1.05)}}

/* ══════════════════════ WPP HIERARCHY ══════════════════════ */
.reinados-section{padding:80px 20px}
.reinados-wrapper{max-width:1200px;margin:0 auto}
.wpp-hierarchy{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:90px}
.wpp-node{display:flex;flex-direction:column;align-items:center}
.wpp-card{border-radius:14px;padding:26px 30px;border:1px solid var(--gborder);text-align:center;
  transition:all .4s cubic-bezier(.175,.885,.32,1.275);min-width:300px;
  background:var(--glass);backdrop-filter:blur(10px)}
.wpp-card:hover{transform:translateY(-4px) scale(1.02)}
.wpp-card.c-red{border-color:rgba(192,57,43,.25)}
.wpp-card.c-aureos{border-color:rgba(200,168,75,.2)}
.wpp-card.c-silver{border-color:rgba(255,255,255,.13)}
.wpp-card-badge{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:.2em;
  padding:5px 13px;border-radius:50px;display:inline-block;margin-bottom:12px}
.badge-red{background:rgba(192,57,43,.12);color:var(--glow);border:1px solid rgba(192,57,43,.28)}
.badge-aureos{background:rgba(200,168,75,.1);color:var(--aureos);border:1px solid rgba(200,168,75,.28)}
.badge-silver{background:rgba(255,255,255,.06);color:var(--gray-l);border:1px solid rgba(255,255,255,.14)}
.wpp-card h3{font-family:'Bebas Neue',sans-serif;font-size:1.75rem;letter-spacing:.05em;
  margin-bottom:8px;color:var(--white)}
.wpp-card p{font-size:.95rem;color:var(--muted);max-width:300px;margin:0 auto}
.connector-v{width:2px;height:46px;background:linear-gradient(to bottom,rgba(192,57,43,.5),rgba(192,57,43,.06))}

/* ── Aureos notice ── */
.aureos-notice{max-width:720px;margin:0 auto 60px;
  background:rgba(200,168,75,.05);border:1px solid rgba(200,168,75,.18);
  border-radius:12px;padding:20px 26px;display:flex;align-items:flex-start;gap:14px}
.aureos-notice-icon{font-size:1.5rem;flex-shrink:0;margin-top:2px}
.aureos-notice p{font-size:.96rem;color:var(--muted);line-height:1.75}
.aureos-notice p strong{color:var(--aureos);font-weight:500}

/* ══════════════════════ REINADOS GRID ══════════════════════ */
.reinados-grid-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,5vw,3.8rem);
  text-align:center;margin-bottom:12px;letter-spacing:.03em;color:var(--white)}
.reinados-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.reinado-card{border-radius:18px;border:1px solid var(--gborder);overflow:hidden;cursor:none;
  transition:all .4s cubic-bezier(.175,.885,.32,1.275);
  background:var(--glass);backdrop-filter:blur(10px);display:flex;flex-direction:column}
.reinado-card:hover{transform:translateY(-8px)}
.reinado-card-header{padding:28px 24px 20px;flex-grow:1}
.reinado-tier{font-family:'Bebas Neue',sans-serif;font-size:.95rem;letter-spacing:.2em;
  padding:5px 11px;border-radius:6px;display:inline-block;margin-bottom:12px;text-transform:uppercase}
.reinado-card h3{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.03em;margin-bottom:4px}
.reinado-card .reinado-desc{font-size:.96rem;color:var(--muted);margin-top:10px;line-height:1.6}
.ver-btn{margin:0 24px 24px;padding:13px 16px;border-radius:10px;border:1px solid;
  background:transparent;font-family:'Bebas Neue',sans-serif;font-size:1.05rem;
  letter-spacing:.1em;cursor:none;transition:all .3s;width:calc(100% - 48px);text-transform:uppercase}

/* card colors */
.c-reds{border-top:3px solid var(--red)}
.c-reds:hover{box-shadow:0 18px 45px rgba(192,57,43,.18);border-color:rgba(192,57,43,.4)}
.c-reds .reinado-tier{background:rgba(192,57,43,.12);color:var(--glow)}
.c-reds h3{color:var(--glow)}.c-reds .ver-btn{border-color:rgba(192,57,43,.4);color:var(--glow)}
.c-reds:hover .ver-btn{background:var(--glow);color:#fff}

.c-aureos{border-top:3px solid var(--aureos)}
.c-aureos:hover{box-shadow:0 18px 45px rgba(200,168,75,.14);border-color:rgba(200,168,75,.35)}
.c-aureos .reinado-tier{background:rgba(200,168,75,.1);color:var(--aureos)}
.c-aureos h3{color:var(--aureos)}.c-aureos .ver-btn{border-color:rgba(200,168,75,.35);color:var(--aureos)}
.c-aureos:hover .ver-btn{background:var(--aureos);color:#000}

.c-titas{border-top:3px solid var(--titas)}
.c-titas:hover{box-shadow:0 18px 45px rgba(97,46,100,.2);border-color:rgba(97,46,100,.4)}
.c-titas .reinado-tier{background:rgba(97,46,100,.14);color:var(--titas-l)}
.c-titas h3{color:var(--titas-l)}.c-titas .ver-btn{border-color:rgba(97,46,100,.4);color:var(--titas-l)}
.c-titas:hover .ver-btn{background:var(--titas-l);color:#fff}

.c-urbana{border-top:3px solid var(--urban)}
.c-urbana:hover{box-shadow:0 18px 45px rgba(46,204,113,.14);border-color:rgba(46,204,113,.4)}
.c-urbana .reinado-tier{background:rgba(46,204,113,.1);color:var(--urban-l)}
.c-urbana h3{color:var(--urban-l)}.c-urbana .ver-btn{border-color:rgba(46,204,113,.4);color:var(--urban-l)}
.c-urbana:hover .ver-btn{background:var(--urban-l);color:#000}

.c-black{border-top:3px solid var(--gray-l)}
.c-black:hover{box-shadow:0 18px 45px rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.c-black .reinado-tier{background:rgba(255,255,255,.07);color:var(--white)}
.c-black h3{color:var(--white)}.c-black .ver-btn{border-color:rgba(255,255,255,.25);color:var(--white)}
.c-black:hover .ver-btn{background:var(--white);color:#000}

/* ══════════════════════ PRICING ══════════════════════ */
.pricing-section{padding:100px 20px;border-top:1px solid var(--border)}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:980px;margin:0 auto;align-items:stretch}
.pricing-figure{border-radius:18px;border:1px solid var(--gborder);
  background:#000;
  min-height:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5);display:flex}
.pricing-figure::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 55%);pointer-events:none}
.pricing-card{background:rgba(10,10,10,.95);border:1px solid rgba(192,57,43,.45);border-radius:18px;
  padding:40px 28px;text-align:center;display:flex;flex-direction:column;
  backdrop-filter:blur(14px);box-shadow:0 10px 40px rgba(192,57,43,.1);position:relative}
.pricing-card .badge{position:absolute;top:-15px;right:20px;background:var(--glow);color:white;
  padding:6px 16px;border-radius:20px;font-family:'Bebas Neue',sans-serif;
  letter-spacing:.1em;font-size:1.05rem;box-shadow:0 5px 14px rgba(192,57,43,.5)}
.pricing-card h3{font-family:'Bebas Neue',sans-serif;font-size:2.6rem;color:var(--white);
  margin-bottom:4px;letter-spacing:.05em}
.pricing-card .duration{color:var(--muted);font-size:.95rem;margin-bottom:26px}
.pricing-price{font-family:'Bebas Neue',sans-serif;font-size:4.2rem;color:var(--white);line-height:1}
.pricing-price span{font-size:1.7rem;color:var(--muted);vertical-align:middle}
.pricing-pix{font-size:.97rem;color:var(--gray-l);margin-top:8px;margin-bottom:10px}
.pricing-frete{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.9rem;color:#4ade80;
  background:rgba(74,222,128,.08);
  border:1px solid rgba(74,222,128,.25);
  padding:6px 12px;border-radius:8px;
  margin:0 0 26px;font-weight:500
}
.pricing-frete strong{color:#4ade80;font-weight:700}
.pricing-original{display:flex;align-items:center;gap:10px;margin-bottom:8px;justify-content:center}
.price-old{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.6rem;
  color:var(--muted);
  text-decoration:line-through;
  text-decoration-color:var(--glow);
  text-decoration-thickness:2px;
  opacity:.8;
}
.price-discount{
  background:rgba(192,57,43,.15);
  color:var(--glow);
  border:1px solid rgba(192,57,43,.35);
  font-family:'Bebas Neue',sans-serif;
  font-size:1rem;
  letter-spacing:.1em;
  padding:4px 10px;
  border-radius:6px;
}
.pricing-features{list-style:none;text-align:left;margin-bottom:34px;flex-grow:1}
.pricing-features li{padding:12px 0;border-bottom:1px solid var(--gborder);color:var(--text);
  display:flex;align-items:center;gap:10px;font-size:1rem}
.pricing-features li.hl{color:var(--glow);font-weight:500;flex-direction:column;align-items:flex-start;gap:3px}
.pricing-features li.hl small{color:var(--gray-l);font-size:.82rem}
.pricing-product-label{
  display:flex;align-items:center;gap:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:14px 16px;
  margin-bottom:20px;text-align:left;
}
.pricing-product-label .pp-icon{font-size:2rem;flex-shrink:0}
.membro-red-badge{
  display:flex;align-items:center;gap:14px;
  background:rgba(192,57,43,.1);
  border:1px solid rgba(192,57,43,.35);
  border-radius:12px;padding:14px 16px;
  margin-bottom:20px;text-align:left;
}
.membro-red-badge .mr-icon{font-size:1.6rem;flex-shrink:0}
.membro-red-badge strong{display:block;font-size:1rem;color:var(--white);font-weight:600}
.membro-red-badge strong em{color:var(--glow);font-style:normal}
.membro-red-badge span{font-size:.82rem;color:var(--muted)}
.pricing-product-label strong{display:block;font-size:1rem;color:var(--white);font-weight:600}
.pricing-product-label span{font-size:.82rem;color:var(--muted)}
.pricing-incluso-label{
  font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px;margin-top:4px;
}
.pricing-garantia{
  text-align:center;font-size:.82rem;color:var(--muted);
  margin-top:14px;line-height:1.5;
}
.pricing-btn{display:inline-block;background:linear-gradient(45deg,var(--red),var(--glow));
  color:white;text-decoration:none;padding:18px 28px;border-radius:10px;
  font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.1em;
  transition:all .3s;animation:pulseRed 2s infinite;text-transform:uppercase}
.pricing-btn:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(192,57,43,.6);color:white}
@keyframes pulseRed{0%{box-shadow:0 0 0 0 rgba(231,76,60,.65)}70%{box-shadow:0 0 0 14px rgba(231,76,60,0)}100%{box-shadow:0 0 0 0 rgba(231,76,60,0)}}

/* ══════════════════════ TRANSPARÊNCIA ══════════════════════ */
.transp-section{padding:100px 20px;border-top:1px solid var(--border)}
.transp-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.transp-card{background:var(--glass);backdrop-filter:blur(10px);
  border:1px solid var(--gborder);border-radius:16px;padding:32px 28px;
  transition:all .4s cubic-bezier(.175,.885,.32,1.275)}
.transp-card:hover{border-color:rgba(192,57,43,.35);transform:translateY(-5px);
  box-shadow:0 14px 36px rgba(0,0,0,.4)}
.transp-icon{font-size:2.4rem;margin-bottom:18px;display:block}
.transp-card h4{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--white);
  margin-bottom:12px;letter-spacing:.04em}
.transp-card p{font-size:.97rem;color:var(--muted);line-height:1.75}
.transp-card p strong{color:var(--gray-l);font-weight:500}
.transp-banner{max-width:1100px;margin:40px auto 0;
  background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.2);
  border-radius:14px;padding:28px 32px;display:flex;align-items:center;gap:20px}
.transp-banner-icon{font-size:2rem;flex-shrink:0}
.transp-banner p{font-size:1rem;color:var(--muted);line-height:1.75}
.transp-banner p strong{color:var(--white)}

/* ══════════════════════ FAQ ACORDEÃO ══════════════════════ */
.faq-section{padding:100px 20px;border-top:1px solid var(--border)}
.faq-grid{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:rgba(14,14,14,.9);backdrop-filter:blur(8px);
  border:1px solid var(--gborder);border-radius:14px;overflow:hidden;transition:all .35s}
.faq-item:hover{border-color:rgba(192,57,43,.3)}
.faq-item.open{border-color:var(--red);background:rgba(192,57,43,.04)}
.faq-q{padding:22px 24px;cursor:none;display:flex;align-items:center;
  justify-content:space-between;gap:14px;font-size:1.05rem;font-weight:500;
  color:var(--text);user-select:none}
.faq-icon{flex-shrink:0;width:30px;height:30px;border-radius:50%;
  background:rgba(192,57,43,.12);display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;color:var(--glow);transition:all .4s}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--glow);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.22,1,.36,1)}
.faq-a-inner{padding:0 24px 22px;color:var(--muted);font-size:.97rem;line-height:1.8}
.faq-a-inner a{color:var(--glow);text-decoration:none}
.faq-a-inner a:hover{text-decoration:underline}

/* ══════════════════════ CONTATO ══════════════════════ */
.contato-section{padding:100px 20px;border-top:1px solid var(--border)}
.contato-grid{max-width:1100px;margin:0 auto;display:grid;
  grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contato-info h3{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--white);
  margin-bottom:20px;letter-spacing:.04em}
.contato-info p{color:var(--muted);font-size:1rem;line-height:1.8;margin-bottom:24px}
.contato-links{display:flex;flex-direction:column;gap:12px}
.contato-link{display:flex;align-items:center;gap:14px;padding:16px 20px;
  background:var(--glass);border:1px solid var(--gborder);border-radius:12px;
  text-decoration:none;color:var(--text);transition:all .3s;cursor:none}
.contato-link:hover{border-color:rgba(192,57,43,.4);background:rgba(192,57,43,.05);
  transform:translateX(6px)}
.contato-link-icon{font-size:1.4rem;flex-shrink:0;width:42px;height:42px;
  background:rgba(192,57,43,.1);border-radius:10px;display:flex;align-items:center;
  justify-content:center;transition:background .3s}
.contato-link:hover .contato-link-icon{background:rgba(192,57,43,.25)}
.contato-link-text strong{display:block;font-size:1rem;font-weight:500;color:var(--white)}
.contato-link-text span{font-size:.88rem;color:var(--muted)}
.contato-form-wrap{background:var(--glass);backdrop-filter:blur(12px);
  border:1px solid var(--gborder);border-radius:18px;padding:36px 32px}
.contato-form-wrap h3{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--white);
  margin-bottom:6px;letter-spacing:.04em}
.contato-form-wrap p{color:var(--muted);font-size:.9rem;margin-bottom:26px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:.88rem;color:var(--gray-l);margin-bottom:7px;
  font-weight:500;letter-spacing:.02em}
.form-group input,.form-group textarea,.form-group select{
  width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  border-radius:10px;padding:13px 16px;color:var(--text);font-family:'Inter',sans-serif;
  font-size:.97rem;outline:none;transition:border-color .3s;resize:none}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  border-color:rgba(192,57,43,.5);background:rgba(192,57,43,.04)}
.form-group textarea{height:110px}
.form-group select option{background:var(--off);color:var(--text)}
.form-submit{width:100%;padding:16px;background:linear-gradient(45deg,var(--red),var(--glow));
  color:#fff;border:none;border-radius:10px;font-family:'Bebas Neue',sans-serif;
  font-size:1.3rem;letter-spacing:.1em;cursor:none;transition:all .3s}
.form-submit:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(192,57,43,.45)}
.form-notice{font-size:.82rem;color:var(--muted);margin-top:12px;text-align:center;line-height:1.6}

/* ══════════════════════ MODAL ══════════════════════ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(18px);
  z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity .4s}
.modal-overlay.active{opacity:1;pointer-events:all}
.modal-box{background:rgba(8,8,8,.98);border:1px solid rgba(255,255,255,.05);border-radius:22px;
  width:100%;max-width:900px;max-height:85vh;overflow-y:auto;position:relative;
  transform:translateY(40px) scale(.95);
  transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 30px 60px rgba(0,0,0,.8)}
.modal-overlay.active .modal-box{transform:translateY(0) scale(1)}
.modal-header{padding:36px 36px 26px;border-bottom:1px solid var(--gborder);
  position:sticky;top:0;background:rgba(8,8,8,.98);backdrop-filter:blur(10px);z-index:2}
.modal-close{position:absolute;top:20px;right:20px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);color:var(--text);width:36px;height:36px;
  border-radius:50%;cursor:none;font-size:1.1rem;display:flex;align-items:center;
  justify-content:center;transition:all .3s}
.modal-close:hover{background:var(--glow);color:#fff;border-color:var(--glow);transform:rotate(90deg)}
.modal-header h2{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;letter-spacing:.05em;color:var(--white)}
.modal-header p{font-size:.96rem;color:var(--muted);margin-top:5px}
.modal-body{padding:34px}
.provincias-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:20px}
.provincia-item{display:flex;flex-direction:column;gap:10px;animation:fadeUp .4s ease both}
.provincia-item:nth-child(1){animation-delay:.08s}.provincia-item:nth-child(2){animation-delay:.15s}
.provincia-item:nth-child(3){animation-delay:.22s}.provincia-item:nth-child(4){animation-delay:.29s}
.provincia-item:nth-child(5){animation-delay:.36s}
.album-cover{width:100%;aspect-ratio:1/1;border-radius:12px;border:1px solid var(--gborder);
  background:rgba(255,255,255,.02);display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:0;transition:all .3s;cursor:none;overflow:hidden}
.album-cover:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.6)}
.album-cover img{width:100%;height:100%;object-fit:cover;border-radius:11px;display:block}
.album-cover .cover-icon{font-size:2.2rem;margin-bottom:10px;opacity:.18}
.album-cover .cover-hint{font-size:.72rem;opacity:.55;line-height:1.5;font-weight:500;color:var(--text)}
.album-info .album-name{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;
  letter-spacing:.04em;color:var(--white);line-height:1.2}
.album-info .album-year{font-size:.82rem;color:var(--muted);margin-top:3px}

/* ══════════════════════ FOOTER ══════════════════════ */
footer{padding:70px 20px 36px;text-align:center;border-top:1px solid var(--border);background:var(--black)}
.footer-logo{width:66px;margin:0 auto 22px;opacity:.75}
footer p{color:var(--muted);font-size:.9rem;line-height:1.9;margin:0 0 10px}
footer p:last-of-type{margin-bottom:0}
footer p a{color:var(--glow);text-decoration:none;font-weight:500}
.footer-contacts{margin-top:16px;font-size:.82rem;color:#444}
.footer-legal{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.footer-legal a{color:var(--muted);font-size:.85rem;text-decoration:none;transition:color .3s}
.footer-legal a:hover{color:var(--glow)}
.footer-legal span{color:#333;font-size:.85rem}
.footer-legal{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.footer-legal a{color:var(--muted);font-size:.85rem;text-decoration:none;transition:color .3s;}
.footer-legal a:hover{color:var(--glow);}
.footer-legal span{color:#333;font-size:.85rem;}

/* ══════════════════════ RESPONSIVE ══════════════════════ */
@media(max-width:900px){
  .conceito-grid{grid-template-columns:1fr;gap:56px}
  .circles-container{height:380px}
  .ring-1{width:340px;height:340px}.ring-2{width:265px;height:265px}
  .ring-3{width:195px;height:195px}.ring-4{width:130px;height:130px}
  .ring-core{width:70px;height:70px;font-size:.74rem}
  .pricing-grid{grid-template-columns:1fr; direction: ltr;}
  .pricing-figure{
    aspect-ratio: 1/1;
    min-height: unset;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#000 !important;
    border-radius:18px;
  }
  .contato-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .pricing-figure{
    background-image:url('img/camisa-produto-novo.webp');
    background-size:cover !important;background-position:center top !important;
    background-repeat:no-repeat !important;
    aspect-ratio:4/5;min-height:unset;
    border-radius:20px;
    filter:grayscale(20%) contrast(1.1);
  }
}
@media(max-width:600px){
  .circles-container{height:300px}
  .ring-1{width:268px;height:268px}.ring-2{width:208px;height:208px}
  .ring-3{width:153px;height:153px}.ring-4{width:103px;height:103px}
  .ring-core{width:55px;height:55px;font-size:.62rem}
  .ring-label{font-size:.78rem!important;letter-spacing:.2em!important}
  .wpp-card{min-width:100%}
  .provincias-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}
  .modal-header,.modal-body{padding:20px 16px}
  .transp-grid{grid-template-columns:1fr}
  #cursor,#cursor-ring{display:none}
}


/* ══════════════════════ DEPOIMENTOS ══════════════════════ */
.depoimentos-section{padding:100px 20px;border-top:1px solid var(--border);overflow:hidden}

.depo-track-wrap{
  position:relative;
  mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 8%,black 92%,transparent 100%);
}

.depo-track{
  display:flex;gap:24px;
  animation:depoScroll 40s linear infinite;
  width:max-content;
}
.depo-track:hover{animation-play-state:paused}

@keyframes depoScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

.depo-card{
  background:var(--glass);backdrop-filter:blur(12px);
  border:1px solid var(--gborder);border-radius:18px;
  padding:28px 26px;width:320px;flex-shrink:0;
  transition:all .4s cubic-bezier(.175,.885,.32,1.275);
  position:relative;overflow:hidden;
}
.depo-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--red),var(--glow),transparent);
  opacity:0;transition:opacity .3s;
}
.depo-card:hover{
  border-color:rgba(192,57,43,.3);
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(0,0,0,.5);
}
.depo-card:hover::before{opacity:1}

.depo-stars{
  display:flex;gap:3px;margin-bottom:14px;
}
.depo-stars span{color:#f0c040;font-size:1rem}

.depo-text{
  font-size:.97rem;color:var(--muted);line-height:1.75;
  margin-bottom:20px;font-style:italic;
}
.depo-text::before{content:'"';font-size:2.5rem;color:var(--glow);opacity:.3;
  line-height:0;vertical-align:-.5rem;margin-right:4px}

.depo-author{display:flex;align-items:center;gap:12px}
.depo-avatar{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,var(--red),var(--glow));
  display:flex;align-items:center;justify-content:center;
  font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:#fff;
  flex-shrink:0;border:2px solid rgba(192,57,43,.3);
}
.depo-author-info strong{display:block;font-size:.95rem;font-weight:600;color:var(--white)}
.depo-author-info span{font-size:.82rem;color:var(--muted)}
.depo-badge{
  margin-left:auto;flex-shrink:0;
  font-family:'Bebas Neue',sans-serif;font-size:.78rem;letter-spacing:.1em;
  padding:4px 10px;border-radius:20px;text-transform:uppercase;
}
.badge-reds{background:rgba(192,57,43,.12);color:var(--glow);border:1px solid rgba(192,57,43,.25)}
.badge-aureos-d{background:rgba(200,168,75,.1);color:var(--aureos);border:1px solid rgba(200,168,75,.25)}
.badge-black-d{background:rgba(255,255,255,.07);color:var(--gray-l);border:1px solid rgba(255,255,255,.15)}
.badge-titas-d{background:rgba(97,46,100,.14);color:var(--titas-l);border:1px solid rgba(97,46,100,.3)}



@media(max-width:600px){
  .depo-stats{flex-direction:column;gap:28px;padding:28px 24px}
  .depo-card{width:280px}
}

/* ══════════════════════ WHATSAPP FLUTUANTE ══════════════════════ */
.wpp-float{
  position:fixed;bottom:28px;right:28px;z-index:9990;
  width:60px;height:60px;
  background:#25D366;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;
  box-shadow:0 4px 20px rgba(37,211,102,.45);
  animation:wppBounce 2.5s ease-in-out infinite;
  cursor:none;
  transition:transform .3s,box-shadow .3s;
}
.wpp-float:hover{transform:scale(1.12);box-shadow:0 6px 28px rgba(37,211,102,.7)}
.wpp-float svg{width:32px;height:32px;fill:#fff}
/* Aura piscando */
.wpp-float::before,.wpp-float::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:rgba(37,211,102,.35);
  animation:wppAura 2s ease-out infinite;
}
.wpp-float::after{animation-delay:.6s}
@keyframes wppAura{
  0%{transform:scale(1);opacity:.7}
  100%{transform:scale(2.2);opacity:0}
}
@keyframes wppBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
.wpp-float:hover::before,.wpp-float:hover::after{animation-play-state:paused}
/* Tooltip */
.wpp-float .wpp-tooltip{
  position:absolute;right:72px;top:50%;transform:translateY(-50%);
  background:rgba(10,10,10,.92);color:#fff;
  font-family:'Inter',sans-serif;font-size:.85rem;font-weight:500;
  padding:8px 14px;border-radius:8px;white-space:nowrap;
  border:1px solid rgba(37,211,102,.3);
  opacity:0;pointer-events:none;
  transition:opacity .3s,transform .3s;
  transform:translateY(-50%) translateX(8px);
}
.wpp-float:hover .wpp-tooltip{opacity:1;transform:translateY(-50%) translateX(0)}

/* ══════════════════════ CARROSSEL NETFLIX REINADOS ══════════════════════ */







/* fade nas bordas */













/* overlay info que aparece no hover */



/* label sempre visível no bottom */







/* cores por reinado */











/* setas de navegação */




@media(max-width:600px){
  
  
  
  
}

/* ══════════ CARROSSEL REINADOS FULLWIDTH ══════════ */
.reinados-carousel{
  padding: 90px 0 100px;
  border-top: 1px solid var(--border);
  background: var(--dark);
  overflow: hidden;
}
.reinados-carousel .carousel-header{
  text-align: center;
  padding: 0 20px 48px;
}

.carousel-outer{
  position: relative;
  width: 100%;
  overflow: hidden;
}
/* fade lateral */
.carousel-outer::before,
.carousel-outer::after{
  content:''; position:absolute; top:0; bottom:0; width:160px; z-index:10; pointer-events:none;
}
.carousel-outer::before{ left:0;  background:linear-gradient(to right, var(--dark) 0%, transparent 100%); }
.carousel-outer::after{  right:0; background:linear-gradient(to left,  var(--dark) 0%, transparent 100%); }

.carousel-track{
  display: flex;
  gap: 24px;
  width: max-content;
  animation: carouselScroll 30s linear infinite;
  padding: 16px 24px;
}
/* pausa ao hover em qualquer card */
.carousel-outer:hover .carousel-track{
  animation-play-state: paused;
}

@keyframes carouselScroll{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── CARD ── */
.rc-card{
  flex-shrink: 0;
  width: 280px;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  cursor: none;
  border: 1px solid rgba(255,255,255,.07);
  transition: transform .4s cubic-bezier(.175,.885,.32,1.275),
              box-shadow .4s,
              border-color .3s;
}
.rc-card:hover{
  transform: scale(1.07) translateY(-10px);
  box-shadow: 0 28px 56px rgba(0,0,0,.75);
  border-color: rgba(255,255,255,.2);
  z-index: 5;
}

.rc-card img{
  width: 100%;
  display: block;
  aspect-ratio: 3/4;
  object-fit: cover;
  transition: transform .5s ease;
}
.rc-card:hover img{ transform: scale(1.06); }

/* label sempre visível */
.rc-label{
  position: absolute; bottom:0; left:0; right:0;
  padding: 60px 18px 20px;
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, transparent 100%);
  pointer-events: none;
  transition: opacity .3s;
}
.rc-label span{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.55rem; letter-spacing: .05em;
  color: var(--white);
  text-shadow: 0 2px 8px rgba(0,0,0,.9);
  display: block;
}
.rc-label small{
  font-size: .8rem; color: rgba(255,255,255,.55);
  letter-spacing: .04em; margin-top: 3px; display:block;
}

/* overlay hover */
.rc-overlay{
  position: absolute; inset:0;
  background: linear-gradient(to top,
    rgba(0,0,0,.97) 0%,
    rgba(0,0,0,.55) 50%,
    rgba(0,0,0,.1) 100%);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 24px 20px;
  opacity: 0;
  transition: opacity .35s ease;
}
.rc-card:hover .rc-overlay{ opacity:1; }
.rc-card:hover .rc-label{ opacity:0; }

.rc-overlay h3{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.7rem; letter-spacing: .04em;
  margin-bottom: 8px;
}
.rc-overlay p{
  font-size: .85rem; color: rgba(255,255,255,.7);
  line-height: 1.55; margin-bottom: 16px;
}
.rc-btn{
  display: inline-block; padding: 10px 20px; border-radius: 8px; border: none;
  font-family: 'Bebas Neue', sans-serif; font-size: 1rem; letter-spacing: .1em;
  cursor: none; transition: all .25s; text-transform: uppercase;
  width: fit-content;
}

/* cores por reinado */
.rc-reds  .rc-overlay h3{ color: var(--glow); }
.rc-reds  .rc-btn{ background: var(--glow); color: #fff; }
.rc-reds:hover{ border-color: rgba(231,76,60,.4); box-shadow: 0 28px 56px rgba(192,57,43,.3); }

.rc-aureos .rc-overlay h3{ color: var(--aureos); }
.rc-aureos .rc-btn{ background: var(--aureos); color: #000; }
.rc-aureos:hover{ border-color: rgba(200,168,75,.4); box-shadow: 0 28px 56px rgba(200,168,75,.2); }

.rc-titas .rc-overlay h3{ color: var(--titas-l); }
.rc-titas .rc-btn{ background: var(--titas-l); color: #fff; }
.rc-titas:hover{ border-color: rgba(97,46,100,.5); box-shadow: 0 28px 56px rgba(97,46,100,.3); }

.rc-urbana .rc-overlay h3{ color: var(--urban-l); }
.rc-urbana .rc-btn{ background: var(--urban-l); color: #000; }
.rc-urbana:hover{ border-color: rgba(46,204,113,.4); box-shadow: 0 28px 56px rgba(46,204,113,.2); }

.rc-black .rc-overlay h3{ color: var(--white); }
.rc-black .rc-btn{ background: var(--white); color: #000; }
.rc-black:hover{ border-color: rgba(255,255,255,.25); box-shadow: 0 28px 56px rgba(255,255,255,.1); }

@media(max-width:600px){
  .rc-card{ width: 200px; }
  .carousel-outer::before,.carousel-outer::after{ width: 40px; }
}


/* ══════════════════════ CARROSSEL REINADOS INFINITO ══════════════════════ */
.reinados-carousel-section {
  padding: 80px 0;
  border-top: 1px solid var(--border);
  overflow: hidden;
}

.reinados-carousel-header {
  text-align: center;
  padding: 0 20px 48px;
}

.carousel-track-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%);
}

.carousel-track {
  display: flex;
  gap: 16px;
  width: max-content;
  animation: carouselScroll 25s linear infinite;
}

.carousel-track:hover {
  animation-play-state: paused;
}

@keyframes carouselScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.carousel-card {
  flex-shrink: 0;
  width: 280px;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(255,255,255,.06);
  transition: transform .4s cubic-bezier(.175,.885,.32,1.275), box-shadow .4s, border-color .4s;
  cursor: none;
}

.carousel-card:hover {
  transform: scale(1.06) translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,.7);
  border-color: rgba(255,255,255,.18);
  z-index: 5;
}

.carousel-card img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

.carousel-card:hover img {
  transform: scale(1.04);
}

@media (max-width: 600px) {
  .carousel-card { width: 200px; }
}


/* ══════════════════════ NOSSA HISTÓRIA ══════════════════════ */
.historia-section{
  padding: 100px 20px;
  border-top: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.historia-section::before{
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 80% 50%, rgba(192,57,43,0.06) 0%, transparent 65%);
  pointer-events:none;
}

/* Label acima */
.historia-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.historia-eyebrow span{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1rem;
  letter-spacing: 0.5em;
  color: var(--glow);
  text-transform: uppercase;
}
.historia-eyebrow::before,
.historia-eyebrow::after{
  content:'';
  display:block;
  height:1px;
  width:40px;
  background: var(--glow);
  opacity: 0.5;
}

/* Grid principal */
.historia-grid{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

/* Coluna texto */
.historia-text h2{
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2.5rem, 5vw, 4.2rem);
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--white);
  margin-bottom: 28px;
}
.historia-text h2 em{
  color: var(--glow);
  font-style: normal;
}

.historia-text p{
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.85;
  margin-bottom: 18px;
}
.historia-text p strong{
  color: var(--text);
  font-weight: 500;
}
.historia-text p .destaque{
  color: var(--glow);
  font-weight: 500;
}

/* Timeline de marcos */
.historia-timeline{
  display: none;
  flex-direction: column;
  gap: 0;
  margin: 32px 0;
  border-left: 2px solid rgba(192,57,43,0.3);
  padding-left: 24px;
}
.historia-marco{
  position: relative;
  padding-bottom: 24px;
}
.historia-marco:last-child{ padding-bottom: 0; }
.historia-marco::before{
  content:'';
  position: absolute;
  left: -31px;
  top: 4px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--glow);
  box-shadow: 0 0 10px rgba(231,76,60,0.6);
}
.historia-marco-ano{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1rem;
  letter-spacing: 0.2em;
  color: var(--glow);
  margin-bottom: 4px;
}
.historia-marco p{
  font-size: 0.92rem;
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}

.historia-cta{
  margin-top: 36px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.historia-cta a.btn-primary{
  display: inline-block;
  background: linear-gradient(45deg, var(--red), var(--glow));
  color: white;
  text-decoration: none;
  padding: 16px 32px;
  border-radius: 8px;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  transition: all 0.3s;
  box-shadow: 0 8px 24px rgba(192,57,43,0.4);
}
.historia-cta a.btn-primary:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(192,57,43,0.6);
}
.historia-cta .anos-badge{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.historia-cta .anos-badge .num{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3rem;
  line-height: 1;
  color: var(--white);
}
.historia-cta .anos-badge .txt{
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: var(--muted);
  text-transform: uppercase;
}

/* Coluna visual */
.historia-visual{
  position: relative;
}
.historia-img-wrap{
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06);
}
.historia-img-wrap::after{
  content:'';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(0,0,0,0.6) 100%
  );
}
.historia-img-wrap img{
  width: 100%;
  display: block;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(20%) contrast(1.1);
  transition: transform 0.6s ease, filter 0.4s;
}
.historia-img-wrap:hover img{
  transform: scale(1.04);
  filter: grayscale(0%) contrast(1.1);
}

/* Card flutuante em cima da imagem */
.historia-float-card{
  position: absolute;
  bottom: -20px;
  left: -24px;
  background: rgba(10,10,10,0.95);
  border: 1px solid rgba(192,57,43,0.35);
  border-radius: 14px;
  padding: 20px 24px;
  backdrop-filter: blur(12px);
  z-index: 2;
  min-width: 200px;
}
.historia-float-card .fc-ano{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2.8rem;
  line-height: 1;
  color: var(--white);
}
.historia-float-card .fc-label{
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  color: var(--muted);
  text-transform: uppercase;
  margin-top: 2px;
}
.historia-float-card .fc-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--glow);
  display: inline-block;
  margin-right: 6px;
  box-shadow: 0 0 8px rgba(231,76,60,0.8);
  animation: corePulse 2s ease-in-out infinite;
}

/* Segundo card flutuante */
.historia-float-card2{
  position: absolute;
  top: 30px;
  right: -20px;
  background: rgba(192,57,43,0.9);
  border-radius: 14px;
  padding: 16px 20px;
  backdrop-filter: blur(8px);
  z-index: 2;
  text-align: center;
}
.historia-float-card2 .fc2-num{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 2.2rem;
  line-height: 1;
  color: #fff;
}
.historia-float-card2 .fc2-txt{
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  color: rgba(255,255,255,0.8);
  text-transform: uppercase;
  margin-top: 2px;
}

@media(max-width:900px){
  .historia-timeline{ display: flex; }
  .historia-grid{ grid-template-columns: 1fr; gap: 50px; }
  .historia-float-card{ left: 10px; bottom: -10px; }
  .historia-float-card2{ right: 10px; top: 20px; }
}
@media(max-width:600px){
  .historia-float-card{
    display: block;
    left: 8px;
    bottom: -10px;
    padding: 14px 16px;
    min-width: 160px;
  }
  .historia-float-card .fc-ano{ font-size: 2rem; }
  .historia-float-card .fc-label{ font-size: .7rem; }
  .historia-float-card2{
    display: block;
    right: 8px;
    top: 16px;
    padding: 12px 14px;
  }
  .historia-float-card2 .fc2-num{ font-size: 1.8rem; }
  .historia-float-card2 .fc2-txt{ font-size: .65rem; }
}


/* ══════════════════════ ÓRBITA DOS REINADOS ══════════════════════ */
.orbita-section{
  padding: 80px 20px 100px;
  border-top: 1px solid var(--border);
  position: relative;
  overflow: hidden;
  background: var(--preto);
}
.orbita-section::before{
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(circle at 50% 50%, rgba(192,57,43,0.08) 0%, transparent 65%);
  pointer-events:none;
}

.orbita-header{
  text-align:center;
  margin-bottom: 60px;
}

/* Container da órbita */
.orbita-wrap{
  position: relative;
  width: clamp(360px, 92vw, 820px);
  height: clamp(360px, 92vw, 820px);
  margin: 0 auto;
}

/* Logo central */
.orbita-centro{
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(110px, 20%, 160px);
  height: clamp(110px, 20%, 160px);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10,10,10,0.95);
  border: 2px solid rgba(192,57,43,0.7);
  border-radius: 50%;
  box-shadow: 0 0 40px rgba(192,57,43,0.5), inset 0 0 25px rgba(192,57,43,0.15);
  animation: orbitaCorePulse 3s ease-in-out infinite;
}
.orbita-centro img{
  width: 70%;
  height: 70%;
  object-fit: contain;
  filter: brightness(1.2);
}
@keyframes orbitaCorePulse{
  0%,100%{ box-shadow: 0 0 20px rgba(192,57,43,0.4), inset 0 0 15px rgba(192,57,43,0.1); }
  50%{ box-shadow: 0 0 45px rgba(192,57,43,0.8), inset 0 0 25px rgba(192,57,43,0.25); }
}

/* Cada anel de órbita */
.orbita-ring{
  position: absolute;
  top: 50%; left: 50%;
  border-radius: 50%;
  border: 1px dashed;
  transform: translate(-50%, -50%);
  animation: orbitaGira linear infinite;
}

/* Os 5 anéis com tamanhos e velocidades diferentes */
.orbita-ring:nth-child(2){
  width: 44%; height: 44%;
  border-color: rgba(231,76,60,0.5);
  animation-duration: 14s;
}
.orbita-ring:nth-child(3){
  width: 58%; height: 58%;
  border-color: rgba(255,215,0,0.4);
  animation-duration: 20s;
  animation-direction: reverse;
}
.orbita-ring:nth-child(4){
  width: 72%; height: 72%;
  border-color: rgba(97,46,100,0.45);
  animation-duration: 27s;
}
.orbita-ring:nth-child(5){
  width: 86%; height: 86%;
  border-color: rgba(58,123,213,0.4);
  animation-duration: 34s;
  animation-direction: reverse;
}
.orbita-ring:nth-child(6){
  width: 100%; height: 100%;
  border-color: rgba(180,130,90,0.35);
  animation-duration: 42s;
}

@keyframes orbitaGira{
  from{ transform: translate(-50%,-50%) rotate(0deg); }
  to{ transform: translate(-50%,-50%) rotate(360deg); }
}

/* Planeta (card do reinado) */
.orbita-planeta{
  position: absolute;
  /* fica no topo do anel (top: 0, centralizado horizontalmente) */
  top: -45px; /* sobrescrito por cada anel abaixo */
  left: 50%;
  transform: translateX(-50%);
  /* contrarotação para o label ficar sempre ereto */
  animation: orbitaContra linear infinite;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: none;
}
.orbita-ring:nth-child(2) .orbita-planeta{ animation-duration: 12s; }
.orbita-ring:nth-child(3) .orbita-planeta{ animation-duration: 18s; animation-direction: reverse; }
.orbita-ring:nth-child(4) .orbita-planeta{ animation-duration: 24s; }
.orbita-ring:nth-child(5) .orbita-planeta{ animation-duration: 30s; animation-direction: reverse; }
.orbita-ring:nth-child(6) .orbita-planeta{ animation-duration: 40s; }

@keyframes orbitaContra{
  from{ transform: translateX(-50%) rotate(0deg); }
  to{ transform: translateX(-50%) rotate(-360deg); }
}

/* Imagem do planeta */
.orbita-img{
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid;
  box-shadow: 0 8px 28px rgba(0,0,0,0.8), 0 0 20px rgba(0,0,0,0.5);
  transition: transform 0.3s, box-shadow 0.3s;
  background: var(--off);
  display: block;
}
.orbita-planeta:hover .orbita-img{
  transform: scale(1.15);
  box-shadow: 0 12px 36px rgba(0,0,0,0.9), 0 0 30px currentColor;
}
/* Hierarquia de tamanhos: planeta mais externo = maior */
.orbita-ring:nth-child(2) .orbita-img{ width:62px;  height:62px;  }
.orbita-ring:nth-child(3) .orbita-img{ width:76px;  height:76px;  }
.orbita-ring:nth-child(4) .orbita-img{ width:90px;  height:90px;  }
.orbita-ring:nth-child(5) .orbita-img{ width:104px; height:104px; }
.orbita-ring:nth-child(6) .orbita-img{ width:120px; height:120px; }

/* top proporcional ao tamanho de cada planeta */
.orbita-ring:nth-child(2) .orbita-planeta{ top:-31px; }
.orbita-ring:nth-child(3) .orbita-planeta{ top:-38px; }
.orbita-ring:nth-child(4) .orbita-planeta{ top:-45px; }
.orbita-ring:nth-child(5) .orbita-planeta{ top:-52px; }
.orbita-ring:nth-child(6) .orbita-planeta{ top:-60px; }

/* Label do reinado */
.orbita-label{
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(0.75rem, 1.5vw, 1rem);
  letter-spacing: 0.2em;
  white-space: nowrap;
  background: rgba(5,5,5,0.92);
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid;
  line-height: 1;
}

/* Cores por reinado */
.orbita-reds   .orbita-img{ border-color: var(--glow); }
.orbita-reds   .orbita-label{ color: var(--glow); border-color: rgba(231,76,60,0.4); }
.orbita-aureos .orbita-img{ border-color: var(--aureos); }
.orbita-aureos .orbita-label{ color: var(--aureos); border-color: rgba(200,168,75,0.4); }
.orbita-titas  .orbita-img{ border-color: var(--titans-l); }
.orbita-titas  .orbita-label{ color: var(--titans-l); border-color: rgba(97,46,100,0.4); }
.orbita-urbana .orbita-img{ border-color: var(--urban-l); }
.orbita-urbana .orbita-label{ color: var(--urban-l); border-color: rgba(46,204,113,0.4); }
.orbita-black  .orbita-img{ border-color: var(--gray-l); }
.orbita-black  .orbita-label{ color: var(--gray-l); border-color: rgba(255,255,255,0.2); }

@media(max-width:900px){
  /* Tablet: órbita menor e adaptada */
  .orbita-wrap{
    width: min(88vw, 560px);
    height: min(88vw, 560px);
  }
  /* Planetas menores no tablet */
  .orbita-ring:nth-child(2) .orbita-img{ width:46px;  height:46px; }
  .orbita-ring:nth-child(3) .orbita-img{ width:56px;  height:56px; }
  .orbita-ring:nth-child(4) .orbita-img{ width:66px;  height:66px; }
  .orbita-ring:nth-child(5) .orbita-img{ width:76px;  height:76px; }
  .orbita-ring:nth-child(6) .orbita-img{ width:88px;  height:88px; }

  /* top proporcional */
  .orbita-ring:nth-child(2) .orbita-planeta{ top:-23px; }
  .orbita-ring:nth-child(3) .orbita-planeta{ top:-28px; }
  .orbita-ring:nth-child(4) .orbita-planeta{ top:-33px; }
  .orbita-ring:nth-child(5) .orbita-planeta{ top:-38px; }
  .orbita-ring:nth-child(6) .orbita-planeta{ top:-44px; }

  /* Labels menores no tablet */
  .orbita-label{
    font-size: .65rem;
    padding: 3px 8px;
    letter-spacing: .12em;
  }

  /* Centro menor */
  .orbita-centro{
    width: clamp(80px, 14%, 120px);
    height: clamp(80px, 14%, 120px);
  }
}

@media(max-width:600px){
  /* Mobile: órbita bem compacta, sem cortar nas bordas */
  .orbita-section{ padding: 60px 10px 80px; overflow: hidden; }
  .orbita-wrap{
    width: min(92vw, 360px);
    height: min(92vw, 360px);
  }

  /* Planetas ainda menores no mobile */
  .orbita-ring:nth-child(2) .orbita-img{ width:36px;  height:36px; }
  .orbita-ring:nth-child(3) .orbita-img{ width:44px;  height:44px; }
  .orbita-ring:nth-child(4) .orbita-img{ width:52px;  height:52px; }
  .orbita-ring:nth-child(5) .orbita-img{ width:60px;  height:60px; }
  .orbita-ring:nth-child(6) .orbita-img{ width:70px;  height:70px; }

  /* top proporcional ao tamanho menor */
  .orbita-ring:nth-child(2) .orbita-planeta{ top:-18px; }
  .orbita-ring:nth-child(3) .orbita-planeta{ top:-22px; }
  .orbita-ring:nth-child(4) .orbita-planeta{ top:-26px; }
  .orbita-ring:nth-child(5) .orbita-planeta{ top:-30px; }
  .orbita-ring:nth-child(6) .orbita-planeta{ top:-35px; }

  /* Labels no mobile — menores mas visíveis */
  .orbita-label{
    display: block;
    font-size: .55rem;
    padding: 2px 6px;
    letter-spacing: .08em;
    white-space: nowrap;
  }

  /* Centro menor */
  .orbita-centro{
    width: clamp(60px, 14%, 90px);
    height: clamp(60px, 14%, 90px);
  }
  .orbita-centro img{ width: 65%; height: 65%; }

  /* Título da seção menor */
  .orbita-header .section-title{ font-size: clamp(2.2rem, 8vw, 3.5rem); }
}


/* Planeta regente nos cards dos Reinados */
.card-planeta{
  display:flex; align-items:center; gap:8px;
  margin-bottom:12px;
}
.card-planeta-img{
  width:28px; height:28px;
  border-radius:50%;
  box-shadow:0 2px 8px rgba(0,0,0,0.6);
  flex-shrink:0;
}
.card-planeta-nome{
  font-family:'Bebas Neue',sans-serif;
  font-size:.85rem; letter-spacing:.2em;
  opacity:.85;
}


/* ══════════════════════ PROGRESSÃO DOS REINADOS ══════════════════════ */
.progressao-section{
  padding:100px 20px;
  border-top:1px solid var(--border);
  position:relative; overflow:hidden;
}
.progressao-section::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 100%, rgba(192,57,43,0.07) 0%, transparent 65%);
  pointer-events:none;
}

/* Aviso de entrada rápida */
.prog-aviso{
  max-width:760px; margin:0 auto 60px;
  background:rgba(192,57,43,0.07);
  border:1px solid rgba(192,57,43,0.25);
  border-radius:14px; padding:22px 28px;
  display:flex; align-items:flex-start; gap:16px;
}
.prog-aviso-icon{ font-size:1.8rem; flex-shrink:0; margin-top:2px; }
.prog-aviso p{ font-size:1rem; color:var(--muted); line-height:1.75; }
.prog-aviso p strong{ color:var(--white); font-weight:500; }
.prog-aviso p em{ color:var(--glow); font-style:normal; font-weight:500; }

/* Trilha de progressão */
.prog-trilha{
  max-width:900px; margin:0 auto;
  display:flex; flex-direction:column; gap:0;
  position:relative;
}
.prog-trilha::before{
  content:''; position:absolute;
  left:40px; top:0; bottom:0; width:2px;
  background:linear-gradient(to bottom,
    var(--glow) 0%, var(--aureos) 25%,
    var(--titans-l) 50%, var(--urban-l) 75%, var(--gray-l) 100%);
  opacity:0.4;
}

.prog-item{
  display:flex; gap:24px; align-items:flex-start;
  padding:0 0 40px 0;
  position:relative;
}
.prog-item:last-child{ padding-bottom:0; }

/* Ícone do reinado */
.prog-icon{
  width:80px; height:80px; flex-shrink:0;
  border-radius:50%; display:flex; align-items:center;
  justify-content:center; position:relative; z-index:2;
  border:2px solid; background:rgba(5,5,5,0.9);
}
.prog-icon img{ width:52px; height:52px; border-radius:50%; object-fit:cover; }

/* Conteúdo */
.prog-content{ flex:1; padding-top:8px; }
.prog-header{ display:flex; align-items:center; gap:14px; margin-bottom:10px; flex-wrap:wrap; }
.prog-reinado{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.6rem; letter-spacing:.05em;
}
.prog-status{
  font-family:'Bebas Neue',sans-serif;
  font-size:.78rem; letter-spacing:.15em;
  padding:4px 12px; border-radius:20px;
  text-transform:uppercase;
}
.prog-desc{ color:var(--muted); font-size:.97rem; line-height:1.75; margin-bottom:12px; }

/* Missões */
.prog-missoes{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;
}
.prog-missao{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px; padding:6px 12px;
  font-size:.82rem; color:var(--muted);
  display:flex; align-items:center; gap:6px;
}
.prog-missao::before{ content:'→'; color:var(--glow); font-weight:bold; }

/* Tempo mínimo badge */
.prog-tempo{
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:20px; padding:5px 12px;
  font-size:.78rem; color:var(--gray-l);
  margin-top:10px;
}
.prog-tempo::before{ content:'⏱'; }

/* Cores por reinado */
.prog-reds   .prog-icon{ border-color:rgba(231,76,60,0.5); }
.prog-reds   .prog-reinado{ color:var(--glow); }
.prog-reds   .prog-status{ background:rgba(231,76,60,0.12); color:var(--glow); border:1px solid rgba(231,76,60,0.3); }

.prog-aureos .prog-icon{ border-color:rgba(200,168,75,0.5); }
.prog-aureos .prog-reinado{ color:var(--aureos); }
.prog-aureos .prog-status{ background:rgba(200,168,75,0.1); color:var(--aureos); border:1px solid rgba(200,168,75,0.3); }

.prog-titas  .prog-icon{ border-color:rgba(97,46,100,0.5); }
.prog-titas  .prog-reinado{ color:var(--titans-l); }
.prog-titas  .prog-status{ background:rgba(97,46,100,0.12); color:var(--titans-l); border:1px solid rgba(97,46,100,0.3); }

.prog-urbana .prog-icon{ border-color:rgba(46,204,113,0.4); }
.prog-urbana .prog-reinado{ color:var(--urban-l); }
.prog-urbana .prog-status{ background:rgba(46,204,113,0.1); color:var(--urban-l); border:1px solid rgba(46,204,113,0.3); }

.prog-black  .prog-icon{ border-color:rgba(255,255,255,0.25); }
.prog-black  .prog-reinado{ color:var(--white); }
.prog-black  .prog-status{ background:rgba(255,255,255,0.07); color:var(--gray-l); border:1px solid rgba(255,255,255,0.15); }

@media(max-width:600px){
  .prog-trilha::before{ left:32px; }
  .prog-icon{ width:64px; height:64px; }
  .prog-icon img{ width:42px; height:42px; }
  .prog-content{ padding-top:4px; }
  .prog-reinado{ font-size:1.3rem; }
}


.prog-aviso-aureos{
  background: rgba(200,168,75,0.06);
  border-color: rgba(200,168,75,0.25);
  margin-top: -40px;
  margin-bottom: 60px;
}
.prog-missao.prog-pts{ justify-content:space-between; }
.prog-missao.prog-pts em{
  color:var(--glow); font-style:normal;
  font-size:.78rem; font-weight:600;
  margin-left:8px; flex-shrink:0;
}


/* ══════════════════════ VALOR IMEDIATO ══════════════════════ */
.valor-section{
  padding: 80px 20px;
  border-top: 1px solid var(--border);
}
.valor-grid{
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 50px;
}
.valor-item{
  background: var(--glass);
  backdrop-filter: blur(10px);
  border: 1px solid var(--gborder);
  border-radius: 16px;
  padding: 28px 22px;
  text-align: center;
  transition: all .4s cubic-bezier(.175,.885,.32,1.275);
  position: relative;
  overflow: hidden;
}
.valor-item::before{
  content:'';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--red), var(--glow));
  opacity: 0;
  transition: opacity .3s;
}
.valor-item:hover{
  transform: translateY(-6px);
  border-color: rgba(192,57,43,.3);
  box-shadow: 0 14px 36px rgba(0,0,0,.5);
}
.valor-item:hover::before{ opacity: 1; }
.valor-icon{
  font-size: 2.4rem;
  margin-bottom: 14px;
  display: block;
}
.valor-item h4{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.3rem;
  letter-spacing: .05em;
  color: var(--white);
  margin-bottom: 8px;
}
.valor-item p{
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.65;
}
.valor-tag{
  display: inline-block;
  margin-top: 12px;
  font-family: 'Bebas Neue', sans-serif;
  font-size: .78rem;
  letter-spacing: .15em;
  color: var(--glow);
  background: rgba(192,57,43,.1);
  border: 1px solid rgba(192,57,43,.25);
  padding: 3px 10px;
  border-radius: 20px;
}
.valor-cta-wrap{
  text-align: center;
  margin-top: 50px;
}
.valor-cta-wrap p{
  color: var(--muted);
  font-size: 1rem;
  margin-bottom: 20px;
}
.valor-cta-wrap p strong{ color: var(--white); }


/* ══════════════════════ ARCANOS ══════════════════════ */
.arcanos-section{
  padding: 100px 20px;
  border-top: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.arcanos-section::before{
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse at 50% 0%,
    rgba(192,57,43,0.25) 0%, transparent 60%);
  pointer-events:none;
}

/* Citação da música */
.arcanos-quote{
  max-width: 640px;
  margin: 0 auto 60px;
  text-align: center;
}
.arcanos-quote blockquote{
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  letter-spacing: .08em;
  color: var(--gray-l);
  line-height: 1.4;
  position: relative;
  padding: 0 20px;
}
.arcanos-quote blockquote::before{
  content: '"';
  font-size: 4rem;
  color: var(--glow);
  opacity: .3;
  position: absolute;
  top: -20px; left: -10px;
  line-height: 1;
  font-family: Georgia, serif;
}
.arcanos-quote cite{
  display: block;
  margin-top: 12px;
  font-size: .82rem;
  letter-spacing: .3em;
  color: var(--muted);
  font-style: normal;
  text-transform: uppercase;
}

/* Grid dos cards */
.arcanos-grid{
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* Card individual */
.arcano-card{
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
  transition: all .4s cubic-bezier(.175,.885,.32,1.275);
  cursor: default;
  background: var(--off);
}
.arcano-card:hover{
  transform: translateY(-8px);
  border-color: rgba(192,57,43,.3);
  box-shadow: 0 20px 50px rgba(0,0,0,.6);
}

/* Foto */
.arcano-link{display:block;text-decoration:none;color:inherit;height:100%;}
.arcano-img{
  width: 100%;
  aspect-ratio: 9/16;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(15%) contrast(1.05);
  transition: filter .4s, transform .6s;
}
.arcano-card:hover .arcano-img{
  filter: grayscale(0%) contrast(1.1);
  transform: scale(1.03);
}

/* Overlay gradiente — definido abaixo na seção de arcanos */

/* Info */
.arcano-info{
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 24px 20px;
}
.arcano-titulo{
  font-family: 'Bebas Neue', sans-serif;
  font-size: .72rem;
  letter-spacing: .4em;
  color: var(--glow);
  text-transform: uppercase;
  margin-bottom: 4px;
  display: block;
}
.arcano-nome{
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(1.7rem, 3.5vw, 2.2rem);
  letter-spacing: .04em;
  color: var(--white);
  line-height: 1;
  margin-bottom: 6px;
}
/* .arcano-cargo estilos definidos abaixo na seção de arcanos */

/* Linha decorativa no hover */
.arcano-card::after{
  content:'';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--red), var(--glow), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.arcano-card:hover::after{ transform: scaleX(1); }

@media(max-width:900px){
  .arcanos-grid{ grid-template-columns: repeat(3,1fr); gap:16px; }
  .arcano-nome{ font-size: 1.2rem; }
}
@media(max-width:600px){
  .arcanos-grid{
    grid-template-columns: 1fr;
    max-width: 320px;
  }
  .arcano-img{ aspect-ratio: 3/4; }
}


/* Manifesto dos Arcanos */
.arcanos-manifesto{
  max-width: 860px;
  margin: 0 auto 52px;
}
.arcanos-manifesto-inner{
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  align-items: start;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 32px 36px;
}
.am-quote{
  border-right: 1px solid rgba(192,57,43,.25);
  padding-right: 32px;
  text-align: center;
}
.am-aspas{
  font-size: 4rem;
  color: var(--glow);
  opacity: .35;
  line-height: 1;
  font-family: Georgia, serif;
  display: block;
}
.am-quote p{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.4rem;
  letter-spacing: .06em;
  color: var(--gray-l);
  line-height: 1.3;
  margin: 8px 0;
}
.am-quote cite{
  font-size: .72rem;
  letter-spacing: .25em;
  color: var(--muted);
  text-transform: uppercase;
  font-style: normal;
}
.am-intro{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1rem;
  letter-spacing: .2em;
  color: var(--glow);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.am-topicos ul{
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
}
.am-topicos ul li{
  font-size: .93rem;
  color: var(--muted);
  line-height: 1.5;
}
.am-fechamento{
  font-size: .9rem;
  color: var(--muted);
  line-height: 1.7;
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 14px;
}
.am-fechamento strong{ color: var(--white); font-weight: 500; }

/* Melhoria na separação visual entre seções */
/* Seções alternadas ganham uma linha de destaque no topo */
.bg-dark  { border-top: 1px solid rgba(255,255,255,.05); }
.bg-off   { border-top: 1px solid rgba(255,255,255,.05); }
.bg-mid   { border-top: 1px solid rgba(255,255,255,.05); }
.bg-panel { border-top: 1px solid rgba(255,255,255,.05); }
.bg-red-hint{ border-top: 1px solid rgba(192,57,43,.15); }
.arcanos-section{ border-top: 2px solid rgba(192,57,43,.2); }

@media(max-width:768px){
  .arcanos-manifesto-inner{
    grid-template-columns: 1fr;
    padding: 24px 20px;
    gap: 24px;
  }
  .am-quote{ border-right: none; border-bottom: 1px solid rgba(192,57,43,.2); padding-right: 0; padding-bottom: 20px; }
}


/* ══════════════════════ DOIS PLANOS ══════════════════════ */
.pricing-grid-2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 980px;
  margin: 0 auto;
  align-items: stretch;
}

/* Plano base */
.plano-card{
  background: rgba(10,10,10,0.95);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all .35s;
}
.plano-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.5);
}

/* Plano destaque (com camisa) */
.plano-destaque{
  border-color: rgba(192,57,43,.55);
  box-shadow: 0 8px 32px rgba(192,57,43,.12);
}
.plano-destaque:hover{
  box-shadow: 0 20px 50px rgba(192,57,43,.22);
}

/* Badge popular */
.plano-badge{
  position: absolute;
  top: -14px; left: 50%;
  transform: translateX(-50%);
  background: var(--glow);
  color: #fff;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1rem;
  letter-spacing: .12em;
  padding: 5px 18px;
  border-radius: 20px;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(192,57,43,.5);
}

/* Ícone do plano */
.plano-icon{
  font-size: 2rem;
  margin-bottom: 12px;
  display: block;
}

/* Nome */
.plano-nome{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.6rem;
  letter-spacing: .05em;
  color: var(--white);
  margin-bottom: 4px;
}

/* Preço riscado */
.plano-riscado{
  font-size: .88rem;
  color: var(--muted);
  text-decoration: line-through;
  text-decoration-color: var(--glow);
  margin-bottom: 4px;
  display: block;
}

/* Preço principal */
.plano-preco{
  font-family: 'Bebas Neue', sans-serif;
  font-size: 3.4rem;
  line-height: 1;
  color: var(--white);
  margin-bottom: 4px;
}
.plano-preco sup{
  font-size: 1.4rem;
  vertical-align: top;
  margin-top: 8px;
  color: var(--muted);
}

/* Parcelamento */
.plano-parcela{
  font-size: .88rem;
  color: var(--muted);
  margin-bottom: 20px;
}

/* Tag de vantagem */
.plano-vantagem{
  background: rgba(192,57,43,.1);
  border: 1px solid rgba(192,57,43,.25);
  border-radius: 10px;
  padding: 10px 14px;
  margin-bottom: 20px;
  font-size: .88rem;
  color: var(--glow);
  line-height: 1.55;
}
.plano-vantagem strong{ color: var(--white); }

/* Divisor */
.plano-divider{
  height: 1px;
  background: rgba(255,255,255,.06);
  margin-bottom: 18px;
}

/* Lista de benefícios */
.plano-lista{
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1;
  margin-bottom: 24px;
}
.plano-lista li{
  font-size: .93rem;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 10px;
}
.plano-lista li span{
  font-size: 1rem;
  flex-shrink: 0;
}
.plano-lista li.destaque-item{
  color: var(--white);
  font-weight: 500;
}

/* Botões */
.plano-btn{
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 16px;
  border-radius: 10px;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.3rem;
  letter-spacing: .1em;
  transition: all .3s;
  cursor: none;
}
.plano-btn-outline{
  border: 2px solid rgba(255,255,255,.2);
  color: var(--white);
  background: transparent;
}
.plano-btn-outline:hover{
  border-color: var(--white);
  background: rgba(255,255,255,.06);
  color: var(--white);
}
.plano-btn-red{
  background: linear-gradient(45deg, var(--red), var(--glow));
  color: #fff;
  box-shadow: 0 8px 20px rgba(192,57,43,.4);
  animation: pulseRed 2s infinite;
}
.plano-btn-red:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(192,57,43,.6);
  color: #fff;
}

/* Nota de garantia */
.plano-garantia{
  text-align: center;
  font-size: .78rem;
  color: var(--muted);
  margin-top: 10px;
}

/* Nota comparativa abaixo dos planos */
.pricing-nota{
  max-width: 680px;
  margin: 32px auto 0;
  text-align: center;
  font-size: .92rem;
  color: var(--muted);
  line-height: 1.7;
  padding: 18px 24px;
  background: rgba(192,57,43,.05);
  border: 1px solid rgba(192,57,43,.15);
  border-radius: 12px;
}
.pricing-nota strong{ color: var(--white); }
.pricing-nota em{ color: var(--glow); font-style: normal; }

@media(max-width:700px){
  .pricing-grid-2{ grid-template-columns: 1fr; max-width: 420px; }
  .plano-destaque{ order: -1; }
}


/* ══════════════════════ PRICING ══════════════════════ */
.pricing-section{padding:100px 20px;border-top:1px solid var(--border)}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:980px;margin:0 auto;align-items:stretch}
.pricing-figure{border-radius:18px;border:1px solid var(--gborder);
  background:#000;
  min-height:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5);display:flex}
.pricing-figure::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 55%);pointer-events:none}
.pricing-card{background:rgba(10,10,10,.95);border:1px solid rgba(192,57,43,.45);border-radius:18px;
  padding:40px 28px;text-align:center;display:flex;flex-direction:column;
  backdrop-filter:blur(14px);box-shadow:0 10px 40px rgba(192,57,43,.12);position:relative}
.pricing-card .badge{position:absolute;top:-15px;right:20px;background:var(--glow);color:white;
  padding:6px 16px;border-radius:20px;font-family:'Bebas Neue',sans-serif;letter-spacing:.1em;font-size:1.05rem;
  box-shadow:0 5px 14px rgba(192,57,43,.5)}
.pricing-card h3{font-family:'Bebas Neue',sans-serif;font-size:2.6rem;color:var(--white);margin-bottom:4px;letter-spacing:.05em}
.pricing-card .duration{color:var(--muted);font-size:.95rem;margin-bottom:26px}
.pricing-price{font-family:'Bebas Neue',sans-serif;font-size:4.2rem;color:var(--white);line-height:1}
.pricing-price span{font-size:1.7rem;color:var(--muted);vertical-align:middle}
.pricing-pix{font-size:.97rem;color:var(--gray-l);margin-top:8px;margin-bottom:10px}
.pricing-frete{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.9rem;color:#4ade80;
  background:rgba(74,222,128,.08);
  border:1px solid rgba(74,222,128,.25);
  padding:6px 12px;border-radius:8px;
  margin:0 0 26px;font-weight:500
}
.pricing-frete strong{color:#4ade80;font-weight:700}
.pricing-features{list-style:none;text-align:left;margin-bottom:34px;flex-grow:1}
.pricing-features li{padding:12px 0;border-bottom:1px solid var(--gborder);color:var(--text);
  display:flex;align-items:center;gap:10px;font-size:1rem}
.pricing-features li.hl{color:var(--glow);font-weight:500;flex-direction:column;align-items:flex-start;gap:3px}
.pricing-features li.hl small{color:var(--gray-l);font-size:.82rem}
.pricing-btn{display:inline-block;background:linear-gradient(45deg,var(--red),var(--glow));
  color:white;text-decoration:none;padding:18px 28px;border-radius:10px;
  font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.1em;
  transition:all .3s;animation:pulseRed 2s infinite;text-transform:uppercase}
.pricing-btn:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(192,57,43,.6);color:white}
.pricing-product-label{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;margin-bottom:20px;text-align:left}
.pricing-product-label .pp-icon{font-size:2rem;flex-shrink:0}
.pricing-product-label strong{display:block;font-size:1rem;color:var(--white);font-weight:600}
.pricing-product-label span{font-size:.82rem;color:var(--muted)}
.membro-red-badge{display:flex;align-items:center;gap:14px;background:rgba(192,57,43,.1);
  border:1px solid rgba(192,57,43,.35);border-radius:12px;padding:14px 16px;margin-bottom:20px;text-align:left}
.membro-red-badge .mr-icon{font-size:1.6rem;flex-shrink:0}
.membro-red-badge strong{display:block;font-size:1rem;color:var(--white);font-weight:600}
.membro-red-badge strong em{color:var(--glow);font-style:normal}
.membro-red-badge span{font-size:.82rem;color:var(--muted)}
.pricing-incluso-label{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;margin-top:4px}
.pricing-garantia{text-align:center;font-size:.82rem;color:var(--muted);margin-top:14px;line-height:1.5}
.pricing-original{display:flex;align-items:center;gap:10px;margin-bottom:8px;justify-content:center}
.price-old{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--muted);
  text-decoration:line-through;text-decoration-color:var(--glow);text-decoration-thickness:2px;opacity:.8}
.price-discount{background:rgba(192,57,43,.15);color:var(--glow);border:1px solid rgba(192,57,43,.35);
  font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:.1em;padding:4px 10px;border-radius:6px}
@media(max-width:900px){
  .pricing-grid{grid-template-columns:1fr}
  .pricing-figure{
    background-image:url('img/camisa-produto-novo.webp');
    background-size:cover !important;background-position:center top !important;
    background-repeat:no-repeat !important;
    aspect-ratio:4/5;min-height:unset;
    border-radius:20px;
    filter:grayscale(20%) contrast(1.1);
  }
}
@media(max-width:600px){
  .pricing-figure{
    background-image:url('img/camisa-produto-novo.webp');
    background-size:cover !important;background-position:center top !important;
    background-repeat:no-repeat !important;
    aspect-ratio:4/5;min-height:unset;
    border-radius:20px;
    filter:grayscale(20%) contrast(1.1);
  }
}
@media(max-width:640px){
  .pertencimento-grid{ grid-template-columns:1fr !important; }
}

.depo-stats{
  display:flex;justify-content:center;gap:60px;
  max-width:700px;margin:60px auto 0;
  padding:36px 40px;
  background:var(--glass);backdrop-filter:blur(12px);
  border:1px solid var(--gborder);border-radius:18px;
}
.stat-item{text-align:center}
.stat-number{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(2.4rem,5vw,3.5rem);
  color:var(--white);line-height:1;
  background:linear-gradient(135deg,var(--white),var(--gray-l));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.stat-number em{color:var(--glow);-webkit-text-fill-color:var(--glow)}
.stat-label{font-size:.88rem;color:var(--muted);margin-top:6px;letter-spacing:.05em}


/* ══════════════════════ ARCANOS ══════════════════════ */
.arcanos-section{padding:100px 20px;border-top:1px solid var(--border);}
.arcanos-grid{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  align-items:end;
}
.arcano-card{
  position:relative;border-radius:18px;overflow:hidden;
  border:1px solid var(--gborder);
  transition:transform .4s ease, border-color .4s ease, box-shadow .4s ease;
  cursor:default;
}
.arcano-card:hover{
  transform:translateY(-10px) scale(1.02);
  border-color:rgba(192,57,43,.5);
  box-shadow:0 20px 50px rgba(192,57,43,.15);
}
/* Card do Presidente é maior */
.arcano-card.pres{
  transform:scale(1.06);
  border-color:rgba(192,57,43,.35);
  box-shadow:0 10px 40px rgba(192,57,43,.12);
  z-index:2;
}
.arcano-card.pres:hover{
  transform:scale(1.06) translateY(-10px);
}
.arcano-photo{
  width:100%;aspect-ratio:9/16;object-fit:contain;object-position:center top;
  display:block;filter:grayscale(15%) contrast(1.05);
  transition:filter .4s ease;
  background:#111;
}
.arcano-card:hover .arcano-photo{filter:grayscale(0%) contrast(1.08);}
.arcano-card.pres .arcano-photo{object-fit:cover;}
.arcano-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.45) 35%, rgba(0,0,0,.08) 60%, transparent 75%);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px 22px 22px;
}
.arcano-cargo{
  font-size:.72rem;letter-spacing:.18em;color:var(--glow);
  font-family:'Bebas Neue',sans-serif;margin-bottom:4px;display:block;
}
.arcano-nome{
  font-family:'Bebas Neue',sans-serif;font-size:1.8rem;
  letter-spacing:.06em;color:#fff;line-height:1.1;margin:0 0 6px;
}
.arcano-card.pres .arcano-nome{font-size:2.2rem;}
.arcano-at{
  font-size:.8rem;color:var(--muted);letter-spacing:.04em;
}
.arcano-at a{color:var(--muted);text-decoration:none;transition:color .2s}
.arcano-at a:hover{color:var(--glow)}
/* Linha decorativa removida do presidente para manter overlay igual aos demais cards */
@media(max-width:700px){
  .arcanos-grid{grid-template-columns:1fr;max-width:380px;}
  .arcano-card.pres{transform:none;}
  .arcano-card.pres:hover{transform:translateY(-10px) scale(1.02);}
}

/* ── padrão de botões CTA: texto mobile distinto do desktop ── */
.cta-text-mobile{ display:none; }
.cta-text-desktop{ display:inline; }


/* ══════════════════════ CTAs PRINCIPAIS UNIFICADOS ══════════════════════ */
/* Padrão único: mesmo tamanho, padding, radius, gradiente e sombra em todos */
.hero-cta a,
.pricing-btn,
.historia-cta a.btn-primary,
.btn-cta-encerramento{
  display:inline-block !important;
  background:linear-gradient(45deg,var(--red),var(--glow)) !important;
  color:#fff !important;
  text-decoration:none !important;
  padding:16px 34px !important;
  border-radius:10px !important;
  font-family:'Bebas Neue',sans-serif !important;
  font-size:1.35rem !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
  box-shadow:0 8px 24px rgba(192,57,43,.45) !important;
  border:none !important;
  cursor:pointer !important;
}
.hero-cta a:hover,
.pricing-btn:hover,
.historia-cta a.btn-primary:hover,
.btn-cta-encerramento:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 14px 32px rgba(192,57,43,.65) !important;
  color:#fff !important;
}
.hero-cta a:active,
.pricing-btn:active,
.historia-cta a.btn-primary:active,
.btn-cta-encerramento:active{
  transform:scale(.97) !important;
}

/* pricing-btn mantém pulse — é o CTA de conversão principal */
.pricing-btn{
  animation:pulseRed 2s infinite;
}

@media(max-width:600px){
  .cta-text-desktop{ display:none; }
  .cta-text-mobile{ display:inline; }

  /* fonte e espaçamento padronizados para todos os CTAs no mobile */
  .hero-cta a,
  .pricing-btn,
  .btn-primary,
  .btn-cta-encerramento,
  a[href="#assinatura"]{
    font-size:1.05rem !important;
    letter-spacing:.1em !important;
    white-space:nowrap;
  }

  /* Cards flutuantes 15K e 2026 ficam muito em cima da imagem no mobile — esconde */
  .historia-float-card2,
  .historia-float-card[style*="top:10px"]{
    display:none !important;
  }

  /* Footer: texto e espaçamento menores no mobile */
  footer{
    padding:32px 20px 24px !important;
  }
  footer p{
    font-size:.68rem !important;
    line-height:1.45 !important;
    margin:0 0 8px !important;
  }
  footer p:last-of-type{
    margin-bottom:0 !important;
  }
  .footer-contacts{
    font-size:.62rem !important;
  }
  .footer-legal{
    margin-top:12px !important;
    gap:6px !important;
  }
  .footer-legal a,
  .footer-legal span{
    font-size:.65rem !important;
  }
}


/* ── MOBILE: troca foto pricing-figure pela foto real do casal ── */
@media(max-width:900px){
  .pf-img{
    content: url('img/camisa-produto-novo.webp');
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    object-position: center top;
    border-radius: 20px;
    display: block;
    filter: grayscale(20%) contrast(1.1);
  }
}

/* ── MOBILE: borda animada vermelha na foto da camisa ── */
@media(max-width:900px){
  .pricing-figure{
    position: relative;
    border-radius: 20px;
    padding: 3px;
    background: linear-gradient(var(--angle, 0deg), #c0392b, #ff6b6b, #8b0000, #ff2020, #c0392b);
    background-size: 300% 300%;
    animation: rotate-border 3s linear infinite;
  }
  @keyframes rotate-border {
    0%   { --angle: 0deg; }
    100% { --angle: 360deg; }
  }
  @property --angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
  }
  .pf-img{
    border-radius: 18px;
    display: block;
  }
}

/* ══════════════════════ PRICING FLOAT CARDS ══════════════════════ */
/* Cards flutuantes sobre a foto (padrão inspirado na seção história) */
.pricing-figure{position:relative}

.pricing-float-card{
  position:absolute;
  z-index:3;
  background:rgba(15,15,15,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(192,57,43,.35);
  border-radius:14px;
  padding:14px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  box-shadow:0 12px 32px rgba(0,0,0,.55);
  max-width:calc(100% - 32px);
}
.pricing-float-card .pfc-icon{
  font-size:1.6rem;
  line-height:1;
  flex-shrink:0;
}
.pricing-float-card .pfc-text{
  display:flex;flex-direction:column;gap:2px;line-height:1.3;
}
.pricing-float-card .pfc-text strong{
  color:#fff;font-size:.95rem;font-weight:600;
}
.pricing-float-card .pfc-text strong em{
  color:var(--glow);font-style:normal;font-weight:700;
}
.pricing-float-card .pfc-text span{
  color:var(--muted);font-size:.78rem;
}

/* Card do topo */
.pricing-float-card.pfc-top{
  top:16px;left:16px;
}
/* Card da base — com borda vermelha mais forte pra destaque */
.pricing-float-card.pfc-bottom{
  bottom:16px;left:16px;
  border-color:rgba(192,57,43,.55);
  background:rgba(20,10,10,.9);
}

/* No mobile, cards ficam menores e centralizados */
@media(max-width:700px){
  .pricing-float-card{
    padding:10px 14px;
    max-width:calc(100% - 20px);
  }
  .pricing-float-card.pfc-top{top:10px;left:10px}
  .pricing-float-card.pfc-bottom{bottom:10px;left:10px}
  .pricing-float-card .pfc-icon{font-size:1.3rem}
  .pricing-float-card .pfc-text strong{font-size:.85rem}
  .pricing-float-card .pfc-text span{font-size:.72rem}
}

/* ══════════════════════ AMBIENT RED GLOWS ══════════════════════ */
/* Luzes vermelhas de fundo nas seções escuras — versão que efetivamente aparece */

.reinados-section,
.depoimentos-section,
.pricing-section,
.faq-section{
  position:relative;
  overflow:hidden;
}

.reinados-section::before,
.depoimentos-section::before,
.pricing-section::before,
.faq-section::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 25%, rgba(231,76,60,.22) 0%, transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(192,57,43,.20) 0%, transparent 40%);
  pointer-events:none;
  z-index:0;
}

/* Garantir que conteúdo fica na frente das luzes */
.reinados-section > *,
.depoimentos-section > *,
.pricing-section > *,
.faq-section > *,
.arcanos-section > *{
  position:relative;
  z-index:1;
}

/* Reforçar as orbs existentes que já estavam no CSS antigo mas fracas demais */
.arcanos-section::before{
  background: radial-gradient(circle at 20% 20%, rgba(231,76,60,.22) 0%, transparent 45%),
              radial-gradient(circle at 80% 90%, rgba(192,57,43,.20) 0%, transparent 45%) !important;
}

/* No mobile, reduzir intensidade */
@media(max-width:700px){
  .reinados-section::before,
  .depoimentos-section::before,
  .pricing-section::before,
  .faq-section::before,
  .arcanos-section::before{
    background:
      radial-gradient(circle at 20% 20%, rgba(231,76,60,.15) 0%, transparent 45%),
      radial-gradient(circle at 80% 80%, rgba(192,57,43,.13) 0%, transparent 45%) !important;
  }
}

/* ══════════════════════ SVG ICONS (Lucide) ══════════════════════ */
/* Padronização de cor e tamanho de todos os SVGs do site.
   Uso filter para colorir SVGs pretos como se fossem vermelhos. */

/* Filter que transforma preto em vermelho glow (var(--glow) = #c0392b aprox) */
/* invert(28%) sepia(85%) saturate(1900%) hue-rotate(345deg) brightness(90%) contrast(90%) */

/* --- Cards "Isso é mais do que uma camisa" (4 features grandes) --- */
.feature-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;
  border-radius:12px;
  background:rgba(192,57,43,.12);
  border:1px solid rgba(192,57,43,.25);
  margin-bottom:16px;
}
.feature-icon img{
  width:26px;height:26px;
  filter:invert(28%) sepia(85%) saturate(1900%) hue-rotate(345deg) brightness(95%) contrast(95%);
}

/* --- Cards flutuantes sobre a foto (Camisa Oficial + Membro Red) --- */
.pfc-icon img{
  width:22px;height:22px;
  filter:invert(28%) sepia(85%) saturate(1900%) hue-rotate(345deg) brightness(95%) contrast(95%);
  display:block;
}
.pricing-float-card .pfc-icon{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;flex-shrink:0;
  background:rgba(192,57,43,.15);
  border-radius:10px;
}

/* --- Ícones dentro da lista de benefícios --- */
.pricing-features li{
  padding:12px 0;border-bottom:1px solid var(--gborder);color:var(--text);
  display:flex;align-items:center;gap:12px;font-size:1rem;
}
.li-svg{
  width:20px;height:20px;flex-shrink:0;
  filter:invert(28%) sepia(85%) saturate(1900%) hue-rotate(345deg) brightness(95%) contrast(95%);
}

/* --- Ícone de frete e garantia --- */
.frete-svg,
.garantia-svg{
  width:16px;height:16px;
  vertical-align:middle;
  margin-right:2px;
  display:inline-block;
}
.frete-svg{
  filter:invert(65%) sepia(80%) saturate(500%) hue-rotate(80deg) brightness(95%) contrast(88%);
}
.garantia-svg{
  filter:invert(60%) sepia(20%) saturate(200%) hue-rotate(0deg) brightness(90%) contrast(80%);
  opacity:.85;
}

/* --- Ícone dentro do badge "Oficial" --- */
.badge-svg{
  width:14px;height:14px;
  vertical-align:middle;
  margin-right:4px;
  filter:brightness(0) invert(1);
}

/* --- Seção Transparência (6 cards) --- */
.transp-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;
  border-radius:12px;
  background:rgba(192,57,43,.12);
  border:1px solid rgba(192,57,43,.25);
  margin-bottom:16px;
}
.transp-icon img{
  width:26px;height:26px;
  filter:invert(28%) sepia(85%) saturate(1900%) hue-rotate(345deg) brightness(95%) contrast(95%);
}
