/* Production hotfix: stabilize the approved portfolio across local and deployed builds. */
.approved-home .reveal,
.approved-companies .reveal,
.approved-home .reveal-delay,
.approved-companies .reveal-delay {
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}

/* HERO: decorative skyline must never occupy document flow. */
.approved-hero{
  position:relative!important;
  overflow:hidden!important;
  min-height:0!important;
  padding-top:96px!important;
}
.approved-hero-city{
  position:absolute!important;
  inset:auto 0 0 0!important;
  width:100%!important;
  height:72%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center bottom!important;
  opacity:.10!important;
  z-index:0!important;
  pointer-events:none!important;
}
.approved-hero:before,.approved-hero:after{
  z-index:1!important;
  pointer-events:none!important;
}
.approved-hero-grid,
.approved-metrics-wrap{
  position:relative!important;
  z-index:3!important;
}
.approved-hero-grid{
  min-height:0!important;
  align-items:center!important;
  padding-top:24px!important;
  padding-bottom:38px!important;
}
.approved-hero-copy{
  position:relative!important;
  z-index:4!important;
  padding:0!important;
}
.approved-hero-media{
  position:relative!important;
  z-index:4!important;
  width:min(100%,350px)!important;
  max-width:350px!important;
  justify-self:end!important;
}
.approved-portrait{
  width:100%!important;
  max-width:350px!important;
  height:438px!important;
  max-height:438px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.approved-portrait img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:438px!important;
  object-fit:cover!important;
  object-position:center 22%!important;
}
.approved-quote{
  margin:14px 0 0!important;
  max-width:300px!important;
}

/* Home company section: actual markup uses *-card and *-panel classes. */
.approved-company-preview-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.approved-company-preview-card{
  display:grid!important;
  grid-template-columns:42% 58%!important;
  min-height:225px!important;
  max-height:260px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:12px!important;
  background:#082b43!important;
  box-shadow:0 14px 36px rgba(0,0,0,.18)!important;
}
.approved-company-preview-card:nth-child(even){grid-template-columns:58% 42%!important;}
.approved-company-preview-card:nth-child(even) .approved-company-preview-media{order:2!important;}
.approved-company-preview-card:nth-child(even) .approved-company-preview-copy{order:1!important;}
.approved-company-preview-media{
  min-height:225px!important;
  max-height:260px!important;
  overflow:hidden!important;
  background:#0d3552!important;
}
.approved-company-preview-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:225px!important;
  max-height:260px!important;
  object-fit:cover!important;
}
.approved-company-preview-copy{
  min-width:0!important;
  padding:18px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* White logo board for transparent original logos. */
.approved-logo-panel{
  box-sizing:border-box!important;
  width:220px!important;
  max-width:100%!important;
  height:70px!important;
  max-height:70px!important;
  padding:9px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(9,38,59,.12)!important;
  border-radius:8px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
}
.approved-logo-panel img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:185px!important;
  max-height:46px!important;
  object-fit:contain!important;
}
.approved-company-preview-copy h3{
  margin:13px 0 6px!important;
  color:#fff!important;
  font-size:19px!important;
  line-height:1.2!important;
}
.approved-company-preview-role{color:#f0cf86!important;font-size:10px!important;font-weight:800!important;}
.approved-company-preview-meta{margin:7px 0 0!important;color:#8ea8b7!important;font-size:9px!important;}
.approved-company-preview-copy>p:last-child{margin:8px 0 0!important;color:#b8c7cf!important;font-size:10px!important;line-height:1.55!important;}

/* Full companies page: one company per alternating card. */
.approved-companies-hero{position:relative!important;overflow:hidden!important;}
.approved-companies-hero-bg{
  position:absolute!important;
  inset:auto 0 0 0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:.09!important;
  pointer-events:none!important;
}
.approved-companies-hero>.shell{position:relative!important;z-index:2!important;}
.approved-company-list{display:flex!important;flex-direction:column!important;gap:18px!important;}
.approved-company-card{
  display:grid!important;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)!important;
  min-height:300px!important;
  max-height:340px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  background:#082b43!important;
  box-shadow:0 18px 48px rgba(0,0,0,.2)!important;
}
.approved-company-card.reverse{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important;}
.approved-company-card.reverse .approved-company-visual{order:2!important;}
.approved-company-card.reverse .approved-company-content{order:1!important;}
.approved-company-visual{
  min-height:300px!important;
  max-height:340px!important;
  overflow:hidden!important;
  background:#0d3552!important;
}
.approved-company-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:300px!important;
  max-height:340px!important;
  object-fit:cover!important;
}
.approved-company-content{
  position:relative!important;
  padding:28px 32px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
.approved-company-content .approved-logo-panel{
  width:235px!important;
  height:76px!important;
}
.approved-company-content .approved-logo-panel img{
  max-width:198px!important;
  max-height:50px!important;
}
.approved-company-content h2{margin:16px 0 8px!important;color:#fff!important;font-size:27px!important;line-height:1.15!important;}
.approved-company-roles{display:flex!important;flex-wrap:wrap!important;gap:6px!important;}
.approved-company-roles span{padding:5px 8px!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;color:#e1e8ec!important;font-size:9px!important;font-weight:800!important;}
.approved-company-meta{margin:10px 0 0!important;color:#f0cf86!important;font-size:10px!important;}
.approved-company-summary{margin:10px 0 0!important;color:#b7c7cf!important;font-size:11px!important;line-height:1.65!important;}
.approved-company-link{margin-top:14px!important;color:#f0cf86!important;font-size:10px!important;font-weight:800!important;}

@media(max-width:980px){
  .approved-hero{padding-top:84px!important;}
  .approved-hero-grid{grid-template-columns:1fr!important;gap:24px!important;}
  .approved-hero-media{justify-self:start!important;width:min(78vw,330px)!important;max-width:330px!important;}
  .approved-portrait{height:410px!important;max-height:410px!important;}
  .approved-company-preview-grid{grid-template-columns:1fr!important;}
  .approved-company-preview-card,
  .approved-company-preview-card:nth-child(even),
  .approved-company-card,
  .approved-company-card.reverse{grid-template-columns:1fr!important;max-height:none!important;}
  .approved-company-preview-card:nth-child(even) .approved-company-preview-media,
  .approved-company-card.reverse .approved-company-visual{order:0!important;}
  .approved-company-preview-media,
  .approved-company-preview-media img{max-height:230px!important;}
  .approved-company-visual,
  .approved-company-visual img{max-height:260px!important;}
}

@media(max-width:620px){
  .approved-hero h1{font-size:clamp(42px,13vw,64px)!important;}
  .approved-project-grid,.approved-timeline,.approved-metrics{grid-template-columns:1fr!important;}
  .approved-logo-panel{width:200px!important;height:66px!important;}
  .approved-logo-panel img{max-width:168px!important;max-height:42px!important;}
}
