/* CD global footer CSS — verbatim from CD's footer_govfed_forCC1 install-bound block.
   Tokens are SCOPED to footer.site (not :root) so they never override a migrated page's
   own :root. Self-contained so the footer also styles correctly on the 404/fallbacks. */
footer.site{
  --navy:#0B1E3A; --cream:#FAF1E2; --orange:#E07A3B; --orange-shadow:#C0612A; --gold:#E8B86A;
  --serif:'Fraunces',Georgia,serif; --sans:'DM Sans',system-ui,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
  background:var(--navy); color:var(--cream); padding:80px 0 56px; font-family:var(--sans);
}
footer.site .container{ max-width:1280px; margin:0 auto; padding:0 80px; width:100%; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:56px; }
footer.site a{ color:inherit; }
footer.site .wordmark{ display:inline-flex; align-items:center; gap:12px; font-family:var(--serif); font-weight:600; font-size:19px; letter-spacing:.1px; text-decoration:none; }
footer.site .colophon .wordmark{ color:var(--cream); }
footer.site .wordmark .mark{ width:30px; height:30px; border-radius:7px; background:var(--cream); color:var(--navy); display:grid; place-items:center; font-family:var(--serif); font-weight:700; font-size:18px; line-height:1; margin-top:-1px; }
footer.site .wordmark .tm{ font-size:11px; vertical-align:super; margin-left:2px; opacity:.55; font-weight:400; }
footer.site .wordmark .hq{ font-weight:400; }
footer.site .tag{ margin-top:22px; font-family:var(--serif); font-weight:400; font-size:19px; line-height:1.45; color:rgba(250,241,226,.74); max-width:360px; }
footer.site .col h4{ font-family:var(--mono); font-size:11.5px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin:0 0 18px; font-weight:500; }
footer.site .col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
footer.site .col a{ color:rgba(250,241,226,.80); text-decoration:none; font-size:15px; }
footer.site .col a:hover{ color:var(--gold); }
footer.site .col a.gov{ display:inline-flex; align-items:center; gap:9px; }
footer.site .col a.gov .seal{ font-family:var(--mono); font-size:9px; letter-spacing:1.4px; text-transform:uppercase; font-weight:500; color:rgba(250,241,226,.62); border:1px solid rgba(250,241,226,.26); border-radius:4px; padding:2px 5px; line-height:1; white-space:nowrap; transition:color .15s ease,border-color .15s ease; }
footer.site .col a.gov:hover .seal{ color:var(--gold); border-color:rgba(232,184,106,.55); }
footer.site .row{ grid-column:1 / -1; margin-top:48px; padding-top:24px; border-top:1px solid rgba(250,241,226,.16); display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; font-family:var(--mono); font-size:12px; letter-spacing:1.2px; color:rgba(250,241,226,.54); }
footer.site .row .copyright{ text-align:left; }
footer.site .row .legal{ display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:center; }
footer.site .row .legal a{ color:rgba(250,241,226,.72); text-decoration:none; transition:color .15s ease; }
footer.site .row .legal a:hover{ color:var(--orange); }
footer.site .row .legal .dot{ color:rgba(250,241,226,.30); user-select:none; }
footer.site .row .powered{ text-align:right; color:rgba(250,241,226,.62); }
footer.site .socials{ margin-top:28px; display:flex; align-items:center; gap:16px; }
footer.site .socials a{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; color:rgba(250,241,226,.78); transition:color .15s ease,transform .15s ease; }
footer.site .socials a:hover{ color:var(--orange); transform:translateY(-1px); }
footer.site .socials svg{ width:20px; height:20px; display:block; }
@media (max-width:1100px){ footer.site .container{ grid-template-columns:1fr 1fr; padding:0 48px; } }
@media (max-width:720px){ footer.site .container{ grid-template-columns:1fr; gap:36px; padding:0 24px; } footer.site .row{ grid-template-columns:1fr; gap:12px; text-align:left; font-size:11px; } footer.site .row .legal{ justify-content:flex-start; } footer.site .row .powered{ text-align:left; } }
