/* --------------------------------------------------------------------------
   SJB Consulta — Visual de referência mobile-first v3.1
   Inspirado no mockup aprovado: telas verticais, alto contraste, foto completa
   dos quatro alunos e navegação 01/02/03 durante a rolagem.
   -------------------------------------------------------------------------- */
:root{
  --ref-navy:#052760;
  --ref-navy-deep:#031b4d;
  --ref-blue:#0878f9;
  --ref-blue-bright:#1098ff;
  --ref-red:#ff3045;
  --ref-yellow:#ffd21c;
  --ref-paper:#f5f9ff;
  --ref-ink:#08265d;
}

/* header --------------------------------------------------------------- */
.sjb-vote-page .campaign-header{
  position:fixed;
  inset:0 0 auto;
  z-index:120;
  background:rgba(4,34,92,.82);
  border:0;
  box-shadow:none;
  backdrop-filter:blur(16px) saturate(1.25);
}
.sjb-vote-page .campaign-header__inner{min-height:72px;padding-block:8px}
.sjb-vote-page .campaign-brand{min-width:0}
.sjb-vote-page .campaign-brand__mark{
  padding:5px 8px;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.sjb-vote-page .campaign-brand__mark img{max-height:36px;width:auto;display:block}
.sjb-vote-page .campaign-brand__copy{color:#fff}
.sjb-vote-page .campaign-brand__divider{background:rgba(255,255,255,.28)}
.sjb-vote-page .campaign-brand__copy small{color:rgba(255,255,255,.86)}
.sjb-vote-page .campaign-status{
  border:1px solid rgba(255,255,255,.16);
  box-shadow:none;
  backdrop-filter:blur(8px);
}
.sjb-vote-page .campaign-status.is-open{color:#bfffd6;background:rgba(0,180,85,.18)}
.sjb-vote-page .campaign-menu-toggle{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16)}
.sjb-vote-page .campaign-menu-toggle:before,
.sjb-vote-page .campaign-menu-toggle:after{background:#fff}
.sjb-vote-page .campaign-nav a{color:#fff}

/* hero ----------------------------------------------------------------- */
.sjb-vote-page .story-hero{
  min-height:100svh;
  padding-top:72px;
  background:linear-gradient(160deg,#07369c 0%,#052760 55%,#031b4d 100%);
}
.sjb-vote-page .story-hero:before{
  background-image:
    linear-gradient(135deg,rgba(3,24,74,.35),rgba(4,74,190,.08)),
    var(--story-bg);
  background-size:cover;
  background-position:center;
  opacity:.72;
  transform:scale(1.08);
}
.sjb-vote-page .story-hero:after{display:none}
.sjb-vote-page .story-hero__inner{
  min-height:calc(100svh - 72px);
  padding:34px 0 32px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:28px;
}
.sjb-vote-page .story-hero__copy{max-width:570px}
.sjb-vote-page .story-kicker{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
}
.sjb-vote-page .story-hero h1{
  max-width:590px;
  font-size:clamp(3.2rem,6vw,6.2rem);
  line-height:.88;
  letter-spacing:-.06em;
}
.sjb-vote-page .story-hero__copy>p{max-width:520px;font-size:1.05rem;line-height:1.5}
.sjb-vote-page .story-hero__media{
  position:relative;
  inset:auto;
  height:auto;
  min-width:0;
  align-self:end;
  pointer-events:none;
}
.sjb-vote-page .story-hero__image-frame{
  position:relative;
  inset:auto;
  overflow:visible;
  border-radius:0;
  filter:drop-shadow(0 28px 40px rgba(0,0,0,.22));
  mask-image:none;
}
.sjb-vote-page .story-hero__image-frame:after{display:none}
.sjb-vote-page .story-hero__image-frame img{
  width:100%;height:auto;max-height:72svh;
  object-fit:contain;object-position:center bottom;
}
.sjb-vote-page .story-handnote{
  right:4%;top:7%;max-width:160px;
  font-size:1.2rem;
}
.sjb-vote-page .story-scroll-cue{
  bottom:18px;color:#fff!important;
  grid-template-columns:auto 1fr auto;
}
.sjb-vote-page .story-scroll-cue__mouse{border-color:#fff}
.sjb-vote-page .story-scroll-cue__mouse:after{background:#fff}

/* intro ---------------------------------------------------------------- */
.sjb-vote-page .story-models__intro{padding:54px 18px 38px;background:#fff}

/* persistent 01/02/03 navigation ------------------------------------- */
.sjb-vote-page .story-model-nav{
  position:fixed;
  z-index:105;
  right:18px;
  left:auto;
  top:50%;
  width:48px;
  margin:0;
  padding:8px 5px;
  display:flex;
  flex-direction:column;
  gap:8px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(3,31,86,.38);
  box-shadow:0 18px 42px rgba(0,25,76,.18);
  backdrop-filter:blur(14px);
}
.sjb-vote-page .story-model-nav a{
  width:36px;height:36px;min-height:36px;padding:0;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  color:#fff!important;
  background:rgba(255,255,255,.08);
  text-decoration:none!important;
  font-weight:950;
  transition:.25s ease;
}
.sjb-vote-page .story-model-nav a span{font-size:.7rem}
.sjb-vote-page .story-model-nav a small{display:none!important}
.sjb-vote-page .story-model-nav a.is-active{
  border-color:transparent;
  color:#fff!important;
  background:var(--ref-red);
  transform:scale(1.08);
  box-shadow:0 8px 18px rgba(255,48,69,.28);
}

/* model screens -------------------------------------------------------- */
.sjb-vote-page .story-scene.campaign-option{
  min-height:100svh;
  scroll-margin-top:72px;
}
.sjb-vote-page .story-scene:after{display:none}
.sjb-vote-page .story-scene:before{
  content:"";
  position:absolute;inset:0;z-index:-2;
  background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.03)),var(--scene-bg);
  background-size:cover;background-position:center;
  opacity:.96;
}
.sjb-vote-page .story-scene__inner{
  min-height:100svh;
  width:min(1180px,calc(100% - 40px));
  margin:auto;
  padding:90px 0 72px;
  display:grid!important;
  grid-template-columns:minmax(290px,.42fr) minmax(0,.58fr)!important;
  grid-template-areas:"copy media" "cta media"!important;
  gap:24px 50px;
  align-items:center;
}
.sjb-vote-page .story-scene__copy{grid-area:copy;position:relative;z-index:3;align-self:end}
.sjb-vote-page .story-scene__number{
  position:absolute;left:-6px;top:-104px;
  font-size:8.5rem;line-height:.75;font-weight:950;letter-spacing:-.08em;
  opacity:.15;
}
.sjb-vote-page .story-scene__eyebrow{font-size:.74rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.sjb-vote-page .story-scene h3{
  max-width:520px!important;
  margin:8px 0 0!important;
  font-size:clamp(3.2rem,6vw,5.5rem)!important;
  line-height:.86!important;
  letter-spacing:-.055em!important;
}
.sjb-vote-page .story-scene p{max-width:420px;margin:14px 0 0!important;font-size:1.05rem!important;line-height:1.4!important}
.sjb-vote-page .story-scene__media{
  grid-area:media;position:relative!important;inset:auto!important;
  height:auto!important;min-width:0;
  align-self:center;
}
.sjb-vote-page .story-scene__image-wrap{
  position:relative!important;inset:auto!important;
  width:100%;height:auto!important;overflow:visible!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.sjb-vote-page .story-scene__media img{
  display:block!important;width:100%!important;height:auto!important;max-height:76svh!important;
  object-fit:contain!important;object-position:center bottom!important;
  filter:drop-shadow(0 26px 36px rgba(0,24,76,.2));
}
.sjb-vote-page .story-scene__check{right:5%;top:8%;box-shadow:0 10px 28px rgba(0,0,0,.14)}
.sjb-vote-page .story-scene__note{
  right:2%;bottom:5%;max-width:180px;padding:10px 13px;
  border-radius:14px;background:rgba(2,24,70,.68);color:#fff;
  backdrop-filter:blur(8px);text-shadow:none;
}
.sjb-vote-page .story-scene__cta{grid-area:cta;align-self:start;max-width:390px}
.sjb-vote-page .story-scene__button.campaign-option__select{
  width:100%!important;min-height:58px!important;
  border-radius:999px!important;
  justify-content:center!important;
  font-size:.94rem!important;font-weight:950!important;
  box-shadow:0 14px 30px rgba(0,57,160,.16)!important;
}
.sjb-vote-page .story-scene__cta small{display:none}

.sjb-vote-page .story-scene--light{color:var(--ref-ink)!important;background:#f8fbff!important}
.sjb-vote-page .story-scene--light .story-scene__number{color:var(--ref-blue)}
.sjb-vote-page .story-scene--light .story-scene__button{color:#fff!important;background:linear-gradient(135deg,#0b7bf6,#075cd4)!important}
.sjb-vote-page .story-scene--navy{color:#fff!important;background:linear-gradient(155deg,#05275f,#031948)!important}
.sjb-vote-page .story-scene--navy .story-scene__number{color:#83b8ff}
.sjb-vote-page .story-scene--navy .story-scene__button{color:#fff!important;background:linear-gradient(135deg,#ff3650,#ef1f38)!important}
.sjb-vote-page .story-scene--royal{color:#fff!important;background:linear-gradient(155deg,#0f8aff,#0757d8)!important}
.sjb-vote-page .story-scene--royal .story-scene__number{color:#bce6ff}
.sjb-vote-page .story-scene--royal .story-scene__button{color:#08265d!important;background:linear-gradient(135deg,#ffdf39,#ffc909)!important}

/* validation / confirmation / success -------------------------------- */
.sjb-vote-page .story-wizard{background:#eef5ff;padding:0}
.sjb-vote-page .story-progress{display:none}
.sjb-vote-page .campaign-wizard__container{width:100%;max-width:none;padding:0}
.sjb-vote-page .story-validation.campaign-panel,
.sjb-vote-page .story-confirm.campaign-panel,
.sjb-vote-page .story-success.campaign-panel{
  width:min(760px,calc(100% - 28px));
  min-height:min(82svh,760px);
  margin:36px auto!important;
  border:0!important;border-radius:34px!important;
  box-shadow:0 28px 70px rgba(0,32,91,.16)!important;
}
.sjb-vote-page .story-validation.campaign-panel{
  color:#fff;background:linear-gradient(160deg,#062d79 0%,#031d57 100%)!important;
}
.sjb-vote-page .story-validation__content{width:min(560px,100%);margin:auto;padding:clamp(32px,7vw,64px)}
.sjb-vote-page .story-validation__heading small{color:#9ec7ff}
.sjb-vote-page .story-validation h2{color:#fff;font-size:clamp(2.5rem,6vw,4rem);line-height:.95}
.sjb-vote-page .story-validation p,.sjb-vote-page .story-validation small{color:rgba(255,255,255,.8)}
.sjb-vote-page .story-cpf-control{border-radius:18px;overflow:hidden;background:#fff}
.sjb-vote-page .story-cpf-control input{min-height:58px}
.sjb-vote-page .story-cpf-control .story-button--accent{background:var(--ref-yellow)!important;color:#09265b!important}
.sjb-vote-page .story-trust-row{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.06)}
.sjb-vote-page .story-back{color:inherit!important}

.sjb-vote-page .story-confirm.campaign-panel{background:#fff!important}
.sjb-vote-page .story-review{border-radius:24px;background:#f3f7fd}
.sjb-vote-page .story-review img{object-fit:contain!important;background:#dceaff}
.sjb-vote-page .story-confirm .story-button--accent{background:linear-gradient(135deg,#ff3650,#ef1f38)!important;color:#fff!important}

.sjb-vote-page .story-success.campaign-panel{
  color:#fff!important;
  background:linear-gradient(155deg,#0ba159,#05723e)!important;
  text-align:center;
}
.sjb-vote-page .story-success h2,.sjb-vote-page .story-success p,.sjb-vote-page .story-success small{color:#fff!important}
.sjb-vote-page .campaign-success__icon{background:#55dd78!important;box-shadow:0 0 0 12px rgba(255,255,255,.12)}

/* how + results -------------------------------------------------------- */
.sjb-vote-page .story-how{background:#fff}
.sjb-vote-page .story-results{
  color:var(--ref-ink);
  background:#fff;
}
.sjb-vote-page .story-results__inner{border-radius:34px;background:#f8fbff;box-shadow:0 24px 60px rgba(0,44,106,.08)}
.sjb-vote-page .story-result-row__track{background:#dfe9f7}
.sjb-vote-page .story-closing{background:linear-gradient(150deg,#063da7,#031f61)}

/* results page gets the same mobile language -------------------------- */
.sjb-results-page .campaign-header{position:sticky;top:0;z-index:100}
.sjb-results-page .results-page--refined{background:linear-gradient(180deg,#eef6ff,#f9fbff);padding-top:18px}
.sjb-results-page .leader-card,.sjb-results-page .ranking-card{border:0;box-shadow:0 18px 48px rgba(0,35,94,.09)}
.sjb-results-page .leader-photo img,.sjb-results-page .ranking-thumb img{object-fit:contain;background:#dceaff}

/* mobile: this is the reference experience --------------------------- */
@media(max-width:719px){
  .sjb-vote-page .container{width:min(calc(100% - 28px),1180px)}
  .sjb-vote-page .campaign-header{background:linear-gradient(180deg,rgba(3,30,82,.94),rgba(3,30,82,.68) 72%,transparent)}
  .sjb-vote-page .campaign-header__inner{min-height:68px;padding:8px 0}
  .sjb-vote-page .campaign-brand__mark{padding:4px 7px;border-radius:10px}
  .sjb-vote-page .campaign-brand__mark img{max-height:29px;max-width:154px}
  .sjb-vote-page .campaign-brand__copy{display:none}
  .sjb-vote-page .campaign-status{margin-left:auto;padding:7px 10px;font-size:.64rem}
  .sjb-vote-page .campaign-menu-toggle{width:39px;height:39px;margin-left:7px}
  .sjb-vote-page .campaign-nav{
    top:64px;right:12px;left:12px;
    padding:10px;border-radius:18px;
    background:rgba(4,31,84,.95);box-shadow:0 18px 42px rgba(0,0,0,.22)
  }

  .sjb-vote-page .story-hero{padding-top:68px;min-height:100svh}
  .sjb-vote-page .story-hero__inner{
    min-height:calc(100svh - 68px);
    padding:22px 0 0;
    grid-template-columns:1fr;
    grid-template-rows:auto 1fr;
    align-items:start;
    gap:10px;
  }
  .sjb-vote-page .story-hero__copy{z-index:4;padding-right:18px}
  .sjb-vote-page .story-kicker{margin-bottom:10px;padding:6px 9px;font-size:.58rem}
  .sjb-vote-page .story-hero h1{
    max-width:92%;
    font-size:clamp(2.9rem,13vw,4.4rem);
    line-height:.86;
  }
  .sjb-vote-page .story-hero__copy>p{
    max-width:93%;margin-top:14px;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;
    font-size:.92rem;line-height:1.38;
  }
  .sjb-vote-page .story-hero__actions{margin-top:17px}
  .sjb-vote-page .story-button{min-height:48px;padding:0 18px;font-size:.8rem}
  .sjb-vote-page .story-hero__media{
    align-self:end;
    width:112%;margin-left:-6%;
    height:min(49svh,500px);
    display:flex;align-items:flex-end;justify-content:center;
    overflow:hidden;
  }
  .sjb-vote-page .story-hero__image-frame{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}
  .sjb-vote-page .story-hero__image-frame img{
    width:100%;height:100%;max-height:none;
    object-fit:contain;object-position:center bottom;
  }
  .sjb-vote-page .story-handnote{display:none}
  .sjb-vote-page .story-scroll-cue{display:none}
  .sjb-vote-page .story-hero__layer--back{width:260px;height:260px;left:-130px;top:16%}
  .sjb-vote-page .story-hero__layer--mid{width:180px;height:80px;right:-70px;top:26%}
  .sjb-vote-page .story-hero__layer--front{width:270px;height:90px;right:-95px;bottom:22%}

  .sjb-vote-page .story-models__intro{display:none}
  .sjb-vote-page .story-model-nav{
    right:9px;top:54%;width:42px;padding:6px 3px;gap:6px;
    background:rgba(3,31,86,.45)
  }
  .sjb-vote-page .story-model-nav a{width:34px;height:34px;min-height:34px}

  .sjb-vote-page .story-scene.campaign-option{min-height:100svh;scroll-margin-top:68px}
  .sjb-vote-page .story-scene__inner{
    width:calc(100% - 28px);
    min-height:100svh;
    padding:88px 0 30px;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    grid-template-areas:"copy" "media" "cta"!important;
    gap:8px!important;
    align-content:stretch!important;
  }
  .sjb-vote-page .story-scene__copy{align-self:start;padding:0 38px 0 0!important}
  .sjb-vote-page .story-scene__number{
    top:-54px;left:-1px;
    font-size:5.7rem;line-height:.8;opacity:.2;
  }
  .sjb-vote-page .story-scene__eyebrow{margin-bottom:2px;font-size:.58rem}
  .sjb-vote-page .story-scene h3{
    max-width:90%!important;
    margin:3px 0 0!important;
    font-size:clamp(2.65rem,12vw,4rem)!important;
    line-height:.87!important;
  }
  .sjb-vote-page .story-scene p{max-width:88%;margin-top:8px!important;font-size:.84rem!important;line-height:1.3!important}
  .sjb-vote-page .story-scene__media{
    min-height:0!important;
    height:100%!important;
    margin:0!important;
    display:flex;align-items:flex-end;justify-content:center;
    overflow:hidden;
    transform:translate3d(0,var(--parallax-y),0)!important;
  }
  .sjb-vote-page .story-scene__image-wrap{
    width:100%;height:100%!important;
    display:flex;align-items:flex-end;justify-content:center;
    transform:translate3d(0,calc((var(--scene-progress) - .5) * -8px),0) scale(calc(1 + (var(--scene-progress) * .01)))!important;
  }
  .sjb-vote-page .story-scene__media img{
    width:100%!important;height:100%!important;max-height:none!important;
    object-fit:contain!important;object-position:center bottom!important;
    filter:drop-shadow(0 18px 24px rgba(0,24,76,.18));
  }
  .sjb-vote-page .story-scene__note{display:none}
  .sjb-vote-page .story-scene__check{right:4px!important;top:5px!important;width:38px!important;height:38px!important}
  .sjb-vote-page .story-scene__cta{align-self:end;max-width:none;width:100%;padding-top:4px}
  .sjb-vote-page .story-scene__button.campaign-option__select{
    min-height:56px!important;font-size:.9rem!important;
  }

  .sjb-vote-page .story-validation.campaign-panel,
  .sjb-vote-page .story-confirm.campaign-panel,
  .sjb-vote-page .story-success.campaign-panel{
    width:100%;min-height:100svh;margin:0!important;border-radius:0!important;box-shadow:none!important;
    scroll-margin-top:68px;
  }
  .sjb-vote-page .story-validation__content{min-height:100svh;padding:110px 22px 38px;display:flex;flex-direction:column;justify-content:center}
  .sjb-vote-page .story-validation h2{font-size:2.65rem}
  .sjb-vote-page .story-cpf-form{margin-top:20px}
  .sjb-vote-page .story-cpf-control{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;background:transparent!important;overflow:visible!important}
  .sjb-vote-page .story-cpf-control input{border:0;border-radius:15px!important;background:#fff}
  .sjb-vote-page .story-cpf-control .story-button--accent{width:100%!important;border-radius:999px!important}
  .sjb-vote-page .story-trust-row{grid-template-columns:1fr!important;text-align:center}
  .sjb-vote-page .story-confirm.campaign-panel{padding:105px 18px 34px!important}
  .sjb-vote-page .story-review{grid-template-columns:1fr!important}
  .sjb-vote-page .story-review__images,.sjb-vote-page .campaign-review__images{max-width:100%}
  /* Sucesso fica oculto até o servidor confirmar o voto. */
  .sjb-vote-page .story-success.campaign-panel{padding:120px 22px 44px!important;display:none!important;flex-direction:column;align-items:center;justify-content:center}
  .sjb-vote-page .story-success.campaign-panel.is-active{display:flex!important}

  .sjb-vote-page .story-how{display:none}
  .sjb-vote-page .story-results{padding:22px 0;background:#fff}
  .sjb-vote-page .story-results__inner{width:calc(100% - 22px);padding:24px 18px;border-radius:26px}
  .sjb-vote-page .story-results__heading{grid-template-columns:auto 1fr;gap:12px}
  .sjb-vote-page .story-results__heading h2{font-size:1.8rem}
  .sjb-vote-page .story-results__bars{margin-top:18px}
  .sjb-vote-page .story-closing{padding:50px 0 58px}
  .sjb-vote-page .story-closing h2{font-size:2.1rem;line-height:.95; margin-bottom:10%;}

  /* results mobile */
  .sjb-results-page .campaign-header__inner{min-height:64px}
  .sjb-results-page .results-page--refined{padding:14px 0 28px}
  .sjb-results-page .results-head{align-items:flex-start;margin-bottom:12px}
  .sjb-results-page .results-head__title h1{font-size:2.1rem}
  .sjb-results-page .results-head__summary{width:100%;grid-template-columns:1fr}
  .sjb-results-page .results-action--desktop{display:none}
  .sjb-results-page .leader-card{grid-template-columns:1fr;border-radius:24px}
  .sjb-results-page .leader-card__info{padding:22px;border-right:0;border-bottom:1px solid #e5ebf1}
  .sjb-results-page .leader-card__images{padding:10px;background:#eef5ff}
  .sjb-results-page .leader-photo img{min-height:0;height:auto;max-height:360px;object-fit:contain}
  .sjb-results-page .ranking-card{border-radius:24px}
  .sjb-results-page .ranking-row{grid-template-columns:34px 62px minmax(0,1fr);gap:10px;padding:13px 14px}
  .sjb-results-page .ranking-thumb{width:62px;height:62px}
  .sjb-results-page .ranking-main__topline{gap:8px}
  .sjb-results-page .ranking-main p{display:none}
  .sjb-results-page .ranking-numbers span{display:none}
}

@media(min-width:720px) and (max-width:979px){
  .sjb-vote-page .story-model-nav{right:12px}
  .sjb-vote-page .story-scene__inner{width:calc(100% - 72px);grid-template-columns:minmax(250px,.42fr) minmax(0,.58fr)!important}
}

@media(min-width:980px){
  .sjb-vote-page .campaign-header{position:sticky;top:0;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(0,36,91,.08);box-shadow:0 8px 28px rgba(0,27,78,.06)}
  .sjb-vote-page .campaign-brand__copy,.sjb-vote-page .campaign-nav a{color:var(--ref-ink)}
  .sjb-vote-page .campaign-brand__divider{background:#dbe5f3}
  .sjb-vote-page .campaign-brand__copy small{color:#5c6e88}
  .sjb-vote-page .campaign-status.is-open{color:#08733f;background:#e9f8ef}
  .sjb-vote-page .story-hero{padding-top:0;min-height:calc(100svh - 72px)}
  .sjb-vote-page .story-hero__inner{min-height:calc(100svh - 72px)}
}

@media(prefers-reduced-motion:reduce){
  .sjb-vote-page .story-model-nav a,.sjb-vote-page .story-scene__image-wrap{transition:none!important;transform:none!important}
}

/* ======================================================================
   v3.2 — correção mobile baseada em teste real no telefone
   Hierarquia: título -> foto completa dos 4 alunos -> CTA.
   ====================================================================== */
@media(max-width:719px){
  /* Cabeçalho mais compacto e logo realmente visível. */
  .sjb-vote-page .campaign-header{
    background:linear-gradient(180deg,rgba(3,31,86,.97),rgba(4,43,105,.92));
    box-shadow:0 8px 24px rgba(0,22,67,.16);
  }
  .sjb-vote-page .campaign-header__inner{min-height:60px;padding:6px 0;gap:8px}
  .sjb-vote-page .campaign-brand__mark{
    width:118px;height:42px;flex:0 0 118px;
    padding:0;border-radius:0;
    display:flex;align-items:center;justify-content:flex-start;
    background:transparent!important;box-shadow:none!important;
  }
  .sjb-vote-page .campaign-brand__mark img{
    display:block;width:auto;height:auto;max-width:118px;max-height:34px;object-fit:contain;object-position:left center;
  }
  .sjb-vote-page .campaign-status{padding:7px 9px;font-size:.6rem}
  .sjb-vote-page .campaign-menu-toggle{width:36px;height:36px;margin-left:2px;border-radius:11px}

  /* O antigo pseudo-elemento mantinha width/height/borda de um círculo.
     Aqui ele vira apenas a camada de fundo da seção. */
  .sjb-vote-page .story-scene:before{
    inset:0!important;
    width:auto!important;height:auto!important;
    left:0!important;right:0!important;top:0!important;bottom:0!important;
    border:0!important;border-radius:0!important;
    opacity:.96!important;
    background-size:cover!important;
    background-position:center!important;
  }

  /* Navegação lateral discreta. */
  .sjb-vote-page .story-model-nav{
    right:6px;top:55%;width:34px;padding:5px 3px;gap:5px;
    border-radius:999px;background:rgba(3,31,86,.34);
    box-shadow:0 10px 28px rgba(0,25,76,.13);
  }
  .sjb-vote-page .story-model-nav a{
    width:28px;height:28px;min-height:28px;border-width:1px;
  }
  .sjb-vote-page .story-model-nav a span{font-size:.57rem}
  .sjb-vote-page .story-model-nav a.is-active{transform:scale(1.04)}

  /* Cena compacta: sem uma área vazia reservada entre texto e fotografia. */
  .sjb-vote-page .story-scene.campaign-option{
    min-height:auto!important;
    padding:0!important;
    scroll-margin-top:60px;
  }
  .sjb-vote-page .story-scene__inner{
    width:calc(100% - 24px);
    min-height:auto!important;
    padding:74px 0 34px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:"copy" "media" "cta"!important;
    gap:12px!important;
    align-content:start!important;
  }
  .sjb-vote-page .story-scene__copy{
    align-self:auto!important;
    padding:0 30px 0 2px!important;
    min-height:0!important;
  }
  .sjb-vote-page .story-scene__number{
    top:-34px!important;left:0!important;
    font-size:4.4rem!important;line-height:.8!important;opacity:.13!important;
  }
  .sjb-vote-page .story-scene__eyebrow{
    margin:0 0 3px!important;font-size:.55rem!important;letter-spacing:.14em!important;
  }
  .sjb-vote-page .story-scene h3{
    max-width:100%!important;
    margin:2px 0 0!important;
    font-size:clamp(2.25rem,10.7vw,3.25rem)!important;
    line-height:.91!important;
    letter-spacing:-.045em!important;
  }
  .sjb-vote-page .story-scene p{
    max-width:95%!important;
    margin:8px 0 0!important;
    font-size:.82rem!important;line-height:1.32!important;
  }

  /* A foto entra imediatamente depois do título e preserva as quatro pessoas. */
  .sjb-vote-page .story-scene__media{
    width:100%!important;height:auto!important;min-height:0!important;
    margin:5px 0 0!important;
    display:block!important;overflow:visible!important;
    transform:none!important;
  }
  .sjb-vote-page .story-scene__image-wrap{
    position:relative!important;
    width:100%!important;height:auto!important;
    aspect-ratio:4/3!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    overflow:hidden!important;
    border-radius:22px!important;
    box-shadow:0 15px 34px rgba(0,30,83,.16)!important;
    background:rgba(255,255,255,.14)!important;
    transform:translate3d(0,calc((var(--scene-progress) - .5) * -4px),0) scale(calc(1 + (var(--scene-progress) * .006)))!important;
  }
  .sjb-vote-page .story-scene__image-wrap:before{display:none!important}
  .sjb-vote-page .story-scene__media img{
    display:block!important;
    width:100%!important;height:100%!important;max-height:none!important;
    object-fit:contain!important;object-position:center center!important;
    filter:none!important;
  }
  .sjb-vote-page .story-scene__note{display:none!important}
  .sjb-vote-page .story-scene__check{
    right:10px!important;top:10px!important;width:34px!important;height:34px!important;
  }

  /* CTA encostado visualmente na fotografia. */
  .sjb-vote-page .story-scene__cta{
    width:100%!important;max-width:none!important;
    margin:0!important;padding:0!important;gap:5px!important;
    align-self:auto!important;align-items:stretch!important;
  }
  .sjb-vote-page .story-scene__button.campaign-option__select{
    width:100%!important;min-height:52px!important;
    padding:0 16px!important;
    border-radius:999px!important;
    font-size:.82rem!important;
  }
  .sjb-vote-page .story-scene__cta small{display:none!important}

  /* Primeiro modelo claro ganha um pouco mais de contraste sem decoração invasiva. */
  .sjb-vote-page .story-scene--light.campaign-option{
    background:linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%)!important;
  }

  /* Em telas muito baixas, não force composição de uma tela inteira. */
  @media(max-height:690px){
    .sjb-vote-page .story-scene__inner{padding-top:66px!important}
    .sjb-vote-page .story-scene h3{font-size:2.15rem!important}
    .sjb-vote-page .story-scene p{font-size:.76rem!important}
    .sjb-vote-page .story-scene__button.campaign-option__select{min-height:48px!important}
  }
}


/* ======================================================================
   v3.2.2 — refinamento mobile: logo sem caixa branca e rodapé com respiro
   ====================================================================== */
@media(max-width:719px){
  .sjb-vote-page .campaign-brand__mark,
  .sjb-vote-page .campaign-brand__mark img{
    background:transparent!important;
    box-shadow:none!important;
  }

  .sjb-vote-page .story-closing{
    padding:56px 0 96px!important;
  }
  .sjb-vote-page .story-closing__inner{
    padding-bottom:34px;
  }
  .sjb-vote-page .story-closing p{
    margin-bottom:26px;
  }
  .sjb-vote-page .story-closing__wave--back{
    height:190px;
    bottom:-132px;
  }
  .sjb-vote-page .story-closing__wave--front{
    height:108px;
    bottom:-82px;
  }
  .sjb-vote-page .campaign-footer{
    margin-top:0!important;
  }
  .sjb-vote-page .campaign-footer__inner{
    padding-top:28px!important;
    padding-bottom:24px!important;
  }
}
