/* ═══════════════════════════════════════════════
   CJRAMER World RP — neon-noir store
   ═══════════════════════════════════════════════ */
:root{
  --bg:#07060d; --bg2:#0e0b1c; --panel:rgba(18,14,36,.72); --line:rgba(255,255,255,.09);
  --txt:#eceaf6; --mut:#9a96b8;
  --pur:#a855f7; --gold:#f59e0b; --cyan:#22d3ee; --pink:#ff2e97; --red:#ff2e63; --ok:#34d399;
  --grad:linear-gradient(100deg,var(--gold),var(--pink) 55%,var(--pur));
  --r:18px; --nav-h:68px;
  --display:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  --body:'Rajdhani','Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px)}
body{background:var(--bg);color:var(--txt);font-family:var(--body);font-weight:500;font-size:18px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
button:disabled{cursor:not-allowed;opacity:.55}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.hidden{display:none!important}
kbd{font-family:ui-monospace,Consolas,monospace;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:1px 7px;border-radius:6px;font-size:.85em}

#scene{position:fixed;inset:0;z-index:-2;width:100%;height:100%}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-family:var(--display);letter-spacing:.22em;font-size:15px;color:var(--cyan)}
.blink{color:var(--red);animation:blink 1.2s steps(2) infinite}
@keyframes blink{50%{opacity:.15}}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font-family:var(--display);letter-spacing:.12em;font-size:19px;transition:transform .2s,box-shadow .25s,background .25s,border-color .25s;white-space:nowrap}
.btn.small{padding:9px 18px;font-size:16px}
.btn.block{width:100%}
.btn.primary{background:var(--grad);color:#150a20;box-shadow:0 8px 28px -8px rgba(255,46,151,.65)}
.btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 34px -8px rgba(255,46,151,.85)}
.btn.ghost{border:1.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04)}
.btn.ghost:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan);background:rgba(34,211,238,.08)}

/* ── nav ── */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:50;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(16px,4vw,48px);transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(7,6,13,.78);backdrop-filter:blur(14px);border-color:var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:24px;letter-spacing:.06em;line-height:1}
.brand b{display:block;font-size:13px;letter-spacing:.3em;color:var(--gold);font-weight:400;margin-top:2px}
.brand img{filter:drop-shadow(0 0 10px rgba(168,85,247,.7))}
.nav-links{display:flex;gap:clamp(14px,2.2vw,32px)}
.nav-links a{font-family:var(--display);letter-spacing:.14em;font-size:17px;color:var(--mut);position:relative;padding:6px 0;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--grad);transition:width .25s}
.nav-links a:hover{color:#fff}.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:12px}
.status{display:flex;align-items:center;gap:8px;font-size:14px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--mut)}
.status .dot{width:8px;height:8px;border-radius:50%;background:#777}
.status.online{color:#c8f7e3}.status.online .dot{background:var(--ok);box-shadow:0 0 0 0 rgba(52,211,153,.7);animation:ping 1.8s infinite}
.status.offline .dot{background:var(--red)}
@keyframes ping{70%{box-shadow:0 0 0 9px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.cart-btn{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);font-family:var(--display);letter-spacing:.12em;font-size:17px;transition:border-color .2s,background .2s}
.cart-btn:hover{border-color:var(--gold);background:rgba(245,158,11,.1)}
.cart-btn em{font-style:normal;min-width:22px;height:22px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.12);font-size:14px;font-family:var(--body);font-weight:700}
.cart-btn.has em{background:var(--grad);color:#150a20;animation:bump .4s}
@keyframes bump{40%{transform:scale(1.35)}}

/* ── hero ── */
.hero{min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:20px;padding:calc(var(--nav-h) + 30px) clamp(18px,6vw,96px) 90px;position:relative}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(64px,10.5vw,170px);line-height:.88;letter-spacing:.02em;margin:14px 0 18px;position:relative;text-shadow:0 0 40px rgba(168,85,247,.35)}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden;white-space:pre-line;clip-path:inset(0 0 100% 0);pointer-events:none}
.glitch::before{color:var(--cyan);transform:translate(-3px,0);mix-blend-mode:screen;animation:glitchA 5.5s infinite}
.glitch::after{color:var(--pink);transform:translate(3px,0);mix-blend-mode:screen;animation:glitchB 5.5s infinite}
@keyframes glitchA{0%,92%,100%{clip-path:inset(0 0 100% 0)}93%{clip-path:inset(12% 0 62% 0)}95%{clip-path:inset(58% 0 20% 0)}97%{clip-path:inset(30% 0 48% 0)}}
@keyframes glitchB{0%,92%,100%{clip-path:inset(0 0 100% 0)}94%{clip-path:inset(66% 0 8% 0)}96%{clip-path:inset(20% 0 60% 0)}98%{clip-path:inset(44% 0 30% 0)}}
.tagline{font-family:var(--display);font-size:clamp(26px,3.4vw,44px);letter-spacing:.06em}
.sub{max-width:560px;color:var(--mut);margin:12px 0 28px;font-size:19px}
.cta{display:flex;flex-wrap:wrap;gap:14px}
.stats{display:flex;gap:clamp(18px,3vw,44px);list-style:none;margin-top:38px}
.stats li{display:flex;flex-direction:column}
.stats b{font-family:var(--display);font-weight:400;font-size:38px;line-height:1;letter-spacing:.05em}
.stats span{font-size:14px;color:var(--mut);letter-spacing:.08em;text-transform:uppercase}

.hero-art{position:relative;display:grid;place-items:center;--mx:0px;--my:0px;min-height:360px}
.hero-art .ram{width:min(34vw,520px);position:relative;z-index:2;transform:translate(var(--mx),var(--my));filter:drop-shadow(0 0 28px rgba(168,85,247,.65)) drop-shadow(0 0 70px rgba(255,46,151,.35));animation:float 6s ease-in-out infinite}
@keyframes float{50%{translate:0 -16px}}
.halo{position:absolute;width:min(40vw,600px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.38),rgba(255,46,151,.14) 45%,transparent 70%);animation:pulse 4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.12);opacity:.75}}
.ring{position:absolute;border-radius:50%;border:1.5px dashed rgba(245,158,11,.5);aspect-ratio:1}
.ring.r1{width:min(38vw,560px);animation:spin 40s linear infinite}
.ring.r2{width:min(31vw,450px);border-color:rgba(34,211,238,.45);border-style:dotted;animation:spin 28s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.scroll-hint{position:absolute;bottom:26px;left:50%;translate:-50% 0;width:26px;height:42px;border:2px solid rgba(255,255,255,.35);border-radius:14px}
.scroll-hint span{position:absolute;left:50%;top:8px;width:4px;height:8px;border-radius:2px;background:#fff;translate:-50% 0;animation:wheel 1.6s infinite}
@keyframes wheel{70%{top:22px;opacity:0}100%{opacity:0}}

/* ── ticker ── */
.ticker{overflow:hidden;border-block:1px solid var(--line);background:rgba(10,8,22,.7);backdrop-filter:blur(6px);padding:12px 0}
.ticker-track{display:flex;gap:34px;width:max-content;font-family:var(--display);letter-spacing:.2em;font-size:22px;color:var(--mut);animation:marquee 38s linear infinite}
.ticker-track span:nth-child(even){color:var(--gold)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ── sections ── */
.section{padding:clamp(70px,10vw,130px) clamp(18px,6vw,96px);max-width:1360px;margin:auto;position:relative}
.section-head{text-align:center;margin-bottom:44px}
.section-head h2{font-family:var(--display);font-weight:400;font-size:clamp(44px,6.5vw,92px);line-height:1;letter-spacing:.03em;margin:6px 0 10px}
.lead{max-width:640px;margin:0 auto;color:var(--mut);font-size:19px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ── tabs ── */
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:34px}
.tab{padding:10px 20px;border-radius:999px;border:1.5px solid var(--line);background:rgba(255,255,255,.03);color:var(--mut);font-family:var(--display);letter-spacing:.1em;font-size:18px;transition:all .25s}
.tab:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.tab.active{background:var(--grad);color:#150a20;border-color:transparent;box-shadow:0 8px 24px -10px var(--pink)}

/* ── cards ── */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:26px;perspective:1200px}
.card{--rx:0deg;--ry:0deg;--gx:50%;--gy:50%;position:relative;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px);overflow:hidden;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .18s ease-out,border-color .3s,box-shadow .3s;animation:rise .7s both;animation-delay:var(--d,0ms)}
@keyframes rise{from{opacity:0;transform:translateY(34px) scale(.97)}}
.card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.14),transparent 45%);opacity:0;transition:opacity .3s}
.card:hover{border-color:rgba(255,46,151,.55);box-shadow:0 24px 60px -24px rgba(168,85,247,.7)}
.card:hover::after{opacity:1}
.card-img{position:relative;aspect-ratio:5/3;cursor:pointer;overflow:hidden;background:#0b0818}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card-img img{transform:scale(1.06)}
.badge{position:absolute;top:12px;right:12px;font-family:var(--display);letter-spacing:.14em;font-size:14px;padding:4px 10px;border-radius:999px;background:var(--cyan);color:#06222a}
.card-body{padding:18px 20px 20px}
.card-body h3{font-family:var(--display);font-weight:400;font-size:27px;letter-spacing:.05em;line-height:1.1}
.stars{display:flex;gap:4px;margin:8px 0 10px}
.stars i{width:15px;height:15px;background:rgba(255,255,255,.14);clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 36%)}
.stars i.on{background:var(--gold);filter:drop-shadow(0 0 4px rgba(245,158,11,.8))}
.price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.price b{font-family:var(--display);font-weight:400;font-size:38px;letter-spacing:.04em;line-height:1}
.price .per{color:var(--mut);font-size:16px}
.price .vat{width:100%;color:var(--mut);font-size:13px}
.card-actions{display:flex;gap:10px;margin-top:14px}
.card-actions .btn{flex:1}
.skeleton{height:380px;border-radius:var(--r);background:linear-gradient(100deg,rgba(255,255,255,.03) 30%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.03) 70%);background-size:300% 100%;animation:shimmer 1.4s infinite}
@keyframes shimmer{to{background-position:-100% 0}}
.error{text-align:center;color:#ffb3c6;margin-top:20px}
.error a{text-decoration:underline}
.fineprint{text-align:center;color:var(--mut);font-size:14px;margin-top:22px}

/* ── plate lab ── */
.lab{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,60px);align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,56px);backdrop-filter:blur(12px)}
.lab-stage{display:grid;place-items:center;min-height:300px;perspective:900px}
.plate-wrap{position:relative;width:min(100%,560px)}
.plate{--fs:clamp(52px,10vw,98px);position:relative;aspect-ratio:2/1;border-radius:18px;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:center;padding:14px 22px 12px;border:6px solid;box-shadow:0 30px 50px -20px rgba(0,0,0,.9),inset 0 0 0 3px rgba(0,0,0,.18);transform:rotateX(8deg) rotateY(-8deg);transition:transform .5s,background .4s,color .4s,border-color .4s;animation:plateFloat 6s ease-in-out infinite}
.plate-wrap:hover .plate{transform:rotateX(0) rotateY(0)}
@keyframes plateFloat{50%{translate:0 -10px}}
.plate-state{font-family:var(--display);letter-spacing:.35em;font-size:clamp(13px,2vw,20px)}
.plate-text{font-family:var(--display);font-size:var(--fs);letter-spacing:.09em;line-height:1;white-space:pre}
.plate-sub{font-size:clamp(9px,1.4vw,13px);letter-spacing:.3em;font-weight:700;opacity:.75}
.screw{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#eee,#666);box-shadow:inset 0 0 2px #000}
.screw.s1{left:10px}.screw.s2{right:10px}
.plate.pop .plate-text{animation:pop .3s}
@keyframes pop{40%{transform:scale(1.07)}}
.plate.flip{animation:flip .7s}
@keyframes flip{0%{transform:rotateX(8deg) rotateY(-8deg)}50%{transform:rotateX(8deg) rotateY(172deg) scale(.96)}100%{transform:rotateX(8deg) rotateY(352deg)}}
.plate-shadow{height:22px;margin:18px auto 0;width:70%;background:radial-gradient(ellipse,rgba(0,0,0,.65),transparent 70%);animation:shadowF 6s ease-in-out infinite}
@keyframes shadowF{50%{transform:scale(.86);opacity:.7}}
.style-ls{background:linear-gradient(180deg,#f7f9ff,#dfe6f5);color:#1b3a8a;border-color:#1b3a8a}
.style-sun{background:linear-gradient(180deg,#ffe066,#f4b000);color:#162447;border-color:#162447}
.style-mid{background:linear-gradient(180deg,#1b1b22,#0a0a0e);color:#f4f4f8;border-color:#55556a}
.style-neon{background:#08060f;color:#7df9ff;border-color:var(--pink);box-shadow:0 0 30px rgba(255,46,151,.6),0 0 60px rgba(255,46,151,.25),inset 0 0 22px rgba(255,46,151,.35)}
.style-neon .plate-text{text-shadow:0 0 8px #22d3ee,0 0 24px #22d3ee,0 0 46px #22d3ee}
.lab-controls label{display:block;font-family:var(--display);letter-spacing:.2em;color:var(--gold);margin:14px 0 8px;font-size:16px}
.lab-controls label:first-child{margin-top:0}
#plate-input{width:100%;padding:14px 18px;border-radius:14px;background:rgba(0,0,0,.4);border:1.5px solid var(--line);color:#fff;font-family:var(--display);font-size:34px;letter-spacing:.14em;text-transform:uppercase;transition:border-color .2s}
#plate-input:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(34,211,238,.15)}
.hint{color:var(--mut);font-size:14px;margin-top:8px}
.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sw{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 6px;border-radius:14px;border:1.5px solid var(--line);font-size:13px;color:var(--mut);transition:all .2s}
.sw i{width:100%;height:30px;border-radius:7px;border:3px solid}
.sw.ls i{background:#eef2ff;border-color:#1b3a8a}.sw.sun i{background:#f7bf1a;border-color:#162447}.sw.mid i{background:#101015;border-color:#55556a}.sw.neon i{background:#08060f;border-color:var(--pink);box-shadow:0 0 12px var(--pink)}
.sw:hover{color:#fff;border-color:rgba(255,255,255,.35)}.sw.active{color:#fff;border-color:var(--cyan);background:rgba(34,211,238,.08)}
.lab-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* ── queue lanes ── */
.road{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#0c0916,#08060f);padding:10px 0}
.lane{position:relative;height:78px;display:flex;align-items:center;border-bottom:2px dashed rgba(255,255,255,.12)}
.lane:last-of-type{border-bottom:0}
.lane-label{position:relative;z-index:3;width:clamp(120px,16vw,190px);padding-left:20px;font-family:var(--display);letter-spacing:.1em;font-size:22px;line-height:1.05;flex:none;background:linear-gradient(90deg,#0a0814 70%,transparent)}
.lane-label small{display:block;font-family:var(--body);letter-spacing:.06em;font-size:13px;color:var(--mut)}
.lane[data-tier=gold] .lane-label{color:var(--gold)}.lane[data-tier=silver] .lane-label{color:#cfd6e6}.lane[data-tier=bronze] .lane-label{color:#e0914e}
.cars{position:absolute;inset:0;overflow:hidden}
.car{position:absolute;top:50%;left:0;width:74px;height:28px;margin-top:-14px;border-radius:9px 14px 6px 6px/8px 14px 6px 6px;background:linear-gradient(180deg,#59506f,#2a2440);box-shadow:inset 0 3px 0 rgba(255,255,255,.18);animation:drive var(--t,14s) linear infinite;animation-delay:var(--dl,0s)}
.car::before{content:"";position:absolute;top:-9px;left:16px;width:36px;height:14px;border-radius:9px 12px 0 0;background:linear-gradient(180deg,#6d6488,#2f2946)}
.car::after{content:"";position:absolute;right:-3px;top:8px;width:7px;height:7px;border-radius:50%;background:#fff6cf;box-shadow:0 0 12px 4px rgba(255,246,207,.9),30px 0 60px 20px rgba(255,246,207,.18)}
.lane[data-tier=std] .car{--t:16s;background:linear-gradient(180deg,#4a4560,#241f38)}
.lane[data-tier=std] .c1{--dl:0s}.lane[data-tier=std] .c2{--dl:-4s}.lane[data-tier=std] .c3{--dl:-8s}.lane[data-tier=std] .c4{--dl:-12s}
.lane[data-tier=std] .car{animation-timing-function:steps(40,end)}
.lane[data-tier=bronze] .car.hot{--t:8s;background:linear-gradient(180deg,#e0914e,#7a3f14)}
.lane[data-tier=silver] .car.hot{--t:5.2s;background:linear-gradient(180deg,#e6ebf7,#7d869c)}
.lane[data-tier=gold] .car.hot{--t:3.1s;background:linear-gradient(180deg,#ffd35a,#b8780a)}
.car.hot{width:84px}
.car.hot::before{background:rgba(255,255,255,.35)}
.lane[data-tier=gold] .car.hot{box-shadow:inset 0 3px 0 rgba(255,255,255,.4),-70px 0 90px 10px rgba(245,158,11,.5)}
.lane[data-tier=silver] .car.hot{box-shadow:inset 0 3px 0 rgba(255,255,255,.4),-60px 0 80px 6px rgba(207,214,230,.35)}
.lane[data-tier=bronze] .car.hot{box-shadow:inset 0 3px 0 rgba(255,255,255,.3),-50px 0 70px 4px rgba(224,145,78,.35)}
@keyframes drive{from{transform:translateX(-12vw)}to{transform:translateX(calc(100vw + 4vw))}}
.road .finish{position:absolute;top:0;right:0;bottom:0;width:70px;background:repeating-conic-gradient(#fff 0 25%,#111 0 50%) 0 0/20px 20px;opacity:.9;display:grid;place-items:center;z-index:2}
.road .finish span{writing-mode:vertical-rl;font-family:var(--display);letter-spacing:.4em;font-size:18px;color:#000;background:#fff;padding:12px 4px;border-radius:6px}
.lane-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}

/* ── steps ── */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s;position:relative}
.steps li{position:relative;padding:28px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(8px)}
.steps .num{font-family:var(--display);font-size:66px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.steps h3{font-family:var(--display);font-weight:400;font-size:28px;letter-spacing:.06em;margin:6px 0}
.steps p{color:var(--mut)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-24px;width:24px;height:2px;background:var(--grad)}

/* ── connect ── */
.connect-card{max-width:760px;margin:auto;text-align:center;padding:clamp(24px,4vw,48px);border-radius:28px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(12px);box-shadow:0 0 80px -30px var(--pur)}
.ip-block{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-bottom:10px}
.ip-block .label{width:100%;font-family:var(--display);letter-spacing:.25em;color:var(--gold);font-size:15px}
.ip-block code{font-family:var(--display);font-size:clamp(30px,5vw,54px);letter-spacing:.08em;color:var(--cyan);text-shadow:0 0 20px rgba(34,211,238,.5)}
.links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}

/* ── footer ── */
.footer{border-top:1px solid var(--line);background:rgba(5,4,10,.85);padding:40px clamp(18px,6vw,96px);color:var(--mut);font-size:14px;display:grid;gap:12px}
.foot-brand{display:flex;align-items:center;gap:10px;color:var(--txt);font-family:var(--display);letter-spacing:.12em;font-size:20px}
.footer .copy{color:#6f6b8c}

/* ── modal ── */
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(4,3,9,.78);backdrop-filter:blur(8px);animation:fade .25s}
@keyframes fade{from{opacity:0}}
.modal-card{position:relative;width:min(920px,100%);max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;border-radius:24px;background:#0f0b20;border:1px solid var(--line);box-shadow:0 40px 100px -30px #000;animation:pop-in .35s cubic-bezier(.2,.8,.2,1)}
@keyframes pop-in{from{opacity:0;transform:translateY(24px) scale(.96)}}
.modal-card>img{width:100%;height:auto;aspect-ratio:5/3;object-fit:contain;align-self:start;background:#0b0818;border-radius:24px 0 0 0}
.m-body{padding:30px}
.m-body h3{font-family:var(--display);font-weight:400;font-size:38px;letter-spacing:.05em;line-height:1.05}
.m-price{display:flex;align-items:center;gap:18px;margin:10px 0 14px}
.m-desc{color:#cfcbe6;font-size:17px;margin-bottom:22px}
.m-desc p{margin-bottom:8px}
.x{position:absolute;top:12px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.5);border:1px solid var(--line);font-size:26px;line-height:1;display:grid;place-items:center;transition:background .2s}
.x:hover{background:var(--red)}

/* ── drawer ── */
.scrim{position:fixed;inset:0;z-index:60;background:rgba(4,3,9,.6);backdrop-filter:blur(3px);animation:fade .25s}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(430px,100vw);display:flex;flex-direction:column;background:#0d0a1d;border-left:1px solid var(--line);transform:translateX(105%);transition:transform .4s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 80px -30px #000}
.drawer.open{transform:none}
.drawer header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
.drawer header h3{font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:.08em}
.drawer header .x{position:static}
.drawer-body{flex:1;overflow:auto;padding:16px 20px}
.line{display:grid;grid-template-columns:62px 1fr auto 28px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.line img{width:62px;height:42px;object-fit:cover;border-radius:8px}
.line-info b{display:block;font-size:16px;line-height:1.2}.line-info small{color:var(--mut)}
.line-price{font-family:var(--display);font-size:22px;letter-spacing:.04em}
.rm{width:26px;height:26px;border-radius:50%;color:var(--mut);font-size:20px;line-height:1;transition:color .2s,background .2s}.rm:hover{color:#fff;background:var(--red)}
.empty{text-align:center;padding:50px 0;color:var(--mut)}
.empty-car{width:90px;height:34px;margin:0 auto 18px;border-radius:12px 18px 8px 8px;background:linear-gradient(180deg,#3d3656,#1d182e);position:relative;animation:idle 2s ease-in-out infinite}
.empty-car::before{content:"";position:absolute;top:-12px;left:20px;width:44px;height:16px;border-radius:10px 14px 0 0;background:#2d2745}
@keyframes idle{50%{transform:translateY(-3px)}}
.drawer footer{padding:18px 22px 22px;border-top:1px solid var(--line);display:grid;gap:12px}
.tot{display:flex;justify-content:space-between;color:var(--mut)}
.tot.grand{color:#fff;font-family:var(--display);font-size:28px;letter-spacing:.05em;margin-top:4px}
.auth-note p{font-size:15px;color:var(--mut);margin-bottom:10px}.auth-note p.ok{color:var(--ok);margin:0}
.drawer footer .fineprint{margin:0;font-size:12px}

/* ── toast ── */
.toast{position:fixed;left:50%;bottom:26px;translate:-50% 0;z-index:100;max-width:min(92vw,520px);padding:14px 22px;border-radius:14px;background:#17122c;border:1px solid var(--line);box-shadow:0 18px 50px -12px #000;animation:toastIn .35s cubic-bezier(.2,.8,.2,1)}
.toast.ok{border-color:rgba(52,211,153,.6)}.toast.err{border-color:rgba(255,46,99,.7)}
@keyframes toastIn{from{opacity:0;translate:-50% 20px}}

/* ── responsive ── */
@media(max-width:1000px){
  .nav-links{display:none}
  .hero{grid-template-columns:1fr;text-align:center;padding-top:calc(var(--nav-h) + 10px)}
  .hero-copy{order:2}.hero-art{order:1;min-height:260px}
  .hero .sub{margin-inline:auto}.cta,.stats{justify-content:center}
  .hero-art{min-height:0;padding:6px 0 0}
  .hero-art .ram{width:min(44vw,230px)}.halo{width:min(60vw,300px)}.ring.r1{width:min(56vw,270px)}.ring.r2{width:min(46vw,225px)}
  .modal-card>img{border-radius:24px 24px 0 0}
  .lab,.modal-card{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}.steps li:not(:last-child)::after{display:none}
  .status{display:none}
}
@media(max-width:560px){
  .brand span{font-size:20px}.cart-btn span{display:none}
  .swatches{grid-template-columns:repeat(2,1fr)}
  .lane{height:64px}.lane-label{font-size:18px;width:110px;padding-left:12px}.road .finish{width:46px}
  .btn{padding:13px 20px;font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
