/* =========================
   COMPONENTS (UI only)
   Header / Nav / Buttons / Footer
   (Layout + hero + bands live in global.css)
   ========================= */

.site-header{
  position: sticky;
  top: 0;
  z-index: 20;

  background: rgba(247,249,251,.88);
  backdrop-filter: blur(10px);

  /* Kill any divider/shadow “line” coming from header */
  border-bottom: 0;
  box-shadow: none;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 18px; /* match .wrap padding */
}

/* Desktop: revert to tighter vertical rhythm */
@media (min-width: 860px){
  .header-inner{
    padding-left: 0;
    padding-right: 0;
  }
}

.brand{ display:flex; align-items:center; gap:10px; }
.brand-mark{ font-size:1.1rem; }
.brand-name{ font-weight:800; letter-spacing:.2px; }

.nav{ display:flex; gap:14px; align-items:center; }
.nav a{ padding:8px 10px; border-radius:12px; }
.nav a:hover{ background: rgba(17,17,17,.05); }

/* Buttons */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 14px;
  background: var(--accent);
  color: #fff;
  font-weight: 800;
  letter-spacing: .1px;
  box-shadow: var(--shadow);
}
.btn-small{ padding:10px 12px; font-size:.95rem; }
.btn-ghost{
  background:#fff;
  color:var(--text);
  border:1px solid var(--border);
  box-shadow:none;
}

/* Header: remove CTA on mobile (prevents overflow) */
@media (max-width: 859px){
  .site-header .btn{ display: none !important; }
}

/* Footer */
.site-footer{
  border-top:1px solid var(--border);
  background:#fff;
  padding: 22px 0;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.footer-links{ display:flex; gap:14px; flex-wrap:wrap; }
.footer-links a{ color:var(--muted); font-weight:600; }
.footer-sub{ margin-top:14px; }

/* Accordion (services + hub pages) */
.acc{ display:grid; gap:10px; }
.acc details{
  background:#fff;
  border:1px solid var(--border);
  border-radius: 16px;
  padding: 10px 12px;
}
.acc summary{
  cursor:pointer;
  font-weight:800;
  list-style:none;
}
.acc summary::-webkit-details-marker{ display:none; }
.acc .acc-a{ margin-top:10px; color:var(--muted); }

/* Breadcrumbs */
.crumbs{ margin: 10px 0 0; }
.crumbs ol{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:var(--muted);
  font-weight:600;
  font-size:.95rem;
}
.crumbs li{ display:flex; gap:8px; align-items:center; }
.crumbs li::after{ content:"/"; color: rgba(85,85,102,.6); }
.crumbs li:last-child::after{ content:""; }
.crumbs a{ color:var(--muted); text-decoration:none; }
.crumbs a:hover{ text-decoration:underline; }
