/* =========================================================
   PÍSMA – lokálně (Archivo, Inter, IBM Plex Mono; latin + latin-ext)
   ========================================================= */
/* Archivo latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Archivo latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Archivo latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Archivo latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Archivo latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Archivo latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/archivo-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* IBM Plex Mono latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* IBM Plex Mono latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/ibm-plex-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* =========================================================
   IKONY – Font Awesome Free 6.5.2 (CC BY 4.0), jen použité ikony
   jako lokální SVG masky (bez externího CSS a webfontu)
   ========================================================= */
.fa-solid {
  display: inline-block;
  width: var(--fa-w, 1em);
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: var(--fa-i) center / contain no-repeat;
  mask: var(--fa-i) center / contain no-repeat;
}
.fa-arrow-right{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z%22/%3E%3C/svg%3E");--fa-w:0.875em}
.fa-bolt{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z%22/%3E%3C/svg%3E");--fa-w:0.875em}
.fa-building{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3Cpath d=%22M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z%22/%3E%3C/svg%3E");--fa-w:0.75em}
.fa-calendar-check{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z%22/%3E%3C/svg%3E");--fa-w:0.875em}
.fa-certificate{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.4-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-check{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z%22/%3E%3C/svg%3E");--fa-w:0.875em}
.fa-chevron-down{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-chevron-left{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 512%22%3E%3Cpath d=%22M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z%22/%3E%3C/svg%3E");--fa-w:0.625em}
.fa-chevron-right{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 512%22%3E%3Cpath d=%22M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z%22/%3E%3C/svg%3E");--fa-w:0.625em}
.fa-circle-check{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-clipboard-check{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3Cpath d=%22M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z%22/%3E%3C/svg%3E");--fa-w:0.75em}
.fa-coins{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2l0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5V176c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336V300.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4V304v5.7V336zm32 0V304 278.1c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5V272c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5V432c0 44.2-86 80-192 80S0 476.2 0 432V396.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-envelope{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-file-invoice{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3Cpath d=%22M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 96H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm0 32v64H288V256H96zM240 416h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z%22/%3E%3C/svg%3E");--fa-w:0.75em}
.fa-handshake{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3Cpath d=%22M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V128H16zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z%22/%3E%3C/svg%3E");--fa-w:1.25em}
.fa-house-chimney{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64 24c0 22.1 17.9 40 40 40h24 32.5c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1h16c22.1 0 40-17.9 40-40V455.8c.3-2.6 .5-5.3 .5-8.1l-.7-160.2h32z%22/%3E%3C/svg%3E");--fa-w:1.125em}
.fa-house{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z%22/%3E%3C/svg%3E");--fa-w:1.125em}
.fa-id-card{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M0 96l576 0c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96zm0 32V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128H0zM64 405.3c0-29.5 23.9-53.3 53.3-53.3H234.7c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7H74.7c-5.9 0-10.7-4.8-10.7-10.7zM176 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm176 16c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16z%22/%3E%3C/svg%3E");--fa-w:1.125em}
.fa-landmark{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l171.8 98.1L448 104l0 .9 47.9 27.4c12.6 7.2 18.8 22 15.1 36s-16.4 23.8-30.9 23.8H32c-14.5 0-27.2-9.8-30.9-23.8s2.5-28.8 15.1-36L64 104.9V104l4.4-1.6L240.1 4.2zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-list-check{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-location-dot{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3Cpath d=%22M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z%22/%3E%3C/svg%3E");--fa-w:0.75em}
.fa-map-location-dot{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503V200.4zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z%22/%3E%3C/svg%3E");--fa-w:1.125em}
.fa-paper-plane{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-people-group{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3Cpath d=%22M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3V245.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V389.2C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112h32c24 0 46.2 7.5 64.4 20.3zM448 416V394.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176h32c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2V416c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3V261.7c-10 11.3-16 26.1-16 42.3zm144-42.3v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V405.2c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112h32c61.9 0 112 50.1 112 112z%22/%3E%3C/svg%3E");--fa-w:1.25em}
.fa-people-roof{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3Cpath d=%22M335.5 4l288 160c15.4 8.6 21 28.1 12.4 43.5s-28.1 21-43.5 12.4L320 68.6 47.5 220c-15.4 8.6-34.9 3-43.5-12.4s-3-34.9 12.4-43.5L304.5 4c9.7-5.4 21.4-5.4 31.1 0zM320 160a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm312 40a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM226.9 491.4L200 441.5V480c0 17.7-14.3 32-32 32H120c-17.7 0-32-14.3-32-32V441.5L61.1 491.4c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8L552 441.5V480c0 17.7-14.3 32-32 32H472c-17.7 0-32-14.3-32-32V441.5l-26.9 49.9c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8L376 345.5V400c0 17.7-14.3 32-32 32H296c-17.7 0-32-14.3-32-32V345.5l-26.9 49.9c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8z%22/%3E%3C/svg%3E");--fa-w:1.25em}
.fa-phone{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-play{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3Cpath d=%22M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z%22/%3E%3C/svg%3E");--fa-w:0.75em}
.fa-scale-balanced{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 640 512%22%3E%3Cpath d=%22M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288H584.4L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320H199.3L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z%22/%3E%3C/svg%3E");--fa-w:1.25em}
.fa-shield-halved{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-triangle-exclamation{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z%22/%3E%3C/svg%3E");--fa-w:1em}
.fa-user{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z%22/%3E%3C/svg%3E");--fa-w:0.875em}
.fa-video{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1V320 192 174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z%22/%3E%3C/svg%3E");--fa-w:1.125em}
.fa-xmark{--fa-i:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 384 512%22%3E%3Cpath d=%22M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z%22/%3E%3C/svg%3E");--fa-w:0.75em}

/* ==========================================================================
   VÝŠKOVÉ PRÁCE HRADEC – DESIGN SYSTEM
   ========================================================================== */

/* -------------------- 1. Design tokens -------------------- */
:root {
  /* Barvy */
  --color-primary: #c1481f;
  --color-primary-dark: #9c3a18;
  --color-primary-soft: #f3e2d8;
  --color-secondary: #1e2b38;
  --color-secondary-soft: #e7ebee;
  --color-background: #faf7f2;
  --color-surface: #ffffff;
  --color-text: #221f1c;
  --color-muted: #675f57;
  --color-accent: #4d7891;
  --color-primary-on-dark: #f0b79a;
  --color-border: rgba(34, 31, 28, 0.1);
  --color-success: #1e7d4f;
  --color-success-soft: #e7f5ed;

  /* Spacing škála (8px grid) */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.5rem;    /* 24px */
  --space-6: 2rem;      /* 32px */
  --space-7: 3rem;      /* 48px */
  --space-8: 4rem;      /* 64px */

  /* Typografie */
  --font-heading: "Archivo", sans-serif;
  --font-body: "Inter", sans-serif;
  --text-base: 1rem;
  --line-height-body: 1.7;
  --line-height-heading: 1.2;

  /* Layout */
  --container-width: 90%;
  --container-max: 1280px;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --shadow-card: 0 1px 2px rgba(34, 31, 28, 0.04), 0 12px 28px rgba(34, 31, 28, 0.07);
  --shadow-hover: 0 1px 2px rgba(34, 31, 28, 0.05), 0 20px 40px rgba(34, 31, 28, 0.12);
  --transition: 220ms cubic-bezier(0.4, 0, 0.2, 1);
  --header-height: 76px;
}

/* -------------------- 2. Reset -------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--line-height-body);
  color: var(--color-text);
  background-color: var(--color-background);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

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

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  background: none;
  border: none;
}

/* Viditelný focus stav pro přístupnost */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* Cíl skip-linku – jen přijme fokus, orámování by kolem celého obsahu nedávalo smysl */
main:focus {
  outline: none;
}

/* -------------------- 3. Typografie -------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  color: var(--color-secondary);
  line-height: var(--line-height-heading);
  font-weight: 800;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.25rem, 5.2vw, 3.75rem);
  letter-spacing: -0.02em;
}

h2 {
  font-size: clamp(1.75rem, 3.6vw, 2.75rem);
  letter-spacing: -0.01em;
}

h3 {
  font-size: clamp(1.375rem, 2.4vw, 1.75rem);
}

h4 {
  font-size: clamp(1.125rem, 1.6vw, 1.375rem);
}

h5,
h6 {
  font-size: 1.0625rem;
}

p {
  max-width: 68ch;
  color: var(--color-muted);
}

p + p {
  margin-top: var(--space-4);
}

.lede {
  font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
  color: var(--color-muted);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-heading);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
}

.eyebrow::before {
  content: "";
  width: 16px;
  height: 4px;
  flex-shrink: 0;
  background:
    linear-gradient(var(--color-secondary), var(--color-secondary)) left center / 3px 2px no-repeat,
    linear-gradient(var(--color-primary), var(--color-primary)) center / 10px 4px no-repeat,
    linear-gradient(var(--color-secondary), var(--color-secondary)) right center / 3px 2px no-repeat;
}

strong {
  color: var(--color-secondary);
  font-weight: 700;
}

/* Výchozí odstup, kdykoliv eyebrow/nadpis/odstavec následují hned za sebou
   mimo .section-head (kde to řeší margin-bottom výše). Díky slučování
   svislých marginů se nezdvojí tam, kde už explicitní odstup existuje. */
.eyebrow + h1,
.eyebrow + h2,
.eyebrow + h3,
.eyebrow + h4 {
  margin-top: var(--space-3);
}

h1 + p,
h2 + p,
h3 + p,
h4 + p {
  margin-top: var(--space-4);
}

/* Nedělitelné znaky, jednopísmenná slova a číslo + jednotka viz. HTML (&nbsp;) */

/* -------------------- 4. Layout -------------------- */
.container {
  width: var(--container-width);
  max-width: var(--container-max);
  margin-inline: auto;
}

.section {
  padding-block: var(--space-8);
}

.section--tight {
  padding-block: var(--space-7);
}

.section--surface {
  background: var(--color-surface);
}

.section--dark {
  background: var(--color-secondary);
  color: #fff;
}

.section--dark h2,
.section--dark h3,
.section--dark p {
  color: #fff;
}

.section--dark .lede {
  color: rgba(255, 255, 255, 0.75);
}

.section-head {
  max-width: 46rem;
  margin-bottom: var(--space-7);
}

.section-head--center {
  margin-inline: auto;
  text-align: center;
}

.section-head > .eyebrow {
  margin-bottom: var(--space-3);
}

.section-head > h2 {
  margin-bottom: var(--space-4);
}

.grid {
  display: grid;
  gap: var(--space-6);
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
  .grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Fotogalerie – fotky si drží vlastní poměr stran, žádný ořez ani rámeček */
.photo-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
}

.photo-gallery img {
  flex: 0 0 auto;
  height: 260px;
  width: auto;
  max-width: 100%;
  display: block;
  box-shadow: var(--shadow-card);
  cursor: zoom-in;
}

@media (max-width: 600px) {
  .photo-gallery img {
    height: 180px;
  }
}

/* Popup se zvětšenou fotkou */
.lightbox {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-6);
  background: rgba(12, 16, 20, 0.92);
}

.lightbox[hidden] {
  display: none;
}

.lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  box-shadow: var(--shadow-hover);
}

.lightbox__close {
  position: absolute;
  top: var(--space-5);
  right: var(--space-5);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  font-size: 1.125rem;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition);
}

.lightbox__close:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  font-size: 1.125rem;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition);
}

.lightbox__nav[hidden] {
  display: none;
}

.lightbox__nav:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.lightbox__nav--prev {
  left: var(--space-5);
}

.lightbox__nav--next {
  right: var(--space-5);
}

.lightbox__counter {
  position: absolute;
  bottom: var(--space-4);
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}

@media (min-width: 768px) {
  .lightbox {
    padding-inline: calc(var(--space-5) * 2 + 48px);
  }
}

@media (max-width: 767px) {
  .lightbox__nav {
    top: auto;
    bottom: var(--space-4);
    transform: none;
  }
}

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

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

.two-col {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-7);
  align-items: center;
}

@media (min-width: 900px) {
  .two-col {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
  }
  .two-col--reverse .two-col__media {
    order: 2;
  }
}

.two-col__media img,
.two-col__media video {
  border-radius: var(--radius-lg);
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-shadow: var(--shadow-card);
  display: block;
}

/* Citace zákona (sekce Údržba staveb) */
.law-quote {
  background: var(--color-surface);
  border-left: 4px solid var(--color-primary);
  box-shadow: var(--shadow-card);
  padding: var(--space-6);
}

.law-quote__source {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-secondary);
  margin-bottom: var(--space-4);
}

.law-quote__source i {
  color: var(--color-primary);
}

.law-quote blockquote p {
  font-size: 1.0625rem;
  font-style: italic;
  color: var(--color-text);
}

@media (max-width: 600px) {
  .law-quote {
    padding: var(--space-5);
  }
}

/* -------------------- 5. Tlačítka -------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.01em;
  padding: var(--space-4) var(--space-6);
  border-radius: var(--radius-sm);
  border: 2px solid transparent;
  transition: transform var(--transition), box-shadow var(--transition), background-color var(--transition), color var(--transition), border-color var(--transition);
  white-space: nowrap;
}

.btn-primary {
  background: var(--color-primary);
  color: #fff;
  box-shadow: 0 10px 24px -8px rgba(193, 72, 31, 0.55);
}

.btn-primary:hover {
  background: var(--color-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -8px rgba(193, 72, 31, 0.6);
}

.btn-outline {
  background: transparent;
  color: var(--color-secondary);
  border-color: var(--color-border);
}

.btn-outline:hover {
  border-color: var(--color-secondary);
  transform: translateY(-2px);
}

.btn-on-dark {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
}

.btn-on-dark:hover {
  border-color: #fff;
  transform: translateY(-2px);
}

.btn-block {
  width: 100%;
}

.btn-sm {
  padding: var(--space-3) var(--space-5);
  font-size: 0.875rem;
}

/* -------------------- 6. Header / navigace -------------------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: var(--header-height);
  padding-block: var(--space-3);
  display: flex;
  align-items: center;
  background: rgba(250, 247, 242, 0.92);
  border-bottom: 1px solid var(--color-border);
}

/* Rozmazání pozadí přes samostatný pseudo-element – „backdrop-filter" přímo
   na .site-header by potomkům s position:fixed (mobilní menu) změnil jejich
   ukotvení z celé obrazovky jen na box hlavičky. */
.site-header::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  backdrop-filter: saturate(160%) blur(10px);
}

.site-header__inner {
  width: var(--container-width);
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}

.logo {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-secondary);
  line-height: 1.15;
}

.logo__mark {
  width: 27px;
  height: 37px;
  flex-shrink: 0;
  color: inherit;
}

.logo__wordmark {
  display: flex;
  flex-direction: column;
}

.logo__name {
  display: block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.05;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: inherit;
}

.logo__name--accent {
  color: var(--color-primary);
}

.logo__city {
  display: block;
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 500;
  font-size: 0.5625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-top: 3px;
}

.nav-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  align-items: center;
  z-index: 110;
}

.nav-toggle span {
  width: 24px;
  height: 2px;
  background: var(--color-secondary);
  border-radius: 0;
  transition: transform var(--transition), opacity var(--transition);
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.main-nav {
  position: fixed;
  top: var(--header-height);
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--color-background);
  padding: var(--space-6) 0 var(--space-8);
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform var(--transition);
  z-index: 105;
}

.main-nav.is-open {
  transform: translateX(0);
}

.main-nav__list {
  width: var(--container-width);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.main-nav__list a {
  display: block;
  padding: var(--space-4) var(--space-2);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.25rem;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-secondary);
}

.main-nav__list a[aria-current="page"],
.main-nav__list a:hover {
  color: var(--color-primary);
}

.main-nav__item-row {
  display: flex;
  align-items: center;
}

.main-nav__item-row a {
  flex: 1;
}

.main-nav__subtoggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  color: var(--color-secondary);
  transition: transform var(--transition);
}

.main-nav__subtoggle.is-open {
  transform: rotate(180deg);
}

.main-nav__sub {
  display: none;
  flex-direction: column;
  padding-left: var(--space-4);
}

.has-dropdown.is-open .main-nav__sub {
  display: flex;
}

.main-nav__sub a {
  font-size: 1rem;
  font-weight: 600;
  padding-block: var(--space-3);
}

.main-nav__email {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: var(--container-width);
  margin: var(--space-5) auto 0;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--color-secondary);
}

.main-nav__email i {
  color: var(--color-primary);
}

.main-nav__email:hover {
  color: var(--color-primary);
}

.main-nav__cta {
  width: var(--container-width);
  margin: var(--space-6) auto 0;
}

@media (min-width: 1024px) {
  .nav-toggle {
    display: none;
  }

  .main-nav {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    transform: none;
    background: transparent;
    padding: 0;
    overflow: visible;
    display: flex;
    align-items: center;
  }

  .main-nav__list {
    width: auto;
    flex-direction: row;
    align-items: center;
    gap: var(--space-6);
    position: relative;
  }

  .main-nav__list a {
    border-bottom: none;
    padding: var(--space-2) 0;
    font-size: 0.9375rem;
    position: relative;
  }

  .main-nav__list a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -4px;
    height: 2px;
    background: var(--color-primary);
    transition: right var(--transition);
  }

  .main-nav__list a:hover::after,
  .main-nav__list a[aria-current="page"]::after {
    right: 0;
  }

  .has-dropdown {
    position: relative;
  }

  .main-nav__subtoggle {
    display: none;
  }

  .main-nav__sub {
    display: flex;
    position: absolute;
    top: 100%;
    left: -1.25rem;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-hover);
    padding: var(--space-3);
    min-width: 21rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
  }

  .has-dropdown:hover .main-nav__sub,
  .has-dropdown:focus-within .main-nav__sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .main-nav__sub a {
    border-radius: var(--radius-sm);
    padding: var(--space-3) var(--space-4);
  }

  .main-nav__sub a:hover {
    background: var(--color-primary-soft);
  }

  .main-nav__contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    margin-left: var(--space-7);
  }

  .main-nav__email {
    width: auto;
    margin: 0;
    font-size: 0.8125rem;
  }

  .main-nav__cta {
    width: auto;
    margin: 0;
    padding: var(--space-2) var(--space-4);
  }
}

/* -------------------- 7. Hero -------------------- */
.hero {
  position: relative;
  color: #fff;
  display: flex;
  align-items: flex-end;
  min-height: min(88vh, 780px);
  overflow: hidden;
}

.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(15, 20, 26, 0.82) 0%, rgba(15, 20, 26, 0.6) 42%, rgba(15, 20, 26, 0.18) 75%),
    linear-gradient(180deg, rgba(15, 20, 26, 0.35) 0%, rgba(15, 20, 26, 0.3) 35%, rgba(15, 20, 26, 0.88) 100%);
}

.hero__content {
  position: relative;
  z-index: 1;
  width: var(--container-width);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-block: var(--space-8);
}

.hero__content h1 {
  color: #fff;
  max-width: 20ch;
  margin-bottom: var(--space-5);
}

.hero .eyebrow {
  color: var(--color-primary-on-dark);
}

.hero .lede {
  color: rgba(255, 255, 255, 0.85);
  max-width: 52ch;
  margin-bottom: var(--space-6);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-bottom: var(--space-7);
}

.hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-7);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: var(--space-5);
}

.hero__stats dt {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
}

.hero__stats dd {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
}

/* Menší hero pro podstránky */
.page-hero {
  background: var(--color-secondary);
  color: #fff;
  padding-block: var(--space-8) var(--space-7);
}

.page-hero h1 {
  color: #fff;
  max-width: 34ch;
}

.page-hero .lede {
  color: rgba(255, 255, 255, 0.78);
  max-width: 56ch;
  margin-top: var(--space-4);
}

/* -------------------- 8. Karty -------------------- */
.card {
  display: block;
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition), box-shadow var(--transition);
  height: 100%;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.card__icon {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-sm);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  margin-bottom: var(--space-5);
}

.card h3 {
  margin-bottom: var(--space-3);
}

.card p {
  margin-bottom: var(--space-4);
}

.card__link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--color-primary);
}

.card__link i {
  transition: transform var(--transition);
}

.card__link:hover i {
  transform: translateX(4px);
}

/* Karta služby s obrázkem */
.service-card {
  display: flex;
  flex-direction: column;
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform var(--transition), box-shadow var(--transition);
  height: 100%;
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}

.service-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
}

.service-card:hover .service-card__media img {
  transform: scale(1.06);
}

.service-card__body {
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.service-card__body h3 {
  margin-bottom: var(--space-2);
}

.service-card__body p {
  flex: 1;
  margin-bottom: var(--space-4);
}

/* Seznam cílových skupin – prostý text s ikonou, žádné tlačítko */
.audience-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-6) var(--space-7);
}

.audience-list__item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-secondary);
}

.audience-list__item i {
  color: var(--color-primary);
  font-size: 1.125rem;
}

/* Statistiky / důvěra */
/* Rozdělený blok: video + tmavý panel (sekce Náš přístup) */
.approach {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: var(--space-7);
}

@media (min-width: 900px) {
  .approach {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
  }
}

.approach__media {
  position: relative;
}

.approach__media video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  box-shadow: 0 1px 2px rgba(34, 31, 28, 0.04), 0 6px 16px rgba(34, 31, 28, 0.06);
}

.approach__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(34, 31, 28, 0.1);
  color: var(--color-primary);
  font-size: 0.875rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  transition: transform var(--transition), background-color var(--transition);
  pointer-events: auto;
}

.approach__play i {
  margin-left: 3px;
}

.approach__play:hover {
  transform: translate(-50%, -50%) scale(1.08);
  background: #fff;
}

.approach__play.is-hidden {
  display: none;
}

.approach__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.approach__content .btn-primary {
  align-self: flex-start;
  margin-top: var(--space-6);
}

/* Pruh se 4 body, oddělený jemnými linkami */
.approach-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--color-border);
  margin-top: var(--space-8);
}

@media (min-width: 900px) {
  .approach-stats {
    grid-template-columns: repeat(4, 1fr);
  }
}

.approach-stats__item {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-5) var(--space-5) 0;
  border-bottom: 1px solid var(--color-border);
}

@media (min-width: 900px) {
  .approach-stats__item {
    border-left: 1px solid var(--color-border);
    padding-left: var(--space-5);
  }
  .approach-stats__item:first-child {
    border-left: none;
    padding-left: 0;
  }
}

.approach-stats__item i {
  font-size: 1.25rem;
  color: var(--color-primary);
  flex-shrink: 0;
}

.approach-stats__item strong {
  display: block;
  color: var(--color-secondary);
  font-family: var(--font-heading);
  font-size: 0.9375rem;
}

.approach-stats__item span {
  display: block;
  font-size: 0.8125rem;
  color: var(--color-muted);
}

/* -------------------- 9. Formuláře -------------------- */
.form-group {
  margin-bottom: var(--space-5);
}

.form-group label {
  display: block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.875rem;
  margin-bottom: var(--space-2);
  color: var(--color-secondary);
}

.form-group .required {
  color: var(--color-primary);
}

.form-control {
  width: 100%;
  padding: var(--space-4);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  font-size: 1rem;
  box-shadow: var(--shadow-card);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.form-control:focus {
  border-color: var(--color-primary);
  outline: none;
}

/* Vlastní šipka – nativní se lepí k okraji, padding na ni nepůsobí */
select.form-control {
  appearance: none;
  -webkit-appearance: none;
  padding-right: calc(var(--space-4) * 2 + 12px);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231e2b38' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-4) center;
  background-size: 12px 8px;
  cursor: pointer;
}

textarea.form-control {
  resize: vertical;
  min-height: 9rem;
}

.form-row {
  display: grid;
  gap: var(--space-5);
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .form-row {
    grid-template-columns: 1fr 1fr;
  }
}

.form-file {
  padding: var(--space-3);
  cursor: pointer;
}

.form-file::file-selector-button {
  margin-right: var(--space-3);
  padding: 0.5rem 1rem;
  border: none;
  background: var(--color-secondary);
  color: #fff;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background var(--transition);
}

.form-file:hover::file-selector-button {
  background: var(--color-primary);
}

.form-hint {
  font-size: 0.8125rem;
  color: var(--color-muted);
  margin-top: var(--space-2);
}

.form-check {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.form-check input {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: var(--color-primary);
  cursor: pointer;
}

.form-check label {
  font-size: 0.875rem;
  color: var(--color-muted);
  cursor: pointer;
}

.form-check label a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.form-check .required {
  color: var(--color-primary);
}

.form-note {
  font-size: 0.8125rem;
  color: var(--color-muted);
  margin-top: var(--space-4);
}

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

.form-alert {
  display: none;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border-radius: var(--radius-md);
  font-size: 0.9375rem;
  margin-bottom: var(--space-5);
}

.form-alert.is-visible {
  display: flex;
}

.form-alert--success {
  background: var(--color-success-soft);
  color: var(--color-success);
}

.form-alert--error {
  background: #fbe6e0;
  color: var(--color-primary-dark);
}

/* -------------------- 10. FAQ (otázky vlevo, odpověď vpravo) -------------------- */
.faq-split {
  display: grid;
  gap: var(--space-6);
  grid-template-columns: 1fr;
}

@media (min-width: 900px) {
  .faq-split {
    grid-template-columns: 0.85fr 1.15fr;
    align-items: stretch;
  }
}

.faq-questions {
  display: grid;
  align-content: start;
  gap: var(--space-2);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
  padding: var(--space-4);
}

.faq-question {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  width: 100%;
  border-left: 3px solid transparent;
  text-align: left;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--color-muted);
  transition: color var(--transition), background-color var(--transition), border-color var(--transition);
}

.faq-question:hover {
  color: var(--color-secondary);
  background: var(--color-background);
}

.faq-question.is-active {
  color: var(--color-primary-dark);
  background: var(--color-primary-soft);
  border-left-color: var(--color-primary);
}

.faq-question__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  background: var(--color-primary-soft);
  color: var(--color-primary);
}

.faq-answers {
  position: relative;
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
  padding: var(--space-8);
  padding-bottom: calc(var(--space-8) + 56px);
  min-height: 380px;
}

.faq-answer__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: 1.25rem;
  margin-bottom: var(--space-4);
}

.faq-answer__title {
  margin-bottom: var(--space-4);
}

.faq-answer p {
  color: var(--color-muted);
}

.faq-nav {
  position: absolute;
  right: var(--space-6);
  bottom: var(--space-6);
  display: flex;
  gap: var(--space-3);
}

.faq-nav__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-secondary);
  transition: background-color var(--transition), color var(--transition), border-color var(--transition);
}

.faq-nav__btn:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

/* -------------------- 11. Mapa -------------------- */
.map-embed {
  overflow: hidden;
  box-shadow: var(--shadow-card);
  line-height: 0;
}

.map-embed iframe {
  display: block;
  border: 0;
  min-height: 220px;
}

/* Zástupný panel, dokud návštěvník nepřijme všechny cookies */
.map-placeholder {
  height: 100%;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  padding: var(--space-6);
  text-align: center;
  line-height: var(--line-height-body);
  background: var(--color-secondary-soft);
}

.map-placeholder[hidden] {
  display: none;
}

.map-placeholder > i {
  font-size: 2rem;
  color: var(--color-primary);
}

.map-placeholder strong {
  font-family: var(--font-heading);
}

.map-placeholder p {
  max-width: 42ch;
  font-size: 0.9375rem;
}

.map-placeholder a {
  font-size: 0.875rem;
  color: var(--color-secondary);
}

/* -------------------- 12. Patička -------------------- */
.site-footer {
  background: var(--color-secondary);
  color: rgba(255, 255, 255, 0.82);
  padding-top: var(--space-8);
}

.site-footer h2,
.site-footer h3 {
  color: #fff;
}

.footer-grid {
  display: grid;
  gap: var(--space-7);
  grid-template-columns: 1fr;
  padding-bottom: var(--space-7);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

@media (min-width: 768px) {
  .footer-grid {
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
  }
}

.footer-brand .logo {
  color: #fff;
  margin-bottom: var(--space-4);
}

.footer-brand .logo__name--accent {
  color: var(--color-primary-on-dark);
}

.footer-brand .logo__city {
  color: rgba(255, 255, 255, 0.55);
}

.footer-brand p {
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: var(--space-5);
}

.footer-social {
  display: flex;
  gap: var(--space-3);
}

.footer-social a {
  width: 40px;
  height: 40px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--transition), border-color var(--transition);
}

.footer-social a:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.footer-col h3 {
  font-size: 0.9375rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-5);
}

.footer-col ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.footer-col a:hover {
  color: var(--color-primary-on-dark);
}

.footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.footer-contact i {
  color: var(--color-primary-on-dark);
  margin-top: 4px;
  width: 1rem;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: space-between;
  align-items: center;
  padding-block: var(--space-5);
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.55);
}

.footer-bottom nav {
  display: flex;
  gap: var(--space-5);
  flex-wrap: wrap;
}

.footer-bottom a:hover {
  color: #fff;
}

/* -------------------- 13. Cookie lišta -------------------- */
.cookie-banner {
  position: fixed;
  left: var(--space-4);
  right: var(--space-4);
  bottom: var(--space-4);
  max-width: 30rem;
  margin-inline: auto;
  background: var(--color-surface);
  color: var(--color-text);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-hover);
  padding: var(--space-6);
  z-index: 200;
  border: 1px solid var(--color-border);
  transform: translateY(140%);
  opacity: 0;
  transition: transform var(--transition), opacity var(--transition);
}

.cookie-banner.is-visible {
  transform: translateY(0);
  opacity: 1;
}

.cookie-banner h2 {
  font-size: 1.0625rem;
  margin-bottom: var(--space-3);
}

.cookie-banner p {
  font-size: 0.875rem;
  margin-bottom: var(--space-5);
}

.cookie-banner p a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.cookie-banner__settings {
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  display: none;
}

.cookie-banner__settings.is-visible {
  display: block;
}

.cookie-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-3);
}

.cookie-toggle strong {
  display: block;
  font-size: 0.875rem;
}

.cookie-toggle span {
  font-size: 0.75rem;
  color: var(--color-muted);
}

.switch {
  position: relative;
  display: inline-block;
  width: 42px;
  height: 24px;
  flex-shrink: 0;
}

.switch input {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.switch input:disabled {
  cursor: default;
}

.switch input:focus-visible + .switch__track {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.switch__track {
  position: absolute;
  inset: 0;
  background: var(--color-border);
  border-radius: 0;
  transition: background-color var(--transition);
}

.switch__track::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 3px;
  top: 3px;
  background: #fff;
  border-radius: 0;
  transition: transform var(--transition);
}

.switch input:checked + .switch__track {
  background: var(--color-primary);
}

.switch input:checked + .switch__track::before {
  transform: translateX(18px);
}

.switch input:disabled + .switch__track {
  background: var(--color-muted);
  opacity: 0.5;
}

/* -------------------- 14. Pomocné třídy -------------------- */
.text-center {
  text-align: center;
}

.mt-8 {
  margin-top: var(--space-8);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  left: var(--space-4);
  top: -60px;
  background: var(--color-secondary);
  color: #fff;
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-sm);
  z-index: 300;
  transition: top var(--transition);
}

.skip-link:focus {
  top: var(--space-4);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: var(--space-2) var(--space-4);
  border-radius: 0;
}

/* -------------------- 15. 404 stránka -------------------- */
.error-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
  background: var(--color-secondary);
  color: #fff;
  padding-block: var(--space-8);
}

.error-page__code {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: clamp(4rem, 14vw, 8rem);
  line-height: 1;
  color: #fff;
  margin-top: var(--space-3);
  margin-bottom: var(--space-5);
}

.error-page__mark {
  width: clamp(2.25rem, 7vw, 4rem);
  height: auto;
  color: #fff;
}

.error-page h1 {
  color: #fff;
  max-width: 32ch;
  margin-inline: auto;
  margin-bottom: var(--space-4);
}

.error-page .lede {
  color: rgba(255, 255, 255, 0.78);
  max-width: 52ch;
  margin-inline: auto;
}

.error-page__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.error-page__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3) var(--space-6);
  margin-top: var(--space-8);
  padding-top: var(--space-7);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.error-page__links a {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.875rem;
  font-weight: 600;
}

.error-page__links a:hover {
  color: var(--color-primary-on-dark);
}

/* -------------------- 16. Právní text (zásady cookies apod.) -------------------- */
.legal-content {
  max-width: 74ch;
}

.legal-content > * + * {
  margin-top: var(--space-5);
}

.legal-content h2 {
  font-size: clamp(1.375rem, 2.4vw, 1.75rem);
  margin-top: var(--space-8);
}

.legal-content h2:first-child {
  margin-top: 0;
}

.legal-content h3 {
  font-size: 1.125rem;
  margin-top: var(--space-6);
}

.legal-content p,
.legal-content li {
  max-width: none;
}

.legal-content ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.legal-content ul li {
  position: relative;
  padding-left: var(--space-5);
  color: var(--color-muted);
}

.legal-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  background: var(--color-primary);
}

.legal-content a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal-content strong {
  color: var(--color-secondary);
}

.legal-content__updated {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  margin-top: var(--space-3);
}

.cookie-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.cookie-table th,
.cookie-table td {
  text-align: left;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
}

.cookie-table th {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-secondary);
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cookie-table td {
  color: var(--color-muted);
}

.cookie-table__wrap {
  overflow-x: auto;
}


/* ==========================================================================
   MOBILNÍ ÚPRAVY
   ========================================================================== */

/* Sloupce gridu se nesmí roztáhnout podle nejširšího obsahu (jinak stránka přetéká do strany) */
.two-col > * {
  min-width: 0;
}

.map-placeholder .btn {
  white-space: normal;
}

/* Seznam s fajfkami – zalomený řádek začíná pod textem, ne pod ikonou */
.check-list li {
  display: flex;
  align-items: baseline;
}

.check-list li i {
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .section {
    padding-block: var(--space-7);
  }

  /* Tlačítka pod sebou v plné šířce */
  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__actions .btn {
    width: 100%;
  }

  /* Tři čísla v hero vedle sebe místo 2 + 1 */
  .hero__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-4);
  }

  .hero__stats dt {
    font-size: 1.5rem;
  }

  .hero__stats dd {
    font-size: 0.8125rem;
  }

  .approach-stats__item {
    align-items: flex-start;
  }

  /* Cílové skupiny v pravidelné mřížce 2 × 2 */
  .audience-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-5) var(--space-4);
  }

  .audience-list__item {
    font-size: 0.9375rem;
    align-items: flex-start;
  }

  .audience-list__item i {
    width: 1.25em;
    flex-shrink: 0;
    text-align: center;
    margin-top: 0.15em;
  }

  /* Samostatná tlačítka v sekcích také přes celou šířku, ať jsou všechna stejná */
  .approach__content .btn-primary,
  .two-col .btn {
    align-self: stretch;
    width: 100%;
  }

  /* Stejná mezera mezi všemi poli formuláře */
  .form-row {
    gap: 0;
  }

  /* Fotogalerie jako rovnoměrná mřížka čtverců, celá fotka se ukáže po rozkliknutí */
  .photo-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-3);
  }

  .photo-gallery img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
  }

  /* Lichá poslední fotka přes celý řádek, ať nezůstane díra */
  .photo-gallery img:last-child:nth-child(odd) {
    grid-column: span 2;
    aspect-ratio: 2;
  }

}

/* Tablet: 6 karet služeb na úvodní stránce ve 2 sloupcích místo jedné obří karty pod druhou */
@media (min-width: 601px) and (max-width: 900px) {
  #sluzby .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* FAQ na mobilu a tabletu: rozbalovací seznam (přestavbu dělá script.js) */
.faq-split.is-accordion {
  display: block;
}

.faq-split.is-accordion .faq-answers {
  display: none;
}

.faq-split.is-accordion .faq-questions {
  gap: 0;
  padding: 0;
}

.faq-split.is-accordion .faq-question {
  padding: var(--space-4);
  border-left: none;
  border-top: 1px solid var(--color-border);
}

.faq-split.is-accordion .faq-question:first-child {
  border-top: none;
}

.faq-split.is-accordion .faq-question.is-active {
  background: var(--color-primary-soft);
}

.faq-split.is-accordion .faq-question::after {
  content: "";
  flex: 0 0 auto;
  box-sizing: content-box;
  width: 0.875rem;
  height: 0.875rem;
  margin-left: auto;
  padding-left: var(--space-3);
  background-color: var(--color-primary);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z%22/%3E%3C/svg%3E") center / contain no-repeat content-box;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z%22/%3E%3C/svg%3E") center / contain no-repeat content-box;
  transition: transform var(--transition);
}

.faq-split.is-accordion .faq-question.is-active::after {
  transform: rotate(180deg);
}

.faq-split.is-accordion .faq-answer {
  padding: 0 var(--space-4) var(--space-5) calc(var(--space-4) * 2 + 36px);
  background: var(--color-primary-soft);
}

.faq-split.is-accordion .faq-answer__icon,
.faq-split.is-accordion .faq-answer__title {
  display: none;
}

/* Mobilní menu: jednotné okraje, linky přes celou šířku, kontakt zarovnaný */
@media (max-width: 1023px) {
  .main-nav__list {
    gap: 0;
  }

  /* Linka patří celé položce, takže u Služeb vede i pod šipkou */
  .main-nav__list > li {
    border-bottom: 1px solid var(--color-border);
  }

  .main-nav__list a {
    border-bottom: none;
    padding-inline: 0;
  }

  .main-nav__subtoggle {
    margin-right: calc(var(--space-3) * -1);
  }

  /* Podnabídka služeb: odsazená, bez vlastních linek, s jemnou levou čarou */
  .main-nav__sub {
    margin: 0 0 var(--space-4);
    padding-left: var(--space-4);
    border-left: 2px solid var(--color-primary-soft);
  }

  .main-nav__sub a {
    padding-block: var(--space-2);
    color: var(--color-muted);
  }

  .main-nav__contact {
    width: var(--container-width);
    margin: var(--space-7) auto 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .main-nav__cta {
    width: 100%;
    margin: 0;
  }

  .main-nav__email {
    width: auto;
    margin: 0;
    justify-content: center;
  }
}

/* Mobilní menu jen tak vysoké, jak je potřeba; pod ním ztmavená stránka */
@media (max-width: 1023px) {
  .main-nav {
    bottom: auto;
    max-height: calc(100vh - var(--header-height));
    max-height: calc(100dvh - var(--header-height));
    padding: var(--space-3) 0 var(--space-6);
    border-bottom: 1px solid var(--color-border);
    box-shadow: 0 16px 32px -12px rgba(30, 43, 56, 0.25);
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    transition: transform var(--transition), opacity var(--transition), visibility var(--transition);
  }

  .main-nav.is-open {
    transform: none;
    opacity: 1;
    visibility: visible;
  }

  .nav-backdrop {
    position: fixed;
    inset: var(--header-height) 0 0 0;
    z-index: 99;
    background: rgba(12, 16, 20, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition), visibility var(--transition);
  }

  .nav-backdrop.is-visible {
    opacity: 1;
    visibility: visible;
  }
}

@media (min-width: 1024px) {
  .nav-backdrop {
    display: none;
  }
}

/* Fotka/video mezi nadpisem a textem, když jsou sloupce pod sebou.
   Textový sloupec se „rozpustí" (display: contents) a jeho části se seřadí:
   eyebrow + nadpis → fotka → zbytek textu. */
@media (max-width: 899px) {
  .two-col:has(> .two-col__media),
  .approach {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .two-col:has(> .two-col__media) > div:not(.two-col__media),
  .approach__content {
    display: contents;
  }

  .two-col:has(> .two-col__media) > div:not(.two-col__media) > *,
  .approach__content > * {
    order: 3;
  }

  .two-col:has(> .two-col__media) > div:not(.two-col__media) > .eyebrow,
  .two-col:has(> .two-col__media) > div:not(.two-col__media) > :is(h2, h3):first-of-type,
  .approach__content > .eyebrow,
  .approach__content > :is(h2, h3):first-of-type {
    order: 1;
  }

  .two-col__media,
  .approach__media {
    order: 2;
    margin-block: var(--space-5) var(--space-1);
  }
}

/* Nadpisy sekcí na mobilu vlevo (výjimky na středu: tmavé pruhy s výzvou, 404, karta Slevy, panel mapy) */
@media (max-width: 600px) {
  .section-head--center {
    text-align: left;
  }
}

/* Spodní řádek patičky na mobilu: copyright, odkazy pod sebou, autorka oddělená */
@media (max-width: 767px) {
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-5);
    padding-block: var(--space-6);
  }

  .footer-bottom nav {
    flex-direction: column;
    gap: var(--space-3);
  }

  .footer-bottom nav a {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.75);
  }

  .footer-credit {
    width: 100%;
    padding-top: var(--space-4);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
}
