:root{
  --teal:#0F3B3B;--teal-2:#164a4a;--sage:#A7B8AE;--ivory:#F6F4ED;--sand:#D8C8B6;--charcoal:#2B2E2E;
  --kov:linear-gradient(120deg,#e3d2b8 0%,#fbf3e6 40%,#d6c2a3 62%,#f3e8d6 100%);
  --sans:Montserrat,system-ui,sans-serif;--serif:"Cormorant Garamond",Georgia,serif;
  --okraj:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--sans);font-weight:400;color:var(--charcoal);background:var(--ivory);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-weight:300;letter-spacing:-.01em;line-height:1.08}
h2{font-size:clamp(34px,4.6vw,60px);color:var(--teal)}
h1 em,h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}
h3{font-size:20px;font-weight:400}
.sekce{padding:clamp(80px,11vw,160px) var(--okraj)}
.stitek{font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:#4a6658;margin-bottom:22px;display:flex;align-items:center;gap:14px}
.stitek::before{content:"";width:32px;height:1px;background:currentColor}
.stitek-svetly{color:var(--sage)}
.hlava{max-width:720px;margin-bottom:64px}
.hlava p:not(.stitek){margin-top:24px;max-width:560px;color:#4a5150}

/* tlačítka */
.tl{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;text-decoration:none;border-radius:999px;transition:background .3s,color .3s,border-color .3s;border:1px solid transparent;cursor:pointer;font-family:var(--sans)}
.tl-svetle{background:var(--ivory);color:var(--teal)}
.tl-svetle:hover{background:var(--sand)}
.tl-obrys{border-color:rgba(246,244,237,.55);color:var(--ivory)}
.tl-obrys:hover{border-color:var(--ivory);background:rgba(246,244,237,.08)}
.tl-tmave{background:var(--teal);color:var(--ivory)}
.tl-tmave:hover{background:var(--charcoal)}

/* hlavička */
.hlavicka{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:32px;padding:18px var(--okraj);color:var(--ivory);transition:background .4s,color .4s}
.hlavicka.plna{background:rgba(246,244,237,.94);backdrop-filter:blur(14px);color:var(--teal);padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 rgba(15,59,59,.08)}
.znacka{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:400;letter-spacing:.42em;font-size:15px}
.hlavicka:not(.plna) .znacka img{filter:brightness(0) invert(96%) sepia(6%) saturate(300%)}
.menu{display:flex;gap:28px;margin-left:auto}
.menu a{text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.86;position:relative;padding:6px 0}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .35s}
.menu a:hover::after,.menu a.aktivni::after{right:0}
.zona{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid currentColor;border-radius:999px;padding:10px 18px;opacity:.95;transition:background .3s,color .3s}
.zona svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}
.zona:hover{background:var(--teal);color:var(--ivory);border-color:var(--teal)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;color:inherit;position:relative}
.burger i{position:absolute;left:10px;right:10px;height:1px;background:currentColor;transition:transform .3s}
.burger i:first-child{top:18px}.burger i:last-child{top:26px}
.burger[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}

/* hero */
.hero{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;color:var(--ivory);overflow:hidden;background:var(--teal)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:hero-zoom 18s ease-out forwards}
@keyframes hero-zoom{to{transform:scale(1)}}
.hero-zavoj{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,40,40,.78) 0%,rgba(11,40,40,.45) 45%,rgba(11,40,40,.05) 80%),linear-gradient(180deg,rgba(11,40,40,.5) 0%,rgba(11,40,40,0) 25%,rgba(11,40,40,.2) 60%,rgba(11,40,40,.9) 100%)}
@media (max-width:760px){.hero-zavoj{background:linear-gradient(180deg,rgba(11,40,40,.55) 0%,rgba(11,40,40,.35) 30%,rgba(11,40,40,.7) 60%,rgba(11,40,40,.92) 100%)}}
.hero-obsah{position:relative;padding:0 var(--okraj) 120px;max-width:980px}
.nadtitulek{font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--sand);margin-bottom:26px}
.hero h1{font-size:clamp(46px,7.4vw,108px);font-weight:300;line-height:1}
.hero h1 em{background:var(--kov);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-text{max-width:520px;margin-top:30px;font-size:17px;font-weight:300;opacity:.92}
.tlacitka{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.hero-pata{position:relative;display:flex;justify-content:space-between;gap:20px;padding:22px var(--okraj);border-top:1px solid rgba(246,244,237,.18);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(246,244,237,.7)}
.hero-obsah>*{opacity:0;transform:translateY(24px);animation:nastup 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.hero-obsah>*:nth-child(2){animation-delay:.15s}.hero-obsah>*:nth-child(3){animation-delay:.3s}.hero-obsah>*:nth-child(4){animation-delay:.45s}
@keyframes nastup{to{opacity:1;transform:none}}

/* o nás */
.o-nas{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.o-nas-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px 4px 4px}
.o-nas-text p:not(.stitek){margin-top:24px;max-width:480px;color:#4a5150}
.citat{font-family:var(--serif);font-style:italic;font-size:28px;line-height:1.3;color:var(--teal)!important;padding-left:22px;border-left:1px solid var(--sand)}
.o-nas-detail{width:56%;aspect-ratio:1;object-fit:cover;margin-top:44px;margin-left:auto;border-radius:4px}

/* služby */
.sluzby{background:#efece3}
.karty{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.karta{background:var(--ivory);border-radius:4px;overflow:hidden;padding-bottom:30px;transition:transform .5s,box-shadow .5s}
.karta:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(15,59,59,.35)}
.karta-foto{overflow:hidden;aspect-ratio:3/4;margin-bottom:24px}
.karta-foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.karta:hover .karta-foto img{transform:scale(1.06)}
.karta .cislo,.karta h3,.karta p{padding:0 24px}
.cislo{display:block;font-family:var(--serif);font-style:italic;color:#5f7268;font-size:18px;margin-bottom:6px}
.karta h3{color:var(--teal);margin-bottom:10px}
.karta p{font-size:14px;color:#5a6160}

/* kroky */
.kroky{background:var(--teal);color:var(--ivory)}
.kroky h2{color:var(--ivory)}
.kroky-seznam{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(246,244,237,.18)}
.kroky-seznam li{padding:36px 28px 0 0;position:relative}
.kroky-seznam li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--sand)}
.kroky-seznam span{font-family:var(--serif);font-size:64px;font-weight:400;line-height:1;color:var(--sage);display:block;margin-bottom:20px}
.kroky-seznam h3{margin-bottom:10px}
.kroky-seznam p{font-size:14px;opacity:.75}
.pripravujeme{margin-top:100px;padding:40px;border:1px solid rgba(167,184,174,.3);border-radius:4px;max-width:760px}
.pripravujeme p:last-child{font-size:15px;opacity:.85}
.pripravujeme em{font-family:var(--serif);font-size:24px;display:block;margin-bottom:8px;color:var(--sand)}

/* tým */
.tym-mrizka{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.clen-foto{aspect-ratio:4/5;border-radius:4px;background:linear-gradient(160deg,#e9e4d8,#d8c8b6);display:grid;place-items:center}
.clen-foto span{font-family:var(--serif);font-size:120px;color:rgba(15,59,59,.18);font-style:italic}
.clen figcaption{margin-top:18px;font-size:13px;letter-spacing:.02em;color:#5f6664}
.clen b{display:block;font-weight:400;font-size:19px;color:var(--teal);letter-spacing:0;margin-bottom:2px}
.poznamka{margin-top:30px;font-size:13px;color:#5f6664;font-style:italic}

/* programy */
.programy{background:#efece3}
.program-mrizka{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.program{background:var(--ivory);padding:44px 36px;border-radius:4px;border:1px solid rgba(15,59,59,.08)}
.program-hlavni{background:var(--teal);color:var(--ivory);transform:translateY(-16px)}
.program.program-hlavni h3{color:var(--ivory)}
.program-typ{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#56695f;margin-bottom:14px}
.program-hlavni .program-typ{color:var(--sage)}
.program h3{font-family:var(--serif);font-style:italic;font-size:34px;color:var(--teal);margin-bottom:26px}
.program ul{list-style:none;font-size:14px}
.program li{padding:12px 0;border-top:1px solid rgba(15,59,59,.1)}
.program-hlavni li{border-color:rgba(246,244,237,.16)}

/* kodex */
.kodex{background:var(--charcoal);color:var(--ivory);display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,7vw,110px);align-items:center}
.kodex h2{color:var(--ivory)}
.kodex-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.kodex-seznam{list-style:none;margin-top:44px;counter-reset:k}
.kodex-seznam li{counter-increment:k;padding:20px 0 20px 56px;border-top:1px solid rgba(246,244,237,.12);position:relative;font-weight:300}
.kodex-seznam li::before{content:counter(k,upper-roman);position:absolute;left:0;font-family:var(--serif);font-style:italic;color:var(--sand);font-size:20px;top:16px}
.kodex-seznam b{font-weight:500}

/* kariéra */
.kariera{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.kariera-text p:not(.stitek){margin:24px 0 34px;max-width:480px;color:#4a5150}
.kariera-foto img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:4px 4px 220px 4px}

/* kontakt */
.kontakt{background:var(--teal);color:var(--ivory);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px)}
.kontakt h2{color:var(--ivory)}
.kontakt-text p:not(.stitek){margin-top:24px;max-width:420px;opacity:.85}
.kontakt-udaje{font-family:var(--serif);font-size:24px;line-height:1.5}
.formular{display:grid;gap:18px}
.formular label{display:grid;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.formular input,.formular select,.formular textarea{font:inherit;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ivory);background:transparent;border:0;border-bottom:1px solid rgba(246,244,237,.3);padding:10px 0;border-radius:0;transition:border-color .3s}
.formular select option{color:var(--charcoal)}
.formular input:focus,.formular select:focus,.formular textarea:focus{outline:0;border-color:var(--sand)}
.pole2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.prepinac{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.prepinac label{display:block}
.prepinac input{position:absolute;opacity:0}
.prepinac span{display:inline-block;padding:11px 18px;border:1px solid rgba(246,244,237,.3);border-radius:999px;font-size:12px;letter-spacing:.02em;text-transform:none;color:var(--ivory);cursor:pointer;transition:background .3s}
.prepinac input:checked+span{background:var(--ivory);color:var(--teal)}
.prepinac input:focus-visible+span{outline:2px solid var(--sand);outline-offset:2px}
.souhlas{display:flex!important;align-items:center;gap:10px!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important;color:rgba(246,244,237,.75)!important}
.souhlas input{width:18px;height:18px;accent-color:var(--sand)}
.formular .tl{justify-self:start;margin-top:10px}
.formular-ok{font-family:var(--serif);font-size:24px;color:var(--sand)}
.formular.kariera-rezim .jen-pece{display:none}

/* patička */
.paticka{background:#0b2b2b;color:rgba(246,244,237,.7);padding:70px var(--okraj) 36px;display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:13px}
.paticka-znacka{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.paticka-znacka span{letter-spacing:.42em;color:var(--ivory);font-size:16px}
.paticka-znacka p{flex-basis:100%;margin-top:6px}
.paticka-znacka img{filter:brightness(0) invert(90%) sepia(12%) saturate(300%)}
.paticka-odkazy{display:grid;gap:10px;justify-items:start}
.paticka-odkazy a{text-decoration:none}.paticka-odkazy a:hover{color:var(--ivory)}
.paticka-pravni{grid-column:1/-1;border-top:1px solid rgba(246,244,237,.1);padding-top:24px;font-size:12px}

/* cookies */
.cookies{position:fixed;left:20px;right:20px;bottom:20px;z-index:60;max-width:560px;background:var(--ivory);color:var(--charcoal);padding:20px 22px;border-radius:6px;box-shadow:0 20px 60px -20px rgba(0,0,0,.35);font-size:13px;display:grid;gap:14px}
.cookies div{display:flex;gap:8px;flex-wrap:wrap}
.cookies button{font:inherit;font-size:12px;padding:10px 14px;border-radius:999px;border:1px solid rgba(15,59,59,.25);background:none;cursor:pointer;color:var(--teal)}
.cookies .cookies-ano{background:var(--teal);color:var(--ivory);border-color:var(--teal)}

/* odhalování */
.odhal{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.odhal.videt{opacity:1;transform:none}
.karty .odhal:nth-child(2),.kroky-seznam .odhal:nth-child(2),.tym-mrizka .odhal:nth-child(2),.program-mrizka .odhal:nth-child(2){transition-delay:.12s}
.karty .odhal:nth-child(3),.kroky-seznam .odhal:nth-child(3),.tym-mrizka .odhal:nth-child(3),.program-mrizka .odhal:nth-child(3){transition-delay:.24s}
.karty .odhal:nth-child(4),.kroky-seznam .odhal:nth-child(4){transition-delay:.36s}
.program-hlavni.odhal.videt{transform:translateY(-16px)}
@media (prefers-reduced-motion:reduce){.odhal{opacity:1;transform:none;transition:none}.hero-video{animation:none}.hero-obsah>*{animation:none;opacity:1;transform:none}}

/* responzivita */
@media (max-width:1180px){.menu{gap:18px}.menu a{font-size:11px}}
@media (max-width:1020px){
  .menu{position:fixed;inset:0;background:var(--teal);color:var(--ivory);flex-direction:column;justify-content:center;align-items:center;gap:26px;transform:translateY(-100%);transition:transform .5s;z-index:-1}
  .menu a{font-size:15px}
  .menu.otevrene{transform:none}
  .burger{display:block;margin-left:auto}
  .zona{margin-left:0}
  .karty{grid-template-columns:1fr 1fr}
  .kroky-seznam{grid-template-columns:1fr 1fr;row-gap:40px}
}
@media (max-width:760px){
  .zona{padding:9px 12px;font-size:0;gap:0}.zona svg{width:18px;height:18px}
  .o-nas,.kodex,.kariera,.kontakt,.paticka{grid-template-columns:1fr}
  .karty,.tym-mrizka,.program-mrizka{grid-template-columns:1fr}
  .program-hlavni,.program-hlavni.odhal.videt{transform:none}
  .kroky-seznam{grid-template-columns:1fr}
  .pole2{grid-template-columns:1fr}
  .hero-pata{display:none}
  .hero-obsah{padding-bottom:80px}
  .tlacitka .tl{width:100%}
  .karta-foto{aspect-ratio:4/3}
}
[hidden]{display:none!important}

/* videa v sekcích */
.vid{display:block;width:100%;height:100%;object-fit:cover;background:#e9e4d8}
.o-nas-foto .vid{aspect-ratio:4/5;border-radius:220px 220px 4px 4px}
.karta-foto .vid{transition:transform 1.2s}
.karta:hover .karta-foto .vid{transform:scale(1.06)}
.kodex-foto .vid{aspect-ratio:4/5;border-radius:4px}
.pas{position:relative;height:clamp(360px,52vw,720px);overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--ivory);background:var(--teal)}
.pas .vid{position:absolute;inset:0}
.pas-zavoj{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(11,40,40,.55),rgba(11,40,40,.25) 70%)}
.pas-text{position:relative;font-weight:300;font-size:clamp(26px,3.6vw,48px);line-height:1.2;padding:0 var(--okraj);max-width:1000px}
.pas-text em{font-family:var(--serif);font-style:italic;color:var(--sand)}
