/* BVT EVENTS website: the bitvault.club look (matrix rain, gold neon, glass, slanted buttons, HUD).
   Fonts are self-hosted: Poppins + JetBrains Mono, SIL Open Font License 1.1 (@fontsource). */
@font-face{font-family:Poppins;font-weight:300;font-display:swap;src:url(/site/fonts/poppins-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(/m/fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(/m/fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(/m/fonts/poppins-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:800;font-display:swap;src:url(/site/fonts/poppins-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:800;font-style:italic;font-display:swap;src:url(/site/fonts/poppins-latin-800-italic.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:900;font-display:swap;src:url(/m/fonts/poppins-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-display:swap;src:url(/m/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:700;font-display:swap;src:url(/m/fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:800;font-display:swap;src:url(/m/fonts/jetbrains-mono-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans Devanagari";font-weight:400;font-display:swap;src:url(/m/fonts/noto-sans-devanagari-devanagari-400-normal.woff2) format("woff2")}

:root{
  --bg:#0F0F12; --bg2:#16161B; --bg3:#1E1E25; --glass:rgba(28,28,33,.4);
  --gold:#F5C15C; --gold-d:#D4A017; --cyan:#00D4FF; --mag:#FF00FF; --green:#22C55E; --green-d:#16A34A; --purple:#8B5CF6; --lav:#C4B5FD; --red:#EF4444; --blue:#3B82F6;
  --white:#FFFFFF; --txt:#D1D5DB; --mute:#9CA3AF;
  --line:rgba(245,193,92,.2); --line2:rgba(245,193,92,.35);
  --sans:Poppins,"Noto Sans Devanagari",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
  --cut:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  --slant:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;max-width:100vw;scroll-padding-top:150px}
body{margin:0;background:var(--bg);color:var(--white);font:400 16px/1.6 var(--sans);overflow-x:hidden;max-width:100vw;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
img{height:auto}
a{color:var(--gold)}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--gold);color:var(--bg)}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--gold);color:var(--bg);padding:8px 14px;font:700 13px var(--mono)}
.skip:focus{left:8px}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:900px}

/* ── background layers (made by site.js): matrix rain, particle network, scan lines, flying labels ── */
.fx-matrix,.fx-net{position:fixed;inset:0;pointer-events:none;width:100%;height:100%}
.fx-matrix{z-index:0;opacity:.4}
.fx-net{z-index:1}
.fx-scan{position:fixed;inset:0;pointer-events:none;z-index:3;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(245,193,92,.015) 3px,rgba(245,193,92,.015) 4px)}
.fx-labels{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.fl{position:absolute;left:0;font:10px var(--mono);color:var(--gold);background:rgba(15,15,18,.6);border:1px solid rgba(245,193,92,.3);padding:2px 8px;white-space:nowrap;opacity:0;animation:fly linear forwards}
@keyframes fly{0%{transform:translateX(-220px);opacity:0}10%{opacity:.5}85%{opacity:.5}100%{transform:translateX(calc(100vw + 220px));opacity:0}}
header,main,footer{position:relative;z-index:4}

/* ── HUD corners and the two live panels (desktop) ── */
.hud{position:fixed;top:132px;z-index:100;pointer-events:none;font:10px/1.8 var(--mono);color:var(--mute)}
.hud.l{left:20px}
.hud.r{right:20px;text-align:right}
.hud .y{color:var(--gold)} .hud .g{color:var(--green)} .hud .c{color:var(--cyan)}
.panel{position:fixed;bottom:20px;z-index:100;background:rgba(15,15,18,.85);border:1px solid rgba(245,193,92,.4);padding:12px;font-family:var(--mono);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.panel.live{left:20px;min-width:190px;pointer-events:none}
.panel.ai{right:20px;width:320px}
.panel-h{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--gold);letter-spacing:.15em;margin-bottom:8px}
.panel-h .x{margin-left:auto;background:none;border:0;color:var(--mute);font:700 14px var(--mono);cursor:pointer;padding:0 4px;line-height:1}
.panel.ai.min .ai-txt{display:none}
.panel.ai.min{width:auto}
.ping{display:flex;align-items:center;gap:6px;font-size:10px;margin-bottom:4px;color:var(--txt)}
.ping i{width:20px;height:20px;display:grid;place-items:center;border:1px solid rgba(245,193,92,.5);background:rgba(245,193,92,.05);color:var(--gold);font-style:normal;font-size:9px}
.ping.ok i{border-color:var(--green);background:rgba(34,197,94,.1);color:var(--green)}
.ping.bad i{border-color:var(--red);color:var(--red)}
.ping .ms{margin-left:auto;color:var(--mute)}
.panel-f{border-top:1px solid rgba(245,193,92,.2);margin-top:8px;padding-top:6px;font-size:9px;color:var(--mute);display:flex;justify-content:space-between;gap:10px}
.panel-f b{color:var(--green);font-weight:400}
.ai-txt{font-size:11px;line-height:1.6;color:var(--txt);min-height:72px}
.ai-txt::after{content:"_";color:var(--gold);animation:blink 1s infinite}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:blink 1s infinite;flex:none}

/* ── header ── */
.top{position:sticky;top:0;z-index:50;background:rgba(15,15,18,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.top-in{max-width:1400px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--white)}
.brand img{width:40px;height:40px;filter:drop-shadow(0 0 10px rgba(245,193,92,.6));animation:spinY 4s linear infinite}
.brand span{font-size:22px;font-weight:700;letter-spacing:.05em;white-space:nowrap}
.brand b{color:var(--gold);font-weight:700;text-shadow:0 0 10px rgba(245,193,92,.6)}
.links{display:flex;align-items:center;gap:18px;margin-left:auto;margin-right:6px}
.links a{color:var(--txt);text-decoration:none;font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:color .2s,text-shadow .2s}
.links a:hover{color:var(--gold);text-shadow:0 0 10px rgba(245,193,92,.6)}
.top-act{display:flex;gap:10px}
.btn.nav-btn{padding:9px 18px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
.tick{font:11px var(--mono);letter-spacing:.12em;text-align:center;padding:6px 16px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tick-green{background:rgba(34,197,94,.07);border-top:1px solid rgba(34,197,94,.35);color:var(--txt)}
.tick-green .dot{margin-right:10px;vertical-align:1px}
.tick-green a{color:var(--green);text-decoration:none;font-weight:700}
.tick-gold{background:rgba(245,193,92,.12);border-top:1px solid rgba(245,193,92,.35);color:var(--gold)}

/* ── buttons: slanted, mono, neon ── */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;font:800 12px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;border:0;clip-path:var(--slant);transition:transform .2s ease,filter .2s ease;overflow:hidden}
.btn:hover{transform:scale(1.06);filter:brightness(1.15)}
.btn:active{transform:scale(.95)}
.btn span{display:inline-flex;align-items:center;gap:8px}
.btn .os{width:1.05em;height:1.05em;fill:currentColor;flex:none}
.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--bg)}
.btn.gold::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-100%);animation:shimmer 3s ease-in-out infinite}
.btn.green{background:linear-gradient(135deg,var(--green),var(--green-d));color:var(--bg)}
.btn.cyan{background:rgba(0,212,255,.08);color:var(--cyan);box-shadow:inset 0 0 0 1px rgba(0,212,255,.5)}
.btn.dark,.btn.ghost{background:rgba(255,255,255,.04);color:var(--white);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.btn.purple{background:rgba(139,92,246,.1);color:var(--lav);box-shadow:inset 0 0 0 1px rgba(139,92,246,.55)}
.btn:disabled{opacity:.6;cursor:wait}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.cta-row.center{justify-content:center}

/* ── hero ── */
.hero{position:relative;min-height:calc(100vh - 118px);display:flex;align-items:center;justify-content:center;padding:56px 16px 56px;overflow:hidden;text-align:center}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--hx,50%) var(--hy,40%),rgba(245,193,92,.13) 0%,transparent 45%);pointer-events:none;z-index:1}
.hero-grid{position:absolute;bottom:0;left:0;right:0;height:60vh;perspective:500px;z-index:1;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(to top,#000 30%,transparent);mask-image:linear-gradient(to top,#000 30%,transparent)}
.hero-grid::before{content:"";position:absolute;bottom:0;left:-50%;right:-50%;height:100%;background-image:linear-gradient(rgba(245,193,92,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(245,193,92,.3) 1px,transparent 1px);background-size:60px 60px;transform:rotateX(75deg);transform-origin:center bottom;animation:gridMove 20s linear infinite}
.hero-logo{position:absolute;width:170px;height:170px;opacity:.4;z-index:2;pointer-events:none;animation:float 4s ease-in-out infinite}
.hero-logo.l1{top:16%;left:4%}
.hero-logo.l2{bottom:24%;right:4%;animation-delay:1.5s}
.hero-logo img{position:relative;width:100%;height:100%;filter:drop-shadow(0 0 24px rgba(245,193,92,.45))}
.hero-logo .ring{position:absolute;inset:-20px;border:1px dashed rgba(245,193,92,.3);border-radius:50%;animation:spin 8s linear infinite}
.hero-logo .pulse{position:absolute;inset:0;border:2px solid rgba(245,193,92,.4);border-radius:50%;opacity:0;animation:pulseRing 3s ease-out infinite}
.hero-logo .p2{animation-delay:1s} .hero-logo .p3{animation-delay:2s}
.hero-in{position:relative;z-index:5;max-width:1200px}
.label{font:12px var(--mono);color:var(--gold);letter-spacing:.3em;text-transform:uppercase;margin-bottom:24px}
.sec .label{font-size:11px;letter-spacing:.2em;margin-bottom:16px}
.power{animation:powerOn .8s ease-out}
.hero h1{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:28px}
.h-brand{display:block;isolation:isolate;font-size:clamp(44px,9vw,110px);font-weight:900;line-height:1;letter-spacing:-.02em;color:var(--white)}
.h-kicker{display:block;margin-top:14px;font:700 clamp(13px,2vw,22px) var(--mono);color:var(--gold);letter-spacing:.3em;text-transform:uppercase}
.h-line{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px;font-size:clamp(20px,2.7vw,38px);font-weight:300;color:#E5E7EB;letter-spacing:.02em;line-height:1.2}
.dia{flex:none;width:clamp(16px,2vw,26px);height:clamp(16px,2vw,26px);background:var(--gold);transform:rotate(45deg);box-shadow:0 0 18px rgba(245,193,92,.7)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:30px}
.chips li{font:700 12px var(--mono);letter-spacing:.1em;color:var(--gold);border:1px solid rgba(245,193,92,.5);background:rgba(15,15,18,.6);padding:8px 16px}
.quote{font-size:clamp(18px,2.6vw,26px);font-weight:800;font-style:italic;color:var(--gold);text-shadow:0 0 18px rgba(245,193,92,.35);margin-bottom:22px}
.hero-lead{max-width:780px;margin:0 auto;font-size:clamp(16px,1.6vw,19px);color:var(--txt);line-height:1.6}
.hero-lead b{color:var(--green);font-weight:700}
.fine{margin-top:22px;font:11px var(--mono);color:var(--mute);letter-spacing:.15em;text-transform:uppercase}
.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:8px;margin-top:30px;color:var(--gold);text-decoration:none;font:600 11px var(--mono);letter-spacing:.3em;animation:bob 1.5s ease-in-out infinite}

/* ── neon, glitch and iridescent text (from bitvault.club) ── */
.neon-glow{animation:neonPulse 2s ease-in-out infinite}
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}
.glitch::before{color:#00FFFF;animation:glitch1 3s infinite linear alternate-reverse;z-index:-1}
.glitch::after{color:#FF00FF;animation:glitch2 3s infinite linear alternate-reverse;z-index:-2}
.glitch.white{color:var(--white);isolation:isolate}
.iri{background:linear-gradient(90deg,var(--gold) 0%,var(--cyan) 25%,var(--mag) 50%,var(--green) 75%,var(--gold) 100%);background-size:300% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:iri 4s linear infinite}

/* ── sections ── */
.sec{position:relative;padding:84px 0}
.sec-head{text-align:center;margin-bottom:56px}
.sec h2{font-size:clamp(34px,6vw,72px);font-weight:800;line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:16px}
.sub{font-size:18px;color:var(--mute);max-width:780px;margin:0 auto;line-height:1.6}
.split-text .sub{margin:0}

/* glass cards with cut corners and a mouse-follow highlight */
.glass-card{background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line)}
.cut{clip-path:var(--cut)}
.tilt{position:relative;overflow:hidden;transition:transform .2s ease-out,border-color .2s;transform-style:preserve-3d}
.tilt::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(245,193,92,.2) 0%,transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.tilt:hover{border-color:rgba(245,193,92,.45)}
.tilt:hover::after{opacity:1}
.cards{display:grid;gap:20px}
.cards.five{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards>*{padding:24px;display:flex;flex-direction:column;align-items:flex-start}
.tag{position:absolute;top:16px;right:16px;padding:4px 12px;font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.tag.gold{background:rgba(245,193,92,.15);color:var(--gold);border:1px solid rgba(245,193,92,.5)}
.tag.green{background:rgba(34,197,94,.2);color:var(--green);border:1px solid rgba(34,197,94,.5)}
.ico{font-size:40px;line-height:1;margin-bottom:16px;filter:drop-shadow(0 0 10px rgba(245,193,92,.4))}
.cat{font:10px var(--mono);color:var(--gold);letter-spacing:.15em;margin-bottom:8px}
.cards h3{font-size:21px;font-weight:700;color:var(--white);margin-bottom:10px;line-height:1.25}
.cards p:not(.cat){font-size:13.5px;color:var(--mute);line-height:1.55;margin-bottom:16px}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(245,193,92,.2);width:100%}
.pill{font:700 10px var(--mono);padding:3px 8px;text-transform:uppercase}
.pill.gold{background:rgba(245,193,92,.15);color:var(--gold);border:1px solid rgba(245,193,92,.3)}
.pill.green{background:rgba(34,197,94,.15);color:var(--green);border:1px solid rgba(34,197,94,.3)}
.pill.blue{background:rgba(59,130,246,.15);color:var(--blue);border:1px solid rgba(59,130,246,.3)}
.cards .btn{margin-top:auto}

/* HUD corner brackets */
.corners{position:relative}
.corners>.c{position:absolute;width:24px;height:24px;border:0 solid var(--gold);z-index:3;pointer-events:none}
.c.tl{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}
.c.tr{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}
.c.bl{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}
.c.br{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}

/* ── the arrivals board ── */
.board-frame{background:rgba(15,15,18,.85);border:1px solid var(--line2);box-shadow:0 0 50px rgba(245,193,92,.08)}
.board{font:.9rem var(--mono);overflow:hidden}
.board-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line2);background:linear-gradient(90deg,rgba(245,193,92,.12),transparent 60%)}
.board-title{display:inline-flex;align-items:center;gap:12px;font:800 1.6rem/1 var(--mono);color:var(--gold);text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 14px rgba(245,193,92,.55)}
.board-day{display:flex;gap:1.5rem;color:var(--mute);font-size:.82rem;letter-spacing:.12em}
.row{display:grid;grid-template-columns:4.2rem 4.8rem 6.6rem minmax(8.5rem,1fr) 2.2rem 8.2rem 8.2rem 5.4rem;gap:.8rem;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid rgba(245,193,92,.1)}
.row:last-child{border-bottom:0}
.row:not(.cols):hover{background:rgba(245,193,92,.04)}
.row.cols{color:var(--mute);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding-block:.55rem}
.row span{justify-self:start;max-width:100%;padding-inline:.45rem}
.row:not(.cols) span{display:inline-block;background:var(--bg3);padding:.18rem .45rem;box-shadow:inset 0 -1px 0 rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.03);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-time{color:var(--gold);font-weight:700}
.c-guest{color:var(--white);font-weight:700}
.c-st.ok{color:var(--green);text-shadow:0 0 10px rgba(34,197,94,.5)}
.c-st.late,.c-room.no{color:#F87171;text-shadow:0 0 10px rgba(248,113,113,.5)}
.board-note{color:var(--mute);font-size:14px;margin:18px auto 0;max-width:760px;text-align:center}
.js .board-frame:not(.in) .row:not(.cols){opacity:0}
.js .board-frame.in .row:not(.cols){animation:flap .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:.3s}
.js .board-frame.in .row:nth-child(4){animation-delay:.44s}
.js .board-frame.in .row:nth-child(5){animation-delay:.58s}
.js .board-frame.in .row:nth-child(6){animation-delay:.72s}
.row:not(.cols) span{transform-origin:50% 0}
.flipped{animation:flip .55s ease both}

/* ── chat mock-ups ── */
.split-in{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:64px;align-items:center}
.split.alt .split-in{grid-template-columns:1fr minmax(300px,440px)}
.split-text h2{text-align:left}
.ticks{margin-top:24px;display:grid;gap:14px}
.ticks li{position:relative;padding-left:28px;color:var(--txt);font-size:15.5px;line-height:1.55}
.ticks li::before{content:"";position:absolute;left:4px;top:.5em;width:9px;height:9px;background:var(--gold);transform:rotate(45deg);box-shadow:0 0 10px rgba(245,193,92,.7)}
.phone{background:rgba(15,15,18,.85);border:1px solid var(--line2);box-shadow:0 0 60px rgba(245,193,92,.08),inset 0 0 40px rgba(245,193,92,.03)}
.phone-bar{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line2);background:linear-gradient(90deg,rgba(34,197,94,.12),transparent)}
.phone-bar b{font-size:14px;font-weight:700}
.phone-bar span:last-child{margin-left:auto;font:10px var(--mono);color:var(--green);letter-spacing:.12em;text-transform:uppercase}
.chat{display:flex;flex-direction:column;gap:10px;padding:18px 16px 20px}
.msg{max-width:86%;padding:10px 12px;font-size:14px;line-height:1.5}
.msg.in{align-self:flex-end;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.4);color:#E8FFF0}
.msg.out{align-self:flex-start;background:var(--bg3);border:1px solid rgba(255,255,255,.08);color:var(--txt)}
.msg p{margin:0}
.qr{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.qr span{text-align:center;font:700 11px var(--mono);color:var(--cyan);border:1px solid rgba(0,212,255,.35);background:rgba(0,212,255,.06);padding:6px 4px}
.qr span:last-child:nth-child(odd){grid-column:1/-1}
[lang=hi]{font-family:"Noto Sans Devanagari",var(--sans)}

/* ── stat tiles ── */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0}
.stat{background:rgba(15,15,18,.85);padding:24px;transition:transform .2s,box-shadow .2s}
.stat:hover{transform:translateY(-4px)}
.stat dt{font:900 clamp(30px,4.4vw,48px)/1.1 var(--mono)}
.stat dd b{display:block;font:700 10px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--white);margin:12px 0 6px}
.stat dd{color:var(--mute);font-size:14px}
.s-gold{border:1px solid rgba(245,193,92,.27);border-top:2px solid var(--gold)} .s-gold dt{color:var(--gold);text-shadow:0 0 16px rgba(245,193,92,.4)} .s-gold:hover{box-shadow:0 0 24px rgba(245,193,92,.27)}
.s-green{border:1px solid rgba(34,197,94,.27);border-top:2px solid var(--green)} .s-green dt{color:var(--green);text-shadow:0 0 16px rgba(34,197,94,.4)} .s-green:hover{box-shadow:0 0 24px rgba(34,197,94,.27)}
.s-cyan{border:1px solid rgba(0,212,255,.27);border-top:2px solid var(--cyan)} .s-cyan dt{color:var(--cyan);text-shadow:0 0 16px rgba(0,212,255,.4)} .s-cyan:hover{box-shadow:0 0 24px rgba(0,212,255,.27)}

/* ── screens ── */
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px}
.tabs button{font:800 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:10px 18px;clip-path:var(--slant);border:0;background:rgba(255,255,255,.04);color:var(--txt);box-shadow:inset 0 0 0 1px rgba(245,193,92,.3);cursor:pointer;transition:transform .2s,color .2s}
.tabs button:hover{color:var(--gold);transform:scale(1.04)}
.tabs button[aria-selected=true]{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--bg);box-shadow:none}
.shot{background:rgba(15,15,18,.85);border:1px solid var(--line2);padding:12px;box-shadow:0 0 60px rgba(245,193,92,.1)}
.shot img{display:block;width:100%;border:1px solid rgba(245,193,92,.2)}
.shot figcaption{margin-top:12px;text-align:center;font:11px var(--mono);color:var(--mute);letter-spacing:.08em}

/* ── pricing (tiles made by the server from the app's price list) ── */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.plan{position:relative;background:rgba(15,15,18,.85);padding:26px 22px;border:1px solid rgba(245,193,92,.25);border-top:2px solid var(--gold);transition:transform .2s,box-shadow .2s}
.plan:hover{transform:translateY(-4px)}
.plan:nth-child(1){border-color:rgba(0,212,255,.27);border-top-color:var(--cyan)}
.plan:nth-child(2){border-color:rgba(139,92,246,.3);border-top-color:var(--purple)}
.plan:nth-child(3){border-color:rgba(34,197,94,.27);border-top-color:var(--green)}
.plan h3{font:700 11px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--mute)}
.plan .amt{margin-top:10px;font:900 clamp(28px,3.2vw,40px)/1.1 var(--mono);color:var(--white);text-shadow:0 0 16px rgba(255,255,255,.15)}
.plan .per{margin-top:6px;font-size:13px;color:var(--mute)}
.plan .save:not(:empty){display:inline-block;margin-top:14px;font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.35);padding:3px 8px}
.plan.best{border-color:rgba(245,193,92,.6);border-top-color:var(--gold);background:linear-gradient(180deg,rgba(245,193,92,.12),rgba(15,15,18,.88));box-shadow:0 0 34px rgba(245,193,92,.18)}
.plan.best .amt{color:var(--gold);text-shadow:0 0 18px rgba(245,193,92,.5)}
.plan.best::before{content:"◆ BEST VALUE";position:absolute;top:14px;right:14px;font:700 9px var(--mono);letter-spacing:.12em;color:var(--bg);background:var(--gold);padding:3px 8px}
.price-notes{margin:24px 0 0;padding:20px 24px;display:grid;gap:8px}
.price-notes p{color:var(--mute);font-size:14px}

/* ── platforms ── */
.works-in{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:center}
.phone-shot-wrap{display:flex;justify-content:center}
.phone-shot{width:280px;border:1px solid rgba(245,193,92,.45);border-radius:28px;box-shadow:0 0 50px rgba(245,193,92,.2);animation:float 5s ease-in-out infinite}

/* ── questions ── */
.faq{display:grid;gap:10px}
.faq details{background:var(--glass);border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:border-color .2s}
.faq details[open]{border-color:rgba(245,193,92,.5);background:rgba(245,193,92,.05)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-weight:600;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:800 18px var(--mono);color:var(--gold);transition:transform .2s;text-shadow:0 0 10px rgba(245,193,92,.6)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 20px 18px;color:var(--mute);font-size:15px}

/* ── talk to us ── */
.contact-in{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.contact-in h2{text-align:left}
.reach{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
form.lead{padding:28px;display:grid;gap:16px}
.form-title{display:flex;align-items:center;gap:8px;font:700 11px var(--mono);color:var(--gold);letter-spacing:.15em}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.lead label{display:grid;gap:6px;font:700 10px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--mute)}
form.lead input,form.lead select,form.lead textarea{width:100%;background:rgba(15,15,18,.8);border:1px solid rgba(245,193,92,.3);color:var(--white);font:400 15px var(--sans);letter-spacing:0;text-transform:none;padding:12px 14px;border-radius:0;transition:border-color .2s,box-shadow .2s}
form.lead select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
form.lead input:focus,form.lead select:focus,form.lead textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,193,92,.15),0 0 18px rgba(245,193,92,.25)}
form.lead [aria-invalid=true]{border-color:var(--red)}
form.lead .btn{justify-self:start;padding-inline:28px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-msg{font:12px var(--mono);min-height:1.2em;letter-spacing:.04em}
.form-msg.ok{color:var(--green)} .form-msg.err{color:#F87171}

/* ── footer ── */
.foot{border-top:1px solid var(--line);background:rgba(15,15,18,.88);padding:44px 0 36px;margin-top:40px}
.foot-in{display:grid;gap:16px}
.foot .brand img{width:36px;height:36px}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot nav a{color:var(--mute);text-decoration:none;font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;transition:color .2s}
.foot nav a:hover{color:var(--gold)}
.foot p{color:var(--mute);font-size:12px}
.foot .foot-os{font:10px var(--mono);color:var(--gold);letter-spacing:.2em}

/* ── legal and small pages ── */
.page{padding:60px 0 40px}
.page-card{padding:40px clamp(20px,4vw,48px);clip-path:var(--cut)}
.page h1{font-size:clamp(30px,5vw,48px);font-weight:800;line-height:1.1;letter-spacing:-.02em}
.page .meta{margin-top:12px;font:11px var(--mono);color:var(--mute);letter-spacing:.1em}
.page section{margin-top:28px}
.page section h2{font:700 13px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 10px rgba(245,193,92,.35)}
.page section p{color:var(--txt);margin-top:8px;max-width:75ch;font-size:15px}
.page nav.legal{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.page nav.legal a{font:700 11px var(--mono);letter-spacing:.1em;color:var(--gold);text-decoration:none;border:1px solid rgba(245,193,92,.45);padding:8px 14px}

/* ── reveal on scroll ── */
.js .rv{opacity:0;transform:perspective(900px) translateY(50px) rotateX(16deg);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}

/* ── keyframes (same motion as bitvault.club) ── */
@keyframes gridMove{0%{transform:rotateX(75deg) translateY(0)}100%{transform:rotateX(75deg) translateY(60px)}}
@keyframes neonPulse{0%,100%{text-shadow:0 0 10px rgba(245,193,92,.8),0 0 20px rgba(245,193,92,.4),0 0 30px rgba(245,193,92,.2)}50%{text-shadow:0 0 20px rgba(245,193,92,1),0 0 40px rgba(245,193,92,.6),0 0 60px rgba(245,193,92,.4)}}
@keyframes glitch1{0%,100%{clip-path:inset(45% 0 50% 0);transform:translate(-2px,0)}20%{clip-path:inset(20% 0 60% 0);transform:translate(2px,0)}40%{clip-path:inset(70% 0 10% 0);transform:translate(-1px,0)}60%{clip-path:inset(30% 0 40% 0);transform:translate(3px,0)}80%{clip-path:inset(80% 0 5% 0);transform:translate(-2px,0)}}
@keyframes glitch2{0%,100%{clip-path:inset(15% 0 65% 0);transform:translate(2px,0)}20%{clip-path:inset(70% 0 15% 0);transform:translate(-2px,0)}40%{clip-path:inset(40% 0 30% 0);transform:translate(1px,0)}60%{clip-path:inset(10% 0 75% 0);transform:translate(-3px,0)}80%{clip-path:inset(60% 0 25% 0);transform:translate(2px,0)}}
@keyframes iri{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinY{to{transform:rotateY(360deg)}}
@keyframes pulseRing{0%{transform:scale(.5);opacity:.8}100%{transform:scale(2.5);opacity:0}}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(12px)}}
@keyframes shimmer{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@keyframes powerOn{0%{transform:scale(.95);opacity:0;filter:brightness(2) blur(20px)}50%{transform:scale(1.02);opacity:1;filter:brightness(1.5) blur(5px)}100%{transform:scale(1);opacity:1;filter:none}}
@keyframes crtFlicker{0%,98%,100%{opacity:1}99%{opacity:.96}}
@keyframes flap{from{opacity:0;transform:perspective(600px) rotateX(-75deg)}to{opacity:1;transform:none}}
@keyframes flip{0%{transform:perspective(400px) rotateX(0)}45%{transform:perspective(400px) rotateX(88deg)}55%{transform:perspective(400px) rotateX(-88deg);background:#3a2a10}100%{transform:none}}
body{animation:crtFlicker 8s infinite}

/* ── smaller screens ── */
@media (max-width:1180px){
  .links{display:none}
  .hud,.panel{display:none}
  .plans{grid-template-columns:repeat(2,1fr)}
  .cards.three{grid-template-columns:1fr 1fr}
  .works-in{grid-template-columns:1fr}
  .phone-shot-wrap{display:none}
}
@media (max-width:960px){
  .split-in,.split.alt .split-in{grid-template-columns:1fr;gap:40px}
  .split.alt .phone{order:2}
  .stats{grid-template-columns:1fr}
  .contact-in{grid-template-columns:1fr}
  .hero-logo{display:none}
  .row.cols{display:none}
  .row{grid-template-columns:4.2rem 1fr auto;grid-template-areas:"t g s" "t f p";row-gap:.35rem;column-gap:.7rem;padding:.8rem 1rem}
  .row .c-time{grid-area:t;align-self:start} .row .c-guest{grid-area:g} .row .c-st{grid-area:s;justify-self:end}
  .row .c-flt{grid-area:f;justify-self:start} .row .c-pk{grid-area:p;justify-self:end}
  .c-from,.c-pax,.c-room{display:none!important}
  .board-head{flex-direction:column;align-items:flex-start}
}
@media (max-width:768px){
  .top-act .cyan{display:none}
  .brand span{font-size:18px}
  .tick{font-size:9.5px;letter-spacing:.08em;padding:5px 10px}
  .hero{min-height:0;padding:56px 12px 48px}
  .sec{padding:72px 0}
  .sec h2,.split-text h2,.contact-in h2{font-size:clamp(28px,8vw,44px);text-align:center}
  .split-text .label,.contact-in .label{text-align:center}
  .split-text .sub,.contact-in .sub{margin:0 auto;text-align:center}
  .reach{justify-content:center}
  .h-line{font-size:clamp(20px,6vw,30px);gap:12px}
  .cards.three{grid-template-columns:1fr}
  .f2{grid-template-columns:1fr}
  .cta-row .btn{width:100%;max-width:360px}
  .board{font-size:.8rem}
  .row{grid-template-columns:3.6rem 1fr auto;column-gap:.6rem}
}
@media (max-width:480px){
  .plans{grid-template-columns:1fr}
  .chips li{font-size:11px;padding:7px 12px}
  .wrap{padding:0 16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
  .js .board-frame:not(.in) .row:not(.cols){opacity:1}
}
