/* =====================================================================
   CICM s.r.o. — hlavní styly webu
   ---------------------------------------------------------------------
   Obsah:
    1. Design tokeny (barvy, písmo, mezery, stíny, animace)
    2. Základní styly
    3. Sdílené prvky (kontejner, ikony, nadpisy sekcí, tlačítka)
    4. Hlavička a navigace
    5. Úvod (hero) + pás s čísly
    6. Běžící pás
    7. Produkty
    8. Statistiky
    9. Profil společnosti
   10. Citace
   11. Články
   12. Poptávka (formulář)
   13. Patička
   14. Animace při scrollování
   15. Načítací obrazovka
   16. Keyframes
   17. Omezený pohyb
   18. WordPress (admin lišta, podstránky)
   Tip: barvy a velikosti měňte v sekci 1 – projeví se na celém webu.
   ===================================================================== */


/* =====================================================================
   1. DESIGN TOKENY
   ===================================================================== */
:root{
/* --- Brand red (sampled from the CICM logo: #B90909) --- */
--red-50:#FFF3F2;--red-100:#FCE0DE;--red-200:#F6B6B2;--red-300:#EC8480;--red-400:#D93A33;
--red-500:#B90909;--red-600:#9E0707;--red-700:#7E0606;--red-800:#5A0404;--red-900:#360303;
/* --- Graphite (the company grey) --- */
--graphite-50:#F5F6F7;--graphite-100:#EBEEF0;--graphite-200:#D8DCE0;--graphite-300:#B9BFC5;
--graphite-400:#8A9199;--graphite-500:#5A6068;--graphite-600:#3A3F45;--graphite-700:#262A2F;
--graphite-800:#1A1D21;--graphite-900:#101215;
--white:#FFFFFF;
/* --- Accents used sparingly, sampled from the product photography --- */
--copper-500:#B4703C;--copper-300:#D9A277;--signal-amber:#E8A33D;--signal-cyan:#2E7FA8;
/* --- Semantic: text --- */
--text-strong:var(--graphite-900);--text-body:var(--graphite-700);--text-muted:var(--graphite-500);
--text-faint:var(--graphite-400);--text-inverse:var(--white);--text-inverse-muted:var(--graphite-300);
--text-accent:var(--red-500);--text-link:var(--red-600);--text-link-hover:var(--red-700);
/* --- Semantic: surfaces --- */
--surface-page:var(--white);--surface-subtle:var(--graphite-50);--surface-card:var(--white);
--surface-sunken:var(--graphite-100);--surface-inverse:var(--graphite-900);
--surface-inverse-2:var(--graphite-800);--surface-accent:var(--red-500);
--surface-accent-hover:var(--red-600);--surface-accent-soft:var(--red-50);
/* --- Semantic: borders --- */
--border-hairline:var(--graphite-200);--border-subtle:var(--graphite-300);
--border-strong:var(--graphite-600);--border-accent:var(--red-500);
--border-inverse:color-mix(in srgb,var(--white) 16%,transparent);
--focus-ring:var(--red-500);
/* --- Status --- */
--status-success:#1E7A4A;--status-warning:var(--signal-amber);--status-danger:var(--red-500);--status-info:var(--signal-cyan);
/* --- Overlays for photo protection --- */
--scrim-strong:linear-gradient(90deg,rgba(16,18,21,.92) 0%,rgba(16,18,21,.72) 45%,rgba(16,18,21,.15) 100%);
--scrim-bottom:linear-gradient(180deg,rgba(16,18,21,0) 40%,rgba(16,18,21,.85) 100%);
--scrim-flat:rgba(16,18,21,.6);
}

:root{
--font-display:"Archivo","Archivo Expanded",system-ui,sans-serif;
--font-body:"IBM Plex Sans",system-ui,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,monospace;
--fw-regular:400;
--fw-medium:500;
--fw-semibold:600;
--fw-bold:700;
--fw-black:800;
--fs-display-1:clamp(2.75rem,6.2vw,5.25rem);
--fs-display-2:clamp(2.25rem,4.4vw,3.75rem);
--fs-h1:clamp(2rem,3.4vw,3rem);
--fs-h2:clamp(1.625rem,2.4vw,2.25rem);
--fs-h3:1.375rem;
--fs-h4:1.125rem;
--fs-body-lg:1.125rem;
--fs-body:1rem;
--fs-body-sm:.9375rem;
--fs-caption:.8125rem;
--fs-eyebrow:.75rem;
--fs-mono:.8125rem;
--lh-tight:1.02;
--lh-snug:1.14;
--lh-heading:1.2;
--lh-body:1.6;
--lh-loose:1.75;
--ls-display:-.028em;
--ls-heading:-.015em;
--ls-body:0em;
--ls-eyebrow:.16em;
--ls-mono:.01em;
--text-style-eyebrow:var(--fw-semibold) var(--fs-eyebrow)/1.2 var(--font-display);
--text-style-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-body);
}

:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
--space-20:80px;--space-24:96px;--space-32:128px;
--section-y:clamp(64px,7vw,120px);
--gutter:clamp(20px,4vw,64px);
--container:1320px;--container-narrow:820px;
--radius-0:0px;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;
--border-w:1px;--border-w-thick:2px;--rule-accent-w:3px;
--grid-cols:12;--grid-gap:clamp(16px,2vw,28px);
}

:root{
--shadow-none:none;
--shadow-hairline:0 0 0 1px var(--border-hairline);
--shadow-xs:0 1px 2px rgba(16,18,21,.06);
--shadow-sm:0 2px 6px rgba(16,18,21,.07);
--shadow-md:0 8px 24px -8px rgba(16,18,21,.16);
--shadow-lg:0 24px 56px -20px rgba(16,18,21,.28);
--shadow-accent:0 12px 28px -12px rgba(185,9,9,.45);
--inset-top-hairline:inset 0 1px 0 rgba(255,255,255,.06);
}

:root{
--dur-instant:80ms;
--dur-fast:140ms;
--dur-base:220ms;
--dur-slow:420ms;
--dur-reveal:700ms;
--ease-standard:cubic-bezier(.2,.6,.2,1);
--ease-out:cubic-bezier(.16,1,.3,1);
--ease-in:cubic-bezier(.5,0,1,1);
--transition-control:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);
--transition-surface:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);
--hover-lift:translateY(-2px);
--press-scale:scale(.985);
}


/* =====================================================================
   2. ZÁKLADNÍ STYLY
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--text-style-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--ls-heading);line-height:var(--lh-heading);font-weight:var(--fw-bold)}
h1{font-size:var(--fs-h1);letter-spacing:var(--ls-display)}
h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid transparent;transition:var(--transition-control)}
a:hover{color:var(--text-link-hover);border-bottom-color:currentColor}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
::selection{background:var(--red-500);color:var(--white)}
html{scroll-behavior:smooth}
img{max-width:100%;display:block}

/* Obrázky použité v CSS (pozadí sekcí, logo). Ostatní fotky jsou přímo v index.html. */
:root{
--img-hero-copper-glow:url("../images/hero-copper-glow.jpg");
--img-red-cord-macro:url("../images/red-cord-macro.jpg");
--img-logistics-port:url("../images/logistics-port.jpg");
--img-copper-spools:url("../images/copper-spools.jpg");
--img-logo:url("../images/logo-cicm.png");
}


/* =====================================================================
   3. SDÍLENÉ PRVKY
   ===================================================================== */

/* Obsahový kontejner */
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.container--narrow{max-width:var(--container-narrow)}

/* Ikony (Lucide, vložené jako SVG) */
.icon{width:16px;height:16px;flex:0 0 auto;display:inline-block;vertical-align:middle;
  fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Logo */
.logo{display:block;height:34.8px;width:135.2px;background:var(--img-logo) left center/contain no-repeat;border-bottom:none}
.logo:hover{border-bottom:none}
.logo--footer{height:40.6px;width:157.7px;filter:brightness(1.45)}

/* Nadpis sekce (eyebrow + h2 + perex) */
.section-heading{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}
.eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--fs-eyebrow);
  font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.eyebrow::before{content:"";width:24px;height:var(--rule-accent-w);background:var(--surface-accent)}
.section-heading__row{display:flex;gap:var(--space-8);align-items:flex-end;width:100%;justify-content:space-between;flex-wrap:wrap}
.section-heading h2{font-size:var(--fs-h2);max-width:20ch}
.section-heading__lead{margin:0;max-width:62ch;font-size:var(--fs-body-lg);line-height:var(--lh-body);color:var(--text-muted)}
.section-heading--dark h2{color:var(--white)}
.section-heading--dark .section-heading__lead{color:var(--text-inverse-muted)}

/* Tlačítka */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:46px;padding:0 var(--space-6);
  font-family:var(--font-display);font-size:var(--fs-body);font-weight:var(--fw-semibold);letter-spacing:.01em;
  border-radius:var(--radius-sm);border:var(--border-w) solid transparent;cursor:pointer;white-space:nowrap;
  text-decoration:none;transition:var(--transition-control)}
.btn:hover{border-bottom-color:transparent}
.btn:active:not(:disabled){transform:var(--press-scale)}
.btn--primary{background:var(--surface-accent);color:var(--text-inverse)}
.btn--primary:hover:not(:disabled){background:var(--surface-accent-hover);color:var(--text-inverse)}
.btn--secondary{background:transparent;color:var(--text-strong);border-color:var(--border-subtle)}
.btn--secondary:hover{border-color:var(--graphite-900);background:var(--graphite-50);color:var(--text-strong)}
.btn--ghost{background:transparent;color:var(--text-link)}
.btn--ghost:hover{color:var(--text-link-hover);background:var(--surface-accent-soft);border-color:transparent}
.btn--block{width:100%}
.btn:disabled{opacity:.42;cursor:not-allowed}

/* Kulaté tlačítko (Poptávka v hlavičce, Reference v citaci) */
.pill{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 clamp(16px,1.6vw,24px);border-radius:var(--radius-pill);
  font-family:var(--font-display);font-size:clamp(.75rem,.82vw,.875rem);font-weight:var(--fw-semibold);
  letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.pill--accent{background:var(--surface-accent);color:var(--white);box-shadow:var(--shadow-accent);border-bottom:none}
.pill--accent:hover{background:var(--surface-accent-hover);color:var(--white);border-bottom:none}
.pill--outline{height:auto;gap:10px;padding:12px 22px;font-size:var(--fs-body-sm);letter-spacing:.04em;color:var(--white);
  border:1px solid rgba(255,255,255,.5)}
.pill--outline:hover{color:var(--white);border-color:var(--white);background:rgba(255,255,255,.08)}

/* Kruhová ikona (kontakty, sociální sítě) */
.round-icon{width:40px;height:40px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}


/* =====================================================================
   4. HLAVIČKA A NAVIGACE
   ===================================================================== */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:60;pointer-events:none;
  background:linear-gradient(90deg,var(--red-500),var(--red-400));transform-origin:left;transform:scaleX(0)}

.site-header{position:fixed;top:0;left:0;right:0;z-index:40;
  background:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.6) 58%,rgba(255,255,255,0) 100%);
  -webkit-backdrop-filter:saturate(120%) blur(4px);backdrop-filter:saturate(120%) blur(4px);
  transition:background var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.site-header.is-scrolled{background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);
  box-shadow:0 1px 0 var(--border-hairline),0 18px 40px -30px rgba(16,18,21,.45)}
.site-header__bar{display:flex;align-items:center;gap:clamp(12px,2vw,32px);height:96px;padding:14px var(--gutter) 0;
  transition:height var(--dur-base) var(--ease-standard),padding var(--dur-base) var(--ease-standard)}
.site-header.is-scrolled .site-header__bar{height:70px;padding-top:0}

.main-nav{position:relative;display:flex;align-items:center;margin-left:auto;min-width:0}
.main-nav ul,.mobile-menu__list{list-style:none;margin:0;padding:0}
.main-nav ul{display:flex;align-items:center}
.main-nav a{position:relative;display:flex;align-items:center;height:96px;padding:0 clamp(9px,1.1vw,18px);
  font-family:var(--font-display);font-size:clamp(.75rem,.82vw,.875rem);font-weight:var(--fw-semibold);
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted);border-bottom:none;
  transition:color var(--dur-fast) var(--ease-standard),height var(--dur-base) var(--ease-standard)}
.site-header.is-scrolled .main-nav a{height:70px}
/* Jedna linka pro celou navigaci: jede pod položku pod myší, jinak pod aktuální sekci (viz initNavLine v main.js) */
.nav-line{position:absolute;left:0;bottom:18px;width:0;height:2px;background:var(--red-500);opacity:0;pointer-events:none;
  transition:transform var(--dur-base) var(--ease-out),width var(--dur-base) var(--ease-out),opacity var(--dur-fast) var(--ease-standard),bottom var(--dur-base)}
.nav-line.is-on{opacity:1}
.nav-line.is-jump{transition:opacity var(--dur-fast) var(--ease-standard),bottom var(--dur-base)}
.site-header.is-scrolled .nav-line{bottom:14px}
.main-nav a:hover{color:var(--text-strong);border-bottom:none}
.main-nav a.is-active,.main-nav .current-menu-item > a{color:var(--text-strong)}

.site-header__actions{display:flex;align-items:center;gap:clamp(10px,1.2vw,18px);margin-left:auto;padding-left:clamp(8px,1vw,16px)}
.lang-switch{display:flex;flex-direction:column;line-height:1.25}
.lang-switch a{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--fs-eyebrow);letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-faint);border-bottom:none}
.lang-switch a.is-active,.lang-switch a:hover{color:var(--text-strong);border-bottom:none}

/* Hamburger + mobilní menu (zobrazí se pod 1080 px) */
.menu-toggle{display:none;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;
  cursor:pointer;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}
.menu-toggle span{display:block;width:18px;height:2px;background:var(--text-strong);transition:transform var(--dur-base) var(--ease-out)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){transform:scaleX(0)}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{display:none;overflow:hidden;max-height:0;opacity:0;background:rgba(255,255,255,.97);
  -webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);
  transition:max-height var(--dur-base) var(--ease-standard),opacity var(--dur-fast) var(--ease-standard)}
.mobile-menu.is-open{max-height:640px;opacity:1}
.mobile-menu nav{display:flex;flex-direction:column;padding:var(--space-2) var(--gutter) var(--space-6)}
.mobile-menu__list a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--border-hairline);
  font-family:var(--font-display);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-muted)}
.mobile-menu__list a.is-active,.mobile-menu__list .current-menu-item > a{color:var(--text-strong)}
.mobile-menu__extra{display:none;margin-top:var(--space-5);flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.mobile-menu__extra .lang-switch{flex-direction:row;gap:var(--space-4)}

@media (max-width:1079px){
  .main-nav{display:none}
  .menu-toggle{display:inline-flex}
  .mobile-menu{display:block}
}
@media (max-width:559px){
  .site-header__actions{display:none}
  .menu-toggle{margin-left:auto}
  .mobile-menu__extra{display:flex}
}


/* =====================================================================
   5. ÚVOD (HERO) + PÁS S ČÍSLY
   ===================================================================== */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;
  background:linear-gradient(180deg,var(--white) 0%,var(--graphite-50) 100%)}
.hero__media{position:absolute;inset:0;overflow:hidden}
.hero__parallax{position:absolute;inset:-6%;will-change:transform}
.hero__feather{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.96) 100%)}
.hero__strands{position:absolute;top:0;bottom:0;right:0;left:52%;width:48%;height:100%;pointer-events:none;mix-blend-mode:multiply;opacity:.85}
.hero__strands path{fill:none;stroke:rgba(16,18,21,.14);stroke-width:1;stroke-dasharray:1600;stroke-dashoffset:1600;opacity:0}
.hero__strands path.is-accent{stroke:rgba(185,9,9,.45);stroke-width:1.6}
@media (min-width:1080px){
  .hero__feather{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 18%,rgba(255,255,255,.86) 30%,rgba(255,255,255,.6) 42%,rgba(255,255,255,.28) 54%,rgba(255,255,255,.2) 70%,rgba(255,255,255,.26) 86%,rgba(255,255,255,.3) 100%)}
}
@media (max-width:1079px){.hero__strands{display:none}}

/* Slidy na pozadí */
.slide{position:absolute;inset:0;opacity:0;pointer-events:none}
.slide__img{position:absolute;inset:0;background-size:cover;background-position:center;
  filter:saturate(.72) contrast(.98) brightness(1.08);transform:scale(1.12)}
.slide.is-first,.slide.is-active{opacity:1;z-index:2}
.slide.is-leaving{opacity:1;z-index:1}
.slide.is-active{animation:slideIn 1500ms cubic-bezier(.76,0,.24,1) both}
.slide.is-active::after{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--red-500);
  box-shadow:0 0 22px 3px rgba(185,9,9,.45);animation:wipeLine 1500ms cubic-bezier(.76,0,.24,1) both}
.slide.is-active .slide__img{animation:kenBurns 8s cubic-bezier(.2,.5,.3,1) both}
.slide.is-leaving .slide__img{animation:slideOut 1600ms cubic-bezier(.4,0,.2,1) both}
html.is-ready .slide.is-first .slide__img{animation:heroZoom 2800ms cubic-bezier(.16,1,.3,1) both,kenBurns 8s 2800ms cubic-bezier(.2,.5,.3,1) both}

.hero__inner{position:relative;flex:1 1 auto;display:flex;align-items:center;width:100%;max-width:var(--container);margin:0 auto;
  padding:clamp(120px,12vw,168px) var(--gutter) clamp(20px,2.5vw,36px)}
.hero__copy{max-width:min(60ch,100%)}
@media (min-width:1080px){.hero__copy{max-width:min(52ch,46%)}}
.hero__title{margin:0;max-width:20ch;font-size:clamp(2.1875rem,5vw,4.25rem);font-weight:var(--fw-bold);color:var(--text-strong);
  letter-spacing:-.025em;line-height:1.05;text-wrap:balance}
.hero__title .is-accent{color:var(--red-500)}
.hero__lead{margin-top:var(--space-6);min-height:2.8em;max-width:46ch;font-size:var(--fs-body-lg);line-height:1.4;color:var(--text-body)}
.rotating-text{display:inline-block;color:var(--red-500);font-weight:var(--fw-semibold)}

/* Animace nadpisu po slovech */
.word{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .02em .06em 0;margin-bottom:-.06em}
.word > span{display:inline-block;transform:translateY(112%);opacity:0;will-change:transform}
html.is-ready .word > span{animation:wordIn 1100ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--wd,0ms)}

.rise{opacity:0}
html.is-ready .rise{animation:rise 1000ms cubic-bezier(.16,1,.3,1) both}

/* Ovládání slidů */
.slides-nav{display:flex;align-items:center;gap:18px;margin-top:var(--space-8);font-family:var(--font-mono);font-size:var(--fs-mono);
  letter-spacing:.08em;color:var(--text-faint)}
.slides-nav__num{color:var(--text-strong);font-weight:600}
.slides-nav__num em{font-style:normal;color:var(--text-faint);margin-left:6px;font-weight:400}
.slides-nav__dots{display:flex;gap:8px;align-items:center}
.slides-nav__dot{appearance:none;border:none;background:none;padding:6px 0;cursor:pointer;width:38px;position:relative}
.slides-nav__dot i{display:block;height:2px;background:var(--graphite-300);position:relative;overflow:hidden}
.slides-nav__dot i::after{content:"";position:absolute;inset:0;background:var(--red-500);transform-origin:left;transform:scaleX(0)}
.slides-nav__dot.is-on i::after{transform:scaleX(1)}
.slides-nav__dot.is-run i::after{animation:dotRun var(--hold,6800ms) linear both}
.slides-nav__label{text-transform:uppercase}
@media (max-width:760px){.slides-nav__label{display:none}}

/* Indikátor „Scroll" */
.scroll-cue{position:absolute;right:var(--gutter);bottom:clamp(20px,2.5vw,36px);display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:var(--fs-eyebrow);letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}
.scroll-cue i{display:block;width:1px;height:56px;background:linear-gradient(180deg,var(--red-500),var(--graphite-300))}
html.is-ready .scroll-cue i{animation:cue 2200ms cubic-bezier(.76,0,.24,1) infinite}
@media (max-width:760px){.scroll-cue{display:none}}

/* Tmavý pás s čísly pod hero */
.hero-band{position:relative;border-top:var(--rule-accent-w) solid var(--surface-accent);background:var(--graphite-900);clip-path:inset(0 0 100% 0)}
html.is-ready .hero-band{animation:bandIn 1100ms 640ms cubic-bezier(.76,0,.24,1) both}
.hero-band__inner{display:flex;flex-wrap:wrap;gap:clamp(32px,4.5vw,72px);align-items:flex-end;padding-top:clamp(24px,3vw,36px);padding-bottom:clamp(24px,3vw,36px)}
.hero-band__intro{flex:1 1 220px;min-width:200px;margin-right:clamp(-40px,-2.5vw,-16px)}
.hero-band__intro h2{font-size:clamp(1.25rem,1.6vw,1.75rem);font-weight:var(--fw-semibold);color:var(--white);letter-spacing:-.01em}
.hero-band__sub{margin-top:6px;font-family:var(--font-mono);font-size:var(--fs-mono);color:rgba(255,255,255,.5)}
.hero-stat{flex:0 1 auto;max-width:200px}
.hero-stat__value{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:clamp(2rem,3vw,2.75rem);line-height:1;letter-spacing:-.03em;color:var(--white)}
.hero-stat__label{margin-top:var(--space-3);font-size:var(--fs-body-sm);line-height:var(--lh-body);color:rgba(255,255,255,.66)}
.count-suffix{color:var(--red-500);margin-left:.12em}


/* =====================================================================
   6. BĚŽÍCÍ PÁS (TICKER)
   ===================================================================== */
.ticker{border-bottom:1px solid var(--border-hairline);background:var(--surface-page);padding:14px 0}
.marquee{overflow:hidden;white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:inline-flex;animation:marquee 46s linear infinite;will-change:transform}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{display:inline-flex;align-items:center;gap:clamp(20px,2.4vw,36px);padding-right:clamp(20px,2.4vw,36px);
  font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.marquee__item::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--red-500);flex:0 0 auto}


/* =====================================================================
   7. PRODUKTY
   ===================================================================== */
.section{padding:var(--section-y) 0}
.section--subtle{background:var(--surface-subtle)}

.category-grid{display:grid;gap:var(--grid-gap);grid-template-columns:1fr;margin-top:var(--space-12)}
@media (min-width:760px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.category-card{display:block;position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-inverse);
  border-bottom:none;transition:var(--transition-surface)}
.category-card:hover{transform:var(--hover-lift);box-shadow:var(--shadow-lg);border-bottom:none}
.category-card__img{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.9) brightness(.85);
  transition:transform var(--dur-slow) var(--ease-out)}
.category-card:hover .category-card__img{transform:scale(1.06)}
.category-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,18,21,.15) 0%,rgba(16,18,21,.55) 45%,rgba(16,18,21,.94) 100%)}
.category-card__tint{position:absolute;inset:0;background:var(--surface-accent);opacity:0;transition:opacity var(--dur-base) var(--ease-standard)}
.category-card:hover .category-card__tint{opacity:.14}
.category-card__body{position:relative;padding:var(--space-6);min-height:300px;display:flex;flex-direction:column;justify-content:space-between}
.category-card__top{display:flex;justify-content:space-between;align-items:flex-start}
.category-card__index,.category-card__meta{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--white)}
.category-card__meta{margin-bottom:var(--space-2)}
.category-card__arrow{width:36px;height:36px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.14);color:var(--white);transition:var(--transition-control)}
.category-card:hover .category-card__arrow{background:var(--surface-accent)}
.category-card h3{color:var(--white);font-size:var(--fs-h3);line-height:var(--lh-snug);max-width:16ch}
.category-card p{margin:var(--space-3) 0 0;font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--graphite-100);max-width:34ch}


/* =====================================================================
   8. STATISTIKY
   ===================================================================== */
.stats{position:relative;background:var(--surface-inverse);padding:clamp(48px,6vw,88px) 0;overflow:hidden;isolation:isolate}
.stats__bg{position:absolute;inset:-20% 0;z-index:-1;background:var(--img-copper-spools) center/cover;opacity:.14;filter:grayscale(1) contrast(1.1)}
.stats__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,18,21,.95),rgba(16,18,21,.6))}
.stats__grid{position:relative;display:grid;gap:clamp(20px,3vw,40px);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.stat{display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-5);border-left:var(--rule-accent-w) solid var(--surface-accent)}
.stat__value{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-display-2);line-height:var(--lh-tight);
  letter-spacing:var(--ls-display);color:var(--white)}
.stat__unit{font-size:.45em;margin-left:.2em;color:var(--text-accent);vertical-align:super;font-weight:var(--fw-bold)}
.stat__label{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-inverse-muted);max-width:22ch}


/* =====================================================================
   9. PROFIL SPOLEČNOSTI
   ===================================================================== */
.profile{display:grid;gap:clamp(32px,5vw,72px);grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));align-items:start}
.photo{position:relative;overflow:hidden}
.photo--main{border-radius:var(--radius-lg);aspect-ratio:4/3}
.photo--small{border-radius:var(--radius-md);aspect-ratio:16/10}
.photo__img{position:absolute;inset:0;background-size:cover;background-position:center}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);margin-top:var(--grid-gap)}

.features{margin-top:var(--space-10);display:grid;gap:var(--space-6)}
.feature{display:flex;gap:var(--space-5);align-items:flex-start}
.feature__icon{width:44px;height:44px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);
  background:var(--surface-card);border:1px solid var(--border-hairline);color:var(--text-accent)}
.feature__icon .icon{width:20px;height:20px}
.feature h3{font-size:var(--fs-h4)}
.feature p{margin:6px 0 0;font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-muted)}
.profile .btn{margin-top:var(--space-8)}


/* =====================================================================
   10. CITACE
   ===================================================================== */
.quote{position:relative;padding:clamp(54px,6.8vw,100px) 0;background:var(--surface-accent);overflow:hidden;text-align:center}
.quote__bg{position:absolute;inset:-25% 0;background:var(--img-logistics-port) center/cover;opacity:.16;filter:grayscale(1)}
.quote .container{position:relative}
.quote__icon{color:rgba(255,255,255,.6)}
.quote__icon .icon{width:32px;height:32px}
.quote blockquote{margin:var(--space-6) 0 0;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h2);
  line-height:var(--lh-snug);letter-spacing:var(--ls-heading);color:var(--white)}
.quote__source{margin-top:var(--space-6);font-family:var(--font-mono);font-size:var(--fs-mono);color:rgba(255,255,255,.8)}
.quote__cta{margin-top:var(--space-8)}


/* =====================================================================
   11. ČLÁNKY
   ===================================================================== */
.article-grid{margin-top:var(--space-10);display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.article-card{display:flex;flex-direction:column;gap:var(--space-4);border-bottom:none;transition:var(--transition-surface)}
.article-card:hover{transform:var(--hover-lift);border-bottom:none}
.article-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius-md);background:var(--graphite-200)}
.article-card__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform var(--dur-slow) var(--ease-out)}
.article-card:hover .article-card__img{transform:scale(1.05)}
.article-card__tag{position:absolute;left:var(--space-3);top:var(--space-3);height:24px;padding:0 var(--space-3);display:inline-flex;align-items:center;
  background:var(--surface-accent);color:var(--white);border-radius:var(--radius-xs);font-family:var(--font-display);
  font-size:var(--fs-eyebrow);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase}
.article-card h3{font-size:var(--fs-h4);line-height:var(--lh-snug);color:var(--text-strong);transition:var(--transition-control)}
.article-card:hover h3{color:var(--text-link)}
.article-card time{display:block;margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-faint)}


/* =====================================================================
   12. POPTÁVKA (KONTAKTNÍ FORMULÁŘ)
   ===================================================================== */
.enquiry{position:relative;background:var(--graphite-900);overflow:hidden;isolation:isolate;padding:clamp(56px,7vw,96px) 0}
.enquiry__bg{position:absolute;inset:0;z-index:-2;background:var(--img-hero-copper-glow) center 15%/cover;filter:saturate(.7) brightness(.5)}
.enquiry__shade{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(12,14,17,.94) 0%,rgba(12,14,17,.8) 45%,rgba(12,14,17,.97) 100%)}
.enquiry__grid{position:relative;display:grid;gap:clamp(28px,4vw,64px);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.contact-list{margin:var(--space-6) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-4)}
.contact-list li{display:flex;gap:var(--space-4);align-items:center}
.contact-list .round-icon{color:var(--red-400)}
.contact-list .icon{width:17px;height:17px}
.contact-list a,.contact-list span{font-family:var(--font-mono);font-size:var(--fs-body-sm);color:rgba(255,255,255,.8);border-bottom:none}
.contact-list a:hover{color:var(--white)}

.form-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:saturate(140%) blur(16px);backdrop-filter:saturate(140%) blur(16px);
  border-radius:var(--radius-lg);padding:clamp(20px,2.4vw,34px);box-shadow:0 32px 70px -40px rgba(0,0,0,.9)}
.form-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field--full{margin-top:var(--space-4)}
.field__label{font-family:var(--font-display);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-inverse-muted)}
.field__label .req{color:var(--text-accent)}
.field input,.field select,.field textarea{width:100%;height:46px;padding:0 var(--space-4);font-family:var(--font-body);font-size:var(--fs-body);
  color:var(--white);background:rgba(255,255,255,.06);border:var(--border-w) solid rgba(255,255,255,.22);border-radius:var(--radius-sm);
  outline:none;transition:var(--transition-control)}
.field textarea{height:auto;padding:var(--space-3) var(--space-4);resize:vertical}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer}
.field select option{color:var(--text-strong)}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.4)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red-500)}

.checkbox{position:relative;margin-top:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}
.checkbox input{position:absolute;opacity:0;width:0;height:0}
.checkbox__box{width:20px;height:20px;flex:0 0 auto;margin-top:2px;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;
  background:var(--surface-card);border:var(--border-w) solid var(--border-subtle);transition:var(--transition-control)}
.checkbox__box svg{opacity:0}
.checkbox input:checked + .checkbox__box{background:var(--surface-accent);border-color:var(--surface-accent)}
.checkbox input:checked + .checkbox__box svg{opacity:1}
.checkbox input:focus-visible + .checkbox__box{outline:2px solid var(--focus-ring);outline-offset:2px}
.checkbox__label{font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-inverse-muted)}
.form-card .btn{margin-top:var(--space-5)}
.form-card .btn .icon{width:18px;height:18px}

.form-success{text-align:center;padding:var(--space-8) 0}
.form-success .icon{width:40px;height:40px;color:var(--red-400)}
.form-success h3{color:var(--white);margin-top:var(--space-4)}
.form-success p{color:var(--text-inverse-muted);margin-top:var(--space-3)}


/* =====================================================================
   13. PATIČKA
   ===================================================================== */
.site-footer{position:relative;background:var(--graphite-900);overflow:hidden;isolation:isolate}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--red-500)}
.site-footer__bg{position:absolute;inset:0;z-index:-2;background:var(--img-red-cord-macro) center/cover;filter:saturate(.85) brightness(.42)}
.site-footer__shade{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,#080A0C 0%,rgba(12,14,17,.86) 34%,rgba(12,14,17,.94) 100%)}
.site-footer__grid{position:relative;display:grid;gap:clamp(24px,3vw,48px);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  padding-top:clamp(36px,4.5vw,56px);padding-bottom:clamp(24px,3vw,36px)}
.site-footer__about{margin:var(--space-4) 0 0;font-size:var(--fs-body-sm);line-height:var(--lh-body);color:rgba(255,255,255,.58);max-width:34ch}
.socials{margin-top:var(--space-5);display:flex;gap:var(--space-3)}
.socials a{color:rgba(255,255,255,.82);border-bottom:none}
.socials a:hover{color:var(--white);border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1)}
.footer-col h4{margin:0;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--red-400);font-weight:var(--fw-semibold)}
.footer-col ul{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-2)}
.footer-col a{color:rgba(255,255,255,.68);font-size:var(--fs-body-sm);border-bottom:none}
.footer-col a:hover{color:var(--white);border-bottom:none}
.site-footer__bottom{position:relative;border-top:1px solid rgba(255,255,255,.1)}
.site-footer__bottom .container{display:flex;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;padding-top:var(--space-4);padding-bottom:var(--space-4);
  font-family:var(--font-mono);font-size:var(--fs-mono);color:rgba(255,255,255,.42)}


/* =====================================================================
   14. ANIMACE PŘI SCROLLOVÁNÍ
   Prvek s atributem data-reveal se objeví, jakmile doroluje do obrazovky.
   Hodnoty: "y" (zespodu), "x" (zleva), "scale" (zvětšení), "clip" (odkrytí fotky).
   Zpoždění nastavíte přes style="--delay:200ms".
   ===================================================================== */
[data-reveal]{opacity:0;animation-delay:var(--delay,0ms)}
[data-reveal].is-in{animation:revealY 900ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--delay,0ms)}
[data-reveal="x"].is-in{animation-name:revealX}
[data-reveal="scale"].is-in{animation-name:revealScale}
[data-reveal="clip"]{opacity:1}
[data-reveal="clip"].is-in{animation:none}
[data-reveal="clip"] .photo{clip-path:inset(0 100% 0 0)}
[data-reveal="clip"].is-in .photo{animation:clipX 1100ms cubic-bezier(.76,0,.24,1) both;animation-delay:var(--delay,0ms)}
[data-reveal="clip"].is-in .photo__img{animation:imgIn 1400ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--delay,0ms)}

/* 3D naklonění karet při najetí myší */
.tilt{position:relative;border-radius:var(--radius-md);transform-style:preserve-3d;will-change:transform;transition:transform 120ms linear}
.tilt.is-rest{transition:transform 700ms cubic-bezier(.16,1,.3,1)}
.tilt__glare{position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:3;
  background:radial-gradient(400px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.22),transparent 60%);
  opacity:0;transition:opacity 300ms ease}
.tilt:hover .tilt__glare{opacity:1}
[data-parallax]{will-change:transform}

.swap-in{animation:swapIn 520ms cubic-bezier(.16,1,.3,1) both}
.swap-out{animation:swapOut 380ms cubic-bezier(.4,0,1,1) both}


/* =====================================================================
   15. ÚVODNÍ NAČÍTACÍ OBRAZOVKA (LOADER)
   ===================================================================== */
html.is-loading{overflow:hidden}
html.bez-loaderu .loader{display:none}
.loader{position:fixed;inset:0;z-index:9000;pointer-events:none}
.loader__red,.loader__dark{position:absolute;inset:0;transform:translateY(0);will-change:transform}
.loader__red{background:var(--red-500);transition:transform 850ms 110ms cubic-bezier(.76,0,.24,1)}
.loader__dark{background:var(--graphite-900);transition:transform 800ms cubic-bezier(.76,0,.24,1);display:flex;align-items:center;justify-content:center;overflow:hidden}
.loader__grid{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(60% 60% at 50% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(60% 60% at 50% 50%,#000 30%,transparent 100%)}
.loader__inner{position:relative;width:min(480px,78vw);display:flex;flex-direction:column;gap:26px;opacity:0;animation:fadeIn 450ms 40ms ease forwards}
.loader__mark{position:relative;width:min(260px,52vw)}
.loader__logo{width:min(260px,52vw);aspect-ratio:268/69;background:var(--img-logo) left center/contain no-repeat;filter:brightness(1.45);
  clip-path:inset(0 100% 0 0);animation:loaderWipe 900ms 60ms cubic-bezier(.76,0,.24,1) forwards}
.loader__scan{position:absolute;top:-8px;bottom:-8px;left:0;width:2px;background:var(--red-400);box-shadow:0 0 18px 2px rgba(217,58,51,.7);opacity:0;
  animation:loaderScan 900ms 60ms cubic-bezier(.76,0,.24,1) forwards}
.loader__line{height:2px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.loader__line i{position:absolute;inset:0;background:linear-gradient(90deg,var(--red-500),var(--red-400));transform-origin:left;transform:scaleX(0)}
.loader__meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-family:var(--font-mono);font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.loader__pct{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,4vw,44px);letter-spacing:-.03em;color:#fff;line-height:1;
  font-variant-numeric:tabular-nums;min-width:2.4ch}
.loader__pct small{font-size:.42em;color:var(--red-400);margin-left:.15em;letter-spacing:0}
.loader__corner{position:absolute;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.38);
  opacity:0;animation:fadeIn 600ms 250ms ease forwards}
.loader__corner--tl{top:28px;left:32px}.loader__corner--tr{top:28px;right:32px}
.loader__corner--bl{bottom:28px;left:32px}.loader__corner--br{bottom:28px;right:32px}
html.is-ready .loader__dark,html.is-ready .loader__red{transform:translateY(-101%)}
html.is-ready .loader__inner{transition:opacity 300ms ease,transform 600ms cubic-bezier(.76,0,.24,1);opacity:0;transform:translateY(-40px)}
html:not(.is-ready) .site-header{opacity:0}
html.is-ready .site-header{animation:headerIn 900ms 420ms cubic-bezier(.16,1,.3,1) both}
@media (max-width:640px){
  .loader__corner--tr,.loader__corner--bl{display:none}
  .loader__corner--tl{left:20px;top:20px}.loader__corner--br{right:20px;bottom:20px}
}


/* =====================================================================
   16. KEYFRAMES
   ===================================================================== */
@keyframes revealY{from{opacity:0;transform:translateY(34px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes revealX{from{opacity:0;transform:translateX(-34px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes revealScale{from{opacity:0;transform:scale(.94);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes clipX{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes imgIn{from{transform:scale(1.18)}to{transform:scale(1)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes heroZoom{from{transform:scale(1.26) translateX(1.5%)}to{transform:scale(1.18) translateX(1.5%)}}
@keyframes kenBurns{from{transform:scale(1.18) translateX(1.5%)}to{transform:scale(1.04) translateX(-1%)}}
@keyframes slideIn{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes slideOut{from{transform:scale(1.04)}to{transform:scale(1.12);filter:saturate(.5) brightness(1.02)}}
@keyframes wipeLine{from{left:100%;opacity:1}85%{opacity:1}to{left:0;opacity:0}}
@keyframes rise{from{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes wordIn{from{transform:translateY(112%) rotate(3deg);opacity:0}to{transform:none;opacity:1}}
@keyframes strand{from{stroke-dashoffset:1600;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}
html.is-ready .hero__strands path{animation:strand 2600ms cubic-bezier(.4,0,.2,1) both}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes bandIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes dotRun{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes swapIn{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes swapOut{from{opacity:1;transform:none}to{opacity:0;transform:translateX(24px)}}
@keyframes loaderWipe{to{clip-path:inset(0 0 0 0)}}
@keyframes loaderScan{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
@keyframes fadeIn{to{opacity:1}}
@keyframes headerIn{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}


/* =====================================================================
   17. OMEZENÝ POHYB (uživatelé s vypnutými animacemi v systému)
   ===================================================================== */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1!important;animation:none!important}
  [data-reveal] .photo,[data-reveal] .photo__img{clip-path:none!important;animation:none!important}
  .tilt{transition:none}
  .marquee__track{animation:none}
  .nav-line{transition:none}
  .slide,.slide__img,.slide::after,.slides-nav__dot i::after,.rise,.swap-in,.swap-out,.word > span,.hero__strands path,.hero-band,.scroll-cue i{animation:none!important}
  .rise{opacity:1}.slide.is-active{clip-path:none}.word > span{transform:none;opacity:1}.hero-band{clip-path:none}
  .loader__logo,.loader__scan,.loader__corner,.loader__inner{animation:none;opacity:1;clip-path:none}
  .loader__red,.loader__dark{transition:opacity 400ms ease}
  html.is-ready .loader__red,html.is-ready .loader__dark{transform:none;opacity:0}
  html:not(.is-ready) .site-header{opacity:1}
  html.is-ready .site-header{animation:none}
}


/* =====================================================================
   18. WORDPRESS
   ===================================================================== */
/* Horní lišta administrace (když jste přihlášená) */
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}

/* Obsah podstránek a článků (page.php, single.php, index.php) */
.page-hero{padding:clamp(140px,14vw,190px) 0 var(--space-12);background:linear-gradient(180deg,var(--white) 0%,var(--graphite-50) 100%)}
.page-hero h1{font-size:var(--fs-h1);max-width:24ch}
.page-hero .eyebrow{margin-bottom:var(--space-4)}
.page-hero time{display:block;margin-top:var(--space-4);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-faint)}
.entry{padding:var(--space-12) 0 var(--section-y)}
.entry-content{max-width:72ch}
.entry-content > * + *{margin-top:var(--space-5)}
.entry-content h2{margin-top:var(--space-12)}
.entry-content h3{margin-top:var(--space-8)}
.entry-content img{height:auto;border-radius:var(--radius-md)}
.entry-content ul,.entry-content ol{padding-left:1.25em}
.entry-thumb{margin-bottom:var(--space-10);border-radius:var(--radius-lg);overflow:hidden}
.entry-thumb img{width:100%;height:auto}
.pagination{margin-top:var(--space-12);display:flex;gap:var(--space-3)}
.alignwide{max-width:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}


/* =====================================================================
   AKTUALITY NA ÚVODNÍ STRÁNCE: vodorovná časová osa
   Kabel vede nad kartami, bod je zarovnaný s odbočkou ke kartě.
   Na úzkých obrazovkách se osa otočí na svislou jako v archivu.
   ===================================================================== */
.novinky{--bod-x:24px;--kabel-y:32px;--krok:520ms;position:relative;margin-top:var(--space-8)}
.novinky__kabel{position:absolute;left:0;right:0;top:var(--kabel-y);height:4px}
.novinky__plast{position:absolute;inset:0 calc(var(--gutter) * -1) 0 0;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--graphite-300) 72%,transparent)}
.novinky__fill{position:absolute;left:0;top:0;height:100%;width:calc((100% + var(--grid-gap)) * 2 / 3 + var(--bod-x));border-radius:var(--radius-pill);background:var(--red-500);transition:width calc(var(--krok) * 2 + 160ms) linear}
/* Jiskra na konci rozsvícené části */
.novinky__fill i{position:absolute;right:-8px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--white);border:3px solid var(--red-500);opacity:0;transition:opacity 400ms ease}
.novinky.is-armed:not(.is-run) .novinky__fill{width:0}
.novinky.is-armed .novinky__fill i{opacity:1;animation:novinkyJiskra 1500ms ease-in-out infinite}
.novinky.is-run .novinky__fill i{opacity:0;transition-delay:calc(var(--krok) * 2 + 500ms)}
@keyframes novinkyJiskra{0%,100%{box-shadow:0 0 0 3px rgba(185,9,9,.14),0 0 12px 2px rgba(255,150,70,.5)}50%{box-shadow:0 0 0 7px rgba(185,9,9,.06),0 0 24px 7px rgba(255,150,70,.75)}}

.novinky__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--grid-gap);grid-template-columns:repeat(3,minmax(0,1fr))}
.novinka{position:relative;display:flex;flex-direction:column;padding-top:calc(var(--kabel-y) + 40px)}
/* Bod na kabelu v barvě tématu */
.novinka::before{content:"";position:absolute;left:calc(var(--bod-x) - 8px);top:calc(var(--kabel-y) - 6px);z-index:1;width:16px;height:16px;border:3px solid var(--tema);border-radius:50%;background:var(--tema);transition:background 300ms ease,border-color 300ms ease,transform 400ms var(--ease-out);transition-delay:calc(var(--i) * var(--krok))}
/* Odbočka z kabelu ke kartě */
.novinka::after{content:"";position:absolute;left:calc(var(--bod-x) - 1px);top:calc(var(--kabel-y) + 8px);height:32px;width:2px;background:var(--tema);transform-origin:top;transition:transform 300ms var(--ease-out);transition-delay:calc(var(--i) * var(--krok) + 80ms)}
.novinka__datum{position:absolute;left:calc(var(--bod-x) - 8px);top:0;display:flex;flex-wrap:wrap;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-muted);white-space:nowrap}
.novinka__datum span{color:var(--text-accent)}

.novinka__link{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-md);color:inherit;border-bottom:none;
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),opacity 420ms var(--ease-standard);transition-delay:0ms}
.novinka__link:hover{border-bottom:none;transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.novinka__link:focus-visible{outline:2px solid var(--tema);outline-offset:3px}
@media (hover:hover){
  .novinky__list:has(.novinka__link:hover) .novinka__link:not(:hover){opacity:.62}
}
.novinka__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--graphite-200)}
.novinka__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.novinka__media--contain{background:var(--white)}
.novinka__media--contain img{object-fit:contain;padding:var(--space-8) var(--space-4) var(--space-3)}
.novinka__link:hover .novinka__media img{transform:scale(1.05)}
.novinka__media .article-card__tag{z-index:2;background:var(--tema);color:var(--tema-on)}
/* Barevná clona, která fotku odkryje */
.novinka__media::after{content:"";position:absolute;inset:0;z-index:1;background:var(--tema);transform:scaleX(0);transform-origin:right;transition:transform 800ms cubic-bezier(.76,0,.24,1);transition-delay:calc(var(--i) * var(--krok) + 200ms)}

.novinka__body{flex:1 1 auto;display:flex;flex-direction:column;padding:clamp(18px,2vw,26px)}
.novinka h3{font-size:var(--fs-h4);line-height:var(--lh-snug);color:var(--text-strong);transition:var(--transition-control)}
.novinka__link:hover h3{color:var(--tema-text)}
.novinka p{margin:var(--space-3) 0 var(--space-4);font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-muted)}
.novinka__cta{display:inline-flex;align-items:center;gap:var(--space-3);margin-top:auto;font-family:var(--font-display);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--text-strong)}
.novinka__sipka{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-subtle);border-radius:50%;color:var(--tema-text);
  transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
.novinka__link:hover .novinka__sipka{color:var(--tema-on);background:var(--tema);border-color:var(--tema)}

/* Nejnovější aktualita: tmavá karta s červenou září jako v archivu */
.novinka--hlavni .novinka__link{background:radial-gradient(circle at 100% 100%,rgba(185,9,9,.42),transparent 62%),var(--graphite-900)}
.novinka--hlavni h3,.novinka--hlavni .novinka__link:hover h3,.novinka--hlavni .novinka__cta{color:var(--white)}
.novinka--hlavni p{color:rgba(255,255,255,.76)}
.novinka--hlavni .novinka__sipka{color:var(--white);border-color:rgba(255,255,255,.36)}

/* Výchozí stav animace: připraví ho až JavaScript, bez něj je vše vidět */
.novinky.is-armed:not(.is-run) .novinka::before{background:var(--white);border-color:var(--graphite-300);transform:scale(.8)}
.novinky.is-armed:not(.is-run) .novinka::after{transform:scaleY(0)}
.novinky.is-armed:not(.is-run) .novinka__link{opacity:0;transform:translateY(18px)}
.novinky.is-armed:not(.is-run) .novinka__media::after{transform:scaleX(1)}
/* Karta naběhne až ve chvíli, kdy k ní dojede jiskra. Po doběhnutí se zpoždění ruší, aby najetí myší reagovalo hned. */
.novinky.is-run:not(.is-done) .novinka__link{transition-delay:calc(var(--i) * var(--krok) + 120ms)}

@media (max-width:859px){
  .novinky{--bod-x:0px}
  .novinky__kabel{left:0;right:auto;top:0;bottom:0;width:4px;height:auto}
  .novinky__plast{inset:0;background:var(--graphite-300)}
  .novinky__fill{width:100%;height:100%;transition:height calc(var(--krok) * 2 + 160ms) linear}
  .novinky.is-armed:not(.is-run) .novinky__fill{width:100%;height:0}
  .novinky__fill i{right:auto;top:auto;left:50%;bottom:-8px;margin:0 0 0 -8px}
  .novinky__list{grid-template-columns:minmax(0,1fr);gap:var(--space-7,28px)}
  .novinka{padding:0 0 0 26px}
  .novinka::before{left:-6px;top:2px}
  .novinka::after{display:none}
  .novinka__datum{position:static;margin-bottom:var(--space-3)}
}
@media (prefers-reduced-motion: reduce){
  .novinky__fill i{display:none}
  .novinka::before,.novinka::after,.novinka__link,.novinka__media::after,.novinka__media img{transition:none}
}


/* =====================================================================
   PODSTRÁNKY: produktové skupiny a archiv článků
   ===================================================================== */
:root{--subnav-h:54px;--header-scrolled:70px}
.admin-bar{--adminbar-h:32px}
@media (max-width:782px){.admin-bar{--adminbar-h:46px}}

/* Hutnější rytmus než na úvodní stránce: sekce navazují a neodvádějí pozornost */
.hero--skupina ~ *,.hero--clanky ~ *,.hero--aktualita ~ *,.hero--kontakt ~ *,.hero--reference ~ *,.hero--onas ~ *{--section-y:clamp(44px,4.5vw,68px)}
.hero--skupina ~ .enquiry,.hero--clanky ~ .enquiry,.hero--aktualita ~ .enquiry,.hero--kontakt ~ .enquiry,.hero--reference ~ .enquiry,.hero--onas ~ .enquiry{padding:clamp(44px,4.5vw,68px) 0}

/* Každé téma aktualit je jedna barevná žíla: štítek, odbočka z osy, celá osa při filtru */
.osa,.tema,[data-tema]{--tema:var(--red-500);--tema-on:var(--white);--tema-text:var(--tema)}
[data-tema="zkousky"]{--tema:var(--red-500)}
/* Hořčicová je světlá: text na ní je tmavý a text v této barvě na bílé je tmavší odstín */
[data-tema="produkty"]{--tema:#DBA514;--tema-on:var(--graphite-900);--tema-text:#856206}
[data-tema="akce"]{--tema:#25708F}
[data-tema="spolecnost"]{--tema:#1E7A4A}

.breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-faint)}
.breadcrumb a{color:var(--text-muted)}
.breadcrumb a:hover{color:var(--text-link)}
.breadcrumb [aria-current]{color:var(--text-strong)}

/* Navigace po stránce */
.subnav{position:sticky;top:calc(var(--header-scrolled) + var(--adminbar-h,0px));z-index:30;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border-hairline);
  -webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px)}
.subnav__inner{position:relative;display:flex;align-items:center;gap:clamp(4px,1.6vw,24px);height:var(--subnav-h);overflow-x:auto;scrollbar-width:none}
.subnav__inner::-webkit-scrollbar{display:none}
.subnav__link{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);height:100%;padding:0 var(--space-2);flex:0 0 auto;white-space:nowrap;
  font-family:var(--font-display);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:none}
.subnav .nav-line{bottom:0}
.subnav__link:hover{color:var(--text-strong);border-bottom:none}
.subnav__link.is-active{color:var(--text-strong)}
.subnav__link--cta{margin-left:auto;color:var(--text-accent)}
.subnav__link--cta:hover{color:var(--red-700)}
