:root {
  --bg:#0b0810;
  --panel:#15101d;
  --panel-2:#1e152b;
  --purple:#7c3aed;
  --purple-dark:#4c1d95;
  --purple-light:#c4a7ff;
  --paper:#f4efff;
  --muted:#9d94aa;
  --line:rgba(196,167,255,.2);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); }
body { margin:0; color:var(--paper); background:var(--bg); font-family:Arial,Helvetica,sans-serif; overflow-x:hidden; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
::selection { color:white; background:var(--purple); }

.site-header { height:92px; padding:0 clamp(20px,4vw,64px); position:absolute; z-index:20; inset:0 0 auto; display:grid; grid-template-columns:auto 1fr auto; align-items:center; border-bottom:1px solid rgba(255,255,255,.12); }
.logo { font:900 clamp(26px,3vw,40px)/1 Impact,"Arial Black",sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.logo span { color:var(--purple-light); }
.site-nav { justify-self:center; display:flex; gap:clamp(20px,3vw,48px); font:700 15px/1 "Courier New",monospace; letter-spacing:.12em; text-transform:uppercase; }
.site-nav a { color:#bbb1c7; transition:color .25s; }
.site-nav a:hover { color:white; }
.header-button { padding:15px 20px; color:white; background:var(--purple); border:1px solid #9f76ff; font-weight:900; text-transform:uppercase; letter-spacing:.08em; transition:transform .25s,background .25s; }
.header-button:hover { background:#9465ff; transform:translateY(-2px); }
.menu-toggle { display:none; width:46px; height:46px; padding:10px; background:transparent; border:1px solid #51465e; }
.menu-toggle i { display:block; height:2px; margin:6px 0; background:white; transition:transform .25s; }
.menu-toggle.is-open i:first-child { transform:translateY(4px) rotate(45deg); }
.menu-toggle.is-open i:last-child { transform:translateY(-4px) rotate(-45deg); }
.demo-back-top { position:fixed; z-index:30; left:clamp(18px,3vw,46px); top:108px; padding:14px 18px; color:#1a0c2c; background:var(--purple-light); border:2px solid white; box-shadow:0 10px 30px rgba(0,0,0,.35); font:900 14px/1 "Courier New",monospace; letter-spacing:.05em; text-transform:uppercase; transition:transform .25s,background .25s; }
.demo-back-top:hover { background:white; transform:translateX(-4px); }

.hero { min-height:100svh; padding:150px clamp(22px,7vw,112px) 110px; position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:6vw; align-items:center; overflow:hidden; background:radial-gradient(circle at 78% 45%,rgba(124,58,237,.28),transparent 34%),linear-gradient(125deg,#0b0810 0 56%,#1b0e31 56% 100%); }
.hero-noise { position:absolute; inset:0; opacity:.13; background-image:repeating-linear-gradient(135deg,transparent 0 18px,rgba(255,255,255,.08) 18px 19px); mask-image:linear-gradient(90deg,transparent,#000); }
.hero-copy { position:relative; z-index:2; }
.overline { display:flex; align-items:center; gap:13px; margin:0; color:var(--purple-light); font:700 15px/1.3 "Courier New",monospace; letter-spacing:.12em; text-transform:uppercase; }
.overline span { width:46px; height:3px; background:var(--purple); }
.hero h1 { margin:30px 0 28px; font:900 clamp(86px,14vw,220px)/.86 Impact,"Arial Black",sans-serif; letter-spacing:-.035em; text-transform:uppercase; }
.hero h1 span { color:var(--purple); }
.hero-lead { max-width:690px; margin:0; color:#c4bdcc; font-size:clamp(22px,2.1vw,31px); line-height:1.45; font-weight:700; }
.hero-actions { margin-top:42px; display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.button { min-height:68px; display:inline-flex; align-items:center; justify-content:space-between; gap:38px; padding:0 24px; border:1px solid transparent; font-weight:900; letter-spacing:.08em; text-transform:uppercase; transition:transform .25s,background .25s; }
.button:hover { transform:translateY(-3px); }
.button-primary { background:var(--purple); border-color:#a786ff; }
.button-primary:hover { background:#9465ff; }
.button-light { color:#180b2b; background:white; }
.button-light:hover { background:#e7dbff; }
.text-link { padding-bottom:6px; color:#cfc7d7; border-bottom:1px solid #756b7f; font:700 16px "Courier New",monospace; text-transform:uppercase; }
.hero-machine { position:relative; z-index:2; min-height:520px; display:grid; place-items:center; }
.fc-wheel { width:min(38vw,520px); aspect-ratio:1; position:relative; filter:drop-shadow(0 0 24px rgba(196,167,255,.2)) drop-shadow(0 30px 50px rgba(0,0,0,.42)); animation:wheel-float 5s ease-in-out infinite; }
.fc-layer { position:absolute; left:0; top:0; width:100%; height:100%; display:block; object-fit:contain; transform-origin:50% 50%; will-change:transform; }
.fc-layer-tire {
  z-index:1;
  animation:fc-spin-left 14s linear infinite;
}
.fc-layer-rim { z-index:2; animation:fc-spin-right 9s linear infinite; }
.fc-layer-cap { z-index:3; }
.machine-code { position:absolute; right:0; bottom:5%; padding:10px 15px; color:#c4a7ff; background:#0b0810; border:1px solid #523b70; font:15px "Courier New",monospace; letter-spacing:.12em; }
@keyframes fc-spin-left { to { transform:rotate(-360deg); } }
@keyframes fc-spin-right { to { transform:rotate(360deg); } }
@keyframes wheel-float { 50% { transform:translateY(-10px); } }
.garage-strip { position:absolute; left:-2%; right:-2%; bottom:18px; padding:12px 0; overflow:hidden; color:#160928; background:var(--purple-light); font:900 17px/1 "Courier New",monospace; letter-spacing:.08em; white-space:nowrap; transform:rotate(-1.4deg); }

.section { padding:130px clamp(22px,7vw,112px); }
.section-label { margin-bottom:55px; color:var(--purple-light); font:700 15px "Courier New",monospace; letter-spacing:.13em; text-transform:uppercase; }
.intro { background:#f2ecfb; color:#130c19; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; }
.intro h2,.services h2,.cta-section h2 { margin:0; font:900 clamp(58px,8vw,118px)/1.04 Impact,"Arial Black",sans-serif; letter-spacing:-.025em; text-transform:uppercase; }
h2 em { color:var(--purple); font-style:normal; }
.intro-copy { padding-top:10px; }
.intro-copy p { margin:0 0 30px; font-size:clamp(22px,2vw,29px); line-height:1.5; font-weight:700; }
.stats { margin-top:90px; display:grid; grid-template-columns:repeat(3,1fr); border-top:3px solid #24172e; border-bottom:3px solid #24172e; }
.stats div { padding:30px 25px; display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:center; border-right:1px solid rgba(19,12,25,.22); }
.stats div:last-child { border-right:0; }
.stats strong { color:var(--purple); font:900 58px Impact,sans-serif; }
.stats span { font:700 15px/1.35 "Courier New",monospace; text-transform:uppercase; }

.services { background:linear-gradient(180deg,#0b0810,#130b20); }
.services-head { margin-bottom:75px; }
.services h2 { max-width:1100px; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.service-card { min-height:440px; padding:34px; position:relative; display:flex; flex-direction:column; overflow:hidden; background:var(--panel); border:1px solid var(--line); transition:transform .3s,border-color .3s,background .3s; }
.service-card:hover { transform:translateY(-6px); border-color:#8e5dea; background:#1b1227; }
.service-card-wide { grid-column:1/-1; min-height:390px; background:linear-gradient(100deg,#17101f 0 65%,#4c1d95 65%); }
.service-card-purple { background:var(--purple-dark); }
.service-index { color:#8d8298; font:16px "Courier New",monospace; }
.service-icon { margin:35px 0 auto; color:var(--purple-light); font:900 78px/1 Impact,sans-serif; }
.service-card h3 { max-width:760px; margin:28px 0 18px; font:900 clamp(36px,4.5vw,68px)/1.05 Impact,"Arial Black",sans-serif; text-transform:uppercase; }
.service-card p { max-width:810px; margin:0; color:#bdb5c6; font-size:22px; line-height:1.5; }
.service-card p strong { color:white; }
.service-card > i { margin-top:34px; color:#83778f; font:14px "Courier New",monospace; letter-spacing:.12em; }
.service-card-purple p,.service-card-purple > i { color:#e1d6f7; }

.cta-section { min-height:670px; padding:120px clamp(22px,7vw,112px); position:relative; display:grid; align-items:center; overflow:hidden; background:var(--purple); }
.cta-section > div:first-child { position:relative; z-index:2; }
.cta-section .overline { color:#241039; }
.cta-section .overline span { background:#241039; }
.cta-section h2 { max-width:1100px; margin:35px 0 45px; color:white; }
.cta-section h2 em { color:#241039; }
.cta-rings { position:absolute; right:-180px; top:50%; width:620px; aspect-ratio:1; transform:translateY(-50%); }
.cta-rings i { position:absolute; inset:0; border:2px solid rgba(255,255,255,.22); border-radius:50%; }
.cta-rings i:nth-child(2) { inset:16%; }.cta-rings i:nth-child(3) { inset:32%; background:#5d24b4; }

.contact-main { min-height:100vh; background:linear-gradient(130deg,#0b0810 0 62%,#24103b 62%); }
.contact-hero { min-height:650px; padding:170px clamp(22px,7vw,112px) 90px; display:grid; grid-template-columns:1fr auto; gap:60px; align-items:end; border-bottom:1px solid var(--line); }
.contact-title h1 { margin:32px 0 30px; font:900 clamp(70px,11vw,168px)/1.02 Impact,"Arial Black",sans-serif; text-transform:uppercase; letter-spacing:-.025em; }
.contact-title h1 em { color:var(--purple-light); font-style:normal; }
.contact-title > p:last-child { max-width:780px; margin:0; color:#bbb2c4; font-size:23px; line-height:1.55; }
.contact-badge { width:220px; aspect-ratio:1; display:grid; place-items:center; border:18px solid #0c0810; border-radius:50%; background:var(--purple); box-shadow:0 0 0 2px #b491ff,0 0 60px rgba(124,58,237,.35); }
.contact-badge span { font:900 70px Impact,sans-serif; }
.contact-badge i { font:14px "Courier New",monospace; letter-spacing:.12em; }
.contact-content { padding-top:90px; }
.contact-details-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#3c3047; border:1px solid #3c3047; }
.contact-details-grid > * { min-height:230px; padding:30px; display:flex; flex-direction:column; background:#130e1a; transition:background .25s; }
.contact-details-grid > a:hover { background:#21132f; }
.contact-details-grid span { color:var(--purple-light); font:15px "Courier New",monospace; letter-spacing:.12em; text-transform:uppercase; }
.contact-details-grid strong { margin:auto 0; font-size:clamp(28px,3.5vw,48px); line-height:1.05; overflow-wrap:anywhere; }
.contact-details-grid b { color:#8f8499; font:15px "Courier New",monospace; text-transform:uppercase; }
.map-placeholder { margin-top:70px; min-height:560px; position:relative; display:grid; place-items:center; overflow:hidden; background:#191220; border:1px solid #4a385b; }
.map-grid { position:absolute; inset:0; opacity:.45; background-image:linear-gradient(#463452 1px,transparent 1px),linear-gradient(90deg,#463452 1px,transparent 1px); background-size:48px 48px; transform:rotate(-7deg) scale(1.2); }
.map-pin { position:absolute; right:18%; top:22%; width:110px; height:110px; border-radius:50% 50% 50% 0; background:var(--purple); transform:rotate(-45deg); box-shadow:0 18px 50px rgba(124,58,237,.45); }
.map-pin i { position:absolute; inset:31%; border-radius:50%; background:#130e1a; }
.map-copy { position:relative; z-index:2; padding:34px; text-align:center; background:rgba(11,8,16,.88); border:1px solid #59446c; }
.map-copy span { color:var(--purple-light); font:14px "Courier New",monospace; text-transform:uppercase; letter-spacing:.12em; }
.map-copy strong { display:block; margin:18px 0; font:900 clamp(38px,5vw,72px)/1.05 Impact,sans-serif; text-transform:uppercase; }
.map-copy p { margin:0; color:#91869b; font:15px "Courier New",monospace; }

.demo-exit { padding:42px clamp(22px,7vw,112px); color:#1a0c2c; background:var(--purple-light); }
.demo-exit a { max-width:1500px; margin:auto; display:flex; justify-content:space-between; gap:30px; align-items:center; }
.demo-exit span { font:700 15px "Courier New",monospace; letter-spacing:.11em; text-transform:uppercase; }
.demo-exit strong { font:900 clamp(24px,3.2vw,46px)/1 Impact,"Arial Black",sans-serif; letter-spacing:.025em; text-transform:uppercase; transition:transform .25s; }
.demo-exit a:hover strong { transform:translateX(-7px); }
.site-footer { min-height:150px; padding:30px clamp(22px,4vw,64px); display:grid; grid-template-columns:1fr auto 1fr; gap:25px; align-items:center; color:#8f8499; background:#08060b; border-top:1px solid #2d2435; font:14px "Courier New",monospace; text-transform:uppercase; letter-spacing:.08em; }
.site-footer span:nth-child(2) { text-align:center; }
.site-footer a:last-child { justify-self:end; color:#c4a7ff; }
[data-reveal] { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
  [data-reveal] { opacity:1; transform:none; }
}

@media (max-width:980px) {
  .site-header { height:78px; grid-template-columns:1fr auto; }
  .header-button { display:none; }
  .menu-toggle { display:block; position:relative; z-index:3; }
  .site-nav { position:fixed; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:35px; color:white; background:#0b0810; font-size:24px; transform:translateY(-100%); visibility:hidden; transition:transform .4s,visibility .4s; }
  .site-nav.is-open { transform:none; visibility:visible; }
  .hero { min-height:auto; padding-top:135px; grid-template-columns:1fr; }
  .hero h1 { font-size:clamp(84px,23vw,150px); }
  .hero-machine { min-height:390px; }
  .fc-wheel { width:min(74vw,440px); }
  .intro-grid { grid-template-columns:1fr; gap:55px; }
  .stats { grid-template-columns:1fr; }
  .stats div { border-right:0; border-bottom:1px solid rgba(19,12,25,.22); }
  .stats div:last-child { border-bottom:0; }
  .service-grid { grid-template-columns:1fr; }
  .service-card-wide { grid-column:auto; background:var(--panel); }
  .contact-hero { grid-template-columns:1fr; padding-top:135px; }
  .contact-badge { display:none; }
}

@media (max-width:650px) {
  .site-header { padding:0 18px; }
  .demo-back-top { top:90px; left:12px; padding:12px 14px; font-size:12px; }
  .demo-exit { padding:34px 20px; }
  .demo-exit a { display:grid; gap:15px; }
  .demo-exit strong { font-size:30px; line-height:1.08; }
  .section { padding:90px 20px; }
  .hero { padding:160px 20px 95px; }
  .hero h1 { font-size:clamp(74px,25vw,112px); }
  .hero-lead { font-size:21px; }
  .hero-actions { align-items:stretch; flex-direction:column; }
  .button { width:100%; }
  .hero-machine { min-height:330px; }
  .fc-wheel { width:min(88vw,420px); }
  .machine-code { right:10px; }
  .garage-strip { font-size:14px; }
  .intro h2,.services h2,.cta-section h2 { font-size:clamp(52px,17vw,78px); }
  .section-label { margin-bottom:38px; }
  .intro-copy p { font-size:21px; }
  .stats { margin-top:60px; }
  .service-card { min-height:390px; padding:26px 22px; }
  .service-card h3 { font-size:42px; }
  .service-card p { font-size:20px; }
  .cta-section { min-height:610px; padding:90px 20px; }
  .cta-rings { right:-360px; }
  .contact-hero { min-height:620px; padding:165px 20px 65px; }
  .contact-title h1 { font-size:clamp(66px,21vw,100px); }
  .contact-title > p:last-child { font-size:20px; }
  .contact-details-grid { grid-template-columns:1fr; }
  .contact-details-grid > * { min-height:210px; }
  .map-placeholder { min-height:480px; }
  .map-pin { right:6%; top:12%; width:82px; height:82px; }
  .site-footer { grid-template-columns:1fr; text-align:left; }
  .site-footer span:nth-child(2) { text-align:left; }
  .site-footer a:last-child { justify-self:start; }
}
