.text-link{
  display:inline-flex;
  margin-top:16px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.steps-grid,
.plans-grid,
.results-grid,
.mentor-cards{
  align-items:start;
}

.overview-video-section{
  background:var(--dvm-dark);
  color:#fff;
}

.results-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.overview-video{
  margin-top:28px;
  max-width:760px;
}

.overview-video--early{
  max-width:960px;
  margin:0 auto;
}

.overview-video-card{
  padding:18px;
  border:1px solid rgba(255,255,255,.22);
  background:transparent;
  color:#fff;
  box-shadow:none;
}

.overview-video-section .text-link{
  color:var(--dvm-yellow);
}

.overview-video-section .inline-cta{
  margin-top:28px;
}

.overview-copy-panel{
  background:#fff;
  box-shadow:0 18px 42px rgba(23,23,21,.08);
}

.pillar-card{
  gap:10px;
}

.pillar-card strong{
  display:block;
  margin-bottom:4px;
  text-transform:uppercase;
}

.pillar-card span{
  font-weight:600;
  line-height:1.6;
}

.mentoria-plan{
  position:relative;
  min-height:unset;
}

.mentoria-plan--featured{
  border-color:rgba(241,196,48,.8);
  box-shadow:0 18px 42px rgba(241,196,48,.14);
}

.plan-tag{
  position:absolute;
  top:16px;
  right:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:var(--dvm-yellow);
  color:var(--dvm-dark);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.plan-eyebrow{
  color:var(--dvm-gray);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.plan-list{
  list-style:none;
  display:grid;
  gap:10px;
  margin-top:18px;
}

.plan-list li{
  position:relative;
  padding-left:18px;
  color:#383732;
  font-size:14px;
  line-height:1.55;
  font-weight:600;
}

.plan-list li:before{
  content:'';
  position:absolute;
  left:0;
  top:8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--dvm-yellow);
}

.plan-notes{
  display:grid;
  gap:10px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(0,0,0,.08);
}

.plan-notes p{
  color:#55524b;
  font-size:13px;
  line-height:1.55;
}

.plan-price{
  display:block;
  margin-top:22px;
  margin-bottom:16px;
  color:var(--dvm-dark);
  font-size:30px;
  line-height:1.08;
  font-weight:900;
}

.btn--ghost-dark{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.22);
}

.btn--ghost-dark:hover{
  border-color:var(--dvm-yellow);
}

.result-card{
  display:block;
  width:100%;
  min-height:unset;
  padding:0;
  text-align:left;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:0;
  border-radius:var(--radius);
  box-shadow:none;
  overflow:hidden;
}

.result-card:hover{
  transform:translateY(-3px);
  border-color:transparent;
  box-shadow:none;
}

.result-thumb{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  margin:0;
  overflow:hidden;
  border-radius:var(--radius);
  background:#111;
  outline:1px solid rgba(255,255,255,.12);
}

.result-thumb.is-image-missing{
  background:
    linear-gradient(135deg, rgba(241,196,48,.22), rgba(241,196,48,0) 48%),
    #111;
}

.result-thumb.is-image-missing:before{
  content:'Miniatura indisponível';
  position:absolute;
  inset:auto 18px 18px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  color:#f7f1d4;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:rgba(0,0,0,.24);
}

.result-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .22s ease, opacity .22s ease;
}

.result-card:hover .result-thumb img{
  transform:scale(1.03);
  opacity:.9;
}

.result-play-badge{
  position:absolute;
  left:50%;
  top:50%;
  width:56px;
  height:56px;
  margin-left:-28px;
  margin-top:-28px;
  border-radius:14px;
  background:rgba(241,196,48,.96);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}

.result-play-badge:before{
  content:'';
  position:absolute;
  left:23px;
  top:17px;
  width:0;
  height:0;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  border-left:17px solid #fff;
}

.support-grid{
  grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);
  align-items:start;
  gap:56px;
}

.support-section{
  background:var(--dvm-yellow);
}

.support-disclosure{
  border:1px solid rgba(0,0,0,.14);
  border-radius:calc(var(--radius) * 1.5);
  background:#fff;
  box-shadow:0 18px 42px rgba(23,23,21,.08);
  overflow:hidden;
}

.support-disclosure__summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:28px 32px;
  background:#fff;
}

.support-disclosure__summary::-webkit-details-marker{
  display:none;
}

.support-disclosure__title{
  font-size:clamp(28px,4vw,54px);
  line-height:1.02;
  font-weight:900;
  text-transform:uppercase;
  color:var(--dvm-dark);
}

.support-disclosure__hint{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  color:var(--dvm-gray);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}

.support-disclosure__content{
  display:grid;
  gap:34px;
  padding:0 32px 32px;
  background:#fff;
}

.support-content-title{
  max-width:8.6ch;
  font-size:clamp(32px,4.2vw,58px);
  line-height:.92;
}

.support-copy{
  margin-top:18px;
}

.support-panel{
  position:relative;
  z-index:2;
  background:var(--dvm-dark);
  box-shadow:0 18px 42px rgba(23,23,21,.08);
}

.support-panel__kicker{
  color:#fff;
  margin-bottom:14px;
}

.support-panel h3{
  color:#fff;
  font-size:34px;
  font-weight:900;
  text-transform:uppercase;
}

.support-panel p{
  margin-top:16px;
  color:#f3efe4;
  font-size:16px;
  line-height:1.7;
}

.support-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:30px;
}

.support-item{
  min-height:136px;
  border-color:rgba(255,255,255,.08);
  background:var(--dvm-dark);
  box-shadow:0 18px 42px rgba(23,23,21,.12);
}

.support-item span{
  color:#fff;
  font-weight:800;
}

.challenge-intro{
  font-size:18px;
  line-height:1.7;
  font-weight:800;
}

.challenge-lead{
  font-size:18px;
  line-height:1.7;
}

.challenge-list{
  list-style:none;
  display:grid;
  gap:12px;
  margin-top:24px;
}

.challenge-item{
  padding:16px 18px;
  border-radius:var(--radius);
  background:#fff;
  color:#24231f;
  font-size:16px;
  line-height:1.6;
  font-weight:600;
}

.mentor-section{
  background:transparent;
}

.mentor-disclosure{
  border:1px solid var(--dvm-line);
  border-radius:calc(var(--radius) * 1.5);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.mentor-disclosure[open]{
  background:#fff;
}

.mentor-disclosure__summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:28px 32px;
}

.mentor-disclosure__summary::-webkit-details-marker{
  display:none;
}

.mentor-disclosure__title{
  font-size:clamp(28px,4vw,54px);
  line-height:1.02;
  font-weight:900;
  text-transform:uppercase;
  color:var(--dvm-dark);
}

.mentor-disclosure__hint{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  color:var(--dvm-gray);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}

.mentor-disclosure__content{
  display:grid;
  gap:34px;
  padding:0 32px 32px;
}

.mentor-disclosure__copy{
  max-width:920px;
}

.mentor-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:26px;
  align-items:start;
}

.mentor-name{
  color:var(--dvm-dark);
  font-size:clamp(28px,3vw,42px);
  line-height:1.05;
  font-weight:900;
  margin-bottom:18px;
}

.mentor-video-panel{
  border-radius:calc(var(--radius) * 1.5);
  background:var(--dvm-dark);
  color:#fff;
  padding:28px;
  box-shadow:0 18px 42px rgba(23,23,21,.14);
}

.mentor-video-panel h3{
  color:#fff;
  font-size:clamp(28px,3vw,40px);
  line-height:1.04;
  font-weight:900;
  text-transform:uppercase;
}

.mentor-video-panel p{
  margin-top:16px;
  color:#e9e4d5;
  font-size:16px;
  line-height:1.7;
}

.mentor-video-frame{
  margin-top:24px;
}

.mentor-video-link{
  margin-top:18px;
  color:var(--dvm-yellow);
}

.films-history-section{
  background:var(--dvm-dark);
  overflow:hidden;
}

.films-history-header{
  margin-bottom:28px;
}

.films-history-title{
  margin:0 auto;
  max-width:1020px;
  color:#fff;
  text-align:center;
  font-size:clamp(34px,4.2vw,58px);
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}

.postersCarousel{
  position:relative;
  max-width:980px;
  margin:0 auto;
}

.postersCarousel::before,
.postersCarousel::after{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  width:28px;
  pointer-events:none;
  z-index:2;
}

.postersCarousel::before{
  left:0;
  background:linear-gradient(90deg,var(--dvm-dark),rgba(0,0,0,0));
}

.postersCarousel::after{
  right:0;
  background:linear-gradient(270deg,var(--dvm-dark),rgba(0,0,0,0));
}

.postersViewport{
  overflow:hidden;
  width:100%;
  touch-action:pan-y;
  overscroll-behavior-x:contain;
}

.posters{
  display:flex;
  gap:12px;
  align-items:stretch;
  will-change:transform;
  user-select:none;
  cursor:grab;
}

.posters.dragging{
  cursor:grabbing;
}

.poster{
  flex:0 0 calc((100% - 36px) / 4);
  max-width:none;
}

.poster-button{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}

.poster img{
  display:block;
  width:100%;
  height:auto;
  border-radius:6px;
  transition:transform .2s ease;
}

.poster-button:hover img{
  transform:scale(1.05);
}

.postersNav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:56px;
  height:56px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.45);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  line-height:1;
  box-shadow:0 4px 16px rgba(0,0,0,.35);
  z-index:3;
}

.postersNav:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.35);
}

.postersNav.prev{
  left:-16px;
}

.postersNav.next{
  right:-16px;
}

.faq-panel{
  display:grid;
  gap:18px;
}

.faq-grid{
  gap:82px;
}

.faq-grid .section-title{
  max-width:440px;
}

.faq-list{
  display:grid;
  gap:12px;
}

.faq-item{
  border:1px solid rgba(0,0,0,.12);
  border-radius:var(--radius);
  background:var(--dvm-yellow);
  padding:0 18px;
}

.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:20px 0;
  color:var(--dvm-ink);
  font-size:15px;
  line-height:1.5;
  font-weight:800;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}

.faq-item p{
  padding:0 0 20px;
  color:#3d392f;
  font-size:14px;
  line-height:1.7;
}

.results-header{
  margin-top:0;
}

.inline-cta{
  margin-top:34px;
  display:grid;
  gap:16px;
  justify-items:flex-start;
}

.inline-cta--center{
  justify-items:center;
  text-align:center;
}

.inline-cta__title{
  max-width:760px;
  color:var(--dvm-dark);
  font-size:clamp(28px,4vw,46px);
  line-height:1.05;
  font-weight:900;
}

.inline-cta--light .inline-cta__title{
  color:#fff;
}

.inline-cta--light .btn{
  background:var(--dvm-yellow);
  border-color:var(--dvm-yellow);
  color:var(--dvm-dark);
}

.inline-cta--light .btn:hover{
  background:#fff;
  border-color:#fff;
  color:var(--dvm-dark);
}

.video-modal{
  position:fixed;
  inset:0;
  z-index:60;
  display:grid;
  place-items:center;
  padding:28px;
}

.video-modal[hidden]{
  display:none;
}

.video-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
}

.video-modal__dialog{
  position:relative;
  z-index:1;
  width:min(980px,100%);
  border-radius:calc(var(--radius) * 2);
  background:#0f0f0f;
  color:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.36);
  padding:22px;
}

.video-modal__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.video-modal__top h3{
  color:#fff;
  font-size:18px;
  font-weight:900;
  text-transform:uppercase;
}

.video-modal__close{
  border:0;
  background:transparent;
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}

.video-modal__frame{
  position:relative;
  overflow:hidden;
  padding-top:56.25%;
  border-radius:var(--radius);
  background:#000;
}

.video-modal__frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.turning-art{
  margin-bottom:26px;
  max-width:300px;
}

.turning-art img{
  width:100%;
  height:auto;
  display:block;
}

.turning-art.is-image-missing{
  width:220px;
  height:220px;
  border-radius:24px;
  background:
    radial-gradient(circle at 30% 30%, rgba(241,196,48,.32), transparent 45%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    #111;
  border:1px solid rgba(255,255,255,.12);
}

.turning-sidecopy{
  border-left:6px solid var(--dvm-yellow);
  padding:10px 0 10px 28px;
}

.turning-sidecopy__title{
  color:#fff;
  font-size:clamp(26px,3vw,42px);
  line-height:1.08;
  font-weight:900;
}

.turning-sidecopy__list{
  list-style:none;
  display:grid;
  gap:14px;
  margin-top:22px;
}

.turning-sidecopy__list li{
  color:#f3efe4;
  font-size:clamp(22px,2.3vw,34px);
  line-height:1.18;
  font-weight:700;
}

.overview-steps-section{
  background:var(--dvm-dark);
}

.form-section .field input,
.form-section .field textarea,
.form-section .field select{
  background:var(--dvm-yellow);
  background-color:var(--dvm-yellow);
  border-color:rgba(0,0,0,.18);
  box-shadow:inset 0 0 0 999px var(--dvm-yellow);
  -webkit-box-shadow:inset 0 0 0 999px var(--dvm-yellow);
}

.form-section .field input::placeholder,
.form-section .field textarea::placeholder{
  color:#5b542f;
}

.form-section .field input:focus,
.form-section .field textarea:focus,
.form-section .field select:focus{
  background:var(--dvm-yellow);
  background-color:var(--dvm-yellow);
  border-color:var(--dvm-yellow);
  box-shadow:inset 0 0 0 999px var(--dvm-yellow), 0 0 0 4px rgba(241,196,48,.22);
  -webkit-box-shadow:inset 0 0 0 999px var(--dvm-yellow), 0 0 0 4px rgba(241,196,48,.22);
}

@media (max-width: 1180px){
  .support-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .results-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .support-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .support-list .support-item:last-child{
    grid-column:1 / -1;
  }
}

@media (max-width: 980px){
  .faq-grid{
    gap:36px;
  }

  .poster{
    flex:0 0 calc((100% - 12px) / 2);
  }

  .postersNav{
    width:44px;
    height:44px;
    font-size:24px;
  }

  .support-list{
    grid-template-columns:1fr;
  }

  .support-list .support-item:last-child{
    grid-column:auto;
  }
}

@media (max-width: 720px){
  .results-grid{
    grid-template-columns:1fr;
  }

  .films-history-header{
    margin-bottom:22px;
  }

  .support-disclosure__summary{
    align-items:flex-start;
    flex-direction:column;
    padding:24px;
  }

  .support-disclosure__content{
    padding:0 24px 24px;
  }

  .mentor-disclosure__summary{
    align-items:flex-start;
    flex-direction:column;
    padding:24px;
  }

  .mentor-disclosure__content{
    padding:0 24px 24px;
  }

  .mentor-intro-grid{
    grid-template-columns:1fr;
  }

  .result-thumb{
    aspect-ratio:1 / 1;
  }

  .support-panel h3{
    font-size:28px;
  }

  .plan-tag{
    position:static;
    margin-bottom:12px;
  }

  .video-modal{
    padding:12px;
  }

  .video-modal__dialog{
    padding:14px;
  }
}
