/* Seletor de idioma — mesmo componente do www.futture.ai (SITE/style.css de lá):
   bandeiras redondas; só a do idioma atual aparece, as outras deslizam ao passar o
   mouse, focar ou tocar (classe .open, posta pelo script do i18n.py). */
.langsw{display:inline-flex;align-items:center;gap:0;padding:0;border:none;background:none}
.langsw a{width:24px;height:24px;padding:0;border-radius:50%;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 0 0 1px rgba(0,0,0,.12);text-indent:-9999px;white-space:nowrap;flex:0 0 auto;transition:width .28s cubic-bezier(.4,0,.2,1),margin .28s cubic-bezier(.4,0,.2,1),opacity .22s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1),box-shadow .15s}
.langsw a[aria-current="true"]{opacity:1;box-shadow:0 0 0 2px var(--accent);cursor:pointer}
.langsw a:not([aria-current="true"]){width:0;margin-left:0;opacity:0;transform:translateX(-8px);pointer-events:none}
.langsw:hover a:not([aria-current="true"]),.langsw:focus-within a:not([aria-current="true"]),.langsw.open a:not([aria-current="true"]){width:24px;margin-left:8px;opacity:1;transform:none;pointer-events:auto}
.flag-us{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22%23fff%22%2F%3E%3Cg%20fill%3D%22%23b22234%22%3E%3Crect%20width%3D%2224%22%20height%3D%221.85%22%2F%3E%3Crect%20y%3D%223.7%22%20width%3D%2224%22%20height%3D%221.85%22%2F%3E%3Crect%20y%3D%227.4%22%20width%3D%2224%22%20height%3D%221.85%22%2F%3E%3Crect%20y%3D%2211.1%22%20width%3D%2224%22%20height%3D%221.85%22%2F%3E%3Crect%20y%3D%2214.8%22%20width%3D%2224%22%20height%3D%221.85%22%2F%3E%3Crect%20y%3D%2218.5%22%20width%3D%2224%22%20height%3D%221.85%22%2F%3E%3Crect%20y%3D%2222.15%22%20width%3D%2224%22%20height%3D%221.85%22%2F%3E%3C%2Fg%3E%3Crect%20width%3D%2211%22%20height%3D%229.25%22%20fill%3D%22%233c3b6e%22%2F%3E%3Cg%20fill%3D%22%23fff%22%3E%3Ccircle%20cx%3D%222%22%20cy%3D%222%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%222%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%222%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%223.5%22%20cy%3D%224%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%226.5%22%20cy%3D%224%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%222%22%20cy%3D%226%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%226%22%20r%3D%22.7%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%226%22%20r%3D%22.7%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
.flag-br{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22%23009c3b%22%2F%3E%3Cpath%20d%3D%22M12%203%2021%2012%2012%2021%203%2012Z%22%20fill%3D%22%23ffdf00%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224.3%22%20fill%3D%22%23002776%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
.flag-es{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%3Crect%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22%23c60b1e%22%2F%3E%3Crect%20y%3D%226%22%20width%3D%2224%22%20height%3D%2212%22%20fill%3D%22%23ffc400%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
/* espaço igual entre as bandeiras abertas, qualquer que seja a posição da atual */
.langsw:is(:hover,:focus-within,.open) a:not(#_){margin-left:0}
.langsw:is(:hover,:focus-within,.open) a+a:not(#_){margin-left:8px}  /* :not(#_) vence a regra copiada */
.nav-cta>.langsw{margin-right:14px}
@media (max-width:960px){.nav-cta>.langsw{margin-right:10px}}
@media (prefers-reduced-motion:reduce){.langsw a{transition:none}}
.mainnav .menu>li>a{white-space:nowrap}
/* 961–1200px: menu + seletor + botão não cabem; o botão sai (Contato continua no menu) */
@media (min-width:961px) and (max-width:1200px){.nav-cta>.btn{display:none}.mainnav .menu>li>a{padding:10px 10px}}

/* Grade de 4 cartões (etapas) — o .dcard-grid do style.min.css tem 3 colunas e deixava um cartão sozinho */
.dcard-grid--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.dcard-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.dcard-grid--4{grid-template-columns:1fr}}
