    /* Brand + complimentary palette (unchanged from site) */
    :root {
      --brand: #922C35;
      /* primary accent (requested) */
      --brand-soft: #F7ECEE;
      /* very light complimentary background */
      --brand-dark: #6E2027;
      /* deeper shade for emphasis */
      --ink: #222;
      --muted: #6b7280;
      --card: #ffffff;
      --bg: #FBFAFC;
      --line: #e6e6e6;
      --chip: #f3f4f6;
    }
    
    /* Base */
    body {
      margin: 0;
      background: var(--bg);
    }
    
    .wrap {
      font-family: Arial, Helvetica, sans-serif;
      color: var(--ink);
      line-height: 1.55;
      font-size: 15px;
      padding: 16px;
    }
    
    .heading {
      text-align: center;
      margin-bottom: 10px;
    }
    
    .heading h1 {
      margin: 10px 0 6px;
      font-size: 30px;
      color: var(--brand);
    }
    
    .heading h2 {
      margin: 0;
      font-size: 18px;
      color: var(--muted);
      font-weight: 600;
    }
    
    .note {
      text-align: center;
      font-size: 12px;
      color: var(--muted);
      margin: 6px 0 18px;
    }
    
    /* Details/summary (accordions) */
    details {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: 12px;
      margin: 12px 0;
      overflow: hidden;
    }
    
    summary {
      list-style: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 14px 16px;
      font-weight: 800;
      user-select: none;
      color: var(--brand);
      background: linear-gradient(0deg, #fff, #fff);
    }
    
    summary::-webkit-details-marker {
      display: none;
    }
    
    summary::before {
      content: "";
      width: 12px;
      height: 12px;
      display: inline-block;
      border-right: 3px solid var(--brand);
      border-bottom: 3px solid var(--brand);
      transform: rotate(45deg);
      transition: transform .2s ease;
      margin-right: 6px;
    }
    
    details[open] > summary::before {
      transform: rotate(225deg);
    }
    
    /* Sections + tracks */
    .section {
      padding: 12px 16px 16px;
    }
    
    .track-summary {
      list-style: none;
      padding: 14px 16px;
      font-weight: 900;
      color: #fff;
      background: var(--brand) !important;
      border-top: 1px solid var(--brand);
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 16px !important;
      letter-spacing: .2px;
    }
    
    .track-summary::before {
      border-right: 3px solid #fff;
        border-bottom: 3px solid #fff;
    }
    
    .track-summary .tag {
      display: inline-block;
      background: #fff;
      color: var(--brand);
      padding: 3px 10px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 900;
    }
    
    .track-room {
      font-size: 12px;
      margin-left: auto;
      opacity: .95;
    }
    
    .track-wrap {
      background: var(--brand-soft);
    }
    
    /* Sessions */
    .session {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 10px;
      padding: 12px 14px;
      margin: 10px 0;
    }
    
    .session h4 {
      margin: 0 0 6px;
      font-size: 16px;
      color: #111;
      text-transform: uppercase;
    }
    
    .meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 2px 0 8px;
    }
    
    .meta .time {
      font-weight: 800;
      padding: 4px 9px;
      border-radius: 8px;
      background: #fff;
      border: 2px solid var(--brand);
      color: var(--brand);
    }
    
    .meta .room {
      font-weight: 800;
      padding: 4px 9px;
      border-radius: 8px;
      background: #fafafa;
      border: 1px solid #ddd;
      color: #0f172a;
    }
    
    .label {
      font-size: 12px;
      font-weight: 800;
      color: var(--brand-dark);
      margin: 8px 0 2px;
      text-transform: uppercase;
      letter-spacing: .05em;
    }
    
    .synopsis {
      margin: 6px 0;
      font-style: italic;
      color: #2b2b2b;
    }
    
    .speakers {
      margin: 0 0 6px;
      color: #666;
    }
    
    .hr {
      height: 1px;
      background: var(--line);
      margin: 14px 0;
      border: 0;
    }
    
    /* Chips */
    .chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 8px 0 10px;
    }
    
    .chip {
      font-size: 12px;
      padding: 4px 8px;
      border-radius: 999px;
      background: var(--chip);
      border: 1px solid #e5e7eb;
      color: #374151;
    }
    
    /* Make “Day” headings feel big */
    .day summary {
      background: linear-gradient(0deg, #fff, #fff);
      border-bottom: 1px solid var(--line);
      font-size: 18px;
    }
    
    h3 {
      margin: 0;
      margin-bottom: 15px;
      font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
      text-transform: uppercase;
      text-align: center;
    }
    
    .author {
      color: #034e99;
    }