*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#050b13;color:#f5f7fa;font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}

.topbar{height:88px;display:flex;align-items:center;gap:38px;padding:0 6vw;border-bottom:1px solid #1d2b3a;background:rgba(4,10,18,.96)}
.brand{display:flex;align-items:center;gap:13px;margin-right:auto}
.brand strong{display:block;font-size:20px;letter-spacing:2px}
.brand small{display:block;color:#9aa7b5;font-size:9px;letter-spacing:3px;margin-top:3px}
.shield{width:42px;height:48px;border:2px solid #caa85c;display:grid;place-items:center;color:#d6b96f;font-weight:900;clip-path:polygon(50% 0,100% 17%,92% 75%,50% 100%,8% 75%,0 17%)}
nav{display:flex;gap:28px;color:#b8c1cb;font-size:13px}
nav a:hover{color:#d8ba70}
.navCta,.primary{background:#c6a257;color:#07101a;padding:15px 22px;font-weight:800;font-size:12px;letter-spacing:.8px}

.hero{min-height:650px;padding:100px 8vw;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:80px;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 40%,#17283c 0,#08111d 34%,#040a12 70%)}
.heroGlow{position:absolute;width:500px;height:500px;border:1px solid rgba(205,174,102,.16);border-radius:50%;right:4%;top:10%}
.heroContent{position:relative;z-index:2}
.eyebrow,.sectionHeading>span{color:#c7a65f;font-size:11px;letter-spacing:4px;font-weight:bold}
h1{font-size:clamp(42px,6vw,78px);line-height:.98;margin:22px 0}
h1 span{color:#d0af64}
.heroContent p{max-width:700px;color:#aab5c0;font-size:18px;line-height:1.7}
.heroActions{display:flex;gap:15px;margin-top:35px}
.secondary{border:1px solid #405064;padding:14px 22px;font-size:12px;font-weight:bold}
.heroPanel{position:relative;z-index:2;border:1px solid #304154;background:rgba(8,17,29,.78);padding:45px;display:flex;flex-direction:column;gap:12px}
.heroPanelTitle{color:#d0af64;letter-spacing:5px;font-size:12px}
.heroPanelLine{height:1px;background:#425267;margin:8px 0 18px}
.heroPanel strong{font-size:27px;letter-spacing:2px}
.heroPanel span{color:#9aa8b7;margin-top:15px}

.services{padding:100px 7vw;background:#f1f2f3;color:#0c1722}
.sectionHeading{text-align:center;max-width:700px;margin:auto}
.sectionHeading h2,.why h2,.industries h2,.contact h2{font-size:42px;margin:14px 0}
.sectionHeading p{color:#617080}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:55px}
.cards article{background:white;padding:40px;border-top:4px solid #c7a65f;box-shadow:0 12px 30px rgba(0,0,0,.06)}
.number{color:#c7a65f;font-weight:bold;font-size:12px}
.cards h3{font-size:27px}
.cards p,.cards li{color:#66727d;line-height:1.6}
.cards ul{padding-left:18px}

.why{padding:95px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;background:#07111c}
.whyGrid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #263647;border-left:1px solid #263647}
.whyGrid div{padding:32px;border-right:1px solid #263647;border-bottom:1px solid #263647;display:flex;gap:20px}
.whyGrid strong{color:#c7a65f}
.whyGrid span{color:#c2cad3}

.industries{padding:85px 7vw;text-align:center;background:#0c1825}
.industryList{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:35px}
.industryList span{border:1px solid #34475b;padding:15px 22px;color:#c4ccd4;font-size:12px;letter-spacing:1px}

.contact{padding:100px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:linear-gradient(120deg,#050b12,#101e2d)}
.contact p{color:#aab4bf;line-height:1.7;max-width:650px}
.contactBox{border-left:3px solid #c7a65f;padding:30px 40px;display:flex;flex-direction:column;gap:15px}
.contactBox a{font-size:25px;font-weight:bold}
.contactBox span{color:#c7a65f}
.contactBox strong{margin-top:12px;color:#aeb8c3}

footer{padding:28px 7vw;display:flex;justify-content:space-between;border-top:1px solid #223243;color:#778594;font-size:11px;letter-spacing:2px}
footer span{color:#c7a65f}

@media(max-width:850px){
 .topbar{padding:0 20px}
 nav{display:none}
 .navCta{display:none}
 .hero{grid-template-columns:1fr;padding:75px 25px}
 .heroPanel{display:none}
 .cards{grid-template-columns:1fr}
 .why{grid-template-columns:1fr;padding:70px 25px}
 .whyGrid{grid-template-columns:1fr}
 .contact{grid-template-columns:1fr;padding:70px 25px}
 .services,.industries{padding:70px 25px}
 footer{flex-direction:column;gap:12px}
}

/* PROFIGUARD BRAND LOGO */
.brandMark{
  position:relative;
  width:54px;
  height:54px;
  display:block;
  flex:0 0 54px;
}

.brandD{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:42px;
  line-height:1;
  font-weight:900;
  font-family:Arial Black,Arial,sans-serif;
  color:#f1f3f5;
  letter-spacing:-7px;
}

.brandP{
  position:absolute;
  left:19px;
  top:13px;
  font-size:25px;
  line-height:1;
  font-weight:900;
  font-family:Arial Black,Arial,sans-serif;
  color:#c9a45b;
  transform:skew(-8deg);
}

.brandText strong{
  font-size:21px;
  letter-spacing:2.5px;
}

.brandText small{
  color:#c9a45b;
  letter-spacing:3.2px;
  font-size:8px;
}

.brand:hover .brandMark{
  transform:scale(1.04);
  transition:.2s ease;
}

@media(max-width:600px){
  .brandMark{
    width:45px;
    height:45px;
    flex-basis:45px;
  }

  .brandD{font-size:35px}
  .brandP{font-size:21px;left:16px;top:11px}

  .brandText strong{
    font-size:17px;
  }
}

/* Jemnejsi a kompaktnejsi HERO */
.hero{
  min-height:520px;
  padding-top:75px;
  padding-bottom:75px;
}

.heroContent{
  max-width:850px;
}

.hero h1{
  font-size:clamp(38px,4.2vw,60px);
  line-height:1.04;
  letter-spacing:-1.5px;
  margin:20px 0 24px;
}

.heroContent p{
  max-width:680px;
  font-size:16px;
  line-height:1.75;
  color:#aeb9c5;
}

.heroActions{
  margin-top:30px;
}

.hero .eyebrow{
  font-size:10px;
  letter-spacing:4px;
}

@media(max-width:850px){
  .hero{
    min-height:auto;
    padding-top:60px;
    padding-bottom:65px;
  }

  .hero h1{
    font-size:clamp(36px,10vw,50px);
    line-height:1.05;
    letter-spacing:-1px;
  }
}

/* ===== PROFIGUARD HERO S FOTOGRAFII ===== */

.hero{
  position:relative !important;
  min-height:570px !important;
  padding:80px 6vw 70px !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;

  background:
    linear-gradient(
      90deg,
      rgba(2,8,14,.97) 0%,
      rgba(2,8,14,.93) 25%,
      rgba(2,8,14,.78) 43%,
      rgba(2,8,14,.40) 63%,
      rgba(2,8,14,.12) 100%
    ),
    url("/public/hero.png") center center / cover no-repeat !important;
}

.heroGlow{
  display:none !important;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(2,7,12,.25) 0%,
    transparent 25%,
    transparent 72%,
    rgba(2,7,12,.52) 100%
  );
}

.heroContent{
  position:relative !important;
  z-index:2 !important;
  width:58% !important;
  max-width:760px !important;
}

.hero .eyebrow{
  display:block !important;
  margin-bottom:20px !important;
  color:#d5ae57 !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:5px !important;
}

.hero h1{
  margin:0 0 25px !important;
  max-width:760px !important;
  color:#f5f7fa !important;
  font-size:clamp(40px,4vw,60px) !important;
  line-height:1.03 !important;
  letter-spacing:-1.5px !important;
  font-weight:800 !important;
  text-shadow:0 3px 20px rgba(0,0,0,.35);
}

.hero h1 span{
  color:#d5ae57 !important;
}

.heroContent p{
  max-width:620px !important;
  margin:0 !important;
  color:#c7d0d9 !important;
  font-size:16px !important;
  line-height:1.75 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.85);
}

.heroActions{
  display:flex !important;
  gap:14px !important;
  margin-top:31px !important;
}

.heroActions .primary{
  min-height:48px !important;
  padding:0 25px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,#d9b55e,#c39a48) !important;
  border:1px solid #e0bd69 !important;
  color:#07101a !important;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}

.heroActions .secondary{
  min-height:48px !important;
  padding:0 25px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(3,10,18,.40) !important;
  border:1px solid rgba(220,228,235,.45) !important;
  color:#fff !important;
  backdrop-filter:blur(5px);
}

/* původní pravý panel pryč – na jeho místě je strážný z fotografie */
.heroPanel{
  display:none !important;
}

/* MOBIL */
@media(max-width:850px){
  .hero{
    min-height:600px !important;
    padding:65px 25px 55px !important;

    background:
      linear-gradient(
        90deg,
        rgba(2,8,14,.98) 0%,
        rgba(2,8,14,.91) 52%,
        rgba(2,8,14,.55) 100%
      ),
      url("/public/hero.png") 65% center / cover no-repeat !important;
  }

  .heroContent{
    width:100% !important;
    max-width:600px !important;
  }

  .hero h1{
    font-size:clamp(36px,9vw,50px) !important;
  }
}

@media(max-width:520px){
  .hero{
    min-height:580px !important;
    padding:55px 20px 50px !important;
    background-position:68% center !important;
  }

  .hero h1{
    font-size:35px !important;
  }

  .heroActions{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}

/* ===== KONEC PROFIGUARD HERO ===== */


/* ===== FINALNI LOGO PROFIGUARD ===== */

.brandImageLink{
  display:flex !important;
  align-items:center !important;
  width:auto !important;
  height:64px !important;
  overflow:hidden !important;
}

.brandImage{
  display:block !important;
  width:auto !important;
  height:58px !important;
  max-width:290px !important;
  object-fit:contain !important;
}

/* černé pozadí obrázku splyne s navigací */
.topbar{
  background:#030a11 !important;
}

@media(max-width:700px){
  .brandImageLink{
    height:54px !important;
  }

  .brandImage{
    height:46px !important;
    max-width:220px !important;
  }
}


/* ===== HERO CLEANUP ===== */

.hero{
  isolation:isolate !important;
}

.heroContent{
  opacity:1 !important;
}

.heroContent > *{
  position:relative;
  z-index:3;
}

.hero::before{
  z-index:0 !important;
}

.hero::after{
  display:none !important;
}



/* =========================================================
   ANALYTICS CONSENT
   ========================================================= */

.analyticsConsent[hidden]{
  display:none !important;
}

.analyticsConsent{
  position:fixed;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:9999;
  display:flex;
  justify-content:center;
  pointer-events:none;
}

.analyticsConsentInner{
  width:min(1050px,100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:22px 24px;
  background:#111;
  color:#fff;
  border-radius:16px;
  box-shadow:0 14px 45px rgba(0,0,0,.28);
  pointer-events:auto;
}

.analyticsConsentText{
  max-width:690px;
}

.analyticsConsentText strong{
  display:block;
  margin-bottom:6px;
  font-size:16px;
}

.analyticsConsentText p{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:#ddd;
}

.analyticsConsentActions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

.analyticsConsentActions button{
  min-height:44px;
  padding:10px 17px;
  border-radius:9px;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}

.analyticsConsentNecessary{
  border:1px solid #555;
  background:transparent;
  color:#fff;
}

.analyticsConsentAccept{
  border:1px solid #fff;
  background:#fff;
  color:#111;
}

@media(max-width:760px){
  .analyticsConsent{
    left:10px;
    right:10px;
    bottom:10px;
  }

  .analyticsConsentInner{
    align-items:stretch;
    flex-direction:column;
    gap:16px;
    padding:18px;
  }

  .analyticsConsentActions{
    flex-direction:column-reverse;
  }

  .analyticsConsentActions button{
    width:100%;
  }
}
