
:root{
  /* Manual de marca — #ffb905 · #00bf63 · #000 · #fff */
  --brand-gold:#ffb905;
  --brand-green:#00bf63;
  --brand-black:#000000;
  --brand-white:#ffffff;
  /* Verde — profundidade premium */
  --grn-dk:#004d28; --grn-base:#006b38; --grn-mid:#008f4a;
  --grn-lt:#00bf63; --grn-lt2:#33d17d; --grn-lt3:#8ae8b0;
  /* Dourado oficial */
  --gold:#ffb905; --gold-lt:#ffc933; --gold-dk:#e6a700; --gold-pl:#ffe566;
  --gold-br:rgba(255,185,5,0.28); --gold-br2:rgba(255,185,5,0.58);
  /* Tiers de ingresso — media kit (valores e benefícios) */
  --ess:#40c057; --ess-lt:#00b4d8; --ess-dk:#2d9a47;
  --ess-grad:linear-gradient(180deg,var(--ess-lt) 0%,var(--ess) 100%);
  --vip-tier:#f7d060; --vip-lt:#ffe08a; --vip-dk:#b8860b;
  --vip-grad:linear-gradient(180deg,var(--vip-tier) 0%,var(--vip-dk) 100%);
  --dia:#8daac7; --dia-lt:#c6e2ff; --dia-dk:#6b8fa8;
  --dia-grad:linear-gradient(180deg,var(--dia-lt) 0%,var(--dia) 100%);
  /* Fundos e texto */
  --blk:#000000; --dk1:#020604; --dk2:#040c08; --dk3:#061410;
  --txt:#ffffff; --txt2:rgba(255,255,255,0.84); --txt3:rgba(255,255,255,0.52);
  --bdr:rgba(255,185,5,0.22);
  --card-surface:linear-gradient(165deg,rgba(0,191,99,0.07) 0%,rgba(0,0,0,0.82) 50%,rgba(0,0,0,0.94) 100%);
  --glow-gold:0 0 48px rgba(255,185,5,0.22);
  --glow-green:0 0 40px rgba(0,191,99,0.18);
  --nav-h:0px;
  --nav-gap:1.5rem;
  --font-title:'Sora',sans-serif;
  --font-display:'Playfair Display',serif;
  --font-body:'Sora',sans-serif;
  --font-label:'Barlow Condensed',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:var(--nav-h);
  background-color:#000000;
  background:#000000;
  min-height:100%;
}
body{
  background-color:#000000;
  color:var(--txt);
  font-family:var(--font-body);
  overflow-x:hidden;
  min-height:100vh;
  background:
    #000000
    radial-gradient(ellipse 120% 80% at 50% -20%,rgba(0,191,99,0.12) 0%,transparent 55%),
    radial-gradient(ellipse 90% 60% at 100% 50%,rgba(255,185,5,0.06) 0%,transparent 50%),
    linear-gradient(180deg,
      #000000 0%,
      #030a06 28%,
      #051209 50%,
      #030a06 72%,
      #000000 100%
    );
}


/* HERO — layout como conferencia.casadedestino.com.br */
#hero{
  position:relative;
  min-height: 100svh;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  padding:calc(var(--nav-h) + var(--nav-gap)) 5vw 15vw;
  overflow:hidden;
  isolation:isolate;
}
.hero-bg{
  position:absolute;inset:0;z-index:-2;
  background-color:var(--blk);
  background-image:url('/assets/bg-1-mobile.webp');
  background-size:contain;
  background-position:center top;
  background-repeat:no-repeat;
}
.hero-overlay{
  position:absolute;inset:0;z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,
    transparent 0%,
    transparent 42%,
    rgba(0,0,0,0.4) 68%,
    var(--blk) 100%);
}
.hero-content{
  position:relative;z-index:1;
  width:100%;max-width:760px;
  margin-top:clamp(160px,38vw,240px);
  margin-left:0;margin-right:auto;
  text-align:left;
  display:flex;flex-direction:column;align-items:flex-start;
}
.hero-logo{
  display:block;
  width:clamp(154px,33.6vw,266px);
  height:auto;
  margin:0 0 1.2rem;
  animation:fadeUp 1s ease both;
}


.hero-badge{
  position:relative;
  display:inline-flex;align-items:center;gap:0.5rem;
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid var(--gold-br2);
  padding:0.45rem 1.1rem;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;font-size:0.65rem;
  letter-spacing:0.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.5rem;
  animation:fadeUp 1s ease both;
}
.hero-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:blink 2s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}

.hero-pre{
  position:relative;
  font-family:var(--font-body);
  font-weight:600;font-size:0.75rem;
  letter-spacing:0.04em;
  color:var(--gold-pl);
  margin-bottom:1.3rem;max-width:520px;
  text-align:center;line-height:1.5;
  text-shadow:0 2px 12px rgba(0,0,0,0.7);
  animation:fadeUp 1s 0.05s ease both;
}



.hero-title{
  position:relative;
  font-family:var(--font-title);
  font-weight:700;
  font-size:clamp(1.9rem,5.5vw,3.1rem);
  line-height:1.15;letter-spacing:-0.01em;
  color:var(--txt);margin-bottom:1.2rem;
  animation:fadeUp 1s 0.1s ease both;
  text-shadow:0 4px 30px rgba(0,0,0,0.8);
  text-align:left;
}
.hero-title .fe{
  color:var(--gold-lt);font-weight:700;
  text-shadow:0 0 40px rgba(255,185,5,0.55), 0 4px 30px rgba(0,0,0,0.85);
}

.hero-sub{
  position:relative;
  font-family:var(--font-body);
  font-weight:500;font-size:1.15rem;line-height:1.55;
  color:var(--txt);max-width:640px;text-align:left;
  margin:0 0 1.6rem;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);
  animation:fadeUp 1s 0.25s ease both;
}
.hero-sub strong{color:var(--gold-pl);font-weight:600}

.hero-meta{
  position:relative;
  display:flex;align-items:center;gap:0.7rem;
  margin-bottom:2rem;
  animation:fadeUp 1s 0.3s ease both;
  flex-wrap:wrap;justify-content:flex-start;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);
}
.hero-meta-edition{
  font-family:var(--font-body);
  font-weight:800;font-size:0.82rem;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold-lt);
}
.hero-meta-sep{color:rgba(255,185,5,0.45);font-size:1.1rem;line-height:1}
.hero-meta-date{
  font-family:var(--font-body);
  font-weight:600;font-size:0.8rem;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--txt);
}
.hero-meta-loc{
  font-family:var(--font-body);
  font-weight:700;font-size:0.8rem;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold-lt);
}
.hero-meta-line{
  background:rgba(0,0,0,0.45);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid var(--gold-br2);
  padding:0.55rem 1.1rem;
  border-radius:999px;
  gap:0.65rem;
}

.hero-btns{
  position:relative;
  display:flex;gap:0.8rem;flex-wrap:wrap;justify-content:flex-start;
  flex-direction:column;align-items:flex-start;
  margin-bottom:1.5rem;
  animation:fadeUp 1s 0.4s ease both;
}

.hero-by{
  font-family:var(--font-body);
  font-size:0.78rem;color:var(--txt2);
  letter-spacing:0.08em;
  text-shadow:0 2px 8px rgba(0,0,0,0.7);
  animation:fadeUp 1s 0.5s ease both;
}
.hero-by strong{color:var(--gold-pl);font-weight:700}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* BUTTONS */
.btn-gold{
  font-family:var(--font-body);
  font-weight:700;font-size:0.85rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--blk);background:linear-gradient(135deg,var(--gold-pl) 0%,var(--gold) 45%,var(--gold-dk) 100%);
  padding:0.9rem 2rem;text-decoration:none;display:inline-block;
  transition:box-shadow 0.3s,transform 0.3s;border-radius:2px;
  box-shadow:0 4px 20px rgba(255,185,5,0.35),inset 0 1px 0 rgba(255,255,255,0.25);
}
.btn-gold:hover{box-shadow:0 8px 32px rgba(255,185,5,0.5),var(--glow-gold);transform:translateY(-2px)}
.btn-gold.btn-hero{
  background:linear-gradient(135deg,var(--grn-lt3) 0%,var(--grn-lt) 45%,var(--grn-base) 100%);
  color:var(--txt);
  box-shadow:0 4px 20px rgba(0,191,99,0.35),inset 0 1px 0 rgba(255,255,255,0.25);
  padding:1.1rem 2.6rem;
  font-size:0.92rem;
}
.btn-gold.btn-hero:hover{box-shadow:0 8px 32px rgba(0,191,99,0.5),var(--glow-green);transform:translateY(-2px)}
.btn-out{
  font-family:var(--font-body);
  font-weight:600;font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--txt);background:rgba(0,0,0,0.42);
  border:1px solid var(--gold-br2);
  padding:0.9rem 2rem;text-decoration:none;display:inline-block;
  transition:border-color 0.25s,background 0.25s;border-radius:2px;
}
.btn-out:hover{border-color:var(--gold-lt);background:rgba(0,0,0,0.55)}

/* SECTIONS */
section{padding:4.5rem 0}
.container{max-width:680px;margin:0 auto;padding:0 1.4rem}

.eyebrow{
  display:block;font-family:'Barlow Condensed',sans-serif;
  font-weight:700;font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:0.6rem;
  opacity:0;transform:translateY(12px);transition:opacity 0.5s,transform 0.5s;
}
.eyebrow.vis{opacity:1;transform:translateY(0)}
.sec-title{
  font-family:var(--font-title);
  font-weight:700;
  font-size:clamp(1.4rem,4vw,2rem);line-height:1.15;
  color:var(--txt);letter-spacing:-0.01em;
  opacity:0;transform:translateY(16px);transition:opacity 0.6s 0.1s,transform 0.6s 0.1s;
}
.sec-title.vis{opacity:1;transform:translateY(0)}
.sec-title .gd{color:var(--gold-lt)}

/* ABOUT — full-bleed background photo */
#about{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  align-items:stretch;
  justify-content:center;
  min-height:100svh;
  padding:4.5rem 0;
}
.about-bg{
  position:absolute;inset:0;z-index:-2;
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
}
.about-overlay{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(
    to top,
    rgba(0,0,0,0.92) 30%,
    rgba(0,0,0,0.5) 80%,
    rgba(0,0,0,0.12) 90%,
    transparent 100%
  );
}
#about .container{
  position:relative;z-index:1;
  display:flex;flex-direction:column;
  align-items:center;justify-content:flex-start;
  text-align:center;
  width:100%;
  flex:1;
  min-height:calc(100svh - 9rem);
}
#about .about-head{
  width:100%;max-width:820px;
  padding:1.25rem 1.4rem;
  border-radius:8px;
}
#about .eyebrow,#about .sec-title{text-align:center}
#about .eyebrow{
  text-shadow:0 2px 12px rgba(0,0,0,0.85);
  margin-bottom:0.75rem;
}
#about .sec-title{
  margin-bottom:0;
  text-shadow:0 4px 28px rgba(0,0,0,0.95),0 2px 10px rgba(0,0,0,0.8);
}
#about .sec-title .gd{
  text-shadow:0 0 32px rgba(255,185,5,0.45),0 4px 28px rgba(0,0,0,0.95);
}
.about-steps{
  display:flex;flex-direction:column;gap:1rem;
  margin-bottom:1.2rem;
}
.about-step{
  display:flex;align-items:flex-start;gap:0.8rem;
  margin-bottom:0;
}
.about-step-n{
  flex-shrink:0;
  width:1.8rem;height:1.8rem;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-lt),var(--gold-dk));
  color:var(--blk);
  display:flex;align-items:center;justify-content:center;
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:1rem;line-height:1;
  margin-top:0.1rem;
}
#about .about-body{
  flex:1;
  display:flex;flex-direction:column;
  margin-top:1.25rem;
  padding-top:0.25rem;
  padding-bottom:0.5rem;
  width:100%;max-width:820px;
}
#about .about-body > p{
  text-shadow:0 2px 14px rgba(0,0,0,0.85);
}
#about .about-bottom{
  margin-top:auto;
  width:100%;
  display:flex;flex-direction:column;
  align-items:center;
}
#about .about-intro{
  width:100%;max-width:640px;
  text-align:center;
  margin-bottom:1.25rem;
}
#about .about-intro p{
  text-shadow:0 2px 14px rgba(0,0,0,0.85);
  margin-bottom:0.9rem;
}
#about .about-intro p:last-child{margin-bottom:0}
#about .about-steps{
  margin-top:0;
  margin-bottom:0;
  padding-top:0;
  width:100%;
}
.about-body{margin-top:0}
.about-body p,.about-intro p{
  font-size:0.95rem;line-height:1.85;color:var(--txt2);
  margin-bottom:1.2rem;
  opacity:0;transform:translateY(12px);transition:opacity 0.5s,transform 0.5s;
}
.about-intro p.vis{opacity:1;transform:translateY(0)}
#about .about-step{
  text-align:left;
  width:100%;
  padding:1.25rem 1.4rem;
  background:rgba(0,0,0,0.62);
  border:1px solid rgba(255,185,5,0.32);
  border-radius:8px;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 12px 40px rgba(0,0,0,0.55),0 0 0 1px rgba(0,191,99,0.08);
  text-shadow:0 2px 14px rgba(0,0,0,0.85);
}
#about .about-steps .about-step{margin-bottom:0}
#about .about-steps{width:100%}
.about-body p.vis{opacity:1;transform:translateY(0)}
.about-body p strong{color:var(--gold-lt);font-weight:600}
.about-quote{
  border-left:3px solid var(--gold);padding:0.1rem 0 0.1rem 1.2rem;margin:1.5rem 0;
  opacity:0;transform:translateY(12px);transition:opacity 0.5s 0.1s,transform 0.5s 0.1s;
}
.about-quote.vis{opacity:1;transform:translateY(0)}
.about-quote q{
  font-family:var(--font-body);font-size:1.1rem;
  font-style:italic;line-height:1.6;color:var(--gold-pl);quotes:none;
}
.pillars{margin-top:2rem;border:1px solid var(--bdr);border-radius:4px;overflow:hidden}
.pillar{
  display:flex;align-items:flex-start;gap:0.9rem;padding:1rem 1.2rem;
  border-bottom:1px solid var(--bdr);background:rgba(255,185,5,0.02);
  opacity:0;transform:translateX(-10px);transition:opacity 0.5s,transform 0.5s;
}
.pillar:last-child{border-bottom:none}
.pillar.vis{opacity:1;transform:translateX(0)}
.pillar-ic{font-size:0.9rem;color:var(--gold);flex-shrink:0;margin-top:2px}
.pillar strong{
  display:block;font-family:'Barlow Condensed',sans-serif;
  font-weight:800;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--gold-lt);margin-bottom:0.2rem;
}
.pillar span{font-size:0.8rem;color:var(--txt2);line-height:1.5}

/* WHY */
#why{position:relative}
#why::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 50% at 90% 50%,rgba(255,185,5,0.16) 0%,transparent 60%),
    radial-gradient(ellipse 60% 40% at 10% 50%,rgba(255,185,5,0.10) 0%,transparent 55%);
}
.why-intro{
  max-width:620px;margin:0.6rem auto 2.5rem;text-align:center;
  font-family:var(--font-body);font-size:1rem;line-height:1.6;
  color:var(--txt2);
}
.why-grid{display:grid;grid-template-columns:1fr;gap:1px;background:rgba(255,185,5,0.18);margin-top:0;border-radius:4px;overflow:hidden}
.why-item{
  background:var(--card-surface);
  padding:1.8rem 1.4rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
  opacity:0;transform:translateY(14px);transition:opacity 0.5s,transform 0.5s;
  position:relative;
}
.why-item::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--gold-lt),var(--grn-lt));
}
.why-item.vis{opacity:1;transform:translateY(0)}
.why-tag{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--grn-lt2);margin-bottom:0.3rem;
}
.why-n{
  font-family:var(--font-title);font-weight:700;
  font-size:2.4rem;color:var(--gold-lt);line-height:1;margin-bottom:0.6rem;
}
.why-t{
  font-family:var(--font-title);font-weight:700;
  font-size:1rem;color:var(--txt);
  margin-bottom:1rem;line-height:1.2;letter-spacing:-0.005em;
}
.why-res-label{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:0.6rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--grn-lt2);margin-bottom:0.35rem;
  padding-top:0.7rem;border-top:1px solid rgba(255,185,5,0.18);
}
.why-d{font-size:0.88rem;line-height:1.65;color:var(--txt2)}

/* DEPOIMENTOS */
#depoimentos{
  background:
    radial-gradient(800px 400px at 50% 0%,rgba(0,191,99,0.12),transparent 60%),
    radial-gradient(900px 500px at 50% 100%,rgba(255,185,5,0.08),transparent 65%);
}
.dep-intro{
  max-width:580px;margin:0.6rem auto 3rem;text-align:center;
  font-family:var(--font-body);font-size:1rem;line-height:1.6;
  color:var(--txt2);
}
.dep-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}
.dep-card{
  background:var(--card-surface);
  border:1px solid rgba(255,185,5,0.2);
  padding:1.8rem 1.5rem 1.5rem;
  border-radius:8px;position:relative;
  box-shadow:0 12px 40px rgba(0,0,0,0.45);
  opacity:0;transform:translateY(14px);transition:opacity 0.6s,transform 0.6s;
}
.dep-card.vis{opacity:1;transform:translateY(0)}
.dep-card::before{
  content:"\201C";position:absolute;top:0.6rem;right:1.2rem;
  font-family:'Playfair Display',serif;font-style:italic;
  font-size:4.5rem;line-height:1;color:rgba(255,185,5,0.18);
  pointer-events:none;
}
.dep-role{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:0.65rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--grn-lt2);margin-bottom:0.9rem;
}
.dep-quote{
  font-family:var(--font-body);font-style:italic;
  font-size:1rem;line-height:1.55;color:var(--txt);
  margin-bottom:1.2rem;
}
.dep-name{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;
  font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--txt3);
  padding-top:1rem;border-top:1px solid rgba(255,185,5,0.15);
}
.dep-note{
  margin-top:2rem;text-align:center;
  font-family:var(--font-body);font-size:0.72rem;
  color:var(--txt3);font-style:italic;
}

/* ATTRACTIONS */
#attractions{
  position:relative;
  min-height:0;
  height:auto;
  padding:4.5rem 0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  box-sizing:border-box;
  overflow:visible;
}
#attractions::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 40% at 50% 0%,rgba(255,185,5,0.16) 0%,transparent 50%);
}
#attractions > .container{
  width:100%;
  max-width:1100px;
  padding:0 1.4rem;
  flex-shrink:0;
}
.attr-head{text-align:center;margin-bottom:1.25rem}
.attr-carousel-wrap{
  position:relative;
  width:95vw;
  max-width: 95vw;
  margin-left:calc(50% - 50vw);
  height:60vh;
  padding:0 0 1.75rem;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex-shrink:0;
}
.attr-carousel-viewport{
  position:relative;
  overflow:hidden;
  border-radius:6px;
  flex:1;
  min-height:0;
  height:100%;
  width:100%;
}
.attr-grid{
  display:flex;
  gap:0;
  padding:0;
  height:100%;
  align-items:stretch;
  width:max-content;
  animation:attr-marquee 36s linear infinite;
  will-change:transform;
}
@keyframes attr-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.attr-carousel-viewport:hover .attr-grid{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .attr-grid{animation:none}
}
.attr-item{
  flex:0 0 auto;
  width:78vw;
  margin-right:6px;
  height:100%;
  display:flex;flex-direction:column;
  opacity:0;transform:translateY(12px);transition:opacity 0.5s,transform 0.5s;
}
.attr-item.vis{opacity:1;transform:translateY(0)}
.attr-carousel-btn{
  position:absolute;top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:2.5rem;height:2.5rem;
  border:1px solid var(--gold-br2);
  border-radius:50%;
  background:rgba(0,0,0,0.75);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:var(--gold);
  font-size:1.45rem;line-height:1;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background 0.2s,border-color 0.2s,color 0.2s;
  padding:0 0 0.1rem;
  pointer-events:auto;
}
.attr-carousel-btn:hover:not(:disabled){
  background:var(--gold);
  color:var(--blk);
  border-color:var(--gold);
}
.attr-carousel-btn:disabled{
  opacity:0.35;
  cursor:default;
}
.attr-carousel-prev{left:0.65rem}
.attr-carousel-next{right:0.65rem}
.attr-carousel-dots{
  position:absolute;
  bottom:0.35rem;left:0;right:0;
  display:flex;justify-content:center;gap:0.45rem;
  z-index:2;
}
.attr-carousel-dot{
  width:7px;height:7px;border-radius:50%;
  border:none;padding:0;cursor:pointer;
  background:rgba(255,185,5,0.28);
  transition:background 0.25s,transform 0.25s;
}
.attr-carousel-dot.active{
  background:var(--gold);
  transform:scale(1.15);
}
.attr-label{
  font-family:'Sora',sans-serif;font-weight:500;
  font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--gold-lt);padding:0.5rem 0.4rem 0.3rem;text-align:left;
}
.attr-photo-wrap{
  position:relative;overflow:hidden;border-radius:6px;
  flex:1;min-height:0;display:flex;
}
.attr-photo-wrap img{
  width:100%;height:100%;display:block;
  object-fit:cover;
  filter:brightness(0.88);
  transition:transform 0.4s,filter 0.3s;
}
.attr-item:active .attr-photo-wrap img{transform:scale(1.04);filter:brightness(0.65)}

/* SPEAKERS */
#speakers{position:relative; padding-top:0;}
#speakers::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 50% at 20% 50%,rgba(255,185,5,0.14) 0%,transparent 55%),
    radial-gradient(ellipse 50% 40% at 80% 30%,rgba(255,185,5,0.14) 0%,transparent 50%);
}
.speakers-head{text-align:center;margin-bottom:2rem}
.speakers-duals{
  display:grid;grid-template-columns:1fr;gap:2rem;
  justify-items:center;
}
.dual-carousel-col{
  min-width:0;width:100%;max-width:100%;
  display:flex;flex-direction:column;align-items:center;
}
.dual-carousel-label{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);text-align:center;margin-bottom:0.85rem;
}
.dual-carousel-wrap{position:relative;width:100%}
.dual-carousel-viewport{
  position:relative;overflow:hidden;
  width:100%;margin:0 auto;
}
.dual-carousel-track{
  display:flex;width:max-content;
  animation:attr-marquee 32s linear infinite;
  will-change:transform;
}
.dual-carousel-wrap:hover .dual-carousel-track{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.dual-carousel-track{animation:none}}
.dual-carousel-slide{
  flex:0 0 auto;width:min(68vw,260px);height:auto;
  margin-right:16px;
  display:flex;flex-direction:column;align-items:stretch;
  box-sizing:border-box;
}
.dual-carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:2.25rem;height:2.25rem;border:1px solid var(--gold-br2);border-radius:50%;
  background:rgba(0,0,0,0.8);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  color:var(--gold);font-size:1.35rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background 0.2s,border-color 0.2s,color 0.2s;padding:0 0 0.1rem;
}
.dual-carousel-btn:hover:not(:disabled){background:var(--gold);color:var(--blk);border-color:var(--gold)}
.dual-carousel-btn:disabled{opacity:0.35;cursor:default}
.dual-carousel-prev{left:0.5rem}
.dual-carousel-next{right:0.5rem}
.dual-carousel-dots{
  position:absolute;bottom:5.5rem;left:50%;
  transform:translateX(-50%);
  display:flex;justify-content:center;align-items:center;gap:0.45rem;
  z-index:4;padding:0.35rem 0.65rem;border-radius:999px;
  background:rgba(0,0,0,0.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  pointer-events:auto;
}
.dual-carousel-dot{
  width:7px;height:7px;border-radius:50%;border:none;padding:0;cursor:pointer;
  background:rgba(255,185,5,0.28);transition:background 0.25s,transform 0.25s;
}
.dual-carousel-dot.active{background:var(--gold);transform:scale(1.15)}
.sp-card{
  background:rgba(0,0,0,0.7);border:1px solid var(--bdr);
  overflow:hidden;border-radius:6px;
  display:flex;flex-direction:column;flex:1;min-height:0;
  aspect-ratio:3/4.4;
  opacity:1;transform:none;
}
.sp-card > img,
.sp-photo{
  width:100%;flex:1 1 0;min-height:0;object-fit:cover;object-position:center top;
  display:block;filter:brightness(0.9);
}
.sp-info{
  padding:0.9rem 1.2rem 1rem;flex:0 0 auto;flex-shrink:0;box-sizing:border-box;
  height:6.65rem;display:flex;flex-direction:column;justify-content:center;gap:0.2rem;
}
.sp-role{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.58rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);
  margin:0;line-height:1.25;min-height:2.5em;display:flex;align-items:center;
}
.sp-name{
  font-family:var(--font-title);font-weight:700;font-size:1.1rem;color:var(--txt);line-height:1.2;
  margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.sp-card-nophoto{
  background:rgba(0,0,0,0.7);border:1px solid var(--bdr);border-radius:6px;
  padding:1rem 1.2rem;opacity:1;transform:none;
}
.sp-tba{
  background:rgba(0,0,0,0.45);border:1px dashed rgba(255,185,5,0.22);
  border-radius:6px;padding:1.5rem;flex:1;height:100%;
  display:flex;flex-direction:column;justify-content:center;
  opacity:1;transform:none;
}
.sp-tba-role{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.3rem}
.sp-tba-name{font-family:var(--font-title);font-weight:700;font-size:0.85rem;color:var(--txt3)}
.sp-tba-label{font-size:0.7rem;font-style:italic;color:var(--txt3);margin-top:0.2rem}
/* HOMENAGEM — full-width image with seamless gradient transition */
#homenagem{position:relative;padding:0;overflow:hidden}
.hom-img-wrap{position:relative;width:100%;line-height:0}
.hom-img{width:100%;display:block;object-fit:cover;object-position:center top;max-height:65vw;min-height:220px}
.hom-img-wrap::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:50%;
  background:linear-gradient(180deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0.35) 45%,
    rgba(0,0,0,0.85) 85%,
    rgba(0,0,0,1) 100%);
  pointer-events:none;
}
.hom-text{
  padding:2rem 1.4rem 3rem;
  background:linear-gradient(180deg,rgba(0,0,0,1) 0%,rgba(3,12,7,0.95) 100%);
  text-align:center;
  margin-top:-1px;
}
.hom-eyebrow{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:0.8rem;display:block;
}
.hom-title{
  font-family:var(--font-title);font-weight:700;
  font-size:clamp(1.5rem,5vw,2.4rem);
  line-height:1.15;color:var(--txt);margin-bottom:1rem;
}
.hom-title .gd{color:var(--gold-lt)}
.hom-sub{
  font-size:0.88rem;line-height:1.75;color:var(--txt2);
  max-width:600px;margin:0 auto 1.5rem;
}
.hom-sub strong{color:var(--gold-lt);font-weight:600}

/* MISSION */
#mission{position:relative}
#mission::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 80% 40%,rgba(255,185,5,0.16) 0%,transparent 55%);
}
.mission-body{margin-bottom:2rem}
.mission-body p{
  font-size:0.93rem;line-height:1.85;color:var(--txt2);margin-bottom:1rem;
  opacity:0;transform:translateY(12px);transition:opacity 0.5s,transform 0.5s;
}
.mission-body p.vis{opacity:1;transform:translateY(0)}
.mission-body p strong{color:var(--gold-lt);font-weight:600}
.mission-box{
  background:rgba(255,185,5,0.05);border:1px solid var(--bdr);
  border-radius:6px;padding:1.5rem;position:relative;
  opacity:0;transform:translateY(14px);transition:opacity 0.6s 0.1s,transform 0.6s 0.1s;
}
.mission-box.vis{opacity:1;transform:translateY(0)}
.mission-box::before{
  content:'';position:absolute;top:-1px;left:-1px;
  width:28px;height:28px;
  border-top:2px solid var(--gold);border-left:2px solid var(--gold);
  border-top-left-radius:4px;
}
.mission-box-t{
  font-family:var(--font-title);font-weight:800;
  font-size:0.63rem;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;
}
.mission-box p{font-size:0.88rem;line-height:1.82;color:var(--txt2);margin-bottom:0.8rem}
.mission-box p strong{color:var(--gold-lt);font-weight:600}
.mission-pull{
  font-family:var(--font-body);font-style:italic;font-size:1rem;
  line-height:1.55;color:var(--gold-pl);margin-top:1.2rem;
  padding-top:1.2rem;border-top:1px solid var(--bdr);
}

/* LOCATION */
#location{position:relative}
#location::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 10% 50%,rgba(255,185,5,0.16) 0%,transparent 55%);
}
.loc-items{border:1px solid var(--bdr);border-radius:6px;overflow:hidden;margin-top:2rem}
.loc-item{
  display:flex;gap:0.9rem;align-items:flex-start;padding:1rem 1.2rem;
  border-bottom:1px solid var(--bdr);
  opacity:0;transform:translateX(-12px);transition:opacity 0.5s,transform 0.5s;
}
.loc-item:last-child{border-bottom:none}
.loc-item.vis{opacity:1;transform:translateX(0)}
.loc-ic{font-size:1rem;color:var(--gold);flex-shrink:0;margin-top:1px}
.loc-lbl{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.56rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--txt3);margin-bottom:0.2rem}
.loc-val{font-family:var(--font-body);font-weight:800;font-size:1rem;color:var(--txt);line-height:1.2}
.loc-card{
  background:rgba(0,0,0,0.6);border:1px solid var(--bdr);
  border-radius:6px;padding:1.5rem;margin-top:1rem;
  opacity:0;transform:translateY(14px);transition:opacity 0.6s 0.15s,transform 0.6s 0.15s;
}
.loc-card.vis{opacity:1;transform:translateY(0)}
.loc-card-t{font-family:var(--font-title);font-weight:700;font-size:1.2rem;color:var(--gold);margin-bottom:0.6rem}
.loc-card p{font-size:0.86rem;line-height:1.8;color:var(--txt2);margin-bottom:0.7rem}
.loc-card p strong{color:var(--gold-lt);font-weight:600}

/* TICKETS */
#tickets{position:relative}
#tickets::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 55% at 50% 50%,rgba(255,185,5,0.14) 0%,transparent 65%);
}
.tickets-head{text-align:center;margin-bottom:2rem}
.tickets-grid{display:flex;flex-direction:column;gap:1rem}
.tc{
  display:flex;flex-direction:column;border:1px solid var(--bdr);
  background:var(--card-surface);overflow:hidden;border-radius:10px;
  box-shadow:0 10px 36px rgba(0,0,0,0.4);
  opacity:0;transform:translateY(20px);transition:opacity 0.6s,transform 0.6s;
}
.tc.vis{opacity:1;transform:translateY(0)}
.tc-band{height:4px}
.tc.essencial .tc-band{background:var(--ess-grad)}
.tc.vip .tc-band{background:var(--vip-grad)}
.tc.dia .tc-band{background:var(--dia-grad)}
.tc.essencial{
  border-color:rgba(64,192,87,0.5);
  background:linear-gradient(165deg,rgba(0,180,216,0.14) 0%,rgba(64,192,87,0.10) 28%,#0a0a0a 48%,#000000 100%);
  box-shadow:0 10px 40px rgba(0,0,0,0.5),0 0 0 1px rgba(64,192,87,0.2),0 0 36px rgba(64,192,87,0.12);
}
.tc.vip{
  border-color:rgba(247,208,96,0.55);
  background:linear-gradient(165deg,rgba(247,208,96,0.10) 0%,#0a0a0a 40%,#000000 100%);
  box-shadow:0 12px 48px rgba(0,0,0,0.6),0 0 0 1px rgba(247,208,96,0.18),0 0 48px rgba(247,208,96,0.12);
  position:relative;
}
.tc.vip::after{
  content:'MAIS POPULAR';position:absolute;top:4px;left:50%;transform:translateX(-50%);
  background:var(--vip-grad);color:var(--blk);
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:0.56rem;
  letter-spacing:0.2em;padding:0.26rem 1rem;white-space:nowrap;border-radius:2px;
}
.tc.dia{
  border-color:rgba(198,226,255,0.4);
  background:linear-gradient(165deg,rgba(198,226,255,0.09) 0%,#0a0a0a 42%,#000000 100%);
  box-shadow:0 10px 40px rgba(0,0,0,0.5),0 0 0 1px rgba(141,170,199,0.15),0 0 40px rgba(141,170,199,0.10);
}
.tc-head{padding:1.4rem 1.4rem 1.1rem}
.tc-tag{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:0.58rem;letter-spacing:0.22em;text-transform:uppercase;
  margin-bottom:0.5rem;display:inline-block;padding:0.2rem 0.6rem;border-radius:2px;
}
.tc.essencial .tc-tag{color:var(--blk);background:var(--ess-grad)}
.tc.vip .tc-tag{color:var(--blk);background:var(--vip-grad)}
.tc.dia .tc-tag{color:var(--blk);background:var(--dia-grad)}
.tc-name{font-family:var(--font-title);font-weight:700;font-size:1.6rem;line-height:1.1;margin-bottom:0.25rem}
.tc.essencial .tc-name{
  background:var(--ess-grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.tc.vip .tc-name{color:var(--vip-tier)}
.tc.dia .tc-name{color:var(--dia-lt)}
.tc-desc{font-size:0.76rem;color:var(--txt3);line-height:1.4}
.tc-price-row{padding:0.9rem 1.4rem;border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06)}
.tc.essencial .tc-price-row{border-color:rgba(64,192,87,0.22)}
.tc.vip .tc-price-row{border-color:rgba(247,208,96,0.22)}
.tc.dia .tc-price-row{border-color:rgba(198,226,255,0.18)}
.tc-from{font-size:0.58rem;letter-spacing:0.1em;color:var(--txt3);margin-bottom:0.05rem}
.tc-price{font-family:var(--font-title);font-weight:700;font-size:2.2rem;line-height:1.05;letter-spacing:-0.02em}
.tc.essencial .tc-price{color:var(--ess)}
.tc.vip .tc-price{color:var(--vip-tier)}
.tc.dia .tc-price{color:var(--dia-lt)}
.tc-price sup{font-size:1rem;vertical-align:super;font-weight:600}
.tc-price small{font-size:1.1rem;font-weight:400}
.tc-feats{padding:1rem 1.4rem;flex:1;list-style:none}
.tc-feats li{display:flex;align-items:flex-start;gap:0.6rem;font-size:0.78rem;color:var(--txt2);padding:0.42rem 0;border-bottom:1px solid rgba(255,255,255,0.04);line-height:1.3}
.tc-feats li:last-child{border-bottom:none}
.ck{font-size:0.82rem;flex-shrink:0}
.ck-y{color:var(--gold)}
.tc.essencial .ck-y{color:var(--ess-lt)}
.tc.vip .ck-y{color:var(--vip-tier)}
.tc.dia .ck-y{color:var(--dia-lt)}
.ck-n{color:rgba(255,255,255,0.2)}
.tc-btn{
  display:block;text-align:center;
  font-family:var(--font-body);font-weight:700;
  font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;
  text-decoration:none;padding:0.95rem;margin:0 1.4rem 1.4rem;
  transition:all 0.25s;border-radius:4px;
}
.tc.essencial .tc-btn{background:var(--ess-grad);color:var(--blk);border:1px solid transparent}
.tc.essencial .tc-btn:hover{box-shadow:0 6px 24px rgba(0,180,216,0.35),0 0 20px rgba(64,192,87,0.2)}
.tc.essencial .tc-btn:active{opacity:0.9}
.tc.vip .tc-btn{background:var(--vip-grad);color:var(--blk);border:1px solid transparent}
.tc.vip .tc-btn:hover{box-shadow:0 6px 24px rgba(247,208,96,0.35)}
.tc.vip .tc-btn:active{opacity:0.9}
.tc.dia .tc-btn{border:1px solid rgba(198,226,255,0.55);color:var(--dia-lt);background:rgba(141,170,199,0.12)}
.tc.dia .tc-btn:hover{background:rgba(198,226,255,0.18);border-color:var(--dia-lt)}
.tc.dia .tc-btn:active{background:rgba(141,170,199,0.28)}

/* EVENT MAP */
#eventmap{position:relative}
#eventmap::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 90% 50%,rgba(255,185,5,0.14) 0%,transparent 55%);
}
.eventmap-head{text-align:center;margin-bottom:2rem}
.eventmap-img-wrap{
  background:rgba(0,0,0,0.6);border:1px solid var(--bdr);
  border-radius:8px;overflow:hidden;line-height:0;
  opacity:0;transform:translateY(14px);
  transition:opacity 0.6s 0.15s,transform 0.6s 0.15s;
}
.eventmap-img-wrap:empty{min-height:160px}
.eventmap-img-wrap.vis{opacity:1;transform:translateY(0)}
.eventmap-img-wrap img{display:block;width:100%;max-width:100%;height:auto;vertical-align:top}

/* FINAL CTA */
#finalcta{
  position:relative;text-align:center;padding:5rem 1.4rem;
}
#finalcta::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 70% at 50% 50%,rgba(255,185,5,0.16) 0%,transparent 65%),
    radial-gradient(ellipse 50% 40% at 20% 80%,rgba(255,185,5,0.16) 0%,transparent 55%);
}
.fcta-ey{
  display:block;position:relative;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:0.65rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;
}
.fcta-t{
  position:relative;
  font-family:var(--font-title);font-weight:700;
  font-size:clamp(1.5rem,5vw,2.6rem);
  line-height:1.15;color:var(--txt);margin-bottom:1.2rem;letter-spacing:-0.01em;
}
.fcta-t .gd{color:var(--gold-lt)}
.fcta-sub{
  position:relative;font-size:0.88rem;color:var(--txt2);
  max-width:550px;margin:0 auto 2.5rem;line-height:1.7;
}
.fcta-btns{position:relative;display:flex;flex-direction:column;gap:0.7rem;max-width:320px;margin:0 auto}
.fcta-btns .btn-gold{background:var(--vip-grad);box-shadow:none}
.fcta-btns .btn-gold:hover{box-shadow:0 8px 32px rgba(247,208,96,0.45),0 0 40px rgba(247,208,96,0.15)}
.btn-teal{
  font-family:var(--font-body);font-weight:700;font-size:0.85rem;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--blk);background:var(--ess-grad);
  padding:1rem 2rem;text-decoration:none;display:block;
  text-align:center;border-radius:4px;transition:opacity 0.2s,box-shadow 0.2s;
}
.btn-teal:hover{box-shadow:0 6px 24px rgba(0,180,216,0.35)}
.btn-diam{
  font-family:var(--font-body);font-weight:700;font-size:0.85rem;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--blk);background:var(--dia-grad);
  padding:1rem 2rem;text-decoration:none;display:block;
  text-align:center;border-radius:4px;transition:opacity 0.2s,box-shadow 0.2s;
}
.btn-diam:hover{box-shadow:0 6px 24px rgba(198,226,255,0.3)}

/* FOOTER */
footer{border-top:1px solid var(--bdr);padding:1.5rem 1.4rem;background:transparent}
.foot-in{display:flex;flex-direction:column;align-items:center;gap:0.5rem;text-align:center;flex-wrap:wrap}
.foot-brand{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold)}
.foot-note{font-size:0.65rem;color:var(--txt3)}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0.35rem 0.7rem;font-size:0.6rem;color:var(--txt3);margin-top:0.25rem;letter-spacing:0.02em}
.foot-legal-sep{color:rgba(255,185,5,0.35)}
.foot-nittio{font-size:0.65rem;color:var(--txt3)}
.foot-nittio a{color:var(--gold);text-decoration:none;opacity:0.85}

/* DESKTOP adjustments */
@media(min-width:700px){
  .container{max-width:1100px;padding:0 2rem}
  #attractions{padding:6rem 0}
  .attr-carousel-wrap{padding:0 0 1.75rem}
  #attractions > .container{padding:0 2rem}
  .attr-item{width:calc(95vw / 6 - 6px)}
  .attr-carousel-prev{left:1rem}
  .attr-carousel-next{right:1rem}
  .speakers-duals{grid-template-columns:1fr;gap:2rem;align-items:start;justify-items:center}
  .tickets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:stretch}
  .why-grid{grid-template-columns:repeat(3,1fr)}
  .dep-grid{grid-template-columns:repeat(2,1fr);gap:1.4rem}
  section{padding:6rem 0}
  .fcta-btns{flex-direction:row;justify-content:center;max-width:none}
  .foot-in{flex-direction:row;justify-content:space-between;text-align:left;align-items:center}
  .foot-legal{width:100%;justify-content:flex-end;margin-top:0.15rem}

  /* HERO desktop — texto à esquerda (≥700px) */
  #hero{padding:calc(var(--nav-h) + var(--nav-gap)) 8vw 4rem;justify-content:flex-start}
  .hero-content{
    max-width: 720px;
    text-align:left;
    align-items:flex-start;
    margin-left:0;margin-right:auto;
    gap: 1rem;
  }
  .hero-pre{text-align:left}
  .hero-sub{margin-left:0;margin-right:auto;text-align:left}
  .hero-meta{justify-content:flex-start}
  .hero-btns{justify-content:flex-start;flex-direction:column;align-items:flex-start}
  .hero-title{font-size:clamp(2.2rem,4.2vw,3.2rem);text-align:left}

  /* HOMENAGEM desktop */
  #homenagem{padding:0}
  .hom-img{max-height:520px;min-height:380px}
  .hom-text{padding:3rem 2rem 4rem;max-width:1100px;margin:0 auto}
  .hom-sub{max-width:700px;font-size:1rem}

  /* ABOUT desktop */
  #about{padding:6rem 0;min-height:100vh}
  #about .container{max-width:900px;min-height:calc(100vh - 12rem)}
  #about .about-head{max-width:900px;padding:1.5rem 2rem}
  #about .about-step{padding:1.5rem 2rem}
  #about .about-body{max-width:900px;margin-top:1.5rem;padding-bottom:1rem}
  #about .about-intro{max-width:720px;margin-bottom:1.5rem}
  .about-bg{background-position:center top}
  #about .about-steps{
    display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem;
    margin-bottom:0;
  }
  .pillars{margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr)}
  .pillar{border-bottom:none;border-right:1px solid var(--bdr)}
  .pillar:last-child{border-right:none}

  /* MISSION desktop */
  #mission .container{max-width:900px}
  .mission-body p{font-size:1rem}

  /* LOCATION desktop — two columns */
  #location .container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
  #location .eyebrow,#location .sec-title{grid-column:1/-1}
  .loc-items{grid-column:1;margin-top:1rem}
  .loc-card{grid-column:2;margin-top:1rem}

  /* WHY desktop — typography */
  .why-item{padding:2.4rem 1.8rem}
  .why-n{font-size:2.8rem}
  .why-t{font-size:1.1rem}
  .why-d{font-size:0.92rem}
  .why-intro{font-size:1.1rem}

  /* HERO desktop */
  .hero-meta{gap:1.2rem}
  .hero-btns{gap:1rem}

  /* SPEAKERS desktop */
  .sp-name{font-size:1.2rem}
  .sp-info{height:7.35rem;padding:1rem 1.2rem 1.05rem}

  /* TICKETS desktop */
  .tc-name{font-size:1.8rem}
  .tc-price{font-size:2.4rem}
}

/* HERO tablet — foto inteira à direita + fade só na faixa preta */
@media(min-width:768px) and (max-width:1024px){
  #hero{
    min-height:100svh;
    justify-content:flex-start;
    padding:calc(var(--nav-h) + var(--nav-gap)) 6vw 6vw;
  }
  .hero-bg{
    --hero-img-size:auto 90%;
    --hero-img-pos:right 0.5% center;
    background-image:
      linear-gradient(to right,rgba(0,0,0,0.92) 0%,rgba(0,0,0,0.78) 45%,rgba(0,0,0,0.45) 70%,rgba(0,0,0,0.12) 90%),
      url('/assets/bg-1-tablet.webp');
    background-size:var(--hero-img-size),var(--hero-img-size);
    background-position:var(--hero-img-pos),var(--hero-img-pos);
  }
  .hero-overlay{
    background:linear-gradient(180deg,
      rgba(0,0,0,0.2) 0%,
      transparent 28%,
      rgba(0,0,0,0.12) 72%,
      rgba(0,0,0,0.35) 100%);
  }
  .hero-content{margin-top:0;align-items:flex-start;text-align:left}
  .hero-title,.hero-sub{text-align:left}
  .hero-meta{justify-content:flex-start}
  .hero-btns{flex-direction:column;align-items:flex-start;justify-content:flex-start}
}

/* HERO desktop — altura total + fade esquerda e sobre a foto */
@media(min-width:1025px){
  #hero{
    min-height:100svh;
    justify-content:flex-start;
    align-items:center;
    padding:calc(var(--nav-h) + var(--nav-gap)) 8vw 0;
  }
  .hero-bg{
    --hero-img-size:auto 85%;
    --hero-img-pos:right 0.5% top;
    background-image:
      linear-gradient(to right,rgba(0,0,0,0.92) 0%,rgba(0,0,0,0.78) 38%,rgba(0,0,0,0.45) 65%,rgba(0,0,0,0.12) 88%),
      url('/assets/bg-1-desktop.webp');
    background-size:var(--hero-img-size),var(--hero-img-size);
    background-position:var(--hero-img-pos),var(--hero-img-pos);
  }
  .hero-overlay{
    background:linear-gradient(180deg,
      rgba(0,0,0,0.22) 0%,
      transparent 30%,
      rgba(0,0,0,0.14) 70%,
      rgba(0,0,0,0.38) 100%);
  }
  .hero-content{margin-top:0;align-items:flex-start;text-align:left}
  .hero-title,.hero-sub{text-align:left}
  .hero-meta{justify-content:flex-start}
  .hero-btns{flex-direction:column;align-items:flex-start;justify-content:flex-start}
}

@media(max-width:767px){
  :root{
    --hero-text-gap:0.5rem;
  }

  #hero{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    min-height:auto;
    padding:var(--nav-h) 0 3rem;
    overflow:visible;
    isolation:auto;
    background-color:var(--blk);
  }
  .hero-bg{
    position:relative;
    inset:auto;
    z-index:0;
    order:1;
    flex-shrink:0;
    width:100%;
    aspect-ratio:16/9;
    background-image:url('/assets/bg-1-mobile.webp');
    background-size:cover;
    background-position:center top;
    background-repeat:no-repeat;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 72%,transparent 100%);
  }
  .hero-overlay{display:none}
  .hero-content{
    order:2;
    position:relative;
    z-index:1;
    width:100%;
    max-width:none;
    margin:-6vw 0 0;
    padding:var(--hero-text-gap) 6vw 0;
    align-items:flex-start;
    text-align:left;
  }
  .hero-logo{width:clamp(130px,42vw,190px);margin-bottom:1rem}
  .hero-title{font-size:clamp(1.65rem,7.6vw,2.3rem);line-height:1.12;text-align:left}
  .hero-sub{font-size:clamp(0.92rem,4vw,1.05rem);line-height:1.45;text-align:left;margin:0.8rem 0 0}
  .hero-brand-line{
    margin-bottom:0.75rem !important;
    line-height:1.2;
  }
  .hero-badge{margin-top:0; font-size: 0.55rem;}
  .hero-meta{justify-content:flex-start;width:100%}
  .hero-meta-line{
    border-radius:12px;
    padding:0.6rem 0.9rem;
    gap:0.4rem;
    flex-wrap:wrap;
    width:100%;
  }
  .hero-meta-date,.hero-meta-loc{font-size:0.7rem;letter-spacing:0.1em}
  .hero-meta-sep{font-size:0.9rem}
  .hero-btns{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0.75rem;
    margin-top:1.2rem;
  }
  .hero-btns .btn-gold,.hero-btns .btn-out{
    width:100%;
    justify-content:center;
    text-align:center;
    padding:1rem 1.2rem;
    font-size:0.85rem;
  }
}


@media(min-width:1100px){
  .hero-meta-edition,.hero-meta-date{font-size:0.9rem}
}

/* =========================================================
   MODO SEM JAVASCRIPT — animações e carrosséis só em CSS
   ========================================================= */

/* Reveal: elementos aparecem com fade-up por CSS, sem observer */
.eyebrow,.sec-title,.about-body p,.about-intro p,.about-quote,.pillar,.tc,
.attr-item,.dual-carousel-slide .sp-card,.mission-body p,.mission-box,
.why-item,.loc-item,.loc-card,.eventmap-img-wrap,.dep-card,.dep-intro,
.dep-note,.why-intro,.hero-sub,.hero-pre{
  opacity:1;
  transform:none;
  animation:fadeUp 0.7s ease both;
  animation-delay:inherit;
}
@media (prefers-reduced-motion:reduce){
  .eyebrow,.sec-title,.about-body p,.about-intro p,.about-quote,.pillar,.tc,
  .attr-item,.dual-carousel-slide .sp-card,.mission-body p,.mission-box,
  .why-item,.loc-item,.loc-card,.eventmap-img-wrap,.dep-card,.dep-intro,
  .dep-note,.why-intro,.hero-sub,.hero-pre{animation:none}
}

/* Carrosséis: faixas com rolagem horizontal + encaixe (scroll-snap) */
.attr-grid::-webkit-scrollbar{height:6px}
.attr-grid::-webkit-scrollbar-thumb{
  background:var(--gold-br2);border-radius:999px;
}
.attr-grid::-webkit-scrollbar-track{background:transparent}

/* Controles que dependiam de JS deixam de existir */
.attr-carousel-btn,.dual-carousel-btn,.attr-carousel-dots,.dual-carousel-dots{display:none !important}

/* WhatsApp CTA polish */
.wa-ic{width:1.15em;height:1.15em;flex:0 0 auto;fill:currentColor}
.tc-btn,.fcta-btns .btn-gold,.fcta-btns .btn-teal,.fcta-btns .btn-diam{
  display:flex;align-items:center;justify-content:center;gap:0.55em;
}
.tc-btn{padding:1rem;margin-bottom:0.55rem;font-size:0.8rem}
.tc-btn-note{
  margin:0 1.4rem 1.4rem;text-align:center;
  font-size:0.68rem;letter-spacing:0.04em;line-height:1.4;
  color:rgba(255,255,255,0.42);
}
.tc.dia .tc-btn{
  background:linear-gradient(135deg,#dfeaf7 0%,#a9c4e0 100%);
  color:#0b1622;border:1px solid transparent;
}
.tc.dia .tc-btn:hover{
  background:linear-gradient(135deg,#eef5ff 0%,#bcd4ec 100%);
  box-shadow:0 6px 24px rgba(198,226,255,0.35);
}
.tc.dia .tc-btn:active{opacity:0.9}
.tc-btn:hover{transform:translateY(-1px)}

/* Diamond scarcity highlight */
.tc-scarcity{margin:.9rem 1.25rem 0;padding:.75rem .85rem;border:1px solid rgba(160,200,255,.45);border-radius:12px;background:linear-gradient(135deg,rgba(150,195,255,.14),rgba(255,255,255,.04));box-shadow:0 0 22px -8px rgba(150,195,255,.55)}
.tc-scarcity-badge{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;padding:.28rem .6rem;border-radius:999px;background:linear-gradient(90deg,#cfe4ff,#8fb8ee);color:#0a1524}
.tc-scarcity-txt{margin:.55rem 0 0;font-size:.78rem;line-height:1.45;color:rgba(255,255,255,.78)}
.tc-scarcity-txt strong{color:#cfe4ff}
.tc-feats li.feat-hi{color:#cfe4ff;font-weight:600}
.tc-feats li.feat-hi em{font-style:normal;opacity:.75;font-size:.85em}

/* Comparativo de ingressos */
#compare{padding:4rem 0 1rem;position:relative}
.cmp-wrap{overflow-x:auto;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02)}
.cmp-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.85rem}
.cmp-table th,.cmp-table td{padding:.85rem 1rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.07)}
.cmp-table thead th{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:1rem;color:#fff}
.cmp-table thead th span{display:block;font-family:var(--font-body);font-weight:600;letter-spacing:0;font-size:.8rem;opacity:.75;margin-top:.2rem}
.cmp-table thead th.cmp-dia{color:#cfe4ff}
.cmp-table thead th.cmp-vip{color:#e9c46a}
.cmp-table thead th.cmp-ess{color:#5fd6b4}
.cmp-table tbody th{text-align:left;font-weight:500;color:rgba(255,255,255,.82)}
.cmp-y{color:#5fd6b4;font-weight:700}
.cmp-n{color:rgba(255,255,255,.28)}
.cmp-table tr.cmp-hi{background:linear-gradient(90deg,rgba(150,195,255,.16),rgba(150,195,255,.03))}
.cmp-table tr.cmp-hi th{color:#cfe4ff;font-weight:700}
.cmp-table tr.cmp-hi th em{font-style:normal;display:inline-block;margin-left:.4rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;background:linear-gradient(90deg,#cfe4ff,#8fb8ee);color:#0a1524}
.cmp-note{margin:1.1rem auto 0;max-width:820px;text-align:center;font-size:.85rem;line-height:1.6;color:rgba(255,255,255,.7)}
.cmp-note strong{color:#cfe4ff}

/* ===== ESSE EVENTO É PARA VOCÊ SE... ===== */
#foryou{padding:80px 0;background:var(--bg,#000)}
.foryou-head{margin-bottom:38px}
.foryou-list{list-style:none;padding:0;margin:0 auto;max-width:900px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.foryou-item{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.88);font-size:1.02rem;line-height:1.45}
.foryou-ck{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;background:linear-gradient(135deg,#d9b45b,#f3dfa4);color:#1a1408;font-weight:800}

/* ===== BENEFÍCIOS ===== */
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:64px}
.benefit{padding:30px 24px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.04);text-align:center;overflow:visible}
.benefit-ic{font-size:1.6rem;color:#e2c47a;margin-bottom:12px;line-height:1}
.benefit-t{font-family:var(--font-title);font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:10px;line-height:1.2}
.benefit p{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.5;margin:0}

/* ===== CTAs INTERMEDIÁRIOS ===== */
.mid-cta{display:flex;justify-content:center;margin:44px auto 0}
.mid-cta .btn-gold{min-width:280px;text-align:center}
@media(max-width:640px){
  .mid-cta{margin-top:32px}
  .mid-cta .btn-gold{width:100%;min-width:0}
  #foryou{padding:56px 0}
  .benefits-grid{margin-bottom:44px}
}

/* ===== DEPOIMENTOS ===== */
#depoimentos{padding:84px 0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
.dep-head{margin-bottom:34px}
.dep-sub{text-align:center;color:rgba(255,255,255,.7);max-width:620px;margin:14px auto 0;font-size:1rem;line-height:1.55}
.dep-videos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.dep-vcard{margin:0;display:flex;flex-direction:column;gap:12px}
.dep-media{position:relative;border:1px solid rgba(255,255,255,.14);border-radius:20px;overflow:hidden;background:#000;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.dep-media video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#000}
.dep-vcap{text-align:center;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.72)}
@media(max-width:980px){.dep-videos{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:640px){
  #depoimentos{padding:56px 0}
  .dep-videos{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;margin:0 -20px;padding-left:20px;padding-right:20px}
  .dep-videos::-webkit-scrollbar{display:none}
  .dep-vcard{flex:0 0 78%;scroll-snap-align:center}
}


/* ===== Popup de captacao (lead) ===== */
body.lead-locked{overflow:hidden}
.lead-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:1.25rem}
.lead-modal.open{display:flex}
.lead-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.82);backdrop-filter:blur(6px)}
.lead-modal-card{position:relative;width:100%;max-width:430px;padding:2.1rem 1.6rem 1.5rem;border:1px solid var(--gold-br2);border-radius:18px;background:var(--card-surface),#000;box-shadow:var(--glow-gold);animation:leadIn .28s ease}
@keyframes leadIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.lead-modal-x{position:absolute;top:.6rem;right:.8rem;background:none;border:0;color:var(--txt3);font-size:1.7rem;line-height:1;cursor:pointer}
.lead-modal-x:hover{color:var(--gold)}
.lead-modal-eyebrow{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;color:var(--gold)}
.lead-modal-title{margin-top:.4rem;font-family:var(--font-title);font-weight:700;line-height:1.1;font-size:1.4rem;color:var(--txt)}
.lead-modal-sub{margin-top:.5rem;font-family:var(--font-body);font-size:.9rem;color:var(--txt2)}
.lead-form{margin-top:1.2rem;display:flex;flex-direction:column;gap:.85rem}
.lead-field{display:flex;flex-direction:column;gap:.35rem}
.lead-field>span{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:var(--txt2)}
.lead-field input{width:100%;padding:.8rem .9rem;border-radius:10px;border:1px solid var(--bdr);background:rgba(255,255,255,0.04);color:var(--txt);font-family:var(--font-body);font-size:1rem;outline:none}
.lead-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,185,5,0.16)}
.lead-field input::placeholder{color:var(--txt3)}
.lead-error{min-height:1rem;font-family:var(--font-body);font-style:normal;font-size:.78rem;color:#ff8b7a}
.lead-submit{margin-top:.3rem;padding:.95rem 1rem;border:0;border-radius:999px;cursor:pointer;background:linear-gradient(180deg,var(--gold-lt),var(--gold-dk));color:#000;font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1rem}
.lead-submit:disabled{opacity:.7;cursor:default}
.lead-note{font-family:var(--font-body);font-size:.74rem;color:var(--txt3);text-align:center}

/* =========================================================
   REDESIGN 2026 — tema claro editorial a partir da 2ª seção
   ========================================================= */
:root{
  --lt-bg:#F6F7F3;
  --lt-bg-alt:#EDF5F0;
  --lt-card:#FFFFFF;
  --lt-txt:#101A16;
  --lt-txt2:#59645F;
  --lt-bdr:#DDE5DF;
  --grn-1:#00A86B;
  --grn-2:#00C875;
  --gld-1:#E4AD22;
  --dia-1:#A9C8EC;
  --r-card:18px;
  --r-btn:13px;
  --shadow-soft:0 18px 48px -24px rgba(16,26,22,0.28);
  --shadow-card:0 1px 2px rgba(16,26,22,0.04),0 16px 40px -28px rgba(16,26,22,0.35);
}

html,body{background:var(--lt-bg) !important;color:var(--lt-txt)}

/* ---- Faixa geométrica de transição entre hero e conteúdo claro ---- */
#hero{position:relative}
#hero::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:clamp(34px,5vw,64px);
  background:url('/assets/pattern-strip.webp') repeat-x center/auto 100%;
  opacity:0.9;pointer-events:none;z-index:2;
}
@media(max-width:767px){#hero::after{height:26px}}

/* ---- Escopo claro: todas as seções depois da hero ---- */
#about,#acao-social-nepal,#foryou,#attractions,#speakers,#depoimentos,#tickets,#compare,
#eventmap,#location,#mission,#why,#homenagem,#finalcta,footer{
  --txt:var(--lt-txt);
  --txt2:var(--lt-txt2);
  --txt3:#7C8781;
  --bdr:var(--lt-bdr);
  --blk:var(--lt-txt);
  --gold:var(--gld-1);
  --gold-lt:#B98A12;
  --gold-pl:#8a6a10;
  --card-surface:var(--lt-card);
  --glow-gold:none;
  --glow-green:none;
  position:relative;
  color:var(--lt-txt);
  background:var(--lt-bg);
  padding-block:clamp(72px,9vw,120px);
}
#foryou,#speakers,#compare,#location{background:var(--lt-bg-alt)}
#attractions,#tickets,#finalcta{background:var(--lt-card)}

/* neutraliza brilhos e véus escuros das seções antigas */
#about .about-bg,#about .about-overlay,
#about::before,#why::before,#mission::before,#location::before,
#tickets::before,#eventmap::before,#attractions::before,#speakers::before,
#finalcta::before{display:none !important}
#depoimentos{background:var(--lt-bg)}

.container{max-width:1200px}
@media(min-width:700px){.container{max-width:1200px;padding:0 2.5rem}}

/* ---- Tipografia clara ---- */
#about .sec-title,#foryou .sec-title,#attractions .sec-title,#speakers .sec-title,
#depoimentos .sec-title,#tickets .sec-title,#eventmap .sec-title,#location .sec-title,
.sec-title{color:var(--lt-txt);letter-spacing:-0.02em}
.sec-title .gd{color:var(--grn-1)}
.eyebrow{color:var(--grn-1);letter-spacing:0.24em}
.dep-sub,.cmp-note,.about-body p,.about-intro p,.benefit p,.foryou-item,
.loc-card p,.tc-desc,.fcta-sub{color:var(--lt-txt2)}

/* ---- Cards claros genéricos ---- */
.foryou-item,.benefit,.loc-card,.loc-items,.dep-media,.cmp-wrap,
.eventmap-img-wrap,.sp-card,.attr-photo-wrap,.tc,.hero-meta-line{
  border-radius:var(--r-card);
}
.foryou-item,.benefit,.loc-card,.eventmap-img-wrap,.cmp-wrap,.dep-media,.sp-card{
  background:var(--lt-card);
  border:1px solid var(--lt-bdr);
  box-shadow:var(--shadow-card);
  color:var(--lt-txt);
}
.benefit-t,.loc-card-t,.sp-name,.tc-name{color:var(--lt-txt)}
.loc-card-t{color:var(--grn-1)}
.benefit-ic,.loc-ic{color:var(--grn-1)}
.foryou-item,.benefit,.loc-item,.sp-card,.tc,.eventmap-img-wrap{
  transition:transform .25s ease,box-shadow .25s ease;
}
.foryou-item:hover,.benefit:hover,.sp-card:hover,.tc:hover{
  transform:translateY(-2px);box-shadow:var(--shadow-soft);
}
.loc-items{background:var(--lt-card);border:1px solid var(--lt-bdr);box-shadow:var(--shadow-card)}
.loc-item{border-bottom:1px solid var(--lt-bdr)}
.loc-val{color:var(--lt-txt)}
.loc-lbl{color:var(--lt-txt2)}

/* ---- Bullets futuristas ---- */
.foryou-ck{
  width:24px;height:24px;border-radius:50%;
  background:radial-gradient(circle at 30% 25%,#fff 0%,rgba(255,255,255,0) 55%),
             linear-gradient(140deg,var(--grn-2),var(--grn-1));
  color:#fff;font-weight:800;font-size:.72rem;
  border:1px solid rgba(0,168,107,0.35);
  box-shadow:0 0 0 4px rgba(0,168,107,0.10),0 4px 12px -4px rgba(0,168,107,0.5);
}
.about-step-n{
  background:linear-gradient(140deg,var(--gld-1),#f0c65c);color:#1b1405;
  border:1px solid rgba(228,173,34,.4);
  box-shadow:0 0 0 4px rgba(228,173,34,.12);
}
.ck-y{color:var(--grn-1)}
.ck-n{color:#B6BFB9}

/* ---- CTAs ---- */
.btn-gold,.btn-teal,.btn-diam,.tc-btn,.mid-cta .btn-gold{
  border-radius:var(--r-btn);
  min-height:54px;display:inline-flex;align-items:center;justify-content:center;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
#about .btn-gold,#foryou .btn-gold,#attractions .btn-gold,#speakers .btn-gold,
#depoimentos .btn-gold,#tickets .btn-gold,#location .btn-gold,#finalcta .btn-gold,
.mid-cta .btn-gold,.btn-teal{
  background:linear-gradient(135deg,var(--grn-2),var(--grn-1));
  color:#fff;border:0;
  box-shadow:0 10px 26px -12px rgba(0,168,107,.65);
}
#about .btn-gold:hover,#foryou .btn-gold:hover,#attractions .btn-gold:hover,
#speakers .btn-gold:hover,#depoimentos .btn-gold:hover,#tickets .btn-gold:hover,
#location .btn-gold:hover,#finalcta .btn-gold:hover,.mid-cta .btn-gold:hover,
.btn-teal:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,168,107,.7)}
.btn-diam{background:#fff;color:#1d3346;border:1px solid var(--dia-1);box-shadow:var(--shadow-card)}
.btn-diam:hover{background:#F2F7FD;transform:translateY(-2px);box-shadow:var(--shadow-card)}
:where(#about,#foryou,#attractions,#speakers,#depoimentos,#tickets,#location,#finalcta)
  a:focus-visible,.tc-btn:focus-visible{outline:2px solid var(--grn-1);outline-offset:3px}

/* ---- Ingressos ---- */
.tc{background:var(--lt-card) !important;border:1px solid var(--lt-bdr) !important;
    box-shadow:var(--shadow-card) !important;overflow:hidden}
.tc.vip{border-color:rgba(228,173,34,.55) !important;box-shadow:0 24px 60px -30px rgba(228,173,34,.7) !important}
.tc.dia{border-color:var(--dia-1) !important}
.tc.essencial{border-color:rgba(0,168,107,.4) !important}
.tc.vip::after{background:linear-gradient(135deg,var(--gld-1),#f3cf72);color:#1b1405;border-radius:0 0 10px 10px}
.tc-price-row{border-color:var(--lt-bdr) !important;background:#FAFBF8}
.tc-from{color:var(--lt-txt2)}
.tc.essencial .tc-price{color:var(--grn-1)}
.tc.vip .tc-price{color:#B98A12}
.tc.dia .tc-price{color:#3E6285}
.tc.essencial .tc-name{background:none;-webkit-text-fill-color:currentColor;color:var(--lt-txt)}
.tc.vip .tc-name,.tc.dia .tc-name{color:var(--lt-txt)}
.tc-feats li{color:var(--lt-txt2);border-bottom:1px solid #EFF2ED}
.tc.essencial .tc-tag{background:linear-gradient(135deg,var(--grn-2),var(--grn-1));color:#fff}
.tc.vip .tc-tag{background:linear-gradient(135deg,var(--gld-1),#f3cf72);color:#1b1405}
.tc.dia .tc-tag{background:linear-gradient(135deg,#cfe1f6,var(--dia-1));color:#1d3346}
.tc-btn{margin:0 1.4rem 1.4rem;border-radius:var(--r-btn)}
.tc.essencial .tc-btn,.tc.vip .tc-btn{background:linear-gradient(135deg,var(--grn-2),var(--grn-1));color:#fff;border:0}
.tc.dia .tc-btn{background:#fff;color:#1d3346;border:1px solid var(--dia-1)}
.tc-btn-note{color:var(--lt-txt2)}
.tc-scarcity{background:#F3F8FD;border-color:var(--dia-1);box-shadow:none}
.tc-scarcity-txt{color:var(--lt-txt2)}
.tc-scarcity-txt strong,.tc-feats li.feat-hi{color:#2C5578}

/* ---- Comparativo: sem rolagem horizontal no mobile ---- */
.cmp-wrap{overflow-x:visible;background:var(--lt-card)}
.cmp-table{min-width:0;width:100%}
.cmp-table th,.cmp-table td{border-bottom:1px solid var(--lt-bdr)}
.cmp-table thead th{color:var(--lt-txt);background:#FAFBF8;position:sticky;top:0;z-index:1}
.cmp-table thead th.cmp-dia{color:#2C5578}
.cmp-table thead th.cmp-vip{color:#B98A12}
.cmp-table thead th.cmp-ess{color:var(--grn-1)}
.cmp-table tbody th{color:var(--lt-txt)}
.cmp-y{color:var(--grn-1)}
.cmp-n{color:#B6BFB9}
.cmp-table tr.cmp-hi{background:#F3F8FD}
.cmp-table tr.cmp-hi th{color:#2C5578}
.cmp-note strong{color:#2C5578}
@media(max-width:767px){
  .cmp-table{font-size:.72rem}
  .cmp-table th,.cmp-table td{padding:.55rem .35rem}
  .cmp-table thead th{font-size:.78rem}
  .cmp-table thead th span{font-size:.62rem}
  .cmp-table tbody th{font-size:.7rem;line-height:1.3}
  .cmp-table tr.cmp-hi th em{display:block;margin:.25rem 0 0}
}

/* ---- Carrosséis claros ---- */
.attr-item,.dual-carousel-slide{scroll-snap-align:center}
.attr-label{color:var(--lt-txt)}
.attr-photo-wrap{border:1px solid var(--lt-bdr);box-shadow:var(--shadow-card);background:var(--lt-card)}
.sp-info{background:var(--lt-card)}
.sp-role{color:var(--grn-1)}
.sp-card{overflow:hidden}
.attr-carousel-btn,.dual-carousel-btn{
  background:var(--lt-card);color:var(--lt-txt);border:1px solid var(--lt-bdr);
  box-shadow:var(--shadow-card);border-radius:999px;
}
.attr-carousel-btn:hover,.dual-carousel-btn:hover:not(:disabled){
  background:var(--grn-1);color:#fff;border-color:var(--grn-1)
}
.attr-carousel-dot,.dual-carousel-dot{background:#CBD5CE}
.attr-carousel-dot.active,.dual-carousel-dot.active{background:var(--grn-1)}
.dual-carousel-label{color:var(--lt-txt2)}

/* ---- Depoimentos ---- */
.dep-media{background:#0d1512}
.dep-vcap{color:var(--lt-txt2)}

/* ---- Homenagem / mapa ---- */
#homenagem{background:var(--lt-bg)}
.hom-text{color:var(--lt-txt)}
.hom-title,.hom-sub{color:var(--lt-txt)}
.hom-eyebrow{color:var(--grn-1)}
.eventmap-img-wrap{padding:.5rem}
.eventmap-img-wrap img{border-radius:12px}

/* ---- CTA final + footer ---- */
#finalcta{overflow:hidden}
#finalcta::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(0,168,107,.10) 0%,transparent 65%);
}
#finalcta > *{position:relative;z-index:1}
.fcta-ey{color:var(--grn-1)}
.fcta-t,.fcta-t .gd{color:var(--lt-txt)}
.fcta-t .gd{color:var(--grn-1)}
footer{
  background:var(--lt-card);border-top:1px solid var(--lt-bdr);
  padding-block:2rem;color:var(--lt-txt2);
}
.foot-brand{color:var(--grn-1)}
.foot-note,.foot-legal,.foot-nittio{color:var(--lt-txt2)}
.foot-legal-sep{color:var(--grn-1)}
.foot-nittio a{color:var(--grn-1)}

/* ---- Marca d'água geométrica discreta ---- */
#foryou::after,#location::after{
  content:'';position:absolute;right:-40px;bottom:-30px;width:min(280px,42vw);
  aspect-ratio:688/463;pointer-events:none;
  background:url('/assets/pattern-block.webp') no-repeat center/contain;
  opacity:.10;z-index:0;
}
#foryou > *,#location > *{position:relative;z-index:1}

/* ---- Animações suaves / acessibilidade ---- */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
}
body{overflow-x:hidden}

/* ---- Ajustes finais do tema claro ---- */
#about,#foryou,#attractions,#speakers,#depoimentos,#tickets,#compare,
#eventmap,#location,#mission,#why,#homenagem,#finalcta,footer{
  text-shadow:none;
}
#about *,#foryou *,#attractions *,#speakers *,#depoimentos *,#tickets *,
#compare *,#eventmap *,#location *,#mission *,#why *,#homenagem *,
#finalcta *,footer *{text-shadow:none !important}

.about-step,.about-quote,.mission-box,.why-item,.pillar,.pillars,.dep-card,
.attr-item,.hom-text{
  background:var(--lt-card) !important;
  border:1px solid var(--lt-bdr);
  color:var(--lt-txt);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-card);
}
.attr-item{background:transparent !important;border:0;box-shadow:none}
.about-step strong,.about-step span,.about-step p,.pillar span,.pillar strong,
.why-t,.why-d,.mission-box p,.about-quote q,.dep-quote{color:var(--lt-txt2)}
.about-step strong,.pillar strong,.why-t,.mission-box-t,.dep-name{color:var(--lt-txt)}
.about-body p strong,.about-intro p strong,.mission-body p strong,
.mission-box p strong,.hero-sub strong{color:inherit}
#about .about-body p strong,#about .about-intro p strong{color:var(--grn-1);font-weight:600}
.why-grid{background:transparent;gap:16px}
.why-item::before,.dep-card::before,.mission-box::before,.why-item::after{display:none}
.why-n,.why-tag,.why-res-label,.dep-role{color:var(--grn-1)}
.about-steps{display:grid;gap:16px}
@media(min-width:820px){.about-steps{grid-template-columns:1fr 1fr}}
.about-step{padding:1.5rem 1.6rem;display:flex;gap:.9rem;align-items:flex-start;opacity:1;transform:none}
.mission-pull{color:var(--lt-txt)}

/* =========================================================
   REFINO R2 — ritmo editorial, hero destravada, tipografia
   ========================================================= */

/* ---------- 1. HERO: eixo único e grid de 2 colunas ---------- */
#hero{
  display:block;
  padding:0;
  min-height:clamp(640px,92svh,820px);
  overflow:clip;
  isolation:isolate;
  background:#06110D;
}
.hero-inner{
  position:relative;z-index:1;
  max-width:1320px;margin:0 auto;
  padding:clamp(56px,7vw,88px) clamp(20px,4vw,64px) clamp(96px,9vw,132px);
  min-height:inherit;
  display:grid;grid-template-columns:1fr;align-items:center;
  gap:clamp(24px,4vw,48px);
}
.hero-visual{display:none}
.hero-content{
  max-width:700px;width:100%;
  margin:0;padding:0;
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  gap:0;
}
.hero-content > *{margin-left:0;margin-right:0;align-self:stretch}

/* fundo: gradiente radial atrás do texto + esmeralda atrás das pessoas */
#hero::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 48% 55% at 22% 42%,rgba(0,168,107,0.16) 0%,transparent 70%),
    radial-gradient(ellipse 60% 70% at 88% 40%,rgba(0,120,70,0.28) 0%,transparent 70%),
    linear-gradient(180deg,rgba(6,17,13,0) 55%,rgba(6,17,13,0.85) 100%);
}
.hero-overlay{z-index:0}

/* logo */
.hero-logo{
  width:clamp(180px,20vw,250px);
  margin:0 0 clamp(24px,3vw,42px);
  animation:heroIn .8s .05s cubic-bezier(.22,1,.36,1) both;
}

/* headline */
.hero-title{
  font-size:clamp(2.1rem,10vw,2.75rem);
  line-height:1.04;letter-spacing:-0.035em;font-weight:800;
  max-width:700px;margin:0 0 clamp(18px,2.2vw,30px);
  text-shadow:0 6px 40px rgba(0,0,0,.75);
  animation:heroInBlur .85s .16s cubic-bezier(.22,1,.36,1) both;
}
@media(min-width:1025px){
  .hero-title{font-size:clamp(52px,4.3vw,72px);line-height:1.0;max-width:680px}
}

/* subtítulo */
.hero-sub{
  font-size:clamp(1rem,4.2vw,1.12rem);
  line-height:1.52;font-weight:400;
  color:rgba(255,255,255,.86);
  max-width:540px;margin:0 0 clamp(22px,2.6vw,32px);
  animation:heroIn .8s .28s cubic-bezier(.22,1,.36,1) both;
}
@media(min-width:1025px){.hero-sub{font-size:19px}}

/* painel data + local */
.hero-meta.hero-meta-line{
  display:grid;grid-template-columns:repeat(3,1fr);
  align-items:stretch;gap:0;
  width:100%;max-width:620px;
  min-height:58px;padding:0;margin:0 0 clamp(18px,2vw,24px);
  border-radius:16px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(228,173,34,0.32);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  animation:heroIn .8s .38s cubic-bezier(.22,1,.36,1) both;
  text-shadow:none;
}
.hero-meta-cell{
  display:flex;align-items:center;justify-content:center;
  padding:.9rem .6rem;text-align:center;
  border-right:1px solid rgba(255,255,255,.10);
  min-width:0;
}
.hero-meta-cell:last-child{border-right:0}
.hero-meta-date,.hero-meta-loc{
  font-size:.74rem;letter-spacing:.12em;font-weight:600;line-height:1.2;
}
.hero-meta-loc{color:var(--gold-lt)}
.hero-meta-sep{display:none}

/* grupo de CTAs */
.hero-btns{
  display:grid;grid-template-columns:1fr;gap:12px;
  width:100%;max-width:620px;margin:0;
  animation:heroIn .8s .48s cubic-bezier(.22,1,.36,1) both;
}
@media(min-width:700px){
  .hero-btns{grid-template-columns:1fr 1fr;gap:14px}
}
.hero-btns .btn-gold.btn-hero,.hero-btns .btn-out{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:58px;padding:0 1.6rem;width:100%;
  border-radius:13px;font-size:.86rem;letter-spacing:.1em;
  transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s,background .26s,border-color .26s;
  position:relative;overflow:hidden;
}
.hero-btns .btn-gold.btn-hero{
  background:linear-gradient(135deg,#00C875 0%,#00A86B 100%);
  color:#fff;border:0;
  box-shadow:0 14px 34px -16px rgba(0,168,107,.85);
}
.hero-btns .btn-gold.btn-hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);
  transform:translateX(-120%);transition:transform .7s ease;
}
.hero-btns .btn-gold.btn-hero:hover::after{transform:translateX(120%)}
.hero-btns .btn-gold.btn-hero:hover{transform:translateY(-2px);box-shadow:0 18px 40px -16px rgba(0,168,107,.95)}
.hero-btns .btn-gold.btn-hero:active,.hero-btns .btn-out:active{transform:scale(.985)}
.hero-btns .btn-out{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(228,173,34,.5);color:#fff;
  font-size:.8rem;
}
.hero-btns .btn-out:hover{background:rgba(255,255,255,.1);border-color:var(--gold-lt);transform:translateY(-2px)}
.btn-ar{font-size:1em;line-height:1;transition:transform .26s ease}
a:hover > .btn-ar{transform:translateX(3px)}
.hero-btns a:focus-visible{outline:2px solid var(--grn-lt);outline-offset:3px}

/* faixa gráfica contínua na base da hero */
#hero::after{display:none}
.hero-strip{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  height:clamp(44px,6vw,88px);
  background:url('/assets/pattern-strip.webp') repeat-x left center/auto 100%;
  animation:stripDrift 60s linear infinite;
  pointer-events:none;
}
.hero-strip::before{
  content:'';position:absolute;left:0;right:0;top:-46px;height:46px;
  background:linear-gradient(180deg,rgba(6,17,13,0) 0%,rgba(6,17,13,.9) 100%);
}
@keyframes stripDrift{from{background-position-x:0}to{background-position-x:-1200px}}

@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes heroInBlur{from{opacity:0;transform:translateY(30px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes heroInX{from{opacity:0;transform:translateX(26px) scale(.97)}to{opacity:1;transform:none}}

/* ---- hero desktop: duas colunas + composição à direita ---- */
@media(min-width:1025px){
  .hero-inner{grid-template-columns:minmax(0,44fr) minmax(0,56fr)}
  .hero-visual{display:block;min-height:520px}
  .hero-bg{
    inset:0;left:auto;right:0;width:62%;z-index:0;
    background-color:transparent;
    background-image:url('/assets/bg-1-desktop.webp');
    background-size:cover;
    background-position:center 12%;
    background-repeat:no-repeat;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 14%,#000 42%),
                       linear-gradient(to bottom,transparent 0%,#000 12%,#000 72%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.35) 14%,#000 42%),
               linear-gradient(to bottom,transparent 0%,#000 12%,#000 72%,transparent 100%);
    mask-composite:intersect;
    animation:heroInX 1.1s .2s cubic-bezier(.22,1,.36,1) both;
  }
  .hero-overlay{
    background:linear-gradient(90deg,rgba(6,17,13,.92) 0%,rgba(6,17,13,.55) 34%,transparent 58%);
  }
}
@media(min-width:768px) and (max-width:1024px){
  .hero-inner{padding-top:clamp(48px,6vw,72px)}
  .hero-bg{
    inset:0;left:auto;right:0;width:78%;z-index:0;
    background-color:transparent;
    background-image:url('/assets/bg-1-tablet.webp');
    background-size:cover;background-position:center 12%;
    -webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);
    opacity:.55;
  }
  .hero-overlay{background:linear-gradient(90deg,rgba(6,17,13,.94) 0%,rgba(6,17,13,.7) 45%,rgba(6,17,13,.25) 100%)}
}

/* ---- hero mobile: colagem compacta acima do conteúdo ---- */
@media(max-width:767px){
  #hero{min-height:auto;display:flex;flex-direction:column;padding:0}
  .hero-bg{
    position:relative;inset:auto;order:-1;z-index:0;
    width:100%;height:clamp(220px,62vw,320px);flex:0 0 auto;
    background-image:url('/assets/bg-mobile-hero.webp');
    background-size:cover;background-position:center 22%;
    -webkit-mask-image:linear-gradient(to bottom,#000 42%,rgba(0,0,0,.35) 82%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 42%,rgba(0,0,0,.35) 82%,transparent 100%);
  }
  .hero-overlay{display:none}
  .hero-inner{padding:12px 22px 64px;gap:0}
  .hero-content{max-width:none}
  .hero-logo{width:clamp(150px,44vw,196px);margin-bottom:18px}
  .hero-title{font-size:clamp(34px,10vw,44px);line-height:1.04;margin-bottom:16px}
  .hero-sub{font-size:1rem;margin-bottom:20px}
  .hero-meta.hero-meta-line{
    grid-template-columns:1fr 1fr;min-height:0;margin-bottom:18px;border-radius:14px;
  }
  .hero-meta-cell{padding:.65rem .5rem;border-bottom:1px solid rgba(255,255,255,.10)}
  .hero-meta-cell:nth-child(2){border-right:0}
  .hero-meta-cell:last-child{grid-column:1/-1;border-bottom:0;border-right:0}
  .hero-meta-date,.hero-meta-loc{font-size:.7rem;letter-spacing:.1em}
  .hero-btns{gap:11px;max-width:none}
  .hero-btns .btn-gold.btn-hero,.hero-btns .btn-out{min-height:54px;font-size:.8rem}
  .hero-strip{position:relative;height:48px;margin-top:24px}
  .hero-strip::before{display:none}
}

/* ---------- 2. Remoção dos microtítulos decorativos ---------- */
.eyebrow,.hom-eyebrow,.fcta-ey,.dual-carousel-label,.attr-eyebrow,.cmp-eyebrow{
  display:none !important;
}

/* ---------- 3. Títulos de seção maiores + alinhamentos ---------- */
.sec-title,.fcta-t,.hom-title{
  font-size:clamp(30px,8vw,38px);
  line-height:1.08;letter-spacing:-0.025em;font-weight:700;
  max-width:900px;
}
@media(min-width:768px) and (max-width:1024px){
  .sec-title,.fcta-t,.hom-title{font-size:clamp(38px,5vw,44px)}
}
@media(min-width:1025px){
  .sec-title,.fcta-t,.hom-title{font-size:clamp(44px,4vw,58px);letter-spacing:-0.03em}
  #about .sec-title{font-size:clamp(40px,3.4vw,52px)}
  #about .about-head,#tickets .sec-title,#finalcta .fcta-t{margin-inline:auto;text-align:center}
  #foryou .foryou-head,#foryou .sec-title,
  #attractions .sec-title,#speakers .sec-title,#depoimentos .sec-title,
  #compare .sec-title,#location .sec-title{text-align:left !important;margin-inline:0}
  #foryou .sec-title[style],#foryou .eyebrow[style]{text-align:left !important}
}

/* ---------- 4. Ritmo vertical ---------- */
#about,#foryou,#attractions,#speakers,#depoimentos,#tickets,#compare,
#eventmap,#location,#mission,#why,#homenagem,#finalcta{
  padding-block:clamp(52px,7vw,80px);
  min-height:0 !important;
}
#attractions,#speakers,#depoimentos{padding-block:clamp(56px,7.5vw,88px)}
#about .container,#foryou .container,#location .container{min-height:0 !important}
.sec-title{margin-bottom:clamp(20px,2.4vw,24px)}
.about-head,.foryou-head,.dep-head,.sp-head{margin-bottom:clamp(28px,3.6vw,48px)}
.about-body{margin-top:clamp(24px,3vw,36px)}
.about-body > p:last-child{margin-top:clamp(28px,3vw,34px)}
.about-steps{gap:clamp(16px,2vw,20px) clamp(16px,2vw,24px)}
.about-step{padding:clamp(22px,2.4vw,30px) !important;align-items:flex-start}

/* ---------- 5. Cards: proporção e densidade ---------- */
.foryou-item,.benefit,.loc-card,.sp-card,.tc,.why-item,.pillar{height:auto}
.benefit,.foryou-item,.loc-card,.why-item{padding:clamp(22px,2.4vw,30px)}
.foryou-item:hover,.benefit:hover,.sp-card:hover,.tc:hover,.loc-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 54px -28px rgba(16,26,22,.42);
}

/* ---------- 6. Reveal de entrada e saída ---------- */
.eyebrow,.sec-title,.about-body p,.about-intro p,.about-quote,.pillar,.tc,
.attr-item,.mission-body p,.mission-box,.why-item,.loc-item,.loc-card,
.eventmap-img-wrap,.dep-card,.dep-intro,.dep-note,.why-intro,.foryou-item,.benefit{
  opacity:0;transform:translateY(24px);filter:blur(4px);
  transition:opacity .65s cubic-bezier(.22,1,.36,1),
             transform .65s cubic-bezier(.22,1,.36,1),
             filter .65s cubic-bezier(.22,1,.36,1);
  animation:none !important;
}
.foryou-item:nth-child(2n),.benefit:nth-child(2n){transform:translateY(24px) translateX(16px)}
.foryou-item:nth-child(2n+1),.benefit:nth-child(2n+1){transform:translateY(24px) translateX(-16px)}
.vis{opacity:1 !important;transform:none !important;filter:blur(0) !important}
.no-js .eyebrow,.no-js .sec-title{opacity:1;transform:none;filter:none}
.foryou-item,.benefit,.tc,.loc-item{transition-delay:calc(var(--i,0) * 90ms)}

/* ---------- 7. Depoimentos com destaque ---------- */
.dep-card{transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s,opacity .32s,border-color .32s}
.dep-grid:hover .dep-card,.dep-grid:focus-within .dep-card{opacity:.7;transform:scale(.985)}
.dep-card:hover,.dep-card:focus-within,.dep-card.dep-active{
  opacity:1 !important;
  transform:translateY(-10px) scale(1.035) !important;
  box-shadow:0 34px 70px -30px rgba(16,26,22,.5) !important;
  border-color:rgba(0,168,107,.55) !important;
  z-index:3;position:relative;
}
.dep-card:hover .dep-media video,.dep-card.dep-active .dep-media video{
  filter:contrast(1.06) saturate(1.08);
}
.dep-card:hover .dep-name,.dep-card.dep-active .dep-name{color:var(--grn-1);font-weight:700}
.dep-media video{transition:filter .32s ease}

/* ---------- 8. Carrosséis sem overflow ---------- */
html,body{max-width:100%;overflow-x:clip}
.attr-carousel,.dual-carousel,.attr-viewport,.dual-carousel-viewport{
  max-width:100%;min-width:0;overflow:clip;margin-inline:0;
}
.attr-track,.dual-carousel-track{min-width:0}
.attr-item,.dual-carousel-slide,.sp-card,.attr-photo-wrap{min-width:0}
@media(min-width:1025px){
  .attr-item{width:clamp(260px,20vw,320px)}
  .dual-carousel-slide{width:calc((min(1200px,92vw) - 3*18px)/4)}
}
@media(min-width:768px) and (max-width:1024px){
  .dual-carousel-slide{width:38%}
}
@media(max-width:767px){
  .dual-carousel-slide{width:86%}
  .attr-item{width:74%}
}
.attr-label{font-size:clamp(.92rem,3.4vw,1.02rem);line-height:1.25;white-space:normal}
.sp-name{white-space:normal;overflow:visible;text-overflow:clip}

/* ---------- 9. Assets como marca d'água discreta ---------- */
#foryou::after,#location::after,#tickets::after{
  content:'';position:absolute;pointer-events:none;z-index:0;
  width:clamp(220px,26vw,380px);aspect-ratio:1.4/1;
  background:url('/assets/pattern-block.webp') no-repeat center/contain;
  opacity:.06;
}
#foryou::after{right:-70px;top:-40px}
#location::after{left:-80px;bottom:-50px;transform:rotate(8deg)}
#tickets::after{right:-90px;bottom:-40px}
#attractions::after,#speakers::after,#depoimentos::after,#about::after,#compare::after{content:none}
#foryou > *,#location > *,#tickets > *{position:relative;z-index:1}

/* ---------- 10. Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .hero-strip{animation:none}
  .hero-logo,.hero-title,.hero-sub,.hero-meta.hero-meta-line,.hero-btns,.hero-bg{animation:none !important;opacity:1 !important;transform:none !important;filter:none !important}
  .eyebrow,.sec-title,.about-body p,.about-intro p,.pillar,.tc,.attr-item,
  .why-item,.loc-item,.loc-card,.dep-card,.foryou-item,.benefit{
    opacity:1 !important;transform:none !important;filter:none !important;transition:none;
  }
}

/* ---- ajustes finos R2 ---- */
@media(min-width:1025px){
  .hero-title{font-size:clamp(46px,3.6vw,60px);max-width:640px;letter-spacing:-0.038em}
  .hero-inner{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
}
.hero-btns .btn-gold.btn-hero,.hero-btns .btn-out{
  white-space:nowrap;font-size:.78rem;letter-spacing:.08em;text-align:center;
}
.hero-strip{opacity:.92}
@media(max-width:767px){
  .hero-inner{padding-bottom:26px}
  .hero-strip{margin-top:20px}
}
/* fade nas bordas dos carrosséis */
.attr-carousel,.dual-carousel{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}

/* =========================================================
   R3 — Hero (enquadramento + título) e carrosséis interativos
   ========================================================= */

/* ---------- HERO: imagem real das pessoas (sem cover) ---------- */
.hero-bg{display:none !important}

.hero-visual{
  display:block !important;
  position:relative;min-width:0;
  align-self:stretch;
  pointer-events:none;
}
.hero-people{
  position:absolute;inset:0;display:block;
}
.hero-people img{
  width:100%;height:100%;display:block;
  object-fit:contain;
  object-position:right bottom;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.5) 12%,#000 30%,#000 94%,transparent 100%),
                     linear-gradient(to bottom,transparent 0%,#000 10%,#000 76%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.5) 12%,#000 30%,#000 94%,transparent 100%),
             linear-gradient(to bottom,transparent 0%,#000 10%,#000 76%,transparent 100%);
  mask-composite:intersect;
}
.hero-people-fade{
  position:absolute;left:0;right:0;bottom:0;height:22%;
  background:linear-gradient(180deg,rgba(6,17,13,0) 0%,rgba(6,17,13,.92) 100%);
  pointer-events:none;
}

@media(min-width:1025px){
  .hero-inner{
    max-width:1540px;
    grid-template-columns:minmax(620px,44fr) minmax(0,56fr);
    padding-left:clamp(32px,3.4vw,56px);
    padding-right:clamp(32px,3.4vw,56px);
    column-gap:clamp(28px,3vw,52px);
  }
  .hero-visual{min-height:min(700px,72vh)}
  .hero-people{inset:0 24px 0 0}
  .hero-overlay{background:linear-gradient(90deg,rgba(6,17,13,.9) 0%,rgba(6,17,13,.4) 38%,transparent 56%)}
}
@media(min-width:1440px){
  .hero-visual{min-height:min(760px,76vh)}
}
@media(min-width:768px) and (max-width:1024px){
  .hero-visual{min-height:340px}
  .hero-people{inset:0 20px 0 0}
  .hero-people img{object-position:right bottom}
}
@media(max-width:767px){
  #hero{display:flex;flex-direction:column}
  .hero-inner{display:flex;flex-direction:column}
  .hero-visual{
    order:-1;position:relative;
    width:100%;height:clamp(260px,68vw,340px);
    margin:0 0 18px;
  }
  .hero-people{inset:0 12px}
  .hero-people img{object-fit:contain;object-position:center bottom;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
  .hero-people-fade{height:22%}
}

/* ---------- HERO: título em linhas controladas ---------- */
.hero-title{text-wrap:balance}
.hero-title .ht-line{
  display:block;
  white-space:nowrap;
  animation:heroLineIn .7s cubic-bezier(.22,1,.36,1) both;
}
.hero-title .ht-line:nth-child(1){animation-delay:.16s}
.hero-title .ht-line:nth-child(2){animation-delay:.25s}
.hero-title .ht-line:nth-child(3){animation-delay:.34s}
.hero-title .ht-line:nth-child(4){animation-delay:.34s}
.hero-title .ht-line:nth-child(5){animation-delay:.42s}
@keyframes heroLineIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.hero-title .ht-mob{display:none}
@media(max-width:767px){
  .hero-title .ht-desk{display:none}
  .hero-title .ht-mob{display:block}
}

@media(min-width:1440px){
  .hero-title{
    font-size:clamp(48px,3.1vw,60px);
    line-height:1.06;letter-spacing:-0.03em;
    max-width:700px;
  }
}
@media(min-width:1025px) and (max-width:1439px){
  .hero-title{
    font-size:clamp(42px,3.3vw,50px);
    line-height:1.07;letter-spacing:-0.028em;
    max-width:660px;
  }
}
@media(min-width:768px) and (max-width:1024px){
  .hero-title{font-size:clamp(38px,4.6vw,46px);line-height:1.08;letter-spacing:-0.025em;max-width:100%}
}
@media(max-width:767px){
  .hero-title{
    font-size:clamp(32px,8.7vw,35px);
    line-height:1.07;letter-spacing:-0.025em;
    max-width:100%;
  }
  .hero-inner{padding-left:22px;padding-right:22px}
}
@media(prefers-reduced-motion:reduce){
  .hero-title .ht-line{animation:none;opacity:1;transform:none}
}

/* ---------- CARROSSÉIS: sem marquee, controlados por JS ---------- */
.attr-grid.attr-carousel-track,
.dual-carousel-track{
  animation:none !important;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.attr-carousel-viewport:hover .attr-grid,
.dual-carousel-wrap:hover .dual-carousel-track{animation:none !important}

.attr-carousel-viewport,
.dual-carousel-viewport{
  touch-action:pan-y;
  cursor:grab;
  overflow:hidden;
  -webkit-user-select:none;user-select:none;
  outline-offset:3px;
}
.attr-carousel-viewport.is-dragging,
.dual-carousel-viewport.is-dragging{cursor:grabbing}
.attr-carousel-viewport.is-dragging *,
.dual-carousel-viewport.is-dragging *{cursor:grabbing}
.attr-carousel-viewport img,
.dual-carousel-viewport img{-webkit-user-drag:none;user-select:none;pointer-events:none}
.attr-item,.dual-carousel-slide{scroll-snap-align:none}

/* setas e dots visíveis novamente */
.attr-carousel-btn,.dual-carousel-btn,
.attr-carousel-dots,.dual-carousel-dots{display:flex !important}
.attr-carousel-btn,.dual-carousel-btn{align-items:center;justify-content:center}
.dual-carousel-dots{bottom:-1.9rem}
.dual-carousel-wrap{padding-bottom:2.6rem}
.attr-carousel-btn,.dual-carousel-btn{font-size:1.6rem;font-weight:400;padding:0 0 .18rem;line-height:1}
.dual-carousel-dots{position:relative;left:auto;bottom:auto;transform:none;margin:1rem auto 0;width:max-content}
.attr-carousel-dots{position:relative;bottom:auto;margin-top:.85rem}

/* =========================================================
   R4 — Correção emergencial da hero (título único + imagem integrada)
   ========================================================= */
.hero-title .ht-line{white-space:nowrap}
.hero-title .ht-br{display:none}
@media(max-width:767px){
  .hero-title .ht-br{display:inline}
  .hero-title .ht-line-3{white-space:normal}
}

/* imagem única, ocupando toda a região direita da hero */
#hero{position:relative}
@media(min-width:1025px){
  .hero-visual{position:static;min-height:min(680px,70vh)}
  .hero-people{
    position:absolute;
    left:auto;
    right:clamp(24px,2.4vw,40px);
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    width:min(1120px,62%);
    max-width:calc(100% - 40px);
    height:auto;aspect-ratio:16/9;
    z-index:0;
  }
  .hero-people img{
    width:100%;height:100%;
    object-fit:contain;
    object-position:right center;
    -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.4) 10%,#000 26%,#000 90%,transparent 100%),
                       linear-gradient(to bottom,transparent 0,#000 12%,#000 84%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.4) 10%,#000 26%,#000 90%,transparent 100%),
               linear-gradient(to bottom,transparent 0,#000 12%,#000 84%,transparent 100%);
    mask-composite:intersect;
  }
  .hero-people-fade{
    left:40%;right:0;height:14%;
    background:linear-gradient(180deg,rgba(6,17,13,0) 0%,rgba(6,17,13,.85) 100%);
  }
  .hero-content{position:relative;z-index:2}
  .hero-overlay{background:linear-gradient(90deg,rgba(6,17,13,.92) 0%,rgba(6,17,13,.55) 34%,rgba(6,17,13,0) 52%)}
}
@media(min-width:1440px){
  .hero-visual{min-height:min(740px,74vh)}
  .hero-people{width:min(1180px,64%)}
}
@media(min-width:768px) and (max-width:1024px){
  .hero-people img{object-position:right bottom}
}

/* R5 — destaque amarelo na terceira linha do título */
.hero-title .ht-line-3{color:var(--gold)}

/* =========================================================
   R6 — Correção mobile-first: hero, carrosséis e auditoria
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
img,video,picture,svg{max-width:100%}

/* ---------- HERO (mobile-first, uma coluna) ---------- */
@media(max-width:767px){
  #hero{min-height:0;height:auto;padding:0;overflow:clip;display:block}
  .hero-inner{
    display:flex;flex-direction:column;
    width:100%;max-width:100%;min-width:0;
    margin:0;padding:26px 22px 30px;gap:0;
  }
  .hero-content{width:100%;max-width:100%;min-width:0;margin:0;padding:0;align-items:flex-start;text-align:left}
  .hero-content > *{max-width:100%;min-width:0}

  /* imagem dos palestrantes: inteira, no topo */
  .hero-visual{
    order:-1;position:relative;
    width:100%;max-width:100%;min-width:0;
    height:clamp(180px,52vw,220px);
    margin:0 0 16px;
  }
  .hero-people{
    position:absolute;inset:0;
    width:auto;max-width:100%;height:100%;
    transform:none;aspect-ratio:auto;
  }
  .hero-people img{
    width:100%;height:100%;
    object-fit:contain;object-position:center bottom;
    -webkit-mask-image:linear-gradient(to bottom,#000 76%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 76%,transparent 100%);
    -webkit-mask-composite:source-over;mask-composite:add;
  }
  .hero-people-fade{left:0;right:0;height:18%}

  .hero-logo{width:clamp(150px,44vw,175px);max-width:100%;margin:0 0 14px}
  .hero-title{
    width:100%;max-width:100%;
    font-size:clamp(30px,8.5vw,38px);
    line-height:1.08;letter-spacing:-0.02em;
    margin:0 0 14px;white-space:normal;
  }
  .hero-title .ht-line{display:block;white-space:normal}
  .hero-title .ht-br{display:inline}
  .hero-sub{
    width:100%;max-width:100%;
    font-size:16px;line-height:1.5;white-space:normal;margin:0 0 18px;
  }
  .hero-meta.hero-meta-line{
    display:grid;grid-template-columns:1fr 1fr;
    width:100%;max-width:100%;min-width:0;margin:0 0 16px;
  }
  .hero-meta-cell{min-width:0;padding:.6rem .45rem;text-align:center;border-bottom:0}
  .hero-meta-cell:nth-child(2){border-right:0}
  .hero-meta-cell:last-child{
    grid-column:1/-1;border-right:0;
    border-top:1px solid rgba(255,255,255,.10);
  }
  .hero-meta-date,.hero-meta-loc{font-size:11.5px;letter-spacing:.08em;white-space:normal}
  .hero-btns{
    display:grid;grid-template-columns:1fr;gap:12px;
    width:100%;max-width:100%;min-width:0;margin:0;
  }
  .hero-btns .btn-gold.btn-hero,.hero-btns .btn-out{
    width:100%;max-width:100%;min-width:0;
    white-space:normal;text-align:center;line-height:1.25;
    font-size:.82rem;letter-spacing:.06em;padding:.9rem 1rem;min-height:54px;
  }
  .hero-btns a:focus-visible,.hero-btns a:active{outline-offset:2px}
  /* faixa gráfica no fluxo, ao final da hero */
  .hero-strip{position:relative;left:auto;right:auto;bottom:auto;width:100%;height:44px;margin:0}
  .hero-strip::before{display:none}
}
@media(max-width:359px){
  .hero-title{font-size:30px}
  .hero-inner{padding-left:20px;padding-right:20px}
}

/* ---------- CARROSSÉIS: dimensões reais, sem % sobre o track ---------- */
.attr-carousel-wrap{
  width:100%;max-width:100%;min-width:0;
  margin-left:0;margin-right:0;
  height:auto;padding:0 0 1rem;
  display:block;
}
.attr-carousel-viewport{
  position:relative;
  width:100%;max-width:100%;min-width:0;
  height:auto;flex:none;overflow:hidden;
}
.attr-grid.attr-carousel-track{
  display:flex;width:max-content;max-width:none;
  height:auto;gap:0;align-items:stretch;
}
.attr-item{
  flex:0 0 clamp(250px,82vw,310px);
  width:auto;max-width:310px;height:auto;
  margin-right:16px;
}
.attr-photo-wrap{flex:none;height:clamp(340px,100vw,400px);width:100%}
.attr-photo-wrap img{width:100%;height:100%;object-fit:cover}

.dual-carousel-wrap{width:100%;max-width:100%;min-width:0}
.dual-carousel-viewport{width:100%;max-width:100%;min-width:0;overflow:hidden;height:auto}
.dual-carousel-track{display:flex;width:max-content;max-width:none;height:auto;gap:0}
.dual-carousel-slide{
  flex:0 0 clamp(260px,86vw,320px);
  width:auto;max-width:320px;height:auto;margin-right:16px;
}
.dual-carousel-slide .sp-card{height:auto;flex:none;aspect-ratio:3/4.4;width:100%}
.dual-carousel-slide .sp-card > img,.dual-carousel-slide .sp-photo{width:100%;height:100%;object-fit:cover}

@media(min-width:480px) and (max-width:767px){
  .attr-item{flex:0 0 clamp(260px,54vw,300px);max-width:300px}
  .dual-carousel-slide{flex:0 0 clamp(260px,56vw,300px);max-width:300px}
}
@media(min-width:768px) and (max-width:1023px){
  .attr-item{flex:0 0 clamp(280px,42vw,340px);max-width:340px}
  .dual-carousel-slide{flex:0 0 clamp(260px,42vw,320px);max-width:320px}
  .attr-photo-wrap{height:clamp(360px,44vw,430px)}
}
@media(min-width:1024px) and (max-width:1279px){
  .attr-item{flex:0 0 clamp(280px,31vw,340px);max-width:340px}
  .dual-carousel-slide{flex:0 0 clamp(260px,30vw,320px);max-width:320px}
  .attr-photo-wrap{height:clamp(380px,34vw,460px)}
}
@media(min-width:1280px){
  .attr-item{flex:0 0 clamp(300px,26vw,360px);max-width:360px}
  .dual-carousel-slide{flex:0 0 clamp(270px,23vw,320px);max-width:320px}
  .attr-photo-wrap{height:clamp(400px,28vw,480px)}
}

/* ---------- Auditoria geral: nada ultrapassa a viewport ---------- */
section,.container,.hero-inner{max-width:100%;min-width:0}
.cmp-table-wrap,.tickets-grid,.dep-grid,.why-grid,.foryou-grid{max-width:100%;min-width:0}
@media(max-width:767px){
  .sec-title,.eyebrow,.tc,.dep-card,.loc-card,.why-item,.foryou-item,.benefit{
    max-width:100%;min-width:0;white-space:normal;
  }
  .eventmap-img-wrap img,.dep-media video{width:100%;height:auto;max-width:100%}
}

/* grades auto-fit sem min fixo em telas estreitas */
@media(max-width:767px){
  .foryou-list{grid-template-columns:minmax(0,1fr)}
  .benefits-grid{grid-template-columns:minmax(0,1fr)}
}

/* =========================================================
   R7 — BG da hero: mobile isolado + escala por largura
   ========================================================= */
/* garante que nenhum fundo mobile vaze para tablet/desktop */
@media(min-width:768px){
  .hero-bg{background-image:none !important}
}
@media(max-width:767px){
  /* mobile: usa .hero-bg com a imagem portrait, esconde .hero-people */
  .hero-visual{display:none !important}
  .hero-bg{
    display:block !important;
    position:relative;
    inset:auto;
    order:-1;
    z-index:0;
    width:100%;
    height:clamp(300px,78vw,420px);
    flex:0 0 auto;
    background-color:var(--blk);
    background-image:url("/assets/MOBILE.png");
    background-size:cover;
    background-position:center top;
    background-repeat:no-repeat;
    -webkit-mask-image:linear-gradient(to bottom,#000 58%,rgba(0,0,0,.35) 88%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 58%,rgba(0,0,0,.35) 88%,transparent 100%);
  }
}
@media(max-width:767px) and (min-width:400px){
  .hero-bg{height:clamp(340px,80vw,460px)}
}
@media(max-width:399px){
  .hero-bg{height:clamp(280px,76vw,360px)}
}
@media(max-width:340px){
  .hero-bg{height:260px}
}

/* R7 — imagem dos palestrantes maior no desktop, sem corte (contain, proporção 16:9 do asset) */
@media(min-width:1025px){
  .hero-people{
    width:min(1320px,72%);
    max-width:calc(100% - 32px);
    aspect-ratio:16/9;
    right:clamp(12px,1.4vw,24px);
  }
  .hero-people img{
    object-fit:contain;
    object-position:right center;
  }
}
@media(min-width:1440px){
  .hero-people{width:min(1480px,74%)}
}
@media(min-width:1800px){
  .hero-people{width:min(1660px,76%)}
}

/* =========================================================
   R8 — Mobile: centraliza as infos práticas da hero
   ========================================================= */
@media(max-width:767px){
  .hero-content{align-items:center !important;text-align:center !important}
  .hero-title,.hero-sub{text-align:center !important}
  .hero-meta.hero-meta-line{
    justify-items:center;
    width:100%;max-width:420px !important;
    margin-left:auto !important;margin-right:auto !important;
  }
  .hero-btns{
    justify-items:center;
    width:100%;max-width:420px !important;
    margin-left:auto !important;margin-right:auto !important;
  }
  .hero-btns .btn-gold.btn-hero,.hero-btns .btn-out{
    text-align:center;
    width:100%;
  }
}

/* =========================================================
   R9 — Hero mobile: fallback, legibilidade e troca suave de BG
   ========================================================= */
/* fallback: cor/gradiente da marca aparece se a imagem não carregar */
.hero-bg{
  background-color:var(--blk,#000);
}
@media(max-width:767px){
  .hero-bg{
    /* camada 1 = imagem; camada 2 = fallback visível se a imagem falhar */
    background-image:
      url("/assets/MOBILE.png"),
      linear-gradient(160deg,#0d2c1f 0%,#08150f 55%,#000 100%);
    background-size:cover,cover;
    background-position:center top,center top;
    background-repeat:no-repeat,no-repeat;
    /* evita flash branco/salto ao cruzar o breakpoint */
    transition:height .18s ease, opacity .18s ease;
  }
  /* sobreposição de legibilidade sobre o BG mobile */
  .hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(to bottom,rgba(0,0,0,.42) 0%,rgba(0,0,0,.12) 38%,rgba(0,0,0,.55) 78%,rgba(0,0,0,.92) 100%),
      linear-gradient(to right,rgba(0,0,0,.30) 0%,rgba(0,0,0,0) 55%);
  }
  #hero{background-color:var(--blk,#000)}
  .hero-content{position:relative;z-index:2}
}
@media(min-width:768px){
  /* mantém o fundo anterior de tablet/desktop e evita flash na troca */
  .hero-bg{transition:opacity .18s ease}
}
@media(prefers-reduced-motion:reduce){
  .hero-bg{transition:none !important}
}

/* =========================================================
   R10 — Hero mobile: centragem vertical, CTAs em 320px, paisagem
   ========================================================= */
@media(max-width:767px){
  #hero{
    display:flex;
    flex-direction:column;
    justify-content:center;      /* centraliza verticalmente o conjunto */
    min-height:100svh;
    padding-top:calc(var(--nav-h) + 0.5rem);
    padding-bottom:2.25rem;
  }
  .hero-inner{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:100%;
    min-height:0;
    margin:auto 0;               /* distribui sobra de altura acima/abaixo */
    padding-top:0;
    padding-bottom:0;
    gap:clamp(12px,3.2vw,20px);
  }
  .hero-content{
    margin-top:0 !important;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
  }
  .hero-bg{margin-bottom:0}
  /* impede que os CTAs encostem/sobreponham o painel de data-local */
  .hero-meta.hero-meta-line{margin-bottom:0.25rem !important}
  .hero-btns{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    margin-top:1rem !important;
    gap:0.7rem !important;
    clear:both;
  }
}

/* larguras muito estreitas (ex.: 320px) */
@media(max-width:360px){
  .hero-inner{padding-left:0;padding-right:0}
  .hero-content{padding-left:5vw;padding-right:5vw}
  .hero-meta.hero-meta-line{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:0.3rem;
    padding:0.65rem 0.75rem;
  }
  .hero-meta-sep{display:none}
  .hero-btns{width:100%;max-width:300px !important}
  .hero-btns .btn-gold,.hero-btns .btn-out{
    width:100%;
    min-height:48px;
    padding:0.85rem 0.9rem;
    font-size:0.78rem;
    line-height:1.2;
    white-space:normal;
  }
}

/* mobile em paisagem: altura curta — evita corte e overflow */
@media(max-width:900px) and (orientation:landscape) and (max-height:500px){
  #hero{
    min-height:auto;
    justify-content:flex-start;
    padding-top:calc(var(--nav-h) + 0.5rem);
    padding-bottom:1.75rem;
  }
  .hero-inner{margin:0;gap:0.75rem}
  .hero-bg{height:clamp(160px,34vh,220px) !important;aspect-ratio:auto !important}
  .hero-logo{width:clamp(110px,16vw,150px);margin-bottom:0.6rem}
  .hero-title{font-size:clamp(1.4rem,3.6vw,1.9rem)}
  .hero-sub{font-size:0.9rem;margin-top:0.5rem}
  .hero-btns{
    flex-direction:row !important;
    flex-wrap:wrap;
    justify-content:center !important;
    max-width:560px !important;
    margin-left:auto !important;margin-right:auto !important;
  }
  .hero-btns .btn-gold,.hero-btns .btn-out{width:auto;min-width:200px;flex:0 1 auto}
}

/* =========================================================
   R11 — Mobile: centraliza a logo na hero
   ========================================================= */
@media(max-width:767px){
  .hero-logo{
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block;
  }
}

/* R12 — foto Karina Bacchi (enquadramento do rosto) */
.sp-card img.sp-img-karina{object-fit:cover;object-position:50% 22%}

/* ================= R12 — Intro de benefícios, FAQ e atendimento ================= */

.benefits-head{max-width:760px;margin:0 auto 1.6rem;text-align:center}
.benefits-sub{
  font-family:'Sora',sans-serif;font-size:clamp(0.92rem,2.6vw,1.02rem);line-height:1.65;
  color:#3c4a43;margin:0.7rem auto 0;max-width:640px;
}
.speakers-sub{
  font-family:'Sora',sans-serif;font-size:clamp(0.92rem,2.6vw,1.02rem);line-height:1.65;
  color:#3c4a43;margin:0.7rem auto 0;max-width:660px;text-align:center;
}

/* --- FAQ --- */
#faq{padding:clamp(3rem,7vw,5rem) 0}
.faq-head{max-width:720px;margin:0 auto clamp(1.4rem,4vw,2.2rem);text-align:center}
.faq-sub{
  font-family:'Sora',sans-serif;font-size:clamp(0.92rem,2.6vw,1.02rem);line-height:1.6;
  color:#3c4a43;margin:0.7rem auto 0;
}
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:0.7rem}
.faq-item{
  background:rgba(255,255,255,0.92);border:1px solid rgba(0,90,60,0.14);
  border-radius:18px;box-shadow:0 6px 22px rgba(0,40,25,0.06);overflow:hidden;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.faq-item.is-open{border-color:rgba(0,150,95,0.4);box-shadow:0 10px 30px rgba(0,60,35,0.1)}
.faq-q-wrap{margin:0}
.faq-q{
  width:100%;min-height:56px;display:flex;align-items:center;gap:1rem;justify-content:space-between;
  background:none;border:0;cursor:pointer;text-align:left;padding:1rem 1.15rem;
  font-family:'Sora',sans-serif;font-weight:600;font-size:clamp(0.95rem,2.7vw,1.03rem);
  line-height:1.4;color:#12241c;
}
.faq-q:hover{background:rgba(0,150,95,0.05)}
.faq-q:focus-visible{outline:2px solid var(--gold,#ffb905);outline-offset:-3px}
.faq-ic{position:relative;flex:0 0 20px;width:20px;height:20px}
.faq-ic::before,.faq-ic::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--gold,#ffb905);border-radius:2px;
  transform:translate(-50%,-50%);transition:transform .25s ease,opacity .25s ease;
}
.faq-ic::before{width:14px;height:2px}
.faq-ic::after{width:2px;height:14px}
.faq-item.is-open .faq-ic::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-a{height:0;overflow:hidden;transition:height .28s ease}
.faq-a-in{padding:0 1.15rem 1.1rem}
.faq-a-in p{
  margin:0;font-family:'Sora',sans-serif;font-size:clamp(0.9rem,2.6vw,0.98rem);
  line-height:1.7;color:#3c4a43;
}

/* --- Atendimento comercial --- */
#consultor{padding:clamp(2rem,6vw,3.5rem) 0 clamp(2.5rem,6vw,4rem)}
.cons-card{
  position:relative;overflow:hidden;background:#fdfaf4;
  border:1px solid rgba(0,150,95,0.28);border-radius:24px;
  box-shadow:0 12px 34px rgba(0,45,28,0.09);
  padding:clamp(1.4rem,4vw,2.2rem);
  display:flex;flex-direction:column;gap:1.4rem;
}
.cons-pattern{
  position:absolute;inset:auto -40px -40px auto;width:180px;height:180px;pointer-events:none;
  background-image:url("/assets/pattern-block.webp");background-size:contain;background-repeat:no-repeat;
  opacity:0.1;
  -webkit-mask-image:radial-gradient(circle at 75% 75%, #000 25%, transparent 72%);
  mask-image:radial-gradient(circle at 75% 75%, #000 25%, transparent 72%);
}
.cons-brand{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:0.82rem;
  letter-spacing:0.18em;text-transform:uppercase;color:#0a7a4f;
}
.cons-facts{list-style:none;margin:0.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.3rem}
.cons-facts li{
  font-family:'Sora',sans-serif;font-size:0.92rem;color:#28352e;
  padding-left:0.9rem;position:relative;
}
.cons-facts li::before{content:"";position:absolute;left:0;top:0.6em;width:6px;height:6px;border-radius:50%;background:var(--gold,#ffb905)}
.cons-ey{
  display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.68rem;
  letter-spacing:0.26em;text-transform:uppercase;color:#0a7a4f;margin-bottom:0.4rem;
}
.cons-t{
  font-family:'Sora',sans-serif;font-weight:700;font-size:clamp(1.35rem,4.4vw,1.9rem);
  line-height:1.2;margin:0 0 0.55rem;color:#12241c;
}
.cons-p{font-family:'Sora',sans-serif;font-size:clamp(0.93rem,2.7vw,1rem);line-height:1.65;color:#3c4a43;margin:0 0 1.1rem;max-width:46ch}
.cons-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;
  width:100%;min-height:52px;padding:0.9rem 1.4rem;border-radius:999px;text-decoration:none;
  background:linear-gradient(135deg,#00bf63,#0a7a4f);color:#fff;
  font-family:'Sora',sans-serif;font-weight:700;font-size:0.86rem;letter-spacing:0.06em;
  text-transform:uppercase;text-align:center;
  box-shadow:0 8px 24px rgba(0,150,95,0.28);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.cons-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,150,95,0.36)}
.cons-btn:active{transform:translateY(0)}
.cons-btn:focus-visible{outline:3px solid var(--gold,#ffb905);outline-offset:3px}
.cons-btn .cons-wa{width:20px;height:20px;flex:0 0 20px;fill:currentColor}
.cons-phone{
  margin:0.75rem 0 0;font-family:'Sora',sans-serif;font-weight:600;font-size:0.95rem;
  color:#12241c;
}

@media (min-width:900px){
  .cons-card{flex-direction:row;align-items:center;gap:2.4rem;padding:2.4rem 2.6rem}
  .cons-left{flex:0 0 34%;border-right:1px solid rgba(0,150,95,0.18);padding-right:2rem}
  .cons-right{flex:1}
  .cons-btn{width:auto;min-width:min(100%,420px)}
}

@media (prefers-reduced-motion:reduce){
  .faq-a{transition:none}
  .cons-btn{transition:none}
  .cons-btn:hover{transform:none}
}

/* R12b — contraste garantido nos blocos claros */
#consultor .cons-card .cons-p,
#consultor .cons-card .cons-facts li{color:#3c4a43}
#consultor .cons-card .cons-phone,
#consultor .cons-card .cons-t{color:#12241c}
#faq .faq-list .faq-a-in p{color:#3c4a43}
#faq .faq-list .faq-q{color:#12241c}
#consultor .cons-card .cons-pattern{opacity:0.09}

/* R12c — CTA do Diamond com contraste equivalente aos demais */
#tickets .tc.dia .tc-btn{
  background:linear-gradient(135deg,#1c3b6e,#0b1f3d);
  border-color:transparent;color:#fff;
  box-shadow:0 8px 24px rgba(12,32,64,0.24);
}
#tickets .tc.dia .tc-btn:hover{filter:brightness(1.08)}

/* ============ R13 — AÇÃO SOCIAL NEPAL (seção nova, escopo próprio) ============ */
#acao-social-nepal{
  position:relative;
  padding:4rem 0;
  background:#FFFFFF;
  overflow:hidden;
}
#acao-social-nepal .nepal-inner{display:flex;flex-direction:column;gap:2rem}
.nepal-copy p{color:var(--txt2);font-size:0.98rem;line-height:1.7;margin-top:0.9rem}
.nepal-copy .sec-title{margin-bottom:0.4rem}
#acao-social-nepal .sec-title .gd{color:var(--grn-base)}
.nepal-lead{font-size:1.03rem !important;color:var(--txt) !important}
.nepal-highlight{
  margin-top:1.1rem;padding:1rem 1.1rem;border-left:3px solid var(--gold);
  background:#FBF6E8;border-radius:2px;
}
.nepal-highlight p{margin-top:0;color:var(--txt)}
.nepal-note{color:var(--grn-base) !important}
.nepal-close{
  margin-top:1.4rem;font-family:var(--font-display);font-style:italic;
  font-size:1.1rem;line-height:1.5;color:var(--txt) !important;
}
.nepal-close-strong{color:var(--gold-lt);font-style:italic}
.nepal-cta{margin-top:1.8rem}
.nepal-cta .btn-ar{margin-left:0.5rem}

/* Mosaico: grade fixa, sem deslocamento horizontal */
.nepal-mosaic{
  display:grid;gap:0.6rem;width:100%;max-width:100%;
  grid-template-columns:repeat(2,1fr);
  grid-auto-rows:minmax(0,1fr);
  aspect-ratio:4/3;
}
.nepal-cell{
  position:relative;overflow:hidden;border-radius:6px;
  border:1px solid rgba(185,138,18,0.22);
  background:#EDF5F0;
  min-width:0;
}
.nepal-cell-5,.nepal-cell-6{display:none}
.nepal-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:50% 40%;
  opacity:0;transition:opacity 850ms ease-in-out;
}
.nepal-img.is-on{opacity:1}

@media (min-width:768px){
  .nepal-mosaic{grid-template-columns:repeat(3,1fr);aspect-ratio:16/9;gap:0.7rem}
  .nepal-cell-1{grid-column:1/3;grid-row:1/3}
  .nepal-mosaic{aspect-ratio:16/9}
  .nepal-cell-5,.nepal-cell-6{display:block}
}
@media (min-width:1025px){
  #acao-social-nepal{padding:6rem 0}
  #acao-social-nepal .nepal-inner{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
    gap:3rem;align-items:center;
  }
  .nepal-mosaic{aspect-ratio:1/1;gap:0.8rem}
}
@media (prefers-reduced-motion:reduce){
  .nepal-img{transition:none}
}
.nepal-cta .btn-gold{max-width:100%;text-align:center;line-height:1.35}

/* Mobile: ordem visual eyebrow → título → mosaico → textos → CTA,
   reutilizando os mesmos elementos do DOM (sem duplicação). */
@media (max-width:767px){
  #acao-social-nepal .nepal-copy{display:contents}
  #acao-social-nepal .nepal-copy .eyebrow{order:1}
  #acao-social-nepal .nepal-copy .sec-title{order:2}
  #acao-social-nepal .nepal-mosaic{order:3;margin-block:0.4rem}
  #acao-social-nepal .nepal-copy .nepal-lead{order:4}
  #acao-social-nepal .nepal-copy .nepal-highlight{order:5}
  #acao-social-nepal .nepal-copy .nepal-p{order:6}
  #acao-social-nepal .nepal-copy .nepal-note{order:7}
  #acao-social-nepal .nepal-copy .nepal-close{order:8}
  #acao-social-nepal .nepal-copy .nepal-cta{order:9}
}
