/* ---------- faixa de marcas (compacta) ---------- */
#marcas{padding-block:clamp(1.25rem,3vw,2rem);border-bottom:1px solid var(--border-subtle)}
#frentes{padding-top:clamp(2.5rem,5vw,4rem)}
.fbm-wrap{display:flex;flex-direction:column;gap:var(--space-2)}
.fbm__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.fbm__head .fb-eyebrow{margin:0}
.fbm{position:relative}
.fbm__mask{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.fbm__trilha{display:flex;align-items:center;gap:clamp(1.75rem,4vw,3.25rem);list-style:none;margin:0;padding:var(--space-2) 0;will-change:transform}
.fbm__trilha li{flex:none;display:grid;place-items:center}
.fbm__trilha img{height:46px;width:auto;max-width:170px;object-fit:contain;display:block;filter:grayscale(1);opacity:.72;transition:filter var(--dur-base) var(--ease-standard),opacity var(--dur-base) var(--ease-standard)}
.fbm:hover .fbm__trilha img{filter:none;opacity:1}
@media (hover:none),(max-width:760px){.fbm__trilha img{filter:none;opacity:1}}
@media (max-width:560px){.fbm__trilha img{height:38px;max-width:132px}}
.fbm__nota{font-size:var(--fs-caption);line-height:var(--lh-body);color:var(--text-muted);margin:0}
.fbm__ctrl{display:flex;gap:var(--space-2);flex:none}
.fbm__b{width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--az-700);font-size:17px;line-height:1;cursor:pointer;font-family:var(--font-sans)}
.fbm__b:hover{border-color:var(--az-600);color:var(--az-600)}
.fbm__b[aria-pressed="true"]{background:var(--az-600);border-color:var(--az-600);color:var(--cinza-0)}
.fbm__b:disabled{opacity:.35;cursor:default}
.fbm__b--inv{background:transparent;border-color:var(--veil-light-32);color:var(--cinza-0)}
.fbm__b--inv:hover{border-color:var(--ambar-300);color:var(--ambar-300)}
.fbm__b:focus-visible,.fbg__item:focus-visible,.fbc__trilha:focus-visible,.fbg__x:focus-visible,.fbg__nav:focus-visible{outline:3px solid var(--az-600);outline-offset:2px}
.fb-section--inverse .fbm__b:focus-visible,.fb-section--inverse .fbg__item:focus-visible,.fb-section--inverse .fbc__trilha:focus-visible,.fbg__lb :focus-visible{outline-color:var(--ambar-300)}

/* ---------- carrosseis horizontais ---------- */
#imersoes{padding-block:clamp(3rem,6vw,5rem)}
.fbc-sec{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.25rem)}
.fbc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-6)}
.fbc-intro{display:flex;flex-direction:column;gap:var(--space-3);max-width:70ch;min-width:0}
.fbc{position:relative;min-width:0}
.fbc__trilha{position:relative;display:flex;gap:var(--space-4);list-style:none;margin:0;padding:3px 3px var(--space-2);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fbc__trilha::-webkit-scrollbar{display:none}
.fbc__card{flex:0 0 84%;min-width:0;display:flex;scroll-snap-align:start}
@media (min-width:640px){.fbc__card{flex-basis:calc((100% - var(--space-4)) / 2.2)}}
@media (min-width:960px){.fbc__card{flex-basis:calc((100% - var(--space-4)) / 2.3)}}
@media (min-width:1200px){.fbc__card{flex-basis:calc((100% - 2 * var(--space-4)) / 3)}.fbg__cap{font-size:var(--fs-body-sm)}}
.fbg__item{position:relative;display:flex;flex-direction:column;width:100%;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-card);cursor:zoom-in;text-align:left;font-family:inherit}
.fbg__item:hover{border-color:var(--az-600)}
.fbc__media{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;background:var(--az-900)}
.fbc__media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block}
.fbc__media--cover .fbc__foto{object-fit:cover}
.fbc__media--contain .fbc__foto{object-fit:contain}
.fbc__blur{object-fit:cover;filter:blur(18px) brightness(.5);transform:scale(1.2)}
.fbg__cap{display:block;flex:1;min-height:4.4em;padding:var(--space-3) var(--space-4);font-size:var(--fs-caption);line-height:1.45;color:var(--text-body)}
.fbg__cap b{display:block;font-family:var(--font-sans);font-weight:var(--fw-semibold);color:var(--az-900)}
.fbg__cap i{font-style:normal;color:var(--text-muted)}
.fbc__nota{font-size:var(--fs-caption);line-height:var(--lh-body);color:var(--text-muted);margin:0;max-width:74ch}

/* quem conduz: altura fixa, largura pela proporcao da foto */
.fbk{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.fbk__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5)}
.fbk__nota{font-size:var(--fs-caption);line-height:var(--lh-body);color:var(--text-on-inverse-muted);max-width:74ch;margin:0}
.fbk .fbc__trilha{align-items:flex-start}
.fbk__card{flex:none;width:min-content;display:flex;flex-direction:column;gap:var(--space-2);scroll-snap-align:start}
.fbk__item{display:block;padding:0;border:1px solid var(--veil-light-16);border-radius:var(--radius-md);overflow:hidden;background:transparent;cursor:zoom-in}
.fbk__item:hover{border-color:var(--ambar-300)}
.fbk__img{display:block;height:clamp(200px,23vw,300px);width:auto;max-width:none}
.fbk__cap{font-size:var(--fs-caption);line-height:var(--lh-body);color:var(--text-on-inverse-muted);margin:0;min-height:2.9em}

/* ---------- visualizacao ampliada ---------- */
.fbg__lb{display:none;position:fixed;inset:0;z-index:90;place-items:center;padding:clamp(3.5rem,6vw,4rem) clamp(.75rem,6vw,5rem);background:rgba(2,19,44,.94)}
.fbg__lb.is-aberto{display:grid}
.fbg__lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:min(1100px,100%)}
.fbg__lb img{max-width:100%;max-height:76vh;object-fit:contain;border-radius:var(--radius-md);display:block}
.fbg__lb figcaption{color:var(--cinza-0);font-size:var(--fs-body-sm);text-align:center;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1) var(--space-3)}
.fbg__n{color:var(--text-on-inverse-muted);font-variant-numeric:tabular-nums}
.fbg__x,.fbg__nav{position:absolute;display:grid;place-items:center;padding:0;width:48px;height:48px;border-radius:var(--radius-pill);border:1px solid var(--veil-light-32);background:rgba(2,19,44,.6);color:var(--cinza-0);font-size:22px;line-height:1;cursor:pointer}
.fbg__x{top:clamp(.5rem,2vw,1.25rem);right:clamp(.5rem,2vw,1.25rem);font-size:20px}
.fbg__nav{top:50%;transform:translateY(-50%)}
.fbg__nav--ant{left:clamp(.25rem,2vw,1.25rem)}
.fbg__nav--prox{right:clamp(.25rem,2vw,1.25rem)}
.fbg__x:hover,.fbg__nav:hover{border-color:var(--ambar-300);color:var(--ambar-300)}
@media (max-width:640px){.fbg__nav{top:auto;bottom:clamp(.5rem,3vw,1rem);transform:none}}

/* ---------- 2027 + como funciona ---------- */
#ponte2027{padding-block:clamp(2rem,4vw,3rem) 0}
#programa{padding-top:clamp(1.25rem,3vw,2.25rem);padding-bottom:clamp(3rem,6vw,5rem)}
.fb27{display:flex;justify-content:center;text-align:center}
.fb27 h2{font-family:var(--font-display);font-size:var(--fs-h1);text-wrap:balance;font-weight:600;line-height:var(--lh-heading);letter-spacing:var(--ls-display);text-transform:uppercase;color:var(--cinza-0);margin:0}
.fb27 h2 span{color:var(--ambar-300)}
.fb27 p{font-size:var(--fs-lead);line-height:var(--lh-body);color:var(--cinza-0);margin:0;max-width:62ch}
.fbp__wrap{display:flex;flex-direction:column;gap:clamp(1.75rem,3.5vw,2.75rem)}
.fbp__head{display:flex;flex-direction:column;gap:var(--space-3);max-width:62rem}
.fbp__t{font-family:var(--font-display);font-size:var(--fs-display-2);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--ls-display);text-transform:uppercase;color:var(--cinza-0);margin:0;text-wrap:balance}
.fbp__t span{color:var(--ambar-300)}
.fbp__lead{font-family:var(--font-sans);font-size:var(--fs-lead);font-weight:var(--fw-semibold);line-height:var(--lh-body);color:var(--cinza-0);margin:0;max-width:56ch}
.fbp__txt{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-on-inverse-muted);margin:0;max-width:70ch}
.fbp__fatos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--space-3)}
.fbp__fatos li{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:rgba(255,255,255,.07);border:1px solid var(--veil-light-16)}
.fbp__fatos svg{flex:none;color:var(--ambar-300)}
.fbp__fatos p{margin:0;display:flex;flex-direction:column;gap:2px}
.fbp__fatos b{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;line-height:1.15;text-transform:uppercase;color:var(--ambar-300)}
.fbp__fatos span{font-size:var(--fs-body-sm);color:var(--text-on-inverse-muted)}
.fbp__trilhas{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-on-inverse-muted);margin:calc(-1 * var(--space-3)) 0 0}
.fbp__trilhas b{color:var(--cinza-0);font-weight:var(--fw-semibold)}
.fbp__etapas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}
.fbp__etapa{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:0 12px 32px rgba(0,0,0,.22)}
.fbp__etapa:not(:last-child)::after{content:"\2192";position:absolute;top:50%;right:calc(-1 * var(--space-8) / 2 - 16px);transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--ambar-300);color:var(--az-900);display:grid;place-items:center;font-weight:700;font-size:18px;z-index:1}
.fbp__topo{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.fbp__num{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:600;line-height:1;color:var(--az-600);font-variant-numeric:tabular-nums}
.fbp__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-symbol);background:var(--az-50);color:var(--az-700);flex:none}
.fbp__etapa h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-heading);color:var(--az-900);margin:0}
.fbp__etapa p{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);margin:0}
.fbp__etapa--aplicar{box-shadow:0 0 0 3px var(--ambar-300),0 12px 32px rgba(0,0,0,.22)}
@media (max-width:860px){
  .fbp__etapas{grid-template-columns:1fr;gap:var(--space-7)}
  .fbp__etapa:not(:last-child)::after{content:"\2193";top:auto;right:auto;left:50%;bottom:calc(-1 * var(--space-7) / 2 - 16px);transform:translateX(-50%)}
}
.fbp__res{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5) var(--space-6);border-left:4px solid var(--ambar-300);background:rgba(255,255,255,.07);border-radius:0 var(--radius-md) var(--radius-md) 0}
.fbp__res svg{flex:none;color:var(--ambar-300);margin-top:2px}
.fbp__res p{margin:0}
.fbp__rest{font-family:var(--font-sans);font-size:var(--fs-lead);font-weight:var(--fw-semibold);color:var(--ambar-300);line-height:var(--lh-heading)}
.fbp__resp{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--cinza-0);margin-top:var(--space-1)!important}
.fbp__cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5) var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--veil-light-16)}
.fbp__notas{display:flex;flex-direction:column;gap:var(--space-2);max-width:60ch;flex:1 1 320px}
.fbp__notas p{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-on-inverse-muted);margin:0}
@media (prefers-reduced-motion:reduce){.fbm__trilha{transition:none}.fbc__trilha{scroll-behavior:auto}}
/* mobile: etapas em linha (numero e icone a esquerda) e foto de quem conduz mais baixa para mostrar a proxima */
@media (max-width:860px){
  .fbp__etapa{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-4);row-gap:var(--space-1);padding:var(--space-4) var(--space-5)}
  .fbp__topo{grid-row:1 / span 2;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-2)}
  .fbp__num{font-size:var(--fs-h2)}
  .fbp__ic{width:40px;height:40px}
  .fbp__etapa h3{align-self:end}
  .fbp__etapas{gap:var(--space-6)}
  .fbp__etapa:not(:last-child)::after{width:28px;height:28px;font-size:16px;bottom:calc(-1 * var(--space-6) / 2 - 14px)}
  .fbp__fatos li{padding:var(--space-3) var(--space-4)}
  .fbp__res{padding:var(--space-4) var(--space-5)}
}
@media (max-width:480px){.fbk__img{height:176px}}

/* ---------- hero enxuto ---------- */
.fbh{display:flex;flex-direction:column;gap:var(--space-5)}
.fbh__apoio{font-size:var(--fs-lead);line-height:var(--lh-body);color:var(--cinza-0);max-width:58ch;margin:0}
.fbh__dif{font-family:var(--font-sans);font-size:var(--fs-lead);font-weight:var(--fw-semibold);line-height:var(--lh-body);color:var(--cinza-0);max-width:52ch;margin:0}
.fbh__dif span{color:var(--ambar-300)}
.fbh__meta{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-on-inverse-muted);margin:0}

/* ---------- marcas: gesto no celular ---------- */
.fbm__mask{touch-action:pan-y}
@media (max-width:760px){
  #marcas [data-ant],#marcas [data-prox]{display:none}
  #marcas [data-pausa]:not(:focus-visible){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .fbm__head{min-height:0}
}

/* ---------- quatro frentes compactas ---------- */
#frentes .fbfr{display:flex;flex-direction:column;gap:clamp(1.5rem,4vw,2.75rem)}
.fbfr__head{display:flex;flex-direction:column;gap:var(--space-3);max-width:76ch}
.fbfr__lead{font-size:var(--fs-lead);line-height:var(--lh-body);color:var(--text-body);max-width:70ch;margin:0}
.fbfr__grade{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:var(--space-4) var(--space-3)}
@media (min-width:640px){.fbfr__grade{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--space-6) var(--space-6)}}
.fbfr__item{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;border-top:3px solid var(--az-600);padding-top:var(--space-3)}
.fbfr__topo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}
.fbfr__ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-symbol);background:var(--az-50);color:var(--az-700)}
.fbfr__rot{font-family:var(--font-display);font-size:var(--fs-caption);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ambar-600);font-variant-numeric:tabular-nums}
.fbfr__item h3{font-family:var(--font-display);font-size:var(--fs-body);font-weight:600;line-height:1.3;color:var(--az-900);margin:0;text-wrap:pretty}
.fbfr__item p{font-size:var(--fs-body-sm);line-height:1.5;color:var(--text-body);margin:0}
@media (min-width:640px){.fbfr__ic{width:48px;height:48px}.fbfr__item{gap:var(--space-3);padding-top:var(--space-4)}.fbfr__item h3{font-size:var(--fs-lead)}.fbfr__item p{font-size:var(--fs-body)}}

/* ---------- rodape compacto ---------- */
.fbf{background:var(--surface-inverse-deep);color:var(--text-on-inverse);padding-block:var(--space-4)}
.fbf__wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-1) var(--space-5)}
.fbf__wrap{grid-template-columns:max-content minmax(0,1fr) max-content}
@media (max-width:640px){.fbf__wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-2)}.fbf__marca{flex:none}.fbf__icones{flex:none}.fbf__txt{order:3;flex:1 1 100%;min-width:0}}
@media (max-width:380px){.fbf__marca img{height:18px !important;width:auto !important}}
.fbf__marca{display:flex;align-items:center;min-width:0}
.fbf__txt{font-size:var(--fs-caption);line-height:var(--lh-body);color:var(--text-on-inverse-muted);margin:0}
.fbf__icones{list-style:none;margin:0 calc(-1 * var(--space-1));padding:0;display:flex;align-items:center;gap:0}
.fbf__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;text-decoration:none}
.fbf__glifo{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--veil-light-32);transition:border-color var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard)}
.fbf__glifo img{width:18px;height:18px;display:block}
.fbf__glifo--wa{background:#25D366;border-color:#25D366}
.fbf__glifo--wa img{width:20px;height:20px}
.fbf__ic:hover .fbf__glifo{border-color:var(--ambar-300)}
.fbf__ic:hover .fbf__glifo--wa{background:#1ebe5a;border-color:#1ebe5a}
.fbf__ic:focus-visible{outline:3px solid var(--ambar-300);outline-offset:0}

/* fb-prod.css (compartilhado) forca padding 2.5rem !important e row-gap 1.75rem em toda secao abaixo de 700px.
   Na vencedora, as secoes compactas precisam do proprio ritmo: sobrescrita por id, so aqui. */
@media (max-width:700px){
  #marcas{padding-block:1.25rem !important}
  #marcas .fbm-wrap{row-gap:var(--space-2) !important}
  #frentes{padding-top:1.75rem !important}
  #ponte2027{padding-top:2rem !important;padding-bottom:0 !important}
  #programa{padding-top:1.25rem !important}
}
