/* ─── Sideline legal pages — full-screen fintech layout ───────────────────────
   IBM Plex Sans / IBM Plex Mono. Near-black + lime accent.
   Full-width layout with a sticky table-of-contents sidebar + scroll-spy
   (built at runtime by legal.js). Reuses the original content class names. */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --black:#080A0A; --surface:#12161A; --surface2:#171C20;
  --border:rgba(255,255,255,0.07); --border2:rgba(255,255,255,0.12);
  --green:#C8F135; --green-dim:rgba(200,241,53,0.08); --green-line:rgba(200,241,53,0.24);
  --white:#EEF1EC; --gray:#79817A; --gray-light:#AEB6AD; --gold:#F2C257; --red:#FF5A6E;
  --ease:cubic-bezier(0.22,1,0.36,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
a{color:inherit;text-decoration:none;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
/* Resize whole page to the 75% look on desktop; phones/tablets keep natural size. */
@media (min-width:1024px){ html{ zoom:0.8; } }
body{background:var(--black);color:var(--white);font-family:'IBM Plex Sans',sans-serif;font-size:16.5px;line-height:1.75;min-height:100vh;position:relative;overflow-x:hidden;}
::selection{background:var(--green);color:#0A1200;}

/* ── nav ── */
.topnav{height:66px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;background:var(--black);border-bottom:1px solid var(--border);}
.nav-logo{display:flex;align-items:center;gap:11px;font-family:'IBM Plex Sans',sans-serif;font-size:19px;font-weight:600;letter-spacing:2px;color:#FFFFFF;}
.nav-logo .logo-mark{height:24px;width:auto;display:block;transition:filter 0.3s var(--ease);}
.nav-logo:hover .logo-mark{filter:drop-shadow(0 0 9px rgba(200,241,53,0.32));}
.nav-logo span{color:#FFFFFF;}
.nav-logo .ln{color:var(--green);}
.nav-back{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:500;color:var(--gray-light);transition:color 0.2s;}
.nav-back:hover{color:var(--green);}
@media(max-width:640px){.topnav{padding:0 20px;}}

/* ── outer container ── */
.content{position:relative;z-index:1;max-width:1300px;margin:0 auto;padding:0 48px 130px;}
@media(max-width:760px){.content{padding:0 22px 80px;}}

/* ── full-width header band ── */
.legal-header{padding:72px 0 36px;margin-bottom:56px;border-bottom:1px solid var(--border);}
.page-title{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:clamp(36px,5vw,58px);letter-spacing:-1.2px;line-height:1.05;color:#FFFFFF;margin-bottom:18px;}
.page-meta{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:400;color:var(--gray-light);letter-spacing:1px;text-transform:uppercase;margin:0;padding:0;border:none;}

/* ── two-column grid: sticky TOC + content ── */
.legal-grid{display:grid;grid-template-columns:248px minmax(0,1fr);gap:84px;align-items:start;}
.legal-side{position:sticky;top:92px;align-self:start;}
.legal-toc{display:flex;flex-direction:column;border-left:1px solid var(--border);}
.legal-toc-label{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gray-light);padding:0 0 16px 20px;}
.legal-toc a{font-family:'IBM Plex Sans',sans-serif;font-size:15px;font-weight:400;color:var(--gray-light);padding:9px 0 9px 20px;border-left:2px solid transparent;margin-left:-1px;line-height:1.45;transition:color 0.2s var(--ease),border-color 0.2s var(--ease);}
.legal-toc a:hover{color:var(--white);}
.legal-toc a.active{color:var(--green);border-left-color:var(--green);font-weight:500;}
.legal-main{min-width:0;max-width:860px;}
@media(max-width:980px){
  .legal-grid{grid-template-columns:1fr;gap:0;}
  .legal-side{display:none;}
  .legal-main{max-width:none;}
}

/* ── prose ── */
h2{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:clamp(24px,2.6vw,30px);letter-spacing:-0.4px;color:var(--green);margin-top:54px;margin-bottom:16px;scroll-margin-top:92px;}
h2:first-child{margin-top:0;}
h3{font-family:'IBM Plex Sans',sans-serif;font-size:17.5px;font-weight:600;color:var(--white);margin-top:30px;margin-bottom:9px;}
p{font-size:17.5px;color:var(--white);line-height:1.85;margin-bottom:16px;}
ul,ol{margin-left:22px;margin-bottom:16px;}
ul li,ol li{font-size:17.5px;color:var(--white);line-height:1.85;margin-bottom:9px;}
ul li::marker,ol li::marker{color:var(--green);}
strong{color:var(--white);font-weight:600;}
a[href^="mailto"],.legal-main p a{color:var(--green);}
hr{border:none;border-top:1px solid var(--border);margin:40px 0;}

/* ── highlight / gold callouts ── */
.highlight-box{background:var(--green-dim);border:1px solid var(--green-line);border-radius:14px;padding:20px 24px;margin:28px 0;}
.highlight-box p{color:var(--white);margin:0;line-height:1.75;}
.gold-box{background:rgba(242,194,87,0.06);border:1px solid rgba(242,194,87,0.24);border-radius:14px;padding:20px 24px;margin:28px 0;}
.gold-box p{color:var(--white);margin:0;line-height:1.75;}

/* ── sweepstakes "ways" grid ── */
.sc-ways{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0;}
@media(max-width:600px){.sc-ways{grid-template-columns:1fr;}}
.sc-way{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;transition:border-color 0.3s var(--ease),transform 0.3s var(--ease);}
.sc-way:hover{border-color:var(--green-line);transform:translateY(-3px);}
.sc-way-title{display:flex;align-items:center;gap:9px;font-family:'IBM Plex Sans',sans-serif;font-size:15.5px;font-weight:600;margin-bottom:9px;color:var(--green);}
.sc-way-title svg{width:18px;height:18px;flex-shrink:0;}
.sc-way-desc{font-size:16px;color:var(--white);line-height:1.7;}

/* ── warning box ── */
.warning-box{background:rgba(255,90,110,0.06);border:1px solid rgba(255,90,110,0.22);border-radius:14px;padding:24px;margin:28px 0;}
.warning-box p{color:var(--white);margin:0 0 10px;font-weight:600;}
.warning-box ul{margin-bottom:0;}
.warning-box ul li{color:var(--gray-light);}
.warning-box ul li::marker{color:var(--red);}

/* ── resource cards ── */
.resource-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:12px;display:flex;align-items:flex-start;gap:16px;transition:border-color 0.3s var(--ease),transform 0.3s var(--ease);}
.resource-card:hover{border-color:var(--green-line);transform:translateY(-3px);}
.resource-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--green-dim);border:1px solid var(--green-line);color:var(--green);flex-shrink:0;}
.resource-icon svg{width:23px;height:23px;}
.resource-name{font-family:'IBM Plex Sans',sans-serif;font-size:16px;font-weight:600;margin-bottom:5px;color:var(--white);}
.resource-desc{font-size:16px;color:var(--white);line-height:1.7;margin-bottom:8px;}
.resource-link{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:500;color:var(--green);letter-spacing:0.2px;}

/* ── self-exclude box ── */
.self-exclude-box{background:var(--surface);border:1px solid var(--green-line);border-radius:16px;padding:34px;margin-top:28px;text-align:center;}
.self-exclude-btn{display:inline-block;margin-top:18px;font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:0.3px;
  background:var(--green);border:none;color:#0A1200;padding:13px 28px;border-radius:10px;cursor:pointer;
  transition:transform 0.25s var(--ease),box-shadow 0.25s var(--ease);}
.self-exclude-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(200,241,53,0.3);}
