/* Site institucional da Cortes Immigration. Paleta e fontes: identidade/design-guide.md. Playfair com lnum para o número não sair em estilo antigo. */
:root {
  --navy: #1A2F5C; --navy-fundo: #142649; --creme: #F8F4EC; --vermelho: #C8102E; --vermelho2: #A50D26; --branco: #FFFFFF;
  --texto: #1A2F5C; --texto2: #4A5775; --linha: rgba(26, 47, 92, .14); --rosa: #E8A0AA;
  --serifa: 'Playfair Display', Georgia, serif; --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif; --caps: 'Cinzel', Georgia, serif;
  --larg: 1180px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { font-family: var(--sans); color: var(--texto); background: var(--creme); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; font-feature-settings: 'lnum' 1; overflow-wrap: break-word; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
ul, ol { list-style: none; }
svg { width: 16px; height: 16px; fill: currentColor; flex: none; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--vermelho); outline-offset: 2px; }
.cx { max-width: var(--larg); margin: 0 auto; padding: 0 24px; }
.estreito { max-width: 820px; }
h1, h2, h3 { font-family: var(--serifa); font-weight: 600; line-height: 1.15; }
h2 { font-size: clamp(28px, 3.2vw, 40px); }
h3 { font-size: 22px; }
.pular { position: absolute; left: -9999px; top: 0; background: #fff; padding: 10px 16px; z-index: 100; }
.pular:focus { left: 8px; top: 8px; }
.eyebrow { font-family: var(--caps); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--vermelho); font-weight: 600; margin-bottom: 12px; }
.lead { font-size: 19px; color: var(--texto2); max-width: 720px; line-height: 1.55; }
.txt { color: var(--texto2); margin-top: 14px; }
.centro { text-align: center; }
.mt { margin-top: 28px; }
.mt-g { margin-top: 56px; }
.nota { font-size: 14px; color: var(--texto2); }

/* Botões e links */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: var(--vermelho); color: #fff; text-decoration: none; font-weight: 600; font-size: 16px; line-height: 1.25; padding: 15px 26px; border-radius: 3px; border: 1px solid var(--vermelho); cursor: pointer; transition: background .2s; text-align: center; }
.botao:hover { background: var(--vermelho2); border-color: var(--vermelho2); }
.botao.contorno { background: transparent; border-color: rgba(255, 255, 255, .5); }
.botao.contorno:hover { background: rgba(255, 255, 255, .1); }
.botao.contorno-escuro { background: transparent; border-color: var(--navy); color: var(--navy); }
.botao.contorno-escuro:hover { background: var(--navy); color: #fff; }
.botao[disabled] { opacity: .65; cursor: default; }
.seta { width: 18px; height: 18px; }
.link-seta { display: inline-flex; align-items: center; gap: 8px; color: var(--vermelho); font-weight: 600; font-size: 15.5px; text-decoration: none; margin-top: 16px; }
.link-seta:hover { text-decoration: underline; }
.link-seta.claro { color: #fff; }

/* Barra de contato */
.util { background: var(--navy-fundo); color: rgba(255, 255, 255, .88); font-size: 13.5px; }
.util .cx { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 40px; }
.util-esq { display: flex; gap: 22px; align-items: center; min-width: 0; }
.util-esq a { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; white-space: nowrap; }
.util-esq a:hover { color: #fff; text-decoration: underline; }
.util-esq svg { width: 14px; height: 14px; opacity: .8; }
.util-dir { display: flex; align-items: center; gap: 16px; flex: none; }
.redes { display: flex; gap: 10px; align-items: center; }
.redes a { display: inline-flex; padding: 3px; color: inherit; }
.redes a:hover { color: #fff; }
.idiomas { display: flex; gap: 2px; }
.idiomas a { display: block; padding: 6px 8px; border-radius: 3px; color: rgba(255, 255, 255, .8); text-decoration: none; font-size: 13px; font-weight: 600; letter-spacing: .03em; line-height: 1; }
.idiomas a:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.idiomas a[aria-current="true"] { background: rgba(255, 255, 255, .18); color: #fff; }

/* Cabeçalho */
.topo { background: #fff; border-bottom: 1px solid var(--linha); position: sticky; top: 0; z-index: 40; }
.topo .cx { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px; position: relative; }
.marca { display: block; flex: none; }
.marca img { height: 56px; width: auto; }
.menu { display: flex; align-items: center; }
.menu-lista { display: flex; align-items: center; gap: 4px; }
.menu-lista > li > a { display: block; padding: 28px 11px; font-size: 15px; font-weight: 500; text-decoration: none; white-space: nowrap; position: relative; }
.menu-lista > li > a:hover { color: var(--vermelho); }
.menu-lista > li > a[aria-current="page"]::after { content: ''; position: absolute; left: 11px; right: 11px; bottom: 20px; height: 2px; background: var(--vermelho); }
.menu-extra, .abre-menu, .abre-sub { display: none; }
.sub { display: none; position: absolute; left: 24px; right: 24px; top: 100%; background: #fff; border: 1px solid var(--linha); border-top: 2px solid var(--vermelho); box-shadow: 0 18px 40px rgba(20, 38, 73, .14); padding: 26px 30px; }
.tem-sub:hover .sub, .tem-sub:focus-within .sub { display: block; }
.sub-grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.menu-g { font-family: var(--caps); font-size: 12.5px; letter-spacing: .1em; color: var(--texto2); text-transform: uppercase; font-weight: 600; margin-bottom: 8px; }
.sub a { display: block; padding: 5px 0; text-decoration: none; font-weight: 500; font-size: 15.5px; }
.sub a:hover { color: var(--vermelho); }

/* Abertura da home */
.hero { position: relative; background: var(--navy-fundo); color: #fff; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background: url(colunas.jpg) center / cover; opacity: .14; }
.hero .hero-grade { position: relative; display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: center; padding-top: 72px; padding-bottom: 72px; }
.hero .eyebrow { color: var(--rosa); }
.hero h1 { font-size: clamp(34px, 4vw, 52px); margin-bottom: 20px; }
.hero .lead { color: rgba(255, 255, 255, .84); margin-bottom: 30px; font-size: 18px; }
.acoes { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-fotos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hero-fotos a { display: block; text-decoration: none; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); }
.hero-fotos img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.hero-fotos span { display: block; padding: 12px 14px 14px; font-size: 13.5px; line-height: 1.35; color: rgba(255, 255, 255, .78); }
.hero-fotos b { display: block; font-family: var(--serifa); font-weight: 600; font-size: 18px; color: #fff; margin-bottom: 3px; }
.faixa { background: #fff; border-bottom: 1px solid var(--linha); }
.faixa .cx { display: grid; grid-template-columns: repeat(4, 1fr); }
.faixa .cx > div { padding: 26px 22px; border-right: 1px solid var(--linha); }
.faixa .cx > div:first-child { padding-left: 0; }
.faixa .cx > div:last-child { border-right: 0; }
.faixa b { display: block; font-family: var(--serifa); font-size: 27px; line-height: 1.15; font-weight: 600; }
.faixa span { display: block; font-size: 14px; color: var(--texto2); line-height: 1.45; margin-top: 5px; }

/* Blocos */
.bloco { padding: 80px 0; }
.fundo-branco { background: #fff; }
.fundo-navy { background: var(--navy); color: #fff; }
.fundo-navy .eyebrow { color: var(--rosa); }
.cab-sec { margin-bottom: 40px; max-width: 760px; }
.cab-sec .lead { margin-top: 12px; }
.duas { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.valores { display: grid; gap: 14px; }
.valores li { background: #fff; border-left: 3px solid var(--navy); padding: 20px 24px; }
.valores b { display: block; font-family: var(--serifa); font-size: 21px; font-weight: 600; margin-bottom: 3px; }
.valores span { color: var(--texto2); font-size: 15.5px; }
.valores.tres { grid-template-columns: repeat(3, 1fr); }
.valores.tres li { background: var(--creme); }

/* Áreas */
.grupo-rotas { margin-top: 34px; }
.grupo-rotas:first-child, .par-grupos .grupo-rotas { margin-top: 0; }
.grupo-t { font-family: var(--caps); font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--texto2); padding-bottom: 10px; margin-bottom: 18px; border-bottom: 1px solid var(--linha); line-height: 1.4; }
.grupo-t.maior { font-size: 15px; color: var(--navy); }
.grade-rotas { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.grupo-temp .grade-rotas { grid-template-columns: repeat(4, 1fr); }
.grupo-gc .card-rota:first-child { grid-column: span 2; }
.par-grupos { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.par-grupos .grade-rotas { grid-template-columns: 1fr !important; }
.card-rota { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--linha); padding: 24px 24px 22px; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.fundo-branco .card-rota { background: var(--creme); }
.card-rota:hover { border-color: var(--navy); box-shadow: 0 10px 28px rgba(26, 47, 92, .1); }
.card-rota h3 { font-size: 27px; margin: 0 0 2px; }
.sub-rota { font-size: 14px; font-weight: 600; color: var(--texto2); margin-bottom: 10px; }
.card-rota p:not(.sub-rota) { font-size: 15px; color: var(--texto2); line-height: 1.55; flex: 1; }
.card-rota .link-seta { margin-top: 14px; font-size: 14.5px; }
.selo { align-self: flex-start; font-size: 11.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; padding: 3px 9px; border-radius: 2px; background: rgba(26, 47, 92, .09); color: var(--navy); }
.selo-gc { background: rgba(200, 16, 46, .1); color: var(--vermelho2); }
.selo-cab { display: inline-block; background: rgba(255, 255, 255, .14); color: #fff; margin-bottom: 14px; }

/* Advogados e equipe */
.grade-advs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.card-adv { display: grid; grid-template-columns: 200px 1fr; gap: 24px; background: #fff; border: 1px solid var(--linha); padding: 22px; }
.fundo-branco .card-adv { background: var(--creme); }
.foto-adv img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.card-adv h3 { font-size: 24px; }
.card-adv h3 a { text-decoration: none; }
.card-adv h3 a:hover { color: var(--vermelho); }
.cargo { font-family: var(--caps); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--vermelho); font-weight: 600; margin: 5px 0 10px; line-height: 1.4; }
.card-adv p:not(.cargo) { font-size: 15px; color: var(--texto2); line-height: 1.55; }
.grade-pessoas { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; }
.card-pessoa { display: block; text-decoration: none; }
.card-pessoa img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center top; margin-bottom: 12px; }
.card-pessoa h3 { font-size: 20px; }
.card-pessoa:hover h3 { color: var(--vermelho); }
.card-pessoa p { font-size: 14.5px; color: var(--texto2); line-height: 1.4; margin-top: 3px; }
.bio { display: grid; grid-template-columns: 340px 1fr; gap: 56px; align-items: start; }
.bio-foto { position: sticky; top: 110px; }
.bio-foto img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center top; }

/* Depoimentos */
.grade-depos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.grade-depos.colunas { display: block; column-count: 3; column-gap: 20px; }
.grade-depos.colunas .depo { break-inside: avoid; margin-bottom: 20px; }
.depo { background: #fff; color: var(--navy); padding: 28px 26px; border: 1px solid var(--linha); display: flex; flex-direction: column; }
.aspas { font-family: var(--serifa); font-size: 56px; line-height: .7; color: var(--vermelho); height: 28px; display: block; }
.depo blockquote { font-size: 15.5px; color: var(--texto2); line-height: 1.6; flex: 1; }
.depo figcaption { font-family: var(--serifa); font-weight: 600; font-size: 19px; margin-top: 16px; }
.nota-clara { color: rgba(255, 255, 255, .75); font-size: 14px; margin-top: 20px; }

/* Imprensa */
.card-imp { background: var(--creme); border-top: 3px solid var(--navy); padding: 22px 24px; margin-top: 18px; }
.card-imp .fonte { font-family: var(--caps); font-size: 13px; letter-spacing: .08em; font-weight: 600; color: var(--vermelho); }
.card-imp .fonte span { color: var(--texto2); font-family: var(--sans); letter-spacing: 0; font-weight: 400; margin-left: 6px; }
.card-imp h3, .card-imp h2 { margin: 8px 0 8px; font-size: 22px; line-height: 1.25; }
.card-imp p:not(.fonte):not(.nota):not(.idioma-art) { color: var(--texto2); font-size: 15.5px; }
.card-imp .nota { margin-top: 10px; font-size: 13.5px; }
.card-imp.grande { background: #fff; padding: 32px 34px; margin: 0 0 22px; border: 1px solid var(--linha); border-top: 3px solid var(--navy); }
.card-imp.grande h2 { font-size: clamp(24px, 3vw, 32px); }
.card-imp.grande .botao { margin-top: 18px; }
.idioma-art { font-size: 14px; font-weight: 600; color: var(--texto2); margin-bottom: 6px; }
.lista-imp { max-width: 860px; }
.outros-imp { margin: 12px 0 22px; padding: 28px 30px; background: var(--creme); border-top: 3px solid var(--navy); }
.outros-imp h2 { font-size: 22px; margin: 0 0 6px; }
.outros-imp ul { list-style: none; padding: 0; margin: 16px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px 18px; }
.outros-imp li a { color: var(--navy); font-size: 15px; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.prosa .texto-bloco h3 { font-size: 18px; margin: 18px 0 6px; }

/* Contato */
.lista-contato { display: grid; gap: 16px; margin: 20px 0 24px; }
.lista-contato li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; }
.lista-contato svg { width: 20px; height: 20px; color: var(--vermelho); margin-top: 3px; }
.lista-contato b { display: block; font-size: 13px; font-weight: 600; color: var(--texto2); text-transform: uppercase; letter-spacing: .05em; line-height: 1.5; }
.lista-contato a { text-decoration: none; font-weight: 500; }
.lista-contato a:hover { text-decoration: underline; }
.contato-grade { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
.contato-info h2 { font-size: 28px; }
.rot-redes { font-size: 13px; font-weight: 600; color: var(--texto2); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 6px; }
.redes.escuras svg { width: 22px; height: 22px; }
.redes.escuras a { color: var(--navy); }
.form, .ok { background: #fff; border: 1px solid var(--linha); padding: 34px 36px; }
.form h2, .ok h2 { font-size: 28px; margin-bottom: 18px; }
.ok { border-top: 3px solid var(--navy); }
.ok p { color: var(--texto2); }
.grade-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 16px; }
.campo { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.cheio { grid-column: 1 / -1; }
.campo label { font-size: 14px; font-weight: 600; }
.campo input, .campo select, .campo textarea { font: inherit; font-size: 16px; color: var(--navy); background: #fff; border: 1px solid rgba(26, 47, 92, .35); border-radius: 3px; padding: 11px 12px; width: 100%; min-width: 0; }
.campo textarea { resize: vertical; }
.campo .invalido { border-color: var(--vermelho); }
.erro { color: var(--vermelho2); font-size: 13.5px; line-height: 1.35; }
.erro:empty { display: none; }
.armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.check { display: grid; grid-template-columns: 20px 1fr; gap: 10px; font-size: 14.5px; line-height: 1.45; color: var(--texto2); align-items: start; margin-top: 4px; }
.check input { width: 18px; height: 18px; margin-top: 2px; }
.aviso-form { font-size: 13.5px; color: var(--texto2); margin: 14px 0; }
.aviso-previa { font-size: 13.5px; font-weight: 600; background: rgba(26, 47, 92, .07); padding: 9px 12px; margin-bottom: 14px; }
.erro-envio { color: var(--vermelho2); font-size: 14.5px; margin-bottom: 12px; }

/* Páginas internas */
.cab { position: relative; background: var(--navy-fundo); color: #fff; overflow: hidden; }
.cab::before { content: ''; position: absolute; inset: 0; background: url(colunas.jpg) center 35% / cover; opacity: .13; }
.cab .cx { position: relative; padding-top: 40px; padding-bottom: 52px; }
.cab h1 { font-size: clamp(34px, 4.4vw, 54px); margin-bottom: 12px; }
.cab .lead { color: rgba(255, 255, 255, .84); max-width: 780px; }
.trilha { margin-bottom: 26px; font-size: 13.5px; color: rgba(255, 255, 255, .72); }
.trilha ol { display: flex; flex-wrap: wrap; gap: 4px 8px; }
.trilha li + li::before { content: '/'; margin-right: 8px; opacity: .55; }
.trilha a { text-decoration: none; }
.trilha a:hover { color: #fff; text-decoration: underline; }
.com-lado { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
.prosa p { color: var(--texto2); margin-bottom: 14px; }
.prosa h2 { font-size: clamp(25px, 2.6vw, 31px); margin-bottom: 12px; }
.texto-bloco { margin-bottom: 38px; }
.sub-grande { font-family: var(--caps); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; color: var(--vermelho) !important; margin-bottom: 22px !important; }
.marcada { display: grid; gap: 9px; margin: 6px 0 16px; }
.marcada li { position: relative; padding-left: 22px; color: var(--texto2); line-height: 1.55; }
.marcada li::before { content: ''; position: absolute; left: 0; top: 11px; width: 10px; height: 2px; background: var(--vermelho); }
.faq details { border-bottom: 1px solid var(--linha); }
.faq summary { list-style: none; cursor: pointer; padding: 16px 34px 16px 0; font-weight: 600; font-size: 17px; line-height: 1.4; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 4px; top: 11px; font-weight: 400; font-size: 25px; color: var(--vermelho); }
.faq details[open] summary::after { content: '\2212'; }
.faq details p { padding-bottom: 8px; }
.aviso-rota { font-size: 14px !important; padding: 14px 18px; background: #fff; border-left: 3px solid var(--navy); }
.lado { display: grid; gap: 22px; position: sticky; top: 104px; }
.cartao-fale { background: var(--navy); color: #fff; padding: 26px; }
.cartao-fale h2, .cartao-rel h2, .irma h2 { font-size: 22px; margin-bottom: 8px; }
.cartao-fale p { color: rgba(255, 255, 255, .82); font-size: 15px; margin-bottom: 16px; }
.cartao-fale .botao { width: 100%; }
.cartao-fale .fone-lado { margin: 14px 0 0; text-align: center; }
.fone-lado a { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; font-weight: 600; }
.cartao-rel { background: #fff; border: 1px solid var(--linha); padding: 24px 26px; }
.cartao-rel li { border-bottom: 1px solid var(--linha); }
.cartao-rel li a { display: block; padding: 10px 0; text-decoration: none; font-weight: 600; }
.cartao-rel li a:hover { color: var(--vermelho); }
.cartao-rel li span { display: block; font-size: 13.5px; font-weight: 400; color: var(--texto2); line-height: 1.35; }
.foto-lado img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.foto-lado figcaption { background: var(--navy); color: rgba(255, 255, 255, .8); padding: 12px 16px; font-size: 14px; line-height: 1.4; }
.foto-lado b { display: block; font-family: var(--serifa); font-weight: 600; font-size: 19px; color: #fff; }
.irma { background: #fff; border-left: 3px solid var(--vermelho); padding: 22px 24px; margin-top: 24px; }
.lado .irma { margin-top: 0; }
.irma p { font-size: 15px; color: var(--texto2); margin: 0; }
.irma .link-seta { margin-top: 10px; font-size: 14.5px; }
.fundo-branco .irma { background: var(--creme); }
.passos { counter-reset: p; margin-top: 18px; }
.passos li { counter-increment: p; position: relative; padding: 0 0 22px 56px; }
.passos li::before { content: counter(p); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--navy); font-family: var(--serifa); font-size: 18px; font-weight: 600; display: grid; place-items: center; background: #fff; }
.passos li:not(:last-child)::after { content: ''; position: absolute; left: 19px; top: 38px; bottom: 0; width: 1px; background: var(--linha); }
.passos h3 { font-size: 20px; margin-bottom: 3px; padding-top: 6px; }
.passos p { font-size: 15px; color: var(--texto2); line-height: 1.5; }
.faixa-rascunho { background: var(--vermelho); color: #fff; padding: 14px 18px; font-weight: 600; font-size: 15px; margin-bottom: 8px; }
.estreito .prosa { margin-top: 28px; }

/* Rodapé */
.rodape { background: var(--navy-fundo); color: rgba(255, 255, 255, .8); padding: 60px 0 30px; font-size: 14.5px; }
.rod-grade { display: grid; grid-template-columns: 1.3fr .9fr 1.2fr 1.2fr; gap: 36px; }
.rod-marca img { height: 64px; width: auto; margin-bottom: 14px; }
.rod-marca p { max-width: 280px; margin-bottom: 12px; line-height: 1.5; }
.rod-t { font-family: var(--caps); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #fff; font-weight: 600; margin-bottom: 12px; }
.rodape li { margin-bottom: 7px; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: #fff; text-decoration: underline; }
.rod-duas { columns: 2; column-gap: 16px; }
.rod-duas li { break-inside: avoid; }
.rod-contato a { display: grid; grid-template-columns: 18px 1fr; gap: 9px; }
.rod-contato svg { margin-top: 4px; }
.rodape .redes { gap: 12px; }
.rodape .redes li { margin: 0; }
.rodape .redes svg { width: 20px; height: 20px; }
.rod-irma { margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .14); }
.rod-irma a { color: #fff; text-decoration: underline; }
.disclaimer { margin-top: 14px; font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, .7); }
.copy { margin-top: 14px; font-size: 13px; color: rgba(255, 255, 255, .6); }

/* Aviso de cookies (só na produção do .com) */
.cookies { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 60; max-width: 620px; margin: 0 auto; background: #fff; border: 1px solid var(--linha); box-shadow: 0 16px 40px rgba(20, 38, 73, .25); padding: 16px 18px; font-size: 14.5px; }
.cookies[hidden] { display: none; }
.cookies div { display: flex; gap: 10px; margin-top: 10px; }
.cookies .botao { padding: 9px 18px; font-size: 14.5px; }

@media (max-width: 1120px) {
  .so-largo { display: none; }
  .topo .cx { min-height: 68px; }
  .marca img { height: 48px; }
  .abre-menu { display: inline-flex; align-items: center; gap: 9px; background: none; border: 1px solid var(--linha); border-radius: 3px; padding: 9px 12px; color: var(--navy); font-weight: 600; font-size: 14.5px; cursor: pointer; }
  .barras, .barras::before, .barras::after { display: block; width: 18px; height: 2px; background: var(--navy); position: relative; }
  .barras::before, .barras::after { content: ''; position: absolute; left: 0; }
  .barras::before { top: -6px; } .barras::after { top: 6px; }
  .abre-menu[aria-expanded="true"] .barras { background: transparent; }
  .abre-menu[aria-expanded="true"] .barras::before { top: 0; transform: rotate(45deg); }
  .abre-menu[aria-expanded="true"] .barras::after { top: 0; transform: rotate(-45deg); }
  .menu { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--linha); box-shadow: 0 18px 30px rgba(20, 38, 73, .18); padding: 8px 24px 22px; flex-direction: column; align-items: stretch; max-height: calc(100vh - 110px); overflow-y: auto; }
  .menu.aberto { display: flex; }
  .menu-lista { flex-direction: column; align-items: stretch; gap: 0; }
  .menu-lista > li { border-bottom: 1px solid var(--linha); position: relative; }
  .menu-lista > li > a { padding: 14px 0; font-size: 16.5px; }
  .menu-lista > li > a[aria-current="page"] { color: var(--vermelho); }
  .menu-lista > li > a[aria-current="page"]::after { display: none; }
  .abre-sub { display: block; position: absolute; right: -6px; top: 4px; width: 44px; height: 44px; background: none; border: 0; cursor: pointer; }
  .abre-sub::before { content: ''; position: absolute; left: 16px; top: 14px; width: 10px; height: 10px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg); transition: transform .15s; }
  .abre-sub[aria-expanded="true"]::before { transform: translateY(5px) rotate(225deg); }
  .sub, .tem-sub:hover .sub, .tem-sub:focus-within .sub { display: none; position: static; border: 0; box-shadow: none; padding: 0 0 12px; }
  .tem-sub.aberta .sub { display: block; }
  .sub-grade { grid-template-columns: 1fr 1fr; gap: 14px 18px; }
  .menu-extra { display: grid; gap: 10px; margin-top: 16px; }
  .hero .hero-grade, .com-lado, .contato-grade { grid-template-columns: 1fr; gap: 36px; }
  .hero .hero-grade { padding-top: 44px; padding-bottom: 48px; }
  .hero-fotos { max-width: 560px; }
  .lado { position: static; }
  .grupo-temp .grade-rotas { grid-template-columns: repeat(2, 1fr); }
  .grade-advs { grid-template-columns: 1fr; }
  .grade-pessoas { grid-template-columns: repeat(3, 1fr); }
  .grade-depos { grid-template-columns: 1fr; max-width: 760px; }
  .grade-depos.colunas { column-count: 2; max-width: none; }
  .rod-grade { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  body { font-size: 16.5px; }
  .so-medio { display: none; }
  .cx { padding: 0 16px; }
  .bloco { padding: 54px 0; }
  .menu { padding-left: 16px; padding-right: 16px; }
  .sub { left: 0; right: 0; }
  .lead, .hero .lead { font-size: 17px; }
  .duas { grid-template-columns: 1fr; gap: 40px; }
  .faixa .cx { grid-template-columns: 1fr 1fr; }
  .faixa .cx > div { padding: 18px 12px; border-bottom: 1px solid var(--linha); }
  .faixa .cx > div:nth-child(odd) { padding-left: 0; }
  .faixa .cx > div:nth-child(even) { border-right: 0; }
  .faixa .cx > div:nth-last-child(-n+2) { border-bottom: 0; }
  .faixa b { font-size: 23px; }
  .faixa span { font-size: 13.5px; }
  .grade-rotas, .grupo-temp .grade-rotas, .par-grupos, .valores.tres { grid-template-columns: 1fr; }
  .grupo-gc .card-rota:first-child { grid-column: auto; }
  .par-grupos .grupo-rotas + .grupo-rotas { margin-top: 16px; }
  .card-adv { grid-template-columns: 110px 1fr; gap: 16px; padding: 16px; }
  .card-adv h3 { font-size: 21px; }
  .grade-pessoas { grid-template-columns: 1fr 1fr; gap: 18px 14px; }
  .card-pessoa h3 { font-size: 18px; }
  .bio { grid-template-columns: 1fr; gap: 26px; }
  .bio-foto { position: static; max-width: 280px; }
  .grade-depos.colunas { column-count: 1; }
  .grade-form { grid-template-columns: minmax(0, 1fr); }
  .form, .ok { padding: 24px 18px; }
  .card-imp.grande { padding: 24px 20px; }
  .rod-grade { grid-template-columns: 1fr; gap: 28px; }
  .hero-fotos span { font-size: 12.5px; padding: 9px 10px 11px; }
  .hero-fotos b { font-size: 16px; }
  .botao { padding: 14px 20px; }
  .acoes .botao { flex: 1 1 100%; }
}
@media (max-width: 400px) {
  .util .cx { gap: 8px; }
  .util-esq a { font-size: 13px; }
  .idiomas a { padding: 6px 6px; font-size: 12.5px; }
  .card-adv { grid-template-columns: 1fr; }
  .foto-adv img { aspect-ratio: 1; }
  .sub-grade { grid-template-columns: 1fr 1fr; }
  .abre-menu .rot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .abre-menu { padding: 12px; }
}

/* Ajustes de 05/11/2026 (Caio): abertura com foto, redes em destaque, WhatsApp fixo */
.hero-foto { background: var(--navy-fundo) url(orlando.jpg) center 62% / cover no-repeat; }
.hero-foto::before { background: linear-gradient(180deg, rgba(14, 26, 52, .78) 0%, rgba(14, 26, 52, .62) 45%, rgba(14, 26, 52, .92) 100%); opacity: 1; }
.hero-centro { position: relative; text-align: center; max-width: 960px; padding-top: 84px; padding-bottom: 48px; }
.hero-centro h1 { font-size: clamp(32px, 4.1vw, 52px); line-height: 1.15; margin-bottom: 22px; }
.hero-centro .lead { max-width: 720px; margin-left: auto; margin-right: auto; }
.hero-centro .acoes { justify-content: center; }
.botao.branco { background: #fff; color: var(--navy); border-color: #fff; }
.botao.branco:hover { background: var(--creme); }
.selo-imp { display: inline-flex; align-items: center; gap: 8px; margin-top: 30px; color: rgba(255, 255, 255, .86); font-size: 15px; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .35); padding-bottom: 3px; }
.selo-imp b { font-family: var(--serifa); color: #fff; font-size: 17px; }
.selo-imp .seta { width: 16px; height: 16px; fill: currentColor; }
.hero-numeros { position: relative; border-top: 1px solid rgba(255, 255, 255, .18); background: rgba(10, 20, 42, .55); }
.hero-numeros .cx { display: grid; grid-template-columns: repeat(4, 1fr); }
.hero-numeros .cx > div { padding: 24px 22px; border-right: 1px solid rgba(255, 255, 255, .14); }
.hero-numeros .cx > div:last-child { border-right: 0; }
.hero-numeros b { display: block; font-family: var(--serifa); font-size: 32px; line-height: 1.1; color: #fff; font-weight: 600; }
.hero-numeros span { display: block; font-size: 14px; color: rgba(255, 255, 255, .78); line-height: 1.45; margin-top: 6px; }
.topo-redes { gap: 6px; margin-left: 10px; }
.topo-redes a { color: var(--navy); padding: 6px; border-radius: 50%; }
.topo-redes a:hover { color: var(--vermelho); background: var(--creme); }
.topo-redes svg, .menu-redes svg { width: 22px; height: 22px; fill: currentColor; }
.menu-redes { justify-content: center; gap: 14px; }
.menu-redes a { color: var(--navy); }
.rodape .redes svg { fill: currentColor; }
.whats-fixo { position: fixed; right: 18px; bottom: 18px; z-index: 60; display: inline-flex; align-items: center; gap: 8px; background: #25D366; color: #fff; text-decoration: none; font-weight: 600; font-size: 15px; padding: 12px 18px 12px 14px; border-radius: 999px; box-shadow: 0 8px 24px rgba(0, 0, 0, .22); }
.whats-fixo svg { width: 24px; height: 24px; fill: #fff; }
.whats-fixo:hover { background: #1ebe5a; }
@media (max-width: 1240px) { .topo-redes { display: none; } }
@media (max-width: 1120px) { .menu-redes { display: flex; } }
@media (min-width: 1121px) { .menu-redes { display: none; } }
@media (max-width: 760px) {
  .hero-foto { background-image: url(orlando-900.jpg); }
  .hero-centro { padding-top: 60px; padding-bottom: 40px; }
  .hero-numeros .cx { grid-template-columns: 1fr 1fr; }
  .hero-numeros .cx > div { padding: 18px 12px; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .hero-numeros b { font-size: 26px; }
  .hero-numeros span { font-size: 13px; }
  .whats-fixo span { display: none; }
  .whats-fixo { padding: 14px; right: 14px; bottom: 14px; }
}
