/* Shared public shell for standalone legal documents. */

.legal-page{
  min-width:0;
  min-height:100vh;
  overflow-x:hidden;
}

.legal-page .visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.legal-page-shell{
  position:relative;
  z-index:30;
}

.legal-page-header{
  position:sticky;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(18px, 3vw, 42px);
  min-height:72px;
  padding:10px clamp(138px, 12vw, 176px) 10px clamp(24px, 5vw, 72px);
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(15,17,19,.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.legal-page-header__brand{
  display:block;
  flex:0 0 auto;
  width:clamp(156px, 17vw, 220px);
}

.legal-page-header__brand img{
  display:block;
  width:100%;
  height:auto;
}

.legal-page-header__nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(12px, 2vw, 24px);
  min-width:0;
}

.legal-page-header__nav a{
  color:var(--muted);
  font-size:14px;
  line-height:1.3;
  text-decoration:none;
  white-space:nowrap;
}

.legal-page-header__nav a:hover,
.legal-page-header__nav a:focus-visible{
  color:var(--fg);
}

.legal-page-header__nav a:focus-visible{
  outline:2px solid rgba(31,122,109,.95);
  outline-offset:4px;
  border-radius:4px;
}

.legal-page > main.screen.legal{
  align-items:flex-start;
  min-height:calc(100vh - 72px);
  text-align:left;
}

.legal-page > main.screen.legal .content{
  width:100%;
  min-width:0;
}

.legal-page > main.screen.legal h1,
.legal-page > main.screen.legal h2,
.legal-page > main.screen.legal p,
.legal-page > main.screen.legal li{
  overflow-wrap:anywhere;
}

.legal-page .legal-page-footer{
  min-height:auto;
  text-align:center;
}

.legal-page .legal-social{
  gap:10px;
}

.legal-page .legal-social a{
  font-size:14px;
}

@media (max-width:720px){
  .legal-page-header{
    display:none;
  }

  .legal-page .lang{
    top:calc(10px + env(safe-area-inset-top));
    right:10px;
    z-index:94;
  }

  .legal-page .mobile-topbar:has(.mobile-topbar__menu-trigger) .mobile-topbar__brand{
    right:100px;
  }

  .legal-page > main.screen.legal{
    min-height:100vh;
    padding-top:calc(78px + env(safe-area-inset-top));
  }
}

@media (min-width:721px) and (max-width:1040px){
  .legal-page-header__nav{
    gap:12px;
  }

  .legal-page-header__nav a{
    font-size:12px;
  }
}

@media (prefers-reduced-motion:reduce){
  .legal-page *{
    scroll-behavior:auto !important;
  }
}
