/* ═══════════════════════════════════════════════
   EDISON CASE STUDY — Dedicated brand system
   Pink #D62599 · Black #000000 · Teal #009CA6
   Font: Poppins (Semibold / Medium / Regular)
═══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

:root{
  --ed-pink:  #D62599;
  --ed-black: #000000;
  --ed-teal:  #009CA6;
  --ed-teal-tint: #E4F6F7;
  --ed-pink-tint: #FCE9F4;
  --ed-grey-bg: #FAFAFA;
  --ed-border: #ECECEC;
  --ed-text-secondary: #4A4A4A;
}

.edison{
  font-family:'Poppins',sans-serif;
  color:var(--ed-black);
  background:#fefefe;
  font-weight:400;
  line-height:1.7;
}
.edison *{box-sizing:border-box}
.edison img{display:block;max-width:100%;height:auto}

/* ── CONTAINER ── */
.ed-container{max-width:1140px;margin:0 auto;padding:0 2.5rem}
.ed-section{padding:4.5rem 0}
.ed-section.tight{padding:3rem 0}

/* ── HERO ── */
.ed-hero{
  background:#fff;
  padding:4.5rem 0 3rem;
  border-bottom:1px solid var(--ed-border);
}
.ed-hero-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:center;
}
.ed-back{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.8125rem;font-weight:500;color:var(--ed-text-secondary);
  margin-bottom:1.75rem;
}
.ed-back:hover{color:var(--ed-teal)}
.ed-hero-title{
  font-family:'Poppins',sans-serif;
  font-size:clamp(2.5rem,5vw,3.75rem);
  font-weight:600;color:var(--ed-teal);
  line-height:1.05;margin-bottom:.5rem;
}
.ed-hero-sub{
  font-size:1.125rem;font-weight:500;color:var(--ed-black);
  margin-bottom:1.5rem;
}
.ed-hero-desc{
  font-size:.9375rem;color:var(--ed-text-secondary);
  line-height:1.75;max-width:480px;margin-bottom:1.5rem;
}
.ed-hero-meta{display:flex;flex-wrap:wrap;gap:1.75rem}
.ed-meta-label{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#999;margin-bottom:.2rem}
.ed-meta-value{font-size:.9375rem;font-weight:500;color:var(--ed-black)}
.ed-hero-illustration{
  background:var(--ed-teal-tint);
  border-radius:16px;
  padding:2rem;
  display:flex;align-items:center;justify-content:center;
  min-height:280px;
}
.ed-hero-illustration svg{width:100%;height:auto;max-height:280px}

/* ── META STRIP (below hero) ── */
.ed-meta-strip{
  background:var(--ed-teal-tint);
  border-bottom:1px solid var(--ed-border);
  padding:1.5rem 0;
}
.ed-meta-strip-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}
.ed-meta-strip-item{
  padding:0 1.5rem;
  border-left:1px solid rgba(0,156,166,.18);
}
.ed-meta-strip-item:first-child{border-left:none;padding-left:0}

/* ── OVERVIEW + ROLES CARDS ── */
.ed-overview-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:2rem;margin-top:0;
}
.ed-card{
  background:var(--ed-grey-bg);
  border:1px solid var(--ed-border);
  border-radius:14px;
  padding:2rem;
}
.ed-pill{
  display:inline-flex;align-items:center;
  background:var(--ed-teal);color:#fff;
  font-size:.75rem;font-weight:600;letter-spacing:.04em;
  padding:.4rem 1.125rem;border-radius:100px;
  margin-bottom:1.25rem;
}
.ed-card h3{
  font-size:1.0625rem;font-weight:600;color:var(--ed-black);margin-bottom:.875rem;
}
.ed-roles-list{list-style:none}
.ed-roles-list li{
  display:flex;align-items:center;gap:.875rem;
  padding:.75rem 0;border-bottom:1px solid var(--ed-border);
  font-size:.9375rem;font-weight:500;color:var(--ed-black);
}
.ed-roles-list li:last-child{border-bottom:none}
.ed-role-icon{
  width:34px;height:34px;border-radius:8px;
  background:var(--ed-pink-tint);color:var(--ed-pink);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:1rem;
}

/* ── SECTION HEADING (black text, pink border accent) ── */
.ed-h2{
  font-size:clamp(1.5rem,2.5vw,1.875rem);
  font-weight:600;color:var(--ed-black);
  display:inline-block;
  padding-bottom:.625rem;
  border-bottom:3px solid var(--ed-pink);
  margin-bottom:1.5rem;
}
.ed-h3{
  font-size:1.25rem;font-weight:600;color:var(--ed-black);
  margin-bottom:1rem;margin-top:2rem;
}
.ed-h3:first-child{margin-top:0}
.ed-body{font-size:.9375rem;color:var(--ed-text-secondary);line-height:1.8;margin-bottom:1rem}
.ed-body strong{color:var(--ed-black);font-weight:600}

/* ── PROBLEM / SOLUTION LISTS ── */
.ed-check-list{list-style:none;margin-top:.875rem}
.ed-check-list li{
  display:flex;align-items:flex-start;gap:.75rem;
  padding:.625rem 0;font-size:.9375rem;color:var(--ed-text-secondary);line-height:1.65;
}
.ed-check-list li::before{
  content:'•';color:var(--ed-pink);font-weight:700;
  font-size:1.25rem;line-height:1.2;flex-shrink:0;
}

/* ── TOOL BADGES ── */
.ed-tools-row{display:flex;gap:1.5rem;margin-top:2rem;flex-wrap:wrap}
.ed-tool-badge{
  display:flex;align-items:center;gap:.875rem;
  background:var(--ed-grey-bg);border:1px solid var(--ed-border);
  border-radius:12px;padding:1rem 1.5rem;flex:1;min-width:220px;
}
.ed-tool-logo{
  width:44px;height:44px;border-radius:8px;
  background:#fff;border:1px solid var(--ed-border);
  display:flex;align-items:center;justify-content:center;
  font-weight:600;font-size:1.125rem;color:var(--ed-black);
  flex-shrink:0;
}
.ed-tool-text-name{font-size:.9375rem;font-weight:600;color:var(--ed-black);margin-bottom:.125rem}
.ed-tool-text-desc{font-size:.8125rem;color:#888}

/* ── SECTION DIVIDER TITLE (teal, left-aligned) ── */
.ed-divider{
  padding:3.5rem 0 1rem;
}
.ed-divider-pill{
  display:block;
  color:var(--ed-teal);
  font-size:clamp(1.5rem,2.5vw,1.875rem);
  font-weight:600;
  text-align:left;
  letter-spacing:.01em;
}

/* ── FIGURE / IMAGE BLOCKS ── */
.ed-fig{margin:0}
.ed-fig img{
  width:100%;border-radius:10px;
  border:1px solid var(--ed-border);
}
.ed-fig figcaption{
  font-size:.8125rem;color:#888;text-align:center;
  margin-top:.625rem;font-style:italic;
}
.ed-fig-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1.5rem;margin-top:1.5rem;
}

/* ── PERSONA CARD ── */
.ed-persona-card{
  background:var(--ed-grey-bg);
  border:1px solid var(--ed-border);
  border-radius:16px;overflow:hidden;margin-top:1.5rem;
}
.ed-persona-header{
  background:var(--ed-teal);color:#fff;
  padding:1.75rem 2rem;
  display:flex;align-items:center;gap:1.25rem;
}
.ed-persona-photo{
  width:64px;height:64px;border-radius:50%;
  background:rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;font-weight:600;flex-shrink:0;
  border:2px solid rgba(255,255,255,.4);
}
.ed-persona-name{font-size:1.25rem;font-weight:600;margin-bottom:.125rem}
.ed-persona-role{font-size:.875rem;color:rgba(255,255,255,.85);font-weight:500}
.ed-persona-body{padding:1.75rem 2rem}
.ed-persona-grid3{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  gap:1.5rem;
}
.ed-persona-col h4{
  font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ed-pink);margin-bottom:.625rem;
}
.ed-persona-col p, .ed-persona-col li{
  font-size:.875rem;color:var(--ed-text-secondary);line-height:1.65;
}
.ed-persona-col ul{list-style:none}
.ed-persona-col li{padding:.3rem 0;display:flex;gap:.5rem}
.ed-persona-col li::before{content:'—';color:var(--ed-teal);flex-shrink:0}

/* ── APPROACH STEPS (icon + text alternating) ── */
.ed-approach-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:2rem;margin-top:1.5rem;
}
.ed-approach-card{}
.ed-approach-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--ed-pink-tint);color:var(--ed-pink);
  font-weight:600;font-size:.9375rem;margin-bottom:1rem;
}
.ed-approach-card h3{
  font-size:1.0625rem;font-weight:600;color:var(--ed-black);
  margin-bottom:.625rem;
}
.ed-approach-card p{
  font-size:.8438rem;color:var(--ed-text-secondary);
  line-height:1.7;margin-bottom:1.25rem;
}
.ed-approach-card .ed-fig img{border-radius:10px;border:1px solid var(--ed-border)}

/* ── SCREEN GRID (high-fidelity designs) ── */
.ed-screens-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:2rem;margin-top:2rem;
}
.ed-screen-card{}
.ed-screen-card img{
  border-radius:10px;border:1px solid var(--ed-border);
  margin-bottom:.875rem;
}
.ed-screen-label{
  font-size:.9375rem;font-weight:600;color:var(--ed-black);
  text-align:center;
}

/* ── ACCESSIBILITY CHECKLIST ── */
.ed-acc-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.25rem;margin-top:1.75rem;
}
.ed-acc-item{
  display:flex;gap:1rem;align-items:flex-start;
  background:var(--ed-grey-bg);border:1px solid var(--ed-border);
  border-radius:12px;padding:1.5rem;
}
.ed-acc-icon{
  width:40px;height:40px;border-radius:50%;
  background:var(--ed-teal);color:#fff;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:1.125rem;
}
.ed-acc-item h4{font-size:.9375rem;font-weight:600;color:var(--ed-black);margin-bottom:.375rem}
.ed-acc-item p{font-size:.8438rem;color:var(--ed-text-secondary);line-height:1.6}

/* ── CONCLUSION BAND ── */
.ed-conclusion{
  background:var(--ed-black);color:#fff;
  padding:4rem 0;
}
.ed-conclusion h2{
  font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;
  margin-bottom:1.25rem;color:#fff;
}
.ed-conclusion p{
  font-size:.9375rem;color:rgba(255,255,255,.75);
  line-height:1.85;margin-bottom:1rem;max-width:760px;
}
.ed-conclusion p strong{color:#fff}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .ed-hero-grid,.ed-overview-grid,.ed-fig-grid,
  .ed-persona-grid3,.ed-screens-grid,.ed-acc-grid{
    grid-template-columns:1fr;gap:1.5rem;
  }
  .ed-meta-strip-grid{grid-template-columns:1fr 1fr;gap:1rem 1.5rem}
  .ed-meta-strip-item{border-left:none;padding-left:0;padding-right:0}
  .ed-approach-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .ed-container{padding:0 1.5rem}
  .ed-section{padding:3rem 0}
  .ed-persona-header{flex-direction:column;text-align:center}
}
@media(max-width:540px){
  .ed-approach-grid{grid-template-columns:1fr}
}
