.eg-case-grid {
  --egcs-columns: 2;
  --egcs-bg: #050505;
  --egcs-card: #0c0c0c;
  --egcs-border: #353535;
  --egcs-accent: #ffe000;
  --egcs-heading: #f2f2f2;
  --egcs-text: #c7c7c7;
  --egcs-muted: #999;
  --egcs-tag-bg: rgba(0, 0, 0, .28);
  position: relative;
  overflow: hidden;
  padding: 70px 28px 36px;
  background: var(--egcs-bg);
  color: var(--egcs-text);
  font-family: "Open Sans", Helvetica, Arial, sans-serif;
}

.eg-case-grid--light {
  --egcs-bg: #f4f3ed;
  --egcs-card: #fff;
  --egcs-border: #d7d5cd;
  --egcs-heading: #0a0b0d;
  --egcs-text: #4e535b;
  --egcs-muted: #757982;
  --egcs-tag-bg: #f7f6f0;
}

.eg-case-grid *, .eg-case-grid *::before, .eg-case-grid *::after { box-sizing: border-box; }
.eg-case-grid__inner { width: min(1500px, 100%); margin-inline: auto; }
.eg-case-grid__header { width: min(820px, 100%); margin-bottom: 42px; }
.eg-case-grid__eyebrow { margin: 0 0 22px; color: var(--egcs-accent); font-size: 13px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eg-case-grid__title { margin: 0; color: var(--egcs-heading); font-size: clamp(38px, 4vw, 62px); font-weight: 800; letter-spacing: -.025em; line-height: 1.12; text-transform: uppercase; }
.eg-case-grid__intro { width: min(660px, 100%); margin: 22px 0 0; color: var(--egcs-text); font-size: 15px; line-height: 1.65; }

.eg-case-grid__projects { display: grid; grid-template-columns: repeat(var(--egcs-columns), minmax(0, 1fr)); gap: 14px; }
.eg-case-card { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 580px; padding: 28px 28px 22px; overflow: hidden; border: 1px solid var(--egcs-border); border-radius: 22px; background: radial-gradient(circle at 75% 45%, color-mix(in srgb, var(--egcs-accent) 4%, transparent), transparent 34%), var(--egcs-card); }
.eg-case-card--featured { grid-column: 1 / -1; min-height: 500px; }
.eg-case-card__watermark { position: absolute; top: 4px; left: 18px; color: color-mix(in srgb, var(--egcs-heading) 6%, transparent); font-size: 110px; font-weight: 800; line-height: 1; pointer-events: none; }
.eg-case-card__body { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(220px, .7fr) minmax(300px, 1.3fr); align-items: center; gap: 30px; flex: 1 1 auto; }
.eg-case-card:not(.eg-case-card--featured) .eg-case-card__body { grid-template-columns: 1fr; align-items: start; }
.eg-case-card__copy { min-width: 0; }
.eg-case-card__client { display: flex; align-items: baseline; gap: 9px; margin: 0; color: var(--egcs-heading); font-size: 19px; font-weight: 700; line-height: 1.3; }
.eg-case-card__client strong { color: var(--egcs-accent); font-size: 20px; }
.eg-case-card__client span { color: var(--egcs-accent); }
.eg-case-card__category { margin: 13px 0 0; color: var(--egcs-accent); font-size: 12px; font-weight: 600; line-height: 1.45; text-transform: uppercase; }
.eg-case-card__category::after { content: ""; display: block; width: 28px; margin-top: 14px; border-top: 2px solid var(--egcs-accent); }
.eg-case-card__title { margin: 20px 0 0; color: var(--egcs-heading); font-size: 18px; font-weight: 700; line-height: 1.45; text-transform: none; }
.eg-case-card__description { margin: 12px 0 0; color: var(--egcs-text); font-size: 13px; line-height: 1.65; }
.eg-case-card__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.eg-case-card__tags span { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 12px; border: 1px solid color-mix(in srgb, var(--egcs-accent) 30%, var(--egcs-border)); border-radius: 7px; background: var(--egcs-tag-bg); color: var(--egcs-accent); font-size: 10px; font-weight: 700; }
.eg-case-card__visual { min-width: 0; }
.eg-case-card__image { margin: 0; }
.eg-case-card__image img { display: block; width: 100%; max-height: 340px; object-fit: contain; }

.eg-case-flow { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 230px; padding: 26px 12px; }
.eg-case-flow::before { content: ""; position: absolute; top: 50%; right: 8%; left: 8%; border-top: 1px dashed var(--egcs-accent); box-shadow: 0 0 9px color-mix(in srgb, var(--egcs-accent) 50%, transparent); }
.eg-case-flow__node { position: relative; z-index: 1; display: grid; justify-items: center; gap: 12px; min-width: 0; flex: 1 1 0; }
.eg-case-flow__icon { display: grid; place-items: center; width: clamp(54px, 7vw, 86px); height: clamp(54px, 7vw, 86px); border: 1px solid color-mix(in srgb, var(--egcs-accent) 45%, var(--egcs-border)); border-radius: 16px; background: var(--egcs-card); color: var(--egcs-accent); box-shadow: 0 10px 20px color-mix(in srgb, var(--egcs-bg) 55%, transparent), 0 0 18px color-mix(in srgb, var(--egcs-accent) 8%, transparent); }
.eg-case-flow__icon i { font-size: clamp(24px, 3vw, 39px); }
.eg-case-flow__icon svg { width: clamp(24px, 3vw, 39px); height: clamp(24px, 3vw, 39px); fill: currentColor; }
.eg-case-flow__icon > span { width: 18px; height: 18px; border: 3px solid var(--egcs-accent); border-radius: 50%; box-shadow: 0 0 14px var(--egcs-accent); }
.eg-case-flow__node small { color: var(--egcs-heading); font-size: 9px; font-weight: 700; text-align: center; }

.eg-case-outcomes { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--egcs-border); }
.eg-case-outcome { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: start; }
.eg-case-outcome__symbol { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--egcs-accent); border-radius: 50%; color: var(--egcs-accent); font-size: 13px; }
.eg-case-outcome strong { display: block; color: var(--egcs-accent); font-size: 9px; line-height: 1.3; }
.eg-case-outcome p { margin: 4px 0 0; color: var(--egcs-muted); font-size: 10px; line-height: 1.5; }

.eg-case-grid__cta { display: grid; grid-template-columns: 42px auto minmax(40px, 1fr); align-items: center; gap: 18px; min-height: 68px; margin-top: 28px; padding: 12px 24px; border: 1px solid var(--egcs-border); border-radius: 16px; color: var(--egcs-heading); text-decoration: none; }
.eg-case-grid__cta > span { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--egcs-accent); border-radius: 50%; color: var(--egcs-accent); font-size: 22px; }
.eg-case-grid__cta strong { font-size: 13px; letter-spacing: .05em; }
.eg-case-grid__cta i { border-top: 1px solid color-mix(in srgb, var(--egcs-accent) 50%, var(--egcs-border)); }
.eg-case-grid__cta:hover { color: var(--egcs-accent); border-color: color-mix(in srgb, var(--egcs-accent) 45%, var(--egcs-border)); }

@media (max-width: 1024px) {
  .eg-case-grid { --egcs-columns: 2; padding: 54px 22px 30px; }
  .eg-case-card__body, .eg-case-card--featured .eg-case-card__body { grid-template-columns: 1fr; align-items: start; }
  .eg-case-card--featured { min-height: 580px; }
}

@media (max-width: 767px) {
  .eg-case-grid { --egcs-columns: 1; padding: 42px 14px 24px; }
  .eg-case-grid__header { margin-bottom: 30px; }
  .eg-case-grid__title { font-size: clamp(32px, 10vw, 44px); }
  .eg-case-card { min-height: auto; padding: 24px 18px 18px; border-radius: 17px; }
  .eg-case-card__watermark { font-size: 78px; }
  .eg-case-flow { min-height: 190px; overflow-x: auto; }
  .eg-case-flow__node { min-width: 64px; }
  .eg-case-outcomes { grid-template-columns: 1fr; gap: 12px; }
  .eg-case-grid__cta { grid-template-columns: 38px minmax(0, 1fr); padding-inline: 16px; }
  .eg-case-grid__cta i { display: none; }
}

@media (prefers-reduced-motion: reduce) { .eg-case-grid__cta { transition: none; } }

@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
  .eg-case-card { background: var(--egcs-card); }
  .eg-case-card__watermark { color: rgba(128,128,128,.08); }
}
