/* Self-hosted fonts (latin): Outfit (variable), Space Mono, Titan One. SIL Open Font License. */
@font-face{font-family:'Outfit';font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/outfit-300.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/outfit-300.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/outfit-300.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/outfit-300.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/space-mono-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/space-mono-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Titan One';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/titan-one-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* FoxyFoxy v2 — legal pages */
:root {
    --blue: #06474e; --blue-tint: #0b5a63; --yellow: #ebb10a; --cream: #fff8e7; --dark: #0f172a; --ink: #0a0f1f; --white: #fff;
    --font-display: 'Titan One', 'Outfit', sans-serif; --font-body: 'Outfit', system-ui, sans-serif; --font-mono: 'Space Mono', ui-monospace, monospace;
}
* { box-sizing: border-box; }
body {
    margin: 0; min-height: 100vh; display: flex; flex-direction: column; position: relative;
    font-family: var(--font-body); font-weight: 500; color: var(--white);
    background: radial-gradient(80% 60% at 100% 0%, #142038 0%, transparent 60%), var(--dark);
    -webkit-font-smoothing: antialiased;
}
.tx { position: fixed; inset: 0; pointer-events: none; z-index: 0; }
.tx-topo {
    opacity: .5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600' fill='none' stroke='%23ebb10a' stroke-opacity='.12' stroke-width='1.2'%3E%3Cpath d='M300 220c60-30 140-10 160 40s-20 110-80 120-150-10-170-60 30-70 90-100z'/%3E%3Cpath d='M300 190c80-40 190-10 210 60s-30 140-110 150-190-20-210-90 30-85 110-120z'/%3E%3Cpath d='M300 160c100-50 240-10 260 80s-40 170-140 180-230-30-250-120 30-100 130-140z'/%3E%3Cpath d='M300 130c120-60 290-10 310 100s-50 200-170 210-270-40-290-150 30-115 150-160z'/%3E%3Cpath d='M300 250c40-20 90-5 100 25s-15 70-50 75-95-10-105-40 15-45 55-60z'/%3E%3Cpath d='M80 520c30-40 90-40 120 0s0 90-50 90-100-50-70-90z'/%3E%3Cpath d='M60 530c40-60 130-60 170 0s0 120-70 120-140-60-100-120z'/%3E%3Cpath d='M520 60c20-30 70-30 90 0s0 70-40 70-70-40-50-70z'/%3E%3C/svg%3E");
    background-size: 600px 600px;
}
.tx-grain {
    opacity: .08; mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.legal-header {
    position: sticky; top: 0; z-index: 2;
    background: rgba(6, 71, 78, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border-bottom: 3px solid var(--dark); padding: 1.1rem clamp(1rem, 5vw, 3rem);
}
.back {
    display: inline-flex; align-items: center; gap: .6rem; text-decoration: none;
    font-family: var(--font-display); font-size: 1.5rem; color: var(--white); transition: color .25s;
}
.back .arrow { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--yellow); color: var(--dark); font-family: var(--font-body); font-weight: 900; font-size: 1.1rem; transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
.back:hover { color: var(--yellow); }
.back:hover .arrow { transform: translateX(-4px); }
.legal-main { position: relative; z-index: 1; flex: 1; width: 100%; max-width: 860px; margin: 0 auto; padding: clamp(3rem, 8vh, 5rem) clamp(1rem, 5vw, 2rem) 4rem; }
.legal-main h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(2.4rem, 6vw, 4.2rem); line-height: 1; color: var(--yellow); margin: 0 0 2rem; }
.legal-body { display: flex; flex-direction: column; gap: 1.1rem; font-size: 1.1rem; line-height: 1.7; color: rgba(255, 255, 255, .82); }
.legal-body h2 { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.4rem, 3vw, 1.9rem); color: var(--yellow); margin: 1.4rem 0 0; }
.legal-body p { margin: 0; }
.legal-body ul { margin: 0; padding-left: 1.4rem; display: flex; flex-direction: column; gap: .5rem; }
.legal-body li::marker { color: var(--yellow); }
.legal-body strong { color: var(--white); font-weight: 700; }
.legal-body a { color: var(--yellow); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.legal-body a:hover { color: #f6cb45; }
.legal-footer { position: relative; z-index: 1; background: var(--blue); border-top: 3px solid var(--dark); padding: 1.4rem; text-align: center; font-family: var(--font-mono); font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }
.legal-footer p { margin: 0; }
