/* ============================================================
   COBERMINAS — REDESIGN MODERNO v2.0
   Paleta: Laranja #e85d04 · Azul #0a2d52 · Preto #0d0d0d · Branco #fff
   Estética: Construtora premium, industrial-tech, bold & clean
   ============================================================ */

/* ══════════════════════════════════════════
   VARIÁVEIS E RESET APRIMORADO
══════════════════════════════════════════ */
:root {
  --cbm-orange:       #e85d04;
  --cbm-orange-dark:  #c44d03;
  --cbm-orange-light: #ff7a2b;
  --cbm-orange-glow:  rgba(232,93,4,.35);
  --cbm-blue:         #0a2d52;
  --cbm-blue-dark:    #061830;
  --cbm-blue-mid:     #0d4080;
  --cbm-blue-light:   #1a6fd4;
  --cbm-black:        #0d0f14;
  --cbm-dark:         #111827;
  --cbm-surface:      #1a2235;
  --cbm-border:       rgba(255,255,255,.08);
  --cbm-border-orange: rgba(232,93,4,.3);
  --cbm-white:        #ffffff;
  --cbm-gray-100:     #f8fafc;
  --cbm-gray-300:     #cbd5e1;
  --cbm-gray-500:     #64748b;
  --cbm-text-muted:   rgba(255,255,255,.62);
  --cbm-text-dim:     rgba(255,255,255,.42);
  --cbm-radius-sm:    6px;
  --cbm-radius:       12px;
  --cbm-radius-lg:    20px;
  --cbm-radius-xl:    32px;
  --cbm-shadow:       0 4px 24px rgba(0,0,0,.25);
  --cbm-shadow-lg:    0 12px 48px rgba(0,0,0,.4);
  --cbm-glow-orange:  0 0 32px rgba(232,93,4,.4);
  --cbm-glow-blue:    0 0 32px rgba(26,111,212,.3);
  --ease:             cubic-bezier(.4,0,.2,1);
  --ease-spring:      cubic-bezier(.34,1.56,.64,1);
}

*,*::before,*::after { box-sizing:border-box; }
::selection { background:rgba(232,93,4,.35); color:#fff; }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:#0d0f14; }
::-webkit-scrollbar-thumb { background:var(--cbm-orange); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--cbm-orange-light); }

/* ══════════════════════════════════════════
   HEADER — barra superior dark com glow
══════════════════════════════════════════ */
#header {
  background: rgba(10, 15, 25, .96) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  border-bottom: 1px solid var(--cbm-border-orange) !important;
  box-shadow: 0 1px 0 rgba(232,93,4,.2), 0 4px 24px rgba(0,0,0,.4) !important;
  height: 72px !important;
}
#header.scrolled {
  height: 60px !important;
  background: rgba(6,10,18,.98) !important;
  box-shadow: 0 4px 32px rgba(0,0,0,.6) !important;
}

/* Logo */
.logo-img {
  height: 52px !important;
  filter: drop-shadow(0 0 12px rgba(232,93,4,.3)) !important;
  transition: filter .3s !important;
}
#header.scrolled .logo-img { height: 44px !important; }
.logo-img:hover { filter: drop-shadow(0 0 20px rgba(232,93,4,.6)) !important; }

/* Nav links */
.nav-link {
  color: rgba(255,255,255,.78) !important;
  font-size: .79rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  padding: .45rem .85rem !important;
  border-radius: var(--cbm-radius-sm);
  border-bottom: none !important;
  transition: color .2s, background .2s !important;
  position: relative;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 50%; right: 50%;
  height: 2px;
  background: var(--cbm-orange);
  border-radius: 1px;
  transition: left .25s var(--ease), right .25s var(--ease);
}
.nav-link:hover {
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
}
.nav-link:hover::after { left: 10px; right: 10px; }

/* Header CTA buttons */
.btn-sm { border-radius: var(--cbm-radius-sm) !important; }

/* Mobile nav modernizado */
.mobile-nav {
  background: rgba(6,10,18,.97) !important;
  border-top: 2px solid var(--cbm-orange) !important;
  backdrop-filter: blur(20px) !important;
}
.mobile-nav a:hover {
  background: rgba(232,93,4,.12) !important;
  color: var(--cbm-orange-light) !important;
}

/* ══════════════════════════════════════════
   HERO SECTION — bold industrial
══════════════════════════════════════════ */
#hero {
  background: var(--cbm-black) !important;
  min-height: 100vh !important;
  position: relative;
  overflow: hidden;
}

/* Remover padrões antigos */
.hero-bg-pattern,
.hero-bg-grid,
.hero-accent-stripe { display: none !important; }

/* Novo background: gradiente + partículas SVG */
#hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 70% 50%, rgba(232,93,4,.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 80% at 10% 80%, rgba(26,111,212,.14) 0%, transparent 55%),
    linear-gradient(160deg, #0d0f14 0%, #111827 50%, #0a1628 100%);
  z-index: 0;
}
#hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 64px 64px;
  z-index: 0;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 40%, transparent 100%);
}
#hero .container { position: relative; z-index: 1; }

/* Hero content grid */
.hero-content {
  display: grid !important;
  grid-template-columns: 1.1fr .9fr !important;
  gap: 4rem !important;
  align-items: center !important;
  padding: 2rem 0 !important;
}

/* Trust badges */
.cbm-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.5rem;
}
.cbm-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .9rem;
  border-radius: 100px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Hero title */
.hero-title {
  font-size: clamp(2rem, 4.5vw, 3.4rem) !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em;
  margin-bottom: 1.25rem !important;
}
.hero-title .highlight {
  background: linear-gradient(90deg, var(--cbm-orange-light), #fbbf24) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.hero-description {
  font-size: 1rem !important;
  color: var(--cbm-text-muted) !important;
  line-height: 1.8 !important;
  margin-bottom: 2rem !important;
}

/* Hero stats */
.hero-stats {
  display: flex !important;
  gap: 2rem !important;
  padding-top: 1.75rem !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  margin-top: .5rem;
}
.hero-stat { text-align: left; }
.stat-value {
  display: block !important;
  font-size: 2.2rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, var(--cbm-orange-light), #fbbf24) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.stat-label {
  font-size: .7rem !important;
  color: var(--cbm-text-dim) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}

/* Hero service cards (direita) */
.hero-services {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: .5rem !important;
  max-height: 500px !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(232,93,4,.4) transparent !important;
  padding-right: .25rem;
}
.hero-services::-webkit-scrollbar { width: 3px; }
.hero-services::-webkit-scrollbar-thumb { background:rgba(232,93,4,.4); border-radius:2px; }

.hero-service-card {
  display: flex !important;
  align-items: center !important;
  gap: .7rem !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-left: 3px solid var(--cbm-orange) !important;
  border-radius: var(--cbm-radius-sm) !important;
  padding: .7rem .9rem !important;
  cursor: pointer !important;
  transition: all .25s var(--ease) !important;
}
.hero-service-card:hover {
  background: rgba(232,93,4,.1) !important;
  border-color: rgba(232,93,4,.35) !important;
  border-left-color: var(--cbm-orange-light) !important;
  transform: translateX(3px) !important;
  box-shadow: 0 4px 16px rgba(232,93,4,.12) !important;
}
.service-icon-wrap {
  width: 38px !important; height: 38px !important;
  border-radius: var(--cbm-radius-sm) !important;
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
}
.service-name { font-size: .78rem !important; font-weight: 700 !important; color: #fff !important; }
.service-desc { font-size: .68rem !important; color: var(--cbm-text-dim) !important; }

/* Kingspan card hero */
.hero-service-card--kingspan {
  grid-column: span 2 !important;
  border-left-width: 0 !important;
}

/* ══════════════════════════════════════════
   STATS BAR — faixa de impacto
══════════════════════════════════════════ */
.stats-bar {
  background: var(--cbm-orange) !important;
  padding: 1rem 0 !important;
  position: relative;
  overflow: hidden;
}
.stats-bar::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.08) 50%, transparent 100%);
  transform: skewX(-20deg);
  animation: statsShine 4s ease infinite;
}
@keyframes statsShine {
  0%,100% { transform: translateX(-200%) skewX(-20deg); }
  50%      { transform: translateX(200%) skewX(-20deg); }
}
.stats-bar-value { font-size: 1rem !important; font-weight: 900 !important; }
.stats-bar-label { font-size: .7rem !important; }
.stats-bar-item {
  border-right: 1px solid rgba(255,255,255,.2) !important;
}

/* ══════════════════════════════════════════
   PORTFÓLIO SLIDER
══════════════════════════════════════════ */
#portfolio-slider {
  height: clamp(380px, 68vh, 820px) !important;
}
.slider-label-cta {
  background: var(--cbm-orange) !important;
  border: none !important;
  border-radius: var(--cbm-radius-sm) !important;
  padding: .6rem 1.4rem !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  box-shadow: 0 4px 20px rgba(232,93,4,.5) !important;
  transition: all .25s var(--ease) !important;
}
.slider-label-cta:hover {
  background: var(--cbm-orange-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(232,93,4,.6) !important;
}
.slider-label-category {
  background: var(--cbm-orange) !important;
  border-radius: 4px !important;
  font-size: .68rem !important;
  padding: .25rem .75rem !important;
}
.slider-label-title {
  font-size: clamp(1.3rem,3vw,2rem) !important;
  font-weight: 900 !important;
}
.slider-btn {
  background: rgba(255,255,255,.1) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  transition: all .25s var(--ease) !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
}
.slider-btn:hover {
  background: var(--cbm-orange) !important;
  border-color: var(--cbm-orange) !important;
  transform: scale(1.08) !important;
}
.slider-dot {
  border-radius: 3px !important;
  width: 24px !important;
  height: 4px !important;
  transition: all .3s var(--ease) !important;
}
.slider-dot.active {
  background: var(--cbm-orange) !important;
  width: 40px !important;
}
.slider-counter {
  background: rgba(0,0,0,.5) !important;
  backdrop-filter: blur(8px) !important;
  border-radius: 100px !important;
  font-weight: 700 !important;
  padding: .3rem .85rem !important;
  font-size: .82rem !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.slider-portfolio-badge {
  background: rgba(232,93,4,.9) !important;
  border-radius: 6px !important;
  font-weight: 800 !important;
  font-size: .72rem !important;
  letter-spacing: .08em !important;
}

/* ══════════════════════════════════════════
   SEÇÕES GERAIS
══════════════════════════════════════════ */
.section { padding: 5rem 0 !important; }
.section-badge {
  background: rgba(232,93,4,.12) !important;
  color: var(--cbm-orange-light) !important;
  border: 1px solid var(--cbm-border-orange) !important;
  border-radius: 100px !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  padding: .35rem 1rem !important;
}
.section-badge.blue {
  background: rgba(26,111,212,.1) !important;
  color: #60a5fa !important;
  border-color: rgba(96,165,250,.2) !important;
}
.section-title {
  font-size: clamp(1.6rem,3.5vw,2.6rem) !important;
  font-weight: 900 !important;
  color: var(--cbm-blue) !important;
  background: none !important;
  -webkit-text-fill-color: var(--cbm-blue) !important;
  letter-spacing: -.02em;
  line-height: 1.15 !important;
}
.divider-accent {
  width: 48px !important;
  height: 4px !important;
  background: var(--cbm-orange) !important;
  border-radius: 2px !important;
  margin: .75rem auto 1.25rem !important;
}
.divider-accent.left { margin-left: 0 !important; }

/* ══════════════════════════════════════════
   CARDS DE SERVIÇO
══════════════════════════════════════════ */
.service-card {
  border-radius: var(--cbm-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--cbm-shadow) !important;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease) !important;
  background: #fff !important;
}
.service-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.18) !important;
}
.service-card-header {
  position: relative;
  overflow: hidden;
}
.service-card-content {
  padding: 1.5rem !important;
  background: #fff !important;
}
.service-card-category {
  font-size: .7rem !important;
  font-weight: 700 !important;
  color: var(--cbm-orange) !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  margin-bottom: .4rem !important;
}
.service-card-title {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--cbm-blue) !important;
  margin-bottom: .6rem !important;
  line-height: 1.3 !important;
}
.service-card-desc {
  font-size: .85rem !important;
  color: var(--cbm-gray-500) !important;
  line-height: 1.65 !important;
}

/* Service grid */
.services-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 1.5rem !important;
}

/* Botão dentro do card */
.service-card .btn {
  width: 100% !important;
  justify-content: center !important;
  margin-top: 1rem !important;
  border-radius: var(--cbm-radius-sm) !important;
}

/* ══════════════════════════════════════════
   GALERIA / PORTFÓLIO GRID
══════════════════════════════════════════ */
#gallery { background: var(--cbm-gray-100) !important; }
.gallery-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .45rem !important;
  justify-content: center !important;
  margin-bottom: 2.5rem !important;
}
.filter-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  padding: .45rem 1.1rem !important;
  border-radius: 100px !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  cursor: pointer !important;
  transition: all .22s var(--ease) !important;
  background: #fff !important;
  color: var(--cbm-gray-500) !important;
  border: 1.5px solid #e2e8f0 !important;
}
.filter-btn:hover {
  background: rgba(232,93,4,.07) !important;
  color: var(--cbm-orange) !important;
  border-color: rgba(232,93,4,.3) !important;
}
.filter-btn.active {
  background: var(--cbm-orange) !important;
  color: #fff !important;
  border-color: var(--cbm-orange) !important;
  box-shadow: 0 4px 16px rgba(232,93,4,.35) !important;
}
.gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: .85rem !important;
  margin-bottom: 2.5rem !important;
}
.gallery-item {
  position: relative !important;
  border-radius: var(--cbm-radius) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease) !important;
  aspect-ratio: 4/3 !important;
}
.gallery-item:hover {
  transform: scale(1.03) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.25) !important;
  z-index: 2 !important;
}
.gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .5s var(--ease) !important;
}
.gallery-item:hover img { transform: scale(1.07) !important; }

/* Overlay ao hover */
.gallery-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(0deg, rgba(10,15,30,.92) 0%, rgba(10,15,30,.3) 55%, transparent 100%) !important;
  opacity: 0 !important;
  transition: opacity .3s var(--ease) !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 1rem !important;
}
.gallery-item:hover .gallery-overlay { opacity: 1 !important; }
.gallery-overlay-text { display: flex; flex-direction: column; gap: .2rem; }
.gallery-overlay-title {
  color: #fff !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.gallery-overlay-category {
  color: var(--cbm-orange-light) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
/* Ícone lupa */
.gallery-item::after {
  content: '🔍';
  position: absolute;
  top: 10px; right: 10px;
  background: rgba(0,0,0,.6);
  border-radius: 50%;
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem;
  opacity: 0;
  transition: opacity .2s;
  z-index: 5;
}
.gallery-item:hover::after { opacity: 1; }

/* ══════════════════════════════════════════
   SEÇÃO NOSSA HISTÓRIA
══════════════════════════════════════════ */
#historia {
  background: linear-gradient(160deg, var(--cbm-blue) 0%, #061e3a 100%) !important;
}
.historia-visual, .historia-logo-box {
  border-radius: var(--cbm-radius) !important;
}
.hist-stat {
  background: rgba(255,255,255,.07) !important;
  border-radius: var(--cbm-radius-sm) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  padding: 1rem !important;
  transition: all .25s var(--ease) !important;
  text-align: center;
}
.hist-stat:hover {
  background: rgba(232,93,4,.12) !important;
  border-color: rgba(232,93,4,.3) !important;
}
.hist-stat-value {
  background: linear-gradient(135deg, var(--cbm-orange-light), #fbbf24) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-size: 1.8rem !important;
  font-weight: 900 !important;
}

/* ══════════════════════════════════════════
   SEÇÃO DIFERENCIAIS
══════════════════════════════════════════ */
.why-card {
  border-radius: var(--cbm-radius) !important;
  transition: all .3s var(--ease) !important;
  border: 1px solid transparent !important;
}
.why-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.14) !important;
  border-color: rgba(232,93,4,.15) !important;
}

/* ══════════════════════════════════════════
   BOTÕES GLOBAIS
══════════════════════════════════════════ */
.btn {
  border-radius: var(--cbm-radius-sm) !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  transition: all .22s var(--ease) !important;
}
.btn-primary {
  background: var(--cbm-orange) !important;
  border-color: var(--cbm-orange) !important;
  box-shadow: 0 2px 12px rgba(232,93,4,.25) !important;
}
.btn-primary:hover {
  background: var(--cbm-orange-dark) !important;
  border-color: var(--cbm-orange-dark) !important;
  box-shadow: 0 6px 24px rgba(232,93,4,.5) !important;
  transform: translateY(-1px) !important;
}
.btn-whatsapp {
  position: relative !important;
  overflow: hidden !important;
}
.btn-whatsapp::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transform: translateX(-100%);
  transition: transform .5s ease;
}
.btn-whatsapp:hover::before { transform: translateX(100%); }
.btn-whatsapp:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(37,211,102,.4) !important;
}
.btn-white {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.3) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
}
.btn-white:hover {
  background: rgba(255,255,255,.2) !important;
  border-color: rgba(255,255,255,.5) !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════
   SCROLL REVEAL
══════════════════════════════════════════ */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .65s var(--ease), transform .65s var(--ease);
}
.fade-in.visible { opacity: 1; transform: translateY(0); }
.fade-in-delay-1 { transition-delay: .1s !important; }
.fade-in-delay-2 { transition-delay: .2s !important; }
.fade-in-delay-3 { transition-delay: .3s !important; }

/* ══════════════════════════════════════════
   PRÉ-FOOTER CTA
══════════════════════════════════════════ */
.cbm-prefooter {
  background: linear-gradient(135deg, var(--cbm-orange) 0%, var(--cbm-orange-dark) 100%) !important;
  position: relative;
  overflow: hidden;
}
.cbm-prefooter::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
footer {
  background: linear-gradient(180deg, #090e1a 0%, #0d0f14 100%) !important;
  border-top: none !important;
  position: relative;
}
footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--cbm-blue-mid), var(--cbm-orange), #fbbf24, var(--cbm-orange), var(--cbm-blue-mid));
  background-size: 300% 100%;
  animation: footerLine 6s linear infinite;
}
@keyframes footerLine {
  0% { background-position: 0% center; }
  100% { background-position: 300% center; }
}
.footer-grid {
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  gap: 3rem !important;
  padding: 3.5rem 0 2rem !important;
}
.footer-brand {}
.footer-desc { color: rgba(255,255,255,.5) !important; font-size: .87rem !important; line-height: 1.7 !important; }
.footer-title {
  color: #fff !important;
  font-size: .85rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: .6rem !important;
  position: relative;
}
.footer-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 28px; height: 2px;
  background: var(--cbm-orange);
  border-radius: 1px;
}
.footer-links { display: flex; flex-direction: column; gap: .5rem; }
.footer-link {
  color: rgba(255,255,255,.48) !important;
  font-size: .85rem !important;
  transition: all .2s var(--ease) !important;
  display: inline-block;
  padding: .1rem 0 !important;
}
.footer-link:hover {
  color: var(--cbm-orange-light) !important;
  transform: translateX(4px) !important;
}
.social-link {
  width: 38px !important; height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.65) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .25s var(--ease) !important;
}
.social-link:hover {
  background: var(--cbm-orange) !important;
  border-color: var(--cbm-orange) !important;
  color: #fff !important;
  transform: translateY(-3px) scale(1.1) !important;
  box-shadow: 0 6px 20px rgba(232,93,4,.4) !important;
}
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.07) !important;
  padding: 1.5rem 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: .75rem !important;
}
.footer-copy {
  color: rgba(255,255,255,.3) !important;
  font-size: .78rem !important;
}
.seo-tag {
  background: rgba(255,255,255,.05) !important;
  color: rgba(255,255,255,.3) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 100px !important;
  padding: .2rem .65rem !important;
  font-size: .68rem !important;
}

/* ══════════════════════════════════════════
   TOAST & UI ELEMENTOS
══════════════════════════════════════════ */
.toast {
  border-radius: var(--cbm-radius-sm) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.3) !important;
  font-size: .88rem !important;
}

/* ══════════════════════════════════════════
   RESPONSIVIDADE
══════════════════════════════════════════ */
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 2rem !important; }
  .hero-content { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
  .hero-services { max-height: 320px !important; }
}
@media (max-width: 768px) {
  .hero-title { font-size: clamp(1.7rem, 7vw, 2.5rem) !important; }
  .hero-services {
    grid-template-columns: 1fr 1fr !important;
    max-height: 280px !important;
  }
  .hero-stats { gap: 1.5rem !important; flex-wrap: wrap !important; }
  .stats-bar-grid { grid-template-columns: repeat(2,1fr) !important; }
  .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important; }
  .gallery-filters { gap: .35rem !important; }
  .filter-btn { font-size: .72rem !important; padding: .35rem .75rem !important; }
}
@media (max-width: 480px) {
  .hero-services { grid-template-columns: 1fr !important; max-height: 240px !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 1.75rem !important; }
  .hero-stat { min-width: 80px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ══════════════════════════════════════════
   ACESSIBILIDADE & PRINT
══════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .15ms !important;
  }
}
@media print {
  #header, .mobile-nav, .scroll-indicator,
  .slider-btn, .slider-dots, .upload-area,
  .toast-container, footer::before { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}
