
    /* Reset and base styles - scoped within the container */
    .hworks-eurobike-2026 * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    .hworks-eurobike-2026 {
      max-width: 1280px;
      margin: 0 auto;
      padding: 2rem 1.5rem;
      font-family: system-ui, -apple-system, 'Segoe UI', 'Inter', 'Helvetica Neue', sans-serif;
      line-height: 1.5;
      color: #1a2c3e;
      background: #ffffff;
      border-radius: 2rem;
      box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.05);
    }

    /* Typography */
    .hworks-eurobike-2026 h1 {
      font-size: clamp(2rem, 5vw, 3.2rem);
      font-weight: 700;
      letter-spacing: -0.02em;
      background: linear-gradient(135deg, #1a2c3e 0%, #2c5282 100%);
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      margin-bottom: 1rem;
      line-height: 1.2;
    }

    .hworks-eurobike-2026 .subhead {
      font-size: 1.2rem;
      color: #4a627a;
      border-left: 4px solid #e67e22;
      padding-left: 1rem;
      margin-bottom: 2rem;
      font-weight: 450;
    }

    .hworks-eurobike-2026 h2 {
      font-size: 1.8rem;
      font-weight: 600;
      letter-spacing: -0.01em;
      margin: 2rem 0 1rem;
      color: #1e3a5f;
      border-bottom: 2px solid #eef2f5;
      padding-bottom: 0.5rem;
    }

    .hworks-eurobike-2026 h3 {
      font-size: 1.4rem;
      font-weight: 600;
      margin: 1.5rem 0 0.75rem;
      color: #2c3e50;
    }

    .hworks-eurobike-2026 p {
      margin-bottom: 1.2rem;
      color: #2d3e50;
      font-weight: 400;
    }

    .highlight {
      background: #fef5e8;
      padding: 0.2rem 0.4rem;
      border-radius: 12px;
      font-weight: 500;
      color: #c0392b;
    }

    /* badge / date location */
    .event-badge {
      display: inline-flex;
      flex-wrap: wrap;
      gap: 0.8rem;
      margin-bottom: 2rem;
    }

    .badge {
      background: #f0f4f9;
      padding: 0.4rem 1rem;
      border-radius: 40px;
      font-size: 0.85rem;
      font-weight: 500;
      color: #1e4663;
    }

    .badge-accent {
      background: #e67e22;
      color: white;
    }

    /* product grid */
    .product-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
      gap: 0.8rem;
      margin: 1.5rem 0 1rem;
    }

    .product-item {
      background: #f8fafc;
      border-radius: 20px;
      padding: 0.6rem 0.4rem;
      text-align: center;
      font-family: 'SF Mono', 'JetBrains Mono', monospace;
      font-size: 0.85rem;
      font-weight: 500;
      color: #1f4a6e;
      transition: all 0.2s ease;
      border: 1px solid #e9edf2;
      letter-spacing: 0.3px;
    }

    .product-item:hover {
      background: #ffffff;
      border-color: #e67e22;
      transform: translateY(-2px);
      box-shadow: 0 6px 12px -8px rgba(0, 0, 0, 0.1);
    }

    /* invitation card */
    .invitation-card {
      background: linear-gradient(145deg, #fefaf5 0%, #ffffff 100%);
      border-radius: 2rem;
      padding: 2rem;
      margin: 2rem 0 1.5rem;
      border: 1px solid #ffe6d5;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.02);
    }

    .booth-placeholder {
      background: #1e2f3f;
      color: #f8c471;
      font-family: monospace;
      padding: 0.3rem 0.8rem;
      border-radius: 40px;
      font-size: 0.9rem;
      display: inline-block;
      margin: 0.5rem 0;
    }

    .btn-ghost {
      display: inline-block;
      margin-top: 1rem;
      padding: 0.6rem 1.8rem;
      border-radius: 40px;
      background: transparent;
      border: 1.5px solid #e67e22;
      color: #e67e22;
      font-weight: 600;
      text-decoration: none;
      transition: 0.2s;
    }

    .btn-ghost:hover {
      background: #e67e22;
      color: white;
    }

    /* main river line */
    .river-note {
      margin-top: 2rem;
      padding-top: 1rem;
      font-style: italic;
      border-top: 1px dashed #dce5ec;
      font-size: 0.95rem;
      color: #5f7f9c;
      text-align: center;
    }

    /* responsive */
    @media (max-width: 640px) {
      .hworks-eurobike-2026 {
        padding: 1.5rem;
      }
      .invitation-card {
        padding: 1.2rem;
      }
      .product-grid {
        grid-template-columns: repeat(auto-fill, minmax(95px, 1fr));
        gap: 0.6rem;
      }
    }

    /* extra polish */
    .hworks-eurobike-2026 strong {
      color: #c4450c;
    }
  