/* 车元星球 · Digital Racing — visual system */
:root{
  --bg:#08080c; --bg2:#0d0c13; --card:#14131c; --card2:#191823;
  --text:#f3f2f7; --muted:#a2a0b0; --dim:#706e80;
  --yellow:#f2e600; --red:#ff3b57; --purple:#a855f7; --cyan:#3ddcff;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.16);
  --grad:linear-gradient(105deg,var(--yellow) 0%,#ffb300 42%,var(--red) 100%);
  --sans:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Noto Sans CJK SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --num:"Bahnschrift","DIN Alternate","Arial Narrow",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --maxw:1240px; --radius:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
main section[id]{scroll-margin-top:78px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--yellow);color:#111}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.container{width:min(var(--maxw),calc(100% - 56px));margin-inline:auto}
.section{position:relative;padding:118px 0}
.section-alt{background:var(--bg2);border-block:1px solid var(--line)}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:120;background:var(--grad);box-shadow:0 0 12px rgba(242,230,0,.6)}

/* ---------- shared ---------- */
.kicker{display:inline-block;font:700 12px/1 var(--num);letter-spacing:.22em;color:var(--yellow);text-transform:uppercase}
.eyebrow{font:700 12px/1.4 var(--num);letter-spacing:.24em;color:var(--yellow);display:flex;align-items:center;gap:10px;text-transform:uppercase}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 12px var(--yellow)}
.hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-head{max-width:860px;margin-bottom:56px}
.section-head h2,.hero h1,.footer-brand h3{letter-spacing:-.02em}
.section-head h2{font-size:clamp(30px,4vw,52px);line-height:1.28;font-weight:800;margin:18px 0 20px}
.section-sub{color:var(--muted);font-size:16.5px;line-height:1.9;max-width:800px;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:6px;padding:11px 20px;font-size:14px;font-weight:700;letter-spacing:.01em;transition:transform .22s,background .22s,border-color .22s,box-shadow .22s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--yellow);color:#0b0b0b;box-shadow:0 6px 24px rgba(242,230,0,.16)}
.btn-primary:hover{background:#fff238;box-shadow:0 10px 30px rgba(242,230,0,.28)}
.btn-outline{border-color:var(--line2);color:var(--text);background:rgba(255,255,255,.02)}
.btn-outline:hover{border-color:var(--yellow);color:var(--yellow)}
.btn-ghost{border-color:var(--line);color:var(--muted);padding:8px 13px;font-size:11px;letter-spacing:.1em;font-family:var(--num)}
.btn-ghost:hover{color:var(--yellow);border-color:var(--yellow)}
.btn-text{background:none;color:var(--muted);padding-inline:6px}
.btn-text:hover{color:var(--yellow)}
.btn-lg{padding:14px 26px;font-size:15px}
.fine-print{font-size:12.5px;color:var(--dim);line-height:1.85;margin:26px 0 0;max-width:960px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- header ---------- */
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:74px;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s}
.site-header.scrolled{background:rgba(8,8,12,.86);backdrop-filter:blur(18px);border-bottom-color:var(--line)}
.header-inner{height:100%;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand-mark{width:36px;height:36px;color:var(--yellow);display:block}
.brand-mark svg{width:100%;height:100%}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text b{font-size:19px;font-weight:800;letter-spacing:.06em}
.brand-text small{font:600 9px/1.6 var(--num);letter-spacing:.16em;color:var(--dim)}
.main-nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.main-nav a{font-size:13.5px;color:var(--muted);position:relative;padding:8px 0;transition:color .2s;white-space:nowrap}
.main-nav a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--yellow);transition:width .25s}
.main-nav a:hover,.main-nav a.active{color:var(--text)}
.main-nav a:hover::after,.main-nav a.active::after{width:100%}
.header-actions{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;width:38px;height:38px;background:none;border:1px solid var(--line);border-radius:6px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle span{width:17px;height:1.5px;background:var(--text);transition:.25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:74px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url("../img/hero-fleet.webp") center 42%/cover no-repeat;transform:scale(1.06);filter:saturate(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,5,10,.97) 0%,rgba(8,6,13,.9) 40%,rgba(8,6,13,.5) 72%,rgba(8,6,13,.7) 100%),linear-gradient(0deg,var(--bg) 0%,rgba(8,8,12,.15) 32%,rgba(8,8,12,.35) 100%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000 25%,transparent 85%);opacity:.5}
.hero-lights{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-lights i{position:absolute;left:-60%;width:55%;height:1px;background:linear-gradient(90deg,transparent,rgba(242,230,0,.55),rgba(255,59,87,.35),transparent);transform:rotate(-16deg);animation:sweep 9s linear infinite;opacity:.7}
.hero-lights i:nth-child(2){top:36%;animation-duration:12s;animation-delay:-4s;background:linear-gradient(90deg,transparent,rgba(168,85,247,.5),transparent)}
.hero-lights i:nth-child(3){top:68%;animation-duration:15s;animation-delay:-9s}
@keyframes sweep{0%{transform:translateX(0) rotate(-16deg)}100%{transform:translateX(320%) rotate(-16deg)}}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;padding:60px 0 88px}
.hero-copy h1{font-size:clamp(40px,6vw,76px);line-height:1.16;font-weight:800;margin:24px 0 26px;letter-spacing:-.035em}
.hero-copy h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{max-width:640px;color:#c9c7d4;font-size:16px;line-height:1.95}
.hero-lead strong{color:#fff;font-weight:700;box-shadow:inset 0 -8px 0 rgba(242,230,0,.22)}
.hero-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:34px}
.hero-note{display:flex;align-items:center;gap:14px;margin-top:38px;font-size:12px;color:var(--dim);letter-spacing:.04em}
.hero-note .line{width:34px;height:1px;background:var(--yellow)}
.hero-visual{position:relative;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:16px}
.hero-badge{border:1px solid rgba(242,230,0,.35);background:rgba(10,9,16,.66);backdrop-filter:blur(8px);padding:22px 26px;min-width:190px;display:flex;flex-direction:column;gap:2px;clip-path:polygon(0 0,100% 0,100% 78%,88% 100%,0 100%)}
.hero-badge span{font:700 11px var(--num);letter-spacing:.24em;color:var(--yellow)}
.hero-badge b{font:800 27px/1.2 var(--num);letter-spacing:.03em}
.hero-badge small{font-size:11px;color:var(--muted);letter-spacing:.14em}
.hero-spec{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hero-spec span{font:700 12px var(--num);padding:8px 11px;border:1px solid var(--line);background:rgba(10,9,16,.62);color:#e8e6ef;white-space:nowrap}
.hero-spec small{color:var(--yellow);font-size:10px;margin-left:3px}
.hero-stats{position:relative;z-index:2;border-top:1px solid var(--line);background:rgba(8,8,12,.72);backdrop-filter:blur(10px)}
.stat-row{display:grid;grid-template-columns:repeat(5,1fr);padding:22px 0}
.stat{border-left:1px solid var(--line);padding-left:22px;display:flex;flex-direction:column;gap:2px}
.stat:first-child{border-left:0;padding-left:0}
.stat b{font:800 30px/1.1 var(--num);letter-spacing:-.02em}
.stat b small{font-size:14px;color:var(--yellow);margin-left:2px}
.stat>span{font-size:11.5px;color:var(--muted)}
.scroll-hint{position:absolute;bottom:126px;right:max(28px,calc((100vw - var(--maxw))/2));z-index:3;writing-mode:vertical-rl;font:700 10px var(--num);letter-spacing:.3em;color:var(--dim);display:flex;align-items:center;gap:10px}
.scroll-hint span{width:1px;height:34px;background:linear-gradient(var(--yellow),transparent);animation:hint 1.8s ease-in-out infinite}
@keyframes hint{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}

/* ---------- positioning ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pillar{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:0 26px 30px;overflow:hidden;transition:transform .3s,border-color .3s}
.pillar:hover{transform:translateY(-5px);border-color:rgba(242,230,0,.35)}
.pillar-main{border-color:rgba(242,230,0,.4);background:linear-gradient(180deg,rgba(242,230,0,.07),var(--card) 42%)}
.pillar-no{position:absolute;top:14px;right:20px;font:800 44px var(--num);color:rgba(255,255,255,.055);z-index:2}
.pillar-img{height:190px;margin:0 -26px 24px;overflow:hidden;background:#0a0910;position:relative}
.pillar-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--card),transparent 65%)}
.pillar-main .pillar-img::after{background:linear-gradient(0deg,#191713,transparent 65%)}
.pillar img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pillar:hover img{transform:scale(1.06)}
.pillar:first-child .pillar-img img{object-fit:contain;padding:36px 30px;background:#0b0a10}
.pillar h3{font-size:19px;margin:0 0 12px;font-weight:750}
.pillar p{font-size:13.5px;line-height:1.85;color:var(--muted);margin:0 0 16px}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ticks li{font-size:12.5px;color:#d3d1dd;padding-left:18px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:2px;background:var(--yellow)}
.pillar-tag{position:absolute;top:16px;left:20px;background:var(--yellow);color:#0b0b0b;font-size:10px;font-weight:800;padding:4px 9px;letter-spacing:.08em;z-index:3}
.split-deal{margin-top:26px;display:grid;grid-template-columns:1fr 150px 1fr;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}
.deal-side{padding:30px 32px}
.deal-side+.deal-side{border-left:1px solid var(--line)}
.deal-label{font:700 11px var(--num);letter-spacing:.18em;color:var(--yellow)}
.deal-side h4{font-size:20px;margin:8px 0 18px}
.deal-chips{display:flex;flex-wrap:wrap;gap:8px}
.deal-chips span{font-size:12px;padding:6px 11px;border:1px solid var(--line2);border-radius:4px;color:#d6d4e0;background:rgba(255,255,255,.02)}
.deal-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,rgba(242,230,0,.09),rgba(255,59,87,.06));border-left:1px solid var(--line);border-right:1px solid var(--line)}
.deal-arrow{font-size:30px;color:var(--yellow)}
.deal-mid small{font-size:10px;color:var(--muted);letter-spacing:.1em}

/* ---------- layers ---------- */
.layers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.layer{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;display:flex;flex-direction:column;min-height:290px;transition:.3s;position:relative;overflow:hidden}
.layer::before{content:"";position:absolute;top:0;left:0;width:0;height:2px;background:var(--grad);transition:width .4s}
.layer:hover{transform:translateY(-5px);border-color:rgba(242,230,0,.3)}
.layer:hover::before{width:100%}
.layer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.layer-no{font:700 11px var(--num);letter-spacing:.16em;color:var(--yellow)}
.layer-icon{font-size:18px;color:var(--dim)}
.layer h3{font-size:20px;margin:0 0 12px}
.layer p{font-size:13px;color:var(--muted);line-height:1.85;margin:0 0 18px;flex:1}
.layer-key{font:600 11px var(--num);letter-spacing:.06em;color:var(--yellow);border-top:1px solid var(--line);padding-top:14px}
.hundred-plan{margin-top:26px;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;padding:40px 44px;border:1px solid rgba(242,230,0,.28);border-radius:var(--radius);background:radial-gradient(circle at 85% 20%,rgba(255,59,87,.1),transparent 55%),linear-gradient(110deg,#15130c,#0d0c13 60%)}
.hp-left h3{font-size:clamp(22px,2.5vw,32px);line-height:1.4;margin:14px 0 12px}
.hp-left p{color:var(--muted);font-size:14px;margin:0}
.hp-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hp-numbers div{display:flex;flex-direction:column;border-left:1px solid var(--line2);padding-left:18px}
.hp-numbers b{font:800 clamp(24px,3vw,38px)/1.1 var(--num);color:var(--yellow)}
.hp-numbers span{font-size:12px;color:var(--muted);margin-top:6px}

/* ---------- track ---------- */
.track-section{background:radial-gradient(circle at 15% 10%,rgba(168,85,247,.07),transparent 45%),var(--bg)}
.track-showcase{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.track-media,.track-map{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:390px;background:#0c0b12}
.track-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.track-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,6,10,.9),transparent 55%)}
.track-media-cap{position:absolute;bottom:22px;left:26px;z-index:2;display:flex;flex-direction:column}
.track-media-cap span{font:800 16px var(--num);letter-spacing:.16em;color:var(--yellow)}
.track-media-cap small{font-size:12px;color:#d7d5e0}
.track-map{padding:26px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 60% 40%,rgba(242,230,0,.05),transparent 60%),#0b0a11}
.map-label{font:700 10px var(--num);letter-spacing:.18em;color:var(--dim)}
.track-svg{width:100%;height:auto;max-height:250px;margin:10px 0}
.map-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.track-facts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}
.tf{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px 18px;display:flex;flex-direction:column;gap:4px}
.tf b{font:800 30px/1 var(--num);color:var(--yellow)}
.tf b small{font-size:14px;margin-left:2px}
.tf span{font-size:12px;color:var(--muted)}
.software-strip{margin-top:18px;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:34px 38px}
.ss-kicker{font:700 11px var(--num);letter-spacing:.18em;color:var(--cyan)}
.ss-copy h3{font-size:26px;line-height:1.4;margin:10px 0 14px}
.ss-copy h3 small{font-size:17px;color:var(--yellow);font-weight:700}
.ss-copy p{font-size:13.5px;color:var(--muted);line-height:1.9;margin:0}
.ss-games{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ss-games img{width:100%;height:96px;object-fit:cover;border-radius:6px;border:1px solid var(--line);filter:saturate(.9);transition:.3s}
.ss-games img:hover{filter:saturate(1.3);transform:scale(1.03)}
.ip-notice{display:flex;gap:18px;align-items:flex-start;margin-top:18px;padding:22px 26px;border:1px dashed rgba(242,230,0,.35);border-radius:10px;background:rgba(242,230,0,.035)}
.ip-icon{font:800 26px var(--num);color:var(--yellow);line-height:1}
.ip-notice b{font-size:14px}
.ip-notice p{margin:6px 0 0;font-size:13px;color:var(--muted);line-height:1.8}

/* ---------- product ---------- */
.product-tabs{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.ptab{background:var(--card);border:1px solid var(--line);color:var(--muted);padding:14px 22px;border-radius:8px;text-align:left;display:flex;flex-direction:column;gap:3px;transition:.25s}
.ptab small{font-size:11px;font-weight:400;color:var(--dim)}
.ptab.active,.ptab:hover{border-color:var(--yellow);color:var(--text);background:rgba(242,230,0,.07)}
.ptab.active small{color:var(--yellow)}
.product-panel{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}
.pp-media{position:relative;min-height:430px;background:radial-gradient(circle at 50% 60%,rgba(255,59,87,.12),#0a0910 68%);display:flex;align-items:center;justify-content:center}
.pp-media img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;transition:opacity .35s}
.pp-badge{position:absolute;top:20px;left:22px;font:700 11px var(--num);letter-spacing:.14em;color:var(--yellow);border:1px solid rgba(242,230,0,.4);padding:6px 10px;background:rgba(8,8,12,.7)}
.pp-info{padding:40px 40px 36px;display:flex;flex-direction:column;align-items:flex-start}
.pp-eyebrow{font:700 11px var(--num);letter-spacing:.16em;color:var(--yellow)}
.pp-info h3{font-size:26px;margin:10px 0 12px}
.pp-info>p{font-size:13.5px;color:var(--muted);line-height:1.9;margin:0 0 20px}
.pp-specs{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:22px}
.pp-specs div{background:var(--card);padding:13px 14px;display:flex;flex-direction:column;gap:2px}
.pp-specs span{font-size:11px;color:var(--dim)}
.pp-specs b{font-size:13px;font-weight:700}
.pp-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.pp-price>span{font:800 34px var(--num);color:var(--yellow)}
.pp-price small{font-size:11.5px;color:var(--muted)}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.spec{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:20px 18px;display:flex;flex-direction:column;gap:4px}
.spec b{font:800 27px/1 var(--num)}
.spec b small{font-size:13px;color:var(--yellow);margin-left:2px}
.spec span{font-size:11.5px;color:var(--muted)}
.ops-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.ops-card{border:1px solid var(--line);border-radius:10px;padding:26px 28px;background:linear-gradient(120deg,var(--card),rgba(255,59,87,.035))}
.ops-card h4{font-size:16px;margin:0 0 14px}
.ops-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ops-chips span{font-size:11.5px;border:1px solid var(--line2);padding:5px 10px;border-radius:4px;color:var(--yellow)}
.ops-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.8}

/* ---------- racing ---------- */
.event-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.event-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);transition:.3s}
.event-card:hover{transform:translateY(-4px);border-color:rgba(242,230,0,.3)}
.event-card img{width:100%;height:230px;object-fit:cover}
.ec-body{padding:26px 28px 30px}
.ec-tag{font:700 10px var(--num);letter-spacing:.16em;color:var(--yellow)}
.ec-body h3{font-size:21px;margin:10px 0 10px}
.ec-body p{font-size:13.5px;color:var(--muted);line-height:1.85;margin:0}
.leaderboard{margin-top:18px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(100deg,#14120c,var(--card));padding:30px 34px}
.lb-head span{font:700 11px var(--num);letter-spacing:.1em;color:var(--yellow)}
.lb-head h3{font-size:19px;margin:6px 0 20px}
.lb-rows{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line)}
.lb-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;background:#100f16;padding:12px 18px;font-size:14px}
.lb-row b{font:800 18px var(--num);color:var(--yellow)}
.lb-row em{font:800 17px var(--num);font-style:normal;letter-spacing:.04em}
.leaderboard>small{display:block;margin-top:12px;color:var(--dim);font-size:11.5px}
.content-matrix{margin-top:18px;display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:36px}
.cm-copy h3{font-size:25px;line-height:1.45;margin:12px 0 14px}
.cm-copy p{font-size:13.5px;color:var(--muted);line-height:1.9;margin:0 0 22px}
.video-frame{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#000 url("../img/play-drift.webp") center/cover}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-play{position:absolute;inset:0;width:100%;height:100%;border:0;background:linear-gradient(0deg,rgba(6,6,10,.88),rgba(6,6,10,.25));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transition:.3s}
.video-play:hover{background:linear-gradient(0deg,rgba(6,6,10,.8),rgba(6,6,10,.12))}
.video-play span{width:62px;height:62px;border:2px solid var(--yellow);border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--yellow);padding-left:4px}
.video-play small{font-size:12px;letter-spacing:.08em}
.cm-accounts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cm-accounts a,.cm-accounts span{font-size:11.5px;padding:6px 11px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.cm-accounts a:hover{color:var(--yellow);border-color:var(--yellow)}

/* ---------- venues ---------- */
.venue-section{background:linear-gradient(180deg,var(--bg2),#0a0910)}
.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.venue-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);display:flex;flex-direction:column;transition:.3s}
.venue-card:hover{border-color:rgba(242,230,0,.35)}
.vc-media{position:relative;height:250px;overflow:hidden}
.vc-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.venue-card:hover .vc-media img{transform:scale(1.05)}
.vc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,9,16,.8),transparent 60%)}
.vc-city{position:absolute;bottom:16px;left:22px;z-index:2;font:800 13px var(--num);letter-spacing:.18em;color:var(--yellow)}
.vc-body{padding:28px 30px 30px;display:flex;flex-direction:column;flex:1}
.vc-tag{font:700 11px var(--num);letter-spacing:.12em;color:var(--yellow)}
.vc-body h3{font-size:21px;margin:10px 0 12px}
.vc-addr{font-size:13.5px;color:#d8d6e2;line-height:1.85;margin:0 0 12px}
.vc-note{font-size:12.5px;color:var(--muted);line-height:1.85;margin:0 0 22px;flex:1}
.vc-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.venue-tip{margin-top:20px;padding:16px 22px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--muted)}
.venue-tip span{color:var(--yellow);margin-right:10px}

/* ---------- partner ---------- */
.partner-section{background:radial-gradient(circle at 85% 0%,rgba(242,230,0,.06),transparent 45%),var(--bg)}
.partner-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.p-tab{background:var(--card);border:1px solid var(--line);color:var(--muted);padding:11px 20px;border-radius:6px;font-size:13.5px;transition:.25s}
.p-tab.active,.p-tab:hover{color:#0b0b0b;background:var(--yellow);border-color:var(--yellow);font-weight:700}
.partner-panel{display:grid;grid-template-columns:1.4fr .6fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}
.pp2-main{padding:38px 40px;position:relative}
.pp2-no{position:absolute;top:22px;right:30px;font:800 60px var(--num);color:rgba(255,255,255,.045)}
.pp2-main h3{font-size:24px;margin:10px 0 14px}
.pp2-main p{font-size:14px;color:var(--muted);line-height:1.9;max-width:640px;margin:0 0 22px}
.pp2-points{display:flex;flex-wrap:wrap;gap:9px}
.pp2-points span{font-size:12px;padding:7px 12px;border:1px solid rgba(242,230,0,.3);color:var(--yellow);border-radius:4px;background:rgba(242,230,0,.04)}
.pp2-side{padding:34px 30px;border-left:1px solid var(--line);background:rgba(255,255,255,.015)}
.pp2-side-label{font:700 10px var(--num);letter-spacing:.16em;color:var(--dim)}
.space-row{display:flex;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.space-row b{font:800 23px var(--num);color:var(--yellow)}
.space-row span{font-size:12.5px;color:var(--muted)}
.pp2-side p{font-size:12px;color:var(--dim);line-height:1.85;margin:16px 0 0}
.business-case{margin-top:18px;border:1px solid var(--line);border-radius:var(--radius);padding:30px 34px;background:var(--card)}
.bc-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.bc-head h3{font-size:19px;margin:0}
.bc-head span{font-size:11.5px;color:var(--yellow);border:1px solid rgba(242,230,0,.35);padding:4px 9px;border-radius:4px}
.bc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 16px}
.bc-grid div{border-left:2px solid var(--yellow);padding-left:14px;display:flex;flex-direction:column;gap:2px}
.bc-grid b{font:800 25px var(--num)}
.bc-grid b small{font-size:12px;color:var(--yellow);margin-left:3px;font-family:var(--sans);font-weight:600}
.bc-grid span{font-size:11.5px;color:var(--muted)}
.business-case>p{font-size:11.5px;color:var(--dim);line-height:1.8;margin:0}
.inquiry{margin-top:18px;display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;padding:40px 44px;border:1px solid rgba(242,230,0,.3);border-radius:var(--radius);background:linear-gradient(120deg,#15130b,var(--card) 60%)}
.inq-copy h3{font-size:25px;margin:12px 0 12px}
.inq-copy p{font-size:13.5px;color:var(--muted);line-height:1.9}
.inq-downloads{display:flex;flex-direction:column;gap:9px;margin-top:24px}
.inq-downloads a{font-size:12.5px;color:var(--yellow);border-bottom:1px solid rgba(242,230,0,.25);padding-bottom:7px;width:fit-content}
.inq-downloads a:hover{color:#fff}
.inq-form{display:flex;flex-direction:column;gap:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.inq-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}
.inq-form input,.inq-form select,.inq-form textarea{background:#0d0c13;border:1px solid var(--line2);border-radius:6px;color:var(--text);padding:11px 13px;font-size:14px;outline:none;transition:border-color .2s}
.inq-form input:focus,.inq-form select:focus,.inq-form textarea:focus{border-color:var(--yellow)}
.inq-form textarea{resize:vertical}
.inq-form .btn{align-self:flex-start;margin-top:4px}
.form-note{font-size:11px;color:var(--dim);margin:0}
.inq-result h3{font-size:22px;margin:10px 0 10px}
.inq-result p{font-size:13px;color:var(--muted);line-height:1.85;margin:0 0 16px}
.inq-result p a{color:var(--yellow);text-decoration:underline}
.inq-result pre{white-space:pre-wrap;word-break:break-word;background:#0d0c13;border:1px solid var(--line2);border-radius:8px;padding:16px 18px;font:13px/1.8 var(--sans);color:#e6e4ee;margin:0 0 18px}
.inq-btns{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.ae-label{display:inline-block;font:700 10px var(--num);letter-spacing:.16em;color:var(--yellow);margin-bottom:8px}
.about-entity h3{font-size:24px;margin:0 0 14px}
.about-entity h4{font-size:16px;margin:28px 0 10px}
.about-entity p{font-size:13.5px;color:var(--muted);line-height:1.9;margin:0}
.ae-cred{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.ae-cred span{font-size:11.5px;padding:6px 10px;border:1px solid var(--line);color:var(--muted);border-radius:4px}
.timeline{border-left:1px solid var(--line2);padding-left:24px}
.timeline .kicker{margin-bottom:18px}
.tl-item{position:relative;padding:0 0 18px 8px;display:grid;grid-template-columns:74px 1fr;gap:14px;font-size:13px;color:var(--muted);line-height:1.7}
.tl-item::before{content:"";position:absolute;left:-30px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--bg2);border:2px solid var(--yellow)}
.tl-item b{font:800 14px var(--num);color:var(--yellow)}
.ip-family{margin-top:40px;border-top:1px solid var(--line);padding-top:28px}
.ip-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.ip-chips span{font-size:13px;padding:10px 16px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:#d8d6e2}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);background:#06060a;padding:64px 0 26px}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px}
.footer-brand p{font-size:12.5px;color:var(--dim);line-height:1.9;margin:18px 0 0}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-col h4{font-size:13px;margin:0 0 6px;color:var(--text)}
.footer-col a,.footer-col span{font-size:12.5px;color:var(--muted)}
.footer-col a:hover{color:var(--yellow)}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:48px;padding-top:22px;font-size:11.5px;color:var(--dim)}
.footer-domain{font-family:var(--num);letter-spacing:.1em;color:var(--yellow)}
.to-top{position:fixed;right:22px;bottom:88px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:rgba(12,11,18,.9);color:var(--text);font-size:17px;opacity:0;pointer-events:none;transition:.3s;z-index:90}
.to-top.show{opacity:1;pointer-events:auto}
.to-top:hover{border-color:var(--yellow);color:var(--yellow)}
.mobile-cta{display:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .main-nav{gap:14px}
  .main-nav a{font-size:12.5px}
  .header-global{display:none}
  .layers{grid-template-columns:repeat(2,1fr)}
  .spec-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){
  .container{width:calc(100% - 40px)}
  .section{padding:84px 0}
  .nav-toggle{display:flex}
  .main-nav{position:fixed;top:74px;left:0;right:0;background:rgba(8,8,12,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 22px;transform:translateY(-14px);opacity:0;pointer-events:none;transition:.25s;max-height:calc(100svh - 74px);overflow:auto}
  .main-nav.open{transform:none;opacity:1;pointer-events:auto}
  .main-nav a{padding:13px 4px;border-bottom:1px solid var(--line);font-size:15px}
  .main-nav a::after{display:none}
  .hero-inner{grid-template-columns:1fr;padding:54px 0 70px}
  .hero-visual{flex-direction:row;justify-content:space-between;align-items:flex-end;min-height:0}
  .hero-spec{justify-content:flex-start}
  .stat-row{grid-template-columns:repeat(3,1fr);gap:18px 0}
  .stat:nth-child(4){border-left:0;padding-left:0}
  .scroll-hint{display:none}
  .pillars{grid-template-columns:1fr}
  .pillar-img{height:210px}
  .split-deal{grid-template-columns:1fr}
  .deal-mid{flex-direction:row;padding:14px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .deal-side+.deal-side{border-left:0}
  .hundred-plan,.track-showcase,.software-strip,.content-matrix,.product-panel,.partner-panel,.inquiry,.about-grid{grid-template-columns:1fr}
  .pp2-side{border-left:0;border-top:1px solid var(--line)}
  .track-facts{grid-template-columns:repeat(3,1fr)}
  .spec-grid,.bc-grid{grid-template-columns:repeat(2,1fr)}
  .event-duo,.venue-grid,.ops-row{grid-template-columns:1fr}
  .pp-media{min-height:330px}
  .track-media,.track-map{min-height:320px}
  .footer-top{grid-template-columns:1fr 1fr}
  .mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:95;background:rgba(10,9,15,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom));gap:10px}
  .mobile-cta a{flex:1;text-align:center;padding:11px;border:1px solid var(--line2);border-radius:6px;font-size:13.5px;font-weight:700}
  .mobile-cta .mc-primary{background:var(--yellow);border-color:var(--yellow);color:#0b0b0b}
  body{padding-bottom:64px}
  .to-top{bottom:80px}
}
@media (max-width:600px){
  .container{width:calc(100% - 32px)}
  .section{padding:70px 0}
  .section-head{margin-bottom:38px}
  .section-head h2{font-size:29px}
  .section-sub{font-size:14.5px}
  .hero{min-height:auto}
  .hero-inner{padding:44px 0 52px}
  .hero-copy h1{font-size:37px;margin:20px 0 20px}
  .hero-lead{font-size:14.5px}
  .hero-cta{gap:9px}
  .hero-cta .btn{padding:12px 16px;font-size:13.5px}
  .hero-visual{display:none}
  .stat-row{grid-template-columns:repeat(2,1fr);gap:16px 0}
  .stat{border-left:0;padding-left:0}
  .stat b{font-size:25px}
  .layers,.track-facts,.spec-grid,.bc-grid,.ss-games{grid-template-columns:repeat(2,1fr)}
  .track-facts .tf:last-child{grid-column:span 2}
  .tf b,.spec b{font-size:24px}
  .hundred-plan,.inquiry,.content-matrix,.software-strip,.partner-panel .pp2-main,.product-panel .pp-info,.leaderboard,.business-case{padding:26px 22px}
  .hundred-plan{gap:24px}
  .hp-numbers{gap:8px}
  .hp-numbers div{padding-left:10px}
  .hp-numbers b{font-size:21px}
  .pp-info h3,.cm-copy h3,.inq-copy h3{font-size:22px}
  .pp-specs,.form-row{grid-template-columns:1fr}
  .vc-body,.ec-body{padding:22px}
  .lb-row{grid-template-columns:40px 1fr auto;padding:11px 12px;font-size:12.5px}
  .lb-row em{font-size:14px}
  .footer-top{grid-template-columns:1fr 1fr;gap:24px}
  .footer-bottom{font-size:10.5px}
  .fine-print{font-size:11.5px}
  .track-svg{max-height:200px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
