html, body { overflow-x: hidden; max-width: 100vw; }

  [data-page="affiliate"] {
    color: var(--color-neutral-100);
    font-family: var(--font-body);
    padding: var(--spacing-xl) 0;
  }

  [data-section="hero"] {
    position: relative;
    padding: var(--spacing-xxl) var(--spacing-lg);
    border-radius: var(--radius-xl);
    background: var(--gradient-brand);
    overflow: hidden;
    box-shadow: var(--shadow-glow);
    margin-bottom: var(--spacing-xxl);
  }
  [data-section="hero"]::before {
    content:'';
    position:absolute;
    inset:0;
    background: radial-gradient(circle at 80% 20%, rgba(255,255,255,.15), transparent 50%);
    pointer-events:none;
  }
  [data-section="hero"] h1 {
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.1;
    margin: 0 0 var(--spacing-md);
    color: #fff;
    position: relative;
  }
  [data-section="hero"] p.lead {
    font-size: 1.15rem;
    max-width: 720px;
    color: rgba(255,255,255,.92);
    margin: 0 0 var(--spacing-lg);
    position: relative;
  }

  .hero-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--spacing-md);
    margin-top: var(--spacing-xl);
    position: relative;
  }
  .hero-stats > div {
    background: rgba(0,0,0,.25);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.15);
    padding: var(--spacing-md);
    border-radius: var(--radius-md);
    text-align: center;
  }
  .hero-stats strong {
    display:block;
    font-size: 1.8rem;
    font-family: var(--font-display);
    color:#fff;
  }
  .hero-stats span {
    font-size: .85rem;
    color: rgba(255,255,255,.8);
    text-transform: uppercase;
    letter-spacing: .08em;
  }

  .cta-row {
    display:flex;
    gap: var(--spacing-md);
    flex-wrap: wrap;
    position: relative;
    margin-top: var(--spacing-lg);
  }

  h2 {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    margin: var(--spacing-xxl) 0 var(--spacing-lg);
    color: var(--color-neutral-100);
  }
  h3 {
    font-family: var(--font-display);
    font-size: 1.25rem;
    margin: 0 0 var(--spacing-sm);
    color: var(--color-neutral-100);
  }

  .feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--spacing-lg);
  }
  .feature-grid article {
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    padding: var(--spacing-lg);
    border-radius: var(--radius-lg);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    position: relative;
    overflow: hidden;
  }
  .feature-grid article::before {
    content:'';
    position:absolute;
    top:0; left:0;
    width: 4px;
    height: 100%;
    background: var(--gradient-brand);
  }
  .feature-grid article:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-card);
    border-color: var(--color-brand-accent);
  }
  .feature-grid h3 { color: var(--color-brand-accent); }
  .feature-grid p { margin: 0; color: var(--color-neutral-300); line-height: 1.6; }

  .timeline {
    position: relative;
    display: grid;
    gap: var(--spacing-lg);
  }
  .timeline article {
    background: var(--color-bg-secondary);
    border-radius: var(--radius-lg);
    padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-lg) calc(var(--spacing-xxl) + var(--spacing-md));
    position: relative;
    border: 1px solid var(--color-border);
  }
  .timeline article::before {
    counter-increment: step;
    content: counter(step);
    position: absolute;
    left: var(--spacing-lg);
    top: var(--spacing-lg);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--gradient-brand);
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.2rem;
    display: grid;
    place-items: center;
    box-shadow: var(--shadow-glow);
  }
  .timeline { counter-reset: step; }
  .timeline p { margin: 0; color: var(--color-neutral-300); line-height: 1.6; }

  .table-responsive {
    overflow-x: auto;
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    background: var(--color-bg-elevated);
  }
  table {
    width: 100%;
    border-collapse: collapse;
    min-width: 520px;
  }
  thead th {
    background: var(--gradient-brand);
    color: #fff;
    text-align: left;
    padding: var(--spacing-md);
    font-family: var(--font-display);
    font-size: .95rem;
    letter-spacing: .04em;
  }
  tbody td {
    padding: var(--spacing-md);
    border-top: 1px solid var(--color-border);
    color: var(--color-neutral-200);
  }
  tbody tr:hover { background: rgba(255,255,255,.03); }

  .channels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--spacing-md);
  }
  .channels > div {
    padding: var(--spacing-lg);
    background: var(--color-bg-secondary);
    border-radius: var(--radius-md);
    border-left: 3px solid var(--color-accent-cyan);
    transition: transform .25s ease;
  }
  .channels > div:hover { transform: translateX(4px); }
  .channels strong {
    display:block;
    color: var(--color-accent-cyan);
    margin-bottom: var(--spacing-xs);
    font-family: var(--font-display);
  }
  .channels p { margin:0; color: var(--color-neutral-300); font-size: .95rem; line-height:1.5; }

  details {
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-md) var(--spacing-lg);
    margin-bottom: var(--spacing-sm);
    transition: border-color .25s ease;
  }
  details[open] { border-color: var(--color-brand-accent); }
  details summary {
    cursor: pointer;
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: var(--color-neutral-100);
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-md);
  }
  details summary::-webkit-details-marker { display:none; }
  details summary::after {
    content: '+';
    font-size: 1.5rem;
    color: var(--color-brand-accent);
    transition: transform .25s ease;
  }
  details[open] summary::after { transform: rotate(45deg); }
  details p {
    margin: var(--spacing-md) 0 0;
    color: var(--color-neutral-300);
    line-height: 1.6;
  }

  .final-cta {
    margin-top: var(--spacing-xxl);
    padding: var(--spacing-xxl) var(--spacing-lg);
    text-align: center;
    background: var(--color-bg-elevated);
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-border);
    position: relative;
    overflow: hidden;
  }
  .final-cta::before {
    content:'';
    position: absolute;
    inset: -1px;
    background: var(--gradient-glow);
    opacity: .15;
    pointer-events: none;
  }
  .final-cta h2 { margin-top: 0; position: relative; }
  .final-cta p { color: var(--color-neutral-300); margin: 0 auto var(--spacing-lg); max-width: 560px; position: relative; }

  @media (max-width: 768px) {
    .timeline article {
      padding: var(--spacing-lg);
      padding-top: calc(var(--spacing-xxl) + var(--spacing-md));
    }
    .timeline article::before { top: var(--spacing-md); left: var(--spacing-md); }
  }