/* Fontes Solaris — extraídas do Design System (Linux Biolinum + Metropolis) */
@font-face {
    font-family: 'Linux Biolinum';
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/linux-biolinum-400-normal.otf") format('opentype');
  }
@font-face {
    font-family: 'Linux Biolinum';
    font-style: normal;
    font-weight: 700;
    src: url("../assets/fonts/linux-biolinum-700-normal.otf") format('opentype');
  }
@font-face {
    font-family: 'Linux Biolinum';
    font-style: italic;
    font-weight: 400;
    src: url("../assets/fonts/linux-biolinum-400-italic.otf") format('opentype');
  }
@font-face {
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 300;
    src: url("../assets/fonts/metropolis-300-normal.woff2") format('woff2');
  }
@font-face {
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/metropolis-400-normal.woff2") format('woff2');
  }
@font-face {
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 600;
    src: url("../assets/fonts/metropolis-600-normal.woff2") format('woff2');
  }
@font-face {
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 700;
    src: url("../assets/fonts/metropolis-700-normal.woff2") format('woff2');
  }


/* ============================================================
   SOLARIS ENERGIA — Sistema visual aplicado
   Azul #133A62 (60–70%) · Laranja #F58A1F (15–20%) · Neutros
   Display: Linux Biolinum · Corpo: Metropolis
   ============================================================ */
:root{
  --azul:#133A62; --azul-800:#0D2848; --azul-600:#1A4A7A; --azul-400:#2B6CB0;
  --azul-100:#D6E4F0; --azul-50:#EBF3FB;
  --laranja:#F58A1F; --laranja-800:#B5620A; --laranja-600:#D4760F;
  --laranja-200:#FCDBB0; --laranja-50:#FEF5E9;
  /* --- accents inspirados na logo Solaris (painel solar) --- */
  --teal:#27A8C6; --teal-700:#1B7E97; --teal-300:#8FD4E4; --teal-50:#E7F5F9;
  --gold:#F5C24B; --gold-600:#E0A52E; --gold-100:#FCEDC8;
  --cinza-900:#1A1A1A; --cinza-700:#3D3D3D; --cinza-500:#6B6B6B;
  --cinza-300:#B0B0B0; --cinza-100:#F0F0F0; --cinza-50:#F8F8F8; --branco:#FFFFFF;
  --font-display:'Linux Biolinum','Linux Libertine',Georgia,serif;
  --font-body:'Metropolis','Inter',system-ui,sans-serif;
  --radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-xl:20px;
  /* gradientes da marca (eco do "S" navy -> teal -> laranja) */
  --grad-brand:linear-gradient(105deg,#0D2848 0%,#1A6F8F 40%,#F58A1F 100%);
  --grad-sun:linear-gradient(135deg,#F7CE63 0%,#F58A1F 55%,#D4760F 100%);
  --grad-dawn:linear-gradient(165deg,#0A2240 0%,#123a62 48%,#5e3c1f 100%);
  --shadow-sm:0 1px 4px rgba(19,58,98,.10);
  --shadow-md:0 6px 20px rgba(19,58,98,.13);
  --shadow-lg:0 14px 40px rgba(19,58,98,.17);
  --shadow-xl:0 28px 70px rgba(13,40,72,.30);
  /* brilho quente "golden hour" para painéis luminosos */
  --glow-warm:0 22px 60px -18px rgba(245,138,31,.50);
  --glow-teal:0 22px 60px -20px rgba(39,168,198,.42);
  --wrap:1200px; --hdr-h:74px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body); font-weight:400; color:var(--cinza-900);
  background:var(--branco); line-height:1.65; font-size:16px;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,.display,.kpi-num,.stat-num{font-family:var(--font-display); font-weight:700; line-height:1.15; color:var(--azul)}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
::selection{background:var(--laranja); color:var(--azul-800)}
:focus-visible{outline:3px solid var(--laranja); outline-offset:3px; border-radius:3px}

.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px}
.section{padding:88px 0}
.sec-gray{background:var(--cinza-50)}
.sec-tint{background:linear-gradient(180deg,var(--azul-50),var(--branco))}
.sec-navy{background:var(--azul-800); color:#cfe0f0}
.sec-navy h1,.sec-navy h2,.sec-navy h3{color:#fff}
.sec-navy .kpi-num,.sec-navy .stat-num{color:var(--laranja)}

/* ---------- typographic scale ---------- */
.eyebrow{display:inline-flex; align-items:center; gap:9px; font-family:var(--font-body);
  font-weight:600; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--laranja-600)}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--laranja); display:inline-block}
.sec-navy .eyebrow{color:var(--laranja)}
.display{font-size:clamp(34px,5.4vw,56px); line-height:1.06; letter-spacing:-.01em}
h1,.h1{font-size:clamp(30px,4.2vw,40px)}
h2,.h2{font-size:clamp(25px,3.2vw,32px); letter-spacing:-.005em}
h3,.h3{font-size:22px; line-height:1.25}
.h4{font-family:var(--font-body); font-weight:700; font-size:18px; line-height:1.3; color:var(--azul)}
.lead{font-weight:300; font-size:clamp(17px,2vw,19px); line-height:1.7; color:var(--cinza-700)}
.sec-navy .lead{color:#bcd0e6}
.small{font-size:14px; line-height:1.6; color:var(--cinza-500)}
p+p{margin-top:14px}
.muted{color:var(--cinza-500)}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; gap:9px; font-family:var(--font-body);
  font-weight:600; font-size:15px; padding:13px 26px; border-radius:var(--radius-md);
  cursor:pointer; border:2px solid transparent; transition:.22s ease; line-height:1; white-space:nowrap}
.btn svg{width:17px; height:17px}
.btn-primary{background:var(--laranja); color:var(--azul-800); border-color:var(--laranja)}
.btn-primary:hover{background:var(--laranja-600); border-color:var(--laranja-600); transform:translateY(-2px); box-shadow:0 8px 22px rgba(245,138,31,.4)}
.btn-ghost{background:transparent; color:var(--azul); border-color:var(--azul-100)}
.btn-ghost:hover{border-color:var(--azul); background:var(--azul-50); transform:translateY(-2px)}
.btn-light{background:#fff; color:var(--azul-800); border-color:#fff}
.btn-light:hover{transform:translateY(-2px); box-shadow:var(--shadow-lg)}
.btn-outline-light{background:transparent; color:#fff; border-color:rgba(255,255,255,.4)}
.btn-outline-light:hover{border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px)}
.btn-lg{padding:16px 32px; font-size:16px}
.btn-sm{padding:9px 16px; font-size:13.5px}

/* ---------- HEADER ---------- */
.hdr{position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--hdr-h);
  background:rgba(255,255,255,.92); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--cinza-100); transition:.3s}
.hdr.scrolled{box-shadow:var(--shadow-sm)}
.hdr-inner{max-width:1320px; margin:0 auto; padding:0 24px; height:100%;
  display:flex; align-items:center; gap:30px}
.brand{display:flex; align-items:center; gap:11px; flex-shrink:0}
.brand .logo-mark{width:38px; height:38px; flex-shrink:0}
.brand .logo-tx{display:flex; flex-direction:column; line-height:1}
.brand .logo-tx b{font-family:var(--font-display); font-weight:700; font-size:21px; color:var(--azul); letter-spacing:.01em}
.brand .logo-tx span{font-family:var(--font-body); font-weight:600; font-size:9.5px; letter-spacing:.32em; text-transform:uppercase; color:var(--laranja-600); margin-top:2px}
.nav{display:flex; align-items:center; gap:3px; margin-left:auto}
.nav-item{position:relative}
.nav-link{display:flex; align-items:center; gap:5px; font-weight:600; font-size:14.5px;
  color:var(--cinza-700); padding:10px 13px; border-radius:var(--radius-sm); cursor:pointer; transition:.18s}
.nav-link:hover,.nav-link.active{color:var(--azul)}
.nav-link .chev{width:11px; height:11px; transition:.25s; opacity:.7}
.nav-item:hover .chev{transform:rotate(180deg)}
.dropdown{position:absolute; top:calc(100% + 6px); left:0; min-width:262px;
  background:#fff; border:1px solid var(--cinza-100); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); padding:9px; opacity:0; visibility:hidden;
  transform:translateY(8px); transition:.22s; border-top:3px solid var(--laranja)}
.nav-item:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0)}
.dd-link{display:block; padding:10px 13px; border-radius:var(--radius-sm); font-size:14px; font-weight:500;
  color:var(--cinza-700); transition:.16s}
.dd-link:hover{background:var(--azul-50); color:var(--azul); padding-left:18px}
.dd-link small{display:block; font-size:11.5px; color:var(--cinza-300); font-weight:400; margin-top:1px}
.dd-link:hover small{color:var(--azul-400)}
.dd-sep{height:1px; background:var(--cinza-100); margin:6px 8px}
.dropdown.mega{position:fixed; top:72px; right:20px; left:auto; width:780px; max-width:calc(100vw - 40px); padding:16px}
.nav-item:hover .dropdown.mega{transform:translateY(0)}
.mega-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:4px 20px}
.mega-col{display:flex; flex-direction:column}
.dd-group{font-size:11px; letter-spacing:.13em; text-transform:uppercase; font-weight:700; padding:4px 10px 8px; margin-bottom:4px; border-bottom:1px solid var(--cinza-100)}
.dropdown.mega .dd-link{padding:7px 10px; font-size:13px}
.dropdown.mega .dd-link:hover{padding-left:14px}
.dd-all{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; margin-bottom:12px; border-radius:var(--radius-sm); background:var(--azul-50); color:var(--azul); font-weight:700; font-size:13.5px; transition:.16s}
.dd-all:hover{background:var(--azul-100)}
.dd-all svg{width:15px; height:15px}
/* cases — cada player como uma 'tela única' */
.case-stage{display:grid; grid-template-columns:1fr; gap:32px; align-items:start; padding:56px 0; max-width:1000px; margin:0 auto}
.case-stage>div{order:0 !important}
.case-stage .video-card{aspect-ratio:16/9; border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--glow-warm); background:#0D2848; position:relative}
.case-stage .video-card iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block}
@media(max-width:880px){.case-stage{grid-template-columns:1fr; min-height:auto; gap:26px; padding:36px 0} .case-stage>div{order:0 !important}}
/* contato — canais em scroll-snap */
.snap-row{display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 16px; scroll-padding:0 16px}
.snap-row::-webkit-scrollbar{height:8px}
.snap-row::-webkit-scrollbar-thumb{background:var(--cinza-100); border-radius:8px}
.snap-card{flex:0 0 clamp(280px,86vw,360px); scroll-snap-align:center}
@media(min-width:920px){.snap-row{justify-content:center}}
/* alinhar alvos de \u00e2ncora abaixo da topbar fixa */
section[id]{scroll-margin-top:calc(var(--hdr-h) + 24px)}
/* === TEMA RECARREGÔ! (DS próprio) nas páginas de solução de mobilidade === */
.sol-recarrego{
  --laranja:#00FF36; --laranja-600:#00CC2B; --laranja-800:#00CC2B; --laranja-200:#1c5a30; --laranja-100:#143d22; --laranja-50:#0e2a18;
  --grad-sun:linear-gradient(135deg,#80FF9B 0%,#00FF36 55%,#00CC2B 100%);
  --glow-warm:0 0 30px rgba(0,255,54,.22);
  --cinza-700:#aebfd0;
  background:#0D1726; display:block;
}
.sol-recarrego .section{background:#0D1726}
.sol-recarrego .sec-gray{background:#0A1220}
.sol-recarrego .sec-navy{background:#0E1C36}
.sol-recarrego .phero{background:linear-gradient(135deg,#0A1220 0%,#0E1C36 78%)}
.sol-recarrego h1,.sol-recarrego h2,.sol-recarrego h3{color:#fff}
.sol-recarrego p{color:#aebfd0}
.sol-recarrego .lead{color:#c6d4e4}
.sol-recarrego .card{background:#162444; border-color:rgba(0,255,54,.14)}
.sol-recarrego .card:hover{border-color:rgba(0,255,54,.45); box-shadow:0 0 30px rgba(0,255,54,.18)}
.sol-recarrego .card-accent::before{background:linear-gradient(90deg,#00FF36,#385CA2)}
.sol-recarrego .icon-badge{background:rgba(0,255,54,.12); color:#00FF36; box-shadow:inset 0 0 0 1px rgba(0,255,54,.28)}
.sol-recarrego .card-accent:hover .icon-badge{background:var(--grad-sun); color:#06210f}
.sol-recarrego .btn-primary{border-color:#00CC2B; color:#06210f}
.sol-recarrego .flist li .ck{background:rgba(0,255,54,.16); color:#00FF36}
.sol-recarrego .visual,.sol-recarrego .post-thumb{box-shadow:0 0 34px rgba(0,255,54,.18)}
.sol-recarrego .acc-item{border-color:rgba(0,255,54,.14); background:#0e1a12}
.sol-recarrego .acc-head{color:#fff}
.sol-recarrego .acc-body-in{color:#aebfd0}
.sol-recarrego .crumb a,.sol-recarrego .crumb span{color:#9fb6cf}
.sol-recarrego .stat-lab{color:#9fb6cf}
/* === TEMA SOLARIS INVEST (preto · dourado · verde escuro) nas páginas de investimento === */
.sol-invest{
  --laranja:#C9A24A; --laranja-600:#B8902F; --laranja-800:#B8902F; --laranja-200:#5a4a1e; --laranja-100:#2a2310; --laranja-50:#1a160b;
  --grad-sun:linear-gradient(135deg,#E7C96B 0%,#C9A24A 55%,#B8902F 100%);
  --glow-warm:0 0 30px rgba(201,162,74,.20);
  --cinza-700:#bdb7a9;
  background:#0E0F0D; display:block;
}
.sol-invest .section{background:#0E0F0D}
.sol-invest .sec-gray{background:#0A0B09}
.sol-invest .sec-navy{background:#14160F}
.sol-invest .phero{background:linear-gradient(135deg,#0A0B09 0%,#17140C 78%)}
.sol-invest h1,.sol-invest h2,.sol-invest h3{color:#fff}
.sol-invest p{color:#bdb7a9}
.sol-invest .lead{color:#d6cfbe}
.sol-invest .card{background:#1A1B15; border-color:rgba(201,162,74,.18)}
.sol-invest .card:hover{border-color:rgba(201,162,74,.5); box-shadow:0 0 30px rgba(201,162,74,.16)}
.sol-invest .card-accent::before{background:linear-gradient(90deg,#C9A24A,#1E5235)}
.sol-invest .icon-badge{background:rgba(201,162,74,.14); color:#C9A24A; box-shadow:inset 0 0 0 1px rgba(201,162,74,.3)}
.sol-invest .card-accent:hover .icon-badge{background:var(--grad-sun); color:#1a1408}
.sol-invest .btn-primary{border-color:#B8902F; color:#1a1408}
.sol-invest .flist li .ck{background:rgba(30,82,53,.5); color:#bfe3c9}
.sol-invest .visual,.sol-invest .post-thumb{box-shadow:0 0 34px rgba(201,162,74,.16)}
.sol-invest .acc-item{border-color:rgba(201,162,74,.16); background:#1A1B15}
.sol-invest .acc-item.open{border-color:rgba(201,162,74,.5)}
.sol-invest .acc-head .ai{border-color:rgba(201,162,74,.4); color:#C9A24A}
.sol-invest .acc-head{color:#fff}
.sol-invest .acc-body-in{color:#bdb7a9}
.sol-invest .crumb a,.sol-invest .crumb span{color:#b3aa92}
.sol-invest .stat-lab{color:#b3aa92}
/* o que fazemos — painéis full-bleed por BU */
.bu-panels{display:flex; gap:0; height:clamp(440px,56vw,580px); width:100%; margin-top:34px}
.bu-panel{position:relative; flex:1 1 0; min-width:0; overflow:hidden; cursor:pointer; text-decoration:none; background:#0D2848; transition:flex-grow .55s cubic-bezier(.4,0,.2,1)}
.bu-panels:hover .bu-panel{flex-grow:.7}
.bu-panels .bu-panel:hover{flex-grow:2.6}
.bu-panel image-slot{position:absolute; inset:0; width:100%; height:100%; display:block; transition:transform .6s cubic-bezier(.4,0,.2,1); z-index:0}
.bu-panel:hover image-slot{transform:scale(1.08)}
.bu-panel::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,24,46,.05) 30%,rgba(7,24,46,.82) 100%); z-index:1; transition:.45s}
.bu-panel:hover::after{background:linear-gradient(180deg,rgba(7,24,46,.12) 20%,rgba(7,24,46,.78) 100%)}
.bu-cap{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:30px 30px; color:#fff}
.bu-cap .bu-kicker{font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; opacity:.85; margin-bottom:6px}
.bu-cap h3{color:#fff; font-size:clamp(20px,1.7vw,28px); line-height:1.1; white-space:nowrap}
.bu-cap .bu-more{display:inline-flex; align-items:center; gap:7px; margin-top:10px; font-size:13.5px; font-weight:600; opacity:0; transform:translateY(6px); transition:.4s}
.bu-cap .bu-more svg{width:15px; height:15px}
.bu-panel:hover .bu-cap .bu-more{opacity:1; transform:translateY(0)}
@media(max-width:820px){.bu-panels{flex-direction:column; height:auto; margin-top:24px}.bu-panel{height:200px; flex:none}.bu-panels:hover .bu-panel,.bu-panels .bu-panel:hover{flex-grow:0}.bu-panel:hover image-slot{transform:none}.bu-cap .bu-more{opacity:1; transform:none}}
.hdr-tools{display:flex; align-items:center; gap:8px; flex-shrink:0}
.icon-btn{width:40px; height:40px; display:grid; place-items:center; border-radius:50%;
  border:1px solid var(--cinza-100); background:#fff; cursor:pointer; transition:.2s; color:var(--azul)}
.icon-btn:hover{background:var(--azul-50); border-color:var(--azul-100)}
.icon-btn svg{width:18px; height:18px}
.burger{display:none; flex-direction:column; gap:5px; width:42px; height:42px;
  align-items:center; justify-content:center; background:none; border:none; cursor:pointer}
.burger span{width:22px; height:2px; background:var(--azul); border-radius:2px; transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile nav */
.mnav{position:fixed; inset:var(--hdr-h) 0 0 0; background:#fff; z-index:999;
  transform:translateX(100%); transition:.32s cubic-bezier(.4,0,.2,1); overflow-y:auto; padding:18px 22px 60px}
.mnav.open{transform:translateX(0)}
.mnav-group{border-bottom:1px solid var(--cinza-100)}
.mnav-head{display:flex; justify-content:space-between; align-items:center; padding:16px 4px;
  font-weight:600; font-size:16px; color:var(--azul); cursor:pointer}
.mnav-head svg{width:16px; height:16px; transition:.25s}
.mnav-head.open svg{transform:rotate(180deg)}
.mnav-sub{max-height:0; overflow:hidden; transition:.3s}
.mnav-sub a{display:block; padding:11px 14px; color:var(--cinza-700); font-size:14.5px; font-weight:500}
.mnav-sub a:active{color:var(--laranja-600)}
.mnav .btn{width:100%; justify-content:center; margin-top:22px}

/* search overlay */
.search-ov{position:fixed; inset:0; z-index:1100; background:rgba(13,40,72,.5); backdrop-filter:blur(6px);
  display:none; align-items:flex-start; justify-content:center; padding-top:14vh}
.search-ov.open{display:flex}
.search-box{width:min(620px,92vw); background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-xl); overflow:hidden}
.search-box input{width:100%; border:none; padding:22px 24px; font-size:19px; font-family:var(--font-body); color:var(--azul)}
.search-box input:focus{outline:none}
.search-res{border-top:1px solid var(--cinza-100); max-height:46vh; overflow-y:auto}
.search-res a{display:block; padding:13px 24px; border-bottom:1px solid var(--cinza-50); font-weight:500; color:var(--cinza-700)}
.search-res a:hover{background:var(--azul-50); color:var(--azul)}
.search-res a small{display:block; font-size:12px; color:var(--cinza-300)}

/* ---------- HERO ---------- */
.hero{position:relative; padding:calc(var(--hdr-h) + 86px) 0 96px; overflow:hidden;
  background:linear-gradient(140deg,var(--azul-800) 0%,var(--azul) 55%,#16487a 100%); color:#fff}
.hero::before{content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 78% 18%,rgba(245,138,31,.26),transparent 46%),
             radial-gradient(circle at 12% 92%,rgba(43,108,176,.4),transparent 50%)}
.hero .rays{position:absolute; inset:0; opacity:.5; pointer-events:none}
.hero-inner{position:relative; z-index:2; max-width:760px}
.hero h1,.hero .display{color:#fff}
.hero .lead{color:#cdddf0; margin-top:20px; max-width:600px}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:34px}
.hero-mini{display:flex; gap:34px; flex-wrap:wrap; margin-top:48px; padding-top:30px; border-top:1px solid rgba(255,255,255,.14)}
.hero-mini .m-num{font-family:var(--font-display); font-weight:700; font-size:32px; color:var(--laranja); line-height:1}
.hero-mini .m-lab{font-size:13px; color:#aac4de; margin-top:5px; max-width:150px}

/* page hero (inner pages) */
.phero{position:relative; padding:calc(var(--hdr-h) + 64px) 0 70px; overflow:hidden;
  background:linear-gradient(135deg,var(--azul-800),var(--azul) 78%); color:#fff}
.phero::after{content:""; position:absolute; right:-60px; top:-60px; width:420px; height:420px;
  background:radial-gradient(circle,rgba(245,138,31,.22),transparent 65%)}
.phero .wrap{position:relative; z-index:2}
.phero h1{color:#fff; max-width:760px; margin-top:14px}
.phero .lead{color:#c7d8ec; max-width:620px; margin-top:16px}
.crumb{display:flex; gap:9px; font-size:13px; color:#9fb9d6; margin-bottom:6px; flex-wrap:wrap}
.crumb a:hover{color:var(--laranja)}
.crumb span{color:#5d7ba0}

/* ---------- grid + cards ---------- */
.grid{display:grid; gap:26px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
.cols-12-2{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center}
.section-head{max-width:680px; margin-bottom:48px}
.section-head.center{margin-inline:auto; text-align:center}
.section-head .eyebrow{margin-bottom:14px}
.section-head h2{margin-bottom:14px}

.card{background:#fff; border:1px solid var(--cinza-100); border-radius:var(--radius-lg);
  padding:30px; transition:.26s; position:relative; overflow:hidden}
.card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:var(--azul-100)}
.card-link{cursor:pointer}
.card-accent::before{content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--laranja); transform:scaleX(0); transform-origin:left; transition:.3s}
.card-accent:hover::before{transform:scaleX(1)}
.icon-badge{width:54px; height:54px; border-radius:var(--radius-md); display:grid; place-items:center;
  background:var(--azul-50); color:var(--azul); margin-bottom:18px}
.icon-badge svg{width:26px; height:26px; stroke-width:1.6}
.card-accent:hover .icon-badge{background:var(--laranja-50); color:var(--laranja-600)}
.card h3{margin-bottom:9px; font-size:20px}
.card p{font-size:14.5px; color:var(--cinza-700)}
.card .more{display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-weight:600;
  font-size:14px; color:var(--azul); transition:.2s}
.card .more svg{width:15px; height:15px; transition:.2s}
.card:hover .more{color:var(--laranja-600)}
.card:hover .more svg{transform:translateX(4px)}
.tag-list{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px}
.pill{font-size:12px; font-weight:600; padding:5px 11px; border-radius:30px;
  background:var(--azul-50); color:var(--azul-600)}
.pill-o{background:var(--laranja-50); color:var(--laranja-800)}

/* KPI / stats */
.kpi-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.kpi{text-align:center; padding:14px}
.kpi-num{font-size:clamp(38px,4.6vw,52px); line-height:1; letter-spacing:-.02em}
.kpi-num .u{font-size:.5em; vertical-align:super; margin-left:1px}
.kpi-label{font-size:14px; color:var(--cinza-500); margin-top:10px; font-weight:500}
.sec-navy .kpi-label{color:#a9c2dc}
.stat-row{display:flex; gap:30px; flex-wrap:wrap}
.stat{flex:1; min-width:130px}
.stat-num{font-size:40px; color:var(--laranja); line-height:1}
.stat-lab{font-size:13.5px; color:var(--cinza-500); margin-top:6px}

/* feature list */
.flist{list-style:none; display:grid; gap:14px}
.flist li{display:flex; gap:13px; align-items:flex-start; font-size:15px; color:var(--cinza-700)}
.flist li .ck{flex-shrink:0; width:24px; height:24px; border-radius:50%; background:var(--laranja-50);
  color:var(--laranja-600); display:grid; place-items:center; margin-top:1px}
.flist li .ck svg{width:13px; height:13px; stroke-width:2.4}
.flist.on-navy li{color:#cfe0f0}
.flist.on-navy .ck{background:rgba(245,138,31,.18); color:var(--laranja)}

/* media block w/ visual panel */
.visual{aspect-ratio:4/3.2; border-radius:var(--radius-xl); background:
  linear-gradient(135deg,var(--azul) 0%,var(--azul-600) 100%); position:relative; overflow:hidden;
  box-shadow:var(--shadow-lg)}
.visual.solar{background:linear-gradient(135deg,var(--azul-800),var(--azul))}
.visual .glow{position:absolute; inset:0; background:radial-gradient(circle at 70% 25%,rgba(245,138,31,.4),transparent 55%)}
.visual .vcontent{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:30px; color:#fff; z-index:2}
.visual .vbig{font-family:var(--font-display); font-weight:700; font-size:54px; color:var(--laranja); line-height:1}
.visual .vtx{font-size:15px; color:#dbe8f6; margin-top:6px; max-width:80%}
.visual svg.deco{position:absolute; opacity:.16; color:#fff}

/* ---------- tabs ---------- */
.tabs-btns{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; border-bottom:1px solid var(--cinza-100)}
.tab-btn{padding:13px 20px; font-family:var(--font-body); font-weight:600; font-size:15px;
  color:var(--cinza-500); background:none; border:none; cursor:pointer; border-bottom:3px solid transparent;
  margin-bottom:-1px; transition:.2s}
.tab-btn:hover{color:var(--azul)}
.tab-btn.active{color:var(--azul); border-bottom-color:var(--laranja)}
.tab-panel{display:none; animation:fade .4s}
.tab-panel.active{display:block}
@keyframes fade{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}

/* ---------- accordion ---------- */
.acc{display:grid; gap:12px}
.acc-item{border:1px solid var(--cinza-100); border-radius:var(--radius-md); overflow:hidden; background:#fff; transition:.2s}
.acc-item.open{border-color:var(--azul-100); box-shadow:var(--shadow-sm)}
.acc-head{width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:20px 24px; background:none; border:none; cursor:pointer; text-align:left;
  font-family:var(--font-display); font-weight:700; font-size:18px; color:var(--azul)}
.acc-head .ai{flex-shrink:0; width:30px; height:30px; border-radius:50%; border:1.5px solid var(--azul-100);
  display:grid; place-items:center; transition:.3s; color:var(--azul)}
.acc-item.open .ai{background:var(--laranja); border-color:var(--laranja); color:var(--azul-800); transform:rotate(45deg)}
.acc-body{max-height:0; overflow:hidden; transition:.34s ease}
.acc-body-in{padding:0 24px 22px; color:var(--cinza-700); font-size:15px}

/* ---------- carousel ---------- */
.carousel{position:relative}
.car-viewport{overflow:hidden; border-radius:var(--radius-lg)}
.car-track{display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1)}
.car-slide{flex:0 0 100%; padding:2px}
.car-card{background:#fff; border:1px solid var(--cinza-100); border-radius:var(--radius-lg); overflow:hidden; min-height:230px; display:flex; flex-direction:column}
.car-card .car-img{display:block; width:100%; height:170px}
.car-card .car-body{padding:24px 26px 28px}
.sec-navy .car-card{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12)}
.car-step-n{font-family:var(--font-display); font-weight:700; font-size:46px; color:var(--laranja-200); line-height:1}
.sec-navy .car-step-n{color:rgba(245,138,31,.55)}
.car-nav{display:flex; gap:10px; margin-top:22px; align-items:center}
.car-arrow{width:46px; height:46px; border-radius:50%; border:1.5px solid var(--azul-100); background:#fff;
  display:grid; place-items:center; cursor:pointer; transition:.2s; color:var(--azul)}
.car-arrow:hover{background:var(--azul); border-color:var(--azul); color:#fff}
.car-arrow:disabled{opacity:.35; cursor:default; background:#fff; color:var(--azul)}
.car-dots{display:flex; gap:7px; margin-left:auto}
.car-dot{width:9px; height:9px; border-radius:50%; background:var(--cinza-300); border:none; cursor:pointer; transition:.2s; padding:0}
.car-dot.active{background:var(--laranja); width:26px; border-radius:6px}

/* multi-visible carousel (cards) */
.car-slide.s3{flex:0 0 33.333%}
.car-slide.s2{flex:0 0 50%}

/* ---------- filter list (news / cases) ---------- */
.filterbar{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:34px}
.filterbar select,.field select{appearance:none; font-family:var(--font-body); font-weight:500; font-size:14.5px;
  padding:11px 40px 11px 16px; border:1px solid var(--cinza-100); border-radius:var(--radius-md);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23133A62' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 14px center; cursor:pointer; color:var(--azul)}
.chip{padding:9px 17px; border-radius:30px; border:1px solid var(--cinza-100); background:#fff; cursor:pointer;
  font-weight:600; font-size:13.5px; color:var(--cinza-500); transition:.18s}
.chip:hover{border-color:var(--azul-100); color:var(--azul)}
.chip.active{background:var(--azul); border-color:var(--azul); color:#fff}
.post-card{cursor:pointer; display:flex; flex-direction:column; height:100%}
.post-thumb{aspect-ratio:16/9; border-radius:var(--radius-md); margin-bottom:18px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,var(--azul),var(--azul-600))}
.post-thumb .pg{position:absolute; inset:0; background:radial-gradient(circle at 75% 30%,rgba(245,138,31,.4),transparent 60%)}
.post-thumb .cat{position:absolute; top:14px; left:14px; z-index:2; font-size:11.5px; font-weight:700;
  text-transform:uppercase; letter-spacing:.07em; background:var(--laranja); color:var(--azul-800); padding:5px 11px; border-radius:4px}
.post-card .date{font-size:12.5px; color:var(--laranja-600); font-weight:600; letter-spacing:.04em; text-transform:uppercase}
.post-card h3{font-size:19px; margin:8px 0 10px}
.post-card p{font-size:14px; color:var(--cinza-500); flex:1}

/* ---------- CTA banner ---------- */
.cta-banner{position:relative; overflow:hidden; border-radius:var(--radius-xl);
  background:linear-gradient(125deg,var(--azul-800),var(--azul) 70%,#16487a); color:#fff; padding:64px 56px}
.cta-banner::before{content:""; position:absolute; right:-40px; bottom:-80px; width:380px; height:380px;
  background:radial-gradient(circle,rgba(245,138,31,.3),transparent 60%)}
.cta-banner .ct-in{position:relative; z-index:2; max-width:600px}
.cta-banner h2{color:#fff; margin-bottom:14px}
.cta-banner p{color:#c7d8ec; font-size:17px; margin-bottom:28px}
.cta-banner .hero-cta{margin-top:0}

/* logos / brands strip */
.brands-strip{display:flex; gap:18px; flex-wrap:wrap; justify-content:center}
.brand-chip{display:flex; flex-direction:column; gap:4px; align-items:center; padding:22px 34px;
  border:1px solid var(--cinza-100); border-radius:var(--radius-lg); min-width:190px; background:#fff; transition:.24s}
.brand-chip:hover{box-shadow:var(--shadow-md); transform:translateY(-4px)}
.brand-chip b{font-family:var(--font-display); font-size:21px; color:var(--azul)}
.brand-chip span{font-size:12.5px; color:var(--cinza-500)}
.brand-chip .dotbar{width:30px; height:4px; border-radius:3px; background:var(--laranja); margin-bottom:6px}

/* offices */
.office-card{padding:26px; border:1px solid var(--cinza-100); border-radius:var(--radius-lg); background:#fff; transition:.24s}
.office-card:hover{box-shadow:var(--shadow-md); border-color:var(--azul-100)}
.office-card .oflag{font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--laranja-600)}
.office-card h3{font-size:19px; margin:6px 0 12px}
.office-card .oline{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--cinza-700); margin-top:8px}
.office-card .oline svg{width:16px; height:16px; flex-shrink:0; margin-top:2px; color:var(--azul-400)}

/* forms */
.form{display:grid; gap:18px}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.field{display:flex; flex-direction:column; gap:7px}
.field label{font-size:13.5px; font-weight:600; color:var(--azul)}
.field label .req{color:var(--laranja-600)}
.field input,.field textarea,.field select{font-family:var(--font-body); font-size:15px; padding:13px 15px;
  border:1px solid var(--cinza-100); border-radius:var(--radius-md); background:#fff; color:var(--cinza-900); transition:.18s; width:100%}
.field input:focus,.field textarea:focus,.field select:focus{outline:none; border-color:var(--azul-400); box-shadow:0 0 0 3px var(--azul-50)}
.field textarea{resize:vertical; min-height:120px}
.field.err input,.field.err textarea,.field.err select{border-color:#D0342C; box-shadow:0 0 0 3px #FDECEA}
.err-msg{font-size:12.5px; color:#D0342C; display:none}
.field.err .err-msg{display:block}
.form-note{font-size:12.5px; color:var(--cinza-500)}
.form-ok{display:none; padding:22px; border-radius:var(--radius-lg); background:var(--laranja-50);
  border:1px solid var(--laranja-200); color:var(--azul)}
.form-ok.show{display:block; animation:fade .4s}

/* ---------- FOOTER ---------- */
.ftr{background:var(--azul-800); color:#9fb6d0; padding-top:70px}
.ftr-top{max-width:var(--wrap); margin:0 auto; padding:0 24px;
  display:grid; grid-template-columns:1.5fr 1fr 1.2fr; gap:40px; padding-bottom:54px}
.ftr-brand .brand .logo-tx b{color:#fff}
.ftr-brand p{font-size:14px; color:#8ca6c4; margin-top:18px; max-width:280px; line-height:1.6}
.ftr-soc{display:flex; gap:10px; margin-top:22px}
.ftr-soc a{width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.15);
  display:grid; place-items:center; color:#bcd0e6; transition:.2s}
.ftr-soc a:hover{background:var(--laranja); border-color:var(--laranja); color:var(--azul-800); transform:translateY(-3px)}
.ftr-soc svg{width:17px; height:17px}
.ftr-col h4{font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:#fff; margin-bottom:18px}
.ftr-col a{display:block; font-size:14px; color:#9fb6d0; padding:6px 0; transition:.18s}
.ftr-col a:hover{color:var(--laranja); padding-left:5px}
.ftr-contact .ci{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:#9fb6d0; margin-bottom:14px}
.ftr-contact .ci svg{width:16px; height:16px; flex-shrink:0; margin-top:3px; color:var(--laranja)}
.ftr-bottom{border-top:1px solid rgba(255,255,255,.1)}
.ftr-bottom .fb-in{max-width:var(--wrap); margin:0 auto; padding:24px; display:flex;
  justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap}
.ftr-bottom .legal{display:flex; gap:22px; flex-wrap:wrap}
.ftr-bottom .legal a{font-size:13px; color:#8ca6c4; transition:.18s}
.ftr-bottom .legal a:hover{color:var(--laranja)}
.ftr-bottom .cr{font-size:13px; color:#6f8aa8}
.brands-line{font-size:12.5px; color:#7f99b8; letter-spacing:.04em}
.brands-line b{color:#c7d8ec; font-weight:600}

/* ---------- misc ---------- */
.divider{height:1px; background:var(--cinza-100); border:none; margin:0}
.split-quote{border-left:4px solid var(--laranja); padding:6px 0 6px 26px; font-family:var(--font-display);
  font-size:23px; font-style:italic; line-height:1.4; color:var(--azul)}
.note-tag{display:inline-block; font-size:12px; font-weight:600; color:var(--laranja-800);
  background:var(--laranja-50); padding:4px 10px; border-radius:4px}
.two-col-text{column-count:2; column-gap:40px}
.process-line{position:relative}

/* reveal */
[data-reveal]{opacity:0; transform:translateY(26px); transition:.7s cubic-bezier(.2,.7,.3,1)}
[data-reveal].in{opacity:1; transform:none}
[data-reveal].d1{transition-delay:.08s}[data-reveal].d2{transition-delay:.16s}
[data-reveal].d3{transition-delay:.24s}[data-reveal].d4{transition-delay:.32s}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .ftr-top{grid-template-columns:1fr 1fr 1fr; gap:34px}
  .ftr-brand{grid-column:1/-1}
  .cols-12-2{grid-template-columns:1fr; gap:36px}
}
@media(max-width:900px){
  .nav,.hdr-tools .icon-btn.search-trigger{display:none}
  .burger{display:flex}
  .cols-4,.kpi-grid{grid-template-columns:repeat(2,1fr)}
  .cols-3{grid-template-columns:repeat(2,1fr)}
  .car-slide.s3{flex:0 0 50%}
  .section{padding:64px 0}
  .two-col-text{column-count:1}
  .cta-banner{padding:44px 30px}
}
@media(max-width:640px){
  .cols-2,.cols-3,.cols-4,.kpi-grid,.form-row{grid-template-columns:1fr}
  .car-slide.s3,.car-slide.s2{flex:0 0 100%}
  .hero-mini{gap:24px}
  .ftr-top{grid-template-columns:1fr 1fr}
  .ftr-bottom .fb-in{flex-direction:column; align-items:flex-start}
  .section{padding:52px 0}
  .split-quote{font-size:19px}
}
/* ============================================================
   PDF RE-SKIN — DNA visual da apresentação Solaris Consultoria
   (golden hour · painéis luminosos · gradiente navy→teal→laranja
    · acentos teal/dourado do painel solar). Só visual; sem mexer
    na estrutura/markup.
   ============================================================ */
/* rótulos com tracking largo (estilo "C O N E X Ã O 02/08") */
.eyebrow{letter-spacing:.22em; font-size:12px}
.eyebrow::before{width:30px; height:2px; background:var(--grad-brand); border-radius:2px}
.sec-navy .eyebrow::before,.hero .eyebrow::before,.phero .eyebrow::before{
  background:linear-gradient(90deg,var(--gold),var(--laranja))}

/* números grandes com gradiente "sol" (golden hour) */
.kpi-num,.stat-num,.hero-mini .m-num,.visual .vbig,.car-step-n{
  background:var(--grad-sun); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--laranja)}
.sec-navy .kpi-num,.sec-navy .stat-num{
  background:linear-gradient(135deg,var(--gold),var(--laranja));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}

/* HERO / PAGE-HERO — amanhecer quente + brilho teal, textura de painéis */
.hero{background:var(--grad-dawn)}
.hero::before{background:
  radial-gradient(circle at 80% 14%,rgba(245,194,75,.30),transparent 44%),
  radial-gradient(ellipse at 60% 108%,rgba(245,138,31,.34),transparent 56%),
  radial-gradient(circle at 8% 78%,rgba(39,168,198,.34),transparent 50%)}
.hero::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.5;
  background:
   linear-gradient(transparent 0 96%,rgba(255,255,255,.05) 96%) 0 0/100% 46px,
   linear-gradient(90deg,transparent 0 96%,rgba(255,255,255,.05) 96%) 0 0/46px 100%;
  -webkit-mask:radial-gradient(ellipse at 78% 30%,#000,transparent 66%);
          mask:radial-gradient(ellipse at 78% 30%,#000,transparent 66%)}
.phero{background:var(--grad-dawn)}
.phero::after{background:radial-gradient(circle,rgba(245,194,75,.26),transparent 64%)}

/* CARDS — painel que "acende" no hover (luz quente) */
.card{transition:.28s cubic-bezier(.4,0,.2,1)}
.card:hover{box-shadow:var(--glow-warm); border-color:var(--laranja-200)}
.card-accent::before{background:var(--grad-brand); height:3px}
.icon-badge{background:linear-gradient(150deg,var(--azul-50),var(--teal-50)); color:var(--azul);
  box-shadow:inset 0 0 0 1px rgba(39,168,198,.18)}
.card-accent:hover .icon-badge{background:var(--grad-sun); color:#fff;
  box-shadow:0 8px 22px -6px rgba(245,138,31,.55)}

/* botões — primário com gradiente sol */
.btn-primary{background:var(--grad-sun); background-clip:padding-box; border-color:#EC8A1E; color:#fff}
.btn-primary:hover{box-shadow:var(--glow-warm); filter:saturate(1.06)}

/* pills / chips — acento teal sutil */
.pill{background:var(--teal-50); color:var(--teal-700)}
.pill-o{background:var(--laranja-50); color:var(--laranja-800)}
.chip.active{background:var(--grad-brand); border-color:transparent}
.car-dot.active{background:var(--grad-sun)}
.flist li .ck{background:linear-gradient(150deg,var(--gold-100),var(--laranja-50)); color:var(--laranja-600)}

/* painéis "visual" — brilho golden hour + canto teal */
.visual,.post-thumb{box-shadow:var(--glow-warm)}
.visual .glow{background:
  radial-gradient(circle at 72% 22%,rgba(245,194,75,.45),transparent 52%),
  radial-gradient(circle at 14% 90%,rgba(39,168,198,.34),transparent 55%)}
.visual.solar{background:var(--grad-dawn)}

/* seções escuras e CTA — amanhecer dramático */
.sec-navy{background:var(--grad-dawn)}
.cta-banner{background:var(--grad-dawn)}
.cta-banner::before{background:radial-gradient(circle,rgba(245,194,75,.34),transparent 60%)}
.cta-banner::after{content:""; position:absolute; left:-60px; top:-60px; width:300px; height:300px;
  background:radial-gradient(circle,rgba(39,168,198,.30),transparent 62%)}

/* acordeão / abas / setas — acento da marca */
.acc-item.open .ai{background:var(--grad-sun); border-color:transparent; color:#fff}
.tab-btn.active{border-bottom-color:var(--laranja)}
.tab-btn.active::after{content:""}
.car-arrow:hover{background:var(--grad-brand); border-color:transparent}

/* vídeo full-bleed (capa do início) + reveal por scroll */
.intro{position:relative; height:200vh}
.intro-sticky{position:sticky; top:0; height:100vh; overflow:hidden; background:#000}
.intro-sticky iframe{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:max(100vw,177.78vh); height:max(56.25vw,100vh); border:0; pointer-events:none}
/* Vídeo de capa decorativo: bloqueia o mouse para os controles do YouTube nunca aparecerem */
.capa-video{pointer-events:none !important}
.intro-sticky::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,rgba(7,24,46,.5) 0%,rgba(7,24,46,.12) 34%,rgba(7,24,46,.2) 62%,rgba(7,24,46,.72) 100%)}
.intro-text{position:absolute; left:0; right:0; bottom:16%; z-index:3; text-align:center;
  padding:0 24px; color:#fff; opacity:0; will-change:transform,opacity}
.intro-text .it-kick{font-size:13px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold); font-weight:700; margin-bottom:18px}
.intro-text h2{font-family:var(--font-display); font-weight:700; color:#fff;
  font-size:clamp(34px,5.2vw,68px); line-height:1.05; max-width:16ch; margin:0 auto;
  text-shadow:0 4px 30px rgba(0,0,0,.55)}
.intro-hint{position:absolute; left:50%; bottom:34px; transform:translateX(-50%); z-index:3;
  color:rgba(255,255,255,.8); font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  display:flex; flex-direction:column; align-items:center; gap:8px; animation:introBob 1.8s ease-in-out infinite}
.intro-hint svg{width:20px; height:20px}
@keyframes introBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}
.intro-hero{position:absolute; inset:0; z-index:4; display:flex; align-items:center;
  padding:calc(var(--hdr-h) + 24px) 0 44px; opacity:0; will-change:transform,opacity}

/* rodapé — linha de aurora no topo */
.ftr{background:var(--grad-dawn); position:relative}
.ftr::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad-brand)}

/* logo: disco do sol com gradiente da marca */
.logo-sun-grad{fill:url(#solGrad)}

/* === TEMA X-GRID CONSULTORIA (navy · verde escuro · laranja) === */
.sol-consultoria{
  --laranja:#F58A1F; --laranja-600:#E07A12; --laranja-800:#C76A0C; --laranja-200:#5a3a14; --laranja-100:#2a1f10; --laranja-50:#1a140b;
  --grad-sun:linear-gradient(135deg,#F7CE63 0%,#F58A1F 55%,#1E5235 100%);
  background:#0A1A2A; display:block;
}
.sol-consultoria .section{background:#0A1A2A}
.sol-consultoria .sec-gray{background:#071320}
.sol-consultoria .sec-navy{background:#06182B}
.sol-consultoria .phero{background:linear-gradient(135deg,#071320 0%,#0d2e22 78%)}
.sol-consultoria h1,.sol-consultoria h2,.sol-consultoria h3{color:#fff}
.sol-consultoria p{color:#aebfd0}
.sol-consultoria .lead{color:#c6d4e4}
.sol-consultoria .card{background:#0F2436; border-color:rgba(245,138,31,.16)}
.sol-consultoria .card:hover{border-color:rgba(245,138,31,.5); box-shadow:0 0 30px rgba(30,82,53,.4)}
.sol-consultoria .card-accent::before{background:linear-gradient(90deg,#F58A1F,#1E5235)}
.sol-consultoria .icon-badge{background:rgba(30,82,53,.4); color:#5fd39a; box-shadow:inset 0 0 0 1px rgba(245,138,31,.3)}
.sol-consultoria .card-accent:hover .icon-badge{background:var(--grad-sun); color:#06182B}
.sol-consultoria .btn-primary{border-color:#E07A12; color:#06182B}
.sol-consultoria .flist li .ck{background:rgba(30,82,53,.5); color:#bfe3c9}
.sol-consultoria .visual,.sol-consultoria .post-thumb{box-shadow:0 0 34px rgba(30,82,53,.4)}
.sol-consultoria .acc-item{border-color:rgba(245,138,31,.16); background:#0F2436}
.sol-consultoria .acc-item.open{border-color:rgba(245,138,31,.5)}
.sol-consultoria .acc-head .ai{border-color:rgba(245,138,31,.4); color:#F58A1F}
.sol-consultoria .acc-head{color:#fff}
.sol-consultoria .acc-body-in{color:#aebfd0}
.sol-consultoria .crumb a,.sol-consultoria .crumb span{color:#9fb6cf}
.sol-consultoria .stat-lab{color:#9fb6cf}
.sol-consultoria .stat-num,.sol-consultoria .kpi-num{color:#F58A1F}

/* ===== bloco ===== */

/* grade de soluções: centraliza a última linha (5 cards em 3 colunas) */
  .sol-grid-c{display:flex; flex-wrap:wrap; justify-content:center; gap:26px}
  .sol-grid-c > *{flex:0 1 calc((100% - 52px)/3)}
  @media(max-width:900px){ .sol-grid-c > *{flex:0 1 calc((100% - 26px)/2)} }
  @media(max-width:560px){ .sol-grid-c > *{flex:1 1 100%} }
  /* ícone Solaris translúcido à direita do card final (CTA) — revela o fundo */
  .cta-banner{
    background-image:url("../assets/img/cta-banner-bg.png"), var(--grad-dawn) !important;
    background-repeat:no-repeat, no-repeat;
    background-position:right -40px center, center;
    background-size:auto 92%, cover;
  }
  @media(max-width:760px){ .cta-banner{ background-size:auto 60%, cover; background-position:right -30px bottom -10px, center; } }