
/* Site-specific additions: legal footer, policy pages, accessibility and mobile navigation. */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
section[id] { scroll-margin-top: 90px; }

.site-legal-info {
  width: 100%;
  margin: 0 0 2rem;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}
.site-legal-title {
  margin: 0 0 1rem;
  color: #ffee32;
  font-size: 1.35rem;
  line-height: 1.2;
  font-weight: 700;
}
.site-legal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem 1.5rem;
}
.site-legal-grid p { margin: 0; font-size: .98rem; line-height: 1.55; }
.site-legal-grid a, .site-legal-disclaimer a { color: #ffee32; text-decoration: none; }
.site-legal-grid a:hover, .site-legal-grid a:focus { text-decoration: underline; }
.site-legal-disclaimer { margin: .9rem 0 0; font-size: .78rem; line-height: 1.5; opacity: .78; }

.legal-main { padding: 9rem 0 5rem; background: #fffae6; color: #232323; min-height: 70vh; }
.legal-shell { width: min(980px, calc(100% - 2rem)); margin: 0 auto; }
.legal-card { background: #ffffff; border-radius: 2rem; padding: clamp(1.5rem, 4vw, 3rem); box-shadow: 0 24px 60px rgba(27,31,10,.08); }
.legal-card h1 { margin: 0 0 .8rem; font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.05; }
.legal-card h2 { margin: 2rem 0 .7rem; font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1.2; }
.legal-card p, .legal-card li { font-size: 1.05rem; line-height: 1.7; }
.legal-card ul { padding-left: 1.3rem; }
.legal-card a { color: #504900; text-decoration: underline; text-underline-offset: 3px; }
.legal-meta { margin: 0 0 1.5rem; color: #666; }
.legal-company-box { margin: 2rem 0; padding: 1.25rem; border-radius: 1rem; background: #fff6b9; }
.legal-company-box p { margin: .2rem 0; }

#contact-form .form-control:focus { border-color: #b4a900; box-shadow: 0 0 0 .2rem rgba(255,238,50,.2); }

@media (max-width: 991px) {
  .cid-vsxUq9Gfi7 .navbar-toggler { display: block !important; opacity: 1 !important; visibility: visible !important; z-index: 5; }
  .cid-vsxUq9Gfi7 .navbar-collapse { max-height: calc(100vh - 80px); overflow-y: auto; }
  .cid-vsxUq9Gfi7 .navbar.opened .navbar-collapse,
  .cid-vsxUq9Gfi7 .navbar-collapse.show { display: block !important; width: 100%; }
  .cid-vsxUq9Gfi7 .navbar.opened .container { height: auto !important; min-height: 56px; align-items: flex-start; flex-wrap: wrap; padding-bottom: 1rem; }
  .cid-vsxUq9Gfi7 .navbar.opened .navbar-brand { max-width: calc(100% - 60px); }
  .cid-vsxUq9Gfi7 .navbar.opened .navbar-collapse { flex-basis: 100%; }
  .cid-vsxUq9Gfi7 .navbar.opened .navbar-nav { padding-top: .7rem; }
  .site-legal-grid { grid-template-columns: 1fr; }
}
@media (min-width: 992px) { .cid-vsxUq9Gfi7 .navbar-toggler { display: none !important; } }
@media (max-width: 767px) {
  .legal-main { padding: 6.5rem 0 3rem; }
  .legal-shell { width: min(100% - 1rem, 980px); }
  .legal-card { border-radius: 1.25rem; padding: 1.25rem; }
  .site-legal-info { padding: 1.1rem; }
  #footer .row-links-soc { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem 1rem; padding: 0; }
  #footer .row-links-soc-item { margin: 0 !important; }
}

.review-star { display: inline-block; margin: 0 .08rem; font-size: 1.35rem; line-height: 1; color: currentColor; }
