/* ==========================================================================
   AK77 — Transport & Logistics
   Design system
   --------------------------------------------------------------------------
   Palette : bituminous ink, bone paper, one signal colour (safety orange)
   Type    : Archivo (variable width + weight), Newsreader italic accent
   Grid    : 12 columns, page margin clamp(20px to 72px), max 1600px
   Radius  : 0 — everywhere, without exception
   Motion  : reveal + parallax only; 600-1100ms, cubic-bezier(.22,1,.36,1)
   ========================================================================== */

/* ---------- 1. Tokens ---------------------------------------------------- */
:root{
  --ink:        #0b0c0d;
  --ink-raise:  #121315;
  --ink-deep:   #060607;
  --bone:       #e9e6e0;
  --paper:      #e6e2db;
  --signal:     #c8461d;

  --fg:         var(--bone);
  --fg-mid:     rgba(233,230,224,.62);
  --fg-dim:     rgba(233,230,224,.40);
  --rule:       rgba(233,230,224,.15);
  --rule-soft:  rgba(233,230,224,.08);

  --f-sans: 'Archivo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --f-serif:'Newsreader', 'Times New Roman', Times, serif;

  --t-hero:  clamp(2.75rem, 7.1vw, 6.9rem);
  --t-h2:    clamp(2rem, 4.3vw, 4rem);
  --t-h3:    clamp(1.5rem, 2.5vw, 2.35rem);
  --t-h4:    clamp(1.15rem, 1.45vw, 1.4rem);
  --t-lede:  clamp(1.0625rem, 1.45vw, 1.45rem);
  --t-body:  clamp(.9375rem, .78vw, 1.0625rem);
  --t-small: .8125rem;
  --t-micro: .6875rem;

  --pad:     clamp(20px, 4.6vw, 72px);
  --gutter:  clamp(16px, 1.8vw, 28px);
  --band:    clamp(84px, 11vw, 168px);
  --shell:   1600px;

  --ease: cubic-bezier(.22,1,.36,1);
}

/* ---------- 2. Reset ----------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:auto; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--ink);
  color:var(--fg);
  font-family:var(--f-sans);
  font-size:var(--t-body);
  font-weight:400;
  font-variation-settings:'wdth' 100;
  line-height:1.62;
  letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
h1,h2,h3,h4,p,figure,dl,dd,ol,ul{ margin:0; }
ol,ul{ padding:0; list-style:none; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
[hidden]{ display:none !important; }
::selection{ background:var(--signal); color:#fff; }
:focus-visible{ outline:1px solid var(--signal); outline-offset:4px; }

/* ---------- 3. Layout primitives ---------------------------------------- */
.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--pad);
}
.grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--gutter);
}
.band{ padding-block:var(--band); }

/* ---------- 4. Type utilities ------------------------------------------- */
.eyebrow,
.micro{
  font-size:var(--t-micro);
  font-weight:500;
  letter-spacing:.19em;
  text-transform:uppercase;
  font-variant-numeric:tabular-nums;
  line-height:1.4;
}
.eyebrow{ color:var(--fg-dim); }

.serif{
  font-family:var(--f-serif);
  font-style:italic;
  font-weight:300;
  letter-spacing:-.01em;
}

.body-copy{ color:var(--fg-mid); max-width:56ch; }
.body-copy + .body-copy{ margin-top:1.15em; }
.body-copy strong{ color:var(--fg); font-weight:500; }

/* ---------- 5. Section header ------------------------------------------- */
.sec-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--gutter);
  padding-top:18px;
  border-top:1px solid var(--rule);
  margin-bottom:clamp(48px,7vw,110px);
}
.sec-head__id{ color:var(--fg); }
.sec-head__id b{ font-weight:500; color:var(--signal); margin-right:1.1em; }
.sec-head__note{ color:var(--fg-dim); text-align:right; }

/* ---------- 6. Photography grade ---------------------------------------- */
.ph{ position:relative; overflow:hidden; background:var(--ink-deep); }
.ph img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.34) contrast(1.07) saturate(.72) brightness(.84);
}
.ph--mono img{ filter:grayscale(1) contrast(1.12) brightness(.86); }
.ph::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(11,12,13,.10), rgba(11,12,13,.34));
  mix-blend-mode:multiply;
}

/* ---------- 7. Navigation ----------------------------------------------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:80;
  padding-block:22px;
  transition:padding .5s var(--ease), background-color .5s var(--ease), border-color .5s var(--ease);
  border-bottom:1px solid transparent;
}
.nav--sticky{
  padding-block:13px;
  background:rgba(9,10,11,.90);
  border-bottom-color:var(--rule-soft);
  backdrop-filter:saturate(120%) blur(6px);
}
.nav__inner{ display:flex; align-items:center; justify-content:space-between; gap:var(--gutter); }

.mark{ display:flex; align-items:baseline; gap:.7rem; }
.mark__id{
  font-size:1.32rem; font-weight:600; letter-spacing:.01em;
  font-variation-settings:'wdth' 118;
  line-height:1;
}
.mark__sub{
  font-size:var(--t-micro); letter-spacing:.2em; text-transform:uppercase;
  color:var(--fg-dim); padding-left:.7rem; border-left:1px solid var(--rule);
}
.nav--sticky .mark__id{ font-size:1.18rem; }

.nav__links{ display:flex; gap:clamp(18px,2.4vw,40px); }
.nav__links a{
  font-size:var(--t-micro); letter-spacing:.16em; text-transform:uppercase;
  color:var(--fg-mid); display:flex; gap:.55em; align-items:baseline;
  transition:color .35s var(--ease);
}
.nav__links a i{ font-style:normal; color:var(--fg-dim); font-size:.625rem; transition:color .35s var(--ease); }
.nav__links a:hover{ color:var(--fg); }
.nav__links a:hover i{ color:var(--signal); }

.nav__meta{ display:flex; align-items:center; gap:clamp(16px,2vw,32px); }
.nav__tel{ font-size:var(--t-micro); letter-spacing:.14em; color:var(--fg-mid); font-variant-numeric:tabular-nums; }
.nav__cta{
  font-size:var(--t-micro); letter-spacing:.16em; text-transform:uppercase;
  border:1px solid var(--rule); padding:11px 18px;
  display:inline-flex; align-items:center; gap:.9em;
  transition:border-color .4s var(--ease), background-color .4s var(--ease), color .4s var(--ease);
}
.nav__cta svg{ width:14px; height:8px; overflow:visible; }
.nav__cta:hover{ background:var(--bone); color:var(--ink); border-color:var(--bone); }
.nav__burger{ display:none; }

.menu{
  position:fixed; inset:0; z-index:90; background:var(--ink-deep);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:24px var(--pad) var(--pad);
  transform:translateY(-100%); transition:transform .7s var(--ease);
  visibility:hidden;
}
.menu.is-open{ transform:none; visibility:visible; }
.menu__top{ display:flex; justify-content:space-between; align-items:center; }
.menu__close{ font-size:var(--t-micro); letter-spacing:.19em; text-transform:uppercase; color:var(--fg-mid); }
.menu__list a{
  display:flex; align-items:baseline; gap:1.1em;
  padding:clamp(12px,2vw,20px) 0; border-bottom:1px solid var(--rule-soft);
  font-size:clamp(1.6rem,7vw,2.6rem); font-variation-settings:'wdth' 108; letter-spacing:-.03em;
}
.menu__list a i{ font-style:normal; font-size:var(--t-micro); letter-spacing:.16em; color:var(--fg-dim); }
.menu__foot{ color:var(--fg-dim); display:flex; flex-direction:column; gap:.4rem; }

/* ---------- 8. Hero ------------------------------------------------------ */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-top:120px;
  overflow:hidden;
  isolation:isolate;
}
.hero__media{ position:absolute; inset:-9% 0 -9% 0; z-index:-2; }
.hero__media img{
  width:100%; height:100%; object-fit:cover; object-position:58% 62%;
  filter:grayscale(.46) contrast(1.16) saturate(.55) brightness(.64);
  transform:scale(1.34);
  transform-origin:58% 100%;
}
.hero__veil{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(94deg, rgba(6,6,7,.94) 0%, rgba(6,6,7,.78) 30%, rgba(6,6,7,.20) 62%, rgba(6,6,7,.44) 100%),
    linear-gradient(180deg, rgba(6,6,7,.95) 0%, rgba(6,6,7,.72) 13%, rgba(6,6,7,0) 40%, rgba(6,6,7,.12) 62%, rgba(6,6,7,.90) 100%);
}
.hero__content{ padding-bottom:clamp(48px,7vw,92px); }
.hero__eyebrow{ display:flex; align-items:center; gap:1rem; margin-bottom:clamp(24px,3vw,42px); }
.hero__eyebrow span{ color:var(--fg-mid); }
.hero__rule{ width:clamp(40px,7vw,110px); height:1px; background:var(--signal); }

.hero__title{
  font-size:var(--t-hero);
  font-weight:500;
  font-variation-settings:'wdth' 108;
  line-height:.94;
  letter-spacing:-.035em;
  max-width:15ch;
}
.hero__title .line{ display:block; overflow:hidden; }
.hero__title .line > span{ display:block; }
.hero__title em{ font-style:normal; color:var(--fg-dim); }

.hero__lede{
  margin-top:clamp(26px,3vw,40px);
  max-width:46ch;
  color:var(--fg-mid);
  font-size:var(--t-lede);
  line-height:1.5;
  letter-spacing:-.008em;
}

.hero__foot{
  border-top:1px solid var(--rule);
  padding-block:20px clamp(22px,3vw,34px);
  display:flex; align-items:flex-end; justify-content:space-between; gap:var(--gutter);
}
.hero__facts{ display:flex; gap:clamp(28px,5vw,88px); flex-wrap:wrap; }
.hero__facts div dt{ color:var(--fg-dim); margin-bottom:.55rem; }
.hero__facts div dd{
  font-size:clamp(1.35rem,2.1vw,2rem); font-weight:400; line-height:1;
  font-variation-settings:'wdth' 110; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.hero__scroll{ display:flex; align-items:center; gap:.85rem; color:var(--fg-dim); white-space:nowrap; }
.hero__scroll i{ display:block; width:1px; height:34px; background:var(--rule); position:relative; overflow:hidden; }
.hero__scroll i::after{
  content:''; position:absolute; inset:0; background:var(--signal);
  transform-origin:top; animation:trace 3s var(--ease) infinite;
}
@keyframes trace{
  0%{ transform:scaleY(0); transform-origin:top; }
  45%{ transform:scaleY(1); transform-origin:top; }
  55%{ transform:scaleY(1); transform-origin:bottom; }
  100%{ transform:scaleY(0); transform-origin:bottom; }
}

/* ---------- 9. Company --------------------------------------------------- */
.company__statement{
  grid-column:3 / span 10;
  font-size:var(--t-h2);
  font-weight:500;
  font-variation-settings:'wdth' 110;
  line-height:1.02;
  letter-spacing:-.032em;
  margin-bottom:clamp(56px,8vw,130px);
  text-wrap:balance;
}
.company__statement em{ font-style:normal; color:var(--fg-dim); }

.company__body{ grid-column:1 / span 6; }
.company__figure{ grid-column:8 / span 5; }
.company__figure .ph{ aspect-ratio:4/5; }
.company__caption{
  margin-top:14px; display:flex; justify-content:space-between; gap:1rem;
  color:var(--fg-dim); border-top:1px solid var(--rule-soft); padding-top:12px;
}
.company__body h3{
  font-size:var(--t-h3); font-weight:400; font-variation-settings:'wdth' 108;
  letter-spacing:-.022em; line-height:1.12; max-width:18ch;
  margin-bottom:clamp(24px,2.6vw,34px);
}
.creds{ margin-top:clamp(40px,5vw,68px); border-top:1px solid var(--rule); }
.creds li{
  display:grid; grid-template-columns:minmax(0,8rem) minmax(0,1fr);
  gap:var(--gutter);
  padding:15px 0; border-bottom:1px solid var(--rule-soft);
}
.creds li b{ font-weight:500; letter-spacing:.14em; font-size:var(--t-micro); text-transform:uppercase; color:var(--fg); padding-top:.28em; }
.creds li span{ color:var(--fg-mid); font-size:var(--t-small); }

/* ---------- 10. Services -------------------------------------------------- */
.services{ background:var(--ink-raise); }
.svc{ border-top:1px solid var(--rule); }
.svc__row{ border-bottom:1px solid var(--rule); }
.svc__link{
  display:grid;
  grid-template-columns:5rem minmax(0,1.5fr) minmax(0,1fr) 10.5rem;
  gap:var(--gutter);
  align-items:start;
  padding:clamp(26px,3.4vw,46px) 0;
  position:relative;
  transition:opacity .5s var(--ease);
}
.svc__no{ color:var(--fg-dim); padding-top:.75em; transition:color .45s var(--ease); }
.svc__name{
  font-size:clamp(1.55rem,3.1vw,2.9rem); font-weight:400;
  font-variation-settings:'wdth' 108; letter-spacing:-.028em; line-height:1.02;
  transition:transform .55s var(--ease);
}
.svc__desc{ color:var(--fg-mid); font-size:var(--t-small); max-width:44ch; padding-top:.45em; }
.svc__spec{
  color:var(--fg-dim); text-align:right; padding-top:.8em;
  font-variant-numeric:tabular-nums;
}
.svc__thumb{ display:none; }
.svc:hover .svc__row:not(:hover) .svc__link{ opacity:.42; }
.svc__row:hover .svc__name{ transform:translateX(14px); }
.svc__row:hover .svc__no{ color:var(--signal); }

.svc-preview{
  position:fixed; top:0; left:0; z-index:60;
  width:clamp(210px,20vw,320px); aspect-ratio:4/3;
  pointer-events:none;
  opacity:0; transform:translate(-50%,-50%) scale(.94);
  transition:opacity .45s var(--ease), transform .55s var(--ease);
  overflow:hidden;
}
.svc-preview.is-on{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.svc-preview img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.34) contrast(1.07) saturate(.72) brightness(.84);
  opacity:0; transition:opacity .35s linear;
}
.svc-preview img.is-active{ opacity:1; }

/* ---------- 11. Fleet ----------------------------------------------------- */
.fleet__hero{ margin-bottom:clamp(40px,5vw,72px); }
.fleet__hero .ph{ aspect-ratio:21/9; }
.fleet__hero figcaption{
  display:flex; justify-content:space-between; gap:1rem;
  padding-top:12px; margin-top:12px; border-top:1px solid var(--rule-soft);
  color:var(--fg-dim);
}

.table{ width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.table caption{ text-align:left; color:var(--fg-dim); padding-bottom:18px; }
.table th, .table td{ text-align:left; padding:clamp(15px,1.5vw,20px) var(--gutter) clamp(15px,1.5vw,20px) 0; vertical-align:baseline; }
.table thead th{
  font-size:var(--t-micro); letter-spacing:.17em; text-transform:uppercase;
  font-weight:500; color:var(--fg-dim); border-bottom:1px solid var(--rule); padding-bottom:14px;
}
.table tbody tr{ border-bottom:1px solid var(--rule-soft); transition:background-color .4s var(--ease); }
.table tbody tr:hover{ background:rgba(233,230,224,.028); }
.table tbody th{
  font-weight:400; font-size:var(--t-h4); font-variation-settings:'wdth' 106;
  letter-spacing:-.015em; color:var(--fg); width:26%;
}
.table td{ color:var(--fg-mid); font-size:var(--t-small); }
.table .u{ text-align:right; color:var(--fg); font-size:1rem; padding-right:0; width:15%; white-space:nowrap; }
.table tfoot td{ color:var(--fg-dim); font-size:var(--t-micro); letter-spacing:.16em; text-transform:uppercase; padding-top:20px; }
.table tfoot .u{ font-size:1.05rem; letter-spacing:0; color:var(--fg); text-transform:none; }

.fleet__note{ margin-top:clamp(56px,7vw,110px); align-items:center; }
.fleet__note figure{ grid-column:1 / span 5; }
.fleet__note .ph{ aspect-ratio:16/10; }
.fleet__note .ph img{ object-position:50% 88%; transform:scale(1.55); transform-origin:50% 88%; }
.fleet__note div{ grid-column:7 / span 5; }
.fleet__note h3{
  font-size:var(--t-h3); font-weight:400; font-variation-settings:'wdth' 108;
  letter-spacing:-.022em; line-height:1.14; margin-bottom:1.1rem; max-width:16ch;
}

/* ---------- 12. Light chapter (network + figures) ------------------------ */
.light{ background:var(--paper); color:var(--ink); }
.light .sec-head{ border-color:rgba(11,12,13,.16); }
.light .sec-head__id{ color:var(--ink); }
.light .sec-head__note{ color:rgba(11,12,13,.42); }
.light .body-copy{ color:rgba(11,12,13,.66); }
.light .eyebrow{ color:rgba(11,12,13,.42); }

.network__intro{ grid-column:1 / span 4; }
.network__intro h3{
  font-size:var(--t-h3); font-weight:400; font-variation-settings:'wdth' 108;
  letter-spacing:-.024em; line-height:1.1; margin-bottom:1.15rem; max-width:14ch;
}
.network__map{ grid-column:6 / span 7; }
.map{ width:100%; height:auto; display:block; overflow:visible; }
.map .country{ fill:rgba(11,12,13,.038); stroke:rgba(11,12,13,.17); stroke-width:.5; }
.map .country--served{ fill:rgba(11,12,13,.155); stroke:rgba(11,12,13,.34); }
.map .dot{ fill:rgba(11,12,13,.42); }
.map .dot--hub{ fill:rgba(11,12,13,.85); }
.map .corridor{ fill:none; stroke:rgba(11,12,13,.32); stroke-width:.8; }
.map .corridor--live{ stroke:var(--signal); stroke-width:1.2; }
.map .base{ fill:var(--signal); }
.map .halo{ fill:none; stroke:var(--signal); stroke-width:.8; opacity:.45; }
.map .land{ pointer-events:none; }
.map text{
  font-family:var(--f-sans); font-size:7px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; fill:rgba(11,12,13,.7);
}
.map text.base-label{ fill:var(--signal); font-weight:600; }

.countries{
  margin-top:clamp(52px,6vw,90px);
  border-top:1px solid rgba(11,12,13,.16);
  columns:4; column-gap:var(--gutter);
}
.countries li{
  break-inside:avoid;
  padding:11px 0; border-bottom:1px solid rgba(11,12,13,.10);
  display:flex; justify-content:space-between; gap:.75rem;
  font-size:var(--t-small);
}
.countries li i{ font-style:normal; color:rgba(11,12,13,.40); font-variant-numeric:tabular-nums; letter-spacing:.1em; font-size:var(--t-micro); }

.lanes{ margin-top:clamp(52px,6vw,90px); width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.lanes th, .lanes td{ text-align:left; padding:14px var(--gutter) 14px 0; }
.lanes thead th{
  font-size:var(--t-micro); letter-spacing:.17em; text-transform:uppercase; font-weight:500;
  color:rgba(11,12,13,.42); border-bottom:1px solid rgba(11,12,13,.16); padding-bottom:12px;
}
.lanes tbody tr{ border-bottom:1px solid rgba(11,12,13,.10); }
.lanes tbody th{ font-weight:400; font-size:var(--t-h4); font-variation-settings:'wdth' 106; letter-spacing:-.015em; }
.lanes tbody th span{ color:rgba(11,12,13,.36); margin-inline:.5em; }
.lanes td{ color:rgba(11,12,13,.62); font-size:var(--t-small); }
.lanes .r{ text-align:right; padding-right:0; color:var(--ink); }

.bleed{ position:relative; }
.bleed .ph{ aspect-ratio:24/7; }
.bleed figcaption{
  position:absolute; right:var(--pad); bottom:22px;
  color:rgba(233,230,224,.78); max-width:36ch; text-align:right; text-shadow:0 1px 14px rgba(0,0,0,.95);
}

/* ---------- 13. Dokumenty (prepravný poriadok) ---------------------------- */
.doc{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:clamp(32px,5vw,80px);
  align-items:start;
  border-top:1px solid rgba(11,12,13,.16);
  border-bottom:1px solid rgba(11,12,13,.16);
  padding-block:clamp(34px,4.4vw,60px);
}
.doc__title{
  font-size:var(--t-h2); font-weight:500; font-variation-settings:'wdth' 110;
  letter-spacing:-.03em; line-height:1; margin-bottom:clamp(18px,2vw,26px);
}
.doc__meta{
  margin-top:clamp(26px,3vw,38px);
  display:flex; flex-wrap:wrap; gap:0 clamp(28px,4vw,56px);
}
.doc__meta li{ display:flex; flex-direction:column; gap:.5rem; }
.doc__meta b{ font-weight:500; color:rgba(11,12,13,.42); }
.doc__meta span{ font-size:var(--t-small); letter-spacing:0; text-transform:none; color:var(--ink); }
.doc__acts{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.doc__hint{ color:rgba(11,12,13,.42); margin-top:4px; }

/* ---------- 14. Contact --------------------------------------------------- */
.contact{ position:relative; overflow:hidden; background:var(--ink-deep); }
.contact__bg{ position:absolute; inset:0; z-index:0; }
.contact__bg img{
  width:100%; height:100%; object-fit:cover; object-position:50% 60%;
  filter:grayscale(.5) contrast(1.1) brightness(.55) saturate(.6);
}
.contact__bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,6,7,.92), rgba(6,6,7,.78) 40%, rgba(6,6,7,.97));
}
.contact .shell{ position:relative; z-index:1; }
.contact__head{ grid-column:1 / span 7; }
.contact__head h2{
  font-size:var(--t-h2); font-weight:500; font-variation-settings:'wdth' 110;
  letter-spacing:-.032em; line-height:.98; max-width:13ch;
}
.contact__head h2 em{ font-style:normal; color:var(--fg-dim); }
.contact__head p{ margin-top:clamp(22px,2.4vw,32px); }

.contact__detail{ grid-column:9 / span 4; align-self:start; }
.contact__detail dl{ border-top:1px solid var(--rule); }
.contact__detail div{ padding:16px 0; border-bottom:1px solid var(--rule-soft); }
.contact__detail dt{ color:var(--fg-dim); margin-bottom:.5rem; }
.contact__detail dd{ font-size:var(--t-h4); font-variation-settings:'wdth' 106; letter-spacing:-.012em; line-height:1.3; }
.contact__detail dd a{ border-bottom:1px solid var(--rule); padding-bottom:2px; transition:border-color .35s var(--ease); }
.contact__detail dd a:hover{ border-color:var(--signal); }
.contact__detail dd small{ display:block; font-size:var(--t-small); color:var(--fg-mid); letter-spacing:0; margin-top:.35rem; line-height:1.5; }

.contact__acts{
  margin-top:clamp(32px,3.6vw,44px);
  display:flex; flex-wrap:wrap; gap:14px;
}
.contact__ask{
  margin-top:clamp(40px,5vw,64px);
  border-top:1px solid var(--rule);
  max-width:52ch;
}
.contact__ask li{
  display:grid; grid-template-columns:2.6rem minmax(0,1fr); gap:var(--gutter);
  padding:13px 0; border-bottom:1px solid var(--rule-soft);
}
.contact__ask b{
  font-weight:500; font-size:var(--t-micro); letter-spacing:.14em;
  color:var(--signal); padding-top:.25em;
}
.contact__ask span{ color:var(--fg-mid); font-size:var(--t-small); }

/* ---------- 14b. Buttons -------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:1.2em;
  border:1px solid var(--bone); background:var(--bone); color:var(--ink);
  padding:17px 28px; min-height:52px;
  font-size:var(--t-micro); letter-spacing:.19em; text-transform:uppercase; font-weight:500;
  text-align:center;
  transition:background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.btn svg{ width:18px; height:9px; overflow:visible; flex:none; }
.btn:hover{ background:transparent; color:var(--bone); }

.btn--ghost{ background:transparent; color:var(--fg); border-color:var(--rule); }
.btn--ghost:hover{ background:var(--bone); color:var(--ink); border-color:var(--bone); }
.btn--ghost svg{ width:11px; height:15px; }

.btn--lg{ padding:22px 34px; min-height:64px; font-size:.75rem; }
.btn--sm{ padding:13px 22px; min-height:46px; }

/* na svetlom podklade sa polarita otáča */
.light .btn{ background:var(--ink); color:var(--bone); border-color:var(--ink); }
.light .btn:hover{ background:transparent; color:var(--ink); }
.light .btn--ghost{ background:transparent; color:var(--ink); border-color:rgba(11,12,13,.3); }
.light .btn--ghost:hover{ background:var(--ink); color:var(--bone); border-color:var(--ink); }

.hero__acts{ margin-top:clamp(30px,3.4vw,44px); display:flex; flex-wrap:wrap; gap:14px; }

/* ---------- 15. Footer ---------------------------------------------------- */
.foot{ border-top:1px solid var(--rule); padding-block:clamp(56px,6vw,90px) 34px; }
.foot__top{ row-gap:clamp(40px,5vw,64px); }
.foot__brand{ grid-column:1 / span 4; }
.foot__brand .mark__id{ font-size:2.2rem; }
.foot__brand p{ margin-top:1.2rem; color:var(--fg-dim); font-size:var(--t-small); max-width:30ch; }
.foot__col{ grid-column:span 2; }
.foot__col--first{ grid-column-start:7; }
.foot__col h4{ font-size:var(--t-micro); letter-spacing:.19em; text-transform:uppercase; color:var(--fg-dim); margin-bottom:1.4rem; font-weight:500; }
.foot__col li{ margin-bottom:.25rem; }
.foot__col a, .foot__col span, .foot__col button{
  display:inline-block; padding-block:6px;
  font-size:var(--t-small); color:var(--fg-mid); text-align:left;
  transition:color .35s var(--ease);
}
.foot__col a:hover, .foot__col button:hover{ color:var(--fg); }
.foot__legal{
  margin-top:clamp(56px,7vw,100px); padding-top:22px; border-top:1px solid var(--rule-soft);
  display:flex; justify-content:space-between; gap:var(--gutter); flex-wrap:wrap;
  color:var(--fg-dim);
}
.foot__legal a:hover{ color:var(--fg); }
.to-top{ display:inline-flex; align-items:center; gap:.8em; }

/* ---------- 16. Reveal ---------------------------------------------------- */
.js [data-reveal]{ opacity:0; transform:translateY(22px); }
[data-reveal].is-in{
  opacity:1; transform:none;
  transition:opacity .9s var(--ease), transform .9s var(--ease);
  transition-delay:var(--d,0ms);
}
.js .hero__title .line > span{ transform:translateY(106%); }
.is-loaded .hero__title .line > span{
  transform:none;
  transition:transform 1.15s var(--ease);
}
.is-loaded .hero__title .line:nth-child(2) > span{ transition-delay:.10s; }
.is-loaded .hero__title .line:nth-child(3) > span{ transition-delay:.20s; }

.js .hero__eyebrow, .js .hero__lede, .js .hero__acts, .js .hero__foot{ opacity:0; }
.is-loaded .hero__eyebrow{ opacity:1; transition:opacity 1s var(--ease) .05s; }
.is-loaded .hero__lede{ opacity:1; transition:opacity 1s var(--ease) .45s; }
.is-loaded .hero__acts{ opacity:1; transition:opacity 1s var(--ease) .55s; }
.is-loaded .hero__foot{ opacity:1; transition:opacity 1s var(--ease) .7s; }

.js .map .corridor{ stroke-dasharray:var(--len); stroke-dashoffset:var(--len); }
.map.is-in .corridor{ stroke-dashoffset:0; transition:stroke-dashoffset 1.7s var(--ease) var(--d,0ms); }
.js .map .dot, .js .map text, .js .map .land{ opacity:0; }
.map.is-in .dot, .map.is-in text{ opacity:1; transition:opacity .7s linear var(--d,0ms); }
.map.is-in .land{ opacity:1; transition:opacity 1s var(--ease); }

/* ---------- 17. Responsive ------------------------------------------------ */
@media (max-width:1180px){
  .nav__tel{ display:none; }
  .company__statement{ grid-column:2 / span 11; }
  .network__intro{ grid-column:1 / span 5; }
  .network__map{ grid-column:1 / span 12; margin-top:clamp(40px,5vw,64px); }
  .countries{ columns:3; }
}
@media (max-width:980px){
  .nav__links{ display:none; }
  .nav__burger{
    display:inline-flex; align-items:center; gap:.8em;
    font-size:var(--t-micro); letter-spacing:.16em; text-transform:uppercase; color:var(--fg-mid);
  }
  .nav__burger i{ display:block; width:22px; height:1px; background:currentColor; position:relative; }
  .nav__burger i::after{ content:''; position:absolute; left:0; top:-6px; width:22px; height:1px; background:currentColor; }
  .svc__link{ grid-template-columns:3.5rem minmax(0,1fr); row-gap:14px; }
  .svc__desc, .svc__spec, .svc__thumb{ grid-column:2; }
  .svc__spec{ text-align:left; padding-top:0; }
  .svc__thumb{ display:block; margin-top:8px; }
  .svc__thumb .ph{ aspect-ratio:16/9; }
  .svc__row:hover .svc__name{ transform:none; }
  .svc:hover .svc__row:not(:hover) .svc__link{ opacity:1; }
  .company__body, .company__figure{ grid-column:1 / span 12; }
  .company__figure{ margin-top:clamp(40px,6vw,64px); }
  .company__figure .ph{ aspect-ratio:16/10; }
  .fleet__note figure, .fleet__note div{ grid-column:1 / span 12; }
  .fleet__note div{ margin-top:32px; }
  .network__intro{ grid-column:1 / span 12; }
  .network__intro h3{ max-width:20ch; }
  .contact__head, .contact__detail{ grid-column:1 / span 12; }
  .contact__detail{ margin-top:clamp(48px,7vw,72px); }
  .doc{ grid-template-columns:minmax(0,1fr); }
  .foot__brand{ grid-column:1 / span 12; }
  .foot__col{ grid-column:span 4; }
  .foot__col--first{ grid-column-start:1; }
  .countries{ columns:2; }
  .table tbody th{ width:auto; }
}
@media (max-width:760px){
  .fleet__hero .ph{ aspect-ratio:4/3; }
  .bleed .ph{ aspect-ratio:3/2; }
  .bleed figcaption{ position:static; padding:14px var(--pad) 0; text-align:left; max-width:none; color:var(--fg-dim); }
}
@media (max-width:640px){
  .hero{ min-height:92svh; padding-top:96px; }
  .hero__media img{ object-position:70% 50%; }
  .hero__veil{ background:linear-gradient(180deg, rgba(6,6,7,.86) 0%, rgba(6,6,7,.30) 30%, rgba(6,6,7,.72) 66%, rgba(6,6,7,.96) 100%); }
  .hero__foot{ flex-direction:column; align-items:flex-start; gap:26px; }
  .hero__facts{ gap:24px 34px; }
  .mark__sub{ display:none; }
  .nav__cta{ padding:9px 13px; }
  .foot__col{ grid-column:span 6; }
  .countries{ columns:1; }
  .company__statement{ grid-column:1 / span 12; }
  .sec-head{ flex-direction:column; gap:10px; }
  .sec-head__note{ text-align:left; }
  .table th, .table td{ padding-right:14px; }
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  [data-reveal]{ opacity:1; transform:none; }
  .hero__title .line > span{ transform:none; }
  .hero__eyebrow,.hero__lede,.hero__foot{ opacity:1; }
  .map .corridor{ stroke-dashoffset:0; }
  .map .dot, .map text, .map .land{ opacity:1; }
}
@media print{
  .nav,.svc-preview,.menu{ display:none; }
  body{ background:#fff; color:#000; }
}


/* ---------- 18. Doplnky --------------------------------------------------- */
.lanes tfoot td{
  color:rgba(11,12,13,.42); padding-top:18px; border:0;
}
.table tfoot td{ border-top:1px solid var(--rule); }


.ph--cool img{ filter:grayscale(.62) contrast(1.1) saturate(.5) brightness(.78); }


/* ---------- 19. Tabuľky s vodorovným rolovaním ---------------------------- */
.scroll-x{
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
}
.scroll-x > table{ min-width:min(100%, 560px); }
.scroll-x::-webkit-scrollbar{ height:3px; }
.scroll-x::-webkit-scrollbar-thumb{ background:var(--rule); }
.light .scroll-x::-webkit-scrollbar-thumb{ background:rgba(11,12,13,.22); }

/* ---------- 20. Kotvy pod fixnou navigáciou ------------------------------ */
section[id], div[id]{ scroll-margin-top:clamp(76px, 13vw, 104px); }

/* ---------- 21. Lišta súhlasu -------------------------------------------- */
.cc{
  position:fixed; left:0; right:0; bottom:0; z-index:95;
  padding:0 var(--pad) max(16px, env(safe-area-inset-bottom));
  transform:translateY(115%);
  transition:transform .6s var(--ease);
}
.cc.is-on{ transform:none; }
.cc__box{
  max-width:var(--shell); margin-inline:auto;
  background:var(--ink-raise);
  border:1px solid var(--rule);
  box-shadow:0 -24px 70px rgba(0,0,0,.55);
  padding:clamp(20px,2.4vw,32px);
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(20px,3vw,48px); align-items:center;
}
.cc__title{
  font-size:var(--t-micro); letter-spacing:.19em; text-transform:uppercase;
  font-weight:500; color:var(--fg); margin-bottom:.75rem;
}
.cc__text p{ color:var(--fg-mid); font-size:var(--t-small); max-width:88ch; }
.cc__text strong{ color:var(--fg); font-weight:500; }
.cc__acts{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.cc__more{
  font-size:var(--t-micro); letter-spacing:.16em; text-transform:uppercase;
  color:var(--fg-dim); padding:14px 6px;
  text-decoration:underline; text-underline-offset:4px;
}
.cc__more:hover{ color:var(--fg); }

/* ---------- 22. Právne informácie (modálne okno) ------------------------- */
.legal{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:flex-end; justify-content:center;
  background:rgba(4,5,6,.74);
  opacity:0; transition:opacity .4s var(--ease);
}
.legal.is-on{ opacity:1; }
.legal__panel{
  width:min(900px,100%); max-height:92svh;
  background:var(--ink-raise); border:1px solid var(--rule); border-bottom:0;
  display:flex; flex-direction:column;
  transform:translateY(26px); transition:transform .5s var(--ease);
}
.legal.is-on .legal__panel{ transform:none; }
.legal__bar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:16px clamp(20px,3vw,36px);
  border-bottom:1px solid var(--rule);
  color:var(--fg-dim);
}
.legal__close{
  font-size:var(--t-micro); letter-spacing:.19em; text-transform:uppercase;
  color:var(--fg-mid); padding:12px 0;
}
.legal__close:hover{ color:var(--fg); }
.legal__scroll{
  overflow-y:auto; -webkit-overflow-scrolling:touch; min-height:0;
  padding:clamp(26px,3.4vw,44px) clamp(20px,3vw,36px) clamp(40px,5vw,64px);
}
.legal__doc h2{
  font-size:var(--t-h3); font-weight:500; font-variation-settings:'wdth' 108;
  letter-spacing:-.024em; line-height:1.08;
}
.legal__upd{ color:var(--fg-dim); margin:.9rem 0 clamp(24px,3vw,34px); }
.legal__doc h3{
  font-size:var(--t-h4); font-weight:500; letter-spacing:-.01em;
  margin:clamp(28px,3vw,40px) 0 .7rem;
}
.legal__doc p{ color:var(--fg-mid); font-size:var(--t-small); max-width:76ch; }
.legal__doc p + p{ margin-top:.9rem; }
.legal__doc i{ color:var(--fg-dim); font-style:italic; }
.legal__doc b{ color:var(--fg); font-weight:500; }
.legal__doc a{ color:var(--fg); border-bottom:1px solid var(--rule); }
.legal__doc a:hover{ border-color:var(--signal); }
.legal__list{ margin-top:.4rem; border-top:1px solid var(--rule-soft); }
.legal__list li{
  padding:14px 0; border-bottom:1px solid var(--rule-soft);
  color:var(--fg-mid); font-size:var(--t-small); max-width:76ch;
}
.legal__table{ width:100%; border-collapse:collapse; margin-top:1rem; min-width:520px; }
.legal__table th, .legal__table td{
  text-align:left; vertical-align:top; padding:12px 18px 12px 0;
  font-size:var(--t-small); color:var(--fg-mid); font-weight:400;
}
.legal__table thead th{
  font-size:var(--t-micro); letter-spacing:.16em; text-transform:uppercase;
  font-weight:500; color:var(--fg-dim); border-bottom:1px solid var(--rule);
}
.legal__table tbody th{ color:var(--fg); }
.legal__table tbody tr{ border-bottom:1px solid var(--rule-soft); }
.legal__inline{
  color:var(--fg); text-decoration:underline; text-underline-offset:3px;
  font-size:inherit; padding:0;
}

@media (min-width:761px){
  .legal{ align-items:center; padding:var(--pad); }
  .legal__panel{ border-bottom:1px solid var(--rule); }
}

/* ---------- 23. Dotykové a mobilné doladenie ----------------------------- */
a, button{ -webkit-tap-highlight-color:rgba(200,70,29,.16); }
.nav__burger, .menu__close, .hero__scroll, .to-top{ padding-block:8px; }

@media (max-width:980px){
  .cc__box{ grid-template-columns:minmax(0,1fr); }
  .cc__acts .btn{ flex:1 1 42%; }
}
@media (max-width:760px){
  .map text{ font-size:10px; letter-spacing:.08em; }
  .map text.base-label{ font-size:11px; }
  .doc__acts{ align-self:stretch; }
  .doc__acts .btn{ width:100%; }
  .hero__acts .btn, .contact__acts .btn{ flex:1 1 100%; }
}
@media (max-width:640px){
  .creds li{ grid-template-columns:minmax(0,1fr); gap:6px; padding:14px 0; }
  .creds li b{ padding-top:0; }
  .doc__meta{ gap:0 clamp(24px,7vw,40px); }
  .contact__ask li{ grid-template-columns:2rem minmax(0,1fr); gap:12px; }
  .legal__panel{ max-height:94svh; }
  .foot__legal{ gap:12px; }
}

@media print{
  .cc, .legal, .hero__acts, .doc__acts{ display:none; }
}


