:root{
  --bg:#0b0e10;
  --bg-soft:#111518;
  --panel:#151a1e;
  --text:#f5f3ef;
  --muted:#b7b2a9;
  --gold:#c88a2e;
  --gold-light:#e2aa55;
  --line:rgba(255,255,255,.1);
  --shadow:0 18px 50px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(7,9,11,.82);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(14px)}
.site-header.scrolled{background:rgba(7,9,11,.96)}
.nav-wrap{height:88px;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;min-width:260px}
.brand-logo{width:260px;height:auto;max-height:64px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:38px;margin-left:auto}
.main-nav a{position:relative;text-transform:uppercase;font-size:14px;font-weight:600;color:#e9e5df}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-32px;height:2px;background:var(--gold);transition:.25s}
.main-nav a:hover::after,.main-nav a.active::after{right:0}
.nav-actions{display:flex;align-items:center;gap:26px;margin-left:18px}
.phone{font-weight:600;white-space:nowrap}.phone:first-letter{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.03em;transition:.25s;white-space:nowrap;}
.btn-outline{border:1px solid var(--gold);color:var(--gold-light)}
.btn-outline:hover{background:var(--gold);color:#111}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#17110a;box-shadow:0 10px 28px rgba(200,138,46,.2)}
.btn-gold:hover{transform:translateY(-2px);filter:brightness(1.08)}
.menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;background:white;margin:5px}
.hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;padding-top:88px}
.hero-slides{position:absolute;inset:0}
.hero-bg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.05);opacity:0;transition:opacity 1.4s ease-in-out}
.hero-bg.active{opacity:1}
.hero-bg-1{background-image:url('../images/hero-1.webp')}
.hero-bg-2{background-image:url('../images/hero-2.webp');background-position:72% center;transform:scale(1)}
.hero-bg-3{background-image:url('../images/hero-3.webp');background-position:76% center;transform:scale(1)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,8,.96) 0%,rgba(5,7,9,.72) 38%,rgba(5,7,9,.24) 72%,rgba(5,7,9,.18) 100%)}
.hero-overlay{position:absolute;inset:auto 0 0;height:140px;background:linear-gradient(transparent,var(--bg))}
.hero-content{position:relative;z-index:2;padding:90px 0 110px}
.eyebrow{margin:0 0 12px;color:var(--gold-light);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}
h1,h2,h3{margin:0;font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;line-height:.98}
h1{max-width:720px;font-size:clamp(48px,6vw,78px);letter-spacing:.01em}
.hero-copy{max-width:590px;margin:25px 0 28px;font-size:18px;color:#e3dfd8}
.hero-buttons{display:flex;align-items:center;gap:26px}.text-link{font-size:14px;font-weight:600}.text-link:hover{color:var(--gold-light)}
.scroll-down{position:absolute;left:50%;bottom:26px;z-index:3;font-size:36px;color:#fff;animation:bob 1.8s infinite}
@keyframes bob{50%{transform:translateY(7px)}}
.benefits{padding:58px 0 26px;background:radial-gradient(circle at 50% 0%,#14191d 0,var(--bg) 62%)}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.benefit-card{text-align:center;padding:18px 55px 38px;border-right:1px solid var(--line)}
.benefit-card:last-child{border-right:0}
.icon-shield,.icon-target{width:54px;height:54px;margin:0 auto 20px;display:grid;place-items:center;color:var(--gold);font-size:30px;border:2px solid var(--gold);border-radius:15px 15px 24px 24px}
.icon-target{border-radius:50%}
.icon-shield svg,.icon-target svg{width:29px;height:29px}
.benefit-card h2{font-size:22px}.benefit-card p{margin:13px auto 0;max-width:290px;color:var(--muted);font-size:14px}
.projects{padding:40px 0 85px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.section-head h2,.about h2,.contact h2{font-size:42px}.gold{color:var(--gold-light);text-transform:uppercase}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-card{transition:.3s}.project-card:hover{transform:translateY(-5px)}
.project-image{height:210px;overflow:hidden;background:#171b1f}.project-image img{height:100%;object-fit:cover;transition:.45s}.project-card:hover img{transform:scale(1.05)}
.project-card h3{font-size:21px;margin:15px 0 3px;text-transform:none;font-family:Inter,sans-serif}.project-card p{margin:0;color:var(--muted);font-size:14px}
.about{padding:80px 0;background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-box{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}.about-box p:last-child{margin:0;color:var(--muted);font-size:17px}
.services{padding:90px 0;background:radial-gradient(circle at 50% 0%,#14191d 0,var(--bg) 58%)}
.services-head{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:end;margin-bottom:38px}
.services-head h2{font-size:42px}
.services-head>p{margin:0;color:var(--muted);font-size:16px}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.service-card{position:relative;min-height:285px;padding:34px 36px 32px;background:linear-gradient(145deg,#151a1e,#101417);border:1px solid var(--line);overflow:hidden;transition:.3s}
.service-card::after{content:"";position:absolute;inset:auto -55px -70px auto;width:160px;height:160px;border:1px solid rgba(200,138,46,.12);border-radius:50%}
.service-card:hover{transform:translateY(-5px);border-color:rgba(200,138,46,.42);box-shadow:var(--shadow)}
.service-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:30px;color:var(--gold-light);border:1px solid rgba(200,138,46,.55);background:rgba(200,138,46,.06)}
.service-icon svg{width:28px;height:28px}
.service-number{position:absolute;top:30px;right:32px;color:rgba(226,170,85,.38);font-family:"Barlow Condensed",Arial,sans-serif;font-size:22px;font-weight:700;letter-spacing:.08em}
.service-card h3{font-size:27px;margin-bottom:15px}
.service-card p{position:relative;z-index:1;margin:0;max-width:470px;color:var(--muted);font-size:15px}

/* Proces realizace */
.process-section{margin-top:3rem}
.process-section>h3{font-size:30px}
.process-timeline{position:relative;max-width:980px;margin:2rem auto 0;padding:8px 0}
.process-timeline::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(to bottom,rgba(200,138,46,.15),var(--gold-light) 12%,var(--gold-light) 88%,rgba(200,138,46,.15));transform:translateX(-50%)}
.process-step{position:relative;width:50%;min-height:145px;padding-bottom:28px}
.process-step-left{padding-right:58px;text-align:right}
.process-step-right{margin-left:50%;padding-left:58px;text-align:left}
.process-dot{position:absolute;top:32px;width:15px;height:15px;border:3px solid var(--bg);border-radius:50%;background:var(--gold-light);box-shadow:0 0 0 1px rgba(226,170,85,.55),0 0 18px rgba(200,138,46,.25)}
.process-step-left .process-dot{right:-7px}
.process-step-right .process-dot{left:-8px}
.process-content{position:relative;padding:26px 28px;background:linear-gradient(145deg,rgba(21,26,30,.82),rgba(13,16,18,.64));border:1px solid var(--line)}
.process-content::before{content:"";position:absolute;top:30px;width:18px;height:1px;background:rgba(226,170,85,.7)}
.process-step-left .process-content::before{right:-19px}
.process-step-right .process-content::before{left:-19px}
.process-number{display:block;margin-bottom:8px;color:var(--gold-light);font-family:"Barlow Condensed",Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:.14em}
.process-content h4{margin:0 0 10px;font-family:"Barlow Condensed",Arial,sans-serif;font-size:25px;line-height:1;text-transform:uppercase}
.process-content p{margin:0;color:var(--muted);font-size:15px}

/* Na čem si zakládáme */
.values-section{margin-top:4rem;padding-top:3.2rem;border-top:1px solid var(--line)}
.values-section>h3{margin:0 0 2.8rem;font-size:30px;text-align:center}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.value-item{text-align:center;padding:0 12px}
.value-icon{width:42px;height:42px;display:grid;place-items:center;margin:0 auto 18px;color:var(--gold-light)}
.value-icon svg{width:34px;height:34px}
.value-item h4{margin:0 0 12px;font-family:"Barlow Condensed",Arial,sans-serif;font-size:23px;line-height:1.08;text-transform:uppercase}
.value-item p{margin:0 auto;max-width:255px;color:var(--muted);font-size:14px}

.contact{padding:78px 0}.contact-box{padding:48px 52px;display:flex;justify-content:space-between;align-items:center;gap:50px;background:linear-gradient(135deg,#161b1f,#0d1012);border:1px solid var(--line);box-shadow:var(--shadow)}
.contact-box h2{max-width:760px}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:225px}
footer{padding:24px 0;border-top:1px solid var(--line);color:#8f8b84;font-size:13px}.footer-row{display:flex;justify-content:space-between}
@media (max-width:1100px){.main-nav{gap:22px}.nav-actions .phone{display:none}.brand{min-width:220px}.brand-logo{width:220px}.benefit-card{padding-left:30px;padding-right:30px}}
@media (max-width:860px){.brand-logo{width:195px}.values-grid{grid-template-columns:repeat(2,1fr);row-gap:42px}.process-timeline{max-width:720px}.services-head,.services-grid{grid-template-columns:1fr}.services-head{gap:24px}.services{padding:72px 0}.service-card{min-height:0}.site-header{position:fixed}.nav-wrap{height:76px}.brand{min-width:0}.brand-text strong{font-size:21px}.brand-text small{font-size:10px}.menu-toggle{display:block;margin-left:auto}.nav-actions{display:none}.main-nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:16px 20px 24px;background:#0a0d0f;border-top:1px solid var(--line)}.main-nav.open{display:flex}.main-nav a{width:100%;padding:13px 0}.main-nav a::after{display:none}.hero{min-height:690px;padding-top:76px}.hero-bg{background-position:58% center}.hero-bg-2{background-position:68% center}.hero-bg-3{background-position:72% center}.hero-bg::after{background:linear-gradient(90deg,rgba(4,6,8,.97),rgba(4,6,8,.68) 70%,rgba(4,6,8,.45))}.hero-content{padding:95px 0 110px}.benefits-grid,.project-grid,.about-box{grid-template-columns:1fr}.benefit-card{border-right:0;border-bottom:1px solid var(--line)}.benefit-card:last-child{border-bottom:0}.project-grid{gap:34px}.project-image{height:280px}.about-box{gap:28px}.contact-box{flex-direction:column;align-items:flex-start}.contact-actions{align-items:flex-start}.section-head h2,.about h2,.contact h2{font-size:36px}}
@media (max-width:560px){.values-section{margin-top:3rem;padding-top:2.5rem}.values-section>h3{font-size:27px;margin-bottom:2.2rem}.values-grid{grid-template-columns:1fr;gap:34px}.process-section>h3{font-size:27px}.process-timeline{margin-top:1.6rem;padding-left:28px}.process-timeline::before{left:7px;transform:none}.process-step,.process-step-right{width:100%;min-height:0;margin-left:0;padding:0 0 24px 34px;text-align:left}.process-step-left{padding-right:0}.process-step .process-dot,.process-step-left .process-dot,.process-step-right .process-dot{top:28px;left:0;right:auto}.process-content{padding:22px 22px}.process-content::before,.process-step-left .process-content::before,.process-step-right .process-content::before{top:34px;left:-28px;right:auto;width:27px}.service-card{padding:30px 24px}.service-number{right:24px}.services-head h2{font-size:36px}.container{width:min(100% - 28px,1180px)}.brand-logo{width:170px}.hero{min-height:650px}.hero-content{padding-top:80px}.hero-copy{font-size:16px}.hero-buttons{align-items:flex-start;flex-direction:column}.project-image{height:210px}.section-head{align-items:flex-start;gap:20px;flex-direction:column}.contact-box{padding:34px 24px}.footer-row{gap:10px;flex-direction:column}.benefit-card{padding-left:10px;padding-right:10px}}

/* Kontakt a poptávkový formulář */
.contact{padding:86px 0}
.contact-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start;padding:56px;background:linear-gradient(135deg,#161b1f,#0d1012);border:1px solid var(--line);box-shadow:var(--shadow)}
.contact-info h2,.contact-form-wrap h2{font-size:42px}
.contact-intro{max-width:470px;margin:22px 0 32px;color:var(--muted);font-size:16px}
.contact-list{display:grid;gap:14px}
.contact-item{display:flex;align-items:center;gap:16px;min-height:68px;padding:13px 16px;border:1px solid var(--line);background:rgba(255,255,255,.018);transition:.25s}
a.contact-item:hover{border-color:rgba(200,138,46,.45);transform:translateX(3px)}
.contact-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;color:var(--gold-light);border:1px solid rgba(200,138,46,.5);background:rgba(200,138,46,.06)}
.contact-icon svg{width:21px;height:21px}
.contact-item span:last-child{display:flex;flex-direction:column;min-width:0}
.contact-item small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.contact-item strong{font-size:15px;color:var(--text);overflow-wrap:anywhere}
.contact-form{display:grid;gap:17px;margin-top:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form label{display:grid;gap:7px;color:#e7e3dd;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em}
.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:0;background:#0c1012;color:var(--text);font:inherit;font-size:15px;text-transform:none;letter-spacing:normal;outline:none;transition:.2s}
.contact-form input{height:48px;padding:0 14px}
.contact-form textarea{min-height:145px;padding:13px 14px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold-light);box-shadow:0 0 0 3px rgba(200,138,46,.1)}
.form-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;color:var(--muted)!important;font-size:12px!important;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;cursor:pointer}
.form-consent input{flex:0 0 auto;width:17px;height:17px;margin:2px 0 0;accent-color:var(--gold)}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-submit{width:100%;border:0;cursor:pointer}
.form-submit:disabled{opacity:.65;cursor:wait;transform:none}
.form-note,.form-status{margin:0;text-align:center;font-size:12px;color:var(--muted)}
.form-status{min-height:20px;font-weight:600}
.form-status.success{color:#9fd49f}
.form-status.error{color:#e6a09a}
@media (max-width:860px){.contact-box{grid-template-columns:1fr;gap:50px;padding:44px}.contact-info h2,.contact-form-wrap h2{font-size:36px}}
@media (max-width:560px){.contact{padding:65px 0}.contact-box{padding:32px 22px;gap:42px}.form-row{grid-template-columns:1fr}.contact-item{padding:12px}.contact-info h2,.contact-form-wrap h2{font-size:34px}}

/* O nás – certifikace */
.about{padding:82px 0}
.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.about-copy h2{margin-bottom:22px}
.about-copy p{max-width:560px;margin:0;color:var(--muted);font-size:16px;line-height:1.8}
.certificates-panel{padding:34px 36px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}
.certificates-panel h3{margin:7px 0 24px;font-family:"Barlow Condensed",Arial,sans-serif;font-size:30px;text-transform:uppercase}
.certificate-links{display:grid;gap:12px}
.certificate-link{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:16px;border:1px solid var(--line);background:#0c1012;color:var(--text);text-align:left;cursor:pointer;transition:.25s}
.certificate-link:hover{border-color:rgba(200,138,46,.55);transform:translateX(3px);background:rgba(200,138,46,.04)}
.certificate-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--gold-light);border:1px solid rgba(200,138,46,.5);background:rgba(200,138,46,.06)}
.certificate-icon svg{width:21px;height:21px}
.certificate-link>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}
.certificate-link strong{font-size:14px;line-height:1.35}
.certificate-link small{color:var(--muted);font-size:11px;line-height:1.4}
.certificate-arrow{color:var(--gold-light);font-size:18px}
.certificate-modal{position:fixed;inset:0;z-index:1000;display:none;place-items:center;padding:34px;background:rgba(0,0,0,.88);backdrop-filter:blur(5px)}
.certificate-modal.open{display:grid}
.certificate-modal-content{max-width:min(1100px,92vw);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.certificate-modal img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.55)}
.certificate-modal p{margin:0;color:#fff;font-size:14px;text-align:center}
.certificate-modal-close{position:fixed;top:18px;right:24px;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:#111;color:#fff;font-size:30px;line-height:1;cursor:pointer}
body.modal-open{overflow:hidden}
@media (max-width:860px){.about-layout{grid-template-columns:1fr;gap:36px}.certificates-panel{padding:30px}}
@media (max-width:560px){.about{padding:65px 0}.certificates-panel{padding:24px 20px}.certificate-link{padding:13px;gap:12px}.certificate-icon{width:38px;height:38px}.certificate-link strong{font-size:13px}.certificate-modal{padding:18px}.certificate-modal-close{top:12px;right:12px}}


/* O nás – působnost */
.about-location{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:start;margin-top:30px;padding:18px 0 18px 18px;border-left:2px solid var(--gold)}
.about-location-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--gold-light);border:1px solid rgba(200,138,46,.5);background:rgba(200,138,46,.06)}
.about-location-icon svg{display:block;width:21px;height:21px}
.about-copy .about-location p{max-width:470px;margin:0;color:var(--text);font-size:14px;line-height:1.65}

/* Pevná mobilní responsivita kontaktu */
.contact-icon svg{display:block;max-width:21px;max-height:21px}
.contact-form,.contact-form *{box-sizing:border-box}
@media (max-width:560px){
  .contact-box{display:grid;grid-template-columns:minmax(0,1fr);width:100%;padding:28px 18px;gap:38px;overflow:hidden}
  .contact-info,.contact-form-wrap{min-width:0;width:100%}
  .contact-intro{margin:18px 0 26px;font-size:15px;line-height:1.65}
  .contact-list{gap:12px}
  .contact-item{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:13px;min-height:64px;padding:12px 13px}
  .contact-icon{width:38px;height:38px;min-width:38px;max-width:38px;display:grid;place-items:center}
  .contact-icon svg{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important}
  .contact-item span:last-child{min-width:0}
  .contact-item strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
  .contact-form{display:grid;width:100%;gap:15px;margin-top:20px}
  .form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;width:100%}
  .contact-form label:not(.form-consent):not(.form-honeypot){display:grid;width:100%;gap:7px}
  .contact-form input:not([type="checkbox"]),.contact-form textarea{display:block;width:100%;min-width:0;max-width:100%;margin:0}
  .contact-form textarea{min-height:150px}
  .form-consent{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;width:100%;align-items:start;gap:10px!important;line-height:1.55}
  .form-consent input{width:17px!important;height:17px!important;min-width:17px;margin:2px 0 0!important;padding:0!important}
  .form-submit{display:flex;width:100%;max-width:100%;min-height:48px;padding-left:14px;padding-right:14px}
  .form-note,.form-status{text-align:left;line-height:1.55}
  .about-location{grid-template-columns:38px 1fr;gap:13px;margin-top:25px;padding:16px 0 16px 15px}
  .about-location-icon{width:38px;height:38px}
  .about-location-icon svg{width:19px;height:19px}
}

/* Finální sjednocení vizuálního stylu */
.service-card a[href*="dddkucera.cz"]{
  color:var(--gold-light);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(226,170,85,.42);
  text-underline-offset:3px;
  transition:color .2s ease,text-decoration-color .2s ease;
}
.service-card a[href*="dddkucera.cz"]:hover{
  color:#f0bd70;
  text-decoration-color:currentColor;
}

/* Jednotné pozadí a oddělení hlavních sekcí */
.benefits,
.projects,
.services,
.about,
.contact{
  background:var(--bg);
}
.projects,
.services,
.about,
.contact{
  border-top:1px solid var(--line);
}
.about{
  border-bottom:0;
}
.projects,
.services,
.about,
.contact{
  padding-top:82px;
  padding-bottom:82px;
}

/* Jednolitý povrch procesní timeline bez prolínání odstínů */
.process-content{
  background:#101417;
}

@media (max-width:860px){
  .projects,
  .services,
  .about,
  .contact{
    padding-top:72px;
    padding-bottom:72px;
  }
}
@media (max-width:560px){
  .projects,
  .services,
  .about,
  .contact{
    padding-top:65px;
    padding-bottom:65px;
  }
}

.gold-arrow{width:14px;height:14px;margin-left:5px;color:var(--gold);display:inline-block;vertical-align:-2px;flex:none}
