/*
Theme Name: AG Print
Theme URI: https://www.agprint.sk
Author: AG Print s.r.o.
Author URI: https://www.agprint.sk
Description: Vlastná téma webu AG Print s.r.o.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
License: Proprietary
Text Domain: agprint
Update URI: false
*/



:root{
  --black:#141414;
  --white:#ffffff;
  --accent:#78b2c5;
  --na-akcente:#08070e;
  --chyba:#b3261e;
  --race:#78b2c5;

  --bg:#e9ecec;
  --surface:#f7f8f8;
  --surface-2:#dfe3e3;
  --surface-3:#cfd4d4;
  --surface-inv:#383d3e;
  --line:#d3d8d8;
  --line-strong:#b3baba;
  --ink:#08070e;
  --ink-2:#2b3032;
  --ink-invert:#f2f4f4;
  --grey-mid:#555d5f;
  --muted:#5a6264;
  --icon:#8d9494;
  --field:#ffffff;
  --ikona:brightness(0);

  --ff:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;

  --fs-h1:clamp(44px,6.25vw,80px);   --lh-h1:1.225;
  --fs-h2:clamp(34px,4.7vw,60px);    --lh-h2:1.217;
  --fs-h4:clamp(28px,3.13vw,40px);   --lh-h4:1.25;
  --fs-arrow:clamp(22px,2.35vw,30px);--lh-arrow:1.333;
  --fs-body:clamp(18px,1.72vw,22px); --lh-body:1.455;
  --fs-card:22px;
  --fs-text:18px;
  --fs-ui:15px;
  --fs-mini:13px;

  --container:1360px;
  --pad:20px;
  --gut:10px;

  --ease:cubic-bezier(.25,.46,.45,.94);
  --ease-expo:cubic-bezier(.16,1,.3,1);
}
.site-header:not(.na-svetle),.header--home,.site-footer,.race-page{
  --bg:#1d2021;
  --surface:#24282a;
  --surface-2:#2b3032;
  --surface-3:#383d3e;
  --surface-inv:#cfd4d4;
  --line:#3a4042;
  --line-strong:#4b5254;
  --ink:#f2f4f4;
  --ink-2:#d5d9d9;
  --ink-invert:#08070e;
  --grey-mid:#a7aeae;
  --muted:#8d9494;
  --icon:#667071;
  --field:#2b3032;
  --ikona:brightness(0) invert(1);
  color:var(--ink);
}
.header--home,.race-page{background:var(--bg);isolation:isolate}
.prod-hero__box{
  --bg:#e9ecec;
  --surface:#f7f8f8;
  --surface-2:#dfe3e3;
  --surface-3:#cfd4d4;
  --surface-inv:#383d3e;
  --line:#d3d8d8;
  --line-strong:#b3baba;
  --ink:#08070e;
  --ink-2:#2b3032;
  --ink-invert:#f2f4f4;
  --grey-mid:#555d5f;
  --muted:#5a6264;
  --icon:#8d9494;
  --field:#ffffff;
  color:var(--ink);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
body{
  font-family:var(--ff);
  font-size:var(--fs-mini);
  line-height:1.5;
  color:var(--ink);
  background:var(--bg);
  overflow-x:hidden;
}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;color:inherit;cursor:pointer;border:0;background:none}
ul{list-style:none}
h1,h2,h3,h4,h5{font-weight:400}

.container{max-width:var(--container);margin:0 auto;padding-inline:var(--pad)}

.grid{display:flex;flex-wrap:wrap;margin-inline:calc(var(--gut) * -1)}
.grid > *{padding-inline:var(--gut)}
.justify-space-between{justify-content:space-between}
.align-start{align-items:flex-start}
.col-lg-6{width:50%}

.h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}
.h4{font-size:var(--fs-h4);line-height:var(--lh-h4)}
.wysiwyg p{font-size:var(--fs-body);line-height:var(--lh-body)}
.wysiwyg p+p{margin-top:1em}
.wysiwyg--text{max-width:76ch}
.wysiwyg--text p,.wysiwyg--text li{font-size:var(--fs-text);line-height:1.65;color:var(--ink-2)}
.wysiwyg--text h2{font-size:var(--fs-card);line-height:1.3;margin:2.2em 0 .7em;color:var(--ink)}
.wysiwyg--text h3{font-size:var(--fs-text);line-height:1.35;margin:1.6em 0 .6em;color:var(--ink)}
.wysiwyg--text > :first-child{margin-top:0}
.wysiwyg--text ul,.wysiwyg--text ol{margin:1em 0;padding-left:1.3em;display:grid;gap:.5em}
.wysiwyg--text ul{list-style:disc}
.wysiwyg--text ol{list-style:decimal}
.wysiwyg--text li::marker{color:var(--accent)}
.wysiwyg--text a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.wysiwyg--text a:hover{color:var(--accent)}

.arrow-link{
  font-size:var(--fs-arrow);line-height:var(--lh-arrow);
  display:inline-block;position:relative;
  transition:color .25s var(--ease);
}
.arrow-link::after{
  content:"\2192";
  color:var(--accent);
  margin-left:.35em;
  display:inline-block;
  transition:transform .3s var(--ease);
}
.arrow-link:hover{color:var(--accent)}
.arrow-link:hover::after{transform:translateX(6px)}

.page-section{padding-block:40px}
.page-section--top-none{padding-top:0}
.page-section--top-half{padding-top:40px}
.page-section--half{padding-block:40px}
.page-section--normal{padding-block:80px}
.page-section--lesser{padding-block:60px}
.page-section--bottom-half{padding-bottom:40px}
.page-section--bottom-lesser{padding-bottom:60px}

.site-header{
  position:fixed;top:0;left:0;width:100%;z-index:200;
  background:rgba(29,32,33,.86);
  backdrop-filter:saturate(1.6) blur(14px);
  -webkit-backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid transparent;
  transition:box-shadow .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);
}
.site-header.is-scrolled{
  border-bottom-color:var(--line);
  box-shadow:0 14px 28px -22px rgba(8,7,14,.28);
}
.header__inner{
  position:relative;
  display:flex;align-items:center;gap:30px;
  height:104px;
  transition:height .3s var(--ease);
}
.site-header.na-svetle{background:rgba(233,236,236,.92)}
.site-header.is-scrolled .header__inner{height:104px}
.header__logo{display:flex;align-items:center;flex:0 0 auto}
.header__logo img{height:80px;width:auto}

.main-nav{flex:1 1 auto;align-self:stretch;min-width:0;overflow-x:clip}
.main-nav__root{height:100%}
.main-nav__cta{display:none}
.submenu{display:none}
.main-nav__list{display:flex;align-items:stretch;gap:4px;height:100%}
.main-nav__list > li{display:flex;align-items:center}
.main-nav__link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:var(--fs-ui);font-weight:500;color:var(--ink);
  padding:10px 16px;border-radius:999px;
  transition:background .25s var(--ease),color .25s var(--ease);
  white-space:nowrap;
}
.main-nav__link:hover{background:var(--surface-2)}
.main-nav__link .chev{width:11px;height:7px;transition:transform .3s var(--ease)}
.has-mega .main-nav__link:hover .chev,.has-dropdown .main-nav__link:hover .chev,.has-dropdown:has(.dropdown:hover) .main-nav__link .chev{transform:rotate(180deg)}
.has-mega .main-nav__link:hover,.has-dropdown .main-nav__link:hover,.has-dropdown:has(.dropdown:hover) .main-nav__link{background:var(--surface-2)}

.header__right{display:flex;align-items:center;gap:14px;flex:0 0 auto}

.portal,.lang-switch{position:relative}
.portal__toggle,.lang-switch__toggle{
  display:inline-flex;align-items:center;gap:7px;
  height:42px;padding:0 12px;border-radius:999px;
  border:1px solid var(--line);background:transparent;color:var(--ink-2);
  font-size:var(--fs-ui);font-weight:600;cursor:pointer;
  transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease);
}
.portal__toggle{width:42px;padding:0;justify-content:center}
.portal__toggle svg,.lang-switch__toggle svg{width:19px;height:19px}
.portal__toggle:hover,.lang-switch__toggle:hover,.portal.is-open .portal__toggle,.lang-switch.is-open .lang-switch__toggle{
  color:var(--ink);border-color:var(--line-strong);background:var(--surface-2);
}
.portal__card,.lang-switch__menu{
  position:absolute;top:100%;margin-top:44px;right:0;z-index:220;
  background:var(--surface);border-radius:18px;padding:10px;
  box-shadow:0 40px 80px -24px rgba(0,0,0,.65);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
}
.portal__card::before,.lang-switch__menu::before{
  content:"";position:absolute;left:0;right:0;top:-58px;height:58px;
}
.portal.is-open .portal__card,.lang-switch.is-open .lang-switch__menu{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
}
.portal__card{width:310px;padding:20px}
.portal__eyebrow{font-size:var(--fs-ui);font-weight:600;color:var(--ink);margin-bottom:8px}
.portal__text{font-size:var(--fs-ui);line-height:1.55;color:var(--grey-mid);margin-bottom:18px}
.portal__btn{justify-content:center}
.lang-switch__menu{min-width:196px}
.lang-switch__item{
  display:flex;align-items:center;gap:11px;
  padding:10px 12px;border-radius:12px;
  font-size:var(--fs-ui);color:var(--ink);
  transition:background .18s var(--ease),color .18s var(--ease);
}
.lang-switch__item:hover,.lang-switch__item.is-active{background:var(--surface-3);color:var(--ink)}
.lang-switch__flag{
  width:22px;height:22px;flex:0 0 auto;border-radius:50%;
  object-fit:cover;box-shadow:0 0 0 1px var(--line-strong);
}

.nav-extra{display:none}
@media(max-width:900px){
  .header__right .lang-switch,.header__right .portal{display:none}
  .nav-extra{
    display:block;margin:0 22px 34px;padding-top:26px;
    border-top:1px solid var(--line);
  }
  .nav-extra__label{font-size:var(--fs-ui);font-weight:600;color:var(--ink);margin-bottom:12px}
  .nav-extra__langs{display:flex;gap:8px;margin-bottom:28px}
  .nav-extra__lang{
    display:inline-flex;align-items:center;gap:8px;
    padding:9px 14px;border-radius:999px;
    border:1px solid var(--line);color:var(--ink-2);
    font-size:var(--fs-ui);font-weight:600;
    transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
  }
  .nav-extra__lang.is-active{background:var(--surface-3);color:var(--ink);border-color:var(--line-strong)}
  .nav-extra__text{font-size:var(--fs-ui);line-height:1.55;color:var(--grey-mid);margin-bottom:16px}
}
@media(max-width:640px){
  .portal__card{width:min(84vw,300px)}
}
.header__cta-btn{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--accent);color:var(--na-akcente);
  font-size:var(--fs-ui);font-weight:600;
  padding:13px 22px;border-radius:999px;
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.header__cta-btn svg{width:17px;height:17px;transition:transform .3s var(--ease)}
.header__cta-btn:hover{background:var(--surface-inv)}
.header__cta-btn:hover svg{transform:translateX(4px)}
.nav-toggle{display:none}

.race-link{gap:2px;letter-spacing:.02em;align-items:baseline}
.race-word{line-height:1}
.race-flag-slot{
  display:inline-block;height:.72em;width:.87em;overflow:hidden;line-height:0;
  margin-left:1px;
}
.race-flag-track{display:block;will-change:transform}
.race-flag-ico{display:block;height:.72em;width:.87em}
.race-link:hover .race-flag-track{animation:flagMarquee .8s linear infinite}

@keyframes flagMarquee{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media(prefers-reduced-motion:reduce){.race-link:hover .race-flag-track{animation:none}}

.has-mega{position:static}
.has-dropdown{position:relative}
.dropdown{
  position:absolute;left:50%;top:100%;margin-top:12px;transform:translate(-50%,10px);
  background:var(--surface);border-radius:18px;
  box-shadow:0 40px 80px -24px rgba(0,0,0,.65);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
  z-index:210;padding:10px;
}
.has-dropdown .main-nav__link:hover ~ .dropdown,.has-dropdown .dropdown:hover{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}

.dropdown::before{content:"";position:absolute;left:0;right:0;top:-52px;height:52px}

.dropdown--kat{
  width:min(360px,92vw);padding:8px;
  left:0;right:auto;transform:translate(0,10px);
}
.has-dropdown--kat .main-nav__link:hover ~ .dropdown--kat,.has-dropdown--kat .dropdown--kat:hover{transform:translate(0,0)}
.dropdown--kat .dropdown__inner{overflow:hidden;border-radius:12px}
.kat-menu{display:grid}
.kat-menu__item{
  display:flex;align-items:center;
  padding:9px 12px;border-radius:10px;
  font-size:var(--fs-ui);font-weight:500;color:var(--ink);
  transition:background .2s var(--ease),color .2s var(--ease);
}
.kat-menu__item:hover{background:var(--surface-3)}

.has-dropdown--wide{position:static}

/* „Viac“ – položky, ktoré sa nezmestia do riadku menu (riadi main.js) */
.main-nav__list > li[hidden],.main-nav__list > li.is-skryta{display:none}
.main-nav__more{position:relative}
.main-nav__more > .main-nav__link{font-family:inherit;background:none;border:0;cursor:pointer}
.main-nav__more > .main-nav__link:hover,.main-nav__more.is-open > .main-nav__link{background:var(--surface-2)}
.main-nav__more > .main-nav__link:hover .chev,.main-nav__more.is-open .chev{transform:rotate(180deg)}
.dropdown--viac{left:auto;right:0;transform:translate(0,10px);width:max-content;min-width:220px;max-width:min(360px,92vw);padding:8px}
.dropdown--viac .dropdown__inner{overflow:hidden;border-radius:12px}
.main-nav__more > .main-nav__link:hover ~ .dropdown--viac,.dropdown--viac:hover,.main-nav__more.is-open .dropdown--viac{opacity:1;visibility:visible;transform:translate(0,0);pointer-events:auto}
.kat-menu__item[hidden]{display:none}

.header--home{padding-top:186px;padding-bottom:clamp(64px,7vw,110px)}
.header__title{position:relative}
@media(max-width:1100px){
  .header--home        }
@media(max-width:640px){
  .header--home  }

.header__text{
  font-size:var(--fs-h1);
  line-height:var(--lh-h1);
  max-width:16ch;
}
.header__sub{
  font-size:var(--fs-body);line-height:var(--lh-body);
  color:var(--grey-mid);max-width:62ch;margin-top:28px;
  text-wrap:pretty;
}
.header__sub-em{display:block;color:var(--ink);font-weight:600}
.race-em-flag{display:inline-block;margin-left:.26em;line-height:0}
.race-em-flag .race-flag-ico{height:.66em;width:.8em}
.header__cta{display:flex;gap:40px;flex-wrap:wrap;align-items:center;margin-top:40px}
.header__cta-link{font-size:var(--fs-text);margin-left:14px}
.btn{
  display:inline-flex;align-items:center;gap:11px;
  font-size:var(--fs-text);font-weight:600;line-height:1;
  padding:20px 32px;border-radius:999px;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.btn svg{width:20px;height:20px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(5px)}
.btn--down:hover svg{transform:translateY(5px)}
.btn--primary{background:var(--accent);color:var(--na-akcente)}
.btn--primary:hover{background:var(--surface-inv)}

.btn--ghost{border:1px solid var(--line);color:var(--ink)}
.btn--ghost:hover{background:var(--surface-inv);color:var(--ink-invert);border-color:var(--ink)}

.anim-slide-up{opacity:0;transform:translateY(70px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.anim-slide-up.is-in{opacity:1;transform:none}

.growth{
  margin-top:clamp(60px,7vw,110px);
  padding-block:clamp(54px,6vw,92px);
}
.growth__head{text-align:center;max-width:60ch;margin-inline:auto}
.growth__title{
  font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:-.02em;
}
.growth__lead{
  margin-top:20px;margin-inline:auto;max-width:56ch;
  font-size:var(--fs-body);line-height:var(--lh-body);color:var(--grey-mid);
}
.growth--split .growth__head{
  position:absolute;left:0;top:0;z-index:2;
  width:min(35%,500px);max-width:none;margin-inline:0;text-align:left;
}
.growth--split .growth__title{font-size:var(--fs-h4);line-height:var(--lh-h4)}
.growth--split .growth__lead{margin-inline:0;max-width:none}
.growth--split .rise{margin-top:0;height:clamp(560px,44vw,700px)}

.rise{
  position:relative;margin-top:clamp(40px,4.5vw,66px);
  height:clamp(430px,38vw,600px);
}
.rise__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rise__base{fill:none;stroke:var(--line);stroke-width:1}
.rise__line{
  fill:none;stroke:var(--accent);stroke-width:1.4;stroke-linecap:round;
}
.rise__point{
  position:absolute;left:var(--x);top:var(--y);margin-top:-5.5px;
  transform:translateX(-50%);
  width:min(21%,230px);text-align:center;
}
.rise__dot{
  display:block;width:11px;height:11px;margin:0 auto;
  background:var(--accent);border-radius:50%;
  box-shadow:0 0 0 6px var(--bg);
}
.rise__pre{
  display:block;margin-top:20px;
  font-size:var(--fs-ui);color:var(--grey-mid);
}
.rise__value{
  display:block;font-size:clamp(32px,3.4vw,50px);line-height:1.05;
  font-weight:600;letter-spacing:-.03em;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.rise__pre + .rise__value{margin-top:2px}
.rise__point > .rise__value{margin-top:20px}
.rise__pre ~ .rise__value{margin-top:2px}
.rise__label{
  display:block;margin-top:10px;
  font-size:var(--fs-ui);line-height:1.45;color:var(--grey-mid);
}
@media(max-width:1400px){
  .growth--split .growth__head{
    position:static;width:auto;text-align:center;margin-inline:auto;max-width:60ch;
  }
  .growth--split .growth__lead{margin-inline:auto;max-width:56ch}
  .growth--split .rise{margin-top:clamp(28px,4vw,46px)}
}
@media(max-width:900px){
  .rise{height:auto;margin-top:clamp(28px,4vw,40px)}
  .rise__svg,.rise__dot{display:none}
  .rise__points{border-top:1px solid var(--line)}
  .growth--split .rise__points{margin-top:clamp(40px,9vw,56px)}
  .growth--split .rise{height:auto}
  .growth--split + .callout-block{padding-top:46px}
  .rise__point{
    position:static;width:auto;transform:none;text-align:left;
    display:block;margin:0;padding:22px 0;border-bottom:1px solid var(--line);
  }
  .rise__pre{margin-top:0}
  .rise__point > .rise__value,.rise__pre ~ .rise__value{margin-top:0}
  .rise__label{margin-top:4px}
}
.stats-band{margin-top:clamp(46px,5vw,74px)}
.stats-band .hero-stats{margin-top:0}
.hero-stats{
  /* minmax(0,1fr): dlhšia hodnota (napr. v nemčine) nesmie rozšíriť stĺpec a natiahnuť ostatné bloky */
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  margin-top:clamp(48px,5vw,76px);
  background:var(--line);border:1px solid var(--line);
}
.hero-stats__item{
  aspect-ratio:1;display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(24px,2.4vw,34px);background:var(--surface);
  transition:background .3s var(--ease);
}
.hero-stats__item:hover{background:var(--surface-2)}
.hero-stats__icon{
  display:block;flex:0 0 auto;color:var(--accent);
}
.hero-stats__icon svg{width:clamp(30px,2.6vw,38px);height:clamp(30px,2.6vw,38px)}
.hero-stats__value{
  display:block;font-size:clamp(30px,3vw,44px);line-height:1.05;
  font-weight:600;letter-spacing:-.03em;color:var(--ink);
  font-variant-numeric:tabular-nums;
  text-wrap:balance;
}
.hero-stats__label{
  display:block;margin:12px 0 0;
  font-size:var(--fs-ui);line-height:1.45;color:var(--grey-mid);
  text-wrap:pretty;
}
@media(max-width:760px){
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){
  .hero-stats{grid-template-columns:1fr}
  .hero-stats__item{aspect-ratio:auto;gap:24px}
}
@media(max-width:560px){
  .growth__title{font-size:var(--fs-h4)}
}

.media-bleed{

  width:min(130%, calc(100vw - 24px));
  position:relative;left:50%;transform:translateX(-50%) scale(var(--s,1));
  transform-origin:center;will-change:transform;
}

@media (max-height:1200px){
  .media-bleed{width:min(110%, calc(100vw - 24px))}
}
.media--default{
  display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-inv);
}

.callout-block{padding-block:40px}
.callout-block__header h2{max-width:14ch}
.callout-block__link{margin-top:40px}
.callout-quote{border-left:2px solid var(--accent);padding-left:28px}
.callout-quote__cite{
  display:block;margin-top:22px;font-style:normal;
  font-size:var(--fs-ui);font-weight:600;color:var(--grey-mid);
}
.callout-quote--center{
  border-left:0;padding-left:0;padding-top:34px;
  max-width:820px;margin-inline:auto;text-align:center;
  position:relative;
}
.callout-quote--center::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:46px;height:2px;background:var(--accent);
}
.callout-quote__text{
  font-size:var(--fs-arrow);line-height:var(--lh-arrow);
  letter-spacing:-.01em;color:var(--ink);text-wrap:pretty;
}
.callout-quote--center + .callout-block__link{text-align:center;margin-top:34px}

.featured-work{padding-top:40px;padding-bottom:60px}
.featured-work__title{margin-bottom:40px;max-width:20ch}
.work-grid{row-gap:20px}
.work-card{margin-bottom:20px}
.work-card.size--1{width:100%}
.work-card.size--8{width:66.6667%}
.work-card.size--4{width:33.3333%}
.work-card__link{display:block}
.work-card__media{position:relative;overflow:hidden;background:var(--line)}
.work-grid .work-card__media{transition:border-radius .5s var(--ease-expo)}
.work-grid .work-card__link:hover .work-card__media{border-radius:50%}
.work-card__media > .ph,.work-card__media > img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .9s var(--ease);
}
.work-card.size--1 .work-card__media{aspect-ratio:16/9}
.work-card.size--8 .work-card__media{aspect-ratio:810/456}
.work-card.size--4 .work-card__media{aspect-ratio:395/456}
.work-card__link:hover .work-card__media > .ph,.work-card__link:hover .work-card__media > img{transform:scale(1.04)}

.cursor{
  position:fixed;top:0;left:0;z-index:250;
  pointer-events:none;contain:layout style size;
}
.cursor::before{
  content:"";position:absolute;top:-24px;left:-24px;
  width:48px;height:48px;border-radius:50%;background:var(--accent);
  transform:scale(0);
  transition:transform .25s ease-in-out,opacity .1s;
}
.cursor.is-text::before{transform:scale(3);transition-duration:.2s}
.cursor__inner{position:absolute;top:0;left:0;width:0;height:0}
.cursor__text{
  position:absolute;top:-18px;left:-18px;
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:var(--fs-ui);font-weight:600;line-height:20px;text-align:center;
  opacity:0;transform:scale(0) rotate(10deg);
  transition:opacity .4s,transform .3s;
}
.cursor.is-text .cursor__text{opacity:1;transform:scale(1)}
@media(max-width:768px){.cursor{display:none}}
body.has-cursor .work-grid .work-card__circle{display:none}

.work-card__circle{
  position:absolute;top:0;left:0;
  width:118px;height:118px;margin:-59px 0 0 -59px;
  transform:translate(var(--cx,50%),var(--cy,50%));
  transition:transform .16s ease-out;
  pointer-events:none;z-index:2;
}
.work-card__circle > span{
  display:grid;place-items:center;width:100%;height:100%;
  border-radius:50%;background:var(--accent);color:var(--na-akcente);
  text-align:center;font-size:var(--fs-mini);font-weight:600;line-height:1.2;
  transform:scale(.3);opacity:0;
  transition:transform .3s var(--ease),opacity .3s var(--ease);
}
.work-card__media:hover .work-card__circle > span{transform:scale(1);opacity:1}
.work-just__row{display:flex;gap:0 20px;margin-bottom:20px}
.work-just__row:last-child{margin-bottom:0}
.work-just__row > .work-card{min-width:0;margin:0;padding:0}
.work-just .work-card__media{aspect-ratio:var(--ar)}

.work-card__content{padding-top:24px}
.work-card__content h2,.work-card__content h3{font-size:var(--fs-card);line-height:1.2;font-weight:700}
.work-card__content p{margin-top:8px;font-size:var(--fs-text);line-height:1.45;font-weight:500;max-width:48ch;color:var(--grey-mid)}
.featured-work__view-all{display:inline-block;margin-top:24px}

.ph{display:grid;place-items:center;color:#fff;font-size:clamp(22px,2.6vw,34px);font-weight:700;letter-spacing:-.02em}

.work-logo-grid{padding-block:80px}
.work-logo-grid h2{font-size:var(--fs-h4);line-height:var(--lh-h4);margin-bottom:44px}
.logo-grid__odkaz{
  display:inline-block;position:relative;
  transition:color .25s var(--ease);
}
.logo-grid__odkaz::after{
  content:"\2192";
  color:var(--accent);
  margin-left:.3em;
  display:inline-block;
  transition:transform .3s var(--ease);
}
.logo-grid__odkaz:hover{color:var(--accent)}
.logo-grid__odkaz:hover::after{transform:translateX(6px)}
.logo-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.logo-grid__cell{
  position:relative;aspect-ratio:1;
  display:grid;place-items:center;
  border-radius:50%;background:var(--surface-2);
  border:1px solid transparent;
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.logo-grid__cell:hover,.logo-grid__cell.is-mid{background:var(--surface);border-color:var(--line-strong);z-index:1}
.logo-grid__cell--clone{display:none}
.logo-grid__cell img{
  width:auto;height:auto;object-fit:contain;
  filter:brightness(0);opacity:.62;
  transition:filter .35s var(--ease),opacity .35s var(--ease);
}
.logo-grid__cell:hover img,.logo-grid__cell.is-mid img{filter:none;opacity:1}
.logo-grid__cell--mono:hover img,.logo-grid__cell--mono.is-mid img{filter:brightness(0)}
.logo-grid__cell--white img,.logo-grid__cell--white:hover img,.logo-grid__cell--white.is-mid img{filter:brightness(0)}
.logo-grid__cell--duo img{grid-area:1/1;filter:none;transition:opacity .35s var(--ease)}
.logo-grid__cell--duo .logo-grid__ink{filter:brightness(0);opacity:.62}
.logo-grid__cell--duo .logo-grid__color{opacity:0}
.logo-grid__cell--duo:hover .logo-grid__ink,.logo-grid__cell--duo.is-mid .logo-grid__ink{opacity:0}
.logo-grid__cell--duo:hover .logo-grid__color,.logo-grid__cell--duo.is-mid .logo-grid__color{opacity:1}

.logo--sq{max-height:40%;max-width:44%}
.logo--sqb{max-height:52%;max-width:56%}
.logo--mid{max-height:30%;max-width:64%}
.logo--wide{max-height:15%;max-width:62%}
.process__steps{
  list-style:none;
  display:grid;grid-template-columns:repeat(5,1fr);
  border:1px solid var(--line);
}
.process__steps--4{grid-template-columns:repeat(4,1fr)}
.process-step{padding:clamp(24px,2.4vw,36px);border-left:1px solid var(--line)}
.process-step:first-child{border-left:0}
.process-step__num{
  display:grid;place-items:center;
  width:48px;height:48px;margin-bottom:clamp(22px,2.4vw,34px);
  border-radius:50%;background:var(--surface-inv);color:var(--ink-invert);
  font-size:var(--fs-mini);font-weight:700;font-variant-numeric:tabular-nums;
}
.process-step__title{font-size:var(--fs-h4);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin-bottom:12px;transition:color .35s var(--ease)}
.process-step__desc{font-size:var(--fs-ui);line-height:1.55;color:var(--grey-mid)}

.process-step__num{transition:background .35s var(--ease),color .35s var(--ease)}
.process-step:hover .process-step__title{color:var(--accent)}
.process-step:hover .process-step__num{background:var(--accent);color:var(--na-akcente)}

@media(max-width:1080px){
  .process__steps{grid-template-columns:repeat(2,1fr)}
  .process-step{border-left:0;border-top:1px solid var(--line)}
  .process-step:nth-child(2n){border-left:1px solid var(--line)}
  .process-step:nth-child(-n+2){border-top:0}
}
@media(max-width:620px){
  .process__steps{grid-template-columns:1fr}
  .process-step:nth-child(2n){border-left:0}
  .process-step:nth-child(2){border-top:1px solid var(--line)}
}
.cta-band{
  position:relative;overflow:hidden;isolation:isolate;
  color:#fff;
  padding-block:clamp(70px,9vw,120px);
  margin-top:clamp(40px,6vw,90px);
}
.cta-band__bg{position:absolute;inset:0;z-index:-1;background:#123c4d}
/* Mäkké okraje robí radiálny gradient; filter:blur na veľkých animovaných vrstvách zaťažoval GPU. Animácia beží len pri .is-live (JS). */
.cta-band__blob{position:absolute;border-radius:50%;opacity:.9;will-change:transform;animation-play-state:paused!important}
.cta-band.is-live .cta-band__blob{animation-play-state:running!important}
.cta-band__blob--1{width:60vw;height:60vw;left:-10%;top:-40%;
  background:radial-gradient(circle,#78b2c5 0%,rgba(120,178,197,0) 70%);animation:blob1 16s var(--ease) infinite alternate}
.cta-band__blob--2{width:55vw;height:55vw;right:-10%;top:-20%;
  background:radial-gradient(circle,#2b6f96 0%,rgba(43,111,150,0) 70%);animation:blob2 20s var(--ease) infinite alternate}
.cta-band__blob--3{width:50vw;height:50vw;left:30%;bottom:-45%;
  background:radial-gradient(circle,#5fd3e6 0%,rgba(95,211,230,0) 70%);animation:blob3 18s var(--ease) infinite alternate}
.cta-band__grain{position:absolute;inset:0;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes blob1{to{transform:translate(12%,18%) scale(1.15)}}
@keyframes blob2{to{transform:translate(-14%,12%) scale(1.1)}}
@keyframes blob3{to{transform:translate(10%,-14%) scale(1.2)}}
@media(prefers-reduced-motion:reduce){.cta-band__blob{animation:none}}

.cta-band__inner{
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
  position:relative;
}
.cta-band__title{
  font-size:clamp(30px,4vw,52px);line-height:1.05;letter-spacing:-.03em;
}
.cta-band__sub{
  margin-top:20px;max-width:52ch;
  font-size:var(--fs-body);line-height:1.5;color:rgba(255,255,255,.86);
}
.cta-band__btn{
  display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;
  background:var(--surface);color:var(--ink);
  font-size:var(--fs-text);font-weight:600;
  padding:16px 28px;border-radius:999px;
}
.cta-band__btn svg{width:20px;height:20px;transition:transform .3s var(--ease)}
.cta-band__btn:hover svg{transform:translateX(5px)}

.site-footer{
  position:relative;
  background:#08070e;color:#fff;border-top:1px solid var(--line);
  padding-top:clamp(48px,5vw,72px);padding-bottom:clamp(24px,2.6vw,34px);
}
.footer__head{
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:24px 40px;
  padding-bottom:clamp(34px,3.8vw,54px);border-bottom:1px solid #1e2122;
}
.footer__brand{max-width:44ch}
.footer__logo{display:block;height:96px;width:auto}
.footer__tagline{
  display:block;margin-top:16px;
  font-size:var(--fs-ui);line-height:1.65;color:var(--grey-mid);
}
.footer__socials{display:flex;gap:10px;margin-top:20px}
.footer__socials a{
  display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line-strong);
  transition:background .25s var(--ease),border-color .25s var(--ease);
}
.footer__socials a svg{width:16px;height:16px;fill:var(--grey-mid);transition:fill .25s var(--ease)}
.footer__socials a:hover{background:var(--accent);border-color:var(--accent)}
.footer__socials a:hover svg{fill:#fff}
.footer__reach{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}
.footer__mail{
  font-size:var(--fs-text);font-weight:500;letter-spacing:-.01em;color:var(--ink);
  transition:color .25s var(--ease);
}
.footer__mail{font-weight:600}
.footer__mail:hover{color:var(--accent)}
.footer__mid{
  display:grid;grid-template-columns:1fr 1fr 2fr;gap:clamp(24px,3vw,44px);
  padding-block:clamp(34px,3.8vw,54px);border-bottom:1px solid #1e2122;
}
.footer__cats{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(20px,2.4vw,36px)}
.footer__col h2{
  font-size:var(--fs-ui);font-weight:700;letter-spacing:-.01em;
  color:var(--ink);margin-bottom:18px;
}
.footer__col a,.footer__col p{display:block;font-size:var(--fs-ui);line-height:1.5;color:var(--grey-mid);margin-bottom:10px}
.footer__col a{transition:color .2s var(--ease)}
.footer__col a:hover{color:var(--ink)}
.footer__bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 30px;
  padding-top:clamp(22px,2.4vw,32px);
  font-size:var(--fs-ui);color:var(--grey-mid);
}
.footer__bottom a{color:var(--grey-mid);transition:color .2s var(--ease)}
.footer__bottom a:hover{color:var(--ink)}
.footer__bottom-links{display:flex;gap:10px 26px;flex-wrap:wrap}
@media(max-width:900px){
  .footer__mid{grid-template-columns:1fr 1fr}
  .footer__col--wide{grid-column:1/-1}
  .footer__reach{align-items:flex-start;text-align:left}
  .obchodnici--footer{justify-items:start}
}
@media(max-width:560px){
  .footer__mid{grid-template-columns:1fr}
  .footer__cats{grid-template-columns:1fr 1fr}
}

.wow{
  opacity:0;transform:translateY(30px);
  transition:opacity .3s var(--ease) var(--rd,0s),transform .3s var(--ease) var(--rd,0s);
}
.wow.is-in{opacity:1;transform:none}
.wow[data-delay="150"]{--rd:.15s}
.wow[data-delay="300"]{--rd:.3s}

@media(max-width:1300px){
  .header__logo img{height:70px}
  .header__inner{gap:16px}
  .header__right{gap:10px}
  /* normálne rozostupy; čo sa nezmestí, presunie main.js do „Viac“ */
  .main-nav__link{padding:10px 12px}
  .main-nav__list{gap:0}
}
@media(min-width:1301px){
  /* nemecké položky menu sú dlhšie – menšie rozostupy, aby sa na Full HD zmestilo celé menu bez „Mehr“ */
  html[lang|="de"] .main-nav__link{padding:10px 12px}
  html[lang|="de"] .main-nav__list{gap:0}
}
@media(min-width:1025px) and (max-width:1120px){
  .header__logo img{height:56px}
}
@media(max-width:1024px){
  .col-lg-6{width:100%}
  .callout-block__content{margin-top:40px}
  .header--home{padding-top:160px}
  .logo-grid{grid-template-columns:repeat(4,1fr)}
  .site-header,.site-header.na-svetle{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}
  .header__right{margin-left:auto}
  .main-nav{
    position:fixed;inset:0 0 0 auto;width:min(400px,88vw);
    background:var(--surface);z-index:210;overflow:hidden;
    transform:translateX(100%);transition:transform .4s var(--ease);
    box-shadow:-24px 0 60px rgba(20,20,20,.18);
  }
  body.nav-open{overflow:hidden}
  body.nav-open .main-nav{transform:none}
  body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(20,20,20,.42);z-index:190}
  .main-nav__root{
    position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
    display:flex;flex-direction:column;padding:0;
  }
  .main-nav__list{flex-direction:column;align-items:stretch;gap:0;padding:90px 22px 0}
  .main-nav__list > li{border-bottom:1px solid var(--line)}
  .main-nav__list > li:last-child{border-bottom:0}
  .main-nav__link{width:100%;justify-content:space-between;font-size:var(--fs-text);font-weight:600;padding:16px 4px;border-radius:0}
  .main-nav__link:hover,.has-mega:hover .main-nav__link,.has-dropdown:hover .main-nav__link{background:none}
  .has-mega .main-nav__link .chev,.has-dropdown .main-nav__link .chev{transform:rotate(-90deg);color:var(--icon)}
  .race-flag-slot{display:none}
  .main-nav__cta{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    margin:26px 22px 34px;background:var(--accent);color:var(--na-akcente);font-weight:600;font-size:var(--fs-ui);
    padding:16px 22px;border-radius:999px;transition:background .3s var(--ease);
  }
  .main-nav__cta svg{width:18px;height:18px}
  .main-nav__cta:hover{background:var(--surface-inv)}
  .nav-toggle{
    display:flex;flex-direction:column;justify-content:center;gap:6px;
    width:44px;height:44px;position:relative;z-index:220;
  }
  .nav-toggle span{
    width:26px;height:2px;border-radius:2px;background:var(--surface-inv);display:block;margin:0 auto;
    transition:transform .3s var(--ease),opacity .2s var(--ease);
  }
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .dropdown{display:none}
  .main-nav__list > li.main-nav__more{display:none}
  .has-mega,.has-dropdown{position:static}
  .submenu{
    position:absolute;inset:0;z-index:3;background:var(--surface);
    overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 0 32px;
    transform:translateX(100%);transition:transform .32s var(--ease);
    display:block;
  }
  .submenu.is-active{transform:translateX(0)}
  .submenu__panelhead{
    position:sticky;top:0;z-index:1;background:var(--surface);
    display:flex;align-items:center;gap:12px;height:88px;padding:0 72px 0 16px;
    border-bottom:1px solid var(--line);
  }
  .submenu__back{
    display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;
    font-family:inherit;font-size:var(--fs-ui);font-weight:600;color:var(--ink);
    background:var(--surface-2);border-radius:999px;padding:9px 15px 9px 11px;
    transition:background .2s var(--ease),color .2s var(--ease);
  }
  .submenu__back svg{width:18px;height:18px}
  .submenu__back:hover{background:var(--accent);color:var(--na-akcente)}
  .submenu__paneltitle{font-size:var(--fs-text);font-weight:700;color:var(--ink);letter-spacing:-.01em;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .submenu__inner{padding:0 18px}
  .submenu__link{
    display:flex;align-items:center;gap:12px;width:100%;
    text-align:left;font-family:inherit;font-size:var(--fs-ui);color:var(--ink-2);
    padding:12px 4px;border-top:1px solid var(--line);
  }
  .submenu__inner > .submenu__link:first-child{border-top:0}
  .submenu__link{justify-content:flex-start;transition:color .2s var(--ease)}
  .submenu__link:hover{color:var(--accent)}
}
@media(max-width:900px){
  .cta-band__inner{flex-direction:column;align-items:flex-start}

}
@media(max-width:768px){
  .header__cta-btn{font-size:var(--fs-ui)}
  .header__cta-btn.btn--liquid .btn__body{padding:11px 16px}
  .header__cta-btn.btn--liquid .btn__orb{width:43px}
  .work-card.size--8,.work-card.size--4{width:100%}
  .work-card.size--8 .work-card__media,.work-card.size--4 .work-card__media{aspect-ratio:16/10}
  .work-just__row{display:block;margin-bottom:0}
  .work-just__row > .work-card{margin-bottom:34px}
  .logo-grid{
    display:flex;gap:14px;overflow-x:auto;
    margin-inline:calc(var(--pad) * -1);
    scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;
  }
  .logo-grid::-webkit-scrollbar{display:none}
  .logo-grid__cell{flex:0 0 62%;scroll-snap-align:center}
  .logo-grid.is-loop .logo-grid__cell--clone{display:grid}
  .logo-grid__cell:first-child{margin-left:19%}
  .logo-grid__cell:last-child{margin-right:19%}
  .logo-grid.is-loop .logo-grid__cell:first-child,.logo-grid.is-loop .logo-grid__cell:last-child{margin:0}
}
@media(max-width:520px){
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:14px}
}
@media(max-width:480px){
  .header__cta-btn{padding:11px 14px}
}

.quote{position:fixed;inset:0;z-index:400;visibility:hidden;overflow:hidden}
.quote__overlay{position:absolute;inset:0;background:rgba(20,20,20,.55);opacity:0;transition:opacity .35s var(--ease)}
.quote__panel{
  position:absolute;top:0;right:0;bottom:0;width:min(480px,100vw);
  background:var(--surface);box-shadow:-30px 0 80px rgba(0,0,0,.7);
  transform:translateX(100%);transition:transform .42s var(--ease);
  display:flex;flex-direction:column;
}
.quote.is-open{visibility:visible}
.quote.is-open .quote__overlay{opacity:1}
.quote.is-open .quote__panel{transform:none}
.quote__close{
  position:absolute;top:18px;right:18px;z-index:2;
  width:44px;height:44px;border-radius:50%;background:var(--surface-2);
  display:grid;place-items:center;color:var(--ink);
  transition:background .2s var(--ease),color .2s var(--ease);
}
.quote__close svg{width:22px;height:22px}
.quote__close:hover{background:var(--accent);color:var(--na-akcente)}
.quote__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:clamp(42px,6vw,60px) clamp(24px,4vw,44px) 40px}
.quote__eyebrow{
  display:inline-block;font-size:var(--fs-mini);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;
}
.quote__title{font-size:clamp(26px,3.2vw,33px);line-height:1.16;letter-spacing:-.02em;margin-bottom:14px}
.quote__lead{font-size:var(--fs-ui);line-height:1.6;color:var(--grey-mid);margin-bottom:30px;max-width:42ch}
.quote__contact{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.quote__contact-label{font-size:var(--fs-mini);color:var(--grey-mid);margin-bottom:10px}
.quote__contact-mail{
  display:block;font-size:var(--fs-ui);font-weight:600;color:var(--ink);
  transition:color .2s var(--ease);
}
.quote__contact-mail{margin-top:6px}
.quote__contact-mail:hover{color:var(--accent)}
.quote__form{display:flex;flex-direction:column;gap:16px}
.quote__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote__field{display:flex;flex-direction:column;gap:7px}
.quote__label{font-size:var(--fs-mini);font-weight:600;color:var(--ink)}
.quote__label i{color:var(--accent);font-style:normal;margin-left:2px}
.quote__field input,.quote__field textarea{
  width:100%;font-family:inherit;font-size:var(--fs-ui);color:var(--ink);
  background:var(--field);border:1px solid var(--line-strong);border-radius:12px;
  padding:13px 15px;transition:background .2s var(--ease),border-color .2s var(--ease);
}
.quote__field textarea{resize:vertical;min-height:106px;line-height:1.5}
.quote__field input::placeholder,.quote__field textarea::placeholder{color:var(--muted)}
.quote__field input:focus,.quote__field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(120,178,197,.32)}
.quote__submit{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  margin-top:6px;background:var(--accent);color:var(--na-akcente);
  font-size:var(--fs-text);font-weight:600;padding:16px 24px;border-radius:999px;
  transition:background .3s var(--ease);
}
.quote__submit svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.quote__submit:hover{background:var(--surface-inv)}
.quote__submit:hover svg{transform:translateX(4px)}
.drop{
  position:relative;display:grid;justify-items:center;gap:6px;
  padding:22px 18px;text-align:center;
  background:var(--field);border:1px dashed var(--line-strong);border-radius:12px;
  transition:border-color .25s var(--ease),background .25s var(--ease);
  cursor:pointer;
}
.drop__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop__ico{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface-2);color:var(--ink);transition:background .25s var(--ease),color .25s var(--ease)}
.drop__ico svg{width:19px;height:19px}
.drop__text{font-size:var(--fs-ui);color:var(--ink)}
.drop__text b{font-weight:600;border-bottom:1px solid currentColor}
.drop__note{font-size:var(--fs-mini);color:var(--muted)}
.drop:hover,.drop.is-over{border-color:var(--accent);background:rgba(120,178,197,.08)}
.drop.is-over .drop__ico{background:var(--accent);color:var(--na-akcente)}
.drop__list{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.drop__list:empty{display:none}
.drop__item{
  display:flex;align-items:center;gap:10px;
  background:var(--surface-2);border-radius:10px;padding:9px 12px;
  font-size:var(--fs-mini);color:var(--ink);
}
.drop__name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop__size{color:var(--muted);flex:0 0 auto}
.drop__del{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:var(--muted);flex:0 0 auto;transition:background .2s var(--ease),color .2s var(--ease)}
.drop__del svg{width:11px;height:11px}
.drop__del:hover{background:var(--accent);color:var(--na-akcente)}
.drop__error{margin-top:8px;font-size:var(--fs-mini);color:var(--chyba)}
.quote__success{text-align:center;padding:24px 0 10px}
.quote__success-ico{
  width:64px;height:64px;border-radius:50%;background:#eafaf1;color:#12a150;
  display:grid;place-items:center;margin:0 auto 22px;
}
.quote__success-ico svg{width:30px;height:30px}
.quote__success-title{font-size:var(--fs-card);letter-spacing:-.01em;margin-bottom:10px}
.quote__success-text{font-size:var(--fs-ui);line-height:1.6;color:var(--grey-mid);max-width:34ch;margin:0 auto 26px}
.quote__success-close{
  background:var(--surface-inv);color:var(--ink-invert);font-weight:600;font-size:var(--fs-ui);
  padding:13px 28px;border-radius:999px;transition:background .3s var(--ease);
}
.quote__success-close:hover{background:var(--accent)}
body.quote-open{overflow:hidden}
@media(max-width:520px){
  .quote__row{grid-template-columns:1fr}
}

.svc-hero .header__text{max-width:19ch}

.svc-hero--media .header__title{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(34px,4.5vw,72px);align-items:center;
}
.svc-hero--media .header__sub{max-width:46ch}
.svc-hero__media{position:relative;margin:0}
.svc-hero__media img{
  display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  background:var(--surface-2);
}
.svc-hero__ph{
  display:grid;place-items:center;width:100%;aspect-ratio:4/3;
  padding:24px;text-align:center;
  font-size:var(--fs-h4);line-height:1.15;letter-spacing:-.02em;color:#fff;
}
@media(max-width:1024px){
  .svc-hero--media .header__title{grid-template-columns:1fr;gap:clamp(28px,4vw,42px)}
  .svc-hero--media .header__sub{max-width:none}
  .svc-hero__media{max-width:560px}
}
.svc-stack{position:relative}
.svc-card{position:sticky;top:104px;margin-bottom:56px}
.svc-card--last{margin-bottom:0}
.svc-stack__runway{height:clamp(240px,46vh,460px)}
.svc-card__inner{
  background:var(--surface);
  display:grid;grid-template-columns:1fr 1fr;align-items:center;
  gap:clamp(28px,4.5vw,72px);
  min-height:clamp(420px,46vw,540px);
}
.svc-card__text{padding:clamp(32px,3.6vw,56px) 0 clamp(32px,3.6vw,56px) clamp(28px,3.6vw,56px)}
.svc-card__ico{display:block;margin-bottom:22px}
.svc-card__ico img{width:40px;height:40px;filter:brightness(0) invert(1)}
.svc-card__title{font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:-.02em;margin-bottom:16px}
.svc-card__lead{font-size:var(--fs-text);line-height:1.6;color:var(--grey-mid);max-width:46ch}
.svc-card__list{
  display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;
  margin:26px 0 32px;padding-top:26px;border-top:1px solid var(--line);
}
.svc-card__list li{
  position:relative;padding-left:17px;
  font-size:var(--fs-ui);line-height:1.4;color:var(--ink-2);
}
.svc-card__list li::before{
  content:"";position:absolute;left:0;top:.5em;
  width:6px;height:6px;border-radius:50%;background:var(--accent);
}
.svc-card__cta{
  display:inline-flex;align-items:center;gap:9px;
  font-size:var(--fs-ui);font-weight:600;color:var(--ink);
  padding:13px 22px;border-radius:999px;border:1px solid var(--line);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.svc-card__cta svg{width:17px;height:17px;transition:transform .3s var(--ease)}
.svc-card__cta:hover{background:var(--surface-inv);color:var(--ink-invert);border-color:var(--ink)}
.svc-card__cta:hover svg{transform:translateX(4px)}
.svc-card__cta--down:hover svg{transform:translateY(4px)}
.sec-cta{margin-top:clamp(26px,2.6vw,34px);padding-bottom:46px}
.svc-card__media{background:var(--surface-2);align-self:stretch}
.svc-card__media img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.svc-outro__title{max-width:15ch}
@media(max-width:900px){
  .svc-card{position:static;margin-bottom:14px}
  .svc-card__inner{grid-template-columns:1fr;gap:26px;min-height:0}
  .svc-card__text{padding:0 clamp(24px,5vw,32px) clamp(28px,5vw,40px)}
  .svc-card__media{order:-1}
  .svc-card__media img{aspect-ratio:16/10}
  .svc-stack__runway{display:none}
}
@media(max-width:520px){
  .svc-card__list{grid-template-columns:1fr}
}

.crumbs{font-size:var(--fs-ui);color:var(--grey-mid);margin-bottom:22px}
.crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;margin:0;padding:0;list-style:none}
.crumbs__item{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.crumbs__item+.crumbs__item::before{content:"/";content:"/"/"";color:var(--icon)}
.crumbs a{transition:color .2s var(--ease)}
.crumbs a:hover{color:var(--accent)}
.crumbs span[aria-hidden]{color:var(--icon)}
.prod-hero{padding-bottom:clamp(48px,6vw,90px)}
.prod-hero__inner{
  display:grid;grid-template-columns:1fr 1.05fr;
  gap:clamp(34px,5vw,80px);align-items:start;
}
.prod-hero__text{position:sticky;top:120px}
.prod-hero__text .header__sub{margin-top:20px}
.prod-hero__box{background:var(--surface);padding:clamp(24px,3vw,40px)}
.prod-hero__box .quote__submit{width:100%}
.prod-specs{
  display:grid;grid-template-columns:1fr;gap:11px;
  margin:30px 0 0;padding-top:30px;border-top:1px solid var(--line);
}
.prod-specs__item{
  display:flex;align-items:flex-start;gap:11px;
  font-size:var(--fs-ui);line-height:1.45;color:var(--ink-2);
}
.prod-specs__check{
  width:18px;height:18px;flex:0 0 auto;margin-top:1px;color:var(--accent);
}
@media(max-width:1100px){
  .prod-hero__inner{grid-template-columns:1fr}
  .prod-hero__text{position:static}
}

.prod-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  margin-top:clamp(34px,4vw,54px);
}
.prod-card{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;background:var(--surface-2);
  font-size:var(--fs-ui);line-height:1.35;color:var(--ink-2);
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);
}
.prod-card__name{flex:1 1 auto}
.prod-card__arrow{
  width:18px;height:18px;flex:0 0 auto;color:var(--icon);
  transition:color .25s var(--ease),transform .25s var(--ease);
}
.prod-card:hover{background:var(--surface-inv);color:var(--ink-invert);transform:translateY(-2px)}
.prod-card:hover .prod-card__arrow{color:var(--ink-invert);transform:translateX(3px)}
.vf-section__title{max-width:14ch}
.vf-section__lead{font-size:var(--fs-text);line-height:1.6;color:var(--grey-mid);max-width:52ch;margin-top:18px}
.vf-mat-head{margin-bottom:clamp(34px,4vw,52px)}
.vf-materials{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}
.vf-material{padding-top:22px;border-top:2px solid var(--line)}
.vf-material__title{font-size:var(--fs-card);font-weight:700;letter-spacing:-.01em;margin-bottom:10px}
.vf-material__text{font-size:var(--fs-ui);line-height:1.6;color:var(--grey-mid)}
.vf-split{min-height:0}
@media(max-width:1080px){
  .prod-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .vf-materials{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .prod-grid{grid-template-columns:1fr 1fr;gap:8px}
  .prod-card{padding:12px;gap:8px;font-size:var(--fs-mini);align-items:flex-start}
  .prod-card__arrow{width:15px;height:15px;margin-top:1px}
  .vf-materials{grid-template-columns:1fr}
}

.prod-more{display:none}
@media(max-width:900px){
  .prod-grid--capped .prod-card:nth-child(n+13){display:none}
  .prod-grid--capped.is-expanded .prod-card{display:flex}
  .prod-more{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    margin-top:16px;width:100%;
    font-size:var(--fs-ui);font-weight:600;color:var(--ink);
    padding:14px 22px;border-radius:999px;border:1px solid var(--line);
    transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
  }
  .prod-more svg{width:17px;height:17px;transition:transform .3s var(--ease)}
  .prod-more:hover{background:var(--surface-inv);color:var(--ink-invert);border-color:var(--ink)}
  .prod-more[aria-expanded="true"] svg{transform:rotate(180deg)}
}

.svc-page .page-section{padding-block:clamp(64px,7vw,112px)}
.katalog-grid{padding-top:clamp(64px,7vw,120px)}
.svc-page .page-section--top-half{padding-top:clamp(32px,3.4vw,52px)}
.svc-page .page-section--bottom-half{padding-bottom:clamp(32px,3.4vw,52px)}
.svc-page .cta-band{margin-top:clamp(56px,7vw,110px)}
.svc-page .vf-mat-head{margin-bottom:clamp(40px,4.6vw,62px)}
@media(max-width:900px){
  .svc-page .page-section{padding-block:clamp(48px,9vw,72px)}
}

.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(34px,3.6vw,56px) clamp(26px,3vw,44px)}
.ind-grid--4{grid-template-columns:repeat(4,1fr)}
.ind-grid--4 .ind-card:nth-child(4n+2){--rd:.1s}
.ind-grid--4 .ind-card:nth-child(4n+3){--rd:.2s}
.ind-grid--4 .ind-card:nth-child(4n+4){--rd:.3s}
.ind-card{
  display:flex;flex-direction:column;
  padding-top:26px;border-top:2px solid var(--line);
  transition:opacity .3s var(--ease) var(--rd,0s),transform .3s var(--ease) var(--rd,0s),border-color .35s var(--ease) 0s;
}
.ind-card:nth-child(3n+2){--rd:.1s}
.ind-card:nth-child(3n+3){--rd:.2s}
.ind-card__ico{display:block;margin-bottom:20px;line-height:0}
.ind-card__ico img,.ind-card__ico svg{width:40px;height:40px;filter:var(--ikona)}
.ind-card__title{
  font-size:var(--fs-card);font-weight:700;letter-spacing:-.01em;line-height:1.2;
  margin-bottom:12px;transition:color .35s var(--ease);
}
.ind-card__text{font-size:var(--fs-ui);line-height:1.6;color:var(--grey-mid)}
.ind-card:hover{border-color:var(--accent)}
.ind-card:hover .ind-card__title{color:var(--accent)}
.ind-card--static{cursor:default}
.ind-card--static:hover{border-color:var(--accent)}
.ind-card--static:hover .ind-card__ico img{opacity:1}
@media(max-width:1080px){
  .ind-grid,.ind-grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .ind-grid,.ind-grid--4{grid-template-columns:1fr}
}

.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3vw,46px)}
.num-item{padding-top:22px;border-top:2px solid var(--line)}
.num-item__label{font-size:var(--fs-text);font-weight:700;letter-spacing:-.01em;margin:0 0 10px}
.num-item__text{font-size:var(--fs-ui);line-height:1.6;color:var(--grey-mid)}
@media(max-width:1080px){
  .num-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .num-grid{grid-template-columns:1fr}
}
.faq{max-width:860px}
.faq__item{border-top:1px solid var(--line)}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 4px;cursor:pointer;list-style:none;
  font-size:var(--fs-text);font-weight:600;letter-spacing:-.01em;
  transition:color .18s var(--ease);
}
.faq__q::-webkit-details-marker{display:none}
.faq__q:hover{color:var(--accent)}
.faq__chev{width:14px;height:9px;flex:0 0 auto;color:var(--icon);transition:transform .25s var(--ease)}
.faq__item.is-open .faq__chev{transform:rotate(180deg);color:var(--accent)}
.faq__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--ease)}
.faq__panel > div{overflow:hidden}
.faq__item.is-open .faq__panel{grid-template-rows:1fr}
.faq__a{
  padding:0 4px 22px;font-size:var(--fs-ui);line-height:1.65;color:var(--grey-mid);max-width:62ch;
  opacity:0;transform:translateY(8px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.faq__item.is-open .faq__a{opacity:1;transform:none;transition-delay:.1s}

.ind-form__inner{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(34px,5vw,80px);align-items:start}
.ind-form__list{margin-top:26px;grid-template-columns:1fr}
.ind-form__box{background:var(--surface);padding:clamp(24px,3vw,40px)}
.ind-form__box .quote__submit{width:100%}
@media(max-width:900px){
  .ind-form__inner{grid-template-columns:1fr}
}

.btn--liquid,.btn--liquid:hover,.btn--liquid.is-hot{
  background:none;padding:0;gap:0;box-shadow:none;
  align-items:stretch;border:0;border-radius:0;
  filter:url(#ag-gooey);
}
.btn__body{
  display:inline-flex;align-items:center;
  background:var(--accent);color:var(--na-akcente);
  padding:20px 32px;border-radius:999px;
  transition:background .35s var(--ease),color .35s var(--ease);
}
.btn__orb{
  display:grid;place-items:center;flex:0 0 auto;
  margin-left:-10px;
  background:var(--accent);color:var(--na-akcente);border-radius:999px;
  transition:transform .9s cubic-bezier(.135,.9,.15,1),height .9s cubic-bezier(.135,.9,.15,1),background .35s var(--ease),color .35s var(--ease);
}
.btn__orb svg{width:20px;height:20px}
.btn--liquid:hover .btn__body,.btn--liquid:hover .btn__orb,.btn--liquid.is-hot .btn__body,.btn--liquid.is-hot .btn__orb{background:var(--surface-inv);color:var(--ink-invert)}
.btn--liquid:hover .btn__orb,.btn--liquid.is-hot .btn__orb{transform:translateX(22px)}
.btn--liquid:hover .btn__orb svg,.btn--liquid.is-hot .btn__orb svg{transform:none}

.portal__btn.btn--liquid .btn__body{padding:14px 24px;font-size:var(--fs-ui);font-weight:600}
.portal__btn.btn--liquid .btn__orb{margin-left:-8px}
.portal__btn.btn--liquid .btn__orb svg{width:17px;height:17px}
.portal__btn.btn--liquid:hover .btn__orb,.portal__btn.btn--liquid.is-hot .btn__orb{transform:translateX(20px)}

.header__cta-btn.btn--liquid .btn__body{padding:13px 22px}
.header__cta-btn.btn--liquid .btn__orb{margin-left:-8px;width:49px}
.header__cta-btn.btn--liquid .btn__orb svg{width:17px;height:17px}
.header__cta-btn.btn--liquid:hover .btn__orb,.header__cta-btn.btn--liquid.is-hot .btn__orb{transform:translateX(20px)}

.btn--ghost.btn--liquid .btn__body,.btn--ghost.btn--liquid .btn__orb,.svc-card__cta.btn--liquid .btn__body,.svc-card__cta.btn--liquid .btn__orb{background:var(--surface-3);color:var(--ink)}

.btn--ghost.btn--liquid:hover .btn__body,.btn--ghost.btn--liquid:hover .btn__orb,.btn--ghost.btn--liquid.is-hot .btn__body,.btn--ghost.btn--liquid.is-hot .btn__orb,.svc-card__cta.btn--liquid:hover .btn__body,.svc-card__cta.btn--liquid:hover .btn__orb,.svc-card__cta.btn--liquid.is-hot .btn__body,.svc-card__cta.btn--liquid.is-hot .btn__orb{background:var(--surface-inv);color:var(--ink-invert)}

.svc-card__cta.btn--liquid .btn__body{padding:13px 22px;font-size:var(--fs-ui);font-weight:600}
.svc-card__cta.btn--liquid .btn__orb{margin-left:-8px}
.svc-card__cta.btn--liquid .btn__orb svg{width:17px;height:17px}
.svc-card__cta.btn--liquid:hover .btn__orb,.svc-card__cta.btn--liquid.is-hot .btn__orb{transform:translateX(20px)}

.cta-band__btn.btn--liquid .btn__body{
  background:var(--surface);color:var(--ink);padding:16px 28px;
  font-size:var(--fs-text);font-weight:600;
}
.cta-band__btn.btn--liquid .btn__orb{background:var(--surface);color:var(--ink);margin-left:-6px}
.cta-band__btn.btn--liquid:hover .btn__orb,.cta-band__btn.btn--liquid.is-hot .btn__orb{transform:translateX(20px)}

.quote__submit.btn--liquid{margin-top:6px}
.quote__submit.btn--liquid .btn__body{
  flex:1 1 auto;justify-content:center;
  padding:16px 24px;font-size:var(--fs-text);font-weight:600;
}
.quote__submit.btn--liquid .btn__orb{margin-left:-6px}
.quote__submit.btn--liquid .btn__orb svg{width:18px;height:18px}
.quote__submit.btn--liquid:hover .btn__orb,.quote__submit.btn--liquid.is-hot .btn__orb{transform:translateX(18px)}

.btn--down.btn--liquid,.svc-card__cta--down.btn--liquid{position:relative}
.btn--down.btn--liquid .btn__body{flex:1 1 auto;padding-right:72px}
.svc-card__cta--down.btn--liquid .btn__body{flex:1 1 auto;padding-right:60px}
.btn--down.btn--liquid .btn__orb,.svc-card__cta--down.btn--liquid .btn__orb{
  position:absolute;top:0;right:0;height:100%;margin:0;align-content:end;
}
.btn--down.btn--liquid .btn__orb{padding-bottom:19px}
.svc-card__cta--down.btn--liquid .btn__orb{padding-bottom:16px}
.btn--down.btn--liquid:hover .btn__orb,.btn--down.btn--liquid.is-hot .btn__orb{height:calc(100% + 51px);transform:none}
.svc-card__cta--down.btn--liquid:hover .btn__orb,.svc-card__cta--down.btn--liquid.is-hot .btn__orb{height:calc(100% + 43px);transform:none}

@media(prefers-reduced-motion:reduce){
  .btn--liquid:hover .btn__orb,.btn--liquid.is-hot .btn__orb{transform:none;height:100%}
}

.logo-grid .logo-grid__cell{
  transition:background .3s var(--ease),border-color .3s var(--ease),
             opacity .3s var(--ease) var(--rd,0s),transform .3s var(--ease) var(--rd,0s);
}
.prod-grid .prod-card{
  transition:background .25s var(--ease),color .25s var(--ease),
             transform .25s var(--ease),opacity .3s var(--ease) var(--rd,0s);
}

@media(max-width:1024px){
  .header__inner{gap:14px}
  .header__cta-btn.btn--liquid .btn__body{padding:12px 18px}
}
@media(max-width:520px){
  .header__logo img{height:56px}
  .header__cta-btn.btn--liquid .btn__orb{display:none}
  .header__cta-btn.btn--liquid .btn__body{padding:10px 14px;font-size:var(--fs-mini)}
}

.main-nav__cta.btn--liquid{margin:26px 22px 34px}
.main-nav__cta.btn--liquid .btn__body{
  flex:1 1 auto;justify-content:center;
  padding:16px 22px;font-size:var(--fs-ui);font-weight:600;
}
.main-nav__cta.btn--liquid .btn__orb{margin-left:-8px;width:53px}
.main-nav__cta.btn--liquid .btn__orb svg{width:18px;height:18px}
.main-nav__cta.btn--liquid:hover .btn__orb,.main-nav__cta.btn--liquid.is-hot .btn__orb{transform:translateX(20px)}

.quote__consent{position:relative;display:flex;align-items:flex-start;gap:11px;margin-top:4px;cursor:pointer}
.quote__consent input{position:absolute;top:1px;left:0;width:21px;height:21px;margin:0;opacity:0}
.quote__check{
  flex:0 0 auto;display:grid;place-items:center;
  width:21px;height:21px;margin-top:1px;
  background:var(--surface-2);border:1px solid var(--line-strong);border-radius:5px;
  transition:background .25s var(--ease),border-color .25s var(--ease);
}
.quote__check svg{
  width:14px;height:14px;fill:none;stroke:var(--na-akcente);
  stroke-width:3;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:24;stroke-dashoffset:24;
  transition:stroke-dashoffset .3s var(--ease);
}
.quote__consent input:checked ~ .quote__check{
  background:var(--accent);border-color:var(--accent);
  animation:checkPop .34s var(--ease);
}
.quote__consent input:checked ~ .quote__check svg{stroke-dashoffset:0;transition-delay:.06s}
.quote__consent input:focus-visible ~ .quote__check{outline:2px solid var(--black);outline-offset:2px}
.quote__consent:hover .quote__check{border-color:var(--icon)}
.quote__consent-text{font-size:var(--fs-ui);line-height:1.55;color:var(--grey-mid)}
.quote__consent a{color:var(--ink);border-bottom:1px solid var(--line);transition:color .2s var(--ease),border-color .2s var(--ease)}
.quote__consent a:hover{color:var(--accent);border-color:var(--accent)}
@keyframes checkPop{0%{transform:scale(1)}45%{transform:scale(1.18)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
  .quote__check svg{transition:none}
  .quote__consent input:checked ~ .quote__check{animation:none}
}

.shop{display:grid;grid-template-columns:300px 1fr;gap:clamp(28px,3.4vw,56px);align-items:start}
.shop__side{align-self:stretch}
.shop__side-inner{position:sticky;top:118px;max-height:calc(100vh - 140px);overflow-y:auto;scrollbar-width:none}
.shop__side-inner::-webkit-scrollbar{display:none}
.shop__group{scroll-margin-top:120px}
.shop__head + .shop__group{margin-top:clamp(36px,4vw,56px)}
.shop__group + .shop__group{margin-top:clamp(44px,5vw,72px)}
.shop__group-title{margin-bottom:12px}
.shop__group-lead{max-width:70ch;margin-bottom:22px;font-size:var(--fs-ui);line-height:1.6;color:var(--grey-mid)}
.shop__group-title + .prod-grid{margin-top:22px}
.shop__panel{background:var(--surface);border-radius:18px;padding:10px}
.shop__side-title{
  padding:10px 14px 12px;
  font-size:var(--fs-mini);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--grey-mid);
}
.shop__cats{display:flex;flex-direction:column;gap:6px;list-style:none}
.shop__cat{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 14px;border-radius:12px;
  font-size:var(--fs-ui);font-weight:500;line-height:1.3;color:var(--ink);
  transition:background .25s var(--ease),color .25s var(--ease);
}
.shop__cat-count{
  flex:0 0 auto;font-size:var(--fs-mini);font-weight:600;color:var(--grey-mid);
  transition:color .25s var(--ease);
}
.shop__cat:hover{background:var(--surface-3)}
.shop__cat.is-active{background:var(--surface-inv);color:var(--ink-invert)}
.shop__cat.is-active .shop__cat-count{color:var(--ink-invert);opacity:.6}
.shop__all{font-size:var(--fs-ui);margin-top:20px;margin-left:14px;display:inline-block}
@media(min-width:1081px) and (max-height:800px){
  .shop__cats{gap:4px}
  .shop__cat{padding-block:8px}
}
.shop__filter{
  display:flex;align-items:center;gap:10px;
  background:var(--surface-2);border:1px solid transparent;border-radius:999px;padding:12px 18px;
  transition:background .25s var(--ease),border-color .25s var(--ease);
}
.shop__filter:focus-within{background:var(--surface);border-color:var(--ink)}
.shop__filter svg{width:18px;height:18px;color:var(--grey-mid);flex:0 0 auto}
.shop__filter input{border:0;outline:0;width:100%;font-family:inherit;font-size:var(--fs-ui);background:transparent}
.shop__filter-count{font-size:var(--fs-mini);font-weight:600;color:var(--grey-mid);flex:0 0 auto}
.shop .prod-grid{grid-template-columns:repeat(3,1fr);margin-top:clamp(24px,2.6vw,34px)}
.shop__empty{margin-top:26px;font-size:var(--fs-ui);color:var(--grey-mid)}
@media(max-width:1080px){
  .shop{grid-template-columns:1fr;gap:26px}
  .shop__side-inner{position:static;max-height:none;overflow:visible}
  .shop__panel{background:none;border-radius:0;padding:0}
  .shop__side-title{padding:0 0 12px}
  .shop__cats{flex-direction:row;flex-wrap:wrap;gap:8px}
  .shop__cat{gap:8px;background:var(--surface-2);border-radius:999px;padding:9px 14px}
  .shop__all{margin-top:16px;margin-left:0}
  .shop .prod-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .shop .prod-grid{grid-template-columns:1fr}
}

.race-hero{position:relative;overflow:hidden}
.race-hero__grid{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(115deg,rgba(120,178,197,.14),rgba(120,178,197,0) 42%),
    repeating-linear-gradient(115deg,rgba(120,178,197,.09) 0 2px,rgba(120,178,197,0) 2px 88px);
  mask-image:linear-gradient(to bottom,#000 0%,transparent 78%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 78%);
}
.race-mark{margin-bottom:clamp(26px,3vw,40px)}
.race-mark img{display:block;width:clamp(200px,21vw,310px);height:auto}
.race-hero__title{max-width:22ch}

.race-hero .header__sub{max-width:52ch}
.race-car{
  position:absolute;z-index:-1;pointer-events:none;
  right:-3%;bottom:clamp(20px,5vh,72px);
  width:min(70vw,960px);
  mask-image:linear-gradient(to right,transparent 0,#000 20%),linear-gradient(to top,#000 56%,transparent 96%);
  mask-composite:intersect;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 20%),linear-gradient(to top,#000 56%,transparent 96%);
  -webkit-mask-composite:source-in;
}
.race-car img{display:block;width:100%;height:auto;opacity:.5}
@media(min-width:1401px) and (max-width:1700px){
  .race-car{width:min(60vw,860px);right:-4%}
}
@media(min-width:1025px) and (max-width:1400px){
  .race-car{width:min(58vw,700px);right:-4%;bottom:clamp(16px,4vh,56px)}
  .race-car img{opacity:.44}
}
@media(min-width:1025px) and (max-width:1200px){
  .race-car{width:min(56vw,640px);right:-7%}
}
@media(max-width:1024px){
  .race-hero .header__sub{max-width:none}
  .race-car{width:min(112vw,860px);right:-12%}
  .race-car img{opacity:.22}
}
@media(max-width:640px){
  .race-car{display:none}
}

.hero-hala{position:relative;overflow:hidden}
.hero-hala .header__sub{max-width:52ch}
.hero-hala__img{
  position:absolute;z-index:-1;pointer-events:none;
  right:-6%;bottom:0;width:min(76vw,1280px);
  mask-image:linear-gradient(to right,transparent 0,#000 26%);
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 26%);
}
.hero-hala__img img{display:block;width:100%;height:auto;filter:brightness(1.4) contrast(1.08)}
.hero-hala__kotva{position:relative}
.hero-hala__kotva .hero-hala__img{bottom:100%;right:-10vw;width:min(70vw,1040px)}
@media(max-width:1024px){
  .hero-hala .header__sub{max-width:none}
  .hero-hala__img,.hero-hala__kotva .hero-hala__img{width:min(120vw,900px);right:-14%}
  .hero-hala__img img{opacity:.5}
}
@media(max-width:640px){
  .hero-hala__img{display:none}
}

.race-acr{position:relative}
.race-acr__stage{display:grid;place-items:center;padding:clamp(28px,4vw,56px) var(--pad);overflow:hidden}
.race-acr__line{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;
  gap:0 .28em;max-width:100%;
  font-size:clamp(30px,5.8vw,84px);font-weight:700;letter-spacing:-.03em;line-height:1.05;
  color:var(--ink);text-align:center;
}
.race-acr__w{display:inline-flex;align-items:baseline;white-space:nowrap}
.race-acr__ini{display:inline-block;color:var(--race)}
.race-acr__rest{display:inline-block;overflow:hidden;white-space:nowrap}
.race-acr.is-ready .race-acr__stage{padding-top:clamp(120px,calc(44vh - 165px),360px);padding-bottom:0}
.race-acr.is-ready .race-acr__line{
  gap:0 calc(.28em * var(--tight,1));
  transform:scale(calc(1 + var(--gr,.55) * var(--q,0))) skewX(calc(-9deg * var(--q,0)));
  will-change:transform;
}
@media(max-width:768px){
  .race-acr.is-ready .race-acr__line{--gr:1.5}
  .race-acr.is-ready .race-acr__stage{padding-top:clamp(80px,calc(34vh - 110px),220px);padding-bottom:0}
}

@media(max-width:900px){
  .race-mark img{width:40vw}
}

.finish{position:relative;overflow-x:clip;overflow-y:visible;padding-top:0;margin-top:clamp(-40px,-2vw,-16px)}
.page-template-page-race .svc-outro{padding-bottom:0}
.finish + .cta-band{margin-top:0}
.finish__head{position:relative;z-index:3;display:grid;gap:10px;justify-items:center;text-align:center;margin-block:clamp(80px,13.9vw,200px)}
.finish__head .vf-section__lead{max-width:52ch}
.finish__area{
  position:relative;z-index:2;height:50vw;
  background:var(--bg);pointer-events:none;
}
.finish__line{position:absolute;top:-85%;left:0;width:100%;height:200%}
.finish__canvas{
  display:block;width:100%;height:100%;
  transform:perspective(160vw) rotateX(55deg) scale(1.5);
}
.finish__texture{
  position:absolute;inset:0;
  mix-blend-mode:color-burn;image-rendering:pixelated;
  background-position:100% 100%;background-repeat:repeat;background-size:786px;
}
.finish__car{
  position:absolute;top:-25vw;left:50%;
  height:min(60vw,80vh);aspect-ratio:1/1;max-width:none;
  transform-origin:50% 100%;will-change:transform;transform:translate(-50%);
}
.finish__car-main{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(max-width:767px){
  .finish__area{height:100vw}
  .finish__line{width:200%;left:-50%}
  .finish__car{height:100vw;top:-50vw}
}

.lead-reveal{min-height:100svh;display:grid;align-content:center}
.lead-reveal .container{display:grid;justify-items:center;text-align:center}
.lead-reveal__title{max-width:18ch;margin-bottom:clamp(22px,2.6vw,38px)}
.lead-reveal__text{
  max-width:34ch;
  font-size:clamp(24px,2.7vw,42px);line-height:1.35;letter-spacing:-.02em;font-weight:500;
  color:var(--ink);
}
.lead-reveal__text span{opacity:.16;transition:opacity .25s var(--ease)}
.lead-reveal__text.is-plain span{opacity:1}
.lead-reveal__cta{padding-bottom:0;margin-top:clamp(26px,3vw,44px)}
@media(max-width:768px){
  .lead-reveal__text{max-width:26ch}
}

.race-hot__stage{
  position:relative;aspect-ratio:16/9;background:var(--bg);
  margin-top:clamp(26px,3vw,44px);
}
.race-hot__track{position:relative;width:100%;height:100%}
.race-hot__canvas{display:block;width:100%;height:100%;mix-blend-mode:lighten}
.race-hot__mtexts,.race-hot__dots{display:none}

.race-hot__anchor{position:absolute;width:0;z-index:2}
.race-hot__line{
  position:absolute;left:0;top:0;bottom:0;width:2px;translate:-50% 0;
  background:linear-gradient(to bottom,var(--race),rgba(120,178,197,.5) 55%,rgba(120,178,197,0));
  transform-origin:50% 0;transform:scaleY(.82);
  transition:transform .5s var(--ease-expo),opacity .35s var(--ease);
  opacity:.45;
}
.race-hot__anchor.is-on .race-hot__line{transform:none;opacity:1}
.race-hot__pin{
  position:absolute;top:0;left:0;translate:-50% -50%;
  width:clamp(60px,5.4vw,88px);height:clamp(60px,5.4vw,88px);
  display:grid;place-items:center;background:none;border:0;cursor:pointer;
}
.race-hot__pin-ring{
  position:absolute;inset:6px;border-radius:50%;
  background:var(--surface-2);border:1px solid var(--line-strong);
  transition:background .35s var(--ease),border-color .35s var(--ease),transform .5s var(--ease-expo);
}
.race-hot__pin-letter{
  position:relative;font-size:clamp(24px,2.4vw,38px);line-height:1;font-weight:700;
  color:var(--ink-2);transition:color .3s var(--ease),transform .5s var(--ease-expo);
}
.race-hot__anchor.is-on .race-hot__pin-ring{background:var(--race);border-color:var(--race);transform:scale(1.1)}
.race-hot__anchor.is-on .race-hot__pin-letter{color:var(--ink-invert);transform:scale(1.08)}
.race-hot__pin:focus-visible .race-hot__pin-ring{outline:2px solid var(--race);outline-offset:4px}

.race-hot__card{
  position:absolute;top:0;left:0;
  translate:-50% clamp(38px,3.4vw,58px);
  width:clamp(240px,21vw,318px);
  background:var(--surface);border:1px solid var(--line-strong);
  padding:16px 18px;text-align:left;
  opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease),translate .45s var(--ease-expo);
}
.race-hot__anchor.is-on .race-hot__card{opacity:1;translate:-50% clamp(46px,4.2vw,70px)}
.race-hot__card-kicker{
  display:block;font-size:var(--fs-mini);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--race);margin-bottom:7px;
}
.race-hot__card-text{font-size:var(--fs-ui);line-height:1.45;color:var(--ink-2)}

@media(max-width:900px){
  .race-hot__stage{
    aspect-ratio:1/1;max-height:56svh;overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;
  }
  .race-hot__stage::-webkit-scrollbar{display:none}
  .race-hot__track{width:auto;height:100%;aspect-ratio:16/9;margin-inline:var(--pol,50%)}
  .race-hot__anchor{scroll-snap-align:center}
  .race-hot__anchor{transform:translateY(26px)}
  .race-hot__line{bottom:26px}
  .race-hot__pin{width:74px;height:74px}
  .race-hot__pin-letter{font-size:32px}
  .race-hot__card{width:min(64vw,232px);padding:12px 14px}
  .race-hot__card-text{font-size:var(--fs-mini)}
  .race-hot__card{display:none}
  .race-hot__mtexts{
    display:block;position:relative;min-height:148px;
    max-width:min(88vw,340px);margin:0 auto 14px;
  }
  .race-hot__mtext{
    position:absolute;inset:0;
    background:var(--surface);border:1px solid var(--line-strong);
    padding:16px 18px;text-align:left;
    opacity:0;transform:translateY(10px);
    transition:opacity .3s var(--ease),transform .4s var(--ease-expo);
  }
  .race-hot__mtext.is-on{opacity:1;transform:none}
  .race-hot__mtext .race-hot__card-text{font-size:var(--fs-ui);line-height:1.45;color:var(--ink-2)}
  .race-hot__dots{display:flex;justify-content:center;gap:10px;margin-top:-22px;position:relative;z-index:3}
  .race-hot__dot{
    width:56px;height:56px;border-radius:50%;
    background:var(--surface-2);border:1px solid var(--line-strong);
    font-family:inherit;font-size:var(--fs-text);font-weight:700;color:var(--ink-2);
    transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .4s var(--ease-expo);
  }
  .race-hot__dot.is-on{background:var(--race);border-color:var(--race);color:var(--ink-invert);transform:scale(1.1)}
}

.kontakt{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:start}
.kontakt__side{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.kontakt__box{background:var(--bg);padding:clamp(22px,2.4vw,34px)}
.kontakt__label{
  display:block;font-size:var(--fs-mini);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--grey-mid);margin-bottom:12px;
}
.kontakt__value{
  display:inline-block;font-size:var(--fs-text);font-weight:600;letter-spacing:-.01em;color:var(--ink);
  transition:color .25s var(--ease);
}
.kontakt__value:hover{color:var(--accent)}
.kontakt__note{margin-top:14px;font-size:var(--fs-ui);line-height:1.55;color:var(--grey-mid)}
.obchodnici{display:grid;gap:12px}
.obchodnik{display:flex;align-items:center;gap:11px}
.obchodnik__vlajka{
  width:18px;height:18px;border-radius:50%;object-fit:cover;flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.obchodnik__tel{
  font-size:var(--fs-text);font-weight:600;color:var(--ink);
  transition:color .25s var(--ease);
}
.obchodnik__tel:hover{color:var(--accent)}
.obchodnici--footer{gap:7px;margin-bottom:10px;justify-items:end}
.obchodnici--footer .obchodnik{gap:9px}
.obchodnici--footer .obchodnik__tel{font-size:var(--fs-ui);font-weight:600}
.obchodnici--quote{gap:10px;margin-top:2px}
.obchodnici--quote .obchodnik__tel{font-size:var(--fs-ui)}
.kontakt__firma{display:grid;gap:5px;font-size:var(--fs-ui);line-height:1.5;color:var(--grey-mid)}
.kontakt__firma-name{font-weight:600;color:var(--ink)}
.kontakt__form{background:var(--surface);padding:clamp(26px,3vw,44px)}
.kontakt__form-title{margin-bottom:10px}
@media(max-width:900px){
  .kontakt{grid-template-columns:1fr}
}

.mapa{position:relative;aspect-ratio:21/9;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.mapa iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:900px){
  .mapa{aspect-ratio:4/3}
}

.quote__more{
  display:flex;align-items:center;gap:14px;
  width:100%;text-align:left;
  padding:16px 18px;border:1px solid var(--line-strong);border-radius:14px;
  background:var(--surface-2);font-family:inherit;cursor:pointer;
  transition:border-color .25s var(--ease),background .25s var(--ease);
}
.quote__more:hover,.quote__more[aria-expanded="true"]{border-color:var(--accent);background:var(--field)}
.quote__more-ico{
  flex:0 0 auto;display:grid;place-items:center;
  width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--na-akcente);
  transition:transform .35s var(--ease-expo);
}
.quote__more-ico svg{width:18px;height:18px}
.quote__more[aria-expanded="true"] .quote__more-ico{transform:rotate(45deg)}
.quote__more-text{font-size:var(--fs-text);font-weight:600;color:var(--ink)}
.quote__order{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-expo)}
.quote__order.is-open{grid-template-rows:1fr}
.quote__order-in{overflow:hidden;display:grid;gap:14px}
.quote__order.is-open .quote__order-in{padding-top:14px}
.quote__volby{display:flex;flex-wrap:wrap;gap:8px}
.quote__volba{position:relative;cursor:pointer}
.quote__volba input{position:absolute;opacity:0;pointer-events:none}
.quote__volba span{
  display:inline-flex;align-items:center;
  padding:11px 18px;border-radius:999px;border:1px solid var(--line-strong);
  font-size:var(--fs-ui);font-weight:500;color:var(--ink-2);
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.quote__volba:hover span{border-color:var(--ink-2);color:var(--ink)}
.quote__volba input:checked + span{background:var(--surface-inv);border-color:var(--surface-inv);color:var(--ink-invert)}
.quote__volba input:focus-visible + span{box-shadow:0 0 0 3px rgba(120,178,197,.38)}
.quote__podklady .quote__order.is-open .quote__order-in{padding-top:12px}
.quote__error{margin-top:12px;font-size:var(--fs-ui);line-height:1.5;color:var(--chyba)}
.quote__form.is-sending .quote__submit{opacity:.6;pointer-events:none}
.quote__hint{font-size:var(--fs-ui);line-height:1.55;color:var(--grey-mid)}

.finish__cta{padding-bottom:0;margin-top:clamp(20px,2.2vw,30px)}


/* Oznam na webe (Nastavenia webu → Oznam) */
.site-notice{background:var(--notice-bg,#78b2c5);color:var(--notice-fg,#08070e);font-size:14px;line-height:1.4}
.site-notice__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px;padding-top:9px;padding-bottom:9px;text-align:center}
.site-notice__link{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.site-notice__link:hover{text-decoration-thickness:2px}

/* Stránka 404 */
.e404{min-height:100vh;min-height:100svh;display:flex;align-items:center;background:var(--bg,#e9ecec);color:var(--ink,#08070e);padding:150px 0 90px}
.e404__inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.e404__code{margin:0;font-size:clamp(110px,22vw,260px);line-height:.85;font-weight:700;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--accent);user-select:none}
.e404__title{margin:22px 0 12px;font-size:clamp(28px,4vw,44px);line-height:1.15;color:inherit}
.e404__text{margin:0 0 34px;max-width:40ch;font-size:17px;line-height:1.55;opacity:.75}

/* Omrvinky na mobile: položky sa nelámu v strede, aktuálna stránka (je v nadpise H1) sa pri dlhšej ceste skryje */
@media (max-width:767px){
  .crumbs{font-size:14px;margin-bottom:16px}
  .crumbs__list{gap:4px 7px}
  .crumbs__item{gap:7px}
  .crumbs__item--current:not(:nth-child(2)){display:none}
}

/* Karty na dotykových zariadeniach: bez myši sa krúžok „Zobraziť položky“ nikdy neukáže,
   preto je v rohu obrázka stále viditeľná šípka, ktorá naznačuje, že karta je klikateľná. */
@media (hover:none){
  .work-card__circle{
    top:auto;left:auto;right:14px;bottom:14px;
    width:44px;height:44px;margin:0;
    transform:none !important;transition:none;
  }
  .work-card__circle > span{
    display:block;position:relative;
    transform:none;opacity:1;
    font-size:0;line-height:0;color:transparent;
    background:rgba(255,255,255,.92);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    box-shadow:0 6px 18px -6px rgba(8,7,14,.35);
  }
  .work-card__circle > span::before{
    content:"";position:absolute;top:50%;left:50%;
    width:18px;height:18px;transform:translate(-50%,-50%);
    background:var(--ink);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  }
}

/* Produkt: príručka pod produktom (materiály, rozmery, konfekcia) */
.prod-guide__body{max-width:860px}
.wysiwyg--text .tabulka{overflow-x:auto;margin:1.2em 0;-webkit-overflow-scrolling:touch}
.wysiwyg--text table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.45}
.wysiwyg--text th,.wysiwyg--text td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.wysiwyg--text thead th{font-weight:600;color:var(--ink);background:var(--surface-2);border-bottom-color:var(--line-strong)}
.wysiwyg--text tbody td:first-child{font-weight:600;color:var(--ink)}
.wysiwyg--text td{color:var(--ink-2)}
.wysiwyg--text strong{color:var(--ink);font-weight:600}
/* Príručka: odstup od tmavej hlavičky a podnadpisy H3 v štýle sekcií */
.prod-guide{padding-top:clamp(64px,7vw,112px)}
.prod-guide__body h3{font-size:var(--fs-card);line-height:1.3;margin:2.2em 0 .7em;color:var(--ink)}
.prod-guide__body > h3:first-child{margin-top:0}
/* Stránka služby sekcie tlače: odstup zoznamu položiek od nadpisu sekcie */
.svc-page #sortiment .shop{margin-top:clamp(28px,4vw,56px)}
