/* ==========================================================
   AWORAN EDITORIAL DESIGN SYSTEM — v1.1
   Single-file build (no @import dependencies)
   Light mode default · Dark mode via [data-theme="dark"]
   Font: Outfit · Inter · system-ui stack
   ========================================================== */

/* Google Fonts caricato via <link> in HTML — non serve @import qui */

/* ══════════════════════════════════════════════════════════
   TOKENS — LIGHT MODE (default)
══════════════════════════════════════════════════════════ */
:root {
  /* Backgrounds */
  --bg:           #f6f3ed;
  --bg-alt:       #edeae3;
  --surface:      #e8e4dd;
  --surface-2:    #dedad3;
  --surface-3:    #d4d0c9;

  /* Borders */
  --border:       #c8c4bc;
  --border-light: #d4d0c9;
  --border-faint: #dedad3;

  /* Text */
  --text:         #111110;
  --text-muted:   #4a4a46;
  --text-dim:     #8a8a84;

  /* Accent — dark green readable on cream */
  --accent:       #3d7200;
  --accent-soft:  rgba(61, 114, 0, 0.07);
  --accent-glow:  rgba(61, 114, 0, 0.14);

  /* Fixed */
  --on-dark:      #ffffff;       /* text always on dark bg (hero, quote) */
  --on-dark-muted: rgba(255,255,255,.70);

  /* Typography */
  --font-serif:   'Instrument Serif', Georgia, serif;
  --font-sans:    'Outfit', 'Inter', system-ui, Avenir, Helvetica, Arial, sans-serif;
  --font-mono:    'DM Mono', 'Courier New', monospace;

  /* Layout */
  --container:    1280px;
  --container-sm: 860px;
  --section-pad:  9rem 0;
  --section-pad-sm: 5rem 0;

  /* Radii */
  --radius:       10px;
  --radius-sm:    6px;
  --radius-lg:    16px;

  /* Shadows */
  --shadow:       0 12px 48px rgba(0,0,0,.10);
  --shadow-sm:    0 4px 16px rgba(0,0,0,.07);

  /* Motion */
  --ease:         cubic-bezier(0.16, 1, 0.3, 1);
  --duration:     0.26s;

  /* SVG / infographic tones (CSS-var driven) */
  --svg-line:     #c8c4bc;
  --svg-node:     #dedad3;
  --svg-node-stroke: #c8c4bc;
  --svg-text-dim: #8a8a84;
  --svg-text:     #4a4a46;
  --svg-bad:      rgba(200,40,40,.65);
  --svg-bar-bg:   #dedad3;
  --svg-bar-good-bg: #f0ede6;
}

/* ══════════════════════════════════════════════════════════
   TOKENS — DARK MODE
══════════════════════════════════════════════════════════ */
[data-theme="dark"] {
  --bg:           #0a0a0a;
  --bg-alt:       #111111;
  --surface:      #161616;
  --surface-2:    #1e1e1e;
  --surface-3:    #252525;

  --border:       #2a2a2a;
  --border-light: #1f1f1f;
  --border-faint: #161616;

  --text:         #f0ede8;
  --text-muted:   #9a9a94;
  --text-dim:     #5a5a56;

  --accent:       #c8f060;
  --accent-soft:  rgba(200,240,96,.07);
  --accent-glow:  rgba(200,240,96,.15);

  --shadow:       0 12px 48px rgba(0,0,0,.36);
  --shadow-sm:    0 4px 16px rgba(0,0,0,.24);

  --svg-line:     #2a2a2a;
  --svg-node:     #252525;
  --svg-node-stroke: #3a3a3a;
  --svg-text-dim: #5a5a56;
  --svg-text:     #9a9a94;
  --svg-bad:      rgba(255,68,68,.70);
  --svg-bar-bg:   #2a2a2a;
  --svg-bar-good-bg: #1a1a1a;
}

/* ══════════════════════════════════════════════════════════
   BASE RESET
══════════════════════════════════════════════════════════ */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-weight: 300;
  line-height: 1.7;
  overflow-x: hidden;
  transition: background .35s var(--ease), color .35s var(--ease);
}

img  { max-width: 100%; display: block; height: auto; }
a    { color: inherit; }
ul,ol { list-style: none; }

::selection { background: var(--accent); color: var(--bg); }

::-webkit-scrollbar       { width: 4px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }

/* ── CONTAINER ── */
.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 2.5rem;
}
.container--sm { max-width: var(--container-sm); }

@media (max-width: 768px) { .container { padding: 0 1.25rem; } }

/* ══════════════════════════════════════════════════════════
   TYPOGRAPHY
══════════════════════════════════════════════════════════ */
h1,.h1 {
  font-family: var(--font-serif);       /* Instrument Serif — solo hero e display */
  font-size: clamp(3rem,7vw,6rem);
  line-height: .92;
  letter-spacing: -.02em;
  font-weight: 400;
}
h2,.h2 {
  font-family: var(--font-sans);        /* Outfit — sezioni articolo */
  font-size: clamp(1.9rem,3.8vw,3.2rem);
  line-height: 1.12;
  letter-spacing: -.02em;
  font-weight: 600;
  max-width: 900px;
  margin-bottom: 1.6rem;
  color: var(--text);
}
h3,.h3 {
  font-family: var(--font-mono);        /* DM Mono — label tecnici */
  font-size: .76rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 400;
}
h4,.h4 {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  color: var(--text);
}
p {
  font-family: var(--font-sans);
  font-size: 1.05rem;
  line-height: 1.78;
  color: var(--text-muted);
  max-width: 760px;
  margin-bottom: 1.4rem;
  font-weight: 300;
}
p:last-child { margin-bottom: 0; }
p.lead {
  font-family: var(--font-sans);
  font-size: 1.22rem;
  line-height: 1.7;
  color: var(--text);
  font-weight: 400;
  max-width: 820px;
}
strong { color: var(--text); font-weight: 600; }
em { font-family: var(--font-serif); font-style: italic; }

/* Labels */
.label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.label--accent { color: var(--accent); }

.section-number {
  font-family: var(--font-mono);
  font-size: .64rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 1.6rem;
  display: block;
  user-select: none;
}
.section-number::before {
  content: '';
  display: inline-block;
  width: 20px; height: 1px;
  background: var(--text-dim);
  vertical-align: middle;
  margin-right: .6rem;
}

/* Pull quote */
.pull-quote {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: clamp(1.8rem,3.5vw,3rem);
  line-height: 1.15;
  color: var(--text);
  border-left: 3px solid var(--accent);
  padding-left: 2rem;
  margin: 3rem 0;
}

/* Immersive blockquote — always on dark bg */
blockquote.immersive {
  font-family: var(--font-serif);
  font-size: clamp(2.5rem,5vw,4.5rem);
  line-height: 1.05;
  font-weight: 400;
  color: var(--on-dark);
  max-width: 1000px;
  position: relative;
}
blockquote.immersive::before {
  content: '\201C';
  font-family: var(--font-serif);
  font-size: 10rem;
  line-height: 0;
  color: var(--on-dark);
  opacity: .08;
  position: absolute;
  top: 4rem; left: -2rem;
}

/* Code */
code {
  font-family: var(--font-mono);
  font-size: .88em;
  color: var(--accent);
  background: var(--accent-soft);
  padding: .15em .4em;
  border-radius: 3px;
}
pre {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 2.2rem;
  overflow-x: auto;
  margin: 3rem 0;
  box-shadow: var(--shadow);
}
[data-theme="dark"] pre { background: #0c0c0c; }
pre code { background: none; padding: 0; font-size: .84rem; color: var(--text-muted); line-height: 1.85; }

@media (max-width: 768px) {
  blockquote.immersive::before { font-size: 6rem; top: 3rem; left: -.5rem; }
}

/* ══════════════════════════════════════════════════════════
   LAYOUT — NAV
══════════════════════════════════════════════════════════ */
.ed-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
  z-index: 1000;
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  border-bottom: 1px solid var(--border-faint);
  transition: background var(--duration) var(--ease),
              border-color var(--duration) var(--ease);
}
/* Light nav bg */
.ed-nav { background: rgba(246,243,237,.82); }
[data-theme="dark"] .ed-nav { background: rgba(8,8,8,.78); }

.ed-nav__logo {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--accent);
  transition: opacity var(--duration);
}
.ed-nav__logo:hover { opacity: .7; }

.ed-nav__links {
  display: flex;
  gap: 2.2rem;
  align-items: center;
}
.ed-nav__links a {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-decoration: none;
  transition: color var(--duration);
}
.ed-nav__links a:hover { color: var(--text); }

/* Theme toggle button */
.ed-theme-toggle {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  transition: background var(--duration), border-color var(--duration),
              color var(--duration), transform var(--duration);
  flex-shrink: 0;
  margin-left: 1rem;
}
.ed-theme-toggle:hover {
  background: var(--surface-2);
  color: var(--text);
  transform: rotate(20deg);
}

@media (max-width: 768px) {
  .ed-nav { padding: 0 1.25rem; }
  .ed-nav__links li:not(:last-child) { display: none; }
}

/* ══════════════════════════════════════════════════════════
   LAYOUT — HERO
══════════════════════════════════════════════════════════ */
.ed-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.ed-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.ed-hero__bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1.05);
  transition: transform 8s ease;
}
.ed-hero:hover .ed-hero__bg img { transform: scale(1.0); }

.ed-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.60) 40%,
    rgba(0,0,0,.22) 100%
  );
}
.ed-hero__content {
  position: relative;
  z-index: 2;
  padding-bottom: 6.5rem;
  width: 100%;
}
.ed-hero__kicker {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #c8f060;   /* always lime on dark overlay */
  margin-bottom: 1.6rem;
  display: flex;
  align-items: center;
  gap: .8rem;
}
.ed-hero__kicker::before {
  content: '';
  display: block;
  width: 24px; height: 2px;
  background: #c8f060;
}
.ed-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(4.5rem,12vw,10rem);
  line-height: .86;
  margin: 0 0 2.2rem;
  max-width: 1100px;
  letter-spacing: -.02em;
  font-weight: 400;
  color: #ffffff;   /* always white on dark overlay */
}
.ed-hero__subtitle {
  font-size: 1.18rem;
  line-height: 1.75;
  color: var(--on-dark-muted);
  max-width: 680px;
  font-weight: 300;
}
.ed-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem 1.4rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.1);
}
.ed-hero__meta span {
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
}
.ed-hero__meta span:not(:last-child)::after {
  content: '/';
  margin-left: 1.4rem;
  opacity: .3;
}
/* Autore — leggermente più visibile */
.ed-hero__meta .meta-author {
  color: rgba(255,255,255,.78);
  font-weight: 400;
}
/* Data pubblicazione — più tenue */
.ed-hero__meta .meta-date {
  color: rgba(255,255,255,.42);
  font-style: normal;
}

/* ══════════════════════════════════════════════════════════
   LAYOUT — SECTIONS & GRIDS
══════════════════════════════════════════════════════════ */
.ed-section        { padding: var(--section-pad); }
.ed-section--sm    { padding: var(--section-pad-sm); }
.ed-section--dark  {
  background: var(--bg-alt);
  border-top: 1px solid var(--border-faint);
  border-bottom: 1px solid var(--border-faint);
}
.ed-section--surface { background: var(--surface); }

/* Grids */
.ed-grid          { display: grid; grid-template-columns: 1.15fr .85fr; gap: 6rem; align-items: center; }
.ed-grid--reverse { grid-template-columns: .85fr 1.15fr; }
.ed-grid--equal   { grid-template-columns: 1fr 1fr; }
.ed-grid--thirds  { grid-template-columns: 1fr 1fr 1fr; gap: 2rem; }

@media (max-width: 1024px) {
  .ed-grid,
  .ed-grid--reverse,
  .ed-grid--equal   { grid-template-columns: 1fr; gap: 3.5rem; }
  .ed-grid--reverse .ed-grid__image { order: -1; }
  .ed-grid--thirds  { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .ed-grid--thirds { grid-template-columns: 1fr; }
}

/* Images */
.ed-image       { width: 100%; border-radius: var(--radius); object-fit: cover; box-shadow: var(--shadow); display: block; }
.ed-image--square { aspect-ratio: 1/1; object-fit: cover; }
.ed-image--tall   { aspect-ratio: 3/4;  object-fit: cover; }

/* Divider */
.ed-divider { height: 1px; background: var(--border-faint); margin: 0; }
.ed-divider--accent { height: 2px; background: linear-gradient(to right, var(--accent), transparent 60%); }

/* Spacer */
.ed-spacer--xs { display:block; height:1.5rem; }
.ed-spacer--sm { display:block; height:3rem; }
.ed-spacer--md { display:block; height:5rem; }
.ed-spacer--lg { display:block; height:8rem; }

/* ══════════════════════════════════════════════════════════
   LAYOUT — FOOTER
══════════════════════════════════════════════════════════ */
.ed-footer { border-top: 1px solid var(--border); padding: 3.5rem 0; }
.ed-footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ed-footer__text,
.ed-footer__link {
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-dim);
  text-decoration: none;
  transition: color var(--duration);
}
.ed-footer__link:hover { color: var(--text-muted); }

@media (max-width: 768px) {
  .ed-section { padding: 5rem 0; }
  .ed-hero__content { padding-bottom: 4rem; }
}

/* ══════════════════════════════════════════════════════════
   COMPONENTS — STATS
══════════════════════════════════════════════════════════ */
.ed-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 1px;
  margin-top: 4rem;
  background: var(--border-faint);
  border: 1px solid var(--border-faint);
  border-radius: var(--radius);
  overflow: hidden;
}
.ed-stat {
  background: var(--surface);
  padding: 2.5rem 2rem;
  transition: background var(--duration);
}
.ed-stat:hover { background: var(--surface-2); }
.ed-stat__number {
  font-family: var(--font-sans);
  font-size: clamp(2.8rem,6vw,4.5rem);
  line-height: 1;
  color: var(--accent);
  margin-bottom: .6rem;
  display: block;
}
.ed-stat__label {
  font-family: var(--font-mono);
  font-size: .64rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--text-dim);
  display: block;
}

/* ══════════════════════════════════════════════════════════
   COMPONENTS — FLOW STEPS
══════════════════════════════════════════════════════════ */
.ed-flow { margin-top: 4rem; border-top: 1px solid var(--border-faint); }
.ed-flow__step {
  display: flex;
  gap: 2rem;
  padding: 2.2rem 0;
  border-bottom: 1px solid var(--border-faint);
  transition: padding-left var(--duration) var(--ease);
}
.ed-flow__step:hover { padding-left: .5rem; }
.ed-flow__num {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--accent-soft);
  border: 1px solid rgba(61,114,0,.18);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-family: var(--font-mono);
  font-size: .68rem;
  color: var(--accent);
  transition: background var(--duration), border-color var(--duration);
}
[data-theme="dark"] .ed-flow__num { border-color: rgba(200,240,96,.18); }
.ed-flow__step:hover .ed-flow__num {
  background: var(--accent-soft);
  filter: brightness(1.2);
}
.ed-flow__title {
  font-family: var(--font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--text);
  margin-bottom: .7rem;
  display: block;
  font-weight: 500;
}
.ed-flow__body { color: var(--text-muted); font-size: 1rem; line-height: 1.7; margin: 0; max-width: none; }

/* ══════════════════════════════════════════════════════════
   COMPONENTS — QUOTE SECTION (always dark)
══════════════════════════════════════════════════════════ */
.ed-quote-section {
  background: #070707;
  border-top: 1px solid #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
  padding: 10rem 0;
  overflow: hidden;
  position: relative;
}
.ed-quote-section::before {
  content: '\201C';
  font-family: var(--font-serif);
  font-size: 28rem;
  line-height: 1;
  color: #c8f060;
  opacity: .04;
  position: absolute;
  top: -4rem; left: -2rem;
  pointer-events: none;
  user-select: none;
}
.ed-quote-section blockquote {
  font-family: var(--font-serif);
  font-size: clamp(2.2rem,5vw,4.2rem);
  line-height: 1.1;
  font-weight: 400;
  color: #ffffff;
  max-width: 1000px;
  position: relative;
  z-index: 1;
}
.ed-quote-section blockquote footer {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-top: 2.5rem;
  border-top: none;
  padding: 0;
}
@media (max-width: 768px) {
  .ed-quote-section { padding: 6rem 0; }
  .ed-quote-section::before { font-size: 14rem; top: -2rem; left: -1rem; }
}

/* ══════════════════════════════════════════════════════════
   COMPONENTS — CALLOUT
══════════════════════════════════════════════════════════ */
.ed-callout {
  border-left: 3px solid var(--accent);
  background: var(--accent-soft);
  padding: 1.8rem 2.2rem;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  margin: 3rem 0;
}
.ed-callout__title {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .66rem;
  color: var(--accent);
  margin-bottom: .9rem;
  display: block;
  font-weight: 500;
}
.ed-callout p { margin: 0; font-size: 1rem; color: var(--text-muted); }

/* ══════════════════════════════════════════════════════════
   COMPONENTS — TAGS
══════════════════════════════════════════════════════════ */
.ed-tag {
  display: inline-flex; align-items: center;
  font-family: var(--font-mono);
  font-size: .6rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--text-dim);
  border: 1px solid var(--border);
  border-radius: 99px;
  padding: .3em .9em;
  transition: border-color var(--duration), color var(--duration);
}
.ed-tag:hover { border-color: var(--text-dim); color: var(--text-muted); }
.ed-tag--accent { color: var(--accent); border-color: var(--accent-soft); background: var(--accent-soft); }

/* ══════════════════════════════════════════════════════════
   COMPONENTS — TIMELINE
══════════════════════════════════════════════════════════ */
.ed-timeline {
  position: relative;
  display: flex; flex-direction: column;
  gap: 0;
  margin-top: 4rem;
  padding-left: 3rem;
}
.ed-timeline::before {
  content: '';
  position: absolute;
  left: 11px; top: 12px; bottom: 12px;
  width: 1px;
  background: var(--border);
}
.ed-timeline__item {
  position: relative;
  padding: 1.8rem 0 1.8rem 2rem;
  border-bottom: 1px solid var(--border-faint);
}
.ed-timeline__item:last-child { border-bottom: none; }
.ed-timeline__dot {
  position: absolute;
  left: -3rem; top: 2.2rem;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--surface-2);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  transition: background var(--duration), border-color var(--duration);
}
.ed-timeline__item--active .ed-timeline__dot {
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 16px var(--accent-glow);
}
.ed-timeline__year {
  font-family: var(--font-mono);
  font-size: .62rem; letter-spacing: .12em;
  color: var(--text-dim);
  margin-bottom: .4rem; display: block;
}
.ed-timeline__title {
  font-family: var(--font-sans);
  font-size: 1.05rem; font-weight: 500;
  color: var(--text); margin-bottom: .5rem;
}
.ed-timeline__item--active .ed-timeline__title { color: var(--accent); }
.ed-timeline__desc {
  font-size: .95rem; color: var(--text-muted);
  line-height: 1.65; max-width: none; margin: 0;
}
@media (max-width: 768px) { .ed-timeline { padding-left: 2rem; } }

/* ══════════════════════════════════════════════════════════
   COMPONENTS — TIER CARDS
══════════════════════════════════════════════════════════ */
.ed-tier-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
  gap: 1.5rem;
  margin-top: 3rem;
}
.ed-tier {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 2.4rem 2rem;
  transition: border-color var(--duration), transform var(--duration);
}
.ed-tier:hover { border-color: var(--accent-soft); transform: translateY(-3px); }
.ed-tier--featured {
  border-color: var(--accent-soft);
  background: linear-gradient(135deg, var(--surface) 0%, var(--accent-soft) 100%);
}
.ed-tier__icon { font-size: 1.5rem; margin-bottom: 1.2rem; }
.ed-tier__name {
  font-family: var(--font-mono);
  font-size: .7rem; text-transform: uppercase;
  letter-spacing: .1em; color: var(--text-muted);
  margin-bottom: .8rem; display: block;
}
.ed-tier__title { font-family: var(--font-sans); font-weight: 600; font-size: 1.6rem; color: var(--text); margin-bottom: 1rem; line-height: 1.2; }
.ed-tier__desc { font-size: .95rem; color: var(--text-muted); line-height: 1.7; margin: 0; max-width: none; }
@media (max-width: 768px) { .ed-tier-grid { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════
   COMPONENTS — INFOGRAPHIC WRAPPER
══════════════════════════════════════════════════════════ */
.ed-infographic {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 3rem 2.5rem;
  margin-top: 4rem;
  overflow: hidden;
}
.ed-infographic__title {
  font-family: var(--font-mono);
  font-size: .64rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-dim); margin-bottom: 2.5rem;
}
@media (max-width: 480px) { .ed-stats { grid-template-columns: 1fr; gap: 0; } }
