.legal-header {
   position: sticky;
   top: 0;
   z-index: 100;
   border-bottom: 1px solid rgba(25, 31, 40, 0.08);
   background: rgba(255, 255, 255, 0.94);
   backdrop-filter: blur(14px);
}

.legal-shell {
   max-width: 1080px;
   margin: 0 auto;
   padding: 0 16px;
}

.legal-header__inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   min-height: 68px;
   gap: 16px;
}

.legal-header__brand {
   color: var(--text-primary, #191f28);
   font-size: 1.05rem;
   font-weight: 700;
   letter-spacing: -0.02em;
   text-decoration: none;
}

.legal-header__brand:hover,
.legal-header__home:hover {
   color: var(--text-primary, #191f28);
}

.legal-header__home {
   color: var(--text-secondary, #4e5968);
   font-size: 0.94rem;
   font-weight: 500;
   text-decoration: none;
}

.legal-main {
   padding: 40px 0 72px;
   background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
}

.legal-hero {
   margin-bottom: 20px;
   padding: 28px 30px;
   border: 1px solid rgba(25, 31, 40, 0.08);
   border-radius: 24px;
   background: #fff;
   box-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
}

.legal-kicker {
   margin: 0 0 10px;
   color: var(--secondary-color, #3182f6);
   font-size: 0.82rem;
   font-weight: 700;
   letter-spacing: 0.12em;
   text-transform: uppercase;
}

.legal-title {
   margin: 0;
   color: var(--text-primary, #191f28);
   font-size: clamp(1.9rem, 4vw, 2.6rem);
   font-weight: 700;
   letter-spacing: -0.04em;
   line-height: 1.2;
}

.legal-description {
   margin: 14px 0 0;
   color: var(--text-secondary, #4e5968);
   font-size: 1rem;
   line-height: 1.75;
   word-break: keep-all;
}

.legal-effective-date {
   margin: 12px 0 0;
   color: var(--text-muted, #8b95a1);
   font-size: 0.88rem;
}

.legal-section {
   margin-bottom: 18px;
   padding: 28px 30px;
   border: 1px solid rgba(25, 31, 40, 0.08);
   border-radius: 24px;
   background: #fff;
   box-shadow: 0 16px 36px rgba(15, 23, 42, 0.04);
}

.legal-section:last-child {
   margin-bottom: 0;
}

.legal-section h2 {
   margin: 0 0 14px;
   color: var(--text-primary, #191f28);
   font-size: 1.2rem;
   font-weight: 700;
   letter-spacing: -0.03em;
}

.legal-section h3 {
   margin: 18px 0 10px;
   color: var(--text-primary, #191f28);
   font-size: 1rem;
   font-weight: 700;
   letter-spacing: -0.02em;
}

.legal-section p {
   margin: 0;
   color: var(--text-secondary, #4e5968);
   font-size: 0.98rem;
   line-height: 1.75;
   word-break: keep-all;
}

.legal-section p + p {
   margin-top: 10px;
}

.legal-list {
   margin: 12px 0 0;
   padding-left: 18px;
   color: var(--text-secondary, #4e5968);
}

.legal-list li {
   margin: 0;
   line-height: 1.75;
}

.legal-list li + li {
   margin-top: 8px;
}

.legal-note {
   margin-top: 14px;
   padding: 14px 16px;
   border-radius: 16px;
   background: rgba(49, 130, 246, 0.08);
   color: var(--text-primary, #191f28);
   font-size: 0.94rem;
   line-height: 1.7;
}

.legal-definition {
   display: grid;
   grid-template-columns: 180px minmax(0, 1fr);
   gap: 12px 20px;
   margin: 0;
}

.legal-definition dt {
   color: var(--text-primary, #191f28);
   font-size: 0.94rem;
   font-weight: 700;
}

.legal-definition dd {
   margin: 0;
   color: var(--text-secondary, #4e5968);
   font-size: 0.96rem;
   line-height: 1.7;
   word-break: keep-all;
}

.legal-definition a {
   color: inherit;
   text-decoration: none;
}

.legal-definition a:hover {
   color: var(--secondary-color, #3182f6);
}

@media (max-width: 767.98px) {
   .legal-main {
      padding: 28px 0 56px;
   }

   .legal-hero,
   .legal-section {
      padding: 22px 20px;
      border-radius: 20px;
   }

   .legal-definition {
      grid-template-columns: 1fr;
      gap: 8px;
   }
}
