/* ===========================================================
   /players/aaron-jones/  —  "film room" running-back dossier
   Page-scoped stylesheet. Every class is prefixed .aj-
   Body class: .page-filmroom
   =========================================================== */

@font-face{
  font-family:"Archivo Expanded";
  src:url("/assets/fonts/archivo-expanded-600.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Archivo Expanded";
  src:url("/assets/fonts/archivo-expanded-700.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Archivo Expanded";
  src:url("/assets/fonts/archivo-expanded-900.woff2") format("woff2");
  font-weight:900;font-style:normal;font-display:swap;
}

.page-filmroom{
  /* ---- film-room ground ---- */
  --aj-ground:#f1f1f6;
  --aj-ground-2:#e9e8f0;
  --aj-panel:#ffffff;
  --aj-panel-2:#f7f6fb;

  /* ---- ink ---- */
  --aj-ink:#17171c;          /* 15.9:1 on white */
  --aj-ink-2:#3b3b47;        /* 9.5:1  on white */
  --aj-muted:#4f4f5c;        /* 7.6:1  on white */

  /* ---- brand ---- */
  --aj-purple:#4f2683;       /* 9.4:1 on white — safe as text */
  --aj-purple-deep:#3b1c63;
  --aj-purple-ink:#2a1450;
  --aj-purple-tint:#efeaf6;
  --aj-gold:#ffc62f;         /* NEVER text on light: rules + fills only */
  --aj-gold-deep:#e8a800;   /* on dark grounds only */
  --aj-gold-rule:#a06f00;   /* gold for rules and marks on the light ground: 4.4:1 on white */
  --aj-green:#1b4332;        /* stat-book insert panel — white text on it */
  --aj-green-2:#123026;

  /* ---- structure ---- */
  --aj-line:#b9b9ca;         /* darker than the site --line #d2d2de */
  --aj-line-soft:#d2d2de;
  --aj-head:58px;            /* the site header is sticky at 58px */
  --aj-stick:70px;           /* 58px header + 12px breathing room */
  --aj-rad:4px;

  --aj-disp:"Archivo Expanded",var(--display);

  color:var(--aj-ink);

  /* faint field markings, painted as the body background so they sit
     behind everything without creating a stacking context. An overlay
     element here would need a z-index on every child, and that would
     override position:sticky on the shared .site-head. Contrast is far
     below any text threshold, and body copy always sits on a panel. */
  background-color:var(--aj-ground);
  background-image:
    repeating-linear-gradient(90deg,
      rgba(79,38,131,.055) 0 1px, rgba(79,38,131,0) 1px 74px),
    repeating-linear-gradient(0deg,
      rgba(79,38,131,.028) 0 1px, rgba(79,38,131,0) 1px 74px);
  background-attachment:fixed,fixed;
}

/* ---------- shared bits ---------- */
.aj-eyebrow{
  display:block;font-family:var(--aj-disp);font-weight:700;
  font-size:11px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--aj-purple);
}
.aj-h2{
  font-family:var(--aj-disp);font-weight:900;
  font-size:clamp(23px,3.1vw,36px);line-height:1.06;letter-spacing:.005em;
  color:var(--aj-purple-ink);margin:0;
}
.aj-h3{
  font-family:var(--aj-disp);font-weight:700;
  font-size:clamp(17px,1.9vw,21px);line-height:1.2;letter-spacing:.01em;
  color:var(--aj-purple-ink);margin:0;
}
.aj-p{margin:0;color:var(--aj-ink-2);font-size:16px;line-height:1.62;max-width:70ch}
.aj-p + .aj-p{margin-top:12px}
.aj-stack > * + *{margin-top:14px}

.aj-sect{position:relative}
.aj-sect .wrap{padding-top:clamp(30px,4.4vw,54px);padding-bottom:clamp(30px,4.4vw,54px)}

.aj-sect-head{margin-bottom:20px}
.aj-sect-head .aj-h2{margin-top:4px}

/* every inline SVG on this page is sized here — an unsized SVG
   falls back to 300x150 and destroys the layout */
.page-filmroom svg{display:block}
.aj-ico{width:18px;height:18px;flex:none}
.aj-ico-sm{width:14px;height:14px;flex:none}
.aj-ico-lg{width:26px;height:26px;flex:none}

/* =========================================================
   BANNER
   ========================================================= */
.aj-banner{margin:0;background:var(--aj-purple-ink)}
.aj-banner-art{
  display:block;width:100%;height:auto;
  aspect-ratio:1600/620;object-fit:cover;object-position:50% 45%;
  max-height:min(58vh,520px);
}
@media (max-width:640px){
  .aj-banner-art{aspect-ratio:16/11;object-position:50% 42%}
}
.aj-banner figcaption{
  font-size:12px;color:var(--aj-muted);
  padding:8px 0 0;
}

/* =========================================================
   TITLE BLOCK
   ========================================================= */
.aj-title-sect{background:var(--aj-panel);border-bottom:2px solid var(--aj-line)}
.aj-title-sect .wrap{padding-top:clamp(22px,3vw,36px);padding-bottom:clamp(22px,3vw,34px)}

.aj-crumb{font-size:13px;color:var(--aj-muted);margin-bottom:14px}
.aj-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.aj-crumb li{display:flex;align-items:center;gap:6px;min-width:0}
.aj-crumb a{color:var(--aj-purple);text-decoration:underline;text-underline-offset:2px;
  padding:6px 2px;display:inline-block}
.aj-crumb a:hover{color:var(--aj-purple-ink)}
.aj-crumb [aria-current]{color:var(--aj-ink-2)}
.aj-crumb .aj-sep{color:var(--aj-line);font-weight:700}

.aj-h1{
  font-family:var(--aj-disp);font-weight:900;
  font-size:clamp(29px,5.1vw,58px);line-height:1.02;letter-spacing:.004em;
  color:var(--aj-purple-ink);margin:0;
}
.aj-lede{margin-top:16px}
.aj-lede p{margin:0;color:var(--aj-ink-2);font-size:clamp(16px,1.5vw,18px);line-height:1.6;max-width:72ch}
.aj-lede p + p{margin-top:11px}

.aj-updated{
  margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  font-family:var(--aj-disp);font-weight:600;font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--aj-muted);
}
.aj-updated .aj-dot{width:7px;height:7px;border-radius:50%;background:var(--aj-gold-rule);flex:none}

/* =========================================================
   BROADCAST LOWER-THIRD  (quick player record)
   ========================================================= */
.aj-strip-sect .wrap{padding-top:clamp(22px,3vw,34px);padding-bottom:clamp(22px,3vw,34px)}

.aj-strip{
  border:2px solid var(--aj-purple);border-radius:var(--aj-rad);
  background:linear-gradient(180deg,var(--aj-purple-deep),var(--aj-purple-ink));
  overflow:hidden;
}
.aj-strip-top{
  display:flex;flex-wrap:wrap;align-items:stretch;gap:0;
}
.aj-strip-shot{
  flex:none;width:132px;min-width:0;align-self:stretch;min-height:116px;
  position:relative;overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% 12%, #6b3aa8 0%, #3b1c63 62%, #2a1450 100%);
  border-right:2px solid var(--aj-gold);
}
/* The cutout is a head-and-shoulders bust: its alpha runs off the
   bottom, left and right edges of the file. It is therefore scaled to
   fill this frame edge to edge and cropped, so the flat cut lines
   always coincide with the frame border and none of them is visible. */
.aj-strip-shot img{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:50% 4%;
}
.aj-strip-id{
  flex:1 1 260px;min-width:0;display:flex;align-items:center;gap:14px;
  padding:14px 18px;
}
.aj-strip-no{
  font-family:var(--aj-disp);font-weight:900;font-size:clamp(38px,6vw,58px);
  line-height:.86;color:var(--aj-gold);flex:none;
}
.aj-strip-names{min-width:0}
.aj-strip-name{
  display:block;font-family:var(--aj-disp);font-weight:900;
  font-size:clamp(20px,2.7vw,29px);line-height:1.04;color:#fff;letter-spacing:.01em;
}
.aj-strip-role{
  display:block;margin-top:5px;font-family:var(--aj-disp);font-weight:600;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.82);
}
.aj-strip-live{
  align-self:center;margin-left:auto;flex:none;
  display:inline-flex;align-items:center;gap:7px;margin-right:18px;
  background:var(--aj-gold);color:#231800;border-radius:2px;
  font-family:var(--aj-disp);font-weight:700;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;padding:7px 11px;
}

/* narrow: two-row grid so the portrait frame spans the full block height
   and its cropped bottom edge never shows a seam mid-panel */
@media (max-width:640px){
  .aj-strip-top{
    display:grid;grid-template-columns:112px minmax(0,1fr);
    grid-template-areas:"shot id" "shot live";align-items:stretch;
  }
  .aj-strip-shot{grid-area:shot;width:auto;min-height:0}
  .aj-strip-id{grid-area:id;padding:12px 14px 0}
  .aj-strip-live{grid-area:live;justify-self:start;align-self:start;
    margin:10px 0 14px 14px}
}

.aj-strip-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
  gap:1px;background:var(--aj-purple-ink);border-top:2px solid var(--aj-gold);
}
.aj-fact{background:var(--aj-purple-ink);padding:11px 14px;min-width:0;
  box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.aj-fact dt{
  font-family:var(--aj-disp);font-weight:600;font-size:10.5px;
  letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.74);
}
.aj-fact dd{
  margin:4px 0 0;font-family:var(--aj-disp);font-weight:700;
  font-size:16px;color:#fff;line-height:1.25;
}
.aj-source{
  margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--aj-muted);
  display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;
}
.aj-source b{color:var(--aj-ink-2);font-weight:700}

/* =========================================================
   SHELL + DOWN-AND-DISTANCE MARKER
   ========================================================= */
.aj-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:0}

.aj-marker{min-width:0}
.aj-marker h2{
  font-family:var(--aj-disp);font-weight:700;font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--aj-muted);
  margin:0 0 8px;
}
.aj-marker ol{list-style:none;margin:0;padding:0;display:flex;gap:8px;min-width:0}
.aj-marker li{min-width:0}
.aj-marker a{
  display:flex;align-items:center;gap:9px;min-height:44px;min-width:0;
  padding:7px 12px;border:1.5px solid var(--aj-line);border-left-width:4px;
  border-radius:var(--aj-rad);background:var(--aj-panel);
  color:var(--aj-ink-2);text-decoration:none;
}
.aj-marker a:hover{border-color:var(--aj-purple);color:var(--aj-purple-ink)}
.aj-marker .aj-mk-no{
  flex:none;display:grid;place-items:center;width:26px;height:26px;
  background:var(--aj-purple);color:#fff;border-radius:2px;
  font-family:var(--aj-disp);font-weight:900;font-size:13px;
}
.aj-marker .aj-mk-txt{min-width:0;display:block}
.aj-marker .aj-mk-dd{
  display:block;font-family:var(--aj-disp);font-weight:600;font-size:9.5px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--aj-muted);
}
.aj-marker .aj-mk-lab{
  display:block;font-family:var(--aj-disp);font-weight:700;font-size:13px;
  line-height:1.2;letter-spacing:.02em;
}
.aj-marker a[aria-current="true"]{
  border-color:var(--aj-purple);border-left-color:var(--aj-gold-rule);
  background:var(--aj-purple-tint);color:var(--aj-purple-ink);
}
.aj-marker a[aria-current="true"] .aj-mk-dd{color:var(--aj-purple)}

/* narrow: sticky horizontal chain strip flush under the site header */
@media (max-width:1039px){
  .aj-marker{
    position:sticky;top:var(--aj-head);z-index:30;
    background:var(--aj-ground);
    border-bottom:2px solid var(--aj-line);
    margin:0 -20px;padding:10px 20px 11px;
  }
  .aj-marker h2{margin-bottom:7px}
  .aj-marker ol{overflow-x:auto;overflow-y:hidden;padding-bottom:4px;
    scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .aj-marker li{flex:none}
  .aj-marker .aj-mk-lab{white-space:nowrap}
}

/* wide: vertical rail that rides down the page */
@media (min-width:1040px){
  .aj-shell{grid-template-columns:236px minmax(0,1fr);gap:38px;align-items:start}
  .aj-marker{
    position:sticky;top:var(--aj-stick);
    border-left:3px solid var(--aj-gold-rule);padding-left:14px;
  }
  .aj-marker ol{flex-direction:column;gap:7px}
  .aj-marker a{border-left-width:4px}
}

.aj-drives{min-width:0}
.aj-drive + .aj-drive{margin-top:clamp(34px,4.6vw,58px)}
.aj-drive{scroll-margin-top:calc(var(--aj-head) + 84px)}
@media (min-width:1040px){.aj-drive{scroll-margin-top:calc(var(--aj-head) + 22px)}}

.aj-drive-head{
  border-bottom:3px solid var(--aj-purple);padding-bottom:12px;margin-bottom:20px;
}
.aj-drive-head .aj-h2{margin-top:5px}

/* =========================================================
   PANELS / PLAY CARDS
   ========================================================= */
.aj-panel{
  background:var(--aj-panel);border:1.5px solid var(--aj-line);
  border-radius:var(--aj-rad);padding:clamp(16px,2.2vw,24px);min-width:0;
}
.aj-panel + .aj-panel{margin-top:16px}

/* purple video-frame border — the page's signature container */
.aj-vframe{
  position:relative;background:var(--aj-panel);
  border:2px solid var(--aj-purple);border-radius:var(--aj-rad);
  padding:clamp(16px,2.2vw,24px);min-width:0;
}
.aj-vframe::before,.aj-vframe::after{
  content:"";position:absolute;width:13px;height:13px;pointer-events:none;
  border:2px solid var(--aj-gold-rule);
}
.aj-vframe::before{top:6px;left:6px;border-right:0;border-bottom:0}
.aj-vframe::after{bottom:6px;right:6px;border-left:0;border-top:0}
.aj-vframe + .aj-vframe{margin-top:16px}

.aj-play-tag{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;
  background:var(--aj-purple);color:#fff;border-radius:2px;padding:6px 11px;
  font-family:var(--aj-disp);font-weight:700;font-size:10.5px;
  letter-spacing:.15em;text-transform:uppercase;
}
.aj-play-tag svg{width:13px;height:13px;flex:none}

/* handwritten play arrows — decoration only, always aria-hidden */
.aj-arrow{
  position:absolute;pointer-events:none;color:var(--aj-purple);opacity:.28;
}
.aj-arrow svg{width:100%;height:100%}
.aj-arrow-a{width:88px;height:56px;top:-14px;right:14px}
.aj-arrow-b{width:104px;height:60px;bottom:-16px;left:20px;transform:rotate(-8deg)}
@media (max-width:760px){.aj-arrow{display:none}}

/* =========================================================
   PENDING NOTES  (unsupplied copy — never invented)
   ========================================================= */
.aj-pending{
  display:flex;gap:12px;align-items:flex-start;min-width:0;
  background:#fff9e6;border:1.5px dashed #9a7300;border-left:5px solid #9a7300;
  border-radius:var(--aj-rad);padding:13px 15px;margin-top:14px;
}
.aj-pending svg{width:19px;height:19px;flex:none;color:#7a5b00;margin-top:2px}
.aj-pending div{min-width:0}
.aj-pending b{
  display:block;font-family:var(--aj-disp);font-weight:700;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:#6b4f00;margin-bottom:4px;
}
.aj-pending p{margin:0;font-size:14px;line-height:1.55;color:#4a3800}

/* context / caution callout */
.aj-callout{
  display:flex;gap:12px;align-items:flex-start;min-width:0;
  background:var(--aj-purple-tint);border:1.5px solid var(--aj-purple);
  border-left:5px solid var(--aj-purple);
  border-radius:var(--aj-rad);padding:14px 16px;margin-top:16px;
}
.aj-callout svg{width:19px;height:19px;flex:none;color:var(--aj-purple);margin-top:2px}
.aj-callout div{min-width:0}
.aj-callout b{
  display:block;font-family:var(--aj-disp);font-weight:700;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--aj-purple);margin-bottom:4px;
}
.aj-callout p{margin:0;font-size:14.5px;line-height:1.58;color:var(--aj-ink-2)}

/* =========================================================
   TABLES  (five statistics tables)
   ========================================================= */
.aj-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:16px;
  border:1.5px solid var(--aj-line);border-radius:var(--aj-rad);background:var(--aj-panel)}
.aj-table{width:100%;border-collapse:collapse;font-size:15px;min-width:320px}
.aj-table caption{
  caption-side:top;text-align:left;padding:12px 14px;
  border-bottom:1.5px solid var(--aj-line);
  font-family:var(--aj-disp);font-weight:700;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--aj-purple-ink);
}
.aj-table caption .aj-cap-sub{
  display:block;margin-top:4px;font-family:var(--body);font-weight:400;
  font-size:12px;letter-spacing:0;text-transform:none;color:var(--aj-muted);
}
.aj-table th,.aj-table td{
  border:1px solid var(--aj-line);padding:9px 13px;text-align:left;vertical-align:top;
}
.aj-table thead th{
  background:var(--aj-purple);color:#fff;border-color:var(--aj-purple-deep);
  font-family:var(--aj-disp);font-weight:700;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
}
.aj-table tbody th[scope="row"]{
  background:var(--aj-panel-2);color:var(--aj-ink);font-weight:700;
}
.aj-table td{color:var(--aj-ink-2)}
.aj-table .aj-num{
  font-family:var(--aj-disp);font-weight:700;font-variant-numeric:tabular-nums;
  color:var(--aj-ink);white-space:nowrap;
}
/* striping by class, never :nth-child */
.aj-table .aj-r-alt th[scope="row"]{background:#efeef4}
.aj-table .aj-r-alt td{background:#f7f6fb}
.aj-table .aj-r-total th[scope="row"],
.aj-table .aj-r-total td{
  background:var(--aj-purple-tint);color:var(--aj-purple-ink);font-weight:700;
  border-top:2px solid var(--aj-purple);
}
.aj-table-c th,.aj-table-c td{padding:8px 9px}
.aj-table-c thead th{white-space:normal}
.aj-table-c{font-size:14px}

.aj-tnote{margin-top:9px;font-size:12.5px;line-height:1.5;color:var(--aj-muted)}

/* =========================================================
   CONNECTED FIELD MARKERS  (Minnesota season comparison)
   ========================================================= */
.aj-markers{margin-top:16px}
.aj-markers-key{
  display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:14px;
  font-family:var(--aj-disp);font-weight:700;font-size:11.5px;
  letter-spacing:.09em;text-transform:uppercase;
}
.aj-key{display:inline-flex;align-items:center;gap:8px;color:var(--aj-ink-2)}
.aj-key i{width:15px;height:15px;flex:none;border:2.5px solid var(--aj-purple);
  background:var(--aj-purple);border-radius:50%}
.aj-key.aj-key-25 i{background:#fff;border-color:var(--aj-purple);border-style:dashed;border-radius:2px;
  transform:rotate(45deg)}

.aj-track{padding:14px 0;border-top:1px solid var(--aj-line-soft);min-width:0}
.aj-track:first-child{border-top:0}
.aj-track-name{
  display:block;font-family:var(--aj-disp);font-weight:700;font-size:12.5px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--aj-purple-ink);
  margin-bottom:6px;
}
.aj-rail{position:relative;height:74px;padding:0 54px;min-width:0}
.aj-rail-line{
  position:absolute;left:54px;right:54px;top:37px;height:2px;
  background:repeating-linear-gradient(90deg,
    var(--aj-line) 0 7px, transparent 7px 14px);
}
.aj-rail-join{
  position:absolute;top:36px;height:4px;background:var(--aj-gold-rule);border-radius:2px;
  left:calc(54px + (100% - 108px) * var(--a));
  width:calc((100% - 108px) * var(--w));
}
.aj-pt{
  position:absolute;top:29px;width:18px;height:18px;
  left:calc(54px + (100% - 108px) * var(--p));
  transform:translateX(-50%);
}
.aj-pt-24{background:var(--aj-purple);border:2.5px solid var(--aj-purple);border-radius:50%}
.aj-pt-25{background:#fff;border:2.5px dashed var(--aj-purple);border-radius:2px;
  transform:translateX(-50%) rotate(45deg)}
.aj-lbl{
  position:absolute;left:calc(54px + (100% - 108px) * var(--p));
  transform:translateX(-50%);white-space:nowrap;
  font-family:var(--aj-disp);font-weight:700;font-size:11.5px;
  letter-spacing:.05em;color:var(--aj-purple-ink);
}
.aj-lbl-24{top:2px}
.aj-lbl-25{bottom:2px;color:var(--aj-ink-2)}

/* =========================================================
   ROLE COMPARISON / SHARED BACKFIELD
   ========================================================= */
.aj-assign{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
  gap:14px;margin-top:16px;
}
.aj-assign > *{min-width:0}
.aj-assign-card{
  background:var(--aj-panel);border:1.5px solid var(--aj-line);
  border-top:4px solid var(--aj-purple);border-radius:var(--aj-rad);
  padding:16px 17px;min-width:0;
}
.aj-assign-card .aj-h3{font-size:16px}
.aj-assign-card p{margin:9px 0 0;font-size:14.5px;line-height:1.58;color:var(--aj-ink-2)}
.aj-assign-no{
  display:block;font-family:var(--aj-disp);font-weight:900;font-size:11px;
  letter-spacing:.16em;color:var(--aj-purple);margin-bottom:5px;
}

/* =========================================================
   CAREER FIELD  (end zone to end zone)
   ========================================================= */
.aj-field{
  margin-top:16px;border:2px solid var(--aj-purple);border-radius:var(--aj-rad);
  background:
    repeating-linear-gradient(90deg,
      rgba(79,38,131,.10) 0 2px, rgba(79,38,131,0) 2px 42px),
    linear-gradient(180deg,#f5f4fa,#eceaf4);
  padding:18px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.aj-field ol{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:0;min-width:min(100%,540px)}
.aj-stage{flex:1 1 0;min-width:0;position:relative;padding:0 12px;text-align:center}
.aj-stage + .aj-stage{border-left:2px dashed var(--aj-purple)}
.aj-stage-yd{
  display:block;font-family:var(--aj-disp);font-weight:900;font-size:26px;
  line-height:1;color:var(--aj-purple);opacity:.42;
}
.aj-stage-lab{
  display:block;margin-top:8px;font-family:var(--aj-disp);font-weight:900;
  font-size:clamp(15px,2vw,19px);line-height:1.12;color:var(--aj-purple-ink);
}
.aj-stage-when{
  display:block;margin-top:5px;font-family:var(--aj-disp);font-weight:600;
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--aj-muted);
}
.aj-field-base{
  display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:12px;
  border-top:3px solid var(--aj-gold-rule);
  font-family:var(--aj-disp);font-weight:600;font-size:11px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--aj-muted);
}

/* =========================================================
   FILM FRAMES  (five moments, placed at angles)
   ========================================================= */
.aj-frames{
  margin-top:18px;display:grid;gap:20px;
  grid-template-columns:repeat(auto-fit,minmax(258px,1fr));
  overflow-x:clip;padding:6px 0;
}
.aj-frames > *{min-width:0}
.aj-frame{
  position:relative;min-width:0;background:var(--aj-panel);
  border:2px solid var(--aj-purple);border-radius:var(--aj-rad);
  padding:14px 16px 16px;
  box-shadow:0 2px 0 rgba(42,20,80,.14);
  transform:rotate(var(--aj-rot,0deg));
  transform-origin:50% 50%;
}
.aj-frame-1{--aj-rot:-1.6deg}
.aj-frame-2{--aj-rot:1.4deg}
.aj-frame-3{--aj-rot:-1.1deg}
.aj-frame-4{--aj-rot:1.8deg}
.aj-frame-5{--aj-rot:-1.3deg}
.aj-frame-strip{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:-14px -16px 12px;padding:7px 12px;background:var(--aj-purple);
  border-radius:2px 2px 0 0;min-width:0;
}
.aj-frame-strip span{
  font-family:var(--aj-disp);font-weight:700;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;min-width:0;
}
.aj-frame-strip .aj-sprockets{display:flex;gap:4px;flex:none}
.aj-frame-strip .aj-sprockets i{width:6px;height:9px;background:var(--aj-gold);border-radius:1px}
.aj-frame .aj-h3{font-size:16.5px}
.aj-frame p{margin:9px 0 0;font-size:14.5px;line-height:1.58;color:var(--aj-ink-2)}
.aj-frame-when{
  display:block;margin-top:11px;font-family:var(--aj-disp);font-weight:600;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--aj-purple);
}
@media (max-width:620px){
  .aj-frame{--aj-rot:0deg !important}
  .aj-frames{gap:16px}
}

/* =========================================================
   PURPLE + GREEN STAT-BOOK INSERT  (Aaron Jones against Green Bay)
   ========================================================= */
.aj-insert{
  margin-top:16px;border-radius:var(--aj-rad);overflow:hidden;
  border:2px solid var(--aj-purple-ink);
  display:grid;grid-template-columns:minmax(0,1fr);
}
@media (min-width:820px){.aj-insert{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.aj-insert > *{min-width:0}
/* left leaf: purple, white text (13.6:1) */
.aj-insert-p{background:var(--aj-purple-ink);color:#fff;padding:clamp(16px,2.2vw,24px)}
.aj-insert-p .aj-h3{color:#fff}
.aj-insert-p p{margin:11px 0 0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.93)}
/* right leaf: green, white text (13.9:1). Green and purple never
   carry text against each other — the gold rule separates them. */
.aj-insert-g{background:var(--aj-green);color:#fff;padding:clamp(16px,2.2vw,24px);
  border-top:4px solid var(--aj-gold)}
@media (min-width:820px){.aj-insert-g{border-top:0;border-left:4px solid var(--aj-gold)}}
.aj-insert-g h3{color:#fff}
.aj-insert-g ul{margin-top:12px}
.aj-insert-g li{
  padding:10px 0;border-top:1px solid rgba(255,255,255,.24);min-width:0;
}
.aj-insert-g li:first-child{border-top:0}
.aj-insert-g .aj-ib-k{
  display:block;font-family:var(--aj-disp);font-weight:600;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82);
}
.aj-insert-g .aj-ib-v{
  display:block;margin-top:3px;font-family:var(--aj-disp);font-weight:700;
  font-size:15.5px;color:#fff;line-height:1.3;
}

/* =========================================================
   NOTEBOOK  (off the field)
   ========================================================= */
.aj-note{
  margin-top:16px;position:relative;min-width:0;
  background:
    linear-gradient(90deg,transparent 0 30px, rgba(154,0,0,.22) 30px 31px, transparent 31px),
    repeating-linear-gradient(180deg,
      #fffdf6 0 27px, #e6e2d4 27px 28px);
  border:1.5px solid #c8c2ad;border-radius:var(--aj-rad);
  padding:18px 18px 20px 44px;
}
.aj-note .aj-h3{color:#2a1450}
.aj-note p{margin:12px 0 0;font-size:15px;line-height:28px;color:#26262e}
.aj-note .aj-note-holes{
  position:absolute;left:9px;top:20px;bottom:20px;width:12px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.aj-note .aj-note-holes i{width:11px;height:11px;border-radius:50%;
  background:var(--aj-ground);border:1px solid #c8c2ad}

/* =========================================================
   LATEST COVERAGE — empty state
   ========================================================= */
.aj-cov{margin-top:16px}
.aj-cov-empty{
  display:flex;gap:13px;align-items:flex-start;min-width:0;
  border:1.5px dashed var(--aj-purple);border-radius:var(--aj-rad);
  background:var(--aj-purple-tint);padding:16px 17px;
}
.aj-cov-empty svg{width:20px;height:20px;flex:none;color:var(--aj-purple);margin-top:2px}
.aj-cov-empty div{min-width:0}
.aj-cov-empty b{
  display:block;font-family:var(--aj-disp);font-weight:700;font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--aj-purple);margin-bottom:5px;
}
.aj-cov-empty p{margin:0;font-size:14.5px;line-height:1.58;color:var(--aj-ink-2)}
.aj-cov-empty p + p{margin-top:8px}
.aj-slots{
  margin-top:14px;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.aj-slots > *{min-width:0}
.aj-slot{
  border:1.5px solid var(--aj-line);border-left:4px solid var(--aj-line);
  border-radius:var(--aj-rad);background:var(--aj-panel-2);padding:12px 14px;min-width:0;
}
.aj-slot-k{
  display:block;font-family:var(--aj-disp);font-weight:700;font-size:11.5px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--aj-purple-ink);
}
.aj-slot-v{display:block;margin-top:5px;font-size:13.5px;color:var(--aj-muted);line-height:1.5}

/* =========================================================
   FAQ
   ========================================================= */
.aj-faq{margin-top:18px;display:grid;gap:10px}
.aj-faq > *{min-width:0}
.aj-q{
  background:var(--aj-panel);border:1.5px solid var(--aj-line);
  border-left:4px solid var(--aj-purple);border-radius:var(--aj-rad);min-width:0;
}
.aj-q > summary{
  display:flex;align-items:center;gap:12px;min-height:48px;
  padding:11px 15px;cursor:pointer;list-style:none;min-width:0;
  font-family:var(--aj-disp);font-weight:700;font-size:15.5px;line-height:1.3;
  color:var(--aj-purple-ink);
}
.aj-q > summary::-webkit-details-marker{display:none}
.aj-q > summary span{min-width:0;flex:1 1 auto}
.aj-q > summary svg{
  width:17px;height:17px;flex:none;color:var(--aj-purple);
  transition:transform var(--t,220ms) ease;
}
.aj-q[open] > summary svg{transform:rotate(180deg)}
.aj-q[open] > summary{border-bottom:1px solid var(--aj-line-soft)}
.aj-q-a{padding:13px 15px 15px}
.aj-q-a p{margin:0;font-size:15px;line-height:1.62;color:var(--aj-ink-2)}
.aj-q:hover{border-color:var(--aj-purple)}

/* =========================================================
   FINAL DRIVE — ten-yard scoring strip
   ========================================================= */
.aj-score{
  display:grid;gap:1px;background:var(--aj-purple);
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border:2px solid var(--aj-purple);border-radius:var(--aj-rad);overflow:hidden;
  margin-top:16px;
}
.aj-score > *{min-width:0}
.aj-score-cell{background:var(--aj-purple-ink);padding:15px 16px;min-width:0}
.aj-score-k{
  display:block;font-family:var(--aj-disp);font-weight:900;font-size:11px;
  letter-spacing:.17em;text-transform:uppercase;color:var(--aj-gold);
}
.aj-score-v{
  display:block;margin-top:6px;font-family:var(--aj-disp);font-weight:700;
  font-size:16px;line-height:1.3;color:#fff;
}

/* =========================================================
   RELATED LINKS
   ========================================================= */
.aj-links{
  margin-top:18px;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(214px,1fr));
}
.aj-links > *{min-width:0}
.aj-links a{
  display:flex;align-items:center;gap:11px;min-height:52px;min-width:0;
  background:var(--aj-panel);border:1.5px solid var(--aj-line);
  border-radius:var(--aj-rad);padding:11px 14px;color:var(--aj-purple-ink);
  font-family:var(--aj-disp);font-weight:700;font-size:14px;letter-spacing:.02em;
}
.aj-links a:hover{border-color:var(--aj-purple);background:var(--aj-purple-tint)}
.aj-links a svg{width:17px;height:17px;flex:none;color:var(--aj-purple)}
.aj-links a span{min-width:0}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  .aj-frame{transform:none}
  .aj-arrow-b{transform:none}
  .aj-q > summary svg{transition:none}
  .aj-q[open] > summary svg{transform:none}
  .aj-marker{scroll-behavior:auto}
  .page-filmroom .aj-banner-art{animation:none}
  .aj-pt-25{transform:translateX(-50%)}
  html{scroll-behavior:auto}
}
