/* OGS v5 — Blooms-inspired clean/media-forward additions (loads after ogs-v4.css) */

/* Hero media collage */
.hero-collage{
  display: grid; grid-template-columns: repeat(6, 1fr);
  gap: clamp(12px, 1.6vw, 22px);
  margin-top: clamp(32px, 5vh, 60px);
  margin-bottom: clamp(40px, 7vh, 88px);
  align-items: end;
}
.hc-item{ position: relative }
.hc-item .frame9x16{ aspect-ratio: 9 / 15; border-radius: 18px; overflow: hidden }
.hc-item:nth-child(2) .frame9x16{ aspect-ratio: 9 / 13 }
.hc-item:nth-child(3) .frame9x16{ aspect-ratio: 9 / 16 }
.hc-item:nth-child(4) .frame9x16{ aspect-ratio: 9 / 12 }
.hc-item:nth-child(5) .frame9x16{ aspect-ratio: 9 / 14 }
.hc-item:nth-child(6) .frame9x16{ aspect-ratio: 9 / 16 }
.hc-badge{
  position: absolute; top: 12px; right: 12px; z-index: 2;
  font-family: var(--mono); font-size: 12px; letter-spacing: .08em;
  background: oklch(0.2 0.02 60 / .55); color: oklch(0.96 0.01 90);
  padding: 5px 11px; border-radius: 999px;
  backdrop-filter: blur(6px);
  pointer-events: none;
}

/* Stat counters */
.counters{ padding-block: clamp(80px, 12vh, 150px) }
.counters-grid{
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 3.5vw, 64px);
  margin-top: clamp(36px, 5vh, 64px);
}
.counter{ border-top: 1px solid var(--paper-line); padding-top: 22px }
.counter b{
  display: block; font-family: var(--serif); font-weight: 400;
  font-size: clamp(3rem, 6vw, 5.4rem); line-height: 1; letter-spacing: -.02em;
  color: var(--cta); font-variant-numeric: tabular-nums;
}
.counter .label{
  display: block; margin-top: 12px; font-weight: 600; color: var(--ink);
}
.counter .sub{ display: block; margin-top: 4px; color: var(--ink-mute); font-size: 15px }

/* Case cards */
.cases{ padding-block: clamp(80px, 12vh, 150px); background: var(--cream-deep); border-block: 1px solid var(--paper-line) }
.case-grid{
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2.4vw, 32px);
}
.case-card{
  display: flex; flex-direction: column; gap: 16px;
}
.case-media{ aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; position: relative }
.case-tags{ display: flex; gap: 8px; flex-wrap: wrap }
.case-tags span{
  font-family: var(--mono); font-size: 12px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--ink-mute);
  border: 1px solid var(--paper-line); border-radius: 999px; padding: 5px 12px;
}
.case-card h3{
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(1.3rem, 1.8vw, 1.65rem); line-height: 1.25; letter-spacing: -.01em;
}
.case-card h3 em{ font-style: italic; color: var(--cta) }
.case-metrics{
  display: flex; gap: 18px; flex-wrap: wrap;
  font-family: var(--mono); font-size: 12px; letter-spacing: .06em;
  color: var(--ink-soft);
}

/* Industry cards */
.industries{ padding-block: clamp(80px, 12vh, 150px) }
.ind-grid{
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2.4vw, 32px);
}
.ind-card{
  display: flex; flex-direction: column; gap: 16px;
  color: var(--ink);
}
.ind-card:hover{ color: var(--ink) }
.ind-media{ aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; transition: transform .4s var(--ease-out) }
.ind-card:hover .ind-media{ transform: translateY(-6px) }
.ind-card h3{
  font-family: var(--serif); font-weight: 400; font-size: clamp(1.4rem, 2vw, 1.8rem);
  letter-spacing: -.01em;
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
}
.ind-card h3 .arr{ color: var(--cta); transition: transform .25s var(--ease-out) }
.ind-card:hover h3 .arr{ transform: translateX(5px) }
.ind-card p{ color: var(--ink-soft); font-size: 16px }

/* Tighter list rows for problem */
.mini-list{ list-style: none }
.mini-list li{
  display: grid; grid-template-columns: 52px 1fr; gap: 16px;
  padding-block: 22px; border-top: 1px solid var(--paper-line);
  align-items: baseline;
}
.mini-list li:last-child{ border-bottom: 1px solid var(--paper-line) }
.mini-list .num{ font-family: var(--mono); font-size: 13px; color: var(--ink-mute) }
.mini-list p{ font-size: clamp(17px, 1.5vw, 20px) }
.mini-list p strong{ font-weight: 600 }
.mini-list p span{ color: var(--ink-mute) }

@media (max-width: 960px){
  .hero-collage{ grid-template-columns: repeat(3, 1fr) }
  .counters-grid, .case-grid, .ind-grid{ grid-template-columns: repeat(2, 1fr) }
}
@media (max-width: 600px){
  .counters-grid, .case-grid, .ind-grid{ grid-template-columns: 1fr }
  .hero-collage{ grid-template-columns: repeat(2, 1fr) }
}

/* Full-bleed film band */
.film-band{ position: relative; overflow: hidden; border-block: 1px solid var(--paper-line); background: var(--olive-ink) }
.film-band video{
  display: block; width: 100%;
  height: clamp(320px, 62vh, 640px);
  object-fit: cover;
}
.film-band-cap{
  position: absolute; left: 0; right: 0; bottom: 0;
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding: 18px var(--gutter);
  background: linear-gradient(to top, oklch(0.18 0.02 80 / .7), transparent);
}
.film-band-cap .mono-tag{ color: oklch(0.9 0.02 95) }
