.brand-logo-img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: cover;
  background: #000;
}

.nav nav a,
.nav-guide,
.menu {
  font-weight: 700;
}

.nav-guide {
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: .88rem;
  line-height: inherit;
}

.nav-guide:hover {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 5px;
}

footer .brand-logo-img {
  width: 88px;
  height: 88px;
}

.legal-head .brand-logo-img {
  width: 64px;
  height: 64px;
}

.topbar .brand-logo-img {
  width: 52px;
  height: 52px;
}

.topbar .book-link {
  font-weight: 700;
}

.nav nav a[aria-current="page"] {
  color: #145fcd;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.process-grid .step-label {
  display: block;
  margin-bottom: 25px;
  color: #9fc6ff;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.social-share {
  font-size: .9rem;
}

.nav nav a[href="/compliance/"] {
  min-height: 42px;
  padding: 9px 15px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #145fcd;
  border-radius: 7px;
  background: linear-gradient(135deg, #176fd4, #0d4da9);
  color: #fff;
  box-shadow: 0 7px 18px rgba(20, 95, 205, .22);
  text-decoration: none;
}

.nav nav a[href="/compliance/"]:hover {
  background: linear-gradient(135deg, #0f5fbd, #0a3f8c);
  text-decoration: none;
  transform: translateY(-1px);
}

.nav nav a[href="/compliance/"][aria-current="page"] {
  color: #fff;
  text-decoration: none;
  box-shadow: 0 0 0 3px rgba(20, 95, 205, .18), 0 7px 18px rgba(20, 95, 205, .24);
}

.scorecard-hero-cta {
  box-shadow: 0 10px 24px rgba(20, 95, 205, .24);
}

.scorecard-hero-cta:hover {
  transform: translateY(-1px);
}

.law-watch { background: #f4f8fc; }
.law-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:28px; }
.law-grid article { background:#fff; border:1px solid rgba(16,43,66,.12); border-radius:12px; padding:22px; box-shadow:0 8px 20px rgba(16,43,66,.06); }
.law-grid h3 { margin:12px 0 8px; }
.law-grid p { margin:0; color:#52677a; }
.assurance-additions { background:#f8fbfd; }
.assurance-additions .framework-grid article { border:1px solid rgba(16,43,66,.12); border-radius:12px; padding:22px; background:#fff; }
.assurance-additions .service-num { display:block; margin-bottom:16px; }
.evidence-band { background:#102b42; color:#fff; }
.evidence-band .section-heading p, .evidence-band .section-heading h2 { color:#fff; }
.evidence-band .framework-grid div { border:1px solid rgba(255,255,255,.2); border-radius:10px; padding:18px; color:#d9e8f5; }

/* The live voice orb replaces the former Ask the Guide navigation control. */
.guava-nav-item {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 21 !important;
  display: flex !important;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: #102b42;
}

.guava-voice-label {
  color: #102b42;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
  cursor: pointer;
}

[data-guava-widget] {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

[data-guava-widget] .gw-orb {
  width: 36px !important;
  height: 36px !important;
}

[data-guava-widget] .gw-caption {
  display: none !important;
}

[data-guava-widget]:focus-visible {
  outline: 3px solid #145fcd;
  outline-offset: 5px;
}

@media (max-width: 800px) { .law-grid { grid-template-columns:1fr; } }

@media (min-width: 851px) and (max-width: 1150px) {
  .guava-voice-label { display: none; }
}

@media (max-width: 850px) {
  .guava-nav-item {
    min-height: 48px;
    justify-content: flex-start;
  }
}

@media (max-width: 550px) {
  .brand-logo-img {
    width: 60px;
    height: 60px;
  }

  .nav nav a[href="/compliance/"] {
    justify-content: center;
  }

  [data-guava-widget] .gw-orb {
    width: 40px !important;
    height: 40px !important;
  }
}
