* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: #101111;
    color: #f4f6f5;
    font-family: Inter, Arial, sans-serif;
    line-height: 1.7;
}

a { color: #42d994; }
a:hover { color: #8bf0ba; }
a:focus-visible { outline: 2px solid #42d994; outline-offset: 4px; }

.site-header {
    border-bottom: 1px solid #303633;
    background: #0a0c0b;
}

.header-inner, .page, .footer-inner {
    width: min(100% - 48px, 1000px);
    margin-inline: auto;
}

.header-inner {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.brand { display: inline-flex; align-items: center; }
.brand img { display: block; width: auto; height: 40px; }
.site-header nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.site-header nav a { color: #d6dfda; text-decoration: none; font-size: 14px; }
.site-header nav a:hover, .site-header nav a[aria-current] { color: #42d994; }

.page { padding-block: 64px 100px; }
.eyebrow { color: #42d994; font-size: 13px; font-weight: 700; text-transform: uppercase; }
h1 { margin: 8px 0 8px; font-size: clamp(32px, 5vw, 48px); line-height: 1.15; }
.updated { color: #a9b6ae; margin: 0 0 44px; font-size: 14px; }
.intro { max-width: 760px; color: #d4ded8; font-size: 18px; }

.legal-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 56px; margin-top: 48px; }
.contents { align-self: start; position: sticky; top: 24px; border-top: 1px solid #303633; padding-top: 16px; }
.contents h2 { margin: 0 0 12px; color: #a9b6ae; font-size: 12px; text-transform: uppercase; }
.contents a { display: block; padding: 5px 0; color: #d4ded8; font-size: 14px; text-decoration: none; line-height: 1.4; }
.contents a:hover { color: #42d994; }
.legal-copy { min-width: 0; }
.legal-copy section { border-top: 1px solid #303633; padding: 24px 0 28px; scroll-margin-top: 24px; }
.legal-copy h2 { margin: 0 0 14px; font-size: 22px; line-height: 1.35; }
.legal-copy p, .legal-copy ul { margin: 0 0 14px; color: #d4ded8; }
.legal-copy p:last-child, .legal-copy ul:last-child { margin-bottom: 0; }
.legal-copy ul { padding-left: 22px; }
.legal-copy li { padding-left: 4px; margin-bottom: 8px; }
.legal-copy strong { color: #f4f6f5; }

.site-footer { border-top: 1px solid #303633; background: #0a0c0b; }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 32px; padding-block: 28px; color: #a9b6ae; font-size: 14px; }
.footer-inner p { margin: 0; }
.footer-inner nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.footer-inner a { color: #d4ded8; text-decoration: none; }
.footer-inner a:hover { color: #42d994; }

@media (max-width: 720px) {
    .header-inner, .page, .footer-inner { width: min(100% - 32px, 1000px); }
    .header-inner { align-items: flex-start; flex-direction: column; padding-block: 16px; gap: 14px; }
    .brand img { height: 36px; }
    .page { padding-block: 42px 64px; }
    .legal-layout { display: block; margin-top: 28px; }
    .contents { position: static; margin-bottom: 28px; }
    .contents a { display: inline-block; margin-right: 16px; }
}
