/* =========================================================
   PATCH — Ecossistema Portland em composição editorial
   Foto do fundador em card independente (não mais background)
   Não altera o HERO/topo da landing page.
   ========================================================= */

.audience.audience-ecosystem-bg{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  min-height:590px!important;
  padding:0!important;
  background:
    radial-gradient(circle at 78% 48%, rgba(31,128,255,.14), transparent 28%),
    radial-gradient(circle at 20% 100%, rgba(0,76,160,.10), transparent 32%),
    linear-gradient(135deg,#020b16 0%,#03101f 48%,#020913 100%)!important;
  border-top:1px solid rgba(46,137,255,.18)!important;
  border-bottom:1px solid rgba(46,137,255,.14)!important;
}

.audience.audience-ecosystem-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:.28!important;
  background-image:
    linear-gradient(rgba(43,140,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(43,140,255,.055) 1px,transparent 1px)!important;
  background-size:46px 46px!important;
  mask-image:linear-gradient(90deg,transparent 0%,#000 40%,#000 100%)!important;
}

.audience.audience-ecosystem-bg::after{
  content:""!important;
  position:absolute!important;
  width:440px!important;
  height:440px!important;
  right:-125px!important;
  top:-160px!important;
  border:1px solid rgba(45,142,255,.12)!important;
  border-radius:50%!important;
  box-shadow:0 0 0 60px rgba(45,142,255,.025),0 0 0 120px rgba(45,142,255,.018)!important;
  pointer-events:none!important;
}

.audience-ecosystem-inner{
  position:relative!important;
  z-index:2!important;
  min-height:590px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(410px,.96fr)!important;
  gap:clamp(46px,6vw,92px)!important;
  align-items:center!important;
  padding:64px 0!important;
}

.audience-ecosystem-copy{
  width:100%!important;
  max-width:610px!important;
  padding:6px 0!important;
}

.audience-ecosystem-copy .kicker{
  display:block!important;
  margin-bottom:15px!important;
  color:#2b8cff!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}

.audience-ecosystem-copy h2{
  margin:0 0 20px!important;
  color:#fff!important;
  font-size:clamp(42px,4vw,58px)!important;
  line-height:.98!important;
  letter-spacing:-1.8px!important;
  font-weight:800!important;
}

.audience-ecosystem-copy h2 span{color:#2b8cff!important;}

.audience-ecosystem-copy>p{
  max-width:570px!important;
  margin:0!important;
  color:#c1cbd7!important;
  font-size:15px!important;
  line-height:1.75!important;
}

.audience-ecosystem-points{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:28px!important;
}

.audience-ecosystem-points article{
  min-height:116px!important;
  padding:14px 13px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  border:1px solid rgba(54,145,255,.22)!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,rgba(8,25,45,.92),rgba(5,16,30,.72))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 30px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(8px)!important;
  transition:transform .25s ease,border-color .25s ease,background .25s ease!important;
}

.audience-ecosystem-points article:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(54,145,255,.42)!important;
  background:linear-gradient(145deg,rgba(10,31,56,.95),rgba(5,18,33,.80))!important;
}

.audience-ecosystem-points i{
  display:grid!important;
  place-items:center!important;
  width:33px!important;
  height:33px!important;
  margin-bottom:10px!important;
  border-radius:10px!important;
  background:rgba(43,140,255,.10)!important;
  border:1px solid rgba(43,140,255,.28)!important;
  color:#38a0ff!important;
  font-style:normal!important;
  box-shadow:0 0 18px rgba(43,140,255,.08)!important;
}

.audience-ecosystem-points strong,
.audience-ecosystem-points span{display:block!important;}

.audience-ecosystem-points strong{
  margin-bottom:4px!important;
  color:#fff!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}

.audience-ecosystem-points span{
  color:#9aabbd!important;
  font-size:9px!important;
  line-height:1.45!important;
}

/* Composição visual à direita */
.audience-ecosystem-visual{
  position:relative!important;
  width:100%!important;
  max-width:540px!important;
  height:470px!important;
  justify-self:end!important;
}

.ecosystem-visual-glow{
  position:absolute!important;
  width:88%!important;
  height:78%!important;
  right:1%!important;
  top:10%!important;
  border-radius:44%!important;
  background:radial-gradient(circle,rgba(31,132,255,.24) 0%,rgba(22,98,190,.09) 42%,transparent 72%)!important;
  filter:blur(24px)!important;
}

.ecosystem-founder-card{
  position:absolute!important;
  z-index:3!important;
  right:0!important;
  top:18px!important;
  width:min(79%,410px)!important;
  height:430px!important;
  padding:9px!important;
  border-radius:25px!important;
  background:linear-gradient(145deg,rgba(35,126,232,.35),rgba(255,255,255,.055) 38%,rgba(3,15,29,.48))!important;
  border:1px solid rgba(86,164,255,.38)!important;
  box-shadow:0 30px 65px rgba(0,0,0,.42),0 0 44px rgba(27,117,229,.10),inset 0 1px 0 rgba(255,255,255,.14)!important;
  transform:translateZ(0)!important;
}

.ecosystem-founder-frame{
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#04101d!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)!important;
}

.ecosystem-founder-frame img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center 38%!important;
}

.ecosystem-founder-card::after{
  content:""!important;
  position:absolute!important;
  inset:9px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,transparent 58%,rgba(1,8,16,.24) 100%)!important;
  pointer-events:none!important;
}

.ecosystem-corner{
  position:absolute!important;
  z-index:5!important;
  width:32px!important;
  height:32px!important;
  pointer-events:none!important;
}
.ecosystem-corner-a{left:-8px!important;top:28px!important;border-left:2px solid #2b8cff!important;border-top:2px solid #2b8cff!important;}
.ecosystem-corner-b{right:-8px!important;bottom:28px!important;border-right:2px solid #2b8cff!important;border-bottom:2px solid #2b8cff!important;}

.ecosystem-tech-card{
  position:absolute!important;
  z-index:4!important;
  left:0!important;
  bottom:22px!important;
  width:44%!important;
  height:142px!important;
  padding:6px!important;
  overflow:hidden!important;
  border-radius:17px!important;
  border:1px solid rgba(70,154,255,.34)!important;
  background:rgba(4,17,31,.94)!important;
  box-shadow:0 20px 38px rgba(0,0,0,.40),0 0 25px rgba(30,130,255,.08)!important;
}

.ecosystem-tech-card img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:11px!important;
  opacity:.82!important;
  filter:saturate(.82) brightness(.80)!important;
}

@media (min-width:1101px) and (max-width:1450px){
  .audience.audience-ecosystem-bg{min-height:530px!important;}
  .audience-ecosystem-inner{min-height:530px!important;padding:48px 0!important;gap:46px!important;grid-template-columns:minmax(0,1fr) minmax(390px,.88fr)!important;}
  .audience-ecosystem-copy h2{font-size:45px!important;}
  .audience-ecosystem-copy>p{font-size:13.5px!important;}
  .audience-ecosystem-visual{height:425px!important;max-width:485px!important;}
  .ecosystem-founder-card{height:395px!important;width:min(78%,375px)!important;top:10px!important;}
  .ecosystem-tech-card{height:126px!important;bottom:12px!important;}
}

@media (max-width:1100px){
  .audience.audience-ecosystem-bg{min-height:auto!important;}
  .audience-ecosystem-inner{min-height:auto!important;grid-template-columns:1fr!important;gap:42px!important;padding:52px 0 58px!important;}
  .audience-ecosystem-copy{max-width:720px!important;}
  .audience-ecosystem-visual{justify-self:center!important;max-width:610px!important;height:485px!important;}
  .ecosystem-founder-card{right:5%!important;width:min(76%,420px)!important;height:450px!important;}
  .ecosystem-tech-card{left:5%!important;width:42%!important;height:145px!important;}
}

@media (max-width:650px){
  .audience-ecosystem-inner{padding:38px 0 44px!important;gap:30px!important;}
  .audience-ecosystem-copy h2{font-size:37px!important;letter-spacing:-1.2px!important;}
  .audience-ecosystem-copy>p{font-size:13px!important;line-height:1.68!important;}
  .audience-ecosystem-points{grid-template-columns:1fr!important;gap:8px!important;margin-top:23px!important;}
  .audience-ecosystem-points article{min-height:auto!important;flex-direction:row!important;gap:11px!important;align-items:center!important;padding:11px 12px!important;}
  .audience-ecosystem-points i{flex:0 0 auto!important;margin:0!important;}
  .audience-ecosystem-points strong{font-size:10.5px!important;}
  .audience-ecosystem-points span{font-size:9.5px!important;}
  .audience-ecosystem-visual{height:400px!important;width:100%!important;max-width:390px!important;}
  .ecosystem-founder-card{right:3%!important;top:0!important;width:82%!important;height:370px!important;border-radius:21px!important;}
  .ecosystem-founder-frame,.ecosystem-founder-card::after{border-radius:15px!important;}
  .ecosystem-tech-card{left:2%!important;bottom:5px!important;width:42%!important;height:108px!important;border-radius:14px!important;}
}

/* PATCH PORTLAND 2026-09-01 — legibilidade do Ecossistema */
.audience-ecosystem-copy .kicker{
  font-size:13px!important;
  letter-spacing:.19em!important;
}
.audience-ecosystem-copy>p{
  color:#d8e1eb!important;
  font-size:17px!important;
  line-height:1.72!important;
}
.audience-ecosystem-points{
  gap:14px!important;
  margin-top:31px!important;
}
.audience-ecosystem-points article{
  min-height:132px!important;
  padding:16px 15px!important;
}
.audience-ecosystem-points i{
  width:35px!important;
  height:35px!important;
  margin-bottom:11px!important;
  font-size:16px!important;
}
.audience-ecosystem-points strong{
  margin-bottom:6px!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.audience-ecosystem-points span{
  color:#c0cedd!important;
  font-size:11px!important;
  line-height:1.5!important;
}

@media (min-width:1101px) and (max-width:1450px){
  .audience-ecosystem-copy>p{font-size:15.5px!important;}
  .audience-ecosystem-points article{min-height:126px!important;padding:15px 13px!important;}
  .audience-ecosystem-points strong{font-size:11.3px!important;}
  .audience-ecosystem-points span{font-size:10.2px!important;}
}

@media (max-width:700px){
  .audience-ecosystem-copy .kicker{font-size:12px!important;}
  .audience-ecosystem-copy>p{font-size:15px!important;line-height:1.65!important;}
  .audience-ecosystem-points strong{font-size:12px!important;}
  .audience-ecosystem-points span{font-size:11px!important;}
}
