/* Home: Hero fullscreen (vídeo + degradê + logo central) e comportamento do menu sobre a Hero. */
.fb-hero{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;display:grid;place-items:center;min-height:100vh;min-height:100svh;padding:0;background:#060908;color:#fff}
.fb-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#060908}
/* Fallback: só aparece em erro real do vídeo (ou quando o vídeo nem é tentado). Nunca durante o carregamento normal. */
.fb-hero-fallback,.fb-hero-fallback img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.fb-hero-fallback{opacity:0;transition:opacity .5s ease}
.is-fallback .fb-hero-fallback,.fb-hero-fallback.is-shown{opacity:1}
.fb-hero-noscript{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Degradê preto: topo (menu), base (indicador) e vinheta leve; o aquário continua claramente visível. */
.fb-hero-media::after{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(ellipse at 50% 46%,#00000000 38%,#00000066 100%),linear-gradient(180deg,#000000b3 0,#00000047 24%,#00000052 58%,#000000d1 100%);pointer-events:none}
/* Degradê reforçado só no repouso (com o blur ativo): camada extra que entra/sai com a mesma transição do blur. */
.fb-hero-media::before{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(ellipse at 50% 46%,#00000052 0,#00000026 45%,#00000000 80%),linear-gradient(180deg,#00000066 0,#00000040 40%,#00000073 100%);opacity:0;transition:opacity .6s ease;pointer-events:none}
.fb-hero[data-state=resting] .fb-hero-media::before{opacity:1}
/* O iframe (16:9) cobre a viewport inteira sem distorcer; a escala extra esconde título e bordas do player. */
.fb-hero-stage{position:absolute;inset:0;z-index:1;overflow:hidden;opacity:0;transition:opacity .6s ease}
.is-playing .fb-hero-stage{opacity:1}
.fb-hero-stage iframe{position:absolute;top:50%;left:50%;width:max(100vw,177.78svh);height:max(56.25vw,100svh);transform:translate(-50%,-50%) scale(1.15);border:0;pointer-events:none}
.fb-hero-center{position:relative;z-index:3;display:grid;justify-items:center;width:min(100% - 48px,720px);text-align:center}
.fb-hero-center h1{margin:0;line-height:0}
.fb-hero-center h1 img{display:block;width:clamp(240px,36vw,560px);height:auto;filter:drop-shadow(0 6px 28px #00000080)}
/* Repouso: vídeo (ou fallback) com blur leve, só a logo branca no centro. Ao interagir (data-state="active"/"scrolled")
   o blur sai e a logo "vai" para o menu. O blur fica na iframe/imagem (a escala 1.15 esconde as bordas desfocadas). */
.fb-hero-stage iframe,.fb-hero-fallback img{transition:filter .6s ease}
.fb-hero[data-state=resting] .fb-hero-stage iframe,.fb-hero[data-state=resting] .fb-hero-fallback img{filter:blur(3px)}
.fb-hero-center h1 img{transition:opacity .3s ease,transform .3s ease}
.fb-hero.is-docked .fb-hero-center h1 img{opacity:0;transform:scale(.92)}
.fb-hero-flight{position:fixed;z-index:101;margin:0;pointer-events:none;transform-origin:0 0;will-change:transform,opacity;filter:drop-shadow(0 6px 28px #00000080)}
/* Reduced motion: sem trajeto, sem vídeo e sem blur animado; só um fade curto das logos. */
@media(prefers-reduced-motion:reduce){.fb-hero-stage{display:none}.fb-hero-stage iframe,.fb-hero-fallback img,.fb-hero-media::before{transition:none}.fb-hero-center h1 img{transition:opacity .2s linear}.fb-hero.is-docked .fb-hero-center h1 img{transform:none}}
@media(max-width:540px){.fb-hero-center h1 img{width:min(72vw,300px)}}

/* Menu sobre a Hero (somente desktop com mouse, ≥1280px): transparente em repouso, sólido (#1b2821) após a primeira
   interação. A logo do menu só aparece quando a logo da Hero "chega" a ela (header-reveal.js). Em telas de toque/mobile
   o menu (e o botão ☰) fica sempre visível e sólido. Sem JavaScript, o menu é sólido (ver <noscript> no base.html). */
.fb-header{isolation:isolate}
@media(min-width:1280px) and (hover:hover) and (pointer:fine){
  .fb-home .fb-header{transition:background-color .3s ease,border-color .3s ease}
  .fb-home .fb-header::before{content:"";position:absolute;z-index:-1;inset:0 0 -26px;background:linear-gradient(180deg,#000000b3,#00000000);opacity:1;transition:opacity .3s ease;pointer-events:none}
  .fb-home .fb-header:not(.is-awake){background-color:transparent;border-bottom-color:transparent}
  .fb-home .fb-header.is-awake::before{opacity:0}
  .fb-home .fb-logo{transition:opacity .22s ease}
  .fb-home .fb-header:not(.is-docked) .fb-logo{opacity:0;pointer-events:none}
  .fb-home .fb-header:not(.is-awake) .fb-nav-group>a,.fb-home .fb-header:not(.is-awake) .ec-contact-trigger,.fb-home .fb-header:not(.is-awake) .fb-tracking-trigger{text-shadow:0 1px 10px #0009}
}
@media(prefers-reduced-motion:reduce){.fb-home .fb-header,.fb-home .fb-header::before{transition:none!important}.fb-home .fb-logo{transition:opacity .2s linear!important}}
#animais{scroll-margin-top:var(--fb-header-h)}

/* Seção de marcas da Home: mesma linguagem de /marcas/ (cards compartilhados) com o selo como reforço institucional. */
.fb-brands-intro{margin-bottom:clamp(28px,4vw,52px);align-items:center}
.fb-brands-intro .fb-figure-seal{max-width:300px}
.fb-brands-intro .fb-actions{margin-top:22px}
@media(max-width:900px){.fb-brands-intro .fb-figure-seal{max-width:220px;order:-1;justify-self:center}}
#animais{scroll-margin-top:var(--fb-header-h)}

/* Modal "Seja um Parceiro": grafite Fish Brasil, detalhes em lima, blur discreto no fundo. */
.partner-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:0;border:1px solid #ffffff26;border-radius:22px;background:var(--fb-graphite-green,#1b2821);color:#fff;box-shadow:0 30px 80px #0009,inset 0 1px 0 #ffffff14}
.partner-dialog::backdrop{background:#0a110dbf;backdrop-filter:blur(4px)}
.partner-dialog[open]{animation:partner-in .22s cubic-bezier(.2,.8,.2,1)}
.partner-dialog.closing{animation:partner-out .16s ease-in forwards}
.partner-dialog.closing::backdrop{opacity:0;transition:opacity .16s}
@keyframes partner-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes partner-out{to{opacity:0;transform:translateY(8px) scale(.98)}}
.partner-panel{position:relative;padding:40px clamp(24px,6vw,40px) 32px;border-top:3px solid var(--fb-lime)}
.partner-mark{display:block;width:44px;height:auto;margin:0 0 18px}
.partner-eyebrow{margin:0 0 6px;color:var(--fb-lime);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.partner-dialog h2{margin:0 0 12px;color:#fff;font-family:'Outfit','Albert Sans',system-ui,sans-serif;font-size:clamp(24px,5.5vw,30px);line-height:1.15}
.partner-dialog p#partner-description{margin:0 0 26px;color:#ffffffd9;font-size:16px;line-height:1.6}
.partner-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:999px;background:var(--fb-lime);color:#17210f;font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:filter .2s,transform .2s}
.partner-cta:hover{filter:brightness(1.07);transform:translateY(-1px)}
.partner-later{display:block;margin:14px auto 0;padding:10px 16px;border:0;background:transparent;color:#ffffffb3;font:inherit;font-size:14px;cursor:pointer}
.partner-later:hover{color:#fff}
.partner-close{position:absolute;z-index:1;right:12px;top:14px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.partner-close:hover{background:#ffffff1f}
.partner-dialog :is(a,button):focus-visible{outline:2px solid var(--fb-lime);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.partner-dialog[open],.partner-dialog.closing{animation:none}}

/* Modal "Seja um Parceiro": cadastro completo e sucesso dentro do modal (a introdução acima não muda). */
.partner-dialog.is-form{display:flex;flex-direction:column;width:min(760px,calc(100% - 32px));height:min(780px,calc(100dvh - 32px));max-height:none;overflow:hidden}
.partner-flow{display:flex;flex-direction:column;flex:1;min-height:0;border-top:3px solid var(--fb-lime)}
.partner-flow-head{flex:none;padding:22px 72px 16px clamp(20px,5vw,40px);border-bottom:1px solid #ffffff1f}
.partner-flow-head .partner-eyebrow{margin-bottom:2px}
.partner-flow-head h2{margin:0;font-size:clamp(20px,4.6vw,26px)}
.partner-flow-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 clamp(20px,5vw,40px)}
.partner-loading,.partner-load-error{margin:24px 0;color:#ffffffd9}
.partner-dialog .pf{color:#fff}
.partner-dialog .pf-progress{position:sticky;top:0;z-index:2;margin:0 0 18px;padding-top:18px;background:var(--fb-graphite-green,#1b2821)}
.partner-dialog .pf-progress li{border-bottom-color:#ffffff33;color:#ffffffa6}
.partner-dialog .pf-progress li span{background:#ffffff26;color:#fff}
.partner-dialog .pf-progress li.done{border-color:var(--fb-lime)}.partner-dialog .pf-progress li.done span{background:var(--fb-lime);color:#17210f}
.partner-dialog .pf-progress li[aria-current]{border-color:var(--fb-lime);color:#fff}.partner-dialog .pf-progress li[aria-current] span{background:var(--fb-lime);color:#17210f}
.partner-dialog .pf-step>legend{color:#fff;font-size:clamp(19px,4vw,23px);margin-bottom:16px}
.partner-dialog .pf .application-fields{gap:16px 20px}
.partner-dialog .pf .application-field label,.partner-dialog .pf .pf-check{color:#fff}
.partner-dialog .pf label span[aria-hidden]{color:var(--fb-lime)}
.partner-dialog .pf .application-field small,.partner-dialog .pf-hint,.partner-dialog .pf-privacy,.partner-dialog #postal-notice{color:#ffffffb3}
.partner-dialog .pf-privacy a{color:var(--fb-lime)}
.partner-dialog .pf .application-field input:not([type=checkbox]),.partner-dialog .pf .application-field select,.partner-dialog .pf .application-field textarea{color:#17210f}
.partner-dialog .pf .application-field input[type=file]{padding:10px 12px}
.partner-dialog .pf .application-field input:focus-visible,.partner-dialog .pf .application-field select:focus-visible,.partner-dialog .pf .application-field textarea:focus-visible{outline:3px solid #e3fe4b99;border-color:var(--fb-lime)}
.partner-dialog .pf .application-field [aria-invalid=true]{border-color:#ff8a8a!important;box-shadow:0 0 0 2px #ff8a8a55}
.partner-dialog .pf .field-errors p,.partner-dialog .pf .field-errors ul{margin:6px 0 0;color:#ffb0b0;font-size:13.5px;font-weight:600;list-style:none;padding:0}
.partner-dialog .pf .application-errors:not(:empty){padding:12px 16px;margin:0 0 16px;border-left:3px solid #ff8a8a;background:#ff8a8a1f;color:#ffd0d0}
.partner-dialog .pf .application-errors p{margin:0}
.partner-dialog .pf .application-errors:focus{outline:none}
.partner-dialog #photo-preview{margin-top:10px}
.partner-dialog .pf-nav{position:sticky;bottom:0;margin:0 calc(-1 * clamp(20px,5vw,40px));padding:14px clamp(20px,5vw,40px) 16px;background:var(--fb-graphite-green,#1b2821);border-top:1px solid #ffffff1f}
.partner-dialog .pf-nav .fb-btn{min-height:48px;border-radius:999px;font-weight:800;letter-spacing:.04em}
.partner-dialog .pf-nav .fb-btn-primary{background:var(--fb-lime);color:#17210f}
.partner-dialog .pf-nav .fb-btn-outline{background:transparent;color:#fff;border:1.5px solid #ffffff8c}
.partner-dialog .pf-nav .fb-btn:disabled{opacity:.6;cursor:progress}
.partner-success:focus{outline:none}
.partner-success .partner-cta{width:100%}
.partner-confirm{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:20px;background:#0f1612e6;backdrop-filter:blur(2px)}
.partner-confirm[hidden]{display:none}
.partner-confirm-box{width:min(400px,100%);padding:30px 28px 26px;border:1px solid #ffffff26;border-top:3px solid var(--fb-lime);border-radius:20px;background:var(--fb-graphite-green,#1b2821);text-align:center;box-shadow:0 24px 60px #000a}
.partner-confirm-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:#e3fe4b1f;color:var(--fb-lime)}
.partner-confirm-box h3{margin:0 0 6px;color:#fff;font-family:'Outfit','Albert Sans',system-ui,sans-serif;font-size:22px;letter-spacing:-.01em}
.partner-confirm-box p{margin:0 0 24px;color:#ffffffbf;font-size:15.5px;line-height:1.5}
.partner-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.partner-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 14px;border-radius:999px;font:inherit;font-size:14px;font-weight:800;letter-spacing:.02em;line-height:1.2;cursor:pointer;transition:filter .2s,background .2s,border-color .2s}
.partner-btn-primary{border:1.5px solid var(--fb-lime);background:var(--fb-lime);color:#17210f}
.partner-btn-primary:hover{filter:brightness(1.07)}
.partner-btn-secondary{border:1.5px solid #ffffff59;background:transparent;color:#fff}
.partner-btn-secondary:hover{background:#ffffff1a;border-color:#ffffff99}
.partner-btn:focus-visible{outline:2px solid var(--fb-lime);outline-offset:3px}
@media(max-width:420px){.partner-confirm-actions{grid-template-columns:1fr}.partner-btn-primary{order:-1}}
@media(max-width:640px){.partner-dialog.is-form{width:calc(100% - 16px);height:calc(100dvh - 16px);border-radius:16px}.partner-dialog .pf-nav{gap:10px}}

/* Header: utilitários com mais respiro à direita (dentro da viewport) e símbolo da Fish Experience mais legível. */
@media(min-width:1280px){.fb-navigation{margin-right:calc(-1 * clamp(8px,1.5vw,28px))}.fb-nav-utility{padding-left:clamp(20px,2.4vw,44px)}}
/* Fish Experience: botão cheio em lima, texto e símbolo na cor do menu (#1b2821). */
.fb-navigation .fb-login.fb-experience{background:var(--fb-lime);border-color:var(--fb-lime);color:var(--fb-graphite-green)}
.fb-navigation .fb-login.fb-experience:hover{background:#f1ff8a;border-color:#f1ff8a;color:var(--fb-graphite-green)}
.fb-experience img{width:24px;filter:brightness(0)}
.fb-experience:hover img{filter:brightness(0)}
.fb-experience{gap:8px}
.partner-success>p:not(.partner-eyebrow){margin:0 0 26px;color:#ffffffd9;font-size:16px;line-height:1.6}
.partner-dialog .pf-nav .fb-btn{white-space:nowrap}

/* Vitrine de animais (Peixes, Corais, Invertebrados): títulos legíveis mesmo sobre fotos claras. */
.fb-tiles-3 .fb-tile-photo::after{background:linear-gradient(180deg,#37353600 28%,#373536a6 62%,#373536f2 100%)}
.fb-tiles-3 .fb-tile-photo .fb-tile-label{text-shadow:0 2px 16px #0000008c}

/* Vitrine de animais: faixa de borda a borda, fotos coladas (sem espaço nem cantos arredondados). */
#animais.fb-section{padding-block:0}
.fb-tiles-bleed{position:relative;width:100%;gap:0}
.fb-tiles-bleed .fb-tile-photo{min-height:clamp(340px,40vw,620px);border-radius:0;padding-inline:clamp(24px,3vw,48px);padding-bottom:clamp(68px,6.4vw,92px)}
.fb-tiles-bleed .fb-tile-photo:hover{transform:none}
.fb-tiles-bleed .fb-tile-photo{overflow:hidden}
@media(max-width:900px){.fb-tiles-bleed .fb-tile-photo{min-height:clamp(240px,60vw,360px)}}
/* Título da seção: legenda discreta, centralizada no pé da faixa de fotos. */
.fb-band-caption{position:absolute;left:0;right:0;bottom:clamp(14px,1.8vw,24px);z-index:2;display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;padding:0 16px;text-align:center;color:#fff;pointer-events:none;text-shadow:0 1px 12px #000a}
.fb-band-caption .fb-kicker{margin:0;color:var(--fb-lime);font-size:11px}
.fb-band-caption h2{margin:0;color:#fff;font-size:clamp(14px,1.3vw,18px);font-weight:600;letter-spacing:0}

/* Faixa de apresentação entre a Hero (vídeo) e a vitrine de animais. */
.fb-intro-band{padding:clamp(56px,7vw,104px) 0;background:#fff;text-align:center}
.fb-intro-band .fb-intro-lead{max-width:46ch;margin:0 auto;color:var(--fb-charcoal);font-family:'Outfit','Albert Sans',system-ui,sans-serif;font-size:clamp(20px,2.3vw,32px);font-weight:500;line-height:1.35;letter-spacing:-.01em;text-wrap:balance}
.fb-intro-band .fb-timeline{text-align:left}
.fb-intro-band .fb-timeline p{margin:0;max-width:none;font-size:15px;line-height:1.55;color:var(--muted,#5b625e)}
@media(min-width:900px){
  .fb-timeline-h{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin:clamp(40px,5vw,72px) 0 0;padding:34px 0 0}
  .fb-timeline-h::before{left:0;right:0;top:7px;bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,var(--fb-green),var(--fb-lime))}
  .fb-timeline-h li{padding:0}
  .fb-timeline-h li::before{left:0;top:-34px}
}

/* Experiência em destaque: anos de aquarismo e anos de Fish Brazil. */
.fb-experience-stats{list-style:none;display:flex;justify-content:center;gap:clamp(32px,8vw,120px);margin:0 0 clamp(20px,2.4vw,32px);padding:0}
.fb-experience-stats li{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);text-align:left}
.fb-experience-stats strong{font-family:'Outfit','Albert Sans',system-ui,sans-serif;font-size:clamp(64px,9vw,128px);font-weight:700;line-height:.9;letter-spacing:-.05em;color:var(--fb-green)}
.fb-experience-stats strong span{color:var(--fb-green-dark);font-size:.55em;vertical-align:.35em;margin-right:2px}
.fb-experience-stats li>span{display:flex;flex-direction:column;color:var(--fb-charcoal);font-size:clamp(16px,1.7vw,24px);font-weight:600;line-height:1.2}
.fb-experience-stats small{margin-top:4px;color:var(--muted,#5b625e);font-size:clamp(13px,1.1vw,15px);font-weight:500}
.fb-intro-band .fb-intro-note{max-width:52ch;margin:0 auto;color:var(--muted,#5b625e);font-size:clamp(15px,1.3vw,18px);line-height:1.55;text-wrap:balance}
@media(max-width:640px){.fb-experience-stats{flex-direction:column;align-items:center;gap:20px}}

/* Modal "Rastrear pedido": mesma família visual do modal de parceiro (.partner-dialog). */
.tracking-modal{width:min(480px,calc(100% - 32px))}
.tracking-modal .tracking-state>p{color:#ffffffd9;font-size:16px;line-height:1.6}
.tracking-form{display:grid;gap:8px;margin-top:22px}
.tracking-form label{color:#fff;font-size:14px;font-weight:650}
.tracking-form input{width:100%;min-height:52px;padding:12px 16px;border:1.5px solid #ffffff40;border-radius:14px;background:#ffffff12;color:#fff;font:inherit;font-size:17px;letter-spacing:.04em;transition:border-color .2s,background .2s}
.tracking-form input::placeholder{color:#ffffff80;letter-spacing:0}
.tracking-form input:focus-visible{outline:none;border-color:var(--fb-lime);background:#ffffff1c;box-shadow:0 0 0 3px #e3fe4b40}
.tracking-form input[aria-invalid=true]{border-color:#ff8a8a}
.tracking-error{margin:0;color:#ffb0b0;font-size:14px;font-weight:600}
.tracking-form .partner-cta{margin-top:10px;width:100%;border:0;cursor:pointer;font:inherit;font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.tracking-loading{display:flex;align-items:center;gap:12px;margin:26px 0}
.tracking-spinner{width:20px;height:20px;border:2.5px solid #ffffff40;border-top-color:var(--fb-lime);border-radius:50%;animation:tracking-spin .8s linear infinite}
@keyframes tracking-spin{to{transform:rotate(360deg)}}
.tracking-found-label{margin:22px 0 4px;color:var(--fb-lime)!important;font-size:12px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tracking-carrier{margin:0 0 14px;color:#fff;font-family:'Outfit','Albert Sans',system-ui,sans-serif;font-size:clamp(30px,6vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.tracking-carrier:focus,.tracking-message:focus{outline:none}
.tracking-facts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.tracking-facts div{padding:10px 16px;border:1px solid #ffffff26;border-radius:14px;background:#ffffff0d}
.tracking-facts dt{color:#ffffffa6;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.tracking-facts dd{margin:2px 0 0;color:#fff;font-size:18px;font-weight:700;letter-spacing:.04em}
.tracking-note{margin:12px 0 0!important;color:#ffffffa6!important;font-size:13.5px!important;text-align:center}
.tracking-message{margin:24px 0 8px!important;font-size:18px!important;color:#fff!important}
.tracking-modal .tracking-state .partner-later{margin-top:10px}
.tracking-contact{margin:22px 0 0;padding-top:16px;border-top:1px solid #ffffff1f;color:#ffffffa6;font-size:13.5px;text-align:center}
.tracking-contact a{color:var(--fb-lime)}
@media(prefers-reduced-motion:reduce){.tracking-spinner{animation:none}}
.tracking-modal .tracking-state>p.tracking-carrier{margin:0 0 14px;color:#fff;font-size:clamp(32px,6vw,42px)!important;line-height:1.1}
.tracking-facts div{display:flex;flex-direction:column}
.tracking-modal .partner-cta{padding:0 22px;font-size:14px;letter-spacing:.05em;text-align:center}
.tracking-modal .tracking-found-label{margin-top:22px!important}
.tracking-modal .partner-cta{white-space:nowrap;font-size:clamp(12px,3.3vw,14px);letter-spacing:.03em;padding:0 16px}
.tracking-facts dt,.tracking-facts dd{line-height:1.3}
.tracking-hint{margin:0;color:#ffffffa6;font-size:13.5px}

/* Onde encontrar (Home): faixa escura com mapa do Brasil decorativo; estados com parceiros em lima. */
.fb-where{position:relative;overflow:hidden;isolation:isolate}
.fb-where::before{content:"";position:absolute;z-index:-1;right:-10%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e3fe4b24,#e3fe4b00 66%)}
.fb-where-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,6vw,96px);align-items:center}
.fb-where-text h2{max-width:14ch;margin:6px 0 14px;color:#fff;font-size:clamp(34px,4.6vw,60px);line-height:1.04;letter-spacing:-.035em}
.fb-where-text>p:not(.fb-kicker){max-width:36ch;margin:0 0 28px;color:#ffffffc7;font-size:clamp(17px,1.5vw,20px);line-height:1.55}
.fb-where-cta{background:var(--fb-lime);color:#17210f;font-weight:800;border:0}
.fb-where-cta:hover{filter:brightness(1.07);background:var(--fb-lime);color:#17210f}
.fb-where-map{display:block;width:100%;max-height:min(520px,60vw);margin-inline:auto;filter:drop-shadow(0 18px 30px #0006)}
.fb-where-map path{fill:#ffffff14;stroke:#ffffff59;stroke-width:380;stroke-linejoin:round}
.fb-where-map path.has-partners{fill:var(--fb-lime);stroke:#1b2821}
@media(max-width:900px){.fb-where-grid{grid-template-columns:1fr}.fb-where-map{order:-1;max-height:300px}.fb-where-text h2{max-width:none}}

/* Para parceiros (Home): cartão em duas partes, chamada em lima e benefícios em grafite. */
.fb-b2b{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);overflow:hidden;border-radius:28px;box-shadow:0 22px 56px #1b282122}
.fb-b2b-main{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(28px,4.6vw,64px);background:var(--fb-lime);color:var(--fb-charcoal)}
.fb-b2b-main .fb-kicker{margin:0 0 8px;color:var(--fb-green-dark)}
.fb-b2b-main h2{margin:0 0 14px;max-width:16ch;font-size:clamp(30px,3.6vw,48px);line-height:1.06;letter-spacing:-.035em}
.fb-b2b-main>p:not(.fb-kicker){margin:0 0 28px;max-width:38ch;color:var(--fb-charcoal);font-size:clamp(16px,1.4vw,19px);line-height:1.55}
.fb-b2b-cta{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;background:var(--fb-graphite-green,#1b2821);color:#fff;font-weight:800;font-size:15px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.fb-b2b-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1b282155}
.fb-b2b-cta:focus-visible{outline:3px solid var(--fb-green);outline-offset:3px}
.fb-b2b-benefits{list-style:none;margin:0;padding:clamp(24px,3.4vw,48px);display:grid;align-content:center;gap:clamp(12px,1.6vw,18px);background:var(--fb-graphite-green,#1b2821)}
.fb-b2b-benefits li{display:flex;align-items:center;gap:16px;padding:clamp(14px,1.6vw,20px) clamp(16px,1.8vw,22px);border:1px solid #ffffff1f;border-radius:18px;background:linear-gradient(135deg,#ffffff14,#ffffff05);color:#ffffffc7;font-size:15px;line-height:1.45}
.fb-b2b-benefits strong{display:block;margin-bottom:2px;color:#fff;font-size:clamp(16px,1.4vw,18px)}
.fb-b2b-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:var(--fb-lime);color:#17210f}
@media(max-width:900px){.fb-b2b{grid-template-columns:1fr}.fb-b2b-main h2{max-width:none}}
