/* ==============================================================
   26 BRANDING AGENCY — FEDERAL SUPPLIER PAGE (/federal/)
   Serious, factual, dense. Optimized for procurement officers who scan.
   ============================================================== */

/* HERO ---------------------------------------------------------- */
.federal-hero-26 {
  position:relative; overflow:hidden;
  padding:var(--s-11) 0 var(--s-12);
  background:
    radial-gradient(ellipse 80% 60% at 70% 0%, rgba(239,41,41,.06), transparent 60%),
    linear-gradient(180deg, var(--c-ink-900) 0%, var(--c-ink-1000) 100%);
  color:var(--c-white);
}
.federal-hero-bg {
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.035;
  background-image:radial-gradient(rgba(255,255,255,.3) 1px, transparent 1px);
  background-size:28px 28px;
}
.federal-hero-26 .container-26 { position:relative; z-index:1; }

.federal-crumbs { font-family:var(--font-mono); font-size:var(--t-xs); color:var(--c-ink-400); margin-bottom:var(--s-8); letter-spacing:.04em; }
.federal-crumbs a { color:var(--c-ink-300); }
.federal-crumbs a:hover { color:var(--c-white); }
.federal-crumbs .sep { margin:0 var(--s-2); color:var(--c-ink-600); }

.federal-hero-inner { max-width:900px; }

.federal-eyebrow {
  display:inline-flex; align-items:center; gap:var(--s-2);
  font-family:var(--font-mono); font-size:var(--t-xs); letter-spacing:.14em; font-weight:600;
  color:var(--c-red-400); margin-bottom:var(--s-6);
  padding:var(--s-1) var(--s-3);
  background:rgba(239,41,41,.08); border:1px solid rgba(239,41,41,.25);
  border-radius:var(--r-full);
}
.federal-eyebrow .dot { width:6px; height:6px; border-radius:50%; background:var(--c-red-500); box-shadow:0 0 0 3px rgba(239,41,41,.2); animation:pulse-dot 2s ease-in-out infinite; }
@keyframes pulse-dot { 0%,100% { box-shadow:0 0 0 0 rgba(239,41,41,.4); } 50% { box-shadow:0 0 0 6px rgba(239,41,41,0); } }

.federal-title {
  font-family:var(--font-sans); font-size:var(--t-4xl); line-height:1.05; letter-spacing:-.035em; font-weight:800;
  color:var(--c-white); margin-bottom:var(--s-6);
}
.federal-title em { font-family:var(--font-serif); font-style:italic; font-weight:400; color:var(--c-red-400); letter-spacing:-.02em; }
@media (min-width:768px) { .federal-title { font-size:var(--t-5xl); } }
@media (min-width:1024px) { .federal-title { font-size:var(--t-6xl); } }

.federal-sub {
  font-size:var(--t-md); line-height:1.7; color:var(--c-ink-200); max-width:780px; margin-bottom:var(--s-8);
}
.federal-sub strong { color:var(--c-white); font-weight:600; }
@media (min-width:768px) { .federal-sub { font-size:var(--t-lg); } }

.federal-cta-row { display:flex; gap:var(--s-3); flex-wrap:wrap; align-items:center; }
.federal-cta-row .btn-26-outline { background:transparent; color:var(--c-white); border-color:rgba(255,255,255,.25); }
.federal-cta-row .btn-26-outline:hover { border-color:var(--c-white); background:rgba(255,255,255,.05); }
.federal-sla { font-family:var(--font-mono); font-size:var(--t-xs); color:var(--c-ink-300); padding-left:var(--s-3); }
.federal-sla strong { color:var(--c-white); }

/* CREDENTIAL BLOCK --------------------------------------------- */
.federal-credential-26 {
  background:var(--c-ink-800); color:var(--c-white);
  padding:var(--s-8) 0;
  border-top:1px solid var(--c-ink-700);
  border-bottom:1px solid var(--c-ink-700);
}
.credential-grid-26 {
  display:grid; gap:var(--s-5);
  grid-template-columns:1fr;
}
@media (min-width:600px) { .credential-grid-26 { grid-template-columns:repeat(2,1fr); } }
@media (min-width:960px) { .credential-grid-26 { grid-template-columns:repeat(3,1fr); gap:var(--s-6); } }
.credential-card {
  padding:var(--s-5) 0;
  border-right:1px solid var(--c-ink-700);
  padding-right:var(--s-5);
}
@media (max-width:599px) { .credential-card { border-right:none; border-bottom:1px solid var(--c-ink-700); padding-bottom:var(--s-4); } }
@media (min-width:600px) { .credential-card:nth-child(2n) { border-right:none; } }
@media (min-width:960px) { .credential-card:nth-child(2n), .credential-card:nth-child(5) { border-right:1px solid var(--c-ink-700); } .credential-card:nth-child(3n) { border-right:none; } }

.credential-label { font-family:var(--font-mono); font-size:var(--t-xs); color:var(--c-ink-400); letter-spacing:.1em; text-transform:uppercase; margin-bottom:var(--s-2); font-weight:500; }
.credential-value { font-family:var(--font-sans); font-size:var(--t-lg); font-weight:600; color:var(--c-white); letter-spacing:-.01em; }
.credential-value.mono { font-family:var(--font-mono); font-size:var(--t-xl); font-weight:700; color:var(--c-red-400); letter-spacing:.02em; }

/* COVERAGE GRID (5 streams, 19 categories) --------------------- */
.federal-coverage-26 {
  padding:var(--s-12) 0;
  background:var(--c-white);
}
.streams-grid-26 {
  display:grid; gap:var(--s-5);
  grid-template-columns:1fr;
}
@media (min-width:900px) { .streams-grid-26 { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1280px) { .streams-grid-26 { grid-template-columns:repeat(2,1fr); } }

.stream-card {
  background:var(--c-white); border:1px solid var(--border-subtle); border-radius:var(--r-5);
  padding:var(--s-6); transition:all var(--d-base) var(--ease-out);
  position:relative; overflow:hidden;
}
.stream-card::before {
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--c-red-600); transform:scaleY(0); transform-origin:top;
  transition:transform var(--d-base) var(--ease-out);
}
.stream-card:hover { border-color:var(--border-default); box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.stream-card:hover::before { transform:scaleY(1); }

.stream-header {
  display:grid; grid-template-columns:auto 1fr auto; gap:var(--s-4);
  align-items:start; padding-bottom:var(--s-5); margin-bottom:var(--s-5);
  border-bottom:1px solid var(--border-subtle);
}
.stream-number {
  font-size:var(--t-2xl); font-weight:700; color:var(--c-red-600);
  line-height:1; letter-spacing:-.03em;
}
.stream-name { font-size:var(--t-lg); font-weight:700; color:var(--text-primary); margin-bottom:4px; letter-spacing:-.015em; }
.stream-intent { font-size:var(--t-sm); color:var(--text-secondary); line-height:1.5; }
.stream-count { font-size:var(--t-sm); color:var(--text-muted); white-space:nowrap; align-self:center; }
.stream-count span { opacity:.7; }

.stream-categories { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:var(--s-3); }
.stream-categories li {
  display:grid; grid-template-columns:auto 1fr auto; gap:var(--s-3);
  align-items:baseline; padding:var(--s-2) 0;
  border-bottom:1px dashed var(--border-subtle);
}
.stream-categories li:last-child { border-bottom:none; }
.cat-ref { font-size:var(--t-xs); color:var(--c-red-600); font-weight:600; letter-spacing:.04em; min-width:38px; }
.cat-name { font-size:var(--t-sm); color:var(--text-primary); font-weight:500; line-height:1.4; }
.cat-check { font-family:var(--font-mono); font-size:var(--t-sm); color:var(--c-red-600); font-weight:700; }

/* PROCUREMENT FLOW --------------------------------------------- */
.federal-flow-26 {
  padding:var(--s-12) 0;
  background:var(--c-ink-25);
  border-top:1px solid var(--border-subtle);
}
.procurement-steps {
  list-style:none; padding:0; margin:0;
  display:grid; gap:var(--s-4);
  grid-template-columns:1fr;
  counter-reset:step;
}
@media (min-width:720px) { .procurement-steps { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px) { .procurement-steps { grid-template-columns:repeat(4,1fr); } }

.procurement-step {
  background:var(--c-white); border:1px solid var(--border-subtle); border-radius:var(--r-5);
  padding:var(--s-6); position:relative;
  transition:all var(--d-base) var(--ease-out);
}
.procurement-step:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.step-num {
  font-size:var(--t-2xl); font-weight:700; color:var(--c-red-600); margin-bottom:var(--s-4);
  letter-spacing:-.02em; line-height:1;
}
.step-title { font-size:var(--t-md); font-weight:700; color:var(--text-primary); margin-bottom:var(--s-3); letter-spacing:-.015em; }
.step-desc { font-size:var(--t-sm); line-height:1.6; color:var(--text-secondary); }

/* BILINGUAL NOTE ---------------------------------------------- */
.federal-bilingual-26 {
  padding:var(--s-11) 0;
  background:var(--c-white);
}
.bilingual-inner { max-width:760px; }
.bilingual-eyebrow { font-size:var(--t-xs); letter-spacing:.14em; color:var(--c-red-600); margin-bottom:var(--s-4); font-weight:600; }
.bilingual-headline {
  font-family:var(--font-sans); font-size:var(--t-2xl); font-weight:800; letter-spacing:-.025em;
  color:var(--text-primary); line-height:1.15; margin-bottom:var(--s-4);
}
@media (min-width:768px) { .bilingual-headline { font-size:var(--t-3xl); } }
.bilingual-body { font-size:var(--t-md); color:var(--text-secondary); line-height:1.7; }

/* FAQ --------------------------------------------------------- */
.federal-faq-26 {
  padding:var(--s-12) 0;
  background:var(--c-ink-25);
  border-top:1px solid var(--border-subtle);
}
.faq-list { display:flex; flex-direction:column; gap:var(--s-3); max-width:880px; }
.faq-item {
  background:var(--c-white); border:1px solid var(--border-subtle); border-radius:var(--r-4);
  padding:var(--s-5) var(--s-6); transition:all var(--d-base) var(--ease-out);
}
.faq-item:hover { border-color:var(--border-default); }
.faq-item summary {
  cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:var(--s-4);
  font-size:var(--t-md); font-weight:600; color:var(--text-primary);
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-q { flex:1; line-height:1.4; }
.faq-toggle { font-family:var(--font-mono); font-size:var(--t-lg); color:var(--text-muted); font-weight:400; transition:transform var(--d-fast) var(--ease-out); }
.faq-item[open] .faq-toggle { transform:rotate(45deg); color:var(--c-red-600); }
.faq-a {
  margin-top:var(--s-4); padding-top:var(--s-4);
  border-top:1px solid var(--border-subtle);
  font-size:var(--t-sm); line-height:1.7; color:var(--text-secondary);
}

/* CTA BLOCK --------------------------------------------------- */
.federal-cta-block-26 {
  padding:var(--s-12) 0;
  background:var(--c-ink-900); color:var(--c-white);
  position:relative; overflow:hidden;
}
.federal-cta-block-26::before {
  content:""; position:absolute; left:-200px; bottom:-200px; width:600px; height:600px;
  background:radial-gradient(circle, rgba(239,41,41,.08) 0%, transparent 60%);
  pointer-events:none;
}
.cta-block-inner { max-width:780px; position:relative; z-index:1; }
.cta-headline {
  font-family:var(--font-sans); font-size:var(--t-2xl); font-weight:800; letter-spacing:-.025em;
  color:var(--c-white); line-height:1.15; margin-bottom:var(--s-4);
}
@media (min-width:768px) { .cta-headline { font-size:var(--t-3xl); } }
.cta-body { font-size:var(--t-md); color:var(--c-ink-200); line-height:1.7; margin-bottom:var(--s-7); }
.cta-block-actions { display:flex; gap:var(--s-3); flex-wrap:wrap; margin-bottom:var(--s-6); }
.cta-block-actions .btn-26-outline { background:transparent; color:var(--c-white); border-color:rgba(255,255,255,.25); }
.cta-block-actions .btn-26-outline:hover { border-color:var(--c-white); background:rgba(255,255,255,.05); }
.cta-footnote { font-size:var(--t-xs); color:var(--c-ink-400); letter-spacing:.03em; line-height:1.6; }
.cta-footnote strong { color:var(--c-white); }
