/* ARS NextGen M01: versioned presentation layer; prior CSS remains untouched. */
:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { background:#050814; color:#edf3ff; }
.ng-site-header, .ng-site-footer, .ng-hero { box-sizing:border-box; }
.ng-site-header *, .ng-site-footer *, .ng-hero * { box-sizing:border-box; }
.ng-site-header { background:rgba(3,8,20,.97); border-bottom:1px solid rgba(154,183,222,.17); position:relative; z-index:100; }
.ng-nav-shell { width:min(1240px, calc(100% - 48px)); margin:auto; min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.ng-brand { display:inline-flex; flex:0 0 auto; align-items:center; width:200px; height:75px; }
.ng-brand img { display:block; width:195px; height:75px; object-fit:contain; }
.ng-nav-links { display:flex; align-items:center; gap:clamp(18px,2.3vw,32px); }
.ng-nav-links a, .ng-contact { color:#dce6fb; font-size:.89rem; letter-spacing:.01em; text-decoration:none; white-space:nowrap; }
.ng-nav-links a:hover, .ng-nav-links a:focus-visible, .ng-nav-links a[aria-current="page"] { color:#7ccbff; }
.ng-contact { border:1px solid rgba(160,190,240,.35); padding:12px 20px; border-radius:100px; background:linear-gradient(160deg,rgba(66,100,162,.26),rgba(5,10,25,.7)); }
.ng-contact:hover, .ng-contact:focus-visible { background:rgba(52,108,206,.32); color:#fff; }
.ng-mobile-nav { display:none; position:relative; }
.ng-mobile-nav summary { display:flex; flex-direction:column; gap:5px; cursor:pointer; padding:12px; list-style:none; }
.ng-mobile-nav summary::-webkit-details-marker { display:none; }
.ng-mobile-nav summary span { width:23px; height:2px; background:#fff; }
.ng-mobile-nav nav { position:absolute; top:45px; right:0; width:min(290px,calc(100vw - 35px)); padding:12px; border:1px solid #32476b; border-radius:12px; background:#070e20; box-shadow:0 20px 44px rgba(0,0,0,.7); display:grid; gap:4px; }
.ng-mobile-nav nav a { display:block; text-decoration:none; padding:12px; color:#ecf5ff; border-radius:7px; }
.ng-mobile-nav nav a:hover,.ng-mobile-nav nav a:focus-visible { background:#14315b; }
.ng-hero { overflow:hidden; position:relative; padding:64px 0 26px; min-height:660px; background:radial-gradient(ellipse 56% 45% at 50% 56%,#122b61 0%,#09142c 55%,transparent 93%),linear-gradient(180deg,#030713 0%,#08132b 66%,#030713 100%); }
.ng-hero:after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,#2b82f0,transparent); }
.ng-hero-stars { pointer-events:none; position:absolute; inset:0; opacity:.6; background-image:radial-gradient(circle at 22% 18%,#6ec5ff 1px,transparent 2px),radial-gradient(circle at 82% 30%,#84abff 1px,transparent 2px); background-size:230px 170px,260px 240px; }
.ng-hero-main { position:relative; z-index:1; width:min(1240px,calc(100% - 48px)); margin:0 auto; text-align:center; }
.ng-kicker { color:#93caff; letter-spacing:.32em; font-size:.67rem; font-weight:700; margin:0 0 16px; }
.ng-hero h1 { font-family:Georgia,'Times New Roman',serif; color:#fff; font-size:clamp(2.6rem,5.7vw,5.3rem); line-height:1.08; font-weight:400; letter-spacing:-.045em; max-width:1030px; margin:0 auto 17px; }
.ng-hero h1 em { color:#93c8ff; font-style:normal; }
.ng-hero-subtitle { color:#d0daeb; font-size:clamp(.94rem,1.35vw,1.09rem); line-height:1.65; max-width:690px; margin:0 auto 25px; }
.ng-hero-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; position:relative; z-index:4; }
.ng-primary-button,.ng-secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:15px; border-radius:100px; text-decoration:none; font-weight:650; padding:15px 27px; min-height:52px; font-size:.94rem; }
.ng-primary-button { background:linear-gradient(150deg,#36aeff 0%,#075bde 52%,#023a9b 100%); color:#fff; border:1px solid #6dc5ff; box-shadow:inset 0 1px 0 #adddff,0 0 22px rgba(15,112,251,.34); }
.ng-secondary-button { color:#e7f0ff; border:1px solid #536d93; background:linear-gradient(150deg,#162744c0,#080d1cbc); }
.ng-primary-button:hover,.ng-primary-button:focus-visible { filter:brightness(1.15); }
.ng-secondary-button:hover,.ng-secondary-button:focus-visible { border-color:#a0d2ff; }
.ng-hero-stage { width:100%; position:relative; max-width:1140px; min-height:350px; margin:3px auto -8px; }
.ng-glow { position:absolute; inset:12% 8% 6%; background:radial-gradient(ellipse,#0c74f13b,transparent 68%); pointer-events:none; }
.ng-car-figure { position:relative; isolation:isolate; width:min(94%,950px); margin:auto; overflow:hidden; }
.ng-car-figure img { display:block; width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 24px 20px rgba(0,0,0,.54)); }
.ng-scan-beam { position:absolute; pointer-events:none; z-index:3; width:3px; height:64%; top:19%; left:17%; border-radius:4px; background:linear-gradient(180deg,transparent,#56d8ff 15%,#daf9ff 50%,#56d8ff 85%,transparent); box-shadow:0 0 10px 3px #2baaff,0 0 42px #04a2ff; opacity:.83; animation:ng-car-scan 5.7s ease-in-out infinite alternate; }
.ng-scan-sweep { position:absolute; z-index:2; pointer-events:none; width:19%; height:55%; top:23%; left:17%; transform:skewX(-13deg); background:linear-gradient(90deg,transparent,rgba(56,168,255,.22),rgba(129,219,255,.01)); animation:ng-car-scan 5.7s ease-in-out infinite alternate; }
@keyframes ng-car-scan { from{left:17%;opacity:.22} 18%{opacity:.88} 85%{opacity:.92} to{left:80%;opacity:.22} }
.ng-diagnostic { position:absolute; width:190px; text-align:left; padding:16px 17px; background:rgba(6,17,38,.72); border:1px solid rgba(76,143,213,.5); border-radius:14px; backdrop-filter:blur(8px); color:#ecf6ff; display:grid; gap:5px; box-shadow:0 10px 28px rgba(0,0,0,.25); }
.ng-diagnostic-label { color:#6ab9ff; font-size:.59rem; letter-spacing:.11em; }
.ng-diagnostic strong { font-size:1rem; }
.ng-diagnostic>span:last-child { font-size:.72rem; color:#b8cae5; }
.ng-diagnostic-left { left:0; top:25%; }.ng-diagnostic-right { right:0; bottom:19%; }
.ng-visual-disclaimer { position:absolute; bottom:4%; left:0; right:0; color:#b0c0d8; font-size:.7rem; letter-spacing:.04em; text-align:center; }
.ng-hero-availability { font-size:.73rem; text-transform:uppercase; letter-spacing:.15em; color:#9eb2d0; margin:16px 0 4px; }
.ng-site-footer { border-top:1px solid #263c62; background:#040915; color:#b7cbe5; padding:44px 24px 18px; }
.ng-footer-grid { max-width:1200px; margin:auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:34px; }
.ng-footer-intro img { width:180px; height:90px; object-fit:contain; }
.ng-footer-intro p { line-height:1.65; max-width:380px; }
.ng-site-footer nav { display:grid; align-content:start; gap:12px; }
.ng-site-footer nav strong { color:#ebf3ff; font-size:.75rem; letter-spacing:.16em; margin-bottom:8px; }
.ng-site-footer nav a { color:#aec2e0; text-decoration:none; font-size:.85rem; }
.ng-site-footer nav a:hover { color:#67baff; }
.ng-footer-bottom { border-top:1px solid #263854; max-width:1200px; margin:32px auto 0; padding-top:18px; display:flex; justify-content:space-between; gap:12px; font-size:.73rem; }
@media (max-width:1050px) { .ng-nav-links{gap:12px}.ng-nav-links a{font-size:.79rem}.ng-brand{width:160px}.ng-brand img{width:160px}.ng-diagnostic{width:160px} }
@media (max-width:800px) { .ng-nav-shell{min-height:72px;width:calc(100% - 32px)}.ng-nav-links,.ng-contact{display:none}.ng-mobile-nav{display:block}.ng-brand,.ng-brand img{width:150px;height:65px}.ng-hero{padding-top:58px;min-height:auto}.ng-hero-main{width:calc(100% - 28px)}.ng-kicker{font-size:.6rem;letter-spacing:.23em}.ng-hero h1{font-size:clamp(2.5rem,9vw,4rem)}.ng-hero-subtitle{font-size:.94rem}.ng-hero-stage{min-height:0;margin-top:18px}.ng-car-figure{width:100%}.ng-diagnostic{display:none}.ng-visual-disclaimer{bottom:-1%;font-size:.63rem;max-width:300px;margin:auto}.ng-footer-grid{grid-template-columns:1fr 1fr}.ng-footer-intro{grid-column:1/-1}.ng-footer-bottom{flex-direction:column} }
@media (max-width:420px){ .ng-hero h1{font-size:2.5rem}.ng-hero-actions{flex-direction:column;align-items:stretch;margin:0 6px}.ng-hero-stage{margin-top:18px}.ng-visual-disclaimer{font-size:.58rem}.ng-site-footer{padding:30px 17px 20px}.ng-hero-availability{font-size:.63rem;line-height:1.5}.ng-footer-grid{gap:22px} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto}.ng-scan-beam,.ng-scan-sweep{animation:none;left:48%;opacity:.25}.ng-primary-button,.ng-secondary-button{transition:none} }