@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&display=swap");

:root{
  --font-sans:"Source Sans 3",Arial,Helvetica,sans-serif;
  --font-heading:"Source Sans 3",Arial,Helvetica,sans-serif;
  --blue:#123d73;
  --blue-dark:#0b2b52;
  --red:#c92b2b;
  --gold:#b78b35;
  --text:#1c2530;
  --muted:#667085;
  --bg:#f4f6f8;
  --white:#ffffff;
  --line:#d8dee6;
  --shadow:0 10px 28px rgba(13,33,57,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:clip}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:-.025em;
  font-optical-sizing:auto;
}

/* Modrý pruh je bežne viditeľný; pri skrolovaní odíde nahor, menu ostáva sticky (light aj dark) */
.topbar{
  position:relative;
  background:var(--blue-dark);
  color:#fff;
  font-size:14px;
}
.topbar .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:8px 0;
}
.site-header{
  position:sticky;
  top:0;
  z-index:1100;
}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--text);
 background: #dde7f1;
background: var(--bg, #dde7f1);
  line-height:1.55;
}

/* Hlavná stránka: sivý dym / hmla v pozadí (len keď je sekcia homepage-solutions) */
body:has(.homepage-solutions){
  background-color:#e0e4ea;
  background-image:
    radial-gradient(ellipse 125% 90% at 50% -28%, rgba(198,208,218,.5) 0%, rgba(198,208,218,0) 58%),
    radial-gradient(ellipse 95% 72% at -18% 28%, rgba(175,186,198,.32) 0%, transparent 54%),
    radial-gradient(ellipse 90% 78% at 112% 58%, rgba(168,178,192,.3) 0%, transparent 52%),
    radial-gradient(ellipse 75% 60% at 40% 108%, rgba(188,196,206,.25) 0%, transparent 50%),
    radial-gradient(ellipse 55% 40% at 85% 12%, rgba(210,216,224,.22) 0%, transparent 45%),
    linear-gradient(180deg,#d9dde4 0%,#e4e8ee 38%,#e0e5ea 100%);
  background-attachment:fixed !important;
}
/* Pozadie dark mode (hmla + lampa): jednotné pre celý web — pozri blok nižšie „body.dark-mode“ atmosphere */
body.dark-mode:has(.homepage-solutions)::before{
  display:none;
}
body:has(.homepage-solutions) .site-header{
  box-shadow:0 8px 32px rgba(10,24,44,.1), 0 2px 8px rgba(10,24,44,.06);
}
body.dark-mode:has(.homepage-solutions) .site-header{
  box-shadow:0 10px 36px rgba(0,0,0,.35), 0 2px 10px rgba(0,0,0,.25);
}

a{color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px, calc(100% - 32px)); margin:0 auto}
.site-header{
  background:rgba(255,255,255,.96); backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(18,61,115,.08);
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 0;
}
.brand{display:flex; align-items:center; gap:14px; text-decoration:none}
.brand img{width:190px; height:auto}
@media (max-width: 1100px){
  .site-header .container{flex-wrap:wrap}
  .brand img{width:170px}
}
@media (max-width: 640px){
  .brand img{width:150px}
}
.nav{display:flex; gap:20px; flex-wrap:wrap}
.nav a{
  text-decoration:none; font-weight:700; color:var(--blue-dark); font-size:15px;
}
.nav a:hover,.nav a.active{color:var(--red)}
.hero{
  position:relative; color:#fff;
  min-height:520px; display:flex; align-items:center;
  background:
    linear-gradient(90deg, rgba(6,24,44,.86) 0%, rgba(6,24,44,.58) 42%, rgba(6,24,44,.2) 100%),
    center/cover no-repeat;
}
.hero .container{padding:72px 0}
.hero h1{
  font-size:clamp(36px, 6vw, 62px);
  line-height:1.02; margin:0 0 16px; max-width:760px;
}
.hero p{
  max-width:640px; font-size:18px; color:rgba(255,255,255,.92); margin:0 0 28px;
}
.btns{display:flex; gap:14px; flex-wrap:wrap}
.btn{
  display:inline-block; padding:14px 20px; border-radius:6px;
  text-decoration:none; font-weight:700; border:2px solid transparent;
}
.btn-primary{background:var(--red); color:#fff}
.btn-outline{border-color:#fff; color:#fff}
.section{padding:25px 0}
.section h2{font-size:36px; line-height:1.1; margin:0 0 12px; color:var(--blue-dark)}
.lead{font-size:18px; color:var(--muted); max-width:760px; margin:0 0 28px}
.cards{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px;
}
.card{
  background:#fff; border-radius:10px; overflow:hidden; box-shadow:var(--shadow);
  border:1px solid rgba(18,61,115,.07);
}
.card .copy{padding:20px}
.card h3{margin:0 0 8px; color:var(--blue-dark)}
.card p{margin:0; color:var(--muted)}
.stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:28px
}
.stat{
  background:#fff; border:1px solid rgba(18,61,115,.08); border-radius:10px; padding:22px; box-shadow:var(--shadow)
}
.stat strong{display:block; font-size:34px; color:var(--blue-dark)}
.split{
  display:grid; grid-template-columns:1.05fr .95fr; gap:30px; align-items:center;
}
.media{
  border-radius:12px; overflow:hidden; box-shadow:var(--shadow); border:1px solid rgba(18,61,115,.08)
}
.media img{width:100%; height:100%; object-fit:cover}
.checks{padding:0; list-style:none; margin:20px 0 0}
.checks li{padding:10px 0 10px 30px; position:relative; border-bottom:1px solid var(--line)}
.checks li:before{
  content:""; width:10px; height:10px; border-radius:50%; background:var(--red);
  position:absolute; left:6px; top:18px;
}
.band{
  background:linear-gradient(90deg, var(--blue-dark), var(--blue));
  color:#fff;
}
.band h2,.band .lead{color:#fff}
.band .lead{opacity:.9}
.gallery{
  display:grid; grid-template-columns:repeat(2,1fr); gap:22px;
}
.hero-small{
  min-height:300px;
}
.content{
  display:grid; grid-template-columns:2fr 1fr; gap:30px;
}
.panel{
  background:#e9ebf0; border-radius:10px; padding:26px; box-shadow:var(--shadow); border:1px solid rgba(18,61,115,.08)
}
.panel h3{margin-top:0; color:var(--blue-dark)}
.note{
  background:#eef3f8; border-left:4px solid var(--blue); padding:16px 18px; border-radius:8px; color:#344054
}
.footer{
  background:#0a1d35; color:#fff; margin-top:72px;
}
.footer .container{
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:24px; padding:44px 0;
}
.footer a{text-decoration:none; color:rgba(255,255,255,.88)}
.footer small{
  display:block; border-top:1px solid rgba(255,255,255,.12); padding:14px 0 22px; color:rgba(255,255,255,.72)
}
.table{
  width:100%; border-collapse:collapse; font-size:15px;
}
.table th,.table td{
  border-bottom:1px solid var(--line); padding:12px 10px; text-align:left;
}
.table th{color:var(--blue-dark)}
@media (max-width: 980px){
  .cards,.stats,.gallery,.footer .container,.content,.split{grid-template-columns:1fr}
  .nav{display:none}
  .hero{min-height:480px}
}


/* Jemné animácie hero */
.fade-up{
  opacity:0;
  transform:translateY(30px);
  animation:fadeUp .8s ease forwards;
}
.fade-up.delay-1{animation-delay:.2s;}
.fade-up.delay-2{animation-delay:.4s;}
.fade-up.delay-3{animation-delay:.6s;}

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* Jemný hover efekt */
.btn{
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 25px rgba(0,0,0,.15);
}


/* Sekcia služby */
.section-intro{
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}
.section-kicker{
  display:inline-block;
  margin-bottom:12px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(11,42,74,.08);
  color:#0b2a4a;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.section-intro h2{
  margin:0 0 14px;
  font-size:38px;
  line-height:1.12;
  color:#0b2a4a;
}
.section-intro p{
  margin:0;
  color:#5d6b7b;
  font-size:17px;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:22px;
}
.service-tile{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(11,42,74,.08);
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(11,42,74,.08);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.service-image{
  overflow:hidden;
  aspect-ratio: 4 / 3;
  background:#dde5ee;
}
.service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}
.service-content{
  padding:22px;
}
.service-content h3{
  margin:0 0 10px;
  color:#0b2a4a;
  font-size:24px;
}
.service-content p{
  margin:0 0 16px;
  color:#5d6b7b;
  min-height:78px;
}
.service-link{
  display:inline-block;
  color:#c72b2b;
  font-weight:700;
}
.service-tile:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(11,42,74,.12);
  border-color:rgba(199,43,43,.18);
}
.service-tile:hover .service-image img{
  transform:scale(1.04);
}
@media (max-width: 1100px){
  .services-grid{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width: 680px){
  .services-grid{grid-template-columns:1fr;}
  .section-intro h2{font-size:30px;}
  .service-content p{min-height:auto;}
}


/* PHM box */
.phm-box{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:24px;
  align-items:stretch;
  background:linear-gradient(135deg, #ffffff, #f6f9fc);
  border:1px solid rgba(11,42,74,.08);
  border-radius:14px;
  box-shadow:0 10px 28px rgba(11,42,74,.08);
  overflow:hidden;
}
.phm-copy{
  padding:32px;
}
.phm-copy h2{
  margin:0 0 12px;
  font-size:34px;
  line-height:1.12;
  color:#0b2a4a;
}
.phm-copy p{
  margin:0;
  color:#5d6b7b;
  font-size:17px;
}
.phm-price{
  background:linear-gradient(135deg, #0b2a4a, #143d73);
  color:#fff;
  padding:32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.phm-price small{
  display:block;
  opacity:.8;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:10px;
}
.phm-price strong{
  display:block;
  font-size:42px;
  line-height:1;
  margin-bottom:12px;
}
.phm-price span{
  display:block;
  color:rgba(255,255,255,.82);
  margin-bottom:18px;
}
.phm-price .btn{
  align-self:flex-start;
}
@media (max-width: 900px){
  .phm-box{grid-template-columns:1fr;}
}


/* UX O firme */
.about-intro{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:24px;
  align-items:stretch;
}
.about-main-card,
.about-side-card,
.about-stat,
.about-service-item,
.timeline-item,
.cert-card{
  background:#fff;
  border:1px solid rgba(11,42,74,.08);
  border-radius:12px;
  box-shadow:0 10px 28px rgba(11,42,74,.08);
}
.about-main-card{padding:28px;}
.about-main-card h2{margin:0 0 14px;color:#0b2a4a;font-size:36px;line-height:1.1;}
.about-main-card p{margin:0 0 14px;color:#5d6b7b;font-size:17px;}
.about-side-card{overflow:hidden;}
.about-side-card img{width:100%;height:100%;object-fit:cover;min-height:100%;}
.about-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:24px;
}
.about-stat{padding:22px;}
.about-stat strong{display:block;font-size:28px;color:#0b2a4a;margin-bottom:8px;}
.about-stat span{display:block;color:#5d6b7b;}
.about-life-section .about-life-intro{margin-bottom:32px;}
.about-life-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.about-life-figure{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(11,42,74,.08);
  box-shadow:0 12px 30px rgba(11,42,74,.1);
}
.about-life-figure img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#0f1f35;
}
.about-life-figure figcaption{
  padding:12px 16px 16px;
  font-size:14px;
  line-height:1.45;
  color:#5d6b7b;
  font-weight:600;
}
body.dark-mode .about-life-figure{
  background:rgba(13,35,67,.96);
  border-color:rgba(143,183,255,.14);
  box-shadow:0 16px 38px rgba(0,0,0,.32);
}
body.dark-mode .about-life-figure figcaption{
  color:#c8dcf4;
}
.beton-field-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:900px){
  .beton-field-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
.about-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.about-service-item{
  padding:18px 20px;
  color:#0b2a4a;
  font-weight:700;
}
.timeline{
  position:relative;
  display:grid;
  gap:16px;
}
.timeline:before{
  content:"";
  position:absolute;
  left:108px;
  top:0;
  bottom:0;
  width:2px;
  background:#d9e3ef;
}
.timeline-item{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:22px;
  padding:20px;
  position:relative;
}
.timeline-year{
  color:#c72b2b;
  font-size:24px;
  font-weight:700;
  line-height:1.2;
  position:relative;
}
.timeline-year:after{
  content:"";
  position:absolute;
  right:-15px;
  top:10px;
  width:12px;
  height:12px;
  background:#0b2a4a;
  border-radius:50%;
  z-index:2;
}
.timeline-content{color:#3d4b5c;}
.timeline-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 0 18px;padding:24px 28px;background:linear-gradient(135deg,#fff 0%,#f6f9fc 100%);border:1px solid rgba(11,42,74,.08);border-radius:18px;box-shadow:0 14px 34px rgba(11,42,74,.08);}
.timeline-head-copy h2{margin:6px 0 10px;font-size:32px;color:#0b2a4a;}
.timeline-head-copy p{margin:0;max-width:760px;color:#5b6878;}
.timeline-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.18em;color:#c72b2b;}
.timeline-eyebrow:before,.timeline-eyebrow:after{content:"";display:block;width:30px;height:2px;border-radius:999px;background:linear-gradient(90deg,#c72b2b,rgba(199,43,43,.2));}
.timeline-eyebrow:after{background:linear-gradient(90deg,rgba(199,43,43,.2),#c72b2b);}
.timeline-toolbar{display:flex;justify-content:flex-end;margin:0;flex-shrink:0;}
.timeline-toggle{appearance:none;border:1px solid rgba(11,42,74,.12);background:#fff;color:#0b2a4a;font-weight:700;font-size:15px;line-height:1.2;padding:12px 18px;border-radius:999px;cursor:pointer;box-shadow:0 8px 24px rgba(11,42,74,.08);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;display:inline-flex;align-items:center;gap:12px;}
.timeline-toggle:hover,.timeline-toggle:focus-visible{transform:translateY(-1px);box-shadow:0 12px 28px rgba(11,42,74,.12);border-color:rgba(11,42,74,.2);outline:none;}
.timeline-toggle-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:rgba(199,43,43,.1);}
.timeline-toggle-icon:before,.timeline-toggle-icon:after{content:"";position:absolute;width:9px;height:2px;background:#c72b2b;border-radius:999px;top:12px;transition:transform .2s ease;}
.timeline-toggle-icon:before{transform:translateX(-3px) rotate(45deg);}
.timeline-toggle-icon:after{transform:translateX(3px) rotate(-45deg);}
.timeline-toggle[aria-expanded="false"] .timeline-toggle-icon:before{transform:translateX(-3px) rotate(-45deg);}
.timeline-toggle[aria-expanded="false"] .timeline-toggle-icon:after{transform:translateX(3px) rotate(45deg);}
.timeline-wrap{overflow:hidden;max-height:0;opacity:0;transform:translateY(-8px);transition:max-height .45s ease, opacity .28s ease, transform .28s ease;margin-top:0;}
.timeline-wrap:not(.is-collapsed){opacity:1;transform:translateY(0);}
.about-policy{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.cert-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.cert-card{overflow:hidden;}
.cert-image{
  background:#f7f9fc;
  padding:28px;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:220px;
}
.cert-image img{max-height:160px;width:auto;}
.cert-content{padding:22px;}
.cert-content h3{margin:0 0 10px;color:#0b2a4a;}
@media (max-width: 980px){
  .about-intro,.about-policy,.cert-grid,.about-stats,.about-services-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width: 760px){
  .about-life-grid{grid-template-columns:1fr;}
  .about-intro,.about-policy,.cert-grid,.about-stats,.about-services-grid,.timeline-item{grid-template-columns:1fr;}
  .timeline:before{display:none;}
  .timeline-year:after{display:none;}
  .timeline-head{flex-direction:column;align-items:flex-start;padding:22px;}
  .timeline-head-copy h2{font-size:26px;}
  .timeline-toolbar{justify-content:flex-start;width:100%;}
}


/* Header update */
.employee-zone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.employee-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  opacity:.95;
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.brand img{
  width:190px;
  height:auto;
}
.nav{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.nav a{
  text-decoration:none;
  font-weight:700;
  color:var(--blue-dark);
  font-size:15px;
}
.nav a:hover,
.nav a.active{
  color:var(--red);
}

/* Home hero centered */
.home-hero .container{
  padding:72px 0;
  text-align:center;
}
.home-hero h1{
  margin-left:auto;
  margin-right:auto;
  letter-spacing:-.035em;
  text-shadow:0 4px 32px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.2);
}
.home-hero p{
  margin-left:auto;
  margin-right:auto;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
  max-width:34em;
}
.home-hero .hero-actions{
  justify-content:center;
}
.home-hero .btn-primary{
  border-radius:10px;
  box-shadow:0 12px 32px rgba(201,43,43,.42);
  transition:transform .25s ease, box-shadow .25s ease;
}
.home-hero .btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(201,43,43,.48);
}
.home-hero .btn-secondary{
  border-radius:10px;
  backdrop-filter:blur(10px);
  border-color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.1);
  box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.home-hero .stats{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
@media (max-width: 760px){
  .topbar .container{
    flex-direction:row;
    align-items:center;
  }
  .nav{
    gap:14px;
  }
}


/* Kontakt */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}

.contact-boxes{
  margin-top:20px;
  display:grid;
  gap:10px;
}

.contact-box{
  background:#f6f9fc;
  padding:12px;
  border-radius:8px;
}

.contact-form form{
  display:grid;
  gap:12px;
}

.form-row input,
.form-row textarea,
.form-row select{
  width:100%;
  padding:12px;
  border:1px solid #ccc;
  border-radius:6px;
}

textarea{
  min-height:120px;
}

@media(max-width:800px){
  .contact-grid{grid-template-columns:1fr;}
}


/* Kontakt full */
.contact-hero-grid,
.contact-bottom-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.company-meta,
.quick-phones,
.bank-list{
  display:grid;
  gap:10px;
}
.company-meta div,
.quick-phones div,
.bank-list div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid rgba(11,42,74,.08);
}
.department-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
}
.department-card{
  background:#fff;
  border:1px solid rgba(11,42,74,.08);
  border-radius:12px;
  box-shadow:0 10px 28px rgba(11,42,74,.08);
  padding:24px;
}
.department-card h3{
  margin:0 0 18px;
  color:#0b2a4a;
  font-size:24px;
  line-height:1.2;
}
.person-card{
  padding:14px 0;
  border-top:1px solid rgba(11,42,74,.08);
}
.person-card:first-of-type{
  border-top:none;
  padding-top:0;
}
.person-card strong{
  display:block;
  color:#0b2a4a;
  margin-bottom:4px;
}
.person-card span{
  display:block;
  color:#5d6b7b;
  margin-bottom:8px;
}
.person-card a{
  display:block;
  color:#c72b2b;
  font-weight:700;
  margin-top:4px;
  text-decoration:none;
}
.service-hotline{
  background:#f6f9fc;
  border:1px solid rgba(11,42,74,.06);
  border-radius:8px;
  padding:12px 14px;
  margin-bottom:14px;
  color:#0b2a4a;
  font-weight:700;
}
.contact-form{
  display:grid;
  gap:12px;
}
.form-row input,
.form-row textarea,
.form-row select{
  width:100%;
  padding:12px 14px;
  border:1px solid #cfd7e3;
  border-radius:8px;
  font:inherit;
}
.form-row textarea{
  min-height:130px;
}
@media (max-width: 980px){
  .contact-hero-grid,
  .contact-bottom-grid,
  .department-grid{
    grid-template-columns:1fr;
  }
}


/* Kontakt refined */
.compact-hero .container{padding:28px 0;}
.compact-section{padding:34px 0;}
.compact-grid{gap:16px;}
.compact-panel{padding:20px;}
.compact-list{gap:4px;}
.company-meta div,
.quick-phones div,
.bank-list div{
  padding:8px 0;
}
.phones-stack div{
  align-items:flex-start;
}
.phones-stack span{
  text-align:right;
  line-height:1.45;
}
.department-grid{
  gap:16px;
}
.department-card{
  padding:18px;
}
.department-card h3{
  margin:0 0 12px;
  font-size:22px;
}
.compact-person{
  padding:10px 0;
}
.compact-person span{
  margin-bottom:4px;
  line-height:1.45;
}
.compact-person a{
  margin-top:2px;
}
.compact-hotline{
  margin-bottom:10px;
  padding:10px 12px;
}

.hero-inline-img{
  width:100%;
  max-width:900px;
  margin-top:15px;
  border-radius:10px;
}
.map-wrap iframe{
  border-radius:10px;
}


/* Contact layout fix */
.contact-hero-small .container{
  padding:28px 0 20px;
}
.contact-title-image{
  display:block;
  width:100%;
  max-width:760px;
  height:220px;
  object-fit:cover;
  border-radius:12px;
  margin-top:14px;
}
.footer{
  background:#0b1f39;
  color:#fff;
  margin-top:56px;
}
.footer .container{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:24px;
  padding:32px 0;
}
.footer h3{margin-top:0}
.footer a{color:rgba(255,255,255,.9);text-decoration:none}
.footer .copyline{
  border-top:1px solid rgba(255,255,255,.12);
  padding:14px 0 22px;
  color:rgba(255,255,255,.7);
  font-size:14px;
}
@media (max-width:980px){
  .footer .container{grid-template-columns:1fr;}
  .contact-title-image{height:180px;}
}


/* unified inner page hero */
.page-hero{
  background-size:cover;
  background-position:center;
  color:#fff;
}
.page-hero .container{
  padding:48px 0;
}
.page-hero h1{
  margin:0 0 10px;
  font-size:42px;
}
.page-hero p{
  margin:0;
  max-width:760px;
  color:rgba(255,255,255,.9);
}

/* centered inner hero for contact/career */
.centered-hero{
  background-size: cover;
  background-position: center;
}
.centered-hero .container{
  padding: 56px 0;
  text-align: center;
}
.centered-hero h1{
  color: #fff !important;
  margin: 0 0 10px;
}
.centered-hero p{
  color: rgba(255,255,255,.92) !important;
  margin-left: auto;
  margin-right: auto;
}


/* prettier map */
.map-wrap{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(11,42,74,.12);
  border: 1px solid rgba(11,42,74,.08);
  background: #fff;
}
.map-wrap iframe{
  display:block;
}


/* career page */
.career-grid{
  display:grid;
  gap:20px;
}
.career-card{
  background:#fff;
  border:1px solid rgba(11,42,74,.08);
  border-radius:12px;
  box-shadow:0 10px 28px rgba(11,42,74,.08);
  padding:24px;
}
.career-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}
.career-head h2{
  margin:0;
  color:#0b2a4a;
  font-size:28px;
  line-height:1.2;
}
.vacancy-badge{
  display:inline-block;
  background:#c72b2b;
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-weight:700;
  white-space:nowrap;
}
.career-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.career-cols h3{
  margin-top:0;
  color:#0b2a4a;
}
.career-meta{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(11,42,74,.08);
  display:grid;
  gap:6px;
  color:#3d4b5c;
}
@media (max-width: 900px){
  .career-cols{grid-template-columns:1fr;}
  .career-head{flex-direction:column;}
}

.career-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:24px;
  align-items:start;
}
.career-side-image{
  align-self:stretch;
}
.career-side-image img{
  width:100%;
  height:100%;
  max-height:340px;
  object-fit:cover;
  display:block;
  border-radius:12px;
  border:1px solid rgba(11,42,74,.08);
  box-shadow:0 10px 24px rgba(11,42,74,.10);
}
@media (max-width: 1100px){
  .career-body{
    grid-template-columns:1fr;
  }
  .career-side-image img{
    max-height:420px;
  }
}



/* content pages enhancements */
.content-page .container{padding:2px 20px 70px;}
.info-block{background:#fff;border:1px solid rgba(11,42,74,.08);border-radius:12px;box-shadow:0 10px 28px rgba(11,42,74,.08);padding:24px;margin-bottom:22px;}
.info-block h2,.info-block h3{color:#0b2a4a;margin-top:0}
.info-block p{color:#3d4b5c}
.simple-table{width:100%;border-collapse:collapse;font-size:15px}
.simple-table th,.simple-table td{padding:12px 10px;border-bottom:1px solid rgba(11,42,74,.08);text-align:left;vertical-align:top}
.simple-table th{color:#0b2a4a}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-mini{display:grid;gap:8px}
.contact-mini a{color:#c72b2b;text-decoration:none;font-weight:700}
.badge-inline{display:inline-block;background:#f6f9fc;border:1px solid rgba(11,42,74,.08);border-radius:999px;padding:7px 12px;margin:0 10px 10px 0;color:#0b2a4a;font-weight:700}
@media (max-width:900px){.two-col{grid-template-columns:1fr}}




/* service logos row */
.logos-floating-strip{
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0 26px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
.logos-floating-strip img{
  max-height: 150px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  background: transparent;
  border: none;
  box-shadow: none;
}

/* contact hover popup */
.hover-target{
  position: relative;
  display: inline-block;
  cursor: pointer;
  border-bottom: 1px dashed rgba(11,42,74,.25);
}
.hover-popup{
  position: absolute;
  left: 50%;
  top: calc(100% + 10px);
  bottom: auto;
  transform: translateX(-50%) translateY(-4px);
  min-width: 260px;
  max-width: 320px;
  background: #0b1f39;
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(11,31,57,.28);
  padding: 14px 16px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 9999;
  text-align: left;
}
.hover-popup:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:100%;
  top:auto;
  transform:translateX(-50%);
  border-width:8px;
  border-style:solid;
  border-color:transparent transparent #0b1f39 transparent;
}
.hover-target:hover .hover-popup,
.hover-target:focus .hover-popup,
.hover-target:focus-within .hover-popup{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.hover-popup .popup-role{
  font-size:13px;
  line-height:1.4;
  color:rgba(255,255,255,.8);
  margin-bottom:8px;
}
.hover-popup a{
  display:block;
  color:#fff !important;
  text-decoration:none;
  font-weight:700;
  margin-top:5px;
  line-height:1.35;
}
.person-card{
  overflow: visible !important;
}
.department-card{
  overflow: visible !important;
}
@media (max-width:680px){
  .hover-popup{
    left:0;
    top:calc(100% + 8px);
    transform:translateY(-4px);
    min-width:230px;
    max-width:260px;
  }
  .hover-popup:after{
    left:28px;
    transform:none;
  }
  .hover-target:hover .hover-popup,
  .hover-target:focus .hover-popup,
  .hover-target:focus-within .hover-popup{
    transform:translateY(0);
  }
}


/* robust person tooltip */
.js-person-popup{
  cursor:pointer;
  border-bottom:1px dashed rgba(11,42,74,.28);
  text-decoration:none;
}
.person-tooltip{
  position:absolute;
  z-index:99999;
  min-width:260px;
  max-width:320px;
  background:#0b1f39;
  color:#fff;
  border-radius:12px;
  box-shadow:0 16px 40px rgba(11,31,57,.28);
  padding:14px 16px;
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.person-tooltip.visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.person-tooltip:after{
  content:"";
  position:absolute;
  left:50%;
  top:-14px;
  transform:translateX(-50%);
  border-width:7px;
  border-style:solid;
  border-color:transparent transparent #0b1f39 transparent;
}
.person-tooltip.above:after{
  top:auto;
  bottom:-14px;
  border-color:#0b1f39 transparent transparent transparent;
}
.person-tooltip-role{
  font-size:13px;
  line-height:1.4;
  color:rgba(255,255,255,.8);
  margin-bottom:8px;
}
.person-tooltip a{
  display:block;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  margin-top:5px;
}

/* service page final */
.badge-inline{display:none !important;}




.logos-fullwidth-wrap{
  margin: 0;
  width: 100%;
  height: auto;
  display: block;
  background: transparent;
}







.logos-fullwidth-wrap img{
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
  display: block;
}



.person-link{
  color: #0b2a4a;
  font-weight: 700;
  cursor: pointer;
  border-bottom: 1px dashed rgba(11,42,74,.3);
}
.person-tooltip{
  position: absolute;
  z-index: 99999;
  min-width: 260px;
  max-width: 320px;
  background: #0b1f39;
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(11,31,57,.28);
  padding: 14px 16px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.person-tooltip.visible{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.person-tooltip:after{
  content: "";
  position: absolute;
  left: 50%;
  top: -14px;
  transform: translateX(-50%);
  border-width: 7px;
  border-style: solid;
  border-color: transparent transparent #0b1f39 transparent;
}
.person-tooltip.above:after{
  top: auto;
  bottom: -14px;
  border-color: #0b1f39 transparent transparent transparent;
}
.person-tooltip-role{
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255,255,255,.8);
  margin-bottom: 8px;
}
.person-tooltip a{
  display: block;
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
  margin-top: 5px;
}

/* reduce gap between logos and next section */
.logos-fullwidth-wrap + .two-col{
  margin-top: 0 !important;
}


@media (max-width:1100px){
  .hero-layout.with-phm{
    grid-template-columns:1fr;
    gap:18px;
  }
  .home-hero .container{
    text-align:center;
  }
  .hero-layout.with-phm .hero-main h1,
  .hero-layout.with-phm .hero-main p,
  .hero-layout.with-phm .hero-main .stats{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-layout.with-phm .hero-main .hero-actions{
    justify-content:center;
  }
}
@media (max-width:680px){
  .hero-phm-card{
    max-width:360px;
  }
  .hero-phm-overlay{
    gap:56px;
    padding:0 38px;
  }
  .hero-phm-label.nafta{font-size:46px;}
  .hero-phm-label.adblue{font-size:38px;}
  .hero-phm-value{font-size:48px;}
}





@media (max-width:1180px){
  .hero-layout.with-phm{
    grid-template-columns:minmax(0,1fr) 390px;
    gap:26px;
  }
  .hero-phm-card{
    max-width:390px;
  }
  .hero-phm-head h3{font-size:32px;}
  .hero-phm-value{font-size:36px;}
  
}

@media (max-width:1100px){
  .hero-layout.with-phm{
    grid-template-columns:1fr;
    gap:20px;
  }
  .home-hero .container{
    text-align:center;
  }
  .hero-layout.with-phm .hero-main h1,
  .hero-layout.with-phm .hero-main p,
  .hero-layout.with-phm .hero-main .stats{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-layout.with-phm .hero-main .hero-actions{
    justify-content:center;
  }
  .hero-phm-card{
    margin:0 auto;
  }
}

@media (max-width:680px){
  .hero-phm-card{
    max-width:350px;
    padding:22px 18px 24px;
  }
  .hero-phm-head h3{font-size:28px;}
  .hero-phm-icon{width:54px;height:54px;line-height:54px;font-size:34px;}
  .hero-phm-screen{padding:14px 18px;}
  .hero-phm-row{min-height:74px;}
  .hero-phm-label.nafta{font-size:28px;}
  .hero-phm-label.adblue{font-size:26px;}
  .hero-phm-value{font-size:32px;}
  
}


/* nozzle stays attached outside on the right */
.hero-phm-card .hero-phm-nozzle{
  position:absolute;
  right:-86px;
  top:50%;
  transform:translateY(-50%);
  width:126px;
  z-index:4;
  pointer-events:none;
}
.hero-phm-card .hero-phm-nozzle img{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
}

/* subtle premium overlap */
.hero-phm-card .hero-phm-nozzle{
  margin-right:-6px;
}

.hero-phm-card:after{
  content:"";
  position:absolute;
  inset:auto 18px -12px 18px;
  height:24px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(11,42,74,.16) 0%, rgba(11,42,74,0) 72%);
  z-index:-1;
}

@media (max-width:1180px){
  .hero-layout.with-phm{
    grid-template-columns:minmax(0,1fr) 390px;
    gap:24px;
  }
  .hero-phm-card{
    max-width:390px;
  }
  .hero-phm-head h3{font-size:31px;}
  .hero-phm-value{font-size:35px;}
  .hero-phm-card .hero-phm-nozzle{
    right:-72px;
    width:110px;
  }
}

@media (max-width:1100px){
  .hero-layout.with-phm{
    grid-template-columns:1fr;
    gap:20px;
  }
  .home-hero .container{
    text-align:center;
  }
  .hero-layout.with-phm .hero-main h1,
  .hero-layout.with-phm .hero-main p,
  .hero-layout.with-phm .hero-main .stats{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-layout.with-phm .hero-main .hero-actions{
    justify-content:center;
  }
  .hero-phm-card{
    margin:0 auto;
  }
  .hero-phm-card .hero-phm-nozzle{
    right:-72px;
    width:112px;
  }
}

@media (max-width:680px){
  .hero-phm-card{
    max-width:350px;
    padding:22px 18px 24px;
  }
  .hero-phm-head h3{font-size:28px;}
  .hero-phm-icon{width:54px;height:54px;line-height:54px;font-size:34px;}
  .hero-phm-screen{padding:14px 18px;}
  .hero-phm-row{min-height:74px;}
  .hero-phm-label.nafta{font-size:27px;}
  .hero-phm-label.adblue{font-size:25px;}
  .hero-phm-value{font-size:31px;}
  .hero-phm-card .hero-phm-nozzle{
    right:-58px;
    width:92px;
  }
}



/* Ultra clean PHM hero */
.hero-layout.with-phm{
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:34px;
  align-items:center;
}
.home-hero .container{
  text-align:left;
}
.hero-layout.with-phm .hero-main{
  min-width:0;
}
.hero-layout.with-phm .hero-main h1,
.hero-layout.with-phm .hero-main p,
.hero-layout.with-phm .hero-main .stats{
  margin-left:0;
  margin-right:0;
}
.hero-layout.with-phm .hero-main .hero-actions{
  justify-content:flex-start;
}

.hero-phm-card{
  position:relative;
  width:100%;
  max-width:430px;
  margin-left:auto;
  overflow:visible;
  background:linear-gradient(180deg,#f4f7fb 0%, #e8eef5 100%);
  border:1px solid rgba(122,146,173,.32);
  border-radius:28px;
  box-shadow:0 18px 44px rgba(11,42,74,.16);
  padding:26px 22px 28px;
}
.hero-phm-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.hero-phm-icon{
  width:62px;
  height:62px;
  border-radius:50%;
  background:linear-gradient(180deg,#1983aa,#0f6d96);
  color:#fff;
  font-size:40px;
  font-weight:800;
  line-height:62px;
  text-align:center;
  box-shadow:0 12px 24px rgba(15,109,150,.16);
}
.hero-phm-head h3{
  margin:0;
  font-size:34px;
  line-height:1.05;
  color:#1f2530;
}
.hero-phm-screen{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(160,177,196,.34);
  border-radius:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  padding:18px 24px;
}
.hero-phm-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:86px;
}
.hero-phm-divider{
  height:2px;
  background:#aec4da;
  opacity:.95;
}
.hero-phm-label{
  font-weight:800;
  letter-spacing:-0.03em;
}
.hero-phm-label.nafta{
  color:#248154;
  font-size:30px;
}
.hero-phm-label.adblue{
  color:#1f88ae;
  font-size:28px;
}
.hero-phm-value{
  color:#1f2530;
  font-size:39px;
  font-weight:800;
  line-height:1;
  letter-spacing:-0.04em;
  white-space:nowrap;
}

/* nozzle attached outside on the right and always moves with box */
.hero-phm-card .hero-phm-nozzle{
  position:absolute;
  right:-58px;
  top:50%;
  transform:translateY(-50%);
  width:92px;
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:5;
  pointer-events:none;
}
.hero-phm-card .hero-phm-nozzle img{
  height:100%;
  width:auto;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));
}

.hero-phm-card:after{
  content:"";
  position:absolute;
  inset:auto 18px -12px 18px;
  height:24px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(11,42,74,.16) 0%, rgba(11,42,74,0) 72%);
  z-index:-1;
}

@media (max-width:1180px){
  .hero-layout.with-phm{
    grid-template-columns:minmax(0,1fr) 390px;
    gap:24px;
  }
  .hero-phm-card{
    max-width:390px;
  }
  .hero-phm-head h3{font-size:31px;}
  .hero-phm-value{font-size:35px;}
  .hero-phm-card .hero-phm-nozzle{
    right:-52px;
    width:82px;
    height:196px;
  }
}

@media (max-width:1100px){
  .hero-layout.with-phm{
    grid-template-columns:1fr;
    gap:20px;
  }
  .home-hero .container{
    text-align:center;
  }
  .hero-layout.with-phm .hero-main h1,
  .hero-layout.with-phm .hero-main p,
  .hero-layout.with-phm .hero-main .stats{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-layout.with-phm .hero-main .hero-actions{
    justify-content:center;
  }
  .hero-phm-card{
    margin:0 auto;
  }
  .hero-phm-card .hero-phm-nozzle{
    right:-52px;
    width:82px;
    height:196px;
  }
}

@media (max-width:680px){
  .hero-phm-card{
    max-width:350px;
    padding:22px 18px 24px;
  }
  .hero-phm-head h3{font-size:28px;}
  .hero-phm-icon{width:54px;height:54px;line-height:54px;font-size:34px;}
  .hero-phm-screen{padding:14px 18px;}
  .hero-phm-row{min-height:74px;}
  .hero-phm-label.nafta{font-size:27px;}
  .hero-phm-label.adblue{font-size:25px;}
  .hero-phm-value{font-size:31px;}
  .hero-phm-card .hero-phm-nozzle{
    right:-44px;
    width:70px;
    height:168px;
  }
}


/* Betón page list spacing */
.beton-list{
  margin: 0;
  padding-left: 20px;
}
.beton-list li{
  margin-bottom: 10px;
  line-height: 1.6;
}


.banner-img img{
width:100%;
border-radius:12px;
margin:10px 0 20px;
}

.form{
display:grid;
gap:10px;
}

.form input, .form select, .form textarea{
padding:10px;
border-radius:8px;
border:1px solid #ccc;
}

.form button{
background:#0b2a4a;
color:#fff;
padding:12px;
border:none;
border-radius:8px;
cursor:pointer;
}



/* Stavebné hmoty banner */
.banner-img{
  margin:8px 0 22px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(11,42,74,.10);
}
.banner-img img{
  width:100%;
  height:auto;
  display:block;
}

/* Beton page form + meta */
.beton-meta-row{
  align-items:stretch;
}
.beton-form-card{
  margin-top:8px;
}
.form-head p{
  margin-top:0;
  color:#667085;
}
.beton-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 18px;
}
.beton-form-grid .field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.beton-form-grid .field.full,
.beton-form-grid .full{
  grid-column:1 / -1;
}
.beton-form-grid label{
  font-weight:700;
  color:#0b2a4a;
}
.beton-form-grid input,
.beton-form-grid select,
.beton-form-grid textarea{
  width:100%;
  border:1px solid rgba(11,42,74,.14);
  border-radius:10px;
  padding:12px 14px;
  font:inherit;
  color:#1c2530;
  background:#fff;
}
.beton-form-grid textarea{
  min-height:120px;
  resize:vertical;
}
.form-consent{
  display:flex;
  align-items:center;
  gap:10px;
  color:#475467;
  font-weight:500 !important;
}
.form-consent input{
  width:18px;
  height:18px;
}
.form-submit{
  min-width:200px;
}
@media (max-width:800px){
  .beton-form-grid{
    grid-template-columns:1fr;
  }
}

/* Betón — dark mode: štítky a súhlas vo formulári */
body.dark-mode .beton-form-grid label{
  color:#e8f2ff;
}
body.dark-mode .form-consent,
body.dark-mode label.form-consent{
  color:#d0e4f8 !important;
}
body.dark-mode .beton-form-card .form-head p{
  color:var(--muted);
}
body.dark-mode .und-form-inline-note{
  color:var(--muted);
}

/* Homepage certificates instead of stat cards */
.hero-certificates-wrap{
  margin-top: 28px;
  max-width: 360px;
}
.hero-certificates-label{
  display: inline-block;
  margin-bottom: 12px;
  color: rgba(255,255,255,.86);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-certificates{
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.hero-cert-item{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 112px;
  height: 112px;
  border-radius: 18px;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.28);
  backdrop-filter: blur(10px);
  box-shadow: 0 14px 36px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.35);
}
.hero-cert-item img{
  width: 84px;
  height: auto;
  display: block;
  background: transparent;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.10));
}
@media (max-width:1100px){
  .hero-certificates-wrap{
    max-width: none;
    text-align: center;
  }
  .hero-certificates{
    justify-content: center;
  }
}
@media (max-width:700px){
  .hero-certificates-wrap{
    margin-top: 22px;
  }
  .hero-cert-item{
    width: 96px;
    height: 96px;
    border-radius: 14px;
  }
  .hero-cert-item img{
    width: 72px;
  }
}


/* PHM HERO BOX – refined */
.hero-phm-card{
  position: relative;
  max-width: 340px;
  padding: 18px 18px 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: 0 24px 56px rgba(0,0,0,.2), 0 0 0 1px rgba(255,255,255,.4) inset;
}

/* reduce height */
.hero-phm-screen{
  padding: 14px 16px;
}

/* nozzle OUTSIDE without cropping */
.hero-phm-nozzle{
  position: absolute;
  right: -120px;
  bottom: -10px;
  pointer-events: none;
}

.hero-phm-nozzle img{
  height: 260px;
  width: auto;
  display: block;
}

/* prevent overflow clipping */
.hero-phm-card{
  overflow: visible !important;
}

/* move whole card slightly right */
.hero-layout.with-phm{
  align-items: center;
}

.hero-layout.with-phm .hero-phm-card{
  margin-left: auto;
  margin-right: 0;
}

/* responsive */
@media (max-width:1100px){
  .hero-phm-nozzle{
    right: -60px;
    height: 200px;
  }
}
@media (max-width:700px){
  .hero-phm-nozzle{
    display:none;
  }
}



/* PHM live feel */
.hero-layout.with-phm .hero-phm-card{
  margin-left: auto;
  margin-right: 30px;
  animation: phmFloat 5.5s ease-in-out infinite;
}
@keyframes phmFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

.phm-live-value{
  position: relative;
  animation: phmPulse 3.2s ease-in-out infinite;
}
.phm-live-value-delay{
  animation-delay: 1.2s;
}
@keyframes phmPulse{
  0%,100%{
    opacity: 1;
    text-shadow: 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(18,61,115,0);
  }
  45%{
    opacity: .92;
    text-shadow: 0 0 8px rgba(255,255,255,.35), 0 0 12px rgba(18,61,115,.10);
  }
  50%{
    opacity: .82;
    text-shadow: 0 0 10px rgba(255,255,255,.5), 0 0 16px rgba(18,61,115,.16);
  }
  60%{
    opacity: .96;
    text-shadow: 0 0 6px rgba(255,255,255,.18), 0 0 8px rgba(18,61,115,.08);
  }
}

.hero-phm-screen{
  position: relative;
}
.hero-phm-screen:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background: linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 32%, rgba(255,255,255,0) 55%);
  transform: translateX(-120%);
  animation: phmSheen 7.5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes phmSheen{
  0%,72%,100%{ transform: translateX(-120%); opacity:0; }
  76%{ opacity:1; }
  88%{ transform: translateX(120%); opacity:1; }
  90%{ opacity:0; }
}

@media (max-width:1100px){
  .hero-layout.with-phm .hero-phm-card{
    margin-right: 0;
  }
}


/* Legal document page */
.legal-page .container{
  max-width: 980px;
}
.legal-card{
  background:#fff;
  border:1px solid rgba(11,42,74,.08);
  border-radius:14px;
  box-shadow:0 10px 28px rgba(11,42,74,.08);
  padding:34px 34px 28px;
}
.legal-card p{
  margin:0 0 16px;
  color:#334155;
  line-height:1.7;
}
.legal-title{
  margin:0 0 18px;
  color:#0b2a4a;
  font-size:34px;
  line-height:1.15;
}
.legal-intro{
  font-weight:700;
  color:#0b2a4a;
}
.legal-section{
  margin:30px 0 10px;
  font-size:26px;
  color:#0b2a4a;
}
.legal-article{
  margin:22px 0 6px;
  font-size:22px;
  color:#123d73;
}
.legal-subtitle{
  margin:0 0 12px;
  font-weight:700;
  color:#475467;
}
@media (max-width:700px){
  .legal-card{
    padding:24px 18px 18px;
  }
  .legal-title{
    font-size:28px;
  }
  .legal-section{
    font-size:22px;
  }
  .legal-article{
    font-size:20px;
  }
}


.legal-actions{
  margin-top:20px;
}


.legal-updated{
  margin-top: 28px !important;
  padding-top: 18px;
  border-top: 1px solid rgba(11,42,74,.08);
  font-weight: 700;
  color: #0b2a4a !important;
}



/* PHM hero resize + fixed position */
.home-hero .overlay{
  position: relative;
}
.hero-layout.with-phm{
  position: relative;
}
.hero-layout.with-phm .hero-phm-card{
  position: absolute;
  top: 50%;
  right: 200px;
  transform: translateY(-50%) scale(0.5);
  transform-origin: right center;
  margin: 0 !important;
  z-index: 6;
  max-width: 430px;
  overflow: visible !important;
}
.hero-layout.with-phm .hero-phm-nozzle{
  right: -58px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: 92px !important;
  height: 220px !important;
}
.hero-layout.with-phm .hero-main{
  padding-right: 560px;
}
@media (max-width: 1400px){
  .hero-layout.with-phm .hero-phm-card{
    right: 140px;
  }
  .hero-layout.with-phm .hero-main{
    padding-right: 480px;
  }
}
@media (max-width: 1200px){
  .hero-layout.with-phm .hero-phm-card{
    right: 80px;
  }
  .hero-layout.with-phm .hero-main{
    padding-right: 410px;
  }
}
@media (max-width: 1100px){
  .hero-layout.with-phm .hero-phm-card{
    position: relative;
    top: auto;
    right: auto;
    transform: scale(0.62);
    transform-origin: center top;
    margin: 18px auto 0 !important;
  }
  .hero-layout.with-phm .hero-main{
    padding-right: 0;
  }
}
@media (max-width: 700px){
  .hero-layout.with-phm .hero-phm-card{
    transform: scale(0.52);
  }
}



/* HERO REPAIR + PHM final position */
.home-hero{
  background-position:center !important;
  background-size:cover !important;
  overflow:hidden;
  position:relative;
  z-index:1;
  box-shadow:
    0 28px 56px rgba(6,14,28,.25),
    0 12px 28px rgba(8,20,40,.18),
    inset 0 -1px 0 rgba(255,255,255,.06);
}
.home-hero .overlay{
  width:100%;
  background:
    linear-gradient(180deg, rgba(3,12,24,.72) 0%, rgba(4,18,36,.35) 42%, rgba(3,14,28,.68) 100%),
    linear-gradient(90deg, rgba(6,26,48,.92) 0%, rgba(6,26,48,.55) 40%, rgba(6,26,48,.22) 100%);
}
.home-hero .container{
  position:relative;
}
.hero-layout.with-phm{
  position:relative !important;
  display:block !important;
  min-height:420px;
}
.hero-layout.with-phm .hero-main{
  max-width:640px;
  padding-right:0 !important;
}
.hero-layout.with-phm .hero-main h1,
.hero-layout.with-phm .hero-main p{
  max-width:640px;
}
.hero-layout.with-phm .hero-phm-card{
  position:absolute !important;
  top:50%;
  right:600px !important;
  transform:translateY(-110%) scale(0.5) !important;
  transform-origin:right center !important;
  margin:0 !important;
  z-index:6;
  max-width:430px;
  overflow:visible !important;
}
.hero-layout.with-phm .hero-phm-nozzle{
  right:-58px !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  width:92px !important;
  height:220px !important;
  display:flex !important;
}
.hero-layout.with-phm .hero-phm-nozzle img{
  height:100% !important;
  width:auto !important;
  display:block !important;
}
@media (max-width: 1600px){
  .hero-layout.with-phm .hero-phm-card{
    right:520px !important;
  }
}
@media (max-width: 1400px){
  .hero-layout.with-phm .hero-phm-card{
    right:-50px !important;
  }
}
@media (max-width: 1200px){
  .hero-layout.with-phm .hero-phm-card{
    right:280px !important;
  }
}
@media (max-width: 1100px){
  .hero-layout.with-phm{
    min-height:auto;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px;
  }
  .hero-layout.with-phm .hero-main{
    max-width:none;
  }
  .hero-layout.with-phm .hero-phm-card{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    transform:scale(0.62) !important;
    transform-origin:center top !important;
    margin:18px auto 0 !important;
  }
}
@media (max-width: 700px){
  .hero-layout.with-phm .hero-phm-card{
    transform:scale(0.52) !important;
  }
}



/* === PHM MENU ALIGN FIX === */
@media (min-width: 1101px){
  .home-hero .container{
    position: relative !important;
    text-align: left !important;
  }

  .hero-layout.with-phm{
    display: block !important;
    position: relative !important;
    min-height: 520px !important;
  }

  .hero-layout.with-phm .hero-main{
    max-width: 760px !important;
  }

  .hero-layout.with-phm .hero-main h1,
  .hero-layout.with-phm .hero-main p{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .hero-layout.with-phm .hero-main .hero-actions{
    justify-content: flex-start !important;
  }

  .hero-layout.with-phm .hero-phm-card{
    position: absolute !important;
    top:100% !important;
    right: 0 !important;
    margin: 0 !important;
    transform: translateY(-50%) scale(0.5) !important;
    transform-origin: top right !important;
    z-index: 20 !important;
    overflow: visible !important;
  }

  .hero-layout.with-phm .hero-phm-nozzle{
    position: absolute !important;
    right: -86px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 126px !important;
    z-index: 4 !important;
    pointer-events: none !important;
  }
}


.service-cards-section{
  padding:36px 0 14px;
}
.service-cards-title{
  margin:0 0 26px;
  color:#0b2a4a;
  text-align:center;
  font-size:34px;
}
.service-cards-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}
.service-detail-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(11,42,74,.08);
  border:1px solid rgba(11,42,74,.08);
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.service-detail-image{
  aspect-ratio: 449 / 298;
  overflow:hidden;
  background:#d7dee7;
}
.service-detail-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.service-detail-body{
  padding:20px 18px 24px;
  display:flex;
  flex-direction:column;
  height:100%;
}
.service-detail-body h3{
  margin:0 0 14px;
  color:#0b2a4a;
  text-align:center;
  font-size:24px;
  line-height:1.15;
}
.service-detail-body ul{
  margin:0 0 20px;
  padding-left:18px;
  color:#3d4b5c;
  font-size:15px;
  line-height:1.55;
  flex:1;
}
.service-detail-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:100%;
  min-width:0;
  padding:13px 16px;
  background:#3e7acb;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border-radius:4px;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.service-detail-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(11,42,74,.12);
}
@media (max-width: 980px){
  .service-cards-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px){
  .service-cards-grid{
    grid-template-columns:1fr;
  }
}

/* Footer logo */
.footer-logo{display:inline-flex;align-items:center;margin-bottom:16px;text-decoration:none}
.footer-logo img{width:min(234px,100%);height:auto;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}
.copyline{padding:0 0 22px;color:rgba(255,255,255,.72);border-top:1px solid rgba(255,255,255,.12);padding-top:14px}



/* Header slimmer with overflowing logo */
.site-header{
  overflow: visible;
}
.site-header .container{
  min-height: 62px;
  padding: 4px 0;
  align-items: center;
}
.brand{
  position: relative;
  z-index: 2;
  margin: -16px 0 -14px;
}
.brand img{
  width: 190px;
  height: auto;
}
.nav{
  align-items: center;
}
@media (max-width: 1100px){
  .site-header .container{
    min-height: 58px;
    padding: 6px 0;
  }
  .brand{
    margin: -12px 0 -10px;
  }
}
@media (max-width: 640px){
  .site-header .container{
    min-height: auto;
    padding: 8px 0;
  }
  .brand{
    margin: -6px 0 -4px;
  }
}


/* Beton slider */
.beton-gallery-block{
  overflow:hidden;
}
.beton-gallery-head{
  margin-bottom:18px;
}
.beton-gallery-head h2{
  margin-bottom:10px;
}
.beton-gallery-head p{
  margin:0;
  color:#5d6b7b;
}
.beton-slider{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
}
.beton-slider-viewport{
  overflow:hidden;
  width:100%;
}
.beton-slider-track{
  display:flex;
  gap:18px;
  transition:transform .45s ease;
  will-change:transform;
}
.beton-slide{
  flex:0 0 calc((100% - 36px) / 3);
  border:0;
  padding:0;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(11,42,74,.1);
  position:relative;
}
.beton-slide:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,42,74,0) 55%, rgba(11,42,74,.18) 100%);
  opacity:0;
  transition:opacity .25s ease;
  z-index:1;
}
.beton-slide img{
  width:100%;
  height:250px;
  object-fit:cover;
  transition:transform .35s ease;
}
.beton-slide:hover img{
  transform:scale(1.04);
}
.beton-slide:hover:before{
  opacity:1;
}
.beton-slider-btn{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(11,42,74,.12);
  background:#fff;
  color:#0b2a4a;
  font-size:22px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(11,42,74,.12);
  transition:transform .2s ease, opacity .2s ease, background-color .2s ease;
  flex:0 0 auto;
}
.beton-slider-btn:hover:not(:disabled){
  transform:scale(1.06);
  background:#f7f9fc;
}
.beton-slider-btn:disabled{
  opacity:.4;
  cursor:default;
}
.beton-lightbox{
  position:fixed;
  inset:0;
  background:rgba(8,18,34,.78);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:40px;
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
  z-index:999;
}
.beton-lightbox img{
  max-width:min(72vw, 1200px);
  max-height:78vh;
  width:auto;
  height:auto;
  border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  transform:scale(1);
  transition:transform .38s ease;
}
.beton-lightbox.open{
  opacity:1;
  pointer-events:auto;
}
.beton-lightbox.open img{
  transform:scale(1.35);
}
.beton-lightbox-close{
  position:absolute;
  top:22px;
  right:22px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  background:#fff;
  color:#0b2a4a;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
body.lightbox-open{
  overflow:hidden;
}
@media (max-width: 1024px){
  .beton-slide{
    flex:0 0 calc((100% - 18px) / 2);
  }
}
@media (max-width: 700px){
  .beton-slider{
    gap:10px;
  }
  .beton-slide{
    flex:0 0 100%;
  }
  .beton-slide img{
    height:220px;
  }
  .beton-slider-btn{
    width:40px;
    height:40px;
  }
  .beton-lightbox{
    padding:20px;
  }
  .beton-lightbox img{
    max-width:80vw;
    max-height:64vh;
  }
}


/* career cards with 3 columns */
.career-body--three-cols{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px;
  gap:24px;
  align-items:start;
}
.career-col{
  min-width:0;
}
.career-col h3{
  margin-top:0;
  color:#0b2a4a;
}
.career-side-image{
  align-self:stretch;
}
.career-side-image img{
  width:100%;
  height:100%;
  max-height:340px;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-radius:12px;
  border:1px solid rgba(11,42,74,.08);
  box-shadow:0 10px 24px rgba(11,42,74,.10);
}
@media (max-width: 1100px){
  .career-body--three-cols{
    grid-template-columns:1fr;
  }
  .career-side-image img{
    max-height:420px;
  }
}


/* career cards enhanced visuals */
.career-card{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.career-grid .career-card:nth-child(odd){
  background:linear-gradient(135deg,#ffffff 0%, #f8fbff 100%);
}
.career-grid .career-card:nth-child(even){
  background:linear-gradient(135deg,#e7eef7 0%, #d9e4f2 100%);
}
.career-card:hover{
  box-shadow:0 18px 38px rgba(11,42,74,.16);
  border-color:rgba(11,42,74,.16);
  animation:careerShake .32s ease-in-out 1;
}
@keyframes careerShake{
  0%{transform:translateX(0)}
  20%{transform:translateX(-3px) rotate(-.3deg)}
  40%{transform:translateX(3px) rotate(.3deg)}
  60%{transform:translateX(-2px) rotate(-.2deg)}
  80%{transform:translateX(2px) rotate(.2deg)}
  100%{transform:translateX(0)}
}
.career-body{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 340px;
  gap:26px;
}
.career-side-image{
  align-self:start;
  display:flex;
  justify-content:flex-end;
}
.career-side-image img{
  width:100%;
  max-width:340px;
  height:auto;
  max-height:none;
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(11,42,74,.10);
  box-shadow:0 14px 32px rgba(11,42,74,.18);
}
@media (max-width: 1240px){
  .career-body{grid-template-columns:1fr 1fr 280px;}
  .career-side-image img{max-width:280px;}
}
@media (max-width: 1100px){
  .career-body{grid-template-columns:1fr;}
  .career-side-image{justify-content:flex-start;}
  .career-side-image img{max-width:420px;}
}


/* Stavebne hmoty - strk layout */
.strk-layout{
  align-items:stretch;
  gap:24px;
}
.strk-layout .info-block{
  margin-bottom:0;
}
.strk-left-col{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.info-block-compact{
  padding-bottom:22px;
}
.compact-table th,
.compact-table td{
  padding:8px 10px;
  font-size:14px;
}
.strk-subtitle{
  margin:-2px 0 18px;
  font-size:18px;
  font-weight:700;
  color:#234;
}
.strk-milhost-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:220px;
}
.milhost-contact{
  margin-top:4px;
}
.strk-milhost-image-wrap{
  flex:1 1 auto;
  min-height:280px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(11,42,74,.18);
}
.strk-milhost-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.strk-gallery-block{
  margin-top:28px;
  background:linear-gradient(180deg, #11263d 0%, #1a314b 100%);
  color:#fff;
  overflow:hidden;
}
.strk-gallery-head p{
  color:rgba(255,255,255,.78);
}
.strk-slider .beton-slide{
  box-shadow:0 16px 36px rgba(0,0,0,.28);
}
.strk-slider .beton-slide:before{
  background:linear-gradient(180deg, rgba(8,18,34,0) 48%, rgba(8,18,34,.34) 100%);
}
.strk-slider .beton-slider-btn{
  background:rgba(255,255,255,.96);
}
@media (max-width: 980px){
  .strk-layout{
    grid-template-columns:1fr;
  }
}


/* === 2026 UI updates === */
.site-header .container{
  min-height:72px;
  padding:10px 0;
  gap:28px;
}
.brand{
  margin:0;
  flex:0 0 auto;
}
.brand img{
  width:158px;
  height:auto;
}
.nav{
  align-items:center;
  gap:24px;
}
.nav a{
  font-size:17px;
  letter-spacing:.01em;
}
.footer-logo img{
  width:min(281px, 100%);
}
.employee-zone{
  gap:10px;
}
.theme-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.08) 100%);
  color:#fff;
  font:700 13px/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.theme-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.16);
  border-color:rgba(255,255,255,.34);
}
.theme-toggle:focus-visible{
  outline:2px solid rgba(255,255,255,.85);
  outline-offset:2px;
}
.theme-toggle svg{
  flex:0 0 auto;
}
.strk-gallery-block{
  background:linear-gradient(135deg, #e7eef7 0%, #265fa7 100%);
}
@media (max-width:1100px){
  .site-header .container{
    min-height:auto;
    padding:10px 0 8px;
  }
  .brand img{width:148px;}
  .nav{gap:18px;}
  .nav a{font-size:16px;}
}
@media (max-width:760px){
  .topbar .container{
    flex-wrap:wrap;
  }
  .employee-zone{
    width:100%;
    justify-content:flex-end;
    flex-wrap:wrap;
  }
}
@media (max-width:640px){
  .brand img{width:136px;}
  .nav a{font-size:15px;}
  .theme-toggle{padding:7px 12px;font-size:12px;}
}

body.dark-mode{
  --blue:#2f6fc4;
  --blue-dark:#0a1c38;
  --red:#8fb7ff;
  --gold:#bdd6ff;
  --text:#f2f7ff;
  --muted:#d0e4f8;
  --bg:#08172c;
  --white:#0f2443;
  --line:#22406c;
  --shadow:0 14px 34px rgba(0,0,0,.34);
  color:var(--text);
}
body.dark-mode .topbar{
  background:linear-gradient(90deg, #071425 0%, #13376b 100%);
}
body.dark-mode .site-header{
  background:rgba(8, 23, 44, .94);
  border-bottom:1px solid rgba(143,183,255,.18);
}
body.dark-mode .nav a,
body.dark-mode .section h2,
body.dark-mode .card h3,
body.dark-mode .stat strong,
body.dark-mode .hero h1,
body.dark-mode .page-hero h1,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3{
  color:#f8fbff;
}
body.dark-mode .lead,
body.dark-mode p,
body.dark-mode li,
body.dark-mode td,
body.dark-mode th,
body.dark-mode .beton-gallery-head p,
body.dark-mode .copyline{
  color:var(--muted);
}
body.dark-mode .card,
body.dark-mode .stat,
body.dark-mode .info-block,
body.dark-mode .contact-box,
body.dark-mode .contact-card,
body.dark-mode .product-card,
body.dark-mode .service-card,
body.dark-mode .detail-card,
body.dark-mode .legal-card,
body.dark-mode table,
body.dark-mode .beton-slide,
body.dark-mode .media,
body.dark-mode .contact-form form,
body.dark-mode .logos-floating-strip{
  background:rgba(13, 35, 67, .95);
  border-color:rgba(143,183,255,.14);
  box-shadow:0 16px 34px rgba(0,0,0,.28);
}
body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select{
  background:#102847;
  color:#eef5ff;
  border:1px solid #31588c;
}
body.dark-mode .footer{
  background:linear-gradient(90deg, #071425 0%, #143767 100%);
}
body.dark-mode .theme-toggle{
  background:linear-gradient(135deg, rgba(143,183,255,.22) 0%, rgba(143,183,255,.12) 100%);
  border-color:rgba(143,183,255,.34);
}
body.dark-mode .strk-gallery-block{
  background:linear-gradient(135deg, #16345e 0%, #4d8ee1 100%);
}

/* === Dark mode fixes 2026-03-27 === */
body.dark-mode{
  --blue:#1f4f96;
  --blue-dark:#06142a;
  --red:#78a9ff;
  --gold:#9fc2ff;
  --text:#f2f7ff;
  --muted:#d0e4f8;
  --bg:#04101f;
  --white:#0a1a33;
  --line:#1b3962;
}
body.dark-mode .topbar{
  background:linear-gradient(90deg, #04111f 0%, #0d2850 100%);
}
body.dark-mode .site-header{
  background:rgba(4, 16, 31, .96);
  border-bottom:1px solid rgba(120,169,255,.16);
}
body.dark-mode .footer{
  background:linear-gradient(90deg, #04111f 0%, #0c2448 100%);
}
body.dark-mode .card,
body.dark-mode .stat,
body.dark-mode .info-block,
body.dark-mode .contact-box,
body.dark-mode .contact-card,
body.dark-mode .product-card,
body.dark-mode .service-card,
body.dark-mode .detail-card,
body.dark-mode .legal-card,
body.dark-mode table,
body.dark-mode .beton-slide,
body.dark-mode .media,
body.dark-mode .contact-form form,
body.dark-mode .logos-floating-strip,
body.dark-mode .service-tile,
body.dark-mode .phm-box,
body.dark-mode .about-main-card,
body.dark-mode .about-side-card,
body.dark-mode .about-stat,
body.dark-mode .about-service-item,
body.dark-mode .timeline-item,
body.dark-mode .cert-card,
body.dark-mode .department-card,
body.dark-mode .career-card,
body.dark-mode .service-detail-card,
body.dark-mode .map-wrap,
body.dark-mode .hero-phm-card,
body.dark-mode .hero-phm-screen,
body.dark-mode .service-hotline{
  background:rgba(8, 25, 49, .96);
  border-color:rgba(120,169,255,.16);
  box-shadow:0 16px 34px rgba(0,0,0,.34);
}
body.dark-mode .career-grid .career-card:nth-child(odd),
body.dark-mode .career-grid .career-card:nth-child(even),
body.dark-mode .phm-box,
body.dark-mode .hero-phm-card{
  background:linear-gradient(135deg, #07192f 0%, #123765 100%);
}
body.dark-mode .strk-gallery-block{
  background:linear-gradient(135deg, #e7eef7 0%, #265fa7 100%);
}
body.dark-mode .strk-gallery-head h2{
  color:#0b2a4a;
}
body.dark-mode .strk-gallery-head p{
  color:rgba(255,255,255,.86);
}
body.dark-mode .service-image,
body.dark-mode .service-detail-image,
body.dark-mode .about-side-card,
body.dark-mode .career-side-image img,
body.dark-mode .beton-slider-btn,
body.dark-mode .beton-lightbox-close{
  background:#0b2343;
  border-color:rgba(120,169,255,.18);
  color:#eef5ff;
}
body.dark-mode .section-intro h2,
body.dark-mode .service-content h3,
body.dark-mode .phm-copy h2,
body.dark-mode .about-main-card h2,
body.dark-mode .about-stat strong,
body.dark-mode .department-card h3,
body.dark-mode .person-card strong,
body.dark-mode .career-head h2,
body.dark-mode .career-cols h3,
body.dark-mode .career-col h3,
body.dark-mode .service-cards-title,
body.dark-mode .service-detail-body h3,
body.dark-mode .company-meta strong,
body.dark-mode .quick-phones strong,
body.dark-mode .bank-list strong{
  color:#f8fbff;
}
body.dark-mode .section-intro p,
body.dark-mode .service-content p,
body.dark-mode .phm-copy p,
body.dark-mode .about-main-card p,
body.dark-mode .about-stat span,
body.dark-mode .person-card span,
body.dark-mode .career-meta,
body.dark-mode .service-detail-body ul,
body.dark-mode .company-meta span,
body.dark-mode .quick-phones span,
body.dark-mode .bank-list span,
body.dark-mode .timeline-content p,
body.dark-mode .cert-card p,
body.dark-mode .service-hotline,
body.dark-mode .page-hero .container p{
  color:var(--muted);
}
body.dark-mode .company-meta div,
body.dark-mode .quick-phones div,
body.dark-mode .bank-list div,
body.dark-mode .person-card,
body.dark-mode .career-meta,
body.dark-mode .timeline:before,
body.dark-mode .timeline-dot,
body.dark-mode .table td,
body.dark-mode .table th{
  border-color:rgba(120,169,255,.14);
}
body.dark-mode .service-detail-btn,
body.dark-mode .btn-primary,
body.dark-mode .btn,
body.dark-mode .vacancy-badge{
  background:#1f4f96;
  color:#fff;
}
body.dark-mode .beton-slider-btn:hover:not(:disabled),
body.dark-mode .service-detail-btn:hover,
body.dark-mode .btn-primary:hover,
body.dark-mode .btn:hover{
  background:#275eaf;
}
body.dark-mode .theme-toggle{
  background:linear-gradient(135deg, rgba(120,169,255,.18) 0%, rgba(120,169,255,.08) 100%);
  border-color:rgba(120,169,255,.28);
}
body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select{
  background:#081c36;
  color:#eef5ff;
  border:1px solid #284c7c;
}

/* === Dark mode targeted fixes 2026-03-27 b === */
body.dark-mode .panel,
body.dark-mode .compact-panel,
body.dark-mode .compact-card,
body.dark-mode .department-card,
body.dark-mode .person-card,
body.dark-mode .compact-person,
body.dark-mode .career-card,
body.dark-mode .career-side-image,
body.dark-mode .career-side-image img,
body.dark-mode .about-main-card,
body.dark-mode .about-side-card,
body.dark-mode .about-service-item,
body.dark-mode .about-stat,
body.dark-mode .cert-card,
body.dark-mode .timeline-item,
body.dark-mode .info-block,
body.dark-mode .service-detail-card,
body.dark-mode .service-detail-body,
body.dark-mode .service-hotline,
body.dark-mode .hero-cert-item,
body.dark-mode .hero-phm-card,
body.dark-mode .hero-phm-screen,
body.dark-mode .map-wrap{
  background:#081b35 !important;
  border-color:rgba(123,169,255,.18) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.36) !important;
}

body.dark-mode .career-grid .career-card:nth-child(odd),
body.dark-mode .career-grid .career-card:nth-child(even),
body.dark-mode .about-service-item,
body.dark-mode .hero-cert-item,
body.dark-mode .hero-phm-card{
  background:linear-gradient(135deg, #06162c 0%, #10325c 100%) !important;
}

body.dark-mode .service-detail-image,
body.dark-mode .service-image,
body.dark-mode .cert-image,
body.dark-mode .about-side-card img,
body.dark-mode .career-side-image img{
  background:#0a213f !important;
}

body.dark-mode .compact-person,
body.dark-mode .person-card,
body.dark-mode .career-meta,
body.dark-mode .company-meta div,
body.dark-mode .quick-phones div,
body.dark-mode .bank-list div,
body.dark-mode .timeline-item,
body.dark-mode .service-detail-body ul li,
body.dark-mode .checks li{
  border-color:rgba(123,169,255,.16) !important;
}

body.dark-mode .panel h3,
body.dark-mode .compact-panel h3,
body.dark-mode .department-card h3,
body.dark-mode .person-card strong,
body.dark-mode .about-main-card h2,
body.dark-mode .about-stat strong,
body.dark-mode .timeline-year,
body.dark-mode .service-cards-title,
body.dark-mode .service-detail-body h3,
body.dark-mode .hero-phm-head h3,
body.dark-mode .hero-certificates-label,
body.dark-mode .phm-live-value,
body.dark-mode .hero-phm-label{
  color:#f3f7ff !important;
}

body.dark-mode .panel p,
body.dark-mode .compact-panel p,
body.dark-mode .company-meta span,
body.dark-mode .company-meta div,
body.dark-mode .quick-phones span,
body.dark-mode .quick-phones div,
body.dark-mode .bank-list span,
body.dark-mode .bank-list div,
body.dark-mode .person-card span,
body.dark-mode .compact-person span,
body.dark-mode .career-col li,
body.dark-mode .career-meta,
body.dark-mode .about-main-card p,
body.dark-mode .about-service-item,
body.dark-mode .about-stat span,
body.dark-mode .timeline-content,
body.dark-mode .timeline-content p,
body.dark-mode .cert-card p,
body.dark-mode .service-detail-body p,
body.dark-mode .service-detail-body li,
body.dark-mode .info-block p,
body.dark-mode .info-block li,
body.dark-mode .service-hotline,
body.dark-mode .page-hero p,
body.dark-mode .hero p,
body.dark-mode .hero-certificates-label{
  color:#d4e2f7 !important;
}

body.dark-mode .hero,
body.dark-mode .page-hero{
  box-shadow:inset 0 0 0 1000px rgba(3, 12, 25, .38);
}

body.dark-mode .hero .container,
body.dark-mode .page-hero .container{
  position:relative;
  z-index:1;
}

body.dark-mode .hero-cert-item{
  border-color:rgba(154,191,255,.22) !important;
  backdrop-filter:none;
}

body.dark-mode .hero-phm-divider,
body.dark-mode .timeline:before{
  background:rgba(154,191,255,.28) !important;
}

body.dark-mode .person-card a,
body.dark-mode .compact-person a,
body.dark-mode .service-link,
body.dark-mode a[href^="tel:"],
body.dark-mode a[href^="mailto:"]{
  color:#b9d8ff !important;
}
body.dark-mode .person-card a:hover,
body.dark-mode .compact-person a:hover,
body.dark-mode .service-link:hover,
body.dark-mode a[href^="tel:"]:hover,
body.dark-mode a[href^="mailto:"]:hover{
  color:#e8f3ff !important;
}

body.dark-mode .contact-form .btn,
body.dark-mode .contact-form .btn-primary,
body.dark-mode form .btn,
body.dark-mode form .btn-primary{
  background:#c72b2b !important;
  color:#fff !important;
  border-color:#c72b2b !important;
}

body.dark-mode .contact-form .btn:hover,
body.dark-mode .contact-form .btn-primary:hover,
body.dark-mode form .btn:hover,
body.dark-mode form .btn-primary:hover{
  background:#ad2323 !important;
  border-color:#ad2323 !important;
}

body.dark-mode input,
body.dark-mode textarea,
body.dark-mode select{
  background:#07182f !important;
  color:#eef5ff !important;
  border:1px solid #24466f !important;
}

body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder{
  color:#9bb8dd;
}


body.dark-mode .site-header,
body.dark-mode .footer,
body.dark-mode .panel,
body.dark-mode .compact-panel,
body.dark-mode .compact-card,
body.dark-mode .card,
body.dark-mode .stat,
body.dark-mode .info-block,
body.dark-mode .contact-box,
body.dark-mode .contact-card,
body.dark-mode .product-card,
body.dark-mode .service-card,
body.dark-mode .detail-card,
body.dark-mode .legal-card,
body.dark-mode table,
body.dark-mode .beton-slide,
body.dark-mode .media,
body.dark-mode .contact-form form,
body.dark-mode .logos-floating-strip,
body.dark-mode .service-tile,
body.dark-mode .phm-box,
body.dark-mode .about-main-card,
body.dark-mode .about-side-card,
body.dark-mode .about-stat,
body.dark-mode .about-service-item,
body.dark-mode .timeline-item,
body.dark-mode .cert-card,
body.dark-mode .department-card,
body.dark-mode .career-card,
body.dark-mode .service-detail-card,
body.dark-mode .service-detail-body,
body.dark-mode .service-hotline,
body.dark-mode .map-wrap,
body.dark-mode .hero-phm-card,
body.dark-mode .hero-phm-screen,
body.dark-mode .hero-cert-item,
body.dark-mode .theme-toggle{
  background:linear-gradient(180deg, rgba(11,28,54,.82) 0%, rgba(7,20,40,.72) 100%) !important;
  backdrop-filter:blur(12px) saturate(135%);
  -webkit-backdrop-filter:blur(12px) saturate(135%);
  border:1px solid rgba(163,197,255,.14) !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(95,144,220,.08) !important;
}

body.dark-mode .hero,
body.dark-mode .page-hero,
body.dark-mode .centered-hero,
body.dark-mode .home-hero{
  position:relative;
}

body.dark-mode .hero::before,
body.dark-mode .page-hero::before,
body.dark-mode .centered-hero::before,
body.dark-mode .home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(2,12,25,.28) 0%, rgba(3,12,25,.44) 100%);
  pointer-events:none;
}

body.dark-mode .hero .container,
body.dark-mode .page-hero .container,
body.dark-mode .centered-hero .container,
body.dark-mode .home-hero .container{
  position:relative;
  z-index:1;
}

body.dark-mode .hero-cert-item,
body.dark-mode .hero-phm-card,
body.dark-mode .hero-phm-screen,
body.dark-mode .service-hotline,
body.dark-mode .career-card,
body.dark-mode .about-service-item{
  box-shadow:
    0 18px 42px rgba(0,0,0,.42),
    0 0 0 1px rgba(145,187,255,.06),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}

body.dark-mode .btn,
body.dark-mode .btn-primary,
body.dark-mode .service-detail-btn,
body.dark-mode .hero .btn,
body.dark-mode .hero .btn-primary,
body.dark-mode .page-hero .btn,
body.dark-mode .page-hero .btn-primary,
body.dark-mode .site-header .btn,
body.dark-mode .site-header .btn-primary,
body.dark-mode form .btn,
body.dark-mode form .btn-primary,
body.dark-mode .contact-form .btn,
body.dark-mode .contact-form .btn-primary{
  background:#c72b2b !important;
  color:#fff !important;
  border-color:#c72b2b !important;
  box-shadow:0 10px 24px rgba(130,17,17,.34);
}

body.dark-mode .btn:hover,
body.dark-mode .btn-primary:hover,
body.dark-mode .service-detail-btn:hover,
body.dark-mode .hero .btn:hover,
body.dark-mode .hero .btn-primary:hover,
body.dark-mode .page-hero .btn:hover,
body.dark-mode .page-hero .btn-primary:hover,
body.dark-mode .site-header .btn:hover,
body.dark-mode .site-header .btn-primary:hover,
body.dark-mode form .btn:hover,
body.dark-mode form .btn-primary:hover,
body.dark-mode .contact-form .btn:hover,
body.dark-mode .contact-form .btn-primary:hover{
  background:#ad2323 !important;
  border-color:#ad2323 !important;
}

body.dark-mode .theme-toggle{
  color:#eef5ff !important;
}


/* Stavebné hmoty gallery fix */
.contact-gap{margin:0 0 10px; height:0;}
.strk-gallery-block{
  background:linear-gradient(135deg, #eef4fb 0%, #d9e7f6 34%, #8fb6e24d 68%, #2c69b566 100%);
  border:1px solid rgba(38,95,167,.24);
  box-shadow:0 18px 40px rgba(12,33,61,.16);
}
.strk-gallery-head h2{color:#0b2a4a;}
.strk-gallery-head p{color:#21466f;}
.strk-slider .beton-slide{background:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.45); box-shadow:0 18px 38px rgba(9,28,54,.22);}
.strk-slider .beton-slide img{aspect-ratio: 4 / 3; object-fit:cover;}
body.dark-mode .strk-gallery-block{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 34%),
    linear-gradient(135deg, #eff5fc 0%, #dbe8f7 28%, #bdd2eb 58%, #5f8fc8 82%, #1e4f92 100%) !important;
  border:1px solid rgba(190,220,255,.34) !important;
  box-shadow:0 24px 54px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
body.dark-mode .strk-gallery-head h2{
  color:#0a2b4d !important;
  text-shadow:0 1px 0 rgba(255,255,255,.18);
}
body.dark-mode .strk-gallery-head p{
  color:#153d67 !important;
}
body.dark-mode .strk-slider .beton-slide{
  background:rgba(255,255,255,.24) !important;
  border:1px solid rgba(255,255,255,.34) !important;
  box-shadow:0 18px 40px rgba(8,22,43,.22) !important;
  backdrop-filter:blur(8px);
}
body.dark-mode .strk-slider .beton-slider-btn{
  background:rgba(10,43,77,.82) !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#f3f8ff !important;
  box-shadow:0 10px 26px rgba(6,19,38,.28) !important;
}
body.dark-mode .strk-slider .beton-slider-btn:hover:not(:disabled){
  background:rgba(13,57,101,.92) !important;
}



/* Stavebne hmoty gallery final match to Beton page */
body.dark-mode .strk-gallery-block{
  background: linear-gradient(135deg, #f4f8fd 0%, #e7f0fa 45%, #d6e5f6 100%) !important;
  border: 1px solid rgba(144, 180, 220, .34) !important;
  box-shadow: 0 20px 46px rgba(2, 10, 24, .24), inset 0 1px 0 rgba(255,255,255,.5) !important;
}
body.dark-mode .strk-gallery-head h2{
  color:#0b2a4a !important;
  text-shadow:none !important;
}
body.dark-mode .strk-gallery-head p{
  color:#35597f !important;
}
body.dark-mode .strk-slider .beton-slide{
  background:#ffffff !important;
  border:1px solid rgba(11,42,74,.10) !important;
  box-shadow:0 12px 28px rgba(11,42,74,.14) !important;
  backdrop-filter:none !important;
}
body.dark-mode .strk-slider .beton-slide:before{
  background:linear-gradient(180deg, rgba(11,42,74,0) 55%, rgba(11,42,74,.18) 100%) !important;
}
body.dark-mode .strk-slider .beton-slider-btn{
  background:#ffffff !important;
  border:1px solid rgba(11,42,74,.12) !important;
  color:#0b2a4a !important;
  box-shadow:0 10px 25px rgba(11,42,74,.12) !important;
}
body.dark-mode .strk-slider .beton-slider-btn:hover:not(:disabled){
  background:#f7f9fc !important;
}


/* O firme page refinements */
.about-main-card,
.about-side-card,
.about-stat,
.about-service-item,
.timeline-item,
.cert-card,
.about-policy-merged{
  box-shadow:0 14px 32px rgba(11,42,74,.12);
}

.about-stat{
  padding:16px 20px;
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.about-stat strong{
  margin-bottom:6px;
}
.about-side-card img{
  display:block;
}
.about-policy-merged{
  padding:28px;
  align-items:start;
}
.about-policy-merged .about-policy-col{
  min-width:0;
}
.about-policy-merged .checks{
  margin:0;
}
@media (max-width: 900px){
  .about-policy-merged{
    padding:22px;
  }
}


/* Kontakt - vyvolatelne telefonne cisla */
.company-meta span a,
.quick-phones span a{
  color:#c72b2b;
  font-weight:700;
  text-decoration:none;
}
.quick-phones span a{
  display:inline-block;
  padding:2px 0;
}
@media (max-width: 680px){
  .company-meta div,
  .quick-phones div{
    align-items:flex-start;
  }
  .company-meta span,
  .quick-phones span{
    text-align:right;
  }
  .company-meta span a,
  .quick-phones span a,
  .person-card a,
  .service-hotline a{
    display:inline-block;
    padding:8px 0;
    line-height:1.45;
    -webkit-tap-highlight-color: rgba(199,43,43,.15);
  }
}


.site-infobar{
  position:relative;
  z-index:8;
  background:linear-gradient(90deg, #edf3f9 0%, #f8fbff 100%);
  border-bottom:1px solid rgba(18,61,115,.10);
  box-shadow:0 6px 18px rgba(11,43,82,.05);
}
.dark-mode .site-infobar{
  background:
    radial-gradient(circle at 80% 50%, rgba(255,180,80,0.06), transparent 50%),
    linear-gradient(90deg, #000000 0%, #0f172a 100%) !important;

  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}
.site-infobar .container{
  padding:8px 0;
}
.site-infobar-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:max-content;
  color:#123d73;
  font-size:14px;
  white-space:nowrap;
}
.dark-mode .site-infobar-row{
  color: #cbd5e1 !important;
}
.site-infobar-row strong{
  color:#0b2b52;
}
.dark-mode .site-infobar-row strong{
  color: #e5e7eb !important;
}
.site-infobar .container{
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
}
.info-sep{
  color:rgba(18,61,115,.35);
}
@media (max-width: 640px){
  .site-infobar .container{padding:7px 0;}
  .site-infobar-row{font-size:13px; gap:8px;}
}


.beton-route-row{margin-top:0;}
.route-card{display:flex;flex-direction:column;justify-content:space-between;min-height:190px;}
.route-card p{margin:0 0 12px;}
.route-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto;}
.route-actions .map-wrap{width:100%;}
.route-actions > a:not(.btn){color:#c72b2b;text-decoration:none;font-weight:700;}
.route-actions > a:not(.btn):hover{text-decoration:underline;}
.route-actions .btn{padding:12px 18px;}
@media (max-width:900px){
  .route-card{min-height:auto;}
}


.servis-reviews-section{
  margin:42px 0 24px;
  padding:34px 28px;
  border-radius:18px;

  border:1px solid rgba(62,122,203,.12);
}
.servis-reviews-head{
  text-align:center;
  margin:0 0 24px;
}
.servis-reviews-head h2{
  margin:0 0 10px;
  color:#0b2a4a;
  font-size:32px;
}
.servis-reviews-head p{
  margin:0;
  color:#5d6b7b;
  font-size:16px;
}
.servis-reviews-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.servis-review-card{

  border-radius:16px;
  padding:24px 22px;
  box-shadow:0 14px 30px rgba(11,42,74,.08);
  border:1px solid rgba(11,42,74,.06);
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.servis-review-stars{
  color:#3e7acb;
  font-size:22px;
  letter-spacing:2px;
  margin:0 0 16px;
}
.servis-review-card p{
  margin:0 0 18px;
  color:#3d4b5c;
  line-height:1.7;
  flex:1;
}
.servis-review-meta{
  padding-top:14px;
  border-top:1px solid rgba(11,42,74,.08);
}
.servis-review-meta strong{
  display:block;
  color:#0b2a4a;
  font-size:16px;
  margin-bottom:4px;
}
.servis-review-meta span{
  color:#6a798b;
  font-size:14px;
}
@media (max-width: 980px){
  .servis-reviews-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 680px){
  .servis-reviews-section{
    padding:24px 18px;
  }
  .servis-reviews-head h2{
    font-size:28px;
  }
}

/* Servis — dark mode: čitateľné recenzie a kontaktné mená */
body.dark-mode .servis-reviews-section{
  border-color:rgba(130,175,255,.22);
  background:rgba(6,14,28,.35);
}
body.dark-mode .servis-reviews-head h2{
  color:#f8fbff;
}
body.dark-mode .servis-reviews-head p{
  color:var(--muted);
}
body.dark-mode .servis-review-card{
  background:rgba(10,26,51,.72);
  border-color:rgba(130,175,255,.2);
  box-shadow:0 14px 34px rgba(0,0,0,.32);
}
body.dark-mode .servis-review-stars{
  color:#8fb8ff;
}
body.dark-mode .servis-review-card p{
  color:#eaf1fb;
}
body.dark-mode .servis-review-meta{
  border-top-color:rgba(150,190,255,.22);
}
body.dark-mode .servis-review-meta strong{
  color:#f2f7ff;
}
body.dark-mode .servis-review-meta span{
  color:#c5daf4;
}
body.dark-mode .person-link{
  color:#e8f3ff !important;
  border-bottom-color:rgba(200,225,255,.45);
}
body.dark-mode .person-link:hover{
  color:#fff !important;
  border-bottom-color:rgba(230,240,255,.65);
}
body.dark-mode .contact-mini > span{
  color:var(--muted);
}

.gdpr-form-note{
  margin:16px 0 0;
  padding:14px 16px;
  border-radius:12px;
  background:#8ea8c2;
  border:1px solid rgba(11,42,74,.08);
  color:#344054;
  font-size:14px;
}
.gdpr-form-note strong{display:block;margin-bottom:6px;color:#0b2a4a;}
.gdpr-form-note a{color:#c72b2b;font-weight:700;text-decoration:none;}
.gdpr-career-note{margin:20px 0 0;}

/* Doprava page */
.doprava-page{padding-top:34px;}
.doprava-intro-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:24px;
  align-items:stretch;
}
.doprava-main-card,
.dispatch-full-box,
.doprava-highlight-card,
.doprava-service-card,
.doprava-gallery-item,
.doprava-marketing-band{

  border:1px solid rgba(11,42,74,.08);
  border-radius:16px;
  box-shadow:0 12px 30px rgb(57 66 75 / 28%);
}
.doprava-main-card{
  padding:30px;
}
.doprava-main-card h2,
.dispatch-header h2,
.doprava-service-copy h2,
.doprava-offer-copy h2{
  margin:0 0 14px;
  color:#0b2a4a;
  font-size:34px;
  line-height:1.1;
}
.doprava-main-card p,
.dispatch-header p,
.doprava-service-copy p,
.doprava-offer-copy p,
.doprava-marketing-band p{
  color:#5d6b7b;
  font-size:17px;
  margin:0 0 14px;
}
.doprava-side-media img{width:100%;height:100%;object-fit:cover;}
.doprava-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.badge-inline{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;

  color:#0b2a4a;
  font-weight:700;
  font-size:14px;
}

.doprava-highlight-row{

  display:grid; border-radius: 12px;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:24px;
}
.doprava-highlight-card{
  padding:24px;
}
.doprava-highlight-card strong{
  display:block;
 color:var(--text);
  font-size:22px;
  line-height:1.2;
  margin-bottom:10px;
}
.doprava-highlight-card span{
  color:var(--#5d6b7b);
  display:block;
}
.dispatch-full-box{
  margin-top:28px;
  padding:30px;
  background:linear-gradient(135deg, #0b2a4a 0%, #143d73 100%);
  color:#fff;
}
.section-kicker-light{
  background:rgba(255,255,255,.12);
  color:#fff;
}
.dispatch-header h2,
.dispatch-header p{
  color:#fff;
}
.dispatch-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:22px;
}
.dispatch-person{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:22px;
}
.dispatch-person h3{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.2;
}
.dispatch-person p{
  margin:0 0 14px;
  color:rgba(255,255,255,.86);
  min-height:72px;
}
.dispatch-person a{
  display:block;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  margin-top:6px;
}
.doprava-gallery-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  gap:18px;
  margin-top:28px;
}
.doprava-gallery-item{overflow:hidden;min-height:280px;}
.doprava-gallery-item.tall{min-height:100%;}
.doprava-gallery-item img{width:100%;height:100%;object-fit:cover;}
.doprava-service-grid{
  display:grid;
  gap:24px;
  margin-top:28px;
}
.doprava-service-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  overflow:hidden;
}
.doprava-service-card.reverse{
  grid-template-columns:1fr 1fr;
}
.doprava-service-copy{padding:30px;}
.doprava-service-media{border-radius:0; border:none; box-shadow:none;}
.doprava-service-media img{width:100%;height:100%;object-fit:cover;min-height:100%;}
.doprava-special-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:12px;
  background:#f5f8fb;
}
.doprava-special-grid .media{
  min-height:220px;
  box-shadow:none;
}
.doprava-special-grid .media:last-child{
  grid-column:1 / -1;
}
.doprava-marketing-band{
  margin-top:28px;
  padding:28px 30px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:26px;
  align-items:center;
  background:linear-gradient(135deg, #0b2a4a 0%, #123d73 100%);
}
.doprava-marketing-band h2,
.doprava-marketing-band p{
  color:#fff;
  margin:0;
}
.doprava-marketing-band h2{font-size:32px;line-height:1.12;}
.doprava-offer-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  margin-top:28px;
}
.doprava-checks li{color:#445568;}
.transport-form{display:grid;gap:18px;}
.transport-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.transport-form-grid .full{grid-column:1 / -1;}
.transport-form textarea{min-height:140px;}
.transport-form-note{
  margin:0;
  color:#667085;
  font-size:14px;
}
@media (max-width: 1100px){
  .doprava-gallery-grid,
  .doprava-marketing-band,
  .doprava-offer-grid,
  .doprava-highlight-row,
  .dispatch-grid,
  .doprava-intro-grid,
  .doprava-service-card,
  .doprava-service-card.reverse{
    grid-template-columns:1fr;
  }
}
@media (max-width: 760px){
  .doprava-main-card,
  .dispatch-full-box,
  .doprava-service-copy,
  .doprava-offer-copy,
  .doprava-offer-form{
    padding:22px;
  }
  .transport-form-grid{grid-template-columns:1fr;}
  .dispatch-person p{min-height:auto;}
  .doprava-main-card h2,
  .dispatch-header h2,
  .doprava-service-copy h2,
  .doprava-offer-copy h2,
  .doprava-marketing-band h2{
    font-size:28px;
  }
}

/* Homepage refresh from Komplexné riešenia section downward */
.homepage-solutions,
.homepage-value-strip,
.homepage-story-section,
.homepage-gallery-section{
  position:relative;
}
.section.homepage-solutions,
.section.homepage-value-strip,
.section.homepage-story-section,
.section.homepage-gallery-section,
.section.homepage-marketing-band{
  padding-top:clamp(40px,4.8vw,56px);
  padding-bottom:clamp(44px,5vw,62px);
}
.homepage-solutions{
  background:
    radial-gradient(ellipse 88% 52% at 50% -12%, rgba(22,72,124,.09) 0%, transparent 58%),
    radial-gradient(ellipse 100% 80% at 70% 120%, rgba(175,186,198,.14) 0%, transparent 45%),
    linear-gradient(180deg,#e5eaf1 0%,#ecf2f9 42%,#f7fafd 100%);
}
.homepage-value-strip{
  background:
    radial-gradient(ellipse 90% 60% at 10% 50%, rgba(185,195,208,.16) 0%, transparent 50%),
    linear-gradient(180deg,#e3e9f2 0%,#eef4fb 48%,#f9fcff 100%);
}
.homepage-story-section{
  background:
    radial-gradient(ellipse 85% 55% at 90% 20%, rgba(180,192,206,.14) 0%, transparent 52%),
    linear-gradient(180deg,#f6f9fd 0%,#e8f0f8 52%,#f2f7fc 100%);
}
.homepage-marketing-band{
  background:linear-gradient(135deg,#153049 0%,#2a4a66 35%,#4a7188 70%,#6e91a5 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 20px 48px rgba(4,12,24,.2);
}
.homepage-gallery-section{
  background:
    radial-gradient(ellipse 70% 45% at 80% 0%, rgba(42,90,130,.07) 0%, transparent 50%),
    radial-gradient(ellipse 110% 90% at 50% 110%, rgba(175,186,198,.12) 0%, transparent 48%),
    linear-gradient(180deg,#f3f7fb 0%,#fbfdfe 100%);
}
/* DARK MODE — home: bez „tabúľ“ cez body; svetlo a hmla idú z pozadia stránky */
body.dark-mode:has(.homepage-solutions) .homepage-solutions,
body.dark-mode:has(.homepage-solutions) .homepage-value-strip,
body.dark-mode:has(.homepage-solutions) .homepage-story-section,
body.dark-mode:has(.homepage-solutions) .homepage-marketing-band,
body.dark-mode:has(.homepage-solutions) .homepage-gallery-section{
  background:transparent !important;
  box-shadow:none;
}
body.dark-mode .homepage-gallery-intro p{
  color:#b3c5e3;
}
.homepage-intro,
.homepage-gallery-intro{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.homepage-intro{
  margin-bottom:48px;
  max-width:min(920px,100%);
}
.homepage-intro h2,
.homepage-gallery-intro h2{
  letter-spacing:-.03em;
  font-weight:700;
  line-height:1.1;
}
.homepage-intro p,
.homepage-gallery-intro p{
  font-size:18px;
  line-height:1.65;
  max-width:min(720px,100%);
  margin-left:auto;
  margin-right:auto;
  color:#4a5d72;
}
.homepage-gallery-intro{
  margin-bottom:40px;
  max-width:min(880px,100%);
}
.homepage-gallery-intro p{
  max-width:min(680px,100%);
  color:#4f6277;
}
.homepage-services-grid{
  display:grid;
  gap:clamp(18px,2.2vw,28px);
  /* 5 položiek: na širších displejoch jeden rad; na stredných 3+2 bez osamelého 4+1 */
  grid-template-columns:repeat(3,minmax(0,1fr));
  perspective:1400px;
  transform-style:preserve-3d;
}
@media (min-width:1240px){
  .homepage-services-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .homepage-services-grid{grid-template-columns:1fr;}
}
.service-tile-premium{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  transform:translateZ(0);
  transform-style:preserve-3d;
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    box-shadow .42s ease,
    border-color .35s ease;
  box-shadow:
    0 2px 4px rgba(0,0,0,.18),
    0 12px 24px rgba(8,20,42,.2),
    0 28px 52px rgba(10,26,48,.26),
    0 48px 88px rgba(6,16,36,.14),
    0 0 0 1px rgba(255,255,255,.1);
  background:#0a1524;
  min-height:360px;
  justify-content:flex-end;
  border:1px solid rgba(255,255,255,.14);
}
.service-tile-premium::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(8,18,32,.38) 0%,
    rgba(6,14,26,.55) 45%,
    rgba(4,10,22,.82) 100%
  );
  border-radius:inherit;
}
.service-tile-premium .service-image{
  position:absolute;
  inset:0;
  z-index:0;
  aspect-ratio:auto;
}
.service-tile-premium .service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1);
}
.service-tile-premium .service-content{
  position:relative;
  z-index:2;
  padding:28px 22px 26px;
  text-align:center;
}
.service-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 12px;
  margin-bottom:14px;
  border-radius:999px;
  background:linear-gradient(135deg,#e6eef6 0%,#dce7f1 100%);
  color:#27496c;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.service-tile-premium .service-content h3{
  font-size:26px;
  margin-bottom:12px;
  color:#fff;
  text-shadow:0 1px 14px rgba(0,0,0,.45);
}
.service-tile-premium .service-content p{
  min-height:116px;
  margin:0;
  color:rgba(255,255,255,.93);
  text-shadow:0 1px 10px rgba(0,0,0,.4);
}
.service-tile-premium:hover{
  transform:translateY(-16px) translateZ(28px) scale(1.02);
  box-shadow:
    0 4px 8px rgba(0,0,0,.2),
    0 18px 36px rgba(8,22,44,.22),
    0 40px 72px rgba(10,28,52,.3),
    0 72px 120px rgba(6,18,38,.18),
    0 0 0 1px rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.24);
}
.service-tile-premium:hover .service-image img{
  transform:scale(1.06);
}
.value-strip-card{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:center;
  padding:38px 42px;
  border-radius:32px;
  background:linear-gradient(145deg,rgba(255,255,255,.99) 0%,rgba(236,242,250,.97) 45%,rgba(252,253,255,.99) 100%);
  border:1px solid rgba(88,118,152,.16);
  transform:translateZ(0);
  box-shadow:
    0 3px 6px rgba(14,32,52,.06),
    0 14px 28px rgba(14,38,68,.1),
    0 32px 64px rgba(12,34,62,.12),
    0 56px 100px rgba(10,28,48,.08),
    0 0 0 1px rgba(255,255,255,.88) inset;
  margin-bottom:32px;
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}
.value-strip-card:hover{
  transform:translateY(-6px);
  box-shadow:
    0 8px 16px rgba(14,32,52,.08),
    0 22px 44px rgba(14,38,68,.13),
    0 48px 92px rgba(12,34,62,.14),
    0 80px 140px rgba(10,28,48,.1),
    0 0 0 1px rgba(255,255,255,.92) inset;
}
.dark-mode .value-strip-card{
  background: linear-gradient(135deg, #0a0a0a 0%, #111827 100%) !important;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 18px 40px rgba(0,0,0,.45),
    0 40px 80px rgba(0,0,0,.35);
}
.dark-mode .value-strip-card:hover{
  box-shadow:
    0 24px 52px rgba(0,0,0,.5),
    0 56px 100px rgba(0,0,0,.4);
}
.value-strip-card h2{
  margin:0;
  font-size:38px;
  line-height:1.08;
  color:#0b2a4a;
  letter-spacing:-.025em;
}
.value-strip-card p{
  margin:0;
  font-size:18px;
  color:#4d5f74;
  line-height:1.6;
}
.homepage-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}
.feature-card{
  position:relative;
  padding:30px 28px;
  border-radius:26px;
  background:linear-gradient(165deg,#ffffff 0%,#f1f6fb 100%);
  border:1px solid rgba(92,122,158,.14);
  transform:translateZ(0);
  box-shadow:
    0 2px 4px rgba(14,32,52,.05),
    0 12px 24px rgba(14,38,68,.08),
    0 28px 52px rgba(12,34,62,.1),
    0 48px 88px rgba(10,28,48,.06),
    0 0 0 1px rgba(255,255,255,.92) inset;
  transition:transform .36s cubic-bezier(.22,1,.36,1), box-shadow .36s ease, border-color .32s ease;
}
.dark-mode .feature-card{
  background:linear-gradient(180deg, #0a0a0a 0%, #111827 100%) !important;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 14px 32px rgba(0,0,0,.4),
    0 32px 72px rgba(0,0,0,.32);
}
.feature-card:hover{
  transform:translateY(-12px) translateZ(12px);
  box-shadow:
    0 6px 12px rgba(14,32,52,.08),
    0 20px 40px rgba(14,38,68,.14),
    0 44px 84px rgba(12,34,62,.16),
    0 72px 120px rgba(10,28,48,.1),
    0 0 0 1px rgba(255,255,255,.95) inset;
  border-color:rgba(68,108,148,.24);
}
.dark-mode .feature-card:hover{
  box-shadow:
    0 20px 44px rgba(0,0,0,.45),
    0 48px 96px rgba(0,0,0,.38);
}
.feature-card.highlight{
  background:linear-gradient(135deg,#d2e3f3 0%,#eef5fc 45%,#fbfdff 100%);
  border-color:rgba(80,118,158,.2);
}
.feature-icon{
  width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  margin-bottom:18px;
  background:linear-gradient(145deg,#5a7490 0%,#8fa3b8 100%);
  color:#fff;
  font-weight:800;
  box-shadow:
    0 4px 8px rgba(40,56,72,.2),
    0 14px 34px rgba(70,96,122,.3),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -2px 6px rgba(0,0,0,.08);
}
.feature-card h3{
  margin:0 0 12px;
  font-size:24px;
  color:#0b2a4a;
  letter-spacing:-.02em;
}
.feature-card p{
  margin:0;
  color:#516375;
  line-height:1.58;
}
.homepage-story-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:28px;
  align-items:stretch;
}
.story-copy-card{
  padding:36px 36px 34px;
  border-radius:32px;
  background:linear-gradient(165deg,#ffffff 0%,#f2f7fc 100%);
  border:1px solid rgba(92,122,158,.13);
  transform:translateZ(0);
  box-shadow:
    0 3px 6px rgba(14,32,52,.06),
    0 16px 32px rgba(14,38,68,.1),
    0 36px 72px rgba(12,34,62,.11),
    0 0 0 1px rgba(255,255,255,.88) inset;
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}
.story-copy-card:hover{
  transform:translateY(-6px);
  box-shadow:
    0 8px 16px rgba(14,32,52,.08),
    0 24px 48px rgba(14,38,68,.13),
    0 52px 100px rgba(12,34,62,.12),
    0 0 0 1px rgba(255,255,255,.92) inset;
}
.dark-mode .story-copy-card{
  background:
    radial-gradient(circle at 65% 25%, rgba(255,180,80,0.05), transparent 45%),
    linear-gradient(180deg, #0a0a0a 0%, #111827 100%) !important;

  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 25px 60px rgba(0,0,0,0.6);
}
.dark-mode .story-copy-card:hover{
  transform:translateY(-6px);
  box-shadow:0 32px 70px rgba(0,0,0,.72), 0 8px 24px rgba(0,0,0,.4);
}
.story-copy-card h2{
  margin:0 0 16px;
  font-size:38px;
  line-height:1.08;
  color:#0b2a4a;
  letter-spacing:-.025em;
}
.story-copy-card p{
  margin:0 0 14px;
  color:#4d5f72;
  font-size:17px;
  line-height:1.6;
}
.homepage-checks{margin-top:18px;}
.story-mosaic{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.story-media,
.homepage-gallery-card{
  overflow:hidden;
  border-radius:26px;
  box-shadow:
    0 4px 8px rgba(14,28,48,.1),
    0 16px 32px rgba(14,38,68,.12),
    0 36px 72px rgba(12,32,58,.1),
    0 64px 120px rgba(8,24,44,.06);
  background:#d8e2ec;
  border:1px solid rgba(255,255,255,.72);
  transition:box-shadow .4s cubic-bezier(.22,1,.36,1), transform .4s cubic-bezier(.22,1,.36,1);
}
.story-media:hover,
.homepage-gallery-card:hover{
  box-shadow:
    0 8px 16px rgba(14,28,48,.12),
    0 24px 48px rgba(14,38,68,.16),
    0 52px 100px rgba(12,32,58,.14),
    0 88px 160px rgba(8,24,44,.1);
  transform:translateY(-8px) scale(1.01);
}
.story-media img,
.homepage-gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .75s ease, filter .4s ease;
}
.story-media:hover img,
.homepage-gallery-card:hover img{
  transform:scale(1.045);
}
.story-media-large{
  grid-column:span 2;
  min-height:320px;
}
.story-media:not(.story-media-large){
  min-height:230px;
}
.marketing-band-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:30px;
  align-items:center;
}
.marketing-band-copy h2{
  margin:0 0 14px;
  font-size:38px;
  line-height:1.08;
  color:#fff;
  letter-spacing:-.025em;
  text-shadow:0 2px 24px rgba(0,0,0,.18);
}
.marketing-band-copy p{
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:18px;
  line-height:1.6;
  text-shadow:0 1px 12px rgba(0,0,0,.12);
}
.homepage-marketing-band .section-kicker{
  background:rgba(255,255,255,.16);
  color:#fff;
}
.marketing-band-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.marketing-stat{
  padding:26px 22px;
  border-radius:24px;
  background:rgba(12,48,92,.42);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 4px 12px rgba(0,0,0,.15),
    0 20px 48px rgba(8,22,42,.28),
    0 40px 88px rgba(4,16,32,.2),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -3px 12px rgba(0,0,0,.12);
  backdrop-filter:blur(12px);
  animation:homepagePulse 7s ease-in-out infinite;
}
.marketing-stat:nth-child(2){animation-delay:1.4s;}
.marketing-stat:nth-child(3){animation-delay:2.8s;}
.marketing-stat strong{
  display:block;
  margin-bottom:8px;
  font-size:36px;
  line-height:1;
  letter-spacing:-.02em;
  text-shadow:0 2px 14px rgba(0,0,0,.15);
}
.marketing-stat span{
  display:block;
  color:rgba(255,255,255,.9);
}
.homepage-gallery-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:22px;
  grid-auto-rows:220px;
}
.homepage-gallery-card.tall{grid-row:span 2;}
.homepage-gallery-card.wide{grid-column:span 2;}
@keyframes homepagePulse{
  0%,100%{
    transform:translateY(0);
    box-shadow:
      0 4px 12px rgba(0,0,0,.15),
      0 20px 48px rgba(8,22,42,.28),
      0 40px 88px rgba(4,16,32,.2),
      inset 0 1px 0 rgba(255,255,255,.14),
      inset 0 -3px 12px rgba(0,0,0,.12);
  }
  50%{
    transform:translateY(-6px);
    box-shadow:
      0 8px 20px rgba(0,0,0,.18),
      0 28px 60px rgba(8,22,42,.32),
      0 52px 110px rgba(4,16,32,.24),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -3px 12px rgba(0,0,0,.14);
  }
}

/* Homepage: výrazné odhaľovanie sekcií pri scrolli (blur + posun; Intersection Observer + .is-revealed) */
html.js-home-reveal .homepage-scroll-section .homepage-intro,
html.js-home-reveal .homepage-scroll-section .service-tile-premium,
html.js-home-reveal .homepage-scroll-section .value-strip-card,
html.js-home-reveal .homepage-scroll-section .feature-card,
html.js-home-reveal .homepage-scroll-section .story-copy-card,
html.js-home-reveal .homepage-scroll-section .story-mosaic .story-media,
html.js-home-reveal .homepage-scroll-section .marketing-band-copy,
html.js-home-reveal .homepage-scroll-section .marketing-band-stats,
html.js-home-reveal .homepage-scroll-section .homepage-gallery-intro,
html.js-home-reveal .homepage-scroll-section .homepage-gallery-card{
  transition:
    opacity 1.2s cubic-bezier(.2,.85,.25,1),
    transform 1.2s cubic-bezier(.2,.85,.25,1),
    filter 1.15s cubic-bezier(.2,.85,.25,1);
}
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-intro,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .service-tile-premium,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .value-strip-card,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .feature-card,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .story-copy-card,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .story-mosaic .story-media,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .marketing-band-copy,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .marketing-band-stats,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-gallery-intro,
html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-gallery-card{
  opacity:0;
  transform:translateY(100px) scale(.92);
  filter:blur(16px);
  -webkit-filter:blur(16px);
}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-intro,
html.js-home-reveal .homepage-scroll-section.is-revealed .service-tile-premium,
html.js-home-reveal .homepage-scroll-section.is-revealed .value-strip-card,
html.js-home-reveal .homepage-scroll-section.is-revealed .feature-card,
html.js-home-reveal .homepage-scroll-section.is-revealed .story-copy-card,
html.js-home-reveal .homepage-scroll-section.is-revealed .story-mosaic .story-media,
html.js-home-reveal .homepage-scroll-section.is-revealed .marketing-band-copy,
html.js-home-reveal .homepage-scroll-section.is-revealed .marketing-band-stats,
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-intro,
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-card{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
  -webkit-filter:blur(0);
}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-intro{transition-delay:0ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(1){transition-delay:80ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(2){transition-delay:160ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(3){transition-delay:240ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(4){transition-delay:320ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(5){transition-delay:400ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .value-strip-card{transition-delay:0ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-feature-grid .feature-card:nth-child(1){transition-delay:110ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-feature-grid .feature-card:nth-child(2){transition-delay:220ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-feature-grid .feature-card:nth-child(3){transition-delay:330ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .story-copy-card{transition-delay:0ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .story-mosaic .story-media:nth-child(1){transition-delay:100ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .story-mosaic .story-media:nth-child(2){transition-delay:200ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .story-mosaic .story-media:nth-child(3){transition-delay:300ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .marketing-band-copy{transition-delay:0ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .marketing-band-stats{transition-delay:170ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-intro{transition-delay:0ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(1){transition-delay:70ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(2){transition-delay:140ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(3){transition-delay:210ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(4){transition-delay:280ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(5){transition-delay:350ms;}
html.js-home-reveal .homepage-scroll-section.is-revealed .value-strip-card{
  transition:
    opacity 1.2s cubic-bezier(.2,.85,.25,1),
    transform 1.2s cubic-bezier(.2,.85,.25,1),
    filter 1.15s cubic-bezier(.2,.85,.25,1),
    box-shadow .35s ease;
}
html.js-home-reveal .homepage-scroll-section.is-revealed .value-strip-card:hover{
  transform:translateY(-6px);
  box-shadow:
    0 8px 16px rgba(14,32,52,.08),
    0 22px 44px rgba(14,38,68,.13),
    0 48px 92px rgba(12,34,62,.14),
    0 80px 140px rgba(10,28,48,.1),
    0 0 0 1px rgba(255,255,255,.92) inset;
}
body.dark-mode html.js-home-reveal .homepage-scroll-section.is-revealed .value-strip-card:hover{
  box-shadow:
    0 24px 52px rgba(0,0,0,.5),
    0 56px 100px rgba(0,0,0,.4);
}
html.js-home-reveal .homepage-scroll-section.is-revealed .feature-card{
  transition:
    opacity 1.2s cubic-bezier(.2,.85,.25,1),
    transform 1.2s cubic-bezier(.2,.85,.25,1),
    filter 1.15s cubic-bezier(.2,.85,.25,1),
    box-shadow .36s ease,
    border-color .32s ease;
}
html.js-home-reveal .homepage-scroll-section.is-revealed .feature-card:hover{
  transform:translateY(-12px) translateZ(12px);
  box-shadow:
    0 6px 12px rgba(14,32,52,.08),
    0 20px 40px rgba(14,38,68,.14),
    0 44px 84px rgba(12,34,62,.16),
    0 72px 120px rgba(10,28,48,.1),
    0 0 0 1px rgba(255,255,255,.95) inset;
  border-color:rgba(68,108,148,.24);
}
body.dark-mode html.js-home-reveal .homepage-scroll-section.is-revealed .feature-card:hover{
  box-shadow:
    0 20px 44px rgba(0,0,0,.45),
    0 48px 96px rgba(0,0,0,.38);
}
html.js-home-reveal .homepage-scroll-section.is-revealed .story-copy-card{
  transition:
    opacity 1.2s cubic-bezier(.2,.85,.25,1),
    transform 1.2s cubic-bezier(.2,.85,.25,1),
    filter 1.15s cubic-bezier(.2,.85,.25,1),
    box-shadow .35s ease;
}
html.js-home-reveal .homepage-scroll-section.is-revealed .story-copy-card:hover{
  transform:translateY(-6px);
  box-shadow:
    0 8px 16px rgba(14,32,52,.08),
    0 24px 48px rgba(14,38,68,.13),
    0 52px 100px rgba(12,34,62,.12),
    0 0 0 1px rgba(255,255,255,.92) inset;
}
body.dark-mode html.js-home-reveal .homepage-scroll-section.is-revealed .story-copy-card:hover{
  box-shadow:0 32px 70px rgba(0,0,0,.72), 0 8px 24px rgba(0,0,0,.4);
}
html.js-home-reveal .homepage-scroll-section.is-revealed .story-media,
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-card{
  transition:
    opacity 1.2s cubic-bezier(.2,.85,.25,1),
    transform 1.2s cubic-bezier(.2,.85,.25,1),
    filter 1.15s cubic-bezier(.2,.85,.25,1),
    box-shadow .4s cubic-bezier(.22,1,.36,1),
    border-color .35s ease;
}
html.js-home-reveal .homepage-scroll-section.is-revealed .story-media:hover,
html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-card:hover{
  box-shadow:
    0 8px 16px rgba(14,28,48,.12),
    0 24px 48px rgba(14,38,68,.16),
    0 52px 100px rgba(12,32,58,.14),
    0 88px 160px rgba(8,24,44,.1);
  transform:translateY(-8px) scale(1.01);
}
html.js-home-reveal .homepage-scroll-section.is-revealed .service-tile-premium{
  transition:
    opacity 1.2s cubic-bezier(.2,.85,.25,1),
    transform 1.2s cubic-bezier(.2,.85,.25,1),
    filter 1.15s cubic-bezier(.2,.85,.25,1),
    box-shadow .42s ease,
    border-color .35s ease;
}
html.js-home-reveal .homepage-scroll-section.is-revealed .service-tile-premium:hover{
  transform:translateY(-16px) translateZ(28px) scale(1.02);
  box-shadow:
    0 4px 8px rgba(0,0,0,.2),
    0 18px 36px rgba(8,22,44,.22),
    0 40px 72px rgba(10,28,52,.3),
    0 72px 120px rgba(6,18,38,.18),
    0 0 0 1px rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.24);
}

/* Scroll reveal — šetrnejšie na tabletoch (menší blur, kratšia animácia) */
@media (max-width:900px){
  html.js-home-reveal .homepage-scroll-section .homepage-intro,
  html.js-home-reveal .homepage-scroll-section .service-tile-premium,
  html.js-home-reveal .homepage-scroll-section .value-strip-card,
  html.js-home-reveal .homepage-scroll-section .feature-card,
  html.js-home-reveal .homepage-scroll-section .story-copy-card,
  html.js-home-reveal .homepage-scroll-section .story-mosaic .story-media,
  html.js-home-reveal .homepage-scroll-section .marketing-band-copy,
  html.js-home-reveal .homepage-scroll-section .marketing-band-stats,
  html.js-home-reveal .homepage-scroll-section .homepage-gallery-intro,
  html.js-home-reveal .homepage-scroll-section .homepage-gallery-card{
    transition:
      opacity .9s cubic-bezier(.2,.85,.25,1),
      transform .9s cubic-bezier(.2,.85,.25,1),
      filter .85s cubic-bezier(.2,.85,.25,1);
  }
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-intro,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .service-tile-premium,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .value-strip-card,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .feature-card,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .story-copy-card,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .story-mosaic .story-media,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .marketing-band-copy,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .marketing-band-stats,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-gallery-intro,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-gallery-card{
    transform:translateY(72px) scale(.94);
    filter:blur(7px);
    -webkit-filter:blur(7px);
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .value-strip-card{
    transition:
      opacity .9s cubic-bezier(.2,.85,.25,1),
      transform .9s cubic-bezier(.2,.85,.25,1),
      filter .85s cubic-bezier(.2,.85,.25,1),
      box-shadow .35s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .feature-card{
    transition:
      opacity .9s cubic-bezier(.2,.85,.25,1),
      transform .9s cubic-bezier(.2,.85,.25,1),
      filter .85s cubic-bezier(.2,.85,.25,1),
      box-shadow .36s ease,
      border-color .32s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-copy-card{
    transition:
      opacity .9s cubic-bezier(.2,.85,.25,1),
      transform .9s cubic-bezier(.2,.85,.25,1),
      filter .85s cubic-bezier(.2,.85,.25,1),
      box-shadow .35s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-media,
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-card{
    transition:
      opacity .9s cubic-bezier(.2,.85,.25,1),
      transform .9s cubic-bezier(.2,.85,.25,1),
      filter .85s cubic-bezier(.2,.85,.25,1),
      box-shadow .4s cubic-bezier(.22,1,.36,1),
      border-color .35s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .service-tile-premium{
    transition:
      opacity .9s cubic-bezier(.2,.85,.25,1),
      transform .9s cubic-bezier(.2,.85,.25,1),
      filter .85s cubic-bezier(.2,.85,.25,1),
      box-shadow .42s ease,
      border-color .35s ease;
  }
}

/* Telefón: bez bluru, kratšie trvanie — menej záťaže na GPU pri scrolli */
@media (max-width:600px){
  html.js-home-reveal .homepage-scroll-section .homepage-intro,
  html.js-home-reveal .homepage-scroll-section .service-tile-premium,
  html.js-home-reveal .homepage-scroll-section .value-strip-card,
  html.js-home-reveal .homepage-scroll-section .feature-card,
  html.js-home-reveal .homepage-scroll-section .story-copy-card,
  html.js-home-reveal .homepage-scroll-section .story-mosaic .story-media,
  html.js-home-reveal .homepage-scroll-section .marketing-band-copy,
  html.js-home-reveal .homepage-scroll-section .marketing-band-stats,
  html.js-home-reveal .homepage-scroll-section .homepage-gallery-intro,
  html.js-home-reveal .homepage-scroll-section .homepage-gallery-card{
    transition:
      opacity .68s cubic-bezier(.25,.9,.25,1),
      transform .68s cubic-bezier(.25,.9,.25,1);
  }
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-intro,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .service-tile-premium,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .value-strip-card,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .feature-card,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .story-copy-card,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .story-mosaic .story-media,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .marketing-band-copy,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .marketing-band-stats,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-gallery-intro,
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .homepage-gallery-card{
    transform:translateY(44px) scale(.97);
    filter:none;
    -webkit-filter:none;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-intro,
  html.js-home-reveal .homepage-scroll-section.is-revealed .service-tile-premium,
  html.js-home-reveal .homepage-scroll-section.is-revealed .value-strip-card,
  html.js-home-reveal .homepage-scroll-section.is-revealed .feature-card,
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-copy-card,
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-mosaic .story-media,
  html.js-home-reveal .homepage-scroll-section.is-revealed .marketing-band-copy,
  html.js-home-reveal .homepage-scroll-section.is-revealed .marketing-band-stats,
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-intro,
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-card{
    filter:none;
    -webkit-filter:none;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .value-strip-card{
    transition:
      opacity .68s cubic-bezier(.25,.9,.25,1),
      transform .68s cubic-bezier(.25,.9,.25,1),
      box-shadow .35s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .feature-card{
    transition:
      opacity .68s cubic-bezier(.25,.9,.25,1),
      transform .68s cubic-bezier(.25,.9,.25,1),
      box-shadow .36s ease,
      border-color .32s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-copy-card{
    transition:
      opacity .68s cubic-bezier(.25,.9,.25,1),
      transform .68s cubic-bezier(.25,.9,.25,1),
      box-shadow .35s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-media,
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-card{
    transition:
      opacity .68s cubic-bezier(.25,.9,.25,1),
      transform .68s cubic-bezier(.25,.9,.25,1),
      box-shadow .4s cubic-bezier(.22,1,.36,1),
      border-color .35s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .service-tile-premium{
    transition:
      opacity .68s cubic-bezier(.25,.9,.25,1),
      transform .68s cubic-bezier(.25,.9,.25,1),
      box-shadow .42s ease,
      border-color .35s ease;
  }
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(1){transition-delay:45ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(2){transition-delay:90ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(3){transition-delay:135ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(4){transition-delay:180ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-services-grid .service-tile-premium:nth-child(5){transition-delay:225ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-feature-grid .feature-card:nth-child(1){transition-delay:60ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-feature-grid .feature-card:nth-child(2){transition-delay:120ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-feature-grid .feature-card:nth-child(3){transition-delay:180ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-mosaic .story-media:nth-child(1){transition-delay:55ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-mosaic .story-media:nth-child(2){transition-delay:110ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .story-mosaic .story-media:nth-child(3){transition-delay:165ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .marketing-band-stats{transition-delay:100ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(1){transition-delay:40ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(2){transition-delay:80ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(3){transition-delay:120ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(4){transition-delay:160ms;}
  html.js-home-reveal .homepage-scroll-section.is-revealed .homepage-gallery-grid .homepage-gallery-card:nth-child(5){transition-delay:200ms;}
}

html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .service-tile-premium{
  pointer-events:none;
}
@media (prefers-reduced-motion:reduce){
  html.js-home-reveal .homepage-scroll-section .homepage-intro,
  html.js-home-reveal .homepage-scroll-section .service-tile-premium,
  html.js-home-reveal .homepage-scroll-section .value-strip-card,
  html.js-home-reveal .homepage-scroll-section .feature-card,
  html.js-home-reveal .homepage-scroll-section .story-copy-card,
  html.js-home-reveal .homepage-scroll-section .story-mosaic .story-media,
  html.js-home-reveal .homepage-scroll-section .marketing-band-copy,
  html.js-home-reveal .homepage-scroll-section .marketing-band-stats,
  html.js-home-reveal .homepage-scroll-section .homepage-gallery-intro,
  html.js-home-reveal .homepage-scroll-section .homepage-gallery-card{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    -webkit-filter:none !important;
    transition:none !important;
  }
  html.js-home-reveal .homepage-scroll-section:not(.is-revealed) .service-tile-premium{
    pointer-events:auto !important;
  }
}

/* PHM animation display fix - animate inner glow, not whole card */
.hero-layout.with-phm .hero-phm-card{
  animation:none !important;
  margin-right:0 !important;
}
.hero-phm-card{
  transform:none !important;
}
.hero-phm-screen{
  position:relative;
  overflow:hidden;
}
.hero-phm-screen:before{
  content:"";
  position:absolute;
  inset:-30% auto -30% -45%;
  width:44%;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.38) 50%,rgba(255,255,255,0) 100%);
  transform:skewX(-16deg);
  animation:phmSweep 5.8s ease-in-out infinite;
  pointer-events:none;
}
.phm-live-value{
  display:inline-block;
  animation:phmValuePulse 3.6s ease-in-out infinite;
}
.phm-live-value-delay{
  animation-delay:1.2s;
}
@keyframes phmSweep{
  0%,16%{left:-48%; opacity:0;}
  24%{opacity:.45;}
  48%{left:112%; opacity:.12;}
  100%{left:112%; opacity:0;}
}
@keyframes phmValuePulse{
  0%,100%{transform:scale(1); text-shadow:none;}
  50%{transform:scale(1.03); text-shadow:0 0 18px rgba(31,136,174,.12);}
}

@media (max-width:1180px){
  .value-strip-card,
  .homepage-story-grid,
  .marketing-band-grid{
    grid-template-columns:1fr;
  }
  .marketing-band-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:900px){
  .homepage-feature-grid,
  .marketing-band-stats,
  .homepage-gallery-grid{
    grid-template-columns:1fr;
  }
  .homepage-gallery-grid{
    grid-auto-rows:240px;
  }
  .homepage-gallery-card.tall,
  .homepage-gallery-card.wide,
  .story-media-large{
    grid-column:auto;
    grid-row:auto;
  }
}
@media (max-width:680px){
  .service-tile-premium{min-height:300px;}
  .service-tile-premium .service-content p{min-height:auto;}
  .value-strip-card,
  .story-copy-card{
    padding:26px 22px;
    border-radius:22px;
  }
  .value-strip-card h2,
  .story-copy-card h2,
  .marketing-band-copy h2,
  .section-intro h2{
    font-size:30px;
  }
  .feature-card,
  .marketing-stat{
    padding:22px 18px;
    border-radius:18px;
  }
}


/* Ostatné služby */

.soft-gradient{
  background:linear-gradient(180deg, #f8fbff 0%, #eef3f8 100%);
}
.ostatne-page .container{display:block;}
.ostatne-intro{margin-bottom:36px;}
.ostatne-service-card{
  border-radius:24px;
  padding:30px;
  margin-bottom:28px;
  box-shadow:0 18px 40px rgba(13,33,57,.10);
}
.ostatne-two-col{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:start;
}
.ostatne-copy h2,
.ostatne-mini-card h2,
.ostatne-wide-copy h2{margin-top:0;}
.ostatne-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.logo-panel{
  border-radius:22px;
  text-align:center;
  background:#fff;
}
.logo-panel h3{margin:0 0 14px;}
.logo-panel img{
  width:100%;
  max-width:560px;
  margin:0 auto;
  border-radius:18px;
}
.ostatne-visual-stack{
  display:grid;
  gap:18px;
}
.ostatne-visual-stack .media.large,
.ostatne-wide-showcase .media{
  border-radius:22px;
  overflow:hidden;
}
.ostatne-grid-three{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
  margin-bottom:28px;
}
.ostatne-mini-card{
  border-radius:22px;
  min-height:100%;
}
.highlight-blue{
  background:linear-gradient(180deg, #f3f8ff 0%, #e4edf8 100%);
}
.ostatne-wide-showcase{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:stretch;
  margin-bottom:28px;
}
.ostatne-wide-copy{
  border-radius:22px;
}
.ostatne-contact-band{
  background:linear-gradient(135deg, #163b69 0%, #4d6685 100%);
  color:#fff;
  border-radius:26px;
  padding:34px;
  box-shadow:0 20px 42px rgba(8,25,46,.18);
}
.ostatne-contact-band h2,
.ostatne-contact-band p{color:#fff;}
.ostatne-contact-band .hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:16px;}
.btn-secondary{
  display:inline-block;
  padding:14px 20px;
  border-radius:6px;
  text-decoration:none;
  font-weight:700;
  border:2px solid rgba(255,255,255,.45);
  color:#fff;
  background:rgba(255,255,255,.08);
}
.btn-secondary:hover{transform:translateY(-3px); box-shadow:0 10px 25px rgba(0,0,0,.15);}
.homepage-extra-services{padding-top:0;}
.homepage-extra-services-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:center;
}
.extra-services-copy{border-radius:24px;}
.extra-services-media{border-radius:24px; overflow:hidden;}
@media (max-width: 980px){
  .ostatne-two-col,
  .ostatne-grid-three,
  .ostatne-wide-showcase,
  .homepage-extra-services-grid{grid-template-columns:1fr;}
  .ostatne-service-card{padding:22px;}
}


/* === Footer and infobar alignment update === */
.site-infobar .container{
  display:flex;
  justify-content:flex-end;
}
.site-infobar-row{
  margin-left:auto;
}

.footer > .container:first-child{
  display:grid;
  grid-template-columns:minmax(150px, 0.8fr) repeat(3, minmax(170px, 1fr));
  gap:32px;
  align-items:start;
  padding:26px 0 14px;
}
.footer > .container:last-child{
  display:block;
  padding:0 0 14px;
}
.footer-menu-column p{
  margin:0 0 6px;
}
.footer-menu-column a{
  display:inline-block;
  line-height:1.35;
}
.footer-logo{
  display:flex;
  align-items:flex-start;
  margin:0;
}
.footer-logo img{
  width:auto;
  max-width:100%;
  max-height:72px;
}
.copyline{
  padding:12px 0 0;
}
@media (max-width: 980px){
  .footer > .container:first-child{
    grid-template-columns:1fr 1fr;
    gap:20px;
    padding:24px 0 14px;
  }
}
@media (max-width: 640px){
  .footer > .container:first-child{
    grid-template-columns:1fr;
  }
}


.und-form-message,.und-review-message{margin-top:12px;padding:12px 14px;border-radius:12px;background:#efe8db;color:#2b241a}.und-form-message.ok,.und-review-message.ok{background:#e4f2e2;border:1px solid #7ba47d}.und-form-message.err,.und-review-message.err{background:#fde3e0;border:1px solid #d17d72}.review{background:#f7f1e7;border:1px solid #d6c8b5;border-radius:16px;padding:16px;margin-bottom:12px}

/* Other services dynamic content */
.other-update-card{margin:0 auto 22px auto;max-width:1180px;}
.other-update-layout{display:grid;gap:24px;align-items:center;}
.other-update-layout.has-image{grid-template-columns:minmax(0,1.6fr) minmax(240px,.9fr);}
.other-update-layout.no-image{grid-template-columns:1fr;}
.other-update-copy p{margin:0;font-size:1.02rem;line-height:1.8;}
.ostatne-price-strip{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:14px;margin:18px 0 10px;}
.ostatne-price-item{background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 10px 24px rgba(15,23,42,.08);}
.ostatne-price-item span{font-weight:700;color:#334155;}
.ostatne-price-item strong{font-size:1.3rem;white-space:nowrap;}
@media (max-width:900px){.other-update-layout.has-image{grid-template-columns:1fr;}.ostatne-price-strip{grid-template-columns:1fr;}}


.support-chat-widget{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}
.support-chat-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:none;
  border-radius:999px;
  padding:14px 18px;
  background:#c8102e;
  color:#fff;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.support-chat-toggle-icon{font-size:18px; line-height:1;}
.support-chat-panel{
  width:min(360px, calc(100vw - 24px));
  background:#fff;
  border:1px solid rgba(21,35,52,.12);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(15,23,42,.22);
}
.support-chat-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  background:#14243a;
  color:#fff;
}
.support-chat-close{
  border:none;
  background:transparent;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.support-chat-messages{
  max-height:340px;
  overflow:auto;
  padding:14px;
  background:#f5f7fb;
}
.support-chat-message{display:flex; margin-bottom:10px;}
.support-chat-message.is-user{justify-content:flex-end;}
.support-chat-bubble{
  max-width:85%;
  padding:11px 13px;
  border-radius:14px;
  background:#fff;
  color:#16202d;
  box-shadow:0 4px 12px rgba(15,23,42,.08);
  white-space:pre-wrap;
}
.support-chat-message.is-user .support-chat-bubble{
  background:#c8102e;
  color:#fff;
}
.support-chat-typing{
  font-size:13px;
  font-style:italic;
  color:#64748b;
  box-shadow:none;
  border:1px dashed rgba(100,116,139,.35);
  background:#f8fafc;
}
.support-chat-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 14px 0;
  background:#fff;
}
.support-chat-chip{
  border:1px solid rgba(200,16,46,.25);
  background:#fff5f7;
  color:#a00e28;
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
  font-size:13px;
}
.support-chat-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  padding:14px;
  background:#fff;
}
.support-chat-form input{
  min-width:0;
  border:1px solid #d7dfeb;
  border-radius:12px;
  padding:11px 12px;
}
.support-chat-form button{
  border:none;
  border-radius:12px;
  background:#14243a;
  color:#fff;
  font-weight:700;
  padding:0 16px;
  cursor:pointer;
}
@media (max-width: 640px){
  .support-chat-widget{right:12px; bottom:12px; left:12px; align-items:stretch;}
  .support-chat-toggle{justify-content:center;}
  .support-chat-panel{width:100%;}
}


/* Strankove boxy aktualit */
.page-updates-section{padding:36px 0 22px}
.page-updates-container{display:grid;gap:18px}
.page-update-card{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#fffaf0 0%,#f2e5cf 100%);border:1px solid rgba(110,78,40,.18);box-shadow:0 18px 40px rgba(16,27,48,.08);padding:28px}
.page-update-card .page-update-inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.9fr);gap:24px;align-items:center}
.page-update-card.no-image .page-update-inner{grid-template-columns:minmax(0,1fr)}
.page-update-card .section-kicker{margin-bottom:12px}
.page-update-copy p{margin:0;font-size:1.08rem;line-height:1.72;color:#243547}
.page-update-copy p + p{margin-top:10px}
.page-update-image img{display:block;width:100%;height:100%;max-height:260px;object-fit:cover;border-radius:22px;box-shadow:0 12px 24px rgba(10,29,55,.18)}
.page-update-card.variant-banner{background:linear-gradient(135deg,#fff7e8 0%,#efe0c1 100%)}
.page-update-card.variant-trapezoid{border-radius:20px;background:linear-gradient(132deg,#fff6d9 0%,#f0ddab 100%);clip-path:polygon(3% 0,100% 0,96% 100%,0 100%)}
.page-update-card.variant-trapezoid::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.18),rgba(255,255,255,0));pointer-events:none}
.page-update-card.variant-parchment{background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.65),transparent 26%),linear-gradient(140deg,#f9efd1 0%,#ecd9ad 100%);border-radius:22px;border-color:rgba(125,91,35,.24)}
.page-update-card.variant-parchment::before{content:"";position:absolute;top:16px;left:24px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f8f1df 0 18%,#6e4a2a 20% 58%,#3e2715 60%);box-shadow:0 2px 0 rgba(255,255,255,.4) inset,0 4px 10px rgba(0,0,0,.22)}
.page-update-card.variant-parchment::after{content:"";position:absolute;inset:10px;border:1px dashed rgba(117,86,41,.28);border-radius:18px;pointer-events:none}
.page-update-card.variant-parchment .page-update-copy{padding-left:4px}
@media (max-width: 860px){.page-update-card .page-update-inner{grid-template-columns:1fr}.page-update-image img{max-height:220px}}
.reviews-page-section{padding-top:32px}
.reviews-page-card{background:#fff;border:1px solid rgba(18,43,74,.08);border-radius:24px;padding:28px;box-shadow:0 14px 32px rgba(18,43,74,.06)}
.reviews-page-card form input,.reviews-page-card form textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid #ccd5df;font:inherit}
.reviews-page-card form textarea{min-height:140px;resize:vertical}
.reviews-page-card form button{margin-top:12px}


.newsletter-signup{display:grid;grid-template-columns:1.1fr 1.9fr;gap:18px;align-items:center;max-width:1200px;margin:28px auto 0;padding:18px 20px;border-radius:24px;background:#041327;border:1px solid #d8e1ed;box-shadow:0 12px 34px rgba(20,52,92,.08)}
.newsletter-signup .newsletter-copy strong{display:block;font-size:1.05rem;color:#d9dadb;margin-bottom:4px}
.newsletter-signup .newsletter-copy p{margin:0;color:#5f6f88}
.newsletter-signup .newsletter-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.newsletter-signup .newsletter-form input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid #b8c6d8;background:#fff}
.newsletter-signup .newsletter-form button{padding:12px 18px;border:none;border-radius:14px;background:#eb2e2e;color:#fff;font-weight:700;cursor:pointer}
.newsletter-signup .newsletter-message{grid-column:1/-1;font-size:.95rem;color:#e85a5a}
@media (max-width:900px){.newsletter-signup{grid-template-columns:1fr}.newsletter-signup .newsletter-form{grid-template-columns:1fr}}

/* Speed v2 performance */
.section, .footer, .stats-section, .contact-section, .services-section, .fleet-section, .page-section, .content-section { content-visibility: auto; contain-intrinsic-size: 1px 800px; }
.hero, .site-header, .topbar, #page-updates-section { content-visibility: visible; }
img[loading="lazy"] { will-change: auto; }

/* HERO ENHANCED */
.hero{position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(0,0,0,.65));z-index:1}
.hero>*{position:relative;z-index:2}
.hero h1{ text-shadow:0 12px 30px rgba(0,0,0,.7)}
.hero p{ text-shadow:0 6px 20px rgba(0,0,0,.6)}

/* GRID ENHANCED */
.service-card,.homepage-services-grid>div{
 background:#fff;
 border-radius:18px;
 padding:24px;
 border:1px solid rgba(0,0,0,.05);
 box-shadow:0 12px 30px rgba(0,0,0,.1),0 3px 8px rgba(0,0,0,.05);
 transition:all .3s ease;
 position:relative;
 overflow:hidden
}
.service-card:hover,.homepage-services-grid>div:hover{
 transform:translateY(-8px) scale(1.01);
 box-shadow:0 25px 60px rgba(0,0,0,.18),0 10px 25px rgba(0,0,0,.1)
}
.service-card::before,.homepage-services-grid>div::before{
 content:"";
 position:absolute;
 left:0;top:0;height:100%;width:6px;
 background:linear-gradient(to bottom,#2563eb,#60a5fa);
 opacity:.7
}
.homepage-services-grid{gap:28px}


/* STRONGER SHADOW */
.service-card,.homepage-services-grid>div{
 box-shadow:0 25px 60px rgba(0,0,0,.2),0 10px 25px rgba(0,0,0,.12);
}

/* CENTER TEXT IN SERVICE BOXES */
.homepage-services-grid>div{
 display:flex;
 align-items:center;
 justify-content:center;
 text-align:center;
}

/* BACKGROUND IMAGE + DARK OVERLAY */
.homepage-services-grid>div{
 position:relative;
 color:#fff;
}
.homepage-services-grid>div::after{
 content:"";
 position:absolute;
 inset:0;
 background:rgba(0,0,0,0.45);
}
.homepage-services-grid>div>*{
 position:relative;
 z-index:2;
}

/* NEWSLETTER DARK */
.newsletter{
 background:#111;
 color:#fff;
 padding:40px;
 text-align:center;
}

/* HIDE FORM */
.newsletter form{
 display:none;
}

/* BUTTON STYLE */
.newsletter .btn{
 display:inline-block;
 padding:12px 24px;
 background:#2563eb;
 color:#fff;
 border-radius:8px;
 cursor:pointer;
}

/* POPUP */
.newsletter-popup{
 position:fixed;
 inset:0;
 background:rgba(0,0,0,0.7);
 display:none;
 align-items:center;
 justify-content:center;
 z-index:9999;
}
.newsletter-popup.active{
 display:flex;
}
.newsletter-popup .inner{
 background:#fff;
 padding:30px;
 border-radius:12px;
 max-width:400px;
 width:100%;
}

/* FINAL SERVICE CARDS FIX */
.homepage-services-grid {
  gap: 30px;
}

.service-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  background-size: cover;
  background-position: center;

  box-shadow: 
    0 25px 60px rgba(0,0,0,0.25),
    0 10px 25px rgba(0,0,0,0.12);

  transition: all 0.35s ease;
}

.service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 1;
}

.service-card > * {
  position: relative;
  z-index: 2;
}

.service-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 
    0 35px 80px rgba(0,0,0,0.35),
    0 15px 40px rgba(0,0,0,0.2);
}

/* NEWSLETTER FIX */
.newsletter-form {
  display: none;
}

.newsletter-btn {
  background: #2563eb;
  color: white;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
}


/* === Professional theme polish (safe, no layout/position changes) === */
:root{
  --page-bg:#dde7f1;
  --page-bg-soft:#eef4fa;
  --surface-bg:#ffffff;
  --surface-alt:#f7fbff;
  --surface-line:rgba(18,61,115,.10);
  --surface-shadow:0 12px 30px rgba(13,33,57,.08);
}

body{
  background:#dde7f1;
  background:var(--page-bg);
  color:var(--text);
}

.site-header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--surface-line);
  box-shadow:0 8px 20px rgba(13,33,57,.04);
}

.section-alt,
.service-cards-section,
.newsletter-band,
.strk-gallery-block,
.info-block,
.card,
.stat,
.contact-box,
.contact-card,
.product-card,
.service-card,
.detail-card,
.legal-card,
.media,
.about-main-card,
.about-side-card,
.about-stat,
.about-service-item,
.timeline-item,
.cert-card,
.department-card,
.career-card,
.service-detail-card,
.map-wrap,
.hero-phm-card,
.hero-phm-screen,
.service-hotline,
table,
.contact-form form,
.logos-floating-strip{
  background:var(--surface-bg);
  border-color:var(--surface-line);
  box-shadow:var(--surface-shadow);
}

.homepage-services-grid .service-card,
.services-grid .service-card,
.service-grid .service-card{
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border:1px solid rgba(18,61,115,.10);
  box-shadow:0 18px 42px rgba(13,33,57,.11), 0 6px 14px rgba(13,33,57,.05);
}

.newsletter-band,
.newsletter-section,
.newsletter-box,
.newsletter-wrap{
  background:linear-gradient(135deg, #123d73 0%, #0b2b52 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 46px rgba(8,20,40,.22);
}

body.dark-mode{
  --page-bg:#061221;
  --page-bg-soft:#0b1c34;
  --surface-bg:rgba(10, 26, 51, .96);
  --surface-alt:rgba(12, 30, 58, .96);
  --surface-line:rgba(138,182,255,.22);
  --surface-shadow:
    0 1px 0 rgba(255,255,255,.078) inset,
    0 2px 8px rgba(0,0,0,.22),
    0 14px 32px rgba(0,0,0,.34),
    0 28px 56px rgba(0,0,0,.2);
  color:var(--text);
}

body.dark-mode .site-header{
  background:rgba(6, 18, 33, .94);
  border-bottom:1px solid var(--surface-line);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}

body.dark-mode .section-alt,
body.dark-mode .service-cards-section,
body.dark-mode .newsletter-band,
body.dark-mode .strk-gallery-block,
body.dark-mode .info-block,
body.dark-mode .card,
body.dark-mode .stat,
body.dark-mode .contact-box,
body.dark-mode .contact-card,
body.dark-mode .product-card,
body.dark-mode .service-card,
body.dark-mode .detail-card,
body.dark-mode .legal-card,
body.dark-mode .media,
body.dark-mode .about-main-card,
body.dark-mode .about-side-card,
body.dark-mode .about-stat,
body.dark-mode .about-service-item,
body.dark-mode .timeline-item,
body.dark-mode .cert-card,
body.dark-mode .department-card,
body.dark-mode .career-card,
body.dark-mode .service-detail-card,
body.dark-mode .map-wrap,
body.dark-mode .hero-phm-card,
body.dark-mode .hero-phm-screen,
body.dark-mode .service-hotline,
body.dark-mode table,
body.dark-mode .contact-form form,
body.dark-mode .logos-floating-strip{
  background:var(--surface-bg);
  border-color:var(--surface-line);
  box-shadow:var(--surface-shadow);
}

body.dark-mode .homepage-services-grid .service-card,
body.dark-mode .services-grid .service-card,
body.dark-mode .service-grid .service-card{
  background:linear-gradient(180deg, rgba(10,26,51,.98) 0%, rgba(13,35,67,.98) 100%);
  border:1px solid rgba(120,169,255,.16);
  box-shadow:0 22px 50px rgba(0,0,0,.34), 0 8px 18px rgba(0,0,0,.18);
}

body.dark-mode .newsletter-band,
body.dark-mode .newsletter-section,
body.dark-mode .newsletter-box,
body.dark-mode .newsletter-wrap{
  background:linear-gradient(135deg, #0a1c38 0%, #163c74 100%);
  color:#eef5ff;
  border-color:rgba(120,169,255,.18);
  box-shadow:0 24px 58px rgba(0,0,0,.36);
}

/* Dark mode: bez fullscreen ::before (robilo zahmlený „záves“ cez obsah); pozadie len na body */
.dark-mode body,
.dark-mode {
  background:#000 !important;
  position:relative;
}

.dark-mode::before{
  content:none !important;
  display:none !important;
}

/* Dark mode: rovnaké pozadie ako na hlavnej stránke (hmla, lampa, fixed) — všetky podstránky */
body.dark-mode{
  --text:#f2f7ff;
  --muted:#d0e4f8;
  --surface-line:rgba(138,182,255,.24);
  --surface-shadow:
    0 1px 0 rgba(255,255,255,.085) inset,
    0 2px 8px rgba(0,0,0,.22),
    0 14px 32px rgba(0,0,0,.34),
    0 28px 56px rgba(0,0,0,.2);
  background-color:#070a10 !important;
  background-image:
    radial-gradient(circle 48vmin at 88% -6%, rgba(255,225,170,.48) 0%, rgba(255,200,130,.26) 18%, rgba(255,175,105,.12) 34%, rgba(255,160,90,0) 56%),
    radial-gradient(circle 85vmin at 82% 18%, rgba(255,205,140,.3) 0%, rgba(255,185,110,.12) 42%, rgba(255,175,95,0) 62%),
    radial-gradient(circle 28vmin at 74% 2%, rgba(255,252,235,.38) 0%, rgba(255,240,200,.14) 40%, rgba(255,230,185,0) 52%),
    radial-gradient(circle 55vmin at 24% 18%, rgba(255,210,150,.08) 0%, rgba(255,190,120,.04) 45%, transparent 62%),
    radial-gradient(ellipse 130% 88% at 50% 38%, rgba(62,108,198,.16) 0%, rgba(40,72,150,.08) 32%, rgba(30,50,110,0) 62%),
    radial-gradient(ellipse 118% 85% at 50% -22%, rgba(88,98,118,.32) 0%, transparent 56%),
    radial-gradient(ellipse 92% 70% at 108% 35%, rgba(56,66,82,.22) 0%, transparent 52%),
    radial-gradient(ellipse 70% 50% at -8% 80%, rgba(48,56,70,.18) 0%, transparent 48%),
    linear-gradient(180deg,#060910 0%,#0d1018 42%,#080c12 100%) !important;
  background-repeat:no-repeat;
  background-attachment:fixed !important;
}

/* Dark mode: prechody a tiene na boxoch (globálne; odkazy — !important vyššie) */
body.dark-mode .section-alt,
body.dark-mode .service-cards-section,
body.dark-mode .newsletter-band,
body.dark-mode .strk-gallery-block,
body.dark-mode .info-block,
body.dark-mode .card,
body.dark-mode .stat,
body.dark-mode .contact-box,
body.dark-mode .contact-card,
body.dark-mode .product-card,
body.dark-mode .service-card,
body.dark-mode .detail-card,
body.dark-mode .legal-card,
body.dark-mode .media,
body.dark-mode .about-main-card,
body.dark-mode .about-side-card,
body.dark-mode .about-stat,
body.dark-mode .about-service-item,
body.dark-mode .timeline-item,
body.dark-mode .cert-card,
body.dark-mode .department-card,
body.dark-mode .career-card,
body.dark-mode .service-detail-card,
body.dark-mode .map-wrap,
body.dark-mode .hero-phm-card,
body.dark-mode .service-hotline,
body.dark-mode .logos-floating-strip,
body.dark-mode .contact-form form,
body.dark-mode .beton-slide,
body.dark-mode .panel,
body.dark-mode .compact-panel,
body.dark-mode .compact-card,
body.dark-mode .person-card,
body.dark-mode .compact-person,
body.dark-mode .phm-box,
body.dark-mode .service-tile,
body.dark-mode .hero-cert-item,
body.dark-mode table{
  transition:
    box-shadow .42s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    transform .42s cubic-bezier(.22,1,.36,1),
    background-color .35s ease;
}

body.dark-mode .section-alt:hover,
body.dark-mode .service-cards-section:hover,
body.dark-mode .newsletter-band:hover,
body.dark-mode .strk-gallery-block:hover,
body.dark-mode .info-block:hover,
body.dark-mode .card:hover,
body.dark-mode .stat:hover,
body.dark-mode .contact-box:hover,
body.dark-mode .contact-card:hover,
body.dark-mode .product-card:hover,
body.dark-mode .service-card:hover,
body.dark-mode .detail-card:hover,
body.dark-mode .legal-card:hover,
body.dark-mode .media:hover,
body.dark-mode .about-main-card:hover,
body.dark-mode .about-side-card:hover,
body.dark-mode .about-stat:hover,
body.dark-mode .about-service-item:hover,
body.dark-mode .timeline-item:hover,
body.dark-mode .cert-card:hover,
body.dark-mode .department-card:hover,
body.dark-mode .career-card:hover,
body.dark-mode .service-detail-card:hover,
body.dark-mode .map-wrap:hover,
body.dark-mode .hero-phm-card:hover,
body.dark-mode .service-hotline:hover,
body.dark-mode .logos-floating-strip:hover,
body.dark-mode .contact-form form:hover,
body.dark-mode .beton-slide:hover,
body.dark-mode .panel:hover,
body.dark-mode .compact-panel:hover,
body.dark-mode .compact-card:hover,
body.dark-mode .person-card:hover,
body.dark-mode .compact-person:hover,
body.dark-mode .phm-box:hover,
body.dark-mode .service-tile:hover,
body.dark-mode .hero-cert-item:hover{
  transform:translateY(-4px);
  border-color:rgba(170,210,255,.38) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.11) inset,
    0 8px 20px rgba(0,0,0,.32),
    0 22px 48px rgba(0,0,0,.4),
    0 40px 72px rgba(0,0,0,.22),
    0 0 0 1px rgba(100,150,230,.12) !important;
}

body.dark-mode table:hover{
  transform:none;
  border-color:rgba(170,210,255,.34) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.09) inset,
    0 10px 28px rgba(0,0,0,.38),
    0 0 0 1px rgba(100,150,230,.1) !important;
}

@media (prefers-reduced-motion: reduce){
  body.dark-mode .section-alt,
  body.dark-mode .service-cards-section,
  body.dark-mode .newsletter-band,
  body.dark-mode .strk-gallery-block,
  body.dark-mode .info-block,
  body.dark-mode .card,
  body.dark-mode .stat,
  body.dark-mode .contact-box,
  body.dark-mode .contact-card,
  body.dark-mode .product-card,
  body.dark-mode .service-card,
  body.dark-mode .detail-card,
  body.dark-mode .legal-card,
  body.dark-mode .media,
  body.dark-mode .about-main-card,
  body.dark-mode .about-side-card,
  body.dark-mode .about-stat,
  body.dark-mode .about-service-item,
  body.dark-mode .timeline-item,
  body.dark-mode .cert-card,
  body.dark-mode .department-card,
  body.dark-mode .career-card,
  body.dark-mode .service-detail-card,
  body.dark-mode .map-wrap,
  body.dark-mode .hero-phm-card,
  body.dark-mode .service-hotline,
  body.dark-mode .logos-floating-strip,
  body.dark-mode .contact-form form,
  body.dark-mode .beton-slide,
  body.dark-mode .panel,
  body.dark-mode .compact-panel,
  body.dark-mode .compact-card,
  body.dark-mode .person-card,
  body.dark-mode .compact-person,
  body.dark-mode .phm-box,
  body.dark-mode .service-tile,
  body.dark-mode .hero-cert-item,
  body.dark-mode table{
    transition:none;
  }
  body.dark-mode .section-alt:hover,
  body.dark-mode .service-cards-section:hover,
  body.dark-mode .newsletter-band:hover,
  body.dark-mode .strk-gallery-block:hover,
  body.dark-mode .info-block:hover,
  body.dark-mode .card:hover,
  body.dark-mode .stat:hover,
  body.dark-mode .contact-box:hover,
  body.dark-mode .contact-card:hover,
  body.dark-mode .product-card:hover,
  body.dark-mode .service-card:hover,
  body.dark-mode .detail-card:hover,
  body.dark-mode .legal-card:hover,
  body.dark-mode .media:hover,
  body.dark-mode .about-main-card:hover,
  body.dark-mode .about-side-card:hover,
  body.dark-mode .about-stat:hover,
  body.dark-mode .about-service-item:hover,
  body.dark-mode .timeline-item:hover,
  body.dark-mode .cert-card:hover,
  body.dark-mode .department-card:hover,
  body.dark-mode .career-card:hover,
  body.dark-mode .service-detail-card:hover,
  body.dark-mode .map-wrap:hover,
  body.dark-mode .hero-phm-card:hover,
  body.dark-mode .service-hotline:hover,
  body.dark-mode .logos-floating-strip:hover,
  body.dark-mode .contact-form form:hover,
  body.dark-mode .beton-slide:hover,
  body.dark-mode .panel:hover,
  body.dark-mode .compact-panel:hover,
  body.dark-mode .compact-card:hover,
  body.dark-mode .person-card:hover,
  body.dark-mode .compact-person:hover,
  body.dark-mode .phm-box:hover,
  body.dark-mode .service-tile:hover,
  body.dark-mode .hero-cert-item:hover,
  body.dark-mode table:hover{
    transform:none;
  }
}

/* === Dark mode corrections 2026-04-04 === */

/* 1) Inner page headers were too dark */
body.dark-mode .hero::before,
body.dark-mode .page-hero::before,
body.dark-mode .centered-hero::before,
body.dark-mode .home-hero::before{
  background:linear-gradient(180deg, rgba(2,12,25,.10) 0%, rgba(3,12,25,.22) 100%) !important;
}

body.dark-mode .hero,
body.dark-mode .page-hero{
  box-shadow:inset 0 0 0 1000px rgba(3, 12, 25, .14) !important;
}

body.dark-mode .page-hero h1,
body.dark-mode .centered-hero h1,
body.dark-mode .hero h1{
  text-shadow:0 6px 18px rgba(0,0,0,.28);
}

body.dark-mode .page-hero p,
body.dark-mode .centered-hero p,
body.dark-mode .hero p{
  text-shadow:0 3px 12px rgba(0,0,0,.22);
}

/* 2) Enlarged gallery images should stay inside viewport */
.beton-lightbox{
  overflow:auto;
  padding:24px;
}

.beton-lightbox img{
  max-width:min(92vw, 1200px) !important;
  max-height:84vh !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain;
  transform:scale(1) !important;
  margin:auto;
}

.beton-lightbox.open img{
  transform:none !important;
}

@media (max-width: 900px){
  .beton-lightbox{
    padding:18px;
  }

  .beton-lightbox img{
    max-width:94vw !important;
    max-height:78vh !important;
  }
}

@media (max-width: 640px){
  .beton-lightbox{
    padding:12px;
  }

  .beton-lightbox img{
    max-width:96vw !important;
    max-height:72vh !important;
    border-radius:12px;
  }

  .beton-lightbox-close{
    top:12px;
    right:12px;
    width:40px;
    height:40px;
    font-size:26px;
  }
}
/* ===== gallery / slider enlarged image fix ===== */

/* Beton + STRK gallery containers */
.beton-gallery-block,
.strk-gallery-block,
.about-history-gallery,
.info-block.beton-gallery-block {
  overflow: hidden;
}

/* slider viewport and track */
.beton-slider,
.strk-slider {
  position: relative;
  overflow: hidden;
}

.beton-slider-viewport,
.strk-slider .beton-slider-viewport {
  overflow: hidden;
  width: 100%;
}

/* slides */
.beton-slide,
.strk-slider .beton-slide {
  overflow: hidden;
  border-radius: 16px;
}

.beton-slide img,
.strk-slider .beton-slide img,
.about-history-gallery img,
.info-block.beton-gallery-block img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

/* enlarged / modal / active image must stay inside viewport */
.beton-lightbox,
.strk-lightbox,
.gallery-lightbox,
.about-history-gallery-modal {
  position: fixed;
  inset: 0;
  overflow: auto;
  padding: 24px;
  box-sizing: border-box;
}

.beton-lightbox img,
.strk-lightbox img,
.gallery-lightbox img,
.about-history-gallery-modal img,
.beton-slide.is-active img,
.strk-slider .beton-slide.is-active img {
  width: auto !important;
  height: auto !important;
  max-width: min(92vw, 1200px) !important;
  max-height: 84vh !important;
  object-fit: contain !important;
  margin: auto;
  transform: none !important;
}

/* stop images from escaping card/frame on hover */
.beton-slide:hover img,
.strk-slider .beton-slide:hover img {
  transform: scale(1.04);
}

.beton-lightbox img:hover,
.strk-lightbox img:hover,
.gallery-lightbox img:hover,
.about-history-gallery-modal img:hover {
  transform: none !important;
}

/* unify dark mode for STRK slider - remove white conflicting look */
body.dark-mode .strk-gallery-block {
  background: linear-gradient(180deg, #05070b 0%, #0f172a 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 20px 46px rgba(0,0,0,.45) !important;
}

body.dark-mode .strk-slider .beton-slide,
body.dark-mode .beton-slide {
  background: linear-gradient(180deg, #0a0a0a 0%, #111827 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.45) !important;
  backdrop-filter: none !important;
}

body.dark-mode .strk-slider .beton-slide::before,
body.dark-mode .beton-slide::before {
  background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.28) 100%) !important;
}

/* responsive safety */
@media (max-width: 900px) {
  .beton-lightbox,
  .strk-lightbox,
  .gallery-lightbox,
  .about-history-gallery-modal {
    padding: 16px;
  }

  .beton-lightbox img,
  .strk-lightbox img,
  .gallery-lightbox img,
  .about-history-gallery-modal img,
  .beton-slide.is-active img,
  .strk-slider .beton-slide.is-active img {
    max-width: 95vw !important;
    max-height: 78vh !important;
  }
}

@media (max-width: 640px) {
  .beton-lightbox,
  .strk-lightbox,
  .gallery-lightbox,
  .about-history-gallery-modal {
    padding: 10px;
  }

  .beton-lightbox img,
  .strk-lightbox img,
  .gallery-lightbox img,
  .about-history-gallery-modal img,
  .beton-slide.is-active img,
  .strk-slider .beton-slide.is-active img {
    max-width: 96vw !important;
    max-height: 72vh !important;
  }
}


/* === Dark mode gallery + ostatne-price-item fix === */

/* Lightbox and enlarged gallery images must stay inside viewport */
.beton-lightbox,
.strk-lightbox,
.gallery-lightbox,
.about-history-gallery-modal,
.beton-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0,0,0,.82);
  overflow: auto;
  box-sizing: border-box;
}

.beton-lightbox img,
.strk-lightbox img,
.gallery-lightbox img,
.about-history-gallery-modal img,
.beton-gallery-lightbox img,
.beton-slide.is-active img,
.strk-slider .beton-slide.is-active img,
.about-history-gallery img.enlarged,
.info-block.beton-gallery-block img.enlarged {
  width: auto !important;
  height: auto !important;
  max-width: min(92vw, 1200px) !important;
  max-height: calc(100vh - 48px) !important;
  object-fit: contain !important;
  margin: auto;
  display: block;
  transform: none !important;
}

/* Keep gallery wrappers clipped correctly */
.beton-gallery-block,
.info-block.beton-gallery-block,
.about-history-gallery,
.strk-gallery-block,
.beton-slider,
.strk-slider,
.beton-slide,
.strk-slider .beton-slide {
  overflow: hidden;
}

.beton-slider,
.strk-slider {
  position: relative;
}

/* Prevent enlarged media from leaking under bottom/footer UI */
.footer,
.site-footer,
.bottom-menu,
.bottom-bar,
.mobile-bottom-menu {
  z-index: 10;
}

.beton-lightbox-close,
.strk-lightbox-close,
.gallery-lightbox-close,
.beton-gallery-lightbox-close {
  z-index: 100000 !important;
}

/* Smooth hover only in normal card view, never in lightbox */
.beton-slide:hover img,
.strk-slider .beton-slide:hover img {
  transform: scale(1.04);
}

.beton-lightbox img:hover,
.strk-lightbox img:hover,
.gallery-lightbox img:hover,
.about-history-gallery-modal img:hover,
.beton-gallery-lightbox img:hover {
  transform: none !important;
}

/* Dark mode STRK / beton gallery surfaces */
body.dark-mode .strk-gallery-block,
body.dark-mode .beton-gallery-block,
body.dark-mode .info-block.beton-gallery-block,
body.dark-mode .about-history-gallery {
  background: linear-gradient(180deg, #05070b 0%, #0f172a 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 20px 46px rgba(0,0,0,.45) !important;
}

body.dark-mode .strk-slider .beton-slide,
body.dark-mode .beton-slide {
  background: linear-gradient(180deg, #0a0a0a 0%, #111827 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.45) !important;
  backdrop-filter: none !important;
}

body.dark-mode .strk-slider .beton-slide::before,
body.dark-mode .beton-slide::before {
  background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.28) 100%) !important;
}

/* Ostatne price items in dark mode */
body.dark-mode .ostatne-price-item{
  background: linear-gradient(180deg, rgba(10,10,10,.94) 0%, rgba(17,24,39,.96) 100%) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
}

body.dark-mode .ostatne-price-item span{
  color: #e5e7eb !important;
}

/* Ostatné služby + spoločné kickery — dark mode čitateľnosť */
body.dark-mode .section-kicker{
  background:rgba(120,169,255,.14);
  color:#f0f6ff;
  border:1px solid rgba(143,183,255,.26);
}
body.dark-mode .ostatne-page .ostatne-intro h2,
body.dark-mode .ostatne-page .ostatne-copy h2,
body.dark-mode .ostatne-page .ostatne-mini-card h2,
body.dark-mode .ostatne-page .ostatne-wide-copy h2{
  color:#ffffff !important;
  letter-spacing:-.02em;
}
body.dark-mode .ostatne-page .ostatne-intro p,
body.dark-mode .ostatne-page .ostatne-copy p,
body.dark-mode .ostatne-page .ostatne-mini-card p,
body.dark-mode .ostatne-page .ostatne-wide-copy p{
  color:#e8f2fc !important;
  line-height:1.68;
  font-size:1.045rem;
}
body.dark-mode .ostatne-page .ostatne-copy strong,
body.dark-mode .ostatne-page .ostatne-mini-card strong,
body.dark-mode .ostatne-page .ostatne-wide-copy strong{
  color:#ffffff;
  font-weight:700;
}
body.dark-mode .ostatne-page .ostatne-wide-copy .checks li{
  color:#e8f2fc;
  border-color:rgba(120,169,255,.24);
}
body.dark-mode .ostatne-page .ostatne-pill-row .badge-inline,
body.dark-mode .ostatne-page .badge-inline{
  display:inline-flex !important;
  align-items:center;
  background:rgba(120,169,255,.12);
  border:1px solid rgba(143,183,255,.34);
  color:#f0f6ff !important;
}
body.dark-mode .ostatne-page .logo-panel{
  background:linear-gradient(180deg, #0f2644 0%, #0a1a32 100%) !important;
  border:1px solid rgba(143,183,255,.16);
  box-shadow:0 16px 36px rgba(0,0,0,.35);
}
body.dark-mode .ostatne-page .logo-panel h3{
  color:#f8fbff !important;
}
body.dark-mode .ostatne-page .ostatne-price-item strong{
  color:#ffffff !important;
}
body.dark-mode .ostatne-contact-band{
  background:linear-gradient(135deg, #1a4a7c 0%, #2d5a8a 55%, #3d6f9c 100%);
  box-shadow:0 22px 48px rgba(0,0,0,.38);
}
body.dark-mode .ostatne-contact-band h2{
  color:#ffffff !important;
  line-height:1.14;
}
body.dark-mode .ostatne-contact-band p{
  color:rgba(255,255,255,.95) !important;
  font-size:1.065rem;
  line-height:1.65;
  max-width:52em;
}

/* Responsive safety */
@media (max-width: 900px){
  .beton-lightbox,
  .strk-lightbox,
  .gallery-lightbox,
  .about-history-gallery-modal,
  .beton-gallery-lightbox {
    padding: 16px;
  }

  .beton-lightbox img,
  .strk-lightbox img,
  .gallery-lightbox img,
  .about-history-gallery-modal img,
  .beton-gallery-lightbox img,
  .beton-slide.is-active img,
  .strk-slider .beton-slide.is-active img {
    max-width: 95vw !important;
    max-height: 78vh !important;
  }
}

@media (max-width: 640px){
  .beton-lightbox,
  .strk-lightbox,
  .gallery-lightbox,
  .about-history-gallery-modal,
  .beton-gallery-lightbox {
    padding: 10px;
  }

  .beton-lightbox img,
  .strk-lightbox img,
  .gallery-lightbox img,
  .about-history-gallery-modal img,
  .beton-gallery-lightbox img,
  .beton-slide.is-active img,
  .strk-slider .beton-slide.is-active img {
    max-width: 96vw !important;
    max-height: 72vh !important;
  }
}


/* === ChatGPT patch: gallery lightbox navigation + image protection === */
.beton-lightbox,
.strk-lightbox,
.gallery-lightbox,
.about-history-gallery-modal,
.beton-gallery-lightbox {
  gap: 18px;
}

.beton-lightbox img,
.strk-lightbox img,
.gallery-lightbox img,
.about-history-gallery-modal img,
.beton-gallery-lightbox img,
.beton-slide.is-active img,
.strk-slider .beton-slide.is-active img,
.about-history-gallery img.enlarged,
.info-block.beton-gallery-block img.enlarged {
  max-width: min(78vw, 1020px) !important;
  max-height: 82vh !important;
  border-radius: 16px;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.beton-lightbox-nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 32px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100001;
  transition: background .2s ease, transform .2s ease;
  backdrop-filter: blur(4px);
}

.beton-lightbox-nav:hover {
  background: rgba(255,255,255,.24);
}

.beton-lightbox-nav.prev { left: 24px; }
.beton-lightbox-nav.next { right: 24px; }

img {
  -webkit-user-drag: none;
  user-select: none;
}

@media (max-width: 900px) {
  .beton-lightbox img,
  .strk-lightbox img,
  .gallery-lightbox img,
  .about-history-gallery-modal img,
  .beton-gallery-lightbox img,
  .beton-slide.is-active img,
  .strk-slider .beton-slide.is-active img,
  .about-history-gallery img.enlarged,
  .info-block.beton-gallery-block img.enlarged {
    max-width: 74vw !important;
    max-height: 76vh !important;
  }

  .beton-lightbox-nav {
    width: 48px;
    height: 48px;
    font-size: 28px;
  }

  .beton-lightbox-nav.prev { left: 14px; }
  .beton-lightbox-nav.next { right: 14px; }
}

@media (max-width: 640px) {
  .beton-lightbox,
  .strk-lightbox,
  .gallery-lightbox,
  .about-history-gallery-modal,
  .beton-gallery-lightbox {
    padding: 18px 52px;
  }

  .beton-lightbox img,
  .strk-lightbox img,
  .gallery-lightbox img,
  .about-history-gallery-modal img,
  .beton-gallery-lightbox img,
  .beton-slide.is-active img,
  .strk-slider .beton-slide.is-active img,
  .about-history-gallery img.enlarged,
  .info-block.beton-gallery-block img.enlarged {
    max-width: 100% !important;
    max-height: 72vh !important;
  }
}
