/* ═══ BLOCOS DA HOME ═════════════════════════════════════════════════════ */

/* herói centralizado (mantido para páginas que precisem dessa variação) */
.hero-p--center{align-items:center;min-height:min(94svh,900px)}
.hero-p--center .hero-p-in{align-items:center;text-align:center;padding:clamp(140px,18vh,210px) clamp(20px,4vw,40px) clamp(56px,8vh,100px)}
.hero-p--center .hero-p-h1{max-width:17ch;font-size:clamp(40px,6.6vw,92px);font-weight:400}
.hero-p--center .eyebrow{justify-content:center}
.hero-p--center .hero-p-sub{max-width:56ch}
.hero-p--center .ctas{justify-content:center}
.hero-p--center .hero-p-facts{width:100%;max-width:1100px}
.hero-p--center .hero-p-facts>div{padding-right:0;align-items:center;text-align:center}

/* Home: vídeo atmosférico ao fundo, texto à esquerda e retrato orgânico à direita. */
.hero-p--home-split{align-items:center;min-height:min(96svh,920px);background:var(--plum-deep)}
.hero-p-motion,.hero-p-motion-frame,.hero-p-motion-video{position:absolute;inset:0;width:100%;height:100%}
.hero-p-motion{overflow:hidden;background:var(--plum-deep)}
.hero-p-motion-frame,.hero-p-motion-video{object-fit:cover;object-position:center;filter:saturate(100%) brightness(.94)}
.hero-p-motion-frame{transition:opacity 1s ease}
.hero-p-motion-start{z-index:0}
.hero-p-motion-video{z-index:1;opacity:0;transition:opacity .9s ease}
.hero-p-motion-end{z-index:2;opacity:0}
.hero-p-motion-end{filter:saturate(102%) brightness(1.18)}
.hero-p--home-split.is-playing .hero-p-motion-video{opacity:1}
.hero-p--home-split.is-ended .hero-p-motion-video{opacity:0}
.hero-p--home-split.is-ended .hero-p-motion-end{opacity:1}
.hero-p--home-split .hero-p-veil{z-index:3;background:linear-gradient(90deg,rgba(17,8,31,.64) 0%,rgba(24,12,43,.42) 43%,rgba(28,14,50,.08) 72%,rgba(12,6,23,.24) 100%),linear-gradient(180deg,rgba(12,6,23,.08),rgba(12,6,23,.04) 58%,rgba(12,6,23,.36))}
.hero-p--home-split .hero-p-in{z-index:4;justify-content:center;min-height:min(96svh,920px);padding-top:clamp(132px,16vh,176px);padding-bottom:clamp(64px,9vh,104px)}
.hero-home-layout{display:grid;width:100%;grid-template-columns:minmax(0,1.05fr) minmax(330px,.78fr);gap:clamp(48px,6vw,104px);align-items:center}
.hero-home-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:26px}
.hero-p--home-split .hero-p-h1{max-width:13.5ch;font-size:clamp(44px,4.9vw,72px);font-weight:300;line-height:1;text-wrap:balance}
.hero-p--home-split .hero-p-sub{width:100%;max-width:47ch;overflow-wrap:anywhere}
.hero-p--home-split .eyebrow{flex-wrap:wrap;line-height:1.5}
.hero-home-portrait{position:relative;width:min(100%,510px);margin:0;justify-self:end;isolation:isolate}
.hero-home-portrait-frame{position:relative;z-index:2;aspect-ratio:.76;overflow:hidden;border:1px solid rgba(245,213,202,.72);border-radius:48% 52% 44% 56% / 39% 43% 57% 61%;background:rgba(255,249,247,.1);box-shadow:0 34px 90px rgba(24,14,42,.4)}
.hero-home-portrait-frame:after{position:absolute;inset:10px;border:1px solid rgba(255,249,247,.28);border-radius:inherit;pointer-events:none;content:""}
.hero-home-portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(94%) contrast(1.03)}
.hero-home-portrait-orbit{position:absolute;z-index:1;inset:-18px -21px -17px -20px;border:1px solid rgba(227,200,146,.48);border-radius:52% 48% 57% 43% / 45% 55% 45% 55%;transform:rotate(3deg)}
.hero-home-portrait-glow{position:absolute;z-index:0;inset:9% -12% -8% 8%;border-radius:48%;background:rgba(158,130,208,.32);filter:blur(48px)}
.hero-home-portrait figcaption{position:absolute;z-index:3;right:16px;bottom:8%;display:flex;min-width:210px;flex-direction:column;gap:4px;padding:15px 18px;border:1px solid rgba(245,213,202,.5);background:rgba(44,29,73,.86);color:var(--dtext);backdrop-filter:blur(14px)}
.hero-home-portrait figcaption>span:last-child{color:var(--dmuted);font-size:12px;letter-spacing:.02em}
@media (max-width:1040px){
  .hero-home-layout{grid-template-columns:minmax(0,1fr) minmax(290px,.64fr);gap:40px}
  .hero-p--home-split .hero-p-h1{font-size:clamp(42px,5.8vw,66px)}
  .hero-home-portrait{width:min(100%,420px)}
}
@media (max-width:820px){
  /* Sem altura forçada de tela cheia aqui: o herói tinha um min-height fixo
     em pelo menos 900/940px (mais alto que boa parte dos celulares), sempre
     reservando essa altura mesmo quando o conteúdo (retrato + texto + CTAs)
     cabia em bem menos — sobrava espaço vazio antes e depois do conteúdo.
     Deixando a altura seguir o conteúdo, o herói fica do tamanho que
     realmente precisa em cada aparelho. */
  .hero-p--home-split{min-height:auto}
  .hero-p--home-split .hero-p-veil{background:linear-gradient(180deg,rgba(17,8,31,.28) 0%,rgba(17,8,31,.44) 40%,rgba(17,8,31,.94) 72%,var(--plum-deep) 100%)}
  .hero-p--home-split .hero-p-in{min-height:auto;padding-top:108px;padding-bottom:48px}
  .hero-home-layout{grid-template-columns:1fr;gap:30px;align-content:center}
  /* Com o retrato centralizado (abaixo), o texto ficava alinhado à esquerda
     por baixo dele — cada bloco com uma referência de alinhamento diferente,
     sem padrão. Centralizado por igual, tudo no herói segue o mesmo eixo. */
  .hero-home-copy{order:2;align-items:center;text-align:center}
  /* justify-self:end vem da regra base (desktop, onde o retrato ocupa a
     coluna da direita de um grid de 2 colunas) e continuava valendo aqui —
     numa única coluna full-width, "end" empurra o retrato pra colar na
     borda direita em vez de centralizar. */
  .hero-home-portrait{order:1;width:min(68vw,310px);margin-right:0;justify-self:center}
  .hero-home-portrait figcaption{right:10px;bottom:6%;min-width:180px;padding:11px 13px}
  .hero-p--home-split .eyebrow{justify-content:center}
  .hero-p--home-split .hero-p-h1{max-width:15ch;font-size:clamp(38px,10.6vw,54px)}
  .hero-p--home-split .hero-p-sub{max-width:36ch}
}
@media (max-width:520px){
  .hero-home-portrait{width:min(64vw,270px)}
  .hero-home-portrait figcaption{display:none}
}
@media (prefers-reduced-motion:reduce){
  .hero-p-motion-video{display:none}
  .hero-p-motion-end{opacity:1}
}

/* navegação por objetivo */
.goals{display:grid;grid-template-columns:1fr}
.goal{background:var(--bg-2);display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,.9fr);
  gap:clamp(16px,2.4vw,40px);align-items:start;padding:clamp(20px,2.2vw,30px);transition:background .4s ease}
.tint .goal{background:var(--bg-3)}
.goal:hover{background:var(--gold-mist)}
.goal-body{display:flex;flex-direction:column;gap:7px}
.goal-links{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.goal-link{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:400;color:var(--violet);
  border-bottom:1px solid transparent;padding-bottom:2px;transition:color .25s ease,border-color .25s ease,gap .25s ease}
.goal-link:hover{color:var(--gold-dk);border-bottom-color:var(--gold);gap:13px}
@media (max-width:820px){
  .goal{grid-template-columns:36px minmax(0,1fr)}
  .goal-links{grid-column:2/-1}
}

/* avaliações */
.rating{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.rating-v{font-family:var(--font-display);font-weight:200;font-size:clamp(38px,4vw,56px);line-height:1;letter-spacing:-.03em;color:var(--gold)}
.rating-stars{display:flex;gap:3px;color:var(--gold)}
.rating-stars svg{fill:none;stroke:currentColor;stroke-width:1.5}
.quote-card{margin:0;background:var(--bg-dark-2);color:var(--dmuted);padding:clamp(22px,2.2vw,32px);display:flex;flex-direction:column;gap:14px}
.quote-card blockquote{margin:0;font-size:15.5px;line-height:1.7;font-weight:300;color:var(--dtext)}
.quote-card figcaption{margin-top:auto;padding-top:8px;border-top:1px solid var(--dline);color:var(--dmuted)}

/* casos reais · seção centralizada, com abas quadradas centradas abaixo do heading */
.cases-spotlight .fine{margin:0;margin-top:26px;max-width:88ch;margin-left:auto;margin-right:auto;text-align:center}
.spotlight-explorer{display:flex;flex-direction:column;align-items:center;gap:clamp(30px,3.6vw,46px)}
.spotlight-top{display:flex;flex-direction:column;align-items:center;gap:clamp(28px,3.2vw,40px);width:100%}
.spotlight-head{text-align:center;margin:0 auto}
.spotlight-head .eyebrow{justify-content:center}
.spotlight-head .lead{margin:0 auto}
.spotlight-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.spotlight-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;flex:0 0 auto;width:156px;aspect-ratio:1;padding:18px 14px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);cursor:pointer;font:inherit;text-align:center;transition:background .3s ease,border-color .3s ease,transform .25s ease,box-shadow .3s ease}
.spotlight-tab:hover{transform:translateY(-3px);border-color:var(--gold)}
.spotlight-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.spotlight-tab-copy{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.spotlight-tab-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.spotlight-tab-title{font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.25}
.spotlight-tab--gold.is-active{background:var(--gold);border-color:var(--gold);box-shadow:0 14px 34px rgba(245,213,202,.28)}
.spotlight-tab--violet.is-active{background:var(--violet);border-color:var(--violet);box-shadow:0 14px 34px rgba(115,87,159,.32)}
.spotlight-tab--dual.is-active{background:linear-gradient(120deg,var(--gold) 0%,var(--violet) 100%);border-color:transparent;box-shadow:0 14px 34px rgba(115,87,159,.28)}
.spotlight-tab--gold.is-active .spotlight-tab-label,.spotlight-tab--violet.is-active .spotlight-tab-label,.spotlight-tab--dual.is-active .spotlight-tab-label{color:rgba(44,29,73,.66)}
.spotlight-tab--gold.is-active .spotlight-tab-title,.spotlight-tab--violet.is-active .spotlight-tab-title,.spotlight-tab--dual.is-active .spotlight-tab-title{color:#2C1D49}
.spotlight-tab.is-active .ico{background:rgba(44,29,73,.16);color:#2C1D49;border-color:transparent}
.spotlight-panels{border-top:1px solid var(--line);padding-top:clamp(28px,3.6vw,42px)}
.spotlight-panel{display:none;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.spotlight-panel.is-active{display:grid}
.spotlight-media{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);isolation:isolate}
.spotlight-media img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(96%)}
.spotlight-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(44,29,73,.48) 0%,transparent 46%);pointer-events:none}
.spotlight-panel--gold .spotlight-media{border-color:var(--gold)}
.spotlight-panel--violet .spotlight-media{border-color:var(--violet)}
.spotlight-panel--dual .spotlight-media{border-image:linear-gradient(160deg,var(--gold),var(--violet)) 1}
.spotlight-body{display:flex;flex-direction:column;gap:16px;align-self:start;padding-top:6px}
.spotlight-body h3{max-width:20ch}
.spotlight-body p{color:var(--muted);max-width:52ch;font-size:15px;line-height:1.7;margin:0}
.spotlight-stats{display:flex;gap:clamp(20px,3vw,40px);flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--line)}
.spotlight-stat{display:flex;flex-direction:column;gap:2px;padding-top:14px}
.spotlight-stat strong{font-family:var(--font-display);font-weight:300;font-size:clamp(24px,2.6vw,34px);color:var(--gold);line-height:1}
.spotlight-stat span{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.spotlight-tags{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:900px){
  .spotlight-panel{grid-template-columns:1fr}
}
@media(max-width:560px){
  .spotlight-tab{width:130px;padding:16px 12px}
}

/* faixa dourada de fechamento */
.band-gold{background:linear-gradient(118deg,#FFEAE3 0%,#F5D5CA 46%,#C9BDDD 100%);
  padding:clamp(48px,6vw,84px) clamp(20px,4vw,40px);color:#2C1D49}
.band-gold .wrap{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,60px);align-items:center;justify-content:space-between}
.band-gold h2{font-family:var(--font-display);font-weight:300;font-size:clamp(27px,3.4vw,46px);line-height:1.08;
  letter-spacing:-.022em;margin:0;max-width:20ch;color:#2C1D49}
.band-gold p{margin:0;font-size:15.5px;line-height:1.6;max-width:46ch;color:rgba(32,17,47,.82)}
.band-gold .b{background:#2C1D49;color:#FFEAE3;border-color:#2C1D49}
.band-gold .b:hover{background:#fff;color:#2C1D49;border-color:#fff}
