/* Legal pages — single-column centered shape, strong contrast, opaque */
html { scroll-behavior: smooth; }

.legal-page {
  background-color: #FFFFFF;
  color: #1B2227;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  overflow-x: hidden;
}

.legal-page *,
.legal-page *::before,
.legal-page *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Scope isolation: only legal content sections are affected */
.legal-page .legal-content section {
  background: transparent;
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.legal-mast {
  background-color: #E56A3C;
  width: 100%;
  display: block;
}

.legal-mast-inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 30px 24px 26px;
  text-align: center;
}

.legal-mast .legal-org {
  color: #12171B;
  font-size: 15px;
  letter-spacing: 2px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}

.legal-mast h1 {
  color: #12171B;
  font-size: 34px;
  line-height: 1.2;
}

.legal-container {
  max-width: 820px;
  margin: 0 auto;
  padding: 30px 24px 20px;
  background-color: #FFFFFF;
  color: #1B2227;
}

.legal-lede {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 24px;
}

.legal-lede p { margin-bottom: 14px; }

.legal-intro {
  background-color: #F5F2E7;
  padding: 18px 20px;
  margin-bottom: 26px;
  border-left: 5px solid #E56A3C;
}

.legal-intro p { margin-bottom: 12px; color: #2A2E23; }
.legal-intro p:last-child { margin-bottom: 0; }

.legal-toc {
  background-color: #F5F2E7;
  padding: 20px 24px;
  margin-bottom: 30px;
  border: 1px solid #8A929E;
}

.legal-toc h2 {
  font-size: 18px;
  color: #12171B;
  margin-bottom: 12px;
  letter-spacing: 1px;
}

.legal-toc ol {
  list-style: none;
  counter-reset: legal-toc-item;
  margin-left: 0;
  padding-left: 0;
}

.legal-toc ol li {
  counter-increment: legal-toc-item;
  margin-bottom: 7px;
  padding-left: 30px;
  position: relative;
}

.legal-toc ol li::before {
  content: counter(legal-toc-item) ".";
  position: absolute;
  left: 0;
  color: #E56A3C;
  font-weight: bold;
}

.legal-toc ol li a {
  color: #1B2227;
  text-decoration: none;
}

.legal-toc ol li a:hover {
  text-decoration: underline;
  color: #E56A3C;
}

.legal-body h2 {
  font-size: 22px;
  color: #12171B;
  margin: 34px 0 10px;
  padding-top: 6px;
  border-top: 3px solid #E56A3C;
  scroll-margin-top: 16px;
}

.legal-body p {
  margin-bottom: 14px;
  line-height: 1.75;
  color: #232B30;
}

.legal-updated {
  font-style: normal;
  color: #5A666E;
  font-size: 14px;
  margin-bottom: 26px;
  display: block;
}

.legal-back-home {
  display: inline-block;
  background-color: #E56A3C;
  color: #12171B;
  font-weight: bold;
  text-decoration: none;
  padding: 12px 22px;
  margin: 26px 0 0;
  letter-spacing: 1px;
}

.legal-back-home:hover {
  background-color: #12171B;
  color: #F5F2E7;
}

.legal-foot {
  max-width: 820px;
  margin: 34px auto 0;
  padding: 28px 24px 40px;
  background-color: #FFFFFF;
  border-top: 3px solid #12171B;
  color: #5A666E;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}

.legal-address {
  font-style: normal;
}

.legal-foot .harbour-mail {
  color: #E56A3C;
}

@media (max-width: 640px) {
  .legal-mast h1 { font-size: 26px; }
}
