/* =========================================================
   DORATTA SEMIJOIAS — Landing de Recrutamento
   Paleta preto + ouro · Cormorant + Montserrat
   ========================================================= */

:root{
  --onyx:        #0B0B0C;
  --onyx-2:      #100F0D;
  --surface:     #16140E;   /* card escuro, levemente quente */
  --surface-2:   #1D1A11;
  --gold:        #C9A24B;   /* champanhe — acento principal */
  --gold-bright: #E7CE8E;   /* destaque/hover */
  --gold-olive:  #A6A02A;   /* ouro do logo — fios e detalhes */
  --pearl:       #F4EFE6;   /* texto principal */
  --muted:       #A8A294;   /* texto secundário */
  --line:        rgba(201,162,75,.22);
  --line-soft:   rgba(244,239,230,.08);

  /* acentos de gema (só na jornada) */
  --gem-perola:    #EDE6D4;
  --gem-esmeralda: #3E9E7E;
  --gem-rubi:      #B23A48;
  --gem-diamante:  #AFD2DF;

  --maxw: 1180px;
  --ease: cubic-bezier(.2,.7,.2,1);
  --pad-section: clamp(3.25rem, 6vw, 5.5rem);
}

/* ---------- reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--onyx);
  color:var(--pearl);
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:400;
  line-height:1.6;
  font-size:clamp(1rem, .96rem + .2vw, 1.075rem);
  letter-spacing:.005em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
em{ font-style:italic; }
strong{ color:var(--gold-bright); font-weight:500; }

/* padrão de coroas sutil no fundo */
body::before{
  content:"";
  position:fixed; inset:0;
  background-image:url("crown_tile.png");
  background-size:96px 96px;
  opacity:.085;
  pointer-events:none;
  z-index:0;
}
/* mobile: sobe o padrão de coroas pra mostrar coroas mais inteiras no topo (não só as pontas) */
@media (max-width:760px){ body::before{ background-position:0 -44px; } }
main, .site-header, .site-footer{ position:relative; z-index:1; }

/* ---------- layout ---------- */
.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.25rem, 4vw, 2.5rem); }
.section{ padding-block:var(--pad-section); }

/* ---------- tipografia ---------- */
.display{ font-family:"Cormorant", Georgia, serif; font-weight:600; line-height:1.04; letter-spacing:.005em; }
.eyebrow{
  font-size:.74rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.1rem;
}
.section-head{ max-width:46rem; margin-bottom:clamp(2.5rem,5vw,4rem); }
.section-title{ font-size:clamp(2.1rem, 1.4rem + 3vw, 3.6rem); color:var(--pearl); }
.section-lead{ margin-top:1.1rem; color:var(--muted); font-size:1.08rem; max-width:38rem; }

/* ---------- botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:"Montserrat",sans-serif; font-size:.86rem; font-weight:600;
  letter-spacing:.07em; text-transform:uppercase;
  padding:.95rem 1.7rem; border-radius:2px; cursor:pointer;
  border:1px solid transparent; transition:all .25s var(--ease); white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg, var(--gold-bright), var(--gold));
  color:#241c08; border-color:var(--gold);
  box-shadow:0 0 0 rgba(201,162,75,0);
}
.btn-primary:hover{ box-shadow:0 12px 34px -10px rgba(201,162,75,.5); transform:translateY(-2px); }
.btn-line{ border-color:var(--line); color:var(--pearl); background:transparent; }
.btn-line:hover{ border-color:var(--gold); color:var(--gold-bright); }
.btn-ghost{ background:transparent; color:var(--pearl); border-color:var(--line); padding:.7rem 1.25rem; }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-bright); }
.btn-lg{ padding:1.15rem 2.4rem; font-size:.92rem; }
.btn:focus-visible, a:focus-visible{ outline:2px solid var(--gold-bright); outline-offset:3px; }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(11,11,12,.72); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line-soft);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding-block:.85rem; }
.brand-logo{ height:38px; width:auto; }
.wa-dot{ width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 8px var(--gold); }
@media (max-width:560px){ .header-cta{ font-size:.72rem; padding:.6rem .9rem; } .brand-logo{ height:32px; } }

/* ---------- hero ---------- */
.hero{ position:relative; padding-block:clamp(.5rem,2vw,1rem) clamp(3.5rem,7vw,5.5rem); text-align:center; overflow:hidden; }
.hero-glow{
  position:absolute; top:-30%; left:50%; transform:translateX(-50%);
  width:min(900px,120vw); height:600px;
  background:radial-gradient(ellipse at center, rgba(201,162,75,.18), rgba(201,162,75,0) 62%);
  pointer-events:none;
}
.hero-inner{ position:relative; display:grid; grid-template-columns:1fr; gap:clamp(1.6rem,4vw,2.6rem); justify-items:center; align-items:center; }
.crown{ width:74px; height:auto; display:block; margin:0 auto 1.6rem; filter:drop-shadow(0 4px 18px rgba(201,162,75,.35)); }
.hero-video{ position:relative; width:100%; max-width:min(320px,80vw); margin:0 auto; aspect-ratio:9/16; border-radius:20px; overflow:hidden; background:var(--surface); border:1px solid var(--line); box-shadow:0 30px 70px -30px rgba(0,0,0,.85); }
.hero-video-el{ width:100%; height:100%; object-fit:cover; display:block; }
.hero-video-sound{ position:absolute; bottom:12px; right:12px; display:inline-flex; align-items:center; gap:.4rem; padding:.42rem .7rem; border-radius:999px; border:1px solid rgba(255,255,255,.35); background:rgba(11,11,12,.55); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#fff; font-size:.74rem; letter-spacing:.02em; cursor:pointer; transition:background .2s, color .2s, border-color .2s; }
.hero-video-sound:hover{ background:linear-gradient(135deg,var(--gold-bright),var(--gold)); color:#241c08; border-color:var(--gold); }
.hero-video-sound svg{ width:16px; height:16px; flex-shrink:0; }
.hero-video-sound .ico-sound{ display:none; }
.hero-video-sound.is-on .ico-mute{ display:none; }
.hero-video-sound.is-on .ico-sound{ display:inline; }
@media (min-width:861px){
  .hero-inner{ grid-template-columns:1fr minmax(300px,350px); gap:clamp(2.4rem,5vw,5rem); justify-items:stretch; text-align:left; }
  .hero-copy{ grid-column:1; grid-row:1; }
  .hero-video{ grid-column:2; grid-row:1; margin:0; max-width:350px; }
  .hero-copy .hero-title{ max-width:14ch; }
  .hero-copy .hero-actions{ justify-content:flex-start; }
}
.hero-title{ font-size:clamp(2.8rem, 1.6rem + 6vw, 6rem); max-width:16ch; }
.hero-title em{ color:var(--gold); }
.hero-sub{ margin-top:1.6rem; max-width:42rem; color:var(--muted); font-size:clamp(1.05rem,1rem+.4vw,1.25rem); }
.hero-actions{ margin-top:2.4rem; display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }

/* ---------- promise bar ---------- */
.promise{ border-block:1px solid var(--line-soft); background:var(--onyx-2); }
.promise-inner{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1rem 1.4rem; padding-block:1.4rem; }
.promise-item{ font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.promise-sep{ width:5px; height:5px; transform:rotate(45deg); background:var(--gold-olive); }
@media (max-width:680px){ .promise-sep{ display:none; } .promise-inner{ gap:.5rem 1.2rem; } .promise-item{ font-size:.7rem; } }

/* ---------- pillars ---------- */
.pillar-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.pillar{
  background:linear-gradient(180deg, var(--surface), var(--onyx-2));
  border:1px solid var(--line-soft); border-radius:4px; padding:2rem 1.6rem;
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.pillar:hover{ border-color:var(--line); transform:translateY(-4px); }
.pillar-icon{ display:inline-flex; color:var(--gold); margin-bottom:1.25rem; }
.pillar-icon svg{ width:30px; height:30px; }
.pillar-title{ font-size:1.12rem; font-weight:600; margin-bottom:.6rem; color:var(--pearl); }
.pillar-text{ color:var(--muted); font-size:.95rem; }
@media (max-width:900px){ .pillar-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .pillar-grid{ grid-template-columns:1fr; } }

/* ---------- jornada (assinatura) ---------- */
.journey{ background:var(--onyx-2); border-block:1px solid var(--line-soft); }
.ladder{
  list-style:none; position:relative;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem;
  margin-top:1rem; padding-top:2.4rem;
}
/* trilha dourada horizontal passando pelos nós */
.ladder::before{
  content:""; position:absolute; top:2.4rem; left:6%; right:6%; height:1px;
  background:linear-gradient(90deg, var(--gold-olive), var(--gold) 55%, var(--gold-bright));
  opacity:.6;
}
.tier{ position:relative; padding-top:2.4rem; }
.tier-node{
  position:absolute; top:-.55rem; left:50%; transform:translateX(-50%) rotate(45deg);
  width:18px; height:18px; background:var(--gem); border:1px solid var(--gold);
  box-shadow:0 0 0 4px var(--onyx-2), 0 0 14px var(--glow);
}
.tier--perola    { --gem:var(--gem-perola);    --glow:rgba(237,230,212,.4); }
.tier--esmeralda { --gem:var(--gem-esmeralda); --glow:rgba(62,158,126,.5); }
.tier--rubi      { --gem:var(--gem-rubi);      --glow:rgba(178,58,72,.5); }
.tier--diamante  { --gem:var(--gem-diamante);  --glow:rgba(175,210,223,.6); }
.tier-step{ font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.tier-name{ font-size:1.85rem; margin-top:.3rem; color:var(--pearl); }
.tier--diamante .tier-name{ color:var(--gold-bright); }
.tier-tagline{ color:var(--gold); font-weight:500; margin-top:.35rem; font-size:.95rem; }
.tier-desc{ color:var(--muted); font-size:.92rem; margin-top:.7rem; }

@media (max-width:860px){
  .ladder{ grid-template-columns:1fr; gap:0; padding-top:0; padding-left:1.75rem; }
  .ladder::before{ top:.4rem; bottom:.4rem; left:6px; right:auto; width:1px; height:auto;
    background:linear-gradient(180deg, var(--gold-olive), var(--gold) 55%, var(--gold-bright)); }
  .tier{ padding-top:0; padding-bottom:2.5rem; }
  .tier:last-child{ padding-bottom:0; }
  .tier-node{ top:.2rem; left:-1.75rem; transform:rotate(45deg); }
}

/* ---------- recompensas ---------- */
.reward-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.reward{
  position:relative; padding:2rem 1.9rem; border-radius:4px;
  background:var(--surface); border:1px solid var(--line-soft); overflow:hidden;
  transition:border-color .3s var(--ease);
}
.reward::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(180deg,var(--gold),var(--gold-olive)); }
.reward:hover{ border-color:var(--line); }
.reward-title{ font-family:"Cormorant",serif; font-size:1.6rem; font-weight:600; color:var(--gold-bright); margin-bottom:.5rem; }
.reward-text{ color:var(--muted); font-size:.96rem; }
@media (max-width:680px){ .reward-grid{ grid-template-columns:1fr; } }

/* ---------- depoimento ---------- */
.voice-inner{ display:grid; grid-template-columns:minmax(0,.85fr) 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.voice-card{ position:relative; }
.voice-card img{ border-radius:6px; border:1px solid var(--line); box-shadow:0 30px 60px -30px rgba(0,0,0,.8); }
.voice-card::after{ content:""; position:absolute; inset:-10px; border:1px solid var(--line-soft); border-radius:10px; pointer-events:none; }
.voice-quote{ font-size:clamp(1.8rem,1.2rem+2.4vw,3rem); font-style:italic; font-weight:500; line-height:1.18; color:var(--pearl); margin-top:.6rem; }
.voice-attr{ margin-top:1.4rem; color:var(--gold); font-size:1rem; }
@media (max-width:760px){ .voice-inner{ grid-template-columns:1fr; } .voice-card{ max-width:320px; } }

/* ---------- como funciona ---------- */
.steps{ background:var(--onyx-2); border-top:1px solid var(--line-soft); }
.step-grid{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
.step{ position:relative; padding:2rem 1.75rem; border-top:1px solid var(--line); }
.step-num{ font-family:"Cormorant",serif; font-size:2.6rem; font-weight:600; color:var(--gold); line-height:1; display:block; margin-bottom:.8rem; }
.step-title{ font-size:1.2rem; font-weight:600; margin-bottom:.5rem; }
.step-text{ color:var(--muted); font-size:.96rem; }
@media (max-width:760px){ .step-grid{ grid-template-columns:1fr; gap:0; } .step{ padding-block:1.6rem; } }

/* ---------- cta final ---------- */
.final-cta{ padding-block:var(--pad-section); text-align:center; background:
  radial-gradient(ellipse at center bottom, rgba(201,162,75,.14), rgba(11,11,12,0) 70%), var(--onyx); }
.final-inner{ display:flex; flex-direction:column; align-items:center; }
.crown--sm{ width:54px; margin-bottom:1.2rem; }
.final-title{ font-size:clamp(2.2rem,1.6rem+3.4vw,4rem); }
.final-sub{ margin-top:1rem; max-width:34rem; color:var(--muted); font-size:1.1rem; }
.final-inner .btn{ margin-top:2.2rem; }

/* ---------- footer ---------- */
.site-footer{ border-top:1px solid var(--line-soft); background:var(--onyx-2); padding-block:3rem; text-align:center; }
.footer-inner{ display:flex; flex-direction:column; align-items:center; gap:1rem; }
.footer-logo{ height:38px; width:auto; opacity:.92; }
.footer-note{ font-family:"Cormorant",serif; font-style:italic; font-size:1.25rem; color:var(--pearl); }
.footer-fine{ color:var(--muted); font-size:.78rem; max-width:40rem; line-height:1.7; }

/* ---------- whatsapp flutuante ---------- */
.wa-float{
  position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:60;
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold)); color:#241c08;
  box-shadow:0 12px 30px -8px rgba(201,162,75,.5); transition:transform .25s var(--ease);
}
.wa-float svg{ width:30px; height:30px; }
.wa-float:hover{ transform:scale(1.08); }

/* ---------- reveal / motion ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .btn,.pillar,.wa-float{ transition:none; }
}

/* ---------- blocos de vídeo (9:16) ---------- */
.video-block{ display:grid; grid-template-columns:300px 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.video-block.reverse .video-media{ order:2; }
.video-media{ display:flex; justify-content:center; }
.video-frame{
  position:relative; width:290px; max-width:100%; aspect-ratio:9/16;
  border-radius:22px; overflow:hidden; background:#000; border:1px solid var(--line);
  box-shadow:0 34px 70px -34px rgba(0,0,0,.9), 0 0 0 7px rgba(201,162,75,.05);
}
.video-frame video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.video-overlay{
  position:absolute; inset:0; z-index:2; width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.9rem;
  background:linear-gradient(180deg, rgba(11,11,12,.12), rgba(11,11,12,.5));
  border:0; cursor:pointer; color:var(--pearl); transition:opacity .35s var(--ease);
}
.video-overlay .play{
  width:66px; height:66px; border-radius:50%; display:grid; place-items:center;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold)); color:#241c08;
  box-shadow:0 10px 26px -6px rgba(201,162,75,.6); transition:transform .25s var(--ease);
}
.video-overlay .play svg{ width:26px; height:26px; margin-left:3px; }
.video-overlay:hover .play{ transform:scale(1.09); }
.video-overlay .vlabel{ font-size:.72rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-bright); }
.video-frame.is-playing .video-overlay{ opacity:0; pointer-events:none; }
.video-title{ font-size:clamp(1.9rem,1.3rem+2.2vw,3rem); color:var(--pearl); margin-top:.2rem; }
.video-text{ margin-top:1rem; color:var(--muted); max-width:34rem; font-size:1.05rem; }
@media (max-width:820px){
  .video-block, .video-block.reverse{ grid-template-columns:1fr; gap:2rem; }
  .video-block.reverse .video-media{ order:0; }
  .video-content{ text-align:center; }
  .video-text{ margin-inline:auto; }
}

/* ---------- carreira: card de liderança (Diamante Líder) ---------- */
.leader-card{
  margin-top:2.6rem; display:flex; align-items:center; gap:clamp(1.2rem,3vw,2.5rem);
  padding:clamp(1.5rem,3vw,2.4rem); border-radius:10px;
  background:linear-gradient(135deg, rgba(201,162,75,.12), rgba(28,25,17,.55));
  border:1px solid var(--line);
}
.leader-badge{ display:flex; flex-direction:column; align-items:center; gap:.55rem; flex-shrink:0; text-align:center; }
.leader-badge img{ width:56px; height:auto; filter:drop-shadow(0 4px 14px rgba(201,162,75,.4)); }
.leader-badge span{ font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-bright); }
.leader-title{ font-size:clamp(1.5rem,1.1rem+1.6vw,2.1rem); color:var(--pearl); }
.leader-text{ color:var(--muted); margin-top:.6rem; max-width:46rem; }
@media (max-width:680px){ .leader-card{ flex-direction:column; text-align:center; } .leader-text{ margin-inline:auto; } }

/* ---------- faixa de promessa do produto ---------- */
.promiseband{ text-align:center; border-block:1px solid var(--line-soft); background:var(--onyx-2); }
.promiseband-inner{ display:flex; flex-direction:column; align-items:center; }
.promiseband-quote{ font-style:italic; font-weight:500; font-size:clamp(1.8rem,1.2rem+2.6vw,3.1rem); line-height:1.2; max-width:22ch; color:var(--pearl); }
.promiseband-sub{ margin-top:1.3rem; color:var(--muted); max-width:36rem; font-size:1.08rem; }

/* ---------- depoimento (foto + citação) ---------- */
.testimonial{ background:var(--onyx-2); border-block:1px solid var(--line-soft); }
.testimonial-inner{ display:grid; grid-template-columns:300px 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.testimonial-photo{ margin:0; justify-self:center; }
.testimonial-photo img{ width:300px; max-width:100%; border-radius:8px; border:1px solid var(--line); box-shadow:0 26px 54px -28px rgba(0,0,0,.85); display:block; }
.testimonial-quote{ font-style:italic; font-weight:500; font-size:clamp(1.4rem,1rem+1.5vw,2.1rem); line-height:1.36; color:var(--pearl); }
.testimonial-attr{ margin-top:1.4rem; font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }
@media (max-width:760px){
  .testimonial-inner{ grid-template-columns:1fr; text-align:center; gap:2rem; }
  .testimonial-quote{ max-width:36rem; margin-inline:auto; }
}

/* ---------- faixa inspiracional ---------- */
.inspire{ text-align:center; background:radial-gradient(ellipse at 70% 0%, rgba(201,162,75,.15), rgba(11,11,12,0) 62%), var(--onyx); }
.inspire-inner{ display:flex; flex-direction:column; align-items:center; }
.inspire-mark{ color:var(--gold); width:130px; margin-bottom:1.5rem; }
.inspire-mark svg{ width:100%; height:auto; display:block; }
.inspire-title{ font-size:clamp(2.1rem,1.4rem+3.4vw,4rem); line-height:1.1; }
.inspire-title em{ color:var(--gold); font-style:italic; }
.inspire-sub{ margin-top:1.2rem; color:var(--muted); font-size:1.1rem; }
.inspire-art{ margin:0; }
.inspire-art img{ width:auto; max-width:340px; max-height:660px; border-radius:14px; border:1px solid var(--line); box-shadow:0 30px 70px -30px rgba(0,0,0,.9), 0 0 0 6px rgba(201,162,75,.05); display:block; }

/* ---------- sistema doratta ---------- */
.sistema-inner{ display:grid; grid-template-columns:1fr 360px; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.sistema-art{ margin:0; justify-self:center; }
.sistema-art img{ width:340px; max-width:100%; border-radius:14px; border:1px solid var(--line); box-shadow:0 26px 54px -28px rgba(0,0,0,.85); display:block; }
.sistema-lead{ color:var(--muted); margin-top:1rem; max-width:34rem; font-size:1.08rem; }
.sistema-feats{ list-style:none; margin-top:2rem; display:flex; flex-direction:column; gap:1.4rem; max-width:34rem; }
.sistema-feats li{ display:flex; gap:1rem; align-items:flex-start; }
.feat-icon{ color:var(--gold); flex-shrink:0; line-height:0; margin-top:.15rem; }
.feat-icon svg{ width:26px; height:26px; }
.feat-text strong{ display:block; color:var(--pearl); font-weight:600; font-size:1.05rem; margin-bottom:.2rem; }
.feat-text span{ display:block; color:var(--muted); font-size:.95rem; }
@media (max-width:820px){
  .sistema-inner{ grid-template-columns:1fr; gap:2.5rem; }
  .sistema-art{ order:-1; }
}

/* ============================================================
   CARROSSEL / COLEÇÃO — galeria horizontal (swipe + drag + lazy)
   ============================================================ */
.carousel-head{ text-align:center; margin-bottom:clamp(1.6rem,3.5vw,2.6rem); }

.carousel{ position:relative; }

.carousel-track{
  list-style:none; margin:0;
  display:flex; gap:clamp(.85rem,1.6vw,1.35rem);
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:.5rem clamp(1.1rem,6vw,4.5rem) 1.5rem;
  cursor:grab;
  scrollbar-width:none;
  -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%);
}
.carousel-track::-webkit-scrollbar{ height:0; display:none; }
.carousel-track.is-dragging{ cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; }

.carousel-slide{
  flex:0 0 auto;
  width:clamp(232px,23vw,290px);
  aspect-ratio:9/16;
  scroll-snap-align:center;
  border-radius:16px; overflow:hidden;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 22px 48px -26px rgba(0,0,0,.85);
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.carousel-slide img{ width:100%; height:100%; object-fit:cover; display:block; user-select:none; -webkit-user-drag:none; pointer-events:none; }
.carousel-slide:hover{ transform:translateY(-6px); border-color:var(--gold); box-shadow:0 30px 60px -24px rgba(0,0,0,.9); }

.carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:4;
  width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--line); background:rgba(11,11,12,.66);
  -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
  color:var(--gold-bright); font-family:"Cormorant",serif; font-size:2rem; line-height:1;
  cursor:pointer; transition:background .25s, color .25s, border-color .25s;
}
.carousel-arrow:hover{ background:linear-gradient(135deg,var(--gold-bright),var(--gold)); color:#241c08; border-color:var(--gold); }
.carousel-arrow:focus-visible{ outline:2px solid var(--gold-bright); outline-offset:3px; }
.carousel-prev{ left:max(.5rem, calc(50% - 600px)); }
.carousel-next{ right:max(.5rem, calc(50% - 600px)); }

@media (max-width:760px){
  .carousel-arrow{ display:none; }
  .carousel-slide{ width:72vw; max-width:300px; }
  .carousel-track{ padding-inline:14vw; }
}

/* separador discreto entre seções — fios dourados que esvanecem + diamante central */
.section-sep{
  display:flex; align-items:center; justify-content:center; gap:.8rem;
  width:min(84%, 340px);
  margin:clamp(.2rem,2vw,1.1rem) auto;
}
.section-sep::before, .section-sep::after{ content:""; height:1px; flex:1 1 auto; }
.section-sep::before{ background:linear-gradient(90deg, transparent, var(--line)); }
.section-sep::after{  background:linear-gradient(90deg, var(--line), transparent); }
.section-sep span{
  width:6px; height:6px; flex:0 0 auto;
  transform:rotate(45deg);
  background:var(--gold-olive);
  box-shadow:0 0 6px rgba(201,162,75,.25);
}
