/* Legality – styly webu
   1. Písma  2. Barvy a proměnné (světlý / tmavý motiv)  3. Základ  4. Společné komponenty
   5. Sekce stránky  6. Hlavička, menu, patička  7. Podstránky  8. Přepínač motivu
   Zlomy: tablet ≤ 1024 px, mobil ≤ 767 px. Barvy se zadávají jen přes proměnné z bodu 2. */

/* ===== 1. Písma ===== */
@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-300-latin-ext.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-300-latin.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400-latin-ext.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400-latin.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600-latin-ext.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600-latin.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700-latin-ext.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700-latin.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Plus Jakarta Sans je proměnné písmo: jeden soubor obsahuje všechny řezy 400–700 */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ===== 2. Barvy a proměnné ===== */
:root{
  color-scheme:light;
  --c-heading:#000;     /* nadpisy, tlačítka, štítky */
  --c-text:#111;        /* odstavce */
  --c-body:#333;
  --c-line:#181818;     /* rámečky karet a polí */
  --c-brand:#374D9C;
  --c-accent:#3D8ECC;   /* ikony, aktivní tečka karuselu */
  --c-deep:#1F4766;
  --c-dot:#D9D9D9;
  --c-focus:#6EC1E4;
  --c-icon-ui:#374D9C;  /* hamburger, zavření menu */
  --bg-page:#fff;
  --bg-card:#fff;
  --bg-gray:#F6F6F9;
  --bg-blue:#F0F9FF;
  --bg-hero:#fff;
  --bg-footer:#333;
  --c-footer:#EEE;
  --header-solid:rgba(255,255,255,.85);
  --header-shadow:rgba(0,0,0,.05) 0 4px 8px;
  --menu-bg:rgba(255,255,255,.7);
  --gradient:linear-gradient(to right,var(--c-brand),var(--c-accent));

  --font-head:Poppins,sans-serif;
  --font-text:"Plus Jakarta Sans",sans-serif;
  --gutter:50px;        /* okraj obsahu */
  --header-x:20px;      /* okraj hlavičky a patičky */
  --section-y:120px;    /* svislé odsazení sekcí */
  --border:3px;         /* rámeček karet */
}
@media (max-width:1024px){:root{--gutter:40px;--header-x:40px;--section-y:90px;--border:2px;--header-solid:rgba(255,255,255,.7)}}
@media (max-width:767px){:root{--gutter:20px;--header-x:25px;--section-y:60px;--border:1px}}

/* tmavý motiv: <html data-theme="dark"> nastavuje inline skript v <head> (uložená volba, jinak nastavení systému) */
[data-theme="dark"]{
  color-scheme:dark;
  --c-heading:#F1F2F4;--c-text:#D8DADD;--c-body:#CDCFD3;--c-line:#9A9EA5;
  --c-brand:#7A93E8;--c-accent:#4FA3E0;--c-deep:#2F6596;--c-dot:#5A5C62;--c-focus:#7CCBEB;--c-icon-ui:#fff;
  --bg-page:#2B2C30;--bg-card:#3A3C41;--bg-gray:#313236;--bg-blue:#2A3038;--bg-hero:#3B3C41;
  --bg-footer:#141517;--c-footer:#E4E5E7;
  --header-solid:rgba(43,44,48,.92);--header-shadow:rgba(0,0,0,.45) 0 4px 12px;--menu-bg:rgba(20,21,23,.75);
}

/* ===== 3. Základ ===== */
*,::before,::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg-page)}
body{margin:0;font:400 16px/24px var(--font-head);color:var(--c-body);background:var(--bg-page)}
h1,h2,h3,h4{margin:0;font-family:var(--font-head);font-weight:600;color:var(--c-heading)}
p,ul,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
.skip-link{position:absolute;left:-9999px;top:10px;z-index:10000;padding:8px 12px;background:var(--bg-page);color:var(--c-heading)}
.skip-link:focus{left:10px}
/* zřetelný rámeček fokusu při ovládání klávesnicí (myš ho nevyvolá) */
:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}
[tabindex="-1"]:focus{outline:none} /* sekce, na kterou se přesune fokus z menu */

/* ===== 4. Společné komponenty ===== */
.container{max-width:calc(1340px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.section--white{background:var(--bg-page)}
.section--gray{background:var(--bg-gray)}
.section--blue{background:var(--bg-blue)}
.center{text-align:center}

/* nadpis sekce s krátkou modrou linkou pod ním */
.section-title{margin-bottom:90px;font-size:40px;line-height:46px}
.section-title::after,.has-bar::after{content:"";display:block;width:40px;height:5px;margin-top:10px;background:var(--gradient)}

/* běžný text */
.text{font:400 18px/32px var(--font-text);color:var(--c-text)}
.text p{margin-bottom:.8em}
.text p:last-child{margin-bottom:0}
/* odkazy v textu (hlavní stránka, podstránky, formulář, patička): tenké podtržení, při najetí modré a silnější */
:is(.text,.page-text,.form__consent,.site-footer) a{text-decoration:underline 1px;text-underline-offset:3px}
:is(.text,.page-text,.form__consent,.site-footer) a:hover{text-decoration-color:var(--c-accent);text-decoration-thickness:2px}

.button{display:inline-block;padding:10px 20px;border:0;background:transparent;box-shadow:inset 0 0 0 3px var(--c-heading);
  font:700 18px/27px var(--font-head);text-transform:uppercase;text-align:center;color:var(--c-heading);cursor:pointer}
/* hover: značková modrá (JS přidá přechod podle polohy kurzoru) */
.button:hover,.button:focus-visible{background-color:#374D9C;box-shadow:none;color:#fff}

.card{border:var(--border) solid var(--c-line)}
.icon{flex:none;color:var(--c-accent)}

/* ikona + nadpis + text; na desktopu je ikona v samostatném sloupci, na menších displejích jen vedle nadpisu */
.media{display:grid;grid-template-columns:auto 1fr;column-gap:40px;align-items:start}
.media > *{grid-column:2}
.media > .icon{grid-column:1;grid-row:1 / span 4;width:40px;height:40px}
.media > h3{margin:4px 0 20px;font-size:25px;line-height:34px}

.tags{display:flex;flex-wrap:wrap;gap:10px}
.tags li{padding:10px 8px;border:2px solid var(--c-line);font:600 14px/12px var(--font-text);color:var(--c-heading)}

/* karusel (assets/js/site.js): .carousel > .carousel-track > .carousel-slide, šipky a tečky */
.carousel{position:relative;overflow:hidden}
.carousel-track{display:flex;transition-property:transform}
.carousel-slide{flex-shrink:0;width:100%}
/* výchozí rozměry snímků už v CSS (stejné, jaké pak nastaví site.js) – bez posunu obsahu před spuštěním skriptu */
.hero-carousel .carousel-slide{margin-right:10px}
.reviews-carousel .carousel-slide{margin-right:80px}
@media (min-width:1024px){.reviews-carousel .carousel-slide{width:calc((100% - 80px) / 2)}}
.carousel-dots{position:absolute;left:0;right:0;bottom:31px;display:flex;justify-content:center;gap:12px}
.carousel-dot{width:40px;height:5px;padding:0;border:0;background:var(--c-dot);cursor:pointer}
.carousel-dot.is-active{background:var(--gradient)}
.carousel-arrow{position:absolute;top:50%;z-index:2;width:44px;height:44px;margin-top:-22px;padding:10px;border:2px solid var(--c-line);background:var(--bg-page);color:var(--c-heading);cursor:pointer}
.carousel-arrow svg{display:block;width:20px;height:20px;fill:currentColor}
.carousel-arrow--prev{left:10px}
.carousel-arrow--next{right:10px}
.carousel-arrow:hover{border-color:#374D9C;background-color:#374D9C;color:#fff}

@media (max-width:1024px){
  .section-title{margin-bottom:60px;font-size:28px;line-height:30px}
  .section-title::after{width:25px;height:3px}
  .text{font-size:16px;line-height:28px}
  .button{padding:8px 16px;font-size:16px;line-height:28px}
  .media{column-gap:20px;align-items:center}
  .media > .icon{grid-row:1;width:35px;height:35px}
  .media > h3{margin:0;font-size:22px;line-height:30px}
  .media > :not(.icon,h3){grid-column:1 / -1;margin-top:20px}
  .tags li{padding:6px 8px;font-size:13px;line-height:16px}
  .carousel-dots{bottom:23px}
  .carousel-dot{width:30px;height:3px}
  .carousel-arrow{display:none}
}
@media (max-width:767px){.tags li{border-width:1px}}

/* ===== 5. Sekce stránky ===== */
/* úvodní karusel */
.hero{background:var(--bg-hero)}
.hero-carousel{max-width:1440px;margin-inline:auto}
.hero-slide{display:flex;height:790px;padding:40px 70px 0}
.hero-slide__text{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:40px}
.hero-title{margin-bottom:30px;font-size:80px;line-height:85px}
.hero-slide .text{margin-bottom:30px}
.hero-slide__image{flex:0 0 570px}
.hero-slide__image img{width:100%}

/* služby */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.service{display:flex;flex-direction:column;padding:36px}
.service .text{flex:1}
.service .tags{padding-top:50px}
@media (min-width:1025px){
  .media--stack{display:block}
  .media--stack > .icon{width:50px;height:50px}
  .media--stack > h3{margin:40px 0 35px}
}

/* kdo jsme */
.about{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.about__intro{display:flex;flex-direction:column;gap:10px}
.about__photo{display:none}
.about__features{display:flex;flex-direction:column;gap:40px}

/* rozbalovací medailonek: .bio.is-open, výšku textu animuje site.js */
.bio{margin-top:90px;padding:20px 30px;border:var(--border) solid var(--c-line);background:var(--bg-blue)}
.bio.is-open{background:var(--bg-card)}
.bio__text{height:0;overflow:hidden}
.bio__text p{padding:20px 0 40px}
.bio__head{display:flex;align-items:center;gap:30px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer}
.bio__head img{width:114px;border-radius:50%}
.bio__name{flex:1;display:flex;flex-direction:column}
.bio__name strong{font:600 25px/34px var(--font-head);color:var(--c-heading)}
.bio__name strong::after{margin-block:10px}
.bio__name span{font:600 18px/26px var(--font-text);color:var(--c-heading)}
.bio__toggle{width:20px;height:20px;margin-right:10px;fill:var(--c-text)}
.bio__minus,.bio.is-open .bio__plus{display:none}
.bio.is-open .bio__minus{display:inline}

/* partneři */
.partners{display:flex;justify-content:space-between;align-items:center}
.partners li{flex:0 0 172px;display:flex;justify-content:center}

/* jak pracujeme a sazby */
.how{display:flex;align-items:flex-start;gap:90px;margin-bottom:90px}
.how__text{flex:1;display:flex;flex-direction:column;gap:4px}
.how__lead{line-height:34px}
.how__box{flex:0 0 520px;padding:40px;background:var(--bg-card)}
.rates{display:grid;grid-template-columns:1fr 1fr;gap:100px 120px}
.rate > h3{margin-bottom:36px}
.rate__sub{margin-bottom:15px;font:600 18px/26px var(--font-text);color:var(--c-heading)}
.rates + .center{padding-top:80px}

/* reference */
.reviews-section{padding-bottom:var(--section-y)}
.reviews-carousel{padding:0 240px 106px}
.review{display:flex;flex-direction:column;justify-content:space-between;padding:25px}
.review blockquote{padding-bottom:25px}
.review figcaption{display:flex;align-items:center;gap:30px}
.review img{width:80px;border-radius:50%}
.review strong{display:block;padding-bottom:10px;font:600 25px/34px var(--font-head);color:var(--c-heading)}
.review strong + span{display:block;font:600 18px/26px var(--font-text);color:var(--c-heading);text-transform:lowercase}

/* kontakt */
.contact{display:grid;grid-template-columns:440fr 800fr;gap:100px;align-items:start}
.contact .section-title{margin-bottom:60px}
.form{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:25px;padding:60px;background:var(--bg-card)}
.form > *{grid-column:span 3}
.form > .form__wide{grid-column:1 / -1}
.field{width:100%;padding:8px 16px;border:2px solid var(--c-line);border-radius:0;background:var(--bg-card);color:var(--c-text);font:400 18px/25.2px var(--font-head)}
.field::placeholder{color:inherit;opacity:.6}
.field:focus{outline:none;border-color:var(--c-accent)}
textarea.field{padding:5px 14px;resize:vertical}
.form > .form__consent{grid-column:span 4;align-self:center;color:var(--c-text)}
.form > .button{grid-column:span 2;justify-self:start;padding:8px 16px}
.form .button[disabled]{opacity:.6;cursor:wait}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Turnstile běží neviditelně; místo v mřížce zabere jen tehdy, když po návštěvníkovi chce ověření (třída is-active ze site.js) */
.form__turnstile:not(.is-active){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.message{font-weight:600;line-height:1}
.message::before{content:"";display:inline-block;width:1.1em;height:1.1em;margin-right:8px;vertical-align:-.2em;background-color:currentColor;
  -webkit-mask:var(--msg-icon) center/contain no-repeat;mask:var(--msg-icon) center/contain no-repeat;
  --msg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22zm-1.5 16-5-5 1.4-1.4 3.6 3.6 7.1-7.1 1.4 1.4z'/%3E%3C/svg%3E")}
.message-success{color:var(--c-focus)}
.message-danger{color:#C00}
.message-danger::before{--msg-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a11 11 0 1 0 0 22 11 11 0 0 0 0-22zm-1 5h2v8h-2zm0 10h2v2h-2z'/%3E%3C/svg%3E")}

@media (max-width:1024px){
  .hero{padding-inline:var(--gutter)}
  .hero-slide{flex-direction:column-reverse;justify-content:flex-end;height:auto;padding:0 0 40px}
  .hero-slide__text{display:block;padding:0}
  .hero-slide__image{flex:none}
  .hero-slide__image img{width:auto;max-width:80%;margin-inline:auto}
  .hero-title{margin:20px 0;font-size:45px;line-height:50px}
  .hero-slide .text{margin:0}
  .hero-slide .text br{display:none}
  .hero-slide .button{margin-top:60px}
  .hero-carousel{padding-bottom:16px}

  .services{grid-template-columns:1fr 1fr}
  .service{padding:25px;background:var(--bg-card)}
  .service .media{padding-bottom:25px}
  .service .media > h3{margin-top:4px}
  .service .tags{padding-top:30px}

  .about{grid-template-columns:1fr;gap:60px}
  .about__intro{gap:40px}
  .about__photo{display:block}
  .about__features{gap:60px}
  .about__photo img{max-width:60%;margin-inline:auto}
  .bio{margin-top:54px;padding:15px}
  .bio__text p{padding:10px 0 30px}
  .bio__head img{width:90px}
  .bio__name strong{font-size:18px;line-height:26px}
  .bio__name strong::after{width:25px;height:2px;margin-block:4px}
  .bio__name span{font-size:14px;line-height:22px}

  .partners{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;justify-content:flex-start}
  .partners::-webkit-scrollbar{display:none}
  .partners li{flex-basis:calc((100% - 100px) / 3);scroll-snap-align:start}
  .partners img{width:120px}

  .how{flex-direction:column;gap:60px}
  .how__text{gap:0}
  .how__lead{line-height:inherit}
  .how__box{flex:none;width:100%;padding:25px}
  .rates{gap:95px}
  .rate{column-gap:25px}
  .rate > .icon{width:30px;height:30px}
  .rate > h3{margin:0}
  .rate > .rate__sub{margin-top:0;padding:30px 0 15px;margin-bottom:0;font-size:16px;line-height:28px}
  .rate > .text{margin-top:0}
  .rates + .center{padding-top:80px}

  .reviews-carousel{padding:0 var(--gutter) 106px}
  .review{padding:20px}
  .review blockquote{padding-bottom:50px}
  .review figcaption{gap:20px}
  .review img{width:50px}
  .review strong{padding:0;font-size:18px;line-height:24px}
  .review strong + span{font-size:14px;line-height:18px}

  .contact{grid-template-columns:1fr;gap:60px}
  .form{padding:30px 25px}
  .field{font-size:16px;line-height:22.4px}
  .form > .form__consent,.form > .button{grid-column:1 / -1;line-height:28px}
}
@media (max-width:767px){
  .hero{padding-inline:0}
  .hero-slide{padding:0 20px 20px}
  .hero-slide__image img{max-width:100%}
  .hero-slide .button{margin:40px 0 20px}
  .services{grid-template-columns:1fr}
  .service{padding:30px 25px}
  .service .tags{padding-top:39px}
  .about__photo img{max-width:100%}
  .bio__head{gap:16px}
  .bio__head img{width:70px}
  .bio__toggle{width:15px;height:15px;margin:0}
  .partners li{flex-basis:140px}
  .partners img{width:100px}
  .how{margin-bottom:120px}
  .rates{grid-template-columns:1fr}
  .form > *{grid-column:1 / -1}
}

/* ===== 6. Hlavička, menu, patička ===== */
.site-header{position:sticky;top:0;z-index:99;background:var(--bg-page);transition:background-color .4s ease-in-out,box-shadow .4s ease-in-out,transform .4s ease-in-out}
.site-header.is-solid{background:var(--header-solid);box-shadow:var(--header-shadow);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8)}
.site-header.is-hidden-up{transform:translateY(-110%)}
.site-header__inner{display:flex;align-items:center;height:90px;max-width:1440px;margin-inline:auto;padding-inline:var(--header-x)}
.logo{margin-right:auto}
.logo img{width:132px}
.nav ul{display:flex;gap:40px}
.nav a{position:relative;display:block;padding:4px 0;font:600 18px/18px var(--font-head);color:var(--c-heading)}
/* podtržení, které při najetí vyroste zleva doprava (hlavička i mobilní menu) */
.nav a::after,.menu__nav li a::after{content:"";position:absolute;left:0;top:calc(100% - 1px);width:0;height:2px;background:linear-gradient(to right,var(--c-deep),var(--c-accent));transition:width .3s}
.nav a:hover::after,.nav a:focus-visible::after,.menu__nav li a:hover::after,.menu__nav li a:focus-visible::after{width:100%}
.site-header .button{margin-left:60px}
.menu-open{display:none;color:var(--c-icon-ui)}
.menu-open svg{display:block;width:41px;height:35px;fill:currentColor}

/* mobilní menu (otevírá site.js) */
.menu{position:fixed;inset:0;z-index:9999;overflow:auto;background:var(--menu-bg);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.menu__bar{display:flex;align-items:center;justify-content:space-between;height:90px;padding-inline:var(--header-x)}
.menu__close{width:30px;height:30px;padding:5px;border:0;background:none;color:var(--c-icon-ui);cursor:pointer}
.menu__close svg{display:block;fill:currentColor}
.menu__nav{display:flex;flex-direction:column;align-items:flex-end;padding:50px var(--gutter) 25px}
.menu__nav ul{display:flex;flex-direction:column;align-items:flex-end;gap:40px}
.menu__nav li a{position:relative;display:inline-block;font:600 18px/18px var(--font-head);color:var(--c-heading)}
.menu__nav li a::after{top:calc(100% + 3px)} /* stejný odstup od textu jako v hlavičce (6 px pod účařím) */
.menu .button{margin-top:75px;background:var(--bg-page)}

.site-footer{background:var(--bg-footer);color:var(--c-footer)}
.site-footer__inner{display:grid;grid-template-columns:322px 350px 1fr;gap:100px;max-width:1440px;margin-inline:auto;padding:120px var(--header-x)}
.footer-about img{width:50px}
.footer-about p{margin-top:20px;font:500 16px/28px var(--font-text)}
.footer-title{margin-bottom:40px;font-size:24px;line-height:30px;color:#fff}
.contact-list li{display:flex;align-items:center;gap:35px;padding-bottom:17px;font:500 16px/20px var(--font-text);color:#fff}
.contact-list .icon{width:20px;height:20px;color:#6C6C6C}
.footer-legal{font:500 16px/28px var(--font-text)}
/* Copyright a Nastavení cookies: dva celky – nejdřív se zalomí pod sebe (mezera +5 px), slova až při nedostatku místa */
.copyright{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px;padding:0 var(--header-x) 40px;text-align:center;font:300 14px/18.2px var(--font-head);color:#fff}

@media (max-width:1024px){
  .nav,.site-header .button,.site-header .theme-switch--header{display:none}
  .menu-open{display:block}
  .site-footer__inner{grid-template-columns:1fr;gap:0;padding-block:90px}
  .footer-title{margin:60px 0 40px;font-size:22px;line-height:28px}
  .contact-list li{padding-bottom:10px;line-height:16px}
  .footer-legal{font-size:14px}
}
@media (max-width:767px){
  .menu-open svg{width:35px;height:30px}
  .menu__nav li a{font-size:22px}
  .menu__nav li a::after{top:calc(100% + 4px)}
  .site-footer__inner{padding-block:60px}
}

/* ===== 7. Podstránky (Zásady cookies, Zásady ochrany osobních údajů) – generuje tools/build-pages.mjs ===== */
.page-section{padding:140px 20px}
.page-inner{max-width:1120px;margin:0 auto}
.page-title{margin:0;font-size:60px;line-height:1.3}
.page-divider{display:block;width:40px;height:4px;margin:10px 0 91px;background:var(--c-brand)}
.page-text{font:400 18px/34px var(--font-text);color:var(--c-text)}
.page-text p,.page-text ul{margin:0 0 14.4px}
.page-text ul{padding-left:40px;list-style:disc}
.page-text h2{margin:40px 0 14px;font-size:28px;line-height:1.3}
.page-text h3{margin:24px 0 10px;font-size:20px;line-height:1.3}
.page-text code{font-size:.9em}
.cookie-table-wrap{overflow-x:auto;margin:0 0 14.4px}
.cookie-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.cookie-table th,.cookie-table td{padding:10px 12px;border:1px solid var(--c-heading);text-align:left;vertical-align:top}
.cookie-table th{background:var(--bg-gray);font-family:var(--font-head);font-weight:600}
@media (max-width:767px){
  .page-section{padding:60px 20px 80px}
  .page-title{font-size:32px}
  .page-divider{margin-bottom:61px}
  .page-text{font-size:16px;line-height:28px}
  .page-text h2{font-size:22px}
  .page-text h3{font-size:18px}
  .cookie-table{min-width:560px;font-size:14px}
}

/* ===== Tmavý motiv: grafika (barvy jsou v bodě 2) ===== */
/* logo: světlá varianta beze změny rozměrů (původní obrázek se odsune mimo box) */
[data-theme="dark"] .logo img{object-position:-9999px 0;background:url(../img/logo-dark.svg) center/contain no-repeat}
/* fotografie: mírně ztlumit, aby neoslňovaly */
[data-theme="dark"] :is(.hero-slide__image,.about__photo,.bio__head,.review) img{filter:brightness(.92) contrast(1.04)}
/* loga partnerů: světlý podklad (box-shadow nemění rozměry) */
[data-theme="dark"] .partners img{background:#F2F5F9;box-shadow:0 0 0 8px #F2F5F9}/* plynulé přebarvení jen při ručním přepnutí */
.theme-switching,.theme-switching *,.theme-switching *::before,.theme-switching *::after{transition:background-color .3s,color .3s,border-color .3s,fill .3s!important}
@media (prefers-reduced-motion:reduce){.theme-switching,.theme-switching *{transition:none!important}}

/* ===== 8. Přepínač motivu – podle "Light/Dark Theme Switch" (RiccardoRapelli/uiverse.io, licence MIT,
   Copyright 2025 RiccardoRapelli; https://codepen.io/fbernack/pen/myePZYR). Velikost řídí --s. ===== */
.theme-switch{--s:.55;position:relative;display:inline-block;flex:none;vertical-align:middle;width:calc(var(--s)*60px);height:calc(var(--s)*34px);cursor:pointer}
.theme-switch input{position:absolute;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ts-slider{position:absolute;inset:0;overflow:hidden;border-radius:calc(var(--s)*34px);background:#2196F3;transition:background-color .4s}
.ts-sun-moon{position:absolute;left:calc(var(--s)*4px);bottom:calc(var(--s)*4px);width:calc(var(--s)*26px);height:calc(var(--s)*26px);border-radius:50%;background:#FFEB3B;transition:transform .4s,background-color .4s}
.ts-sun-moon i{position:absolute;aspect-ratio:1;border-radius:50%}
.theme-switch input:checked + .ts-slider{background:#000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.theme-switch input:focus-visible + .ts-slider{outline:2px solid var(--c-focus);outline-offset:2px}
.theme-switch input:checked + .ts-slider .ts-sun-moon{transform:translateX(calc(var(--s)*26px)) rotate(360deg);background:#fff}
.ts-dot{z-index:4;background:gray;opacity:0;transition:opacity .4s}
.theme-switch input:checked + .ts-slider .ts-dot{opacity:1}
.ts-md-1{left:calc(var(--s)*10px);top:calc(var(--s)*3px);width:calc(var(--s)*6px)}
.ts-md-2{left:calc(var(--s)*2px);top:calc(var(--s)*10px);width:calc(var(--s)*10px)}
.ts-md-3{left:calc(var(--s)*16px);top:calc(var(--s)*18px);width:calc(var(--s)*3px)}
.ts-ray{z-index:-1;background:#fff;opacity:.1}
.ts-ray-1{left:calc(var(--s)*-8px);top:calc(var(--s)*-8px);width:calc(var(--s)*43px)}
.ts-ray-2{left:-50%;top:-50%;width:calc(var(--s)*55px)}
.ts-ray-3{left:calc(var(--s)*-18px);top:calc(var(--s)*-18px);width:calc(var(--s)*60px)}
.ts-cloud{background:#ccc;animation:ts-cloud 6s infinite 1s}
.ts-cloud--light{background:#eee;animation-delay:0s}
.ts-cl-1{left:calc(var(--s)*30px);top:calc(var(--s)*15px);width:calc(var(--s)*40px)}
.ts-cl-2{left:calc(var(--s)*44px);top:calc(var(--s)*10px);width:calc(var(--s)*20px)}
.ts-cl-3{left:calc(var(--s)*18px);top:calc(var(--s)*24px);width:calc(var(--s)*30px)}
.ts-cl-4{left:calc(var(--s)*36px);top:calc(var(--s)*18px);width:calc(var(--s)*40px)}
.ts-cl-5{left:calc(var(--s)*48px);top:calc(var(--s)*14px);width:calc(var(--s)*20px)}
.ts-cl-6{left:calc(var(--s)*22px);top:calc(var(--s)*26px);width:calc(var(--s)*30px)}
.ts-stars{position:absolute;inset:0;transform:translateY(calc(var(--s)*-32px));opacity:0;transition:transform .4s,opacity .4s}
.theme-switch input:checked + .ts-slider .ts-stars{transform:none;opacity:1}
.ts-star{position:absolute;fill:#fff;animation:ts-twinkle 2s infinite}
.ts-st-1{width:calc(var(--s)*20px);height:calc(var(--s)*20px);top:calc(var(--s)*2px);left:calc(var(--s)*3px);animation-delay:.3s}
.ts-st-2{width:calc(var(--s)*6px);height:calc(var(--s)*6px);top:calc(var(--s)*16px);left:calc(var(--s)*3px)}
.ts-st-3{width:calc(var(--s)*12px);height:calc(var(--s)*12px);top:calc(var(--s)*20px);left:calc(var(--s)*10px);animation-delay:.6s}
.ts-st-4{width:calc(var(--s)*18px);height:calc(var(--s)*18px);top:0;left:calc(var(--s)*18px);animation-delay:1.3s}
@keyframes ts-cloud{40%{transform:translateX(calc(var(--s)*4px))}80%{transform:translateX(calc(var(--s)*-4px))}}
@keyframes ts-twinkle{40%{transform:scale(1.2)}80%{transform:scale(.8)}}
@media (prefers-reduced-motion:reduce){.ts-slider,.ts-slider *{animation:none!important;transition:none!important}}
@media (prefers-reduced-motion:no-preference){.theme-switching .ts-slider,.theme-switching .ts-slider *{transition:transform .4s,opacity .4s,background-color .4s!important}}
/* umístění: desktop vpravo od KONTAKT, mobilní menu pod KONTAKT */
.theme-switch--header{--s:.7;margin-left:25px}
.theme-switch--menu{--s:.8;margin-top:60px}
