/* Virtus/projet.css remains the master system. These rules only preserve artwork. */
.unified-case .unified-hero{margin-top:56px}
.unified-case .unified-hero img,.unified-case .unified-natural img{width:100%;height:auto;display:block;object-fit:contain}
.unified-case .unified-moodboard{background:#efefef}
.unified-case .unified-moodboard img{width:100%;height:auto;object-fit:contain;display:block}
.unified-case .research-axis__visuals{height:auto;min-height:0}
.unified-case .unified-logo-piste{background:#ececec}
.unified-case .unified-logo-piste img,.unified-case .unified-contain img,.unified-case .unified-logo-final img,.unified-case .unified-symbol-final img{width:100%;height:100%;object-fit:contain;padding:5%;box-sizing:border-box}
.unified-case .unified-logo-final,.unified-case .unified-symbol-final{min-height:430px;background:#ececec}
.terra-case .unified-logo-final{background:#e4c2b6}.terra-case .unified-symbol-final{background:#f0ece8}.crok-case .unified-logo-final{background:#111}
.unified-case .unified-construction-grid .visual,.unified-case .unified-variants .visual,.unified-case .unified-mascots .visual,.unified-case .unified-planets .visual{min-height:360px;background:#ececec}
.unified-case .unified-variants .visual:nth-child(3){background:#1a1a1a}
.unified-case .unified-app-grid img,.unified-case .unified-pack-final img,.unified-case .unified-games img,.unified-case .unified-shootings img{width:100%;height:auto;object-fit:contain;display:block}
.colors-grid--three{grid-template-columns:repeat(3,1fr)}
.unified-case .next-project{display:grid;grid-template-columns:1fr auto 1fr}.unified-case .next-project a:last-child{text-align:right}
@media(max-width:900px){.colors-grid--three{grid-template-columns:1fr}.unified-case .next-project{grid-template-columns:1fr}.unified-case .next-project a:last-child{text-align:left}}


/* V5 corrections after visual review */
.unified-case .visual.unified-natural,
.unified-case .visual.unified-natural img,
.unified-case .visual--identity-master.unified-natural,
.unified-case .visual--identity-master.unified-natural img {
  height:auto !important; min-height:0 !important; max-height:none !important;
  object-fit:contain !important; overflow:visible !important;
}
/* Terra: research artwork is black linework, so never place it on black. */
.terra-case .subsection .unified-contain,
.terra-case .visual--identity-master.unified-logo-final,
.terra-case .unified-construction-grid .visual { background:#e7e7e8 !important; }
.terra-case .subsection .unified-contain img { opacity:1 !important; filter:none !important; }
.terra-case .unified-logo-final { background:#e4c2b6 !important; }
.terra-case #applications .identity-text,
.terra-case #applications .identity-text p { color:#191919 !important; }
.terra-case #applications .subsection-header h3,
.terra-case #applications .subsection-header span { color:#191919; }
.terra-case .unified-app-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.terra-case .unified-app-grid--two .visual { height:auto !important; background:#e7e7e8; }
.terra-case .unified-app-grid--two img { width:100%; height:auto !important; object-fit:contain !important; }
.terra-case #applications .visual--identity-master { height:auto !important; max-height:none !important; overflow:visible !important; }
.terra-case #applications .visual--identity-master img { width:100%; height:auto !important; object-fit:contain !important; }
.terra-case #final .visual--identity-master { height:auto !important; max-height:none !important; overflow:visible !important; }
.terra-case #final .visual--identity-master img { width:100%; height:auto !important; object-fit:contain !important; }
/* Crok Cosmo: transparent PNGs receive project-DA backgrounds. */
.crok-case .unified-logo-piste { background:#bef5fe !important; }
.crok-case .crok-logo-final { background:#0f346f !important; }
.crok-case .unified-mascots .visual { background:#0247b4 !important; }
.crok-case .unified-planets .visual { background:#0f346f !important; }
.crok-case .unified-mascots img,
.crok-case .unified-planets img,
.crok-case .crok-logo-final img { opacity:1 !important; filter:none !important; }
.crok-case .unified-games--large { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.crok-case .unified-games--large .visual { height:auto !important; min-height:0 !important; }
.crok-case .unified-games--large img { width:100%; height:auto !important; object-fit:contain !important; }
/* End of every case study = exact Virtus component. */
.unified-case .project-end { padding:clamp(90px,8vw,125px) var(--project-side); background:var(--project-black); color:#fff; text-align:center; }
.unified-case .project-end .eyebrow { margin-bottom:14px; }
.unified-case .project-end h2 { margin:0 0 clamp(34px,3vw,44px); font-family:var(--merriweather); font-size:clamp(42px,5vw,70px); font-weight:500; line-height:.98; letter-spacing:-.035em; }
.unified-case .project-end__actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; }
.unified-case .project-end__actions a { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:0 24px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; font-size:11px; font-weight:500; line-height:1; letter-spacing:.04em; text-decoration:none; transition:.25s ease; }
.unified-case .project-end__actions a:hover { background:var(--project-red); border-color:var(--project-red); transform:translateY(-2px); }
@media(max-width:900px){ .terra-case .unified-app-grid--two,.crok-case .unified-games--large{grid-template-columns:1fr;} }

/* V6 — final visual corrections */
/* Crok: richer dark-blue DA backgrounds, never flat cyan. */
.crok-case .unified-logo-piste,
.crok-case .unified-mascots .visual,
.crok-case .unified-planets .visual {
  background:linear-gradient(145deg,#071b46 0%,#0f346f 52%,#0247b4 100%) !important;
}
.crok-case .crok-logo-final {background:linear-gradient(145deg,#071b46,#0f346f 58%,#0247b4) !important;}
/* Packaging final: face/back large on first row, unfolded template full width below. */
.crok-case .unified-pack-final--crok{display:grid;gap:24px;}
.crok-case .unified-pack-final__faces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.crok-case .unified-pack-final__faces .visual,.crok-case .unified-pack-final__template{height:auto!important;min-height:0!important;}
.crok-case .unified-pack-final__faces img,.crok-case .unified-pack-final__template img{width:100%;height:auto!important;object-fit:contain!important;display:block;}
/* Games: separate both activities visually while keeping them large. */
.crok-case .unified-games--large{gap:28px;}
.crok-case .unified-games--large .visual{padding:28px;background:linear-gradient(145deg,#071b46,#0f346f 62%,#0247b4);box-sizing:border-box;}
/* Terra: explicit spacing prevents the lower stationery images from overlapping the master visual. */
.terra-case .unified-app-grid--two{margin-top:28px;align-items:start;}
.terra-case #applications .subsection{overflow:visible;padding-bottom:clamp(32px,4vw,64px);}
.terra-case #applications .container,.terra-case #final .container{height:auto!important;max-height:none!important;overflow:visible!important;}
/* Project navigation: seven items must be truly centered across the viewport. */
.unified-case + .project-nav,.project-nav{grid-template-columns:repeat(7,minmax(0,1fr))!important;}
.project-nav a{width:100%;box-sizing:border-box;}
@media(max-width:900px){.crok-case .unified-pack-final__faces{grid-template-columns:1fr}.crok-case .unified-games--large .visual{padding:16px}}


/* V8 — spacing fixes requested after V7 review */
/* Crok Cosmo: keep the two game cards clearly separated. */
.crok-case .unified-games--large {
  column-gap:32px !important;
  row-gap:32px !important;
}
.crok-case .unified-games--large .visual { margin:0 !important; }

/* TerraNova: every artwork remains in normal document flow with breathing room. */
.terra-case #system .subsection:last-child { padding-bottom:clamp(36px,5vw,72px); }
.terra-case #system .subsection:last-child > .visual { margin-bottom:clamp(24px,3vw,42px) !important; }
.terra-case #applications { position:relative; }
.terra-case #applications .subsection { clear:both; height:auto !important; min-height:0 !important; }
.terra-case #applications .subsection + .subsection { margin-top:clamp(72px,8vw,120px) !important; }
.terra-case #applications .subsection > .visual--identity-master { margin:0 0 32px !important; }
.terra-case #applications .unified-app-grid--two {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  margin:32px 0 0 !important;
  position:relative !important;
}
.terra-case #applications .unified-app-grid--two .visual {
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  margin:0 !important;
}
.terra-case #applications .unified-app-grid--two img,
.terra-case #applications .subsection > .visual--identity-master img,
.terra-case #final .visual--identity-master img {
  position:static !important;
  inset:auto !important;
  transform:none !important;
}
.terra-case #applications .subsection:nth-of-type(2) .visual + .visual { margin-top:32px !important; }
.terra-case #final { clear:both; }
.terra-case #final .visual--identity-master { margin-bottom:clamp(24px,3vw,42px) !important; }
@media(max-width:900px){
  .terra-case #applications .unified-app-grid--two{grid-template-columns:1fr!important;}
  .terra-case #applications .subsection + .subsection{margin-top:64px!important;}
}


/* V9 — root fix: remove Virtus fixed aspect-ratios only where Terra uses natural-height artwork. */
.terra-case #system .visual--identity-master,
.terra-case #applications .visual--identity-master,
.terra-case #applications .unified-app-grid--two .visual,
.terra-case #final .visual--identity-master {
  aspect-ratio:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.terra-case #system .visual--identity-master img,
.terra-case #applications .visual--identity-master img,
.terra-case #applications .unified-app-grid--two img,
.terra-case #final .visual--identity-master img {
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  position:relative !important;
  display:block !important;
}
/* Pattern gets real space before the next white section. */
.terra-case #system .subsection:last-child {
  margin-bottom:0 !important;
  padding-bottom:clamp(64px,7vw,110px) !important;
}
.terra-case #system .subsection:last-child .visual--identity-master {
  margin-bottom:0 !important;
}
/* Stationery: master image ends first; the two cards begin on a new row. */
.terra-case #applications .subsection:first-of-type > .visual--identity-master {
  margin-bottom:clamp(34px,4vw,58px) !important;
}
.terra-case #applications .unified-app-grid--two {
  margin-top:0 !important;
  gap:clamp(22px,2vw,32px) !important;
  clear:both !important;
}
/* Packaging: force each full artwork onto its own normal-flow row. */
.terra-case #applications .subsection:nth-of-type(2) > .visual--identity-master {
  display:block !important;
  margin-top:clamp(30px,3vw,44px) !important;
  margin-bottom:0 !important;
  clear:both !important;
}
.terra-case #applications .subsection:nth-of-type(2) > .visual--identity-master + .visual--identity-master {
  margin-top:clamp(34px,4vw,58px) !important;
}
.terra-case #applications {
  padding-bottom:clamp(100px,9vw,150px) !important;
}
/* Final Terra artwork must determine section height itself. */
.terra-case #final {
  padding-bottom:clamp(100px,9vw,150px) !important;
  overflow:visible !important;
}
/* Crok: ONLY bottom-of-page imagery. Games are intentionally untouched. */
.crok-case #final .unified-shootings {
  gap:clamp(20px,2vw,30px) !important;
  align-items:start !important;
  margin-bottom:clamp(42px,5vw,72px) !important;
}
.crok-case #final .unified-shootings .visual,
.crok-case #final .unified-final-showcase {
  aspect-ratio:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.crok-case #final .unified-shootings img,
.crok-case #final .unified-final-showcase img {
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
}
.crok-case #final .unified-final-showcase {
  margin-top:0 !important;
  margin-bottom:clamp(30px,4vw,56px) !important;
}
@media(max-width:900px){
 .crok-case #final .unified-shootings{grid-template-columns:1fr!important;}
}

/* ===== V15 — narrative case-study pass ===== */
.v15-case .story-lead{max-width:860px;margin-bottom:clamp(34px,4vw,58px)}
.v15-case .story-lead .section-intro{margin-bottom:18px}
.v15-case .story-lead>p:not(.section-intro),.v15-case .identity-text p,.v15-case .case-caption,.v15-case .naming-copy p{font-family:"Poppins",sans-serif;line-height:1.75}
.v15-case .case-caption{max-width:760px;margin:18px 0 0;font-size:.88rem;opacity:.68}
.v15-case .v15-proof--portrait{max-width:980px;margin-left:auto;margin-right:auto}
.v15-case .v15-wide-art{width:100%;margin-top:30px}
.v15-case .v15-wide-art img{width:100%;height:auto;object-fit:contain}
.v15-case .v15-followups{margin-top:28px}
.v15-case .decision-break{max-width:900px;margin:clamp(70px,8vw,120px) auto 30px;padding:clamp(30px,4vw,54px);border-top:1px solid currentColor;border-bottom:1px solid currentColor;text-align:center}
.v15-case .decision-break>span{font-family:"Poppins",sans-serif;font-size:.72rem;letter-spacing:.18em;font-weight:700;opacity:.62}
.v15-case .decision-break h3{font-family:"Merriweather",serif;font-size:clamp(2.1rem,5vw,4.8rem);margin:16px 0 20px}
.v15-case .decision-break p{font-family:"Poppins",sans-serif;max-width:720px;margin:0 auto;line-height:1.75}
.v15-case .v15-axis article{align-items:start}
.v15-case .v15-axis article>div p{line-height:1.7}
.v15-case .v15-sequence{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,30px);align-items:start}
.v15-case .v15-sequence figure{margin:0}
.v15-case .v15-sequence figure:nth-child(3){grid-column:1/-1;max-width:920px;justify-self:center}
.v15-case .v15-sequence img{width:100%;height:auto;object-fit:contain}
.sabunny-case #naming .naming-group{margin-bottom:clamp(52px,6vw,90px)}
.sabunny-case #naming .naming-copy{align-self:center}
.sabunny-case #naming .naming-copy p{margin-top:18px;opacity:.82}
.sabunny-case #youtube .banner-compare img{width:100%;height:auto;object-fit:contain}
.silens-case #research .case-media,.silens-case #identity .case-media{overflow:visible}
@media(max-width:800px){.v15-case .v15-sequence{grid-template-columns:1fr}.v15-case .v15-sequence figure:nth-child(3){grid-column:auto}.v15-case .decision-break{margin-top:56px}.v15-case .story-lead{max-width:none}}
