
:root {
  --cream: #F5F0EA;
  --pale: #EDE8E0;
  --graphite: #2A2A2A;
  --mid: #4A4A4A;
  --light: #7A7A7A;
  --wine: #7A1F34;
  --terra: #C07755;
  --sage: #7A8C6E;
  --petrol: #2C4A52;
  --gold: #C9A84C;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background: var(--graphite);
  color: var(--cream);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
}

.tag {
  font-size: 0.62rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.tag::after { display: none; }

.site-header {
  position: relative;
  z-index: 1;
}

.main-nav {
  min-height: 64px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  padding: 0 5vw;
  background: rgba(245,240,234,0.94);
  backdrop-filter: blur(12px);
}

.logo-nav {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--graphite);
  text-decoration: none;
  white-space: nowrap;
}
.logo-nav em { color: var(--wine); font-style: italic; }

.nav-links {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3rem);
  margin-left: auto;
}
.nav-links a {
  color: rgba(42,42,42,0.72);
  font-size: 0.68rem;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.2s ease;
}
.nav-links a:hover { color: var(--wine); }

.nav-cta {
  background: var(--wine);
  color: var(--cream);
  text-decoration: none;
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.7rem 1.25rem;
  transition: background 0.2s ease, color 0.2s ease;
}
.nav-cta:hover { background: var(--graphite); }
.logo-nav:focus-visible,
.nav-links a:focus-visible,
.nav-cta:focus-visible {
  outline: 2px solid var(--wine);
  outline-offset: 4px;
}

/* HERO */
.hero {
  min-height: calc(100svh - 88px);
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 53fr) minmax(360px, 47fr);
  padding: 0;
  position: relative;
  overflow: hidden;
  background: var(--cream);
  color: var(--graphite);
}

.hero-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(3rem, 7vh, 4.5rem) clamp(3rem, 6.5vw, 7rem) clamp(3rem, 7vh, 4.5rem) max(5vw, calc((100vw - 1600px) / 2));
}

.hero-eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wine);
  max-width: 58ch;
  line-height: 1.5;
  margin-bottom: clamp(1.75rem, calc(2.8vh + 0.25rem), 2.25rem);
  white-space: nowrap;
}

h1.hero-h {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3.75rem, 5.35vw, 5rem);
  font-weight: 300;
  line-height: 0.94;
  letter-spacing: -0.035em;
  max-width: 15ch;
  margin-bottom: clamp(1.75rem, calc(3.2vh + 0.25rem), 2.5rem);
  text-wrap: balance;
}
h1.hero-h em { font-style: italic; color: var(--wine); }

.hero-sub {
  font-size: clamp(1rem, 1.3vw, 1.08rem);
  line-height: 1.65;
  color: rgba(42,42,42,0.76);
  max-width: 55ch;
  margin-bottom: clamp(1.875rem, calc(3.4vh + 0.25rem), 2.5rem);
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  flex-wrap: wrap;
}
.hero-primary-cta {
  display: inline-block;
  background: var(--wine);
  color: var(--cream);
  padding: 1rem 1.65rem;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.2s ease, transform 0.2s ease;
}
.hero-primary-cta:hover { background: var(--graphite); transform: translateY(-2px); }
.hero-secondary-cta {
  color: rgba(42,42,42,0.72);
  border-bottom: 1px solid rgba(42,42,42,0.25);
  padding: 0.45rem 0 0.25rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.hero-secondary-cta:hover { color: var(--wine); border-color: var(--wine); }
.hero-primary-cta:focus-visible,
.hero-secondary-cta:focus-visible {
  outline: 2px solid var(--wine);
  outline-offset: 3px;
}

.hero-media {
  min-height: calc(100svh - 88px);
  position: relative;
  overflow: hidden;
}
.hero-media::after {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  width: clamp(18rem, 30vw, 28rem);
  background: linear-gradient(
    to right,
    var(--cream) 0%,
    rgba(245,240,234,0.98) 12%,
    rgba(245,240,234,0.9) 26%,
    rgba(245,240,234,0.7) 44%,
    rgba(245,240,234,0.46) 60%,
    rgba(245,240,234,0.22) 76%,
    rgba(245,240,234,0.07) 90%,
    rgba(245,240,234,0) 100%
  );
  pointer-events: none;
}
.hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

@media (max-width: 1024px) {
  .hero { grid-template-columns: minmax(0, 56fr) minmax(320px, 44fr); }
  .hero-copy { padding-left: 5vw; padding-right: 4vw; }
  h1.hero-h { font-size: clamp(3.3rem, 5.8vw, 4.25rem); }
}

@media (max-width: 834px) {
  .main-nav { min-height: 60px; }
  .nav-links { display: flex; margin-left: auto; }
  .nav-links a:not([href="/duvidas/"]) { display: none; }
  .hero {
    min-height: auto;
    grid-template-columns: 1fr;
    padding-top: 0;
  }
  .hero-copy { padding: clamp(3.5rem, 8vw, 5rem) 6vw 3rem; }
  .hero-eyebrow { white-space: normal; }
  h1.hero-h { font-size: clamp(3.4rem, 9vw, 4.8rem); max-width: 11ch; }
  .hero-sub { max-width: 58ch; }
  .hero-media { min-height: 0; aspect-ratio: 4 / 3; }
  .hero-media::after {
    inset: 0 0 auto;
    width: 100%;
    height: clamp(3rem, 10vw, 5rem);
    background: linear-gradient(to bottom, var(--cream) 0%, rgba(245,240,234,0.72) 28%, rgba(245,240,234,0) 100%);
  }
}

@media (max-width: 520px) {
  .site-header,
  .hero { width: 100vw; max-width: 100vw; }
  .main-nav { gap: 1rem; padding-inline: 5vw; }
  .logo-nav { font-size: 1.08rem; }
  .nav-cta { padding: 0.65rem 0.8rem; font-size: 0.58rem; letter-spacing: 0.1em; }
  .hero-copy { position: relative; z-index: 2; width: 100%; max-width: 100vw; padding: 3.25rem 5vw 2.75rem; }
  .hero-eyebrow { font-size: 0.61rem; letter-spacing: 0.1em; max-width: 42ch; }
  h1.hero-h { font-size: clamp(2.75rem, 11.5vw, 3.15rem); line-height: 0.96; max-width: 100%; }
  .hero-sub { width: 100%; font-size: 0.94rem; line-height: 1.65; overflow-wrap: anywhere; }
  .hero-actions { width: 100%; flex-direction: column; align-items: flex-start; gap: 1.2rem; }
  .hero-primary-cta { width: 100%; padding: 1.05rem 1rem; text-align: center; white-space: normal; }
  .hero-media {
    position: relative;
    inset: auto;
    z-index: auto;
    width: 100%;
    height: clamp(16rem, 68vw, 19rem);
    min-height: 0;
    aspect-ratio: auto;
    pointer-events: none;
  }
  .hero-media::after {
    inset: 0 0 auto;
    width: 100%;
    height: clamp(6rem, 27vw, 7.5rem);
    background: linear-gradient(
      to bottom,
      var(--cream) 0%,
      rgba(245,240,234,0.96) 16%,
      rgba(245,240,234,0.78) 34%,
      rgba(245,240,234,0.5) 52%,
      rgba(245,240,234,0.22) 72%,
      rgba(245,240,234,0.06) 90%,
      rgba(245,240,234,0) 100%
    );
  }
  .hero-media img { object-position: 62% 50%; }
}

.btn-gold {
  background: var(--gold);
  color: var(--graphite);
  text-decoration: none;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 1.1rem 2.8rem;
  transition: background 0.3s, transform 0.2s;
  display: inline-block;
}
.btn-gold:hover { background: var(--cream); transform: translateY(-2px); }

.btn-ghost-light {
  color: rgba(245,240,234,0.6);
  text-decoration: none;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  border-bottom: 1px solid rgba(245,240,234,0.25);
  padding-bottom: 2px;
  transition: color 0.3s, border-color 0.3s;
}
.btn-ghost-light:hover { color: var(--gold); border-color: var(--gold); }


/* TICKER */
.ticker {
  background: var(--wine);
  padding: 1.1rem 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
}
.ticker-inner {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  animation: ticker 25s linear infinite;
}
.ticker-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 clamp(18rem, 23vw, 21rem);
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  text-transform: uppercase;
  color: rgba(245,240,234,0.85);
}
.ticker-item::before { content: '✦'; position: absolute; inset-block: 0; inset-inline-start: 0; width: 0; display: inline-flex; align-items: center; justify-content: center; line-height: 1; color: var(--gold); font-size: 0.5rem; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

section { padding: 7rem 5vw; }

.sec-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4.5vw, 3.8rem);
  font-weight: 300;
  line-height: 1.15;
  margin-bottom: 1.5rem;
}
.sec-title em { font-style: italic; color: var(--gold); }

/* WHY ITALY */
.why-italy {
  background: var(--graphite);
  border-top: 1px solid rgba(245,240,234,0.07);
  position: relative;
  overflow: hidden;
}

.why-italy .sec-title { max-width: none; white-space: nowrap; font-size: clamp(2.5rem, 4vw, 3.8rem); }
.why-carousel { margin: 4rem -5vw 0; touch-action: pan-y; outline: none; }
.why-carousel:focus-visible { outline: 2px solid var(--gold); outline-offset: 6px; }
.why-carousel-viewport { overflow: hidden; }
.why-carousel-track { display: flex; align-items: stretch; gap: clamp(1rem, 1.8vw, 1.8rem); padding: 1.5rem 0 2rem; will-change: transform; transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1); }
.why-carousel-track.is-jumping { transition: none; }
.why-carousel-track.is-jumping .why-slide { transition: none; }
.why-slide { flex: 0 0 min(74%, 1320px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(245,240,234,0.1); border-radius: 18px; z-index: 1; opacity: 0.52; background: #202020; box-shadow: 0 14px 38px rgba(0,0,0,0.22); transform: translateY(10px) scale(0.94); transform-origin: center center; transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1), opacity 700ms ease, box-shadow 700ms ease, border-color 700ms ease; }
.why-slide.is-active { z-index: 3; opacity: 1; border-color: rgba(245,240,234,0.18); box-shadow: 0 30px 80px rgba(0,0,0,0.42); transform: translateY(-5px) scale(1.015); }
.why-slide-media { position: relative; height: clamp(290px, 30vw, 410px); flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 70% 28%, rgba(201,168,76,0.12), transparent 30%), linear-gradient(145deg, #3a3936 0%, #292927 48%, #191919 100%); }
.why-slide-media::before, .why-slide-media::after { content: ''; position: absolute; pointer-events: none; }
.why-slide-media::before { inset: 7%; z-index: 2; border: 1px solid rgba(245,240,234,0.1); }
.why-slide-media::after { inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(20,20,20,0.22), transparent 38%); }
.why-slide-media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.why-slide-location { position: absolute; z-index: 3; padding: 0.5rem 0.72rem; border: 1px solid rgba(245,240,234,0.2); border-radius: 999px; background: rgba(20,20,20,0.48); box-shadow: 0 4px 18px rgba(0,0,0,0.14); color: rgba(245,240,234,0.88); font-size: 0.58rem; line-height: 1; letter-spacing: 0.09em; white-space: nowrap; backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.why-slide-location--dolomites { left: 9%; bottom: 11%; }
.why-slide-location--rome { left: 51%; top: 10%; }
.why-slide-location--amalfi { left: 9%; top: 10%; }
.why-slide-copy { min-height: 210px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, 2.2vw, 2.2rem) clamp(1.6rem, 3vw, 3rem); background: linear-gradient(160deg, #262626, #1a1a1a); }
.why-slide-number { width: fit-content; padding-bottom: 0.65rem; border-bottom: 1px solid rgba(201,168,76,0.55); font-size: 0.62rem; letter-spacing: 0.2em; color: var(--gold); }
.why-slide h3 { margin: 1.25rem 0 0.65rem; font-family: 'Cormorant Garamond', serif; font-size: clamp(1.55rem, 2.1vw, 2.25rem); font-weight: 300; line-height: 1.08; color: var(--cream); }
.why-slide p { max-width: 78ch; font-size: 0.88rem; line-height: 1.72; color: rgba(245,240,234,0.58); }
.why-carousel-controls { display: flex; align-items: center; gap: 1.4rem; padding: 0.2rem 5vw 0; }
.why-carousel-arrows { display: flex; gap: 0.55rem; }
.why-carousel-arrow { width: 42px; height: 42px; border: 1px solid rgba(245,240,234,0.2); border-radius: 50%; background: transparent; color: var(--cream); font-size: 1.05rem; cursor: pointer; transition: color 0.25s, border-color 0.25s, background 0.25s; }
.why-carousel-arrow:hover { border-color: var(--gold); color: var(--gold); background: rgba(201,168,76,0.06); }
.why-carousel-arrow:focus-visible, .why-carousel-dot:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.why-carousel-dots { display: flex; align-items: center; gap: 0.55rem; }
.why-carousel-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(245,240,234,0.25); cursor: pointer; transition: width 0.3s, border-radius 0.3s, background 0.3s; }
.why-carousel-dot.is-active { width: 24px; border-radius: 999px; background: var(--gold); }
.why-carousel-status { margin-left: auto; font-size: 0.62rem; letter-spacing: 0.16em; color: rgba(245,240,234,0.42); text-transform: uppercase; }

@media (max-width: 760px) {
  .why-italy .sec-title { max-width: 100%; white-space: nowrap; font-size: clamp(1.8rem, 7.4vw, 2rem); line-height: 1.08; }
  .why-italy .sec-title em { display: block; }
  .why-carousel { margin-top: 2.8rem; }
  .why-carousel-track { gap: 0.8rem; padding-top: 1rem; }
  .why-slide { flex-basis: 88%; transform: translateY(5px) scale(0.965); }
  .why-slide.is-active { transform: translateY(-2px) scale(1); }
  .why-slide-media { height: clamp(245px, 66vw, 340px); }
  .why-slide-location { padding: 0.46rem 0.62rem; font-size: 0.53rem; letter-spacing: 0.07em; }
  .why-slide-location--dolomites { left: 5%; bottom: 7%; }
  .why-slide-location--rome { left: 5%; top: 7%; }
  .why-slide-location--amalfi { right: 5%; left: auto; top: 7%; }
  .why-slide-copy { min-height: 250px; display: flex; flex-direction: column; gap: 0; padding: 1.45rem 1.45rem 1.7rem; }
  .why-slide h3 { margin: 1.4rem 0 0.85rem; font-size: clamp(1.55rem, 7vw, 2rem); }
  .why-slide p { font-size: 0.84rem; line-height: 1.68; }
}
@media (max-width: 480px) {
  .why-carousel-controls { gap: 1rem; }
  .why-carousel-status { display: none; }
  .why-carousel-dots { margin-left: auto; }
}

/* BOLSA */
.bolsa { background: #1A1A1A; position: relative; overflow: hidden; }

.bolsa-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: clamp(4rem, 7vw, 7rem);
  align-items: center;
}

.bolsa-left .sec-title { max-width: 18ch; }
.bolsa-left .sec-title span,
.bolsa-left .sec-title em { display: block; }

.bolsa-body {
  font-size: 0.95rem;
  line-height: 1.95;
  color: rgba(245,240,234,0.6);
  max-width: 59ch;
  margin-bottom: 0;
}

.bolsa-body p + p { margin-top: 1rem; }
.bolsa-body strong { color: var(--gold); font-weight: 400; }

.bolsa-stats {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.stat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: 1.65rem 0;
  border-bottom: 1px solid rgba(245,240,234,0.08);
}

.stat-label {
  font-size: 0.82rem;
  color: rgba(245,240,234,0.45);
  letter-spacing: 0.04em;
  max-width: 48%;
}

.stat-label small {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.68rem;
  line-height: 1.45;
  letter-spacing: 0.02em;
  color: rgba(245,240,234,0.3);
}

.stat-val {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 300;
  color: var(--gold);
  text-align: right;
  line-height: 1.08;
  text-wrap: balance;
}

.stat-val small {
  font-family: 'Jost', sans-serif;
  font-size: 0.7rem;
  color: rgba(245,240,234,0.35);
  font-weight: 300;
  margin-left: 0.5rem;
}

@media (max-width: 768px) {
  .bolsa { padding-top: 5.5rem; padding-bottom: 5.5rem; }
  .bolsa-inner { grid-template-columns: minmax(0, 1fr); gap: 3rem; align-items: start; }
  .bolsa-left .sec-title { max-width: 17ch; font-size: clamp(2.25rem, 10.5vw, 3.4rem); }
  .bolsa-body { font-size: 0.93rem; line-height: 1.85; }
  .bolsa-stats { width: 100%; }
  .bolsa .venice-deco { width: 100%; opacity: 0.18; }
}

@media (max-width: 480px) {
  .stat-row { align-items: center; gap: 1rem; padding: 1.35rem 0; }
  .stat-label { max-width: 46%; font-size: 0.76rem; line-height: 1.45; }
  .stat-val { max-width: 54%; font-size: clamp(1.38rem, 6.7vw, 1.65rem); }
}

/* PLATAFORMA DE SIMULADOS */
.simulados-section {
  background: var(--wine);
  padding: clamp(7rem, 8.5vw, 8.75rem) 5vw;
  color: var(--cream);
  text-align: center;
  overflow: hidden;
}

.simulados-intro {
  max-width: 900px;
  margin: 0 auto;
}

.simulados-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 1.65rem;
  font-size: 0.66rem;
  line-height: 1.4;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
}

.simulados-eyebrow span { color: rgba(245,240,234,0.42); }

.simulados-title {
  max-width: 18ch;
  margin: 0 auto;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.8rem, 5.4vw, 5rem);
  font-weight: 300;
  line-height: 1.02;
  text-wrap: balance;
}

.simulados-lead {
  max-width: 62ch;
  margin: 2rem auto 0;
  font-size: clamp(0.95rem, 1.25vw, 1.06rem);
  line-height: 1.85;
  color: rgba(245,240,234,0.72);
}

.simulados-demo {
  width: 100%;
  max-width: 1120px;
  margin: clamp(3.75rem, 6vw, 5.5rem) auto 0;
}

.simulados-demo-frame {
  padding: clamp(0.45rem, 0.8vw, 0.65rem);
  border: 1px solid rgba(245,240,234,0.2);
  border-radius: 14px;
  background: rgba(26,26,26,0.24);
  box-shadow: 0 34px 80px rgba(30,5,12,0.34), 0 8px 24px rgba(30,5,12,0.22);
}

.simulados-demo-media {
  overflow: hidden;
  border: 1px solid rgba(245,240,234,0.07);
  border-radius: 9px;
  background: #541525;
}

.simulados-demo-video {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.simulados-features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1120px;
  margin: clamp(2.25rem, 3.5vw, 3.25rem) auto 0;
  list-style: none;
}

.simulados-features li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.35rem 1rem;
  font-size: 0.62rem;
  line-height: 1.55;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(245,240,234,0.7);
}

.simulados-features li + li { border-left: 1px solid rgba(245,240,234,0.16); }

@media (max-width: 768px) {
  .simulados-section { padding: clamp(4.5rem, 11vw, 5.625rem) 5vw; }
  .simulados-title { max-width: 17ch; font-size: clamp(2.55rem, 8.5vw, 3.8rem); }
  .simulados-lead { max-width: 56ch; line-height: 1.75; }
  .simulados-demo { margin-top: clamp(3rem, 8vw, 4rem); }
  .simulados-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .simulados-features li:nth-child(3) { border-left: 0; }
  .simulados-features li:nth-child(n + 3) { border-top: 1px solid rgba(245,240,234,0.16); }
}

@media (max-width: 420px) {
  .simulados-eyebrow { gap: 0.55rem; letter-spacing: 0.15em; }
  .simulados-title { max-width: 100%; font-size: clamp(2.4rem, 11.2vw, 2.75rem); }
  .simulados-lead { font-size: 0.91rem; }
  .simulados-demo-frame { border-radius: 10px; }
  .simulados-demo-media { border-radius: 6px; }
  .simulados-features li { padding-inline: 0.65rem; font-size: 0.56rem; letter-spacing: 0.11em; }
}

/* STEPS */
.steps-section { background: var(--pale); color: var(--graphite); }
.steps-section .tag { color: var(--wine); }
.steps-section .sec-title em { color: var(--wine); }

.steps {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 1180px;
}

.step {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1.35fr) minmax(16rem, 0.85fr);
  column-gap: clamp(2rem, 4vw, 4.5rem);
  align-items: start;
  padding: 2.75rem 0;
  border-bottom: 1px solid rgba(42,42,42,0.1);
}

.step-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.2rem;
  font-weight: 300;
  color: rgba(42,42,42,0.15);
  line-height: 1.1;
}

.step-main h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.4rem, 1.8vw, 1.7rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--graphite);
  margin-bottom: 0.75rem;
}

.step-main p {
  font-size: 0.88rem;
  line-height: 1.85;
  color: var(--mid);
  max-width: 60ch;
}

.step-note {
  font-style: italic;
  font-size: 0.86rem;
  color: var(--wine);
  line-height: 1.75;
  max-width: 38ch;
}

@media (min-width: 901px) {
  .step-note { padding-top: 0.2rem; }
}

@media (max-width: 900px) {
  .step {
    grid-template-columns: 3rem minmax(0, 1fr);
    column-gap: 1.75rem;
    row-gap: 1.25rem;
  }
  .step-note {
    grid-column: 2;
    max-width: 58ch;
  }
}

@media (max-width: 600px) {
  .steps { margin-top: 2.75rem; }
  .step {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
    padding: 2.5rem 0;
  }
  .step-num {
    margin-bottom: 1.25rem;
    font-size: 2rem;
  }
  .step-main h3 {
    font-size: 1.45rem;
    margin-bottom: 0.8rem;
  }
  .step-note {
    grid-column: 1;
    max-width: none;
    margin-top: 1.25rem;
    font-size: 0.86rem;
  }
}

/* ANCHORING */
.anchoring {
  background: var(--graphite);
  border-top: 1px solid rgba(245,240,234,0.07);
  padding: clamp(5rem, 9vw, 8rem) 5vw;
}

.anchoring-inner {
  max-width: 1160px;
  margin: 0 auto;
}

.anchoring-header { text-align: center; }

.anchoring-eyebrow,
.anchoring-label {
  font-size: 0.65rem;
  line-height: 1.4;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.anchoring-eyebrow { color: var(--gold); margin-bottom: 1.25rem; }

.anchoring-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.25rem, 4.6vw, 4rem);
  font-weight: 400;
  color: var(--cream);
  line-height: 1.08;
  max-width: 22ch;
  margin: 0 auto;
}

.anchoring-comparison {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(3.5rem, 7vw, 6rem);
}

.anchoring-item { padding: 0 clamp(1.6rem, 3.4vw, 3rem); }
.anchoring-item:first-child { padding-left: 0; }
.anchoring-item:last-child { padding-right: 0; }
.anchoring-item + .anchoring-item { border-left: 1px solid rgba(245,240,234,0.14); }
.anchoring-label { color: rgba(245,240,234,0.48); margin-bottom: 1rem; }
.anchoring-value {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.8rem, 5.2vw, 4.7rem);
  font-weight: 400;
  color: var(--gold);
  line-height: 0.95;
  white-space: nowrap;
}
.anchoring-item p {
  font-size: 0.94rem;
  color: rgba(245,240,234,0.62);
  line-height: 1.75;
  margin-top: 1.5rem;
  max-width: 32ch;
}

.anchoring-pieces {
  border-top: 1px solid rgba(245,240,234,0.14);
  margin-top: clamp(4rem, 8vw, 6.5rem);
  padding-top: clamp(3.5rem, 6vw, 5rem);
  text-align: center;
}
.anchoring-pieces-intro {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
  color: var(--cream);
  line-height: 1.25;
}
.anchoring-pieces-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.7rem 0;
  list-style: none;
  margin: 2.25rem auto;
  padding: 0;
}
.anchoring-pieces-list li {
  color: var(--gold);
  font-size: 0.73rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
}
.anchoring-pieces-list li:not(:last-child)::after {
  content: '·';
  color: rgba(245,240,234,0.3);
  margin: 0 1rem;
}
.anchoring-pieces-copy {
  max-width: 72ch;
  margin: 0 auto;
  color: rgba(245,240,234,0.6);
  font-size: 0.98rem;
  line-height: 1.8;
}
.anchoring-pieces-emphasis {
  max-width: 32ch;
  margin: 2rem auto 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.45rem, 2.8vw, 2.1rem);
  color: rgba(245,240,234,0.9);
  line-height: 1.35;
}

.anchoring-resolution {
  background: var(--wine);
  margin-top: clamp(3.5rem, 7vw, 5.5rem);
  padding: clamp(2.5rem, 5vw, 4.5rem);
  text-align: center;
}
.anchoring-resolution h3 {
  max-width: 23ch;
  margin: 0 auto;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3.3rem);
  font-weight: 400;
  color: var(--cream);
  line-height: 1.12;
}
.anchoring-resolution > p:not(.anchoring-resolution-close) {
  max-width: 76ch;
  margin: 1.6rem auto 0;
  color: rgba(245,240,234,0.72);
  font-size: 0.98rem;
  line-height: 1.8;
}
.anchoring-resolution-close {
  max-width: 28ch;
  margin: 2.25rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid rgba(245,240,234,0.2);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.65rem, 3.3vw, 2.5rem);
  font-style: italic;
  color: var(--cream);
  line-height: 1.25;
}

@media (max-width: 720px) {
  .anchoring { padding-right: 6vw; padding-left: 6vw; }
  .anchoring-title { font-size: clamp(2.15rem, 10vw, 3.15rem); max-width: 15ch; }
  .anchoring-comparison { grid-template-columns: 1fr; margin-top: 3.5rem; }
  .anchoring-item,
  .anchoring-item:first-child,
  .anchoring-item:last-child { padding: 2.25rem 0; }
  .anchoring-item:first-child { padding-top: 0; }
  .anchoring-item:last-child { padding-bottom: 0; }
  .anchoring-item + .anchoring-item { border-left: 0; border-top: 1px solid rgba(245,240,234,0.14); }
  .anchoring-value { font-size: clamp(3.15rem, 15vw, 4.6rem); }
  .anchoring-item p { max-width: 36ch; margin-top: 1.15rem; }
  .anchoring-pieces { margin-top: 4rem; padding-top: 3.5rem; }
  .anchoring-pieces-list { max-width: 29rem; gap: 0.75rem; }
  .anchoring-pieces-list li {
    border: 1px solid rgba(201,168,76,0.25);
    border-radius: 999px;
    padding: 0.55rem 0.8rem;
    font-size: 0.67rem;
  }
  .anchoring-pieces-list li:not(:last-child)::after { content: none; }
  .anchoring-resolution { margin-right: -1vw; margin-left: -1vw; padding: 2.75rem 1.5rem; }
}

/* DEPOIMENTOS EM VÍDEO */
.video-testimonials {
  background: var(--cream);
  color: var(--graphite);
  padding: clamp(6rem, 9vw, 9rem) 5vw clamp(6.5rem, 10vw, 10rem);
  overflow: hidden;
}
.video-testimonials-inner { max-width: 1320px; margin: 0 auto; }
.video-testimonials-header { max-width: 760px; margin: 0 auto clamp(3.5rem, 6vw, 5.5rem); text-align: center; }
.video-testimonials-header .tag { color: var(--wine); justify-content: center; margin-bottom: 1.25rem; }
.video-testimonials-header h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.7rem, 4.5vw, 4.25rem);
  font-weight: 300;
  letter-spacing: -0.025em;
  line-height: 1.02;
  text-wrap: balance;
}
.video-testimonials-header p { max-width: 52ch; margin: 1.4rem auto 0; color: rgba(42,42,42,0.68); font-size: clamp(0.95rem,1.3vw,1.05rem); line-height: 1.7; }
.video-testimonials-list { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(2.5rem,4.5vw,4.75rem) clamp(1.5rem,3vw,2.75rem); }
.video-testimonial-card { flex: 0 1 calc((100% - 5.5rem) / 3); max-width: 390px; min-width: 0; }
.video-testimonial-trigger { width: 100%; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.video-testimonial-media {
  display: block;
  position: relative;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border-radius: 3px;
  background: linear-gradient(145deg, var(--pale), #ded6cb);
  box-shadow: 0 18px 44px rgba(42,42,42,0.08);
  transition: transform 280ms ease, box-shadow 280ms ease;
}
.video-testimonial-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(42,42,42,0.18), transparent 42%); pointer-events: none; }
.video-testimonial-poster { display: block; width: 100%; height: 100%; object-fit: cover; }
.video-testimonial-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(42,42,42,0.34); }
.video-testimonial-placeholder::before { content: ''; width: 42%; aspect-ratio: 1; border: 1px solid rgba(122,31,52,0.16); border-radius: 50%; }
.video-testimonial-play {
  position: absolute; z-index: 2; inset: 50% auto auto 50%; transform: translate(-50%,-50%);
  width: clamp(3.5rem,5vw,4.5rem); aspect-ratio: 1; display: grid; place-items: center;
  border-radius: 50%; background: rgba(245,240,234,0.92); color: var(--wine);
  box-shadow: 0 8px 30px rgba(42,42,42,0.2); transition: transform 280ms ease, background 280ms ease;
}
.video-testimonial-play svg { width: 25%; margin-left: 5%; fill: currentColor; }
.video-testimonial-trigger:hover .video-testimonial-media { transform: translateY(-5px); box-shadow: 0 24px 48px rgba(42,42,42,0.13); }
.video-testimonial-trigger:hover .video-testimonial-play { transform: translate(-50%,-50%) scale(1.06); background: #fff; }
.video-testimonial-trigger:focus-visible { outline: 2px solid var(--wine); outline-offset: 7px; }
.video-testimonial-trigger[aria-disabled="true"] { cursor: default; }

.video-testimonial-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 1.25rem; }
.video-testimonial-modal[hidden] { display: none; }
.video-testimonial-backdrop { position: absolute; inset: 0; background: rgba(17,17,17,0.86); backdrop-filter: blur(5px); }
.video-testimonial-dialog { position: relative; z-index: 1; height: min(88svh, 900px); aspect-ratio: 9 / 16; max-width: calc(100vw - 2.5rem); }
.video-testimonial-player { width: 100%; height: 100%; overflow: hidden; background: #111; box-shadow: 0 28px 80px rgba(0,0,0,0.48); }
.video-testimonial-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.video-testimonial-close {
  position: absolute; z-index: 2; top: 0; left: calc(100% + 0.75rem); width: 2.75rem; height: 2.75rem;
  border: 1px solid rgba(245,240,234,0.4); border-radius: 50%; background: rgba(17,17,17,0.7); color: var(--cream);
  font: 300 2rem/1 'Jost',sans-serif; cursor: pointer;
}
.video-testimonial-close:focus-visible { outline: 2px solid var(--cream); outline-offset: 3px; }
body.video-modal-open { overflow: hidden; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 900px) {
  .video-testimonial-card { flex-basis: calc((100% - 2rem) / 2); max-width: 360px; }
}
@media (max-width: 600px) {
  .video-testimonials { padding-inline: 0; }
  .video-testimonials-header { padding-inline: 6vw; margin-bottom: 3rem; }
  .video-testimonials-header h2 { font-size: clamp(2.5rem,11vw,3.15rem); }
  .video-testimonials-list { justify-content: flex-start; flex-wrap: nowrap; gap: 1rem; overflow-x: auto; padding: 0 6vw 1.25rem; scroll-padding-inline: 6vw; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .video-testimonials-list::-webkit-scrollbar { display: none; }
  .video-testimonial-card { flex: 0 0 84vw; max-width: 360px; scroll-snap-align: start; }
  .video-testimonial-dialog { height: auto; width: min(86vw, calc(82svh * 9 / 16)); max-width: none; }
  .video-testimonial-close { top: -3.4rem; right: 0; left: auto; }
}

/* PRICE */
.price-section {
  background: #111;
  text-align: center;
  padding: 8rem 5vw;
  position: relative;
  overflow: hidden;
}

.price-deco {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(122,31,52,0.12) 0%, transparent 70%);
  pointer-events: none;
}

.price-section .tag { color: var(--gold); justify-content: center; }
.price-section .sec-title { color: var(--cream); }
.price-section .sec-title em { color: var(--gold); }

.price-box {
  display: inline-block;
  border: 1px solid rgba(245,240,234,0.12);
  padding: 3.5rem 5rem;
  margin: 3rem auto 2.5rem;
}

.price-amount {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3.5rem, 8vw, 6rem);
  font-weight: 300;
  color: var(--cream);
  line-height: 1;
  margin-bottom: 0.5rem;
}

.price-amount sup {
  font-size: 1.4rem;
  vertical-align: super;
  color: var(--gold);
}

.price-desc {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245,240,234,0.35);
}

.price-includes {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 480px;
  margin: 2.5rem auto 3.5rem;
  text-align: left;
}

.price-includes li {
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  font-size: 0.88rem;
  color: rgba(245,240,234,0.6);
  line-height: 1.6;
}

.price-includes li::before {
  content: '✦';
  color: var(--gold);
  font-size: 0.55rem;
  margin-top: 0.35rem;
  flex-shrink: 0;
}

.price-note {
  font-size: 0.72rem;
  color: rgba(245,240,234,0.3);
  margin-top: 1.5rem;
  letter-spacing: 0.08em;
}

/* FAQ */
.faq-section { background: var(--graphite); }
.faq-section .sec-title em { color: var(--gold); }

.faq-list {
  max-width: 680px;
  margin-top: 3rem;
}

.faq-item {
  border-bottom: 1px solid rgba(245,240,234,0.08);
  padding: 0;
}
.faq-section .faq-list > .faq-item:last-child { border-bottom: 0; }

.faq-item h3 { margin: 0; }
.faq-q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.8rem 0;
  border: 0;
  background: transparent;
  font-family: 'Jost', sans-serif;
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--cream);
  line-height: 1.55;
  text-align: left;
  cursor: pointer;
  user-select: none;
}

.faq-q::after {
  content: '+';
  color: var(--gold);
  font-size: 1.4rem;
  font-weight: 300;
  transition: transform 0.3s;
  flex-shrink: 0;
}

.faq-item.open .faq-q::after { transform: rotate(45deg); }
.faq-q:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }

.faq-a {
  overflow: hidden;
  padding: 0 0 1.8rem;
  font-size: 0.88rem;
  line-height: 1.9;
  color: rgba(245,240,234,0.68);
}
.faq-a[hidden] { display: none; }
.faq-a p + p { margin-top: 0.9rem; }
.faq-a strong { color: rgba(245,240,234,0.88); font-weight: 400; }

.faq-more { max-width: 680px; margin-top: 2.25rem; padding-top: 1.6rem; border-top: 1px solid rgba(201,168,76,0.2); }
.faq-more p { margin-bottom: 0.45rem; color: rgba(245,240,234,0.5); font-size: 0.82rem; }
.faq-more a { color: var(--gold); font-size: 0.78rem; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.faq-more a:hover { color: var(--cream); }
.faq-more a:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }

/* FINAL */
.final {
  background: var(--wine);
  text-align: center;
  padding: clamp(6.5rem, 9vw, 8.5rem) 5vw clamp(5.5rem, 7vw, 7rem);
  position: relative;
  overflow: hidden;
}

.final-content { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; }
.final .sec-title { color: var(--cream); font-size: clamp(3rem, 5.25vw, 5.1rem); line-height: 0.94; max-width: min(24ch, 100%); margin: 0 auto; text-wrap: balance; }
.final .sec-title span,
.final .sec-title em { display: block; }
.final .sec-title em { margin-top: 0.07em; color: var(--gold); }

.final .final-support {
  font-size: 1rem;
  color: rgba(245,240,234,0.65);
  max-width: 72ch;
  margin: 2rem auto 0;
  line-height: 1.8;
}

.final-applications { margin: 2.75rem auto 2rem; }
.final .final-applications-label { margin: 0; color: var(--gold); font-size: 0.66rem; font-weight: 500; letter-spacing: 0.2em; line-height: 1.5; text-transform: uppercase; }
.final .final-applications-note { max-width: 44ch; margin: 0.55rem auto 0; color: rgba(245,240,234,0.52); font-size: 0.78rem; line-height: 1.6; }

.btn-cream {
  background: var(--cream);
  color: var(--wine);
  text-decoration: none;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 500;
  width: fit-content;
  max-width: 100%;
  padding: 1.2rem 2.4rem;
  display: inline-block;
  line-height: 1.5;
  text-align: center;
  transition: background 0.3s, color 0.3s, transform 0.2s;
}
.btn-cream:hover { background: var(--graphite); color: var(--cream); transform: translateY(-2px); }
.btn-cream:focus-visible,
.cta-secondary:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }

footer {
  background: #111;
  padding: 2rem 5vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  color: rgba(245,240,234,0.25);
}
.footer-brand { justify-self: start; font-family: 'Cormorant Garamond', serif; font-size: 1rem; letter-spacing: normal; color: rgba(245,240,234,0.4); }
.footer-brand em { color: var(--gold); }
.footer-route { justify-self: center; letter-spacing: 0.14em; text-transform: uppercase; }
.footer-copyright { justify-self: end; text-align: right; }

.fade {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade.in { opacity: 1; transform: none; }
.fd1 { transition-delay: 0.1s; }
.fd2 { transition-delay: 0.22s; }
.fd3 { transition-delay: 0.36s; }

/* === URGENCY BAR === */
.urgency-bar {
  min-height: 24px;
  background: #521020;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5vw;
  font-size: 0.58rem;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
  color: rgba(245,240,234,0.72);
}

/* === IMAGENS DECORATIVAS (monumentos italianos) ===
   Efeito: foto integrada ao design como elemento visual presente,
   usando opacidade direta alta (35-45%) e cores ligeiramente dessaturadas.
   Para trocar as imagens, substituir apenas a URL dentro do url('...').    */

/* ─── Canal de Veneza · Bolsa ───────────────────────── */
.venice-deco {
  position: absolute;
  right: 0; top: 0;
  width: 54%; height: 100%;
  background-image: url('https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Venice_Grand_Canal_September_2004.jpg/1280px-Venice_Grand_Canal_September_2004.jpg');
  background-size: cover;
  background-position: center 35%;
  opacity: 0.35;
  filter: saturate(0.6) brightness(0.9) contrast(1.0);
  mask-image: linear-gradient(to right,
    transparent 0%, rgba(0,0,0,0.15) 15%,
    rgba(0,0,0,0.8) 38%, rgba(0,0,0,1) 100%);
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%, rgba(0,0,0,0.15) 15%,
    rgba(0,0,0,0.8) 38%, rgba(0,0,0,1) 100%);
  pointer-events: none;
  z-index: 0;
}
.bolsa > .bolsa-inner { position: relative; z-index: 1; }

/* ─── Basílica de São Pedro · CTA Final (fundo vinho) ── */
.basilica-deco {
  position: absolute;
  inset: 0;
  background-image: url('https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/Basilica_di_San_Pietro_in_Vaticano_September_2015-1.jpg/1280px-Basilica_di_San_Pietro_in_Vaticano_September_2015-1.jpg');
  background-size: cover;
  background-position: center 40%;
  opacity: 0.55;
  filter: saturate(0.5) brightness(1.8) contrast(0.95);
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 0;
}
/* === HERO URGENCY NOTE === */
.hero-urgency {
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245,240,234,0.32);
  margin-top: -1.8rem;
}
.hero-urgency strong { color: var(--gold); font-weight: 400; }

/* SCROLL OFFSET PARA NAV FIXO */
#por-que-a-italia { scroll-margin-top: 96px; }
#bolsa { scroll-margin-top: 96px; }
#mentoria { scroll-margin-top: 96px; }

/* ====== MOD 1 · PRÉVIA DO GUIA ====== */
.guia-preview { padding-top:6.25rem; padding-bottom:7rem; background:radial-gradient(circle at 84% 22%,rgba(122,31,52,0.16),transparent 32%),#171717; position:relative; overflow:hidden; border-top:1px solid rgba(245,240,234,0.07); }
.guia-preview::after { content:''; position:absolute; inset:0; pointer-events:none; opacity:0.22; background-image:linear-gradient(rgba(245,240,234,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(245,240,234,0.025) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom,transparent,black 28%,black 82%,transparent); }
.guia-inner { max-width:1400px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(350px,0.88fr); gap:clamp(4rem,8vw,8rem); align-items:center; position:relative; z-index:2; }
.guia-text .tag { margin-bottom:1.35rem; }
.guia-text .sec-title { max-width:22ch; color:var(--cream); font-size:clamp(2.4rem,3.5vw,3.35rem); line-height:1.06; margin-bottom:1.4rem; }
.guia-text .sec-title em { color:var(--gold); }
.guia-lead { max-width:46ch; margin-bottom:0.9rem; color:rgba(245,240,234,0.9); font-size:clamp(1rem,1.35vw,1.1rem); line-height:1.65; }
.guia-body { font-size:0.92rem; line-height:1.8; color:rgba(245,240,234,0.58); margin-bottom:1.85rem; max-width:52ch; }
.guia-feats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border-top:1px solid rgba(245,240,234,0.1); }
.guia-feats li { list-style:none; position:relative; display:flex; flex-direction:column; gap:0.18rem; padding:0.9rem 0.8rem 0.9rem 1.1rem; border-bottom:1px solid rgba(245,240,234,0.1); font-size:0.78rem; line-height:1.45; }
.guia-feats li:nth-child(odd) { padding-left:0; border-right:1px solid rgba(245,240,234,0.1); }
.guia-feats strong { color:rgba(245,240,234,0.88); font-weight:400; }
.guia-feats span { color:rgba(245,240,234,0.44); }
.guia-feats li::before { content:''; position:absolute; left:0; top:1.25rem; width:3px; height:3px; border-radius:50%; background:var(--gold); }
.guia-feats li:nth-child(odd)::before { display:none; }
.guia-stage { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:510px; }
.guia-stack-card { position:absolute; border-radius:16px; background:#e7e1d8; box-shadow:0 18px 45px rgba(0,0,0,0.5); }
.guia-card-b1 { width:280px; height:373px; transform:rotate(-6deg) translate(-30px,16px); opacity:0.32; }
.guia-card-b2 { width:280px; height:373px; transform:rotate(4.5deg) translate(28px,8px); opacity:0.45; }
@media (max-width:540px){ .guia-card-b1{ transform:rotate(-6deg) translate(-18px,14px); } .guia-card-b2{ transform:rotate(4.5deg) translate(16px,8px); } }
.tablet { position:relative; z-index:2; width:320px; max-width:82vw; border-radius:22px; padding:13px; background:linear-gradient(160deg,#3c3c3c,#1e1e1e); box-shadow:0 32px 70px rgba(0,0,0,0.6), inset 0 0 0 1px rgba(245,240,234,0.08); }
.tablet-screen { position:relative; border-radius:9px; overflow:hidden; aspect-ratio:3/4; background:#ece7df; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.18); }
.tablet-scroll { display:flex; flex-direction:column; animation:guiaScroll 32s linear infinite; }
.tablet-scroll img { width:100%; display:block; }
.tablet:hover .tablet-scroll { animation-play-state:paused; }
@keyframes guiaScroll { from{ transform:translateY(0); } to{ transform:translateY(-50%); } }
.tablet-glare { position:absolute; inset:0; pointer-events:none; z-index:3; border-radius:9px; background:linear-gradient(118deg, rgba(255,255,255,0.13) 0%, rgba(255,255,255,0) 32%); }
.tablet-label { position:absolute; bottom:0; text-align:center; font-size:0.6rem; letter-spacing:0.22em; text-transform:uppercase; color:rgba(245,240,234,0.35); }
.tablet-label strong { color:var(--gold); font-weight:400; }
.guia-route { position:absolute; inset:0; pointer-events:none; }
.guia-route svg { position:absolute; z-index:1; width:100%; height:100%; overflow:visible; }
.guia-route-contour { fill:none; stroke:rgba(245,240,234,0.075); stroke-width:1.2; vector-effect:non-scaling-stroke; }
.guia-route-line { fill:none; stroke:rgba(201,168,76,0.24); stroke-width:1.1; stroke-dasharray:0.007 0.015; vector-effect:non-scaling-stroke; }
.guia-route-point { position:absolute; z-index:3; display:flex; align-items:center; gap:0.6rem; color:rgba(245,240,234,0.36); font-size:0.57rem; letter-spacing:0.22em; text-transform:uppercase; }
.guia-route-point i { width:8px; height:8px; border:1px solid rgba(201,168,76,0.6); border-radius:50%; box-shadow:0 0 0 5px rgba(201,168,76,0.06); }
.guia-route-start { left:6.5%; bottom:5.5%; color:rgba(245,240,234,0.58); }
.guia-route-end { left:auto; right:7.5%; top:11.5%; }
.guia-route-start i { border-color:rgba(201,168,76,0.85); background:rgba(201,168,76,0.12); box-shadow:0 0 0 6px rgba(201,168,76,0.09); }
@media (max-width:860px) {
  .guia-preview { padding-top:6rem; padding-bottom:6rem; }
  .guia-inner { grid-template-columns:1fr; gap:3rem; }
  .guia-text { max-width:680px; }
  .guia-stage { min-height:520px; }
  .guia-route { opacity:0.55; }
  .guia-route svg { top:47%; height:53%; }
  .guia-route-start { left:6%; bottom:5%; }
  .guia-route-end { left:auto; right:7%; top:56%; }
}
@media (max-width:540px) {
  .guia-preview { padding:5rem 6vw; }
  .guia-feats { grid-template-columns:1fr; }
  .guia-feats li,.guia-feats li:nth-child(odd) { padding:0.8rem 0 0.8rem 1rem; border-right:0; }
  .guia-feats li:nth-child(odd)::before { display:block; }
  .guia-stage { min-height:475px; }
  .tablet-label { bottom:0.5rem; }
  .guia-route-start { left:5%; bottom:2%; }
  .guia-route-end { right:5%; top:56%; }
}

/* ====== MOD 2b · ENTREGAS E INVESTIMENTO ====== */
.value-stack { background:#111; text-align:center; position:relative; overflow:hidden; padding-top:clamp(6rem,8vw,7.5rem); padding-bottom:clamp(6rem,8vw,7.5rem); }
.value-deco { position:absolute; inset:0; background:radial-gradient(ellipse 60% 50% at 50% 38%, rgba(122,31,52,0.13) 0%, transparent 70%); pointer-events:none; }
.value-stack > *:not(.value-deco){ position:relative; z-index:1; }
.value-stack .tag { color:var(--gold); justify-content:center; }
.value-stack .sec-title { color:var(--cream); margin-left:auto; margin-right:auto; }
.value-stack .sec-title em { color:var(--gold); }
.value-title { max-width:25ch; line-height:1.04; }
.value-title span,.value-title em { display:block; }
.value-title em { margin-top:0.08em; }
.value-list { max-width:960px; margin:clamp(2.75rem,4.5vw,4rem) auto 0; }
.value-items { list-style:none; }
.value-primary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0.85rem; }
.value-item { min-height:5.4rem; display:flex; align-items:center; padding:1.35rem clamp(1.3rem,2.4vw,2rem); border:1px solid rgba(245,240,234,0.095); background:rgba(245,240,234,0.022); color:rgba(245,240,234,0.8); font-size:clamp(0.9rem,1.15vw,1rem); line-height:1.5; text-align:left; }
.value-life { margin-top:clamp(2.75rem,4.5vw,3.75rem); padding-top:clamp(2rem,3.5vw,2.75rem); border-top:1px solid rgba(201,168,76,0.24); }
.value-life-title { font-family:'Cormorant Garamond',serif; font-size:clamp(1.55rem,2.6vw,2rem); font-weight:300; font-style:italic; color:var(--gold); line-height:1.2; }
.value-life-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0.75rem; margin-top:1.5rem; }
.value-life .value-item { min-height:6.25rem; justify-content:center; padding:1.25rem; color:rgba(245,240,234,0.68); font-size:0.86rem; text-align:center; }
.value-bridge { max-width:610px; margin:clamp(3rem,5vw,4rem) auto 0; padding-top:1.35rem; position:relative; }
.value-bridge::before { content:""; position:absolute; top:0; left:50%; width:2rem; height:1px; background:rgba(201,168,76,0.65); transform:translateX(-50%); }
.value-bridge h3 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.65rem,3vw,2.25rem); font-weight:300; color:var(--cream); line-height:1.2; }
.value-bridge p { margin-top:0.65rem; color:rgba(245,240,234,0.55); font-size:0.9rem; line-height:1.65; }

/* ====== MOD 3 · APLICAÇÃO ====== */
.call-section {
  position:relative;
  overflow:hidden;
  padding:clamp(5.5rem,7vw,7rem) 5vw clamp(5.75rem,7.5vw,7.5rem);
  background:
    radial-gradient(ellipse 70% 45% at 50% 0%, rgba(201,168,76,0.08), transparent 72%),
    var(--cream);
  color:var(--graphite);
  text-align:center;
}
.call-inner { max-width:1180px; margin:0 auto; }
.call-eyebrow {
  margin-bottom:clamp(1.25rem,2vw,1.6rem);
  color:var(--wine);
  font-size:0.65rem;
  font-weight:400;
  letter-spacing:0.24em;
  line-height:1.5;
  text-transform:uppercase;
}
.call-title {
  max-width:23ch;
  margin:0 auto;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.75rem,5vw,4.7rem);
  font-weight:300;
  letter-spacing:-0.025em;
  line-height:1.02;
  text-wrap:balance;
}
.call-title em { color:var(--wine); font-style:italic; }
.call-intro {
  max-width:82ch;
  margin:clamp(1.5rem,2.5vw,2rem) auto 0;
  color:rgba(42,42,42,0.72);
  font-size:clamp(0.95rem,1.25vw,1.05rem);
  line-height:1.75;
  text-wrap:pretty;
}
.application-steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:1180px;
  margin:clamp(3.25rem,5vw,4.5rem) auto 0;
  list-style:none;
  text-align:left;
}
.application-step { position:relative; padding:0 clamp(1.5rem,2.2vw,2.25rem); }
.application-step:first-child { padding-left:0; }
.application-step:last-child { padding-right:0; }
.application-step + .application-step { border-left:1px solid rgba(122,31,52,0.16); }
.application-step-number {
  display:block;
  margin-bottom:0.9rem;
  color:var(--wine);
  font-family:'Cormorant Garamond',serif;
  font-size:1.35rem;
  font-style:italic;
  line-height:1;
}
.application-step h3 {
  margin-bottom:0.65rem;
  color:var(--graphite);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.35rem,2vw,1.65rem);
  font-weight:500;
  line-height:1.15;
}
.application-step p { color:rgba(42,42,42,0.64); font-size:0.88rem; line-height:1.65; }
.call-action { margin-top:clamp(3.25rem,5vw,4.25rem); }
.call-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:3.55rem;
  padding:1rem clamp(1.5rem,3vw,2.35rem);
  background:var(--wine);
  color:var(--cream);
  font-size:0.7rem;
  font-weight:400;
  letter-spacing:0.13em;
  line-height:1.45;
  text-decoration:none;
  text-transform:uppercase;
  transition:background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.call-cta:hover { background:#64182a; color:#fff9f1; transform:translateY(-2px); }
.call-cta:focus-visible { outline:2px solid var(--wine); outline-offset:4px; }
.call-microcopy { margin-top:1rem; color:rgba(42,42,42,0.55); font-size:0.78rem; line-height:1.6; }
#interesse { scroll-margin-top:96px; }

@media (max-width:760px) {
  .call-section { padding:4.75rem 6vw 5rem; }
  .call-title { max-width:17ch; font-size:clamp(2.55rem,10.5vw,3.4rem); line-height:1.05; }
  .call-intro { max-width:38rem; line-height:1.7; }
  .application-steps { grid-template-columns:1fr; max-width:34rem; margin-top:3rem; }
  .application-step,
  .application-step:first-child,
  .application-step:last-child { padding:0 0 1.8rem 3.25rem; }
  .application-step:last-child { padding-bottom:0; }
  .application-step + .application-step { padding-top:1.8rem; border-top:1px solid rgba(122,31,52,0.14); border-left:0; }
  .application-step-number { position:absolute; top:0; left:0; }
  .application-step + .application-step .application-step-number { top:1.8rem; }
  .call-action { margin-top:3.25rem; }
}

@media (max-width:480px) {
  .call-section { padding-top:4.25rem; padding-bottom:4.5rem; }
  .call-eyebrow { max-width:28ch; margin-left:auto; margin-right:auto; }
  .call-intro { font-size:0.93rem; }
  .application-step h3 { font-size:1.45rem; }
  .call-cta { width:100%; padding-left:1rem; padding-right:1rem; font-size:0.66rem; letter-spacing:0.1em; }
  .call-microcopy { max-width:34ch; margin-left:auto; margin-right:auto; }
}

/* ====== MOD 4 · REVELAÇÃO DE PREÇO ====== */
.price-reveal { max-width:640px; margin:clamp(1.75rem,3vw,2.25rem) auto 0; padding:clamp(1.9rem,3vw,2.25rem) clamp(1.75rem,4vw,2.5rem) clamp(1.85rem,3vw,2.15rem); border:1px solid rgba(201,168,76,0.3); background:linear-gradient(145deg,rgba(42,16,22,0.5) 0%,rgba(20,17,18,0.82) 58%,rgba(17,17,17,0.96) 100%); }
.price-reveal-label { display:flex; justify-content:center; align-items:center; gap:0.8rem; margin-bottom:0.55rem; color:rgba(201,168,76,0.88); font-size:0.62rem; letter-spacing:0.19em; line-height:1.4; text-transform:uppercase; }
.price-reveal-label::before,.price-reveal-label::after { content:""; width:1.4rem; height:1px; background:rgba(201,168,76,0.38); flex:0 0 auto; }
.price-reveal-copy { margin:0 auto 1rem; color:rgba(245,240,234,0.65); font-size:0.84rem; line-height:1.5; white-space:nowrap; }
.price-reveal-installments { margin-bottom:0.1rem; color:rgba(245,240,234,0.55); font-size:0.78rem; letter-spacing:0.06em; line-height:1.3; }
.price-reveal-amount { display:flex; justify-content:center; align-items:baseline; gap:0.28em; color:var(--cream); font-family:'Jost',sans-serif; line-height:1; white-space:nowrap; }
.price-reveal-currency { color:var(--gold); font-size:clamp(1rem,1.8vw,1.3rem); font-weight:400; }
.price-reveal-value { font-size:clamp(3rem,5.2vw,3.9rem); font-weight:400; letter-spacing:-0.035em; }
.price-reveal-sub { margin-top:0.45rem; color:rgba(245,240,234,0.56); font-size:0.84rem; letter-spacing:0.025em; }

/* CTAs abaixo do preço revelado */
.price-cta-block { max-width:640px; margin:1rem auto 0; display:flex; flex-direction:column; align-items:center; gap:1.05rem; }
.price-cta-block .btn-gold { width:min(78%,490px); text-align:center; padding:1.15rem 1.75rem; line-height:1.5; }
.price-cta-sub { font-size:0.8rem; letter-spacing:0.035em; color:rgba(245,240,234,0.6); text-align:center; line-height:1.7; }
.price-cta-sub a { color:rgba(245,240,234,0.78); text-decoration:none; border-bottom:1px solid rgba(245,240,234,0.34); padding-bottom:2px; transition:color 0.3s, border-color 0.3s; }
.price-cta-sub a:hover { color:var(--gold); border-color:var(--gold); }

@media (max-width:900px) {
  .value-stack { padding-top:5.5rem; padding-bottom:5.5rem; }
  .value-title { max-width:18ch; }
  .value-list { max-width:760px; }
  .value-item { padding-left:1.3rem; padding-right:1.3rem; }
  .value-life .value-item { padding-left:0.9rem; padding-right:0.9rem; }
}

@media (max-width:680px) {
  .value-primary-grid { grid-template-columns:1fr; gap:0.65rem; }
  .value-item { min-height:0; }
  .value-life-grid { grid-template-columns:1fr; gap:0.55rem; }
  .value-life .value-item { min-height:0; justify-content:flex-start; text-align:left; }
}

@media (max-width:540px) {
  .value-stack { padding:4.75rem 6vw 5rem; }
  .value-stack .tag { margin-bottom:1.15rem; }
  .value-title { max-width:14ch; font-size:clamp(2.05rem,10vw,2.7rem); line-height:1.06; }
  .value-title em { margin-top:0.12em; }
  .value-list { margin-top:2.4rem; }
  .value-item { padding:1.05rem 1rem; font-size:0.88rem; line-height:1.55; }
  .value-life { margin-top:2.4rem; padding-top:1.8rem; }
  .value-life-title { font-size:1.55rem; }
  .value-life-grid { margin-top:1.15rem; }
  .value-life .value-item { padding:0.95rem 1rem; }
  .value-bridge { margin-top:2.65rem; padding-left:0.4rem; padding-right:0.4rem; }
  .value-bridge h3 { font-size:1.75rem; }
  .value-bridge p { font-size:0.84rem; }
  .price-reveal { margin-top:1.6rem; padding:1.8rem 1rem 1.75rem; }
  .price-reveal-label { gap:0.55rem; font-size:0.56rem; letter-spacing:0.13em; }
  .price-reveal-label::before,.price-reveal-label::after { width:0.75rem; }
  .price-reveal-copy { max-width:34ch; margin-bottom:0.9rem; font-size:0.8rem; white-space:normal; }
  .price-reveal-installments { font-size:0.74rem; }
  .price-reveal-currency { font-size:clamp(0.95rem,4.5vw,1.1rem); }
  .price-reveal-value { font-size:clamp(2.75rem,13.5vw,3.3rem); }
  .price-reveal-sub { margin-top:0.4rem; font-size:0.81rem; line-height:1.5; }
  .price-cta-block { margin-top:0.9rem; }
  .price-cta-block .btn-gold { width:100%; padding:1.1rem 0.9rem; font-size:0.65rem; letter-spacing:0.13em; }
  .price-cta-sub { font-size:0.76rem; }
}

/* dupla CTA na seção de decisão */
.cta-stack { display:flex; flex-direction:column; align-items:center; gap:1.3rem; }
.cta-secondary { font-size:0.82rem; line-height:1.6; letter-spacing:0.04em; color:rgba(245,240,234,0.52); text-decoration:none; transition:color 0.3s; }
.cta-secondary:hover { color:var(--gold); border-color:var(--gold); }
.cta-secondary strong { color:var(--gold); font-weight:400; border-bottom:1px solid rgba(201,168,76,0.42); padding-bottom:3px; transition:border-color 0.3s; }
.cta-secondary:hover strong { border-color:var(--gold); }

@media (max-width: 768px) {
  .final { padding: 5.75rem 6vw 5rem; }
  .final .sec-title { max-width: 20ch; font-size: clamp(2.8rem, 8.5vw, 4rem); line-height: 0.96; }
  .final .final-support { max-width: 58ch; margin-top: 1.75rem; }
  footer { grid-template-columns: 1fr; gap: 0.55rem; padding: 1.6rem 6vw; text-align: center; }
  .footer-brand,
  .footer-route,
  .footer-copyright { justify-self: center; text-align: center; }
}

@media (max-width: 480px) {
  .final { padding: 4.75rem 5vw 4.25rem; }
  .final .sec-title { max-width: 100%; font-size: clamp(2.5rem, 11vw, 3.1rem); line-height: 0.98; }
  .final .sec-title em { margin-top: 0.1em; }
  .final .final-support { margin-top: 1.6rem; font-size: 0.93rem; line-height: 1.72; }
  .final-applications { margin-top: 2.35rem; margin-bottom: 1.75rem; }
  .final .final-applications-note { max-width: 34ch; }
  .btn-cream { width: min(100%, 25rem); padding: 1.1rem 1.25rem; font-size: 0.68rem; letter-spacing: 0.14em; }
  .cta-secondary { max-width: 31ch; font-size: 0.78rem; }
  .cta-secondary span,
  .cta-secondary strong { display: block; }
  .cta-secondary strong { width: fit-content; margin: 0.12rem auto 0; }
  footer { padding-top: 1.4rem; padding-bottom: 1.4rem; font-size: 0.62rem; }
}

@media (prefers-reduced-motion: reduce) {
  .why-carousel-track { transition: none; }
  .why-slide { transition: none; }
  .tablet-scroll { animation-play-state:paused; }
  .video-testimonial-media,
  .video-testimonial-play { transition: none; }
  .video-testimonial-trigger:hover .video-testimonial-media { transform: none; }
  .video-testimonial-trigger:hover .video-testimonial-play { transform: translate(-50%,-50%); }
}
