/*
 * FIREZZ Editorial V2
 * A selectable, data-driven editorial theme. All content is rendered by the
 * existing PHP controllers; this stylesheet contains presentation only.
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&family=Playfair+Display:wght@800&display=swap');

body.theme-firezz {
    --fz-paper: #f9f7f3;
    --fz-ink: #181716;
    --fz-muted: #69645f;
    --fz-line: #aaa59d;
    --fz-red: #c71322;
    --fz-charcoal: #181716;
    --fz-shell: 1440px;
    background: var(--fz-paper);
    color: var(--fz-ink);
    font-family: 'Inter', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
}

body.theme-firezz .top-bar { display: none !important; }
body.theme-firezz .main-content { min-height: 40vh; }
body.theme-firezz .main-nav {
    position: relative;
    z-index: 1100;
    height: 102px;
    background: var(--fz-paper);
    border: 0;
    box-shadow: none;
}
body.theme-firezz .main-nav .container-lg { max-width: var(--fz-shell); height: 100%; padding: 0 18px; }
body.theme-firezz .main-nav .nav-inner { height: 100%; display: flex; gap: 20px; align-items: center; }
body.theme-firezz .nav-logo { width: 290px; flex: 0 0 290px; min-width: 0; overflow: visible; padding: 4px 0; color: var(--fz-ink); text-decoration: none; line-height: 1; }
body.theme-firezz .nav-logo img { display: none; }
/* Keep the glow inside the red logo letters: the generic sweep on the full
   navigation logo can escape its wordmark on narrow screens. */
body.theme-firezz .nav-logo::after { display: none; }
body.theme-firezz .fz-logo-wordmark { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 4rem; font-weight: 800; letter-spacing: -0.07em; line-height: .8; white-space: nowrap; }
/* background-clip:text only paints inside the span's box; pad the box so the
   red ZZ glyphs (tops, serifs, last letter) are never cut, then cancel the
   padding with negative margins so the layout does not move. */
body.theme-firezz .fz-logo-wordmark span { display: inline-block; padding: .18em .12em .14em .02em; margin: -.18em -.12em -.14em -.02em; color: var(--fz-red); background: linear-gradient(110deg, #b90818 0%, #b90818 40%, #ff8c94 49%, #e1192a 56%, #b90818 66%, #b90818 100%); background-position: 160% 0; background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: fz-logo-red-glow 5.6s ease-in-out infinite; }
@keyframes fz-logo-red-glow { 0%, 61% { background-position: 160% 0; } 81%, 100% { background-position: -60% 0; } }
body.theme-firezz .fz-logo-caption { display: block; margin-top: 10px; font-family: 'IBM Plex Mono', monospace; font-size: .46rem; font-weight: 500; letter-spacing: .3em; white-space: nowrap; }
body.theme-firezz .nav-toggle { display: none; }
body.theme-firezz .nav-menu { flex: 1; display: flex; justify-content: center; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
body.theme-firezz .nav-menu > .nav-item:first-child { display: none; }
.fz-mobile-languages { display: none; }
body.theme-firezz .nav-link { position: relative; padding: 8px 0; color: var(--fz-ink); font-family: 'Inter', Arial, sans-serif; font-size: .83rem; font-weight: 500; text-decoration: none; white-space: nowrap; }
body.theme-firezz .nav-link i { display: none; }
body.theme-firezz .nav-link::after { content: ''; position: absolute; right: 0; bottom: 2px; left: 0; height: 1px; background: var(--fz-red); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
body.theme-firezz .nav-link:hover, body.theme-firezz .nav-item:hover > .nav-link { color: var(--fz-ink); }
body.theme-firezz .nav-link:hover::after, body.theme-firezz .nav-item:hover > .nav-link::after { transform: scaleX(1); }
body.theme-firezz .has-megamenu > .nav-link { display: inline-flex; align-items: center; gap: 6px; }
body.theme-firezz .has-megamenu > .nav-link::before { content: '\f107'; order: 2; font-family: 'Font Awesome 6 Free'; font-size: .66rem; font-weight: 900; }
body.theme-firezz .megamenu { margin-top: 0; background: var(--fz-paper); border: 1px solid rgba(24,23,22,.15); box-shadow: 0 18px 32px rgba(0,0,0,.12); }
body.theme-firezz .megamenu-link { color: var(--fz-ink); font-family: 'Inter', Arial, sans-serif; font-size: .8rem; }
body.theme-firezz .nav-actions { display: flex; align-items: center; gap: 13px; flex: 0 0 auto; }
body.theme-firezz .search-toggle { order: 1; width: 183px; height: 30px; display: inline-flex; align-items: center; justify-content: flex-start; gap: 12px; border: 0; border-radius: 10px; padding: 0 13px; background: #eeece8; color: #3c3935; font-size: .7rem; }
body.theme-firezz .search-toggle::after { content: 'Ara...'; font-family: 'Inter', Arial, sans-serif; color: #88827b; }
body.theme-firezz .search-toggle:hover { background: #e6e3dd; color: var(--fz-ink); }
body.theme-firezz .lang-switcher { order: 2; display: flex; align-items: center; gap: 12px; }
body.theme-firezz .lang-sel { position: relative; color: var(--fz-ink); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; font-weight: 500; text-decoration: none; }
body.theme-firezz .lang-sel.active { color: var(--fz-red); }
body.theme-firezz .lang-sel.active::after { content: ''; position: absolute; right: 0; bottom: -10px; left: 0; height: 1px; background: var(--fz-red); }
body.theme-firezz .lang-sel-divider { display: none; }
body.theme-firezz .fz-header-date { order: 3; min-width: 92px; padding: 1px 0 1px 18px; border-left: 1px solid #bdb8b0; color: var(--fz-ink); line-height: 1; }
body.theme-firezz .fz-header-date strong { display: block; font-family: 'Newsreader', Georgia, serif; font-size: 2.45rem; font-weight: 700; line-height: .8; }
body.theme-firezz .fz-header-date span { display: block; margin-top: 8px; font-family: 'Inter', Arial, sans-serif; font-size: .66rem; font-weight: 600; text-transform: uppercase; }
body.theme-firezz .fz-header-date small { display: block; margin-top: 4px; font-size: .66rem; text-transform: uppercase; }
body.theme-firezz .search-dropdown { background: var(--fz-paper); border-top: 1px solid #d8d3cb; }
body.theme-firezz .search-form { max-width: var(--fz-shell); }

.fz-home { background: var(--fz-paper); color: var(--fz-ink); }
.fz-shell { width: min(calc(100% - 44px), var(--fz-shell)); margin-inline: auto; }
.fz-hero { position: relative; height: clamp(360px, 37vw, 480px); overflow: hidden; background: #262321; }
.fz-hero-slide { position: absolute; inset: 0; visibility: hidden; opacity: 0; transition: visibility 0s linear .5s, opacity .5s ease; }
.fz-hero-slide.is-active { visibility: visible; opacity: 1; transition-delay: 0s; }
.fz-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fz-hero-slide.has-no-image { background: linear-gradient(120deg, #292624, #44342d); }
.fz-hero-slide.has-no-image .fz-hero-image { display: none; }
.fz-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,4,4,.91) 0%, rgba(7,7,7,.76) 29%, rgba(7,7,7,.16) 58%, rgba(7,7,7,.05) 100%); }
.fz-hero-copy { position: relative; z-index: 2; display: flex; height: 100%; max-width: var(--fz-shell); flex-direction: column; align-items: flex-start; justify-content: center; padding: 34px 18px 86px; color: #fff; }
.fz-hero-edition { margin-bottom: 18px; border-left: 2px solid var(--fz-red); padding-left: 10px; color: rgba(255,255,255,.7); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; }
.fz-kicker { display: block; margin-bottom: 9px; color: var(--fz-red); font-family: 'Inter', Arial, sans-serif; font-size: .66rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.fz-hero h1 { max-width: 650px; margin: 0; color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: clamp(2.15rem, 4.15vw, 4.35rem); font-weight: 600; letter-spacing: -.022em; line-height: .96; }
.fz-hero p { max-width: 420px; margin: 16px 0 14px; color: rgba(255,255,255,.9); font-family: 'Newsreader', Georgia, serif; font-size: .91rem; line-height: 1.42; }
.fz-text-link { display: inline-flex; align-items: center; gap: 20px; color: inherit; font-family: 'Newsreader', Georgia, serif; font-size: .82rem; font-weight: 600; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fz-text-link i { color: var(--fz-red); font-size: .78rem; transition: transform .2s ease; }
.fz-text-link:hover { color: inherit; }
.fz-text-link:hover i { transform: translateX(4px); }
.fz-slider-arrow { position: absolute; z-index: 4; top: 50%; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: rgba(10,10,10,.2); color: rgba(255,255,255,.9); font-size: .76rem; transform: translateY(-50%); transition: background .2s, border-color .2s; }
.fz-slider-arrow:hover { border-color: var(--fz-red); background: var(--fz-red); color: #fff; }
.fz-slider-prev { left: 23px; } .fz-slider-next { right: 23px; }
.fz-slider-dots { position: absolute; z-index: 4; bottom: 18px; left: 50%; display: flex; width: min(calc(100% - 180px), 610px); gap: 0; transform: translateX(-50%); }
.fz-slider-dots button { display: grid; min-width: 0; flex: 1; grid-template-columns: 22px minmax(0, 1fr); gap: 7px; align-items: center; border: 0; border-top: 1px solid rgba(255,255,255,.34); padding: 9px 9px 0 0; background: transparent; color: rgba(255,255,255,.63); text-align: left; transition: border-color .2s, color .2s; }
.fz-slider-dots button + button { padding-left: 11px; }
.fz-slider-dots button span { color: inherit; font-family: 'IBM Plex Mono', monospace; font-size: .66rem; }
.fz-slider-dots button small { overflow: hidden; color: inherit; font-family: 'Inter', Arial, sans-serif; font-size: .66rem; font-weight: 500; letter-spacing: .01em; text-overflow: ellipsis; white-space: nowrap; }
.fz-slider-dots button.is-active { border-top: 2px solid var(--fz-red); color: #fff; }

.fz-section { padding: 18px 0; }
.fz-section-head, .fz-module-head { display: flex; align-items: center; gap: 20px; border-bottom: 1px solid var(--fz-line); padding-bottom: 9px; }
.fz-section-head { margin-bottom: 24px; }
.fz-section-head h2, .fz-module-head h2 { flex: 0 0 auto; margin: 0; color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: 1.72rem; font-weight: 700; letter-spacing: -.022em; line-height: 1; }
.fz-head-rule { flex: 1; }
.fz-section-head a, .fz-module-head a { display: inline-flex; align-items: center; gap: 14px; color: var(--fz-ink); font-family: 'Inter', Arial, sans-serif; font-size: .66rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.fz-section-head a i, .fz-module-head a i { color: var(--fz-red); font-size: .7rem; }
.fz-section-head a:hover, .fz-module-head a:hover { color: var(--fz-red); }
.fz-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; }
.fz-news-card { position: relative; display: grid; grid-template-columns: minmax(130px, .9fr) minmax(0, 1fr); gap: 17px; min-width: 0; padding: 0 0 23px; border-bottom: 1px solid #cfc8be; margin-bottom: 23px; }
.fz-news-card--lead { grid-column: span 2; grid-template-columns: minmax(250px, 1.08fr) minmax(0, 1fr); align-items: center; }
.fz-news-card--lead .fz-news-image { min-height: 255px; }
.fz-news-card--lead .fz-news-body h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); line-height: 1.04; }
.fz-news-card--lead .fz-news-body p { max-width: 360px; font-size: .83rem; }
.fz-news-image, .fz-artist-image, .fz-column-image { overflow: hidden; background: #ded9d1; }
.fz-news-image { display: block; min-height: 174px; }
.fz-news-image img, .fz-artist-image img, .fz-column-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .45s ease; }
.fz-news-image:hover img, .fz-artist-image:hover img, .fz-column-image:hover img { transform: scale(1.035); }
.fz-news-image.is-empty, .fz-artist-image.is-empty, .fz-column-image.is-empty { background: linear-gradient(135deg, #e4dfd7, #c6beb3); }
.fz-news-body { min-width: 0; padding-top: 1px; }
.fz-news-no { display: block; margin-bottom: 10px; color: #aaa198; font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .08em; }
.fz-news-body .fz-kicker { margin-bottom: 7px; font-size: .66rem; }
.fz-news-body h3, .fz-artist-feature h3, .fz-column-item h3 { margin: 0; font-family: 'Newsreader', Georgia, serif; font-size: 1.12rem; font-weight: 700; letter-spacing: -.014em; line-height: 1.14; }
.fz-news-body h3 a, .fz-artist-feature h3 a, .fz-column-item h3 a, .fz-writer h3 a, .fz-writer-story { color: var(--fz-ink); text-decoration: none; }
.fz-news-body h3 a:hover, .fz-column-item h3 a:hover, .fz-writer h3 a:hover, .fz-writer-story:hover { color: var(--fz-red); }
.fz-news-body p, .fz-artist-feature p { margin: 11px 0 9px; color: #514d49; font-family: 'Newsreader', Georgia, serif; font-size: .84rem; line-height: 1.5; }
.fz-card-more { gap: 14px; font-size: .66rem; }
.fz-empty { margin: 0; color: var(--fz-muted); font-size: .86rem; }

.fz-lower-section { padding-top: 17px; padding-bottom: 33px; }
.fz-showcase-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 37px; margin-top: 35px; }
.fz-authors-module--expanded { padding: 22px; border: 1px solid #d2cbc1; background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(239,234,226,.74)); }
.fz-module-head { min-height: 38px; margin-bottom: 14px; gap: 10px; }
.fz-module-head h2 { font-size: 1.47rem; }
.fz-module-head a { margin-left: auto; font-size: .66rem; }
.fz-writer-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: 10px; }
.fz-writer { position: relative; display: flex; min-width: 0; min-height: 238px; flex-direction: column; padding: 0 0 12px; border: 1px solid #d3ccc3; background: #fcfaf6; transition: border-color .2s, transform .2s, box-shadow .2s; }
.fz-writer::before { position: absolute; z-index: 1; top: 0; left: 0; width: 22px; height: 3px; background: var(--fz-red); content: ''; }
.fz-writer:hover { border-color: #7f766c; box-shadow: 0 12px 23px rgba(43,37,30,.1); transform: translateY(-3px); }
.fz-writer-portrait { display: block; height: 105px; overflow: hidden; background: #ded9d1; }
.fz-writer-portrait img { width: 100%; height: 100%; display: block; object-fit: cover; filter: grayscale(100%); transition: filter .28s ease, transform .42s ease; }
.fz-writer:hover .fz-writer-portrait img { filter: grayscale(20%); transform: scale(1.045); }
.fz-writer > div { display: flex; min-height: 120px; flex: 1; flex-direction: column; padding: 12px 12px 0; }
.fz-writer h3 { margin: 0 0 10px; font-family: 'Newsreader', Georgia, serif; font-size: .91rem; font-weight: 700; letter-spacing: -.010em; line-height: 1.06; }
.fz-writer-story { display: -webkit-box; overflow: hidden; font-family: 'Newsreader', Georgia, serif; font-size: .73rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.fz-writer time, .fz-column-item time { display: block; margin-top: auto; padding-top: 10px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .035em; }
.fz-artist-feature { position: relative; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(210px, .88fr); gap: 0; overflow: hidden; border: 1px solid #cfc7bd; border-top: 4px solid var(--fz-red); background: #ece7df; }
.fz-artist-feature > div { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 30px 27px; background: linear-gradient(135deg, #fbf9f5, #e8e1d7); }
.fz-artist-feature > div::before { position: absolute; top: 29px; bottom: 29px; left: 0; width: 1px; background: #cfc6bb; content: ''; }
.fz-artist-image { display: block; height: 304px; }
.fz-artist-feature .fz-artist-image { position: relative; }
.fz-artist-feature .fz-artist-image::after { position: absolute; inset: 0; background: linear-gradient(110deg, rgba(255,255,255,.1), transparent 48%, rgba(33,28,25,.15)); content: ''; pointer-events: none; }
.fz-artist-role { display: block; margin-bottom: 11px; color: var(--fz-red); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; font-weight: 500; letter-spacing: .17em; text-transform: uppercase; }
.fz-artist-feature h3 { margin-top: 3px; color: var(--fz-ink); font-size: clamp(1.7rem, 2.35vw, 2.3rem); font-weight: 600; letter-spacing: -.026em; line-height: .95; }
.fz-artist-feature p { margin-top: 15px; margin-bottom: 21px; color: #4d4742; font-size: .85rem; line-height: 1.55; }
.fz-artist-feature .fz-text-link { color: var(--fz-ink); font-family: 'Inter', Arial, sans-serif; font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.fz-artist-secondary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 11px; }
.fz-artist-mini { position: relative; min-height: 126px; overflow: hidden; border-bottom: 2px solid var(--fz-red); background: #393531; color: #fff; text-decoration: none; }
.fz-artist-mini::after { position: absolute; inset: 0; background: linear-gradient(transparent 28%, rgba(0,0,0,.78)); content: ''; }
.fz-artist-mini img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.fz-artist-mini:hover img { transform: scale(1.05); }
.fz-artist-mini span { position: absolute; z-index: 1; right: 9px; bottom: 8px; left: 9px; font-family: 'Newsreader', Georgia, serif; font-size: .92rem; font-weight: 600; letter-spacing: -.012em; line-height: 1.05; }
.fz-column-list { display: grid; grid-template-columns: 1fr; gap: 12px; }
.fz-column-item { display: grid; min-width: 0; min-height: 121px; grid-template-columns: 148px minmax(0, 1fr); border: 1px solid #d3ccc3; background: #fcfaf6; transition: border-color .2s, box-shadow .2s, transform .2s; }
.fz-column-item:hover { border-color: #85796e; box-shadow: 0 11px 21px rgba(43,37,30,.09); transform: translateY(-3px); }
.fz-column-image { display: block; min-height: 119px; height: auto; }
.fz-column-image.is-empty img { display: none; }
.fz-column-item > div { display: flex; min-height: 99px; flex: 1; flex-direction: column; padding: 14px 15px 12px; }
.fz-column-item h3 { font-size: 1.04rem; letter-spacing: -.016em; line-height: 1.08; }
.fz-column-item span { display: block; margin-top: 8px; color: var(--fz-red); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .04em; }
.fz-column-item time { display: block; }
.fz-columns-empty { display: grid; min-height: 160px; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: center; border: 1px solid #d3ccc3; padding: 19px; background: linear-gradient(135deg, #ebe6de, #f6f3ee); }
.fz-columns-empty-mark { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--fz-ink); color: #fff; font-size: 1rem; }
.fz-columns-empty strong { display: block; color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: 1.04rem; font-weight: 600; line-height: 1.15; }
.fz-columns-empty p { margin: 7px 0 10px; color: var(--fz-muted); font-family: 'Newsreader', Georgia, serif; font-size: .76rem; line-height: 1.4; }
.fz-columns-empty a { display: inline-flex; align-items: center; gap: 10px; color: var(--fz-red); font-family: 'Inter', Arial, sans-serif; font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }

.fz-signup-section { padding: 19px 0; background: #1c1b1a; color: #fff; }
.fz-signup-grid { display: grid; grid-template-columns: 1.1fr 1.28fr 1fr; align-items: center; gap: 38px; }
.fz-signup-grid > * + * { border-left: 1px solid rgba(255,255,255,.55); padding-left: 40px; }
.fz-signup-grid h2 { margin: 0 0 5px; color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: 1.47rem; font-weight: 600; letter-spacing: -.018em; }
.fz-signup-grid p { margin: 0; color: rgba(255,255,255,.85); font-family: 'Newsreader', Georgia, serif; font-size: .72rem; line-height: 1.35; }
.fz-newsletter-form { display: grid; grid-template-columns: minmax(0, 1fr) 113px; position: relative; gap: 0; padding-bottom: 17px; }
.fz-newsletter-form input { height: 34px; min-width: 0; border: 1px solid rgba(255,255,255,.65); border-right: 0; padding: 0 12px; background: transparent; color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: .72rem; outline: none; }
.fz-newsletter-form input::placeholder { color: rgba(255,255,255,.6); }
.fz-newsletter-form input:focus { border-color: #fff; }
.fz-newsletter-form button { border: 0; padding: 0 10px; background: var(--fz-red); color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: .7rem; font-weight: 600; }
.fz-newsletter-form button i { margin-left: 12px; font-size: .66rem; }
.fz-newsletter-message { position: absolute; bottom: 0; left: 0; font-family: 'Inter', Arial, sans-serif !important; font-size: .66rem !important; }
.fz-newsletter-message.error { color: #f4a3a9; } .fz-newsletter-message.success { color: #c7e5c0; }
.fz-archive-callout a { display: inline-flex; align-items: center; gap: 16px; margin-top: 8px; border: 1px solid rgba(255,255,255,.7); padding: 7px 18px; color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: .68rem; text-decoration: none; }
.fz-archive-callout a:hover { border-color: #fff; background: #fff; color: var(--fz-ink); }
.fz-archive-callout i { font-size: .66rem; }

.fz-editorial-footer { overflow: hidden; background: #121212; color: #f5f0e8; }
.fz-footer-ribbon { display: grid; height: 10px; grid-template-columns: 2fr 1fr 1.35fr .7fr 1.65fr; }
.fz-footer-ribbon span:nth-child(1) { background: #c71322; }
.fz-footer-ribbon span:nth-child(2) { background: #d78a42; }
.fz-footer-ribbon span:nth-child(3) { background: #415b66; }
.fz-footer-ribbon span:nth-child(4) { background: #e6cf87; }
.fz-footer-ribbon span:nth-child(5) { background: #842d3f; }
.fz-footer-shell { width: min(calc(100% - 44px), var(--fz-shell)); margin: 0 auto; }
.fz-footer-grid { display: grid; grid-template-columns: 1.35fr .72fr 1.1fr .95fr; gap: 42px; padding: 52px 0 43px; }
.fz-footer-brand { padding-right: 25px; }
.fz-footer-logo { display: inline-block; color: #f9f7f3; font-family: 'Playfair Display', Georgia, serif; font-size: 3.65rem; font-weight: 800; letter-spacing: -.125em; line-height: .72; text-decoration: none; }
.fz-footer-logo span { color: #cf2635; }
.fz-footer-brand p { max-width: 255px; margin: 20px 0 20px; color: rgba(255,255,255,.66); font-family: 'Newsreader', Georgia, serif; font-size: .78rem; line-height: 1.55; }
.fz-footer-social { display: flex; gap: 9px; }
.fz-footer-social a { display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; color: #fff; font-size: .7rem; text-decoration: none; transition: background .2s, border-color .2s, color .2s; }
.fz-footer-social a:hover { border-color: #cf2635; background: #cf2635; color: #fff; }
.fz-footer-eyebrow { display: block; margin-bottom: 16px; color: #e2a7ab; font-family: 'IBM Plex Mono', monospace; font-size: .66rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.fz-footer-links nav { display: grid; gap: 9px; }
.fz-footer-links a { color: rgba(255,255,255,.8); font-family: 'Inter', Arial, sans-serif; font-size: .76rem; text-decoration: none; transition: color .18s ease; }
.fz-footer-links a:hover { color: #e33a48; }
.fz-footer-stories { display: grid; align-content: start; gap: 10px; }
.fz-footer-stories .fz-footer-eyebrow { margin-bottom: 4px; }
.fz-footer-story { display: grid; min-height: 55px; grid-template-columns: 64px minmax(0, 1fr); gap: 11px; align-items: center; color: #f5f0e8; text-decoration: none; }
.fz-footer-story img { width: 64px; height: 53px; background: #353535; object-fit: cover; }
.fz-footer-story span { display: -webkit-box; overflow: hidden; font-family: 'Newsreader', Georgia, serif; font-size: .76rem; font-weight: 600; letter-spacing: -.010em; line-height: 1.18; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.fz-footer-story:hover span { color: #e7a8ad; }
.fz-footer-issue { position: relative; padding: 19px 20px 17px; border: 1px solid rgba(255,255,255,.28); background: linear-gradient(125deg, rgba(199,19,34,.28), rgba(82,28,35,.2)); }
.fz-footer-issue::before { position: absolute; top: 0; right: 0; width: 48px; height: 48px; background: #cf2635; clip-path: polygon(100% 0, 0 0, 100% 100%); content: ''; }
.fz-footer-issue .fz-footer-eyebrow { margin-bottom: 9px; color: #ffd7d9; }
.fz-footer-issue strong { display: block; max-width: 190px; color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: 1.13rem; font-weight: 600; letter-spacing: -.014em; line-height: 1.08; }
.fz-footer-issue p { margin: 9px 0 13px; color: rgba(255,255,255,.7); font-family: 'Newsreader', Georgia, serif; font-size: .69rem; line-height: 1.4; }
.fz-footer-issue a { display: inline-flex; align-items: center; gap: 13px; color: #fff; font-family: 'Inter', Arial, sans-serif; font-size: .66rem; font-weight: 700; text-decoration: none; text-transform: uppercase; letter-spacing: .06em; }
.fz-footer-issue a i { color: #f4b1b6; }
.fz-footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.16); padding: 15px 0 18px; color: rgba(255,255,255,.44); font-family: 'Inter', Arial, sans-serif; font-size: .66rem; letter-spacing: .025em; }

body.theme-firezz .site-footer { background: #131313; color: #a9a39d; }
body.theme-firezz .site-footer .container-lg { max-width: var(--fz-shell); padding: 0 22px; }
body.theme-firezz .footer-inner { min-height: 54px; align-items: center; }
body.theme-firezz .footer-nav a, body.theme-firezz .footer-bottom { color: #aaa49d; font-size: .66rem; }
body.theme-firezz .footer-social a { color: #d7d2cc; }

@media (max-width: 1260px) {
    body.theme-firezz .nav-logo { width: 224px; flex-basis: 224px; }
    body.theme-firezz .fz-logo-wordmark { font-size: 3.2rem; }
    body.theme-firezz .fz-logo-caption { font-size: .41rem; letter-spacing: .28em; }
    body.theme-firezz .nav-menu { gap: 15px; }
    body.theme-firezz .search-toggle { width: 122px; }
    .fz-news-grid { gap: 18px; }
    .fz-news-card { grid-template-columns: 125px minmax(0, 1fr); gap: 13px; }
    .fz-news-card--lead { grid-template-columns: minmax(220px, 1.08fr) minmax(0, 1fr); }
    .fz-lower-grid { gap: 21px; }
    .fz-writer { grid-template-columns: 60px minmax(0, 1fr); gap: 9px; }
}
@media (max-width: 1050px) {
    body.theme-firezz .main-nav { height: 82px; }
    body.theme-firezz .nav-logo { width: 200px; flex-basis: 200px; }
    body.theme-firezz .fz-logo-wordmark { font-size: 2.9rem; }
    body.theme-firezz .fz-logo-caption { margin-top: 8px; font-size: .38rem; letter-spacing: .26em; }
    body.theme-firezz .nav-menu { gap: 11px; }
    body.theme-firezz .nav-link { font-size: .72rem; }
    body.theme-firezz .search-toggle { width: 35px; justify-content: center; padding: 0; }
    body.theme-firezz .search-toggle::after { display: none; }
    body.theme-firezz .fz-header-date { min-width: 72px; padding-left: 11px; }
    body.theme-firezz .fz-header-date strong { font-size: 2rem; }
    body.theme-firezz .fz-header-date span, body.theme-firezz .fz-header-date small { display: none; }
    .fz-news-grid { grid-template-columns: 1fr; }
    .fz-news-card { grid-template-columns: 230px minmax(0, 1fr); }
    .fz-news-card--lead { grid-column: auto; grid-template-columns: 250px minmax(0, 1fr); }
    .fz-news-card--lead .fz-news-image { min-height: 165px; }
    .fz-news-card--lead .fz-news-body h3 { font-size: 1.34rem; }
    .fz-news-image { min-height: 145px; }
    .fz-lower-grid { grid-template-columns: 1fr 1fr; }
    .fz-showcase-grid { grid-template-columns: 1fr; gap: 31px; }
    .fz-columns-module { grid-column: 1 / -1; }
    .fz-column-list { grid-template-columns: 1fr; }
    .fz-signup-grid { grid-template-columns: 1fr 1fr; }
    .fz-archive-callout { grid-column: 1 / -1; }
    .fz-footer-grid { grid-template-columns: 1.25fr .8fr 1.1fr; gap: 28px; }
    .fz-footer-issue { grid-column: 1 / -1; display: grid; grid-template-columns: .6fr 1.2fr 1.5fr .7fr; align-items: center; gap: 14px; }
    .fz-footer-issue .fz-footer-eyebrow, .fz-footer-issue p { margin: 0; }
}
@media (max-width: 760px) {
    body.theme-firezz .main-nav { height: 70px; }
    body.theme-firezz .main-nav .container-lg { padding: 0 18px; }
    body.theme-firezz .nav-logo { width: auto; flex: 1; }
    body.theme-firezz .fz-logo-wordmark { font-size: 2.5rem; }
    body.theme-firezz .fz-logo-caption { margin-top: 7px; font-size: .33rem; letter-spacing: .22em; }
    body.theme-firezz .main-nav .nav-inner { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 4px; }
    body.theme-firezz .main-nav .nav-toggle { display: inline-flex !important; width: 38px; height: 38px; align-items: center; justify-content: center; border: 0; border-radius: 50%; padding: 8px; background: var(--fz-red); box-shadow: 0 5px 13px rgba(199,19,34,.24); cursor: pointer; flex-direction: column; gap: 4px; grid-column: 1; grid-row: 1; transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
    body.theme-firezz .main-nav .nav-toggle:hover, body.theme-firezz .main-nav .nav-toggle:focus-visible { background: #a60d1a; box-shadow: 0 7px 15px rgba(199,19,34,.3); outline: 0; transform: translateY(-1px); }
    body.theme-firezz .main-nav .nav-toggle span { display: block; width: 18px; height: 1.5px; margin: 0; background: #fff; transition: transform .22s ease, opacity .16s ease; }
    body.theme-firezz .main-nav .nav-toggle.open span:nth-child(1) { transform: translateY(4.5px) rotate(45deg); }
    body.theme-firezz .main-nav .nav-toggle.open span:nth-child(2) { opacity: 0; }
    body.theme-firezz .main-nav .nav-toggle.open span:nth-child(3) { transform: translateY(-4.5px) rotate(-45deg); }
    body.theme-firezz .main-nav .nav-actions { display: flex; gap: 1px; grid-column: 3; grid-row: 1; }
    body.theme-firezz .main-nav .lang-switcher { display: flex !important; gap: 1px; }
    body.theme-firezz .main-nav .lang-sel { display: inline-flex; min-width: 21px; min-height: 44px; align-items: center; justify-content: center; font-size: .66rem; }
    body.theme-firezz .main-nav .lang-sel.active::after { bottom: 8px; }
    body.theme-firezz .fz-header-date { display: none; }
    body.theme-firezz .main-nav .search-toggle { width: 30px; height: 44px; padding: 0; background: transparent; }
    body.theme-firezz .main-nav .nav-menu { position: fixed; top: 0; right: 0; left: auto; display: flex !important; box-sizing: border-box; width: min(300px, 100vw); max-height: 100dvh; height: 100dvh; overflow-y: auto; flex-direction: column; align-items: stretch; gap: 0; padding: 82px 0 24px; background: var(--fz-paper); border: 0; box-shadow: -12px 0 26px rgba(0,0,0,.14); opacity: 0; pointer-events: none; transform: translate3d(100%, 0, 0); transition: transform .28s cubic-bezier(.2,.75,.25,1), opacity .2s ease; visibility: hidden; will-change: transform; }
    body.theme-firezz .main-nav .nav-menu.open, body.theme-firezz .main-nav .nav-menu.active { opacity: 1; pointer-events: auto; transform: translate3d(0, 0, 0); visibility: visible; }
    body.theme-firezz .main-nav .fz-mobile-languages { display: flex; box-sizing: border-box; width: calc(100% - 44px); min-width: 0; align-items: center; justify-content: flex-start; gap: 5px; margin: 9px 22px 2px; border-top: 1px solid #d8d1c8; padding: 18px 2px 2px; }
    body.theme-firezz .main-nav .fz-mobile-languages span { flex: 0 0 70px; min-width: 0; margin: 0; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
    body.theme-firezz .main-nav .fz-mobile-languages a { flex: 0 0 27px; box-sizing: border-box; padding: 6px 2px; border: 1px solid #d5cec5; color: var(--fz-ink); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; font-weight: 500; text-align: center; text-decoration: none; }
    body.theme-firezz .main-nav .fz-mobile-languages a.active { border-color: var(--fz-red); background: var(--fz-red); color: #fff; }
    body.theme-firezz .nav-menu > .nav-item:first-child { display: block; }
    body.theme-firezz .nav-link { display: flex; justify-content: space-between; padding: 13px 0; border-bottom: 1px solid #ddd7d0; font-size: .87rem; }
    body.theme-firezz .megamenu { position: static; display: block; width: auto; margin: 0; border: 0; box-shadow: none; }
    body.theme-firezz .megamenu-grid { display: block; padding: 0 0 0 14px; }
    body.theme-firezz .megamenu-featured { display: none; }
    body.theme-firezz .megamenu-link { padding: 7px 0; }
    .fz-shell { width: min(calc(100% - 32px), var(--fz-shell)); }
    .fz-hero { height: 414px; }
    .fz-hero-shade { background: linear-gradient(0deg, rgba(5,5,5,.9), rgba(5,5,5,.09) 73%), linear-gradient(90deg, rgba(5,5,5,.55), transparent 72%); }
    .fz-hero-copy { padding: 28px 16px 72px; justify-content: flex-end; }
    .fz-hero h1 { max-width: 590px; font-size: clamp(2.05rem, 9.4vw, 2.7rem); line-height: .98; }
    .fz-hero p { font-size: .82rem; }
    .fz-slider-arrow { display: none; }
    .fz-slider-dots { bottom: 12px; width: calc(100% - 32px); }
    .fz-slider-dots button { grid-template-columns: 1fr; padding-top: 7px; }
    .fz-slider-dots button small { display: none; }
    .fz-slider-dots button:nth-child(n+4) { display: none; }
    .fz-section { padding: 21px 0; }
    .fz-section-head { align-items: end; gap: 10px; margin-bottom: 17px; }
    .fz-section-head h2, .fz-module-head h2 { font-size: 1.42rem; }
    .fz-head-rule { display: none; }
    .fz-section-head a { margin-left: auto; font-size: .66rem; }
    .fz-news-card { grid-template-columns: 120px minmax(0, 1fr); }
    .fz-news-card--lead { grid-template-columns: 1fr; }
    .fz-news-card--lead .fz-news-image { min-height: 198px; }
    .fz-news-card--lead .fz-news-body h3 { font-size: 1.32rem; }
    .fz-news-image { min-height: 120px; }
    .fz-news-body h3 { font-size: .98rem; }
    .fz-news-body p { margin-top: 7px; font-size: .71rem; }
    .fz-lower-grid { grid-template-columns: 1fr; gap: 29px; }
    .fz-columns-module { grid-column: auto; }
    .fz-authors-module--expanded { padding: 16px; }
    .fz-writer-list { grid-template-columns: 1fr; gap: 9px; }
    .fz-writer { display: grid; min-height: 126px; grid-template-columns: 96px minmax(0, 1fr); padding: 0; }
    .fz-writer::before { width: 3px; height: 21px; }
    .fz-writer-portrait { height: 124px; }
    .fz-writer > div { min-height: 0; padding: 14px 14px 11px; }
    .fz-writer h3 { margin-bottom: 6px; font-size: 1rem; }
    .fz-writer-story { font-size: .78rem; -webkit-line-clamp: 2; }
    .fz-writer time { padding-top: 6px; }
    .fz-artist-feature { grid-template-columns: 1fr; }
    .fz-artist-image { height: 226px; }
    .fz-artist-feature > div { padding: 23px 20px 24px; }
    .fz-artist-feature > div::before { display: none; }
    .fz-artist-feature h3 { font-size: 2rem; }
    .fz-artist-feature p { font-size: .87rem; }
    .fz-artist-secondary { grid-template-columns: 1fr 1fr; }
    .fz-column-list { grid-template-columns: 1fr; gap: 10px; }
    .fz-column-item { min-height: 116px; grid-template-columns: 132px minmax(0, 1fr); }
    .fz-column-image { min-height: 114px; }
    .fz-column-item > div { min-height: 0; padding: 13px 14px 10px; }
    .fz-column-item h3 { font-size: .98rem; }
    .fz-signup-grid { grid-template-columns: 1fr; gap: 24px; }
    .fz-signup-grid > * + * { border-left: 0; border-top: 1px solid rgba(255,255,255,.5); padding-top: 20px; padding-left: 0; }
    .fz-newsletter-form { max-width: 420px; }
    .fz-signup-grid h2 { font-size: 1.35rem; }
    .fz-footer-shell { width: min(calc(100% - 32px), var(--fz-shell)); }
    .fz-footer-grid { grid-template-columns: 1fr 1fr; gap: 31px 21px; padding: 37px 0 32px; }
    .fz-footer-brand { padding-right: 0; }
    .fz-footer-logo { font-size: 3rem; }
    .fz-footer-issue { grid-column: 1 / -1; display: block; padding: 18px; }
    .fz-footer-issue p { margin: 8px 0 12px; }
    .fz-footer-issue .fz-footer-eyebrow { margin-bottom: 9px; }
    .fz-footer-bottom { align-items: flex-start; flex-direction: column; padding: 14px 0 17px; gap: 6px; }
    body.theme-firezz .footer-inner { align-items: flex-start; flex-direction: column; padding: 18px 0; gap: 14px; }
}
@media (max-width: 520px) {
    .fz-shell { width: min(calc(100% - 28px), var(--fz-shell)); }
    body.theme-firezz .main-nav .container-lg { padding: 0 14px; }
    body.theme-firezz .fz-logo-wordmark { font-size: 2.2rem; }
    body.theme-firezz .fz-logo-caption { margin-top: 6px; font-size: .3rem; letter-spacing: .14em; }
    .fz-hero { height: 398px; }
    .fz-hero-copy { padding-right: 14px; padding-left: 14px; }
    .fz-hero-edition { margin-bottom: 12px; font-size: .66rem; }
    .fz-hero p { display: -webkit-box; overflow: hidden; max-width: 330px; margin-top: 11px; margin-bottom: 11px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .fz-text-link { font-size: .76rem; }
    .fz-section-head, .fz-module-head { align-items: center; }
    .fz-section-head h2, .fz-module-head h2 { font-size: 1.35rem; }
    .fz-section-head a, .fz-module-head a { gap: 8px; font-size: .66rem; }
    .fz-news-card { grid-template-columns: 106px minmax(0, 1fr); gap: 12px; padding-bottom: 18px; margin-bottom: 18px; }
    .fz-news-image { min-height: 105px; }
    .fz-news-card--lead { grid-template-columns: 1fr; }
    .fz-news-card--lead .fz-news-image { min-height: 186px; }
    .fz-news-card--lead .fz-news-body h3 { font-size: 1.22rem; }
    .fz-news-body p { display: none; }
    .fz-news-card--lead .fz-news-body p { display: block; }
    .fz-writer { grid-template-columns: 86px minmax(0, 1fr); min-height: 112px; }
    .fz-writer-portrait { height: 110px; }
    .fz-writer > div { padding: 11px 12px 9px; }
    .fz-writer h3 { font-size: .95rem; }
    .fz-writer-story { font-size: .74rem; }
    .fz-artist-image { height: 212px; }
    .fz-artist-secondary { gap: 8px; }
    .fz-artist-mini { min-height: 112px; }
    .fz-column-item { grid-template-columns: 108px minmax(0, 1fr); min-height: 104px; }
    .fz-column-image { min-height: 102px; }
    .fz-column-item > div { padding: 10px 11px 8px; }
    .fz-column-item h3 { font-size: .9rem; }
    .fz-column-item span { margin-top: 5px; font-size: .66rem; }
    .fz-column-item time { padding-top: 4px; font-size: .66rem; }
    .fz-footer-grid { grid-template-columns: 1fr; gap: 26px; }
    .fz-footer-issue { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
    body.theme-firezz .fz-logo-wordmark span { animation: none; }
    body.theme-firezz .main-nav .nav-menu { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
    body.theme-firezz *, body.theme-firezz *::before, body.theme-firezz *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* =====================================================================
 * FIREZZ Editorial V3 — magazine layout (homepage)
 * Same palette and fonts as V2; only rhythm, hierarchy and spacing change.
 * ===================================================================== */
.fzm-section { padding: 72px 0 0; }
.fzm-section:last-of-type { padding-bottom: 88px; }
.fzm-head { display: flex; align-items: baseline; gap: 18px; margin-bottom: 34px; }
.fzm-head-no { color: var(--fz-red); font-family: 'IBM Plex Mono', monospace; font-size: .72rem; font-weight: 500; letter-spacing: .12em; }
.fzm-head h2 { margin: 0; color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: 2.35rem; font-weight: 700; letter-spacing: -.018em; line-height: 1; }
.fzm-head-rule { flex: 1; height: 1px; align-self: center; background: var(--fz-line); }
.fzm-head a { display: inline-flex; align-items: center; gap: 10px; color: var(--fz-ink); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.fzm-head a i { color: var(--fz-red); transition: transform .2s ease; }
.fzm-head a:hover i { transform: translateX(4px); }

.fzm-label { display: inline-block; margin-bottom: 14px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; }
.fzm-label::before { content: ''; display: inline-block; width: 26px; height: 1px; margin-right: 10px; vertical-align: middle; background: var(--fz-red); }
.fzm-caption { display: block; margin: 8px 0 0; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .06em; }
.fzm-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 18px 0 22px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .06em; }
.fzm-meta span { color: var(--fz-ink); }
.fzm-meta > * + *::before { content: '/'; margin-right: 14px; color: var(--fz-line); }

/* Images are framed like works on a wall: consistent crops, quiet hover. */
.fzm-media { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 2; background: #e7e3dc; }
.fzm-media--wide { aspect-ratio: 16 / 10; }
.fzm-media--portrait { aspect-ratio: 4 / 5; }
.fzm-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.fzm-media:hover img, article:hover > .fzm-media img { transform: scale(1.035); }
.fzm-media.is-empty img { display: none; }
.fzm-media.is-empty::after { content: 'FIREZZ'; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(24,23,22,.18); font-family: 'Newsreader', Georgia, serif; font-size: 1.6rem; font-weight: 800; letter-spacing: -.020em; }

.fzm-section h3 a { color: inherit; text-decoration: none; background-image: linear-gradient(var(--fz-red), var(--fz-red)); background-position: 0 100%; background-repeat: no-repeat; background-size: 0 1px; transition: background-size .35s ease; }
.fzm-section h3 a:hover { color: inherit; background-size: 100% 1px; }

/* 01 — cover story + companions */
.fzm-cover-grid { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr); gap: 48px; }
.fzm-cover { display: block; }
.fzm-cover-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); grid-template-areas: 'label text' 'kicker text' 'title text' 'title meta' 'title more'; gap: 0 40px; margin-top: 28px; align-items: start; }
.fzm-cover-body > .fzm-label { grid-area: label; justify-self: start; }
.fzm-cover-body > .fz-kicker { grid-area: kicker; }
.fzm-cover-body > h3 { grid-area: title; }
.fzm-cover-body > .fzm-dropcap { grid-area: text; margin-top: 0 !important; }
.fzm-cover-body > .fzm-meta { grid-area: meta; }
.fzm-cover-body > .fz-text-link { grid-area: more; justify-self: start; }
.fzm-cover-body h3 { margin: 0; font-family: 'Newsreader', Georgia, serif; font-size: clamp(1.9rem, 2.6vw, 2.75rem); font-weight: 700; letter-spacing: -.014em; line-height: 1.04; }
.fzm-dropcap { margin: 20px 0 0; color: #34312e; font-family: 'Newsreader', Georgia, serif; font-size: .98rem; line-height: 1.65; }
.fzm-dropcap::first-letter { float: left; margin: 6px 10px 0 0; color: var(--fz-red); font-family: 'Newsreader', Georgia, serif; font-size: 4.1em; font-weight: 800; line-height: .72; }
.fzm-side { display: grid; gap: 34px; padding-left: 48px; border-left: 1px solid var(--fz-line); }
.fzm-side-item .fzm-media { margin-bottom: 16px; }
.fzm-side-item h3 { margin: 0; font-family: 'Newsreader', Georgia, serif; font-size: 1.22rem; font-weight: 700; letter-spacing: -.008em; line-height: 1.15; }

.fzm-card-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--fz-ink); }
.fzm-card .fzm-media { margin-bottom: 16px; }
.fzm-card h3 { margin: 0; font-family: 'Newsreader', Georgia, serif; font-size: 1.12rem; font-weight: 700; letter-spacing: -.006em; line-height: 1.18; }
.fzm-card-no { position: absolute; left: 0; bottom: 0; padding: 7px 10px 6px; background: var(--fz-paper); color: var(--fz-ink); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .1em; }

.fzm-briefs { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 30px; margin-top: 56px; padding: 26px 0; border-top: 1px solid var(--fz-line); border-bottom: 1px solid var(--fz-line); }
.fzm-briefs-title { color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: 1.35rem; font-style: italic; font-weight: 600; }
.fzm-briefs ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; counter-reset: fzm-brief; }
.fzm-briefs li { position: relative; padding-left: 30px; counter-increment: fzm-brief; }
.fzm-briefs li::before { content: counter(fzm-brief, decimal-leading-zero); position: absolute; top: 1px; left: 0; color: var(--fz-red); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; }
.fzm-briefs .fz-kicker { margin-bottom: 5px; }
.fzm-briefs a { color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: .98rem; font-weight: 600; line-height: 1.25; text-decoration: none; }
.fzm-briefs a:hover { color: var(--fz-red); }

/* 02 — artist spotlight, a full spread */
.fzm-artist { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: #efece6; }
.fzm-artist-portrait { position: relative; display: block; overflow: hidden; min-height: 520px; background: #e2ded6; }
.fzm-artist-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.fzm-artist-portrait:hover img { transform: scale(1.03); }
.fzm-artist-portrait.is-empty img { display: none; }
.fzm-artist-body { display: flex; flex-direction: column; justify-content: center; padding: 56px 64px; }
.fzm-artist-body h3 { margin: 0 0 26px; font-family: 'Newsreader', Georgia, serif; font-size: clamp(2.4rem, 4vw, 3.6rem); font-weight: 700; letter-spacing: -.018em; line-height: .98; }
.fzm-quote { position: relative; margin: 0 0 30px; padding: 4px 0 0 28px; border-left: 2px solid var(--fz-red); }
.fzm-quote p { margin: 0; color: #2d2a27; font-family: 'Newsreader', Georgia, serif; font-size: 1.18rem; font-style: italic; line-height: 1.5; }
.fzm-artist-more { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--fz-line); }
.fzm-artist-more .fzm-caption { margin: 0; width: 100%; text-transform: uppercase; letter-spacing: .16em; }
.fzm-artist-mini { display: inline-flex; align-items: center; gap: 12px; color: var(--fz-ink); font-family: 'Inter', Arial, sans-serif; font-size: .82rem; font-weight: 600; text-decoration: none; }
.fzm-artist-mini img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; filter: grayscale(1); transition: filter .3s ease; }
.fzm-artist-mini:hover img { filter: none; }
.fzm-artist-mini:hover { color: var(--fz-red); }

/* 03 — writers: clean strip, typographic avatars when no photo */
.fzm-writers { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 34px 26px; }
.fzm-writer { text-align: center; }
.fzm-writer-avatar { position: relative; display: grid; width: 96px; height: 96px; margin: 0 auto 16px; overflow: hidden; place-items: center; border-radius: 50%; background: var(--fz-ink); color: var(--fz-paper); text-decoration: none; }
.fzm-writer-avatar span { font-family: 'Newsreader', Georgia, serif; font-size: 1.9rem; font-weight: 700; letter-spacing: -.016em; }
.fzm-writer-avatar img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; background: #ece8e1; filter: grayscale(1); transition: filter .35s ease; }
.fzm-writer:hover .fzm-writer-avatar img { filter: none; }
.fzm-writer:nth-child(3n+2) .fzm-writer-avatar { background: var(--fz-red); color: #fff; }
.fzm-writer h3 { margin: 0 0 8px; font-family: 'Newsreader', Georgia, serif; font-size: 1.02rem; font-weight: 700; letter-spacing: -.005em; }
.fzm-writer-story { display: -webkit-box; overflow: hidden; color: var(--fz-muted); font-family: 'Newsreader', Georgia, serif; font-size: .8rem; font-style: italic; line-height: 1.4; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.fzm-writer-story:hover { color: var(--fz-red); }
/* 04 — columns: a lead piece with the text set over its image, two companions */
.fzm-columns { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); grid-template-rows: 1fr 1fr; gap: 28px; }
.fzm-columns--single { grid-template-columns: 1fr; grid-template-rows: none; }
.fzm-column { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 0; background: #efece6; overflow: hidden; }
.fzm-column-image { position: relative; display: block; overflow: hidden; min-height: 210px; background: #ddd8cf; }
.fzm-column-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35) contrast(1.04); transition: transform 1s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.fzm-column:hover .fzm-column-image img { transform: scale(1.04); filter: none; }
.fzm-column-image.is-empty { background: var(--fz-ink); }
.fzm-column-mark { position: absolute; top: 14px; left: 16px; z-index: 2; display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--fz-red); color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: 2.6rem; font-weight: 800; line-height: 1; padding-top: 14px; box-sizing: border-box; }
.fzm-column-body { display: flex; flex-direction: column; justify-content: flex-start; padding: 26px 26px 24px; }
.fzm-column-tag { margin-bottom: 12px; color: var(--fz-red); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; }
.fzm-column h3 { margin: 0 0 20px; font-family: 'Newsreader', Georgia, serif; font-size: 1.22rem; font-weight: 700; letter-spacing: -.008em; line-height: 1.2; }
.fzm-column-byline { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(24,23,22,.16); }
.fzm-column-avatar { position: relative; flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--fz-ink); color: var(--fz-paper); font-family: 'Newsreader', Georgia, serif; font-size: .9rem; font-weight: 700; }
.fzm-column-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #ece8e1; }
.fzm-column-who { display: grid; gap: 2px; min-width: 0; }
.fzm-column-who strong { overflow: hidden; color: var(--fz-ink); font-family: 'Inter', Arial, sans-serif; font-size: .8rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.fzm-column-who time { color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .06em; }

/* Lead column: full-bleed image, text on a dark fade. */
.fzm-column--lead { grid-row: 1 / 3; display: block; min-height: 540px; background: var(--fz-ink); }
.fzm-column--lead .fzm-column-image { position: absolute; inset: 0; min-height: 0; }
.fzm-column--lead .fzm-column-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,9,8,.92) 0%, rgba(10,9,8,.55) 42%, rgba(10,9,8,.05) 75%); pointer-events: none; }
.fzm-column--lead .fzm-column-mark { top: 26px; left: 28px; width: 62px; height: 62px; font-size: 3.6rem; padding-top: 20px; }
.fzm-column--lead .fzm-column-body { position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; padding: 34px 36px 30px; pointer-events: none; }
.fzm-column--lead .fzm-column-body a { pointer-events: auto; }
.fzm-column--lead .fzm-column-tag { color: #ff8c94; }
.fzm-column--lead h3 { max-width: 620px; margin-bottom: 24px; color: #fff; font-size: clamp(1.7rem, 2.6vw, 2.4rem); line-height: 1.08; letter-spacing: -.012em; }
.fzm-column--lead h3 a:hover { color: #fff; }
.fzm-column--lead .fzm-column-byline { border-top-color: rgba(255,255,255,.25); }
.fzm-column--lead .fzm-column-avatar { flex-basis: 46px; width: 46px; height: 46px; background: var(--fz-red); color: #fff; box-shadow: 0 0 0 2px rgba(255,255,255,.85); }
.fzm-column--lead .fzm-column-who strong { color: #fff; }
.fzm-column--lead .fzm-column-who time { color: rgba(255,255,255,.7); }

body.theme-firezz .fz-home .fz-signup-section { margin-top: 88px; }

/* Homepage copy keeps a calm magazine voice: upright headlines and an
   understated italic for descriptions, summaries and reading cues. */
body.theme-firezz .fz-home .fzm-cover-body h3,
body.theme-firezz .fz-home .fzm-side-item h3,
body.theme-firezz .fz-home .fzm-card h3,
body.theme-firezz .fz-home .fzm-column h3 { font-style: normal; font-weight: 600; }
body.theme-firezz .fz-home .fz-hero p,
body.theme-firezz .fz-home .fzm-dropcap,
body.theme-firezz .fz-home .fzm-writer-story,
body.theme-firezz .fz-home .fzm-quote p { font-family: 'Newsreader', Georgia, serif; font-style: italic; font-weight: 400; }
body.theme-firezz .fz-home .fzm-dropcap { font-size: 1.04rem; line-height: 1.68; }

@media (max-width: 1260px) {
    .fzm-cover-grid { gap: 36px; }
    .fzm-side { padding-left: 36px; }
    .fzm-briefs ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1050px) {
    .fzm-section { padding-top: 56px; }
    .fzm-head h2 { font-size: 2rem; }
    .fzm-cover-grid { grid-template-columns: 1fr; }
    .fzm-side { grid-template-columns: 1fr 1fr; gap: 28px; padding: 32px 0 0; border-left: 0; border-top: 1px solid var(--fz-line); }
    .fzm-card-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 26px; }
    .fzm-briefs { grid-template-columns: 1fr; gap: 18px; }
    .fzm-artist { grid-template-columns: 1fr; }
    .fzm-artist-portrait { min-height: 0; aspect-ratio: 4 / 3; }
    .fzm-artist-body { padding: 40px 36px; }
    .fzm-columns { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
    .fzm-column--lead { grid-column: 1 / -1; grid-row: auto; min-height: 420px; }
    .fzm-column:not(.fzm-column--lead) { grid-template-columns: 1fr; }
    .fzm-column:not(.fzm-column--lead) .fzm-column-image { aspect-ratio: 16 / 10; }
}
@media (max-width: 760px) {
    .fzm-section { padding-top: 44px; }
    .fzm-section:last-of-type { padding-bottom: 56px; }
    .fzm-head { flex-wrap: wrap; gap: 8px 12px; margin-bottom: 24px; }
    .fzm-head h2 { font-size: 1.6rem; }
    .fzm-head-rule { display: none; }
    .fzm-head a { margin-left: auto; font-size: .66rem; }
    .fzm-cover-body h3 { font-size: 1.75rem; }
    .fzm-cover-body { grid-template-columns: 1fr; grid-template-areas: 'label' 'kicker' 'title' 'text' 'meta' 'more'; }
    .fzm-cover-body > .fzm-dropcap { margin-top: 16px !important; }
    .fzm-side { grid-template-columns: 1fr; }
    .fzm-side-item { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 4px 14px; align-items: start; }
    .fzm-side-item .fzm-media { grid-row: 1 / 4; margin: 0; aspect-ratio: 1; }
    .fzm-side-item h3 { font-size: 1.02rem; }
    .fzm-card-row { margin-top: 44px; padding-top: 30px; gap: 28px 16px; }
    .fzm-card h3 { font-size: .98rem; }
    .fzm-briefs ol { grid-template-columns: 1fr; gap: 18px; }
    .fzm-artist-body { padding: 30px 22px; }
    .fzm-quote p { font-size: 1.02rem; }
    .fzm-writers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
    .fzm-writer-avatar { width: 80px; height: 80px; }
    body.theme-firezz .fz-home .fz-signup-section { margin-top: 56px; }
    .fzm-columns { grid-template-columns: 1fr; gap: 16px; }
    .fzm-column--lead { min-height: 400px; }
    .fzm-column--lead .fzm-column-body { padding: 24px 20px 20px; }
    .fzm-column--lead .fzm-column-mark { top: 18px; left: 18px; width: 50px; height: 50px; font-size: 3rem; padding-top: 17px; }
    .fzm-column:not(.fzm-column--lead) { grid-template-columns: 116px minmax(0, 1fr); }
    .fzm-column:not(.fzm-column--lead) .fzm-column-image { aspect-ratio: auto; min-height: 150px; }
    .fzm-column:not(.fzm-column--lead) .fzm-column-mark { top: 10px; left: 10px; width: 32px; height: 32px; font-size: 1.8rem; padding-top: 10px; }
    .fzm-column-body { padding: 16px 16px 14px; }
    .fzm-column h3 { margin-bottom: 12px; font-size: 1rem; }
    .fzm-column-tag { margin-bottom: 8px; }
    .fzm-column-byline { gap: 9px; padding-top: 11px; }
    .fzm-column-avatar { flex-basis: 32px; width: 32px; height: 32px; font-size: .74rem; }
}
@media (prefers-reduced-motion: reduce) {
    .fzm-media img, .fzm-artist-portrait img { transition: none; }
}

/* =====================================================================
 * FIREZZ — Artist index (/artist)
 * ===================================================================== */
.fza-page { padding-bottom: 96px; }
.fza-hero { padding: 64px 0 40px; border-bottom: 1px solid var(--fz-ink); }
.fza-eyebrow { display: inline-block; margin-bottom: 26px; padding-left: 12px; border-left: 2px solid var(--fz-red); color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; }
.fza-hero-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 48px; align-items: end; }
.fza-hero h1 { margin: 0; color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: clamp(3rem, 7.2vw, 6.4rem); font-weight: 800; letter-spacing: -.022em; line-height: .9; }
.fza-hero p { max-width: 540px; margin: 22px 0 0; color: #3d3935; font-family: 'Newsreader', Georgia, serif; font-size: 1.05rem; line-height: 1.6; }
.fza-hero-side { display: grid; gap: 26px; }
.fza-count { display: flex; align-items: baseline; gap: 12px; }
.fza-count strong { color: var(--fz-red); font-family: 'Newsreader', Georgia, serif; font-size: 3.4rem; font-weight: 700; letter-spacing: -.016em; line-height: .9; }
.fza-count span { color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; }
.fza-search { display: flex; align-items: center; border-bottom: 1px solid var(--fz-ink); }
.fza-search input { flex: 1; min-width: 0; padding: 12px 0; border: 0; background: transparent; color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: 1.15rem; outline: 0; }
.fza-search input::placeholder { color: #9a948c; font-style: italic; }
.fza-search input::-webkit-search-cancel-button { display: none; }
.fza-search button { width: 40px; height: 40px; border: 0; background: transparent; color: var(--fz-red); font-size: .9rem; cursor: pointer; transition: transform .2s ease; }
.fza-search button:hover { transform: translateX(4px); }
.fza-search:focus-within { border-bottom-color: var(--fz-red); }
.fza-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.fza-filters a { padding: 8px 14px; border: 1px solid var(--fz-line); color: var(--fz-ink); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.fza-filters a:hover, .fza-filters a.is-active { border-color: var(--fz-ink); background: var(--fz-ink); color: var(--fz-paper); }
.fza-result-note { margin: 26px 0 0; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .7rem; letter-spacing: .06em; }
.fza-result-note a { margin-left: 12px; color: var(--fz-red); text-underline-offset: 4px; }

.fza-initials { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(249,247,243,.92); font-family: 'Newsreader', Georgia, serif; font-size: 3rem; font-weight: 800; letter-spacing: -.020em; }

/* Featured spread */
.fza-featured-wrap { padding-top: 56px; }
.fza-featured { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: #efece6; }
.fza-featured-image { position: relative; display: block; overflow: hidden; min-height: 560px; background: var(--fz-ink); }
.fza-featured-image img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.fza-featured-image:hover img { transform: scale(1.03); }
.fza-featured-image .fza-initials { font-size: 6rem; }
.fza-featured-body { display: flex; flex-direction: column; justify-content: center; padding: 60px 64px; }
.fza-tag { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; }
.fza-tag::before { content: ''; width: 26px; height: 1px; background: var(--fz-red); }
.fza-featured-body h2 { margin: 0 0 30px; font-family: 'Newsreader', Georgia, serif; font-size: clamp(2.4rem, 4.2vw, 3.9rem); font-weight: 700; letter-spacing: -.018em; line-height: .96; }
.fza-featured-body h2 a { color: var(--fz-ink); text-decoration: none; }
.fza-featured-body h2 a:hover { color: var(--fz-red); }
.fza-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 0; margin: 0 0 28px; border-top: 1px solid var(--fz-line); }
.fza-facts div { padding: 14px 16px 14px 0; border-bottom: 1px solid var(--fz-line); }
.fza-facts dt { margin-bottom: 5px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; }
.fza-facts dd { margin: 0; color: var(--fz-ink); font-family: 'Inter', Arial, sans-serif; font-size: .86rem; font-weight: 600; }
.fza-featured-bio { margin: 0 0 30px; padding-left: 24px; border-left: 2px solid var(--fz-red); color: #2d2a27; font-family: 'Newsreader', Georgia, serif; font-size: 1.12rem; font-style: italic; line-height: 1.55; }

/* Index grid */
.fza-index { padding-top: 76px; }
.fza-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 52px 28px; }
.fza-card-image { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 4; background: var(--fz-ink); }
.fza-card-image img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter .5s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.fza-card:hover .fza-card-image img { filter: grayscale(0); transform: scale(1.04); }
.fza-card-no { position: absolute; top: 0; left: 0; z-index: 3; padding: 7px 10px 6px; background: var(--fz-paper); color: var(--fz-ink); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .1em; }
.fza-card-hover { position: absolute; inset: auto 0 0; z-index: 2; display: block; padding: 46px 18px 18px; background: linear-gradient(0deg, rgba(10,9,8,.9), rgba(10,9,8,0)); color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: .8rem; line-height: 1.5; opacity: 0; transform: translateY(12px); transition: opacity .35s ease, transform .35s ease; }
.fza-card-hover span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.fza-card:hover .fza-card-hover, .fza-card-image:focus-visible .fza-card-hover { opacity: 1; transform: translateY(0); }
.fza-card-body { position: relative; padding-top: 16px; }
.fza-card-body::before { content: ''; position: absolute; top: 0; left: 0; width: 28px; height: 2px; background: var(--fz-red); transition: width .35s ease; }
.fza-card:hover .fza-card-body::before { width: 100%; }
.fza-card-body h3 { margin: 0 0 7px; font-family: 'Newsreader', Georgia, serif; font-size: 1.3rem; font-weight: 700; letter-spacing: -.010em; line-height: 1.12; }
.fza-card-body h3 a { color: var(--fz-ink); text-decoration: none; }
.fza-card-body h3 a:hover { color: var(--fz-red); }
.fza-card-body p { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.fza-card-body p span + span::before { content: '/'; margin-right: 12px; color: var(--fz-line); }
.fza-empty { display: grid; justify-items: start; gap: 18px; padding: 60px 0; }
.fza-empty strong { font-family: 'Newsreader', Georgia, serif; font-size: 1.8rem; }

@media (max-width: 1050px) {
    .fza-hero { padding-top: 48px; }
    .fza-hero-grid { grid-template-columns: 1fr; gap: 30px; }
    .fza-hero-side { grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: 30px; }
    .fza-featured { grid-template-columns: 1fr; }
    .fza-featured-image { min-height: 0; aspect-ratio: 4 / 3; }
    .fza-featured-body { padding: 40px 36px; }
    .fza-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 22px; }
}
@media (max-width: 760px) {
    .fza-page { padding-bottom: 64px; }
    .fza-hero { padding: 36px 0 28px; }
    .fza-eyebrow { margin-bottom: 18px; }
    .fza-hero h1 { font-size: 3rem; }
    .fza-hero p { margin-top: 16px; font-size: .95rem; }
    .fza-hero-side { grid-template-columns: 1fr; gap: 18px; }
    .fza-count strong { font-size: 2.6rem; }
    .fza-filters { margin-top: 24px; }
    .fza-featured-wrap { padding-top: 32px; }
    .fza-featured-body { padding: 28px 22px 30px; }
    .fza-featured-body h2 { margin-bottom: 22px; }
    .fza-featured-bio { font-size: 1rem; }
    .fza-index { padding-top: 48px; }
    .fza-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 14px; }
    .fza-card-hover { display: none; }
    .fza-card-image img { filter: grayscale(.2); }
    .fza-card-body h3 { font-size: 1.04rem; }
    .fza-card-body p { font-size: .66rem; }
}
@media (prefers-reduced-motion: reduce) {
    .fza-card-image img, .fza-featured-image img, .fza-card-hover { transition: none; }
}

/* =====================================================================
 * FIREZZ — Hero slider navigation (editorial table of contents)
 * ===================================================================== */
.fz-home .fz-hero { height: clamp(500px, 46vw, 660px); }
.fz-home .fz-hero-copy { padding-bottom: 150px; }
.fz-home .fz-hero h1 { max-width: 760px; }
.fz-home .fz-hero-shade { background: linear-gradient(90deg, rgba(4,4,4,.88) 0%, rgba(7,7,7,.66) 32%, rgba(7,7,7,.12) 62%, rgba(7,7,7,.04) 100%), linear-gradient(0deg, rgba(4,4,4,.85) 0%, rgba(4,4,4,0) 34%); }
.fz-home .fz-slider-arrow { top: auto; bottom: 120px; width: 46px; height: 46px; transform: none; backdrop-filter: blur(6px); }
.fz-home .fz-slider-prev { left: auto; right: calc(max(18px, (100% - var(--fz-shell)) / 2 + 18px) + 56px); }
.fz-home .fz-slider-next { right: max(18px, calc((100% - var(--fz-shell)) / 2 + 18px)); }
.fz-slider-counter { position: absolute; z-index: 4; right: calc(max(18px, (100% - var(--fz-shell)) / 2 + 18px) + 124px); bottom: 128px; display: flex; align-items: baseline; gap: 6px; color: rgba(255,255,255,.6); font-family: 'IBM Plex Mono', monospace; font-size: .7rem; letter-spacing: .1em; }
.fz-slider-counter strong { color: #fff; font-family: 'Newsreader', Georgia, serif; font-size: 1.9rem; font-weight: 700; letter-spacing: -.012em; line-height: 1; }

.fz-home .fz-slider-dots { left: 0; right: 0; bottom: 0; width: auto; max-width: none; transform: none; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; padding: 0 max(18px, calc((100% - var(--fz-shell)) / 2 + 18px)); background: rgba(10,9,8,.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-top: 1px solid rgba(255,255,255,.14); }
.fz-home .fz-slider-dots button { position: relative; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 14px; align-items: center; min-width: 0; padding: 20px 20px 20px 0; border: 0; background: transparent; color: rgba(255,255,255,.55); text-align: left; cursor: pointer; transition: color .25s ease, background .25s ease; }
.fz-home .fz-slider-dots button + button { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.12); }
.fz-home .fz-slider-dots button:hover { color: rgba(255,255,255,.9); }
.fz-home .fz-slider-dots button.is-active { border-top: 0; color: #fff; }
.fz-dot-progress { position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: rgba(255,255,255,.12); overflow: hidden; }
.fz-home .fz-slider-dots button + button .fz-dot-progress { left: 0; }
.fz-dot-progress::after { content: ''; position: absolute; inset: 0; background: var(--fz-red); transform: scaleX(0); transform-origin: left; }
.fz-slider-dots button.is-active .fz-dot-progress::after { animation: fz-dot-progress 7s linear forwards; }
.fz-hero.is-paused .fz-slider-dots button.is-active .fz-dot-progress::after { animation-play-state: paused; }
@keyframes fz-dot-progress { to { transform: scaleX(1); } }
.fz-dot-thumb { position: relative; display: block; width: 58px; height: 58px; overflow: hidden; background: rgba(255,255,255,.08); }
.fz-dot-thumb img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(.75); transition: filter .35s ease, transform .5s ease; }
.fz-slider-dots button:hover .fz-dot-thumb img { filter: grayscale(.3) brightness(.9); }
.fz-slider-dots button.is-active .fz-dot-thumb img { filter: none; transform: scale(1.06); }
.fz-slider-dots button.is-active .fz-dot-thumb { box-shadow: 0 0 0 2px var(--fz-red); }
.fz-dot-text { display: grid; gap: 6px; min-width: 0; }
.fz-dot-no { display: flex; align-items: baseline; gap: 10px; min-width: 0; font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .12em; }
.fz-dot-no em { overflow: hidden; color: #ff8c94; font-style: normal; font-size: .66rem; letter-spacing: .16em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.fz-home .fz-slider-dots button small { display: -webkit-box; overflow: hidden; color: inherit; font-family: 'Newsreader', Georgia, serif; font-size: .86rem; font-weight: 600; letter-spacing: -.005em; line-height: 1.22; text-overflow: clip; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* The stream may contain many recent posts. Keep every slide reachable and
   let the table-of-contents strip scroll instead of squeezing its titles. */
.fz-home .fz-slider-dots { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scroll-snap-type: x proximity; }
.fz-home .fz-slider-dots button { flex: 0 0 clamp(170px, 18.4vw, 260px); scroll-snap-align: start; }

@media (max-width: 1260px) {
    .fz-home .fz-slider-dots button { grid-template-columns: 1fr; gap: 0; padding-top: 18px; padding-bottom: 18px; }
    .fz-dot-thumb { display: none; }
}
@media (max-width: 1050px) {
    .fz-home .fz-slider-dots button:nth-child(n+5) { display: grid; }
    .fz-home .fz-slider-dots button small { font-size: .78rem; }
}
@media (max-width: 760px) {
    .fz-home .fz-hero { height: 500px; }
    .fz-home .fz-hero-copy { padding-bottom: 92px; }
    .fz-slider-counter { right: 16px; bottom: 34px; }
    .fz-slider-counter strong { font-size: 1.4rem; }
    .fz-home .fz-slider-dots { left: 16px; right: 96px; bottom: 30px; padding: 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border: 0; gap: 6px; }
    .fz-home .fz-slider-dots button, .fz-home .fz-slider-dots button + button { display: block !important; height: 24px; padding: 0; border: 0; }
    .fz-home .fz-slider-dots button .fz-dot-text, .fz-home .fz-slider-dots button .fz-dot-thumb { display: none; }
    .fz-dot-progress { top: 11px; height: 2px; background: rgba(255,255,255,.3); }
}
@media (prefers-reduced-motion: reduce) {
    .fz-slider-dots button.is-active .fz-dot-progress::after { animation: none; transform: scaleX(1); }
}

/* Hero fits the first screen: header + slider never exceed the viewport height. */
.fz-home .fz-hero { height: clamp(430px, calc(100vh - 102px), 600px); height: clamp(430px, calc(100svh - 102px), 600px); }
.fz-home .fz-hero h1 { font-size: clamp(2rem, min(3.8vw, 7.2vh), 4rem); }
.fz-home .fz-hero p { -webkit-line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.fz-home .fz-hero-copy { padding-top: 24px; padding-bottom: 130px; }
.fz-home .fz-slider-dots button { padding-top: 15px; padding-bottom: 15px; }
.fz-dot-thumb { width: 50px; height: 50px; }
.fz-home .fz-slider-dots button { grid-template-columns: 50px minmax(0, 1fr); }
.fz-home .fz-slider-arrow { bottom: 104px; width: 42px; height: 42px; }
.fz-slider-counter { bottom: 110px; right: calc(max(18px, (100% - var(--fz-shell)) / 2 + 18px) + 116px); }
.fz-home .fz-slider-prev { right: calc(max(18px, (100% - var(--fz-shell)) / 2 + 18px) + 52px); }
@media (max-height: 640px) and (min-width: 761px) {
    .fz-home .fz-hero p { -webkit-line-clamp: 2; }
    .fz-home .fz-hero-edition { margin-bottom: 10px; }
}
@media (max-width: 1260px) {
    .fz-home .fz-slider-dots button { grid-template-columns: 1fr; }
}
@media (max-width: 1050px) {
    .fz-home .fz-hero { height: clamp(420px, calc(100vh - 82px), 560px); height: clamp(420px, calc(100svh - 82px), 560px); }
}
@media (max-width: 760px) {
    .fz-home .fz-hero { height: clamp(400px, calc(100vh - 70px), 500px); height: clamp(400px, calc(100svh - 70px), 500px); }
    .fz-home .fz-hero h1 { font-size: clamp(1.9rem, 8.6vw, 2.5rem); }
    .fz-home .fz-hero p { -webkit-line-clamp: 2; }
    .fz-home .fz-hero-copy { padding-bottom: 88px; }
    .fz-slider-counter { right: 16px; bottom: 34px; }
}


/* =====================================================================
 * FIREZZ — Typography (readability pass)
 * Newsreader: editorial serif built for long-form reading, full Turkish and
 * Kurdish (ê î û ş ğ İ) support. Inter for UI, IBM Plex Mono for labels.
 * The FIREZZ wordmark keeps Playfair Display.
 * ===================================================================== */
body.theme-firezz {
    --font-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    --font-display: 'Newsreader', Georgia, serif;
    font-family: 'Inter', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: 'kern', 'liga';
}
body.theme-firezz h1, body.theme-firezz h2, body.theme-firezz h3, body.theme-firezz h4 { font-optical-sizing: auto; }
body.theme-firezz .fz-hero h1 { font-weight: 600; letter-spacing: -.02em; line-height: 1.02; }
body.theme-firezz .fz-dot-no em, body.theme-firezz .fz-kicker { letter-spacing: .06em; }
/* Long-form reading text */
body.theme-firezz .article-body, body.theme-firezz .col-article-body, body.theme-firezz .artist-profile-bio, body.theme-firezz .page-content .article-body {
    font-family: 'Newsreader', Georgia, serif;
    font-size: 1.16rem;
    line-height: 1.75;
    color: #2a2724;
}
body.theme-firezz .artist-profile-bio { font-size: 1.12rem; line-height: 1.8; }
body.theme-firezz .article-body p, body.theme-firezz .col-article-body p { margin-bottom: 1.25em; }
body.theme-firezz .article-summary, body.theme-firezz .col-article-summary { font-family: 'Newsreader', Georgia, serif; font-size: 1.3rem; font-style: italic; line-height: 1.55; color: #3a3632; }

/* =====================================================================
 * FIREZZ — Mobile refinement (≤ 760px)
 * Quiet header, editorial full-screen menu, slider text below the image.
 * ===================================================================== */
@media (max-width: 760px) {
    /* Header: logo left, tools right; sticky with a hairline */
    html body.theme-firezz .main-nav { position: sticky; top: 0; height: 64px; background: var(--fz-paper); border-bottom: 1px solid rgba(24,23,22,.1); }
    html body.theme-firezz .main-nav .nav-inner { grid-template-columns: minmax(0, 1fr) auto 44px; gap: 2px; }
    html body.theme-firezz .main-nav .nav-logo { grid-column: 1; grid-row: 1; }
    html body.theme-firezz .main-nav .nav-actions { grid-column: 2; grid-row: 1; }
    html body.theme-firezz .main-nav .lang-switcher { display: none !important; }
    html body.theme-firezz .main-nav .search-toggle { width: 44px; height: 44px; color: var(--fz-ink); font-size: .95rem; }

    /* Menu button: a compact editorial frame rather than a floating circle. */
    html body.theme-firezz .main-nav .nav-toggle { position: relative; z-index: 1302; grid-column: 3; grid-row: 1; width: 42px; height: 36px; padding: 0; gap: 0; border: 1px solid rgba(24,23,22,.62); border-radius: 0; background: var(--fz-paper); box-shadow: none; justify-self: end; }
    html body.theme-firezz .main-nav .nav-toggle:hover, body.theme-firezz .main-nav .nav-toggle:focus-visible { border-color: var(--fz-red); background: var(--fz-red); box-shadow: none; transform: none; outline: 0; }
    html body.theme-firezz .main-nav .nav-toggle:focus-visible { outline: 1px solid var(--fz-red); outline-offset: 3px; }
    html body.theme-firezz .main-nav .nav-toggle span { position: absolute; right: 9px; width: 22px; height: 1px; margin: 0; background: var(--fz-ink); transition: transform .3s cubic-bezier(.2,.7,.2,1), width .3s ease, opacity .2s ease, top .3s ease, background .2s ease; }
    html body.theme-firezz .main-nav .nav-toggle:hover span, html body.theme-firezz .main-nav .nav-toggle:focus-visible span, html body.theme-firezz .main-nav .nav-toggle.open span { background: #fff; }
    html body.theme-firezz .main-nav .nav-toggle span:nth-child(1) { top: 13px; }
    html body.theme-firezz .main-nav .nav-toggle span:nth-child(2) { top: 21px; width: 13px; }
    html body.theme-firezz .main-nav .nav-toggle span:nth-child(3) { display: none; }
    html body.theme-firezz .main-nav .nav-toggle:hover span:nth-child(2) { width: 24px; }
    html body.theme-firezz .main-nav .nav-toggle.open { border-color: var(--fz-red); background: var(--fz-red); }
    html body.theme-firezz .main-nav .nav-toggle.open span:nth-child(1) { top: 17px; transform: rotate(45deg); }
    html body.theme-firezz .main-nav .nav-toggle.open span:nth-child(2) { top: 17px; width: 22px; opacity: 1; transform: rotate(-45deg); }
    html body.theme-firezz .main-nav .nav-toggle.open span:nth-child(3) { opacity: 0; transform: none; }

    /* Full-screen editorial menu */
    html body.theme-firezz .main-nav .nav-menu { z-index: 1301; top: 0; right: 0; left: 0; width: 100vw; height: 100dvh; max-height: none; padding: 92px 26px 34px; background: var(--fz-paper); box-shadow: none; counter-reset: fz-menu; transform: translate3d(0, -12px, 0); transition: opacity .28s ease, transform .35s cubic-bezier(.2,.75,.25,1), visibility 0s linear .35s; }
    html body.theme-firezz .main-nav .nav-menu.open, body.theme-firezz .main-nav .nav-menu.active { transform: translate3d(0, 0, 0); transition-delay: 0s; }
    html body.theme-firezz .main-nav .nav-menu > .nav-item { border: 0; opacity: 0; transform: translateY(8px); transition: opacity .35s ease, transform .4s cubic-bezier(.2,.7,.2,1); }
    html body.theme-firezz .main-nav .nav-menu.open > .nav-item { opacity: 1; transform: none; }
    html body.theme-firezz .main-nav .nav-menu.open > .nav-item:nth-child(2) { transition-delay: .03s; }
    html body.theme-firezz .main-nav .nav-menu.open > .nav-item:nth-child(3) { transition-delay: .06s; }
    html body.theme-firezz .main-nav .nav-menu.open > .nav-item:nth-child(4) { transition-delay: .09s; }
    html body.theme-firezz .main-nav .nav-menu.open > .nav-item:nth-child(5) { transition-delay: .12s; }
    html body.theme-firezz .main-nav .nav-menu.open > .nav-item:nth-child(6) { transition-delay: .15s; }
    html body.theme-firezz .main-nav .nav-menu.open > .nav-item:nth-child(7) { transition-delay: .18s; }
    html body.theme-firezz .main-nav .nav-menu.open > .nav-item:nth-child(n+8) { transition-delay: .21s; }
    html body.theme-firezz .main-nav .nav-menu > .nav-item:not(.fz-mobile-languages) { counter-increment: fz-menu; }
    html body.theme-firezz .main-nav .nav-menu .nav-link { display: flex; align-items: baseline; justify-content: flex-start; gap: 16px; padding: 13px 0; border-bottom: 1px solid rgba(24,23,22,.1); color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: 1.7rem; font-weight: 500; letter-spacing: -.01em; line-height: 1.1; white-space: normal; }
    html body.theme-firezz .main-nav .nav-menu .nav-link::before { content: counter(fz-menu, decimal-leading-zero); order: -1; flex: 0 0 auto; color: var(--fz-red); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; font-weight: 400; letter-spacing: .08em; }
    html body.theme-firezz .main-nav .nav-menu .nav-link::after { display: none; }
    html body.theme-firezz .main-nav .nav-menu .nav-link:active { color: var(--fz-red); }
    html body.theme-firezz .main-nav .has-megamenu > .nav-link::before { content: counter(fz-menu, decimal-leading-zero); font-family: 'IBM Plex Mono', monospace; }
    html body.theme-firezz .main-nav .megamenu-link { font-family: 'Inter', Arial, sans-serif; font-size: .95rem; }

    /* Languages sit at the foot of the menu */
    html body.theme-firezz .main-nav .fz-mobile-languages { order: 99; width: 100%; margin: auto 0 0; padding: 28px 0 0; border-top: 0; gap: 8px; }
    html body.theme-firezz .main-nav .fz-mobile-languages span { flex: 0 0 auto; margin-right: 8px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .14em; }
    html body.theme-firezz .main-nav .fz-mobile-languages a { flex: 0 0 44px; height: 36px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(24,23,22,.2); border-radius: 999px; font-family: 'IBM Plex Mono', monospace; font-size: .7rem; }
    html body.theme-firezz .main-nav .fz-mobile-languages a.active { border-color: var(--fz-ink); background: var(--fz-ink); color: var(--fz-paper); }
    html body.theme-firezz .nav-overlay { display: none !important; }
    html body.theme-firezz:has(.nav-menu.open) { overflow: hidden; }
    html body.theme-firezz:has(.nav-menu.open) .main-nav .search-toggle { visibility: hidden; }

    /* Slider: image on top, text in its own dark band underneath */
    .fz-home .fz-hero { height: calc(64vw + 292px); background: var(--fz-ink); }
    .fz-home .fz-hero-image { height: 64vw; bottom: auto; }
    .fz-home .fz-hero-shade { bottom: auto; height: 64vw; background: linear-gradient(0deg, var(--fz-ink) 0%, rgba(24,23,22,0) 32%); }
    .fz-home .fz-hero-copy { position: absolute; top: calc(64vw - 18px); right: 0; bottom: 0; left: 0; width: auto; height: auto; margin: 0; padding: 0 18px 70px; justify-content: flex-start; }
    .fz-home .fz-hero-edition { display: none; }
    .fz-home .fz-hero .fz-kicker { display: inline-block; margin-bottom: 12px; padding: 5px 9px 4px; background: var(--fz-red); color: #fff; font-size: .62rem; letter-spacing: .1em; }
    .fz-home .fz-hero h1 { display: -webkit-box; overflow: hidden; max-width: none; font-size: 1.62rem; line-height: 1.12; letter-spacing: -.01em; -webkit-box-orient: vertical; -webkit-line-clamp: 3; padding-top: .14em; margin-top: -.14em; }
    .fz-home .fz-hero p { margin: 10px 0 14px; color: rgba(255,255,255,.72); font-size: .92rem; line-height: 1.5; -webkit-line-clamp: 2; }
    .fz-home .fz-hero .fz-text-link { color: #fff; font-family: 'Inter', Arial, sans-serif; font-size: .82rem; font-weight: 600; }
    .fz-home .fz-slider-dots { left: 18px; right: 96px; bottom: 26px; }
    .fz-slider-counter { right: 18px; bottom: 20px; }
    .fz-slider-counter strong { font-size: 1.3rem; }
    .fz-dot-progress { background: rgba(255,255,255,.22); }

    /* General mobile rhythm */
    .fz-shell { width: min(calc(100% - 36px), var(--fz-shell)); }
    .fzm-section { padding-top: 48px; }
    .fzm-head h2 { font-size: 1.75rem; }
    .fzm-head-no { font-size: .7rem; }
    .fzm-cover-body h3 { font-size: 1.7rem; line-height: 1.1; }
    .fzm-dropcap { font-size: 1.02rem; }
    .fzm-card-row { gap: 30px 14px; }
    .fzm-card h3 { font-size: 1.05rem; line-height: 1.2; }
    .fzm-briefs a { font-size: 1.05rem; }
}
@media (max-width: 380px) {
    .fz-home .fz-hero { height: calc(64vw + 300px); }
    .fz-home .fz-hero h1 { font-size: 1.45rem; }
}

/* Line-clamped uppercase titles: keep Turkish accents (İ, Ğ, Ş) inside the clip box. */
.fz-home .fz-slider-dots button small, .fzm-writer-story, .fza-card-hover span { padding-top: .12em; }

/* Search dropdown: underlined editorial field */
html body.theme-firezz .search-dropdown .search-form { display: flex; align-items: center; gap: 12px; padding: 14px 0 16px; border: 0; background: transparent; }
html body.theme-firezz .search-dropdown .search-icon { position: static; flex: 0 0 auto; color: var(--fz-muted); font-size: .95rem; }
html body.theme-firezz .search-dropdown .search-input { flex: 1; min-width: 0; height: 44px; padding: 0 2px; border: 0; border-bottom: 1px solid rgba(24,23,22,.35); border-radius: 0; background: transparent; color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: 1.2rem !important; outline: 0; box-shadow: none; }
html body.theme-firezz .search-dropdown .search-input::placeholder { color: #9a948c; font-style: italic; }
html body.theme-firezz .search-dropdown .search-input:focus, html body.theme-firezz .search-dropdown .search-input:focus-visible { outline: 0; border-bottom-color: var(--fz-red); }
html body.theme-firezz .search-dropdown .search-submit { flex: 0 0 auto; height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--fz-ink); color: var(--fz-paper); font-family: 'IBM Plex Mono', monospace; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
html body.theme-firezz .search-dropdown .search-submit:hover { background: var(--fz-red); }
@media (max-width: 760px) {
    html body.theme-firezz .main-nav .nav-menu { scrollbar-width: none; overflow-x: hidden; }
    html body.theme-firezz .main-nav .nav-menu::-webkit-scrollbar { display: none; }
    html body.theme-firezz .main-nav .nav-menu .fz-mobile-languages { border: 0 !important; box-shadow: none; }
}

/* =====================================================================
 * FIREZZ — Article detail (editorial reading layout)
 * ===================================================================== */
.fzr-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 1400; height: 3px; pointer-events: none; }
.fzr-progress span { display: block; height: 100%; background: var(--fz-red); transform: scaleX(0); transform-origin: left; }
.fzr-shell { width: min(calc(100% - 36px), 720px); margin: 0 auto; }
.fzr-shell--wide { width: min(calc(100% - 36px), 1100px); }
.fzr-head { padding: 56px 0 40px; text-align: center; }
.fzr-crumbs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 26px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.fzr-crumbs a { color: var(--fz-red); text-decoration: none; }
.fzr-crumbs a:first-child { color: var(--fz-ink); }
.fzr-crumbs a:hover { text-decoration: underline; text-underline-offset: 4px; }
html body.theme-firezz .fzr-title { max-width: 980px; margin: 0 auto; color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: clamp(2.3rem, 5vw, 4.2rem); font-weight: 600; letter-spacing: -.02em; line-height: 1.04; overflow-wrap: break-word; }
.fzr-dek { max-width: 760px; margin: 24px auto 0; color: #3d3935; font-family: 'Newsreader', Georgia, serif; font-size: 1.32rem; font-style: italic; line-height: 1.5; }
.fzr-byline { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 34px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--fz-line); }
.fzr-byline small { display: block; margin-bottom: 3px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; }
.fzr-byline-author { display: inline-flex; align-items: center; gap: 12px; color: var(--fz-ink); text-align: left; text-decoration: none; }
.fzr-byline-author strong { font-family: 'Inter', Arial, sans-serif; font-size: .92rem; font-weight: 600; }
.fzr-byline-author:hover strong { color: var(--fz-red); }
.fzr-byline-item { text-align: left; font-family: 'Inter', Arial, sans-serif; font-size: .92rem; }
.fzr-avatar { position: relative; flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--fz-ink); color: var(--fz-paper); font-family: 'Newsreader', Georgia, serif; font-size: 1rem; font-weight: 600; text-decoration: none; }
.fzr-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #ece8e1; }
.fzr-avatar--lg { flex-basis: 96px; width: 96px; height: 96px; font-size: 2rem; }

/* Cover: shown whole at its own proportions — never stretched or cropped. */
.fzr-cover { width: min(calc(100% - 36px), 1200px); margin: 0 auto 56px; }
.fzr-cover img { display: block; width: auto; max-width: 100%; height: auto; max-height: 82vh; margin: 0 auto; }

html body.theme-firezz .fzr-body { color: #26231f; font-family: 'Newsreader', Georgia, serif; font-size: 1.22rem; line-height: 1.78; overflow-wrap: break-word; }
html body.theme-firezz .fzr-body p, html body.theme-firezz .fzr-body .MsoNormal { margin: 0 0 1.35em; }
html body.theme-firezz .fzr-body > p:first-of-type::first-letter { float: left; margin: .08em .12em 0 0; color: var(--fz-red); font-size: 4.2em; font-weight: 700; line-height: .78; }
html body.theme-firezz .fzr-body h2, html body.theme-firezz .fzr-body h3 { margin: 2em 0 .7em; font-family: 'Newsreader', Georgia, serif; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
html body.theme-firezz .fzr-body h2 { font-size: 1.8rem; }
html body.theme-firezz .fzr-body h3 { font-size: 1.45rem; }
html body.theme-firezz .fzr-body a { color: var(--fz-red); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
html body.theme-firezz .fzr-body blockquote { margin: 2em 0; padding: 0 0 0 26px; border-left: 2px solid var(--fz-red); color: #2d2a27; font-size: 1.4rem; font-style: italic; line-height: 1.5; }
/* Body images: keep natural proportions whatever width/height/style the editor pasted. */
html body.theme-firezz .fzr-body img { display: block; width: auto !important; max-width: 100% !important; height: auto !important; max-height: 88vh; margin: 2.2em auto; float: none !important; object-fit: contain; }
html body.theme-firezz .fzr-body p:has(> img:only-child), html body.theme-firezz .fzr-body p:has(> span > img:only-child) { margin: 0; text-indent: 0; }
html body.theme-firezz .fzr-body figure { margin: 2.2em 0; }
html body.theme-firezz .fzr-body figcaption, html body.theme-firezz .fzr-body .wp-caption-text { margin-top: -1.4em; padding-top: 10px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .74rem; letter-spacing: .03em; line-height: 1.5; text-align: center; }
html body.theme-firezz .fzr-body iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; margin: 2em 0; }
html body.theme-firezz .fzr-body table { width: 100%; font-size: .95rem; }

.fzr-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 26px; padding-top: 18px; border-top: 1px solid var(--fz-ink); }
.fzr-section-head h2 { margin: 0; font-family: 'Newsreader', Georgia, serif; font-size: 1.9rem; font-weight: 600; letter-spacing: -.015em; }
.fzr-section-head span, .fzr-section-head a { color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .72rem; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.fzr-section-head a:hover { color: var(--fz-red); }
.fzr-gallery { margin: 56px 0 0; }
.fzr-gallery-grid { columns: 2; column-gap: 14px; }
.fzr-gallery-grid a { display: block; margin-bottom: 14px; break-inside: avoid; }
.fzr-gallery-grid img { display: block; width: 100%; height: auto; }

html body.theme-firezz .fzr-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 56px 0 0; padding: 20px 0; border-top: 1px solid var(--fz-line); border-bottom: 1px solid var(--fz-line); }
html body.theme-firezz .fzr-share .share-label { margin-right: 10px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
html body.theme-firezz .fzr-share .share-btn { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--fz-line); border-radius: 50%; background: transparent; color: var(--fz-ink); font-size: .9rem; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease; }
html body.theme-firezz .fzr-share .share-btn:hover { border-color: var(--fz-ink); background: var(--fz-ink); color: var(--fz-paper); }

.fzr-author { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 24px; margin: 44px 0 0; padding: 30px; background: #efece6; }
.fzr-author small { display: block; margin-bottom: 6px; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; }
.fzr-author h3 { margin: 0 0 10px; font-family: 'Newsreader', Georgia, serif; font-size: 1.5rem; font-weight: 600; }
.fzr-author h3 a { color: var(--fz-ink); text-decoration: none; }
.fzr-author p { margin: 0 0 14px; color: #3d3935; font-family: 'Newsreader', Georgia, serif; font-size: 1.02rem; line-height: 1.6; }

.fzr-related { margin-top: 88px; padding: 0 0 8px; }
.fzr-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
.fzr-related-image { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 2; margin-bottom: 16px; background: #e7e3dc; }
.fzr-related-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.fzr-related-card:hover .fzr-related-image img { transform: scale(1.035); }
.fzr-related-card h3 { margin: 0 0 8px; font-family: 'Newsreader', Georgia, serif; font-size: 1.28rem; font-weight: 600; line-height: 1.2; }
.fzr-related-card h3 a { color: var(--fz-ink); text-decoration: none; }
.fzr-related-card h3 a:hover { color: var(--fz-red); }
.fzr-related-card p { margin: 0; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .68rem; letter-spacing: .04em; }

.fzr-comments { margin-top: 80px; padding-bottom: 80px; }
.fzr-comment-list { display: grid; gap: 22px; margin-bottom: 34px; }
.fzr-comment { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; }
.fzr-comment p { margin: 0; font-family: 'Newsreader', Georgia, serif; font-size: 1.05rem; line-height: 1.6; }
.fzr-comment-meta { display: flex; gap: 12px; align-items: baseline; margin-bottom: 4px !important; font-family: 'Inter', Arial, sans-serif !important; font-size: .88rem !important; }
.fzr-comment-meta time { color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .68rem; }
.fzr-comment-form h3 { margin: 0 0 16px; font-family: 'Newsreader', Georgia, serif; font-size: 1.35rem; font-weight: 600; }
.fzr-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.fzr-comment-form input, .fzr-comment-form textarea { width: 100%; padding: 14px 2px; border: 0; border-bottom: 1px solid rgba(24,23,22,.3); border-radius: 0; background: transparent; color: var(--fz-ink); font-family: 'Newsreader', Georgia, serif; font-size: 1.08rem !important; outline: 0; }
.fzr-comment-form textarea { min-height: 120px; resize: vertical; }
.fzr-comment-form input:focus, .fzr-comment-form textarea:focus { border-bottom-color: var(--fz-red); outline: 0; }
.fzr-comment-form .comment-submit { margin-top: 20px; padding: 13px 28px; border: 0; border-radius: 999px; background: var(--fz-ink); color: var(--fz-paper); font-family: 'IBM Plex Mono', monospace; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.fzr-comment-form .comment-submit:hover { background: var(--fz-red); }
.fzr-comment-form .comment-form-msg { margin-top: 12px; font-size: .9rem; }

@media (max-width: 1050px) {
    .fzr-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .fzr-head { padding: 32px 0 26px; text-align: left; }
    .fzr-crumbs { justify-content: flex-start; margin-bottom: 18px; font-size: .64rem; }
    html body.theme-firezz .fzr-title { font-size: 2.1rem; line-height: 1.08; }
    .fzr-dek { margin-top: 16px; font-size: 1.12rem; }
    .fzr-byline { justify-content: flex-start; gap: 14px 22px; margin-top: 24px; padding-top: 18px; }
    .fzr-cover { width: 100%; margin-bottom: 34px; }
    .fzr-cover img { width: 100%; max-height: none; }
    html body.theme-firezz .fzr-body { font-size: 1.12rem; line-height: 1.72; }
    html body.theme-firezz .fzr-body img { margin: 1.6em auto; max-height: none; }
    .fzr-author { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 22px 18px; }
    .fzr-avatar--lg { width: 64px; height: 64px; flex-basis: 64px; font-size: 1.4rem; }
    .fzr-related { margin-top: 56px; }
    .fzr-related-grid { grid-template-columns: 1fr; gap: 22px; }
    .fzr-related-card { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 0 14px; align-items: start; }
    .fzr-related-image { grid-row: 1 / 4; margin: 0; aspect-ratio: 1; }
    .fzr-related-card h3 { font-size: 1.05rem; }
    .fzr-form-row { grid-template-columns: 1fr; }
    .fzr-comments { margin-top: 56px; padding-bottom: 56px; }
}
html body.theme-firezz .fzr-comments.comments-section { background: transparent; border: 0; box-shadow: none; max-width: none; }

/* Article photo plates, notes and lightbox */
html body.theme-firezz .fzr-body .fzr-plate { width: min(1040px, calc(100vw - 36px)); margin: 3.2rem 0 3.4rem 50%; transform: translateX(-50%); }
html body.theme-firezz .fzr-body .fzr-plate-media { display: grid; gap: 14px; }
html body.theme-firezz .fzr-body .fzr-plate--multi .fzr-plate-media { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); align-items: start; }
html body.theme-firezz .fzr-body .fzr-plate img { display: block; width: auto !important; max-width: 100% !important; height: auto !important; max-height: 86vh; margin: 0 auto; cursor: zoom-in; box-shadow: 0 1px 0 rgba(24,23,22,.06); transition: opacity .2s ease; }
html body.theme-firezz .fzr-body .fzr-plate img:hover { opacity: .94; }
html body.theme-firezz .fzr-body .fzr-plate img:focus-visible { outline: 2px solid var(--fz-red); outline-offset: 4px; }
html body.theme-firezz .fzr-body .fzr-plate figcaption { max-width: 720px; margin: 14px auto 0; padding: 12px 0 0; border-top: 1px solid var(--fz-line); color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .76rem; font-style: normal; letter-spacing: .02em; line-height: 1.55; text-align: left; }
html body.theme-firezz .fzr-body .fzr-plate figcaption em, html body.theme-firezz .fzr-body .fzr-plate figcaption i { color: var(--fz-ink); font-style: italic; }
html body.theme-firezz .fzr-body .fzr-notes { margin: 3.5rem 0 0; padding-top: 1.2rem; border-top: 1px solid var(--fz-ink); }
html body.theme-firezz .fzr-body .fzr-notes h2 { margin: 0 0 1rem; color: var(--fz-muted); font-family: 'IBM Plex Mono', monospace; font-size: .74rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
html body.theme-firezz .fzr-body .fzr-notes ol { margin: 0; padding-left: 1.4rem; }
html body.theme-firezz .fzr-body .fzr-notes li { margin: 0 0 .6rem; padding-left: .3rem; color: #4a4540; font-family: 'Newsreader', Georgia, serif; font-size: .98rem; line-height: 1.55; }
html body.theme-firezz .fzr-body .fzr-notes li::marker { color: var(--fz-red); font-family: 'IBM Plex Mono', monospace; font-size: .8em; }

.fzr-lightbox { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 56px 20px 28px; background: rgba(14,13,12,.94); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility 0s linear .25s; }
.fzr-lightbox.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.fzr-lightbox figure { margin: 0; max-width: min(1400px, 100%); text-align: center; }
.fzr-lightbox img { display: block; max-width: 100%; max-height: calc(100vh - 150px); margin: 0 auto; object-fit: contain; }
.fzr-lightbox figcaption { margin-top: 14px; color: rgba(255,255,255,.75); font-family: 'IBM Plex Mono', monospace; font-size: .78rem; letter-spacing: .02em; }
.fzr-lightbox-close { position: absolute; top: 12px; right: 16px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: transparent; color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.fzr-lightbox-close:hover { background: var(--fz-red); border-color: var(--fz-red); }
@media (max-width: 760px) {
    html body.theme-firezz .fzr-body .fzr-plate { width: 100vw; margin: 2.2rem 0 2.4rem 50%; }
    html body.theme-firezz .fzr-body .fzr-plate img { max-height: none; width: 100% !important; }
    html body.theme-firezz .fzr-body .fzr-plate figcaption { margin: 10px 18px 0; font-size: .72rem; }
}
html body.theme-firezz .fzr-body .fzr-plate figcaption *, .fzr-lightbox figcaption * { color: inherit !important; font-family: inherit !important; font-size: inherit !important; background: none !important; }
html body.theme-firezz .fzr-body .fzr-plate figcaption em, html body.theme-firezz .fzr-body .fzr-plate figcaption i { color: var(--fz-ink) !important; }


/* =====================================================================
 * FIREZZ — Original logo (image)
 * ===================================================================== */
html body.theme-firezz .main-nav .nav-logo { display: flex; align-items: center; width: 240px; flex: 0 0 240px; padding: 0; }
html body.theme-firezz .main-nav .nav-logo img.fz-logo-img { display: block; width: 100%; height: auto; }
html body.theme-firezz .fz-footer-logo { display: inline-block; width: 240px; max-width: 100%; font-size: 0; line-height: 0; }
html body.theme-firezz .fz-footer-logo img { display: block; width: 100%; height: auto; }
@media (max-width: 1260px) {
    html body.theme-firezz .main-nav .nav-logo { width: 200px; flex-basis: 200px; }
}
@media (max-width: 1050px) {
    html body.theme-firezz .main-nav .nav-logo { width: 176px; flex-basis: 176px; }
}
@media (max-width: 760px) {
    html body.theme-firezz .main-nav .nav-logo { width: clamp(148px, 49vw, 188px); flex: 0 1 clamp(148px, 49vw, 188px); min-width: 0; }
    html body.theme-firezz .fz-logo-wordmark { font-size: clamp(1.96rem, 8.6vw, 2.32rem); }
    html body.theme-firezz .fz-logo-caption { font-size: clamp(.27rem, 1.15vw, .34rem); letter-spacing: .16em; }
    html body.theme-firezz .fz-footer-logo { width: 190px; }
}
@media (max-width: 360px) {
    html body.theme-firezz .main-nav .nav-logo { width: 142px; flex-basis: 142px; }
}

/* =====================================================================
 * FIREZZ — Compact mobile masthead
 * Language choices remain visible beside the mark, while the menu keeps
 * a clear, thumb-friendly control on the far edge of the header.
 * ===================================================================== */
@media (max-width: 760px) {
    html body.theme-firezz .main-nav { height: 68px; }
    html body.theme-firezz .main-nav .container-lg { padding-inline: 14px; }
    html body.theme-firezz .main-nav .nav-inner {
        grid-template-columns: minmax(0, 1fr) auto 44px;
        gap: 7px;
    }
    html body.theme-firezz .main-nav .nav-logo {
        grid-column: 1;
        grid-row: 1;
        width: clamp(116px, 38vw, 148px);
        flex: 0 0 clamp(116px, 38vw, 148px);
        align-self: center;
    }
    html body.theme-firezz .main-nav .nav-logo img.fz-logo-img {
        width: 100%;
        max-width: none;
    }
    html body.theme-firezz .main-nav .nav-actions {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        align-items: center;
        gap: 0;
    }
    html body.theme-firezz .main-nav .lang-switcher {
        display: flex !important;
        align-items: center;
        gap: 1px;
        padding: 3px;
        border: 1px solid rgba(24,23,22,.14);
        border-radius: 999px;
        background: #f1eee8;
    }
    html body.theme-firezz .main-nav .lang-sel {
        min-width: 24px;
        min-height: 28px;
        padding: 0 2px;
        border-radius: 999px;
        color: #5e5954;
        font-size: .6rem;
        line-height: 1;
    }
    html body.theme-firezz .main-nav .lang-sel.active {
        background: var(--fz-red);
        color: #fff;
        text-decoration: none;
    }
    html body.theme-firezz .main-nav .lang-sel.active::after { display: none; }
    html body.theme-firezz .main-nav .search-toggle,
    html body.theme-firezz .main-nav .fz-header-date,
    html body.theme-firezz .main-nav .fz-mobile-languages { display: none !important; }

    /* A compact red menu tile: stable in the header and obvious when open. */
    html body.theme-firezz .main-nav .nav-toggle {
        grid-column: 3;
        grid-row: 1;
        width: 44px;
        height: 40px;
        padding: 0;
        border: 0;
        border-radius: 12px;
        background: var(--fz-red);
        box-shadow: 0 6px 14px rgba(199,19,34,.22);
        justify-self: end;
    }
    html body.theme-firezz .main-nav .nav-toggle:hover,
    html body.theme-firezz .main-nav .nav-toggle:focus-visible,
    html body.theme-firezz .main-nav .nav-toggle.open {
        border: 0;
        background: #a90e1c;
        box-shadow: 0 7px 16px rgba(199,19,34,.28);
    }
    html body.theme-firezz .main-nav .nav-toggle span {
        right: 12px;
        width: 20px;
        height: 1.5px;
        background: #fff;
    }
    html body.theme-firezz .main-nav .nav-toggle span:nth-child(1) { top: 13px; }
    html body.theme-firezz .main-nav .nav-toggle span:nth-child(2) { top: 20px; width: 14px; }
    html body.theme-firezz .main-nav .nav-toggle span:nth-child(3) { display: block; top: 27px; width: 9px; }
    html body.theme-firezz .main-nav .nav-toggle:hover span:nth-child(2),
    html body.theme-firezz .main-nav .nav-toggle:hover span:nth-child(3) { width: 20px; }
    html body.theme-firezz .main-nav .nav-toggle.open span:nth-child(1) { top: 19px; transform: rotate(45deg); }
    html body.theme-firezz .main-nav .nav-toggle.open span:nth-child(2) { top: 19px; width: 20px; opacity: 1; transform: rotate(-45deg); }
    html body.theme-firezz .main-nav .nav-toggle.open span:nth-child(3) { opacity: 0; transform: none; }
}
@media (max-width: 350px) {
    html body.theme-firezz .main-nav .container-lg { padding-inline: 10px; }
    html body.theme-firezz .main-nav .nav-inner { gap: 4px; }
    html body.theme-firezz .main-nav .nav-logo { width: 108px; flex-basis: 108px; }
    html body.theme-firezz .main-nav .lang-sel { min-width: 22px; font-size: .56rem; }
    html body.theme-firezz .main-nav .nav-toggle { width: 40px; }
}
