/* Option C premium layout extras */
:focus-visible { outline: 3px solid #e85d2a; outline-offset: 3px; }
.btn, .nav a, .card { transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, background-color .2s ease; }
.btn:hover { transform: translateY(-1px); }
.ext-icon::after { content: " ↗"; font-size: .85em; opacity: .75; }

.nav a[href*="bid-calendar"], .nav a[href="/tools/"] { font-weight: 700; }
.header-inner { gap: .75rem; }
.rfq-btns .btn { padding: .62rem .95rem; font-size: .92rem; }

.trust-bar {
  background: #0a1628; color: #d7e3f0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: .85rem 0;
}
.trust-bar ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: .55rem 1.6rem;
  font-size: .92rem; letter-spacing: .04em; text-transform: uppercase;
}
.trust-bar strong { color: #fff; }

.desk-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.desk-card {
  position: relative; overflow: hidden;
  padding: 1.8rem 1.6rem 1.5rem;
  min-height: 280px;
  display: flex; flex-direction: column; gap: .7rem;
}
.desk-card.bid { background: #0a1628; color: #fff; border: 0; }
.desk-card.tools { background: #1070b0; color: #fff; border: 0; }
.desk-card h2 { color: inherit; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.desk-card p { opacity: .95; }
.desk-card .btn { align-self: flex-start; margin-top: auto; background: #fff; color: #0a1628; border-color: #fff; }
.desk-card .mini-links { display: flex; flex-wrap: wrap; gap: .5rem .9rem; font-size: .92rem; }
.desk-card .mini-links a { color: #fff; }

.pillar-grid { grid-template-columns: repeat(4, 1fr); }
.pillar { padding: 0; overflow: hidden; }
.pillar img { width: 100%; height: 150px; object-fit: cover; }
.pillar .pad { padding: 1.1rem 1.15rem 1.25rem; }
.pillar h3 { font-size: 1.15rem; }

.brand-grid { grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); }
.brand { min-height: 104px; text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.brand:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(10,22,40,.12); color: inherit; }
.brand .wordmark { font-family: var(--font-display); font-weight: 800; text-align: center; letter-spacing: .02em; }
.brand.featured { grid-column: span 2; min-height: 140px; background: #fffaf6; }
.brand.featured img { max-height: 78px; }

.partner-grid h3 { margin-bottom: .35rem; }
.partner-grid p { margin-bottom: 0; }

.cta-band {
  background: #0a1628; color: #fff;
  border-radius: 20px; padding: 2.4rem 2rem;
}
.cta-band h2 { color: #fff; }
.cta-band p { color: #d7e3f0; }

.brand-hero-tools, .support-box, .helper, .docs-list { margin-top: 1.4rem; }
.support-box {
  background: #0a1628; color: #fff; border-radius: 16px; padding: 1.4rem 1.35rem;
}
.support-box h2, .support-box h3 { color: #fff; }
.support-box a { color: #ffd2be; }
.support-box .factory { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.14); }
.docs-list { list-style: none; padding: 0; }
.docs-list li { margin: 0 0 .55rem; }
.helper {
  background: #fff; border: 1px solid var(--border); border-radius: 16px;
  padding: 1.3rem 1.25rem; box-shadow: var(--card-shadow);
}
.helper .fine { font-size: .88rem; color: #5a6573; }
.helper .out {
  margin-top: .9rem; padding: .85rem 1rem; border-radius: 10px;
  background: #eef3f8; font-weight: 700;
}
.helper label { display: grid; gap: .3rem; font-weight: 600; margin: .55rem 0; }
.helper input { max-width: 16rem; }

.logo-row { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; }
.logo-row img { max-height: 72px; width: auto; background: #fff; padding: .4rem .7rem; border-radius: 8px; }

.reveal { animation: rise .7s ease both; }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .reveal, .btn, .card, .brand { animation: none; transition: none; }
}

@media (max-width: 960px) {
  .desk-tools, .pillar-grid { grid-template-columns: 1fr 1fr; }
  .brand.featured { grid-column: span 1; }
}
@media (max-width: 640px) {
  .desk-tools, .pillar-grid { grid-template-columns: 1fr; }
  .cta-band { padding: 1.6rem 1.1rem; }
}

body.theme-c main .btn-ghost { color: var(--heading); border-color: currentColor; }
body.theme-c .hero .btn-ghost,
body.theme-c .site-header .btn-ghost,
body.theme-c .cta-band .btn-ghost { color: #fff; border-color: rgba(255,255,255,.75); }
body.theme-c .desk-card.bid { background: #0a1628 !important; color: #fff !important; }
body.theme-c .desk-card.tools { background: #0e6cad !important; color: #fff !important; }
body.theme-c .desk-card .kicker { color: #ffb089; }
body.theme-c .desk-card h2 { color: #fff; }
body.theme-c .page-hero a { color: #ffd2be; }
body.theme-c .rfq-btns .btn { white-space: nowrap; }
