/* ============================================================
   ATM STREET REMAP — one-pager
   Dark asphalt + neon red motorsport system
   ============================================================ */

:root{
  --bg:        #07070a;
  --bg-2:      #0b0b10;
  --panel:     #101016;
  --panel-2:   #16161e;
  --line:      #24242e;
  --line-2:    #313140;

  --red:       #ff2533;
  --red-hot:   #ff4b3e;
  --red-deep:  #c8101c;
  --red-glow:  rgba(255,40,52,.55);

  --white:     #f6f6f8;
  --muted:     #9a9aa6;
  --muted-2:   #6a6a76;

  --green:     #36d35b;

  --font-disp: "Saira Condensed", system-ui, sans-serif;
  --font-body: "Saira", system-ui, sans-serif;
  --font-mono: "Space Mono", ui-monospace, monospace;

  --maxw: 1240px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--white);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
section{ position:relative; }
::selection{ background:var(--red); color:#fff; }

/* ---- shared layout ---- */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.eyebrow{
  font-family:var(--font-mono);
  font-size:13px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--red); display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--red); display:inline-block; }
h2.title{
  font-family:var(--font-disp); font-weight:800;
  font-size:clamp(38px,6.4vw,76px); line-height:.92;
  text-transform:uppercase; letter-spacing:-.01em;
}
h2.title em{ font-style:normal; color:var(--red); }
.lead{ color:var(--muted); font-size:clamp(15px,1.7vw,18px); max-width:56ch; }

/* hazard stripes — brand signature */
.hazard{
  background-image:repeating-linear-gradient(-58deg,
    var(--red) 0 14px, transparent 14px 30px);
}
.hazard-fade{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
}

/* glow buttons */
.btn{
  --c:var(--red);
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-disp); font-weight:700; font-size:17px;
  text-transform:uppercase; letter-spacing:.05em;
  padding:15px 28px; border-radius:4px; cursor:pointer; border:0;
  background:var(--c); color:#fff; position:relative; isolation:isolate;
  box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 14px 34px -10px var(--red-glow);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .2s;
  clip-path:polygon(0 0,100% 0,100% 100%,12px 100%,0 calc(100% - 12px));
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 0 0 1px rgba(255,255,255,.12), 0 22px 46px -10px var(--red-glow); }
.btn:active{ transform:translateY(0); }
.btn.ghost{
  background:transparent; color:var(--white);
  box-shadow:inset 0 0 0 1.5px var(--line-2);
}
.btn.ghost:hover{ box-shadow:inset 0 0 0 1.5px var(--red); color:#fff; }
.btn svg{ width:18px; height:18px; }

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px;
  transition:background .3s, box-shadow .3s, padding .3s;
}
.nav.scrolled{
  background:rgba(7,7,10,.82); backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line); padding:10px 24px;
}
.nav .brand{ display:flex; align-items:center; gap:12px; font-family:var(--font-disp); font-weight:800; letter-spacing:.02em; }
.nav .brand img{ height:34px; width:auto; border-radius:5px; }
.nav .brand b{ font-size:20px; text-transform:uppercase; }
.nav .brand b span{ color:var(--red); }
.nav-links{ display:flex; align-items:center; gap:30px; }
.nav-links a{
  font-family:var(--font-mono); font-size:13px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--muted); transition:color .2s; position:relative;
}
.nav-links a:hover{ color:#fff; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0; background:var(--red); transition:width .25s; }
.nav-links a:hover::after{ width:100%; }
.nav .btn{ padding:10px 20px; font-size:14px; }
.nav-toggle{ display:none; background:none; border:0; cursor:pointer; flex-direction:column; gap:5px; padding:8px; }
.nav-toggle span{ width:26px; height:2px; background:#fff; transition:.3s; }

/* =========================================================
   HERO
   ========================================================= */
.hero{ min-height:100svh; display:flex; align-items:center; overflow:hidden; padding-top:80px; }
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg img{
  position:absolute; right:-6%; bottom:0; height:108%; width:auto; max-width:none;
  object-fit:cover; will-change:transform;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 42%);
          mask-image:linear-gradient(90deg,transparent 0%,#000 42%);
}
.hero-bg::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(120% 90% at 8% 50%, rgba(7,7,10,.96) 32%, rgba(7,7,10,.4) 70%, transparent),
    linear-gradient(180deg, rgba(7,7,10,.7), transparent 30%, transparent 70%, var(--bg));
}
.hero-glow{
  position:absolute; z-index:0; right:8%; top:40%; width:48vw; height:48vw;
  background:radial-gradient(circle, var(--red-glow), transparent 62%);
  filter:blur(40px); opacity:.5; transform:translateY(-50%); pointer-events:none;
}
.speedlines{ position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.speedlines i{
  position:absolute; height:2px; left:-30%; width:30%;
  background:linear-gradient(90deg,transparent,var(--red),transparent);
  opacity:0; animation:streak linear infinite;
}
@keyframes streak{ 0%{ left:-35%; opacity:0;} 8%{opacity:.8;} 60%{opacity:.5;} 100%{ left:130%; opacity:0;} }

.hero-inner{ position:relative; z-index:2; }
.hero .badge-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.chip{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); padding:7px 13px; border:1px solid var(--line-2); border-radius:3px;
  background:rgba(255,255,255,.02); display:inline-flex; gap:8px; align-items:center;
}
.chip b{ color:var(--red); }
.hero h1{
  font-family:var(--font-disp); font-weight:800; text-transform:uppercase;
  font-size:clamp(46px,8.6vw,108px); line-height:.84; letter-spacing:-.015em;
  margin:6px 0 0; text-shadow:0 0 60px rgba(0,0,0,.6);
}
.hero h1 .slant{ display:inline-block; transform:skewX(-9deg); white-space:nowrap; }
.hero h1 .out{ color:transparent; -webkit-text-stroke:2px var(--red); text-stroke:2px var(--red); }
.hero h1 .red{ color:var(--red); text-shadow:0 0 44px var(--red-glow); }
.hero-sub{ margin-top:24px; font-size:clamp(17px,2.2vw,22px); color:var(--white); max-width:34ch; font-weight:500; }
.hero-sub b{ color:var(--red); }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.hero-meta{
  margin-top:42px; display:flex; gap:34px; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2);
}
.hero-meta b{ color:#fff; display:block; font-family:var(--font-disp); font-size:30px; letter-spacing:0; }
.scrollcue{
  position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:3;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.3em; color:var(--muted-2);
  display:flex; flex-direction:column; align-items:center; gap:10px; text-transform:uppercase;
}
.scrollcue .mouse{ width:22px; height:36px; border:2px solid var(--line-2); border-radius:12px; position:relative; }
.scrollcue .mouse::after{ content:""; position:absolute; top:7px; left:50%; transform:translateX(-50%); width:3px; height:7px; background:var(--red); border-radius:2px; animation:wheel 1.5s infinite; }
@keyframes wheel{ 0%{opacity:0;transform:translate(-50%,0);} 40%{opacity:1;} 100%{opacity:0;transform:translate(-50%,12px);} }

/* =========================================================
   SECTION CHROME
   ========================================================= */
.sec{ padding:clamp(72px,11vw,140px) 0; }
.sec-head{ max-width:720px; margin-bottom:54px; }
.sec-head .eyebrow{ margin-bottom:18px; }
.divider{ height:18px; width:100%; opacity:.85; }

/* =========================================================
   SERVICES
   ========================================================= */
.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.svc-card{
  background:linear-gradient(165deg,var(--panel),var(--bg-2));
  border:1px solid var(--line); border-radius:10px; padding:30px 26px 32px;
  position:relative; overflow:hidden;
  transition:transform .35s var(--ease), border-color .35s, box-shadow .35s;
}
.svc-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--red),transparent 70%); transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease);
}
.svc-card:hover{ transform:translateY(-6px); border-color:var(--line-2); box-shadow:0 30px 60px -30px rgba(0,0,0,.9); }
.svc-card:hover::before{ transform:scaleX(1); }
.svc-num{ font-family:var(--font-mono); font-size:12px; color:var(--muted-2); letter-spacing:.2em; }
.svc-ic{
  width:50px; height:50px; border-radius:8px; display:grid; place-items:center; margin:14px 0 18px;
  background:rgba(255,40,52,.1); border:1px solid rgba(255,40,52,.28); color:var(--red);
}
.svc-ic svg{ width:26px; height:26px; }
.svc-card h3{ font-family:var(--font-disp); font-weight:700; font-size:25px; text-transform:uppercase; letter-spacing:.01em; margin-top:16px; }
.svc-card .tag{ font-family:var(--font-mono); font-size:11px; color:var(--red); letter-spacing:.14em; margin-top:3px; text-transform:uppercase; }
.svc-list{ list-style:none; margin-top:18px; display:flex; flex-direction:column; gap:11px; }
.svc-list li{ display:flex; gap:11px; align-items:flex-start; font-size:15px; color:var(--muted); }
.svc-list li b{ color:var(--white); font-weight:600; }
.svc-list li svg{ width:16px; height:16px; color:var(--red); flex:0 0 auto; margin-top:3px; }

/* tabbed coding section */
.code-wrap{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; }
.code-col{
  background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:28px 24px;
}
.code-col h3{
  font-family:var(--font-disp); font-weight:700; font-size:22px; text-transform:uppercase;
  display:flex; align-items:center; gap:12px; margin-bottom:6px;
}
.code-col h3 .dot{ width:9px; height:9px; background:var(--red); border-radius:2px; box-shadow:0 0 12px var(--red); }
.code-col .sub{ font-family:var(--font-mono); font-size:11px; color:var(--muted-2); letter-spacing:.12em; text-transform:uppercase; margin-bottom:18px; }
.code-col ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
.code-col li{ font-size:14.5px; color:var(--muted); padding-left:18px; position:relative; }
.code-col li::before{ content:""; position:absolute; left:0; top:9px; width:7px; height:7px; background:var(--red); transform:rotate(45deg); }
.code-col li b{ color:#fff; font-weight:600; }

/* =========================================================
   PROJEKTI / DYNO
   ========================================================= */
.proj{ display:flex; flex-direction:column; gap:64px; }
.proj-card{
  display:grid; grid-template-columns:0.92fr 1.08fr; gap:0;
  background:var(--panel); border:1px solid var(--line); border-radius:14px; overflow:hidden;
}
.proj-card:nth-child(even){ grid-template-columns:1.08fr 0.92fr; }
.proj-photo{ position:relative; min-height:340px; overflow:hidden; }
.proj-card:nth-child(even) .proj-photo{ order:2; }
.proj-photo img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease); }
.proj-card:hover .proj-photo img{ transform:scale(1.05); }
.proj-photo .ribbon{
  position:absolute; left:0; top:22px; background:var(--red); color:#fff;
  font-family:var(--font-disp); font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  font-size:14px; padding:8px 18px 8px 16px; clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);
  box-shadow:0 8px 24px -6px var(--red-glow);
}
.proj-body{ padding:34px 36px 38px; display:flex; flex-direction:column; }
.proj-body h3{ font-family:var(--font-disp); font-weight:800; font-size:clamp(26px,3vw,38px); text-transform:uppercase; line-height:.95; }
.proj-body .meta{ font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; color:var(--muted-2); text-transform:uppercase; margin-top:8px; display:flex; flex-wrap:wrap; gap:8px; }
.proj-body .meta span{ border:1px solid var(--line-2); padding:4px 9px; border-radius:3px; }
.proj-body .meta span.hl{ border-color:var(--red); color:var(--red); }

.dyno{ margin-top:22px; }
.dyno svg{ width:100%; height:auto; display:block; }
.dyno .grid-l{ stroke:var(--line); stroke-width:1; }
.dyno .axis-t{ fill:var(--muted-2); font-family:var(--font-mono); font-size:11px; }
.dyno-curve{ fill:none; stroke-linecap:round; stroke-linejoin:round; }

.gain-row{ display:flex; gap:14px; margin-top:24px; flex-wrap:wrap; }
.gain{
  flex:1 1 0; min-width:130px; background:var(--bg-2); border:1px solid var(--line);
  border-radius:9px; padding:16px 18px; position:relative; overflow:hidden;
}
.gain .lab{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); }
.gain .val{ font-family:var(--font-disp); font-weight:800; font-size:clamp(30px,3.6vw,46px); line-height:1; margin-top:6px; display:flex; align-items:baseline; gap:4px; }
.gain .val small{ font-size:.42em; color:var(--muted); font-weight:600; }
.gain .from{ font-family:var(--font-mono); font-size:11px; color:var(--muted-2); margin-top:8px; }
.gain .from b{ color:var(--green); }
.gain.up .val{ color:var(--red); text-shadow:0 0 26px var(--red-glow); }
.gain .plus{ font-family:var(--font-disp); font-weight:800; color:var(--red); font-size:.6em; }

/* =========================================================
   PREDNOSTI
   ========================================================= */
.why{ position:relative; }
.why .wrap{ position:relative; z-index:2; }
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:18px; }
.why-item{
  background:linear-gradient(160deg,var(--panel),var(--bg-2)); border:1px solid var(--line);
  border-radius:10px; padding:26px 24px; display:flex; gap:16px; align-items:flex-start;
  transition:transform .3s var(--ease), border-color .3s;
}
.why-item:hover{ transform:translateY(-5px); border-color:var(--red); }
.why-item .n{ font-family:var(--font-disp); font-weight:800; font-size:34px; color:var(--red); line-height:1; opacity:.85; }
.why-item h4{ font-family:var(--font-disp); font-weight:700; font-size:19px; text-transform:uppercase; }
.why-item p{ color:var(--muted); font-size:14px; margin-top:5px; }

.dealer-bar{
  margin-top:40px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  border:1px solid var(--line); border-radius:10px; padding:20px 24px; background:var(--panel);
}
.dealer-bar .pulse{ width:11px; height:11px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(54,211,91,.6); animation:pulse 2s infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(54,211,91,.5);} 70%{box-shadow:0 0 0 12px rgba(54,211,91,0);} 100%{box-shadow:0 0 0 0 rgba(54,211,91,0);} }
.dealer-bar b{ font-family:var(--font-disp); text-transform:uppercase; font-size:18px; }
.dealer-bar span{ color:var(--muted); font-size:14px; }

/* =========================================================
   KONTAKT
   ========================================================= */
.contact{ text-align:center; overflow:hidden; }
.contact .bigcta{
  font-family:var(--font-disp); font-weight:800; text-transform:uppercase;
  font-size:clamp(40px,8vw,104px); line-height:.86; letter-spacing:-.01em;
}
.contact .bigcta em{ font-style:normal; color:transparent; -webkit-text-stroke:1.6px var(--red); }
.contact .phone{
  font-family:var(--font-disp); font-weight:800; font-size:clamp(34px,6vw,64px); margin-top:18px;
  color:var(--red); text-shadow:0 0 40px var(--red-glow); display:inline-block;
}
.contact-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:40px; max-width:760px; margin-left:auto; margin-right:auto; }
.cbtn{
  display:flex; flex-direction:column; align-items:center; gap:12px; padding:26px 14px;
  background:var(--panel); border:1px solid var(--line); border-radius:11px;
  transition:transform .28s var(--ease), border-color .28s, background .28s;
}
.cbtn:hover{ transform:translateY(-5px); border-color:var(--red); background:var(--panel-2); }
.cbtn .ic{ width:48px; height:48px; border-radius:10px; display:grid; place-items:center; background:rgba(255,40,52,.1); border:1px solid rgba(255,40,52,.28); color:var(--red); transition:.28s; }
.cbtn:hover .ic{ background:var(--red); color:#fff; box-shadow:0 0 26px var(--red-glow); }
.cbtn .ic svg{ width:24px; height:24px; }
.cbtn .lab{ font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); }
.cbtn .v{ font-family:var(--font-disp); font-weight:700; font-size:16px; }
.contact .loc{ margin-top:34px; font-family:var(--font-mono); font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); display:inline-flex; gap:10px; align-items:center; }
.contact .loc svg{ width:16px; height:16px; color:var(--red); }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ border-top:1px solid var(--line); padding:40px 0 60px; }
.footer .wrap{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.footer .brand{ display:flex; align-items:center; gap:12px; font-family:var(--font-disp); font-weight:800; text-transform:uppercase; }
.footer .brand img{ height:38px; border-radius:6px; }
.footer .brand span{ color:var(--red); }
.footer .pwr{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; color:var(--muted-2); text-transform:uppercase; }
.footer .cc{ font-family:var(--font-mono); font-size:11px; color:var(--muted-2); }

/* =========================================================
   REVEAL ANIMATIONS
   ========================================================= */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .speedlines, .scrollcue .mouse::after{ display:none; }
  html{ scroll-behavior:auto; }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:980px){
  .svc-grid{ grid-template-columns:1fr; }
  .code-wrap{ grid-template-columns:1fr; }
  .why-grid{ grid-template-columns:1fr 1fr; }
  .proj-card, .proj-card:nth-child(even){ grid-template-columns:1fr; }
  .proj-card:nth-child(even) .proj-photo{ order:0; }
  .proj-photo{ min-height:300px; }
  .contact-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .nav-links{
    position:fixed; inset:0 0 auto 0; top:0; flex-direction:column; align-items:flex-start;
    gap:6px; background:rgba(7,7,10,.97); backdrop-filter:blur(16px);
    padding:88px 28px 28px; transform:translateY(-110%); transition:transform .4s var(--ease);
    height:auto; box-shadow:0 20px 50px rgba(0,0,0,.6); border-bottom:1px solid var(--line);
  }
  .nav-links.open{ transform:translateY(0); }
  .nav-links a{ font-size:18px; padding:12px 0; }
  .nav-links .btn{ margin-top:10px; width:100%; }
  .nav-toggle{ display:flex; z-index:70; }
  .nav .desk-cta{ display:none; }
  .hero-bg img{ right:-30%; height:62%; bottom:0; opacity:.55;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 40%); mask-image:linear-gradient(180deg,transparent,#000 40%); }
  .hero-bg::after{ background:radial-gradient(120% 70% at 50% 100%, rgba(7,7,10,.96) 30%, rgba(7,7,10,.55) 60%, transparent), linear-gradient(180deg, var(--bg) 8%, transparent 30%, transparent 60%, var(--bg)); }
  .hero-meta{ gap:24px; }
  .why-grid{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr 1fr; }
  .proj-body{ padding:26px 22px 30px; }
  .footer .wrap{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:420px){
  .contact-grid{ grid-template-columns:1fr 1fr; }
  .gain{ min-width:46%; }
}
