:root{
  --white:#FFFFFF;
  --blackAlpha:#00000029;      /* #00000029 */
  --tealSoft:#0D7AA112;        /* #0D7AA112 */
  --teal:#0D7AA1;              /* #0D7AA1 */
  --orange:#FCA22D;            /* #FCA22D */
  --tealDeepAlpha:#043E4D90;   /* #043E4D90 */
  --text:#5D7387;              /* #5D7387 */
  --tealDark:#06586F;          /* #06586F */

  --shadow: 0 10px 25px rgba(0,0,0,.12);
  --radius: 18px;
  --radiusLg: 28px;
  --max: 1180px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:"PT Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.45;
}

img{ max-width:100%; display:block; }

.container{
  max-width: 1760px;
  padding-inline: clamp(12px, 1vw, 28px);
  margin-inline: auto;
}

.center{ text-align:center; }

.header-inner{
  height:92px;
  display:flex;
  align-items:center;
  gap:26px;
}

.brand{ display:flex; align-items:center; text-decoration:none; }
.brand-logo{ height:56px; width:auto; }

.nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:34px;
  font-weight:700;
  letter-spacing:.02em;
}

.nav a{
  text-decoration:none;
  color:var(--text);
  font-size:17px !important;
  white-space:nowrap;
}
.nav a:hover{ color:var(--teal); }

.nav-cta{ margin-left:18px; }

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.02em;
  border:0;
  cursor:pointer;
  user-select:none;
  color: #FFFFFF !important;
  margin-top: auto;
}
.btn--pill{ border-radius:999px; padding:14px 28px; }
.btn--sm{ padding:11px 22px; font-size:19px; }
.btn--shadow{ box-shadow: 0 10px 18px rgba(0,0,0,.18); }

.btn--primary{
  background: var(--orange);
  color:#fff;
}

}
.btn--dark2{
  background: linear-gradient(180deg, rgba(13,122,161,.92), rgba(6,88,111,.98));
  color:#fff;
}

/* Burger */
.burger{
  display:none;
  margin-left:auto;
  width:66px;
  height:60px;
  border-radius:14px;
  border:0;
  background: var(--orange);
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
  cursor:pointer;
  position:relative;
}
.burger span{
  position:absolute;
  left:12px; right:12px;
  height:2px;
  background:#fff;
  border-radius:2px;
}
.burger span:nth-child(1){ top:15px; }
.burger span:nth-child(2){ top:29px; opacity:.95; }
.burger span:nth-child(3){ top:43px; }

/* Sections */


.section-kicker{
  font-weight:700;
  letter-spacing:.12em;
  color:var(--orange);
  margin-bottom:14px;
  font-size: 28px;
}
.section-kicker--center{
  text-align:center;
  margin-bottom:22px;
}

/* Hero */
.hero{
  margin-top: 120px;
  padding:44px 0 0px;
  overflow:hidden;
}
.hero-inner{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:42px;
  align-items:center;
}

.kicker{
  color:var(--teal);
  font-weight:700;
  letter-spacing:.08em;
  font-size:28px;
  margin-bottom:16px;
  line-height: 36px;
}
.hero-title{
  margin:0;
  font-size:45px;
  font-weight:400;
  color:var(--text);
  line-height:57px;
}
.hero-subtitle{
  margin-top:22px;
  color:var(--teal);
  font-weight:700;
  font-size: 24px;
  line-height: 32px;
}

.hero-box{
  margin-top:14px;
  background: rgba(13,122,161,.07);
  border-radius:20px;
  padding:24px 28px;
  display:flex;
  align-items:center;
  gap:16px;
  box-shadow: 0 18px 28px rgba(0,0,0,.10);
  border:1px solid rgba(0,0,0,.06);
  font-size: 28px;
}
.hero-box a{
  font-size: 24px;
}
.hero-box__headline{
  color:var(--teal);
  font-weight:700;
}
.hero-box__desc{ color:var(--text); opacity:.9; }

.hero-visual{
  position: absolute;
  top: -80px;        /* o něco níž než předtím */
  right: -300px;     /* ještě víc doprava */
  width: min(820px, 48vw);
  z-index: 0;        /* úplné pozadí */
  pointer-events: none;
}


.hero-photo{
  object-fit:cover;
  position:relative;
  z-index:-2;
}

/* background shapes */
.hero-shapes .shape{
  position:absolute;
  z-index:1;
}
.shape--circle{
  width:140px; height:140px;
  background: var(--teal);
  border-radius:999px;
  left:20px; top:56px;
}
.shape--arc{
  width:360px; height:360px;
  border-radius:999px;
  border:80px solid rgba(13,122,161,.95);
  border-left-color:transparent;
  border-bottom-color:transparent;
  right:-10px; top:20px;
  transform:rotate(12deg);
}
.shape--block{
  width:88px; height:88px;
  background: rgba(13,122,161,.95);
  border-radius:14px;
  right:44px; bottom:70px;
  transform:rotate(18deg);
}
.shape--block2{
  width:120px; height:120px;
  background: rgba(13,122,161,.18);
  border-radius:18px;
  left:40px; bottom:40px;
  filter: blur(.2px);
}

/* Cards */
.cards-grid{
  display:grid;
  gap:22px;
}
.cards-grid--4{
  grid-template-columns: repeat(4, 1fr);
  align-items:stretch;
}
.card{
  background:#fff;
  border-radius: var(--radiusLg);
  padding:26px 22px 22px;
  box-shadow: var(--shadow);
  border:1px solid rgba(0,0,0,.04);
  min-height: 260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  height: 100%;
}
.card-icon{
  font-size:30px;
  margin-top:2px;
  margin-bottom:10px;
}
.card-icon--outline{
  filter: grayscale(1) brightness(2);
  opacity:.9;
}
.card-title{
  margin:0 0 12px;
  font-size:26px;
  color:var(--teal);
  letter-spacing:.03em;
}
.card-text{
  margin:0 0 18px;
  color:var(--text);
  opacity:.95;
  font-size:20px;
  flex-grow: 1;
  line-height: 26px;
}
.card--teal{
  background: var(--tealDark);
  border:0;
}
.card-title--light, .card-text--light{ color:#fff;   margin-top: 15px;
  margin-bottom: 15px; }
.card-text--stack{
  display:flex;
  flex-direction:column;
  gap:6px;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-size:24px;
}

/* second row with tall card */
.cards-grid--3plus{
  grid-template-columns: repeat(3, 1fr) 1.08fr;
  align-items:stretch;
}
.card--tealTall{
  background: var(--tealDark);
  border:0;
  min-height: 320px;
  justify-content:center;
}

/* About */
.about{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:26px;
  align-items:center;
  background:#fff;
  border-radius:32px;
  box-shadow: var(--shadow);
  padding:24px;
  border:1px solid rgba(0,0,0,.04);
  position:relative;
  overflow:hidden;
}
.about:before{
  content:"";
  position:absolute;
  right:-140px;
  top:-40px;
  width:360px;
  height:360px;
  background: rgba(13,122,161,.12);
  border-radius:999px;
  transform:rotate(12deg);
}
.about-media{ position:relative; z-index:1; }
.about-text{ position:relative; z-index:1; padding:12px 6px; }
.about-text p{ margin:0 0 12px; color:var(--text); opacity:.95; }

.about-slider{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background:#eee;
}
.about-slide{
  object-fit:cover;
  transition: opacity .35s ease, transform .35s ease;
}

.hero-inner{
  padding: 0px;
}


.about-next{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:0;
  background:#fff;
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
  cursor:pointer;
}
.about-next span{
  display:block;
  font-size:26px;
  color:var(--teal);
  line-height:44px;
}

/* Team mini */
.team-mini{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:22px;
}
.team-mini-card{
  background:#fff;
  border-radius:28px;
  box-shadow: var(--shadow);
  border:1px solid rgba(0,0,0,.04);
  padding:22px 18px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.team-mini-card:nth-child(2){ background: rgba(13,122,161,.07); }
.avatar{
  width:140px;
  height:140px;
  border-radius:999px;
  object-fit:cover;
  margin:0 auto 14px;
}
.team-mini-name{
  font-weight:700;
  color:var(--teal);
}

/* Team detail */
.team-detail{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:22px;
}
.team-card{
  background:#fff;
  border-radius:32px;
  box-shadow: var(--shadow);
  border:1px solid rgba(0,0,0,.04);
  padding:24px 22px;
  text-align:center;
  position:relative;
  overflow:hidden;
  min-height:520px;
}
.team-card--teal{
  background: rgba(13,122,161,.07);
}
.team-card--tealSoft{
  background: rgba(13,122,161,.05);
}
.team-photo{
  width:160px;
  height:160px;
  border-radius:999px;
  object-fit:cover;
  margin:0 auto 14px;
}
.team-name{
  margin:0;
  color:var(--teal);
  font-size:18px;
  font-weight:700;
}
.team-quote{
  margin-top:6px;
  color:var(--teal);
  font-style:italic;
}
.team-text{
  margin:16px auto 0;
  max-width: 46ch;
  color:var(--text);
  opacity:.95;
  font-size:14px;
}

.team-refs{
  margin-top:18px;
}
.team-refs-label{
  color:var(--teal);
  font-weight:700;
  margin-bottom:10px;
}
.team-refs-logos{
  display:flex;
  gap:10px;
  justify-content:center;
}
.refbox{
  width:70px; height:36px;
  background:rgba(0,0,0,.08);
  border-radius:10px;
}

/* Pricing */
.pricing{
  display:grid;
  gap:22px;
  align-items:stretch;
  margin-top:8px;
}
.price-card{
  background:#fff;
  border-radius:28px;
  box-shadow: var(--shadow);
  border:1px solid rgba(0,0,0,.04);
  padding:26px 12px !important;
  text-align:center;
}
.price-card--teal{
  background: var(--tealDark);
  border:0;
}
.price-icon{ font-size:32px; margin-bottom:10px; }
.price-icon--outline{ filter: grayscale(1) brightness(2); opacity:.9; }
.price-title{
  margin:0 0 10px;
  color:var(--teal);
  font-weight:700;
  letter-spacing:.03em;
}
.price-title--light{ color:#fff; }
.price-lines{font-size:24px; }
.price-lines--light{ color:#fff; }
.price-lines .price{ font-weight:700; }
.spacer{ height:14px; }

/* Voucher */
.voucher{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:26px;
  align-items:center;
}
.voucher-title{
  margin:0 0 10px;
  font-weight:400;
  color:var(--text);
  font-size:22px;
}
.voucher-ital{
  color:var(--teal);
  font-style:italic;
  margin-bottom:10px;
}
.voucher p{ color:var(--text); margin:0; font-size: 24px;}
.voucher-img{
  width:100%;
  max-width:520px;
  border-radius:16px;
}

/* Social / IG */
.social-icons{
  display:flex;
  justify-content:center;
  gap:18px;
  margin:10px 0 22px;
}
.social-circle{
  width:64px; height:64px;
  border-radius:999px;
  background:#fff;
  border:2px solid rgba(13,122,161,.18);
  box-shadow: 0 16px 26px rgba(0,0,0,.12);
  display:grid;
  place-items:center;
  text-decoration:none;
  color:var(--teal);
  font-weight:700;
  font-size:22px;
}
.ig-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
  margin:0 auto 26px;
}
.ig-grid img{
  width:100%;
  height:320px;
  object-fit:cover;
}

/* Contacts */
.contacts{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:22px;
  align-items:start;
  margin-top:16px;
}
.map{
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  height:260px;
}
.map iframe{ width:100%; height:100%; border:0; }

.contact-card{
  padding:18px 18px;
}
.contact-head{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:14px;
}
.contact-logo{ ; height:auto; opacity:.95; }
.contact-name{ font-weight:700; color:var(--teal); font-size:28px }
.contact-role{ color:var(--text); opacity:.9; font-size:13px; margin-top:2px; }

.contact-block{ margin-top:12px; }
.contact-strong{ font-weight:700; color:var(--teal); }
.contact-line{ color:var(--text); opacity:.95; }

/* Footer bar */
.site-footer{
  margin-top:34px;
  background: linear-gradient(180deg, rgba(13,122,161,.98), var(--tealDark));
  color:#fff;
  padding-top:75px;
  padding-bottom: 30px;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.footer-left{
  display:flex;
  align-items:center;
  gap:12px;
}
.footer-logo{ width:54px; height:auto; filter: brightness(2.2) saturate(0); margin-right:45px; }
.footer-title{ font-weight:700; }
.footer-muted{ opacity:.88; font-size:13px; }
.footer-cols{
  display:flex;
  gap:26px;
  align-items:end;
  justify-content:space-around;
  text-align:left;
  width: 65%;
  line-height: 40px;
}

/* Responsive */
@media (max-width: 1100px){
  
  .hero-visual{ min-height: 380px; }
  .cards-grid--4{ grid-template-columns: repeat(2, 1fr); }
  .cards-grid--3plus{ grid-template-columns: repeat(2, 1fr); }
  .card--tealTall{ grid-column: 1 / -1; }
  .about{ grid-template-columns: 1fr; }
  .voucher{ grid-template-columns: 1fr; }
  .voucher-media{ order:-1; }
  .pricing{ grid-template-columns: 1fr; }
  .contacts{ grid-template-columns: 1fr; }
  .team-detail{ grid-template-columns: 1fr; }
  .team-mini{ grid-template-columns: 1fr; }
  .ig-grid img{ height: 240px; }
}grid-template-columns: 1.1fr .9fr;

@media (min-width: 900px){
  .hero-inner{ grid-template-columns: 1.1fr .9fr; }
}
@media (max-width: 900px){
  .nav{ display:none; }
  .burger{ display:block; }
  .header-inner{ gap:12px; }
  .brand-logo{ height:48px; }
  .hero-title{ font-size:30px; }
}

@media (max-width: 980px){

}

@media (max-width: 520px){
  .container{ width:min(var(--max), calc(100% - 28px)); }
  .hero{ padding-top:28px; }
  .hero-photo{ width:280px; height:280px; }
  .hero-box{ flex-direction:column; align-items:stretch; text-align:left; }
  .cards-grid--4{ grid-template-columns: 1fr; }
  .cards-grid--3plus{ grid-template-columns: 1fr; }


  .footer-inner{ flex-direction:column; align-items:flex-start; }
  .footer-cols{ flex-direction:column; gap:10px; }
}

/* Mobile nav open state (set by JS) */
body.nav-open .nav{
  display:flex;
  position:fixed;
  inset:92px 16px auto 16px;
  flex-direction:column;
  gap:14px;
  padding:18px;
  background:rgba(255,255,255,.96);
  border-radius:18px;
  box-shadow: var(--shadow);
  border:1px solid rgba(0,0,0,.08);
  z-index:60;
}
body.nav-open .nav a{ font-size:15px; }


/* HERO jako "pozadí" – aby obrázek byl POD kartami */
.hero{
  position: relative;
  overflow: hidden;
  padding-bottom: 140px; /* prostor pro překrytí kartama */
}

/* pravý vizuál v hero posadíme jako absolutní vrstvu */
.hero-visual{
  position: absolute;
  right: 0; /* drží se u containeru */
  width: 820px;
  height: 820px;
  min-height: unset;
  z-index: 1;              /* POD kartami */
  pointer-events: none;    /* aby se na to neklikalo */
}

/* ať text v hero je NAD obrázkem */
.hero-inner{
  position: relative;
  z-index: 2;
}

/* samotná fotka/shape zůstanou uvnitř hero-visual */
.hero-photo{
  width: 520px;     /* fotka v kruhu */
  height: 520px;
}

/* Nabídka se "vytáhne" nahoru a bude NAD hero obrázkem */
.offers-overlap{
  position: relative;
  z-index: 5;          /* NAD hero-visual */
  margin-top: -220px;  /* tohle je to překrytí */
}

/* aby to na mobilu nedělalo bordel */
@media (max-width: 1100px){
  .hero{
    padding-bottom: 40px;
  }

  .hero-visual{
    position: relative; /* na menších šířkách radši normálně do toku */
    right: auto;
    top: auto;
    width: auto;
    height: auto;
    pointer-events: auto;
    z-index: 1;
    margin-top: 18px;
  }

  .offers-overlap{
    margin-top: 0; /* bez překrytí na mobilu/tabletu */
  }
}


.cards-grid--offers2{
  display:grid;
  gap:22px;
  grid-template-columns: repeat(4, 1fr);
  align-items:stretch;
}
.card--tallRight{
  grid-column: 4 / 5;
  grid-row: 1 / span 2;
  min-height: 560px;
  justify-content: center;
  padding: 34px 22px;
  border-radius: 28px;
}
@media (max-width:1100px){
  .cards-grid--offers2{ grid-template-columns: repeat(2, 1fr); }
  .card--tallRight{ grid-column: 1 / -1; grid-row:auto; min-height:320px; }
}
@media (max-width:520px){
  .cards-grid--offers2{ grid-template-columns: 1fr; }
}

/* HEADER / NAVBAR (XD: PT Sans Bold 24px, lh 32px, uppercase, tracking ~0.48px) */
.site-header{
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.header-inner{
  height: 120px;              /* když bude moc, dej 110/100 podle XD */
  display: flex;
  align-items: center;
  gap: 28px;
}

.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
  flex: 0 0 auto;
  margin-right: 20px;
}

.brand-logo{
  height: 64px;               /* doladíš podle exportu loga */
  width: auto;
  display:block;
}

/* Desktop nav */
.nav{
  display:flex;
  align-items:center;
  gap: 4.5vw;                  /* mezery mezi položkami */
  flex: 1 1 auto;
  justify-content: end !important;    /* menu “ve středu” headeru */
}

.nav a{
  font-family: "PT Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0.48px;
  text-transform: uppercase;
  text-decoration:none;
  color: var(--text);         /* #5D7387 */
  white-space: nowrap;
  position: relative;
}

.nav a:hover{
  color: var(--teal);         /* #0D7AA1 */
}

/* CTA vpravo */
.header-cta{
  flex: 0 0 auto;
  padding: 14px 34px;
  font-size: 18px;
  letter-spacing: .4px;
  text-transform: uppercase;
}

/* burger + mobile nav */
.burger{ display:none; }

.mobile-nav{
  display:none;
  padding: 16px;
  border-top: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.96);
}

.mobile-nav a{
  display:block;
  padding: 12px 8px;
  font-weight:700;
  text-transform: uppercase;
  letter-spacing:.48px;
  color: var(--text);
  text-decoration:none;
}

.mobile-nav a:hover{ color: var(--teal); }

/* Responsive */
@media (max-width: 1200px){
  .nav{ gap: 28px; }
  .nav a{ font-size: 18px; line-height: 26px; }
  .header-cta{ font-size: 16px; padding: 12px 26px; }
}

@media (max-width: 900px){
  .nav{ display:none; }
  .header-cta{ display:none; }

  .burger{
    display:block;
    margin-left:auto;
    margin-right: 7%;
  }

  /* když otevřeno */
  body.nav-open .mobile-nav{ display:block; }
}

.site-header .container{
  max-width: 1760px;                 /* aby na 1920 nebyly obří okraje */
  padding-left: clamp(12px, 2vw, 28px);
  padding-right: clamp(12px, 2vw, 28px);
  width: auto;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 1 1 auto;
  min-width: 0;
}

.nav a{
  font-family:"PT Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:700;
  font-size: clamp(14px, 1.15vw, 24px);   /* 24px na desktopu, menší na menších */
  line-height: 1.3;                       /* drží to kompaktní */
  letter-spacing: 0.48px;
  text-transform: uppercase;
  text-decoration:none;
  color: var(--text);
  white-space: nowrap;
}
.header-inner{
  height: clamp(84px, 6.5vw, 120px);   /* header se zmenší na menších */
  display:flex;
  align-items:center;
  gap: clamp(12px, 2vw, 28px);
}

.brand-logo{
  height: clamp(44px, 4vw, 64px);      /* logo škáluje */
  width:auto;
}

.header-cta{
  padding: clamp(10px, 1vw, 14px) clamp(18px, 2vw, 34px);
  font-size: clamp(14px, 1vw, 18px);
  letter-spacing: .4px;
  text-transform: uppercase;
}

/* Menší desktop: ještě menu necháme, ale zkompaktníme */
@media (max-width: 1200px){
  .nav a{ letter-spacing: 0.3px; }
}

/* Teprve tady přepneme na burger */
@media (max-width: 1080px){
  .nav{ display:none; }
  .header-cta{ display:none; }
  .burger{ display:block; margin-left:auto; }
  body.nav-open .mobile-nav{ display:block; }
}

.hero{
  position: relative;
  overflow: visible;              /* důležité – obrázek může přesahovat */
  padding: 40px 0 0;
}

.hero-copy{
  padding-inline: clamp(12px, 1vw, 28px);
  margin-top: 50px;
}

@media (min-width: 900px){
.hero-inner{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: start;
  position: relative;
  z-index: 2;                     /* text NAD obrázkem */
}
}
.hero-visual{
  position: absolute;
  width: min(820px, 48vw);        /* přesně podle XD */
  z-index: 1;                     /* POD obsahem */
  pointer-events: none;           /* neblokuje kliky */
}

.hero-bg-image{
  width: 100%;
  height: auto;
  display: block;
}

.offers-overlap{
  position: relative;
  z-index: 5;           /* NAD hero obrázkem */
  margin-top: -160px;   /* překrytí jako v designu */
}

.site-header{
  position: relative;
  z-index: 10;
}

@media (max-width: 900px){
  .hero-inner{
    grid-template-columns: 1fr;
  }

  .hero-visual{
    position: relative;
    width: 100%;
    max-width: 520px;
    margin: 23px auto 0;
    z-index: 1;
  }

  .offers-overlap{
    margin-top: 0;
  }
}

.hero{
  position: relative;
  overflow: visible;
  padding: 40px 0 0;
}

/* text musí být nad vším */
.hero-inner{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 34px;
  align-items: start;
  position: relative;
  z-index: 2;
}

/* Pravý PNG jako dekorace – držet u pravého okraje VIEWPORTU */
.hero-visual{
  position: absolute;
  width: min(820px, 46vw);
  z-index: 0;                 /* úplně dozadu */
  pointer-events: none;
}

.hero-bg-image{
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 1200px){
  .hero-visual{
    width: min(760px, 56vw);
  }
}

@media (min-width: 900px) and (max-width: 1100px){
  .hero{
    padding-top: 0px;
  }
}

@media (max-width: 900px){
  .hero-inner{ grid-template-columns: 1fr; }

  .hero-visual{
    position: relative;
    width: 100%;
    max-width: 520px;
    margin: 20px auto 0;
    z-index: 1;
  }

  .offers-overlap{ margin-top: 0; }
}

.hero-visual{
  position: absolute;
  width: min(820px, 48vw);
  z-index: 0;                /* úplně dozadu */
  pointer-events: none;
}

.offers-overlap{
  position: relative;
  z-index: 6;        /* výš než hero */
  margin-top: -170px;
}

.card--tealTall,
.card--tallRight{
  position: relative;
  z-index: 7;
}

.hero{
  position: relative;
  overflow-x: clip;   /* moderní, lepší než hidden */
}

@media (max-width: 1100px){
  .hero-visual{
    position: relative;

    width: 100%;
    max-width: 520px;
    margin: 23px auto 0;
    z-index: 1;
  }

  .offers-overlap{
    margin-top: 0;
  }
}

.section{
  margin-top: 40px !important;
}

/* Sticky navbar pořád nahoře */
.site-header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;

  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

/* (doporučené) ať se anchor odkazy neschovají pod sticky header */
html{
  scroll-padding-top: 120px;     /* nastav podle reálné výšky headeru */
}


.btn{
  transition:
    background-color .25s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

/* výchozí stav */
.btn.btn--dark{
  background-color: #0D7AA1;  
  color: #fff;
}

/* HOVER */
.btn.btn--dark:hover,
.btn.btn--dark:focus-visible{
  background-color: #FCA22D;
  transform: translateY(-2px);
  box-shadow:
    0 10px 22px rgba(0,0,0,.22),
    0 4px 10px rgba(0,0,0,.14);
}

/* ACTIVE (klik) */
.btn.btn--dark:active{
  background-color: #E89322;
  transform: translateY(0);
  box-shadow:
    0 5px 10px rgba(0,0,0,.18);
}

/* jen pro tmavou vysokou kartu vpravo */
.card--tallRight{
  padding: 28px 22px;      /* menší než u tebe */
  justify-content: flex-start;
}

/* obsah drž nahoře a ať se nepumpuje prázdno */
.card--tallRight .card-body{
  flex: 0 0 auto;          /* žádné roztahování */
}

/* vypni flex-grow pro text jen v téhle kartě */
.card--tallRight .card-text{
  flex-grow: 0;
  line-height: 1.35;
  margin-top: 25px;
  margin-bottom: 25px;
}

/* tlačítko dole */
.card--tallRight .btn{
  margin-top: 10px;
}

/* title trochu menší/kompaktnější */
.card--tallRight .card-title{
  margin-top: 8px;
}
.card{ display:flex; flex-direction:column; height:100%; }
.card--tallRight .btn{ margin-top: 15px; }

.card{
  margin-top: 10px;
}

/* O NÁS karta */
.about-card{
  position: relative;
  display: grid;
  grid-template-columns: 1fr .95fr;
  gap: 34px;
  padding: 34px;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 32px rgba(0,0,0,.12);
  overflow: hidden; /* dekorace se neukáže mimo kartu */
}

/* dekorace "kruh/kapka" v pozadí (obr.2) */
.about-card::after{
  content:"";
  position: absolute;
  right: -40px;
  bottom: -40px;              /* ⬅️ ukotvení ke spodní hraně */
  width: 415px;
  height: 415px;
  background: url("assets/Intersection 1.svg") no-repeat center / contain;
  pointer-events: none;
  z-index: 0;
}

/* aby byl obsah nad dekorací */
.about-media,
.about-copy{ position: relative; z-index: 1; align-items: center; display: grid;}

/* levá fotka */
.about-media{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  padding-right: 50px;
}

.about-media img{
  display:block;
  height:100%;
  object-fit: cover;
}

/* šipka */
.about-arrow{
  position:absolute;
  display: none; -------------
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 18px rgba(0,0,0,.18);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}

/* pravý text */
.about-copy .section-title{
  color: #FCA22D;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  
  font-size: 28px;
  line-height: 36px;
}

.about-copy{
  padding-top: 50px;
  padding-bottom: 50px;
}

.about-copy p{
  margin: 0 0 14px;
  color: #5D7387;
  line-height: 36px;
  font-size: 28px;
  width: 90%;
}

/* responsive */
@media (max-width: 980px){
  .about-card{
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px;
  }

  .about-card::after{
    right: 18px;
    width: min(360px, 70%);
    opacity: .28;
  }
}


.team{ padding: 40px 0 60px; }

.team-title{
  text-align:center;
  color:#FCA22D;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin: 0 0 22px;
  font-size: 28px;
}

.team-grid{
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr; /* ⬅️ rozdíl cca ~200px na desktopu */
  gap: 32px;
  align-items: stretch;
}

.team-card{
  position:relative;
  border-radius: 28px;
  padding: 26px 26px 22px;
  box-shadow: 0 18px 32px rgba(0,0,0,.12);
  overflow:hidden;
  display:flex;
  flex-direction: column;
  text-align:center;
  min-height: 680px;
}

.team-card--white{ background:#fff; }
.team-card--blue{ background: rgba(13,122,161,.08); } /* #0D7AA112 feeling */

.team-bg{
  position:absolute;
  inset: 0;
  background: url("assets/Intersection 10.png") no-repeat 70% 35% / 120%;
  opacity: .22;
  pointer-events:none;
  z-index:0;
}

.team-card > *{ position:relative; z-index:1; }

/* foto */
.team-photo{
  width: 220px;
  height: 220px;
  border-radius: 999px;
  margin: 6px auto 14px;
  overflow:hidden;
}

.team-photo img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

/* texty */
.team-name{
  margin: 4px 0 4px;
  font-size: 20px;
  color: #06586F;
  font-weight: 700;
  font-size: 28px;
}

.team-claim{
  color:#0D7AA1;
  font-style: italic;
  margin-bottom: 18px;
  font-size: 28px;
}

.team-text{
  color:#5D7387;
  font-size: 14px;
  line-height: 32px;
  font-size: 24px;
}

.team-text p{ margin: 0 0 14px; }

/* reference blok */
.team-ref{
  margin-top: auto;
  padding-top: 10px;
}

.team-ref-title{
  color:#0D7AA1;
  font-weight:700;
  margin-bottom: 10px;
  font-size: 24px;
}

.team-ref-logos{
  display: flex;
  align-items: center;
  justify-content: center;
}

.team-ref-logos img{
  padding-right: 0.5vw;
  width: 6vw;
  object-fit: contain;
}

/* Responsive */
@media (max-width: 1100px){
  .team-grid{ grid-template-columns: 1fr; }
  .team-card{ min-height: auto; }
  .team-bg{ background-size: 140%; background-position: 75% 25%; }
  .team-photo{ width: 190px; height: 190px; }
}

@media (min-width: 980px){
  .team-card::before{
    content: "";
    position: absolute;
    top: -10px;          /* lehce přesahuje */
    right: -10px;
    width: 290px;
    height: 290px;
    background: url("assets/Intersection 10.png") no-repeat top right / contain;
    pointer-events: none;
    z-index: 0;
  }
}
.pricing{
  padding: 50px 0 70px;
}

.section-title-center{
  text-align:center;
  color:#FCA22D;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin: 0 0 26px;
  font-size: 28px;
}

/* grid 2 karet */
.pricing-grid{
  display: grid;
  justify-content: center;
  gap: 32px;
  margin: 0 auto;
}

.price-card{
  aspect-ratio: 1 / 1;     /* ⬅️ ČTVERCOVÁ KARTA */
  border-radius: 26px;
  padding: 34px;
  box-shadow: 0 18px 32px rgba(0,0,0,.14);
  display: flex;
  flex-direction: column;
  text-align: center;
  line-height: 32px;
}

.price-card--light{
  background:#fff;
  color:#5D7387;
}

.price-card--teal{
  background:#06586F;
  color:#fff;
}

.price-icon{
  width: 64px;
  height: 64px;
  margin: 0 auto 14px;
  display:grid;
  place-items:center;
}
.price-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display:block;
}

.price-title{
  color:#0D7AA1;
  font-weight:700;
  font-size: 28px;
  margin: 0;
}
.price-title--light{ color:#fff; }

.price-underline{
  width: 88px;
  height: 4px;
  background:#FCA22D;
  border-radius: 999px;
  margin: 12px auto 16px;
}

/* texty */
.price-sub{
  font-weight:700;
  margin-bottom: 8px;
  color:#5D7387;
  font-size: 24px;
  margin-top: 20px;
}
.price-card--teal .price-sub{ color: rgba(255,255,255,.85); }

.price-text{
  line-height: 1.6;
  font-size: 24px;
}
.price-text--light{ color: rgba(255,255,255,.9); }

.price-strong{
  font-weight:700;
  font-size: 24px;
  margin-top: 6px;
  color:#5D7387;
}
.price-card--teal .price-strong{ color:#fff; }

.price-lines{
  margin-top: 18px;
  display:grid;
  gap: 16px;
}

.price-line{
  display:flex;
  justify-content:center;
  gap: 10px;
  font-size: 24px;
}
.price-line span{ opacity:.9; }
.price-line strong{ font-weight:700; }

.price-line--light span{ opacity:.85; }

.pricing-cta{
  display:flex;
  justify-content:center;
  margin-top: 22px;
}

.pricing-cta a {
  font-size: 19px;
}

/* responsive */
@media (max-width: 900px){
  .pricing-grid{
    grid-template-columns: 1fr;
    max-width: 520px;
  }

  .price-card{
    aspect-ratio: auto;   /* ⬅️ na mobilech už NE čtverec */
  }
}
.pricing-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* pozadí sekce (pokud section--soft používáš jako světle modré) */
.section--soft{
  background: rgba(13,122,161,.08); /* #0D7AA112 feeling */
}

/* 2 sloupce vycentrované */
.voucher{
  display: grid;
  grid-template-columns: 1.15fr .85fr; /* text trochu širší */
  gap: clamp(22px, 4vw, 56px);
  align-items: center;

  max-width: 1200px;     /* ⬅️ drží blok uprostřed */
  margin: 0 auto;        /* ⬅️ vycentruje */
}

/* texty */
.voucher-text .section-kicker{
  color:#FCA22D;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom: 25px;
}

.voucher-title{
  margin: 0 0 25px;
  color:#5D7387;
  font-size: clamp(20px, 2.1vw, 28px);
  line-height: 1.35;
  font-weight: 400;
}

.voucher-ital{
  color:#0D7AA1;
  font-style: italic;
  font-size: clamp(28px, 1.8vw, 24px);
  margin-bottom: 25px;
}

.voucher-text p{
  margin: 0;
  color:#5D7387;
  line-height: 1.7;
  max-width: 46ch;
}

/* obrázek vpravo */
.voucher-media{
  display: flex;
  justify-content: center;
}

.voucher-img{
  width: min(520px, 100%);
  height: auto;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.18));
}

.section--soft {
  position: relative;
  overflow: hidden;
}

/* dekorace v pozadí */
.section--soft::before {
  content: "";
  position: absolute;

  left: -14px;        /* lehce ven z layoutu */
  bottom: -20px;      /* na spodní hranu */

  width: 280px;
  height: 300px;

  background: url("assets/Intersection 10.png") no-repeat center / contain;

  transform: rotate(180deg);


  pointer-events: none;
  z-index: 0;
}

/* obsah nad dekorací */
.section--soft > .container {
  position: relative;
  z-index: 1;
}

.map{
  width: 100%;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 32px rgba(0,0,0,.12);
}

.map iframe{
  width: 100%;
  height: 380px;   /* uprav dle layoutu */
  border: 0;
  display: block;
}

.ig-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}



@media (max-width: 980px) {
  body.nav-open .nav{
    display: none;
  }
}

/* KONTAKTY layout */
.contacts-layout{
  display: grid;
  grid-template-columns: minmax(520px, 740px) minmax(360px, 520px);
  gap: clamp(22px, 3vw, 44px);
  align-items: start;
  margin-top: 18px;
}

/* KONTAKTY layout: vlevo čtvercová mapa, vpravo obsah */
.contacts-layout{
  display: grid;
  grid-template-columns: minmax(320px, 520px) 1fr;  /* mapa + info */
  gap: clamp(22px, 3vw, 44px);
  align-items: start;
}

/* levý sloupec s mapou */
.contacts-map{}

/* Mapa "tablet" - ČTVEREC, NE width:66% */
.map-frame{
  width: 100%;
  aspect-ratio: 1 / 1;            /* 1:1 */
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 32px rgba(0,0,0,.14);
  background: #fff;
}

.map-frame iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* pravá část – horní blok (hlavní kontakt) */
.contacts-top{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

/* 3 kontakty vedle sebe (jako na obrázku) */
.contacts-people{
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: clamp(16px, 2.2vw, 28px);
  align-items: start;
}

/* jeden člověk ve sloupci */
.person{
  display: grid;
  gap: 8px;
}

.person .contact-name{
  font-size: 22px;   /* klidně nech, jen to vypadá líp v 3 sloupcích */
}

.person .contact-role{
  font-size: 18px;
  margin-top: 2px;
}

.person .contact-row{
  margin: 8px 0;
}

/* ikony v contact-row přes img (už používáš) */
.contact-ico-img{
  width: 22px;
  height: 22px;
  margin-top: 4px;
}

/* odsazení řádku bez ikony (IČ atd.) */
.contact-ico-spacer{
  width: 22px;
  height: 22px;
  display: block;
}

/* “Privátní fyzioterapie Pacov” odsazené jako ostatní řádky */
.contact-strong--indent{
  margin: 0;
}

/* RESPONSIVE */
@media (max-width: 1100px){
  .contacts-people{
    grid-template-columns: 1fr; /* pod sebou */
  }
}

@media (max-width: 980px){
  .contacts-layout{
    grid-template-columns: 1fr;
  }
  .map-frame{
    max-width: 520px;
    margin: 0 auto;
  }
}


/* držák obrázku v About kartě */
.about-media{
  position: relative;
  min-height: 320px;     /* aby bylo co vidět */
  border-radius: 22px;
  overflow: hidden;      /* skryje zbytek slidů */
}

/* slider */
.about-slider{
  position: relative;
  width: 100%;
}

/* track = pás s fotkama */
.about-track{
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}

/* slide = 1 fotka = 100% šířky okna */
.about-slide{
  height: 100%;
  object-fit: cover;
  display: block;
}

/* šipky */


/* dekorace ať neblokuje klik */
.about-card::after{ pointer-events: none; }

.contacts-info{
  padding-top: 30px;
  display: grid;
  justify-content: center;
}

/* hlavička */
.contact-head{
  display:flex;
  gap:14px;
  margin-bottom: 18px;
}

.contact-logo{

  height:auto;
  margin-top: 2px;
}

.contact-name{
  color:#0D7AA1;
  font-weight:700;
  font-size:28px;
  line-height:1.15;
}

.contact-role{
  color:#5D7387;
  font-size:24px;
  margin-top:6px;
}

/* blok */
.contact-block{
  margin-top: 14px;
  color:#5D7387;
  font-size:24px;
  line-height:1.6;
  margin-left: 27px;
}

.contact-strong{
  color:#0D7AA1;
  font-weight:700;
  margin-bottom: 18px;
}


/* řádky s ikonami */
.contact-row{
  display:grid;
  grid-template-columns: 55px 1fr;  /* ikonový sloupec */
  gap:14px;
  align-items:center;
  margin: 12px 0;
}

.contact-row--spaced{
  margin-top: 22px;
}

/* SVG ikona přes IMG */
.contact-ico-img{
  width:22px;
  height:22px;
}

/* placeholder místo ikonky (u IČ) – drží zarovnání */
.contact-ico-spacer{
  width:22px;
  height:22px;
  margin-top: 4px;
}

/* odkazy */
.contacts-info a{
  color:#0D7AA1;
  text-decoration:none;
}

.contacts-info a:hover{
  color:#FCA22D;
}

.about-nav{
  position: absolute;
  transform: translateY(-50%);
  border-radius: 999px;
  border: 0;
  background: none;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
  z-index: 10;
}

.about-nav img{
  height: auto;
  display: block;
}

.about-nav--prev{ left: 18px; }
.about-nav--next{ right: 18px; }

/* hover efekt – jemný scale jako u designu */
.about-nav:hover{
  transform: translateY(-50%) scale(1.05);
}

/* active klik */
.about-nav:active{
  transform: translateY(-50%) scale(0.97);
}

.footer-title{
  font-size: 24px;
}
.footer-muted{
  font-size: 24px;
  text-decoration: none !important;
}

/* horní blok kontaktů */
.contacts-top{
  display: grid;
  grid-template-columns: 54px 1fr; /* logo | text */
  gap: 18px;
  align-items: start;
  margin-bottom: 28px;
}

/* logo vlevo */
.contacts-top-logo img{
  width: 54px;
  height: auto;
  display: block;
}

/* pravý textový sloupec */
.contacts-top-text{
  display: grid;
  color: #5D7387;
  font-size: 24px;
  line-height: 40px;
}

/* název ordinace */
.contacts-top-text .contact-strong{
  color: #0D7AA1;
  font-weight: 700;
  margin-bottom: 6px;
}

/* běžné řádky */
.contacts-line{
  display: block;
}

/* web – s ikonou */
.contacts-line--spaced{
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* odkazy */
.contacts-top-text a{
  color:#0D7AA1;
  text-decoration:none;
}

.contacts-top-text a:hover{
  color:#FCA22D;
}
.contact-strong{
  margin: 0;            /* ⬅️ zruší default */
  padding: 0;
  line-height: 0.7;       /* ⬅️ odstraní svislé „nafouknutí“ */
  display: block;
}

.person{
  display: grid;
  grid-template-columns: 54px 1fr; /* 1) ikony  2) text */
  column-gap: 14px;
  row-gap: 10px;
  align-items: start;
  line-height: 40px;
}

/* jméno + role začínají ve 2. sloupci (textový sloupec) */
.person-head{
  grid-column: 2;
}

.person-name{
  color: #0D7AA1;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.15;
  margin: 0;
}

.person-role{
  color: #5D7387;
  font-style: italic;
  font-size: 24px;
  margin-top: 6px;
}

/* řádky */
.person-row{
  display: contents; /* nechá děti používat grid .person */
  font-size: 24px;
}

/* ikony */
.person-ico{
  display: block;
  margin-top: 4px; /* doladění s baseline textu */
  margin-left: 30px;
}

/* odkazy */
.person a{
  color: #0D7AA1;
  text-decoration: none;
}
.person a:hover{ color:#FCA22D; }

.pricing-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  justify-content: center;
  gap: 32px;
  margin: 0 auto;
}

.price-cancel{
  font-size: 24px;
  line-height: 40px;
}

.price-card--cancel{
  padding: 50px !important;
  box-shadow: none;
  border: none;
}

/* STORNO karta */
.price-card--cancel{
  justify-content: center;
}

.price-title--cancel{
  color:#5D7387;
}

/* obsah */
.price-cancel{
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: center;
}

/* sekce */
.cancel-section{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cancel-heading{
  font-weight: 700;
  color:#5D7387;
  font-size: 24px;
}

.cancel-text{
  margin: 0;
  font-size: 24px;
  line-height: 27px;
  color:#5D7387;
}

.cancel-price{
  font-weight: 700;
  font-size: 24px;
  color:#5D7387;
}

/* oddělovač */
.cancel-divider{
  width: 90px;
  height: 4px;
  background:#0D7AA1;
  border-radius: 999px;
  margin: 6px auto;
}

.voucher-mobile{
    display: none;
  }


@media (max-width: 900px){
  .pricing-grid{
    grid-template-columns: none;
  }
  .voucher{
    grid-template-columns: none;
  }
  .map-frame{
    width: 80%;
  }
  .person-row{
    font-size: 18px;
  }
  .person{
    column-gap: 0px;
  }
  .person-ico{
    margin-left: 18px;
  }
  .contacts-map{
    order: 3;
  }
  .contact-strong{
    font-size: 26px;
    line-height: 34px;
  }
  .contacts-top-text{
    font-size: 20px;
  }
  .contacts-top{
    grid-template-columns: 38px 1fr;
  }
  .person{
    margin-top: 30px;
  }
  .contacts-top-logo img{
    padding-top: 7px;
  }
  .footer-logo{
    margin-right: 0px;
  }
  .footer-title{
    font-size: 20px;
  }
  .footer-muted{
    font-size: 20px;
    display: flex;
    justify-content: center;
  }
  .footer-inner{
    align-items: center;
  }
  .footer-cols{
    align-items: flex-start;
  }
  .footer-cols{
    width: auto;
    align-items: center;
  }
  .copyright{
    opacity: 0.6;
  }
  .section-kicker--center{
    margin: 0px;
  }
  .contacts-layout{
    margin-top: 0px !important;
  }
  .center a{
    font-size: 16px;
    line-height: 20px;
    padding: 8px 16px;
  }
  .social-icons a{
    width: 39px;
  }

  #aktualne{
    background: rgba(13,122,161,.08);
    margin-top: 0px !important;
    padding-top: 40px;
  }
  .section--soft::before{
    display: none;
  }
  #kontakt{
    margin-top: 0px !important;
    padding-top: 40px;
    padding-bottom: 40px;
    background: rgba(13,122,161,.08);
  }
  .site-footer{
    margin-top: 0px;
  }
  #cenik{
    background: rgba(13,122,161,.08);
    margin-top: 0px !important;
    padding-top: 40px;
  }
  .voucher-sec{
    margin-top: 0px !important;
  }
  .price-card--cancel{
    background: none;
    padding: 50px 20px !important;
  }
  #tym, #onas, #nabidka{
    background: rgba(13,122,161,.08);
    margin: 0px !important;
  }
  #onas{
    padding-top: 40px;
  }
  #nabidka{
    background: linear-gradient(
      to top,
      rgba(232,244,247,1) 0%,
      rgba(232,244,247,1) 80%,
      #ffffff 100%
    );
  }
  .hero-copy{
    order: 2;
    padding-bottom: 50px;
    text-align: center;
    padding: 0px;
  }
  .voucher p{
    font-size: 17px;
  }
  .voucher-ital{
    font-size: 20px;
  }
  .voucher-text .section-kicker {
    display: grid;
    justify-content: center;
  }
  .voucher-mobile{
    display: block;
    display: grid;
    justify-content: center;
    order: -1;
  }
  .voucher-desktop{
    display: none !important;
  }
  .cancel-text, .price-line, .price-text, .price-strong, .team-text, .team-claim, .team-name, .about-copy p, .hero-box__text, .kicker, .hero-title{
    font-size: 20px;
    line-height: 26px;
  }
  .cancel-heading, .cancel-price, .price-sub, .hero-box a{
    font-size: 24px;
  }
  .price-title, .section-title-center, .team-title{
    font-size: 26px;
  }
  .team-ref{
    display: none;
  }
  .about-media{
    order: 1;
    padding: 0px;
    min-height: 0px;
  }

  .about-nav{
    max-height: 36px;
    max-width: 36px;
    pointer-events: none;
  }
  .about-copy{
    padding-top: 15px;
    padding-bottom: 0px;
  }
  .about-copy .section-title{
    font-size: 26px;
    padding-bottom: 6px;
  }
  .about-copy p{
    width: 100%;
  }
  .card--tallRight, .hero-box a{
    order: -1;
  }
  .hero-box a{
    padding: 11px 28px;
    width: fit-content;
    margin: 0 auto;
  }
  .hero{
    padding: 0px;
    margin-top: 44px;
  }
  .hero-copy{
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 20px;
    padding-bottom: 0px;
    margin-bottom: 25px;
    margin-top: 0px;
    background: #FFF;
    margin-top: -110px;
    z-index: 999999;
    box-shadow: 0 18px 28px rgba(0,0,0,.10);
  }
  .kicker{
    letter-spacing: 0.4px;
    padding-top: 20px;
    padding-right: 25px;
    padding-left: 25px;
  }
  .hero-title{
    padding: 15px;
  }
  .hero-box{
    text-align: center;
    box-shadow: none;
  }
  .hero-subtitle{
    padding-right: 25px;
    padding-left: 25px;
  }
  .brand-logo{
    height: 64px;
  }
  .header-inner{
    padding-left: 33px !important;
    padding-top: 19px !important;
    padding-bottom: 19px;
  }
  body.nav-open .mobile-nav{
    text-align: center;
  }
  .header-cta{
    width: fit-content;
    margin: 0 auto;
    padding: 12px 17px !important;
  }
  .person-role{
    font-size: 20px;
  }
  .person-name{
    font-size: 24px;
  }
}

/* ====== MOBILE: nabídka jako (1) tallRight nahoře + (2) slider ====== */
@media (max-width: 520px){

  /* tlačítko "zobrazit podrobnosti" jen na mobilu */
  .card-more{
    display: inline-block;
    margin: 6px 0 14px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;

    color: #0D7AA1;
    text-decoration: underline;
    font-size: 18px;
    font-weight: 400;
  }

  /* pro tmavou kartu aby to bylo čitelné */
  .card-more--light{
    color: #fff;
    opacity: .92;
  }

  /* popis (rozbalovací část) */
  .card-desc[hidden]{ display: none !important; }
  .card.is-open .card-desc{ display: block !important; }



  /* slider */
  .offers-slider{
    position: relative;
    margin-top: 18px;
    border-radius: 28px;
  }

  .offers-track{
    display: flex;
    flex-wrap: nowrap;
    transition: transform .45s ease;
    will-change: transform;
  }

  .offers-slide{
    flex: 0 0 100%;
    width: 100%;
    padding: 0;
  }

  /* šipky slideru */
  .offers-nav{
    position: absolute;

    transform: translateY(-50%);
    border: 0;
    background: none;
    padding: 0;
    cursor: pointer;
    z-index: 10;
  }
  .offers-nav--prev{ left: 8px; }
  .offers-nav--next{ right: 8px; }

  .offers-nav img{
    display: block;
    width: 56px;
    height: 56px;
  }

  /* trošku pomůže ostrosti na hover */
  .offers-nav:hover{
    transform: translateY(-50%) scale(1.02);
  }
}

/* výchozí: desktop/tablet = všechno viditelné */
.card-more { display: none; }

.card-details{
  max-height: none;
  opacity: 1;
  overflow: visible;
}

/* MOBIL: skrýt popis + ukázat tlačítko */
@media (max-width: 900px){
  .team-card--blue{
    background: #ffffff;
  }


  .card-more{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 10px auto 14px;
    padding: 8px 12px;
    background: transparent;
    color: #5D7387;
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
    border: none;
  }

  /* skryté */
  .card-details{
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .35s ease, opacity .2s ease;
  }

  /* rozbalené */
  .card.is-open .card-details{
    max-height: 2000px; /* dostatečně velké pro dlouhé texty */
    opacity: 1;
  }
}

@media (max-width: 900px){
  .card--tallRight{
    order: -1;
    padding-bottom: 40px;
  }
}

/* IG GRID – čistý layout bez stínů a bez radiusu */
.ig-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;               /* žádné mezery mezi fotkama */
  margin: 0 auto 26px;
  overflow: hidden;     /* kdyby něco přeteklo */
  max-width: 1100px;
}

.ig-grid a{
  display: block;
  line-height: 0;       /* odstraní “mezery” kolem img */
}

.ig-grid img{
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 2;
  object-fit: cover;
  border-radius: 0;     /* bez radiusu */
  box-shadow: none;     /* bez shadow */
  display: block;
  transform: none;
  max-height: 540px;
}

/* hover jen jemné ztmavení (volitelné) */
.ig-grid a:hover img{
  filter: brightness(.92);
}

/* RESPONSIVE */
@media (max-width: 900px){
  .ig-grid img{
    height: 80%;
  } /* nebo nech 1/1 když chceš */
}

@media (max-width: 1696px){
  .contacts-people{
    grid-template-columns: none;
  }
}

/* ========== OFFERS: desktop grid + mobile slider ========== */

/* karty jako flex sloupec + CTA dolů */
.card{
  display:flex;
  flex-direction:column;
}
.card > .btn{
  margin-top:auto; /* REZERVACE dole */
}

/* Desktop layout: grid 3+3 + tall vpravo */
.cards-grid--offers2{
  display:grid;
  gap:22px;
  grid-template-columns: repeat(4, 1fr);
  align-items:stretch;
}

/* Tall karta doprava a přes 2 řádky */
.card--tallRight{
  grid-column: 4 / 5;
  grid-row: 1 / span 2;
  min-height: 560px;
}

/* wrapper slideru na desktopu “zmizí” do gridu */
@media (min-width: 981px){
  .offers-slider,
  .offers-track{
    display: contents;
  }

  /* na desktopu má být popis VŽDY vidět a tlačítko "podrobnosti" schované */
  .card-more{ display:none; }
  .card-details{ display:block; }
}

@media (max-width: 1100px){
  .cards-grid--offers2{
    display:block; /* order už neřešíme, tall je v DOM první */
  }
}
/* Mobil: tall karta nahoře + slider pod ní */
@media (max-width: 980px){
    .voucher-text{
      margin-left: 20px;
      margin-right: 20px;
    }
    .ig-grid{
      margin-bottom: 0px;
    }
    .team-card::before{
      content: "";
      position: absolute;
      bottom: -10px;          /* lehce přesahuje */
      right: -10px;
      width: 220px;
      height: 220px;
      background: url("assets/Intersection 10.png") no-repeat top right / contain;
      pointer-events: none;
      z-index: 0;
      top: none;
      transform: rotate(90deg);
    }




  .card--tallRight{
    min-height:auto;
    margin-bottom: 18px;
  }

  .card--tallRight .btn {
    margin-top: 15px;
  }
  .card{
    box-shadow: none;
  }

  .card-text{
    padding-left: 30px;
    padding-right: 30px;
    font-size: 16px;
    line-height: 20px;
  }

  .card-title{
    margin-bottom: 0px;
  }
  /* slider wrapper */
  .offers-slider{
    position: relative;
    overflow: hidden;
  }

  .card-icon img{
    max-height: 46px !important;
    margin-top: 42px;
  }

  .card-title{
    font-size: 24px;
    line-height: 32px;
  }

  .offers-track{
    display:flex;
    flex-wrap:nowrap;

  }

  .offers-slide{
    flex: 0 0 100%;
    width:100%;
    height: auto;
    padding-bottom: 40px;
  }

  /* na mobilu schovat detaily, ukázat až po kliknutí */
  .card-details{ display:none; }
  .card.is-open .card-details{ display:block; }

  .card-more{
    border:0;
    background:none;
    color:#5D7387;
    text-decoration: underline;
    font: inherit;
    cursor:pointer;
    margin: 0px auto 0;
    font-size: 17px;
  }

  /* šipky slideru (můžeš nahradit SVG stejně jako u "O nás") */
  .offers-nav{
    display:grid;
  }

  .card a{
    padding-top: ;
  }

  .card--tallRight .card-more{
    color: #FFFFFF;
  }
}


/* když bys chtěl šipky skrýt na desktopu i kdyby náhodou wrapper nebyl contents */
@media (min-width: 981px){
  .offers-nav{ display:none; }
}

  .offers-slider .about-nav--prev,
  .offers-slider .offers-nav--prev{ left: 8px; top: 140px}

  .offers-slider .about-nav--next,
  .offers-slider .offers-nav--next{ right: 8px; top: 140px}

}


/* Desktop/tablet – text normálně viditelný */
.team-details{ display: block; }

/* Mobilní chování: skryj detaily a ukaž po kliknutí */
@media (max-width: 980px){
  .team-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  /* default zavřeno */
  .team-card .team-details{
    display: none;
  }

  /* otevřeno */
  .team-card.is-open .team-details{
    display: block;
  }
}


/* MOBILE slider */
@media (max-width: 900px){

  /* viewport slideru */
  .offers-slider{
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;



    /* schovat scrollbar */
    scrollbar-width: none;         /* Firefox */
  }
  .offers-slider::-webkit-scrollbar{ display:none; }

  /* track */
  .offers-track{
    display: flex;
    gap: 16px;

    /* aby první/poslední karta “dosnapovala” pěkně s paddingem */
    scroll-padding-left: 56px;
    scroll-padding-right: 56px;
  }

  /* každá karta ve slideru */
  .offers-track > .offers-slide{

    scroll-snap-align: start;
  }

  /* šipky – pořád vidět, ale jen v tom “gutteru” */
  .offers-nav{
    position: absolute;
    transform: translateY(-50%);
    z-index: 10;

    /* když máš .about-nav už nastylované, nech klidně jen tohle */
  }
  .offers-nav.about-nav--prev{ left: 12px;}
  .offers-nav.about-nav--next{ right: 12px;}

  /* aby klik fungoval i přes overlay a nic jiného to neblokovalo */
  .offers-slider{ pointer-events: auto; }
  .offers-nav{ pointer-events: auto; }

  /* volitelně: jemný “fade” u okrajů, aby bylo jasné, že je to slider */
  /*
  .offers-slider{
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
  }
  */
}

/* desktop: pokud nechceš šipky vůbec, skryj je */
@media (min-width: 901px){
  .offers-nav{ display:none; }
}

@media (max-width:900px){
  .offers-shell{ position: relative; }

  .offers-slider{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
  }

  .offers-nav{
    position:absolute;
    transform:translateY(-50%);
    z-index:10;
  }
  .offers-nav.about-nav--prev{ left:5.4vw; bottom: 16% !important}
  .offers-nav.about-nav--next{ right:5.4vw; bottom: 16% !important}
  .offers-slider{
    padding-bottom: 30px;
    padding: 0px;
  }
  .card .btn{
    margin-top: 8vw;
  }
}

.onas-sipky{
  top: 50%;
}


/* O NÁS – slider prstem + šipky */
.about-slider{
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;

  /* schovat scrollbar */
  scrollbar-width: none;
}
.about-slider::-webkit-scrollbar{ display:none; }

.about-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 0; /* nech 0, ať to je přesně 1 slide = 1 šířka */
}

.about-slide{
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  object-fit: cover;
  display: block;
}

/* šipky pořád vidět */
.about-nav{
  position: absolute;
  transform: translateY(-50%);
  z-index: 10;
}




.about-slider{
  position: relative;
  overflow: hidden;
}

.about-viewport{
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;

  /* důležité pro stabilní swipe */
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;

  scrollbar-width: none;
}
.about-viewport::-webkit-scrollbar{ display:none; }

.about-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
}

.about-slide{
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always; /* <- hodně pomáhá “nevynechávat” */
  display: block;
  object-fit: cover;
}

/* viewport */
.about-slider{
  position: relative;
  overflow: hidden;           /* NE scroll */
  touch-action: pan-y;        /* dovol vertikální scroll stránky, blokni horizontální */
}

/* track */
.about-track{

  display: flex;
  flex-wrap: nowrap;
  gap: 0;                     /* důležité */
}

/* slide */
.about-slide{
  flex: 0 0 100%;
  width: 100%;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;       /* ať swipe nechytá obrázek */
}

.about-slider{
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}

/* důležité: žádné gapy */
.about-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 0 !important;
  min-width: 0;
}

/* každý slide přesně jako viewport */
.about-slide{
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

/* O NÁS – slider nativní scroll + snap */
.about-slider[data-slider]{
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none; /* Firefox */
}
.about-slider[data-slider]::-webkit-scrollbar{ display:none; }

.about-slider[data-slider] .about-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
}

.about-slider[data-slider] .about-slide{
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  display: block;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none; /* ať swipe nekliká na img */
}


.site-footer a,
.site-footer a:visited,
.site-footer a:hover,
.site-footer a:active {
  color: inherit;
  text-decoration: none;
}

/* iOS (Safari) – linky co si systém sám vytvoří */
.site-footer a[x-apple-data-detectors],
.site-footer a[x-apple-data-detectors-type]{
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}

/* ===== TEAM EXTRA (Pavla + nábor) ===== */
.team-extra{
  margin-top: 32px;
}

/* Desktop: 2 karty vedle sebe (50/50) */
@media (min-width: 900px){
  .team-extra{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: stretch;
  }
}

/* Mobil: nábor pod sliderem, Pavla v extra se schová */
@media (max-width: 899px){
  .team-extra{
    display: block;
  }
}

/* Přepínání duplicity Pavly */
.team-card--mobileOnly{ display: none; }
.team-card--desktopOnly{ display: grid; align-items:center; min-height:auto; padding: 30px; padding-top: 90px !important; padding-bottom: 50px; }

@media (max-width: 899px){
  .team-card--mobileOnly{ display: block; }
  .team-card--desktopOnly{ display: none; }
  .team-recruit-cta{
    margin-bottom: 20px !important;
  }
}

/* ===== Náborová karta (CTA) ===== */
.team-card--recruit{
  background: #06586F; /* stejné “teal” jako používáš */
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  min-height: 280px;
}

.team-recruit-title{
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 28px;
  color: #fff;
}

.team-recruit-text{
  margin: 0 0 18px;
  opacity: .92;
  font-size: 24px;
  line-height: 32px;
}

.team-recruit-cta{
  width: fit-content;
  margin: 0 auto;
}

@media (min-width: 980px) {
  .team-card.team-card--recruit::before {
    background: transparent url('assets/Intersection 15.svg') 0% 0% no-repeat padding-box !important;
  }
}

@media (min-width: 980px){
  /* 2 sloupce jen pro tuhle kartu */
  .team-card--desktopOnly .team-desktop-cols{
    display: grid;
    grid-template-columns: 50% 1fr; /* vlevo fixed, vpravo text */
    gap: 28px;
    align-items: start;
    text-align: left; /* pravý sloupec je textový */
  }

  /* vlevo vycentrovat obsah jako na obrázku */
  .team-card--desktopOnly .team-desktop-left{
    display: grid;
    justify-items: center;
    text-align: center;
    align-content: start;
  }

  /* foto trochu menší/hezčí na desktop-only detail kartě */
  .team-card--desktopOnly .team-photo{
    width: 220px;
    height: 220px;
    margin: 6px auto 14px;
  }

  /* pravý sloupec – text normálně */
  .team-card--desktopOnly .team-desktop-right{
    align-content: start;
  }

  /* na desktopu ať se detail vždy ukazuje */
  .team-card--desktopOnly .team-details{
    display: block !important;
  }

  .team-card--desktopOnly .team-text{
    margin: 0px;
  }

  /* na desktopu tlačítko "zobrazit podrobnosti" nechceme */
  .team-card--desktopOnly .card-more{
    display: none !important;
  }
  .team-card--recruit{
    box-shadow: 0 18px 32px rgba(0,0,0,.20);
  }
}

.team-recruit-photo{
  display: grid;
  justify-content: center;
}
.team-recruit-photo img{
  max-width: 220px;
  max-height: 220px;
}

.about-slider{ overflow:hidden; }          /* wrapper */
.about-viewport{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width:none;
}
.about-viewport::-webkit-scrollbar{display:none;}

.about-track{ display:flex; gap:0 !important; }
.about-slide{ flex:0 0 100%; width:100%; scroll-snap-align:start; }


/* O NÁS slider – jedna pravda (na konec CSS) */
.about-slider[data-slider]{
  position: relative;
  overflow: hidden !important;  /* wrapper nesmí scrollovat */
}

.about-viewport{
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.about-viewport::-webkit-scrollbar{ display:none; }

.about-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 0 !important;
}

.about-slide{
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  object-fit: cover;
  display: block;
}

/* disabled šipky */
.about-nav.is-disabled{
  opacity: .35;
  pointer-events: none;
  cursor: default;
}

/* O NÁS slider – stabilní varianta: scrolluje jen .about-viewport */
.about-slider[data-slider]{
  position: relative;
  overflow: hidden !important; /* wrapper nesmí scrollovat */
}

.about-viewport{
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.about-viewport::-webkit-scrollbar{ display:none; }

.about-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 0 !important;
}

.about-slide{
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: block;
  object-fit: cover;
}

/* disabled šipky */
.about-nav.is-disabled{
  opacity: .35;
  pointer-events: none;
  cursor: default;
}

.about-viewport { scroll-snap-type: x mandatory; }
.about-track { gap: 0 !important; }
.about-slide { flex: 0 0 100%; width: 100%; }
.about-track{ transform: none !important; }
