* { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body {
    background: #000000;
    color: #F3EEE4;
    font-family: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
  }
  .legal-top {
    padding: clamp(20px, 3vh, 32px) clamp(20px, 6vw, 64px);
    border-bottom: 1px solid rgba(243, 238, 228, 0.12);
  }
  .legal-top-logo { width: clamp(64px, 6vw, 84px); height: auto; display: block; }
  .legal {
    max-width: 720px;
    margin: 0 auto;
    padding: clamp(40px, 7vh, 80px) 20px clamp(56px, 9vh, 96px);
  }
  .legal-title {
    font-weight: 800;
    font-size: clamp(40px, 7vw, 76px);
    line-height: 1;
    text-transform: uppercase;
    text-wrap: balance;
    margin: 0 0 14px;
  }
  .legal-date {
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(201, 192, 176, 0.7);
    margin: 0 0 clamp(36px, 5vh, 56px);
  }
  .legal section + section { margin-top: 36px; }
  .legal h2 {
    font-size: 21px;
    font-weight: 800;
    margin: 0 0 12px;
  }
  .legal p, .legal li {
    font-size: 17px;
    line-height: 1.65;
    color: #C9C0B0;
  }
  .legal p { margin: 0 0 12px; }
  .legal ul { margin: 0 0 12px; padding-left: 22px; }
  .legal li + li { margin-top: 6px; }
  .legal strong { color: #F3EEE4; }
  .legal a { color: #3FC1B8; }
  .legal a:hover { color: #F3EEE4; }
  a:focus-visible { outline: 2px solid #3FC1B8; outline-offset: 3px; }
  .site-footer {
    position: relative;
    z-index: 1;
    background: #000000;
    box-shadow: 0 50vh 0 50vh #000000;
    padding-top: clamp(40px, 6vh, 64px);
    padding-bottom: clamp(14px, 2vh, 20px);
    padding-left: clamp(20px, 6vw, 64px);
    padding-right: clamp(72px, 9vw, 96px);
    border-top: 1px solid rgba(243, 238, 228, 0.14);
  }
  .footer-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px 24px;
  }
  .footer-brand {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    max-width: 380px;
  }
  @media (min-width: 780px) {
    .footer-inner { grid-template-columns: auto minmax(0, 2fr) 1fr 1fr; gap: 48px; }
    .footer-brand, .footer-brand-link { grid-column: auto; }
  }
  .footer-brand-link { display: inline-block; justify-self: start; align-self: start; }
  @media (max-width: 779px) {
    .footer-brand-link { grid-column: 1 / -1; }
  }
  .footer-logo {
    width: clamp(64px, 6vw, 84px);
    height: auto;
    display: block;
  }
  .footer-desc {
    font-family: 'Karla', -apple-system, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: #FFFFFF;
    margin: 0;
  }
  .footer-contact {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-family: 'Karla', -apple-system, sans-serif;
    font-size: 14px;
  }
  .footer-contact a {
    color: #F3EEE4;
    text-decoration: none;
    transition: color 0.2s ease;
  }
  .footer-contact a:hover { color: #4D7C47; }
  .footer-location { color: rgba(201, 192, 176, 0.7); }
  .footer-col h3 {
    font-family: 'Karla', -apple-system, sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(201, 192, 176, 0.6);
    margin: 0 0 14px;
  }
  .footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .footer-col a {
    font-family: 'Karla', -apple-system, sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #C9C0B0;
    text-decoration: none;
    transition: color 0.2s ease;
  }
  .footer-site li:nth-child(1) a:hover { color: #4D7C47; }
  .footer-site li:nth-child(2) a:hover { color: #FFFFFF; }
  .footer-site li:nth-child(3) a:hover { color: #3FC1B8; }
  .footer-site li:nth-child(4) a:hover { color: #D9A93B; }
  .footer-site li:nth-child(5) a:hover { color: #4D7C47; }
  .footer-legal a:hover { color: #FFFFFF; }
  .footer-bottom {
    max-width: 1100px;
    margin: clamp(28px, 4vh, 44px) auto 0;
    padding-top: 14px;
    border-top: 1px solid rgba(243, 238, 228, 0.1);
    font-family: 'Karla', -apple-system, sans-serif;
    font-size: 12px;
    color: rgba(201, 192, 176, 0.6);
  }
