/* ═══════════════════════════════════════════════════════════════
   Vikings Intel — "Quiet Authority" Design System
   Shared stylesheet. All pages include this file.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --bg: #0B0D11;
  --surface: #12141A;
  --surface-h: #181A22;
  --border: rgba(255,255,255,.06);
  --border-h: rgba(255,255,255,.1);
  --gold: #FFB800;
  --gold-soft: rgba(255,184,0,.06);
  --text-1: #E8E8F0;
  --text-2: #8B8FA2;
  --text-3: #6B6F85;
  --radius: 8px;
  --radius-sm: 4px;
}

/* ═══ RESET ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text-1);font-family:'DM Sans',sans-serif;overflow-x:hidden;font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img,svg{display:block;max-width:100%}
::selection{background:#FFB800;color:#0B0D11}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px}
input::placeholder{color:var(--text-3);opacity:.7}

/* ═══ ANIMATIONS ═══ */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes horn-scroll{to{transform:translateX(-50%)}}

/* ═══ HORN TICKER ═══ */
.horn-wrap{overflow:hidden;min-width:0;flex:1;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.horn-scroll{display:inline-flex;animation:horn-scroll 40s linear infinite;will-change:transform}
.horn-scroll:hover{animation-play-state:paused}
.horn-items{flex-shrink:0;white-space:nowrap}

/* ═══ FONT UTILITIES ═══ */
.f-os{font-family:'Oswald',sans-serif}
.f-jm{font-family:'JetBrains Mono',monospace}
.f-dm{font-family:'DM Sans',sans-serif}

/* ═══ LAYOUT ═══ */
.W{max-width:1320px;margin:0 auto;padding-left:12px;padding-right:12px}
@media(min-width:768px){.W{padding-left:20px;padding-right:20px}}

/* ═══ RESPONSIVE TOGGLES ═══ */
/* ═══ ACCESSIBILITY ═══ */
@media(prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.horn-scroll{animation:horn-scroll 60s linear infinite!important}}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.FB:focus-visible,.SB:focus-visible,.share-btn:focus-visible,.tag:focus-visible,.toc-link:focus-visible,.FI:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

@media(max-width:767px){.dk{display:none!important}.mb{display:flex!important}}
@media(min-width:768px){.mb{display:none!important}}

/* ═══ MOBILE NAV OVERLAY ═══ */
.MN{display:none;position:fixed;top:50px;left:0;right:0;bottom:0;background:var(--bg);z-index:90;padding:20px;flex-direction:column;overflow-y:auto}
.MN.open{display:flex}
.MN a{font-family:'Oswald',sans-serif;font-size:16px;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;padding:14px 0;border-bottom:1px solid var(--border);text-decoration:none}

/* ═══ CARDS ═══ */
.C{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s ease}
.CH{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}
.CL{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}

/* ═══ 3-COL GRID ═══ */
.G3{display:grid;grid-template-columns:1fr;gap:16px;grid-template-areas:"center" "left" "right"}
.G3-c{grid-area:center}.G3-l{grid-area:left}.G3-r{grid-area:right}
@media(min-width:768px) and (max-width:1099px){
  .G3-l,.G3-r{display:grid;grid-template-columns:1fr 1fr;gap:12px}
}
@media(min-width:1100px){
  .G3{grid-template-columns:240px minmax(0,1fr) 280px;grid-template-areas:"left center right";gap:16px}
}

/* ═══ 2-COL GRID (article layout) ═══ */
.G2{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:1024px){.G2{grid-template-columns:1fr 280px}}

/* ═══ FEED ITEMS ═══ */
.FI{display:block;padding:16px;border-bottom:1px solid var(--border);border-left:2px solid transparent;transition:background .15s ease,border-color .15s ease}
.FI:hover{background:rgba(255,255,255,.015);border-left-color:var(--ac,#FFB800)}
.FI:hover .FT{color:var(--gold)}
.FT{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;color:var(--text-1);line-height:1.25;transition:color .15s ease}
.FM{font-size:12px;color:var(--text-3);display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}

/* ═══ FILTER PILLS ═══ */
.FB{padding:6px 14px;background:transparent;border:1px solid var(--border);border-radius:20px;font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-2);cursor:pointer;transition:all .15s ease;white-space:nowrap}
.FB:hover{border-color:var(--border-h);color:var(--text-1)}

/* ═══ SECTION BUTTONS ═══ */
.SB{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 16px;background:transparent;border:none;border-left:2px solid transparent;text-align:left;font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;transition:all .15s ease;color:var(--text-3);cursor:pointer}
.SB:hover{color:var(--text-2);background:rgba(255,255,255,.015)}

/* ═══ JERSEY NUMBERS ═══ */
.JN{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#4F2683;text-shadow:0 0 4px rgba(255,184,0,.2);text-align:center;width:32px;flex-shrink:0;line-height:1}

/* ═══ CATEGORY DOT ═══ */
.cat-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block}
.cat-label{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}

/* ═══ DATA BADGE (transaction tags, etc.) ═══ */
.badge{font-family:'Oswald',sans-serif;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:3px}

/* ═══ ARTICLE BODY TYPOGRAPHY ═══ */
.vi-body h2{font-family:'Oswald',sans-serif;font-weight:700;font-size:26px;color:var(--text-1);text-transform:uppercase;letter-spacing:-.01em;margin:36px 0 16px;padding-left:12px;border-left:3px solid var(--gold)}
.vi-body h3{font-family:'Oswald',sans-serif;font-weight:700;font-size:21px;color:var(--text-1);margin:28px 0 12px}
.vi-body p{margin:0 0 20px}
.vi-body strong{color:var(--text-1);font-weight:600}
.vi-body a{color:#60A5FA;text-decoration:underline;text-decoration-color:rgba(96,165,250,.27);transition:text-decoration-color .15s}
.vi-body a:hover{text-decoration-color:#60A5FA}
.vi-body ul,.vi-body ol{margin:0 0 20px;padding-left:0;list-style:none}
.vi-body li{position:relative;padding:8px 0 8px 20px;border-bottom:1px solid var(--border)}
.vi-body li::before{content:'';position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.vi-body blockquote{margin:24px 0;padding:16px 20px;border-left:3px solid #60A5FA;background:rgba(96,165,250,.04);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2);font-style:italic}
.vi-body img{max-width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);margin:20px 0}

/* ═══ ABOUT PAGE BODY ═══ */
.vi-about h2{font-family:'Oswald',sans-serif;font-weight:700;font-size:26px;color:var(--text-1);text-transform:uppercase;letter-spacing:-.01em;margin:32px 0 14px;padding-left:12px;border-left:3px solid var(--gold)}
.vi-about h3{font-family:'Oswald',sans-serif;font-weight:700;font-size:20px;color:var(--gold);margin:24px 0 10px}
.vi-about p{margin:0 0 18px;font-size:15px;line-height:1.75;color:#B8B8CC}
.vi-about strong{color:var(--text-1)}
.vi-about a{color:#60A5FA;text-decoration:underline;text-decoration-color:rgba(96,165,250,.27)}
.vi-about a:hover{text-decoration-color:#60A5FA}

/* ═══ TABLE OF CONTENTS ═══ */
.toc-link{display:block;padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-3);text-decoration:none;border-left:2px solid transparent;transition:all .15s ease}
.toc-link:hover,.toc-link.active{color:var(--gold);border-left-color:var(--gold)}

/* ═══ SHARE BUTTONS ═══ */
.share-btn{padding:5px 14px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);font-family:'Oswald',sans-serif;font-size:11px;font-weight:600;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:all .15s ease;text-decoration:none;display:inline-block}
.share-btn:hover{border-color:var(--gold);color:var(--gold)}

/* ═══ TAGS ═══ */
.tag{font-family:'Oswald',sans-serif;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;transition:all .15s ease;display:inline-block}
.tag:hover{color:var(--gold);border-color:var(--gold)}

/* ═══ PAGE HERO (for sub-pages) ═══ */
.page-hero{padding:32px 0 24px;border-bottom:1px solid var(--border)}
.page-hero .page-title{font-family:'Oswald',sans-serif;font-size:clamp(32px,5vw,48px);font-weight:700;color:var(--text-1);text-transform:uppercase;letter-spacing:-.01em;margin:0}
.page-hero .page-subtitle{font-size:15px;color:var(--text-2);margin-top:8px;line-height:1.6}

/* ═══ BREADCRUMBS ═══ */
.breadcrumb{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;color:var(--text-3);margin-bottom:12px}
.breadcrumb a{color:var(--text-3);text-decoration:none;transition:color .15s}
.breadcrumb a:hover{color:var(--text-1)}
.breadcrumb .sep{color:rgba(255,255,255,.08);margin:0 6px}

/* ═══ STAT CARDS (for data displays) ═══ */
.stat-card{padding:12px 14px;background:var(--gold-soft);border:1px solid rgba(255,184,0,.08);border-radius:var(--radius)}
.stat-label{font-family:'Oswald',sans-serif;font-size:10px;font-weight:600;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase}
.stat-value{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:var(--gold)}

/* ═══ FOOTER ═══ */
.vi-footer{border-top:1px solid var(--border);margin-top:24px}
.vi-footer .footer-inner{padding:20px 0 16px}
.vi-footer .footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.vi-footer .footer-brand{display:flex;align-items:center;gap:8px}
.vi-footer .footer-links{display:flex;align-items:center;gap:14px}
.vi-footer .footer-link{font-size:12px;color:var(--text-3);transition:color .15s}
.vi-footer .footer-link:hover{color:var(--text-1)}
.vi-footer .footer-social{color:var(--text-3);display:inline-flex;transition:color .15s}
.vi-footer .footer-social:hover{color:var(--text-1)}
.vi-footer .footer-bottom{border-top:1px solid var(--border);padding-top:14px}
.vi-footer .footer-disclaimer{font-size:11px;color:var(--text-3);line-height:1.6;max-width:680px}
.vi-footer .footer-copy{font-size:11px;color:var(--text-3);margin-top:6px}

/* ═══ RESPONSIVE DATA TABLE ═══ */
.data-table{width:100%;border-collapse:collapse}
.data-table th{font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}
.data-table td{font-size:13px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-2)}
.data-table tr:hover td{background:rgba(255,255,255,.015)}
.data-table .highlight{color:var(--gold);font-weight:600}

/* ═══ CARD VARIANTS ═══ */
.C--glow:hover{border-color:rgba(255,184,0,.15);box-shadow:0 4px 24px rgba(0,0,0,.3)}
.C--lift{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.C--lift:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.35)}
.C--accent-gold{border-top:2px solid var(--gold)}
.C--accent-purple{border-top:2px solid #4F2683}
.C--flush{background:transparent;border-color:transparent;border-radius:0}

/* ═══ SECTION RHYTHM ═══ */
.section-gap{margin-top:48px;margin-bottom:48px}
.section-gap-sm{margin-top:32px;margin-bottom:32px}
.section-label{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);display:flex;align-items:center;gap:12px;margin-bottom:20px}
.section-label::after{content:'';flex:1;height:1px;background:var(--border)}
.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:40px 0}

/* ═══ SOCIAL EMBEDS ═══ */

/* Hero rotator (homepage) */
.vi-social-hero{border-bottom:1px solid var(--border)}
.vi-sh-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:20px;scrollbar-width:none}
.vi-sh-track::-webkit-scrollbar{display:none}
.vi-sh-card{scroll-snap-align:start;flex-shrink:0;width:clamp(260px,30vw,340px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:border-color .2s ease,box-shadow .25s ease,transform .25s ease;display:flex;flex-direction:column}
.vi-sh-card:hover{border-color:rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.35);transform:translateY(-2px)}
.vi-sh-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg)}
.vi-sh-media img{width:100%;height:100%;object-fit:cover}
.vi-sh-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);color:#fff;font-size:24px;transition:background .2s}
.vi-sh-card:hover .vi-sh-play{background:rgba(0,0,0,.5)}
.vi-sh-body{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.vi-sh-meta{display:flex;align-items:center;gap:8px}
.vi-sh-name{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;color:var(--text-1);text-transform:uppercase;letter-spacing:.01em}
.vi-sh-handle{font-family:'DM Sans',sans-serif;font-size:12px;color:var(--text-3)}
.vi-sh-caption{font-family:'DM Sans',sans-serif;font-size:13px;color:var(--text-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vi-sh-footer{display:flex;align-items:center;justify-content:space-between;font-family:'DM Sans',sans-serif;font-size:11px;color:var(--text-3);margin-top:auto;padding-top:4px}
.vi-sh-footer span:last-child{font-weight:600;transition:opacity .15s}
.vi-sh-card:hover .vi-sh-footer span:last-child{opacity:.8}

/* Rotator dots */
.vi-sh-dots{display:flex;justify-content:center;gap:6px;padding:12px 0 8px}
.vi-sh-dot{width:6px;height:6px;border-radius:50%;border:none;background:var(--text-3);opacity:.3;cursor:pointer;padding:0;transition:all .2s}
.vi-sh-dot.active{background:var(--gold);opacity:1;width:18px;border-radius:3px}

/* Sidebar widget */
.vi-sw-item{display:block;padding:12px 16px;border-bottom:1px solid var(--border);border-left:2px solid transparent;transition:background .12s,border-color .12s;text-decoration:none}
.vi-sw-item:hover{background:rgba(255,255,255,.015);border-left-color:var(--pc,var(--gold))}
.vi-sw-item:last-child{border-bottom:none}

/* Inline embed (article body) */
.vi-se-inline{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--pc,var(--gold));border-radius:0 var(--radius) var(--radius) 0;margin:24px 0;overflow:hidden}
.vi-se-header{display:flex;align-items:center;gap:8px;padding:14px 16px 0}
.vi-se-native{margin:24px 0;max-width:550px}

/* Feed strip (horizontal compact) */
.vi-sf-strip{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:12px;padding:4px 0;scrollbar-width:none}
.vi-sf-strip::-webkit-scrollbar{display:none}
.vi-sf-card{flex-shrink:0;width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;transition:border-color .2s}
.vi-sf-card:hover{border-color:var(--pc,rgba(255,255,255,.1))}
.vi-sf-thumb{width:100%;aspect-ratio:4/3;object-fit:cover}
.vi-sf-body{padding:10px 12px}

@media(max-width:767px){.vi-sh-card{width:85vw}}
