
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root {
      --ink: #0a0a0a;
      --ink-2: #111111;
      --ink-3: #1a1a1a;
      --smoke: #f0ede8;
      --smoke-2: #d6d2cc;
      --smoke-3: #a09b94;
      --red: #e63b2e;
      --gold: #c9a84c;
      --font-display: 'Bebas Neue', sans-serif;
      --font-serif: 'DM Serif Display', serif;
      --font-mono: 'IBM Plex Mono', monospace;
      --font-body: 'Instrument Sans', sans-serif;
    }

    html { scroll-behavior: smooth; }
    body {
      background: var(--ink);
      color: var(--smoke);
      font-family: var(--font-body);
      overflow-x: hidden;
      cursor: none;
    }

    body::before {
      content: '';
      position: fixed; inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
      pointer-events: none; z-index: 0; opacity: 0.6;
    }

    .cursor { position: fixed; width: 10px; height: 10px; background: var(--red); border-radius: 50%; pointer-events: none; z-index: 9999; transform: translate(-50%,-50%); transition: width .2s, height .2s, background .2s; }
    .cursor-ring { position: fixed; width: 36px; height: 36px; border: 1px solid rgba(230,59,46,.5); border-radius: 50%; pointer-events: none; z-index: 9998; transform: translate(-50%,-50%); transition: width .3s, height .3s; }
    body:has(a:hover) .cursor, body:has(button:hover) .cursor { width: 16px; height: 16px; background: var(--gold); }
    body:has(a:hover) .cursor-ring, body:has(button:hover) .cursor-ring { width: 52px; height: 52px; border-color: rgba(201,168,76,.4); }

    /* NAV */
    nav {
      position: fixed; top: 0; left: 0; right: 0;
      display: flex; align-items: center; justify-content: space-between;
      padding: 20px 48px; z-index: 100;
      border-bottom: 1px solid transparent;
      transition: background .4s, border-color .4s, backdrop-filter .4s;
    }
    nav.scrolled { background: rgba(10,10,10,.85); border-color: rgba(240,237,232,.08); backdrop-filter: blur(12px); }
    .nav-logo { font-family: var(--font-display); font-size: 1.6rem; letter-spacing: .08em; color: var(--smoke); text-decoration: none; }
    .nav-logo span { color: var(--red); }
    .nav-links { display: flex; gap: 36px; list-style: none; }
    .nav-links a { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--smoke-3); text-decoration: none; transition: color .2s; position: relative; }
    .nav-links a::after { content: ''; position: absolute; bottom: -3px; left: 0; right: 0; height: 1px; background: var(--red); transform: scaleX(0); transform-origin: right; transition: transform .3s; }
    .nav-links a:hover { color: var(--smoke); }
    .nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); transform-origin: left; }
    .nav-links a.active { color: var(--smoke); }
    .nav-cta { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); background: var(--smoke); padding: 10px 20px; text-decoration: none; transition: background .2s, color .2s; }
    .nav-cta:hover { background: var(--red); color: #fff; }

    /* PAGE HEADER */
    .page-header {
      padding: 160px 48px 80px;
      border-bottom: 1px solid rgba(240,237,232,.08);
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: flex-end;
      gap: 48px;
      position: relative;
      overflow: hidden;
    }
    .page-header-bg {
      position: absolute;
      top: 50%; right: 48px;
      transform: translateY(-50%);
      font-family: var(--font-display);
      font-size: 18rem;
      color: rgba(240,237,232,.025);
      pointer-events: none;
      line-height: 1;
      letter-spacing: -.02em;
    }
    .header-label {
      font-family: var(--font-mono);
      font-size: .68rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--red);
      margin-bottom: 20px;
      display: flex; align-items: center; gap: 12px;
      opacity: 0; animation: fadeUp .7s ease forwards .1s;
    }
    .header-label::before { content: ''; display: block; width: 28px; height: 1px; background: var(--red); }
    .page-header h1 {
      font-family: var(--font-display);
      font-size: clamp(4rem, 8vw, 8rem);
      line-height: .9;
      letter-spacing: .02em;
      text-transform: uppercase;
      opacity: 0; animation: fadeUp .7s ease forwards .25s;
    }
    .page-header h1 em { font-family: var(--font-serif); font-style: italic; color: var(--red); font-size: .65em; display: block; letter-spacing: 0; }
    .header-right {
      opacity: 0; animation: fadeUp .7s ease forwards .4s;
    }
    .header-desc { font-size: 1rem; line-height: 1.7; color: var(--smoke-3); margin-bottom: 28px; }
    .post-count {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--font-mono);
      font-size: .65rem;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: var(--smoke-3);
      padding: 10px 16px;
      border: 1px solid rgba(240,237,232,.1);
    }
    .count-num { font-size: 1.1rem; color: var(--smoke); font-weight: 500; }

    /* FILTER BAR */
    .filter-bar {
      padding: 28px 48px;
      border-bottom: 1px solid rgba(240,237,232,.06);
      display: flex; align-items: center; gap: 8px;
      overflow-x: auto;
      scrollbar-width: none;
    }
    .filter-bar::-webkit-scrollbar { display: none; }
    .filter-btn {
      font-family: var(--font-mono);
      font-size: .65rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      padding: 8px 18px;
      border: 1px solid rgba(240,237,232,.12);
      background: transparent;
      color: var(--smoke-3);
      cursor: none;
      white-space: nowrap;
      transition: all .2s;
    }
    .filter-btn:hover { color: var(--smoke); border-color: rgba(240,237,232,.3); }
    .filter-btn.active { background: var(--red); border-color: var(--red); color: #fff; }

    /* POSTS LIST */
    .posts-container { padding: 0 48px 100px; }

    /* Featured row at top */
    .featured-row {
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: 2px;
      margin-top: 2px;
    }

    .list-post {
      display: flex;
      border-bottom: 1px solid rgba(240,237,232,.07);
      text-decoration: none;
      padding: 36px 0;
      gap: 32px;
      position: relative;
      transition: padding-left .3s;
    }
    .list-post::before {
      content: '';
      position: absolute; left: 0; top: 0; bottom: 0;
      width: 0; background: var(--red);
      transition: width .3s;
    }
    .list-post:hover { padding-left: 20px; }
    .list-post:hover::before { width: 3px; }

    .list-num {
      font-family: var(--font-display);
      font-size: 1.1rem;
      color: rgba(240,237,232,.15);
      min-width: 44px;
      line-height: 1.2;
      padding-top: 4px;
    }
    .list-content { flex: 1; }
    .list-cat {
      font-family: var(--font-mono);
      font-size: .6rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 10px;
    }
    .list-title {
      font-family: var(--font-serif);
      font-size: clamp(1.15rem, 1.8vw, 1.55rem);
      line-height: 1.25;
      color: var(--smoke);
      margin-bottom: 12px;
      transition: color .2s;
    }
    .list-post:hover .list-title { color: var(--red); }
    .list-excerpt {
      font-size: .88rem;
      line-height: 1.65;
      color: var(--smoke-3);
      max-width: 640px;
    }
    .list-meta {
      display: flex; align-items: center; gap: 20px;
      font-family: var(--font-mono);
      font-size: .6rem;
      letter-spacing: .1em;
      color: rgba(160,155,148,.6);
      margin-top: 18px;
    }
    .list-meta .dot { width: 3px; height: 3px; border-radius: 50%; background: rgba(160,155,148,.4); }
    .list-arrow {
      align-self: center;
      font-size: 1.3rem;
      color: rgba(240,237,232,.15);
      transition: color .2s, transform .2s;
      min-width: 32px;
      text-align: right;
    }
    .list-post:hover .list-arrow { color: var(--red); transform: translateX(6px); }

    /* CARD GRID for featured */
    .card-featured {
      background: var(--ink-2);
      border: 1px solid rgba(240,237,232,.06);
      padding: 36px;
      text-decoration: none;
      display: flex; flex-direction: column;
      position: relative; overflow: hidden;
      transition: border-color .3s, background .3s;
    }
    .card-featured::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--red), var(--gold)); }
    .card-featured:hover { border-color: rgba(230,59,46,.3); background: var(--ink-3); }
    .card-featured:hover .card-f-title { color: var(--red); }
    .card-f-tag { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); margin-bottom: 16px; }
    .card-f-title { font-family: var(--font-serif); font-size: clamp(1.3rem, 2vw, 1.9rem); line-height: 1.2; color: var(--smoke); margin-bottom: 14px; transition: color .2s; }
    .card-f-excerpt { font-size: .88rem; line-height: 1.65; color: var(--smoke-3); flex: 1; margin-bottom: 28px; }
    .card-f-meta { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .1em; color: rgba(160,155,148,.6); display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid rgba(240,237,232,.07); }

    /* LOAD MORE */
    .load-more-wrap { text-align: center; padding: 60px 0 20px; }
    .load-more-btn {
      display: inline-flex; align-items: center; gap: 12px;
      font-family: var(--font-mono); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase;
      color: var(--smoke); background: transparent;
      border: 1px solid rgba(240,237,232,.15);
      padding: 16px 36px; cursor: none;
      transition: all .2s;
    }
    .load-more-btn:hover { background: var(--smoke); color: var(--ink); border-color: var(--smoke); }
    .load-more-btn .spinner { display: none; width: 14px; height: 14px; border: 1.5px solid rgba(10,10,10,.3); border-top-color: var(--ink); border-radius: 50%; animation: spin .7s linear infinite; }
    .load-more-btn.loading .spinner { display: block; }

    /* SIDEBAR STATS */
    .bottom-stats {
      padding: 60px 48px;
      border-top: 1px solid rgba(240,237,232,.07);
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2px;
    }
    .stat-block {
      padding: 32px 24px;
      border: 1px solid rgba(240,237,232,.05);
      background: var(--ink-2);
    }
    .stat-num { font-family: var(--font-display); font-size: 3.5rem; color: var(--smoke); line-height: 1; margin-bottom: 8px; }
    .stat-num span { color: var(--red); }
    .stat-label { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--smoke-3); }

    /* FOOTER */
    footer { border-top: 1px solid rgba(240,237,232,.08); padding: 48px; display: flex; align-items: center; justify-content: space-between; }
    .footer-brand { font-family: var(--font-display); font-size: 1.4rem; letter-spacing: .08em; color: var(--smoke); }
    .footer-brand span { color: var(--red); }
    .footer-links { display: flex; gap: 32px; }
    .footer-links a { font-family: var(--font-mono); font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; color: var(--smoke-3); text-decoration: none; transition: color .2s; }
    .footer-links a:hover { color: var(--smoke); }
    .footer-copy { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .1em; color: rgba(160,155,148,.4); }

    @keyframes fadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
    @keyframes spin { to { transform: rotate(360deg); } }

    .reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    ::-webkit-scrollbar { width: 4px; }
    ::-webkit-scrollbar-track { background: var(--ink); }
    ::-webkit-scrollbar-thumb { background: var(--red); border-radius: 2px; }

    @media (max-width: 900px) {
      nav { padding: 18px 24px; }
      .nav-links, .nav-cta { display: none; }
      .page-header { grid-template-columns: 1fr; padding: 120px 24px 48px; }
      .page-header-bg { display: none; }
      .filter-bar { padding: 20px 24px; }
      .posts-container { padding: 0 24px 60px; }
      .featured-row { grid-template-columns: 1fr; }
      .list-post { padding: 28px 0; }
      .bottom-stats { grid-template-columns: repeat(2, 1fr); padding: 40px 24px; }
      footer { padding: 32px 24px; flex-direction: column; gap: 24px; text-align: center; }
      .footer-links { flex-wrap: wrap; justify-content: center; }
    }
  