/* Site institucional CBSI — identidade "Industrial Nexus" (navy + laranja).
   Cores/fontes vêm das CSS variables do tema (config/empresa.php). */

.skip-link { position: absolute; left: -999px; top: 0; background: var(--cor-primaria); color: #fff; padding: .6rem 1rem; z-index: 100; }
.skip-link:focus { left: 0; }

.site-container { max-width: 1280px; margin: 0 auto; padding: 0 1.25rem; }
@media (min-width: 900px) { .site-container { padding: 0 2rem; } }

/* Header */
.site-header { position: sticky; top: 0; z-index: 40; background: var(--superficie); border-bottom: 1px solid var(--borda); box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.site-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 1.25rem; min-height: 72px; }
.site-menu { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.site-menu a { color: var(--cor-texto); font-weight: 700; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; padding: .4rem 0 3px; border-bottom: 2px solid transparent; font-family: var(--fonte-titulo, var(--fonte)); }
.site-menu a:hover, .site-menu a[aria-current="page"] { color: var(--cor-destaque); border-bottom-color: var(--cor-destaque); text-decoration: none; }
.brand { color: var(--cor-primaria); font-family: var(--fonte-titulo, var(--fonte)); font-weight: 700; font-size: 1.4rem; letter-spacing: .02em; }
.brand img { height: 42px; width: auto; }

.site-breadcrumb { background: var(--superficie-2); font-size: .85rem; }
.site-breadcrumb .site-container { padding-top: .6rem; padding-bottom: .6rem; }

/* Hero — foto/gradiente navy dramático */
.hero { position: relative; background: linear-gradient(135deg, var(--cor-secundaria), var(--cor-primaria)); color: #fff; overflow: hidden; }
.public-home .hero { border-bottom:1px solid rgba(255,255,255,.12); }
.hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 20%, rgba(217,87,39,.18), transparent 45%); pointer-events: none; }
.hero .site-container { position: relative; z-index: 1; padding-top: 5.5rem; padding-bottom: 6.5rem; }
.hero-kicker { margin:0 0 .8rem; color:var(--cor-destaque); font-family:var(--fonte-titulo, var(--fonte)); font-size:.74rem; font-weight:700; letter-spacing:.12em; }
.hero h1 { color: #fff; font-size: clamp(2rem, 5vw, 3rem); margin: 0 0 1rem; line-height: 1.05; max-width: 42rem; }
.hero p { font-size: 1.15rem; opacity: .92; max-width: 640px; }
.hero .acoes { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1.75rem; }
.hero .btn.secundario { border-color: #fff; color: #fff; }
.hero .btn.secundario:hover { background: #fff; color: var(--cor-primaria); }

/* Faixa de números navy FLUTUANTE (sobrepõe o hero) */
.numeros-band { background: var(--cor-primaria); max-width: 1100px; margin: -3rem auto 0; position: relative; z-index: 5; box-shadow: 0 20px 40px -12px rgba(0,20,38,.45); }
.numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; text-align: center; padding: 2.5rem 0; }
.numeros > div { color: #fff; padding: .5rem 1.5rem; border-right: 1px solid rgba(255,255,255,.12); }
.numeros > div:last-child { border-right: 0; }
.numeros .n { font-size: 2.6rem; font-weight: 800; font-family: var(--fonte-titulo, var(--fonte)); color: var(--cor-destaque); margin-bottom: .25rem; }
.numeros .rot { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 700; }

/* Seções */
.section { padding: 4.5rem 0; }
.section.alt { background: var(--superficie-2); }
.section h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 .5rem; text-align: center; }
.section h2 + .barra-titulo { width: 72px; height: 4px; background: var(--cor-destaque); margin: 0 auto 2rem; }
.section-lead { color: var(--suave); max-width: 720px; margin: 0 auto 2.5rem; text-align: center; }

/* Cards com hover-lift + ícone navy */
.cards-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.card-feature { background: #fff; border: 1px solid var(--borda); padding: 2rem; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.card-feature:hover { transform: translateY(-5px); box-shadow: 0 12px 28px -8px rgba(0,64,105,.18); border-color: var(--cor-destaque); }
.card-feature .ico { width: 56px; height: 56px; background: var(--superficie-2); color: var(--cor-primaria); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 1.25rem; }
.card-feature h3 { margin: 0 0 .6rem; }

/* Processo seletivo — steppers laranja */
.passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; position: relative; }
.passo { text-align: center; }
.passo .num { width: 60px; height: 60px; background: var(--cor-destaque); color: #fff; font-family: var(--fonte-titulo, var(--fonte)); font-weight: 700; font-size: 1.4rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; box-shadow: 0 6px 16px -4px rgba(217,87,39,.5); }
.passo h4 { text-transform: uppercase; letter-spacing: .04em; margin: 0 0 .4rem; font-size: .95rem; }

/* Setores de atuação — cards com overlay navy + underline laranja */
.setores { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.setor { position: relative; height: 260px; background: linear-gradient(160deg, var(--cor-primaria), var(--cor-secundaria)); overflow: hidden; display: flex; align-items: flex-end; padding: 1.5rem; color: #fff; }
.setor::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 70% 30%, rgba(217,87,39,.25), transparent 55%); }
.setor h4 { position: relative; margin: 0; }
.setor .under { position: relative; width: 40px; height: 4px; background: var(--cor-destaque); margin-top: .5rem; transition: width .35s ease; }
.setor:hover .under { width: 100%; }

/* Vagas em destaque */
.vaga-linha { background: #fff; border: 1px solid var(--borda); padding: 1.25rem 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; transition: border-color .2s ease; }
.vaga-linha:hover { border-color: var(--cor-destaque); }
.chip { background: var(--superficie-2); color: var(--suave); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .2rem .5rem; }

/* Rodapé navy com borda-topo laranja */
.site-footer { background: var(--cor-secundaria); color: #cbd5e1; border-top: 4px solid var(--cor-destaque); padding: 3rem 0 1.5rem; margin-top: 0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; }
.footer-grid .marca { color: var(--cor-destaque); font-family: var(--fonte-titulo, var(--fonte)); font-weight: 700; font-size: 1.3rem; margin-bottom: 1rem; }
.footer-grid h4 { color: #fff; margin: 0 0 1rem; text-transform: uppercase; letter-spacing: .06em; font-size: .82rem; }
.footer-grid a, .site-footer p { color: #94a3b8; display: block; padding: .2rem 0; font-size: .9rem; }
.footer-grid a:hover { color: var(--cor-destaque); text-decoration: none; }
.footer-base { border-top: 1px solid rgba(255,255,255,.08); margin-top: 2rem; padding-top: 1.25rem; text-align: center; color: #64748b; font-size: .85rem; }

.cta-faixa { background: var(--cor-primaria); color: #fff; text-align: center; }
.cta-faixa h2 { color: #fff; }
.cta-faixa .site-container { padding: 3.5rem 1.25rem; }

.faq-item { border-bottom: 1px solid var(--borda); padding: 1.1rem 0; }
.faq-item summary { font-weight: 700; cursor: pointer; font-family: var(--fonte-titulo, var(--fonte)); }
.faq-item summary:focus-visible { outline-offset:5px; }

/* Páginas públicas internas — composição Stitch */
.site-actions { display:flex; gap:.5rem; align-items:center; }.public-hero { background:linear-gradient(125deg, var(--cor-secundaria), var(--cor-primaria)); color:#fff; }.public-hero .site-container { padding-top:4.25rem; padding-bottom:4.25rem; }.public-hero.compact .site-container { padding-top:3.25rem; padding-bottom:3.25rem; }.public-hero h1 { max-width:720px; margin:0 0 .7rem; color:#fff; font-size:clamp(2rem,4vw,3rem); }.public-hero p:not(.hero-kicker) { max-width:680px; margin:0; color:#d0e4fe; font-size:1.08rem; }.institutional-intro { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:end; margin-bottom:2rem; }.institutional-intro h2, .section-intro h2 { margin:0; }.institutional-intro > p, .section-intro > p { margin:0; color:var(--suave); }.values-grid .card { border-top:3px solid var(--cor-primaria); }.values-grid .card:nth-child(2) { border-top-color:var(--cor-destaque); }.history-card { margin-top:2rem; }.section-intro { max-width:760px; margin:0 auto 2rem; text-align:center; }.section-intro > p { margin-top:.6rem; }.service-grid .ico { font-family:var(--fonte-titulo, var(--fonte)); font-size:1.1rem; font-weight:700; }.public-filter { display:grid; grid-template-columns:1fr minmax(170px,.35fr) auto; gap:1rem; align-items:end; padding:1.25rem; margin-bottom:1.5rem; background:#fff; border:1px solid var(--borda); box-shadow:var(--sombra); }.public-filter .campo { margin:0; }.public-vacancies { display:grid; gap:1rem; }.public-vacancy { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.4rem; background:#fff; border:1px solid var(--borda); border-left:4px solid var(--cor-primaria); }.public-vacancy:hover { border-left-color:var(--cor-destaque); }.public-vacancy h3 { margin:.7rem 0 .3rem; }.public-vacancy p { margin:0; color:var(--suave); }.public-pagination { margin-top:1.5rem; }.faq-wrap { max-width:850px; }.faq-item { background:#fff; padding:1.1rem 1.25rem; margin-bottom:.65rem; border:1px solid var(--borda); border-left:3px solid var(--cor-primaria); }.faq-item[open] { border-left-color:var(--cor-destaque); }.faq-item p { margin:.8rem 0 0; color:var(--suave); }.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.65fr); gap:2rem; }.contact-form h2, .contact-aside h2 { margin-top:0; }.contact-aside { padding:2rem; background:var(--cor-primaria); color:#fff; }.contact-aside h2 { color:#fff; }.contact-aside > p:not(.eyebrow) { color:#d0e4fe; }.contact-aside .eyebrow { color:#ffb98c; }.contact-aside div { display:grid; gap:.15rem; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.15); }.contact-aside span { color:#d0e4fe; }

@media (max-width: 900px) {
    .numeros { grid-template-columns: 1fr; } .numeros > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
    .cards-3, .passos, .setores { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .institutional-intro, .contact-layout { grid-template-columns:1fr; }
}
@media (max-width: 560px) { .site-nav { min-height:64px; padding-top:.5rem; flex-wrap:wrap; }.site-menu { display:flex; order:3; width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; flex-wrap:nowrap; gap:1rem; padding-bottom:.65rem; }.site-menu a { white-space:nowrap; }.site-actions .btn.secundario { display:none; }.footer-grid { grid-template-columns: 1fr; } .public-filter { grid-template-columns:1fr; }.public-vacancy { align-items:flex-start; flex-direction:column; }.public-vacancy .btn { align-self:stretch; justify-content:center; }.section { padding:3.25rem 0; } }

/* Home — composição fiel ao Stitch */
.stitch-home { background:#f9f9fd; }.stitch-container { width:min(100% - 4rem, 1440px); margin-inline:auto; }.stitch-hero { position:relative; display:grid; min-height:85vh; place-items:center; overflow:hidden; background:#004069; color:#fff; }.stitch-hero-image, .stitch-hero-overlay { position:absolute; inset:0; }.stitch-hero-image { width:100%; height:100%; object-fit:cover; opacity:.48; mix-blend-mode:screen; }.stitch-hero-overlay { background:linear-gradient(rgba(0,41,71,.88),rgba(0,41,71,.72)); }.stitch-hero-content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; padding-block:5rem; }.stitch-hero h1 { max-width:960px; margin:0 0 1.5rem; color:#fff; font-size:clamp(2.7rem,5vw,4.8rem); line-height:1.18; letter-spacing:-.035em; }.stitch-hero-content > p { max-width:760px; margin:0 0 3rem; color:#cfe5ff; font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.6; }.stitch-hero-actions { display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; }.stitch-primary-cta,.stitch-secondary-cta { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; min-height:58px; padding:1rem 2.5rem; border-radius:.75rem; font-family:var(--fonte-titulo,var(--fonte)); font-size:1.05rem; font-weight:700; }.stitch-primary-cta { background:#fff; color:#004069; box-shadow:0 12px 25px rgba(0,0,0,.24); }.stitch-primary-cta:hover { background:#cfe5ff; text-decoration:none; }.stitch-secondary-cta { border:2px solid #fff; color:#fff; }.stitch-secondary-cta:hover { background:rgba(255,255,255,.1); text-decoration:none; }.scroll-indicator { position:absolute; z-index:1; bottom:1.7rem; left:50%; display:grid; width:2.5rem; height:2.5rem; place-items:center; transform:translateX(-50%); color:#fff; font-size:2.2rem; line-height:1; opacity:.65; }.scroll-indicator:hover { text-decoration:none; opacity:1; }
.stitch-metrics { background:#fff; border-bottom:1px solid #c2c7cf; }.stitch-metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); padding-block:4rem; }.stitch-metric { display:grid; justify-items:center; gap:.5rem; padding:1.5rem; text-align:center; border-right:1px solid #c2c7cf; }.stitch-metric:last-child { border-right:0; }.stitch-metric strong { color:#004069; font-family:var(--fonte-titulo,var(--fonte)); font-size:clamp(2rem,3.5vw,3rem); line-height:1; }.stitch-metric span { color:#42474e; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.stitch-section { padding-block:6rem; }.stitch-section-heading { margin-bottom:3.5rem; }.stitch-section-heading > span { color:#004069; font-family:var(--fonte-titulo,var(--fonte)); font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.stitch-section-heading h2 { margin:.45rem 0 0; font-size:clamp(2rem,3vw,2.6rem); }.stitch-area-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }.stitch-area-card { position:relative; display:flex; min-height:400px; align-items:flex-end; overflow:hidden; border-radius:.75rem; background:#004069; box-shadow:0 8px 22px rgba(0,20,38,.2); }.stitch-area-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }.stitch-area-card::before { position:absolute; z-index:1; inset:0; background:linear-gradient(to top,rgba(0,41,71,.96),rgba(0,41,71,.05) 72%); content:""; }.stitch-area-card:hover .stitch-area-image { transform:scale(1.08); }.stitch-area-card > div { position:relative; z-index:2; padding:2rem; color:#fff; }.stitch-area-card h3 { margin:0 0 .45rem; color:#fff; font-size:1.55rem; }.stitch-area-card p { max-height:0; margin:0; overflow:hidden; color:#cfe5ff; opacity:0; transition:max-height .35s ease,opacity .35s ease; }.stitch-area-card:hover p { max-height:80px; opacity:1; }
.stitch-benefits { background:#f3f3f7; }.stitch-centered-heading { margin:0 auto 3.5rem; max-width:760px; text-align:center; }.stitch-centered-heading h2 { margin:0; font-size:clamp(2rem,3vw,2.6rem); }.stitch-centered-heading p { margin:1rem 0 0; color:#42474e; }.stitch-benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }.stitch-benefit-grid article { padding:2rem; border:1px solid #c2c7cf; border-radius:.75rem; background:#fff; box-shadow:0 2px 5px rgba(0,20,38,.04); transition:border-color .2s,transform .2s; }.stitch-benefit-grid article:hover { border-color:#004069; transform:translateY(-3px); }.stitch-benefit-grid span { display:grid; width:3rem; height:3rem; place-items:center; margin-bottom:1.5rem; border-radius:.5rem; background:#cfe5ff; color:#004069; font-family:var(--fonte-titulo,var(--fonte)); font-weight:700; }.stitch-benefit-grid h3 { margin:0 0 .7rem; font-size:1.1rem; }.stitch-benefit-grid p { margin:0; color:#42474e; font-size:.9rem; }
.stitch-process { position:relative; overflow:hidden; padding-block:6rem; background:#004069; color:#fff; }.stitch-process-heading { margin-bottom:3.5rem; }.stitch-process h2 { margin:0 0 .7rem; color:#fff; font-size:clamp(2rem,3vw,2.6rem); }.stitch-process-heading p { max-width:600px; margin:0; color:#cfe5ff; }.stitch-steps { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; padding:0; list-style:none; }.stitch-steps::before { position:absolute; z-index:0; top:1.5rem; right:0; left:0; height:2px; background:rgba(255,255,255,.25); content:""; }.stitch-steps li { position:relative; z-index:1; }.stitch-steps li > span { display:grid; width:3rem; height:3rem; place-items:center; margin-bottom:1.5rem; border-radius:50%; background:#fff; color:#004069; font-family:var(--fonte-titulo,var(--fonte)); font-weight:700; box-shadow:0 8px 18px rgba(0,0,0,.23); }.stitch-steps li:last-child > span { background:#d95727; color:#fff; }.stitch-steps h3 { margin:0 0 .5rem; color:#fff; font-size:1.05rem; }.stitch-steps p { margin:0; color:#cfe5ff; font-size:.88rem; }
.stitch-testimonials { background:#f9f9fd; }.stitch-testimonial-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:3rem; }.stitch-testimonial-grid article { display:flex; gap:1.5rem; padding:2rem; border:1px solid #c2c7cf; border-radius:1rem; background:#ededf1; }.stitch-testimonial-photo { flex:0 0 6rem; width:6rem; height:6rem; border:4px solid #fff; border-radius:50%; object-fit:cover; background:#b5c8e1; box-shadow:0 3px 8px rgba(0,20,38,.15); }.stitch-stars { margin-bottom:.5rem; color:#d95727; letter-spacing:.12em; }.stitch-testimonial-grid blockquote { margin:0 0 1rem; color:#1a1c1f; font-style:italic; line-height:1.6; }.stitch-testimonial-grid strong { display:block; color:#004069; }.stitch-testimonial-grid article span { color:#42474e; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }.stitch-vacancies { background:#f3f3f7; }.stitch-vacancy-list { display:grid; gap:.75rem; }.stitch-vacancy-list article { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 1.5rem; border-left:4px solid #004069; background:#fff; }.stitch-vacancy-list h3 { margin:.5rem 0 .15rem; }.stitch-vacancy-list p { margin:0; color:#42474e; }.stitch-all-vacancies { margin:2rem 0 0; text-align:center; }.stitch-all-vacancies a { display:inline-flex; min-height:44px; align-items:center; padding:0 1.4rem; border:2px solid #004069; color:#004069; font-family:var(--fonte-titulo,var(--fonte)); font-weight:700; }
@media (max-width:1024px) { .stitch-area-grid { grid-template-columns:1fr; }.stitch-area-card { min-height:360px; }.stitch-benefit-grid { grid-template-columns:repeat(2,1fr); }.stitch-testimonial-grid { gap:1.5rem; }.stitch-steps { gap:1.5rem; }.stitch-steps p { font-size:.8rem; } }
@media (max-width:768px) { .stitch-container { width:min(100% - 2rem,1440px); }.stitch-hero { min-height:720px; }.stitch-hero h1 { font-size:clamp(2.45rem,11vw,3.7rem); }.stitch-hero-actions { width:100%; }.stitch-primary-cta,.stitch-secondary-cta { flex:1 1 260px; }.stitch-metrics-grid { grid-template-columns:repeat(2,1fr); padding-block:1.5rem; }.stitch-metric:nth-child(2) { border-right:0; }.stitch-metric:nth-child(-n+2) { border-bottom:1px solid #c2c7cf; }.stitch-section,.stitch-process { padding-block:4.5rem; }.stitch-steps { grid-template-columns:1fr; gap:2rem; }.stitch-steps::before { top:1.5rem; bottom:1.5rem; left:1.5rem; width:2px; height:auto; }.stitch-steps li { display:grid; grid-template-columns:3rem 1fr; column-gap:1rem; }.stitch-steps li > span { grid-row:span 2; margin:0; }.stitch-steps h3 { margin:.25rem 0; }.stitch-testimonial-grid { grid-template-columns:1fr; }.stitch-testimonial-grid article { padding:1.5rem; }.stitch-vacancy-list article { align-items:flex-start; flex-direction:column; }.stitch-vacancy-list .btn { width:100%; } }
@media (max-width:480px) { .stitch-hero { min-height:650px; }.stitch-hero-content { padding-block:4rem; }.stitch-hero h1 { font-size:2.35rem; }.stitch-primary-cta,.stitch-secondary-cta { width:100%; min-height:54px; padding-inline:1.25rem; }.stitch-metric { padding:1rem .5rem; }.stitch-metric strong { font-size:1.8rem; }.stitch-benefit-grid { grid-template-columns:1fr; }.stitch-testimonial-grid article { flex-direction:column; }.stitch-area-card { min-height:320px; }.stitch-area-card p { max-height:80px; opacity:1; } }

/* Rodapé compacto da referência Stitch */
.site-footer { margin:0; padding:0; border-top:1px solid #c2c7cf; background:#e8e8ec; color:#42474e; }.stitch-footer { display:flex; min-height:104px; align-items:center; justify-content:space-between; gap:1.5rem; }.stitch-footer-brand { color:#004069; font-family:var(--fonte-titulo,var(--fonte)); font-size:1.15rem; font-weight:700; }.stitch-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; }.stitch-footer nav a { color:#42474e; font-size:.75rem; font-weight:700; letter-spacing:.04em; }.stitch-footer nav a.active { color:#004069; text-decoration:underline; }.stitch-footer p { margin:0; color:#42474e; font-size:.8rem; text-align:right; }.footer-grid,.footer-base { display:none; } @media (max-width:900px) { .stitch-footer { flex-direction:column; justify-content:center; padding-block:1.5rem; text-align:center; }.stitch-footer p { text-align:center; } } @media (max-width:560px) { .stitch-footer nav { gap:.75rem 1rem; }.stitch-footer p { font-size:.72rem; } }

/* ===== Fidelidade CBSI: topbar, CTA e footer ===== */
.site-topbar{background:var(--cor-secundaria,#001426);color:#c7d4de}
.site-topbar .site-container{display:flex;align-items:center;justify-content:space-between;padding-top:.45rem;padding-bottom:.45rem;min-height:auto}
.site-topbar-tag{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#9fb4c4}
.site-topbar-social{display:flex;gap:.35rem}
.site-topbar-social a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#c7d4de;transition:.2s}
.site-topbar-social a:hover{background:var(--cor-destaque,#d95727);color:#fff}
@media(max-width:600px){.site-topbar-tag{display:none}.site-topbar .site-container{justify-content:center}}

.site-cta{display:inline-flex;align-items:center;background:var(--cor-destaque,#d95727);color:#fff;font-family:var(--fonte-titulo,var(--fonte));font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:.6rem 1.1rem;border-radius:4px;white-space:nowrap;transition:.2s}
.site-cta:hover{filter:brightness(.92);color:#fff;text-decoration:none}
@media(max-width:600px){.site-cta{padding:.5rem .75rem;font-size:.72rem}.site-user-greeting{display:none}}

/* Footer escuro estilo CBSI */
.site-footer{background:var(--cor-secundaria,#001426);color:#c2d1dc;border-top:4px solid var(--cor-destaque,#d95727);padding:0;margin:0}
.cbsi-footer{display:grid;grid-template-columns:1fr 2.2fr;gap:3rem;padding-top:3.5rem;padding-bottom:2.5rem}
.cbsi-footer-brand img{max-width:150px;height:auto;filter:brightness(0) invert(1)}
.cbsi-footer-brand p{color:#9fb0bd;font-size:.85rem;line-height:1.6;margin:1.1rem 0}
.cbsi-footer-social{display:flex;gap:.4rem}
.cbsi-footer-social a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);color:#c2d1dc;transition:.2s}
.cbsi-footer-social a:hover{background:var(--cor-destaque,#d95727);color:#fff}
.cbsi-footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem}
.cbsi-footer-cols h3{color:#fff;font-family:var(--fonte-titulo,var(--fonte));font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .8rem;padding-bottom:.5rem;border-bottom:2px solid var(--cor-destaque,#d95727);display:inline-block}
.cbsi-footer-cols p{color:#9fb0bd;font-size:.8rem;line-height:1.55;margin:0 0 .7rem}
.cbsi-footer-cols a{color:#c2d1dc}
.cbsi-footer-cols a:hover{color:var(--cor-destaque,#d95727)}
.cbsi-footer-links{display:flex;flex-direction:column;gap:.45rem;margin-top:.4rem}
.cbsi-footer-links a{font-size:.8rem;font-weight:600}
.cbsi-footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
.cbsi-footer-bottom .site-container{padding-top:1.2rem;padding-bottom:1.2rem;font-size:.78rem;color:#8194a2;text-align:center}
@media(max-width:900px){.cbsi-footer{grid-template-columns:1fr;gap:2rem}.cbsi-footer-cols{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cbsi-footer-cols{grid-template-columns:1fr}}

/* ===== Menu hambúrguer (mobile) ===== */
.site-menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 11px;background:transparent;border:1px solid var(--borda);border-radius:8px;cursor:pointer;flex:none}
.site-menu-toggle span{display:block;height:2px;width:100%;background:var(--cor-primaria);border-radius:2px;transition:transform .25s,opacity .2s}
.site-nav.menu-aberto .site-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-nav.menu-aberto .site-menu-toggle span:nth-child(2){opacity:0}
.site-nav.menu-aberto .site-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:560px){
  .site-menu-toggle{display:flex}
  .site-menu{display:none;flex-direction:column;overflow:visible;flex-wrap:wrap;gap:0;padding-bottom:0}
  .site-nav.menu-aberto .site-menu{display:flex}
  .site-menu a{width:100%;padding:.9rem .25rem;border-bottom:1px solid var(--borda);white-space:normal}
  .site-menu a:last-child{border-bottom:none}
}
