        :root {
            --pna-red: #9a1c1b;
            --pna-dark: #080808;
            --pna-card: #121212;
            --pna-text: #f2eee8;
            --pna-muted: #aaa39b;
        }

        body {
            font-family: Helvetica, Arial, sans-serif;
            background:
                radial-gradient(circle at top, rgba(154, 28, 27, .22), transparent 35%),
                linear-gradient(180deg, #111 0%, #050505 100%);
            color: var(--pna-text);
            min-height: 100vh;
            background-color: #000;
        }

        .site-wrap {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        .brand-red {
            color: var(--pna-red);
        }

        .btn-red {
            background: var(--pna-red);
            color: #fff;
            border: 1px solid var(--pna-red);
            border-radius: 999px;
            padding: .85rem 1.25rem;
            font-weight: 700;
            letter-spacing: .03em;
            text-transform: uppercase;
        }

        .btn-red:hover {
            background: #b32221;
            color: #fff;
            border-color: #b32221;
        }

        .btn-outline-light {
            border-radius: 999px;
            padding: .85rem 1.25rem;
            font-weight: 700;
            letter-spacing: .03em;
            text-transform: uppercase;
        }

        .hero {
            padding: 6rem 0 4rem;
        }

        .eyebrow {
            color: var(--pna-red);
            text-transform: uppercase;
            letter-spacing: .22em;
            font-size: .8rem;
            font-weight: 700;
        }

        .hero-title {
            font-size: clamp(3.5rem, 12vw, 8.5rem);
            line-height: .82;
            font-weight: 900;
            letter-spacing: -.08em;
            text-transform: uppercase;
        }

        .hero-copy {
            color: var(--pna-muted);
            font-size: clamp(1.05rem, 2vw, 1.35rem);
            max-width: 740px;
        }

        .info-card {
            background: rgba(18, 18, 18, .82);
            border: 1px solid rgba(255, 255, 255, .08);
            border-radius: 24px;
            padding: 1.5rem;
            height: 100%;
            backdrop-filter: blur(12px);
        }

        .info-card h3 {
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -.03em;
        }

        .info-card p,
        .info-card li {
            color: var(--pna-muted);
        }

        .rule-list {
            padding-left: 1.1rem;
        }

        .date-box {
            border: 1px solid rgba(154, 28, 27, .6);
            border-radius: 24px;
            padding: 1.25rem;
            background: rgba(154, 28, 27, .08);
        }

        .date-box span {
            display: block;
            color: var(--pna-muted);
            text-transform: uppercase;
            font-size: .75rem;
            letter-spacing: .18em;
            margin-bottom: .3rem;
        }

        .date-box strong {
            font-size: 1.6rem;
            text-transform: uppercase;
        }

        footer {
            color: #706a64;
            font-size: .85rem;
            border-top: 1px solid rgba(255, 255, 255, .08);
        }

        .texture {
            position: fixed;
            inset: 0;
            pointer-events: none;
            opacity: .08;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        }

        .link-red {
            color: #9a1c1b;
            text-decoration: none;
            font-weight: 600;
            transition: color .15s ease, opacity .15s ease;
        }

        .link-red:hover,
        .link-red:focus {
            color: #b32221;
            /* slightly brighter for hover */
            text-decoration: none;
            opacity: 0.9;
        }

        .link-red:active {
            color: #7f1615;
        }

        .quick-link {
  text-decoration: none;
  color: rgba(255,255,255,.72);
  font-weight: 600;
  font-size: .92rem;
  padding-bottom: 4px;
  position: relative;
}

.quick-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(154, 28, 27, .65);
  transform: scaleX(.35);
  transform-origin: left;
  transition: transform .2s ease, background .2s ease;
}

.quick-link:hover::after {
  transform: scaleX(1);
  background: #9a1c1b;
}