.newfly-categories { background: var(--nf-white, #fcfdf9); }
.newfly-categories .newfly-eyebrow { display: flex; align-items: center; gap: 18px; color: var(--nf-ink, #0b0d0c); }
.newfly-categories .newfly-eyebrow::before { content: ""; flex: 0 0 6px; width: 6px; height: 18px; margin-left: 4px; background: var(--nf-accent, #c8f500); box-shadow: 8px 0 0 var(--nf-accent, #c8f500); transform: skew(-20deg); }
.newfly-category-actions { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.newfly-categories .newfly-text-link { min-height: 44px; box-sizing: border-box; padding: 10px 0; border-bottom: 2px solid var(--nf-ink, #0b0d0c); color: var(--nf-ink, #0b0d0c); background: transparent; transition: border-color var(--nf-motion); }
.newfly-categories .newfly-text-link svg { width: 22px; height: 22px; color: inherit; fill: none; stroke: currentColor; stroke-width: 1.8; }
.newfly-categories .newfly-text-link:hover { border-color: var(--nf-accent, #c8f500); }
.newfly-category-controls { display: flex; gap: 8px; }
.newfly-category-controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--nf-line, #d8dbd6); border-radius: 0; background: transparent; color: var(--nf-ink, #0b0d0c); cursor: pointer; transition: color var(--nf-motion), background var(--nf-motion); }
.newfly-category-controls button:disabled { border-color: var(--nf-line, #d8dbd6); background: var(--nf-paper, #f6f7f4); color: #969d91; cursor: default; }
.newfly-category-controls button:not(:disabled):hover { background: var(--nf-ink, #0b0d0c); color: var(--nf-accent, #c8f500); }
.newfly-category-controls svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.newfly-category-prev svg { transform: rotate(180deg); }
.newfly-category-grid.newfly-category-track { display: flex; gap: 16px; margin: 0; padding: 0 0 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--nf-accent, #c8f500) var(--nf-paper, #f6f7f4); overscroll-behavior-x: contain; }
.newfly-category-track > .newfly-category-card { flex: 0 0 calc((100% - 64px) / 5); min-width: 0; box-sizing: border-box; align-self: stretch; border: 1px solid var(--nf-line, #d8dbd6); scroll-snap-align: start; transition: border-color var(--nf-motion); }
.newfly-category-track > .newfly-category-card:hover, .newfly-category-track > .newfly-category-card:focus-visible { border-color: var(--nf-accent, #c8f500); }
.newfly-category-track .newfly-category-card__meta { grid-template-columns: minmax(0, 1fr) 32px; min-height: 72px; gap: 12px; padding: 14px 12px; color: var(--nf-ink, #0b0d0c); background: var(--nf-paper, #f6f7f4); }
.newfly-category-track .newfly-category-card__meta strong { font-size: 19px; line-height: 1.2; letter-spacing: 0; overflow-wrap: anywhere; }
.newfly-category-track .newfly-category-card__meta svg { box-sizing: border-box; width: 32px; height: 32px; padding: 7px; color: var(--nf-accent, #c8f500); background: var(--nf-ink, #0b0d0c); transition: color var(--nf-motion), background var(--nf-motion); }
.newfly-category-track .newfly-category-card:hover .newfly-category-card__meta svg, .newfly-category-track .newfly-category-card:focus-visible .newfly-category-card__meta svg { color: var(--nf-accent, #c8f500); background: var(--nf-ink, #0b0d0c); transform: none; }
.newfly-categories :is(.newfly-text-link, .newfly-category-controls button, .newfly-category-track, .newfly-category-card):focus-visible { outline: 2px solid var(--nf-ink, #0b0d0c); outline-offset: -2px; box-shadow: none; }
.newfly-category-controls button:focus-visible, .newfly-category-track:focus-visible, .newfly-category-card:focus-visible, .newfly-campaign-poster:focus-visible { outline: 3px solid #52800d; outline-offset: -3px; }
.newfly-campaign-section { padding: 32px 0 64px; background: #fff; }
.newfly-campaign-poster { display: block; }
.newfly-campaign-poster img { display: block; width: 100%; height: auto; }
.newfly-campaign-detail { width: var(--nf-shell, 90%); max-width: 960px; margin: 0 auto; padding: 70px 0 80px; }
.newfly-campaign-detail h1 { margin: 0 0 32px; font-size: 42px; line-height: 1.15; overflow-wrap: anywhere; letter-spacing: 0; }
.newfly-campaign-detail__content { font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
.newfly-campaign-detail__content img { max-width: 100%; height: auto; }
.newfly-campaign-detail__content iframe { max-width: 100%; }
.newfly-campaign-detail__content table { display: block; max-width: 100%; overflow-x: auto; }
.newfly-campaign-detail__back { display: inline-flex; align-items: center; gap: 10px; margin-top: 36px; font-size: 15px; }
.newfly-campaign-detail__back svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; transform: rotate(180deg); }
@media (min-width: 768px) and (max-width: 1023px) {
  .newfly-category-track > .newfly-category-card { flex-basis: calc((100% - 32px) / 3); }
}
@media (max-width: 767px) {
  .newfly-category-actions { justify-content: space-between; flex-wrap: wrap; gap: 16px; width: 100%; }
  .newfly-category-track > .newfly-category-card { flex-basis: 82%; }
  .newfly-category-track .newfly-category-card__meta strong { font-size: 23px; }
  .newfly-campaign-section { padding: 16px 0 40px; }
  .newfly-campaign-detail { padding: 44px 0; }
  .newfly-campaign-detail h1 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .newfly-categories :is(.newfly-text-link, .newfly-category-controls button, .newfly-category-card, .newfly-category-card img, .newfly-category-card__meta, .newfly-category-card__meta svg) { transition: none; }
}
