/*
Theme Name: Duffel Bag Adventures
Theme URI: https://duffelbagadventures.com
Author: Built for Wesley / Duffel Bag Adventures
Description: A sports-travel theme for venue and stadium write-ups. Navy and orange, photo-led hero, a venue progress board, and ticket-stub post cards. Built for MLB / NBA / NFL / NHL / MLS / NCAA content.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dba
Tags: blog, travel, sports, custom-logo, custom-menu, featured-images, translation-ready
*/

/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
  --navy:      #16202F;
  --navy-2:    #1E2B3E;
  --navy-3:    #0F1723;
  --charcoal:  #22262B;
  --orange:    #EA6027;
  --orange-2:  #F58220;
  --ink:       #14181D;
  --body-text: #3D454F;
  --muted:     #6B7480;
  --paper:     #FFFFFF;
  --paper-2:   #F4F5F7;
  --rule:      #E1E5EA;
  --chalk:     #EFF1F4;

  --display: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;
  --body:    "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --label:   "Barlow Condensed", "Arial Narrow", sans-serif;

  --gutter: clamp(1.15rem, 4vw, 3.5rem);
  --maxw: 1220px;
  --radius: 3px;
}

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

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  background:var(--paper);
  color:var(--body-text);
  font-family:var(--body);
  font-size:1.0625rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--orange); }
:focus-visible{ outline:3px solid var(--orange); outline-offset:3px; }

.dba-wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); }
.screen-reader-text{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}
.skip-link:focus{
  position:fixed; top:.5rem; left:.5rem; z-index:999; width:auto; height:auto;
  clip:auto; background:var(--orange); color:#fff; padding:.75rem 1.25rem;
  font-family:var(--label); text-transform:uppercase; letter-spacing:.1em;
}

/* shared type roles */
.dba-eyebrow{
  font-family:var(--label); font-weight:600; font-size:.85rem;
  letter-spacing:.2em; text-transform:uppercase; margin:0;
}
.dba-display{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  line-height:.9; letter-spacing:.005em; margin:0;
}

/* buttons */
.dba-btn{
  display:inline-block; text-decoration:none; cursor:pointer; border:none;
  font-family:var(--label); font-weight:600; font-size:1rem;
  letter-spacing:.14em; text-transform:uppercase;
  padding:.85rem 1.9rem; border-radius:var(--radius);
  transition:transform .15s ease, background .18s ease, color .18s ease;
}
.dba-btn--orange{ background:var(--orange); color:#fff; }
.dba-btn--orange:hover{ background:var(--orange-2); transform:translateY(-2px); color:#fff; }
.dba-btn--ghost{ border:1px solid rgba(255,255,255,.45); color:#fff; background:transparent; }
.dba-btn--ghost:hover{ border-color:var(--orange); color:var(--orange); }
.dba-btn--navy{ background:var(--navy); color:#fff; }
.dba-btn--navy:hover{ background:var(--navy-2); color:#fff; }

/* ============================================================
   2. HEADER
   ============================================================ */
.dba-header{
  background:var(--navy);
  position:sticky; top:0; z-index:80;
  box-shadow:0 1px 0 rgba(255,255,255,.07);
}
.admin-bar .dba-header{ top:32px; }
@media (max-width:782px){ .admin-bar .dba-header{ top:46px; } }

.dba-header__inner{
  display:flex; align-items:center; gap:1.5rem; min-height:72px;
}
.dba-brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; margin-right:auto; }
.dba-brand img{ max-height:44px; width:auto; }
.dba-brand__text{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  color:#fff; line-height:.85; font-size:1.5rem; letter-spacing:.01em;
}
.dba-brand__text span{ display:block; color:var(--orange); }

.dba-nav ul{ list-style:none; display:flex; gap:.2rem; margin:0; padding:0; }
.dba-nav li{ position:relative; }
.dba-nav a{
  display:block; padding:.6rem .85rem; text-decoration:none;
  font-family:var(--label); font-weight:500; font-size:1.02rem;
  letter-spacing:.06em; text-transform:uppercase; color:var(--chalk);
  border-bottom:2px solid transparent; transition:color .18s, border-color .18s;
}
.dba-nav a:hover,
.dba-nav .current-menu-item > a{ color:var(--orange); border-bottom-color:var(--orange); }

/* dropdowns */
.dba-nav .sub-menu{
  position:absolute; left:0; top:100%; min-width:220px;
  background:var(--navy-2); flex-direction:column; gap:0;
  padding:.4rem 0; display:none; box-shadow:0 12px 28px rgba(0,0,0,.3);
}
.dba-nav li:hover > .sub-menu,
.dba-nav li:focus-within > .sub-menu{ display:flex; }
.dba-nav .sub-menu a{ padding:.6rem 1.1rem; border-bottom:none; }

.dba-search-toggle{
  background:none; border:none; cursor:pointer; color:var(--chalk);
  font-family:var(--label); font-weight:500; font-size:1.02rem;
  letter-spacing:.06em; text-transform:uppercase;
  display:flex; align-items:center; gap:.45rem; padding:.6rem .3rem;
}
.dba-search-toggle:hover{ color:var(--orange); }
.dba-search-toggle svg{ width:16px; height:16px; fill:currentColor; }

.dba-searchbar{ background:var(--navy-2); padding:1rem 0; }
.dba-searchbar[hidden]{ display:none; }
.dba-searchbar form{ display:flex; gap:.5rem; }
.dba-searchbar input[type="search"]{
  flex:1; background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.2);
  color:#fff; padding:.8rem 1rem; border-radius:var(--radius); font-family:var(--body);
}
.dba-searchbar input::placeholder{ color:#8A94A2; }

.dba-menu-toggle{
  display:none; background:none; border:1px solid rgba(255,255,255,.35);
  color:#fff; font-family:var(--label); font-weight:600; font-size:.95rem;
  letter-spacing:.14em; text-transform:uppercase; padding:.5rem .85rem;
  cursor:pointer; border-radius:var(--radius);
}
@media (max-width:1000px){
  .dba-menu-toggle{ display:block; }
  .dba-nav{
    position:absolute; left:0; right:0; top:100%;
    background:var(--navy-2); padding:.5rem var(--gutter) 1.25rem;
  }
  .dba-nav[hidden]{ display:none; }
  .dba-nav ul{ flex-direction:column; gap:0; }
  .dba-nav a{ padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,.1); }
  .dba-nav .sub-menu{ position:static; display:flex; background:transparent; box-shadow:none; padding-left:1rem; }
}

/* ============================================================
   3. HERO
   ============================================================ */
.dba-hero{
  position:relative; min-height:clamp(420px,58vh,620px);
  display:grid; place-items:center; text-align:center;
  background:var(--navy-3) center/cover no-repeat;
  overflow:hidden;
}
.dba-hero__media{ position:absolute; inset:0; }
.dba-hero__media img{ width:100%; height:100%; object-fit:cover; }
/* fallback texture when no hero image is set */
.dba-hero--placeholder .dba-hero__media{
  background:
    radial-gradient(circle at 18% 28%, rgba(245,130,32,.35), transparent 42%),
    radial-gradient(circle at 82% 22%, rgba(234,96,39,.28), transparent 45%),
    radial-gradient(circle at 50% 95%, rgba(30,43,62,.9), transparent 60%),
    linear-gradient(180deg,#243449 0%,#131C29 100%);
}
.dba-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(15,23,35,.55) 0%,rgba(15,23,35,.35) 45%,rgba(15,23,35,.85) 100%);
}
.dba-hero__inner{ position:relative; z-index:2; padding:clamp(3rem,8vw,5.5rem) var(--gutter); max-width:960px; }
.dba-hero__title{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  color:#fff; line-height:.87; letter-spacing:.005em;
  font-size:clamp(2.6rem,7.5vw,5.4rem);
  margin:0 0 1rem;
  text-shadow:0 3px 22px rgba(0,0,0,.55);
}
.dba-hero__sub{
  font-family:var(--label); font-weight:500; text-transform:uppercase;
  letter-spacing:.13em; color:#E7EBF0; font-size:clamp(1rem,2.2vw,1.3rem);
  margin:0 0 2rem; text-shadow:0 2px 12px rgba(0,0,0,.6);
}

/* ============================================================
   4. STAT BAR
   ============================================================ */
.dba-stats{ background:var(--charcoal); }
.dba-stats__grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  padding-block:1.5rem;
}
.dba-stat{
  display:flex; align-items:center; justify-content:center; gap:.9rem;
  padding:.35rem 1rem;
  border-right:1px solid rgba(255,255,255,.12);
}
.dba-stat:last-child{ border-right:none; }
.dba-stat__icon{ width:30px; height:30px; flex:none; fill:none; stroke:#8B939D; stroke-width:1.6; }
.dba-stat__n{
  font-family:var(--display); font-weight:800; font-size:2.6rem;
  line-height:1; color:var(--orange); display:block;
}
.dba-stat__label{
  font-family:var(--label); font-weight:500; font-size:.95rem;
  letter-spacing:.1em; text-transform:uppercase; color:#B7BDC5; display:block;
}
@media (max-width:820px){
  .dba-stats__grid{ grid-template-columns:repeat(2,1fr); gap:1.25rem 0; }
  .dba-stat:nth-child(2){ border-right:none; }
}
@media (max-width:420px){
  .dba-stat{ gap:.6rem; }
  .dba-stat__n{ font-size:2.1rem; }
}

/* ============================================================
   5. SECTION FURNITURE
   ============================================================ */
.dba-section{ padding-block:clamp(3rem,6vw,5rem); }
.dba-section--paper2{ background:var(--paper-2); }
.dba-section--navy{ background:var(--navy); color:var(--chalk); }

.dba-section__head{
  display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between;
  gap:1rem; margin-bottom:2rem;
}
.dba-section__title{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(1.8rem,4.4vw,2.6rem); line-height:.92; margin:0; color:var(--ink);
}
.dba-section--navy .dba-section__title{ color:#fff; }
.dba-section__title::after{
  content:""; display:block; width:64px; height:4px;
  background:var(--orange); margin-top:.7rem;
}
.dba-section__link{
  font-family:var(--label); font-weight:600; font-size:1rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--orange);
  text-decoration:none;
}
.dba-section__link:hover{ text-decoration:underline; }

/* ============================================================
   6. TICKET-STUB CARDS
   ============================================================ */
.dba-cards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:1.5rem;
}
.dba-card{
  background:var(--paper); text-decoration:none; color:inherit;
  display:flex; position:relative; overflow:hidden;
  border:1px solid var(--rule); border-radius:var(--radius);
  transition:transform .18s ease, box-shadow .18s ease;
}
.dba-card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(20,24,29,.16); }
.dba-card__main{ flex:1; min-width:0; }

.dba-card__media{
  aspect-ratio:16/10; background:var(--navy-2);
  position:relative; overflow:hidden; display:grid; place-items:center;
}
.dba-card__media img{ width:100%; height:100%; object-fit:cover; }
.dba-card__initials{
  font-family:var(--display); font-weight:800; font-size:3rem;
  color:rgba(245,130,32,.9); letter-spacing:.05em;
}
.dba-card__league{
  position:absolute; top:0; left:0; z-index:2;
  background:var(--orange); color:#fff;
  font-family:var(--label); font-weight:600; font-size:.85rem;
  letter-spacing:.16em; text-transform:uppercase; padding:.3rem .8rem;
}
.dba-card__body{ padding:1.1rem 1.15rem 1.35rem; }
.dba-card__meta{
  font-family:var(--label); font-weight:500; font-size:.9rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:0 0 .4rem;
}
.dba-card__title{
  font-family:var(--display); font-weight:700; text-transform:uppercase;
  font-size:1.4rem; line-height:1; margin:0 0 .5rem; color:var(--ink);
}
.dba-card:hover .dba-card__title{ color:var(--orange); }
.dba-card__dek{ margin:0; font-size:.95rem; line-height:1.55; color:var(--body-text); }
.dba-card__more{
  display:inline-block; margin-top:.85rem;
  font-family:var(--label); font-weight:600; font-size:.92rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--orange);
}

/* the orange perforated stub down the right edge */
.dba-card__stub{
  width:34px; flex:none; background:var(--orange);
  position:relative;
}
.dba-card__stub::before,
.dba-card__stub::after{
  content:""; position:absolute; left:-9px;
  width:18px; height:18px; border-radius:50%;
  background:var(--paper-2);
}
.dba-card__stub::before{ top:32%; }
.dba-card__stub::after{ top:62%; }
.dba-section:not(.dba-section--paper2) .dba-card__stub::before,
.dba-section:not(.dba-section--paper2) .dba-card__stub::after{ background:var(--paper); }
.dba-card__stub span{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%) rotate(90deg);
  font-family:var(--label); font-weight:600; font-size:.72rem;
  letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.85);
  white-space:nowrap;
}

/* ============================================================
   7. THE BOARD
   ============================================================ */
.dba-board{
  background:var(--navy-3); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius); padding:clamp(1.15rem,3vw,1.9rem);
  box-shadow:inset 0 0 70px rgba(0,0,0,.6);
}
.dba-board__bar{ display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; margin-bottom:.3rem; }
.dba-board__bar h3{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:1.5rem; line-height:1; margin:0; color:#fff;
}
.dba-board__note{
  font-family:var(--label); font-weight:500; font-size:.92rem;
  letter-spacing:.09em; text-transform:uppercase; color:#78838F; margin:0 0 1.25rem;
}
.dba-tabs{ display:flex; flex-wrap:wrap; gap:.35rem; margin-left:auto; }
.dba-tab{
  font-family:var(--label); font-weight:600; font-size:.92rem; letter-spacing:.13em;
  text-transform:uppercase; padding:.4rem .85rem; cursor:pointer;
  background:transparent; color:#8892A0;
  border:1px solid rgba(255,255,255,.18); border-radius:var(--radius);
  transition:all .16s ease;
}
.dba-tab:hover{ color:var(--orange-2); border-color:rgba(245,130,32,.55); }
.dba-tab[aria-selected="true"]{ background:var(--orange); color:#fff; border-color:var(--orange); }

.dba-board__grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:1px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08);
}
.dba-cell{
  background:var(--navy-3); padding:.7rem .75rem .65rem; min-height:76px;
  display:flex; flex-direction:column; justify-content:space-between;
  text-decoration:none; transition:background .16s ease;
}
.dba-cell__dot{ width:6px; height:6px; border-radius:50%; background:#4A4030; margin-bottom:.5rem; }
.dba-cell__code{ font-family:var(--display); font-weight:700; font-size:1.35rem; line-height:1; letter-spacing:.03em; }
.dba-cell__venue{
  font-family:var(--label); font-weight:500; font-size:.8rem; line-height:1.25;
  letter-spacing:.05em; text-transform:uppercase;
}
.dba-cell.is-lit .dba-cell__code{ color:var(--orange-2); text-shadow:0 0 14px rgba(245,130,32,.5); }
.dba-cell.is-lit .dba-cell__venue{ color:#A3ACB6; }
.dba-cell.is-lit .dba-cell__dot{ background:var(--orange-2); box-shadow:0 0 8px rgba(245,130,32,.95); }
.dba-cell.is-lit:hover{ background:#1A2637; }
.dba-cell.is-dim{ cursor:default; }
.dba-cell.is-dim .dba-cell__code{ color:#3A434F; }
.dba-cell.is-dim .dba-cell__venue{ color:#2F3742; }

.dba-board__key{
  display:flex; flex-wrap:wrap; gap:1.5rem; margin-top:1.1rem;
  font-family:var(--label); font-weight:500; font-size:.9rem;
  letter-spacing:.1em; text-transform:uppercase; color:#78838F;
}
.dba-board__key span{ display:flex; align-items:center; gap:.5rem; }
.dba-key-dot{ width:6px; height:6px; border-radius:50%; }
.dba-key-dot--on{ background:var(--orange-2); box-shadow:0 0 8px rgba(245,130,32,.95); }
.dba-key-dot--off{ background:#4A4030; }
.dba-board__count{ margin-left:auto; color:var(--orange-2); }
@media (prefers-reduced-motion: no-preference){
  .dba-cell{ animation:dbaFlick .35s ease both; }
  @keyframes dbaFlick{ from{ opacity:0 } to{ opacity:1 } }
}

/* ============================================================
   8. LEAGUE INDEX ROWS
   ============================================================ */
.dba-rows{ border-top:1px solid rgba(255,255,255,.15); }
.dba-row{
  display:grid; grid-template-columns:5.5rem 1fr auto; align-items:center; gap:1rem;
  padding:1.1rem 0; border-bottom:1px solid rgba(255,255,255,.15);
  text-decoration:none; color:var(--chalk);
  transition:padding-left .18s ease, color .18s ease;
}
.dba-row:hover{ padding-left:.7rem; color:var(--orange-2); }
.dba-row__code{ font-family:var(--display); font-weight:800; font-size:1.8rem; line-height:1; color:var(--orange); }
.dba-row__name{ font-size:1rem; color:#B9C0C9; }
.dba-row:hover .dba-row__name{ color:#fff; }
.dba-row__n{ font-family:var(--label); font-weight:500; font-size:.95rem; letter-spacing:.1em; text-transform:uppercase; color:#78838F; }
@media (max-width:600px){
  .dba-row{ grid-template-columns:4.2rem 1fr; }
  .dba-row__n{ grid-column:2; }
}

/* ============================================================
   9. ABOUT STRIP
   ============================================================ */
.dba-about__grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(1.75rem,5vw,3.5rem); align-items:center; }
@media (max-width:820px){ .dba-about__grid{ grid-template-columns:1fr; } }
.dba-about__photo{ aspect-ratio:4/5; background:var(--navy-2); display:grid; place-items:center; border-radius:var(--radius); overflow:hidden; }
.dba-about__photo img{ width:100%; height:100%; object-fit:cover; }
.dba-about__photo span{
  font-family:var(--label); font-weight:500; font-size:.9rem; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(245,130,32,.75); text-align:center; padding:1rem;
}
.dba-about h2{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(1.9rem,5vw,3rem); line-height:.92; margin:.4rem 0 1rem; color:var(--ink);
}
.dba-about .dba-eyebrow{ color:var(--orange); }
.dba-pullquote{
  border-left:4px solid var(--orange); padding-left:1.15rem;
  font-style:italic; font-size:1.12rem; color:var(--ink); margin:1.5rem 0;
}

/* ============================================================
   10. SIGN-UP
   ============================================================ */
.dba-signup{ background:var(--navy-2); }
.dba-signup__box{
  display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center;
  padding-block:clamp(2.25rem,5vw,3.25rem);
}
@media (max-width:760px){ .dba-signup__box{ grid-template-columns:1fr; } }
.dba-signup h2{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(1.7rem,4vw,2.4rem); line-height:.95; margin:0 0 .5rem; color:#fff;
}
.dba-signup p{ margin:0; color:#B3BBC5; }
.dba-signup__form{ display:flex; gap:.5rem; flex-wrap:wrap; }
.dba-signup__form input[type="email"]{
  flex:1 1 220px; min-width:0; background:rgba(0,0,0,.3);
  border:1px solid rgba(255,255,255,.25); color:#fff;
  padding:.9rem 1rem; border-radius:var(--radius); font-family:var(--body); font-size:1rem;
}
.dba-signup__form input::placeholder{ color:#8A94A2; }
.dba-signup__note{
  font-family:var(--label); font-weight:500; font-size:.88rem; letter-spacing:.1em;
  text-transform:uppercase; color:#78838F; margin-top:.75rem;
}

/* ============================================================
   11. SINGLE / ARCHIVE / PAGE
   ============================================================ */
.dba-pagehead{ background:var(--navy); color:#fff; padding-block:clamp(2.5rem,6vw,4rem); position:relative; }
.dba-pagehead--photo{ background:var(--navy-3) center/cover no-repeat; }
.dba-pagehead--photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,23,35,.55),rgba(15,23,35,.88)); }
.dba-pagehead__inner{ position:relative; z-index:2; }
.dba-pagehead h1{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(2.1rem,6vw,4rem); line-height:.9; margin:.5rem 0 0; color:#fff;
}
.dba-pagehead .dba-eyebrow{ color:var(--orange-2); }
.dba-pagehead__meta{
  font-family:var(--label); font-weight:500; font-size:1rem; letter-spacing:.1em;
  text-transform:uppercase; color:#AEB6C0; margin-top:.9rem;
}
.dba-pagehead__meta span + span::before{ content:"·"; margin:0 .6rem; color:var(--orange); }

.dba-content{ max-width:74ch; margin:0 auto; padding-block:clamp(2.25rem,5vw,3.5rem); }
.dba-content h2{ font-family:var(--display); font-weight:800; text-transform:uppercase; font-size:1.9rem; line-height:1; color:var(--ink); margin:2.25rem 0 .85rem; }
.dba-content h3{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:1.45rem; color:var(--ink); margin:1.9rem 0 .7rem; }
.dba-content p{ margin:0 0 1.15rem; }
.dba-content img{ border-radius:var(--radius); margin-block:1.5rem; }
.dba-content blockquote{
  border-left:4px solid var(--orange); margin:1.75rem 0; padding-left:1.25rem;
  font-style:italic; font-size:1.12rem; color:var(--ink);
}
.dba-content figcaption{ font-family:var(--label); font-size:.92rem; letter-spacing:.06em; color:var(--muted); text-transform:uppercase; }
.dba-content a{ color:var(--orange); text-decoration:underline; text-underline-offset:3px; }

/* venue fact box on single posts */
.dba-facts{
  background:var(--paper-2); border-left:4px solid var(--orange);
  padding:1.25rem 1.4rem; margin:0 0 2rem;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:1rem 1.5rem;
}
.dba-facts dt{ font-family:var(--label); font-weight:600; font-size:.85rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.dba-facts dd{ margin:.1rem 0 0; font-family:var(--display); font-weight:700; font-size:1.35rem; text-transform:uppercase; color:var(--ink); line-height:1.05; }

.dba-pagination{ display:flex; gap:.4rem; flex-wrap:wrap; justify-content:center; padding-block:2rem; }
.dba-pagination .page-numbers{
  font-family:var(--label); font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:.55rem .95rem; border:1px solid var(--rule); border-radius:var(--radius);
  color:var(--ink); text-decoration:none;
}
.dba-pagination .page-numbers.current,
.dba-pagination .page-numbers:hover{ background:var(--orange); border-color:var(--orange); color:#fff; }

/* ============================================================
   12. FOOTER
   ============================================================ */
.dba-footer{ background:var(--navy); color:#B3BBC5; padding-block:3rem 1.5rem; }
.dba-footer__grid{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2rem;
  padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.14);
}
@media (max-width:860px){ .dba-footer__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .dba-footer__grid{ grid-template-columns:1fr; } }
.dba-footer h3{
  font-family:var(--label); font-weight:600; font-size:.95rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--orange); margin:0 0 1rem;
}
.dba-footer ul{ list-style:none; margin:0; padding:0; }
.dba-footer li{ margin-bottom:.5rem; }
.dba-footer a{ color:#B3BBC5; text-decoration:none; font-size:.98rem; }
.dba-footer a:hover{ color:var(--orange-2); }
.dba-footer__blurb{ max-width:32ch; font-size:.98rem; color:#8892A0; margin:.9rem 0 0; }
.dba-footer__bottom{
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; padding-top:1.4rem;
  font-family:var(--label); font-weight:500; font-size:.9rem; letter-spacing:.1em;
  text-transform:uppercase; color:#6E7885;
}
