:root { --bg:#080a0b; --panel:#111416; --panel2:#151a19; --text:#f3f1ec; --muted:#a09f98; --green:#35d07f; --gold:#ffb238; --blue:#5aa9ff; --line:rgba(243,241,236,.1); --display:"Bricolage Grotesque",-apple-system,sans-serif; --body:"Instrument Sans",-apple-system,sans-serif; --mono:"Space Mono",monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text); font:400 16px/1.65 var(--body); }
body:before { content:""; position:fixed; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 76% 0%,rgba(53,208,127,.12),transparent 31%),radial-gradient(ellipse at 0% 42%,rgba(255,178,56,.055),transparent 33%); }
a { color:inherit; text-decoration:none; }
.site-nav { position:sticky; top:0; z-index:20; height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 max(24px,calc((100vw - 1120px)/2)); border-bottom:1px solid rgba(255,255,255,.07); background:rgba(8,10,11,.84); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:-.03em; white-space:nowrap; }
.brand img { width:32px; height:32px; object-fit:cover; border-radius:9px; }
.mobile-links { display:none; }
.site-links { display:flex; align-items:center; gap:26px; color:#aaa8a3; font-size:.84rem; font-weight:600; }
.site-links a { transition:color .2s; }
.site-links a:hover,.site-links a[aria-current="page"] { color:var(--text); }
.site-links a[aria-current="page"] { position:relative; }
.site-links a[aria-current="page"]:after { content:""; position:absolute; left:0; right:0; bottom:-28px; height:2px; border-radius:2px; background:var(--green); }
.nav-cta { display:flex; align-items:center; gap:8px; border-radius:10px; padding:10px 15px; background:var(--green); color:#06170c; font-size:.8rem; font-weight:700; transition:transform .2s,box-shadow .2s; }
.nav-cta:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(53,208,127,.22); }
.page-wrap { width:min(1120px,calc(100% - 48px)); margin:0 auto; }
.legal-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:center; gap:40px; padding:74px 0 48px; overflow:hidden; }
.legal-hero:after { content:""; position:absolute; z-index:-1; top:30px; right:110px; width:270px; height:270px; border:1px solid rgba(53,208,127,.11); border-radius:50%; box-shadow:0 0 0 24px rgba(53,208,127,.02),0 0 0 48px rgba(53,208,127,.014); animation:halo 8s ease-in-out infinite alternate; }
@keyframes halo { to { transform:scale(1.05) rotate(12deg); opacity:.55; } }
.eyebrow { display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(53,208,127,.26); border-radius:99px; padding:7px 11px; color:#84e7ae; background:rgba(53,208,127,.055); font:700 .62rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.eyebrow i { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 13px var(--green); animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 50% { box-shadow:0 0 0 6px rgba(53,208,127,0); } }
.legal-hero h1 { max-width:720px; margin:19px 0 14px; font:700 clamp(3.2rem,7vw,5.5rem)/.96 var(--display); letter-spacing:-.075em; }
.legal-hero h1 span { color:var(--green); }
.hero-copy { max-width:640px; margin:0; color:#a6a59e; font-size:1rem; line-height:1.75; }
.hero-meta { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:22px; color:#96968f; font-size:.76rem; }
.hero-meta span { display:inline-flex; align-items:center; gap:7px; }
.hero-meta b { color:#e9e7e1; font-weight:600; }
.hero-card { position:relative; z-index:1; padding:20px; border:1px solid rgba(243,241,236,.12); border-radius:18px; background:linear-gradient(145deg,rgba(23,28,25,.92),rgba(14,17,17,.92)); box-shadow:0 24px 70px rgba(0,0,0,.25); }
.hero-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; color:#a7aaa3; font:700 .62rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.hero-card-top img { width:29px; height:29px; border:1px solid rgba(53,208,127,.32); border-radius:9px; }
.hero-card h2 { margin:0 0 13px; font:700 1.13rem/1.2 var(--display); letter-spacing:-.03em; }
.signal-list { display:grid; gap:10px; }
.signal { display:flex; align-items:center; gap:10px; color:#c2c1bb; font-size:.77rem; }
.signal i { display:grid; place-items:center; width:24px; height:24px; flex:none; border:1px solid rgba(53,208,127,.2); border-radius:8px; color:var(--green); background:rgba(53,208,127,.07); font-style:normal; }
.content-divider { height:1px; border:0; margin:0; background:linear-gradient(90deg,rgba(53,208,127,.36),rgba(255,255,255,.08),transparent); }
.legal-layout { display:grid; grid-template-columns:230px minmax(0,1fr); align-items:start; gap:25px; padding:34px 0 76px; }
.sidebar { position:sticky; top:98px; padding:13px 10px; border:1px solid var(--line); border-radius:16px; background:rgba(17,20,24,.8); }
.side-title { padding:4px 11px 10px; color:#797a75; font:700 .61rem var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.side-link { display:flex; align-items:center; gap:9px; min-height:37px; padding:7px 10px; border:1px solid transparent; border-radius:9px; color:#aaa8a3; font-size:.78rem; font-weight:600; transition:background .18s,color .18s,border-color .18s; }
.side-link:hover,.side-link.active { border-color:rgba(53,208,127,.17); background:rgba(53,208,127,.08); color:#b9f4d2; }
.side-link.active { box-shadow:inset 2px 0 var(--green); }
.side-link span { width:20px; color:#777a73; font: .62rem var(--mono); }
.side-divider { height:1px; margin:10px 8px; background:rgba(255,255,255,.07); }
.sidebar-note { margin:13px 4px 3px; padding:12px; border:1px solid rgba(255,178,56,.17); border-radius:12px; background:rgba(255,178,56,.045); }
.sidebar-note strong { display:block; margin-bottom:3px; color:#f1d4a3; font-size:.76rem; }
.sidebar-note p { margin:0; color:#a19a8c; font-size:.69rem; line-height:1.55; }
.sidebar-note a { color:var(--gold); }
.legal-content { min-width:0; }
.notice { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; padding:14px 16px; border:1px solid rgba(53,208,127,.21); border-radius:13px; background:linear-gradient(110deg,rgba(53,208,127,.08),rgba(17,20,24,.82) 72%); }
.notice-icon { display:grid; place-items:center; width:27px; height:27px; flex:none; border-radius:8px; color:#07190e; background:var(--green); font-weight:800; }
.notice p { margin:0; color:#b0b1a9; font-size:.76rem; line-height:1.55; }
.notice strong { color:#eeece7; }
.legal-section { margin-bottom:13px; padding:21px 22px 22px; border:1px solid rgba(243,241,236,.09); border-radius:16px; background:linear-gradient(145deg,rgba(21,24,29,.95),rgba(14,17,19,.9)); box-shadow:0 14px 35px rgba(0,0,0,.12); scroll-margin-top:100px; }
.section-heading { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.section-icon { display:grid; place-items:center; width:34px; height:34px; flex:none; border:1px solid rgba(53,208,127,.23); border-radius:11px; color:var(--green); background:rgba(53,208,127,.08); font-size:.92rem; }
.section-heading h2 { margin:0; font:700 1.25rem/1.2 var(--display); letter-spacing:-.04em; }
.section-number { margin-left:auto; color:#777b74; font: .64rem var(--mono); }
.legal-section p { margin:0 0 12px; color:#b7b6b0; font-size:.84rem; line-height:1.75; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section ul { display:grid; gap:9px; margin:13px 0 3px; padding:0; list-style:none; }
.legal-section li { position:relative; padding-left:18px; color:#b7b6b0; font-size:.81rem; line-height:1.68; }
.legal-section li:before { content:""; position:absolute; top:.68em; left:1px; width:6px; height:6px; border-radius:2px; background:var(--green); transform:rotate(45deg); }
.legal-section li strong { color:#e6e4de; }
.legal-section a { color:#79e2a4; text-decoration:underline; text-decoration-color:rgba(121,226,164,.35); text-underline-offset:3px; }
.support-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:16px; padding:19px 21px; border:1px solid rgba(255,178,56,.19); border-radius:15px; background:linear-gradient(105deg,rgba(255,178,56,.075),rgba(17,20,24,.85) 72%); }
.support-card small { color:var(--gold); font:700 .59rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.support-card h2 { margin:4px 0 2px; font:700 1.08rem var(--display); letter-spacing:-.025em; }
.support-card p { margin:0; color:#a4a198; font-size:.75rem; }
.support-link { flex:none; display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,178,56,.26); border-radius:10px; padding:9px 12px; color:#f7cf87; font-size:.73rem; font-weight:700; background:rgba(255,178,56,.06); transition:transform .2s,background .2s; }
.support-link:hover { transform:translateY(-2px); background:rgba(255,178,56,.11); }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 0 32px; border-top:1px solid rgba(255,255,255,.08); color:#8e8c86; font-size:.73rem; }
.footer-brand { display:flex; align-items:center; gap:8px; color:#e9e7e2; font-weight:700; }
.footer-brand img { width:23px; height:23px; border-radius:7px; }
.footer-links { display:flex; flex-wrap:wrap; gap:19px; }
.footer-links a:hover { color:var(--green); }
.terms { --green:#ffb238; }
.terms body:before { background:radial-gradient(ellipse at 76% 0%,rgba(255,178,56,.1),transparent 31%),radial-gradient(ellipse at 0% 42%,rgba(53,208,127,.05),transparent 33%); }
.terms .eyebrow { color:#f6ce88; border-color:rgba(255,178,56,.27); background:rgba(255,178,56,.055); }
.terms .eyebrow i { background:var(--gold); box-shadow:0 0 13px var(--gold); }
.terms .legal-hero h1 span { color:var(--gold); }
.terms .legal-hero:after { border-color:rgba(255,178,56,.13); box-shadow:0 0 0 24px rgba(255,178,56,.02),0 0 0 48px rgba(255,178,56,.014); }
.terms .signal i { color:var(--gold); border-color:rgba(255,178,56,.2); background:rgba(255,178,56,.07); }
.terms .notice { border-color:rgba(255,178,56,.23); background:linear-gradient(110deg,rgba(255,178,56,.085),rgba(17,20,24,.82) 72%); }
.terms .notice-icon { background:var(--gold); }
.terms .section-icon { color:var(--gold); border-color:rgba(255,178,56,.23); background:rgba(255,178,56,.08); }
.terms .legal-section li:before { background:var(--gold); }
.terms .legal-section a { color:#f3ca83; text-decoration-color:rgba(243,202,131,.36); }
.terms .side-link:hover,.terms .side-link.active { border-color:rgba(255,178,56,.18); background:rgba(255,178,56,.08); color:#f3d6a3; }
.terms .side-link.active { box-shadow:inset 2px 0 var(--gold); }
.terms .site-links a[aria-current="page"]:after { background:var(--gold); }
@media (max-width:800px) { .legal-hero { grid-template-columns:minmax(0,1fr) 250px; gap:22px; padding-top:55px; } .legal-hero h1 { font-size:clamp(3rem,8vw,4.3rem); } .legal-layout { grid-template-columns:190px minmax(0,1fr); gap:15px; } }
@media (max-width:650px) { html { scroll-padding-top:78px; } .site-nav { height:auto; min-height:68px; flex-wrap:wrap; padding:12px 18px; } .site-links { display:none; } .mobile-links { display:flex; align-items:center; gap:7px; flex-wrap:wrap; order:3; width:100%; padding:8px 0 2px; color:#aaa8a3; font-size:.7rem; } .mobile-links a { padding:5px 8px; border:1px solid var(--line); border-radius:999px; } .nav-cta { padding:9px 11px; font-size:.73rem; } .page-wrap { width:calc(100% - 32px); } .legal-hero { display:flex; flex-direction:column; align-items:stretch; gap:22px; padding:43px 0 27px; } .legal-hero:after { right:-90px; top:-15px; width:220px; height:220px; } .legal-hero h1 { font-size:clamp(2.8rem,13vw,4rem); } .hero-copy { font-size:.91rem; } .hero-card { max-width:420px; } .legal-layout { display:block; padding:0 0 55px; } .sidebar { position:relative; top:auto; display:flex; gap:4px; overflow:auto; margin:0 0 13px; padding:7px; white-space:nowrap; scrollbar-width:none; } .sidebar::-webkit-scrollbar { display:none; } .side-title,.side-divider,.sidebar-note { display:none; } .side-link { flex:none; min-height:34px; font-size:.69rem; } .side-link span { width:auto; } .legal-section { padding:16px; margin-bottom:10px; } .section-heading h2 { font-size:1.08rem; } .legal-section p,.legal-section li { font-size:.77rem; } .support-card { align-items:flex-start; flex-direction:column; padding:16px; } .site-footer { flex-wrap:wrap; justify-content:center; text-align:center; } .footer-links { width:100%; justify-content:center; gap:14px; } }
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
