:root {
  --ink:        #020817;
  --ink-2:      #050f1e;
  --navy:       #071428;
  --navy-2:     #0a1f3a;
  --blue:       #1249A4;
  --blue-glow:  #1e6aff;
  --cyan:       #00c2ff;
  --cyan-dim:   rgba(0,194,255,0.15);
  --teal:       #00d4aa;
  --teal-dim:   rgba(0,212,170,0.12);
  --yellow:     #f5c518;
  --yellow-dim: rgba(245,197,24,0.15);
  --purple:     #7c3aed;
  --purple-dim: rgba(124,58,237,0.1);
  --red-dim:    rgba(239,68,68,0.1);
  --glass:      rgba(255,255,255,0.04);
  --glass-2:    rgba(255,255,255,0.07);
  --glass-3:    rgba(255,255,255,0.11);
  --glass-border: rgba(255,255,255,0.1);
  --glass-border-2: rgba(0,194,255,0.25);
  --text-white: #ffffff;
  --text-bright:#f0f6ff;
  --text-mid:   rgba(240,246,255,0.7);
  --text-dim:   rgba(240,246,255,0.45);
  --text-dimmer:rgba(240,246,255,0.28);
  --glow-blue:  0 0 40px rgba(30,106,255,0.35), 0 0 80px rgba(30,106,255,0.15);
  --glow-cyan:  0 0 30px rgba(0,194,255,0.4), 0 0 60px rgba(0,194,255,0.15);
  --glow-teal:  0 0 30px rgba(0,212,170,0.35), 0 0 60px rgba(0,212,170,0.12);
  --shadow-card: 0 8px 40px rgba(0,0,0,0.5), 0 0 0 1px var(--glass-border);
  --w: 1180px;
  --r: 14px; --r-lg: 22px; --r-xl: 32px; --r-full: 9999px;
  --font: 'Manrope', system-ui, sans-serif;
  --ease: cubic-bezier(0.4,0,0.2,1);
  --spring: cubic-bezier(0.22,1,0.36,1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font); background: var(--ink); color: var(--text-bright); line-height: 1.65; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
::selection { background: rgba(0,194,255,0.3); color: white; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--ink); }
::-webkit-scrollbar-thumb { background: rgba(0,194,255,0.3); border-radius: 3px; }
.wrap { width: 100%; max-width: var(--w); margin: 0 auto; padding: 0 20px; }
h1 { font-size: clamp(2.1rem,5vw,3.8rem); font-weight: 900; letter-spacing: -0.02em; line-height: 1.1; }
h2 { font-size: clamp(1.5rem,3vw,2.2rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; }
h3 { font-size: 1.05rem; font-weight: 700; }
p { font-size: 1rem; line-height: 1.75; color: var(--text-mid); }
.grad-cyan { background: linear-gradient(135deg,#00c2ff,#00d4aa); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.grad-blue { background: linear-gradient(135deg,#60a5fa,#00c2ff); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.grad-yellow { background: linear-gradient(135deg,#f5c518,#ff9f00); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.pill {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  background: var(--glass-2); border: 1px solid var(--glass-border-2); color: var(--cyan);
  padding: 6px 16px; border-radius: var(--r-full); margin-bottom: 16px; backdrop-filter: blur(12px);
}
.pill .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); animation: blink 1.6s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1}50%{opacity:0.2} }
.btn {
  display: inline-flex; align-items: center; gap: 8px; font-family: var(--font);
  font-size: 0.9rem; font-weight: 700; padding: 13px 26px; border-radius: var(--r-full);
  border: none; cursor: pointer; transition: all 0.25s var(--ease); white-space: nowrap;
  text-decoration: none; position: relative; overflow: hidden;
}
.btn::after { content:''; position:absolute; inset:0; background:rgba(255,255,255,0.1); opacity:0; transition:opacity 0.2s; }
.btn:hover::after { opacity:1; }
.btn-cyan { background: linear-gradient(135deg,#00c2ff,#0090cc); color:#020817; box-shadow:var(--glow-cyan),inset 0 1px 0 rgba(255,255,255,0.3); }
.btn-cyan:hover { transform:translateY(-2px); box-shadow:0 0 50px rgba(0,194,255,0.6),0 0 100px rgba(0,194,255,0.25); }
.btn-glass { background:var(--glass-2); color:var(--text-bright); border:1px solid var(--glass-border); backdrop-filter:blur(12px); }
.btn-glass:hover { background:var(--glass-3); border-color:var(--glass-border-2); transform:translateY(-2px); }
.glow-line { height:1px; background:linear-gradient(90deg,transparent,rgba(0,194,255,0.5) 30%,rgba(0,212,170,0.5) 70%,transparent); }
#neuralCanvas { position:fixed; top:0; left:0; width:100%; height:100%; z-index:0; pointer-events:none; opacity:0.45; }
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.7s var(--spring),transform 0.7s var(--spring); }
.reveal.on { opacity:1; transform:none; }

/* ── Orbs ── */
.bg-orb { position:fixed; border-radius:50%; filter:blur(120px); pointer-events:none; z-index:0; animation:orb-drift 14s ease-in-out infinite alternate; }
.bg-orb-1 { width:550px; height:550px; background:rgba(30,106,255,0.07); top:-180px; left:-80px; }
.bg-orb-2 { width:480px; height:480px; background:rgba(0,212,170,0.05); bottom:15%; right:-120px; animation-delay:-5s; }
.bg-orb-3 { width:350px; height:350px; background:rgba(245,197,24,0.04); top:40%; left:40%; animation-delay:-9s; }
@keyframes orb-drift { from{transform:translate(0,0) scale(1)} to{transform:translate(24px,-18px) scale(1.04)} }

/* ── Nav ── */
.tos-nav { position:sticky; top:0; z-index:100; background:rgba(2,8,23,0.88); backdrop-filter:blur(24px); border-bottom:1px solid var(--glass-border); }
.tos-nav-inner { display:flex; align-items:center; justify-content:space-between; padding:16px 0; gap:16px; }
.tos-logo { display:flex; align-items:center; gap:10px; }
.tos-logo-mark {
  width:36px; height:36px; border-radius:10px;
  background:linear-gradient(135deg,#1e6aff,#00c2ff);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--glow-blue); position:relative; overflow:hidden;
}
.tos-logo-mark::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,0.2),transparent); }
.tos-logo-mark svg { width:20px; height:20px; fill:white; position:relative; z-index:1; }
.tos-logo-text { font-size:1.1rem; font-weight:800; letter-spacing:-0.01em; }
.tos-logo-text span { color:var(--cyan); }
.tos-nav-right { display:flex; align-items:center; gap:12px; }
.tos-badge { font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-dim); background:var(--glass-2); border:1px solid var(--glass-border); padding:4px 12px; border-radius:var(--r-full); }
.tos-date { font-size:0.78rem; color:var(--text-dim); }

/* ── Hero ── */
.tos-hero { position:relative; z-index:1; padding:90px 0 70px; text-align:center; overflow:hidden; }
.tos-hero::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:700px; height:500px;
  background:radial-gradient(ellipse at top, rgba(245,197,24,0.07) 0%, rgba(30,106,255,0.08) 40%, transparent 70%);
  pointer-events:none;
}
.tos-hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--glass-2); border:1px solid rgba(245,197,24,0.3);
  border-radius:var(--r-full); padding:8px 20px; margin-bottom:28px;
  font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--yellow); backdrop-filter:blur(12px);
}
.tos-hero h1 { margin-bottom:18px; }
.tos-hero-sub { max-width:560px; margin:0 auto 44px; font-size:1.05rem; color:var(--text-mid); line-height:1.7; }
.tos-hero-meta { display:flex; align-items:center; justify-content:center; gap:24px; flex-wrap:wrap; }
.tos-meta-chip {
  display:flex; align-items:center; gap:8px; padding:10px 20px;
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r); backdrop-filter:blur(12px);
  font-size:0.82rem; font-weight:600; color:var(--text-mid);
}
.tos-meta-chip .chip-dot { width:8px; height:8px; border-radius:50%; }
.chip-dot.yellow { background:var(--yellow); box-shadow:0 0 8px rgba(245,197,24,0.7); }
.chip-dot.cyan   { background:var(--cyan);   box-shadow:0 0 8px rgba(0,194,255,0.7); }
.chip-dot.teal   { background:var(--teal);   box-shadow:0 0 8px rgba(0,212,170,0.7); }
.chip-dot.red    { background:#ef4444;        box-shadow:0 0 8px rgba(239,68,68,0.7); }

/* ── TOC ── */
.tos-toc { position:relative; z-index:1; padding:0 0 56px; }
.tos-toc-box {
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-xl); backdrop-filter:blur(20px);
  padding:32px 36px; box-shadow:var(--shadow-card); margin-top:48px;
}
.tos-toc-label {
  font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--text-dim); margin-bottom:22px;
  display:flex; align-items:center; gap:10px;
}
.tos-toc-label::after { content:''; flex:1; height:1px; background:var(--glass-border); }
.tos-toc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
.tos-toc-item {
  display:flex; align-items:center; gap:10px; padding:10px 14px;
  border-radius:10px; border:1px solid transparent;
  color:var(--text-mid); font-size:0.85rem; font-weight:600;
  transition:all 0.2s var(--ease); cursor:pointer; text-decoration:none;
}
.tos-toc-item:hover { background:var(--glass-2); border-color:var(--glass-border); color:var(--text-bright); transform:translateX(4px); }
.tos-toc-num {
  min-width:24px; height:24px; border-radius:6px;
  background:var(--yellow-dim); border:1px solid rgba(245,197,24,0.2);
  display:flex; align-items:center; justify-content:center;
  font-size:0.65rem; font-weight:800; color:var(--yellow); letter-spacing:0; flex-shrink:0;
}

/* ── Emergency Banner ── */
.tos-emergency { position:relative; z-index:1; margin-bottom:36px; }
.tos-emergency-card {
  background:linear-gradient(135deg,rgba(239,68,68,0.12),rgba(239,68,68,0.06));
  border:1px solid rgba(239,68,68,0.35); border-radius:var(--r-xl);
  padding:28px 36px; display:flex; align-items:center; gap:24px;
  backdrop-filter:blur(20px); position:relative; overflow:hidden;
}
.tos-emergency-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(239,68,68,0.8),transparent);
}
.tos-emergency-icon { font-size:2.2rem; flex-shrink:0; animation:pulse-red 2s ease-in-out infinite; }
@keyframes pulse-red { 0%,100%{filter:drop-shadow(0 0 6px rgba(239,68,68,0.8))} 50%{filter:drop-shadow(0 0 14px rgba(239,68,68,0.4))} }
.tos-emergency-text h3 { font-size:1rem; font-weight:800; color:#f87171; margin-bottom:6px; letter-spacing:0.02em; text-transform:uppercase; }
.tos-emergency-text p { font-size:0.9rem; color:rgba(248,113,113,0.8); margin:0; }

/* ── Section Cards ── */
.tos-body { position:relative; z-index:1; padding-bottom:60px; }
.tos-section { margin-bottom:24px; }
.tos-card {
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-xl); backdrop-filter:blur(20px); box-shadow:var(--shadow-card);
  padding:32px 38px; transition:all 0.3s var(--ease); position:relative; overflow:hidden;
}
.tos-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,194,255,0.3),transparent);
  opacity:0; transition:opacity 0.3s;
}
.tos-card:hover { border-color:var(--glass-border-2); }
.tos-card:hover::before { opacity:1; }

/* Accent left stripe */
.tos-card[data-accent="yellow"] { border-left:3px solid rgba(245,197,24,0.5); }
.tos-card[data-accent="cyan"]   { border-left:3px solid rgba(0,194,255,0.5); }
.tos-card[data-accent="teal"]   { border-left:3px solid rgba(0,212,170,0.5); }
.tos-card[data-accent="blue"]   { border-left:3px solid rgba(30,106,255,0.5); }
.tos-card[data-accent="purple"] { border-left:3px solid rgba(124,58,237,0.5); }
.tos-card[data-accent="red"]    { border-left:3px solid rgba(239,68,68,0.5); border-radius:var(--r-xl); }

.tos-card-header { display:flex; align-items:flex-start; gap:18px; margin-bottom:20px; }
.tos-icon {
  min-width:46px; height:46px; border-radius:13px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; flex-shrink:0; position:relative;
}
.tos-icon.yellow { background:var(--yellow-dim); border:1px solid rgba(245,197,24,0.25); }
.tos-icon.cyan   { background:var(--cyan-dim);   border:1px solid rgba(0,194,255,0.25); }
.tos-icon.teal   { background:var(--teal-dim);   border:1px solid rgba(0,212,170,0.25); }
.tos-icon.blue   { background:rgba(30,106,255,0.1); border:1px solid rgba(30,106,255,0.25); }
.tos-icon.purple { background:var(--purple-dim); border:1px solid rgba(124,58,237,0.25); }
.tos-icon.red    { background:rgba(239,68,68,0.1);  border:1px solid rgba(239,68,68,0.25); }

.tos-section-num {
  position:absolute; top:-6px; right:-6px; width:18px; height:18px; border-radius:50%;
  background:var(--ink); border:1px solid var(--glass-border);
  font-size:0.6rem; font-weight:800; color:var(--text-dim);
  display:flex; align-items:center; justify-content:center;
}
.tos-card-title { font-size:1.1rem; font-weight:800; color:var(--text-bright); margin-bottom:3px; }
.tos-card-tag { font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-dim); }
.tos-card-body p { font-size:0.93rem; margin-bottom:10px; }
.tos-card-body p:last-child { margin-bottom:0; }

/* ── Highlight note ── */
.tos-note {
  display:flex; align-items:flex-start; gap:12px; margin-top:14px;
  padding:14px 16px; border-radius:12px; font-size:0.87rem;
}
.tos-note.warn { background:rgba(245,197,24,0.07); border:1px solid rgba(245,197,24,0.2); color:rgba(245,197,24,0.85); }
.tos-note.info { background:var(--cyan-dim); border:1px solid rgba(0,194,255,0.2); color:rgba(0,194,255,0.85); }
.tos-note.success { background:var(--teal-dim); border:1px solid rgba(0,212,170,0.2); color:rgba(0,212,170,0.85); }
.tos-note-icon { flex-shrink:0; font-size:1rem; }

/* ── List ── */
.tos-list { list-style:none; display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.tos-list li {
  display:flex; align-items:flex-start; gap:12px; font-size:0.91rem; color:var(--text-mid);
  padding:9px 14px; border-radius:10px;
  background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.04);
  transition:all 0.2s;
}
.tos-list li:hover { background:var(--glass-2); border-color:var(--glass-border); }
.tos-dot { min-width:6px; height:6px; border-radius:50%; margin-top:7px; flex-shrink:0; }
.tos-dot.cyan   { background:var(--cyan);   box-shadow:0 0 6px rgba(0,194,255,0.5); }
.tos-dot.teal   { background:var(--teal);   box-shadow:0 0 6px rgba(0,212,170,0.5); }
.tos-dot.yellow { background:var(--yellow); box-shadow:0 0 6px rgba(245,197,24,0.5); }
.tos-dot.red    { background:#ef4444;       box-shadow:0 0 6px rgba(239,68,68,0.5); }

/* ── Two col ── */
.tos-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.tos-col-box { background:rgba(255,255,255,0.02); border:1px solid var(--glass-border); border-radius:13px; padding:16px 18px; }
.tos-col-box-label { font-size:0.72rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-dim); margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.tos-col-box p { font-size:0.85rem; margin:0; }

/* ── Badge row ── */
.tos-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.tos-badge {
  display:inline-flex; align-items:center; gap:7px; padding:7px 14px;
  border-radius:var(--r-full); font-size:0.76rem; font-weight:700;
  border:1px solid; backdrop-filter:blur(8px);
}
.tos-badge.cyan   { background:var(--cyan-dim);   border-color:rgba(0,194,255,0.3);   color:var(--cyan); }
.tos-badge.teal   { background:var(--teal-dim);   border-color:rgba(0,212,170,0.3);   color:var(--teal); }
.tos-badge.yellow { background:var(--yellow-dim); border-color:rgba(245,197,24,0.3);  color:var(--yellow); }
.tos-badge.blue   { background:rgba(30,106,255,0.1); border-color:rgba(30,106,255,0.3); color:#60a5fa; }
.tos-badge.red    { background:rgba(239,68,68,0.1); border-color:rgba(239,68,68,0.3); color:#f87171; }

/* ── Acknowledgement strip ── */
.tos-ack { position:relative; z-index:1; margin-bottom:48px; }
.tos-ack-card {
  background:linear-gradient(135deg,rgba(30,106,255,0.09),rgba(0,194,255,0.06),rgba(0,212,170,0.07));
  border:1px solid rgba(0,194,255,0.2); border-radius:var(--r-xl);
  padding:48px 56px; text-align:center; backdrop-filter:blur(20px);
  box-shadow:var(--shadow-card); position:relative; overflow:hidden;
}
.tos-ack-card::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:500px; height:200px;
  background:radial-gradient(ellipse,rgba(0,194,255,0.12) 0%,transparent 70%);
}
.tos-ack-icon { font-size:2.8rem; margin-bottom:18px; display:block; }
.tos-ack-card h2 { margin-bottom:14px; }
.tos-ack-card p { max-width:540px; margin:0 auto 28px; font-size:1rem; }
.tos-ack-checks { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.tos-ack-check {
  display:flex; align-items:center; gap:8px; padding:10px 18px;
  background:rgba(255,255,255,0.04); border:1px solid var(--glass-border);
  border-radius:var(--r-full); font-size:0.82rem; font-weight:700; color:var(--text-mid);
}

/* ── Contact ── */
.tos-contact { position:relative; z-index:1; padding-bottom:90px; }
.tos-contact-card { background:var(--glass); border:1px solid var(--glass-border); border-radius:var(--r-xl); backdrop-filter:blur(20px); box-shadow:var(--shadow-card); overflow:hidden; }
.tos-contact-grid { display:grid; grid-template-columns:1fr 1fr; }
.tos-contact-left { padding:46px; border-right:1px solid var(--glass-border); }
.tos-contact-right { padding:46px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.tos-contact-item { display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.05); }
.tos-contact-item:last-child { border-bottom:none; }
.tos-contact-ico { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.tos-contact-ico.cyan { background:var(--cyan-dim); border:1px solid rgba(0,194,255,0.2); }
.tos-contact-ico.teal { background:var(--teal-dim); border:1px solid rgba(0,212,170,0.2); }
.tos-contact-lbl { font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-dim); margin-bottom:4px; }
.tos-contact-val { font-size:0.93rem; font-weight:700; color:var(--text-bright); }
.tos-contact-cta-title { font-size:1.2rem; font-weight:800; margin-bottom:8px; }
.tos-contact-cta p { font-size:0.9rem; margin-bottom:24px; }

/* ── Footer ── */
.tos-footer { position:relative; z-index:1; border-top:1px solid var(--glass-border); padding:26px 0; }
.tos-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.tos-footer-inner p { font-size:0.8rem; color:var(--text-dim); margin:0; }
.tos-footer-links { display:flex; gap:18px; }
.tos-footer-links a { font-size:0.8rem; color:var(--text-dim); transition:color 0.2s; }
.tos-footer-links a:hover { color:var(--cyan); }

/* ── Responsive ── */
@media (max-width:900px) {
  .tos-contact-grid { grid-template-columns:1fr; }
  .tos-contact-left { border-right:none; border-bottom:1px solid var(--glass-border); }
  .tos-ack-card { padding:36px 28px; }
  .tos-card { padding:26px 22px; }
}
@media (max-width:768px) {
  .tos-two { grid-template-columns:1fr; }
  .tos-toc-grid { grid-template-columns:1fr 1fr; }
  .tos-hero { padding:60px 0 48px; }
  .tos-nav-right .tos-date { display:none; }
  .tos-contact-left, .tos-contact-right { padding:28px 24px; }
  .tos-emergency-card { flex-direction:column; gap:14px; padding:22px 24px; }
}
@media (max-width:540px) {
  .tos-toc-grid { grid-template-columns:1fr; }
  .tos-hero-meta { flex-direction:column; gap:10px; }
  .tos-ack-checks { flex-direction:column; align-items:center; }
  .tos-footer-inner { flex-direction:column; text-align:center; }
  .tos-badges { flex-direction:column; }
}
