
:root{
    --nfl-bg:        #283659;
    --nfl-bg-alt:    #081639;
    --nfl-card:      #283659;
    --nfl-line:      #5C6172;
    --nfl-turf:      #D03355;
    --nfl-turf-light:#FB7A6B;
    --nfl-gold:      #e8b84b;
    --nfl-chalk:     #081639;
    --nfl-muted:     #9ba3b1;
    --nfl-white:     #ffffff;
    --nfl-light:     #F8F9FB;
}

.franchise-profile{ background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif; }
.franchise-profile h1, .franchise-profile h3, .franchise-profile .fpa-display{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
    background: none;
}

.lna-hero h1{ font-size:clamp(1.9rem,4.6vw,3.1rem); line-height:1.05; color:var(--nfl-white); margin:.5rem 0 1rem; }
.lna-hero h1 span{ color:var(--nfl-turf-light); }
/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    background-image: linear-gradient(144.14deg, var(--nfl-light) -50%, var(--nfl-turf) 100%);
}
.lna-hero h2 span{
    color:var(--nfl-turf-light); !important;
    background-image: none;
}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}
.franchise-profile{ background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif; }
.franchise-profile h1, .franchise-profile h2, .franchise-profile h3, .franchise-profile .fpa-display{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
}

/* ---------- HERO ---------- */
.fpa-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.fpa-eyebrow{ font-family:'JetBrains Mono',monospace; letter-spacing:.18em; font-size:.75rem; color:var(--nfl-turf-light); text-transform:uppercase; }
.fpa-hero h1{ font-size:clamp(1.9rem,4.6vw,3.1rem); line-height:1.05; color:var(--nfl-white); margin:.5rem 0 1rem; }
.fpa-hero h1 span{ color:var(--nfl-turf-light); }
.fpa-hero p.lead{ color:var(--nfl-muted); max-width:48rem; }
.fpa-breadcrumb a{ color:var(--nfl-muted); text-decoration:none; }
.fpa-breadcrumb a:hover{ color:var(--nfl-turf-light); }
.fpa-meta{ display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem; font-size:.85rem; color:var(--nfl-muted); }
.fpa-meta span i{ color:var(--nfl-turf-light); margin-right:.4rem; }
.fpa-team-badge{
    display:inline-flex; align-items:center; justify-content:center; width:3.6rem; height:3.6rem; border-radius:.6rem;
    background:var(--team-primary); color:#fff; font-family:'Anton',sans-serif; font-size:1.2rem; margin-bottom:1rem;
    box-shadow:0 10px 24px -10px rgba(0,0,0,.6);
}

/* ---------- STAT STRIP ---------- */
.fpa-stat-strip{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:.8rem; margin-top:-2.2rem; position:relative; z-index:5; }
.fpa-stat-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.6rem; padding:1rem; text-align:center; box-shadow:0 10px 24px -12px rgba(0,0,0,.5); }
.fpa-stat-card .val{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1.15rem; color:var(--nfl-turf-light); }
.fpa-stat-card .lbl{ font-size:.68rem; color:var(--nfl-muted); text-transform:uppercase; letter-spacing:.05em; margin-top:.2rem; }

/* ---------- SECTIONS ---------- */
.fpa-section{ padding-top:3rem; scroll-margin-top:2rem; }
.fpa-section h2{ font-size:1.5rem; color:var(--nfl-white); }
.fpa-section .fpa-kicker{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; color:var(--nfl-turf-light); text-transform:uppercase; display:block; margin-bottom:.4rem; }

/* ---------- TABLE ---------- */
.fpa-table-wrap{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; overflow:hidden; }
table.fpa-table{ color:var(--nfl-white); margin-bottom:0; }
table.fpa-table thead th{
    background:var(--nfl-bg-alt); color:var(--nfl-gold); font-family:'JetBrains Mono',monospace;
    font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--nfl-line); white-space:nowrap;
}
table.fpa-table td, table.fpa-table th{ border-color:var(--nfl-line); vertical-align:middle; }
table.fpa-table tbody tr:hover{ background:rgba(251,122,107,.06); }

.fpa-note{ border-left:3px solid var(--nfl-gold); background:rgba(232,184,75,.08); padding:.9rem 1.1rem; border-radius:0 .4rem .4rem 0; font-size:.9rem; color:var(--nfl-muted); }

/* ---------- RIVAL CARD ---------- */
.fpa-rival-card{
    background:linear-gradient(160deg, var(--nfl-card), var(--nfl-bg-alt)); border:1px solid var(--nfl-line);
    border-radius:.75rem; padding:1.4rem 1.5rem;
}
.fpa-rival-card .icon{ width:2.6rem; height:2.6rem; border-radius:.5rem; background:rgba(251,122,107,.15); color:var(--nfl-turf-light); display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:.8rem; }

/* ---------- CTA ---------- */
.fpa-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.2rem; }
.fpa-cta h2{ font-size:1.4rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }



.dossiers-nfl-page{ background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif; }
.dossiers-nfl-page h1, .dossiers-nfl-page h2, .dossiers-nfl-page h3, .dossiers-nfl-page .dna-display{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
}

/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- HERO ---------- */
.dna-hero{
    position:relative;
    background:
            linear-gradient(180deg, rgba(8,22,57,.55) 0%, rgba(8,22,57,.93) 85%),
            repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 2px, transparent 2px 78px),
            radial-gradient(120% 140% at 50% -20%, #3a4d80 0%, var(--nfl-bg-alt) 60%);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.dna-eyebrow{ font-family:'JetBrains Mono',monospace; letter-spacing:.18em; font-size:.75rem; color:var(--nfl-turf-light); text-transform:uppercase; }
.dna-hero h1{ font-size:clamp(2.1rem,5vw,3.4rem); line-height:1.05; color:var(--nfl-white); margin:.5rem 0 1rem; }
.dna-hero h1 span{ color:var(--nfl-turf-light); }
.dna-hero p.lead{ color:var(--nfl-muted); max-width:48rem; }
.dna-breadcrumb a{ color:var(--nfl-muted); text-decoration:none; }
.dna-breadcrumb a:hover{ color:var(--nfl-turf-light); }

/* ---------- FILTER PILLS ---------- */
.dna-filter-bar{
    background:var(--nfl-bg-alt); border:1px solid var(--nfl-line); border-radius:.6rem;
    padding:1rem 1.1rem; margin-top:-2.6rem; position:relative; z-index:5;
    box-shadow:0 10px 30px -12px rgba(0,0,0,.6);
}
.dna-filter-bar label{ font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.15em; color:var(--nfl-gold); text-transform:uppercase; margin-bottom:.5rem; display:block; }
.dna-pill-group{ display:flex; flex-wrap:wrap; gap:.4rem; }
.dna-pill{
    border:1px solid var(--nfl-line); background:var(--nfl-bg); color:var(--nfl-muted);
    font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase;
    padding:.4rem .8rem; border-radius:2rem; cursor:pointer; transition:.15s ease;
}
.dna-pill:hover{ border-color:var(--nfl-turf-light); color:var(--nfl-white); }
.dna-pill.active{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); }
#dnaCount{ color:var(--nfl-muted); font-size:.78rem; margin-top:.6rem; }
#dnaCount b{ color:var(--nfl-white); }

/* ---------- SECTIONS ---------- */
.dna-section{ padding-top:3rem; scroll-margin-top:2rem; }
.dna-section h2{ font-size:1.5rem; color:var(--nfl-white); }

/* ---------- CATEGORY BAND ---------- */
.dna-cat-band{ display:flex; align-items:center; gap:.9rem; margin:2.4rem 0 1.3rem; }
.dna-cat-band .tag{ font-family:'Anton',sans-serif; font-size:1.05rem; letter-spacing:.04em; color:var(--nfl-white); padding:.4rem .9rem; border-radius:.4rem; white-space:nowrap; }
.dna-cat-band.fondamentaux .tag{ background:#2f6fd0; }
.dna-cat-band.ligue .tag{ background:var(--nfl-turf); }
.dna-cat-band.avance .tag{ background:var(--nfl-gold); color:var(--nfl-bg-alt); }
.dna-cat-band .line{ flex:1 1 auto; height:0; border-top:2px dashed var(--nfl-line); }
.dna-cat-band .count{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--nfl-muted); white-space:nowrap; }

/* ---------- DOSSIER CARDS ---------- */
.dna-dossier-card{
    display:block; height:100%; background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.75rem;
    padding:1.4rem 1.5rem; text-decoration:none; color:inherit; position:relative; overflow:hidden;
    transition:transform .15s ease, border-color .15s ease;
}
.dna-dossier-card:hover{ transform:translateY(-4px); border-color:var(--nfl-turf-light); color:inherit; }
.dna-dossier-card .stripe{ position:absolute; left:0; top:0; bottom:0; width:5px; }
.dna-dossier-card.fondamentaux .stripe{ background:#2f6fd0; }
.dna-dossier-card.ligue .stripe{ background:var(--nfl-turf); }
.dna-dossier-card.avance .stripe{ background:var(--nfl-gold); }

.dna-dossier-icon{
    width:2.9rem; height:2.9rem; border-radius:.55rem; display:flex; align-items:center; justify-content:center;
    font-size:1.3rem; color:#fff; margin-bottom:1rem;
}
.dna-dossier-card.fondamentaux .dna-dossier-icon{ background:rgba(94,163,255,.18); color:#8fbaff; }
.dna-dossier-card.ligue .dna-dossier-icon{ background:rgba(251,122,107,.18); color:var(--nfl-turf-light); }
.dna-dossier-card.avance .dna-dossier-icon{ background:rgba(232,184,75,.18); color:var(--nfl-gold); }

.dna-dossier-card h3{
    font-family:'Inter',sans-serif; font-weight:800; font-size:1.12rem; color:var(--nfl-white);
    text-transform:none; letter-spacing:0; margin-bottom:.55rem; line-height:1.25;
}
.dna-dossier-card p{ color:var(--nfl-muted); font-size:.9rem; line-height:1.55; margin-bottom:1rem; }
.dna-dossier-footer{
    display:flex; align-items:center; justify-content:space-between; font-size:.78rem; color:var(--nfl-muted);
    border-top:1px solid var(--nfl-line); padding-top:.8rem; font-family:'JetBrains Mono',monospace;
}
.dna-dossier-footer .cta{ color:var(--nfl-turf-light); font-weight:700; display:flex; align-items:center; gap:.3rem; }
.dna-dossier-card:hover .dna-dossier-footer .cta{ color:var(--nfl-gold); }

#dnaEmptyState{ display:none; padding:3rem 1rem; text-align:center; color:var(--nfl-muted); }



.lexique-nfl-article{
    background:var(--nfl-bg);
    color:var(--nfl-chalk);
    font-family:'Inter',sans-serif;
}

.lexique-nfl-article h1,
.lexique-nfl-article h2,
.lexique-nfl-article .display-font{
    font-family:'Anton',sans-serif;
    text-transform:uppercase;
    letter-spacing:.03em;
}

/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- SCOREBOARD SEARCH ---------- */
.lna-scoreboard{
    background:#081109;
    border:1px solid var(--nfl-line);
    border-radius:.6rem;
    padding:1rem 1.1rem;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), 0 10px 30px -12px rgba(0,0,0,.6);
}
.lna-scoreboard label{
    font-family:'JetBrains Mono',monospace;
    font-size:.7rem;
    letter-spacing:.15em;
    color:var(--nfl-gold);
    text-transform:uppercase;
    margin-bottom:.4rem;
    display:block;
}
.lna-scoreboard .form-control{
    background:#0c1912;
    border:1px solid var(--nfl-line);
    color:var(--nfl-turf-light);
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.03em;
    font-size:1.05rem;
    padding:.65rem .9rem;
}
.lna-scoreboard .form-control:focus{
    background:#0c1912; color:var(--nfl-turf-light);
    border-color:var(--nfl-turf); box-shadow:0 0 0 .2rem rgba(47,158,99,.25);
}
.lna-scoreboard .form-control::placeholder{color:#4b6656;}
#lnaCount{color:var(--nfl-muted); font-size:.8rem;}
#lnaCount b{color:var(--nfl-chalk);}

/* ---------- A-Z STICKY NAV ---------- */
.lna-az-nav{
    position:sticky; top:0; z-index:20;
    background:rgba(12,25,18,.94);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--nfl-line);
    padding:.6rem 0;
}
.lna-az-nav .lna-az-scroll{
    display:flex; gap:.35rem; overflow-x:auto; padding-bottom:.15rem;
    scrollbar-width:thin;
}
.lna-az-nav a{
    flex:0 0 auto;
    width:2.1rem; height:2.1rem;
    display:flex; align-items:center; justify-content:center;
    border-radius:.4rem;
    background:var(--nfl-card);
    border:1px solid var(--nfl-line);
    color:var(--nfl-muted);
    font-family:'JetBrains Mono',monospace;
    font-weight:700;
    font-size:.8rem;
    text-decoration:none;
    transition:.15s ease;
}
.lna-az-nav a:hover,
.lna-az-nav a.active{
    background:var(--nfl-turf); border-color:var(--nfl-turf); color:#06170e;
}
.lna-az-nav a.disabled{opacity:.28; pointer-events:none;}

/* ---------- LETTER SECTIONS : yard-marker signature ---------- */
.lna-letter-section{padding-top:2.6rem; scroll-margin-top:5rem;}
.lna-yard-marker{
    display:flex; align-items:center; gap:1rem; margin-bottom:1.6rem;
}
.lna-yard-marker .line{
    flex:1 1 auto; height:0;
    border-top:2px dashed var(--nfl-line);
}
.lna-yard-marker .letter{
    font-family:'Anton',sans-serif;
    font-size:2.6rem;
    line-height:1;
    color:var(--nfl-bg);
    background:var(--nfl-turf-light);
    width:3.4rem; height:3.4rem; flex:0 0 auto;
    border-radius:.5rem;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px -8px rgba(87,217,138,.55);
}

/* ---------- TERM CARDS ---------- */
.lna-term-card{
    background:var(--nfl-card);
    color:var(--nfl-light);
    border:1px solid var(--nfl-line);
    border-radius:.65rem;
    padding:1.1rem 1.25rem;
    height:100%;
    transition:border-color .15s ease, transform .15s ease;
}
.lna-term-card:hover{border-color:var(--nfl-turf); transform:translateY(-2px);}
.lna-term-card h3{
    font-family:'Inter',sans-serif;
    font-weight:800;
    font-size:1.02rem;
    color:var(--nfl-light);
    margin-bottom:.5rem;
    display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
}
.lna-term-card p{color:var(--nfl-muted); font-size:.92rem; margin-bottom:0; line-height:1.55;}

.lna-badge{
    font-family:'JetBrains Mono',monospace;
    font-size:.65rem;
    letter-spacing:.06em;
    font-weight:700;
    text-transform:uppercase;
    padding:.28em .55em;
    border-radius:.3rem;
}
.lna-badge-position  {background:rgba(87,217,138,.15); color:var(--nfl-turf-light); border:1px solid rgba(87,217,138,.35);}
.lna-badge-regle     {background:rgba(232,184,75,.15); color:var(--nfl-gold);        border:1px solid rgba(232,184,75,.35);}
.lna-badge-attaque   {background:rgba(94,163,255,.15); color:#8fbaff;               border:1px solid rgba(94,163,255,.35);}
.lna-badge-defense   {background:rgba(255,107,107,.15); color:#ff9d9d;              border:1px solid rgba(255,107,107,.35);}
.lna-badge-statistique{background:rgba(197,140,255,.15); color:#d7b6ff;             border:1px solid rgba(197,140,255,.35);}
.lna-badge-culture   {background:rgba(159,181,167,.15); color:var(--nfl-muted);      border:1px solid rgba(159,181,167,.35);}

/* ---------- LEGEND ---------- */
.lna-legend{display:flex; flex-wrap:wrap; gap:.5rem 1.1rem; margin-top:1rem;}
.lna-legend span{font-size:.78rem; color:var(--nfl-muted); display:flex; align-items:center; gap:.4rem;}

/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }
#lnaEmptyState{display:none; padding:3rem 1rem; text-align:center; color:var(--nfl-muted);}



.match-nfl-article{ background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif; }
.match-nfl-article h1, .match-nfl-article h2, .match-nfl-article h3, .match-nfl-article .display-font{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
}


/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- TOC ---------- */
.rna-toc{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; padding:1.25rem 1.4rem; }
.rna-toc .rna-toc-title{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--nfl-gold); margin-bottom:.75rem; display:block; }
.rna-toc ol{ margin:0; padding-left:1.1rem; column-count:1; }
.rna-toc li{ margin-bottom:.4rem; }
.rna-toc a{ color:var(--nfl-white); text-decoration:none; font-size:.92rem; }
.rna-toc a:hover{ color:var(--nfl-turf-light); }

/* ---------- SECTIONS ---------- */
.rna-section{ padding-top:3rem; scroll-margin-top:2rem; }
.rna-section h2{ font-size:1.7rem; color:var(--nfl-white); }
.rna-section .rna-kicker{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; color:var(--nfl-turf-light); text-transform:uppercase; display:block; margin-bottom:.4rem; }

/* ---------- FIELD DIAGRAM ---------- */
.rna-field{
    background:linear-gradient(180deg, #1b6b45, #14512f);
    border:1px solid var(--nfl-line); border-radius:.6rem; padding:1.2rem;
    position:relative; overflow:hidden;
}
.rna-field-inner{
    position:relative; height:150px; border:2px solid rgba(255,255,255,.85); border-radius:.2rem;
    /* Correction : 100% / 12 zones = 8.3333% par zone de 10 yards */
    background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 2px, transparent 2px 8.3333%);
}
.rna-field-endzone{
    position:absolute; top:0; bottom:0;
    /* Correction : l'embut fait exactement la taille d'une zone de 10 yards */
    width: 8.3333%;
    background:rgba(208,51,85,.55);
    display:flex; align-items:center; justify-content:center;
    font-family:'Anton',sans-serif; font-size:.7rem; color:#fff; letter-spacing:.1em;
    writing-mode:vertical-rl;
}
.rna-field-endzone.left{ left:0; border-right: 2px solid rgba(255,255,255,.85); }
.rna-field-endzone.right{ right:0; transform:rotate(180deg); border-left: 2px solid rgba(255,255,255,.85); }
.rna-field-caption{ text-align:center; font-size:.78rem; color:rgba(255,255,255,.85); margin-top:.6rem; }

.rna-dim-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.8rem; margin-top:1.2rem; }
.rna-dim-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.5rem; padding:.9rem 1rem; text-align:center; }
.rna-dim-card .val{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1.25rem; color:var(--nfl-turf-light); }
.rna-dim-card .lbl{ font-size:.75rem; color:var(--nfl-muted); text-transform:uppercase; letter-spacing:.05em; }


/* ---------- TABLE ---------- */
.rna-table-wrap{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; overflow:hidden; }
table.rna-table{ color:var(--nfl-white); margin-bottom:0; }
table.rna-table thead th{
    background:var(--nfl-bg-alt); color:var(--nfl-gold); font-family:'JetBrains Mono',monospace;
    font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--nfl-line); white-space:nowrap;
}
table.rna-table td, table.rna-table th{ border-color:var(--nfl-line); vertical-align:middle; }
table.rna-table tbody tr:hover{ background:rgba(251,122,107,.06); }

.rna-note{ border-left:3px solid var(--nfl-gold); background:rgba(232,184,75,.08); padding:.9rem 1.1rem; border-radius:0 .4rem .4rem 0; font-size:.9rem; color:var(--nfl-muted); }

/* ---------- SCOREBOARD SEARCH (pénalités) ---------- */
.rna-scoreboard{
    background:var(--nfl-bg-alt); border:1px solid var(--nfl-line); border-radius:.6rem; padding:1rem 1.1rem;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), 0 10px 30px -12px rgba(0,0,0,.6);
}
.rna-scoreboard label{ font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.15em; color:var(--nfl-gold); text-transform:uppercase; margin-bottom:.4rem; display:block; }
.rna-scoreboard .form-control{
    background:var(--nfl-bg); border:1px solid var(--nfl-line); color:var(--nfl-turf-light);
    font-family:'JetBrains Mono',monospace; letter-spacing:.03em;
}
.rna-scoreboard .form-control:focus{ background:var(--nfl-bg); color:var(--nfl-turf-light); border-color:var(--nfl-turf); box-shadow:0 0 0 .2rem rgba(208,51,85,.25); }
.rna-scoreboard .form-control::placeholder{ color:#7d8497; }
#rnaCount{ color:var(--nfl-muted); font-size:.8rem; }
#rnaCount b{ color:var(--nfl-white); }

.rna-pill-group{ display:flex; flex-wrap:wrap; gap:.4rem; }
.rna-pill{
    border:1px solid var(--nfl-line); background:var(--nfl-bg); color:var(--nfl-muted);
    font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.04em; text-transform:uppercase;
    padding:.4rem .75rem; border-radius:2rem; cursor:pointer; transition:.15s ease;
}
.rna-pill:hover{ border-color:var(--nfl-turf-light); color:var(--nfl-white); }
.rna-pill.active{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); }

/* ---------- PENALTY CARDS ---------- */
.rna-flag-card{
    background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem;
    padding:1rem 1.15rem; height:100%; transition:border-color .15s ease, transform .15s ease;
}
.rna-flag-card:hover{ border-color:var(--nfl-turf); transform:translateY(-2px); }
.rna-flag-card h3{
    font-family:'Inter',sans-serif; font-weight:800; font-size:.98rem; color:var(--nfl-white);
    margin-bottom:.45rem; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; text-transform:none; letter-spacing:0;
}
.rna-flag-card p{ color:var(--nfl-muted); font-size:.87rem; margin-bottom:.55rem; line-height:1.5; }
.rna-flag-meta{ display:flex; flex-wrap:wrap; gap:.4rem; }
.rna-yards-badge{
    font-family:'JetBrains Mono',monospace; font-weight:700; font-size:.72rem;
    background:rgba(232,184,75,.15); color:var(--nfl-gold); border:1px solid rgba(232,184,75,.35);
    padding:.22em .55em; border-radius:.3rem;
}
.rna-extra-badge{
    font-family:'JetBrains Mono',monospace; font-size:.68rem;
    background:rgba(155,163,177,.15); color:var(--nfl-muted); border:1px solid rgba(155,163,177,.3);
    padding:.22em .5em; border-radius:.3rem;
}
.rna-cat-badge{
    font-family:'JetBrains Mono',monospace; font-size:.6rem; letter-spacing:.05em; text-transform:uppercase;
    padding:.2em .5em; border-radius:.3rem; font-weight:700;
}
.rna-cat-avant   { background:rgba(155,163,177,.18); color:var(--nfl-muted); border:1px solid rgba(155,163,177,.35); }
.rna-cat-attaque { background:rgba(94,163,255,.15); color:#8fbaff; border:1px solid rgba(94,163,255,.35); }
.rna-cat-defense { background:rgba(251,122,107,.15); color:var(--nfl-turf-light); border:1px solid rgba(251,122,107,.35); }
.rna-cat-conduite{ background:rgba(208,51,85,.2); color:var(--nfl-turf-light); border:1px solid rgba(208,51,85,.4); }
.rna-cat-special { background:rgba(232,184,75,.15); color:var(--nfl-gold); border:1px solid rgba(232,184,75,.35); }

#rnaEmptyState{ display:none; padding:3rem 1rem; text-align:center; color:var(--nfl-muted); }

/* ---------- ROSTER CARDS ---------- */
.rna-roster-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.7rem; padding:1.2rem; height:100%; text-align:center; }
.rna-roster-num{ font-family:'Anton',sans-serif; font-size:2rem; color:var(--nfl-turf-light); }
.rna-roster-card h3{ font-size:.9rem; color:var(--nfl-white); text-transform:none; letter-spacing:0; margin:.2rem 0 .4rem; }
.rna-roster-card p{ color:var(--nfl-muted); font-size:.82rem; margin-bottom:0; }

/* ---------- CTA ---------- */
.rna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.rna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }
/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }



.match-nfl-article{
    background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif;
}
.match-nfl-article h1, .match-nfl-article h2, .match-nfl-article h3, .match-nfl-article .display-font{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
}


/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- HERO ---------- */
.mna-hero{
    position:relative;
    background:
            linear-gradient(180deg, rgba(8,22,57,.55) 0%, rgba(8,22,57,.93) 85%),
            repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 2px, transparent 2px 78px),
            radial-gradient(120% 140% at 50% -20%, #3a4d80 0%, var(--nfl-bg-alt) 60%);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.mna-eyebrow{ font-family:'JetBrains Mono',monospace; letter-spacing:.18em; font-size:.75rem; color:var(--nfl-turf-light); text-transform:uppercase; }
.mna-hero h1{ font-size:clamp(2.1rem,5vw,3.4rem); line-height:1.05; color:var(--nfl-white); margin:.5rem 0 1rem; }
.mna-hero h1 span{ color:var(--nfl-turf-light); }
.mna-hero p.lead{ color:var(--nfl-muted); max-width:48rem; }
.mna-breadcrumb a{ color:var(--nfl-muted); text-decoration:none; }
.mna-breadcrumb a:hover{ color:var(--nfl-turf-light); }
.mna-meta{ display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem; font-size:.85rem; color:var(--nfl-muted); }
.mna-meta span i{ color:var(--nfl-turf-light); margin-right:.4rem; }

/* ---------- TOC ---------- */
.mna-toc{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; padding:1.25rem 1.4rem; }
.mna-toc .mna-toc-title{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--nfl-gold); margin-bottom:.75rem; display:block; }
.mna-toc ol{ margin:0; padding-left:1.1rem; }
.mna-toc li{ margin-bottom:.4rem; }
.mna-toc a{ color:var(--nfl-white); text-decoration:none; font-size:.92rem; }
.mna-toc a:hover{ color:var(--nfl-turf-light); }

/* ---------- SECTIONS ---------- */
.mna-section{ padding-top:3rem; scroll-margin-top:2rem; }
.mna-section h2{ font-size:1.7rem; color:var(--nfl-white); }
.mna-section .mna-kicker{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; color:var(--nfl-turf-light); text-transform:uppercase; display:block; margin-bottom:.4rem; }

/* ---------- SCOREBOARD CLOCK (élément signature) ---------- */
.mna-clock{
    background:var(--nfl-bg-alt); border:1px solid var(--nfl-line); border-radius:.6rem;
    padding:1.4rem 1.5rem; text-align:center;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), 0 10px 30px -12px rgba(0,0,0,.6);
}
.mna-clock .label{ font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.15em; color:var(--nfl-gold); text-transform:uppercase; }
.mna-clock .time{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:2.4rem; color:var(--nfl-turf-light); line-height:1.1; }
.mna-clock .sub{ font-size:.78rem; color:var(--nfl-muted); }

/* ---------- 60-MINUTE TIMELINE (réutilise le motif "drive") ---------- */
.mna-drive{ position:relative; padding-left:2.6rem; }
.mna-drive::before{ content:""; position:absolute; left:1.15rem; top:.4rem; bottom:.4rem; width:0; border-left:2px dashed var(--nfl-line); }
.mna-drive-step{ position:relative; padding-bottom:2.2rem; }
.mna-drive-step:last-child{ padding-bottom:0; }
.mna-yard-badge{
    position:absolute; left:-2.6rem; top:0; width:2.3rem; height:2.3rem; border-radius:50%;
    background:var(--nfl-turf-light); color:var(--nfl-bg-alt); display:flex; align-items:center; justify-content:center;
    font-family:'Anton',sans-serif; font-size:.72rem; text-align:center; line-height:1;
    box-shadow:0 6px 16px -6px rgba(251,122,107,.6);
}
.mna-drive-step.is-final .mna-yard-badge{ background:var(--nfl-gold); color:var(--nfl-bg-alt); }
.mna-drive-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.6rem; padding:1.1rem 1.3rem; }
.mna-drive-card h3{ font-family:'Inter',sans-serif; font-weight:800; font-size:1.05rem; color:var(--nfl-white); margin-bottom:.35rem; text-transform:none; letter-spacing:0; }
.mna-drive-card .mna-tag{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--nfl-turf-light); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:.5rem; }
.mna-drive-card p{ color:var(--nfl-muted); font-size:.92rem; margin-bottom:0; line-height:1.55; }

.mna-phase-badge{
    font-family:'JetBrains Mono',monospace; font-size:.65rem; letter-spacing:.06em; font-weight:700; text-transform:uppercase;
    padding:.28em .55em; border-radius:.3rem; display:inline-block; margin-bottom:.5rem;
}
.mna-phase-avant   { background:rgba(155,163,177,.18); color:var(--nfl-muted); border:1px solid rgba(155,163,177,.35); }
.mna-phase-q1q2    { background:rgba(94,163,255,.15); color:#8fbaff; border:1px solid rgba(94,163,255,.35); }
.mna-phase-mitemps { background:rgba(232,184,75,.15); color:var(--nfl-gold); border:1px solid rgba(232,184,75,.35); }
.mna-phase-q3q4    { background:rgba(251,122,107,.15); color:var(--nfl-turf-light); border:1px solid rgba(251,122,107,.35); }
.mna-phase-fin     { background:rgba(208,51,85,.2); color:var(--nfl-turf-light); border:1px solid rgba(208,51,85,.4); }

/* ---------- TABLE ---------- */
.mna-table-wrap{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; overflow:hidden; }
table.mna-table{ color:var(--nfl-white); margin-bottom:0; }
table.mna-table thead th{
    background:var(--nfl-bg-alt); color:var(--nfl-gold); font-family:'JetBrains Mono',monospace;
    font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--nfl-line); white-space:nowrap;
}
table.mna-table td, table.mna-table th{ border-color:var(--nfl-line); vertical-align:middle; }
table.mna-table tbody tr:hover{ background:rgba(251,122,107,.06); }

.mna-note{ border-left:3px solid var(--nfl-gold); background:rgba(232,184,75,.08); padding:.9rem 1.1rem; border-radius:0 .4rem .4rem 0; font-size:.9rem; color:var(--nfl-muted); }

/* ---------- DOWN CYCLE CARDS ---------- */
.mna-down-card{
    background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.7rem; padding:1.2rem; height:100%; text-align:center;
}
.mna-down-num{
    width:2.6rem; height:2.6rem; border-radius:50%; background:var(--nfl-turf); color:var(--nfl-white);
    display:flex; align-items:center; justify-content:center; margin:0 auto .7rem; font-family:'Anton',sans-serif; font-size:1.2rem;
}
.mna-down-card h3{ font-size:.95rem; color:var(--nfl-white); text-transform:none; letter-spacing:0; margin-bottom:.4rem; }
.mna-down-card p{ color:var(--nfl-muted); font-size:.85rem; margin-bottom:0; }

/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }



.postes-nfl-article{ background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif; }
.postes-nfl-article h1, .postes-nfl-article h2, .postes-nfl-article h3, .postes-nfl-article .display-font{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
}

/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- HERO ---------- */
.pna-hero{
    position:relative;
    background:
            linear-gradient(180deg, rgba(8,22,57,.55) 0%, rgba(8,22,57,.93) 85%),
            repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 2px, transparent 2px 78px),
            radial-gradient(120% 140% at 50% -20%, #3a4d80 0%, var(--nfl-bg-alt) 60%);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.pna-eyebrow{ font-family:'JetBrains Mono',monospace; letter-spacing:.18em; font-size:.75rem; color:var(--nfl-turf-light); text-transform:uppercase; }
.pna-hero h2{ font-size:clamp(2.1rem,5vw,3.4rem); line-height:1.05; color:var(--nfl-white); margin:.5rem 0 1rem; }
.pna-hero h2 span{ color:var(--nfl-turf-light); }
.pna-hero p.lead{ color:var(--nfl-muted); max-width:48rem; }
.pna-breadcrumb a{ color:var(--nfl-muted); text-decoration:none; }
.pna-breadcrumb a:hover{ color:var(--nfl-turf-light); }
.pna-meta{ display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem; font-size:.85rem; color:var(--nfl-muted); }
.pna-meta span i{ color:var(--nfl-turf-light); margin-right:.4rem; }

/* ---------- TOC ---------- */
.pna-toc{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; padding:1.25rem 1.4rem; }
.pna-toc .pna-toc-title{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--nfl-gold); margin-bottom:.75rem; display:block; }
.pna-toc ol{ margin:0; padding-left:1.1rem; }
.pna-toc li{ margin-bottom:.4rem; }
.pna-toc a{ color:var(--nfl-white); text-decoration:none; font-size:.92rem; }
.pna-toc a:hover{ color:var(--nfl-turf-light); }

/* ---------- SECTIONS ---------- */
.pna-section{ padding-top:3rem; scroll-margin-top:2rem; }
.pna-section h2{ font-size:1.7rem; color:var(--nfl-white); }
.pna-section .pna-kicker{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; color:var(--nfl-turf-light); text-transform:uppercase; display:block; margin-bottom:.4rem; }

/* ---------- SIDE BAND (attaque / défense / special teams) ---------- */
.pna-side-band{
    display:flex; align-items:center; gap:.9rem; margin:2.4rem 0 1.4rem;
}
.pna-side-band .tag{
    font-family:'Anton',sans-serif; font-size:1.05rem; letter-spacing:.04em;
    color:var(--nfl-white); padding:.4rem .9rem; border-radius:.4rem; white-space:nowrap;
}
.pna-side-band.offense .tag{ background:#2f6fd0; }
.pna-side-band.defense .tag{ background:var(--nfl-turf); }
.pna-side-band.special .tag{ background:var(--nfl-gold); color:var(--nfl-bg-alt); }
.pna-side-band .line{ flex:1 1 auto; height:0; border-top:2px dashed var(--nfl-line); }

/* ---------- POSITION CARDS ---------- */
.pna-pos-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.7rem; padding:1.3rem 1.4rem; height:100%; }
.pna-pos-head{ display:flex; align-items:center; gap:.85rem; margin-bottom:.8rem; }
.pna-pos-badge{
    width:3rem; height:3rem; border-radius:.5rem; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
    font-family:'Anton',sans-serif; font-size:1rem; color:#fff;
}
.pna-pos-head h3{ font-family:'Inter',sans-serif; font-weight:800; font-size:1.05rem; color:var(--nfl-white); margin:0; text-transform:none; letter-spacing:0; }
.pna-pos-head .abbr{ display:block; font-size:.72rem; color:var(--nfl-muted); text-transform:uppercase; letter-spacing:.06em; font-family:'JetBrains Mono',monospace; }
.pna-pos-card p{ color:var(--nfl-muted); font-size:.92rem; line-height:1.6; margin-bottom:.8rem; }
.pna-skill-badges{ display:flex; flex-wrap:wrap; gap:.4rem; }
.pna-skill-badge{
    font-family:'JetBrains Mono',monospace; font-size:.65rem; letter-spacing:.03em; text-transform:uppercase;
    background:rgba(251,122,107,.12); color:var(--nfl-turf-light); border:1px solid rgba(251,122,107,.3);
    padding:.25em .6em; border-radius:.3rem;
}
.pna-pos-profile{
    font-family:'JetBrains Mono',monospace; font-size:.75rem; color:var(--nfl-gold);
    margin-top:.7rem; padding-top:.7rem; border-top:1px solid var(--nfl-line);
}

/* ---------- TABLE ---------- */
.pna-table-wrap{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; overflow:hidden; }
table.pna-table{ color:var(--nfl-white); margin-bottom:0; }
table.pna-table thead th{
    background:var(--nfl-bg-alt); color:var(--nfl-gold); font-family:'JetBrains Mono',monospace;
    font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--nfl-line); white-space:nowrap;
}
table.pna-table td, table.pna-table th{ border-color:var(--nfl-line); vertical-align:middle; }
table.pna-table tbody tr:hover{ background:rgba(251,122,107,.06); }

.pna-note{ border-left:3px solid var(--nfl-gold); background:rgba(232,184,75,.08); padding:.9rem 1.1rem; border-radius:0 .4rem .4rem 0; font-size:.9rem; color:var(--nfl-muted); }

/* ---------- FAQ ACCORDION ---------- */
.pna-accordion .accordion-item{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.5rem; overflow:hidden; margin-bottom:.6rem; }
.pna-accordion .accordion-button{
    background:var(--nfl-card); color:var(--nfl-white); font-weight:700; font-size:.98rem;
    box-shadow:none;
}
.pna-accordion .accordion-button:not(.collapsed){ background:var(--nfl-bg-alt); color:var(--nfl-turf-light); }
.pna-accordion .accordion-button::after{ filter:invert(1); }
.pna-accordion .accordion-body{ color:var(--nfl-muted); font-size:.92rem; line-height:1.6; }

/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }



.histoire-nfl-article{ background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif; }
.histoire-nfl-article h1, .histoire-nfl-article h2, .histoire-nfl-article h3, .histoire-nfl-article .display-font{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
}

/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- HERO ---------- */
.hna-hero{
    position:relative;
    background:
            linear-gradient(180deg, rgba(8,22,57,.55) 0%, rgba(8,22,57,.93) 85%),
            repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 2px, transparent 2px 78px),
            radial-gradient(120% 140% at 50% -20%, #3a4d80 0%, var(--nfl-bg-alt) 60%);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.hna-eyebrow{ font-family:'JetBrains Mono',monospace; letter-spacing:.18em; font-size:.75rem; color:var(--nfl-turf-light); text-transform:uppercase; }
.hna-hero h2{ font-size:clamp(2.1rem,5vw,3.4rem); line-height:1.05; color:var(--nfl-white); margin:.5rem 0 1rem; }
.hna-hero h2 span{ color:var(--nfl-turf-light); }
.hna-hero p.lead{ color:var(--nfl-muted); max-width:48rem; }
.hna-breadcrumb a{ color:var(--nfl-muted); text-decoration:none; }
.hna-breadcrumb a:hover{ color:var(--nfl-turf-light); }
.hna-meta{ display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem; font-size:.85rem; color:var(--nfl-muted); }
.hna-meta span i{ color:var(--nfl-turf-light); margin-right:.4rem; }

/* ---------- TOC ---------- */
.hna-toc{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; padding:1.25rem 1.4rem; }
.hna-toc .hna-toc-title{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--nfl-gold); margin-bottom:.75rem; display:block; }
.hna-toc ol{ margin:0; padding-left:1.1rem; }
.hna-toc li{ margin-bottom:.4rem; }
.hna-toc a{ color:var(--nfl-white); text-decoration:none; font-size:.92rem; }
.hna-toc a:hover{ color:var(--nfl-turf-light); }

/* ---------- SECTIONS ---------- */
.hna-section{ padding-top:3rem; scroll-margin-top:2rem; }
.hna-section h2{ font-size:1.7rem; color:var(--nfl-white); }
.hna-section .hna-kicker{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; color:var(--nfl-turf-light); text-transform:uppercase; display:block; margin-bottom:.4rem; }

/* ---------- STAT CARDS ---------- */
.hna-stat-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.6rem; padding:1rem; text-align:center; height:100%; }
.hna-stat-card .val{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1.5rem; color:var(--nfl-turf-light); }
.hna-stat-card .lbl{ font-size:.72rem; color:var(--nfl-muted); text-transform:uppercase; letter-spacing:.05em; }

/* ---------- CENTURY TIMELINE (élément signature) ---------- */
.hna-drive{ position:relative; padding-left:3.4rem; }
.hna-drive::before{ content:""; position:absolute; left:1.55rem; top:.4rem; bottom:.4rem; width:0; border-left:2px dashed var(--nfl-line); }
.hna-drive-step{ position:relative; padding-bottom:2.3rem; }
.hna-drive-step:last-child{ padding-bottom:0; }
.hna-year-badge{
    position:absolute; left:-3.4rem; top:0; width:3.1rem; height:3.1rem; border-radius:50%;
    background:var(--nfl-turf-light); color:var(--nfl-bg-alt); display:flex; align-items:center; justify-content:center;
    font-family:'JetBrains Mono',monospace; font-weight:700; font-size:.78rem; text-align:center; line-height:1.1;
    box-shadow:0 6px 16px -6px rgba(251,122,107,.6);
}
.hna-drive-step.is-today .hna-year-badge{ background:var(--nfl-gold); color:var(--nfl-bg-alt); }
.hna-drive-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.6rem; padding:1.1rem 1.3rem; }
.hna-drive-card h3{ font-family:'Inter',sans-serif; font-weight:800; font-size:1.05rem; color:var(--nfl-white); margin-bottom:.35rem; text-transform:none; letter-spacing:0; }
.hna-drive-card .hna-tag{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--nfl-turf-light); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:.5rem; }
.hna-drive-card p{ color:var(--nfl-muted); font-size:.92rem; margin-bottom:0; line-height:1.55; }

.hna-era-badge{
    font-family:'JetBrains Mono',monospace; font-size:.65rem; letter-spacing:.06em; font-weight:700; text-transform:uppercase;
    padding:.28em .55em; border-radius:.3rem; display:inline-block; margin-bottom:.5rem;
}
.hna-era-fondation { background:rgba(155,163,177,.18); color:var(--nfl-muted); border:1px solid rgba(155,163,177,.35); }
.hna-era-television { background:rgba(94,163,255,.15); color:#8fbaff; border:1px solid rgba(94,163,255,.35); }
.hna-era-rivalite   { background:rgba(251,122,107,.15); color:var(--nfl-turf-light); border:1px solid rgba(251,122,107,.35); }
.hna-era-moderne    { background:rgba(208,51,85,.2); color:var(--nfl-turf-light); border:1px solid rgba(208,51,85,.4); }
.hna-era-actuelle   { background:rgba(232,184,75,.25); color:var(--nfl-gold); border:1px solid rgba(232,184,75,.5); }

/* ---------- TABLE ---------- */
.hna-table-wrap{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; overflow:hidden; }
table.hna-table{ color:var(--nfl-white); margin-bottom:0; }
table.hna-table thead th{
    background:var(--nfl-bg-alt); color:var(--nfl-gold); font-family:'JetBrains Mono',monospace;
    font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--nfl-line); white-space:nowrap;
}
table.hna-table td, table.hna-table th{ border-color:var(--nfl-line); vertical-align:middle; }
table.hna-table tbody tr:hover{ background:rgba(251,122,107,.06); }

.hna-note{ border-left:3px solid var(--nfl-gold); background:rgba(232,184,75,.08); padding:.9rem 1.1rem; border-radius:0 .4rem .4rem 0; font-size:.9rem; color:var(--nfl-muted); }

/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }



.franchises-nfl-article{
    background:var(--nfl-bg);
    color:var(--nfl-white);
    font-family:'Inter',sans-serif;
}
.franchises-nfl-article h1,
.franchises-nfl-article h2,
.franchises-nfl-article h3,
.franchises-nfl-article .display-font{
    font-family:'Anton',sans-serif;
    text-transform:uppercase;
    letter-spacing:.03em;
}

/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- HERO ---------- */
.fna-hero{
    position:relative;
    background:
            linear-gradient(180deg, rgba(8,22,57,.55) 0%, rgba(8,22,57,.93) 85%),
            repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 2px, transparent 2px 78px),
            radial-gradient(120% 140% at 50% -20%, #3a4d80 0%, var(--nfl-bg-alt) 60%);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.fna-eyebrow{
    font-family:'JetBrains Mono',monospace; letter-spacing:.18em; font-size:.75rem;
    color:var(--nfl-turf-light); text-transform:uppercase;
}
.fna-hero h1{ font-size:clamp(2.1rem,5vw,3.4rem); line-height:1.05; color:var(--nfl-white); margin:.5rem 0 1rem; }
.fna-hero h1 span{color:var(--nfl-turf-light);}
.fna-hero p.lead{color:var(--nfl-muted); max-width:48rem;}
.fna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.fna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.fna-meta{display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem; font-size:.85rem; color:var(--nfl-muted);}
.fna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- TOC ---------- */
.fna-toc{background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; padding:1.25rem 1.4rem;}
.fna-toc .fna-toc-title{font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--nfl-gold); margin-bottom:.75rem; display:block;}
.fna-toc ol{margin:0; padding-left:1.1rem;}
.fna-toc li{margin-bottom:.4rem;}
.fna-toc a{color:var(--nfl-white); text-decoration:none; font-size:.92rem;}
.fna-toc a:hover{color:var(--nfl-turf-light);}

/* ---------- SECTIONS ---------- */
.fna-section{padding-top:3rem; scroll-margin-top:2rem;}
.fna-section h2{font-size:1.7rem; color:var(--nfl-white);}
.fna-section .fna-kicker{font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; color:var(--nfl-turf-light); text-transform:uppercase; display:block; margin-bottom:.4rem;}

/* ---------- STRUCTURE TABLE ---------- */
.fna-table-wrap{background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; overflow:hidden;}
table.fna-table{color:var(--nfl-white); margin-bottom:0;}
table.fna-table thead th{
    background:var(--nfl-bg-alt); color:var(--nfl-gold);
    font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
    border-bottom:1px solid var(--nfl-line); white-space:nowrap;
}
table.fna-table td, table.fna-table th{border-color:var(--nfl-line); vertical-align:middle;}
table.fna-table tbody tr:hover{background:rgba(251,122,107,.06);}

.fna-note{border-left:3px solid var(--nfl-gold); background:rgba(232,184,75,.08); padding:.9rem 1.1rem; border-radius:0 .4rem .4rem 0; font-size:.9rem; color:var(--nfl-muted);}

/* ---------- SCOREBOARD SEARCH (réutilisé) ---------- */
.fna-scoreboard{
    background:var(--nfl-bg-alt); border:1px solid var(--nfl-line); border-radius:.6rem; padding:1rem 1.1rem;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), 0 10px 30px -12px rgba(0,0,0,.6);
}
.fna-scoreboard label{font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.15em; color:var(--nfl-gold); text-transform:uppercase; margin-bottom:.4rem; display:block;}
.fna-scoreboard .form-control, .fna-scoreboard .form-select{
    background:var(--nfl-bg); border:1px solid var(--nfl-line); color:var(--nfl-turf-light);
    font-family:'JetBrains Mono',monospace; letter-spacing:.03em;
}
.fna-scoreboard .form-control:focus, .fna-scoreboard .form-select:focus{
    background:var(--nfl-bg); color:var(--nfl-turf-light); border-color:var(--nfl-turf); box-shadow:0 0 0 .2rem rgba(208,51,85,.25);
}
.fna-scoreboard .form-control::placeholder{color:#7d8497;}
#fnaCount{color:var(--nfl-muted); font-size:.8rem;}
#fnaCount b{color:var(--nfl-white);}

.fna-pill-group{display:flex; flex-wrap:wrap; gap:.4rem;}
.fna-pill{
    border:1px solid var(--nfl-line); background:var(--nfl-bg); color:var(--nfl-muted);
    font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase;
    padding:.4rem .8rem; border-radius:2rem; cursor:pointer; transition:.15s ease;
}
.fna-pill:hover{border-color:var(--nfl-turf-light); color:var(--nfl-white);}
.fna-pill.active{background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white);}

/* ---------- DIVISION HEADER ---------- */
.fna-division-header{
    display:flex; align-items:center; gap:.9rem; margin:2.2rem 0 1.1rem;
}
.fna-division-header .tag{
    font-family:'Anton',sans-serif; font-size:1.15rem; letter-spacing:.04em;
    background:var(--nfl-turf); color:var(--nfl-white); padding:.35rem .8rem; border-radius:.4rem;
    white-space:nowrap;
}
.fna-division-header .line{flex:1 1 auto; height:0; border-top:2px dashed var(--nfl-line);}

/* ---------- TEAM CARDS ---------- */
.fna-team-card{
    background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.7rem;
    padding:1.1rem 1.2rem; height:100%; position:relative; overflow:hidden;
    transition:transform .15s ease, border-color .15s ease;
}
.fna-team-card:hover{transform:translateY(-3px); border-color:var(--nfl-turf-light);}
.fna-team-card .stripe{
    position:absolute; left:0; top:0; bottom:0; width:6px;
}
.fna-team-head{display:flex; align-items:center; gap:.8rem; margin-bottom:.7rem;}
.fna-team-badge{
    width:2.6rem; height:2.6rem; border-radius:.5rem; flex:0 0 auto;
    display:flex; align-items:center; justify-content:center;
    font-family:'Anton',sans-serif; font-size:.95rem; letter-spacing:.02em;
    color:#fff;
}
.fna-team-head h3{font-family:'Inter',sans-serif; font-weight:800; font-size:1rem; color:var(--nfl-white); margin:0; text-transform:none; letter-spacing:0; line-height:1.2;}
.fna-team-head .city{display:block; font-size:.72rem; color:var(--nfl-muted); text-transform:uppercase; letter-spacing:.06em; font-family:'JetBrains Mono',monospace;}
.fna-team-facts{list-style:none; margin:0; padding:0; font-size:.82rem; color:var(--nfl-muted);}
.fna-team-facts li{display:flex; justify-content:space-between; gap:.5rem; padding:.28rem 0; border-top:1px solid var(--nfl-line);}
.fna-team-facts li:first-child{border-top:none;}
.fna-team-facts li b{color:var(--nfl-white); font-weight:600; text-align:right;}
.fna-titles{display:flex; align-items:center; gap:.3rem; margin-top:.6rem; font-size:.78rem; color:var(--nfl-gold);}

#fnaEmptyState{display:none; padding:3rem 1rem; text-align:center; color:var(--nfl-muted);}

/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }



.saison-nfl-article {
    background: var(--nfl-bg);
    color: var(--nfl-white);
    font-family: 'Inter', sans-serif;
}

.saison-nfl-article h1,
.saison-nfl-article h2,
.saison-nfl-article h3,
.saison-nfl-article .display-font {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}
/* ---------- SUMMARY / TABLE OF CONTENTS ---------- */
.sna-toc {
    background: var(--nfl-card);
    border: 1px solid var(--nfl-line);
    border-radius: .65rem;
    padding: 1.25rem 1.4rem;
}

.sna-toc .sna-toc-title {
    font-family: 'JetBrains Mono', monospace;
    font-size: .72rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--nfl-gold);
    margin-bottom: .75rem;
    display: block;
}

.sna-toc ol {
    margin: 0;
    padding-left: 1.1rem;
}

.sna-toc li {
    margin-bottom: .4rem;
}

.sna-toc a {
    color: var(--nfl-white);
    text-decoration: none;
    font-size: .92rem;
}

.sna-toc a:hover {
    color: var(--nfl-turf-light);
}

/* ---------- 100-YARD TIMELINE (signature) ---------- */
.sna-drive {
    position: relative;
    padding-left: 2.6rem;
}

.sna-drive::before {
    content: "";
    position: absolute;
    left: 1.15rem;
    top: .4rem;
    bottom: .4rem;
    width: 0;
    border-left: 2px dashed var(--nfl-line);
}

.sna-drive-step {
    position: relative;
    padding-bottom: 2.4rem;
}

.sna-drive-step:last-child {
    padding-bottom: 0;
}

.sna-yard-badge {
    position: absolute;
    left: -2.6rem;
    top: 0;
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 50%;
    background: var(--nfl-turf-light);
    color: var(--nfl-bg-alt);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Anton', sans-serif;
    font-size: .85rem;
    box-shadow: 0 6px 16px -6px rgba(251, 122, 107, .6);
}

.sna-drive-step.is-endzone .sna-yard-badge {
    background: var(--nfl-gold);
    color: var(--nfl-bg-alt);
}

.sna-drive-card {
    background: var(--nfl-card);
    border: 1px solid var(--nfl-line);
    border-radius: .6rem;
    padding: 1.1rem 1.3rem;
}

.sna-drive-card h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--nfl-white);
    margin-bottom: .35rem;
    text-transform: none;
    letter-spacing: 0;
}

.sna-drive-card .sna-date {
    font-family: 'JetBrains Mono', monospace;
    font-size: .75rem;
    color: var(--nfl-turf-light);
    text-transform: uppercase;
    letter-spacing: .05em;
    display: block;
    margin-bottom: .5rem;
}

.sna-drive-card p {
    color: var(--nfl-muted);
    font-size: .92rem;
    margin-bottom: 0;
    line-height: 1.55;
}

.sna-phase-badge {
    font-family: 'JetBrains Mono', monospace;
    font-size: .65rem;
    letter-spacing: .06em;
    font-weight: 700;
    text-transform: uppercase;
    padding: .28em .55em;
    border-radius: .3rem;
    display: inline-block;
    margin-bottom: .5rem;
}

.sna-phase-intersaison {
    background: rgba(155, 163, 177, .18);
    color: var(--nfl-muted);
    border: 1px solid rgba(155, 163, 177, .35);
}

.sna-phase-preparation {
    background: rgba(232, 184, 75, .15);
    color: var(--nfl-gold);
    border: 1px solid rgba(232, 184, 75, .35);
}

.sna-phase-reguliere {
    background: rgba(251, 122, 107, .15);
    color: var(--nfl-turf-light);
    border: 1px solid rgba(251, 122, 107, .35);
}

.sna-phase-fetes {
    background: rgba(94, 163, 255, .15);
    color: #8fbaff;
    border: 1px solid rgba(94, 163, 255, .35);
}

.sna-phase-series {
    background: rgba(208, 51, 85, .2);
    color: var(--nfl-turf-light);
    border: 1px solid rgba(208, 51, 85, .4);
}

.sna-phase-finale {
    background: rgba(232, 184, 75, .25);
    color: var(--nfl-gold);
    border: 1px solid rgba(232, 184, 75, .5);
}

/* ---------- SECTION HEADERS ---------- */
.sna-section {
    padding-top: 3rem;
    scroll-margin-top: 2rem;
}

.sna-section h2 {
    font-size: 1.7rem;
    color: var(--nfl-white);
}

.sna-section .sna-kicker {
    font-family: 'JetBrains Mono', monospace;
    font-size: .72rem;
    letter-spacing: .15em;
    color: var(--nfl-turf-light);
    text-transform: uppercase;
    display: block;
    margin-bottom: .4rem;
}

/* ---------- HOLIDAY CARDS (Thanksgiving / Noël) ---------- */
.sna-holiday-card {
    background: linear-gradient(160deg, var(--nfl-card), var(--nfl-bg-alt));
    border: 1px solid var(--nfl-line);
    border-radius: .75rem;
    padding: 1.4rem 1.5rem;
    height: 100%;
}

.sna-holiday-card .sna-holiday-icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: .5rem;
    background: rgba(251, 122, 107, .15);
    color: var(--nfl-turf-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-bottom: .8rem;
}

.sna-game-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 0;
    border-top: 1px solid var(--nfl-line);
    font-size: .88rem;
}

.sna-game-row:first-of-type {
    border-top: none;
}

.sna-game-row .teams {
    color: var(--nfl-white);
    font-weight: 600;
}

.sna-game-row .net {
    color: var(--nfl-muted);
    font-family: 'JetBrains Mono', monospace;
    font-size: .75rem;
}

/* ---------- CALENDAR TABLE ---------- */
.sna-table-wrap {
    background: var(--nfl-card);
    border: 1px solid var(--nfl-line);
    border-radius: .65rem;
    overflow: hidden;
}

table.sna-table {
    color: var(--nfl-white);
    margin-bottom: 0;
}

table.sna-table thead th {
    background: var(--nfl-bg-alt);
    color: var(--nfl-gold);
    font-family: 'JetBrains Mono', monospace;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--nfl-line);
    white-space: nowrap;
}

table.sna-table td, table.sna-table th {
    border-color: var(--nfl-line);
    vertical-align: middle;
}

table.sna-table tbody tr:hover {
    background: rgba(251, 122, 107, .06);
}

/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }



.strategies-nfl-article {
    background: var(--nfl-bg);
    color: var(--nfl-white);
    font-family: 'Inter', sans-serif;
}

.strategies-nfl-article h1, .strategies-nfl-article h2, .strategies-nfl-article h3, .strategies-nfl-article .nsa-display {
    font-family: 'Anton', sans-serif;
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* ---------- HERO ---------- */
/* ---------- HERO ---------- */
.lna-hero {
    position: relative;
    background: var(--nfl-bg-alt);
    border-bottom: 1px solid var(--nfl-line);
    padding: 4.5rem 0 3rem;
}

.lna-eyebrow {
    font-family: 'JetBrains Mono', monospace;
    letter-spacing: .18em;
    font-size: .75rem;
    color: var(--nfl-turf-light);
    text-transform: uppercase;
}

.lna-hero h2 {
    font-size: clamp(2.1rem, 5vw, 3.4rem);
    line-height: 1.05;
    color: var(--nfl-light);
    margin: .5rem 0 1rem;
}

.lna-hero h2.title {
    color: #fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}

.lna-hero h2 span {
    color: var(--nfl-turf-light);
}

.lna-hero p.lead {
    color: #eee;
}

.lna-breadcrumb a {
    color: var(--nfl-muted);
    text-decoration: none;
}

.lna-breadcrumb a:hover {
    color: var(--nfl-turf-light);
}

.lna-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin-top: 1.5rem;
    font-size: .85rem;
    color: var(--nfl-muted);
}

.lna-meta span i {
    color: var(--nfl-turf-light);
    margin-right: .4rem;
}

/* ---------- TOC ---------- */
.nsa-toc {
    background: var(--nfl-card);
    border: 1px solid var(--nfl-line);
    border-radius: .65rem;
    padding: 1.25rem 1.4rem;
}

.nsa-toc .nsa-toc-title {
    font-family: 'JetBrains Mono', monospace;
    font-size: .72rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--nfl-gold);
    margin-bottom: .75rem;
    display: block;
}

.nsa-toc ol {
    margin: 0;
    padding-left: 1.1rem;
    column-count: 1;
}

.nsa-toc li {
    margin-bottom: .4rem;
}

.nsa-toc a {
    color: var(--nfl-white);
    text-decoration: none;
    font-size: .92rem;
}

.nsa-toc a:hover {
    color: var(--nfl-turf-light);
}

/* ---------- SECTIONS ---------- */
.nsa-section {
    padding-top: 3rem;
    scroll-margin-top: 2rem;
}

.nsa-section h2 {
    font-size: 1.7rem;
    color: var(--nfl-white);
}

.nsa-section .nsa-kicker {
    font-family: 'JetBrains Mono', monospace;
    font-size: .72rem;
    letter-spacing: .15em;
    color: var(--nfl-turf-light);
    text-transform: uppercase;
    display: block;
    margin-bottom: .4rem;
}

/* ---------- SYSTEM CARDS ---------- */
.nsa-sys-card {
    background: var(--nfl-card);
    border: 1px solid var(--nfl-line);
    border-radius: .7rem;
    padding: 1.2rem 1.3rem;
    height: 100%;
}

.nsa-sys-card h3 {
    font-size: 1.02rem;
    color: var(--nfl-white);
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: .5rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.nsa-sys-card h3 i {
    color: var(--nfl-turf-light);
}

.nsa-sys-card p {
    color: var(--nfl-muted);
    font-size: .9rem;
    line-height: 1.6;
    margin-bottom: 0;
}

/* ---------- DIAGRAM : FRONTS (badges en formation) ---------- */
.nsa-diagram {
    background: linear-gradient(180deg, #1b6b45, #14512f);
    border: 1px solid var(--nfl-line);
    border-radius: .6rem;
    padding: 1.3rem 1rem 1rem;
}

.nsa-diagram .row-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: .65rem;
    color: rgba(255, 255, 255, .65);
    text-transform: uppercase;
    letter-spacing: .08em;
    text-align: center;
    margin-bottom: .4rem;
}

.nsa-diagram .row-badges {
    display: flex;
    justify-content: center;
    gap: .5rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.nsa-diagram .los {
    border-top: 2px dashed rgba(255, 255, 255, .5);
    margin: .6rem 0 1rem;
    position: relative;
}

.nsa-diagram .los::after {
    content: "LIGNE DE MÊLÉE";
    position: absolute;
    right: 0;
    top: -1.7rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: .6rem;
    color: rgba(255, 255, 255, .55);
    letter-spacing: .05em;
}

.nsa-badge-dot {
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 700;
    font-size: .68rem;
    color: #fff;
    box-shadow: 0 4px 10px -3px rgba(0, 0, 0, .5);
}

.nsa-diagram-caption {
    text-align: center;
    font-size: .76rem;
    color: rgba(255, 255, 255, .8);
    margin-top: .2rem;
}

/* ---------- DIAGRAM : COVERAGE SHELL (bandes de zone) ---------- */
.nsa-shell {
    border: 1px solid var(--nfl-line);
    border-radius: .5rem;
    overflow: hidden;
}

.nsa-shell .deep-row, .nsa-shell .under-row {
    display: flex;
}

.nsa-shell .zone-block {
    flex: 1;
    padding: .9rem .4rem;
    text-align: center;
    font-family: 'JetBrains Mono', monospace;
    font-size: .68rem;
    color: #fff;
    border-right: 1px solid rgba(255, 255, 255, .25);
    letter-spacing: .02em;
}

.nsa-shell .zone-block:last-child {
    border-right: none;
}

.nsa-shell .deep-row .zone-block {
    background: rgba(208, 51, 85, .55);
}

.nsa-shell .under-row .zone-block {
    background: rgba(94, 163, 255, .35);
    padding: .6rem .4rem;
    font-size: .62rem;
}

.nsa-shell-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: .65rem;
    color: var(--nfl-muted);
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: .5rem 0 .3rem;
}

/* ---------- MAN VS ZONE MINI ---------- */
.nsa-mvz-card {
    background: var(--nfl-card);
    border: 1px solid var(--nfl-line);
    border-radius: .6rem;
    padding: 1.1rem;
    height: 100%;
}

.nsa-mvz-card h4 {
    font-family: 'JetBrains Mono', monospace;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--nfl-gold);
    margin-bottom: .6rem;
}

.nsa-mvz-pair {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    color: var(--nfl-muted);
    margin-bottom: .45rem;
}

.nsa-mvz-pair i {
    color: var(--nfl-turf-light);
}

/* ---------- TABLE ---------- */
.nsa-table-wrap {
    background: var(--nfl-card);
    border: 1px solid var(--nfl-line);
    border-radius: .65rem;
    overflow: hidden;
}

table.nsa-table {
    color: var(--nfl-white);
    margin-bottom: 0;
}

table.nsa-table thead th {
    background: var(--nfl-bg-alt);
    color: var(--nfl-gold);
    font-family: 'JetBrains Mono', monospace;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--nfl-line);
    white-space: nowrap;
}

table.nsa-table td, table.nsa-table th {
    border-color: var(--nfl-line);
    vertical-align: middle;
}

table.nsa-table tbody tr:hover {
    background: rgba(251, 122, 107, .06);
}

.nsa-note {
    border-left: 3px solid var(--nfl-gold);
    background: rgba(232, 184, 75, .08);
    padding: .9rem 1.1rem;
    border-radius: 0 .4rem .4rem 0;
    font-size: .9rem;
    color: var(--nfl-muted);
}

/* ---------- BONUS STRATEGY CARDS ---------- */
.nsa-bonus-card {
    background: linear-gradient(160deg, var(--nfl-card), var(--nfl-bg-alt));
    border: 1px solid var(--nfl-line);
    border-radius: .75rem;
    padding: 1.3rem 1.4rem;
    height: 100%;
}

.nsa-bonus-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .5rem;
    background: rgba(251, 122, 107, .15);
    color: var(--nfl-turf-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    margin-bottom: .75rem;
}

.nsa-bonus-card h3 {
    font-size: .98rem;
    color: var(--nfl-white);
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: .5rem;
}

.nsa-bonus-card p {
    color: var(--nfl-muted);
    font-size: .88rem;
    line-height: 1.55;
    margin-bottom: 0;
}

/* ---------- FAQ ---------- */
.nsa-accordion .accordion-item {
    background: var(--nfl-card);
    border: 1px solid var(--nfl-line);
    border-radius: .5rem;
    overflow: hidden;
    margin-bottom: .6rem;
}

.nsa-accordion .accordion-button {
    background: var(--nfl-card);
    color: var(--nfl-white);
    font-weight: 700;
    font-size: .98rem;
    box-shadow: none;
}

.nsa-accordion .accordion-button:not(.collapsed) {
    background: var(--nfl-bg-alt);
    color: var(--nfl-turf-light);
}

.nsa-accordion .accordion-button::after {
    filter: invert(1);
}

.nsa-accordion .accordion-body {
    color: var(--nfl-muted);
    font-size: .92rem;
    line-height: 1.6;
}

/* ---------- CTA ---------- */
.mna-cta {
    background: linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg));
    border: 1px solid var(--nfl-line);
    border-radius: 1rem;
    padding: 2.5rem;
}

.mna-cta h2 {
    font-size: 1.6rem;
    color: var(--nfl-white);
}

.btn-nfl-primary {
    background: var(--nfl-turf);
    border-color: var(--nfl-turf);
    color: var(--nfl-white);
    font-weight: 700;
}

.btn-nfl-primary:hover {
    background: var(--nfl-turf-light);
    border-color: var(--nfl-turf-light);
    color: var(--nfl-bg-alt);
}

.btn-nfl-outline {
    border-color: var(--nfl-line);
    color: var(--nfl-white);
}

.btn-nfl-outline:hover {
    background: var(--nfl-card);
    color: var(--nfl-white);
    border-color: var(--nfl-turf);
}



.superbowl-article{ background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif; }
.superbowl-article h1, .superbowl-article h2, .superbowl-article h3, .superbowl-article .sba-display{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
}

/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}
/* ---------- HERO ---------- */
.sba-hero{
    position:relative;
    background:
            linear-gradient(180deg, rgba(8,22,57,.55) 0%, rgba(8,22,57,.93) 85%),
            repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 2px, transparent 2px 78px),
            radial-gradient(120% 140% at 50% -20%, #3a4d80 0%, var(--nfl-bg-alt) 60%);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.sba-eyebrow{ font-family:'JetBrains Mono',monospace; letter-spacing:.18em; font-size:.75rem; color:var(--nfl-turf-light); text-transform:uppercase; }
.sba-hero h1{ font-size:clamp(2.1rem,5vw,3.4rem); line-height:1.05; color:var(--nfl-white); margin:.5rem 0 1rem; }
.sba-hero h1 span{ color:var(--nfl-turf-light); }
.sba-hero p.lead{ color:var(--nfl-muted); max-width:48rem; }
.sba-breadcrumb a{ color:var(--nfl-muted); text-decoration:none; }
.sba-breadcrumb a:hover{ color:var(--nfl-turf-light); }
.sba-meta{ display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem; font-size:.85rem; color:var(--nfl-muted); }
.sba-meta span i{ color:var(--nfl-turf-light); margin-right:.4rem; }

/* ---------- TOC ---------- */
.sba-toc{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; padding:1.25rem 1.4rem; }
.sba-toc .sba-toc-title{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--nfl-gold); margin-bottom:.75rem; display:block; }
.sba-toc ol{ margin:0; padding-left:1.1rem; }
.sba-toc li{ margin-bottom:.4rem; }
.sba-toc a{ color:var(--nfl-white); text-decoration:none; font-size:.92rem; }
.sba-toc a:hover{ color:var(--nfl-turf-light); }

/* ---------- SECTIONS ---------- */
.sba-section{ padding-top:3rem; scroll-margin-top:2rem; }
.sba-section h2{ font-size:1.7rem; color:var(--nfl-white); }
.sba-section .sba-kicker{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; color:var(--nfl-turf-light); text-transform:uppercase; display:block; margin-bottom:.4rem; }

/* ---------- TROPHY STAT STRIP ---------- */
.sba-trophy-strip{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.8rem; margin-top:1.2rem; }
.sba-trophy-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.5rem; padding:.9rem 1rem; text-align:center; }
.sba-trophy-card .val{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1.25rem; color:var(--nfl-turf-light); }
.sba-trophy-card .lbl{ font-size:.72rem; color:var(--nfl-muted); text-transform:uppercase; letter-spacing:.05em; }

/* ---------- TIMELINE DES MATCHS MARQUANTS ---------- */
.sba-drive{ position:relative; padding-left:3.4rem; }
.sba-drive::before{ content:""; position:absolute; left:1.55rem; top:.4rem; bottom:.4rem; width:0; border-left:2px dashed var(--nfl-line); }
.sba-drive-step{ position:relative; padding-bottom:2.3rem; }
.sba-drive-step:last-child{ padding-bottom:0; }
.sba-sb-badge{
    position:absolute; left:-3.4rem; top:0; width:3.1rem; height:3.1rem; border-radius:50%;
    background:var(--nfl-turf-light); color:var(--nfl-bg-alt); display:flex; align-items:center; justify-content:center;
    font-family:'Anton',sans-serif; font-weight:700; font-size:.85rem; text-align:center; line-height:1.1;
    box-shadow:0 6px 16px -6px rgba(251,122,107,.6);
}
.sba-drive-step.is-recent .sba-sb-badge{ background:var(--nfl-gold); color:var(--nfl-bg-alt); }
.sba-drive-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.6rem; padding:1.1rem 1.3rem; }
.sba-drive-card h3{ font-family:'Inter',sans-serif; font-weight:800; font-size:1.05rem; color:var(--nfl-white); margin-bottom:.35rem; text-transform:none; letter-spacing:0; }
.sba-drive-card .sba-tag{ font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--nfl-turf-light); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:.5rem; }
.sba-drive-card p{ color:var(--nfl-muted); font-size:.92rem; margin-bottom:0; line-height:1.55; }

/* ---------- SPECIAL CARDS ---------- */
.sba-special-card{ background:linear-gradient(160deg, var(--nfl-card), var(--nfl-bg-alt)); border:1px solid var(--nfl-line); border-radius:.75rem; padding:1.4rem 1.5rem; height:100%; }
.sba-special-icon{ width:2.6rem; height:2.6rem; border-radius:.5rem; background:rgba(251,122,107,.15); color:var(--nfl-turf-light); display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:.8rem; }
.sba-special-card h3{ font-size:1.02rem; color:var(--nfl-white); text-transform:none; letter-spacing:0; margin-bottom:.5rem; }
.sba-special-card p{ color:var(--nfl-muted); font-size:.9rem; line-height:1.55; margin-bottom:0; }

/* ---------- STAT GRID ---------- */
.sba-stat-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.7rem; padding:1.3rem 1rem; text-align:center; height:100%; }
.sba-stat-card .num{ font-family:'Anton',sans-serif; font-size:2rem; color:var(--nfl-turf-light); line-height:1; }
.sba-stat-card .cap{ font-size:.78rem; color:var(--nfl-muted); margin-top:.4rem; }

/* ---------- TABLE ---------- */
.sba-table-wrap{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; overflow:hidden; }
table.sba-table{ color:var(--nfl-white); margin-bottom:0; }
table.sba-table thead th{
    background:var(--nfl-bg-alt); color:var(--nfl-gold); font-family:'JetBrains Mono',monospace;
    font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--nfl-line); white-space:nowrap;
}
table.sba-table td, table.sba-table th{ border-color:var(--nfl-line); vertical-align:middle; }
table.sba-table tbody tr:hover{ background:rgba(251,122,107,.06); }

.sba-note{ border-left:3px solid var(--nfl-gold); background:rgba(232,184,75,.08); padding:.9rem 1.1rem; border-radius:0 .4rem .4rem 0; font-size:.9rem; color:var(--nfl-muted); }

/* ---------- FAQ ---------- */
.sba-accordion .accordion-item{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.5rem; overflow:hidden; margin-bottom:.6rem; }
.sba-accordion .accordion-button{ background:var(--nfl-card); color:var(--nfl-white); font-weight:700; font-size:.98rem; box-shadow:none; }
.sba-accordion .accordion-button:not(.collapsed){ background:var(--nfl-bg-alt); color:var(--nfl-turf-light); }
.sba-accordion .accordion-button::after{ filter:invert(1); }
.sba-accordion .accordion-body{ color:var(--nfl-muted); font-size:.92rem; line-height:1.6; }

/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }



.stats-nfl-article{ background:var(--nfl-bg); color:var(--nfl-white); font-family:'Inter',sans-serif; }
.stats-nfl-article h1, .stats-nfl-article h2, .stats-nfl-article h3, .stats-nfl-article .sta-display{
    font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.03em;
}


/* ---------- HERO ---------- */
.lna-hero{
    position:relative;
    background:var(--nfl-bg-alt);
    border-bottom:1px solid var(--nfl-line);
    padding:4.5rem 0 3rem;
}
.lna-eyebrow{
    font-family:'JetBrains Mono',monospace;
    letter-spacing:.18em;
    font-size:.75rem;
    color:var(--nfl-turf-light);
    text-transform:uppercase;
}
.lna-hero h2{
    font-size:clamp(2.1rem,5vw,3.4rem);
    line-height:1.05;
    color:var(--nfl-light);
    margin:.5rem 0 1rem;
}
.lna-hero h2.title {
    color:#fff !important;
    background-image: linear-gradient(144.14deg, var(--nfl-light) -11.44%, var(--nfl-light) 123.42%);
}
.lna-hero h2 span{color:var(--nfl-turf-light);}
.lna-hero p.lead{color:#eee;}
.lna-breadcrumb a{color:var(--nfl-muted); text-decoration:none;}
.lna-breadcrumb a:hover{color:var(--nfl-turf-light);}
.lna-meta{
    display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem;
    font-size:.85rem; color:var(--nfl-muted);
}
.lna-meta span i{color:var(--nfl-turf-light); margin-right:.4rem;}

/* ---------- TOC ---------- */
.sta-toc{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; padding:1.25rem 1.4rem; }
.sta-toc .sta-toc-title{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--nfl-gold); margin-bottom:.75rem; display:block; }
.sta-toc ol{ margin:0; padding-left:1.1rem; }
.sta-toc li{ margin-bottom:.4rem; }
.sta-toc a{ color:var(--nfl-white); text-decoration:none; font-size:.92rem; }
.sta-toc a:hover{ color:var(--nfl-turf-light); }

/* ---------- SECTIONS ---------- */
.sta-section{ padding-top:3rem; scroll-margin-top:2rem; }
.sta-section h2{ font-size:1.7rem; color:var(--nfl-white); }
.sta-section .sta-kicker{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.15em; color:var(--nfl-turf-light); text-transform:uppercase; display:block; margin-bottom:.4rem; }

/* ---------- STAT DEFINITION CARDS ---------- */
.sta-stat-card{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.7rem; padding:1.3rem 1.4rem; height:100%; }
.sta-stat-head{ display:flex; align-items:center; gap:.8rem; margin-bottom:.7rem; }
.sta-stat-badge{
    font-family:'JetBrains Mono',monospace; font-weight:700; font-size:.78rem; color:#fff;
    background:var(--nfl-turf); padding:.35rem .6rem; border-radius:.4rem; white-space:nowrap;
}
.sta-stat-head h3{ font-family:'Inter',sans-serif; font-weight:800; font-size:1.02rem; color:var(--nfl-white); margin:0; text-transform:none; letter-spacing:0; }
.sta-stat-card p{ color:var(--nfl-muted); font-size:.9rem; line-height:1.6; margin-bottom:.6rem; }
.sta-stat-meta{
    font-family:'JetBrains Mono',monospace; font-size:.7rem; color:var(--nfl-gold);
    border-top:1px solid var(--nfl-line); padding-top:.6rem; margin-top:.6rem;
}

/* ---------- FORMULA BOX ---------- */
.sta-formula{
    background:var(--nfl-bg-alt); border:1px solid var(--nfl-line); border-radius:.5rem;
    padding:1rem 1.2rem; font-family:'JetBrains Mono',monospace; font-size:.85rem; color:var(--nfl-turf-light);
    overflow-x:auto; white-space:nowrap;
}

/* ---------- TABLE ---------- */
.sta-table-wrap{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.65rem; overflow:hidden; }
table.sta-table{ color:var(--nfl-white); margin-bottom:0; }
table.sta-table thead th{
    background:var(--nfl-bg-alt); color:var(--nfl-gold); font-family:'JetBrains Mono',monospace;
    font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid var(--nfl-line); white-space:nowrap;
}
table.sta-table td, table.sta-table th{ border-color:var(--nfl-line); vertical-align:middle; }
table.sta-table tbody tr:hover{ background:rgba(251,122,107,.06); }

.sta-note{ border-left:3px solid var(--nfl-gold); background:rgba(232,184,75,.08); padding:.9rem 1.1rem; border-radius:0 .4rem .4rem 0; font-size:.9rem; color:var(--nfl-muted); }

/* ---------- BONUS CARDS ---------- */
.sta-bonus-card{ background:linear-gradient(160deg, var(--nfl-card), var(--nfl-bg-alt)); border:1px solid var(--nfl-line); border-radius:.75rem; padding:1.3rem 1.4rem; height:100%; }
.sta-bonus-icon{ width:2.5rem; height:2.5rem; border-radius:.5rem; background:rgba(251,122,107,.15); color:var(--nfl-turf-light); display:flex; align-items:center; justify-content:center; font-size:1.1rem; margin-bottom:.75rem; }
.sta-bonus-card h3{ font-size:.98rem; color:var(--nfl-white); text-transform:none; letter-spacing:0; margin-bottom:.5rem; }
.sta-bonus-card p{ color:var(--nfl-muted); font-size:.88rem; line-height:1.55; margin-bottom:0; }

/* ---------- FAQ ---------- */
.sta-accordion .accordion-item{ background:var(--nfl-card); border:1px solid var(--nfl-line); border-radius:.5rem; overflow:hidden; margin-bottom:.6rem; }
.sta-accordion .accordion-button{ background:var(--nfl-card); color:var(--nfl-white); font-weight:700; font-size:.98rem; box-shadow:none; }
.sta-accordion .accordion-button:not(.collapsed){ background:var(--nfl-bg-alt); color:var(--nfl-turf-light); }
.sta-accordion .accordion-button::after{ filter:invert(1); }
.sta-accordion .accordion-body{ color:var(--nfl-muted); font-size:.92rem; line-height:1.6; }

/* ---------- CTA ---------- */
.sta-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.sta-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }

/* ---------- CTA ---------- */
.mna-cta{ background:linear-gradient(135deg, var(--nfl-bg-alt), var(--nfl-bg)); border:1px solid var(--nfl-line); border-radius:1rem; padding:2.5rem; }
.mna-cta h2{ font-size:1.6rem; color:var(--nfl-white); }
.btn-nfl-primary{ background:var(--nfl-turf); border-color:var(--nfl-turf); color:var(--nfl-white); font-weight:700; }
.btn-nfl-primary:hover{ background:var(--nfl-turf-light); border-color:var(--nfl-turf-light); color:var(--nfl-bg-alt); }
.btn-nfl-outline{ border-color:var(--nfl-line); color:var(--nfl-white); }
.btn-nfl-outline:hover{ background:var(--nfl-card); color:var(--nfl-white); border-color:var(--nfl-turf); }