:root {
--primary: #00e5ff;
--primary-dark: #00b3cc;
--bg: #121212;
--surface: #1e1e1e;
--text: #f1f1f1;
--muted: #999;
--radius: 8px;
--max-width: 1100px;
--font: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
--transition: .3s ease;
}
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.posun {
  margin-left: 5%;
}
/* 1) First section: color only (explicitly clear any image) */
section {
  position: relative;
  overflow: hidden; /* ensure pseudo stays clipped to section */
}

/* shared style for all background layers */
section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-attachment: fixed; /* visually fixed */
  z-index: -1; /* sits behind content */
}

/* 1) first section: gradient only */
section:first-of-type::before {
  background: radial-gradient(circle at 50% 50%, var(--surface) 0%, var(--bg) 70%);
}

/* 2) odd sections except first */
section:nth-of-type(odd):not(:first-of-type)::before {
  background-image: url('/pic/even.webp');
  background-color: #333;
}

/* 3) even sections */
section:nth-of-type(even)::before {
  background-image: url('/pic/odd.webp');
  background-color: #1e1e1e;
}

html {
scroll-behavior: smooth;
}
body {
font-family: var(--font);
color: var(--text);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
img {
max-width: 100%;
display: block;
border-radius: var(--radius);
}
a {
color: inherit;
text-decoration: none;
}
button {
font: inherit;
border: none;
background: none;
cursor: pointer;
}
.container {
width: min(90%, var(--max-width));
margin-inline: auto;
}
/* HEADER */
.header {
position: fixed;
inset: 0 0 auto 0;
background: rgba(30, 30, 30);
backdrop-filter: blur(6px);
z-index: 1000;
border-bottom: 1px solid #333;
}
.header__inner {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 0;
}
.logo {
font-weight: 700;
font-size: 1.25rem;
color: var(--primary);
}
.nav__list {
display: flex;
gap: 1.5rem;
list-style: none;
}
.nav__link {
position: relative;
color: var(--text);
transition: color var(--transition);
}
.nav__link::after {
content: "";
position: absolute;
left: 0;
bottom: -4px;
width: 0;
height: 2px;
background: var(--primary);
transition: width var(--transition);
}
.nav__link:hover::after,
.nav__link:focus::after {
width: 100%;
}
.hamburger {
display: none;
flex-direction: column;
gap: 6px;
width: 28px;
height: 20px;
}
.hamburger::before,
.hamburger::after,
.hamburger span {
content: "";
height: 3px;
background: var(--text);
border-radius: 2px;
transition: transform var(--transition);
}
.hamburger span {
width: 100%;
}
.hamburger.active::before {
transform: translateY(6px) rotate(45deg);
}
.hamburger.active::after {
transform: translateY(-3px) rotate(-45deg);
}
.hamburger.active span {
transform: scale(0);
}
/* HERO */
.hero {
padding: 10rem 0 6rem;
text-align: center;
align-content: center;
background: radial-gradient(circle at 50% 50%, var(--surface) 0%, var(--bg) 70%);
height: 100vh;
}
.hero__title {
font-size: clamp(2.2rem, 5vw, 3.5rem);
margin-bottom: 1rem;
}
.text-primary {
color: var(--primary);
}
.hero__subtitle {
max-width: 700px;
margin-inline: auto;
margin-bottom: 2.5rem;
color: var(--muted);
}
.hero__actions {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1rem;
}
.btn {
display: inline-block;
padding: .9rem 1.8rem;
border-radius: var(--radius);
font-weight: 600;
transition: background var(--transition), color var(--transition), transform var(--transition);
}
.btn--primary {
background: var(--primary);
color: #000;
}
.btn--primary:hover {
background: var(--primary-dark);
transform: translateY(-2px);
}
.btn--outline {
border: 2px solid var(--primary);
color: var(--primary);
}
.btn--outline:hover {
background: var(--primary);
color: #000;
}
/* SECTIONS */
section {
padding: 5rem 0;
}
.section-title {
font-size: clamp(1.8rem, 4vw, 2.5rem);
margin-bottom: 3rem;
text-align: center;
position: relative;
}
.section-title::after {
content: "";
display: block;
width: 60px;
height: 4px;
background: var(--primary);
margin: .5rem auto 0;
border-radius: 2px;
}
/* O NÁS */
.o-nas__grid {
display: grid;
gap: 2rem;
grid-template-columns: 1fr 1fr;
align-items: center;
background-repeat: no-repeat;
background-attachment: fixed;
}
.o-nas__list {
list-style: "✔ ";
padding-left: 1.2rem;
margin-top: 1rem;
background-repeat: no-repeat;
background-attachment: fixed;
}
.o-nas__list li + li {
margin-top: .5rem;
}
/* SLUŽBY */
.sluzby__grid {
display: grid;
gap: 2rem;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.sluzba {
background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgb(84, 84, 84);
padding: 2rem;
border-radius: var(--radius);
text-align: left;
transition: transform var(--transition), box-shadow var(--transition);
}
.sluzba:hover {
transform: translateY(-6px);
box-shadow: 0px 0px 10px var(--primary-dark);
}
.sluzba__icon {
font-size: 2.5rem;
margin-bottom: 1rem;
}
/* JAK TO FUNGUJE */
.steps {
display: grid;
gap: 2rem;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
margin-bottom: 3rem;
}
.step {
text-align: center;
}
.step__num {
display: grid;
place-content: center;
width: 60px;
height: 60px;
margin: 0 auto 1rem;
background: var(--primary);
color: #000;
border-radius: 50%;
font-weight: 700;
font-size: 1.3rem;
}
.diagram {
max-width: 640px;
margin-inline: auto;
}
/* CENÍK */
.ceny__grid {
display: grid;
gap: 2rem;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.cena {
background: var(--surface);
padding: 2rem;
border-radius: var(--radius);
position: relative;
transition: transform var(--transition);
}
.cena:hover {
transform: translateY(-4px);
}
.cena--hit {
border: 2px solid var(--primary);
}
.cena__badge {
position: absolute;
top: -12px;
right: 1rem;
background: var(--primary);
color: #000;
padding: .3rem .8rem;
border-radius: var(--radius);
font-size: .8rem;
font-weight: 600;
}
.cena__castka {
font-size: 2rem;
font-weight: 700;
margin: .5rem 0 1rem;
color: var(--primary);
}
.ceny__note {
text-align: center;
margin-top: 2rem;
color: rgba(255, 255, 255, 0.77);
}
/* REFERENCE */
.reference__grid {
display: grid;
gap: 2rem;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.reference__item {
background: var(--surface);
padding: 2rem;
border-radius: var(--radius);
font-style: italic;
}
.reference__item cite {
display: block;
margin-top: 1rem;
font-style: normal;
font-weight: 600;
color: var(--primary);
}
/* FAQ */
.faq__list {
display: grid;
gap: 1rem;
color: var(--text);
}
.faq__item {
background: var(--surface);
border-radius: var(--radius);
overflow: hidden;
color: var(--text);
}
.faq__question {
width: 100%;
text-align: left;
padding: 1.2rem;
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 600;
transition: background var(--transition);
color: var(--text);
}
.faq__question::after {
content: "+";
font-size: 1.2rem;
transition: transform var(--transition);
}
.faq__question[aria-expanded="true"]::after {
transform: rotate(45deg);
}
.faq__question:hover {
background: rgba(255, 255, 255, .05);
}
.faq__answer {
padding: 0 1.2rem 1.2rem;
color: var(--muted);
display: none;
}
/* KONTAKT */
.kontakt__inner {
display: grid;
gap: 3rem;
grid-template-columns: 1fr 1fr;
}
.kontakt__list {
list-style: none;
margin-top: 1.5rem;
}
.kontakt__list li + li {
margin-top: .8rem;
}
form {
max-width: 500px;
padding-top: 10%;
}
.form__label {
display: block;
margin-bottom: 1rem;
font-weight: 500;
}
.form__label input,
.form__label textarea {
width: 100%;
margin-top: .3rem;
padding: .7rem 1rem;
background: var(--surface);
border: 1px solid rgb(0, 179, 204, 0.7);
border-radius: var(--radius);
color: var(--text);
resize: vertical;
}
.form__label input:focus,
.form__label textarea:focus {
outline: none;
border-color: var(--primary);
}
/* FOOTER */
.footer {
padding: 2.5rem 0;
text-align: center;
background: var(--surface);
font-size: .9rem;
color: var(--muted);
}
.footer a {
color: var(--primary);
}
/* MODAL */
.modal {
border: none;
background: var(--surface);
color: var(--text);
padding: 2.5rem;
border-radius: var(--radius);
max-width: 420px;
text-align: center;
box-shadow: 0 12px 40px rgba(0, 0, 0, .6);
align-self: center;
justify-self: center;
}
.modal::backdrop {
background: rgba(0, 0, 0, .6);
}
.modal h3 {
margin-bottom: 1rem;
color: var(--primary);
}
.modal .btn {
margin-top: 1.5rem;
}
/* REVEAL ANIMATION */
.reveal {
opacity: 0;
transform: translateY(30px);
transition: opacity .6s ease, transform .6s ease;
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
/* MOBILE */
@media (max-width: 860px) {
.nav {
position: fixed;
inset: 100% 0 0 100%;
width: 200px;
flex-direction: column;
padding: 2rem;
transition: transform var(--transition);
background: rgba(30, 30, 30);
}
.nav.open {
transform: translateX(-100%);
background: rgba(30, 30, 30);
height: 100vh;
}
.nav__list {
flex-direction: column;
gap: 1.2rem;
background: rgba(30, 30, 30);
}
.hamburger {
display: flex;
}
.hero__actions {
flex-direction: column;
align-items: center;
}
.o-nas__grid,
.kontakt__inner {
grid-template-columns: 1fr;
}
.steps {
grid-template-columns: 1fr;
}
}
@media (max-height: 700px) {
  @media(max-width: 500px) {
.hero {
height:150%;
}}}