:root {
  --bg: #050a0e;
  --surface: #0d1b2a;
  --accent: #00f5d4;
  --accent2: #f72585;
  --accent3: #ffd60a;
  --text: #e0f2f1;
  --muted: #546e7a;
  --border: rgba(0,245,212,0.15);
  --border2: rgba(255,255,255,0.06);
}
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--text); font-family:'DM Sans',sans-serif; overflow:hidden; height:100vh; width:100vw; }
.grid-bg { position:fixed; inset:0; background-image:linear-gradient(rgba(0,245,212,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,245,212,0.025) 1px,transparent 1px); background-size:60px 60px; pointer-events:none; z-index:0; }
.scanlines { position:fixed; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.025) 2px,rgba(0,0,0,0.025) 4px); pointer-events:none; z-index:1; }
.progress { position:fixed; top:0; left:0; height:2px; background:linear-gradient(90deg,var(--accent),var(--accent2)); z-index:100; transition:width .5s cubic-bezier(.4,0,.2,1); }

/* SLIDES */
.slides { position:relative; width:100%; height:100vh; z-index:2; }
.slide { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:52px 80px 90px; opacity:0; transform:translateY(28px); pointer-events:none; transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.4,0,.2,1); text-align:center; }
.slide.active { opacity:1; transform:translateY(0); pointer-events:all; }
.slide.exit   { opacity:0; transform:translateY(-28px); pointer-events:none; }
.slide.left   { align-items:flex-start; text-align:left; }
.slide.scrollable { overflow-y:auto; justify-content:flex-start; padding-top:58px; }

/* BOTTOM BAR */
.bottom-bar { position:fixed; bottom:0; left:0; right:0; height:62px; background:rgba(5,10,14,0.94); border-top:1px solid var(--border2); backdrop-filter:blur(14px); display:flex; align-items:center; justify-content:space-between; padding:0 28px; z-index:50; }
.slide-counter { font-family:'Space Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:2px; min-width:60px; }
.nav-dots { display:flex; gap:7px; align-items:center; }
.dot { width:6px; height:6px; border-radius:50%; background:var(--muted); cursor:pointer; transition:all .3s; border:none; padding:0; }
.dot.active { background:var(--accent); transform:scale(1.5); }
.nav-buttons { display:flex; gap:8px; }
.nav-btn { height:36px; min-width:82px; border-radius:6px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:1px; cursor:pointer; transition:all .25s; display:flex; align-items:center; justify-content:center; gap:5px; border:1px solid var(--border); background:transparent; color:var(--text); }
.nav-btn:hover:not(:disabled) { border-color:var(--accent); color:var(--accent); background:rgba(0,245,212,0.06); }
.nav-btn:disabled { opacity:.3; cursor:default; }
.nav-btn.primary { background:rgba(0,245,212,0.1); border-color:var(--accent); color:var(--accent); }
.nav-btn.primary:hover:not(:disabled) { background:rgba(0,245,212,0.18); }

/* TYPOGRAPHY */
.eyebrow { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--accent2); margin-bottom:16px; }
.big-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(58px,9vw,108px); line-height:.9; letter-spacing:2px; background:linear-gradient(135deg,#fff 0%,var(--accent) 55%,var(--accent2) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.section-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(36px,5.5vw,68px); letter-spacing:2px; line-height:1; color:#fff; margin-bottom:20px; }
.section-label { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
.divider { width:52px; height:2px; background:var(--accent); margin:20px 0; flex-shrink:0; }

/* S1 TITLE */
#s1 { background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(0,245,212,0.055) 0%,transparent 70%); }
.s1-sub { font-size:15px; font-weight:300; color:var(--muted); letter-spacing:1px; margin-bottom:26px; }
.tag-row { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.tag { padding:4px 13px; border:1px solid var(--border); border-radius:100px; font-size:10px; font-family:'Space Mono',monospace; color:var(--accent); letter-spacing:1px; }
.eye-deco { position:absolute; right:9%; top:50%; transform:translateY(-50%); font-size:200px; opacity:.055; user-select:none; animation:pulse 5s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:.055} 50%{opacity:.1} }

/* S2 DEFINITION */
#s2 { background:radial-gradient(ellipse 60% 50% at 15% 80%,rgba(247,37,133,0.045) 0%,transparent 60%); }
.def-box { border-left:3px solid var(--accent); padding:16px 22px; background:rgba(0,245,212,0.035); border-radius:0 8px 8px 0; max-width:680px; margin-bottom:24px; }
.def-box p { font-size:17px; line-height:1.7; color:var(--text); font-weight:300; }
.pillars { display:flex; gap:12px; flex-wrap:wrap; max-width:680px; }
.pillar { flex:1; min-width:130px; padding:14px 16px; background:var(--surface); border:1px solid var(--border); border-radius:10px; }
.pillar-icon { font-size:20px; margin-bottom:6px; }
.pillar-name { font-family:'Space Mono',monospace; font-size:10px; color:var(--accent); letter-spacing:1px; text-transform:uppercase; }
.pillar-desc { font-size:12px; color:var(--muted); margin-top:3px; line-height:1.5; }

/* S3 STATS */
#s3 { background:radial-gradient(ellipse 70% 50% at 85% 20%,rgba(255,214,10,0.04) 0%,transparent 60%); }
.stat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; max-width:720px; width:100%; margin-top:18px; }
.stat-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:20px 24px; position:relative; overflow:hidden; }
.stat-card::before { content:''; position:absolute; top:0;left:0;right:0; height:2px; background:linear-gradient(90deg,var(--accent),transparent); }
.stat-card:nth-child(2)::before{background:linear-gradient(90deg,var(--accent2),transparent)} .stat-card:nth-child(3)::before{background:linear-gradient(90deg,var(--accent3),transparent)} .stat-card:nth-child(4)::before{background:linear-gradient(90deg,#a855f7,transparent)}
.stat-number { font-family:'Bebas Neue',sans-serif; font-size:44px; color:var(--accent); line-height:1; }
.stat-card:nth-child(2) .stat-number{color:var(--accent2)} .stat-card:nth-child(3) .stat-number{color:var(--accent3)} .stat-card:nth-child(4) .stat-number{color:#a855f7}
.stat-label { font-size:12px; color:var(--muted); margin-top:4px; line-height:1.5; }

/* S4 THREATS */
#s4 { background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(247,37,133,0.035) 0%,transparent 70%); }
.threat-list { display:flex; flex-direction:column; gap:9px; max-width:720px; margin-top:16px; }
.threat-item { display:flex; align-items:flex-start; gap:14px; padding:13px 17px; background:var(--surface); border:1px solid var(--border); border-radius:10px; transition:border-color .3s; }
.threat-item:hover { border-color:var(--accent2); }
.threat-badge { font-family:'Space Mono',monospace; font-size:9px; letter-spacing:1px; padding:3px 7px; border-radius:4px; background:rgba(247,37,133,0.13); color:var(--accent2); white-space:nowrap; flex-shrink:0; margin-top:1px; }
.threat-text strong { display:block; font-size:13px; color:var(--text); margin-bottom:2px; }
.threat-text span { font-size:11.5px; color:var(--muted); line-height:1.5; }

/* S5 METADATA */
#s5 { background:radial-gradient(ellipse 70% 50% at 20% 30%,rgba(168,85,247,0.05) 0%,transparent 60%); }
.meta-intro { max-width:680px; margin-bottom:20px; }
.meta-intro p { font-size:14.5px; line-height:1.7; color:var(--muted); font-weight:300; }
.meta-intro strong { color:var(--text); }
.meta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; max-width:720px; width:100%; }
.meta-card { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:15px 17px; }
.meta-card-icon { font-size:24px; margin-bottom:7px; display: flex; align-items: center; justify-content: flex-start; }
.meta-card-title { font-family:'Space Mono',monospace; font-size:10px; color:var(--accent); letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }
.meta-card-body { font-size:11.5px; color:var(--muted); line-height:1.6; }
.meta-example { display:inline-block; margin-top:5px; font-family:'Space Mono',monospace; font-size:9.5px; padding:2px 7px; background:rgba(0,245,212,0.08); border-radius:4px; color:var(--accent); }

/* S6 REAL WORLD CASES */
#s6 { background:radial-gradient(ellipse 65% 55% at 80% 25%,rgba(255,214,10,0.04) 0%,transparent 60%); }
.cases-wrapper { width:100%; max-width:760px; margin-top:16px; display:flex; flex-direction:column; gap:9px; }
.case-item { background:var(--surface); border:1px solid var(--border); border-radius:12px; overflow:hidden; transition:border-color .3s; }
.case-item:hover { border-color:rgba(0,245,212,0.28); }
.case-header { display:flex; align-items:center; gap:14px; padding:14px 18px; cursor:pointer; user-select:none; }
.case-company { font-family:'Bebas Neue',sans-serif; font-size:19px; color:var(--accent); letter-spacing:1px; flex-shrink:0; width:96px; }
.case-summary { flex:1; }
.case-summary strong { display:block; font-size:13px; color:var(--text); margin-bottom:2px; }
.case-summary span { font-size:11px; color:var(--muted); }
.case-chevron { font-size:12px; color:var(--muted); transition:transform .3s; flex-shrink:0; display: flex; align-items: center; }
.case-item.open .case-chevron { transform:rotate(180deg); color:var(--accent); }
.case-body { max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(.4,0,.2,1), padding .3s; padding:0 18px 0 128px; font-size:12.5px; color:var(--muted); line-height:1.75; border-top:0px solid var(--border2); }
.case-item.open .case-body { max-height:450px; padding:0 18px 16px 128px; border-top:1px solid var(--border2); padding-top:12px; }
.case-source { display:inline-flex; align-items:center; gap:6px; margin-top:9px; font-family:'Space Mono',monospace; font-size:9.5px; color:var(--accent2); letter-spacing:1px; text-decoration:none; }
.case-source:hover { text-decoration:underline; }

/* S7 LAWS */
#s7 { background:radial-gradient(ellipse 70% 50% at 30% 30%,rgba(0,245,212,0.05) 0%,transparent 60%); }
.law-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; max-width:720px; margin-top:18px; }
.law-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:16px; }
.law-flag { font-size:24px; margin-bottom:7px; display: flex; align-items: center; }
.law-name { font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:1px; color:var(--accent); margin-bottom:2px; }
.law-country { font-family:'Space Mono',monospace; font-size:9px; color:var(--muted); letter-spacing:2px; text-transform:uppercase; margin-bottom:7px; }
.law-desc { font-size:11.5px; color:var(--muted); line-height:1.6; }

/* S8 PROTECT */
#s8 { background:radial-gradient(ellipse 70% 50% at 60% 70%,rgba(168,85,247,0.05) 0%,transparent 60%); }
.protect-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; max-width:720px; margin-top:16px; }
.protect-card { padding:14px 18px; background:var(--surface); border:1px solid var(--border); border-radius:10px; display:flex; gap:12px; align-items:flex-start; }
.protect-num { font-family:'Bebas Neue',sans-serif; font-size:28px; color:var(--accent); line-height:1; flex-shrink:0; }
.protect-content strong { display:block; font-size:13px; color:var(--text); margin-bottom:2px; }
.protect-content span { font-size:11.5px; color:var(--muted); line-height:1.5; }

/* S9 CLOSING */
#s9 { background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(0,245,212,0.06) 0%,transparent 70%); }
.closing-quote { font-family:'Bebas Neue',sans-serif; font-size:clamp(32px,4.6vw,62px); line-height:1.05; letter-spacing:1px; max-width:760px; background:linear-gradient(135deg,#fff 0%,var(--accent) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:26px; }
.closing-sub { font-size:15px; color:var(--muted); max-width:460px; line-height:1.75; font-weight:300; }

/* scrollbar */
::-webkit-scrollbar { width:3px; } ::-webkit-scrollbar-track { background:transparent; } ::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }

/* Icon sizes */
svg { width: 1em; height: 1em; }
.pillar-icon svg { width: 20px; height: 20px; color: var(--accent); }
.meta-card-icon svg { width: 24px; height: 24px; color: var(--accent); }
.eye-deco svg { width: 200px; height: 200px; fill: var(--accent); }
.law-flag svg { width: 32px; height: 24px; border-radius: 2px; }
.case-chevron svg { width: 14px; height: 14px; }
.case-source svg { width: 12px; height: 12px; }
.nav-btn svg { width: 14px; height: 14px; }
