/* Domalex — style.css */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/barlow-condensed-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/barlow-condensed-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-condensed-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-condensed-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/barlow-condensed-900-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/barlow-condensed-900-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-700i-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-700i-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/inter-300-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/inter-300-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/rajdhani-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/rajdhani-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/rajdhani-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/rajdhani-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/rajdhani-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/rajdhani-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

  /* podstawowy reset */
  :root{ color-scheme:dark; }
  html,body{ margin:0; }
  img{ max-width:100%; }
  [hidden]{ display:none !important; }


:root{
  --van: url('img/hero-1600.webp');
  --bg:      #060d14;
  --bg2:     #08111a;
  --surface: #0a1520;
  --card:    #0e1d2c;
  --card2:   #122436;
  --border:  #1a3048;
  --line:    #14283c;
  --accent:  #3a96d8;
  --accent2: #6cc0f2;
  --glow:    rgba(58,150,216,0.28);
  --text:    #e4f0f9;
  --muted:   #5f8aad;
  --dim:     #3d6584;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{ color:inherit; }
::selection{ background:var(--accent); color:#04090e; }

:focus-visible{
  outline:2px solid var(--accent2);
  outline-offset:3px;
}

/* ═══ INTRO ═══════════════════════════════════════════ */
#intro{
  position:fixed; inset:0; z-index:1000;
  background:#04090e;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  transition:opacity .9s ease, visibility .9s;
}
#intro.out{ opacity:0; visibility:hidden; }

.intro-bar{
  width:0; height:2px; margin-bottom:26px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  animation:barGrow 1.1s cubic-bezier(.4,0,.2,1) .25s forwards;
}
@keyframes barGrow{ to{ width:300px; } }

.intro-logo{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.6rem,8vw,4rem); font-weight:900;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--text); opacity:0; padding-left:.3em;
  animation:fadeUp .8s ease .7s forwards;
}
.intro-logo span{ color:var(--accent); }

.intro-tag{
  font-family:'Rajdhani',sans-serif;
  font-size:.72rem; font-weight:600;
  letter-spacing:.42em; text-transform:uppercase;
  color:var(--dim); margin-top:14px; padding-left:.42em;
  opacity:0; animation:fadeUp .7s ease 1.2s forwards;
}
.intro-progress{
  position:absolute; bottom:0; left:0; height:2px;
  background:var(--accent);
  box-shadow:0 0 14px var(--glow);
  animation:progress 2.5s cubic-bezier(.5,0,.5,1) forwards;
}
@keyframes progress{ from{width:0} to{width:100%} }
@keyframes fadeUp{ from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

/* ═══ NAV ═════════════════════════════════════════════ */
nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(20px,4vw,60px); height:70px;
  background:rgba(6,13,20,.82);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(58,150,216,.14);
  opacity:0; transform:translateY(-8px);
  transition:opacity .6s ease, transform .6s ease;
}
nav.on{ opacity:1; transform:none; }

.nav-logo{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.6rem; font-weight:900;
  letter-spacing:.17em; text-transform:uppercase;
  text-decoration:none;
}
.nav-logo span{ color:var(--accent); }

.nav-links{ display:flex; gap:38px; list-style:none; }
.nav-links a{
  font-family:'Rajdhani',sans-serif;
  font-size:.84rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  text-decoration:none; color:var(--muted);
  transition:color .2s; position:relative;
}
.nav-links a::after{
  content:''; position:absolute; left:0; bottom:-6px;
  width:0; height:1px; background:var(--accent);
  transition:width .25s ease;
}
.nav-links a:hover{ color:var(--accent2); }
.nav-links a:hover::after{ width:100%; }

.nav-phone{
  display:flex; align-items:center; gap:10px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.05rem; font-weight:800;
  letter-spacing:.06em;
  color:#04090e; background:var(--accent);
  padding:9px 22px; border-radius:2px;
  text-decoration:none; white-space:nowrap;
  transition:background .2s, box-shadow .2s;
}
.nav-phone:hover{ background:var(--accent2); box-shadow:0 0 22px var(--glow); }
.nav-phone svg{ width:15px; height:15px; }

/* ═══ HERO ════════════════════════════════════════════ */
.hero{
  position:relative; height:100vh; min-height:660px;
  display:flex; align-items:flex-end; overflow:hidden;
}
.hero-photo{
  position:absolute; inset:0; z-index:0;
  background-image:var(--van);
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  animation:vanDrift 14s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes vanDrift{
  0%  { transform:scale(1.05) translateX(0); }
  100%{ transform:scale(1.09) translateX(-26px); }
}

.hero-streaks{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:repeating-linear-gradient(101deg,
    transparent 0 62px,
    rgba(108,192,242,.022) 62px 64px);
  animation:streakRun .45s linear infinite;
}
@keyframes streakRun{ from{background-position:0 0} to{background-position:130px 0} }

.hero-scrim{
  position:absolute; inset:0; z-index:2;
  background:
    linear-gradient(to top, rgba(4,9,14,.96) 0%, rgba(6,13,20,.58) 42%, rgba(6,13,20,.12) 100%),
    linear-gradient(to right, rgba(4,9,14,.78) 0%, rgba(4,9,14,.2) 52%, transparent 72%);
}

.hero-inner{
  position:relative; z-index:3; width:100%;
  padding:0 clamp(20px,4vw,64px) clamp(64px,9vh,96px);
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:40px;
}

.hero-copy{
  max-width:660px;
  opacity:0; transform:translateY(20px);
  transition:opacity .85s ease .25s, transform .85s ease .25s;
}
.hero-copy.on{ opacity:1; transform:none; }

.eyebrow{
  font-family:'Rajdhani',sans-serif;
  font-size:.74rem; font-weight:600;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--accent); margin-bottom:20px;
  display:flex; align-items:center; gap:14px;
}
.eyebrow::before{
  content:''; width:38px; height:1px;
  background:var(--accent); flex:0 0 auto;
}

.hero h1{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(3.3rem,7.6vw,6.6rem);
  font-weight:900; line-height:.92;
  letter-spacing:-.005em; text-transform:uppercase;
  margin-bottom:24px;
  text-shadow:0 6px 44px rgba(0,0,0,.75);
}
.city-rot{
  display:inline-block; color:var(--accent2);
  font-style:italic; font-weight:800;
  transition:opacity .35s ease, transform .35s ease;
  text-shadow:0 0 42px rgba(108,192,242,.35);
}
.city-rot.swap{ opacity:0; transform:translateY(-12px); }

.hero-sub{
  font-size:.95rem; font-weight:300;
  color:rgba(228,240,249,.72);
  max-width:470px; margin-bottom:38px;
  line-height:1.8;
}
.hero-sub strong{ color:var(--text); font-weight:500; }

.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

.btn{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.02rem; font-weight:800;
  letter-spacing:.15em; text-transform:uppercase;
  padding:15px 40px; border-radius:2px;
  text-decoration:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:10px;
  transition:all .22s ease;
}
.btn-solid{ background:var(--accent); color:#04090e; border:1px solid var(--accent); }
.btn-solid:hover{ background:var(--accent2); border-color:var(--accent2); box-shadow:0 0 30px var(--glow); transform:translateY(-2px); }
.btn-line{ background:none; color:var(--text); border:1px solid rgba(58,150,216,.42); }
.btn-line:hover{ border-color:var(--accent2); color:var(--accent2); }

/* hero stats */
.hero-stats{
  display:flex; flex-direction:column; gap:26px;
  text-align:right; flex:0 0 auto; padding-bottom:6px;
  opacity:0; transform:translateY(24px);
  transition:opacity .8s ease .55s, transform .8s ease .55s;
}
.hero-stats.on{ opacity:1; transform:none; }
.hs-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2rem,3.4vw,2.9rem); font-weight:900;
  line-height:1; font-variant-numeric:tabular-nums;
}
.hs-num span{ color:var(--accent); }
.hs-lbl{
  font-family:'Rajdhani',sans-serif;
  font-size:.66rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted); margin-top:5px;
}

.scroll-cue{
  position:absolute; bottom:26px; left:50%;
  transform:translateX(-50%); z-index:4;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-family:'Rajdhani',sans-serif;
  font-size:.58rem; font-weight:600;
  letter-spacing:.26em; text-transform:uppercase;
  color:var(--dim); opacity:0;
  transition:opacity .6s ease 1.5s;
}
.scroll-cue.on{ opacity:1; }
.scroll-tick{
  width:1px; height:40px;
  background:linear-gradient(var(--accent),transparent);
  animation:tick 2.1s ease-in-out infinite;
}
@keyframes tick{ 0%,100%{transform:scaleY(1);opacity:.45} 50%{transform:scaleY(.55);opacity:1} }

/* ═══ SECTION SHELL ═══════════════════════════════════ */
section{ padding:clamp(64px,9vw,104px) clamp(20px,4vw,64px); scroll-margin-top:78px; }
.hero{ scroll-margin-top:0; }

.s-head{ margin-bottom:52px; max-width:720px; }
.s-eye{
  font-family:'Rajdhani',sans-serif;
  font-size:.7rem; font-weight:600;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--accent); margin-bottom:16px;
  display:flex; align-items:center; gap:12px;
}
.s-eye::before{ content:''; width:26px; height:1px; background:var(--accent); flex:0 0 auto; }
.s-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.3rem,4.6vw,3.5rem); font-weight:800;
  text-transform:uppercase; line-height:1.02;
  text-wrap:balance;
}
.s-title em{ font-style:italic; color:var(--accent); }
.s-lead{
  font-size:.94rem; color:var(--muted);
  line-height:1.85; margin-top:18px; max-width:600px;
}

/* reveal */
.rv{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.rv.on{ opacity:1; transform:none; }

/* ═══ SERVICES ════════════════════════════════════════ */
.services{ background:var(--surface); border-block:1px solid var(--border); }
.svc-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
  gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:4px; overflow:hidden;
}
.svc{
  background:var(--card); padding:42px 36px;
  transition:background .25s ease;
  position:relative;
}
.svc::before{
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--accent); transform:scaleX(0);
  transform-origin:left; transition:transform .35s ease;
}
.svc:hover{ background:var(--card2); }
.svc:hover::before{ transform:scaleX(1); }
.svc-ico{ width:36px; height:36px; margin-bottom:22px; color:var(--accent); }
.svc-t{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.48rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em;
  margin-bottom:10px;
}
.svc-d{ font-size:.855rem; color:var(--muted); line-height:1.72; }

/* ═══ MAP ═════════════════════════════════════════════ */
.drive{ background:var(--bg2); border-bottom:1px solid var(--border); }

.map-wrap{
  position:relative;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:6px;
  padding:clamp(12px,1.6vw,20px);
}
.map-svg{ width:100%; height:auto; display:block; }

.mp-land{ fill:#152634; stroke:#22394f; stroke-width:.9; stroke-linejoin:round; }

.zone{
  fill:var(--accent); fill-opacity:.42;
  stroke:var(--accent2); stroke-width:1.6;
  stroke-linejoin:round; cursor:pointer;
  transition:fill-opacity .3s ease, stroke-opacity .3s ease;
}
.map-wrap[data-hi] .zone{ fill-opacity:.12; stroke-opacity:.3; }
.map-wrap[data-hi="nl"] .zone-nl,
.map-wrap[data-hi="de"] .zone-de,
.map-wrap[data-hi="pl"] .zone-pl{ fill-opacity:.66; stroke-opacity:1; }

.mp-land, .mp-dot, .mp-city{ pointer-events:none; }
.mp-dot{ fill:#cfe4f4; }
.mp-city{
  font-family:'Rajdhani',sans-serif; font-size:15px; font-weight:600;
  fill:#9dbdd6; letter-spacing:.08em;
}
@keyframes mapPing{ 0%{ r:6; opacity:.9; } 100%{ r:26; opacity:0; } }

.map-key{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:4px;
  overflow:hidden; margin-top:24px;
}
.key{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--card); padding:20px 22px;
  transition:background .2s ease;
  text-align:left; border:0; width:100%; font:inherit; color:inherit; cursor:pointer;
}
.key:hover, .key:focus-visible{ background:var(--card2); }
.key-sw{
  width:15px; height:15px; flex:0 0 auto; margin-top:4px;
  border-radius:3px; background:var(--accent);
  border:1.5px solid var(--accent2); opacity:.85;
}
.key-t{
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.3rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em;
  color:var(--text); margin-bottom:4px;
}
.key-d{ display:block; font-size:.83rem; color:var(--muted); line-height:1.6; }


/* ═══ FLEET ═══════════════════════════════════════════ */
.fleet{ background:var(--bg); }
.fleet-wrap{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:clamp(36px,5vw,72px); align-items:center;
}
.fleet-visual{
  position:relative; border:1px solid var(--border);
  border-radius:5px; overflow:hidden; aspect-ratio:4/3;
}
.fleet-img{
  position:absolute; inset:0;
  background-image:var(--van);
  background-position:52% 46%;
  background-size:cover;
  transition:transform 7s ease;
}
.fleet-visual:hover .fleet-img{ transform:scale(1.05); }

.spec-list{ display:flex; flex-direction:column; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:4px; overflow:hidden; margin-top:30px; }
.spec{
  background:var(--card); padding:17px 22px;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  transition:background .2s;
}
.spec:hover{ background:var(--card2); }
.spec-k{
  font-family:'Rajdhani',sans-serif;
  font-size:.72rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted);
}
.spec-v{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.12rem; font-weight:700;
  letter-spacing:.03em; text-align:right;
}
.spec-v em{ font-style:normal; color:var(--accent2); }

.fleet-note{
  margin-top:26px; padding:20px 24px;
  background:rgba(58,150,216,.07);
  border-left:2px solid var(--accent);
  border-radius:0 3px 3px 0;
  font-size:.855rem; color:var(--muted); line-height:1.75;
}
.fleet-note b{ color:var(--text); font-weight:500; }

/* ═══ COOPERATION ═════════════════════════════════════ */
.coop{ background:var(--surface); border-block:1px solid var(--border); }

.steps{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
  gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:4px; overflow:hidden;
}
.step{ background:var(--card); padding:34px 30px; transition:background .2s ease; }
.step:hover{ background:var(--card2); }
.step-n{
  font-family:'Barlow Condensed',sans-serif;
  font-size:2.5rem; font-weight:900; line-height:1;
  color:rgba(58,150,216,.32); margin-bottom:14px;
  font-variant-numeric:tabular-nums;
}
.step-t{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.4rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em;
  color:var(--text); margin-bottom:10px;
}
.step-d{ font-size:.85rem; color:var(--muted); line-height:1.7; }

.coop-box{
  margin-top:24px;
  display:grid; grid-template-columns:minmax(220px,.8fr) 1.4fr;
  gap:clamp(24px,3vw,48px); align-items:start;
  background:var(--card); border:1px solid var(--border);
  border-left:2px solid var(--accent); border-radius:0 4px 4px 0;
  padding:clamp(26px,3vw,36px);
}
.coop-box-t{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.5rem; font-weight:800;
  text-transform:uppercase; letter-spacing:.05em;
  color:var(--text); margin-bottom:8px;
}
.coop-box-d{ font-size:.86rem; color:var(--muted); line-height:1.7; }
.coop-list{
  list-style:none; display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:13px 30px;
}
.coop-li{
  position:relative; padding-left:20px;
  font-size:.86rem; color:var(--text); line-height:1.6;
}
.coop-li::before{
  content:''; position:absolute; left:0; top:.55em;
  width:6px; height:6px; border-radius:50%; background:var(--accent);
}
.coop-who{
  margin-top:26px; font-size:.86rem; color:var(--muted);
  line-height:1.75; max-width:760px;
}

/* language switch */
.nav-end{ display:flex; align-items:center; gap:14px; }
.lang{
  display:flex; border:1px solid var(--border);
  border-radius:2px; overflow:hidden;
}
.lang-b{
  font-family:'Rajdhani',sans-serif;
  font-size:.74rem; font-weight:700; letter-spacing:.14em;
  padding:7px 12px; background:none; border:0;
  color:var(--muted); cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.lang-b:hover{ color:var(--accent2); }
.lang-b.is-on{ background:var(--accent); color:#04090e; }

/* ═══ ABOUT ═══════════════════════════════════════════ */
.about{ background:var(--surface); border-block:1px solid var(--border); position:relative; overflow:hidden; }
.about-glow{
  position:absolute; top:-30%; right:-10%;
  width:60%; height:150%;
  background:radial-gradient(ellipse at center, rgba(58,150,216,.07) 0%, transparent 62%);
  pointer-events:none;
}
.about-inner{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,80px); align-items:start; }
.about-body{ font-size:.93rem; color:var(--muted); line-height:1.9; margin-bottom:18px; }
.about-body strong{ color:var(--text); font-weight:500; }

.pillars{ display:flex; flex-direction:column; gap:22px; }
.pillar{
  display:flex; gap:20px; align-items:flex-start;
  padding:22px 24px;
  background:var(--card); border:1px solid var(--border);
  border-radius:4px;
  transition:border-color .25s, transform .25s;
}
.pillar:hover{ border-color:rgba(58,150,216,.4); transform:translateX(4px); }
.pillar-ico{ width:24px; height:24px; color:var(--accent); flex:0 0 auto; margin-top:2px; }
.pillar-t{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.22rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em; margin-bottom:5px;
}
.pillar-d{ font-size:.83rem; color:var(--muted); line-height:1.65; }

/* ═══ CONTACT ═════════════════════════════════════════ */
.contact{
  background:var(--bg); position:relative; overflow:hidden; text-align:center;
}
.contact-bg{
  position:absolute; inset:0; z-index:0;
  background-image:var(--van);
  background-position:center 42%;
  background-size:cover;
  opacity:.06;
  animation:vanDrift 16s ease-in-out infinite alternate;
}
.contact-inner{ position:relative; z-index:1; }
.contact .s-eye{ justify-content:center; }
.contact .s-eye::before{ display:none; }
.contact .s-head{ margin-inline:auto; }
.contact .s-lead{ margin-inline:auto; }

.cc-grid{
  display:flex; justify-content:center; gap:18px;
  flex-wrap:wrap; margin-bottom:56px;
}
.cc{
  background:var(--card); border:1px solid var(--border);
  border-radius:4px; padding:28px 40px; min-width:230px;
  text-decoration:none; display:block;
  transition:border-color .25s, box-shadow .25s, transform .25s;
}
.cc:hover{
  border-color:rgba(58,150,216,.55);
  box-shadow:0 0 26px rgba(58,150,216,.1);
  transform:translateY(-3px);
}
.cc-ico{ width:20px; height:20px; color:var(--accent); margin-bottom:14px; }
.cc-lbl{
  font-family:'Rajdhani',sans-serif;
  font-size:.63rem; font-weight:600;
  letter-spacing:.24em; text-transform:uppercase;
  color:var(--muted); margin-bottom:7px;
}
.cc-val{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.45rem; font-weight:800;
  letter-spacing:.03em; color:var(--text);
}
.cc-sub{
  font-size:.72rem; color:var(--dim); margin-top:5px;
  font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:.1em;
}

.footer-bar{
  border-top:1px solid var(--border); padding-top:30px;
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; flex-wrap:wrap;
  font-size:.72rem; color:var(--dim); letter-spacing:.07em;
}
.f-logo{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.1rem; font-weight:900;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.f-logo span{ color:var(--accent); }

/* ═══ LEGAL ═══════════════════════════════════════════ */
.legal{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:10px 30px;
  padding-top:32px; margin-top:8px;
  border-top:1px solid var(--border);
}
.legal button{
  background:none; border:0; padding:0; cursor:pointer;
  font:inherit; font-size:.78rem; color:var(--muted);
  text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:var(--border);
  transition:color .2s, text-decoration-color .2s;
}
.legal button:hover{ color:var(--accent2); text-decoration-color:var(--accent); }
.todo{
  color:#e0a33a; background:rgba(224,163,58,.1);
  border:1px solid rgba(224,163,58,.3); border-radius:2px;
  padding:0 6px; font-size:.94em; white-space:nowrap;
}

/* company data list inside the modal */
.data-list{ display:flex; flex-direction:column; gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:4px; overflow:hidden; margin-bottom:18px; }
.data-row{ background:var(--card); padding:13px 18px;
  display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.data-row dt{
  font-family:'Rajdhani',sans-serif; font-size:.7rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.data-row dd{ font-size:.9rem; color:var(--text); text-align:right; }
.data-row dd a{ color:var(--accent2); text-decoration:none; }
.data-row dd a:hover{ text-decoration:underline; }
.data-note{ font-size:.78rem; color:var(--dim); line-height:1.7; }

/* modal */
.modal[hidden]{ display:none !important; }
.modal{
  position:fixed; inset:0; z-index:900;
  display:flex; align-items:center; justify-content:center;
  padding:clamp(16px,4vw,48px);
  background:rgba(3,7,12,.82); backdrop-filter:blur(6px);
}
.modal-box{
  position:relative; width:min(760px,100%); max-height:86vh;
  overflow-y:auto; background:var(--card2);
  border:1px solid var(--border); border-radius:6px;
  padding:clamp(28px,4vw,44px);
  box-shadow:0 40px 100px rgba(0,0,0,.6);
  text-align:left;
}
.modal-t{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(1.6rem,3vw,2.1rem); font-weight:800;
  text-transform:uppercase; letter-spacing:.04em;
  color:var(--text); margin-bottom:22px; padding-right:44px;
}
.modal-body{ font-size:.86rem; color:var(--muted); line-height:1.8; }
.modal-body p{ margin-bottom:14px; }
.modal-body ul{ margin:0 0 14px 20px; }
.modal-body li{ margin-bottom:7px; }
.modal-body strong{ color:var(--text); font-weight:600; }
.modal-x{
  position:absolute; top:16px; right:16px;
  width:34px; height:34px; border-radius:50%;
  background:rgba(6,13,20,.7); border:1px solid var(--border);
  color:var(--muted); font-size:1.3rem; line-height:1;
  cursor:pointer; display:grid; place-items:center;
  transition:color .2s, border-color .2s;
}
.modal-x:hover{ color:var(--accent2); border-color:var(--accent); }

/* ═══ RESPONSIVE ══════════════════════════════════════ */
@media(max-width:1024px){
  .fleet-wrap,.about-inner{ grid-template-columns:1fr; }
  .hero-stats{ flex-direction:row; gap:32px; text-align:left; }
}
@media(max-width:860px){
  .nav-links{ display:none; }
  nav{ padding:0 14px; }
  .nav-logo{ font-size:1.3rem; letter-spacing:.12em; }
  .nav-phone{ font-size:.95rem; padding:8px 13px; gap:7px; letter-spacing:.03em; }
  .nav-phone svg{ width:13px; height:13px; }

  /* let the hero grow with its content instead of clipping it */
  .hero{ height:auto; min-height:100vh; min-height:100svh; align-items:center; padding-top:70px; }
  .hero-inner{ flex-direction:column; align-items:flex-start; padding:44px 20px 56px; gap:34px; }
  .hero-scrim{
    background:linear-gradient(to top, rgba(4,9,14,.97) 0%, rgba(5,11,18,.88) 52%, rgba(6,13,20,.6) 100%);
  }
  .hero h1{ font-size:clamp(2.4rem,10.2vw,3.7rem); line-height:.94; margin-bottom:20px; }
  .hero-sub{ font-size:.875rem; line-height:1.72; max-width:100%; margin-bottom:30px; }
  .eyebrow{ font-size:.66rem; letter-spacing:.2em; margin-bottom:16px; align-items:flex-start; }
  .eyebrow::before{ width:24px; margin-top:.62em; }
  .btn{ padding:13px 26px; font-size:.94rem; letter-spacing:.11em; }
  .hero-cta{ gap:10px; }
  .hero-stats{ flex-direction:row; flex-wrap:wrap; gap:20px 30px; text-align:left; padding-bottom:0; }
  .scroll-cue{ display:none; }

  .s-head{ margin-bottom:38px; }
  .map-wrap{ padding:10px; }
  .mp-city{ font-size:21px; }
      .mp-dot{ r:5; }
  .zone{ stroke-width:2.6; }
  .mp-land{ stroke-width:1.4; }
  .map-key{ margin-top:20px; }
  .key{ padding:18px 20px; }
    .coop-box{ grid-template-columns:1fr; }
  .legal{ flex-direction:column; align-items:center; gap:12px; text-align:center; }
  .data-row{ flex-direction:column; align-items:flex-start; gap:5px; }
  .data-row dd{ text-align:left; }
  .step{ padding:28px 24px; }
  .nav-end{ gap:8px; }
  .lang-b{ padding:5px 7px; font-size:.62rem; letter-spacing:.06em; }
}
@media(max-width:560px){
  .hero-stats .hs-lbl{ font-size:.58rem; letter-spacing:.13em; }
  .hero-cta .btn{ flex:1 1 100%; justify-content:center; }
  .cc{ min-width:100%; padding:24px 28px; }
  .spec{ flex-direction:column; align-items:flex-start; gap:6px; }
  .spec-v{ text-align:left; }
  .svc{ padding:34px 26px; }
  .pillar{ padding:20px; gap:16px; }
}

@media(max-width:349px){
  nav{ padding:0 10px; }
  .nav-logo{ font-size:1.1rem; letter-spacing:.08em; }
  .nav-phone{ font-size:.88rem; padding:7px 10px; gap:6px; }
  .lang-b{ padding:5px 6px; font-size:.58rem; }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .hero-photo,.contact-bg,.hero-streaks{ animation:none; }
}

/* ═══ SEO additions ═══════════════════════════════════ */
@media(max-width:800px){ :root{ --van: url('img/hero-960.webp'); } }

/* the kicker line now lives inside <h1> so search engines read it as part of the heading */
.hero h1 .eyebrow{ text-shadow:none; line-height:1.4; letter-spacing:.3em; }
.hero h1 .h1-big{ display:block; }
@media(max-width:860px){ .hero h1 .eyebrow{ letter-spacing:.14em; } }


/* language switch is now a pair of links */
a.lang-b{ text-decoration:none; display:inline-block; }

/* FAQ */
.faq{ background:var(--bg); }
.faq-list{
  max-width:880px; display:flex; flex-direction:column; gap:1px;
  background:var(--border); border:1px solid var(--border); border-radius:4px; overflow:hidden;
}
.faq-i{ background:var(--card); }
.faq-i[open]{ background:var(--card2); }
.faq-q{
  list-style:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:24px;
  padding:20px 24px;
  font-family:'Barlow Condensed',sans-serif; font-size:1.28rem; font-weight:600;
  letter-spacing:.02em; line-height:1.25; color:var(--text);
}
.faq-q::-webkit-details-marker{ display:none; }
.faq-q::after{
  content:'+'; flex:0 0 auto;
  font-family:'Rajdhani',sans-serif; font-size:1.5rem; font-weight:600; line-height:1;
  color:var(--accent); transition:transform .25s ease;
}
.faq-i[open] .faq-q::after{ transform:rotate(45deg); }
.faq-q:hover{ color:var(--accent2); }
.faq-q:focus-visible{ outline:2px solid var(--accent); outline-offset:-2px; }
.faq-a{
  padding:0 24px 22px; max-width:720px;
  font-size:.88rem; color:var(--muted); line-height:1.8;
}
@media(max-width:560px){
  .faq-q{ padding:18px 18px; font-size:1.15rem; }
  .faq-a{ padding:0 18px 20px; }
}
