:root{
    --bg: #0e0e11;
    --panel: #12121a;
    --panel2: #141421;
    --text: #ededf2;
    --muted: #a1a1b3;
    --muted2: #7f7f94;
    --line: rgba(255,255,255,0.10);
    --line2: rgba(255,255,255,0.06);
    --accent: #6d5ae6;
    --accent2: #9a8cff;
  
    --max: 1120px;
    --pad: 28px;
    --r-lg: 22px;
    --r-md: 18px;
  }
  
  *{ box-sizing: border-box; }
  
  html, body{
    height: 100%;
  }
  
  body{
    margin: 0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    color: var(--text);
  }
  
  .cs-container{
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 var(--pad);
  }
  
  .cs-topbar{
    border-bottom: 1px solid var(--line2);
    padding: 18px 0;
  }
  
  .cs-back{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--muted);
    text-decoration: none;
    font-size: 15px;
  }
  .cs-back:hover{ color: var(--text); }
  .cs-back__icon{
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid var(--line2);
    background: rgba(255,255,255,0.02);
  }
  
  .cs-hero{
    padding: 54px 0 18px;
    border-bottom: 1px solid var(--line2);
  }
  
  .cs-title{
    font-size: clamp(48px, 6vw, 80px);
    line-height: 0.98;
    letter-spacing: -0.03em;
    margin: 0 0 14px;
  }
  
  .cs-subtitle{
    font-size: clamp(20px, 2.4vw, 30px);
    margin: 0 0 34px;
    color: var(--accent2);
    font-weight: 500;
  }
  
  .cs-meta{
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 34px;
    margin-top: 18px;
    padding-bottom: 18px;
  }
  
  .cs-meta__label{
    font-size: 12px;
    letter-spacing: 0.12em;
    color: var(--muted2);
    margin-bottom: 10px;
  }
  
  .cs-meta__value{
    font-size: 18px;
    color: var(--text);
  }
  
  .cs-heroMedia{
    margin: 26px 0 0;
    border-radius: var(--r-lg);
    overflow: hidden;
    border: 1px solid var(--line2);
    background: rgba(255,255,255,0.02);
    box-shadow:
      0 0 0 1px rgba(154,140,255,0.06) inset,
      0 18px 60px rgba(0,0,0,0.55);
  }
  
  .cs-heroMedia img{
    display: block;
    width: 100%;
    height: 340px;
    object-fit: cover;
  }
  
  .cs-section{
    border-bottom: 1px solid var(--line2);
    padding: 80px 0;
  }
  
  .cs-section--last{
    border-bottom: 0;
    padding-bottom: 110px;
  }
  
  .cs-block{
    background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    border: 1px solid var(--line2);
    border-radius: var(--r-lg);
    padding: 56px;
    box-shadow: 0 20px 70px rgba(0,0,0,0.45);
  }
  
  .cs-block--tight{
    padding: 52px;
  }
  
  .cs-h2{
    margin: 0 0 18px;
    font-size: 32px;
    letter-spacing: -0.02em;
  }
  
  .cs-h2--big{
    font-size: 40px;
    margin-bottom: 18px;
  }
  
  .cs-h2--bigTitle{
    font-size: 46px;
    margin-bottom: 28px;
  }
  
  .cs-body{
    margin: 0;
    font-size: 20px;
    color: var(--muted);
    max-width: 78ch;
    line-height: 1.75;
  }
  
  /* Problem/Solution split with purple vertical rule */
  .cs-split{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    align-items: stretch;
  }
  
  .cs-splitCard{
    position: relative;
    background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    border: 1px solid var(--line2);
    border-radius: var(--r-lg);
    padding: 54px 56px 54px 56px;
    box-shadow: 0 20px 70px rgba(0,0,0,0.45);
  }
  
  .cs-splitCard__bar{
    position: absolute;
    left: 26px;
    top: 52px;
    bottom: 52px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--accent2), var(--accent));
    opacity: 0.95;
  }
  
  /* Results cards 2x2 */
  .cs-impactGrid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 26px;
  }
  
  .cs-impactCard{
    background: rgba(0,0,0,0.22);
    border: 1px solid rgba(154,140,255,0.20);
    border-radius: var(--r-md);
    padding: 22px 22px;
    box-shadow:
      0 0 0 1px rgba(255,255,255,0.04) inset,
      0 16px 50px rgba(0,0,0,0.45);
  }
  
  .cs-impactCard__row{
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }
  
  .cs-impactCard__icon{
    font-size: 18px;
    line-height: 1;
    margin-top: 4px;
    opacity: 0.95;
  }
  
  .cs-impactCard__text{
    margin: 0;
    color: var(--muted);
    font-size: 20px;
    line-height: 1.6;
  }
  
  /* Key learnings bullets (purple dots) */
  .cs-bullets{
    list-style: none;
    margin: 26px 0 0;
    padding: 0;
    display: grid;
    gap: 24px;
  }
  
  .cs-bullets li{
    position: relative;
    padding-left: 26px;
    color: var(--muted);
    font-size: 20px;
    line-height: 1.75;
    max-width: 88ch;
  }
  
  .cs-bullets li::before{
    content: "";
    position: absolute;
    left: 6px;
    top: 0.75em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--accent2);
    box-shadow: 0 0 18px rgba(154,140,255,0.35);
  }
  
  /* CTA */
  .cs-cta{
    margin-top: 64px;
    text-align: center;
  }
  
  .cs-cta__title{
    margin: 0 0 18px;
    font-size: 44px;
    letter-spacing: -0.02em;
  }
  
  .cs-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    min-width: 260px;
    border-radius: 14px;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(180deg, #7b69ff, #5f4fe0);
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: 0 18px 50px rgba(109,90,230,0.35);
  }
  
  .cs-button:hover{
    filter: brightness(1.06);
  }
  
  @media (max-width: 980px){
    .cs-meta{
      grid-template-columns: 1fr;
      gap: 18px;
    }
    .cs-split{
      grid-template-columns: 1fr;
    }
    .cs-impactGrid{
      grid-template-columns: 1fr;
    }
    .cs-block, .cs-splitCard{
      padding: 34px;
    }
    .cs-splitCard__bar{
      left: 18px;
      top: 34px;
      bottom: 34px;
    }
  }

  .cs-splitCard--image {
    padding: 0; /* remove padding so image can fill */
    overflow: hidden; /* respect rounded corners */
  }
  
  .cs-splitCard__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  .cs-splitCard ul {
    margin-top: 18px;
    padding-left: 22px;
  }
  
  .cs-splitCard li {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 10px;
  }

.cs-list ul {
    margin-top: 18px;
    padding-left: 22px; 
}

.cs-list li {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 10px;
}