/* =====================================================
   ROOT / GLOBAL
===================================================== */

:root{
  --red:#e5252a;
  --red-rgb:229,37,42;
  --red-dark:#b91519;
  --red-dark-rgb:185,21,25;
  --black:#080909;
  --dark:#111314;
  --gray:#f2f2f2;
  --text:#151515;
}

*{
  box-sizing:border-box;
}

body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:var(--black) !important;
}

html{
  background:var(--black) !important;
}

img{
  display:block;
  max-width:100%;
}

a{
  text-decoration:none;
}

section{
  position:relative;
}


/* =====================================================
   OBECNÉ BARVY SEKCÍ
===================================================== */

.section-light{
  background:#f4f4f4;
  color:#111;
}

.section-mid{
  background:#898989;
  color:#111;
}

.section-dark{
  background:#0c0d0e;
  color:#fff;
}

.section-black{
  background:#000;
  color:#fff;
}


/* =====================================================
   TYPOGRAFIE
===================================================== */

h2{
  font-size:clamp(32px, 4vw, 52px);
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.035em;
  text-transform:uppercase;
}

.section-kicker{
  margin-bottom:14px;
  color:var(--red);
  font-size:14px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}


/* =====================================================
   BUTTONS
===================================================== */

.btn{
  padding:14px 26px;
  border-radius:0;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.btn-red{
  color:#fff;
  background:var(--red-dark);
  border:1px solid var(--red-dark);
}

.btn-red:hover{
  color:#000;
  background:#fff;
  border-color:#fff;
}

.btn-red-black{
  color:#fff;
  background:var(--red);
  border:1px solid var(--red);
}

.btn-red-black:hover{
  color:#fff;
  background:#000;
}

.btn-outline-light-custom{
  color:#fff;
  border:1px solid rgba(255,255,255,.7);
}

.btn-outline-light-custom:hover{
  color:#111;
  background:#fff;
}

.btn-dark-red{
  color:#fff;
  background:#090909;
  border:1px solid #090909;
}

.btn-dark-red:hover{
  color:#111;
  background:#fff;
}


/* =====================================================
   HEADER
===================================================== */

.site-header{
  position:fixed;
  top:0;
  left:0;
  z-index:1000;
  width:100%;
  padding:30px 0 60px;
  background:linear-gradient(180deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.82) 30%,rgba(0,0,0,.62) 50%,rgba(0,0,0,.42) 75%,rgba(0,0,0,0) 100%);
  transition:box-shadow .3s ease,padding 1s ease;
}

.site-header::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:var(--red-dark);
  opacity:0;
  pointer-events:none;
  transition:opacity 1s ease;
}

.site-header.scrolled{
  padding:0;
}

.site-header.scrolled::after{
  opacity:1;
}


/* NAVBAR */

.navbar{
  min-height:82px;
  padding:0;
}

.navbar-brand{
  display:block;
  width:180px;
  height:68px;
  background:url("../img/getura-logo-white.png") center / contain no-repeat;
  transition:.3s ease;
}

.site-header.scrolled .navbar-brand{
  width:160px;
  height:55px;
  background:url("../img/getura-logo-bw.png") center / contain no-repeat;
}


/* NAV LINK */

.nav-link{
  position:relative;
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.nav-link:hover{
  color:var(--red);
}

.navbar-nav .nav-link.active{
  color:#fff;
}

.nav-link.active::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:2px;
  height:3px;
  background:var(--red);
}

.site-header.scrolled .nav-link.active::after{
  background:#000;
}

.site-header.scrolled .navbar-nav .nav-link:hover{
  color:#000;
}


/* BUTTON V HEADERU */

.site-header.scrolled .navbar-nav .btn-red{
  color:#000;
  background:#fff;
  border-color:#fff;
}

.site-header.scrolled .navbar-nav .btn-red:hover{
  color:#fff;
  background:#000;
  border-color:#000;
}


/* COMPACT HEADER */

.site-header.header-compact{
  background:var(--red) !important;
}

.site-header.header-compact::after{
  opacity:1 !important;
  background:var(--red-dark) !important;
}

.site-header.header-compact .navbar{
  min-height:82px;
  padding:10px 0;
}

.site-header.header-compact .navbar-brand{
  transform:scale(.82);
  transform-origin:left center;
}


/* =====================================================
   HEADER – TABLET / MOBILE
===================================================== */

@media (max-width:991px){
  .navbar{
    min-height:auto;
    padding:14px 0;
  }

  .site-header .container-fluid{
    position:relative;
  }

  .navbar-collapse{
    position:absolute;
    top:100%;
    left:50%;
    z-index:999;
    width:100vw;
    margin-top:0;
    padding:24px;
    background:#050505;
    transform:translateX(-50%);
  }

  .site-header.scrolled .navbar-collapse{
    background:var(--red-dark);
  }

  .site-header.menu-open:not(.scrolled)::after{
    opacity:1;
    background:#050505;
  }

  .site-header.menu-open.scrolled::after{
    opacity:1;
    background:var(--red);
  }

  .navbar-nav{
    gap:0 !important;
  }

  .navbar-nav .nav-link{
    padding:14px 0;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link.active{
    color:black;
  }

  .menu-open:not(.scrolled) .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link.active{
    color:red;
  }

  .navbar-nav .btn{
    width:100%;
    margin-top:18px;
  }

  .nav-link.active::after{
    display:none;
  }

  .navbar-toggler{
    border:0;
    box-shadow:none !important;
  }

  .navbar-toggler-icon{
    filter:brightness(0) invert(1);
  }
}


/* =====================================================
   HEADER – MOBILE
===================================================== */

@media (max-width:575px){
  /*
   * Brand je tvořen backgroundem, ne <img>.
   * Proto upravujeme přímo .navbar-brand.
   */

  .navbar-brand{
    width:140px;
    height:55px;
  }

  .site-header.scrolled .navbar-brand{
    width:140px;
    height:55px;
  }
}


/* =====================================================
   HERO – HOMEPAGE
===================================================== */

.hero{
  position:relative;
  display:flex;
  align-items:center;
  min-height:100vh;
  padding-top:120px;
  padding-bottom:40px;
  overflow:hidden;
  color:#fff;
  background:#050505;
}

.hero-video{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* ČERNÉ ZTMAVENÍ */

.hero-dark-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 38%,rgba(0,0,0,.32) 70%,rgba(0,0,0,.45) 100%);
}


/* ČERVENÝ BRAND OVERLAY */

.hero-red-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:rgba(229,37,42,.32);
  mix-blend-mode:multiply;
  pointer-events:none;
}

.hero-content{
  position:relative;
  z-index:3;
}

.hero h1{
  margin-bottom:24px;
  font-size:clamp(42px, 6vw, 82px);
  line-height:.95;
  font-weight:950;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.hero h1 span{
  display:block;
  color:var(--red);
}

.hero p{
  max-width:560px;
  font-size:18px;
  line-height:1.6;
}


/* =====================================================
   HERO – TABLET
===================================================== */

@media (max-width:991px){
  .hero{
    min-height:620px;
  }
}


/* =====================================================
   HERO – MOBILE
===================================================== */

@media (max-width:575px){
  .hero{
    min-height:100vh;
    height:100vh;
  }
}


/* =====================================================
   HERO – VNITŘNÍ STRÁNKY
===================================================== */

.hero-pages{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:340px;
  padding:100px 0 30px;
  overflow:hidden;
  color:#fff;
  background:#050505;
}


/* FOTKA */

.hero-pages::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:22%;
  z-index:0;
  background-image:url("../img/hero-pages-bg.jpg");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}


/* LEVÝ ČERNÝ PŘECHOD */

.hero-pages::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#050505 0%,#050505 18%,rgba(5,5,5,.98) 25%,rgba(5,5,5,.88) 34%,rgba(5,5,5,.55) 44%,rgba(5,5,5,.22) 55%,rgba(5,5,5,0) 68%);
  pointer-events:none;
}

.hero-pages .hero-content{
  position:relative;
  z-index:2;
}

.hero-pages .section-kicker{
  margin-top:40px;
}

.hero-pages h1{
  margin-bottom:24px;
  font-size:clamp(32px, 4vw, 52px);
  line-height:.95;
  font-weight:950;
  letter-spacing:-.04em;
  text-transform:uppercase;
}


/* =====================================================
   SERVICES
===================================================== */

.services{
  padding:70px 0;
}

.service-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  height:100%;
  padding:10px 24px 10px 0;
  border-right:1px solid rgba(0,0,0,.22);
}


/* IKONA */

.service-item img{
  display:block;
  width:280px;
  height:280px;
  margin:0 auto 28px;
  object-fit:contain;
  transition:transform .25s ease,filter .25s ease;
}

.service-item:hover img{
  animation:serviceShake .45s ease;
}


/* PŮVODNÍ IKONY – POKUD BY SE JEŠTĚ NĚKDE POUŽÍVALY */

.service-item i{
  display:block;
  margin-bottom:20px;
  color:var(--red);
  font-size:46px;
}


/* NADPIS */

.service-item h3{
  margin:0 0 8px;
  font-size:18px;
  font-weight:900;
  text-transform:uppercase;
}


/* TEXT */

.service-item p{
  margin:0;
  font-size:15px;
  line-height:1.5;
}


/* =====================================================
   SERVICES – ANIMACE
===================================================== */

@keyframes serviceShake{
  0%{
    transform:translateX(0);
  }

  15%{
    transform:translateX(-4px) rotate(-1deg);
  }

  30%{
    transform:translateX(4px) rotate(1deg);
  }

  45%{
    transform:translateX(-3px);
  }

  60%{
    transform:translateX(3px);
  }

  75%{
    transform:translateX(-1px);
  }

  100%{
    transform:translateX(0);
  }
}


/* =====================================================
   SERVICES – TABLET
===================================================== */

@media (max-width:991px){
  .service-item img{
    width:150px;
    height:150px;
    margin-bottom:22px;
  }

  .service-item h3{
    font-size:16px;
  }

  .service-item p{
    font-size:14px;
  }
}


/* =====================================================
   SERVICES – MOBILE
===================================================== */

@media (max-width:575px){
  .services{
    padding:58px 0;
  }

  .service-item{
    padding:10px 10px 26px;
    border-right:0;
    border-bottom:1px solid rgba(0,0,0,.16);
  }

  .service-item img{
    width:120px;
    height:120px;
    margin-bottom:18px;
  }

  .service-item h3{
    font-size:14px;
  }

  .service-item p{
    font-size:13px;
  }
}


/* =====================================================
   ABOUT
===================================================== */

.about-split{
  color:#fff;
  background-color:#090b0c;
  background-image:url("../img/o-nas-getura.png");
  background-size:cover;
  background-repeat:no-repeat;
  background-position:70% 70%;
}

.about-text{
  padding:90px 60px 90px 0;
}

.about-text p{
  max-width:540px;
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.7;
}

.about-photo{
  position:relative;
  min-height:650px;
  overflow:hidden;
  background-size:100%;
  background-repeat:no-repeat;
  background-position:right;
  opacity:.9;
}

.about-icons{
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  margin-top:42px;
}

.about-icons div{
  max-width:130px;
}

.about-icons i{
  display:block;
  margin-bottom:10px;
  color:var(--red);
  font-size:34px;
}

.about-icons span{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}


/* =====================================================
   ABOUT – TABLET
===================================================== */

@media (max-width:991px){
  .about-text{
    padding:70px 0;
  }

  .about-photo{
    min-height:360px;
  }
}


/* =====================================================
   ABOUT – MOBILE
===================================================== */

@media (max-width:575px){
  .about-split{
    min-height:100vh;
    padding-left:10px;
    background-image:url("../img/onas-edit-tel.jpg");
    background-position:0 50%;
  }

  .about-text{
    padding:50px 10px 30px 0;
  }

  .about-split p{
    padding:0;
    font-size:.8rem;
  }

  .about-split strong{
    font-size:2rem;
  }

  .about-split span{
    font-size:.8rem;
    font-weight:300;
  }
}


/* =====================================================
   NUMBERS / STATISTIKY
===================================================== */

.numbers{
  margin-top:40px;
  padding:5px 0;
}


/*
 * DESKTOP:
 * 3 statistiky vedle sebe.
 */

.numbers-row{
  display:grid;
  grid-template-columns:repeat(3, max-content);
  align-items:start;
  gap:clamp(20px, 3vw, 45px);
  max-width:620px;
}

.numbers-item{
  min-width:0;
}

.numbers strong{
  display:block;
  color:var(--red);
  font-size:clamp(22px, 2vw, 38px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
  white-space:nowrap;
}

.numbers span{
  display:block;
  margin-top:12px;
  color:#fff;
  font-size:clamp(14px, 1vw, 18px);
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
}


/* =====================================================
   NUMBERS – MENŠÍ DESKTOP
===================================================== */

@media (max-width:1200px){
  .numbers-row{
    gap:30px;
    max-width:520px;
  }

  .numbers span{
    font-size:11px;
  }
}


/* =====================================================
   NUMBERS – MOBILE
===================================================== */

@media (max-width:575px){
  .numbers{
    margin-top:24px;
    padding:0;
  }

  /*
   * Tři statistiky POD SEBOU.
   */

  .numbers-row{
    display:flex;
    flex-direction:column;
    gap:18px;
    width:100%;
    max-width:none;
  }

  /*
   * Každá statistika:
   *
   * ČÍSLO | POPISEK
   */

  .numbers-item{
    display:flex;
    align-items:center;
    width:100%;
    gap:12px;
  }

  .numbers strong{
    flex:0 0 105px;
    margin:0;
    color:var(--red);
    font-size:34px;
    line-height:1;
  }

  .numbers span{
    display:block;
    margin:0;
    color:#fff;
    font-size:11px;
    line-height:1.15;
    font-weight:900;
  }
}


/* =====================================================
   JOBS LINK / CTA V ABOUT
===================================================== */

.jobs-link-wrap{
  display:flex;
  margin-top:30px;
}

.jobs-link{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  padding:13px 26px 13px 22px;
  overflow:hidden;
  color:#fff;
  background:var(--red-dark);
  font-size:15px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,12px 50%);
  transition:transform .25s ease,background .25s ease;
}

.jobs-link::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.28) 45%,transparent 70%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.jobs-link span{
  position:relative;
  z-index:2;
  transition:transform .25s ease;
}

.jobs-link:hover{
  color:#fff;
  background:var(--red-dark);
  transform:translateX(6px);
}

.jobs-link:hover::before{
  transform:translateX(120%);
}

.jobs-link:hover span{
  transform:translateX(5px);
}


/* =====================================================
   JOBS LINK – MOBILE
===================================================== */

@media (max-width:575px){
  .jobs-link-wrap{
    position:relative;
    z-index:5;
    width:150%;
  }
}


/* =====================================================
   TECHNOLOGIES
===================================================== */

.technologies{
  padding:90px 0 100px;
}


/* HLAVIČKA */

.tech-heading{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 330px;
  align-items:end;
  gap:70px;
  margin-bottom:55px;
}

.tech-heading-text{
  padding-bottom:7px;
}

.tech-heading-text p{
  margin:0;
  color:#555;
  font-size:15px;
  font-weight:500;
  line-height:1.55;
}

.tech-heading-text > span{
  display:block;
  width:48px;
  height:3px;
  margin-top:20px;
  background:var(--red);
}


/* GRID */

.tech-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:6px;
}


/* PRVNÍ ŘADA */

.tech-card:nth-child(1),
.tech-card:nth-child(2),
.tech-card:nth-child(3){
  grid-column:span 4;
  min-height:440px;
}


/* DRUHÁ ŘADA */

.tech-card:nth-child(4),
.tech-card:nth-child(5),
.tech-card:nth-child(6),
.tech-card:nth-child(7){
  grid-column:span 3;
  min-height:390px;
}


/* KARTA */

.tech-card{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#222;
}

.tech-card > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease,filter .55s ease;
}


/* OVERLAY */

.tech-card-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 15%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.92) 100%);
  transition:background .35s ease;
}


/* CONTENT */

.tech-card-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:30px 32px;
}

.tech-card-number{
  margin-bottom:9px;
  color:var(--red);
  font-size:20px;
  font-weight:900;
  line-height:1;
}

.tech-card h3{
  max-width:95%;
  margin:0 0 13px;
  color:#fff;
  font-size:24px;
  font-weight:850;
  line-height:1.05;
  letter-spacing:-.025em;
  text-transform:uppercase;
}

.tech-card-description{
  max-width:380px;
  margin:0 0 10px;
  color:rgba(255,255,255,.84);
  font-size:14px;
  font-weight:500;
  line-height:1.45;
}

.tech-card-specs{
  max-width:390px;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.60);
  font-size:12px;
  font-weight:500;
  line-height:1.5;
}


/* HOVER */

.tech-card:hover > img{
  transform:scale(1.045);
  filter:brightness(.78);
}

.tech-card:hover .tech-card-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.06) 15%,rgba(0,0,0,.15) 35%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.96) 100%);
}


/* MENŠÍ KARTY */

.tech-card:nth-child(n+4) .tech-card-content{
  padding:26px;
}

.tech-card:nth-child(n+4) .tech-card-number{
  font-size:18px;
}

.tech-card:nth-child(n+4) h3{
  font-size:20px;
}

.tech-card:nth-child(n+4) .tech-card-description{
  font-size:13px;
}

.tech-card:nth-child(n+4) .tech-card-specs{
  font-size:11px;
}


/* =====================================================
   TECHNOLOGIES – MENŠÍ DESKTOP
===================================================== */

@media (max-width:1199px){
  .tech-heading{
    grid-template-columns:minmax(0, 1fr) 280px;
    gap:40px;
  }

  .tech-heading-main h2{
    font-size:clamp(44px, 5vw, 64px);
  }

  .tech-card:nth-child(n){
    grid-column:span 6;
    min-height:400px;
  }

  .tech-card:nth-child(n) .tech-card-content{
    padding:28px;
  }

  .tech-card:nth-child(n) h3{
    font-size:22px;
  }

  .tech-card:nth-child(n) .tech-card-description{
    font-size:14px;
  }

  .tech-card:nth-child(n) .tech-card-specs{
    font-size:12px;
  }
}


/* =====================================================
   TECHNOLOGIES – TABLET
===================================================== */

@media (max-width:767px){
  .technologies{
    padding:65px 0 70px;
  }

  .tech-heading{
    display:block;
    margin-bottom:35px;
  }

  .tech-heading-main h2{
    font-size:44px;
  }

  .tech-heading-text{
    max-width:450px;
    margin-top:25px;
  }

  .tech-grid{
    gap:5px;
  }

  .tech-card:nth-child(n){
    grid-column:span 12;
    min-height:390px;
  }

  .tech-card:nth-child(n) .tech-card-content{
    padding:28px;
  }

  .tech-card:nth-child(n) h3{
    font-size:23px;
  }

  .tech-card:nth-child(n) .tech-card-description{
    font-size:14px;
  }

  .tech-card:nth-child(n) .tech-card-specs{
    font-size:12px;
  }
}


/* =====================================================
   TECHNOLOGIES – MOBILE
===================================================== */

@media (max-width:575px){
  .technologies{
    padding:55px 0 60px;
  }

  .tech-heading{
    margin-bottom:30px;
  }

  .tech-heading-main h2{
    font-size:38px;
    line-height:.96;
  }

  .tech-heading-main h2 br{
    display:none;
  }

  .tech-heading-text{
    display:none;
  }

  .tech-grid{
    gap:4px;
  }

  .tech-card:nth-child(n){
    min-height:350px;
  }

  .tech-card:nth-child(n) .tech-card-content{
    padding:23px 21px;
  }

  .tech-card:nth-child(n) .tech-card-number{
    font-size:18px;
  }

  .tech-card:nth-child(n) h3{
    max-width:100%;
    font-size:21px;
  }

  .tech-card:nth-child(n) .tech-card-description{
    font-size:13px;
  }

  .tech-card:nth-child(n) .tech-card-specs{
    font-size:11px;
  }
}


/* =====================================================
   COOP / PARTNEŘI
===================================================== */

.coop{
  padding:40px 0;
}

.coop-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  justify-items:center;
  gap:12px;
}

.coop-grid img{
  width:auto;
  max-width:130px;
  height:130px;
  object-fit:contain;
}

.coop-grid img:hover{
  filter:grayscale(0);
}


/* =====================================================
   COOP – MOBILE
===================================================== */

@media (max-width:575px){
  .coop-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .coop-grid img{
    max-width:130px;
    height:130px;
    margin-top:20px;
  }
}


/* =====================================================
   REALIZATIONS
===================================================== */

.realizations{
  padding:90px 0;
  background:#0c0d0e;
}

.realizations-inside{
  width:70%;
  margin-left:0;
  margin-right:auto;
}

.realization-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}

.realization-grid img{
  width:100%;
  height:430px;
  object-fit:cover;
  border-radius:20px;
  filter:grayscale(.5);
  transition:.3s ease;
}

.realization-grid img:hover{
  filter:grayscale(0);
}


/* =====================================================
   REALIZATIONS – TABLET
===================================================== */

@media (max-width:991px){
  .realization-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}


/* =====================================================
   REALIZATIONS – MOBILE
===================================================== */

@media (max-width:575px){
  .realizations{
    padding:58px 0;
  }

  .realization-grid{
    grid-template-columns:1fr;
  }

  .realization-grid img{
    height:240px;
  }
}


/* =====================================================
   CTA STRIP
===================================================== */

.cta-strip{
  padding:0 0 70px;
  background:#0c0d0e;
}

.cta-strip .btn-dark-red{
  position:relative;
  z-index:1;
  width:400px;
  overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,12px 50%);
  transition:transform .25s ease,background .25s ease;
}

.cta-strip .btn-dark-red::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.28) 45%,transparent 70%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.cta-strip .btn-dark-red span{
  position:relative;
  z-index:2;
  transition:transform .25s ease;
}

.cta-strip .btn-dark-red:hover{
  color:var(--red);
  background:#fff;
  transform:translateX(6px);
}

.cta-strip .btn-dark-red:hover::before{
  transform:translateX(120%);
}

.cta-strip .btn-dark-red:hover span{
  transform:translateX(5px);
}

.cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:56px 120px;
  color:#fff;
  background:linear-gradient(90deg,rgba(229,37,42,.92),rgba(229,37,42,.82)),url("../img/spolupracovat.jpg") 50% 70% / cover no-repeat;
  clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);
}

.cta-inner h2{
  margin-bottom:12px;
  font-size:34px;
}

.cta-inner p{
  max-width:560px;
  margin:0;
  font-size:17px;
}


/* =====================================================
   CTA – TABLET
===================================================== */

@media (max-width:991px){
  .cta-inner{
    flex-direction:column;
    align-items:flex-start;
    padding:42px 32px;
    clip-path:none;
  }
}


/* =====================================================
   CTA – MOBILE
===================================================== */

@media (max-width:575px){
  .cta-strip .btn-dark-red{
    width:90%;
    margin:auto;
  }
}


/* =====================================================
   FOOTER
===================================================== */

.site-footer{
  padding:70px 0 28px;
  overflow:hidden;
  color:#fff;
  background:#090909;
}

.footer-logo{
  width:150px;
  margin-bottom:24px;
}

.site-footer p,
.site-footer a{
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.7;
}

.site-footer h3{
  margin-bottom:22px;
  color:#fff;
  font-size:15px;
  font-weight:900;
  text-transform:uppercase;
}

.site-footer i{
  margin-right:8px;
  color:var(--red);
}

.site-footer ul{
  margin:0;
  padding:0;
  list-style:none;
}

.site-footer li{
  margin-bottom:8px;
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:55px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.55);
  font-size:13px;
}


/* =====================================================
   FOOTER – TABLET / MOBILE
===================================================== */

@media (max-width:991px){
  .footer-bottom{
    flex-direction:column;
  }
}


/* =====================================================
   SCROLL INDICATOR
===================================================== */

.scroll-indicator{
  position:absolute;
  left:0;
  right:0;
  bottom:40px;
  z-index:10;
  display:flex;
  justify-content:center;
  margin:0;
}

.mouse{
  position:relative;
  display:flex;
  justify-content:center;
  width:30px;
  height:52px;
  border:2px solid #fff;
  border-radius:20px;
  opacity:1;
  animation:mouseFloat 2.5s ease-in-out infinite;
}

.wheel{
  width:4px;
  height:10px;
  margin-top:8px;
  background:#fff;
  border-radius:10px;
  animation:scrollWheel 1.8s ease infinite;
}

@keyframes scrollWheel{
  0%{
    opacity:0;
    transform:translateY(0);
  }
  25%{
    opacity:1;
  }
  70%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translateY(16px);
  }
}

@keyframes mouseFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(6px);
  }
}


/* =====================================================
   JOB APPLICATION
===================================================== */

.job-application{
  padding:100px 0;
}

.job-application-intro{
  max-width:760px;
  margin-top:22px;
  font-size:18px;
  line-height:1.7;
}


/* =====================================================
   FORMULÁŘ PRACOVNÍ POZICE
===================================================== */

.job-form{
  padding:32px 38px;
  background:#fff;
  border:1px solid rgba(0,0,0,.1);
  box-shadow:0 18px 50px rgba(0,0,0,.07);
}


/* =====================================================
   LABEL
===================================================== */

.job-form .form-label{
  margin-bottom:5px;
  color:#111;
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.job-form .form-label span,
.job-form .form-check-label > span{
  color:var(--red);
}


/* =====================================================
   INPUTY
===================================================== */

.job-form .form-control{
  min-height:42px;
  padding:9px 13px;
  background:#f8f8f8;
  border:1px solid #d7d7d7;
  border-radius:0;
  box-shadow:none;
  font-size:14px;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.job-form textarea.form-control{
  min-height:90px;
  height:90px;
  resize:vertical;
}

.job-form .form-control:focus{
  background:#fff;
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(var(--red-rgb), .1);
}


/* =====================================================
   MEZERY
===================================================== */

.job-form .mb-3{
  margin-bottom:11px !important;
}

.job-form .mb-4{
  margin-bottom:14px !important;
}


/* =====================================================
   CHECKBOX / GDPR
===================================================== */

.job-form .form-check{
  margin-bottom:12px;
}

.job-form .form-check-input{
  width:15px;
  height:15px;
  margin-top:2px;
  border-radius:0;
  box-shadow:none;
}

.job-form .form-check-input:checked{
  background-color:var(--red);
  border-color:var(--red);
}

.job-form .form-check-label{
  padding-left:4px;
  color:#555;
  font-size:11px;
  line-height:1.4;
}

.job-form .form-check-label a{
  color:var(--red);
  text-decoration:underline;
}


/* =====================================================
   SUBMIT
===================================================== */

.job-submit{
  min-width:210px;
  padding-top:11px;
  padding-bottom:11px;
}


/* =====================================================
   HONEYPOT
===================================================== */

.form-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:767px){
  .job-form{
    padding:24px 18px;
  }

  .job-form .form-control{
    min-height:42px;
    padding:9px 12px;
  }

  .job-form textarea.form-control{
    min-height:90px;
    height:90px;
  }

  .job-submit{
    width:100%;
    min-width:0;
  }
}


/* =====================================================
   JOB APPLICATION – MOBILE
===================================================== */

@media (max-width:767px){
  .job-application{
    padding:65px 0;
  }

  .job-form{
    padding:28px 20px;
  }

  .job-submit{
    width:100%;
  }
}


/* =====================================================
   VÝPIS PRACOVNÍCH POZIC
===================================================== */

.jobs-list{
  padding:100px 0;
}

.jobs-list-items{
  border-top:1px solid #d9d9d9;
}

.job-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.8fr) minmax(260px, 1fr) auto;
  align-items:center;
  gap:40px;
  padding:34px 28px;
  color:#111;
  background:#fff;
  border-bottom:1px solid #d9d9d9;
  text-decoration:none;
  transition:background .25s ease,padding .25s ease,box-shadow .25s ease;
}

.job-row::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  background:var(--red);
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .25s ease;
}

.job-row:hover{
  padding-left:40px;
  color:#111;
  background:#f8f8f8;
  box-shadow:0 14px 35px rgba(0,0,0,.06);
}

.job-row:hover::before{
  transform:scaleY(1);
}

.job-row-location{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:9px;
  color:var(--red);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.job-row-main h3{
  margin:0;
  font-size:clamp(23px, 2vw, 32px);
  font-weight:800;
  text-transform:uppercase;
}

.job-row-main p{
  max-width:720px;
  margin:12px 0 0;
  color:#666;
  font-size:13px;
  line-height:1.55;
}

.job-row-meta{
  display:flex;
  flex-direction:column;
  gap:11px;
}

.job-row-meta span{
  display:flex;
  align-items:center;
  gap:10px;
  color:#444;
  font-size:14px;
  font-weight:700;
}

.job-row-meta i{
  width:18px;
  color:var(--red);
}

.job-row-action{
  display:flex;
  align-items:center;
  gap:14px;
  white-space:nowrap;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}

.job-row-action i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  color:#fff;
  background:#111;
  font-size:18px;
  transition:background .25s ease,transform .25s ease;
}

.job-row:hover .job-row-action i{
  background:var(--red);
  transform:translateX(6px);
}

.jobs-empty{
  padding:45px;
  background:#fff;
  border-left:4px solid var(--red);
}


/* =====================================================
   JOBS LIST – TABLET
===================================================== */

@media (max-width:991px){
  .job-row{
    grid-template-columns:1fr auto;
    gap:24px;
  }

  .job-row-meta{
    grid-column:1 / -1;
    flex-direction:row;
    flex-wrap:wrap;
    gap:12px 24px;
  }
}


/* =====================================================
   JOBS LIST – MOBILE
===================================================== */

@media (max-width:575px){
  .jobs-list{
    padding:65px 0;
  }

  .job-row{
    display:block;
    padding:26px 20px;
  }

  .job-row:hover{
    padding-left:26px;
  }

  .job-row-meta{
    flex-direction:column;
    margin-top:20px;
  }

  .job-row-action{
    justify-content:space-between;
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid #e3e3e3;
  }
}


/* =====================================================
   DETAIL PRACOVNÍ POZICE
===================================================== */

.job-detail-page{
  background:#fff;
}

.job-detail{
  padding:150px 0 90px;
}

.job-detail-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:35px;
  color:#777;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  text-transform:uppercase;
  transition:color .25s ease;
}

.job-detail-back i{
  color:var(--red);
  transform:translateY(0);
  transition:transform .25s ease;
}

.job-detail-back:hover{
  color:var(--red);
}

.job-detail-back:hover i{
  transform:translate(-5px, 0);
}

.job-detail h1{
  max-width:1050px;
  margin:0 0 45px;
  font-size:clamp(38px, 5vw, 68px);
  line-height:1.03;
  text-transform:uppercase;
}

.job-detail-info{
  display:flex;
  flex-wrap:wrap;
  gap:50px;
  margin-bottom:38px;
  padding-bottom:42px;
  border-bottom:1px solid #ddd;
}

.job-detail-info-item{
  min-width:130px;
}

.job-detail-info-item strong{
  position:relative;
  display:block;
  margin-bottom:18px;
  padding-bottom:10px;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
}

.job-detail-info-item strong::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  background:var(--red);
}

.job-detail-info-item span{
  color:#555;
  font-size:16px;
  line-height:1.3;
}

.job-detail-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 300px;
  align-items:start;
  gap:80px;
}

.job-detail-intro{
  max-width:850px;
  margin:0 0 38px;
  color:#444;
  font-size:17px;
  line-height:1.7;
}

.job-detail-section{
  margin-bottom:44px;
}

.job-detail-section h2{
  position:relative;
  margin:0 0 20px;
  font-size:20px;
  font-weight:800;
  text-transform:uppercase;
}

.job-detail-section ul{
  margin:0;
  padding-left:22px;
}

.job-detail-section li{
  margin-bottom:8px;
  color:#444;
  font-size:16px;
  line-height:1.1;
}

.job-detail-contact{
  position:sticky;
  top:120px;
  padding:28px 0 28px 30px;
  border-left:3px solid var(--red);
}

.job-detail-contact h3{
  position:relative;
  margin:0 0 18px;
  padding-bottom:11px;
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
}

.job-detail-contact h3::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:40px;
  height:2px;
  background:var(--red);
}

.job-detail-contact p{
  margin-bottom:24px;
  color:#666;
  font-size:14px;
  line-height:1.6;
}

.job-contact-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:11px;
}

.job-contact-line i{
  color:var(--red);
}

.job-contact-line a{
  color:#222;
  font-weight:700;
  text-decoration:none;
}

.job-contact-line a:hover{
  color:var(--red);
}

.job-detail-actions{
  display:flex;
  align-items:center;
  gap:40px;
  margin-top:55px;
  padding-top:30px;
  border-top:1px solid #ddd;
}

.job-detail-back-bottom{
  color:#8d171b;
  font-size:14px;
  font-weight:700;
  text-decoration:underline;
}

.job-detail-back-bottom:hover{
  color:var(--red);
}


/* =====================================================
   JOB DETAIL – TABLET
===================================================== */

@media (max-width:991px){
  .job-detail{
    padding:130px 0 70px;
  }

  .job-detail-layout{
    grid-template-columns:1fr;
    gap:50px;
  }

  .job-detail-contact{
    position:static;
    padding:25px;
    background:#f5f5f5;
    border-top:3px solid var(--red);
    border-left:0;
  }
}


/* =====================================================
   JOB DETAIL – MOBILE
===================================================== */

@media (max-width:575px){
  .job-detail{
    padding:110px 0 55px;
  }

  .job-detail h1{
    margin-bottom:30px;
  }

  .job-detail-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px 20px;
  }

  .job-detail-layout{
    gap:35px;
  }

  .job-detail-section{
    margin-bottom:35px;
  }

  .job-detail-actions{
    flex-direction:column;
    align-items:stretch;
    gap:20px;
  }

  .job-detail-actions .btn{
    width:100%;
  }
}


/* =====================================================
   KONTAKT
===================================================== */

.contact-page{
  padding-top:82px;
  background:#fff;
}


/* =====================================================
   KONTAKT – INTRO / FOTO
===================================================== */

.contact-intro{
  position:relative;
  min-height:560px;
  padding:0;
  overflow:hidden;
}


/* FOTKA */

.contact-intro::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url("../img/predni-pohled-final.jpg");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}


/* BÍLÝ PŘECHOD */

.contact-intro::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#fff 0%,#fff 27%,rgba(255,255,255,.99) 31%,rgba(255,255,255,.96) 35%,rgba(255,255,255,.84) 40%,rgba(255,255,255,.58) 46%,rgba(255,255,255,.28) 52%,rgba(255,255,255,.08) 58%,rgba(255,255,255,0) 63%);
  pointer-events:none;
}

.contact-intro > .container{
  position:relative;
  z-index:2;
}

.contact-intro-content{
  position:relative;
  display:flex;
  align-items:center;
  min-height:560px;
}


/* =====================================================
   KONTAKT – FIRMA
===================================================== */

.contact-company{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  width:430px;
  color:#111;
}

.contact-company-title{
  margin-top:10px;
}

.contact-company-title h2{
  margin:0;
  color:#111;
  font-size:clamp(32px, 2.5vw, 48px);
  font-weight:800;
  line-height:.95;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.contact-company-title span{
  display:block;
  margin-top:2px;
  color:#555;
  font-size:20px;
  font-weight:600;
}


/* =====================================================
   KONTAKT – HLAVNÍ ODKAZY
===================================================== */

.contact-main-links{
  margin-top:35px;
  border-top:1px solid rgba(0,0,0,.13);
}

.contact-main-link{
  display:grid;
  grid-template-columns:50px 1fr;
  align-items:center;
  min-height:76px;
  padding:13px 0;
  color:#111;
  background:transparent;
  border-bottom:1px solid rgba(0,0,0,.13);
  text-decoration:none;
  transition:padding-left .2s ease,border-color .2s ease;
}

a.contact-main-link:hover{
  padding-left:7px;
  color:#111;
  border-color:rgba(var(--red-rgb), .55);
}

.contact-main-link-icon{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  color:#777;
  font-size:22px;
}

.contact-main-link-icon i{
  line-height:1;
}

.contact-main-link-content{
  min-width:0;
}

.contact-main-link span{
  display:block;
  margin-bottom:4px;
  color:var(--red);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.contact-main-link strong{
  display:block;
  color:#111;
  font-size:19px;
  font-weight:800;
  line-height:1.3;
}


/* IČO / DIČ */

.contact-main-link-meta{
  grid-template-columns:50px 1fr;
}

.contact-meta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
}

.contact-meta-grid > div{
  min-width:0;
}

.contact-meta-grid > div + div{
  padding-left:32px;
  border-left:1px solid rgba(0,0,0,.12);
}

.contact-meta-grid span{
  margin-bottom:4px;
}

.contact-meta-grid strong{
  font-size:17px;
}


/* =====================================================
   KONTAKT – ŠTÍTEK AREÁLU
===================================================== */

.contact-area-label{
  position:absolute;
  right:0;
  bottom:0;
  z-index:3;
  padding:18px 23px;
  color:#fff;
  background:rgba(17,17,17,.75);
  border-radius:10px 10px 0 0;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.contact-area-label > span{
  display:block;
  margin-bottom:5px;
  color:rgba(255,255,255,.68);
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.contact-area-label > div{
  display:flex;
  align-items:center;
  gap:7px;
}

.contact-area-label i{
  color:var(--red);
  font-size:19px;
}

.contact-area-label strong{
  font-size:16px;
  font-weight:800;
  text-transform:uppercase;
}


/* =====================================================
   KONTAKT – LIDÉ
===================================================== */

.contact-people{
  padding:70px 0 75px;
}

.contact-people h2{
  margin-top:8px;
  font-size:clamp(42px, 4.2vw, 64px);
  line-height:1;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.contact-people-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:50px;
  row-gap:0;
  margin-top:45px;
}

.contact-person{
  padding:24px 0;
  border-top:1px solid #d2d2d2;
  transition:padding-left .2s ease,border-color .2s ease;
}

.contact-person:hover{
  padding-left:8px;
  border-color:var(--red);
}

.contact-person-position{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:7px;
  color:var(--red);
  font-size:13px;
  font-weight:800;
  line-height:1.3;
  text-transform:uppercase;
}

.contact-person-name{
  margin-bottom:5px;
  color:#111;
  font-size:22px;
  font-weight:800;
  line-height:1.25;
}

.contact-person a{
  color:#555;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:color .2s ease;
}

.contact-person a:hover{
  color:var(--red);
}

/* Telefon uvnitř názvu zachová vzhled .contact-person-name */
.contact-person-name a{
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
}

.contact-person-name a:hover{
  color:var(--red);
}

.contact-person-flags{
  display:flex;
  align-items:center;
  gap:4px;
}

.contact-person-flags img{
  display:block;
  width:18px;
  height:auto;
}


/* =====================================================
   KONTAKT – MAPA ČR
===================================================== */

.contact-cz{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
}

.contact-cz img{
  display:block;
  width:100%;
  max-width:560px;
  height:auto;
  opacity:.9;
}


/* =====================================================
   KONTAKT – GOOGLE MAPA
===================================================== */

.contact-map{
  background:transparent;
}

.contact-google-map{
  width:100%;
  height:520px;
}

.contact-google-map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}


/* =====================================================
   KONTAKT – MENŠÍ DESKTOP
===================================================== */

@media (max-width:1199px){
  .contact-intro::after{
    background-position:58% center;
  }

  .contact-intro::before{
    background:linear-gradient(90deg,#fff 0%,#fff 30%,rgba(255,255,255,.96) 39%,rgba(255,255,255,.70) 50%,rgba(255,255,255,.30) 62%,rgba(255,255,255,0) 76%);
  }

  .contact-people-list{
    column-gap:35px;
  }

  .contact-cz img{
    max-width:500px;
  }
}


/* =====================================================
   KONTAKT – TABLET
===================================================== */

@media (max-width:991px){
  .contact-intro,
  .contact-intro-content{
    min-height:540px;
  }

  .contact-company{
    width:min(100%, 440px);
  }

  .contact-intro::after{
    background-position:62% center;
  }

  .contact-intro::before{
    background:linear-gradient(90deg,#fff 0%,#fff 36%,rgba(255,255,255,.96) 46%,rgba(255,255,255,.74) 58%,rgba(255,255,255,.30) 72%,rgba(255,255,255,0) 88%);
  }

  .contact-people{
    padding:65px 0;
  }

  .contact-cz{
    margin-top:20px;
  }

  .contact-cz img{
    width:80%;
  }
}


/* =====================================================
   KONTAKT – MOBILE
===================================================== */

@media (max-width:767px){
  /*
   * Mobil:
   *
   * 1. kontaktní informace
   * 2. fotografie pod nimi
   */

  .contact-intro{
    min-height:0;
    padding:0 0 230px;
    overflow:hidden;
    background:#fff;
  }

  .contact-intro::after{
    top:auto;
    left:0;
    right:0;
    bottom:0;
    height:230px;
    background-size:cover;
    background-position:center 58%;
  }

  .contact-intro::before{
    top:auto;
    left:0;
    right:0;
    bottom:170px;
    height:60px;
    z-index:1;
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.75) 35%,rgba(255,255,255,0) 100%);
  }

  .contact-intro > .container{
    position:relative;
    z-index:2;
  }

  .contact-intro-content{
    display:block;
    min-height:0;
    padding:45px 0 35px;
  }

  .contact-company{
    width:100%;
  }

  .contact-company-title{
    margin-top:8px;
  }

  .contact-company-title h2{
    font-size:38px;
  }

  .contact-company-title span{
    font-size:17px;
  }

  .contact-main-links{
    margin-top:30px;
  }

  .contact-main-link{
    grid-template-columns:40px 1fr;
    min-height:70px;
    padding:12px 0;
  }

  a.contact-main-link:hover{
    padding-left:0;
  }

  .contact-main-link-icon{
    font-size:19px;
  }

  .contact-main-link span{
    font-size:11px;
  }

  .contact-main-link strong{
    font-size:17px;
  }

  .contact-main-link-meta{
    grid-template-columns:40px 1fr;
  }

  .contact-meta-grid{
    grid-template-columns:1fr 1fr;
  }

  .contact-meta-grid > div + div{
    padding-left:18px;
  }

  .contact-meta-grid strong{
    font-size:15px;
  }

  .contact-area-label{
    position:absolute;
    left:0;
    right:auto;
    bottom:-195px;
    padding:14px 18px;
    border-radius:0 10px 0 0;
  }

  .contact-people{
    padding:55px 0;
  }

  .contact-people h2{
    font-size:40px;
  }

  .contact-people-list{
    grid-template-columns:1fr;
    margin-top:35px;
  }

  .contact-person{
    padding:21px 0;
  }

  .contact-person-name{
    font-size:20px;
  }

  .contact-cz{
    margin-top:30px;
  }

  .contact-cz img{
    width:100%;
  }

  .contact-google-map{
    height:390px;
  }
}


/* =====================================================
   KONTAKT – MALÝ MOBIL
===================================================== */

@media (max-width:575px){
  .contact-intro-content{
    padding-top:38px;
    padding-bottom:30px;
  }

  .contact-company-title h2{
    font-size:36px;
  }

  .contact-company-title span{
    font-size:17px;
  }

  .contact-main-links{
    margin-top:27px;
  }

  .contact-main-link{
    min-height:68px;
  }

  .contact-area-label{
    bottom:-195px;
  }
}


/* =====================================================
   POPTÁVKOVÝ MODAL
===================================================== */

.inquiry-modal .modal-dialog{
  max-width:780px;
}

.inquiry-modal .modal-content{
  position:relative;
  padding:28px 40px 30px;
  background:#fff;
  border:0;
  border-radius:0;
}


/* =====================================================
   ZAVŘÍT
===================================================== */

.inquiry-close{
  position:absolute;
  top:16px;
  right:18px;
  z-index:5;
  box-shadow:none !important;
}


/* =====================================================
   HLAVIČKA
===================================================== */

.inquiry-header{
  max-width:580px;
  margin-bottom:18px;
}

.inquiry-header h2{
  margin:4px 0 8px;
  color:#111;
  font-size:clamp(34px, 3vw, 42px);
  font-weight:900;
  line-height:.94;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.inquiry-header p{
  max-width:500px;
  margin:0;
  color:#666;
  font-size:13px;
  line-height:1.4;
}


/* =====================================================
   LABEL
===================================================== */

.inquiry-form label:not(.inquiry-consent){
  display:block;
  margin-bottom:4px;
  color:#111;
  font-size:10px;
  font-weight:800;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.inquiry-form label span{
  color:var(--red);
}


/* =====================================================
   INPUTY
===================================================== */

.inquiry-form input[type="text"],
.inquiry-form input[type="email"],
.inquiry-form input[type="tel"],
.inquiry-form textarea{
  display:block;
  width:100%;
  color:#111;
  background:#f6f6f6;
  border:1px solid #ddd;
  border-radius:0;
  outline:0;
  font-size:14px;
  transition:border-color .2s ease,background .2s ease;
}

.inquiry-form input[type="text"],
.inquiry-form input[type="email"],
.inquiry-form input[type="tel"]{
  height:40px;
  padding:8px 12px;
}

.inquiry-form textarea{
  height:78px;
  min-height:78px;
  padding:9px 12px;
  resize:vertical;
}

.inquiry-form input:focus,
.inquiry-form textarea:focus{
  background:#fff;
  border-color:var(--red);
}


/* =====================================================
   MEZERY MEZI POLI
===================================================== */

.inquiry-form .mb-3{
  margin-bottom:9px !important;
}

.inquiry-form .mb-4{
  margin-bottom:12px !important;
}


/* =====================================================
   CAPTCHA
===================================================== */

.inquiry-form .captcha-image{
  display:block;
  width:auto;
  max-width:170px;
  height:auto;
  border:1px solid #ddd;
}


/* =====================================================
   CAPTCHA – OBNOVIT
===================================================== */

.inquiry-form .captcha-refresh{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  color:#111;
  background:#f6f6f6;
  border:1px solid #ddd;
  border-radius:0;
  cursor:pointer;
  font-size:0;
  line-height:1;
  appearance:none;
  -webkit-appearance:none;
  transition:color .2s ease,background .2s ease,border-color .2s ease;
}

.inquiry-form .captcha-refresh::before{
  content:"\F130";
  font-family:"bootstrap-icons";
  font-size:17px;
  font-weight:400;
  line-height:1;
}

.inquiry-form .captcha-refresh:hover{
  color:#fff;
  background:var(--red);
  border-color:var(--red);
}

.inquiry-form .captcha-refresh:focus{
  outline:0;
  box-shadow:0 0 0 3px rgba(var(--red-rgb), .15);
}


/* =====================================================
   GDPR
===================================================== */

.inquiry-consent{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0;
  cursor:pointer;
}

.inquiry-consent input{
  flex:0 0 auto;
  width:15px;
  height:15px;
  margin-top:1px;
  accent-color:var(--red);
}

.inquiry-consent span{
  color:#555 !important;
  font-size:10px;
  line-height:1.4;
}


/* =====================================================
   SUBMIT
===================================================== */

.inquiry-submit-row{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

.inquiry-submit-row button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-width:205px;
  padding:11px 16px;
  color:#fff;
  background:var(--red);
  border:0;
  border-radius:0;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease,padding .2s ease;
}

.inquiry-submit-row button:hover{
  background:#111;
}

.inquiry-submit-row button i{
  font-size:14px;
}


/* =====================================================
   BACKDROP
===================================================== */

.modal-backdrop.show{
  opacity:.72;
}


/* =====================================================
   POPTÁVKOVÝ MODAL – MOBILE
===================================================== */

@media (max-width:767px){
  .inquiry-modal .modal-dialog{
    margin:10px;
  }

  .inquiry-modal .modal-content{
    padding:34px 18px 22px;
  }

  .inquiry-close{
    top:13px;
    right:14px;
  }

  .inquiry-header{
    margin-bottom:18px;
  }

  .inquiry-header h2{
    margin-bottom:7px;
    font-size:31px;
  }

  .inquiry-header p{
    font-size:12px;
    line-height:1.4;
  }

  .inquiry-form input[type="text"],
  .inquiry-form input[type="email"],
  .inquiry-form input[type="tel"]{
    height:42px;
  }

  .inquiry-form textarea{
    height:85px;
    min-height:85px;
  }

  .inquiry-form .mb-3{
    margin-bottom:10px !important;
  }

  .inquiry-consent span{
    font-size:10px;
  }

  .inquiry-submit-row{
    margin-top:14px;
  }

  .inquiry-submit-row button{
    width:100%;
    min-width:0;
  }
}


/* =====================================================
   TLAČÍTKA JAZYKOVÉ MUTACE
===================================================== */

.nav-language a{
  color:#fff;
  opacity:.55;
  text-decoration:none;
  transition:opacity .2s ease;
  font-size:12px;
}

.nav-language a:hover,
.nav-language a.active{
  color:var(--red);
  opacity:1;
}

.nav-language span{
  color:#fff;
  opacity:.35;
}

.nav-language span{
  opacity:.3;
}


/* =====================================================
   OCHRANA OSOBNÍCH ÚDAJŮ
===================================================== */

.privacy-hero{
  padding:140px 0 75px;
  color:#fff;
  background:#111;
}

.privacy-eyebrow{
  display:block;
  margin-bottom:20px;
  color:var(--red);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}

.privacy-hero h1{
  margin:0 0 24px;
  font-size:clamp(42px, 6vw, 82px);
  font-weight:900;
  line-height:.95;
  letter-spacing:-.05em;
}

.privacy-hero h1 span{
  color:var(--red);
}

.privacy-hero p{
  max-width:650px;
  margin:0;
  color:#bbb;
  font-size:16px;
  line-height:1.7;
}


/* OBSAH */

.privacy-content{
  padding:75px 0 100px;
  background:#fff;
}

.privacy-inner{
  max-width:850px;
  margin:0 auto;
}

.privacy-updated{
  margin-bottom:45px;
  color:#888;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.privacy-inner h2{
  margin:45px 0 18px;
  padding-top:25px;
  color:#111;
  border-top:1px solid #e5e5e5;
  font-size:23px;
  font-weight:900;
  line-height:1.2;
}

.privacy-inner p,
.privacy-inner li{
  color:#555;
  font-size:15px;
  line-height:1.85;
}

.privacy-inner p{
  margin-bottom:17px;
}

.privacy-inner ul{
  margin:15px 0 25px;
  padding-left:22px;
}

.privacy-inner li{
  padding-left:5px;
  margin-bottom:6px;
}

.privacy-inner a{
  color:var(--red);
  text-decoration:underline;
}

.privacy-inner strong{
  color:#111;
}


/* MOBILE */

@media (max-width:767px){
  .privacy-hero{
    padding:115px 0 55px;
  }

  .privacy-hero h1{
    font-size:42px;
  }

  .privacy-hero p{
    font-size:14px;
  }

  .privacy-content{
    padding:45px 0 65px;
  }

  .privacy-updated{
    margin-bottom:25px;
  }

  .privacy-inner h2{
    margin-top:35px;
    font-size:20px;
  }

  .privacy-inner p,
  .privacy-inner li{
    font-size:14px;
  }
}


/* =====================================================
   COOKIE BANNER
===================================================== */

.cookie-banner{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;
  width:390px;
  max-width:calc(100vw - 48px);
  color:#111;
  background:#fff;
  opacity:.9;
  border:1px solid rgba(0,0,0,.1);
  box-shadow:0 15px 50px rgba(0,0,0,.22);
}

.cookie-banner[hidden]{
  display:none !important;
}

.cookie-banner-inner{
  display:block;
  padding:24px;
}

.cookie-banner-text{
  max-width:none;
}

.cookie-banner-text strong{
  display:block;
  margin-bottom:10px;
  color:#111;
  font-size:14px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.cookie-banner-text p{
  margin:0 0 10px;
  color:#666;
  font-size:12px;
  line-height:1.55;
}

.cookie-banner-text a{
  display:inline-block;
  color:#111;
  font-size:11px;
  font-weight:700;
  text-decoration:underline;
}

.cookie-banner-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:18px;
}

.cookie-btn{
  min-height:42px;
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .2s ease,background .2s ease,border-color .2s ease;
}


/* POUZE NEZBYTNÉ */

.cookie-btn-secondary{
  color:#111;
  background:#f3f3f3;
  border-color:#f3f3f3;
}

.cookie-btn-secondary:hover{
  color:#fff;
  background:#111;
  border-color:#111;
}


/* POVOLIT VŠE */

.cookie-btn-primary{
  color:#fff;
  background:var(--red);
  border-color:var(--red);
}

.cookie-btn-primary:hover{
  color:#fff;
  background:#111;
  border-color:#111;
}


/* =====================================================
   COOKIE BANNER – MOBILE
===================================================== */

@media (max-width:767px){
  .cookie-banner{
    right:10px;
    bottom:10px;
    left:10px;
    width:auto;
    max-width:none;
  }

  .cookie-banner-inner{
    padding:18px;
  }

  .cookie-banner-text strong{
    margin-bottom:7px;
    font-size:13px;
  }

  .cookie-banner-text p{
    font-size:11px;
  }

  .cookie-banner-actions{
    margin-top:14px;
  }

  .cookie-btn{
    min-height:40px;
    padding:9px 7px;
    font-size:9px;
  }
}


/* =====================================================
   GOOGLE MAPS – COOKIE CONSENT
===================================================== */

.map-consent{
  position:relative;
  width:100%;
  height:450px;
  overflow:hidden;
  background:#ddd;
}


/* NÁHLED MAPY */

.map-consent-preview{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),url('../img/map-preview.jpg') center center / cover no-repeat;
  filter:grayscale(1);
}


/* SKUTEČNÁ MAPA */

.map-consent-iframe{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  border:0;
  opacity:0;
  transition:opacity .3s ease;
}

.map-consent.map-loaded .map-consent-iframe{
  opacity:1;
}


/* OVERLAY */

.map-consent-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:25px;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(2px);
}

.map-consent.map-loaded .map-consent-overlay{
  display:none;
}


/* BOX */

.map-consent-box{
  max-width:380px;
  padding:25px 28px;
  text-align:center;
  background:rgba(255,255,255,.95);
  box-shadow:0 15px 45px rgba(0,0,0,.2);
}

.map-consent-box > i{
  display:block;
  margin-bottom:10px;
  color:var(--red);
  font-size:25px;
}

.map-consent-box strong{
  display:block;
  margin-bottom:7px;
  color:#111;
  font-size:16px;
  font-weight:900;
  text-transform:uppercase;
}

.map-consent-box p{
  margin:0 0 17px;
  color:#666;
  font-size:12px;
  line-height:1.5;
}


/* TLAČÍTKO */

.map-consent-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:12px 17px;
  color:#fff;
  background:var(--red);
  border:0;
  border-radius:0;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease;
}

.map-consent-button:hover{
  background:#111;
}


/* MOBILE */

@media (max-width:767px){
  .map-consent{
    height:380px;
  }

  .map-consent-box{
    max-width:320px;
    padding:22px 20px;
  }
}