/* Swiftly feedback refinement — image-led editorial layer. */
:root {
  --editorial-max: 1440px;
  --editorial-gutter: clamp(1.25rem, 4vw, 4.5rem);
  --editorial-measure: 68ch;
}

body {
  background-image: none;
}

body::before {
  display: none;
}

.wrap {
  max-width: var(--editorial-max);
  padding-inline: var(--editorial-gutter);
}

.site-nav__inner,
.site-footer__inner,
.site-footer__copy {
  max-width: var(--editorial-max);
}

.case-id,
.eyebrow,
.story-kicker,
.case-v3-kicker,
.case-v3-hero__meta,
.story-hero__eyebrow {
  letter-spacing: .075em;
}

.editorial-label {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--redline);
  font: 500 .72rem/1.35 var(--font-mono);
  letter-spacing: .075em;
  text-transform: uppercase;
}

.editorial-label::before {
  content: "";
  width: 1.65rem;
  height: 1px;
  background: currentColor;
}

.editorial-section {
  padding: clamp(4.5rem, 9vw, 9rem) 0;
  border-top: 1px solid var(--rule);
}

.editorial-section--white {
  background: #fff;
}

.editorial-section__head {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.editorial-section__head h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.6rem, 5vw, 5.4rem);
}

.editorial-section__head p {
  max-width: 56ch;
  margin: 0;
  color: var(--ink-2);
  font-size: clamp(1.05rem, 1rem + .25vw, 1.28rem);
  line-height: 1.62;
}

/* Homepage: typography first, proof immediately after. */
body[data-page="home"] .home-editorial-hero {
  min-height: calc(100svh - 72px);
  padding: clamp(4rem, 8vw, 7rem) 0;
  background: var(--paper-2);
  border-bottom: 0;
}

body[data-page="home"] .home-editorial-hero::before,
body[data-page="home"] .home-editorial-hero__wash {
  display: none;
}

body[data-page="home"] .hero.home-editorial-hero h1.home-editorial-hero__title {
  max-width: 14ch;
  font-family: var(--font-display);
  font-size: clamp(3.8rem, 7.9vw, 8.75rem);
  font-weight: 400;
  font-style: normal;
  line-height: .94;
  letter-spacing: -.06em;
}

body[data-page="home"] .home-editorial-hero__title .accent {
  color: var(--redline);
}

body[data-page="home"] .home-editorial-hero__kicker {
  margin-bottom: clamp(1.5rem, 3vw, 2.4rem);
}

body[data-page="home"] .home-editorial-hero__lede {
  max-width: 58ch;
  margin-top: clamp(1.7rem, 3vw, 2.5rem);
}

.home-editorial-hero__signal {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-top: 1.15rem;
  color: var(--ink-soft);
  font: 500 .72rem/1.3 var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.home-editorial-hero__signal span {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
}

.home-editorial-hero__signal span:not(:last-child)::after {
  content: "→";
  color: var(--redline);
  animation: editorial-causality 2600ms var(--ease-in-out) infinite;
}

.home-editorial-hero__availability {
  margin-top: 1.35rem;
  color: var(--ink-soft);
  font-size: .9rem;
}

@keyframes editorial-causality {
  0%, 15%, 100% { opacity: .35; transform: translateX(0); }
  45%, 65% { opacity: 1; transform: translateX(4px); }
}

/* Immediate product proof. */
.flagship-proof {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr);
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: center;
}

.flagship-proof__media {
  position: relative;
}

.flagship-proof__media figure,
.venture-current__media,
.work-story__media figure,
.story-decision figure,
.story-evidence__media,
.case-summary__figure {
  margin: 0;
  border: 1px solid var(--rule-strong);
  background: #fff;
  overflow: hidden;
}

.flagship-proof__media figure:first-child img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: contain;
}

.flagship-proof__media figure:last-child {
  position: absolute;
  right: -2%;
  bottom: -8%;
  width: 42%;
  box-shadow: 0 22px 55px rgba(15,23,20,.18);
}

.flagship-proof__media figure:last-child img {
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

.flagship-proof__copy h2 {
  max-width: 12ch;
  font-size: clamp(2.5rem, 4.4vw, 4.8rem);
}

.flagship-proof__copy > p {
  max-width: 48ch;
  color: var(--ink-2);
  font-size: 1.08rem;
  line-height: 1.68;
}

.flagship-proof__signals {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 2rem 0;
  border-block: 1px solid var(--ink);
}

.flagship-proof__signals div {
  padding: 1rem;
  border-right: 1px dashed var(--rule-strong);
}

.flagship-proof__signals div:first-child { padding-left: 0; }
.flagship-proof__signals div:last-child { border-right: 0; }
.flagship-proof__signals strong { display: block; font-size: 1.5rem; }
.flagship-proof__signals span { display: block; margin-top: .35rem; color: var(--ink-soft); font-size: .78rem; line-height: 1.4; }

/* Current venture chapter. */
.venture-current {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: center;
}

.venture-current__copy h2 {
  max-width: 11ch;
  margin-top: 1rem;
  font-size: clamp(2.7rem, 5vw, 5.3rem);
}

.venture-current__copy p {
  max-width: 48ch;
  color: var(--ink-2);
  font-size: 1.08rem;
  line-height: 1.68;
}

.venture-current__status {
  display: grid;
  gap: .65rem;
  margin: 1.5rem 0 2rem;
}

.venture-current__status span {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid var(--rule);
  color: var(--ink-soft);
  font-size: .82rem;
}

.venture-current__status strong { color: var(--ink); font-weight: 600; }
.venture-current__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: contain; }

/* Stacked project stories replace grids. */
.work-stories {
  border-top: 1px solid var(--ink);
}

.work-story {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding: clamp(3rem, 7vw, 7rem) 0;
  border-bottom: 1px solid var(--rule-strong);
}

.work-story:nth-child(even) .work-story__media { order: 2; }

.work-story__media {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .36fr);
  gap: .8rem;
  align-items: end;
}

.work-story__media figure:first-child img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: contain;
}

.work-story__media figure:last-child img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
}

.work-story figcaption,
.story-decision figcaption,
.story-evidence__media figcaption,
.case-summary__figure figcaption {
  padding: .72rem .85rem;
  border-top: 1px solid var(--rule);
  color: var(--ink-soft);
  font: 400 .68rem/1.45 var(--font-mono);
}

.work-story__copy h2 {
  max-width: 12ch;
  margin: .9rem 0 1rem;
  font-size: clamp(2.25rem, 3.8vw, 4.2rem);
}

.work-story__copy > p {
  max-width: 46ch;
  color: var(--ink-2);
  line-height: 1.68;
}

.work-story__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 1.5rem 0;
  border-block: 1px solid var(--rule-strong);
}

.work-story__meta div {
  padding: .85rem 0;
}

.work-story__meta div:nth-child(even) {
  padding-left: 1rem;
  border-left: 1px dashed var(--rule-strong);
}

.work-story__meta span { display: block; color: var(--ink-soft); font: 500 .67rem/1.3 var(--font-mono); letter-spacing: .055em; text-transform: uppercase; }
.work-story__meta strong { display: block; margin-top: .3rem; font-size: .93rem; line-height: 1.45; }

/* Executive case: five visual, decision-led scan. */
.story-hero {
  padding-bottom: clamp(3rem, 6vw, 5.5rem);
}

.story-hero__media,
.story-media,
.story-outcome,
.story-deep-cta,
.case-v3-hero__media,
.case-v3-reflection,
.case-v3-quote,
.case-v3-field-note,
.case-pagination__card,
.deep-gate__panel {
  border-radius: 0;
  box-shadow: none;
}

.story-hero__media img {
  max-height: none;
  aspect-ratio: 16 / 9;
  object-fit: contain;
}

.story-facts {
  grid-template-columns: repeat(3, 1fr);
}

.story-fact:nth-child(3n) { border-right: 0; }
.story-fact:nth-child(n+4) { border-top: 1px dashed var(--rule-strong); }

.story-decisions {
  display: grid;
  gap: clamp(3rem, 7vw, 7rem);
}

.story-decision {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.story-decision:nth-child(even) figure { order: 2; }
.story-decision figure img { width: 100%; aspect-ratio: 16 / 10; object-fit: contain; }
.story-decision__copy h3 { max-width: 13ch; font-size: clamp(2rem, 3.4vw, 3.5rem); }
.story-decision__copy p { color: var(--ink-2); line-height: 1.7; }

.story-evidence {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.story-evidence__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: contain; }
.story-evidence__copy h2 { max-width: 14ch; font-size: clamp(2.4rem, 4.5vw, 4.7rem); }
.story-evidence__copy p { color: var(--ink-2); line-height: 1.72; }

.story-reflection-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 2.5rem;
  border: 1px solid var(--rule-strong);
  background: var(--rule-strong);
}

.story-reflection-grid article { padding: clamp(1.3rem, 3vw, 2.3rem); background: var(--paper-2); }
.story-reflection-grid span { color: var(--redline); font: 500 .68rem/1.3 var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }
.story-reflection-grid h3 { margin: .7rem 0; font-size: 1.35rem; }
.story-reflection-grid p { margin: 0; color: var(--ink-2); font-size: .95rem; line-height: 1.65; }

/* Deep cases: visual summary + explicit ownership. */
.case-summary {
  padding: clamp(2.5rem, 5vw, 4.75rem) 0;
  background: var(--ink);
  color: #fff;
}

.case-summary h2 { max-width: 14ch; color: #fff; font-size: clamp(2rem, 4vw, 4rem); }
.case-summary__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-top: 2.25rem; }
.case-summary__figure { border-color: rgba(255,255,255,.28); }
.case-summary__figure img { width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: #fff; }
.case-summary__figure figcaption { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.72); }

.role-ledger {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 2.25rem;
  background: rgba(255,255,255,.2);
  border: 1px solid rgba(255,255,255,.2);
}

.role-ledger article { padding: 1.15rem; background: var(--ink); }
.role-ledger span { display: block; color: #8cd1c0; font: 500 .66rem/1.3 var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }
.role-ledger strong { display: block; margin-top: .5rem; color: #fff; font-size: .92rem; line-height: 1.5; }

.case-v3-jump a { border-radius: 0; }
.case-v3-media-grid:empty,
.case-v3-wide:empty,
.case-v3-split:empty,
.case-v3-phone-strip:empty { display: none; }

.case-tradeoffs {
  padding: clamp(4rem, 8vw, 7rem) 0;
  border-top: 1px solid var(--rule);
  background: var(--paper-2);
}

.case-tradeoffs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 2.5rem;
  border: 1px solid var(--rule-strong);
  background: var(--rule-strong);
}

.case-tradeoffs article { padding: clamp(1.4rem, 3vw, 2.5rem); background: var(--paper-2); }
.case-tradeoffs span { color: var(--redline); font: 500 .68rem/1.3 var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }
.case-tradeoffs h3 { margin: .8rem 0; font-size: 1.45rem; }
.case-tradeoffs p { margin: 0; color: var(--ink-2); line-height: 1.68; }

/* Ventures: show the product and evidence status with less narration. */
.venture-brief {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: center;
}

.venture-brief h1 { max-width: 11ch; font-size: clamp(3.4rem, 7vw, 7.5rem); }
.venture-brief__copy p { max-width: 52ch; color: var(--ink-2); font-size: 1.12rem; line-height: 1.68; }
.venture-brief__media { margin: 0; border: 1px solid var(--rule-strong); background: #fff; }
.venture-brief__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: contain; }

.venture-product-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 1rem; }
.venture-product-grid figure { margin: 0; border: 1px solid var(--rule-strong); background: #fff; }
.venture-product-grid figure:first-child { grid-row: span 2; }
.venture-product-grid img { width: 100%; height: 100%; object-fit: contain; }
.venture-product-grid figcaption { padding: .75rem .9rem; border-top: 1px solid var(--rule); color: var(--ink-soft); font: .68rem/1.45 var(--font-mono); }

.evidence-status { display: grid; border-top: 1px solid var(--ink); }
.evidence-status article { display: grid; grid-template-columns: .5fr 1.3fr .35fr; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--rule-strong); align-items: baseline; }
.evidence-status h3 { margin: 0; font-size: 1.05rem; }
.evidence-status p { margin: 0; color: var(--ink-2); line-height: 1.55; }
.evidence-status span { justify-self: end; color: var(--redline); font: 500 .67rem/1.3 var(--font-mono); text-transform: uppercase; }

/* Resume route: the same editorial system, optimized for scanning. */
.resume-hero { padding: clamp(3.5rem, 7vw, 6.5rem) 0; background: var(--paper-2); border-bottom: 1px solid var(--rule-strong); }
.resume-hero .home-editorial-hero__meta { display: flex; flex-wrap: wrap; gap: .45rem 1.25rem; margin-bottom: 1.5rem; color: var(--redline); font: 500 .7rem/1.4 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.resume-hero .home-editorial-hero__meta span:not(:last-child)::after { content: "·"; margin-left: 1.25rem; color: var(--ink-soft); }
.resume-hero h1 { max-width: 15ch; margin: 0; font-size: clamp(3.6rem, 7vw, 7.6rem); font-weight: 400; line-height: .94; letter-spacing: -.055em; }
.resume-hero h1 em { color: var(--redline); font-style: normal; }
.resume-hero .home-editorial-hero__deck { max-width: 62ch; margin: 1.6rem 0 0; color: var(--ink-2); font-size: clamp(1.05rem, 1.7vw, 1.35rem); line-height: 1.55; }
.resume-hero .home-editorial-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin-top: 2rem; }
.resume-hero .text-link { color: var(--redline); font: 500 .72rem/1.4 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.resume-layout { display: grid; grid-template-columns: minmax(240px, .52fr) minmax(0, 1.48fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.resume-layout > div:first-child { position: sticky; top: 7rem; }
.resume-layout h2 { max-width: 10ch; margin-top: .7rem; font-size: clamp(2.2rem, 4vw, 4.8rem); }
.resume-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.resume-highlights article { padding: 1.4rem 1.4rem 1.6rem 0; border-bottom: 1px solid var(--rule-strong); }
.resume-highlights article:nth-child(even) { padding-left: 1.4rem; border-left: 1px solid var(--rule-strong); }
.resume-highlights strong { display: block; margin-bottom: .45rem; color: var(--redline); font-size: clamp(2rem, 4vw, 4.5rem); letter-spacing: -.06em; }
.resume-highlights p,
.resume-timeline p,
.resume-capabilities p { margin: 0; color: var(--ink-2); line-height: 1.65; }
.resume-timeline { border-top: 1px solid var(--ink); }
.resume-timeline article { padding: 1.35rem 0 1.55rem; border-bottom: 1px solid var(--rule-strong); }
.resume-timeline__meta { display: flex; justify-content: space-between; gap: 1.25rem; margin-bottom: .65rem; }
.resume-timeline__meta strong { font-size: 1.15rem; }
.resume-timeline__meta span { color: var(--ink-soft); font: .72rem/1.45 var(--font-mono); text-transform: uppercase; }
.resume-capabilities { display: grid; gap: 0; border-top: 1px solid var(--ink); }
.resume-capabilities article { display: grid; grid-template-columns: .5fr 1fr; gap: 1.5rem; padding: 1.2rem 0; border-bottom: 1px solid var(--rule-strong); }
.resume-capabilities h3 { margin: 0; font-size: 1rem; }

/* Responsive hardening. */
@media (max-width: 1024px) {
  .editorial-section__head,
  .flagship-proof,
  .venture-current,
  .work-story,
  .story-decision,
  .story-evidence,
  .venture-brief,
  .resume-layout { grid-template-columns: 1fr; }

  .work-story:nth-child(even) .work-story__media,
  .story-decision:nth-child(even) figure { order: 0; }

  .flagship-proof__media { margin-bottom: 2rem; }
  .role-ledger { grid-template-columns: repeat(2, 1fr); }
  .resume-layout > div:first-child { position: static; }
}

@media (min-width: 721px) and (max-width: 840px) {
  .site-nav__inner { padding: .75rem var(--editorial-gutter); }
  .brand__name { display: inline; }
  .nav-toggle { display: inline-flex; }
  .nav-links {
    position: absolute;
    top: 100%;
    right: var(--editorial-gutter);
    left: var(--editorial-gutter);
    z-index: 60;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 1rem;
    background: var(--paper);
    border: 1px solid var(--rule-strong);
    box-shadow: 0 18px 44px rgba(15,23,20,.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
  }
  .nav-links.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
  .nav-links li { width: 100%; border-bottom: 1px solid var(--rule); }
  .nav-links li:last-child { padding-top: .75rem; border-bottom: 0; }
  .nav-links a { display: flex; width: 100%; justify-content: flex-start; }
  .nav-links a.nav-cta { justify-content: center; }
}

@media (max-width: 760px) {
  .editorial-section { padding: 4rem 0; }
  .editorial-section__head { gap: 1.35rem; margin-bottom: 2.25rem; }
  .home-editorial-hero__signal { flex-wrap: wrap; }
  .flagship-proof__media figure:last-child { position: relative; right: auto; bottom: auto; width: 72%; margin: -1rem 0 0 auto; }
  .flagship-proof__signals,
  .story-reflection-grid,
  .case-summary__grid,
  .case-tradeoffs__grid { grid-template-columns: 1fr; }
  .flagship-proof__signals div { padding: .8rem 0; border-right: 0; border-bottom: 1px dashed var(--rule-strong); }
  .flagship-proof__signals div:last-child { border-bottom: 0; }
  .work-story { padding: 3.25rem 0; }
  .work-story__media { grid-template-columns: 1fr; }
  .work-story__media figure:last-child { width: 65%; margin-left: auto; }
  .story-facts { grid-template-columns: 1fr; }
  .story-fact,
  .story-fact:not(:first-child) { padding: .85rem 0; border-right: 0; border-top: 1px dashed var(--rule-strong); }
  .story-fact:first-child { border-top: 0; }
  .role-ledger { grid-template-columns: 1fr; }
  .evidence-status article { grid-template-columns: 1fr; gap: .5rem; }
  .evidence-status span { justify-self: start; }
  .venture-product-grid { grid-template-columns: 1fr; }
  .venture-product-grid figure:first-child { grid-row: auto; }
  .resume-highlights { grid-template-columns: 1fr; }
  .resume-highlights article:nth-child(even) { padding-left: 0; border-left: 0; }
  .resume-timeline__meta,
  .resume-capabilities article { display: grid; grid-template-columns: 1fr; }
  .resume-hero { padding: 2.5rem 0 3.5rem; }
  .resume-hero .home-editorial-hero__meta { gap: .35rem .8rem; margin-bottom: 1.15rem; }
  .resume-hero .home-editorial-hero__meta span:not(:last-child)::after { margin-left: .8rem; }
  .resume-hero h1 { font-size: clamp(3rem, 14vw, 4.35rem); }
}

@media (max-width: 430px) {
  body[data-page="home"] .hero.home-editorial-hero h1.home-editorial-hero__title { font-size: clamp(3.2rem, 15.3vw, 4.25rem); }
  .home-editorial-hero__actions .btn { width: 100%; justify-content: center; }
  .home-editorial-hero__contact { margin-left: 0 !important; }
  .work-story__meta { grid-template-columns: 1fr; }
  .work-story__meta div:nth-child(even) { padding-left: 0; border-left: 0; }
  .work-story__meta div:not(:first-child) { border-top: 1px dashed var(--rule-strong); }
}

@media (prefers-reduced-motion: reduce) {
  .home-editorial-hero__signal span:not(:last-child)::after { animation: none; }
}

@media (min-width: 1800px) {
  .wrap { max-width: 1600px; }
  .work-story { grid-template-columns: minmax(0, 1.5fr) minmax(360px, .5fr); }
}

/* 2026-08-27 case-study UI expansion: large visual evidence, not thumbnail galleries. */
.ui-expansion {
  padding: clamp(4.75rem, 8vw, 8rem) 0;
  border-block: 1px solid var(--rule);
  background: #f8f8f5;
}
.ui-expansion__head {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.ui-expansion__head .story-kicker { grid-column: 1 / -1; margin-bottom: 0; }
.ui-expansion__head h2 {
  margin: 0;
  max-width: 13ch;
  font-size: clamp(2.25rem, 4.2vw, 4.75rem);
  line-height: 1;
}
.ui-expansion__head p {
  margin: 0;
  max-width: 58ch;
  color: var(--ink-2);
  font-size: clamp(1rem, .95rem + .2vw, 1.18rem);
  line-height: 1.65;
}
.ui-expansion__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.4vw, 2.5rem);
}
.ui-expansion__figure {
  margin: 0;
  min-width: 0;
  border: 1px solid var(--rule-strong);
  background: #fff;
  overflow: hidden;
}
.ui-expansion__figure:nth-child(5n + 1) { grid-column: 1 / -1; }
.ui-expansion__figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 900px;
  object-fit: contain;
  background: #fff;
}
.ui-expansion__figure figcaption {
  padding: .7rem .9rem;
  border-top: 1px solid var(--rule);
  color: var(--ink-soft);
  font: 500 .7rem/1.4 var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
}
@media (max-width: 760px) {
  .ui-expansion { padding: 3.5rem 0; }
  .ui-expansion__head,
  .ui-expansion__grid { grid-template-columns: 1fr; }
  .ui-expansion__figure:nth-child(5n + 1) { grid-column: auto; }
}


/* 2026-08-28 · Impeccable media-density correction
   Avoid empty grid tracks when evidence groups contain fewer items than the
   nominal 2/3/4-column pattern. Product evidence should use the available
   canvas instead of reading as an incomplete template. */
.case-v3-media-grid--pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.case-v3-media-grid--single {
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 1120px);
  margin-left: auto;
  margin-right: auto;
}
.case-v3-media-grid--single-portrait {
  width: min(100%, 560px);
}
.case-v3-media-grid--single figure,
.case-v3-media-grid--single img {
  min-width: 0;
}
.case-v3-media-grid--single img {
  height: auto;
}
.case-v3-phone-strip--single {
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 430px);
  margin-left: auto;
  margin-right: auto;
}
.case-v3-phone-strip--pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 860px);
  margin-left: auto;
  margin-right: auto;
}
.case-v3-phone-strip--trio {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 1120px);
  margin-left: auto;
  margin-right: auto;
}

/* HuntMate continuity: keep the two desktop surfaces legible, then give the
   portrait mobile state its own centered row. This removes the stretched
   two-row container that created a large blank field inside the lead image. */
.venture-product-grid--continuity {
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
  align-items: start;
}
.venture-product-grid--continuity figure:first-child {
  grid-row: auto;
}
.venture-product-grid--continuity figure:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}
.venture-product-grid--continuity figure:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}
.venture-product-grid--continuity figure:nth-child(3) {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
  width: min(100%, 430px);
}
.venture-product-grid--continuity img {
  display: block;
  height: auto;
}

@media (max-width: 1024px) {
  .venture-product-grid--continuity {
    grid-template-columns: 1fr;
  }
  .venture-product-grid--continuity figure:nth-child(1),
  .venture-product-grid--continuity figure:nth-child(2),
  .venture-product-grid--continuity figure:nth-child(3) {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
  }
  .venture-product-grid--continuity figure:nth-child(3) {
    width: min(100%, 430px);
    justify-self: center;
  }
}

@media (max-width: 620px) {
  .case-v3-media-grid--pair {
    grid-template-columns: minmax(0, 1fr);
  }
  .case-v3-media-grid--single,
  .case-v3-media-grid--single-portrait,
  .case-v3-phone-strip--single,
  .case-v3-phone-strip--pair,
  .case-v3-phone-strip--trio {
    width: 100%;
  }
  .case-v3-phone-strip--pair,
  .case-v3-phone-strip--trio {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
