/* =====================================================
   CASES — EDITORIAL RESTRAINT DESIGN (v4)
   White-driven, serif headings, thin accent lines.
   Continues the language of index.html, ideas.html, about.html.
   ===================================================== */

:root {
  --dim-cheaper: #B8935F;
  --dim-faster: #C97F47;
  --dim-better: #A84848;
  --dim-greener: #527864;
  --dim-smarter: #456395;
  --dim-tougher: #5E527E;
  --dim-k12: #3A3A3A;

  --type-success: #4A7C59;
  --type-failure: #A83838;
  --type-counter: #C48A2F;
  --type-complex: #6B4B7E;
  --type-risk: #C46B2F;
  --type-neutral: #888888;

  --editorial-uppercase-tracking: 0.12em;
  --editorial-meta-tracking: 0.06em;
}

/* =====================================================
   DIMENSION HERO — OVERRIDE ANY v2 GRADIENT BACKGROUNDS
   ===================================================== */

.dimension-hero,
header.dimension-hero,
.dimension-hero--cheaper,
.dimension-hero--faster,
.dimension-hero--better,
.dimension-hero--greener,
.dimension-hero--smarter,
.dimension-hero--tougher {
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
  padding: 3rem 1.5rem 2rem !important;
  text-align: center !important;
  border-radius: 0 !important;
  border-top: 3px solid #5E527E;
  margin-bottom: 2.5rem !important;
}

.dimension-hero--cheaper { border-top-color: var(--dim-cheaper); }
.dimension-hero--faster  { border-top-color: var(--dim-faster); }
.dimension-hero--better  { border-top-color: var(--dim-better); }
.dimension-hero--greener { border-top-color: var(--dim-greener); }
.dimension-hero--smarter { border-top-color: var(--dim-smarter); }
.dimension-hero--tougher { border-top-color: var(--dim-tougher); }

.dimension-hero *,
.dimension-hero h1,
.dimension-hero p,
.dimension-hero span,
.dimension-hero div {
  color: inherit !important;
  background: transparent !important;
}

.dimension-hero__icon {
  font-size: 2rem !important;
  margin-bottom: 0.75rem !important;
  color: inherit !important;
}

.dimension-hero__eyebrow {
  font-size: 11px !important;
  letter-spacing: var(--editorial-uppercase-tracking) !important;
  font-weight: 500 !important;
  margin-bottom: 0.75rem !important;
  text-transform: uppercase !important;
  color: #5E527E !important;
}

.dimension-hero--cheaper .dimension-hero__eyebrow { color: var(--dim-cheaper) !important; }
.dimension-hero--faster  .dimension-hero__eyebrow { color: var(--dim-faster) !important; }
.dimension-hero--better  .dimension-hero__eyebrow { color: var(--dim-better) !important; }
.dimension-hero--greener .dimension-hero__eyebrow { color: var(--dim-greener) !important; }
.dimension-hero--smarter .dimension-hero__eyebrow { color: var(--dim-smarter) !important; }
.dimension-hero--tougher .dimension-hero__eyebrow { color: var(--dim-tougher) !important; }

.dimension-hero__title,
.dimension-hero h1 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 2.75rem !important;
  font-weight: 400 !important;
  margin: 0 0 0.5rem 0 !important;
  color: #1A1A1A !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  text-transform: capitalize !important;
}

.dimension-hero__tagline {
  font-style: italic !important;
  font-size: 1.0625rem !important;
  color: #666 !important;
  margin: 0 auto 1.5rem auto !important;
  max-width: 640px !important;
  line-height: 1.5 !important;
}

.dimension-hero__meta,
.dimension-hero__stats {
  font-size: 12px !important;
  color: #999 !important;
  letter-spacing: var(--editorial-meta-tracking) !important;
  margin: 0 auto 1rem auto !important;
  display: block !important;
  text-align: center !important;
}

.dimension-hero__meta span,
.dimension-hero__stats .stat {
  display: inline !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dimension-hero__meta span + span::before {
  content: " · " !important;
  margin: 0 0.25rem !important;
  color: #CCC !important;
}

.dimension-hero__stats .stat strong {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #999 !important;
}

.dimension-hero__stats .stat em {
  font-style: normal !important;
  display: none !important;
}

.dimension-hero__intro {
  max-width: 640px !important;
  margin: 1.5rem auto 0 !important;
  font-size: 1rem !important;
  color: #444 !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

@media (max-width: 640px) {
  .dimension-hero { padding: 2rem 1rem 1.5rem !important; }
  .dimension-hero__title { font-size: 2rem !important; }
  .dimension-hero__tagline { font-size: 1rem !important; }
}

/* =====================================================
   CASE CARDS — OVERRIDE ANY v2 HEAVY BORDER + BACKGROUND
   ===================================================== */

.case-card,
.case-card--cheaper,
.case-card--faster,
.case-card--better,
.case-card--greener,
.case-card--smarter,
.case-card--tougher {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-left: none !important;
  border-bottom: 0.5px solid #E5E2DC !important;
  padding: 2rem 0 1.75rem !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.case-card:last-child {
  border-bottom: none !important;
}

.case-card__header {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  align-items: center !important;
  margin-bottom: 0.75rem !important;
  font-size: 11px !important;
  letter-spacing: var(--editorial-meta-tracking) !important;
  color: #999 !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

/* Type badges — OVERRIDE v2 colored pill to dot+text */
.case-badge,
.case-badge--success,
.case-badge--failure,
.case-badge--counter,
.case-badge--complex,
.case-badge--risk,
.case-badge--neutral {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: var(--editorial-meta-tracking) !important;
  color: #666 !important;
  text-transform: capitalize !important;
}

.case-badge::before {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--type-neutral) !important;
  margin: 0 !important;
}

.case-badge--success::before { background: var(--type-success) !important; }
.case-badge--failure::before { background: var(--type-failure) !important; }
.case-badge--counter::before { background: var(--type-counter) !important; }
.case-badge--complex::before { background: var(--type-complex) !important; }
.case-badge--risk::before    { background: var(--type-risk) !important; }
.case-badge--neutral::before { background: var(--type-neutral) !important; }

.case-dimension {
  font-weight: 500 !important;
  text-transform: uppercase !important;
  color: #666 !important;
  background: transparent !important;
}

.case-period {
  color: #999 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 12px !important;
  background: transparent !important;
}

.case-title {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  margin: 0 0 0.25rem 0 !important;
  color: #1A1A1A !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em !important;
  background: transparent !important;
}

.case-subtitle {
  font-style: italic !important;
  color: #666 !important;
  margin: 0 0 1rem 0 !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  background: transparent !important;
}

.case-divider {
  display: none !important;
}

.case-block__label {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: var(--editorial-uppercase-tracking) !important;
  text-transform: uppercase !important;
  color: #999 !important;
  margin: 1.25rem 0 0.5rem 0 !important;
  background: transparent !important;
}

.case-block p {
  margin: 0 0 1rem 0 !important;
  line-height: 1.7 !important;
  color: #333 !important;
  font-size: 1rem !important;
  background: transparent !important;
}

.case-framework-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.case-framework-list li {
  display: block !important;
  margin-bottom: 0.875rem !important;
  line-height: 1.7 !important;
  color: #333 !important;
  font-size: 1rem !important;
  background: transparent !important;
}

/* Framework chips — OVERRIDE v2 filled chip to inline italic */
.fw-chip,
.fw-chip--6er,
.fw-chip--pm,
.fw-chip--ac,
.fw-chip--k12 {
  display: inline !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  font-style: italic !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #1A1A1A !important;
  white-space: normal !important;
  margin-right: 0 !important;
}

.fw-chip--6er { color: #6F5A2E !important; }
.fw-chip--pm  { color: #4E3868 !important; }
.fw-chip--ac  { color: #2E5A48 !important; }
.fw-chip--k12 { color: #6B4B2E !important; }

/* Learning quote — OVERRIDE v2 cream box */
.case-learning {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 1.5rem 0 1rem !important;
}

.case-learning__label {
  display: none !important;
}

.case-learning__quote {
  margin: 0 !important;
  border-left: 2px solid #D4A574 !important;
  padding-left: 1.25rem !important;
  background: transparent !important;
}

.case-learning__quote p {
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
  font-size: 1.125rem !important;
  line-height: 1.55 !important;
  margin: 0 0 0.5rem 0 !important;
  color: #2A2A2A !important;
  background: transparent !important;
}

.case-learning__quote cite {
  font-style: normal !important;
  font-size: 0.8125rem !important;
  color: #888 !important;
  font-weight: 500 !important;
  letter-spacing: var(--editorial-meta-tracking) !important;
  background: transparent !important;
}

/* Book CTA — OVERRIDE v2 beige button to italic link */
.case-book-cta {
  display: inline-block !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 0.5px solid #999 !important;
  border-radius: 0 !important;
  color: #444 !important;
  text-decoration: none !important;
  font-size: 0.875rem !important;
  font-style: italic !important;
  margin-top: 0.75rem !important;
  transition: border-color 0.15s ease, color 0.15s ease !important;
}

.case-book-cta:hover {
  border-bottom-color: #1A1A1A !important;
  color: #1A1A1A !important;
  background: transparent !important;
}

.case-book-cta em {
  font-style: italic !important;
  font-weight: 400 !important;
  color: inherit !important;
}

/* =====================================================
   MASTER INDEX (cases.html) — OVERRIDE v2 BEIGE TILE GRID
   ===================================================== */

.dimension-grid {
  display: block !important;
  margin: 3rem 0 !important;
  border-top: 0.5px solid #E5E2DC !important;
  background: transparent !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

.dim-tile,
.dim-tile--cheaper,
.dim-tile--faster,
.dim-tile--better,
.dim-tile--greener,
.dim-tile--smarter,
.dim-tile--tougher,
.dim-tile--k12 {
  display: flex !important;
  align-items: baseline !important;
  gap: 1rem !important;
  padding: 1.25rem 0 !important;
  border-bottom: 0.5px solid #E5E2DC !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  text-decoration: none !important;
  color: inherit !important;
  border-radius: 0 !important;
  min-height: auto !important;
  transform: none !important;
  box-shadow: none !important;
  text-align: left !important;
  transition: padding-left 0.2s ease !important;
}

.dim-tile:hover {
  padding-left: 0.5rem !important;
  box-shadow: none !important;
  transform: none !important;
  background: transparent !important;
}

.dim-tile__icon {
  font-size: 1.25rem !important;
  margin-bottom: 0 !important;
  width: 32px !important;
  flex-shrink: 0 !important;
  text-align: center !important;
  background: transparent !important;
}

.dim-tile h3,
.dim-tile--cheaper h3,
.dim-tile--faster h3,
.dim-tile--better h3,
.dim-tile--greener h3,
.dim-tile--smarter h3,
.dim-tile--tougher h3,
.dim-tile--k12 h3 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.375rem !important;
  font-weight: 400 !important;
  letter-spacing: -0.005em !important;
  text-transform: capitalize !important;
  margin: 0 !important;
  color: #1A1A1A !important;
  flex-grow: 0 !important;
  min-width: 180px !important;
  background: transparent !important;
  text-shadow: none !important;
}

.dim-tile__count {
  display: inline !important;
  font-size: 12px !important;
  letter-spacing: var(--editorial-meta-tracking) !important;
  text-transform: uppercase !important;
  color: #999 !important;
  opacity: 1 !important;
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
  background: transparent !important;
}

.dim-tile p {
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  opacity: 1 !important;
  color: #666 !important;
  flex-grow: 1 !important;
  font-style: italic !important;
  background: transparent !important;
}

.dim-tile--cheaper .dim-tile__icon { color: var(--dim-cheaper); }
.dim-tile--faster  .dim-tile__icon { color: var(--dim-faster); }
.dim-tile--better  .dim-tile__icon { color: var(--dim-better); }
.dim-tile--greener .dim-tile__icon { color: var(--dim-greener); }
.dim-tile--smarter .dim-tile__icon { color: var(--dim-smarter); }
.dim-tile--tougher .dim-tile__icon { color: var(--dim-tougher); }
.dim-tile--k12     .dim-tile__icon { color: var(--dim-k12); }

@media (max-width: 640px) {
  .dim-tile { flex-wrap: wrap !important; gap: 0.5rem 1rem !important; }
  .dim-tile h3 { min-width: 0 !important; flex-basis: 100% !important; order: 1 !important; }
  .dim-tile__icon { order: 0 !important; }
  .dim-tile__count { order: 2 !important; }
  .dim-tile p { order: 3 !important; flex-basis: 100% !important; }
}

/* =====================================================
   MASTER 88-CASE TABLE
   ===================================================== */

.cases-master-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 2rem 0 !important;
  font-size: 0.9375rem !important;
}

.cases-master-table th {
  background: transparent !important;
  padding: 0.625rem 0.5rem !important;
  text-align: left !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: var(--editorial-uppercase-tracking) !important;
  text-transform: uppercase !important;
  color: #999 !important;
  border-bottom: 0.5px solid #D5D2CC !important;
}

.cases-master-table td {
  padding: 0.75rem 0.5rem !important;
  border-bottom: 0.5px solid #EEEAE1 !important;
  vertical-align: middle !important;
}

.cases-master-table tr:hover {
  background: #FAF8F3 !important;
}

/* =====================================================
   K12 PAGE — OVERRIDE v2 COLORED LAYER BACKGROUNDS
   ===================================================== */

.k12-layer,
.k12-layer--core,
.k12-layer--growth,
.k12-layer--regulation,
.k12-layer--connection {
  margin-bottom: 3.5rem !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
}

.k12-layer__header {
  text-align: center !important;
  margin-bottom: 2rem !important;
  padding-bottom: 1.25rem !important;
  border-bottom: 0.5px dashed #D5D2CC !important;
  background: transparent !important;
}

.k12-layer__icons {
  font-size: 1.5rem !important;
  display: block !important;
  margin-bottom: 0.5rem !important;
  letter-spacing: 0.5rem !important;
}

.k12-layer__header h2 {
  margin: 0 0 0.25rem 0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  color: #1A1A1A !important;
  letter-spacing: -0.005em !important;
  background: transparent !important;
  text-transform: capitalize !important;
}

.k12-layer__header p {
  margin: 0 !important;
  font-size: 0.8125rem !important;
  letter-spacing: var(--editorial-meta-tracking) !important;
  text-transform: uppercase !important;
  color: #999 !important;
  font-style: normal !important;
  background: transparent !important;
}

.k12-layer .case-card {
  margin-bottom: 1.5rem !important;
  background: transparent !important;
}

/* =====================================================
   NUCLEAR OVERRIDE — KILL ANY REMAINING v2 STYLING
   ===================================================== */

.case-card *,
.dimension-hero *,
.k12-layer *,
.dimension-grid * {
  background-image: none !important;
}

[style*="linear-gradient"],
[style*="gradient"] {
  background-image: none !important;
  background: transparent !important;
}
