*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --night:#0b1120;
  --soil:#1a0e05;
  --dirt1:#3d2b1a;
  --dirt2:#5c3f27;
  --dirt3:#7a5234;
  --pipe-blue:#1e6fa8;
  --pipe-glow:#4db8ff;
  --orange:#ff6a00;
  --orange2:#ff9d45;
  --yellow:#ffd000;
  --sky1:#0f2850;
  --sky2:#1a3d72;
  --white:#ffffff;
  --gray:#8a9bb0;
}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--night);color:var(--white);overflow-x:hidden}

/* ── SCROLL RULER ── */
.scroll-ruler{
  position:fixed;top:0;left:0;right:0;
  height:5px;z-index:300;
  background:rgba(11,17,32,.55);
  pointer-events:none;
}
.scroll-ruler-tape{
  height:100%;width:0%;
  background-color:var(--orange);
  background-image:
    repeating-linear-gradient(90deg,
      transparent 0,transparent 24px,
      rgba(0,0,0,.45) 24px,rgba(0,0,0,.45) 25px
    ),
    repeating-linear-gradient(90deg,
      transparent 0,transparent 4px,
      rgba(0,0,0,.18) 4px,rgba(0,0,0,.18) 5px
    );
  position:relative;will-change:width;
}
.scroll-ruler-tape::after{
  content:'';position:absolute;right:0;top:0;bottom:0;
  width:2px;background:white;opacity:.65;
}

/* ══════════════════════════════
   NAV
══════════════════════════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:64px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;
  background:rgba(11,17,32,0.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,106,0,0.2);
}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-box{display:none}
.logo img{filter:drop-shadow(0 0 10px rgba(255,160,40,.35)) drop-shadow(0 0 3px rgba(255,255,255,.2))}
.logo-name{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:3px;color:white;line-height:1}
.logo-tag{font-size:9px;color:rgba(255,255,255,0.4);letter-spacing:2px;text-transform:uppercase;display:block}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{color:rgba(255,255,255,0.65);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;transition:color .2s}
.nav-links a:hover{color:var(--orange)}
.nav-btn{background:var(--orange);color:white!important;padding:8px 18px!important;clip-path:polygon(0 0,92% 0,100% 100%,8% 100%);transition:background .2s!important}
.nav-btn:hover{background:var(--orange2)!important}

/* ══════════════════════════════
   HERO — FULL SCENE
══════════════════════════════ */
#hero{
  position:relative;
  height:100vh;min-height:600px;
  display:flex;align-items:center;
  overflow:hidden;
  padding-top:64px;
  padding-bottom:80px;
}

/* SKY gradient */
.sky{
  position:absolute;inset:0;
  background:linear-gradient(180deg,#060d1a 0%,#0f2346 40%,#1a3d72 75%,#22314a 100%);
}

/* Stars */
.stars{position:absolute;inset:0;overflow:hidden}
.star{position:absolute;background:white;border-radius:50%;animation:twinkle var(--d,3s) ease-in-out infinite var(--dl,0s)}
@keyframes twinkle{0%,100%{opacity:.8}50%{opacity:.2}}

/* Moon */
.moon{
  position:absolute;top:12%;right:12%;
  width:60px;height:60px;
  background:radial-gradient(circle at 35% 35%,#fffde0,#ffd54f);
  border-radius:50%;
  box-shadow:0 0 30px 8px rgba(255,213,79,.25),0 0 80px 20px rgba(255,213,79,.1);
  animation:moonGlow 4s ease-in-out infinite;
}
@keyframes moonGlow{0%,100%{box-shadow:0 0 30px 8px rgba(255,213,79,.25),0 0 80px 20px rgba(255,213,79,.1)}50%{box-shadow:0 0 40px 12px rgba(255,213,79,.35),0 0 100px 30px rgba(255,213,79,.15)}}

/* City silhouette */
.city{
  position:absolute;bottom:38%;left:0;right:0;
  height:120px;
  background:
    linear-gradient(transparent 0%,transparent 100%) center/0 0,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='120'%3E%3Crect x='10' y='60' width='30' height='60' fill='%230d1e3a'/%3E%3Crect x='15' y='40' width='20' height='20' fill='%230d1e3a'/%3E%3Crect x='50' y='70' width='25' height='50' fill='%230d1e3a'/%3E%3Crect x='80' y='50' width='40' height='70' fill='%230d1e3a'/%3E%3Crect x='85' y='35' width='30' height='15' fill='%230d1e3a'/%3E%3Crect x='90' y='20' width='3' height='15' fill='%230d1e3a'/%3E%3Crect x='130' y='65' width='20' height='55' fill='%230d1e3a'/%3E%3Crect x='160' y='55' width='35' height='65' fill='%230d1e3a'/%3E%3Crect x='200' y='75' width='22' height='45' fill='%230d1e3a'/%3E%3Crect x='230' y='45' width='50' height='75' fill='%230d1e3a'/%3E%3Crect x='240' y='30' width='30' height='15' fill='%230d1e3a'/%3E%3Crect x='290' y='70' width='28' height='50' fill='%230d1e3a'/%3E%3Crect x='325' y='60' width='35' height='60' fill='%230d1e3a'/%3E%3Crect x='365' y='72' width='25' height='48' fill='%230d1e3a'/%3E%3C/svg%3E") repeat-x bottom;
  opacity:.7;
}

/* Ground layers */
.ground-surface{
  position:absolute;bottom:32%;left:0;right:0;height:16px;
  background:linear-gradient(180deg,#4a3520,#3a2810);
  border-top:2px solid #6b4c2e;
}
.ground-body{
  position:absolute;bottom:0;left:0;right:0;top:68%;
  background:linear-gradient(180deg,#2e1e0f 0%,#1e1208 50%,#130c05 100%);
}

/* Trench */
.trench{
  position:absolute;bottom:32%;
  left:30%;width:42%;
  height:120px;
  background:linear-gradient(180deg,#1a0e05 0%,#0d0802 100%);
  border-left:3px solid #5c3f27;
  border-right:3px solid #5c3f27;
  overflow:hidden;
}
.trench-layer{
  position:absolute;left:0;right:0;height:18px;
  opacity:.6;
}
.trench-layer:nth-child(1){top:0;background:repeating-linear-gradient(90deg,#3d2b1a 0,#3d2b1a 8px,#2e1e0f 8px,#2e1e0f 16px)}
.trench-layer:nth-child(2){top:20px;background:repeating-linear-gradient(90deg,#5c3f27 0,#5c3f27 6px,#3d2b1a 6px,#3d2b1a 12px)}
.trench-layer:nth-child(3){top:42px;background:repeating-linear-gradient(90deg,#2e1e0f 0,#2e1e0f 10px,#1a0e05 10px,#1a0e05 20px)}

/* Pipe in trench */
.pipe-in-trench{
  position:absolute;
  left:4%;right:4%;
  bottom:10px;height:24px;
  border-radius:12px;
  background:linear-gradient(180deg,#2a7fc4 0%,#1a5fa8 40%,#0f3d72 100%);
  border:1.5px solid rgba(77,184,255,.4);
  box-shadow:0 0 12px rgba(77,184,255,.3),inset 0 3px 0 rgba(255,255,255,.15);
  overflow:hidden;
}
/* Water flow animation inside pipe */
.pipe-flow{
  position:absolute;top:0;bottom:0;width:300%;
  background:repeating-linear-gradient(90deg,
    transparent 0,transparent 40px,
    rgba(77,184,255,.3) 40px,rgba(77,184,255,.3) 80px
  );
  animation:pipeFlow 1.2s linear infinite;
}
@keyframes pipeFlow{from{transform:translateX(0)}to{transform:translateX(-80px)}}

/* Pipe extending left from trench */
.pipe-left{
  position:absolute;
  right:100%;bottom:10px;
  width:35%;height:24px;
  border-radius:12px 0 0 12px;
  background:linear-gradient(180deg,#2a7fc4 0%,#1a5fa8 40%,#0f3d72 100%);
  border:1.5px solid rgba(77,184,255,.4);
  box-shadow:0 0 12px rgba(77,184,255,.3);
}
/* Pipe extending right */
.pipe-right{
  position:absolute;
  left:100%;bottom:10px;
  width:35%;height:24px;
  border-radius:0 12px 12px 0;
  background:linear-gradient(180deg,#2a7fc4,#1a5fa8,#0f3d72);
  border:1.5px solid rgba(77,184,255,.4);
  box-shadow:0 0 12px rgba(77,184,255,.3);
  overflow:hidden;
}
.pipe-right .pipe-flow{animation:pipeFlow 1.2s linear infinite}

/* Dirt pile next to trench */
.dirt-pile{
  position:absolute;
  bottom:calc(32% + 16px);
  right:calc(58% - 30px);
  width:100px;height:40px;
  background:radial-gradient(ellipse 100% 100% at 50% 100%,#7a5234,#5c3f27,transparent);
  border-radius:50% 50% 0 0;
}
.dirt-pile2{
  position:absolute;
  bottom:calc(32% + 16px);
  left:calc(58% - 20px);
  width:70px;height:30px;
  background:radial-gradient(ellipse 100% 100% at 50% 100%,#6b4c2e,#5c3f27,transparent);
  border-radius:50% 50% 0 0;
}

/* ══════════════════════════════
   EXCAVATOR SVG — ANIMATED
══════════════════════════════ */
.excavator-wrap{
  position:absolute;
  bottom:calc(32% + 14px);
  left:16%;
  transform-origin:bottom center;
  animation:excavatorBob 3s ease-in-out infinite;
}
@keyframes excavatorBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* Boom (upper arm) rotation */
.exc-boom{
  transform-origin:22px 6px;
  animation:boomSwing 3s ease-in-out infinite;
}
@keyframes boomSwing{
  0%{transform:rotate(-15deg)}
  40%{transform:rotate(5deg)}
  70%{transform:rotate(-5deg)}
  100%{transform:rotate(-15deg)}
}

/* Stick (lower arm) rotation */
.exc-stick{
  transform-origin:0px 0px;
  animation:stickSwing 3s ease-in-out infinite;
}
@keyframes stickSwing{
  0%{transform:rotate(10deg)}
  40%{transform:rotate(-20deg)}
  70%{transform:rotate(-10deg)}
  100%{transform:rotate(10deg)}
}

/* Bucket rotation */
.exc-bucket{
  transform-origin:0px 0px;
  animation:bucketCurl 3s ease-in-out infinite;
}
@keyframes bucketCurl{
  0%{transform:rotate(30deg)}
  40%{transform:rotate(60deg)}
  70%{transform:rotate(40deg)}
  100%{transform:rotate(30deg)}
}

/* Track animation */
.exc-track-marks{
  animation:trackRoll 0.4s linear infinite;
}
@keyframes trackRoll{
  from{transform:translateX(0)}
  to{transform:translateX(-12px)}
}

/* Cabin light blink - handled by canvas now */

/* ══════════════════════════════
   SEMN LUCRĂRI
══════════════════════════════ */
.work-sign{
  position:absolute;
  bottom:calc(32% + 14px);
  left:4%;
  z-index:5;
  pointer-events:none;
  animation:signSway 4s ease-in-out infinite;
  transform-origin:bottom center;
}
@keyframes signSway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
.work-sign-post{
  width:4px;height:52px;
  background:linear-gradient(180deg,#6a6e76,#3a3c40);
  margin:0 auto;
  border-radius:1px;
}
.work-sign-board{
  width:90px;
  background:repeating-linear-gradient(
    45deg,
    #e8b800 0px,#e8b800 12px,
    #1a1a1a 12px,#1a1a1a 24px
  );
  border:3px solid #1a1a1a;
  border-radius:2px;
  padding:5px 4px;
  text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}
.work-sign-inner{
  background:#e8b800;
  padding:3px 2px;
  border-radius:1px;
}
.work-sign-txt{
  font-family:'Bebas Neue',sans-serif;
  font-size:9px;letter-spacing:1.5px;
  color:#1a1a1a;line-height:1.3;
  display:block;
}
.work-sign-icon{font-size:13px;display:block;line-height:1;margin-bottom:1px}

/* Easter egg */
.exc-easter{
  position:fixed;
  font-family:'Bebas Neue',sans-serif;
  font-size:14px;letter-spacing:2px;
  color:var(--orange);
  background:rgba(11,17,32,.95);
  border:1px solid rgba(255,106,0,.4);
  padding:6px 12px;
  pointer-events:none;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .3s,transform .3s;
  white-space:nowrap;
  z-index:9999;
  box-shadow:0 4px 20px rgba(0,0,0,.5);
}
.exc-easter.show{opacity:1;transform:translateY(0)}
.exc-easter::after{
  content:'';position:absolute;bottom:-6px;left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:8px;height:8px;
  background:rgba(11,17,32,.95);
  border-right:1px solid rgba(255,106,0,.4);
  border-bottom:1px solid rgba(255,106,0,.4);
}

/* ══════════════════════════════
   PROGRAM CLOCK
══════════════════════════════ */
.program-clock{
  margin-top:32px;
  background:#0d1a2e;
  border:1px solid rgba(255,255,255,.07);
  padding:22px 24px;
  position:relative;
  overflow:hidden;
}
.program-clock::before{
  content:'';position:absolute;
  top:0;left:0;height:2px;
  width:var(--bar-pct, 0%);
  background:linear-gradient(90deg,var(--orange),var(--orange2));
  transition:width 1s linear;
}
.pc-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;
}
.pc-label{
  font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(255,255,255,.35);
}
.pc-time{
  font-family:'Bebas Neue',sans-serif;
  font-size:28px;letter-spacing:3px;
  color:white;line-height:1;
}
.pc-status{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;
  font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  margin-bottom:16px;
}
.pc-status.open{
  background:rgba(30,180,80,.12);
  border:1px solid rgba(30,180,80,.3);
  color:#3dd68c;
}
.pc-status.closed{
  background:rgba(220,60,60,.1);
  border:1px solid rgba(220,60,60,.25);
  color:#ff6b6b;
}
.pc-dot{
  width:7px;height:7px;border-radius:50%;
  flex-shrink:0;
}
.pc-status.open .pc-dot{
  background:#3dd68c;
  box-shadow:0 0 8px rgba(61,214,140,.6);
  animation:pcPulse 1.5s ease-in-out infinite;
}
.pc-status.closed .pc-dot{background:#ff6b6b}
@keyframes pcPulse{0%,100%{box-shadow:0 0 8px rgba(61,214,140,.6)}50%{box-shadow:0 0 16px rgba(61,214,140,.9)}}

.pc-days{
  display:grid;grid-template-columns:repeat(7,1fr);gap:3px;
  margin-bottom:14px;
}
.pc-day{
  text-align:center;
  padding:6px 2px;
  font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:rgba(255,255,255,.25);
  border:1px solid rgba(255,255,255,.05);
  position:relative;
  transition:all .3s;
}
.pc-day.workday{
  color:rgba(255,106,0,.7);
  border-color:rgba(255,106,0,.2);
  background:rgba(255,106,0,.05);
}
.pc-day.today{
  color:white;
  border-color:var(--orange);
  background:rgba(255,106,0,.15);
}
.pc-day.today.workday{
  color:white;
  border-color:var(--orange);
  background:rgba(255,106,0,.18);
}
.pc-day-name{display:block;margin-bottom:2px}
.pc-day-bar{
  width:100%;height:2px;
  background:rgba(255,106,0,.0);
  margin-top:4px;
}
.pc-day.workday .pc-day-bar{background:rgba(255,106,0,.4)}
.pc-day.today .pc-day-bar{background:var(--orange)}

.pc-hours{
  display:flex;align-items:center;gap:10px;
}
.pc-prog{
  flex:1;height:4px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden;
}
.pc-prog-fill{
  height:100%;background:linear-gradient(90deg,var(--orange),var(--orange2));
  border-radius:2px;transition:width 1s linear;
}
.pc-prog-txt{
  font-size:10px;color:rgba(255,255,255,.35);white-space:nowrap;
}
.pc-next{
  margin-top:12px;font-size:11px;color:rgba(255,255,255,.35);line-height:1.5;
}
.pc-next strong{color:rgba(255,255,255,.6)}

/* Materiale section */
#materiale{
  padding:90px 5%;
  background:#0d1525;
  position:relative;
  overflow:hidden;
}
#materiale::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(77,184,255,.3),transparent);
}
.mat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:2px;
  margin-top:56px;
}
.mat-card{
  background:#111e33;
  padding:36px 32px;
  position:relative;overflow:hidden;
  transition:transform .3s,background .3s;
}
.mat-card:hover{background:#152135;transform:translateY(-3px)}
.mat-card::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--pipe-blue),var(--pipe-glow));
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s;
}
.mat-card:hover::before{transform:scaleX(1)}
.mat-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(77,184,255,.08);
  border:1px solid rgba(77,184,255,.2);
  color:rgba(77,184,255,.9);
  font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:4px 10px;margin-bottom:16px;
}
.mat-icon{
  width:44px;height:44px;
  background:rgba(77,184,255,.1);
  border:1px solid rgba(77,184,255,.2);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}
.mat-icon svg{width:22px;height:22px;fill:none;stroke:var(--pipe-glow);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mat-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:24px;letter-spacing:1px;color:white;margin-bottom:10px;
}
.mat-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.75;margin-bottom:14px}
.mat-spec{
  display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;
}
.mat-tag{
  font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  padding:3px 8px;
  background:rgba(255,106,0,.08);border:1px solid rgba(255,106,0,.2);
  color:rgba(255,106,0,.8);
}
.mat-highlight{
  margin-top:16px;padding:12px 16px;
  background:rgba(77,184,255,.06);
  border-left:2px solid var(--pipe-glow);
}
.mat-highlight p{font-size:12px;color:rgba(77,184,255,.8);line-height:1.6}
.mat-highlight strong{color:var(--pipe-glow)}
@media(max-width:600px){.mat-grid{grid-template-columns:1fr}}

/* Dust particles from tracks */
.dust{
  position:absolute;
  border-radius:50%;
  background:rgba(122,82,52,.6);
  animation:dustFloat var(--dd,2s) ease-out infinite var(--dl2,0s);
  pointer-events:none;
}
@keyframes dustFloat{
  0%{opacity:.6;transform:translate(0,0) scale(1)}
  100%{opacity:0;transform:translate(var(--dx,-20px),var(--dy,-30px)) scale(2.5)}
}

/* ══════════════════════════════
   HERO TEXT
══════════════════════════════ */
.hero-text{
  position:absolute;
  right:4%;top:50%;
  transform:translateY(-50%);
  width:44%;
  padding:0 2%;
  text-align:right;
  z-index:10;
}
.hero-auth{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,106,0,.15);
  border:1px solid rgba(255,106,0,.35);
  color:var(--orange2);
  font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  padding:6px 14px;margin-bottom:20px;
  animation:fadeIn .6s ease both;
}
.auth-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

h1{
  font-family:'Bebas Neue',sans-serif;
  font-size:82px;
  line-height:.9;letter-spacing:2px;
  color:white;
  margin-bottom:20px;
  animation:fadeIn .6s ease .1s both;
}
h1 .water{
  display:block;
  background:linear-gradient(90deg,var(--pipe-glow),#80d8ff);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
h1 .orange{color:var(--orange)}

.hero-sub{
  font-size:15px;color:rgba(255,255,255,.6);
  line-height:1.7;margin-bottom:0px;
  animation:fadeIn .6s ease .2s both;
}
.hero-zones{
  display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;
  margin-bottom:32px;
  animation:fadeIn .6s ease .25s both;
}
.zone-tag{
  font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  padding:6px 14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.7);
}
.hero-btns{
  display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;
  animation:fadeIn .6s ease .3s both;
}
.btn-main{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--orange);color:white;
  font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;
  padding:15px 28px;text-decoration:none;
  clip-path:polygon(0 0,92% 0,100% 100%,8% 100%);
  transition:all .25s;border:none;cursor:pointer;
}
.btn-main:hover{background:var(--orange2);transform:translateY(-2px)}
.btn-out{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;
  border:1.5px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.8);font-weight:600;font-size:13px;letter-spacing:1px;
  padding:15px 28px;text-decoration:none;
  transition:all .25s;
}
.btn-out:hover{border-color:var(--pipe-glow);color:var(--pipe-glow)}

@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* Hero bottom stats */
.hero-stats{
  position:absolute;bottom:0;left:0;right:0;
  display:flex;
  background:rgba(255,255,255,.03);
  border-top:1px solid rgba(255,255,255,.07);
  z-index:10;
}
.h-stat{
  flex:1;padding:20px;text-align:center;
  border-right:1px solid rgba(255,255,255,.07);
}
.h-stat:last-child{border-right:none}
.h-num{
  font-family:'Bebas Neue',sans-serif;
  font-size:36px;color:var(--orange);letter-spacing:1px;display:block;line-height:1;
}
.h-label{font-size:10px;color:rgba(255,255,255,.4);letter-spacing:2px;text-transform:uppercase;margin-top:3px;display:block}

/* ══════════════════════════════
   ANIMATED PIPE SECTION
══════════════════════════════ */
.eye{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--orange);display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px}
.eye::before,.eye::after{content:'';display:block;width:30px;height:1px;background:var(--orange)}
.section-h{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,6vw,72px);line-height:.95;letter-spacing:2px;margin-bottom:14px}
.section-p{font-size:15px;color:rgba(255,255,255,.5);max-width:500px;margin:0 auto;line-height:1.7}


/* ══════════════════════════════
   SERVICII
══════════════════════════════ */
#servicii{padding:90px 5%;background:#0d1525}

.services-wrap{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:2px;margin-top:56px;
}
.svc{
  background:#111e33;
  padding:40px 36px;
  position:relative;overflow:hidden;
  transition:transform .3s,background .3s;
}
.svc::after{
  content:'';position:absolute;
  left:0;bottom:0;right:0;height:2px;
  background:var(--orange);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s;
}
.svc:hover{background:#152135;transform:translateY(-4px)}
.svc:hover::after{transform:scaleX(1)}
.svc-n{
  font-family:'Bebas Neue',sans-serif;
  font-size:80px;color:rgba(255,255,255,.04);
  position:absolute;top:10px;right:20px;line-height:1;
}
.svc-icon{
  width:48px;height:48px;
  margin-bottom:20px;
  background:rgba(255,106,0,.12);
  border:1px solid rgba(255,106,0,.25);
  display:flex;align-items:center;justify-content:center;
}
.svc-icon svg{width:22px;height:22px;fill:none;stroke:var(--orange);stroke-width:1.8;stroke-linecap:round}
.svc-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:26px;letter-spacing:1px;color:white;margin-bottom:10px;
}
.svc-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.7}
.svc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}
.s-tag{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:3px 8px;background:rgba(77,184,255,.08);border:1px solid rgba(77,184,255,.2);color:rgba(77,184,255,.8)}

/* ══════════════════════════════
   ZONE MAP SECTION
══════════════════════════════ */
#zone{
  padding:90px 5%;
  background:var(--night);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}
@media(max-width:768px){#zone{grid-template-columns:1fr;gap:50px}}

.zone-text .section-h{text-align:left}
.zone-text .eye{justify-content:flex-start}
.zone-text .eye::before{display:none}
.zone-desc{font-size:15px;color:rgba(255,255,255,.55);line-height:1.7;margin-top:16px;margin-bottom:32px}
.zone-list{list-style:none}
.zone-item{
  display:flex;align-items:center;gap:14px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:14px;color:rgba(255,255,255,.75);font-weight:500;
}
.zone-dot{width:8px;height:8px;background:var(--orange);flex-shrink:0}

/* SVG map — interactive */
.map-svg-wrap{position:relative}
.map-svg-wrap svg{width:100%;height:auto;max-height:420px}
.map-pulse{animation:mapPulse 2s ease-in-out infinite}
@keyframes mapPulse{0%,100%{r:6}50%{r:9}}
.map-ring{animation:mapRing 2.4s ease-out infinite}
@keyframes mapRing{0%{r:6;opacity:.65;stroke-width:1.5}100%{r:20;opacity:0;stroke-width:.3}}

/* County hover */
.county-grp{cursor:default}
.cty-fill{transition:fill .25s,stroke .25s}

/* Locality pins */
.zone-pin{cursor:pointer}
.zone-pin .pin-dot{transition:transform .18s;transform-box:fill-box;transform-origin:center}
.zone-pin:hover .pin-dot{transform:scale(1.5)}
.zone-pin .pin-lbl{opacity:0;transition:opacity .18s;pointer-events:none}
.zone-pin:hover .pin-lbl{opacity:1}

/* Map info card */
.map-info-card{
  position:absolute;bottom:16px;left:16px;
  padding:10px 16px;
  background:rgba(11,17,32,.96);
  border:1px solid rgba(255,106,0,.2);
  border-left:3px solid var(--orange);
  min-width:148px;
  opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s;
  transform:translateY(6px);
}
.map-info-card.show{opacity:1;transform:translateY(0)}
.mic-county{font-size:9px;letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:3px}
.mic-name{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1px;color:white;line-height:1}
.mic-hint{font-size:10px;color:rgba(255,255,255,.3);margin-top:4px}

/* ══════════════════════════════
   PROCESS
══════════════════════════════ */
#proces{
  padding:90px 5%;
  background:#0d1525;
}
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:56px;
  position:relative;
}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.steps{grid-template-columns:1fr}}
/* Connecting line */
.steps::before{
  content:'';
  position:absolute;
  top:28px;left:12.5%;right:12.5%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,106,0,.4),rgba(255,106,0,.4),transparent);
  z-index:0;
}
.step{
  padding:0 24px 36px;
  position:relative;z-index:1;
  text-align:center;
}
.step-circle{
  width:56px;height:56px;
  border:1.5px solid rgba(255,106,0,.4);
  background:var(--night);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  font-family:'Bebas Neue',sans-serif;
  font-size:24px;color:var(--orange);
  position:relative;
  transition:all .3s;
}
.step:hover .step-circle{background:var(--orange);color:white;border-color:var(--orange)}
.step-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;margin-bottom:10px;color:white}
.step-desc{font-size:12px;color:rgba(255,255,255,.45);line-height:1.7}

/* ══════════════════════════════
   RAJA BAND
══════════════════════════════ */
#raja{
  background:linear-gradient(135deg,#0f2a58,#0d1a3a);
  padding:64px 5%;
  border-top:1px solid rgba(77,184,255,.15);
  border-bottom:1px solid rgba(77,184,255,.15);
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
}
.raja-left h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(32px,4vw,56px);
  letter-spacing:2px;color:white;line-height:1;margin-bottom:10px;
}
.raja-left h2 span{color:var(--pipe-glow)}
.raja-left p{font-size:14px;color:rgba(255,255,255,.55);max-width:440px;line-height:1.7}
.raja-stamp{
  flex-shrink:0;
  width:160px;height:160px;
  border:2px solid rgba(77,184,255,.3);
  border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;
  background:rgba(77,184,255,.05);
  position:relative;
}
.raja-stamp::before{
  content:'';position:absolute;inset:6px;
  border:1px dashed rgba(77,184,255,.2);
  border-radius:50%;
}
.rs-top{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4)}
.rs-main{font-family:'Bebas Neue',sans-serif;font-size:40px;color:var(--pipe-glow);line-height:1;text-shadow:0 0 20px rgba(77,184,255,.5)}
.rs-bot{font-size:10px;color:rgba(255,255,255,.35);text-align:center;line-height:1.4}

/* ══════════════════════════════
   CONTACT
══════════════════════════════ */
#contact{
  padding:90px 5%;
  background:var(--night);
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:80px;align-items:start;
}
@media(max-width:768px){#contact{grid-template-columns:1fr;gap:50px}}

.cinfo .section-h{text-align:left}
.cinfo .eye{justify-content:flex-start}
.cinfo .eye::before{display:none}
.cinfo-list{list-style:none;margin-top:36px}
.cinfo-item{
  display:flex;align-items:flex-start;gap:14px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.cinfo-ico{
  width:36px;height:36px;flex-shrink:0;
  border:1px solid rgba(255,106,0,.3);
  display:flex;align-items:center;justify-content:center;
}
.cinfo-ico svg{width:16px;height:16px;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round}
.ci-lbl{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:3px}
.ci-val{font-size:15px;font-weight:600;color:white}

/* Form */
.cform{
  background:#111e33;
  padding:44px 40px;
  border-top:3px solid var(--orange);
}
.cform-title{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:1.5px;margin-bottom:6px}
.cform-sub{font-size:13px;color:rgba(255,255,255,.4);margin-bottom:28px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:500px){.frow{grid-template-columns:1fr}}
.fg{margin-bottom:16px}
.fg label{display:block;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:6px}
.fg input,.fg select,.fg textarea{
  width:100%;padding:11px 14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  color:white;font-family:'Barlow',sans-serif;font-size:14px;
  transition:border-color .2s;outline:none;
  border-radius:0;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:rgba(77,184,255,.5);background:rgba(77,184,255,.04)}
.fg select option{background:#111e33;color:white}
.fg textarea{height:100px;resize:vertical}
.fsub{
  width:100%;background:var(--orange);color:white;
  font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:3px;
  padding:16px;border:none;cursor:pointer;
  clip-path:polygon(0 0,96% 0,100% 100%,4% 100%);
  transition:background .25s;margin-top:4px;
}
.fsub:hover{background:var(--orange2)}

/* ── MULTI-STEP FORM WIZARD ── */
.step-bar{display:flex;align-items:center;gap:0;margin-bottom:28px}
.sb-seg{display:flex;align-items:center;gap:6px;flex:1}
.sb-seg:last-child{flex:none}
.sb-dot{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  border:2px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:rgba(255,255,255,.3);
  transition:border-color .3s,background .3s,color .3s;
}
.sb-dot.active{border-color:var(--orange);background:var(--orange);color:white}
.sb-dot.done{border-color:rgba(255,106,0,.5);background:rgba(255,106,0,.12);color:var(--orange)}
.sb-line{flex:1;height:1px;background:rgba(255,255,255,.1);transition:background .3s}
.sb-line.done{background:rgba(255,106,0,.4)}
.sb-lbl{font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.3);transition:color .3s;white-space:nowrap}
.sb-lbl.active{color:rgba(255,255,255,.75)}

.wiz-step{display:none}
.wiz-step.active{display:block}

.tip-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.tip-card{
  padding:14px 10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.1);
  cursor:pointer;
  transition:border-color .2s,background .2s;
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:rgba(255,255,255,.55);line-height:1.4;
}
.tip-card:hover{border-color:rgba(255,106,0,.35);background:rgba(255,106,0,.05);color:rgba(255,255,255,.8)}
.tip-card.sel{border-color:var(--orange);background:rgba(255,106,0,.1);color:white}
.tip-card-sub{font-size:9px;font-weight:400;letter-spacing:.5px;text-transform:none;color:rgba(255,255,255,.3);display:block;margin-top:4px}

.file-zone{
  display:block;position:relative;
  border:1px dashed rgba(255,255,255,.14);
  padding:22px 16px;text-align:center;cursor:pointer;
  transition:border-color .2s,background .2s;
  margin-bottom:0;
}
.file-zone:hover,.file-zone.has-file{border-color:rgba(255,106,0,.4);background:rgba(255,106,0,.04)}
.file-zone input[type=file]{
  position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;
}
.fz-ico{font-size:20px;margin-bottom:6px;line-height:1}
.fz-txt{font-size:12px;color:rgba(255,255,255,.38);line-height:1.5}
.fz-txt span{font-size:10px;opacity:.7}
.fz-name{font-size:11px;color:var(--orange);font-weight:600;margin-top:6px;display:none;word-break:break-all}

.wiz-nav{display:flex;gap:10px;margin-top:20px}
.wiz-back{
  padding:11px 18px;background:transparent;
  border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.45);
  font-family:'Barlow',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;cursor:pointer;
  transition:border-color .2s,color .2s;flex-shrink:0;
}
.wiz-back:hover{border-color:rgba(255,255,255,.3);color:white}
.wiz-next{
  flex:1;padding:13px 16px;background:var(--orange);color:white;border:none;
  font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  cursor:pointer;transition:background .2s;
}
.wiz-next:hover{background:var(--orange2)}
.wiz-next.wa-submit{background:#25d366;display:flex;align-items:center;justify-content:center;gap:8px}
.wiz-next.wa-submit:hover{background:#20ba57}

/* ══════════════════════════════
   FOOTER
══════════════════════════════ */
footer{
  background:#06090f;
  padding:36px 5%;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;
  border-top:1px solid rgba(255,255,255,.06);
}
.foot-copy{font-size:12px;color:rgba(255,255,255,.25);letter-spacing:.5px}
.foot-links{display:flex;gap:20px;list-style:none}
.foot-links a{font-size:11px;color:rgba(255,255,255,.25);text-decoration:none;letter-spacing:1.5px;text-transform:uppercase;transition:color .2s}
.foot-links a:hover{color:var(--orange)}

/* ── COUNTERS ── */
#counters{
  background:var(--orange);
  padding:0;
}
.cnt-inner{
  display:flex;align-items:stretch;
  max-width:100%;
}
.cnt-item{
  flex:1;padding:48px 32px;text-align:center;
  position:relative;
}
.cnt-num{
  font-family:'Bebas Neue',sans-serif;
  font-size:72px;color:white;line-height:1;
  display:inline-block;
}
.cnt-plus{
  font-family:'Bebas Neue',sans-serif;
  font-size:40px;color:rgba(255,255,255,.6);
  display:inline-block;vertical-align:top;margin-top:8px;
}
.cnt-label{
  font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(255,255,255,.65);margin-top:6px;
}
.cnt-divider{
  width:1px;background:rgba(255,255,255,.2);
  margin:24px 0;
}
@media(max-width:700px){
  .cnt-inner{flex-wrap:wrap}
  .cnt-item{flex:1 1 45%;padding:32px 20px}
  .cnt-divider{display:none}
}

/* ── TESTIMONIALE ── */
#testimoniale{
  padding:90px 5%;
  background:var(--night);
}
.tst-head{margin-bottom:56px}
.tst-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:2px;
}
.tst-card{
  background:#0f1e35;
  padding:36px 32px;
  position:relative;
  border-top:2px solid transparent;
  transition:border-color .3s,transform .3s;
}
.tst-card:hover{border-color:var(--orange);transform:translateY(-4px)}
.tst-stars{
  font-size:18px;color:var(--yellow);
  letter-spacing:2px;margin-bottom:16px;
}
.tst-text{
  font-size:14px;color:rgba(255,255,255,.65);
  line-height:1.75;font-style:italic;
  margin-bottom:24px;
}
.tst-author{display:flex;align-items:center;gap:14px}
.tst-av{
  width:42px;height:42px;border-radius:50%;
  background:var(--orange);
  display:flex;align-items:center;justify-content:center;
  font-family:'Bebas Neue',sans-serif;font-size:15px;color:white;
  flex-shrink:0;
}
.tst-name{font-size:14px;font-weight:700;color:white}
.tst-loc{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:.5px;margin-top:2px}

/* ── FAQ ── */
#faq{
  padding:90px 5%;
  background:#0d1525;
}
.faq-inner{
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:80px;align-items:start;
}
@media(max-width:860px){.faq-inner{grid-template-columns:1fr;gap:48px}}

.faq-item{
  border-bottom:1px solid rgba(255,255,255,.07);
}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 0;
  cursor:pointer;
  gap:16px;
  transition:color .2s;
}
.faq-q:hover{color:var(--orange)}
.faq-q span{font-size:15px;font-weight:600;line-height:1.4}
.faq-icon{
  width:28px;height:28px;flex-shrink:0;
  border:1.5px solid rgba(255,255,255,.2);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;color:rgba(255,255,255,.5);
  transition:all .25s;
  user-select:none;
}
.faq-item.open .faq-icon{
  background:var(--orange);border-color:var(--orange);
  color:white;transform:rotate(45deg);
}
.faq-item.open .faq-q{color:var(--orange)}
.faq-a{
  max-height:0;overflow:hidden;
  font-size:14px;color:rgba(255,255,255,.5);
  line-height:1.75;
  transition:max-height .35s ease,padding .35s ease;
  padding:0 0 0 0;
}
.faq-item.open .faq-a{
  max-height:200px;
  padding:0 0 20px 0;
}

/* ── FLOATING CTA ── */
.float-group{
  position:fixed;
  bottom:28px;right:28px;
  z-index:300;
  display:flex;flex-direction:column;gap:10px;align-items:flex-end;
  transition:transform .3s,opacity .3s;
  transform:translateY(120px);
  opacity:0;
  pointer-events:none;
}
.float-group.visible{transform:translateY(0);opacity:1;pointer-events:all}
.float-cta,.wa-btn{
  display:flex;align-items:center;gap:10px;
  font-weight:700;font-size:13px;
  letter-spacing:1px;text-transform:uppercase;
  padding:13px 20px;
  text-decoration:none;
  border-radius:3px;
  transition:background .2s,transform .2s;
  white-space:nowrap;
}
.float-cta{background:var(--orange);color:white;box-shadow:0 6px 24px rgba(255,106,0,.35)}
.float-cta:hover{background:var(--orange2);transform:translateY(-2px)}
.float-cta.hide{display:none}
.wa-btn{background:#25d366;color:white;box-shadow:0 6px 20px rgba(37,211,102,.3)}
.wa-btn:hover{background:#20ba5a;transform:translateY(-2px)}
@media(max-width:600px){
  .float-cta span,.wa-btn span{display:none}
  .float-cta,.wa-btn{padding:13px 15px;border-radius:50%}
}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:all .65s ease}
.revealed{opacity:1;transform:translateY(0)}
.mobile-menu{
  display:none;
  position:fixed;inset:0;z-index:150;
  background:rgba(6,9,15,.97);
  flex-direction:column;align-items:center;justify-content:center;
  gap:32px;
}
.mobile-menu.open{display:flex}
.mobile-menu a{
  font-family:'Bebas Neue',sans-serif;
  font-size:36px;letter-spacing:3px;color:white;
  text-decoration:none;transition:color .2s;
}
.mobile-menu a:hover{color:var(--orange)}
.mobile-close{
  position:absolute;top:24px;right:24px;
  background:none;border:none;color:white;
  font-size:32px;cursor:pointer;line-height:1;
}


/* Excavator canvas — desktop */
.exc-canvas{
  position:absolute;
  bottom:calc(27% + 14px);
  right:calc(70% - 55px);
  width:340px;height:240px;
  z-index:5;
}

/* ── MOBILE ── */
@media(max-width:760px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .hero-stats{display:none}
  .steps::before{display:none}

  #hero{
    flex-direction:column;
    justify-content:flex-end;
    align-items:stretch;
    height:100svh;
    padding-top:64px;
    overflow:hidden;
  }

  .exc-canvas{
    position:absolute;
    bottom:calc(32% + 10px);
    left:50%;
    transform:translateX(-50%) scale(0.82);
    transform-origin:center bottom;
    width:88vw;
    max-width:340px;
    height:185px;
  }
  .excavator-wrap{will-change:transform}

  .trench{left:15%;width:70%}
  .dirt-pile{right:calc(28% - 20px)}
  .dirt-pile2{left:calc(28% - 10px)}
  .pipe-left,.pipe-right{display:none}

  #hero::after{
    content:'';
    position:absolute;
    right:0;top:0;bottom:0;
    width:45%;
    background:linear-gradient(to left,rgba(6,9,15,.92) 0%,rgba(6,9,15,.5) 50%,transparent 100%);
    pointer-events:none;
    z-index:9;
  }
  .hero-text{
    position:relative;
    margin:0;
    padding:18px 5% 20px;
    text-align:left;
    background:linear-gradient(0deg,rgba(6,9,15,.97) 50%,rgba(6,9,15,.7) 75%,transparent 100%);
    z-index:10;
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .hero-text>div:first-child{flex-wrap:wrap;gap:8px}
  .hero-text>div:first-child img{width:48px!important;height:48px!important}
  .hero-text h1{font-size:clamp(40px,12vw,66px)}
  .hero-zones{justify-content:flex-start;margin-bottom:12px}
  .hero-btns{justify-content:flex-start;flex-wrap:wrap;gap:8px}
  .hero-sub{font-size:13px;margin-bottom:12px;line-height:1.5}
  .btn-main{font-size:11px;letter-spacing:1px;padding:10px 14px;clip-path:none;border-radius:2px}
  .btn-out{font-size:11px;letter-spacing:1px;padding:10px 14px}
}

/* ══════════════════════════════
   BANNER SEZONIER
══════════════════════════════ */
#seasonal-banner{
  position:fixed;top:64px;left:0;right:0;z-index:190;
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:7px 5%;
  font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  transition:transform .3s ease,opacity .3s ease;
}
#seasonal-banner.sb-summer{
  background:linear-gradient(90deg,rgba(255,106,0,.92),rgba(255,80,0,.92));
  color:white;
  border-bottom:1px solid rgba(255,150,50,.3);
}
#seasonal-banner.sb-winter{
  background:linear-gradient(90deg,rgba(30,80,160,.95),rgba(20,60,130,.95));
  color:white;
  border-bottom:1px solid rgba(77,184,255,.2);
}
#seasonal-banner.sb-spring{
  background:linear-gradient(90deg,rgba(20,130,70,.92),rgba(15,110,55,.92));
  color:white;
  border-bottom:1px solid rgba(60,200,100,.2);
}
#seasonal-banner.hidden{transform:translateY(-110%);opacity:0;pointer-events:none}
.sb-icon{font-size:14px}
.sb-close{
  position:absolute;right:16px;
  background:none;border:none;color:rgba(255,255,255,.5);
  font-size:16px;cursor:pointer;line-height:1;padding:4px;
  transition:color .2s;
}
.sb-close:hover{color:white}
/* Push hero down when banner visible */
body.has-banner #hero{padding-top:calc(64px + 33px)}

/* ══════════════════════════════
   TELEFON PULSE EFFECT
══════════════════════════════ */
.ci-val a.phone-link{
  color:white;text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
  position:relative;
}
.phone-pulse-ring{
  display:inline-block;
  width:8px;height:8px;border-radius:50%;
  background:var(--orange);
  position:relative;
  flex-shrink:0;
}
.phone-pulse-ring::after{
  content:'';position:absolute;
  inset:-4px;border-radius:50%;
  border:2px solid var(--orange);
  animation:phoneRing 1.8s ease-out infinite;
}
@keyframes phoneRing{
  0%{transform:scale(.6);opacity:1}
  100%{transform:scale(2.2);opacity:0}
}
.ci-val a.phone-link:hover{color:var(--orange2)}

/* ══════════════════════════════
   CALCULATOR COST
══════════════════════════════ */
#calculator{
  padding:90px 5%;
  background:var(--night);
  position:relative;overflow:hidden;
}
#calculator::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,106,0,.3),transparent);
}
.calc-wrap{
  max-width:720px;margin:56px auto 0;
  background:#0d1a2e;
  border:1px solid rgba(255,255,255,.07);
  padding:40px;
  position:relative;
}
.calc-wrap::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--orange),var(--orange2));
}
.calc-step{margin-bottom:32px}
.calc-step:last-of-type{margin-bottom:0}
.calc-q{
  font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:12px;
  display:flex;align-items:center;gap:8px;
}
.calc-q span{
  width:20px;height:20px;border-radius:50%;
  background:rgba(255,106,0,.15);border:1px solid rgba(255,106,0,.3);
  color:var(--orange);font-size:10px;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.calc-opts{display:flex;flex-wrap:wrap;gap:8px}
.calc-opt{
  padding:10px 18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.6);
  font-size:12px;font-weight:600;letter-spacing:.5px;
  cursor:pointer;transition:all .2s;
  user-select:none;
}
.calc-opt:hover{border-color:rgba(255,106,0,.4);color:rgba(255,255,255,.9)}
.calc-opt.selected{
  background:rgba(255,106,0,.15);
  border-color:var(--orange);
  color:white;
}
.calc-result{
  margin-top:32px;padding:28px;
  background:rgba(255,106,0,.07);
  border:1px solid rgba(255,106,0,.2);
  display:none;
}
.calc-result.show{display:block}
.cr-label{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:8px}
.cr-amount{
  font-family:'Bebas Neue',sans-serif;
  font-size:48px;letter-spacing:2px;
  color:var(--orange);line-height:1;margin-bottom:4px;
}
.cr-sub{font-size:11px;color:rgba(255,255,255,.35);margin-bottom:20px;line-height:1.5}
.cr-note{
  font-size:12px;color:rgba(255,255,255,.45);
  line-height:1.7;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.07);
  margin-bottom:20px;
}
.cr-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--orange);color:white;
  font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  padding:12px 24px;text-decoration:none;
  transition:background .2s;border:none;cursor:pointer;
}
.cr-cta:hover{background:var(--orange2)}
.calc-contact-note{
  margin-top:32px;padding:20px;
  background:rgba(77,184,255,.05);
  border:1px solid rgba(77,184,255,.15);
  display:none;
}
.calc-contact-note.show{display:block}
.ccn-txt{font-size:13px;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:16px}
@media(max-width:600px){
  .calc-wrap{padding:24px 20px}
  .cr-amount{font-size:36px}
}

/* ── COOKIE BANNER ── */
#cookieBanner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(10,14,26,.97);border-top:1px solid rgba(255,255,255,.08);padding:10px 5%;display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.45)}
#cookieBanner p{margin:0;line-height:1.4}
#cookieBanner a{color:rgba(255,106,0,.7);text-decoration:underline;text-underline-offset:2px}
.cb-btns{display:flex;gap:8px;flex-shrink:0}
#cbAccept{background:rgba(255,106,0,.85);color:#fff;border:none;padding:6px 16px;border-radius:3px;font-size:11px;font-weight:600;letter-spacing:.6px;cursor:pointer;font-family:inherit;transition:.2s}
#cbAccept:hover{background:var(--orange)}


#pipeline-flow{padding:80px 5%;background:var(--night);text-align:center;overflow:hidden}
.pf-wrap{max-width:920px;margin:36px auto 0;border-radius:14px;overflow:hidden;border:1px solid rgba(77,184,255,0.12);box-shadow:0 0 60px rgba(77,184,255,0.06)}
.pf-svg{width:100%;height:auto;display:block;background:#060d1a}
@media(max-width:600px){#pipeline-flow{padding:50px 4%}}

@keyframes smokeRise{from{opacity:.5;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(2)}}

/* ── GALLERY ── */
#galerie{padding:90px 5%;background:#0d1525;text-align:center}
.gallery-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:10px;max-width:960px;margin:44px auto 0;
}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr}}
.gal-item{
  position:relative;overflow:hidden;cursor:pointer;
  aspect-ratio:4/3;background:#060d1a;
}
.gal-item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s ease;
}
.gal-item:hover img{transform:scale(1.06)}
.gal-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,transparent 55%);
  display:flex;align-items:flex-end;padding:16px;
  opacity:0;transition:opacity .3s;
}
.gal-item:hover .gal-overlay{opacity:1}
.gal-overlay span{
  font-size:12px;font-weight:600;letter-spacing:.5px;
  color:white;text-align:left;line-height:1.4;
}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;z-index:2000;
  background:rgba(0,0,0,.93);
  display:none;align-items:center;justify-content:center;
  padding:20px;
}
.lightbox.open{display:flex}
.lb-img{
  max-width:90vw;max-height:85vh;
  object-fit:contain;
  border:1px solid rgba(255,255,255,.07);
}
.lb-close{
  position:absolute;top:18px;right:22px;
  background:none;border:none;
  color:rgba(255,255,255,.55);font-size:28px;
  cursor:pointer;line-height:1;padding:4px;transition:color .2s;
}
.lb-close:hover{color:white}
.lb-prev,.lb-next{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.07);border:none;
  color:white;font-size:36px;line-height:1;
  cursor:pointer;padding:10px 18px;transition:background .2s;
}
.lb-prev{left:12px}
.lb-next{right:12px}
.lb-prev:hover,.lb-next:hover{background:rgba(255,106,0,.3)}
.lb-caption{
  position:absolute;bottom:18px;left:0;right:0;
  text-align:center;font-size:12px;
  color:rgba(255,255,255,.4);letter-spacing:.5px;
}
