@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700;800&family=Bebas+Neue&display=swap');

/* ── RESET & BASE ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--bg);color:var(--text);font-family:'JetBrains Mono',monospace;overflow-x:hidden;cursor:none;}
a{text-decoration:none;color:inherit;}
button{background:none;border:none;cursor:none;font-family:inherit;color:inherit;}

/* ── SCANLINES (moving downward — v2 style) ── */
#sl{position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.10) 2px,rgba(0,0,0,0.10) 4px);pointer-events:none;z-index:9000;animation:scanline-drift 8s linear infinite;}
@keyframes scanline-drift{0%{background-position:0 0}100%{background-position:0 100px}}

/* ── NEURAL CANVAS — hidden (animation preserved in js/the-floating-animation.js) ── */
#nc{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0;display:none;}

/* ── WORMHOLE SINGULARITY CANVAS ── */
#wh-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9500;display:none;opacity:0;}

/* ── NOISE TEXTURE (disabled for pitch black) ── */
body::after{content:'';position:fixed;inset:0;opacity:0;background:transparent;pointer-events:none;z-index:8999;display:none;}

/* ── MAIN WRAPPER ── */
#main{opacity:0;transition:opacity 1s;position:relative;z-index:2;}
#main.v{opacity:1;}

/* ── SCROLL REVEAL (disabled — always visible) ── */
.rv,.rv-l,.rv-r{opacity:1;transform:none;}

/* ── SHARED SECTION TYPOGRAPHY ── */
.s-ey{font-size:9px;letter-spacing:5px;color:var(--acid);display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.s-ey::before{content:'::';color:rgba(255,255,255,0.55);}
.s-h{font-family:'Bebas Neue',monospace;font-size:clamp(48px,7vw,96px);line-height:.93;letter-spacing:2px;margin-bottom:12px;}
.s-h em{color:var(--acid);font-style:normal;}
.s-p{font-size:12px;color:rgba(255,255,255,0.82);max-width:540px;line-height:2;font-weight:300;margin-bottom:52px;}

/* LIGHT MODE — section typography */
body.light-mode .s-ey{color:var(--acid);}
body.light-mode .s-ey::before{color:rgba(0,0,0,0.35);}
body.light-mode .s-h{color:#0a0a0a;}
body.light-mode .s-p{color:rgba(0,0,0,0.65);}
body.light-mode body::after{opacity:0;}
body.light-mode nav.s{background:rgba(255,255,255,0.97);border-bottom-color:rgba(0,0,0,0.08);}
body.light-mode .n-lnk{color:rgba(0,0,0,0.65);}
body.light-mode .n-lnk:hover{color:#0a0a0a;}
body.light-mode .n-lnk::after{background:var(--acid);}
body.light-mode .n-cta{border-color:rgba(255,107,0,0.5);color:var(--acid);}
body.light-mode .n-cta:hover{color:#fff;box-shadow:0 0 20px rgba(255,107,0,0.3);}
/* Blue mode structural overrides */
body.blue-mode nav.s{background:rgba(0, 0, 0, 0.97);border-bottom-color:rgba(0, 0, 0, 0.1);}
body.blue-mode .s-ey::before{color:rgba(218,238,255,0.45);}
body.blue-mode .s-p{color:rgba(218,238,255,0.7);}
/* touch device list — update to include .ms-btn */
body.light-mode .ss-txt{color:rgba(255,107,0,0.7);}
body.light-mode .ss-dot{background:var(--acid);box-shadow:0 0 8px var(--acid);}

@keyframes fr{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* ── TOUCH DEVICES — ensure all tappable elements respond reliably ── */
@media(pointer:coarse){
  a,button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .hbtn,.n-cta,.ms-btn,.nav-portal,.nav-ham,.nm-lnk,.nm-btn-p,.nm-btn-s,.nm-x,.t-send,.fq-q,.svm-btn,.ps-btn,.dp-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
}
