        /* ─── News scroll CTA ─────────────────────────────────────────────────── */
    
    .news-scroll-cta {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      padding: 32px 0 20px;
      cursor: pointer;
      user-select: none;
      margin-top: auto;
    }

    .news-scroll-pill {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #f87f1c;
      transition: color 0.25s;
    }

    .news-scroll-cta:hover .news-scroll-pill,
    .news-scroll-cta:focus-visible .news-scroll-pill {
      color: #f87f1c;
      outline: none;
    }

    .news-live-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #4ade80;
      flex-shrink: 0;
      animation: pulse-live 2.2s ease-in-out infinite;
    }

    @keyframes pulse-live {
      0%, 100% { opacity: 1;   transform: scale(1);    }
      50%       { opacity: 0.4; transform: scale(0.65); }
    }

    .news-scroll-label {
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
    }

    .news-scroll-arrow {
      color: #fb923c;
      transition: color 0.25s;
      animation: bounce-down 1.8s ease-in-out infinite;
    }

    .news-scroll-cta:hover .news-scroll-arrow,
    .news-scroll-cta:focus-visible .news-scroll-arrow {
      color: #fdba74;
    }

    @keyframes bounce-down {
      0%, 100% { transform: translateY(0);   opacity: 0.5; }
      50%       { transform: translateY(6px); opacity: 1;   }
    }
    
    /* ─── News section ────────────────────────────────────────────────────── */
    
    .news-section {
      width: 100%;
      max-width: 860px;
      padding: 48px 24px 64px;
      display: flex;
      flex-direction: column;
      gap: 24px;
    }
    
    .news-heading {
      font-size: 1.4rem;
      font-weight: 800;
      letter-spacing: 0.04em;
      color: var(--text);
      border-bottom: 1px solid var(--border);
      padding-bottom: 14px;
    }
    
    .news-list {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    
    /* Individual news card */
    .news-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 20px 24px;
    }
    
    .news-date {
      font-size: 0.73rem;
      color: var(--muted);
      white-space: nowrap;
    }
    
    /* Footer left group: date + read-more toggle */
    .news-footer-left {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    /* Footer right group: reactions + discord link */
    .news-footer-right {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    /* Card main column — full width */
    .news-card-main {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
    }

    /* Right column: title + excerpt + link (clipped until expanded) */
    .news-card-body {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 8px;
      max-height: 6rem;
      overflow: hidden;
      transition: max-height 0.35s ease;
    }

    /* Fade gradient shown on clamped-but-expandable cards */
    .news-card-body.is-expandable::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 2.5rem;
      background: linear-gradient(transparent, var(--surface));
      pointer-events: none;
      transition: opacity 0.25s;
    }
    .news-card-body.is-expanded::after {
      opacity: 0;
    }
    
    .news-title {
      font-size: 1rem;
      font-weight: 700;
      color: var(--text);
      line-height: 1.3;
    }

    /* Discord custom emojis inline in news body */
    .news-card-body img[alt^=":"][alt$=":"] {
      display: inline;
      width: 1.25em;
      height: 1.25em;
      vertical-align: -0.25em;
      object-fit: contain;
    }

    /* Fix spacing and list markers inside news body */
    .news-card-body p {
      margin-bottom: 0.75em;
    }
    .news-card-body p:last-child {
      margin-bottom: 0;
    }

    .news-card-body ul,
    .news-card-body ol {
      padding-left: 1.5em;
      margin-bottom: 0.75em;
    }

    .news-card-body li {
      margin-bottom: 0.35em;
    }
    .news-card-body li:last-child {
      margin-bottom: 0;
    }

    .news-card-body blockquote {
      padding-left: 0.75em;
      margin: 0.75em 0;
      border-left: 3px solid var(--border);
      color: var(--muted);
    }

    /* Attachment images in news posts */
    .news-images {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 8px;
    }
    .news-attachment {
      max-width: 100%;
      max-height: 280px;
      width: auto;
      border-radius: 6px;
      object-fit: cover;
    }

    /* "View on Discord" link */
    .news-discord-link {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: 0.78rem;
      color: #5865F2;
      text-decoration: none;
      opacity: 0.8;
      transition: opacity 0.2s;
      white-space: nowrap;
    }
    .news-discord-link:hover { opacity: 1; }

    /* Footer row: date/read-more + discord link */
    .news-card-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding-top: 8px;
      border-top: 1px solid rgba(255,255,255,0.06);
    }

    /* Reactions */
    .news-reactions {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      margin-top: 10px;
      padding-bottom: 10px;
    }
    .news-reaction {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 2px 8px;
      border-radius: 20px;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.1);
      font-size: 0.82rem;
      cursor: default;
    }
    .news-reaction-emoji {
      width: 1.15em;
      height: 1.15em;
      vertical-align: -0.15em;
      object-fit: contain;
      font-style: normal;
    }
    /* img variant (custom emoji) — override browser default img sizing */
    img.news-reaction-emoji {
      display: inline;
    }
    .news-reaction-count {
      color: var(--muted);
      font-size: 0.78rem;
    }
    
    .news-excerpt {
      font-size: 0.84rem;
      color: var(--muted);
      line-height: 1.6;
    }
    
    .news-readmore {
      font-size: 0.8rem;
      font-weight: 600;
      color: #c0832a;
      text-decoration: none;
      align-self: flex-start;
      transition: color 0.2s;
    }
    
    .news-readmore:hover { color: #dba050; }

    /* Expand / collapse toggle button injected by JS */
    .news-toggle {
      background: none;
      border: none;
      cursor: pointer;
      font-size: 0.8rem;
      font-weight: 600;
      color: #c0832a;
      padding: 0;
      transition: color 0.2s;
    }
    .news-toggle:hover { color: #dba050; }
    
    @media (max-width: 540px) {
      .news-card-footer {
        flex-direction: column;
        align-items: flex-start;
      }
    }

    .above-fold {
      min-height: 100vh;
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    /* ── Back to top button ──────────────────────────────────────────────── */
    #back-to-top {
      position: fixed;
      bottom: 28px;
      right: 28px;
      z-index: 900;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: rgba(30, 27, 22, 0.85);
      border: 1px solid rgba(255, 255, 255, 0.12);
      color: #f87f1c;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      transition: background 0.2s, color 0.2s, transform 0.2s, opacity 0.2s;
      opacity: 0.75;
      padding: 0;
    }
    #back-to-top[hidden] { display: none; }
    #back-to-top:hover {
      background: rgba(248, 127, 28, 0.18);
      color: #fdba74;
      opacity: 1;
      transform: translateY(-2px);
    }

    /* ── Lightbox ─────────────────────────────────────────────────────── */
    #lightbox {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.88);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 9999;
      cursor: zoom-out;
    }
    #lightbox[hidden] { display: none; }
    #lightbox-img {
      max-height: 90vh;
      max-width: 60vw;
      object-fit: contain;
      border-radius: 6px;
      pointer-events: none;
    }
