/* ============================================================
   STAVAKON s.r.o. — redesign v2  ·  koncept „Nivelácia“
   Archivo (display) / Newsreader (text) / IBM Plex Mono (data)
   ============================================================ */

:root{
  --bg:#12181E;
  --bg-deep:#0D131A;
  --bg-band:#0A1016;
  --surface:#1A2129;
  --surface-2:#202932;

  --line:rgba(214,229,242,.10);
  --line-2:rgba(214,229,242,.20);

  --brand:#0058AA;
  --patina:#3E96E0;
  --patina-hi:#6FB4EE;
  --patina-dim:#2A6DAB;
  --brass:#A8C4DC;

  --stone:#E3E7EA;
  --stone-2:#D2D8DD;
  --ink:#12181E;

  --white:#F2F5F8;
  --fog:#9BA8B4;
  --fog-2:#8695A3;

  --rail:78px;
  --pad:clamp(20px,5vw,88px);
  --maxw:1300px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--bg);
  color:var(--white);
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-size:clamp(16px,1.05vw,18.5px);
  font-weight:300;
  line-height:1.66;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}

/* jemné zrno cez celú stránku */
body::after{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;z-index:9;opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}

img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}

::selection{background:var(--patina);color:var(--bg-deep)}

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

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg-deep)}
::-webkit-scrollbar-thumb{background:#28323D;border:2px solid var(--bg-deep)}
::-webkit-scrollbar-thumb:hover{background:var(--patina-dim)}

.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--patina);color:var(--bg-deep);
  padding:12px 18px;font-family:"IBM Plex Mono",monospace;font-size:13px;
}
.skip:focus{left:12px;top:12px}

/* ── typografické primitívy ──────────────────────────────── */

.eyebrow{
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:11px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--patina);
  margin:0 0 24px;
  display:flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--patina-dim);flex:none}
.eyebrow--ink{color:var(--patina-dim)}

.h2{
  font-family:"Archivo",system-ui,sans-serif;
  font-variation-settings:"wdth" 112,"wght" 700;
  font-size:clamp(30px,3.7vw,56px);
  line-height:1.04;
  letter-spacing:-.02em;
  text-transform:uppercase;
  margin:0 0 24px;
}
.h2 em,.hero__h1 em,.band__h em{
  font-family:"Newsreader",serif;
  font-variation-settings:normal;
  font-style:italic;font-weight:300;
  text-transform:none;letter-spacing:-.012em;
  color:var(--patina);
}
.h2--ink{color:var(--ink)}
.h2--ink em{color:var(--patina-dim)}

.mut{color:var(--fog-2)}

/* ── tlačidlá a odkazy ───────────────────────────────────── */

.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:"IBM Plex Mono",monospace;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:18px 32px;
  text-decoration:none;cursor:pointer;
  border:1px solid transparent;
  transition:color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease);
}
.btn span{position:relative;z-index:2}
.btn::before{
  content:"";position:absolute;inset:0;z-index:1;
  transform:translateY(101%);
  transition:transform .5s var(--ease-out);
}
.btn:hover::before{transform:translateY(0)}

.btn--solid{background:var(--patina);color:#08101A;border-color:var(--patina);font-weight:500}
.btn--solid::before{background:var(--patina-hi)}
.btn--solid:hover{box-shadow:0 14px 40px -18px rgba(62,150,224,.85)}

.btn--ghost{color:var(--white);border-color:var(--line-2);background:transparent}
.btn--ghost::before{background:var(--white)}
.btn--ghost:hover{color:#08101A;border-color:var(--white)}

.btn--lg{padding:22px 46px;font-size:13px}
.btn--full{width:100%}

.link{
  display:inline-flex;align-items:center;gap:10px;
  font-family:"IBM Plex Mono",monospace;font-size:12.5px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--patina);text-decoration:none;
  padding-bottom:6px;border-bottom:1px solid var(--patina-dim);
  transition:gap .35s var(--ease),border-color .35s var(--ease);
}
.link:hover{gap:18px;border-color:var(--patina)}

/* ══ LOADER ═══════════════════════════════════════════════ */

.loader{
  position:fixed;inset:0;z-index:300;
  background:var(--bg-deep);
  display:grid;place-items:center;
  transition:transform 1s var(--ease-out),opacity .6s ease .3s;
  animation:loaderFailsafe 0s linear 4s forwards;
}
@keyframes loaderFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
.loader.is-done{transform:translateY(-101%);opacity:1;pointer-events:none}
.loader__inner{display:flex;flex-direction:column;align-items:center;gap:16px}
.loader__glyph{width:84px;height:42px;color:var(--patina)}
.loader__name{
  font-family:"Archivo",sans-serif;
  font-variation-settings:"wdth" 118,"wght" 700;
  font-size:19px;letter-spacing:.4em;text-indent:.4em;
}
.loader__bar{
  display:block;width:min(220px,50vw);height:1px;background:var(--line-2);position:relative;overflow:hidden;
}
.loader__bar i{
  position:absolute;left:0;top:0;bottom:0;width:0%;
  background:var(--patina);
  transition:width .25s linear;
}
.loader__pct{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;
  letter-spacing:.2em;color:var(--fog-2);
}

/* ══ RAIL ═════════════════════════════════════════════════ */

.rail{
  position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:40;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,var(--bg-deep),rgba(13,19,26,.55));
  display:none;
}
.rail__scale{
  position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(180deg,var(--line-2) 0 1px,transparent 1px 14px),
    repeating-linear-gradient(180deg,rgba(62,150,224,.45) 0 1px,transparent 1px 70px);
  background-size:14px 14px,26px 70px;
  background-position:right 0 top 0,right 0 top 0;
  background-repeat:repeat-y;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);
  opacity:.75;
}
.rail__scale::before{content:"";position:absolute;right:0;top:0;bottom:0;width:26px;border-left:1px solid var(--line)}
.rail__head{
  position:absolute;right:0;top:0;width:100%;height:2px;
  background:var(--brass);
  box-shadow:0 0 18px rgba(168,196,220,.55);
  will-change:transform;
}
.rail__read{
  position:absolute;right:34px;top:10px;
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.1em;
  color:var(--brass);writing-mode:vertical-rl;white-space:nowrap;
}
.rail__head.is-flip .rail__read{top:auto;bottom:10px}
.rail__brand{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  writing-mode:vertical-rl;
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--fog-2);
}

/* ══ HLAVIČKA ═════════════════════════════════════════════ */

.head{
  position:fixed;top:0;left:0;right:0;z-index:120;
  display:flex;align-items:center;gap:28px;
  padding:22px var(--pad);
  border-bottom:1px solid transparent;
  transition:background .45s var(--ease),padding .45s var(--ease),border-color .45s var(--ease);
}
.head.is-stuck{
  background:rgba(13,19,26,.88);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom-color:var(--line);
  padding-top:13px;padding-bottom:13px;
}

.mark{display:flex;align-items:center;gap:13px;text-decoration:none;margin-right:auto}
.mark__glyph{width:56px;height:28px;color:var(--patina);flex:none;transition:transform .6s var(--ease)}
.mark:hover .mark__glyph{transform:translateY(-2px)}
.mark__type{display:flex;flex-direction:column;line-height:1.15}
.mark__name{
  font-family:"Archivo",sans-serif;
  font-variation-settings:"wdth" 118,"wght" 700;
  font-size:17px;letter-spacing:.12em;
}
.mark__sub{
  font-family:"IBM Plex Mono",monospace;font-size:9.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--fog-2);
}

.nav{display:flex;align-items:center;gap:26px}
.nav a{
  position:relative;padding:6px 0;
  font-family:"IBM Plex Mono",monospace;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;color:var(--fog);
  transition:color .3s var(--ease);
}
.nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--patina);
  transition:right .4s var(--ease);
}
.nav a:hover{color:var(--white)}
.nav a:hover::after,.nav a.is-active::after{right:0}
.nav a.is-active{color:var(--patina)}

.head__tel{display:flex;flex-direction:column;text-decoration:none;padding-left:26px;border-left:1px solid var(--line)}
.head__telLabel{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--fog-2)}
.head__telNo{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 600;
  font-size:15px;transition:color .3s var(--ease);
}
.head__tel:hover .head__telNo{color:var(--patina)}

.burger{
  display:none;width:46px;height:46px;padding:0;position:relative;
  background:transparent;border:1px solid var(--line-2);cursor:pointer;
  transition:border-color .3s var(--ease);
}
.burger:hover{border-color:var(--patina)}
.burger span{
  position:absolute;left:13px;width:20px;height:1px;background:var(--white);
  transition:transform .4s var(--ease),opacity .3s var(--ease);
}
.burger span:nth-child(1){top:19px}
.burger span:nth-child(2){top:26px}
.burger.is-open span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.burger.is-open span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}

/* ══ MOBILNÉ MENU ═════════════════════════════════════════ */

.menu{
  position:fixed;inset:0;z-index:110;
  background:var(--bg-deep);
  display:flex;flex-direction:column;justify-content:center;
  padding:110px var(--pad) 40px;
  opacity:0;transition:opacity .45s var(--ease);
}
.menu[hidden]{display:none}
.menu.is-open{opacity:1}
.menu__nav{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line)}
.menu__nav a{
  display:flex;align-items:baseline;gap:18px;
  padding:18px 0;border-bottom:1px solid var(--line);
  text-decoration:none;
  font-family:"Archivo",sans-serif;
  font-variation-settings:"wdth" 106,"wght" 600;
  font-size:clamp(22px,6.6vw,34px);text-transform:uppercase;letter-spacing:-.01em;
  opacity:0;transform:translateY(18px);
  transition:opacity .6s var(--ease),transform .6s var(--ease),color .3s var(--ease);
}
.menu.is-open .menu__nav a{opacity:1;transform:none}
.menu__nav a:nth-child(1){transition-delay:.06s}
.menu__nav a:nth-child(2){transition-delay:.11s}
.menu__nav a:nth-child(3){transition-delay:.16s}
.menu__nav a:nth-child(4){transition-delay:.21s}
.menu__nav a:nth-child(5){transition-delay:.26s}
.menu__nav a:nth-child(6){transition-delay:.31s}
.menu__nav a:hover{color:var(--patina)}
.menu__nav i{
  font-family:"IBM Plex Mono",monospace;font-style:normal;
  font-size:11px;letter-spacing:.16em;color:var(--patina-dim);
}
.menu__foot{
  margin-top:44px;display:flex;flex-direction:column;gap:8px;
  font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.08em;color:var(--fog);
}
.menu__foot a{text-decoration:none}
.menu__foot span{color:var(--fog-2);text-transform:uppercase;font-size:10.5px;letter-spacing:.2em}

/* ══ LAYOUT ═══════════════════════════════════════════════ */

main section[id]{scroll-margin-top:100px}

.section{
  position:relative;
  padding:clamp(88px,10vw,160px) var(--pad);
  max-width:calc(var(--maxw) + var(--pad) * 2);
  margin:0 auto;
}
.section--deep{
  max-width:none;
  background:var(--bg-deep);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding-left:max(var(--pad),calc((100% - var(--maxw)) / 2));
  padding-right:max(var(--pad),calc((100% - var(--maxw)) / 2));
}

.secHead{margin-bottom:clamp(46px,5vw,78px);max-width:820px}
.secHead__lead{color:var(--fog);font-size:1.06em;margin:14px 0 0;max-width:56ch}

/* ══ HERO ═════════════════════════════════════════════════ */

.hero{
  position:relative;
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:150px var(--pad) 44px;
  overflow:hidden;
  isolation:isolate;
}
.hero__bg{position:absolute;inset:-8% 0 -8%;z-index:-3;will-change:transform}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.82) contrast(1.05) brightness(.92)}
.hero__veil{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg,rgba(13,19,26,.86) 0%,rgba(13,19,26,.42) 34%,rgba(13,19,26,.80) 74%,var(--bg) 100%),
    linear-gradient(90deg,rgba(13,19,26,.92) 0%,rgba(13,19,26,.45) 52%,rgba(13,19,26,.20) 100%);
}
.hero__grid{
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(90deg,var(--line) 1px,transparent 1px),
    linear-gradient(180deg,var(--line) 1px,transparent 1px);
  background-size:clamp(90px,12vw,180px) clamp(90px,12vw,180px);
  -webkit-mask-image:radial-gradient(120% 90% at 12% 88%,#000,transparent 72%);
  mask-image:radial-gradient(120% 90% at 12% 88%,#000,transparent 72%);
}

.hero__inner{max-width:var(--maxw);width:100%;margin:auto auto 0;padding-top:40px}

.hero__h1{
  font-family:"Archivo",sans-serif;
  font-variation-settings:"wdth" 106,"wght" 800;
  font-size:clamp(42px,7.4vw,112px);
  line-height:.96;letter-spacing:-.032em;text-transform:uppercase;
  margin:0 0 30px;
  text-wrap:balance;
}
.hero__lead{color:var(--fog);font-size:clamp(16px,1.35vw,20px);max-width:52ch;margin:0 0 40px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}

.hero__bottom{
  position:relative;z-index:2;
  max-width:var(--maxw);width:100%;margin:clamp(46px,7vw,90px) auto 0;
  padding-top:26px;border-top:1px solid var(--line);
  display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
}
.scrollCue{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  text-decoration:none;color:var(--fog-2);
}
.scrollCue__line{display:block;width:1px;height:52px;background:var(--line-2);position:relative;overflow:hidden}
.scrollCue__line::after{
  content:"";position:absolute;left:0;top:0;width:1px;height:18px;background:var(--patina);
  animation:cue 2.4s var(--ease) infinite;
}
@keyframes cue{0%{transform:translateY(-20px)}60%,100%{transform:translateY(56px)}}
.scrollCue__txt{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase}

.hero__plate{
  margin:0;max-width:340px;text-align:right;
  display:flex;gap:16px;justify-content:flex-end;align-items:flex-start;
}
.hero__plateNo{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;color:var(--brass);padding-top:3px}
.hero__plateTxt{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;line-height:1.8;
  letter-spacing:.14em;text-transform:uppercase;color:var(--fog);
}
.hero__plateTxt i{color:var(--fog-2);font-style:normal}

/* ══ TICKER ═══════════════════════════════════════════════ */

.ticker{
  overflow:hidden;
  background:var(--bg-deep);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:16px 0;
}
.ticker__row{display:flex;width:max-content;animation:tick 42s linear infinite}
.ticker:hover .ticker__row{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
.ticker__grp{display:flex;align-items:center;white-space:nowrap}
.ticker__grp b{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 500;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--fog);
}
.ticker__grp i{display:block;width:6px;height:6px;background:var(--patina-dim);margin:0 26px;transform:rotate(45deg)}

/* ══ KARTY SLUŽIEB ════════════════════════════════════════ */

.cards{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.card{
  position:relative;overflow:hidden;
  background:var(--bg);
  padding:clamp(28px,3vw,46px);
  transition:background .5s var(--ease);
}
.card::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(62,150,224,.15),transparent 68%);
  transition:opacity .5s var(--ease);
}
.card:hover{background:var(--surface)}
.card:hover::after{opacity:1}
.card::before{
  content:"";position:absolute;left:0;top:0;width:0;height:2px;background:var(--patina);
  transition:width .6s var(--ease);z-index:2;
}
.card:hover::before{width:100%}
.card > *{position:relative;z-index:1}
.card__tag{
  display:inline-block;
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.2em;
  color:var(--brass);border:1px solid rgba(168,196,220,.40);
  padding:5px 12px;margin-bottom:28px;
}
.card__title{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 104,"wght" 650;
  font-size:clamp(19px,1.55vw,24px);line-height:1.18;letter-spacing:-.012em;
  text-transform:uppercase;margin:0 0 14px;
}
.card__desc{color:var(--fog);margin:0 0 26px;font-size:.98em}
.card__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.card__list li{
  position:relative;padding:12px 0 12px 22px;border-bottom:1px solid var(--line);
  font-size:.93em;color:var(--fog);
}
.card__list li::before{content:"";position:absolute;left:0;top:21px;width:8px;height:1px;background:var(--patina-dim)}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);margin-top:clamp(50px,5vw,84px)}
.pillar{padding-top:24px;border-top:1px solid var(--patina-dim)}
.pillar h3{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 600;
  font-size:15px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 8px;
}
.pillar p{margin:0;color:var(--fog);font-size:.96em}

/* ══ ČÍSLA ════════════════════════════════════════════════ */

.statsWrap{
  background:var(--bg-band);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:clamp(46px,5vw,72px) var(--pad);
}
.stats{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px);
}
.stat{display:flex;flex-direction:column;gap:8px;padding-left:22px;border-left:1px solid var(--line-2)}
.stat__num{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 96,"wght" 700;
  font-size:clamp(34px,4.4vw,60px);line-height:.9;letter-spacing:-.03em;
  color:var(--patina);font-variant-numeric:tabular-nums;
}
.stat__num--txt{font-variation-settings:"wdth" 108,"wght" 700;font-size:clamp(28px,3.4vw,46px);color:var(--brass)}
.stat__lbl{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;
  letter-spacing:.17em;text-transform:uppercase;color:var(--fog-2);
}

/* ══ PROCES ═══════════════════════════════════════════════ */

.steps{position:relative}
.steps__track{
  position:absolute;left:0;right:0;top:0;height:1px;z-index:3;
  background:var(--line-2);overflow:hidden;
}
.steps__track i{position:absolute;left:0;top:0;bottom:0;width:0%;background:var(--patina);transition:width .25s linear}
.steps__list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
}
.step{
  position:relative;background:var(--bg-deep);
  padding:clamp(30px,3vw,46px) clamp(20px,2vw,32px);
}
.step__dot{
  position:absolute;left:clamp(20px,2vw,32px);top:-4px;z-index:4;
  width:7px;height:7px;background:var(--bg-deep);border:1px solid var(--patina);transform:rotate(45deg);
}
.step__no{
  display:block;font-family:"IBM Plex Mono",monospace;font-size:12px;
  letter-spacing:.2em;color:var(--patina);margin-bottom:26px;
}
.step h3{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 600;
  font-size:16px;letter-spacing:.02em;text-transform:uppercase;margin:0 0 12px;line-height:1.25;
}
.step p{margin:0;color:var(--fog);font-size:.95em}

/* ══ O FIRME ══════════════════════════════════════════════ */

.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,86px);align-items:center}
.about__p{color:var(--fog);margin:0 0 30px;max-width:52ch;font-size:1.04em}
.ticks{list-style:none;margin:0 0 38px;padding:0}
.ticks li{position:relative;padding:15px 0 15px 34px;border-top:1px solid var(--line)}
.ticks li:last-child{border-bottom:1px solid var(--line)}
.ticks li::before{
  content:"";position:absolute;left:2px;top:22px;width:12px;height:6px;
  border-left:1.5px solid var(--patina);border-bottom:1.5px solid var(--patina);transform:rotate(-45deg);
}
.about__media{position:relative;margin:0;border:1px solid var(--line-2);overflow:hidden}
.about__media img{width:100%;aspect-ratio:5/4;object-fit:cover;filter:saturate(.9)}
.about__media figcaption{
  position:absolute;left:0;bottom:0;
  background:rgba(13,19,26,.9);backdrop-filter:blur(6px);
  padding:12px 18px;
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fog);
}
.about__badge{
  position:absolute;right:18px;top:18px;
  width:104px;height:104px;border-radius:50%;
  border:1px solid rgba(168,196,220,.50);
  background:rgba(13,19,26,.72);backdrop-filter:blur(8px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  transform:rotate(-8deg);
  text-align:center;
}
.about__badge b{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 110,"wght" 700;
  font-size:16px;letter-spacing:.16em;color:var(--brass);
}
.about__badge i{
  font-family:"IBM Plex Mono",monospace;font-style:normal;font-size:8.5px;
  line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--fog);
}

/* ══ LEDGER ═══════════════════════════════════════════════ */

.ledger{
  position:relative;
  background:var(--stone);color:var(--ink);
  padding:clamp(40px,5vw,88px);
  max-width:var(--maxw);margin:0 auto;
  overflow:hidden;
}
.ledger::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--patina-dim),var(--brass))}
.ledger::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:repeating-linear-gradient(180deg,rgba(18,24,30,.05) 0 1px,transparent 1px 34px);
}
.ledger > *{position:relative;z-index:1}
.ledger__head{margin-bottom:clamp(34px,4vw,60px)}
.ledger__cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,80px)}
.ledger__title{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 700;
  font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);
  margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid rgba(18,24,30,.25);
}
.ledger__sub{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(18,24,30,.55);margin:40px 0 16px;
}
.entries{margin:0}
.entry{
  display:grid;grid-template-columns:132px 1fr;gap:18px;
  padding:15px 0;border-bottom:1px solid rgba(18,24,30,.14);
}
.entries--tight .entry{padding:11px 0}
.entry dt{
  font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.06em;
  color:var(--patina-dim);padding-top:4px;
}
.entry dd{margin:0;font-size:.99em;line-height:1.5;color:var(--ink)}
.entry .mut{color:rgba(18,24,30,.55);font-size:.92em}

/* ══ REFERENCIE ═══════════════════════════════════════════ */

.ref{position:relative;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.ref__media{
  display:block;position:relative;width:100%;padding:0;margin:0;
  border:0;background:none;cursor:zoom-in;overflow:hidden;
}
.ref__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.02);transition:transform 1.2s var(--ease),filter .8s var(--ease)}
.ref:hover .ref__media img{transform:scale(1.05);filter:saturate(1) contrast(1.05)}
.ref__zoom{
  position:absolute;right:16px;top:16px;
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--white);background:rgba(13,19,26,.72);backdrop-filter:blur(6px);
  padding:8px 12px;border:1px solid var(--line-2);
  opacity:0;transform:translateY(-6px);transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.ref:hover .ref__zoom,.ref__media:focus-visible .ref__zoom{opacity:1;transform:none}
.ref__body{
  position:relative;
  padding:clamp(24px,2.4vw,40px);
  padding-bottom:calc(clamp(24px,2.4vw,40px) + 20px);
}
.ref__place{
  display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:10.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--patina);margin-bottom:16px;
}
.ref__title{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 104,"wght" 650;
  font-size:clamp(19px,1.75vw,27px);line-height:1.16;letter-spacing:-.014em;
  text-transform:uppercase;margin:0 0 12px;
}
.ref__scope{margin:0;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;color:var(--fog-2)}
.ref__note{margin:22px 0 0;color:var(--fog);font-size:.98em;max-width:46ch}
.ref__idx{
  position:absolute;right:clamp(24px,2.4vw,40px);bottom:clamp(20px,2vw,32px);
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.18em;color:var(--fog-2);
}

.ref--wide{display:grid;grid-template-columns:1.2fr 1fr;margin-bottom:clamp(20px,2.4vw,34px)}
.ref--wide .ref__media{min-height:420px}
.ref--wide .ref__body{display:flex;flex-direction:column;justify-content:center}
.refs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,34px)}
.refs .ref__media{aspect-ratio:16/11}

/* ══ CTA PÁS ══════════════════════════════════════════════ */

.band{
  position:relative;overflow:hidden;
  background:var(--bg-band);
  padding:clamp(80px,9vw,140px) var(--pad);
  text-align:center;
  border-top:1px solid var(--line);
}
.band::before{
  content:"";position:absolute;left:50%;top:-30%;width:min(900px,90vw);aspect-ratio:1;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(62,150,224,.16),transparent 62%);
}
.band__inner{position:relative;max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.band .eyebrow{justify-content:center}
.band__h{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 108,"wght" 750;
  font-size:clamp(30px,4.6vw,66px);line-height:1.02;letter-spacing:-.026em;
  text-transform:uppercase;margin:0 0 42px;
  text-wrap:balance;
}

/* ══ KONTAKT ══════════════════════════════════════════════ */

.contact{display:grid;grid-template-columns:1fr minmax(340px,.88fr);gap:clamp(38px,5vw,90px);align-items:start}
.contact__lead{color:var(--fog);margin:0 0 44px;max-width:44ch}
.contact__list{margin:0}
.contact__list > div{
  display:grid;grid-template-columns:180px 1fr;gap:18px;
  padding:18px 0;border-top:1px solid var(--line);align-items:baseline;
}
.contact__list > div:last-child{border-bottom:1px solid var(--line)}
.contact__list dt{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fog-2)}
.contact__list dd{
  margin:0;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 500;
  font-size:clamp(15px,1.25vw,19px);
}
.contact__list a{text-decoration:none;transition:color .3s var(--ease)}
.contact__list a:hover{color:var(--patina)}

.formWrap{background:var(--surface);border:1px solid var(--line-2);padding:clamp(26px,3vw,46px)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}
.form__title{
  grid-column:1/-1;margin:0 0 6px;
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 650;
  font-size:14px;letter-spacing:.18em;text-transform:uppercase;
}
.field{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}
.field--half{grid-column:span 1}
.field label{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fog-2)}
.field .opt{color:rgba(155,168,180,.45);letter-spacing:.08em}
.field input,.field textarea{
  font-family:"Newsreader",serif;font-size:1em;font-weight:300;color:var(--white);
  background:transparent;border:0;border-bottom:1px solid var(--line-2);
  padding:10px 2px;resize:vertical;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.field input::placeholder,.field textarea::placeholder{color:var(--fog-2);opacity:.5}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--patina);box-shadow:0 1px 0 0 var(--patina)}
.field.is-error input,.field.is-error textarea{border-bottom-color:#C4756A}

.consent{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:.85em;color:var(--fog);line-height:1.5;cursor:pointer}
.consent input{
  appearance:none;-webkit-appearance:none;
  width:18px;height:18px;flex:none;margin-top:3px;cursor:pointer;
  border:1px solid var(--line-2);background:transparent;position:relative;
  transition:background .25s var(--ease),border-color .25s var(--ease);
}
.consent input::after{
  content:"";position:absolute;left:4px;top:4px;width:8px;height:4px;
  border-left:1.5px solid #08101A;border-bottom:1.5px solid #08101A;
  transform:rotate(-45deg) scale(0);transition:transform .25s var(--ease);
}
.consent input:checked{background:var(--patina);border-color:var(--patina)}
.consent input:checked::after{transform:rotate(-45deg) scale(1)}
.consent.is-error input{border-color:#C4756A}

.form .btn--full{grid-column:1/-1;margin-top:6px}
.form__note{
  grid-column:1/-1;margin:0;min-height:20px;
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;color:var(--patina);
}
.form__note.is-error{color:#C4756A}

/* ══ PÄTIČKA ══════════════════════════════════════════════ */

.foot{
  position:relative;overflow:hidden;
  background:var(--bg-deep);border-top:1px solid var(--line);
  padding:clamp(54px,5vw,80px) var(--pad) 0;
}
.foot__top{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1fr auto auto;gap:clamp(28px,4vw,64px);align-items:start;
  padding-bottom:40px;border-bottom:1px solid var(--line);
}
.mark--foot .mark__glyph{width:50px;height:25px}
.foot__nav{display:flex;flex-wrap:wrap;gap:8px 26px;max-width:440px}
.foot__nav a{
  font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--fog);text-decoration:none;transition:color .3s var(--ease);
}
.foot__nav a:hover{color:var(--patina)}
.foot__contact{display:flex;flex-direction:column;gap:6px;text-align:right}
.foot__contact a{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 500;
  font-size:15px;text-decoration:none;transition:color .3s var(--ease);
}
.foot__contact a:hover{color:var(--patina)}
.foot__contact span{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fog-2)}
.foot__bottom{
  max-width:var(--maxw);margin:0 auto;padding:26px 0 34px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
}
.foot__bottom p{margin:0;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.1em;color:var(--fog-2)}
.foot__word{
  max-width:var(--maxw);margin:0 auto;overflow:hidden;height:clamp(52px,9vw,140px);
  display:flex;align-items:flex-start;
}
.foot__word span{
  display:block;width:100%;
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 118,"wght" 800;
  font-size:clamp(64px,17.2vw,268px);line-height:.78;
  letter-spacing:-.02em;text-align:center;
  color:transparent;-webkit-text-stroke:1px rgba(155,168,180,.22);
}

/* ══ SPÄŤ NAHOR ═══════════════════════════════════════════ */

.toTop{
  position:fixed;right:22px;bottom:22px;z-index:100;
  width:48px;height:48px;display:grid;place-items:center;
  background:rgba(13,19,26,.8);backdrop-filter:blur(8px);
  border:1px solid var(--line-2);color:var(--white);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .4s var(--ease),transform .4s var(--ease),visibility .4s,border-color .3s,color .3s;
}
.toTop svg{width:18px;height:18px}
.toTop:hover{border-color:var(--patina);color:var(--patina)}
.toTop.is-on{opacity:1;visibility:visible;transform:none}

/* ══ LIGHTBOX ═════════════════════════════════════════════ */

.lb{
  position:fixed;inset:0;z-index:250;
  background:rgba(8,13,18,.95);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,26px);
  padding:clamp(50px,7vw,80px) clamp(12px,4vw,60px);
  opacity:0;transition:opacity .4s var(--ease);
}
.lb[hidden]{display:none}
.lb.is-open{opacity:1}
.lb__fig{margin:0;display:flex;flex-direction:column;gap:14px;align-items:center;max-width:100%}
.lb__fig img{
  max-width:min(1200px,84vw);max-height:74vh;width:auto;height:auto;object-fit:contain;
  border:1px solid var(--line-2);
  transform:scale(.97);transition:transform .5s var(--ease-out);
}
.lb.is-open .lb__fig img{transform:none}
.lb__fig figcaption{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fog);text-align:center;
}
.lb__close,.lb__nav{
  width:48px;height:48px;flex:none;
  background:transparent;border:1px solid var(--line-2);color:var(--white);
  cursor:pointer;font-size:17px;line-height:1;
  transition:border-color .3s,color .3s,background .3s;
}
.lb__close:hover,.lb__nav:hover{border-color:var(--patina);color:var(--patina)}
.lb__close{position:absolute;top:20px;right:20px}

/* ══ ANIMÁCIE ODHALENIA ═══════════════════════════════════ */

.js .rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.is-in{opacity:1;transform:none}

.rvLine{
  display:block;
  padding:.14em .14em .14em 0;
  margin:-.14em -.14em -.14em 0;
  overflow:hidden;
}
.js .rvLine > span{
  display:block;
  transform:translateY(112%);
  transition:transform 1.05s var(--ease-out);
  transition-delay:calc(var(--i,0) * 90ms);
}
.js .rvLine.is-in > span{transform:none}

/* ══ RESPONZÍVNE ══════════════════════════════════════════ */

@media (min-width:1180px){
  .rail{display:block}
  body{padding-left:var(--rail)}
  .head{left:var(--rail)}
  .lb{left:var(--rail)}
}

@media (max-width:1180px){
  .hero{padding-top:132px}
  .hero__lead{max-width:none}
  .ref--wide{grid-template-columns:1fr}
  .ref--wide .ref__media{min-height:0;aspect-ratio:16/10}
  .stats{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:1080px){
  .nav,.head__tel{display:none}
  .burger{display:block}
  .cards,.steps__list{grid-template-columns:1fr 1fr}
  .steps__track{display:none}
  .step__dot{display:none}
  .pillars{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
  .about__media{order:-1}
  .contact{grid-template-columns:1fr}
  .foot__top{grid-template-columns:1fr}
  .foot__contact{text-align:left}
}

@media (max-width:860px){
  .hero__bottom{flex-direction:column;align-items:flex-start;gap:22px}
  .hero__plate{text-align:left;max-width:none;justify-content:flex-start}
  .scrollCue{flex-direction:row;align-items:center;gap:14px}
  .scrollCue__line{width:44px;height:1px}
  .scrollCue__line::after{width:14px;height:1px;animation:cueX 2.4s var(--ease) infinite}
  @keyframes cueX{0%{transform:translateX(-16px)}60%,100%{transform:translateX(46px)}}
}

@media (max-width:720px){
  .cards,.steps__list,.refs{grid-template-columns:1fr}
  .ledger__cols{grid-template-columns:1fr}
  .entry{grid-template-columns:104px 1fr;gap:12px}
  .contact__list > div{grid-template-columns:1fr;gap:4px}
  .form{grid-template-columns:1fr}
  .field--half{grid-column:1/-1}
  .hero__cta{width:100%}
  .hero__cta .btn{flex:1 1 auto}
  .foot__bottom{flex-direction:column}
  .about__badge{width:88px;height:88px;right:12px;top:12px}
  .lb__nav{width:42px;height:42px}
  .lb{padding:70px 12px 30px}
}

@media (max-width:480px){
  .stats{grid-template-columns:1fr}
  .stat{padding-left:18px}
  .toTop{right:14px;bottom:14px;width:42px;height:42px}
  .ticker__grp i{margin:0 16px}
}

@media (max-width:420px){
  .mark__sub{display:none}
}

/* ══ MOTION / PRINT ═══════════════════════════════════════ */

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv,.js .rvLine > span{opacity:1;transform:none;transition:none}
  .ticker__row{animation:none}
  .scrollCue__line::after{animation:none}
  .loader{display:none}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

@media print{
  .rail,.head,.menu,.formWrap,.toTop,.lb,.loader,.ticker,body::after{display:none !important}
  body{background:#fff;color:#000;padding-left:0}
  .section{padding:20px 0}
  .h2,.hero__h1{color:#000}
}

/* ============================================================
   ROZŠÍRENIE v3 — viacstránkový web
   Podstránky, referencie, galérie, FAQ, právne texty
   ============================================================ */

/* ══ PAGE HERO (podstránky) ═══════════════════════════════ */

.phero{
  position:relative;
  padding:clamp(140px,15vw,210px) var(--pad) clamp(48px,6vw,86px);
  overflow:hidden;
  border-bottom:1px solid var(--line);
  isolation:isolate;
}
.phero__bg{position:absolute;inset:0;z-index:-3}
.phero__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05) brightness(.62)}
.phero__veil{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg,rgba(14,19,22,.94) 0%,rgba(14,19,22,.62) 45%,rgba(14,19,22,.93) 100%),
    linear-gradient(90deg,rgba(14,19,22,.9) 0%,rgba(14,19,22,.35) 70%);
}
.phero__grid{
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.45;
  background-image:
    linear-gradient(90deg,var(--line) 1px,transparent 1px),
    linear-gradient(180deg,var(--line) 1px,transparent 1px);
  background-size:clamp(80px,10vw,150px) clamp(80px,10vw,150px);
  -webkit-mask-image:radial-gradient(120% 100% at 8% 100%,#000,transparent 70%);
  mask-image:radial-gradient(120% 100% at 8% 100%,#000,transparent 70%);
}
.phero__inner{max-width:var(--maxw);margin:0 auto;position:relative;z-index:1}
.phero__h1{
  font-family:"Archivo",sans-serif;
  font-variation-settings:"wdth" 106,"wght" 800;
  font-size:clamp(34px,5.6vw,80px);
  line-height:.98;letter-spacing:-.03em;text-transform:uppercase;
  margin:0;text-wrap:balance;max-width:20ch;
}
.phero__h1 em{
  font-family:"Newsreader",serif;font-variation-settings:normal;
  font-style:italic;font-weight:300;text-transform:none;letter-spacing:-.012em;color:var(--patina);
}
.phero__lead{color:var(--fog);font-size:clamp(16px,1.3vw,20px);max-width:58ch;margin:26px 0 0}
.phero--tall{padding-bottom:clamp(64px,8vw,120px)}

/* ══ DROBČEKY ═════════════════════════════════════════════ */

.crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin:0 0 26px;padding:0;list-style:none;
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--fog-2);
}
.crumbs a{color:var(--patina);text-decoration:none;transition:color .3s var(--ease)}
.crumbs a:hover{color:var(--patina-hi)}
.crumbs li::after{content:"/";margin-left:10px;color:var(--patina-dim)}
.crumbs li:last-child::after{content:none}
.crumbs li{display:flex;align-items:center;gap:10px}

/* ══ SLUŽBY — DETAILNÉ BLOKY ══════════════════════════════ */

.svc{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(30px,5vw,80px);align-items:center;
  padding:clamp(46px,5vw,80px) 0;
  border-top:1px solid var(--line);
}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.svc:nth-child(even) .svc__media{order:-1}
.svc__no{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.24em;
  color:var(--brass);display:block;margin-bottom:20px;
}
.svc__title{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 104,"wght" 700;
  font-size:clamp(23px,2.5vw,38px);line-height:1.08;letter-spacing:-.018em;
  text-transform:uppercase;margin:0 0 18px;
}
.svc__p{color:var(--fog);margin:0 0 26px;max-width:52ch}
.svc__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc__list li{
  position:relative;padding:13px 0 13px 26px;border-bottom:1px solid var(--line);
  font-size:.95em;color:var(--fog);
}
.svc__list li::before{
  content:"";position:absolute;left:0;top:22px;width:9px;height:1px;background:var(--patina);
}
.svc__media{position:relative;margin:0;border:1px solid var(--line-2);overflow:hidden}
.svc__media img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.86);transition:transform 1.2s var(--ease)}
.svc__media:hover img{transform:scale(1.04)}
.svc__media figcaption{
  position:absolute;left:0;bottom:0;right:0;
  background:linear-gradient(0deg,rgba(11,15,18,.94),rgba(11,15,18,0));
  padding:34px 18px 13px;
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fog);
}

/* ══ OPRÁVNENIA / ODZNAKY ═════════════════════════════════ */

.creds{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(40px,4vw,64px);
}
.cred{background:var(--bg-deep);padding:clamp(24px,2.6vw,36px)}
.cred__yr{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.2em;
  color:var(--brass);display:block;margin-bottom:16px;
}
.cred h3{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 650;
  font-size:15px;letter-spacing:.03em;text-transform:uppercase;margin:0 0 10px;line-height:1.3;
}
.cred p{margin:0;color:var(--fog);font-size:.93em}

/* ══ FAQ ══════════════════════════════════════════════════ */

.faq{border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;position:relative;
  padding:24px 56px 24px 0;
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 600;
  font-size:clamp(15px,1.35vw,19px);letter-spacing:-.005em;line-height:1.35;
  transition:color .3s var(--ease);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--patina)}
.faq summary::after,.faq summary::before{
  content:"";position:absolute;right:8px;top:50%;background:var(--patina);
  transition:transform .4s var(--ease),opacity .3s var(--ease);
}
.faq summary::after{width:15px;height:1px;margin-top:-.5px}
.faq summary::before{width:1px;height:15px;margin-top:-7.5px;right:15px}
.faq details[open] summary::before{transform:rotate(90deg);opacity:0}
.faq details[open] summary{color:var(--patina)}
.faq__a{padding:0 0 26px;margin:0;color:var(--fog);max-width:68ch}
.faq__a p{margin:0 0 14px}
.faq__a p:last-child{margin:0}

/* ══ FILTER REFERENCIÍ ════════════════════════════════════ */

.filters{
  display:flex;flex-wrap:wrap;gap:10px;
  margin:0 0 clamp(32px,4vw,52px);
  padding:0;list-style:none;
}
.chip{
  font-family:"IBM Plex Mono",monospace;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;
  padding:11px 20px;cursor:pointer;
  background:transparent;border:1px solid var(--line-2);color:var(--fog);
  transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);
}
.chip:hover{border-color:var(--patina-dim);color:var(--white)}
.chip.is-on{background:var(--patina);border-color:var(--patina);color:#0F1517;font-weight:500}
.chip i{font-style:normal;opacity:.6;margin-left:8px;font-size:10px}

/* ══ MRIEŽKA PROJEKTOV ════════════════════════════════════ */

.projGrid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.proj{
  position:relative;display:flex;flex-direction:column;
  background:var(--bg);text-decoration:none;color:inherit;
  transition:background .5s var(--ease),opacity .5s var(--ease),transform .5s var(--ease);
}
.proj[hidden]{display:none}
.proj:hover{background:var(--surface)}
.proj__media{position:relative;overflow:hidden;aspect-ratio:4/3}
.proj__media img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.85) contrast(1.03);
  transition:transform 1.1s var(--ease),filter .7s var(--ease);
}
.proj:hover .proj__media img{transform:scale(1.06);filter:saturate(1) contrast(1.06)}
.proj__badge{
  position:absolute;left:0;top:0;
  font-family:"IBM Plex Mono",monospace;font-size:9.5px;
  letter-spacing:.18em;text-transform:uppercase;
  background:var(--brass);color:#12181A;padding:7px 13px;font-weight:500;
}
.proj__body{padding:clamp(22px,2.2vw,32px);display:flex;flex-direction:column;flex:1}
.proj__place{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--patina);margin:0 0 14px;
}
.proj__title{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 102,"wght" 650;
  font-size:clamp(17px,1.5vw,22px);line-height:1.2;letter-spacing:-.012em;
  text-transform:uppercase;margin:0 0 12px;
}
.proj__scope{margin:0 0 22px;color:var(--fog);font-size:.93em}
.proj__more{
  margin-top:auto;display:inline-flex;align-items:center;gap:10px;
  font-family:"IBM Plex Mono",monospace;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--patina);
  transition:gap .35s var(--ease);
}
.proj:hover .proj__more{gap:18px}
.projGrid__empty{
  grid-column:1/-1;background:var(--bg);padding:60px 30px;text-align:center;color:var(--fog-2);
  font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
}

/* ══ FAKTY PROJEKTU ═══════════════════════════════════════ */

.facts{
  margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.facts > div{background:var(--bg-deep);padding:24px}
.facts dt{
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--fog-2);margin-bottom:10px;
}
.facts dd{
  margin:0;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 550;
  font-size:15px;line-height:1.35;
}

/* ══ TEXT PROJEKTU / OBSAH ════════════════════════════════ */

.body2col{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(34px,5vw,80px);align-items:start;
  margin-top:clamp(44px,5vw,74px);
}
.rich{color:var(--fog);font-size:1.04em}
.rich > p{margin:0 0 20px;max-width:62ch}
.rich h3{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 650;
  font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--white);
  margin:38px 0 16px;
}
.rich strong{color:var(--white);font-weight:400}
.objList{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.objList li{
  display:grid;grid-template-columns:92px 1fr;gap:16px;
  padding:13px 0;border-bottom:1px solid var(--line);font-size:.95em;
}
.objList--dates{grid-template-columns:unset}
.objList--dates li{grid-template-columns:138px 1fr}
.objList b{
  font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;
  letter-spacing:.1em;color:var(--patina);padding-top:3px;
}
.sideBox{
  background:var(--surface);border:1px solid var(--line-2);
  padding:clamp(24px,2.6vw,34px);position:sticky;top:110px;
}
.sideBox h3{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 650;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px;
  padding-bottom:14px;border-bottom:1px solid var(--line);
}
.sideBox p{margin:0 0 22px;color:var(--fog);font-size:.95em}

/* ══ GALÉRIA ══════════════════════════════════════════════ */

.gal{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.gal__item{
  position:relative;display:block;width:100%;padding:0;margin:0;
  border:0;background:var(--bg);cursor:zoom-in;overflow:hidden;aspect-ratio:4/3;
}
.gal__item img{
  width:100%;height:100%;object-fit:cover;filter:saturate(.86);
  transition:transform 1.1s var(--ease),filter .7s var(--ease);
}
.gal__item:hover img{transform:scale(1.05);filter:saturate(1)}
.gal__item::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(11,15,18,.6),transparent 55%);
  opacity:0;transition:opacity .4s var(--ease);
}
.gal__item:hover::after,.gal__item:focus-visible::after{opacity:1}
.gal__cap{
  position:absolute;left:16px;right:16px;bottom:14px;z-index:2;text-align:left;
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--white);
  opacity:0;transform:translateY(8px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.gal__item:hover .gal__cap,.gal__item:focus-visible .gal__cap{opacity:1;transform:none}
.gal--2{grid-template-columns:repeat(2,1fr)}

/* ══ NAVIGÁCIA MEDZI PROJEKTMI ════════════════════════════ */

.pager{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--line);border-top:1px solid var(--line);
}
.pager a{
  background:var(--bg-deep);padding:clamp(30px,3.4vw,54px) var(--pad);
  text-decoration:none;display:flex;flex-direction:column;gap:12px;
  transition:background .45s var(--ease);
}
.pager a:hover{background:var(--surface)}
.pager__dir{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--patina);
}
.pager__t{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 102,"wght" 650;
  font-size:clamp(16px,1.7vw,24px);line-height:1.16;text-transform:uppercase;letter-spacing:-.012em;
}
.pager a:last-child{text-align:right;align-items:flex-end}

/* ══ CV / ĽUDIA ═══════════════════════════════════════════ */

.person{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(34px,5vw,80px);align-items:start;
}
.person__card{
  background:var(--surface);border:1px solid var(--line-2);padding:clamp(26px,3vw,40px);
}
.person__name{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 102,"wght" 700;
  font-size:clamp(21px,2.1vw,30px);line-height:1.12;letter-spacing:-.018em;
  text-transform:uppercase;margin:0 0 10px;
}
.person__name .nocaps{text-transform:none}
.person__role{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--patina);margin:0 0 26px;
}
.person__meta{margin:0;border-top:1px solid var(--line)}
.person__meta > div{
  display:grid;grid-template-columns:110px 1fr;gap:14px;
  padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.person__meta dt{
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--fog-2);
}
.person__meta dd{margin:0;font-size:.97em}
.person__meta a{text-decoration:none;transition:color .3s var(--ease)}
.person__meta a:hover{color:var(--patina)}

.tagRow{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tagRow li{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--fog);
  border:1px solid var(--line-2);padding:8px 13px;
}
.tagRow--ink li{border-color:rgba(22,29,32,.22);color:rgba(22,29,32,.72)}

.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(26px,3vw,44px)}
.skills h3{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 650;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--patina-dim);
}
.skills ul{list-style:none;margin:0;padding:0}
.skills li{padding:8px 0;color:var(--fog);font-size:.95em;display:flex;justify-content:space-between;gap:16px}
.skills li span{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fog-2);flex:none}

/* ══ IDENTIFIKAČNÉ ÚDAJE ══════════════════════════════════ */

.idGrid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);margin:0;
}
.idGrid > div{background:var(--bg-deep);padding:24px 26px}
.idGrid dt{
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--fog-2);margin-bottom:9px;
}
.idGrid dd{margin:0;font-size:.99em;line-height:1.45}
.idGrid a{text-decoration:none;color:var(--patina)}

/* ══ MAPA / DOSTUPNOSŤ ════════════════════════════════════ */

.areaBox{
  border:1px solid var(--line-2);background:var(--surface);
  padding:clamp(26px,3vw,40px);
}
.areaBox h3{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 650;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px;
}
.areaBox p{margin:0 0 20px;color:var(--fog)}
.areaList{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin:0;padding:0}
.areaList li{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--fog);
}
.areaList li::after{content:"·";margin-left:10px;color:var(--patina-dim)}
.areaList li:last-child::after{content:none}

/* ══ PRÁVNE TEXTY ═════════════════════════════════════════ */

.prose{max-width:74ch}
.prose h2{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 700;
  font-size:clamp(18px,1.8vw,24px);letter-spacing:-.01em;text-transform:uppercase;
  margin:52px 0 18px;
}
.prose h2:first-child{margin-top:0}
.prose h3{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 600;
  font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin:30px 0 12px;
}
.prose p{margin:0 0 18px;color:var(--fog)}
.prose ul,.prose ol{margin:0 0 20px;padding-left:20px;color:var(--fog)}
.prose li{margin-bottom:9px}
.prose a{color:var(--patina)}
.prose__date{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--fog-2);margin-bottom:40px;
}

/* ══ 404 ══════════════════════════════════════════════════ */

.err{
  min-height:74svh;display:flex;flex-direction:column;justify-content:center;
  padding:clamp(120px,14vw,200px) var(--pad) clamp(70px,8vw,120px);
  max-width:calc(var(--maxw) + var(--pad)*2);margin:0 auto;
}
.err__code{
  font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 118,"wght" 800;
  font-size:clamp(80px,20vw,240px);line-height:.82;letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:1px var(--patina-dim);margin:0 0 26px;
}

/* ══ DROBNOSTI ════════════════════════════════════════════ */

.noteBox{
  border-left:2px solid var(--brass);background:var(--surface);
  padding:22px 26px;margin:34px 0;color:var(--fog);font-size:.96em;
}
.noteBox strong{color:var(--white);font-weight:400}

.secHead--center{margin-left:auto;margin-right:auto;text-align:center;max-width:760px}
.secHead--center .eyebrow{justify-content:center}
.secHead--center .secHead__lead{margin-left:auto;margin-right:auto}

.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(34px,4vw,52px)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.mini{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fog-2);
}

/* ══ RESPONZÍVNE — nové komponenty ════════════════════════ */

@media (max-width:1080px){
  .svc{grid-template-columns:1fr;gap:32px}
  .svc:nth-child(even) .svc__media{order:0}
  .svc__media{order:-1}
  .projGrid,.gal{grid-template-columns:repeat(2,1fr)}
  .body2col{grid-template-columns:1fr}
  .sideBox{position:static}
  .person{grid-template-columns:1fr}
}

@media (max-width:720px){
  .projGrid,.gal,.gal--2{grid-template-columns:1fr}
  .pager{grid-template-columns:1fr}
  .pager a:last-child{text-align:left;align-items:flex-start}
  .facts{grid-template-columns:1fr}
  .objList li,.objList--dates li{grid-template-columns:74px 1fr;gap:12px}
  .person__meta > div{grid-template-columns:1fr;gap:4px}
  .filters{gap:8px}
  .chip{padding:9px 14px;font-size:10px}
}

/* ══ <picture> ako priehľadný obal ════════════════════════
   Vďaka display:contents sa img správa ako priamy potomok
   kontajnera — všetky pravidlá pre img platia bez zmeny.     */
picture{display:contents}
@supports not (display:contents){
  .hero__bg picture,.phero__bg picture,.proj__media picture,
  .gal__item picture,.ref__media picture,.svc__media picture,
  .about__media picture{display:block;width:100%;height:100%}
}

/* ══ OPRAVA: atribúty width/height na <img> ═══════════════
   HTML atribúty width/height sa mapujú na prezentačné pravidlá
   a prebili by CSS aspect-ratio (obrázok by sa vykreslil v
   natívnom pomere). Atribúty ponechávame kvôli stabilite
   layoutu pri načítaní, výšku ale riadi CSS.                */
img{height:auto}

/* ══ DOLADENIE PO TESTOVANÍ ═══════════════════════════════ */

/* zaostrenie poľa nesmie skončiť pod fixnou hlavičkou */
.field input,.field textarea,.consent,.formWrap,.form{scroll-margin-top:120px}

/* odznak SKSI — text sa musí zmestiť do kruhu */
.about__badge i{padding:0 6px;line-height:1.45}

@media (max-width:860px){
  /* na úzkom displeji potrebuje hero silnejší závoj kvôli čitateľnosti */
  .hero__veil{
    background:
      linear-gradient(180deg,rgba(14,19,22,.90) 0%,rgba(14,19,22,.62) 30%,rgba(14,19,22,.88) 70%,var(--bg) 100%),
      linear-gradient(90deg,rgba(14,19,22,.86) 0%,rgba(14,19,22,.66) 60%,rgba(14,19,22,.52) 100%);
  }
}

@media (max-width:720px){
  /* pohodlnejšie dotykové ciele */
  .link{padding-top:8px;padding-bottom:10px}
  .scrollCue{padding:10px 0}
  .foot__contact a,.menu__foot a,.contact__list a{display:inline-block;padding:5px 0}
  .crumbs{gap:8px}
}

/* ══ KONTRAST (WCAG AA) ═══════════════════════════════════ */
.entry dt{color:#215C93}
.entry .mut,.ledger__sub{color:rgba(18,24,30,.70)}
