/* CREA-PB Portal — Polish layer (Apple-inspired) */
:root{
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --shadow-1: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.05);
  --shadow-2: 0 2px 4px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);
  --shadow-3: 0 4px 8px rgba(0,0,0,.04), 0 12px 28px rgba(0,0,0,.08);
  --shadow-4: 0 6px 14px rgba(0,0,0,.05), 0 20px 48px rgba(0,0,0,.12);
  --shadow-blue: 0 6px 16px rgba(19,81,180,.18), 0 2px 4px rgba(19,81,180,.10);
  --shadow-blue-hover: 0 10px 26px rgba(19,81,180,.28), 0 3px 6px rgba(19,81,180,.14);
  --shadow-gold: 0 6px 16px rgba(255,205,7,.30), 0 2px 4px rgba(184,148,5,.20);
  --r-card: 14px;
  --r-btn: 9999px;
  --hairline: rgba(0,0,0,.06);
}
body{
  font-family: 'Rawline', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', 'Raleway', Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1;
  letter-spacing: -0.005em;
}
h1, .hero h1, .article-layout h1, .page-head h1, .transp-hero h1{ letter-spacing: -0.025em; line-height: 1.08; }
h2, h3{ letter-spacing: -0.018em; }
h4, h5, h6{ letter-spacing: -0.01em; }

/* ===== CRITICAL FIXES — vencer Elementor kit ===== */
body .profile-card, body .profile-card *, body .profile-card .info strong, body .profile-card .info small, body .profile-card .arr i{ color:#fff !important; }
body .profile-card{ background:linear-gradient(135deg, var(--gov-blue-80) 0%, var(--gov-blue-60) 100%) !important; }
body .profile-card.alt{ background:linear-gradient(135deg, var(--crea-blue) 0%, var(--gov-blue-70) 100%) !important; }
body .br-card-link{ color: var(--gov-gray-80) !important; }
body .br-card-link .lbl{ color: var(--gov-gray-80) !important; }
body .br-card-link:hover .lbl{ color: var(--gov-blue-80) !important; }
body .br-card-link .ico{ color: var(--gov-blue-70) !important; }
body .feat-card{ color: var(--gov-gray-80) !important; }
body .feat-card .eye{ color: var(--gov-gray-30) !important; letter-spacing:.08em; }
body .feat-card strong{ color: var(--gov-blue-80) !important; }
body .feat-card p{ color: var(--gov-gray-60) !important; }
body .feat-card .lk{ color: var(--gov-blue-70) !important; }
body .ncard{ color: var(--gov-gray-80) !important; }
body .ncard .ttl{ color: var(--gov-gray-80) !important; }
body .ncard .meta{ color: var(--gov-gray-60) !important; }
body .br-tag{ color: var(--gov-blue-80) !important; background: rgba(19,81,180,.08) !important; }
body .panel h3, body .panel h4{ color: var(--gov-blue-80) !important; }
body .agenda-text strong{ color: var(--gov-gray-80) !important; }
body .agenda-text small{ color: var(--gov-gray-60) !important; }
body .editais a{ color: var(--gov-blue-70) !important; }
body .cta-block, body .cta-block *{ color:#fff !important; }
body .cta-block .br-button{ color: var(--gov-blue-80) !important; }
body .cta-block .br-button:hover{ color: var(--gov-blue-90) !important; }
body .hero, body .hero h1, body .hero h2, body .hero p{ color:#fff !important; }
body .hero .search-bar input{ color: var(--gov-gray-80) !important; }
body .stat .num{ color: var(--gov-blue-70) !important; }
body .stat .lbl{ color: var(--gov-gray-60) !important; }
body .person strong{ color: var(--gov-gray-80) !important; }
body .person small{ color: var(--gov-gray-60) !important; }
body .kpi .lbl{ color: var(--gov-gray-60) !important; }
body .kpi .val{ color: var(--gov-blue-80) !important; }
body .kpi .delta{ color: var(--gov-success) !important; }
body .kpi .delta.dn{ color: var(--gov-danger) !important; }
body .br-table thead th{ color:#fff !important; }
body .br-table tbody td{ color: var(--gov-gray-80) !important; }
body .br-table .num{ color: var(--gov-blue-80) !important; }
body .br-table a{ color: var(--gov-blue-70) !important; }
body .br-footer, body .br-footer *{ color:#fff !important; }
body .br-footer a{ color: rgba(255,255,255,.88) !important; }
body .br-footer h4, body .br-footer h5{ color: rgba(255,255,255,.65) !important; }

/* ===== HERO Apple-style ===== */
.hero{
  padding: 88px 24px !important;
  background:
    radial-gradient(1200px 600px at 90% -10%, rgba(255,255,255,.12), transparent 60%),
    radial-gradient(800px 400px at 0% 110%, rgba(91,154,255,.18), transparent 60%),
    linear-gradient(135deg, #061a3b 0%, #0C326F 50%, #1351B4 100%) !important;
}
.hero::after{ display:none; }
.hero h1{
  font-size: clamp(28px, 4vw, 46px) !important;
  font-weight: 700;
  line-height: 1.06 !important;
  letter-spacing: -0.03em;
  margin-bottom: 18px !important;
  max-width: 720px !important;
  background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.88) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.hero p{ font-size: 17px !important; opacity: .88; max-width: 600px !important; line-height: 1.55; margin-bottom: 32px !important; }
.hero-actions{ gap: 12px !important; margin-bottom: 36px !important; }
.hero .search-bar{
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  box-shadow: 0 12px 32px rgba(7,29,65,.32), 0 2px 4px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.6) !important;
  border: 1px solid rgba(255,255,255,.4);
}
@media(min-width:768px){
  .hero{ padding: 104px 32px !important; }
  .hero p{ font-size: 19px !important; }
}

/* ===== BUTTONS Apple-like ===== */
.br-button{
  font-weight: 600 !important;
  letter-spacing: -0.01em;
  transition: transform .2s var(--ease-out), box-shadow .25s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out) !important;
}
.br-button:active{ transform: scale(.97); }
.br-button.primary{
  background: linear-gradient(180deg, var(--gov-blue-60) 0%, var(--gov-blue-70) 100%) !important;
  box-shadow: var(--shadow-blue), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.br-button.primary:hover{
  background: linear-gradient(180deg, var(--gov-blue-70) 0%, var(--gov-blue-80) 100%) !important;
  box-shadow: var(--shadow-blue-hover), inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform: translateY(-1px);
}
.br-button.gold{
  background: linear-gradient(180deg, #FFD840 0%, #FFCD07 100%) !important;
  color: #1a1100 !important;
  font-weight: 700 !important;
  box-shadow: var(--shadow-gold), inset 0 1px 0 rgba(255,255,255,.55) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.3);
}
.br-button.gold:hover{
  background: linear-gradient(180deg, #FFE066 0%, #FFD318 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(255,205,7,.40), 0 3px 6px rgba(184,148,5,.25), inset 0 1px 0 rgba(255,255,255,.6) !important;
}
.br-button.outline{
  background: rgba(255,255,255,.10) !important;
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  border: 1.5px solid rgba(255,255,255,.85) !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.18);
}
.br-button.outline:hover{
  background: rgba(255,255,255,.20) !important;
  border-color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.25);
}
.br-button.secondary{
  background: rgba(19,81,180,.06) !important;
  border: 1px solid rgba(19,81,180,.30) !important;
  color: var(--gov-blue-70) !important;
}
.br-button.secondary:hover{
  background: rgba(19,81,180,.12) !important;
  border-color: var(--gov-blue-70) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(19,81,180,.12);
}
.br-button:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(89,146,237,.45), var(--shadow-blue) !important;
}
.cta-block .br-button{
  background: rgba(255,255,255,.96) !important;
  color: var(--gov-blue-80) !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.6) !important;
  border: none !important;
  height: 36px !important;
  padding: 0 18px !important;
}
.cta-block .br-button:hover{
  background: #fff !important;
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 8px 18px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.7) !important;
}

/* ===== CARDS refined ===== */
.profile-card{
  border-radius: var(--r-card) !important;
  box-shadow: var(--shadow-2);
  transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out) !important;
  padding: 28px !important;
}
.profile-card:hover{ transform: translateY(-4px) !important; box-shadow: var(--shadow-4) !important; }
.profile-card .ico{
  background: rgba(255,255,255,.20) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  width: 56px !important; height: 56px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
}
.br-card-link{
  border-radius: var(--r-card) !important;
  border: 1px solid var(--hairline) !important;
  box-shadow: var(--shadow-1);
  transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out), background .25s var(--ease-out), border-color .25s var(--ease-out) !important;
  padding: 24px 14px !important;
}
.br-card-link:hover{
  transform: translateY(-3px) !important;
  box-shadow: var(--shadow-3) !important;
  border-color: rgba(19,81,180,.25) !important;
}
.feat-card{
  border-radius: var(--r-card) !important;
  border: 1px solid var(--hairline) !important;
  box-shadow: var(--shadow-1);
  padding: 22px !important;
  transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out) !important;
}
.feat-card:hover{ transform: translateY(-3px) !important; box-shadow: var(--shadow-3) !important; }
.ncard{
  border-radius: var(--r-card) !important;
  border: 1px solid var(--hairline) !important;
  box-shadow: var(--shadow-1);
  transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out) !important;
}
.ncard:hover{ transform: translateY(-4px) !important; box-shadow: var(--shadow-3) !important; }
.ncard .img{ background: linear-gradient(135deg, var(--gov-blue-50) 0%, var(--gov-blue-30) 100%) !important; }
.panel{
  border-radius: var(--r-card) !important;
  background: #fff !important;
  border: 1px solid var(--hairline);
  box-shadow: var(--shadow-1);
  padding: 24px !important;
}

.br-tag{
  font-weight: 700 !important;
  letter-spacing: .06em;
  font-size: 10.5px !important;
  padding: 4px 11px !important;
}

/* Access bar a11y */
.br-header-top .a11y button{
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
  font-weight: 600 !important;
  letter-spacing: .02em;
  transition: background .2s var(--ease-out), transform .2s var(--ease-out);
}
.br-header-top .a11y button:hover{ background: rgba(255,255,255,.32) !important; transform: translateY(-1px); }

/* Section spacing */
.profiles{ padding: 48px 24px 24px !important; }
.quick{ padding: 40px 24px !important; }
.featured{ padding: 56px 24px !important; }
.news{ padding: 56px 24px !important; }
.two-col{ padding: 48px 24px !important; gap: 28px !important; }
.duplo-cta{ background: var(--gov-gray-2) !important; padding: 32px 24px !important; gap: 16px !important; }
.duplo-cta .cta-block{ padding: 36px !important; }

.section-head h2, .section-head h3{ letter-spacing: -0.025em !important; font-size: 24px !important; }
.section-head .more{
  background: rgba(19,81,180,.06);
  padding: 8px 16px;
  border-radius: 99px;
  transition: all .2s var(--ease-out);
  text-decoration: none !important;
}
.section-head .more:hover{ background: rgba(19,81,180,.12); transform: translateX(2px); }

/* Duplo CTA refined */
.cta-block{
  border-radius: var(--r-card);
  position: relative;
  overflow: hidden;
}
.cta-block.a{
  background: linear-gradient(135deg, #16A92B 0%, var(--gov-success) 50%, #0F6818 100%) !important;
  box-shadow: 0 12px 32px rgba(22,136,33,.20), 0 2px 4px rgba(0,0,0,.06);
}
.cta-block.b{
  background: linear-gradient(135deg, #234A75 0%, var(--crea-blue) 50%, #0F2949 100%) !important;
  box-shadow: 0 12px 32px rgba(26,58,92,.30), 0 2px 4px rgba(0,0,0,.08);
}
.cta-block .ico{
  background: rgba(255,255,255,.22) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20);
  width: 56px !important; height: 56px !important;
}
.cta-block strong{ font-size: 18px !important; }
@media(max-width:768px){ .cta-block{ margin: 0; } }

/* Icon buttons */
.icon-btn{
  border: 1px solid var(--hairline) !important;
  background: rgba(255,255,255,.6) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: all .2s var(--ease-out) !important;
}
.icon-btn:hover{ background: rgba(19,81,180,.08) !important; border-color: rgba(19,81,180,.25) !important; transform: translateY(-1px); }

/* Pagination */
.pagination span, .pagination a, .page-numbers{
  border-radius: 8px !important;
  font-weight: 600 !important;
  border: 1px solid var(--hairline) !important;
  transition: all .2s var(--ease-out);
}
.pagination .current, .pagination span.active, .page-numbers.current{ box-shadow: var(--shadow-blue); }

/* Forms */
.contact-form input, .contact-form textarea, .contact-form select,
.filter-group input, .filter-group select{
  border-radius: 10px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  font-size: 14px !important;
  padding: 11px 14px !important;
  transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);
  background: #fff !important;
}
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus,
.filter-group input:focus, .filter-group select:focus{
  border-color: var(--gov-blue-70) !important;
  box-shadow: 0 0 0 4px rgba(89,146,237,.18) !important;
}

.hero .search-bar input{ font-size: 15px !important; font-weight: 500; }
.hero .search-bar input::placeholder{ color: var(--gov-gray-30); font-weight: 400; }
.hero .search-bar button{ font-weight: 600 !important; letter-spacing: -.01em; }

/* Breadcrumb */
.br-breadcrumb{
  background: rgba(248,248,248,.80) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Page head */
.page-head{
  background: linear-gradient(180deg, rgba(236,243,254,.70) 0%, #fff 100%) !important;
  padding: 48px 24px !important;
}
.page-head h1{ font-size: 36px !important; letter-spacing: -.025em; }
.page-head .subtitle{ font-size: 16px !important; line-height: 1.5; }

/* Transparencia hero */
.transp-hero{
  padding: 56px 24px !important;
  background:
    radial-gradient(800px 400px at 100% 0%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(135deg, #0C326F 0%, var(--gov-blue-70) 100%) !important;
}
.transp-hero h1, .transp-hero h2{
  font-size: 36px !important;
  letter-spacing: -.025em;
  background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.86) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.lai-bar{
  background: rgba(255,255,255,.14) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 14px !important;
}
.lai-bar .br-button{ color: var(--gov-blue-80) !important; font-weight:700 !important; }

/* KPIs */
.kpi{
  border-radius: var(--r-card) !important;
  border: 1px solid var(--hairline) !important;
  box-shadow: var(--shadow-1);
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.kpi:hover{ transform: translateY(-2px); box-shadow: var(--shadow-2); }
.kpi .val{ font-size: 30px !important; letter-spacing: -.03em; }

/* Lightbox */
.lightbox{ background: rgba(0,0,0,.96) !important; }
.lightbox .lb-close, .lightbox .lb-prev, .lightbox .lb-next{
  background: rgba(255,255,255,.10) !important;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.16);
  transition: all .2s var(--ease-out);
}
.lightbox .lb-close:hover, .lightbox .lb-prev:hover, .lightbox .lb-next:hover{
  background: rgba(255,255,255,.22) !important;
  transform: scale(1.05);
}

/* Header */
.br-header{
  background: rgba(255,255,255,.85) !important;
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
}

/* Footer */
.br-footer{
  background:
    radial-gradient(1000px 400px at 50% 100%, rgba(91,154,255,.10), transparent 60%),
    var(--gov-blue-90) !important;
  padding: 56px 24px 32px !important;
}

/* Common */
a, button{ -webkit-tap-highlight-color: transparent; }

/* Scrollbar */
::-webkit-scrollbar{ width: 12px; height: 12px; }
::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.18); border-radius: 99px; border: 3px solid #F8F8F8; }
::-webkit-scrollbar-thumb:hover{ background: rgba(0,0,0,.28); }
::-webkit-scrollbar-track{ background: transparent; }

/* Print */
@media print{
  .gov-bar, .a11y, .vlibras-stub, .hero-actions, .pagination{ display:none !important; }
  body{ color:#000 !important; }
  .hero, .featured, .news, .two-col{ background: #fff !important; color:#000 !important; }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}