/* Freight Dogs Anonymous — fr8ghtdog.com
   Palette sampled from the recovered squadron badge: royal blue field, plum surround.
   Amber is the modernisation: taxiway edge light / ramp floodlight.
   Custom CSS is brand + typography + small components only; Bootstrap 5 owns layout. */

:root{
  --fd-ink:#0E1420;
  --fd-ink-2:#151d2e;
  --fd-blue:#1B1B9E;
  --fd-blue-lt:#2b2bc4;
  --fd-blue-dk:#141470;
  --fd-plum:#4B1D52;
  --fd-amber:#E8A33D;
  --fd-amber-dk:#c2821f;
  --fd-text:#1E2430;
  --fd-muted:#5C6675;
  --fd-surface:#F4F6F9;
  --fd-line:#dfe4ec;
  --fd-radius:3px;
}

/* ---------- base ---------- */
html{scroll-behavior:smooth}
body{
  font-family:"Source Sans 3","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;
  color:var(--fd-text);
  background:#fff;
  font-size:1.0625rem;
  line-height:1.68;
}
img{max-width:100%;height:auto}
h1,h2,h3,h4,.fd-brand-name,.fd-section-h,.navbar-brand{
  font-family:Oswald,"Oswald",Impact,"Haettenschweiler","Arial Narrow Bold",sans-serif;
  font-weight:600;
  letter-spacing:.045em;
  text-transform:uppercase;
}
h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.08}
h2{font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.2;margin-top:2.4rem;margin-bottom:.85rem}
h3{font-size:1.08rem;line-height:1.3;margin-top:1.7rem;margin-bottom:.55rem;letter-spacing:.06em;color:var(--fd-blue-dk)}
a{color:var(--fd-blue);text-underline-offset:.16em;text-decoration-thickness:1px}
a:hover{color:var(--fd-blue-lt)}
strong{font-weight:700}

.fd-skip{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--fd-amber);color:#0E1420;padding:.6rem 1rem;font-weight:700}
.fd-skip:focus{left:.5rem;top:.5rem}

/* ---------- navigation ----------
   Nav-overflow guard: the bar must be able to shrink and wrap rather than push
   links past the viewport. min-width:0 + flex-wrap, never a trimmed padding. */
.fd-nav{
  background:var(--fd-ink);
  border-bottom:3px solid var(--fd-blue);
  padding-top:.55rem;padding-bottom:.55rem;
  position:static;
}
.fd-nav .container{min-width:0;flex-wrap:wrap}
.fd-nav .navbar-collapse{min-width:0}
.fd-nav .navbar-nav{min-width:0;flex-wrap:wrap}
.fd-brand{display:flex;align-items:center;gap:.7rem;min-width:0;padding:0;text-transform:none}
.fd-brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.05}
.fd-brand-name{
  color:#fff;font-size:1.02rem;letter-spacing:.1em;white-space:normal;
}
.fd-brand-sub{
  font-family:"Source Sans 3",sans-serif;text-transform:uppercase;letter-spacing:.17em;
  font-size:.6rem;color:var(--fd-amber);font-weight:600;margin-top:.18rem;
}
.fd-nav .nav-link{
  color:rgba(255,255,255,.82);
  font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;
  font-size:.83rem;font-weight:500;padding:.5rem .78rem;
  border-bottom:2px solid transparent;
}
.fd-nav .nav-link:hover,.fd-nav .nav-link:focus{color:#fff;border-bottom-color:var(--fd-amber)}
.fd-nav .nav-link.active{color:var(--fd-amber);border-bottom-color:var(--fd-amber)}
.fd-nav .dropdown-menu{
  background:var(--fd-ink-2);border:1px solid rgba(255,255,255,.12);border-radius:var(--fd-radius);
  border-top:2px solid var(--fd-amber);padding:.35rem 0;margin-top:.35rem;
}
.fd-nav .dropdown-item{
  color:rgba(255,255,255,.84);font-size:.9rem;padding:.42rem 1.1rem;
}
.fd-nav .dropdown-item:hover,.fd-nav .dropdown-item:focus{background:var(--fd-blue);color:#fff}
.fd-nav .dropdown-item.active{background:transparent;color:var(--fd-amber)}
.navbar-toggler{border-color:rgba(255,255,255,.3)}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(232,163,61,.4)}
.navbar-toggler-icon{filter:invert(1) grayscale(1) brightness(1.6)}

/* ---------- hero ---------- */
.fd-hero{
  position:relative;
  background:var(--fd-ink) linear-gradient(150deg,#141470 0%,#0E1420 62%,#2a1030 100%);
  color:#fff;padding:3.3rem 0 3.6rem;
  overflow:hidden;
  isolation:isolate;
}
/* The hero art is a real <img> (indexable, carries alt text), laid behind the
   copy with a shade layer over it — not a CSS background. */
.fd-hero-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  z-index:-2;
}
.fd-hero-shade{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(14,20,32,.60) 0%,rgba(14,20,32,.80) 55%,rgba(14,20,32,.93) 100%);
}
.fd-hero--img .fd-hero-shade{
  background:linear-gradient(180deg,rgba(14,20,32,.58) 0%,rgba(14,20,32,.78) 55%,rgba(14,20,32,.92) 100%);
}
.fd-hero-inner{position:relative;z-index:1}
.fd-hero h1{color:#fff;margin:0;text-shadow:0 2px 22px rgba(0,0,0,.55)}
.fd-eyebrow{
  font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.28em;
  font-size:.7rem;color:var(--fd-amber);margin:0 0 .7rem;font-weight:600;
}
.fd-hero-lede{
  margin:1.1rem 0 0;max-width:60ch;font-size:1.13rem;line-height:1.6;
  color:rgba(255,255,255,.9);
}
.fd-hero-lede em{color:#fff}
/* taxiway edge lights */
.fd-runway{
  position:absolute;left:0;right:0;bottom:0;height:4px;
  background:repeating-linear-gradient(90deg,var(--fd-amber) 0 26px,transparent 26px 60px);
  opacity:.85;
}

/* ---------- layout ---------- */
.fd-wrap{background:#fff;padding:2.9rem 0 3.4rem}
.fd-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}
@media (min-width:992px){.fd-grid{grid-template-columns:minmax(0,1fr) 310px;gap:3rem}}
.fd-article{min-width:0}
.fd-article>p:first-child{font-size:1.1rem}
.fd-article ul,.fd-article ol{margin-bottom:1.3rem}
.fd-article li{margin-bottom:.45rem}
.fd-article h2:first-child{margin-top:0}
.fd-article h2{
  padding-bottom:.4rem;border-bottom:1px solid var(--fd-line);
  color:var(--fd-ink);
}
.fd-article h2::before{
  content:"";display:inline-block;width:9px;height:9px;background:var(--fd-amber);
  margin-right:.6rem;vertical-align:.08em;
}

/* ---------- sidebar panels (echo the original theme's icon-led callouts) ---------- */
.fd-side{min-width:0;display:flex;flex-direction:column;gap:1.35rem}
.fd-panel{
  background:var(--fd-surface);border:1px solid var(--fd-line);
  border-top:3px solid var(--fd-blue);border-radius:var(--fd-radius);
  padding:1.15rem 1.25rem;font-size:.95rem;
}
.fd-panel p{margin-bottom:.6rem}
.fd-panel p:last-child{margin-bottom:0}
.fd-panel--crest{text-align:center;background:var(--fd-ink);border-top-color:var(--fd-amber);color:#fff}
.fd-crest-motto{
  font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.16em;
  font-size:.85rem;margin:.85rem 0 .4rem;color:var(--fd-amber);line-height:1.35;
}
.fd-crest-sub{font-size:.83rem;color:rgba(255,255,255,.65);margin:0}
.fd-panel--note{border-top-color:var(--fd-amber);background:#fff8ec;border-color:#f0dfc0}
.fd-panel-title{
  font-size:.82rem;letter-spacing:.14em;margin:0 0 .6rem;color:var(--fd-blue-dk);
}
.fd-panel--note .fd-panel-title{color:var(--fd-amber-dk)}
.fd-linklist{list-style:none;padding:0;margin:0;columns:2;column-gap:1rem}
.fd-linklist li{margin-bottom:.3rem;font-size:.92rem;break-inside:avoid}

/* ---------- homepage tiles ---------- */
.fd-section-h{
  font-size:1.15rem;letter-spacing:.16em;margin:0 0 1.4rem;color:var(--fd-ink);
  padding-bottom:.5rem;border-bottom:2px solid var(--fd-amber);display:inline-block;
}
.fd-tiles{background:var(--fd-surface);padding:3rem 0;border-top:1px solid var(--fd-line)}
.fd-tile{
  display:block;position:relative;overflow:hidden;background:var(--fd-ink);
  border-radius:var(--fd-radius);text-decoration:none;height:100%;
  border:1px solid var(--fd-line);
}
.fd-tile img{width:100%;height:170px;object-fit:cover;opacity:.62;transition:opacity .25s ease,transform .35s ease}
.fd-tile:hover img{opacity:.82;transform:scale(1.03)}
.fd-tile-body{display:block;padding:.95rem 1.05rem 1.15rem}
.fd-tile-label{
  display:block;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.12em;
  color:var(--fd-amber);font-size:.98rem;margin-bottom:.28rem;
}
.fd-tile-blurb{display:block;color:rgba(255,255,255,.78);font-size:.9rem;line-height:1.45}

/* ---------- board entry card ---------- */
.fd-entry{padding:3rem 0}
.fd-card{
  border:1px solid var(--fd-line);border-left:4px solid var(--fd-blue);
  border-radius:var(--fd-radius);padding:1.4rem 1.6rem;background:#fff;max-width:70ch;
}
.fd-card-meta{
  font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.14em;
  font-size:.72rem;color:var(--fd-muted);margin-bottom:.5rem;
}
.fd-card-h{margin-top:0;font-size:1.05rem}
.fd-card-more{margin-bottom:0;font-weight:600}

/* ---------- footer ---------- */
.fd-footer{background:var(--fd-ink);color:rgba(255,255,255,.72);padding:3rem 0 1.6rem;border-top:3px solid var(--fd-plum)}
.fd-foot-brand{display:flex;align-items:center;gap:.85rem;margin-bottom:.9rem}
.fd-foot-name{display:block;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#fff;font-size:.98rem}
.fd-foot-tag{display:block;font-size:.78rem;color:var(--fd-amber);letter-spacing:.14em;text-transform:uppercase}
.fd-foot-blurb{font-size:.92rem;max-width:38ch;color:rgba(255,255,255,.62)}
.fd-foot-h{font-size:.76rem;letter-spacing:.16em;color:var(--fd-amber);margin:0 0 .7rem}
.fd-foot-list{list-style:none;padding:0;margin:0;font-size:.9rem}
.fd-foot-list li{margin-bottom:.32rem}
.fd-foot-list a,.fd-footer a{color:rgba(255,255,255,.72);text-decoration:none}
.fd-foot-list a:hover,.fd-footer a:hover{color:var(--fd-amber);text-decoration:underline}
.fd-foot-bar{border-top:1px solid rgba(255,255,255,.14);margin-top:2.2rem;padding-top:1.2rem;font-size:.85rem}
.fd-foot-bar p{margin-bottom:.4rem}
.fd-foot-small{color:rgba(255,255,255,.45);font-size:.79rem;max-width:95ch}

/* ---------- safeguards ----------
   Content must never depend on JavaScript to become visible. */
[data-aos]{opacity:1 !important;transform:none !important}
.fd-hero h1,.fd-hero-lede,.fd-article,.fd-tile,.fd-card{opacity:1 !important;visibility:visible !important}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fd-tile img{transition:none}
}
@media (max-width:1199.98px){
  .fd-nav .navbar-nav{padding-top:.6rem}
  .fd-nav .nav-link{padding-left:.2rem}
  .fd-nav .dropdown-menu{background:transparent;border:0;border-top:1px solid rgba(255,255,255,.14);border-radius:0;margin-left:.6rem}
}
@media (max-width:575.98px){
  body{font-size:1rem}
  .fd-hero{padding:2.4rem 0 2.6rem}
  .fd-linklist{columns:1}
}
