:root {
  --navy: #071849;
  --navy-dark: #03113d;
  --gold: #cf8b31;
  --gold-deep: #b9791f;
  --gold-soft: #f5ead9;
  --gold-tint: #faf3e8;
  --line: rgba(7, 24, 73, 0.10);
  --header-height: 92px;

  /* Design system – jednotná škála */
  --font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
  --r-sm: 10px;
  --r-md: 13px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-pill: 999px;
  --shell: 1360px;
  --shell-text: 760px;
  --section-pad: clamp(56px, 6vw, 96px);

  /* Typografická stupnice */
  --fs-h1: clamp(44px, 4.2vw, 60px);
  --fs-h2: clamp(30px, 2.8vw, 44px);
  --fs-h3: clamp(19px, 1.4vw, 23px);
  --fs-lead: clamp(16px, 1.2vw, 18px);
  --fs-body: clamp(14px, 1vw, 16px);
  --fs-eyebrow: 13px;

  /* Vertikální rytmus */
  --sp-xs: 8px;
  --sp-sm: 14px;
  --sp-md: 22px;
  --sp-lg: 34px;
  --sp-xl: 52px;

  /* Škála ikon */
  --ic-sm: 20px;
  --ic-md: 28px;
  --ic-lg: 40px;
  --ic-xl: 52px;

  /* Karty */
  --card-pad: clamp(20px, 2vw, 28px);
  --shadow-sm: 0 6px 18px rgba(7, 24, 73, 0.06);
  --shadow-md: 0 14px 34px rgba(7, 24, 73, 0.085);
  --shadow-card: 0 16px 42px rgba(7, 24, 73, 0.09);
  --shadow-card-hover: 0 28px 64px rgba(7, 24, 73, 0.17);
  --shadow-cta: 0 14px 30px rgba(7, 24, 73, 0.18);
  --shadow-cta-hover: 0 22px 44px rgba(7, 24, 73, 0.27);
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur: 0.28s;
  --dur-slow: 0.75s;

  /* Zlatý gradient-text — pro klíčová čísla a hero akcenty */
  --gold-gradient: linear-gradient(160deg, var(--gold) 0%, var(--gold-deep) 100%);
  /* Jemný zlatý glow — pro hero em akcenty */
  --gold-glow: 0 0 22px rgba(207, 139, 49, 0.16), 0 0 8px rgba(207, 139, 49, 0.10);
}

* { box-sizing: border-box; }

html {
  min-width: 320px;
  background: #ffffff;
  color: var(--navy);
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 14px);
}

body {
  margin: 0;
  color: var(--navy);
  font-family: var(--font-sans);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* Prémiový grain overlay – sotva viditelná textura papíru */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 180px 180px;
}

a { color: inherit; text-decoration: none; }

/* text-wrap: balance/pretty — odstraní sirotky a nahodilé zlomy */
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }

/* Zlatý gradient text — utilita pro čísla, statistiky, accenty */
.text-gold {
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Scrollbar — prémiový navy+gold */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f0eee8; }
::-webkit-scrollbar-thumb { background: var(--navy); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-deep); }

/* Selekce textu — zlatý tint */
::selection { background: rgba(207, 139, 49, 0.18); color: var(--navy); }

/* Formulářové prvky */
input, textarea, select { accent-color: var(--gold); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  width: 100%;
  height: var(--header-height);
  background: rgba(255, 255, 255, 0.86);
  -webkit-backdrop-filter: saturate(150%) blur(16px);
  backdrop-filter: saturate(150%) blur(16px);
  border-bottom: 1px solid rgba(8, 24, 72, 0.06);
  box-shadow: 0 1px 0 rgba(8, 24, 72, 0.02);
  transition: box-shadow var(--dur) var(--ease), background-color var(--dur) var(--ease);
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 30px rgba(7, 24, 73, 0.10);
}

.header-inner {
  height: 100%;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(360px, 460px) minmax(470px, 1fr) auto;
  align-items: center;
  gap: 34px;
  padding: 0 46px 0 45px;
}

.brand { display: inline-flex; align-items: center; gap: 14px; min-width: 0; }

.brand-mark {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  color: var(--gold);
  font-family: Arial, sans-serif;
  font-size: 72px;
  line-height: 0.7;
  font-weight: 200;
  -webkit-text-stroke: 3px currentColor;
  paint-order: stroke fill;
  filter: drop-shadow(0 2px 2px rgba(201, 135, 47, 0.10));
  transform: translateY(-2px);
}

.brand-copy { display: flex; flex-direction: column; gap: 1px; line-height: 1; white-space: nowrap; }
.brand-title { color: var(--navy); font-size: 24px; font-weight: 850; letter-spacing: -0.025em; }
.brand-subtitle { color: var(--gold); font-size: 16px; font-weight: 550; letter-spacing: 0.002em; margin-top: 5px; }

.main-nav {
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 2.6vw, 48px);
  color: #06143d;
  font-size: 17px;
  font-weight: 650;
  letter-spacing: -0.014em;
  white-space: nowrap;
}

/* Mezistupeň: 8 položek se na středních šířkách nevejde s plným fontem —
   těsnější gap a menší písmo, ať se „Konzultace" nelepí na CTA tlačítko */
@media (max-width: 1740px) {
  .main-nav { gap: 22px; font-size: 16px; }
}
@media (max-width: 1620px) {
  .main-nav { gap: 14px; font-size: 15px; }
  .header-inner { gap: 20px; }
}

.header-cta,
.hero-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  font-weight: 760;
  letter-spacing: -0.018em;
}

.header-cta {
  justify-self: end;
  height: 56px;
  min-width: 326px;
  padding: 0 22px;
  gap: 16px;
  border-radius: var(--r-md);
  color: #fff;
  background: linear-gradient(175deg, #0b2060 0%, #071a4f 45%, #03113d 100%);
  box-shadow: 0 11px 22px rgba(3, 17, 61, 0.18), inset 0 0 0 1px rgba(255,255,255,0.10), inset 0 1px 0 rgba(255,255,255,0.06);
  font-size: 17px;
}

.header-cta > span:nth-child(2) { white-space: nowrap; }
.hero-button > span { white-space: nowrap; }
.cta-arrow, .button-arrow { margin-left: auto; flex-shrink: 0; color: var(--gold); font-size: 31px; line-height: 1; font-weight: 300; transform: translateY(-1px); }

.hero {
  position: relative;
  width: 100%;
  min-height: calc(100vh - var(--header-height));
  overflow: hidden;
  background: #ffffff;
}

@supports (height: 100svh) {
  .hero { min-height: calc(100svh - var(--header-height)); }
}

/* Vrstvy jsou čistě bílé — žádný modrý wash. Slouží jen k čitelnosti textu a jemnému přechodu do fotky. */
.hero::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      #ffffff 0%,
      #ffffff 38%,
      rgba(255,255,255,0.99) 47%,
      rgba(255,255,255,0.88) 55%,
      rgba(255,255,255,0.52) 63%,
      rgba(255,255,255,0.00) 73%
    );
}

.hero::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: auto 0 0 0;
  height: 33%;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.55) 48%, rgba(255,255,255,0.97) 100%);
}

.hero-photo {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 59vw;
  height: 68.5%;
  min-width: 760px;
  background: transparent;
  pointer-events: none;
  overflow: hidden;            /* ořízne zoom (Ken Burns), ať foto nevylézá dole */
  will-change: transform;      /* jemný scroll parallax (main.js) */
}

/* Countup čísla – stabilní šířka číslic, ať proofbar neposkakuje */
.count { display: inline-block; min-width: 2ch; font-variant-numeric: tabular-nums; }

.hero-photo::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0;
  background-image: url("../obrazky/hero.webp");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  transform: scale(1.005);
  transform-origin: 58% 42%;
  will-change: transform, opacity;
  transition: opacity 160ms ease-out;
}

/* Pomalý prémiový zoom (Ken Burns) po načtení – přehraje se jednou při příchodu */
@keyframes heroKenBurns {
  from { transform: scale(1.005); }
  to   { transform: scale(1.075); }
}
html.hero-img-loaded .hero-photo::before {
  opacity: 1;
  animation: heroKenBurns 14s cubic-bezier(0.33, 0, 0.15, 1) forwards;
}

@media (prefers-reduced-motion: reduce) {
  html.hero-img-loaded .hero-photo::before { animation: none; transform: scale(1); }
}

.hero-photo::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      #ffffff 0%,
      rgba(255,255,255,0.96) 10%,
      rgba(255,255,255,0.72) 21%,
      rgba(255,255,255,0.32) 32%,
      rgba(255,255,255,0.00) 45%
    ),
    linear-gradient(180deg,
      rgba(255,255,255,0.00) 0%,
      rgba(255,255,255,0.00) 60%,
      rgba(255,255,255,0.55) 78%,
      rgba(255,255,255,0.92) 90%,
      rgba(255,255,255,1) 100%
    );
}

/* Desktop: cover místo contain — obrázek vždy vyplní box, spodní hrana obrázku
   nekončí uvnitř boxu (contain nechával dole prázdný pás a hrana prosvítala
   skrz fade jako „useknutí"). Ořez probíhá vlevo, hlavní scéna je vpravo. */
@media (min-width: 1181px) {
  .hero-photo::before { background-size: cover; }
}

.photo-placeholder {
  position: absolute;
  z-index: 5;
  top: 31%;
  left: 60%;
  width: min(390px, 44vw);
  padding: 23px 26px;
  transform: translate(-50%, -50%);
  border-radius: 16px;
  border: 1px dashed rgba(7, 24, 73, 0.22);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 22px 58px rgba(7, 24, 73, 0.08);
  color: rgba(7, 24, 73, 0.66);
  text-align: center;
  font-size: 16px;
  line-height: 1.55;
  backdrop-filter: blur(10px);
  transition: opacity 160ms ease-out;
}

html.hero-img-loaded .photo-placeholder { opacity: 0; pointer-events: none; }

.hero-inner {
  position: relative;
  z-index: 5;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 34px 52px 28px 56px;
}

.hero-copy { width: min(780px, 52vw); }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  height: 38px;
  padding: 0 21px 0 17px;
  margin: 0 0 22px 0;
  color: var(--navy);
  border-radius: 999px;
  border: 1px solid rgba(207, 139, 49, 0.28);
  background: rgba(248, 240, 230, 0.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.80), 0 2px 8px rgba(207, 139, 49, 0.06);
  font-size: 13.5px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: 0.047em;
  white-space: nowrap;
}

.hero h1 {
  margin: 0;
  max-width: 790px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(52px, 3.72vw, 62px);
  line-height: 1.055;
  font-weight: 700;
  letter-spacing: -0.057em;
}

.hero h1 .h1-line { display: block; white-space: nowrap; }
.hero h1 em {
  font-style: normal;
  /* Zlatý gradient-text + jemný glow */
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: none; /* text-shadow nefunguje s gradient-text; glow přes filter */
  filter: drop-shadow(0 0 14px rgba(207, 139, 49, 0.22));
}

.hero-lead {
  margin: 20px 0 0 0;
  width: 650px;
  max-width: 100%;
  color: #0b1e4f;
  font-size: 17.5px;
  line-height: 1.48;
  font-weight: 650;
  letter-spacing: -0.016em;
}

.hero-actions { display: flex; align-items: center; gap: 23px; margin-top: 23px; }

.hero-button { height: 72px; border-radius: 10px; font-size: 18px; box-shadow: 0 13px 28px rgba(7, 24, 73, 0.07); }
.hero-button-primary { width: 356px; padding: 0 22px 0 28px; gap: 18px; color: #fff; background: linear-gradient(175deg, #0c2264 0%, #071c55 45%, #04113d 100%); box-shadow: 0 14px 32px rgba(7, 24, 73, 0.22), inset 0 0 0 1px rgba(255,255,255,0.10), inset 0 1px 0 rgba(255,255,255,0.07); }
.hero-button-secondary { width: 297px; gap: 17px; color: var(--navy); background: rgba(255,255,255,0.86); border: 1.45px solid rgba(207, 139, 49, 0.76); box-shadow: 0 10px 20px rgba(7, 24, 73, 0.025); }

/* ICON PLACEHOLDERS: do /ikony vlož stejné názvy souborů .ico. Pokud soubor existuje, placeholder zmizí. */
.icon-slot {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--navy);
}

.icon-slot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;   /* skryje bílé okraje ikon na světlém pozadí */
}

/* Na tmavém pozadí (contact-info, konzultační panel) ikony musí být světlé */
.contact-info .icon-slot img.ic,
.contact-trust img.ic {
  mix-blend-mode: normal;
  filter: brightness(0) invert(1);
}

/* Výjimka: KONZULTACE badge je světlý béžový pill → chat ikona zůstává navy
   (jinak by ji whitening filter zbělal a na světlém pillu by zmizela). */
.contact-eyebrow .contact-eyebrow-icon img.ic {
  filter: none;
}

/* Ikony v barevných/tmavých tlačítkách a na tmavých plochách → vždy bílé a kontrastní.
   Potlačí multiply (jinak bílé ikony zmizí) a vynutí čistě bílou bez ohledu na zdrojový
   odstín ikony (navy ikony jako specialisti.ico/80-specialistu.ico tak budou také bílé). */
.hero-button-primary .icon-slot img.ic,
.header-cta .icon-slot img.ic,
.services-primary-cta .icon-slot img.ic,
.why-proof-cta .icon-slot img.ic,
.pricing-cta .icon-slot img.ic,
.why-photo-stat .icon-slot img.ic {
  mix-blend-mode: normal;
  filter: brightness(0) invert(1);
}

/* Hero CTA bez ikony: text vlevo, šipka vpravo (margin-left:auto z .button-arrow).
   Pojistka proti přetečení – text se v krajním případě ořízne tečkami. */
.hero-button-primary > span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.icon-fallback {
  width: 100%;
  height: 100%;
  border: 2.15px dashed currentColor;
  border-radius: 8px;
  opacity: 0.76;
  background:
    linear-gradient(90deg, transparent 47%, currentColor 47% 53%, transparent 53%),
    linear-gradient(0deg, transparent 47%, currentColor 47% 53%, transparent 53%);
  background-size: 100% 100%;
  transform: scale(1);
}

.header-cta .icon-slot,
.hero-button-primary .icon-slot { color: var(--gold); }
.hero-button-secondary .icon-slot { color: var(--navy); }
.eyebrow .icon-slot { color: var(--gold); }

.icon-chat.small { width: 30px; height: 25px; }
.icon-chat.large { width: 36px; height: 29px; }
.icon-grid.large { width: 35px; height: 35px; }
.eyebrow-icon { width: 26px; height: 26px; }
.trust-icon { width: 34px; height: 34px; }
.specialty-icon { width: 62px; height: 62px; }
.process-icon { display: grid; width: 52px; height: 52px; margin: 0 auto 7px auto; color: var(--gold); }

.trust-row {
  position: relative;
  z-index: 6;
  display: grid;
  grid-template-columns: auto 1px auto 1px auto 1px auto 1px auto;
  align-items: center;
  gap: 0;
  width: min(1015px, 100%);
  min-height: 53px;
  margin-top: 22px;
  color: var(--navy);
}

.trust-item { display: inline-flex; align-items: center; justify-content: center; text-align: center; gap: 14px; padding-right: 25px; padding-left: 2px; font-size: 13.3px; line-height: 1.26; font-weight: 760; letter-spacing: -0.012em; min-width: 0; }
.trust-separator { width: 1px; height: 31px; margin-right: 25px; background: linear-gradient(180deg, rgba(207,139,49,0), rgba(207,139,49,0.42), rgba(207,139,49,0)); }

.hero-locality {
  position: relative;
  z-index: 6;
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-top: 16px;
  color: rgba(7, 24, 73, 0.66);
  font-size: 13.5px;
  line-height: 1.5;
  font-weight: 560;
}
.hero-locality img.hero-locality-pin {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  transform: translateY(2px);
  opacity: 0.9;
}
.hero-locality strong { font-weight: 800; color: rgba(7, 24, 73, 0.82); }
.hero-locality-dot { margin: 0 8px; color: var(--gold); font-weight: 800; }

.bottom-panels {
  position: relative;
  z-index: 7;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 0.88fr);
  gap: 16px;
  width: 100%;
  margin-top: 17px;
}

.panel { min-width: 0; border-radius: 13px; border: 1px solid rgba(7, 24, 73, 0.070); background: rgba(255, 255, 255, 0.94); box-shadow: 0 16px 42px rgba(7, 24, 73, 0.095); backdrop-filter: blur(14px); }
.panel h2 { margin: 0; color: var(--navy); font-size: 20px; line-height: 1.1; font-weight: 850; letter-spacing: -0.032em; }

.specialties-panel { min-height: 246px; padding: 22px 20px 18px 20px; }
.specialty-grid { display: grid; grid-template-columns: repeat(7, minmax(92px, 1fr)); gap: 13px; margin-top: 18px; }
.specialty-card { height: 146px; padding: 13px 6px 11px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; text-align: center; border-radius: var(--r-sm); background: rgba(255,255,255,0.64); border: 1px solid rgba(7, 24, 73, 0.095); box-shadow: inset 0 1px 0 rgba(255,255,255,0.92); }
.specialty-badge {
  margin-top: auto;            /* přišpendlí štítek ke spodku karty — ikony a názvy drží jednu linku */
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: -0.01em;
  line-height: 1.35;
  white-space: nowrap;
  color: var(--gold-deep);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.28);
  padding: 2px 8px;
  border-radius: var(--r-pill);
}
.specialty-card strong { display: block; min-height: 31px; color: var(--navy); font-size: 12.7px; line-height: 1.2; font-weight: 780; letter-spacing: -0.024em; }
.all-link { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 17px; color: #0a2a72; font-size: 15.6px; font-weight: 820; letter-spacing: -0.02em; }
.all-link span { color: var(--gold); font-size: 23px; line-height: 1; }

.process-panel { min-height: 246px; padding: 22px 24px 20px 24px; display: flex; flex-direction: column; }
.process-steps { position: relative; display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr; gap: 2px; align-items: start; margin-top: auto; margin-bottom: auto; }
.process-step { position: relative; min-width: 0; padding-top: 44px; text-align: center; }
.process-number { position: absolute; left: 50%; top: 0; transform: translateX(-50%); display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; color: #fff; background: var(--navy); font-size: 12.5px; line-height: 1; font-weight: 850; box-shadow: 0 4px 12px rgba(7, 24, 73, 0.14); }
.process-step h3 { margin: 0; color: var(--navy); text-align: center; font-size: 15.6px; line-height: 1.20; font-weight: 850; letter-spacing: -0.034em; }
.process-step p { margin: 7px 0 0 0; color: var(--navy); font-size: 12.9px; line-height: 1.35; font-weight: 590; letter-spacing: -0.022em; }
.process-arrow { align-self: center; justify-self: center; color: var(--gold); font-family: Georgia, serif; font-size: 45px; line-height: 1; font-weight: 400; margin-top: 18px; }

@media (max-width: 1450px) {
  .header-inner { grid-template-columns: 340px 1fr auto; gap: 24px; padding-left: 38px; padding-right: 38px; }
  .brand-title { font-size: 21px; }
  .brand-subtitle { font-size: 14px; }
  .brand-mark { width: 48px; height: 48px; flex-basis: 48px; font-size: 64px; }
  .main-nav { gap: 34px; font-size: 16px; }
  .header-cta { min-width: 292px; font-size: 15.5px; }
  .hero-inner { padding-left: 46px; padding-right: 42px; padding-top: 30px; padding-bottom: 24px; }
  .hero-photo { min-width: 680px; width: 60vw; height: 68%; }
  .hero h1 { font-size: clamp(50px, 3.9vw, 59px); }
  .hero-copy { width: min(740px, 56vw); }
  .trust-row { width: min(970px, 100%); }
  .bottom-panels { width: 100%; grid-template-columns: minmax(0, 1.15fr) minmax(0, .88fr); }
  .specialty-grid { gap: 12px; grid-template-columns: repeat(7, minmax(78px, 1fr)); }
  .specialty-card { height: 140px; gap: 5px; }
  .specialty-icon { width: 56px; height: 56px; }
}

/* Nav se skrývá dříve — od 1520px dolů se 8 položek nevejde vedle CTA ani se zmenšeným fontem */
@media (max-width: 1520px) {
  .main-nav { display: none; }
}

@media (max-width: 1180px) {
  :root { --header-height: 86px; }
  .header-inner { display: flex; justify-content: space-between; }
  .header-cta { min-width: 264px; height: 52px; }
  .hero-photo { width: 100%; min-width: 0; height: 45%; opacity: 1; }
  .hero-copy { width: min(680px, 70vw); }
  .hero h1 { font-size: clamp(44px, 5.6vw, 62px); }
  .trust-row { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; width: 100%; }
  .trust-separator { display: none; }
  .trust-item { padding-right: 0; }
  .bottom-panels { grid-template-columns: 1fr; width: 100%; }
}

@media (max-height: 860px) and (min-width: 1181px) {
  :root { --header-height: 86px; }
  .header-inner { padding-left: 42px; padding-right: 42px; }
  .brand-mark { width: 48px; height: 48px; flex-basis: 48px; font-size: 64px; }
  .brand-title { font-size: 22px; }
  .brand-subtitle { font-size: 14px; margin-top: 4px; }
  .header-cta { height: 54px; }
  .hero-inner { padding-top: 28px; padding-bottom: 22px; }
  .hero-photo { height: 69%; }
  .eyebrow { margin-bottom: 18px; }
  .hero h1 { font-size: clamp(48px, 3.35vw, 57px); line-height: 1.045; }
  .hero-lead { margin-top: 16px; font-size: 16.5px; line-height: 1.42; }
  .hero-actions { margin-top: 18px; }
  .hero-button { height: 61px; }
  .trust-row { margin-top: 18px; min-height: 48px; }
  .bottom-panels { margin-top: 13px; }
  .specialties-panel, .process-panel { min-height: 202px; }
  .specialty-card { height: 108px; gap: 5px; }
  .specialty-icon { width: 54px; height: 54px; }
  .process-icon { width: 46px; height: 46px; margin-bottom: 5px; }
  .process-steps { margin-top: 7px; }
}

@media (max-width: 760px) {
  :root { --header-height: auto; }
  .site-header { height: auto; }
  .header-inner { padding: 18px; align-items: flex-start; gap: 18px; }
  .brand-title { font-size: 18px; }
  .brand-subtitle { font-size: 13px; }
  .header-cta { display: none; }
  .hero { min-height: 100vh; height: auto; }
  .hero::before { display: none; }
  .hero-photo { position: relative; width: 100%; min-width: 0; height: 208px; }
  .hero-photo::before { background-size: cover; background-position: center 34%; }
  .hero-photo::after { background: linear-gradient(180deg, rgba(255,255,255,0) 66%, rgba(255,255,255,.55) 86%, #fff 100%); }
  .photo-placeholder { top: 50%; left: 50%; width: calc(100% - 42px); }
  .hero-inner { min-height: auto; padding: 22px 18px 28px; }
  .hero-copy { width: 100%; }
  .eyebrow { max-width: 100%; height: auto; min-height: 38px; white-space: normal; font-size: 11px; line-height: 1.25; }
  .hero h1 { max-width: 100%; font-size: 40px; line-height: 1.08; }
  .hero h1 .h1-line { white-space: normal; }
  .hero-lead { font-size: 17px; }
  .lead-break { display: none; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 13px; }
  .hero-button { width: 100%; }
  .trust-row { width: 100%; grid-template-columns: 1fr 1fr; margin-top: 24px; gap: 10px; min-height: 0; }
  .trust-item {
    justify-content: flex-start;
    text-align: left;
    gap: 10px;
    padding: 12px 13px;
    font-size: 13px;
    line-height: 1.24;
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(207, 139, 49, 0.26);
    box-shadow: 0 6px 16px rgba(7, 24, 73, 0.05);
  }
  .trust-item::before {
    content: "";
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px 12px no-repeat,
      linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
  }
  .trust-item:last-child { grid-column: 1 / -1; }
  .bottom-panels { width: 100%; grid-template-columns: 1fr; margin-top: 24px; }
  .specialty-grid { grid-template-columns: repeat(2, 1fr); }
  .specialty-grid .specialty-card:last-child { grid-column: 1 / -1; }
  .specialty-card { height: auto; min-height: 122px; }
  .process-steps { grid-template-columns: 1fr; gap: 16px; }
  .process-arrow { display: none; }
}

/* =========================================================
   SEKCE POD HERO: „Nevíte, kam se obrátit?“
   ========================================================= */
.direction-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: var(--section-pad) clamp(20px, 4.5vw, 68px);
  color: var(--navy);
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.72) 42%, rgba(252,249,245,0.90) 78%, rgba(250,247,242,1) 100%),
    #fbf9f5;
}

.direction-section::before,
.direction-section::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(34px);
  opacity: 0.46;
}

.direction-section::before {
  width: 520px;
  height: 520px;
  left: -220px;
  bottom: -260px;
  background: rgba(245, 232, 211, 0.42);
}

.direction-section::after {
  width: 500px;
  height: 500px;
  right: -210px;
  top: 90px;
  background: rgba(248, 236, 218, 0.34);
}

.direction-inner {
  position: relative;
  z-index: 1;
  width: min(var(--shell), 100%);
  margin: 0 auto;
}

.direction-header {
  text-align: center;
}

.direction-header h2 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--fs-h2);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.042em;
}

.direction-ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  height: 38px;
  margin-top: 9px;
  color: var(--gold);
}

.direction-ornament span {
  width: 31px;
  height: 1px;
  background: currentColor;
}

.direction-ornament b {
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  color: transparent;
  font-family: Arial, sans-serif;
  font-size: 31px;
  line-height: 1;
  font-weight: 400;
  -webkit-text-stroke: 1.7px var(--gold);
  transform: translateY(-1px);
}

.direction-header p {
  margin: 12px auto 0;
  max-width: var(--shell-text);
  color: #0d2051;
  font-size: var(--fs-lead);
  line-height: 1.56;
  font-weight: 500;
  letter-spacing: -0.018em;
}

.direction-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-lg);
  margin-top: var(--sp-xl);
}

.direction-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  padding: var(--card-pad) clamp(22px, 2.8vw, 40px);
  border: 1px solid rgba(7, 24, 73, 0.065);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow:
    0 18px 44px rgba(34, 42, 66, 0.075),
    0 3px 9px rgba(34, 42, 66, 0.035),
    inset 0 1px 0 rgba(255,255,255,0.96);
  text-align: center;
}

.direction-icon-medallion {
  display: grid;
  place-items: center;
  width: 83px;
  height: 83px;
  flex: 0 0 83px;
  margin-bottom: 16px;
  border: 1.3px solid rgba(207, 139, 49, 0.10);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 44%, rgba(255,255,255,0.98) 0 25%, rgba(250,241,226,0.86) 64%, rgba(255,255,255,0.86) 100%);
  box-shadow:
    inset 0 0 0 5px rgba(255,255,255,0.5);
}

.direction-icon {
  width: var(--ic-xl);
  height: var(--ic-xl);
  color: var(--gold);
}

.direction-icon .icon-fallback {
  border-width: 2px;
  border-radius: 13px;
  opacity: 0.72;
}

.direction-card h3 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--fs-h3);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.032em;
}

.direction-card > p {
  margin: 14px auto 0;
  color: #0d2051;
  font-size: var(--fs-body);
  line-height: 1.56;
  font-weight: 500;
  letter-spacing: -0.014em;
}

.direction-card-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
  min-height: 61px;
  margin-top: auto;
  padding-top: 21px;
  border-top: 1px solid rgba(207, 139, 49, 0.58);
  color: var(--navy);
  font-size: 19px;
  line-height: 1;
  font-weight: 740;
  letter-spacing: -0.018em;
}

.direction-card-link span:last-child {
  color: var(--gold);
  font-size: 31px;
  line-height: 0.7;
  font-weight: 300;
  transform: translateY(-1px);
}

.direction-card-link:hover span:first-child,
.direction-card-link:focus-visible span:first-child {
  text-decoration: underline;
  text-underline-offset: 5px;
}

@media (max-width: 1440px) {
  .direction-cards { gap: 24px; }
  .direction-wide-break { display: none; }
}

@media (max-width: 1024px) {
  .direction-header p br { display: none; }
  .direction-cards { grid-template-columns: 1fr; max-width: 600px; margin-left: auto; margin-right: auto; }
}

@media (max-width: 760px) {
  .direction-section { padding: 52px 18px 56px; }
  .direction-cards { margin-top: 28px; gap: 18px; }
  .direction-card-link { font-size: 17px; }
}

@media (max-width: 480px) {
  .direction-icon-medallion { width: 70px; height: 70px; flex-basis: 70px; }
  .direction-icon { width: var(--ic-lg); height: var(--ic-lg); }
}

/* =========================================================
   PŘEHLED VYŠETŘENÍ A ODBORNOSTÍ
   ========================================================= */
.services-overview {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: var(--section-pad) clamp(20px, 4vw, 55px);
  color: var(--navy);
  background:
    radial-gradient(circle at 50% 9%, rgba(255,255,255,1) 0 22%, rgba(255,255,255,.86) 46%, rgba(250,248,244,.92) 78%, #faf8f4 100%),
    #faf8f4;
}

.services-overview::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 2% 51%, rgba(245,232,211,.28), transparent 27%),
    radial-gradient(circle at 98% 43%, rgba(245,232,211,.24), transparent 29%);
}

.services-overview-inner {
  position: relative;
  z-index: 1;
  width: min(var(--shell), 100%);
  margin: 0 auto;
}

.services-overview-header {
  text-align: center;
}

.services-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 36px;
  padding: 0 18px 0 14px;
  border-radius: 999px;
  background: rgba(248,239,227,.88);
  color: var(--navy);
  font-size: var(--fs-eyebrow);
  line-height: 1;
  font-weight: 800;
  letter-spacing: .12em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.services-eyebrow-icon {
  width: var(--ic-sm);
  height: var(--ic-sm);
  color: var(--gold);
}

.services-overview-header h2 {
  margin: 10px 0 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--fs-h2);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.042em;
}

.services-overview-header h2 span,
.services-overview-header h2 em {
  font-style: normal;
}

.services-overview-header h2 em {
  color: var(--gold);
}

.services-overview-header p {
  margin: 12px auto 0;
  max-width: var(--shell-text);
  color: #102452;
  font-size: var(--fs-lead);
  line-height: 1.52;
  font-weight: 500;
  letter-spacing: -.016em;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 14px;
  margin-top: 22px;
}

.service-card {
  position: relative;
  display: grid;
  grid-template-columns: 51% 49%;
  min-width: 0;
  min-height: 304px;
  overflow: hidden;
  border: 1px solid rgba(7,24,73,.055);
  border-radius: var(--r-md);
  background: rgba(255,255,255,.96);
  box-shadow:
    0 13px 28px rgba(31,39,61,.06),
    0 2px 7px rgba(31,39,61,.025),
    inset 0 1px 0 rgba(255,255,255,.94);
}

.service-card-copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 20px 16px 17px 22px;
}

.service-card-copy::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: -75px;
  bottom: 0;
  width: 128px;
  pointer-events: none;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.96) 31%, rgba(255,255,255,.61) 64%, rgba(255,255,255,0) 100%);
}

.service-icon-medallion {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 24%, #fbf3e8 68%, #fbf8f2 100%);
  box-shadow: inset 0 0 0 0.6px rgba(207,139,49,.03);
}

.service-card-icon {
  width: 47px;
  height: 47px;
  color: var(--gold);
}

.service-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 23px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -.033em;
}

.service-title-line {
  width: 27px;
  height: 2px;
  margin-top: 8px;
  background: var(--gold);
}

.service-card p {
  margin: 9px 0 18px;
  color: #132655;
  font-size: 13.5px;
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: -.016em;
}

.service-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  width: max-content;
  max-width: 100%;
  color: var(--navy);
  font-size: 15.5px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.018em;
}

.service-link span:last-child {
  color: var(--gold);
  font-size: 27px;
  line-height: .7;
  font-weight: 300;
  transform: translateY(-1px);
}

.service-card-media {
  position: relative;
  z-index: 1;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: #f4f1ec;
}

.service-card-media img[data-photo] {
  display: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.service-card-media.photo-loaded img[data-photo] {
  display: block;
}

.service-photo-placeholder {
  position: absolute;
  inset: 14px 12px 14px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 16px;
  border: 1px dashed rgba(7,24,73,.18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(244,241,236,.9)),
    #f4f1ec;
  color: rgba(7,24,73,.57);
  text-align: center;
  font-size: 12px;
  line-height: 1.35;
}

.service-photo-placeholder::before {
  content: "";
  width: 38px;
  height: 30px;
  border: 2px solid currentColor;
  border-radius: 6px;
  opacity: .62;
  background:
    radial-gradient(circle at 73% 28%, currentColor 0 3px, transparent 3.5px),
    linear-gradient(135deg, transparent 48%, currentColor 49% 53%, transparent 54%) 4px 8px / 28px 18px no-repeat;
}

.service-photo-placeholder strong {
  font-weight: 750;
}

.service-photo-placeholder small {
  opacity: .74;
  font-size: 11px;
}

.service-card-media.photo-loaded .service-photo-placeholder {
  display: none;
}

.services-contact-bar {
  display: grid;
  grid-template-columns: minmax(390px, 1.35fr) minmax(330px, .88fr) minmax(360px, 1.05fr);
  align-items: center;
  gap: 26px;
  min-height: 126px;
  margin-top: 16px;
  padding: 14px 55px 14px 65px;
  border: 1px solid rgba(7,24,73,.055);
  border-radius: var(--r-md);
  background: rgba(255,255,255,.95);
  box-shadow: 0 14px 32px rgba(31,39,61,.06), inset 0 1px 0 rgba(255,255,255,.94);
}

.services-help-block {
  display: flex;
  align-items: center;
  gap: 26px;
  min-width: 0;
}

.services-help-medallion {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  border: 1.3px solid rgba(207,139,49,.095);
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 23%, #fbf3e8 70%, #fff 100%);
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.5);
}

.services-help-icon {
  width: 55px;
  height: 55px;
  color: var(--navy);
}

.services-help-block h3 {
  margin: 0;
  color: var(--navy);
  font-size: 21px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -.025em;
}

.services-help-block p {
  margin: 7px 0 0;
  color: #162957;
  font-size: 15.5px;
  line-height: 1.42;
  font-weight: 500;
  letter-spacing: -.015em;
}

.services-primary-cta {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 74px;
  padding: 0 22px 0 27px;
  gap: 20px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(180deg, #071c55 0%, #04113d 100%);
  box-shadow: 0 12px 25px rgba(7,24,73,.16), inset 0 0 0 1px rgba(255,255,255,.08);
  font-size: 17px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}

.services-cta-icon {
  width: 36px;
  height: 30px;
  color: var(--gold);
}

.services-cta-arrow {
  margin-left: auto;
  color: var(--gold);
  font-size: 35px;
  line-height: 1;
  font-weight: 300;
}

.services-phone-box {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 78px;
  padding: 0 25px;
  gap: 23px;
  border: 1.5px solid rgba(207,139,49,.47);
  border-radius: 10px;
  background: rgba(255,255,255,.83);
  color: var(--navy);
}

.services-phone-icon {
  width: 49px;
  height: 49px;
  color: var(--gold);
}

.services-phone-box > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
}

.services-phone-box strong {
  font-size: 15.5px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.services-phone-box small {
  font-size: 14.5px;
  line-height: 1;
  font-weight: 500;
}

@media (max-width: 1180px) {
  .services-overview-header p br { display: none; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-contact-bar { grid-template-columns: 1fr; max-width: 820px; margin-left: auto; margin-right: auto; padding: 28px; }
  .services-primary-cta, .services-phone-box { width: 100%; }
}

@media (max-width: 1024px) {
  .services-contact-bar { padding: 24px 22px; }
}

@media (max-width: 760px) {
  .services-overview { padding: 48px 18px 52px; }
  .services-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
  .service-card {
    height: 296px;
    grid-template-columns: 56% 44%;
    /* výraznější ohraničení – na béžovém pozadí karty jinak splývají */
    border: 1px solid rgba(7, 24, 73, 0.12);
    box-shadow: 0 10px 26px rgba(7, 24, 73, 0.09), 0 2px 6px rgba(7, 24, 73, 0.04);
  }
  .service-card-copy { padding-left: 16px; }
  .service-card h3 { font-size: 19px; }
  .service-card p { font-size: 12.5px; }
  .services-contact-bar { padding: 24px 18px; }
  .services-help-block { align-items: flex-start; flex-direction: column; }
  .services-help-block p br { display: none; }
  .services-primary-cta { font-size: 15px; gap: 13px; padding-left: 18px; padding-right: 17px; }
  .services-phone-box { padding-left: 18px; padding-right: 18px; gap: 15px; }
  .services-phone-box strong { white-space: normal; line-height: 1.25; }
}

@media (max-width: 480px) {
  .service-card { height: auto; min-height: 0; grid-template-columns: 1fr; }
  .service-card-copy { min-height: 0; padding: 18px 20px 16px; }
  .service-card-copy::after { display: none; }
  .service-card-media { height: 156px; }
  .service-photo-placeholder { inset: 10px; }
}

/* =========================================================
   PROČ ZDRAVOTNÍ AGENTURA
   ========================================================= */
.why-agency {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: clamp(46px, 5.5vw, 84px) clamp(20px, 3vw, 36px);
  color: var(--navy);
  background:
    radial-gradient(circle at 51% 12%, rgba(255,255,255,1) 0 31%, rgba(253,252,251,.97) 55%, rgba(249,248,247,.98) 100%),
    #fbfaf9;
}

.why-agency::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 3% 55%, rgba(230,236,241,.22), transparent 31%),
    radial-gradient(circle at 97% 44%, rgba(245,235,220,.20), transparent 29%);
}

.why-agency-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto;
  gap: var(--sp-md);
  width: min(var(--shell), 100%);
  margin: 0 auto;
}

.why-agency-main {
  display: grid;
  grid-template-columns: minmax(420px, 502px) minmax(0, 1fr);
  gap: 35px;
  min-height: 0;
}

.why-agency-photo {
  position: relative;
  min-width: 0;
  min-height: clamp(480px, 58vh, 680px);
  overflow: hidden;
  border-radius: 15px;
  background: linear-gradient(135deg, #edf2f4 0%, #f7f5f1 100%);
  box-shadow: inset 0 0 0 1px rgba(7,24,73,.035);
}

.why-agency-photo > img[data-photo] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  opacity: 0;
}

.why-agency-photo.photo-loaded > img[data-photo] { opacity: 1; }

.why-photo-placeholder {
  position: absolute;
  inset: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px;
  border: 1.5px dashed rgba(7,24,73,.20);
  border-radius: var(--r-md);
  background: rgba(255,255,255,.72);
  color: rgba(7,24,73,.58);
  text-align: center;
  backdrop-filter: blur(6px);
}

.why-photo-placeholder::before {
  content: "";
  width: 64px;
  height: 50px;
  border: 2px solid currentColor;
  border-radius: var(--r-sm);
  opacity: .56;
  background:
    radial-gradient(circle at 73% 27%, currentColor 0 5px, transparent 5.5px),
    linear-gradient(135deg, transparent 47%, currentColor 48% 52%, transparent 53%) 8px 14px / 46px 28px no-repeat;
}

.why-photo-placeholder strong { font-size: 16px; font-weight: 800; }
.why-photo-placeholder small { font-size: 13px; opacity: .76; }
.why-agency-photo.photo-loaded .why-photo-placeholder { display: none; }

.why-photo-stat {
  position: absolute;
  z-index: 3;
  left: 38px;
  bottom: 22px;
  width: 290px;
  padding: 24px 26px 20px;
  border-radius: 14px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 17%, rgba(15,48,104,.75), transparent 42%),
    linear-gradient(145deg, #061b4d 0%, #03133f 66%, #041b50 100%);
  box-shadow: 0 22px 46px rgba(3,17,61,.26), inset 0 0 0 1px rgba(255,255,255,.08);
}

.why-photo-stat-top {
  display: flex;
  align-items: center;
  gap: 22px;
}

.why-photo-stat-icon {
  width: var(--ic-xl);
  height: var(--ic-xl);
  color: #e39112;
}

.why-photo-stat-number strong {
  display: block;
  color: #e39112;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 46px;
  line-height: .88;
  font-weight: 700;
  letter-spacing: -.045em;
}

.why-photo-stat-number span {
  display: block;
  margin-top: 8px;
  color: #fff;
  font-size: 18px;
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: -.02em;
}

.why-photo-stat-line {
  display: block;
  width: 29px;
  height: 2px;
  margin: 21px 0 18px;
  background: #e39112;
}

.why-photo-stat p {
  margin: 0;
  color: rgba(255,255,255,.94);
  font-size: 15.6px;
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: -.012em;
}

.why-agency-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding-top: 1px;
}

.why-agency-eyebrow {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 10px;
  min-height: 36px;
  padding: 0 18px 0 14px;
  border-radius: 999px;
  background: rgba(248,239,227,.92);
  color: var(--navy);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
  font-size: var(--fs-eyebrow);
  line-height: 1;
  font-weight: 800;
  letter-spacing: .12em;
}

.why-agency-eyebrow-icon {
  width: var(--ic-sm);
  height: var(--ic-sm);
  color: #dc881e;
}

.why-agency-content h2 {
  margin: 8px 0 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--fs-h2);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -.042em;
}

.why-agency-content h2 span,
.why-agency-content h2 em {
  display: block;
  font-style: normal;
}

.why-agency-content h2 em {
  margin-top: 5px;
  color: #dc881e;
}

.why-agency-lead {
  margin: 11px 0 0;
  color: #35425f;
  font-size: var(--fs-lead);
  line-height: 1.52;
  font-weight: 450;
  letter-spacing: -.012em;
}

.why-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto;
  gap: 13px;
  margin-top: 16px;
}

.why-benefit-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  padding: 14px 20px 14px 12px;
  border: 1px solid rgba(7,24,73,.065);
  border-radius: var(--r-md);
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 27px rgba(31,39,61,.06), inset 0 1px 0 rgba(255,255,255,.94);
}

.why-benefit-medallion {
  display: grid;
  place-items: center;
  width: 67px;
  height: 67px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 24%, #fbf2e5 69%, #faf8f4 100%);
  box-shadow: inset 0 0 0 0.6px rgba(207,139,49,.035);
}

.why-benefit-icon {
  width: var(--ic-lg);
  height: var(--ic-lg);
  color: #dc881e;
}

.why-benefit-copy {
  min-width: 0;
  padding-left: 13px;
}

.why-benefit-copy h3 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--fs-h3);
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: -.028em;
}

.why-benefit-copy p {
  margin: 9px 0 0;
  color: #3d4963;
  font-size: 14px;
  line-height: 1.52;
  font-weight: 450;
  letter-spacing: -.008em;
}

.why-agency-proofbar {
  display: grid;
  grid-template-columns: minmax(280px, 1.15fr) 1px minmax(250px, 1fr) 1px minmax(255px, 1fr) minmax(310px, 1.13fr);
  align-items: center;
  gap: 22px;
  min-width: 0;
  padding: 22px 25px 22px 32px;
  border: 1px solid rgba(7,24,73,.055);
  border-radius: var(--r-md);
  background: rgba(255,255,255,.95);
  box-shadow: 0 14px 32px rgba(31,39,61,.065), inset 0 1px 0 rgba(255,255,255,.94);
}

.why-proof-item {
  display: grid;
  grid-template-columns: 91px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.why-proof-medallion {
  display: grid;
  place-items: center;
  width: 73px;
  height: 73px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 24%, #fbf2e5 70%, #faf8f4 100%);
  box-shadow: inset 0 0 0 0.6px rgba(207,139,49,.035);
}

.why-proof-icon {
  width: 58px;
  height: 58px;
  color: var(--navy);
}

.why-proof-item strong {
  display: block;
  color: var(--navy);
  font-size: 19px;
  line-height: 1.21;
  font-weight: 800;
  letter-spacing: -.026em;
}

.why-proof-item p {
  margin: 6px 0 0;
  color: #576177;
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 450;
  letter-spacing: -.008em;
}

.why-proof-divider {
  width: 1px;
  height: 85px;
  background: linear-gradient(180deg, rgba(207,139,49,0), rgba(207,139,49,.32), rgba(207,139,49,0));
}

.why-proof-cta-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  gap: 9px;
}

.why-proof-cta {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  height: 74px;
  padding: 0 20px 0 26px;
  gap: 18px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(180deg, #e69513 0%, #d98507 100%);
  box-shadow: 0 12px 25px rgba(209,127,4,.20), inset 0 0 0 1px rgba(255,255,255,.17);
  font-size: 17px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: -.013em;
  white-space: nowrap;
}

.why-proof-cta-icon {
  width: 38px;
  height: 32px;
  color: #fff;
}

.why-proof-cta-arrow {
  margin-left: auto;
  color: #fff;
  font-size: 34px;
  line-height: 1;
  font-weight: 300;
}

.why-proof-security {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #79808e;
  font-size: 12.5px;
  line-height: 1;
  font-weight: 500;
}

.why-proof-lock {
  width: 14px;
  height: 14px;
  color: #7e8490;
}

@media (max-width: 1180px) {
  .why-agency-main { grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr); }
  .why-agency-photo { min-height: 600px; }
  .why-agency-lead br { display: none; }
  .why-benefits { grid-template-columns: 1fr; grid-template-rows: auto; }
  .why-agency-proofbar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 24px; }
  .why-proof-divider { display: none; }
  .why-proof-cta-wrap { grid-column: 1 / -1; }
  .why-proof-cta { max-width: 520px; }
}

@media (max-width: 760px) {
  .why-agency { padding: 48px 18px 54px; }
  .why-agency-main { grid-template-columns: 1fr; }
  .why-agency-photo { min-height: 500px; order: 2; }
  .why-agency-content { order: 1; }
  .why-agency-content h2 em br { display: none; }
  .why-benefits { margin-top: 24px; }
  .why-benefit-card { grid-template-columns: 84px minmax(0, 1fr); }
  .why-photo-stat { left: 20px; right: 20px; width: auto; }
  .why-agency-proofbar { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .why-agency-content h2 em br { display: none; }
  .why-benefit-card { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
  .why-benefit-copy { padding-left: 0; }
  .why-photo-stat { padding: 20px; }
  .why-photo-stat-icon { width: 58px; height: 58px; }
  .why-photo-stat-number strong { font-size: 49px; }
  .why-photo-stat-number span { font-size: 18px; }
  .why-agency-proofbar { padding: 22px 18px; }
  .why-proof-item { grid-template-columns: 75px minmax(0,1fr); }
  .why-proof-medallion { width: 60px; height: 60px; }
  .why-proof-cta { height: 68px; padding-left: 17px; padding-right: 15px; gap: 12px; font-size: 14px; }
  .why-proof-security { font-size: 11.5px; }
}

/* =========================================================
   ===== UPGRADE DESIGN SYSTÉMU =============================
   Jednotné ikony · mikrointerakce · animace · reference · patička
   ========================================================= */

/* ---- Jednotný ikonový systém (.ico z /ikony) ----------- */
/* Ikony jsou rastrové .ico (navy + zlatá linková sada), načítané jako <img class="ic">.
   Konzistentní velikost dává vždy rodičovský prvek (icon-slot / kontextová třída). */
img.ic {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ---- Globální plynulost & přístupnost ------------------ */
:where(a, button, [tabindex], input, summary):focus-visible {
  outline: 2.5px solid var(--gold);
  outline-offset: 3px;
  border-radius: 7px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---- Navigace: podtržení při hoveru -------------------- */
.main-nav a {
  position: relative;
  padding: 6px 1px;
  transition: color var(--dur) var(--ease);
}
.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: var(--gold);
  transition: right var(--dur) var(--ease);
}
.main-nav a:hover,
.main-nav a:focus-visible { color: var(--gold-deep); }
.main-nav a:hover::after,
.main-nav a:focus-visible::after { right: 0; }

/* ---- CTA tlačítka: hover lift + nudge ------------------ */
.header-cta,
.hero-button,
.services-primary-cta,
.why-proof-cta,
.reviews-primary-cta,
.pricing-cta {
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
    border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
  will-change: transform;
}
.cta-arrow,
.button-arrow,
.services-cta-arrow,
.why-proof-cta-arrow,
.reviews-cta-arrow,
.pricing-cta-arrow { transition: transform var(--dur) var(--ease); }

.header-cta:hover,
.hero-button-primary:hover,
.services-primary-cta:hover,
.reviews-primary-cta:hover,
.pricing-cta:hover { transform: translateY(-2px) scale(1.012); box-shadow: var(--shadow-cta-hover); }
.header-cta:active,
.hero-button:active,
.services-primary-cta:active,
.why-proof-cta:active,
.reviews-primary-cta:active,
.pricing-cta:active { transform: translateY(0); }

.hero-button-secondary:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
  box-shadow: 0 16px 30px rgba(7, 24, 73, 0.10);
  background: #fff;
}
.why-proof-cta:hover { transform: translateY(-2px); box-shadow: 0 20px 38px rgba(209, 127, 4, 0.30); }

.header-cta:hover .cta-arrow,
.hero-button:hover .button-arrow,
.services-primary-cta:hover .services-cta-arrow,
.why-proof-cta:hover .why-proof-cta-arrow,
.reviews-primary-cta:hover .reviews-cta-arrow,
.pricing-cta:hover .pricing-cta-arrow { transform: translateX(4px); }

/* jemný lesk přejíždějící primárním CTA */
.header-cta::before,
.hero-button-primary::before,
.services-primary-cta::before,
.why-proof-cta::before,
.reviews-primary-cta::before,
.pricing-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.16), transparent);
  transform: skewX(-18deg);
  transition: left var(--dur-slow) var(--ease);
}
.header-cta:hover::before,
.hero-button-primary:hover::before,
.services-primary-cta:hover::before,
.why-proof-cta:hover::before,
.reviews-primary-cta:hover::before,
.pricing-cta:hover::before { left: 130%; }

/* ---- Karty: hover lift --------------------------------- */
.specialty-card,
.direction-card,
.service-card,
.why-benefit-card,
.services-phone-box {
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
    border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}

.specialty-card:hover {
  transform: translateY(-4px);
  border-color: rgba(207, 139, 49, 0.40);
  box-shadow: 0 18px 34px rgba(7, 24, 73, 0.13);
  background: #fff;
}
.specialty-icon { transition: transform var(--dur) var(--ease); }
.specialty-card:hover .specialty-icon { transform: scale(1.08) translateY(-1px); }

.direction-card:hover {
  transform: translateY(-5px);
  border-color: rgba(207, 139, 49, 0.36);
  box-shadow: var(--shadow-card-hover);
}
.service-card:hover {
  transform: translateY(-5px);
  border-color: rgba(207, 139, 49, 0.36);
  box-shadow: var(--shadow-card-hover);
}
.why-benefit-card:hover {
  transform: translateY(-4px);
  border-color: rgba(207, 139, 49, 0.36);
  box-shadow: var(--shadow-card-hover);
}
.services-phone-box:hover { border-color: var(--gold); background: #fff; transform: translateY(-2px); }

/* medailonky a fotky reagují na hover karty */
.direction-icon-medallion,
.service-icon-medallion,
.why-benefit-medallion { transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.direction-card:hover .direction-icon-medallion,
.service-card:hover .service-icon-medallion,
.why-benefit-card:hover .why-benefit-medallion { transform: scale(1.05); }

.service-card-media img[data-photo] { transition: transform 0.6s var(--ease-out); }
.service-card:hover .service-card-media img[data-photo] { transform: scale(1.05); }

/* odkazy se šipkou: nudge */
.service-link span:last-child,
.direction-card-link span:last-child,
.all-link span { transition: transform var(--dur) var(--ease); }
.service-link:hover span:last-child,
.direction-card-link:hover span:last-child,
.all-link:hover span { transform: translateX(4px); }
.all-link:hover { color: var(--gold-deep); }

/* ---- Scroll-reveal animace ----------------------------- */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
  will-change: opacity, transform;
}
.reveal.is-visible { opacity: 1; transform: none; }

.reveal-stagger > * {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}
.reveal-stagger.is-visible > * { opacity: 1; transform: none; }
.reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0.04s; }
.reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 0.12s; }
.reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 0.20s; }
.reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 0.28s; }
.reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 0.36s; }
.reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 0.44s; }

/* ---- Jemné entrance v hero ----------------------------- */
@keyframes heroRise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}
.hero-copy > .eyebrow { animation: heroRise 0.7s var(--ease-out) both; }
.hero-copy > h1 { animation: heroRise 0.7s var(--ease-out) 0.08s both; }
.hero-copy > .hero-lead { animation: heroRise 0.7s var(--ease-out) 0.16s both; }
.hero-copy > .hero-actions { animation: heroRise 0.7s var(--ease-out) 0.24s both; }
.trust-row { animation: heroRise 0.7s var(--ease-out) 0.32s both; }
.bottom-panels { animation: heroRise 0.7s var(--ease-out) 0.40s both; }

/* =========================================================
   REFERENCE / RECENZE
   ========================================================= */
.reviews {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: var(--section-pad) clamp(20px, 4vw, 60px);
  color: var(--navy);
  background:
    radial-gradient(circle at 50% -8%, #ffffff 0%, rgba(255,255,255,0.6) 40%, rgba(250,247,242,0.9) 75%, #faf7f2 100%),
    #faf7f2;
}
.reviews::before,
.reviews::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(40px);
  opacity: 0.5;
}
.reviews::before { width: 460px; height: 460px; left: -200px; top: 60px; background: rgba(245, 232, 211, 0.45); }
.reviews::after { width: 420px; height: 420px; right: -190px; bottom: 20px; background: rgba(230, 236, 241, 0.40); }

.reviews-inner {
  position: relative;
  z-index: 1;
  width: min(var(--shell), 100%);
  margin: 0 auto;
}

.reviews-head {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 1140px;
  margin: 0 auto;
}
/* levý spacer = šířka ovládacích šipek → nadpis zůstává opticky na středu */
.reviews-head::before {
  content: "";
  flex: 0 0 120px;
}
.reviews-head-text {
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}

.reviews-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 34px;
  padding: 0 18px 0 14px;
  border-radius: var(--r-pill);
  background: rgba(248, 239, 227, 0.9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
}
.reviews-eyebrow-icon { width: var(--ic-sm); height: var(--ic-sm); color: var(--gold); }

.reviews-head-text h2 {
  margin: 12px 0 0;
  color: var(--navy);
  font-family: var(--font-serif);
  font-size: var(--fs-h2);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.038em;
}
.reviews-head-text > p {
  margin: 15px auto 0;
  max-width: 760px;
  color: #33415f;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.6;
  font-weight: 450;
  letter-spacing: -0.012em;
}

.reviews-controls {
  flex: 0 0 120px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.rev-arrow {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 1.5px solid rgba(7, 24, 73, 0.14);
  border-radius: 50%;
  background: #fff;
  color: var(--navy);
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
    background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.rev-arrow .ic { width: 22px; height: 22px; stroke-width: 1.7; }
.rev-arrow:hover {
  transform: translateY(-2px);
  border-color: transparent;
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: #fff;
  box-shadow: 0 14px 26px rgba(207, 139, 49, 0.32);
}
.rev-arrow:disabled { opacity: 0.4; cursor: default; transform: none; box-shadow: none; }
.rev-arrow:disabled:hover { background: #fff; color: var(--navy); border-color: rgba(7, 24, 73, 0.14); }

.reviews-viewport {
  position: relative;
  margin-top: 42px;
  /* nepatrné odsazení, aby stíny karet nebyly oříznuté */
  margin-inline: -10px;
  padding-inline: 10px;
}

.reviews-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 2 * 26px) / 3);
  gap: 26px;
  margin: 0;
  padding: 12px 0;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
}
.reviews-track::-webkit-scrollbar { display: none; }
.reviews-track:focus-visible { outline: none; }

.review-card {
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  min-height: 340px;
  padding: 30px 30px 26px;
  border: 1px solid rgba(7, 24, 73, 0.07);
  border-radius: var(--r-xl);
  background: #fff;
  box-shadow: var(--shadow-card);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.review-card:hover {
  transform: translateY(-4px);
  border-color: rgba(207, 139, 49, 0.36);
  box-shadow: var(--shadow-card-hover);
}

.review-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.review-quote { width: 40px; height: 40px; color: var(--gold); }
.review-source { width: 28px; height: 28px; flex: 0 0 28px; }
.review-source .ic { width: 100%; height: 100%; }

.review-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
.review-stars { display: inline-flex; gap: 2px; color: var(--gold); }
.review-stars .ic { width: 18px; height: 18px; }

.review-text {
  margin: 16px 0 22px;
  color: #1d2c4f;
  font-size: 15.5px;
  line-height: 1.62;
  font-weight: 450;
  letter-spacing: -0.008em;
}

.review-author {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(7, 24, 73, 0.07);
}
.review-avatar {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--a1, #0a2a72), var(--a2, #19499c));
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.18);
}
.review-author-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.review-author-info strong { color: var(--navy); font-size: 16px; font-weight: 750; letter-spacing: -0.01em; }
.review-author-info small { color: #8a93a6; font-size: 13px; font-weight: 500; }

/* tečky / stránkování */
.reviews-dots {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 26px;
}
.reviews-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: none;
  border-radius: var(--r-pill);
  background: rgba(7, 24, 73, 0.16);
  cursor: pointer;
  transition: width var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.reviews-dot.is-active { width: 30px; background: var(--gold); }

/* souhrnná lišta hodnocení */
.reviews-summary {
  display: grid;
  grid-template-columns: auto 1px minmax(0, 1fr) 1px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-top: 40px;
  padding: 22px 30px;
  border: 1px solid rgba(7, 24, 73, 0.06);
  border-radius: var(--r-xl);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-md);
}
.rev-sum-item { display: flex; align-items: center; gap: 16px; min-width: 0; }
.rev-sum-glogo { width: 40px; height: 40px; flex: 0 0 40px; }
.rev-sum-glogo .ic { width: 100%; height: 100%; }
.rev-sum-rating-copy { display: flex; flex-direction: column; gap: 3px; }
.rev-sum-label { color: #6b7488; font-size: 13px; font-weight: 600; }
.rev-sum-score { display: flex; align-items: center; gap: 10px; }
.rev-sum-score strong { color: var(--navy); font-size: 22px; font-weight: 800; letter-spacing: -0.02em; }
.rev-sum-stars { display: inline-flex; gap: 2px; color: var(--gold); }
.rev-sum-stars .ic { width: 16px; height: 16px; }
.rev-sum-sub { color: #8a93a6; font-size: 12.5px; font-weight: 500; }

.rev-sum-ic {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 50%;
  background: var(--gold-tint);
  color: var(--gold-deep);
}
.rev-sum-ic .ic { width: 24px; height: 24px; }
.rev-sum-item div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rev-sum-item strong { color: var(--navy); font-size: 15px; font-weight: 750; letter-spacing: -0.01em; }
.rev-sum-item small { color: #6b7488; font-size: 13px; line-height: 1.4; font-weight: 450; }
.rev-sum-div { width: 1px; height: 52px; background: linear-gradient(180deg, transparent, rgba(7, 24, 73, 0.14), transparent); }

.rev-sum-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 24px;
  border: 1.5px solid rgba(207, 139, 49, 0.55);
  border-radius: var(--r-sm);
  color: var(--navy);
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition: transform var(--dur) var(--ease), background-color var(--dur) var(--ease),
    border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.rev-sum-cta .ic { width: 18px; height: 18px; color: var(--gold); transition: transform var(--dur) var(--ease); }
.rev-sum-cta:hover { transform: translateY(-2px); background: #fff; border-color: var(--gold); box-shadow: 0 14px 26px rgba(7, 24, 73, 0.10); }
.rev-sum-cta:hover .ic { transform: translateX(4px); }

.reviews-cta { display: flex; justify-content: center; margin-top: 34px; }
.reviews-primary-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  overflow: hidden;
  isolation: isolate;
  height: 70px;
  padding: 0 30px;
  border-radius: var(--r-sm);
  color: #fff;
  background: linear-gradient(180deg, #071c55 0%, #04113d 100%);
  box-shadow: var(--shadow-cta);
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -0.015em;
}
.reviews-cta-icon { width: 32px; height: 26px; color: var(--gold); }
.reviews-cta-arrow { color: var(--gold); font-size: 30px; line-height: 1; font-weight: 300; }

@media (max-width: 1180px) {
  .reviews-head { flex-direction: column; gap: 0; max-width: 880px; }
  .reviews-head::before { display: none; }
  .reviews-controls { flex: 0 0 auto; justify-content: center; margin-top: 24px; }
  .reviews-track { grid-auto-columns: calc((100% - 22px) / 2); }
  .reviews-summary {
    grid-template-columns: 1fr 1fr;
    gap: 22px 26px;
    justify-items: start;
  }
  .rev-sum-div { display: none; }
  .rev-sum-cta { grid-column: 1 / -1; justify-self: stretch; justify-content: center; }
}

@media (max-width: 720px) {
  .reviews-head-text { text-align: left; }
  .reviews-controls { justify-content: flex-start; }
  .reviews-track { grid-auto-columns: 85%; gap: 16px; }
  .review-card { min-height: 0; padding: 26px 24px 24px; }
  .reviews-summary { grid-template-columns: 1fr; justify-items: stretch; padding: 24px 22px; }
  .reviews-primary-cta { width: 100%; justify-content: center; padding: 0 18px; }
}

/* =========================================================
   PATIČKA
   ========================================================= */
.site-footer {
  position: relative;
  color: rgba(255, 255, 255, 0.82);
  background:
    radial-gradient(circle at 85% 0%, rgba(15, 48, 104, 0.65), transparent 46%),
    linear-gradient(180deg, #061a4d 0%, #03113d 100%);
}
.footer-inner {
  width: min(var(--shell), 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 0.9fr)) minmax(0, 1.2fr);
  gap: 40px;
  padding: clamp(48px, 5vw, 72px) clamp(20px, 4vw, 60px) 40px;
}

.brand-footer .brand-title { color: #fff; }
.brand-footer .brand-subtitle { color: var(--gold); }
.brand-footer .brand-mark { color: var(--gold); }

.footer-about {
  margin: 22px 0 0;
  max-width: 380px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 14.5px;
  line-height: 1.62;
  font-weight: 400;
}
.footer-social { display: flex; gap: 12px; margin-top: 22px; }
.footer-social-link {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.04);
  transition: transform var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.footer-social-link .ic { width: 20px; height: 20px; stroke: none; fill: currentColor; }
.footer-social-link:hover { transform: translateY(-2px); background: var(--gold); border-color: var(--gold); color: #fff; }

.footer-col h3 {
  margin: 4px 0 18px;
  color: #fff;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: 0.01em;
}
.footer-col a {
  display: block;
  margin-bottom: 12px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 14.5px;
  font-weight: 450;
  width: fit-content;
  transition: color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.footer-col a:hover { color: #fff; transform: translateX(3px); }

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 14.5px;
  line-height: 1.45;
  font-weight: 450;
}
.footer-contact-item .ic { width: 19px; height: 19px; flex: 0 0 19px; margin-top: 1px; color: var(--gold); }
a.footer-contact-item:hover { color: #fff; }
a.footer-contact-item:hover .ic { color: var(--gold); }

.footer-bottom {
  width: min(var(--shell), 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 22px clamp(20px, 4vw, 60px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
}
.footer-bottom-links { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 12px; row-gap: 8px; }
.footer-bottom-links a { color: rgba(255, 255, 255, 0.62); transition: color var(--dur) var(--ease); }
.footer-bottom-links a:hover { color: #fff; }

/* Nenápadný autorský podpis */
.footer-credit {
  width: min(var(--shell), 100%);
  margin: 0 auto;
  padding: 2px clamp(20px, 4vw, 60px) 20px;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.34);
  letter-spacing: 0.01em;
}
.footer-credit a {
  color: rgba(255, 255, 255, 0.58);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.20);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.footer-credit a:hover { color: var(--gold); border-color: var(--gold); }

@media (max-width: 1040px) {
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-about { max-width: none; }
}
@media (max-width: 560px) {
  .footer-inner { grid-template-columns: 1fr; gap: 30px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* =========================================================
   CENÍK
   ========================================================= */
.pricing {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: var(--section-pad) clamp(20px, 4vw, 60px);
  color: var(--navy);
  background:
    radial-gradient(circle at 50% 0%, #ffffff 0%, rgba(255,255,255,0.82) 36%, rgba(250,248,244,0.9) 70%, #faf8f4 100%),
    #faf8f4;
}

.pricing::before,
.pricing::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(48px);
  opacity: 0.45;
}
.pricing::before { width: 500px; height: 500px; right: -180px; top: 30px; background: rgba(245, 232, 211, 0.52); }
.pricing::after  { width: 360px; height: 360px; left: -130px; bottom: 0;  background: rgba(207, 139, 49, 0.07); }

.pricing-inner {
  position: relative;
  z-index: 1;
  width: min(var(--shell), 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.12fr);
  align-items: start;
  gap: clamp(40px, 4.5vw, 64px);
}

/* ---- Levý sloupec: intro -------------------------------- */
.pricing-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.pricing-intro .services-eyebrow { margin-bottom: 18px; }

.pricing-intro h2 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: var(--fs-h2);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -.042em;
}

.pricing-rule {
  display: block;
  width: 46px;
  height: 3px;
  margin: 18px 0 20px;
  border-radius: 2px;
  background: var(--gold);
  flex-shrink: 0;
}

.pricing-intro > p {
  margin: 0 0 28px;
  color: #102452;
  font-size: 17px;
  line-height: 1.58;
  font-weight: 450;
  letter-spacing: -.012em;
  max-width: 400px;
}

/* navy CTA tlačítko */
.pricing-cta {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  height: 68px;
  padding: 0 22px 0 24px;
  gap: 16px;
  border-radius: var(--r-md);
  color: #fff;
  background: linear-gradient(180deg, #071c55 0%, #04113d 100%);
  box-shadow: var(--shadow-cta);
  font-size: 16.5px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.012em;
  white-space: nowrap;
}

.pricing-cta:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
  border-radius: var(--r-md);
}

/* Zlatá varianta – panel vpravo v ceníku */
.cenik-panel-cta {
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
}
.cenik-panel-cta:focus-visible { outline-color: var(--navy); }

.pricing-cta-icon {
  width: 32px;
  height: 26px;
  flex-shrink: 0;
}

.pricing-cta-arrow {
  margin-left: auto;
  flex-shrink: 0;
  color: var(--gold);
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
}

/* ---- Help blok ----------------------------------------- */
.pricing-help {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-top: 26px;
  padding: 20px 22px;
  border: 1px solid rgba(207, 139, 49, 0.22);
  border-radius: var(--r-lg);
  background: rgba(250, 243, 232, 0.72);
}

.pricing-help-medallion {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 22%, #fbf2e5 68%, #faf8f4 100%);
  box-shadow: inset 0 0 0 0.6px rgba(207, 139, 49, .06);
}

.pricing-help-icon { width: 34px; height: 34px; }

.pricing-help-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.pricing-help-copy strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.3;
  font-weight: 750;
  letter-spacing: -.014em;
}

.pricing-help-copy p {
  margin: 0;
  color: #3d4f71;
  font-size: 13.5px;
  line-height: 1.5;
  font-weight: 450;
}

.pricing-help-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  color: var(--gold-deep);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: color var(--dur) var(--ease), gap var(--dur) var(--ease);
}

.pricing-help-link span {
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
  transition: transform var(--dur) var(--ease);
}

.pricing-help-link:hover { color: var(--gold); }
.pricing-help-link:hover span { transform: translateX(4px); }

.pricing-help-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---- Pravý sloupec: cenový panel ----------------------- */
.pricing-panel {
  position: relative;
  border: 1px solid rgba(7, 24, 73, 0.07);
  border-radius: var(--r-xl);
  background: rgba(255, 255, 255, 0.96);
  box-shadow:
    0 20px 52px rgba(34, 42, 66, 0.08),
    0 4px 12px rgba(34, 42, 66, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.97);
  overflow: hidden;
}

.pricing-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pricing-row { border-bottom: 1px solid rgba(7, 24, 73, 0.055); }
.pricing-row:last-child { border-bottom: none; }

/* Statické cenové řádky na detailu služby (text + cena, bez .pricing-row-link).
   Bez vlastního odsazení text začínal na x=0 a zaoblený roh panelu s overflow:hidden
   ořezával první znak. Doplníme padding a vodorovné rozložení text | cena. */
.pricing-row:has(> .pricing-amount) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 24px;
}

.pricing-row-link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px 18px 20px;
  color: var(--navy);
  transition: background-color var(--dur) var(--ease);
}

.pricing-row-link:hover,
.pricing-row-link:focus-visible { background-color: var(--gold-tint); }

.pricing-row-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -2px;
  border-radius: 4px;
}

/* Medailon s ikonou */
.pricing-row-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 22%, #fbf2e5 68%, #faf8f4 100%);
  box-shadow: inset 0 0 0 0.6px rgba(207, 139, 49, .075);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.pricing-row-link:hover .pricing-row-icon,
.pricing-row-link:focus-visible .pricing-row-icon {
  transform: scale(1.06);
  box-shadow: inset 0 0 0 1px rgba(207, 139, 49, .28), 0 4px 10px rgba(207, 139, 49, .13);
}

.pricing-item-icon { width: 30px; height: 30px; }

/* Textová část */
.pricing-row-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.pricing-row-text strong {
  color: var(--navy);
  font-size: 15.5px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -.018em;
  transition: transform var(--dur) var(--ease);
}

.pricing-row-link:hover .pricing-row-text strong,
.pricing-row-link:focus-visible .pricing-row-text strong { transform: translateX(3px); }

.pricing-row-text small {
  color: #6b7488;
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 450;
  letter-spacing: -.005em;
}

/* Cena */
.pricing-amount {
  flex-shrink: 0;
  color: var(--navy);
  font-size: 17px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.022em;
  white-space: nowrap;
}

/* Šipka vpravo */
.pricing-row-arrow {
  flex-shrink: 0;
  color: var(--gold);
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  transition: transform var(--dur) var(--ease);
}

.pricing-row-link:hover .pricing-row-arrow,
.pricing-row-link:focus-visible .pricing-row-arrow { transform: translateX(4px); }

/* ---- Spodní pruh záruk --------------------------------- */
.pricing-assurance {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr) 1px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  width: min(var(--shell), 100%);
  margin: clamp(28px, 3.5vw, 48px) auto 0;
  padding: 26px 36px;
  border: 1px solid rgba(207, 139, 49, 0.14);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(31, 39, 61, 0.055), inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 0 0 1px rgba(207, 139, 49, 0.04);
}

.pricing-assurance-item {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.pricing-assurance-medallion {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 38%, #fff 0 18%, #fdf4e8 60%, #f9f1e2 100%);
  box-shadow: inset 0 0 0 0.9px rgba(207, 139, 49, 0.10);
}

.pricing-assurance-icon { width: 34px; height: 34px; }

.pricing-assurance-item > div:not(.pricing-assurance-medallion) {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.pricing-assurance-item strong {
  display: block;
  color: var(--navy);
  font-size: 13.5px;
  line-height: 1.28;
  font-weight: 750;
  letter-spacing: -.012em;
}

.pricing-assurance-item p {
  margin: 0;
  color: #576177;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 450;
  letter-spacing: -.005em;
}

.pricing-assurance-div {
  width: 1px;
  height: 58px;
  background: linear-gradient(180deg, rgba(207,139,49,0), rgba(207,139,49,.28), rgba(207,139,49,0));
  flex-shrink: 0;
  align-self: center;
}

/* ---- Responzivita -------------------------------------- */
@media (max-width: 1440px) {
  .pricing-inner { gap: 44px; }
  .pricing-assurance { padding: 20px 24px; gap: 14px; }
}

@media (max-width: 1024px) {
  .pricing-inner {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
  .pricing-intro > p { max-width: none; }
  .pricing-assurance {
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
    grid-template-rows: auto auto;
    max-width: 720px;
  }
  /* Skryjeme 3. a 4. dělítko v tablet layoutu (2×2) */
  .pricing-assurance-div:nth-child(6),
  .pricing-assurance-div:nth-child(8) { display: none; }
  /* 3. a 4. záruky se přesunou do 2. řady – grid to zvládne automaticky */
}

@media (max-width: 760px) {
  .pricing-intro > p { font-size: 16px; }
  .pricing-cta { font-size: 15px; height: 62px; padding: 0 18px 0 20px; gap: 13px; }
  .pricing-row-link { padding: 15px 16px 15px 14px; gap: 12px; }
  .pricing-row-icon { width: 44px; height: 44px; flex-basis: 44px; }
  .pricing-item-icon { width: 26px; height: 26px; }
  .pricing-row-text strong { font-size: 14.5px; }
  .pricing-amount { font-size: 15.5px; }
  .pricing-assurance { grid-template-columns: 1fr; padding: 20px; gap: 18px; max-width: none; }
  .pricing-assurance-div { display: none; }
}

@media (max-width: 480px) {
  .pricing-inner { gap: 26px; }
  .pricing-help { flex-direction: column; }
  .pricing-row-arrow { display: none; }
}

/* =========================================================
   KONTAKTNÍ / KONZULTAČNÍ SEKCE
   ========================================================= */
.contact-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: var(--section-pad) clamp(20px, 4vw, 60px);
  background:
    radial-gradient(circle at 18% 50%, rgba(230, 236, 248, 0.55) 0%, transparent 55%),
    radial-gradient(circle at 82% 20%, rgba(245, 234, 215, 0.45) 0%, transparent 50%),
    #f8f6f2;
}

.contact-section::before,
.contact-section::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.4;
}
.contact-section::before {
  width: 500px; height: 500px;
  left: -200px; top: -80px;
  background: rgba(207, 139, 49, 0.15);
}
.contact-section::after {
  width: 460px; height: 460px;
  right: -180px; bottom: -60px;
  background: rgba(7, 24, 73, 0.07);
}

.contact-inner {
  position: relative;
  z-index: 1;
  width: min(var(--shell), 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.15fr);
  gap: clamp(32px, 4.5vw, 64px);
  align-items: start;
}

/* ---- Levá info část (tmavá navy) ---------------------- */
.contact-info {
  background: linear-gradient(145deg, #061b4d 0%, #03133f 66%, #041b50 100%);
  border-radius: var(--r-xl);
  padding: clamp(32px, 3.5vw, 52px) clamp(28px, 3vw, 44px);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.contact-info::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(207, 139, 49, 0.12) 0%, transparent 50%);
  pointer-events: none;
}

.contact-eyebrow {
  margin-bottom: var(--sp-md);
  position: relative;
}
.contact-eyebrow-icon { width: var(--ic-sm); height: var(--ic-sm); }

.contact-info h2 {
  font-family: var(--font-serif);
  font-size: var(--fs-h2);
  font-weight: 400;
  color: #fff;
  line-height: 1.18;
  letter-spacing: -.025em;
  margin: 0 0 var(--sp-md);
  position: relative;
}
.contact-info h2 em { color: var(--gold); font-style: italic; }

.contact-lead {
  font-size: var(--fs-lead);
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.75);
  margin: 0 0 var(--sp-lg);
  max-width: 420px;
  position: relative;
}

/* Kontaktní kanály */
.contact-channels {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: var(--sp-lg);
  position: relative;
}

.contact-channel {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: var(--r-lg);
  padding: 14px 16px;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.contact-channel:hover {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(207, 139, 49, 0.4);
}

.contact-channel-icon img { width: var(--ic-md); height: var(--ic-md); }

.contact-channel-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.contact-channel-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.50);
}
.contact-channel-value {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.018em;
  transition: color var(--dur) var(--ease);
  word-break: break-word;
  overflow-wrap: anywhere;
}
.contact-channel-value:hover { color: var(--gold); }
.contact-channel-sub {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.50);
  letter-spacing: -.005em;
}

.contact-channel-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.contact-action-direct {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 12px;
  border-radius: var(--r-pill);
  background: var(--gold);
  color: #fff;
  font-size: 12.5px;
  font-weight: 650;
  letter-spacing: -.01em;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
  white-space: nowrap;
}
.contact-action-direct:hover { background: var(--gold-deep); transform: translateY(-1px); }

.contact-action-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border: none;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.12);
  cursor: pointer;
  transition: background var(--dur) var(--ease);
  padding: 0;
}
.contact-action-copy:hover { background: rgba(255, 255, 255, 0.22); }
.contact-action-copy:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.contact-action-copy img { width: 18px; height: 18px; filter: brightness(0) invert(1); }

.contact-copy-feedback {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

/* Trust list */
.contact-trust {
  list-style: none;
  margin: 0;
  padding: var(--sp-md) 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  position: relative;
}
.contact-trust li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.4;
}
.contact-trust img { width: var(--ic-sm); height: var(--ic-sm); flex-shrink: 0; }

/* ---- Pravá karta s formulářem ------------------------ */
.contact-form-card {
  background: #fff;
  border-radius: var(--r-xl);
  padding: clamp(28px, 3vw, 44px) clamp(24px, 2.8vw, 40px);
  box-shadow: var(--shadow-card);
  border: 1px solid rgba(7, 24, 73, 0.065);
}

.contact-fieldset {
  border: none;
  padding: 0;
  margin: 0 0 var(--sp-md);
}

.contact-legend {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -.015em;
  color: var(--navy);
  margin-bottom: 12px;
  padding: 0;
  width: 100%;
}
.contact-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  font-size: 11.5px;
  font-weight: 750;
  flex-shrink: 0;
}

/* Radio karty 2×2 */
.contact-radio-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.contact-radio-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 10px 12px;
  border: 1.5px solid rgba(7, 24, 73, 0.10);
  border-radius: var(--r-lg);
  background: #fff;
  cursor: pointer;
  text-align: center;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease);
}
.contact-radio-card:hover {
  border-color: rgba(207, 139, 49, 0.40);
  background: var(--gold-tint);
}
.contact-radio-card input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.contact-radio-card:has(input:checked) {
  border-color: var(--gold);
  background: var(--gold-tint);
  box-shadow: 0 0 0 1px var(--gold);
}
.contact-radio-card:has(input:checked)::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
}
.contact-radio-card:focus-within {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.contact-radio-icon img { width: 28px; height: 28px; }
.contact-radio-label {
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--navy);
  letter-spacing: -.01em;
}

/* Conditional select */
.contact-service-wrap {
  margin-top: 4px;
  margin-bottom: var(--sp-md);
}
.contact-service-wrap[hidden] { display: none; }

/* ── Hlavní výběr: 2 karty „Co právě hledáte?" ────────────────────── */
.contact-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
.contact-choice-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 16px 16px 15px;
  border: 1.5px solid rgba(7, 24, 73, 0.10);
  border-radius: var(--r-lg);
  background: #fff;
  cursor: pointer;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease);
}
.contact-choice-card:hover {
  border-color: rgba(207, 139, 49, 0.42);
  background: var(--gold-tint);
}
.contact-choice-card input[type="radio"] {
  position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;
}
.contact-choice-card:has(input:checked) {
  border-color: var(--gold);
  background: var(--gold-tint);
  box-shadow: 0 0 0 1px var(--gold);
}
/* Vybraný stav = viditelný check (nejen barva) */
.contact-choice-card:has(input:checked)::after {
  content: "";
  position: absolute;
  top: 13px; right: 13px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--gold);
}
.contact-choice-card:has(input:checked)::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 19px; right: 19px;
  width: 8px; height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
.contact-choice-card:focus-within {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.contact-choice-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(207, 139, 49, 0.10);
}
.contact-choice-icon img { width: 24px; height: 24px; }
.contact-choice-title {
  font-size: 15px;
  font-weight: 750;
  color: var(--navy);
  line-height: 1.25;
  letter-spacing: -.015em;
}
.contact-choice-desc {
  font-size: 12.5px;
  font-weight: 450;
  color: #5a6478;
  line-height: 1.45;
}

/* ── Upřesnění: nezávislé volby (checkbox chipy) ──────────────────── */
.contact-refine {
  margin: 0 0 var(--sp-md);
  padding-top: 14px;
  border-top: 1px solid rgba(7, 24, 73, 0.08);
}
/* poslední blok uvnitř fieldsetu nesmí sčítat svou spodní mezeru s mezerou fieldsetu */
.contact-refine:last-child { margin-bottom: 0; }
.contact-refine-title {
  font-size: 13px;
  font-weight: 650;
  color: var(--navy);
  letter-spacing: -.01em;
  margin: 0 0 10px;
}
.contact-toggle-group { display: flex; flex-wrap: wrap; gap: 8px; }
.contact-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 15px 9px 12px;
  border: 1.5px solid rgba(7, 24, 73, 0.12);
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-size: 12.8px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.contact-toggle:hover { border-color: rgba(207, 139, 49, 0.42); }
.contact-toggle-input { position: absolute; opacity: 0; width: 0; height: 0; }
.contact-toggle-box {
  width: 18px; height: 18px;
  flex-shrink: 0;
  border: 2px solid rgba(7, 24, 73, 0.25);
  border-radius: 5px;            /* čtverec = checkbox, ne radio */
  background: #fff;
  position: relative;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.contact-toggle-input:checked + .contact-toggle-box {
  background: var(--gold);
  border-color: var(--gold);
}
.contact-toggle-input:checked + .contact-toggle-box::after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 5.5px; height: 8.5px;
  box-sizing: border-box;   /* globální * pravidlo se na pseudoprvky nevztahuje */
  margin-top: -1.25px;      /* srovnává střed fajfky, ne střed jejího boxu */
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}
.contact-toggle:has(input:checked) {
  border-color: var(--gold);
  background: var(--gold-tint);
}
.contact-toggle:focus-within { outline: 2px solid var(--gold); outline-offset: 2px; }
/* Varianta členství je volba jedné z možností (radio) — kolečko s tečkou, ne čtverec s fajfkou */
.contact-clenstvi-variant .contact-toggle-box { border-radius: 50%; }
.contact-clenstvi-variant .contact-toggle-input:checked + .contact-toggle-box::after {
  width: 6px; height: 6px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
}
.contact-refine-note {
  margin: 11px 0 0;
  padding-left: 2px;
  font-size: 12px;
  color: #5a6478;
  line-height: 1.45;
}
.contact-refine-note[hidden] { display: none; }

/* Podmíněné pole specialisty / vyšetření */
.contact-svc-field { margin-top: 2px; margin-bottom: 12px; }
.contact-svc-field[hidden] { display: none; }

/* 2-col row */
.contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

/* Field */
.contact-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}

.contact-label {
  font-size: 13px;
  font-weight: 650;
  color: var(--navy);
  letter-spacing: -.012em;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.contact-required { color: var(--gold-deep); font-weight: 700; }
.contact-optional { font-size: 11.5px; font-weight: 450; color: #7a8597; }

.contact-input,
.contact-select,
.contact-textarea {
  font-family: var(--font-sans);
  font-size: 15px;
  color: var(--navy);
  background: #fff;
  border: 1.5px solid rgba(7, 24, 73, 0.15);
  border-radius: var(--r-md);
  padding: 0 14px;
  height: 50px;
  width: 100%;
  outline: none;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  -webkit-appearance: none;
  appearance: none;
}
.contact-input::placeholder,
.contact-textarea::placeholder { color: rgba(7, 24, 73, 0.35); }

.contact-input:focus,
.contact-select:focus,
.contact-textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(207, 139, 49, 0.14);
}
.contact-input.is-error,
.contact-select.is-error,
.contact-textarea.is-error {
  border-color: #c62828;
  box-shadow: 0 0 0 3px rgba(198, 40, 40, 0.08);
}

.contact-select-wrap { position: relative; }
.contact-select-wrap::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 0; height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5.5px solid var(--navy);
  opacity: 0.5;
  pointer-events: none;
}
.contact-select { padding-right: 36px; cursor: pointer; }

.contact-textarea {
  height: auto;
  min-height: 108px;
  padding: 12px 14px;
  resize: vertical;
  line-height: 1.55;
}

.contact-field-hint {
  font-size: 11.5px;
  color: #7a8597;
  line-height: 1.45;
  margin: 0;
}
.contact-field-error {
  font-size: 12.5px;
  font-weight: 600;
  color: #c62828;
  margin: 0;
  line-height: 1.35;
}
.contact-field-error[hidden] { display: none; }

/* GDPR */
.contact-field-gdpr { margin-bottom: var(--sp-md); }
.contact-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 12.5px;
  color: #4a5568;
  line-height: 1.5;
}
.contact-checkbox { position: absolute; opacity: 0; width: 0; height: 0; }
.contact-checkbox-custom {
  display: inline-flex;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 2px solid rgba(7, 24, 73, 0.22);
  border-radius: 4px;
  background: #fff;
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
  position: relative;
}
.contact-checkbox:checked + .contact-checkbox-custom {
  background: var(--navy);
  border-color: var(--navy);
}
.contact-checkbox:checked + .contact-checkbox-custom::after {
  content: "";
  position: absolute;
  left: 3px; top: 1px;
  width: 7px; height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
.contact-checkbox:focus-visible + .contact-checkbox-custom {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.contact-gdpr-link { color: var(--navy); text-decoration: underline; text-underline-offset: 2px; }
.contact-gdpr-link:hover { color: var(--gold-deep); }

/* Submit */
.contact-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 60px;
  border: none;
  border-radius: var(--r-lg);
  background: linear-gradient(180deg, #e69513 0%, #d98507 100%);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.018em;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-cta);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
              opacity var(--dur) var(--ease);
  margin-bottom: var(--sp-sm);
}
.contact-submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: var(--shadow-cta-hover);
}
.contact-submit:active { transform: translateY(0); }
.contact-submit:disabled { opacity: 0.65; cursor: not-allowed; }
.contact-submit::before {
  content: "";
  position: absolute;
  top: 0; left: -120%; width: 60%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.22), transparent);
  transform: skewX(-18deg);
  transition: left 0.6s var(--ease);
  pointer-events: none;
}
.contact-submit:hover:not(:disabled)::before { left: 130%; }
.contact-submit-arrow { transition: transform var(--dur) var(--ease); }
.contact-submit:hover:not(:disabled) .contact-submit-arrow { transform: translateX(4px); }

@keyframes contactSpin { to { transform: rotate(360deg); } }
.contact-submit.is-loading .contact-submit-arrow { display: none; }
.contact-submit.is-loading::after {
  content: "";
  width: 16px; height: 16px;
  border: 2.5px solid rgba(255,255,255,0.35);
  border-top-color: #fff;
  border-radius: 50%;
}
@media (prefers-reduced-motion: no-preference) {
  .contact-submit.is-loading::after { animation: contactSpin 0.7s linear infinite; }
}

.contact-disclaimer {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: #7a8597;
  line-height: 1.45;
  margin: 0 0 var(--sp-md);
}
.contact-disclaimer img { width: var(--ic-sm); height: var(--ic-sm); flex-shrink: 0; opacity: 0.55; }

.contact-form-error {
  font-size: 13px;
  font-weight: 600;
  color: #c62828;
  background: rgba(198, 40, 40, 0.06);
  border: 1px solid rgba(198, 40, 40, 0.18);
  border-radius: var(--r-md);
  padding: 12px 14px;
  margin-top: var(--sp-sm);
  line-height: 1.45;
}
.contact-form-error[hidden] { display: none; }

/* Success state */
.contact-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--sp-xl) var(--sp-lg);
  gap: var(--sp-md);
}
.contact-success[hidden] { display: none; }
.contact-success .contact-success-icon { width: 56px; height: 56px; }
.contact-success h3 {
  font-family: var(--font-serif);
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 400;
  color: var(--navy);
  letter-spacing: -.02em;
  margin: 0;
}
.contact-success p {
  font-size: 15px;
  color: #576177;
  line-height: 1.6;
  margin: 0;
  max-width: 380px;
}

/* Honeypot */
.contact-hp {
  position: absolute;
  left: -9999px;
  width: 1px; height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* ---- Responzivita -------------------------------------- */
@media (max-width: 1180px) {
  .contact-inner {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(24px, 3.5vw, 48px);
  }
}

@media (max-width: 1024px) {
  .contact-inner {
    grid-template-columns: 1fr;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
  .contact-lead { max-width: none; }
}

@media (max-width: 760px) {
  .contact-section { padding: var(--section-pad) clamp(16px, 4.5vw, 40px); }
  .contact-info { padding: 28px 22px; }
  .contact-form-card { padding: 24px 18px; }
  .contact-channel { flex-wrap: wrap; gap: 10px; }
  .contact-channel-actions { width: 100%; }
  .contact-action-direct { flex: 1; justify-content: center; }
}

@media (max-width: 600px) {
  .contact-row { grid-template-columns: 1fr; gap: 0; }
  .contact-input,
  .contact-select,
  .contact-textarea { font-size: 16px; }
}

@media (max-width: 480px) {
  .contact-radio-grid { gap: 6px; }
  .contact-radio-card { padding: 12px 8px 10px; }
  .contact-radio-label { font-size: 11.5px; }
  .contact-submit { height: 56px; font-size: 15px; }
}

/* =========================================================
   CENOVÁ SÍŤ – sdílené styly pro cenik.html a cenik-*.html
   ========================================================= */

/* ---- Breadcrumb ----------------------------------------- */
.breadcrumb {
  margin-bottom: var(--sp-md);
}
.breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: rgba(7, 24, 73, 0.50);
}
.breadcrumb li + li::before {
  content: "›";
  margin-right: 4px;
  color: rgba(7, 24, 73, 0.35);
}
.breadcrumb a {
  color: rgba(7, 24, 73, 0.60);
  font-weight: 500;
  transition: color var(--dur) var(--ease);
}
.breadcrumb a:hover { color: var(--navy); }
.breadcrumb [aria-current="page"] {
  color: var(--navy);
  font-weight: 600;
}

/* ---- Compact hero --------------------------------------- */
.cenik-hero {
  width: 100%;
  background:
    radial-gradient(circle at 50% 0%, #ffffff 0%, rgba(255,255,255,0.82) 36%, rgba(250,248,244,0.9) 70%, #faf8f4 100%),
    #faf8f4;
  padding: clamp(36px, 5vw, 68px) clamp(20px, 4vw, 60px) clamp(32px, 4vw, 56px);
  border-bottom: 1px solid rgba(7, 24, 73, 0.06);
}

.cenik-hero-inner {
  width: min(var(--shell), 100%);
  margin: 0 auto;
}

.cenik-eyebrow { margin-bottom: var(--sp-md); }

.cenik-hero h1 {
  margin: 0 0 var(--sp-md);
  font-family: var(--font-serif);
  font-size: var(--fs-h1);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.08;
  letter-spacing: -.034em;
}

.cenik-hero-lead {
  margin: 0;
  max-width: 600px;
  color: #3d4f71;
  font-size: var(--fs-lead);
  line-height: 1.60;
  font-weight: 450;
  letter-spacing: -.012em;
}

/* Varianta pro kategorické stránky */
.cenik-hero-cat-head {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  margin-bottom: var(--sp-md);
}

.cenik-hero-cat-medallion {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 22%, #fbf2e5 68%, #faf8f4 100%);
  box-shadow: inset 0 0 0 0.6px rgba(207, 139, 49, .09),
              0 2px 8px rgba(7, 24, 73, 0.035);
}

.cenik-hero-cat-icon { width: 40px; height: 40px; }

.cenik-hero-cat-head h1 {
  margin: 0;
  font-family: var(--font-serif);
  font-size: var(--fs-h1);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.08;
  letter-spacing: -.034em;
}

/* ---- Sticky sub-nav (pouze cenik.html) ----------------- */
.cenik-subnav {
  position: sticky;
  top: var(--header-height);
  z-index: 30;
  width: 100%;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(7, 24, 73, 0.07);
  box-shadow: 0 2px 8px rgba(7, 24, 73, 0.04);
}

.cenik-subnav-inner {
  width: min(var(--shell), 100%);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 60px);
  display: flex;
  gap: 6px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.cenik-subnav-inner::-webkit-scrollbar { display: none; }

.cenik-subnav-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
  scroll-snap-align: start;
  height: 44px;
  padding: 0 14px;
  border-radius: var(--r-pill);
  color: #3d4f71;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.cenik-subnav-icon { width: 18px; height: 18px; }

.cenik-subnav-chip:hover {
  background: var(--gold-tint);
  color: var(--navy);
}
.cenik-subnav-chip.is-active,
.cenik-subnav-chip[aria-current="true"] {
  background: var(--gold-tint);
  color: var(--navy);
  font-weight: 700;
}
.cenik-subnav-chip:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* ---- Outer wrapper + 2-column layout ------------------- */
.cenik-page-wrap {
  width: 100%;
  padding: clamp(36px, 5vw, 68px) clamp(20px, 4vw, 60px);
  background: #faf8f4;
}

.cenik-layout {
  width: min(var(--shell), 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: clamp(28px, 3vw, 52px);
  align-items: start;
}

.cenik-main {
  display: flex;
  flex-direction: column;
  gap: clamp(36px, 4vw, 56px);
  min-width: 0;
}

/* ---- Sticky sidebar ------------------------------------ */
.cenik-sidebar {
  position: sticky;
  top: calc(var(--header-height) + 14px);
  min-width: 0;
}

.cenik-consult-panel { /* wrapper – styl pochází z .contact-info */ }

/* Přizpůsobení .contact-info uvnitř sidebaru */
.cenik-consult-panel .contact-info {
  border-radius: var(--r-xl);
  padding: 28px 26px;
}

/* Úzký sidebar (300px): kontaktní kanály přeskládat, ať se telefon/e-mail nelámou */
.cenik-consult-panel .contact-channel { flex-wrap: wrap; gap: 10px 12px; padding: 13px 14px; }
.cenik-consult-panel .contact-channel-body { min-width: 0; flex: 1 1 auto; }
.cenik-consult-panel .contact-channel-value {
  font-size: 15px;
  overflow-wrap: anywhere;
  white-space: normal;
}
.cenik-consult-panel .contact-channel-actions { flex: 1 1 100%; margin-left: 0; gap: 8px; }
.cenik-consult-panel .contact-action-direct { flex: 1 1 auto; text-align: center; justify-content: center; }

.cenik-panel-heading {
  font-family: var(--font-serif);
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 400;
  color: #fff;
  line-height: 1.22;
  letter-spacing: -.022em;
  margin: 0 0 var(--sp-sm);
}
.cenik-panel-heading em { color: var(--gold); font-style: italic; }

.cenik-panel-lead {
  font-size: 14px !important;
  margin-bottom: var(--sp-md) !important;
}

.cenik-panel-cta {
  display: flex !important;
  width: 100%;
  margin-top: var(--sp-md);
  height: 58px !important;
  font-size: 15px !important;
}

/* ---- Kategorie sekce (cenik.html) ---------------------- */
.cenik-category {
  /* Odsazení pro sticky header (92 px) + sticky subnav (~45 px) + reserve */
  scroll-margin-top: calc(var(--header-height) + 60px);
}

.cenik-category-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.cenik-cat-title-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.cenik-cat-medallion {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 22%, #fbf2e5 68%, #faf8f4 100%);
  box-shadow: inset 0 0 0 0.6px rgba(207, 139, 49, .08),
              0 2px 6px rgba(7, 24, 73, 0.03);
}

.cenik-cat-icon { width: 28px; height: 28px; }

.cenik-category-head h2 {
  margin: 0;
  font-family: var(--font-serif);
  font-size: var(--fs-h3);
  font-weight: 700;
  color: var(--navy);
  line-height: 1.2;
  letter-spacing: -.022em;
}

.cenik-category-all-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  color: var(--gold-deep);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: color var(--dur) var(--ease), gap var(--dur) var(--ease);
}
.cenik-category-all-link:hover { color: var(--gold); gap: 9px; }
.cenik-category-all-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---- Disclaimer ---------------------------------------- */
.cenik-disclaimer {
  margin: 0;
  padding: 16px 20px;
  border-radius: var(--r-md);
  border: 1px solid rgba(207, 139, 49, 0.18);
  background: rgba(250, 243, 232, 0.65);
  color: #576177;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 450;
}

/* Cenová poznámka srostlá s boxem ceny (detail služby) — box + krémová patka
   tvoří jeden „účtenkový" tvar. */
.pricing-panel-noted {
  border-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.cenik-disclaimer-attached {
  border: 1px solid rgba(7, 24, 73, 0.07);
  border-top: 1px solid rgba(207, 139, 49, 0.28);
  border-radius: 0 0 var(--r-xl) var(--r-xl);
  background: linear-gradient(180deg, rgba(250, 243, 232, 0.92), rgba(250, 243, 232, 0.55));
  padding: 14px 20px;
  box-shadow:
    0 20px 52px rgba(34, 42, 66, 0.08),
    0 4px 12px rgba(34, 42, 66, 0.04);
}

/* ---- Closing CTA – full-width navy panel ---------------- */
.cenik-closing-cta {
  width: 100%;
  padding: clamp(48px, 5vw, 72px) clamp(20px, 4vw, 60px);
  background: linear-gradient(145deg, #061b4d 0%, #03133f 66%, #041b50 100%);
  position: relative;
  overflow: hidden;
}
.cenik-closing-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 50%, rgba(207, 139, 49, 0.12) 0%, transparent 55%);
  pointer-events: none;
}

.cenik-closing-cta-inner {
  position: relative;
  z-index: 1;
  width: min(var(--shell), 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 64px);
}

.cenik-closing-cta-text h2 {
  margin: 0 0 10px;
  font-family: var(--font-serif);
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 400;
  color: #fff;
  line-height: 1.18;
  letter-spacing: -.022em;
}
.cenik-closing-cta-text p {
  margin: 0;
  color: rgba(255, 255, 255, 0.70);
  font-size: var(--fs-lead);
  line-height: 1.55;
  max-width: 520px;
}

.cenik-closing-cta .pricing-cta {
  flex-shrink: 0;
  white-space: nowrap;
  /* Zlaté tlačítko na tmavém podkladu = vysoký kontrast (vstup do formuláře musí být vidět) */
  color: var(--navy);
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
  box-shadow: 0 16px 36px rgba(207, 139, 49, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.28);
}
.cenik-closing-cta .pricing-cta .pricing-cta-icon { display: none; }
.cenik-closing-cta .pricing-cta .pricing-cta-arrow { color: var(--navy); }
.cenik-closing-cta .pricing-cta:hover { box-shadow: 0 22px 46px rgba(207, 139, 49, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.3); }
.cenik-closing-cta .pricing-cta:focus-visible { outline-color: #fff; }

/* ---- Servisní sekce (cenik-*.html) --------------------- */
.cenik-service {
  padding-bottom: clamp(32px, 4vw, 52px);
  border-bottom: 1px solid rgba(7, 24, 73, 0.07);
}
.cenik-service:last-of-type { border-bottom: none; }

.cenik-service-head {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: var(--sp-md);
}

.cenik-service-medallion {
  display: grid;
  place-items: center;
  width: 51px;
  height: 51px;
  flex: 0 0 51px;
  border-radius: 50%;
  background: radial-gradient(circle at 48% 42%, #fff 0 22%, #fbf2e5 68%, #faf8f4 100%);
  box-shadow: inset 0 0 0 0.6px rgba(207, 139, 49, .09),
              0 2px 7px rgba(7, 24, 73, 0.035);
}

.cenik-service-icon { width: 34px; height: 34px; }

.cenik-service-title {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding-top: 4px;
}

.cenik-service-title h2 {
  margin: 0;
  font-family: var(--font-serif);
  font-size: var(--fs-h2);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.12;
  letter-spacing: -.030em;
}

.cenik-service-price {
  display: inline-block;
  color: var(--navy);
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1;
}

.cenik-service-desc {
  margin: 0 0 var(--sp-lg);
  color: #3d4f71;
  font-size: 17px;
  line-height: 1.62;
  font-weight: 450;
  letter-spacing: -.012em;
  max-width: 620px;
}

.cenik-service-cta {
  display: inline-flex;
  margin-top: var(--sp-lg);
}

.cenik-service-consult-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--gold-deep);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: color var(--dur) var(--ease), gap var(--dur) var(--ease);
}
.cenik-service-consult-link:hover { color: var(--gold); gap: 9px; }
.cenik-service-consult-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Variant pricing table modifier */
.cenik-variants-wrap { margin-bottom: var(--sp-lg); }

.cenik-variants-panel {
  max-width: 480px;
}

/* ---- Příbuzné kategorie + zpět -------------------------  */
.cenik-related {
  padding-top: clamp(18px, 2vw, 28px);
}

.cenik-related h3 {
  margin: 0 0 var(--sp-md);
  color: var(--navy);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.016em;
}

.cenik-related-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
  margin-bottom: var(--sp-lg);
}

.cenik-related-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: var(--r-md);
  border: 1px solid rgba(7, 24, 73, 0.08);
  background: rgba(255, 255, 255, 0.90);
  color: var(--navy);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -.010em;
  line-height: 1.3;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.cenik-related-link:hover {
  background: var(--gold-tint);
  border-color: rgba(207, 139, 49, 0.28);
  box-shadow: 0 4px 12px rgba(7, 24, 73, 0.07);
  transform: translateY(-1px);
}
.cenik-related-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.cenik-related-icon { width: 20px; height: 20px; flex-shrink: 0; }

.cenik-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(7, 24, 73, 0.55);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -.01em;
  transition: color var(--dur) var(--ease);
}
.cenik-back-link:hover { color: var(--navy); }
.cenik-back-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---- Responzivita ceníku ------------------------------- */
@media (max-width: 1180px) {
  .cenik-layout { grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (max-width: 1024px) {
  .cenik-layout {
    grid-template-columns: 1fr;
    max-width: 760px;
  }
  /* Konzultační panel jde AŽ POD hlavní obsah (nejdřív musí být vidět obsah stránky) */
  .cenik-sidebar {
    position: static;
    order: 0;
    margin-top: 8px;
  }
  .cenik-consult-panel .contact-info { padding: 24px 22px; }
  .cenik-panel-heading { font-size: 20px; }
}

@media (max-width: 760px) {
  .cenik-hero { padding: clamp(28px, 5vw, 48px) clamp(16px, 4.5vw, 32px) clamp(24px, 4vw, 40px); }
  .cenik-hero h1 { font-size: clamp(30px, 7vw, 42px); }
  .cenik-hero-lead { font-size: 15px; }
  .cenik-hero-cat-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .cenik-hero-cat-medallion { width: 45px; height: 45px; }
  .cenik-page-wrap { padding: clamp(28px, 5vw, 48px) clamp(16px, 4.5vw, 32px); }
  .cenik-closing-cta-inner { flex-direction: column; align-items: flex-start; }
  .cenik-closing-cta .pricing-cta { width: 100%; }
  .cenik-service-head { flex-direction: column; }
  .cenik-service-title h2 { font-size: clamp(22px, 5vw, 30px); }
  .cenik-category-head { flex-direction: column; align-items: flex-start; }
  .cenik-related-links { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .cenik-hero h1 { font-size: clamp(26px, 7.5vw, 34px); }
  .cenik-subnav-chip { font-size: 12.5px; padding: 0 11px; height: 40px; }
  .cenik-related-links { grid-template-columns: 1fr; }
  .cenik-panel-cta { height: 54px !important; font-size: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .cenik-subnav-chip,
  .cenik-category-all-link,
  .cenik-related-link,
  .cenik-back-link,
  .cenik-service-consult-link { transition: none; }
}

/* ================================================================
   NOVÉ STYLY – Kategoriální landing, detailní stránky, konzultace
   Append (nezasahuje do existujících pravidel)
   ================================================================ */

/* ---- Kategoriální hero obrázek --------------------------------- */
/* Hero kategorie služby – dvousloupcový layout: text vlevo, fotka vpravo */
.sluzba-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.94fr);
  align-items: center;
  gap: clamp(28px, 4vw, 60px);
  margin-top: clamp(20px, 2.4vw, 30px);
}
.sluzba-hero-text { min-width: 0; }
.sluzba-hero-text .cenik-hero-cat-head { margin-bottom: clamp(14px, 1.8vw, 20px); }
.sluzba-hero-text .cenik-hero-lead { max-width: 540px; }
.sluzba-hero-media { min-width: 0; margin: 0; }

.sluzba-hero-img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
  border-radius: var(--r-lg);
  object-fit: cover;
  aspect-ratio: 3 / 2;
  box-shadow: 0 24px 54px rgba(7, 24, 73, 0.13), 0 4px 12px rgba(7, 24, 73, 0.05);
}

@media (max-width: 820px) {
  .sluzba-hero-grid { grid-template-columns: 1fr; gap: clamp(20px, 4vw, 28px); }
  .sluzba-hero-media { order: 2; }
  .sluzba-hero-img { aspect-ratio: 16 / 9; }
}

/* ---- Mřížka karet služeb --------------------------------------- */
.sluzba-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--sp-md);
  margin-block: var(--sp-lg);
}

/* ---- Karta jedné služby ---------------------------------------- */
.sluzba-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: var(--card-pad);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.sluzba-card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-2px);
}

.sluzba-card-head {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-sm);
}

.sluzba-card-medallion {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: var(--gold-tint);
  border-radius: var(--r-md);
  display: grid;
  place-items: center;
}
.sluzba-card-medallion img { width: var(--ic-md); height: var(--ic-md); }

.sluzba-card-title-wrap { flex: 1; }
.sluzba-card-title {
  font-size: var(--fs-h3);
  font-weight: 700;
  margin: 0 0 4px;
  line-height: 1.25;
}
.sluzba-card-price {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: var(--gold-deep);
  background: var(--gold-tint);
  padding: 2px 9px;
  border-radius: var(--r-pill);
}

.sluzba-card-desc {
  font-size: var(--fs-body);
  color: rgba(7, 24, 73, 0.72);
  line-height: 1.6;
  flex: 1;
  margin: 0;
}

/* Celá karta je odkaz */
a.sluzba-card {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
a.sluzba-card:hover { border-color: rgba(207, 139, 49, 0.42); }
a.sluzba-card:focus-visible {
  outline: 2.5px solid var(--gold);
  outline-offset: 3px;
}
a.sluzba-card:active { transform: translateY(0); box-shadow: var(--shadow-sm); }
.sluzba-card-title { color: var(--navy); }

.sluzba-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  font-size: 14px;
  font-weight: 600;
  color: var(--gold-deep);
  transition: color var(--dur) var(--ease);
  margin-top: auto;
}
.sluzba-card-arrow { transition: transform var(--dur) var(--ease); }
.sluzba-card:hover .sluzba-card-link { color: var(--navy); }
.sluzba-card:hover .sluzba-card-arrow { transform: translateX(3px); }

/* Samostatný odkaz „Zjistit více" (např. panel masáží) */
a.sluzba-card-link:hover { color: var(--navy); }
a.sluzba-card-link:hover .sluzba-card-arrow { transform: translateX(3px); }
a.sluzba-card-link:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 3px; }

/* ---- Agency help block ----------------------------------------- */
.sluzba-agency-block {
  margin-top: var(--sp-lg);
}
.sluzba-help-list,
.sluzba-help-numbered {
  list-style: none;
  padding: 0;
  margin: var(--sp-sm) 0 var(--sp-md);
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
}
.sluzba-help-list li,
.sluzba-help-numbered li {
  padding-left: 1.4em;
  position: relative;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: rgba(7, 24, 73, 0.82);
}
.sluzba-help-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}
.sluzba-help-list a,
.sluzba-help-numbered a {
  color: var(--gold-deep);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(207, 139, 49, 0.4);
  text-underline-offset: 2px;
  transition: text-decoration-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.sluzba-help-list a:hover,
.sluzba-help-numbered a:hover {
  color: var(--gold);
  text-decoration-color: var(--gold);
}

/* ---- Rozcestník sportovních prohlídek -------------------------- */
.sluzba-rozcestnik-block { margin-bottom: var(--sp-xl); }
.sluzba-rozcestnik-block .sluzba-grid { margin-bottom: 0; }
.sluzba-rozcestnik-need {
  font-size: var(--fs-h3);
  font-weight: 700;
  color: var(--navy);
  margin-top: 0;
  margin-bottom: var(--sp-xs);
}
.sluzba-rozcestnik-desc {
  color: rgba(7, 24, 73, 0.72);
  margin-bottom: var(--sp-md);
  font-size: var(--fs-body);
}

/* ---- Detailní stránka – hero ----------------------------------- */
.sluzba-hero-price {
  display: inline-block;
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 700;
  color: var(--gold-deep);
  background: var(--gold-tint);
  padding: 4px 14px;
  border-radius: var(--r-pill);
  margin-top: var(--sp-xs);
}
.sluzba-hero-cta {
  margin-top: var(--sp-md);
}
.sluzba-detail-medallion {
  width: 60px;
  height: 60px;
  background: var(--gold-tint);
  border-radius: var(--r-lg);
  display: grid;
  place-items: center;
}
.sluzba-detail-medallion img { width: var(--ic-lg); height: var(--ic-lg); }

/* ---- Detailní stránka – typografie článku ---------------------- */
.sluzba-article .cenik-service { max-width: 68ch; }
.sluzba-article .cenik-service h2 {
  font-size: clamp(20px, 1.6vw, 26px);
  font-weight: 700;
  margin-bottom: var(--sp-sm);
}
.sluzba-article p { line-height: 1.75; }

/* ---- Kroky objednání ------------------------------------------- */
.sluzba-steps {
  list-style: none;
  padding: 0;
  margin: var(--sp-sm) 0 var(--sp-md);
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  counter-reset: step;
}
.sluzba-step {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-sm);
  font-size: var(--fs-body);
  line-height: 1.6;
}
.sluzba-step-num {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: var(--gold);
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 700;
  margin-top: 2px;
}

/* ---- Přepínač masáží ------------------------------------------- */
.masaze-radio { display: none; }

/* CSS-only tab activation */

.masaze-panel { display: none; }
.masaze-panels { /* wrapper */ }

#masaz-tab-0:checked ~ .masaze-panels #panel-regeneracni-masaz,
#masaz-tab-1:checked ~ .masaze-panels #panel-terapeuticka-masaz {
  display: block;
}

.masaze-panel-desc {
  margin-bottom: var(--sp-md);
  font-size: var(--fs-body);
  color: rgba(7, 24, 73, 0.75);
  line-height: 1.6;
}
.masaze-pricing-panel { margin-bottom: var(--sp-md); }

/* ---- Konzultační stránka --------------------------------------- */
.subpage-konzultace .contact-section { padding-block: var(--section-pad); }

.konzultace-hero { padding-bottom: var(--sp-lg); }
.konzultace-hero h1 { margin-bottom: var(--sp-sm); }

.konzultace-process {
  background: var(--gold-tint);
  padding-block: var(--section-pad);
}
.konzultace-steps { max-width: 640px; }
.konzultace-trust {
  margin-top: var(--sp-lg);
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--sp-sm);
  border-top: 1px solid rgba(7, 24, 73, 0.10); /* světlé pozadí stránky konzultace */
}
.konzultace-trust li {
  display: flex;
  align-items: center;
  gap: var(--sp-xs);
  font-size: 14px;
  font-weight: 600;
  color: #3d4963; /* tmavý text – sekce je na světlém pozadí (ne v navy panelu) */
}
.konzultace-trust img { width: 20px; height: 20px; flex-shrink: 0; }

/* ---- Sdílené: page-wrap pro sluzby ----------------------------- */
.sluzba-page-wrap {
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 40px);
  padding-block: var(--sp-lg);
}
.sluzba-masaze-section,
.sluzba-landing-services { background: #fff; }

/* ---- Responzivita nových stránek ------------------------------- */
@media (max-width: 760px) {
  .sluzba-grid {
    grid-template-columns: 1fr;
  }
  .sluzba-hero-img { max-width: 100%; }
  .sluzba-card { padding: clamp(16px, 4vw, 22px); }

  /* Masáže tabs stack */
}

@media (max-width: 480px) {
  .sluzba-card-head { flex-direction: column; }
  .sluzba-detail-medallion { width: 48px; height: 48px; }
  .sluzba-detail-medallion img { width: var(--ic-md); height: var(--ic-md); }
  .sluzba-hero-price { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .sluzba-card,
  .sluzba-card-link,
}

/* =========================================================
   PRÉMIOVÝ POLISH — zlaté švy sekcí, gradient-text akcenty
   ========================================================= */

/* Hairline zlatá linka nahoře každé sekce (vytváří jemný šev) */
.direction-section,
.services-overview,
.why-agency,
.reviews,
.pricing,
.contact-section {
  box-shadow: inset 0 1px 0 rgba(207, 139, 49, 0.13);
}

/* Zlatý gradient-text pro klíčová proof čísla */
.why-photo-stat-number strong,
.why-proof-item strong {
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Reviews: rating číslo zlatý gradient */
.reviews-rating-number {
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Focus visible — zlatý kruh na ikonách i kartách */
.specialty-card:focus-visible,
.direction-card:focus-visible,
.service-card:focus-visible {
  outline: 2.5px solid var(--gold);
  outline-offset: 3px;
}

/* Assurance divider — zlatý gradient */
.pricing-assurance-div {
  width: 1px;
  height: 48px;
  background: linear-gradient(180deg, rgba(207,139,49,0), rgba(207,139,49,0.32), rgba(207,139,49,0));
  flex-shrink: 0;
}

/* Jemný highlight na headeru při scrollu */
.site-header.is-scrolled {
  border-bottom-color: rgba(207, 139, 49, 0.10);
}

/* ═══════════════════════════════════════════════════════════════════════════════
   TÝM – Homepage prémiová sekce (#tym)
   ═══════════════════════════════════════════════════════════════════════════════ */

.team-preview {
  background: var(--gold-tint);
  padding: var(--section-pad) 0;
}

.team-preview-inner {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 clamp(18px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  gap: clamp(36px, 4vw, 52px);
  align-items: center;
}

.team-preview-head {
  text-align: center;
  max-width: 640px;
}

.team-preview-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--gold-deep);
  text-transform: uppercase;
  margin-bottom: 16px;
}

.team-preview-eyebrow .icon-slot {
  width: var(--ic-sm);
  height: var(--ic-sm);
}

.team-preview-head h2 {
  font-size: var(--fs-h2);
  color: var(--navy);
  margin: 0 0 18px;
  line-height: 1.18;
}

.team-preview-lead {
  font-size: var(--fs-lead);
  color: rgba(7, 24, 73, 0.72);
  line-height: 1.65;
  margin: 0;
}

/* Mřížka karet */
.team-preview-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(12px, 1.8vw, 22px);
  width: 100%;
  max-width: 1060px;
}

/* Karta */
.team-preview-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: clamp(18px, 2vw, 24px) clamp(14px, 1.6vw, 18px);
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.07);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  text-align: center;
  text-decoration: none;
  color: inherit;
  flex: 0 1 178px;
  min-width: 140px;
  max-width: 210px;
  transition: transform var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
}

.team-preview-card:hover {
  transform: translateY(-4px);
  border-color: rgba(207, 139, 49, 0.45);
  box-shadow: var(--shadow-card-hover);
}

.team-preview-card:hover .team-preview-avatar {
  transform: scale(1.05);
}

.team-preview-card:focus-visible {
  outline: 2.5px solid var(--gold);
  outline-offset: 3px;
}

/* Avatar kruh */
.team-preview-avatar {
  flex-shrink: 0;
  transition: transform var(--dur) var(--ease);
}

/* Fotografie v preview kartě */
.team-preview-photo {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  display: block;
  border: 3px solid #fff;
  background: var(--gold-tint);
  box-shadow: 0 0 0 1px rgba(7, 24, 73, 0.07), 0 8px 20px rgba(7, 24, 73, 0.16);
}

.team-avatar-mono {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--av1, #0a2a72), var(--av2, #19499c));
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
  user-select: none;
  box-shadow: 0 4px 14px rgba(7, 24, 73, 0.18);
  width: 76px;
  height: 76px;
  font-size: 20px;
}

/* Info */
.team-preview-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.team-preview-name {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.25;
}

.team-preview-role {
  font-size: 12px;
  color: rgba(7, 24, 73, 0.60);
  line-height: 1.4;
}

/* CTA pod kartami */
.team-preview-cta {
  display: flex;
  justify-content: center;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   TÝM – Stránka /tym/index.html
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Skupinová kotevní navigace */
.team-group-nav {
  background: #fff;
  border-bottom: 1px solid rgba(7, 24, 73, 0.08);
  position: sticky;
  top: 92px;
  z-index: 20;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.team-group-nav::-webkit-scrollbar { display: none; }

.team-group-nav-inner {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 clamp(18px, 4vw, 48px);
  display: flex;
  gap: 0;
  min-width: max-content;
}

.team-group-chip {
  display: inline-block;
  padding: 11px 18px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(7, 24, 73, 0.58);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.team-group-chip:hover {
  color: var(--navy);
  border-color: rgba(207, 139, 49, 0.55);
}

.team-group-chip:focus-visible {
  color: var(--navy);
  outline: 2px solid var(--gold);
  outline-offset: -2px;
}

/* Hero sekce /tym/ */
.team-hero {
  background: linear-gradient(175deg, var(--navy) 0%, #04113d 100%);
  padding: clamp(40px, 5vw, 72px) 0 clamp(36px, 4vw, 60px);
  color: #fff;
}

.team-hero-inner {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 clamp(18px, 4vw, 48px);
}

.team-hero h1 {
  font-size: var(--fs-h2);
  font-weight: 800;
  margin: 18px 0 14px;
  line-height: 1.18;
}

.team-hero-lead {
  font-size: var(--fs-lead);
  color: rgba(255, 255, 255, 0.80);
  max-width: 620px;
  line-height: 1.65;
  margin: 0;
}

.team-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-transform: uppercase;
}

.team-hero-eyebrow .icon-slot {
  width: var(--ic-sm);
  height: var(--ic-sm);
}

/* Ikona eyebrow na tmavém hero → zlatá (sjednoceno s textem), potlačit multiply */
.team-hero-eyebrow .icon-slot img {
  mix-blend-mode: normal;
  filter: brightness(0) saturate(100%) invert(64%) sepia(42%) saturate(640%) hue-rotate(349deg) brightness(91%) contrast(88%);
}

/* Skupinové sekce */
.team-sections-wrap {
  background: var(--gold-tint);
  padding-bottom: clamp(48px, 6vw, 80px);
}

.team-section {
  max-width: var(--shell);
  margin: 0 auto;
  padding: clamp(36px, 4.5vw, 60px) clamp(18px, 4vw, 48px) 0;
}

.team-section-title {
  font-size: clamp(19px, 1.6vw, 24px);
  font-weight: 800;
  color: var(--navy);
  margin: 0 0 clamp(20px, 2.5vw, 30px);
  padding-bottom: 14px;
  border-bottom: 1.5px solid rgba(207, 139, 49, 0.26);
  line-height: 1.2;
}

.team-members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 1.6vw, 18px);
}

/* Karta člena */
.team-member-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: clamp(13px, 1.4vw, 17px);
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.07);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-sm);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.team-member-card:hover {
  transform: translateY(-2px);
  border-color: rgba(207, 139, 49, 0.30);
  box-shadow: var(--shadow-md);
}

.team-member-avatar-wrap {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
}

/* Fotografie člena týmu */
.team-member-photo {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  display: block;
  border: 2px solid #fff;
  background: var(--gold-tint);
  box-shadow: 0 0 0 1px rgba(7, 24, 73, 0.08), 0 4px 12px rgba(7, 24, 73, 0.10);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.team-member-card:hover .team-member-photo {
  transform: scale(1.05);
  box-shadow: 0 0 0 1px rgba(207, 139, 49, 0.5), 0 6px 16px rgba(7, 24, 73, 0.16);
}

/* Monogramové avatary (členové bez fotky) – stejná velikost jako fotky */
.team-page .team-avatar-mono {
  width: 60px;
  height: 60px;
  font-size: 15px;
}

.team-member-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.team-member-name {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--navy);
  margin: 0;
  line-height: 1.25;
}

.team-member-role {
  font-size: 12px;
  color: var(--gold-deep);
  font-weight: 500;
  line-height: 1.35;
  margin: 0 0 4px;
}

.team-member-contacts {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.team-contact-link {
  font-size: 11.5px;
  color: rgba(7, 24, 73, 0.55);
  text-decoration: none;
  transition: color var(--dur) var(--ease);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.team-contact-link:hover {
  color: var(--gold-deep);
  text-decoration: underline;
}

/* Karta jako odkaz z homepage – cílová osoba se po prokliku zvýrazní */
.team-member-card { scroll-margin-top: 112px; }
.team-member-card:target {
  border-color: rgba(207, 139, 49, 0.55);
  box-shadow: 0 0 0 3px rgba(207, 139, 49, 0.22), var(--shadow-md);
}

/* Klikatelná karta → lightbox se zvětšenou fotkou */
.team-member-card.is-clickable { cursor: pointer; }

.team-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(7, 24, 73, 0.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease), visibility var(--dur) var(--ease);
}
.team-lightbox.is-open { opacity: 1; visibility: visible; }

.team-lightbox-backdrop { position: absolute; inset: 0; cursor: zoom-out; }

.team-lightbox-dialog {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 360px;
  padding: 38px 32px 30px;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(7, 24, 73, 0.40);
  text-align: center;
  transform: scale(0.93) translateY(10px);
  transition: transform var(--dur) var(--ease);
}
.team-lightbox.is-open .team-lightbox-dialog { transform: none; }

.team-lightbox-avatar { display: grid; place-items: center; }
.team-lightbox-photo {
  width: clamp(200px, 56vw, 248px);
  height: clamp(200px, 56vw, 248px);
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  background: var(--gold-tint);
  box-shadow: 0 0 0 1px rgba(7, 24, 73, 0.08), 0 14px 34px rgba(7, 24, 73, 0.20);
}
.team-lightbox .team-lightbox-avatar .team-avatar-mono {
  width: clamp(200px, 56vw, 248px);
  height: clamp(200px, 56vw, 248px);
  font-size: clamp(56px, 16vw, 72px);
}

.team-lightbox-info { display: flex; flex-direction: column; gap: 5px; }
.team-lightbox-name { font-size: 22px; font-weight: 800; color: var(--navy); line-height: 1.2; }
.team-lightbox-role { font-size: 14.5px; font-weight: 500; color: var(--gold-deep); line-height: 1.4; }

.team-lightbox-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  background: rgba(7, 24, 73, 0.06);
  color: var(--navy);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background var(--dur) var(--ease);
}
.team-lightbox-close:hover { background: rgba(7, 24, 73, 0.12); }
.team-lightbox-close:focus-visible { outline: 2.5px solid var(--gold); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .team-lightbox, .team-lightbox-dialog { transition: opacity var(--dur) linear; }
  .team-lightbox-dialog { transform: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   RECENZE – klikatelné karty
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Snap musí být na <li> (přímém dítěti gridu), ne na <a> uvnitř */
.reviews-track > li {
  scroll-snap-align: start;
}

a.review-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

a.review-card:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 3px;
  border-radius: var(--r-xl);
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Responzivita – tým
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .team-members-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .team-preview-cards {
    gap: 10px;
  }
  .team-preview-card {
    flex: 0 1 calc(50% - 5px);
    max-width: calc(50% - 5px);
    min-width: 130px;
  }
  .team-members-grid {
    grid-template-columns: 1fr;
  }
  .team-group-nav {
    top: 0;
  }
}

@media (max-width: 400px) {
  .team-preview-card {
    flex: 0 1 calc(50% - 5px);
    max-width: calc(50% - 5px);
    min-width: 118px;
    padding: 14px 10px;
  }
  .team-avatar-mono {
    width: 60px;
    height: 60px;
    font-size: 16px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   404 – stránka nenalezena
   ═══════════════════════════════════════════════════════════════════════════════ */
.error-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100svh - var(--header-height) - 84px);
  padding: clamp(44px, 8vw, 96px) clamp(20px, 5vw, 48px);
  background: radial-gradient(circle at 50% 0%, #fff 0%, #faf8f4 72%, #faf8f4 100%);
  text-align: center;
}
.error-page-inner { width: min(620px, 100%); }
.error-code {
  display: block;
  font-family: var(--font-serif);
  font-size: clamp(72px, 16vw, 132px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.04em;
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 6px;
}
.error-page h1 {
  margin: 0 0 14px;
  font-family: var(--font-serif);
  font-size: clamp(26px, 4vw, 38px);
  color: var(--navy);
  line-height: 1.12;
  letter-spacing: -.03em;
  font-weight: 700;
}
.error-page p {
  margin: 0 auto 30px;
  max-width: 480px;
  color: #3d4f71;
  font-size: var(--fs-lead);
  line-height: 1.6;
}
.error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  margin-bottom: 28px;
}
.error-actions .hero-button { width: auto; min-width: 190px; padding-left: 26px; padding-right: 22px; }
.error-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 22px;
  justify-content: center;
}
.error-links a {
  color: var(--navy);
  font-size: 14.5px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(207, 139, 49, 0.4);
  padding-bottom: 1px;
  transition: color var(--dur) var(--ease);
}
.error-links a:hover { color: var(--gold-deep); }

/* ═══════════════════════════════════════════════════════════════════════════════
   Skip link – přeskočení na obsah (klávesnice / čtečky)
   ═══════════════════════════════════════════════════════════════════════════════ */
.skip-link {
  position: absolute;
  left: 12px;
  top: -64px;
  z-index: 2000;
  padding: 11px 18px;
  border-radius: 10px;
  background: var(--navy);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(7, 24, 73, 0.3);
  transition: top var(--dur) var(--ease);
}
.skip-link:focus {
  top: 12px;
  outline: 2.5px solid var(--gold);
  outline-offset: 2px;
}
[tabindex="-1"]:focus { outline: none; }

/* ═══════════════════════════════════════════════════════════════════════════════
   FAQ – časté dotazy (nativní <details>, funguje i bez JS)
   ═══════════════════════════════════════════════════════════════════════════════ */
.faq {
  background: #fbfaf9;
  border-top: 1px solid rgba(7, 24, 73, 0.05);
  padding: clamp(48px, 6vw, 84px) clamp(20px, 4vw, 36px);
}
.faq-inner { width: min(820px, 100%); margin: 0 auto; }

.faq-head { text-align: center; margin-bottom: clamp(26px, 3.4vw, 42px); }
.faq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--gold);
  font-size: var(--fs-eyebrow);
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  margin-bottom: 13px;
}
.faq-eyebrow .icon-slot { width: 20px; height: 20px; }
.faq-head h2 {
  margin: 0 0 12px;
  font-family: var(--font-serif);
  font-size: var(--fs-h2);
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -.03em;
  font-weight: 700;
}
.faq-head p {
  margin: 0 auto;
  max-width: 540px;
  color: #4a5570;
  font-size: var(--fs-lead);
  line-height: 1.6;
}

.faq-list { display: flex; flex-direction: column; gap: 12px; }
.faq-item {
  border: 1px solid rgba(7, 24, 73, 0.08);
  border-radius: var(--r-md);
  background: #fff;
  box-shadow: 0 8px 22px rgba(7, 24, 73, 0.05);
  overflow: hidden;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.faq-item[open] {
  border-color: rgba(207, 139, 49, 0.40);
  box-shadow: 0 14px 32px rgba(7, 24, 73, 0.09);
}
.faq-q {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(15px, 2vw, 19px) clamp(18px, 2.2vw, 24px);
  font-size: clamp(15px, 1.5vw, 17px);
  font-weight: 700;
  color: var(--navy);
  line-height: 1.35;
  letter-spacing: -.015em;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after {
  content: "";
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-right: 2.2px solid var(--gold);
  border-bottom: 2.2px solid var(--gold);
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--dur) var(--ease);
}
.faq-item[open] .faq-q::after { transform: rotate(-135deg) translateY(0); }
.faq-q:focus-visible {
  outline: 2.5px solid var(--gold);
  outline-offset: -2px;
  border-radius: var(--r-md);
}
.faq-a { padding: 0 clamp(18px, 2.2vw, 24px) clamp(15px, 2vw, 19px); }

/* Plynulé rozbalení akordeonu (moderní prohlížeče; starší otevřou okamžitě) */
.faq-item { interpolate-size: allow-keywords; }
.faq-item::details-content {
  block-size: 0;
  overflow: hidden;
  transition: block-size var(--dur) var(--ease), content-visibility var(--dur) allow-discrete;
}
.faq-item[open]::details-content { block-size: auto; }
.faq-a p { margin: 0; color: #3d4963; font-size: 15px; line-height: 1.65; }
.faq-a a { color: var(--gold-deep); text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
  .faq-q::after, .faq-item { transition: none; }
}

/* =========================================================
   MOBILNÍ STICKY CALL BAR (jen mobil ≤760px)
   ========================================================= */
.mobile-call-bar { display: none; }

@media (max-width: 760px) {
  .mobile-call-bar {
    position: fixed;
    z-index: 1200;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    text-decoration: none;
    color: var(--navy);
    background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    box-shadow: 0 -8px 26px rgba(7, 24, 73, 0.20);
  }
  .mobile-call-bar-icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 10px rgba(7, 24, 73, 0.18);
  }
  .mobile-call-bar-icon img.ic { width: 21px; height: 21px; }
  .mobile-call-bar-text { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
  .mobile-call-bar-text strong { font-size: 16px; font-weight: 820; letter-spacing: -0.01em; }
  .mobile-call-bar-text small { font-size: 12.5px; font-weight: 680; opacity: 0.82; }
  .mobile-call-bar-arrow { margin-left: auto; font-size: 21px; font-weight: 700; flex: 0 0 auto; }

  /* Prostor, aby lišta nepřekrývala obsah / patičku */
  body { padding-bottom: 70px; }
}

.mobile-call-bar:active { filter: brightness(0.96); }

@media (prefers-reduced-motion: reduce) {
  .mobile-call-bar { transition: none; }
}

/* =========================================================
   HOMEPAGE – klikací panel „Jak to funguje?"
   ========================================================= */
a.process-panel-link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
a.process-panel-link:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: rgba(207, 139, 49, 0.45);
}
a.process-panel-link:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
a.process-panel-link:active { transform: translateY(-1px); }

.process-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.process-panel-badge {
  flex: 0 0 auto;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gold-deep);
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.30);
}
.process-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: center;
  margin-top: 15px;
  color: var(--gold-deep);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.process-cta-arrow { transition: transform var(--dur) var(--ease); }
a.process-panel-link:hover .process-cta-arrow { transform: translateX(4px); }

/* Subtilní odkaz na proces v kontaktním info panelu (tmavý navy panel) */
.contact-process-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  margin: calc(var(--sp-md) * -0.5) 0 var(--sp-lg);
  padding: 11px 15px;
  border-radius: var(--r-md);
  text-decoration: none;
  color: #fff;
  font-size: 14.5px;
  font-weight: 650;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.contact-process-link:hover { background: rgba(255, 255, 255, 0.10); border-color: rgba(207, 139, 49, 0.55); }
.contact-process-link:focus-visible { outline: 2.5px solid var(--gold); outline-offset: 2px; }
.contact-process-link-arrow { color: var(--gold); font-weight: 800; transition: transform var(--dur) var(--ease); }
.contact-process-link:hover .contact-process-link-arrow { transform: translateX(3px); }

/* =========================================================
   STRÁNKA „JAK PROBÍHÁ SPOLUPRÁCE" (/jak-to-funguje/)
   ========================================================= */
.jtf-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: var(--sp-md); }
.jtf-hero-reassure {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  margin: 16px 0 0;
  color: rgba(13, 32, 81, 0.62);
  font-size: 14px;
  font-weight: 600;
}
.jtf-hero-reassure span { display: inline-flex; align-items: center; gap: 7px; }
.jtf-hero-reassure span::before {
  content: "";
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px 11px no-repeat,
    linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
}
.jtf-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 20px;
  height: 54px;
  border-radius: 10px;
  color: var(--navy);
  font-weight: 760;
  font-size: 15px;
  text-decoration: none;
  background: #fff;
  border: 1.5px solid rgba(207, 139, 49, 0.55);
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.jtf-cta-secondary:hover { border-color: var(--gold); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.jtf-cta-secondary:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

.jtf-section { padding-block: var(--sp-lg); }
.jtf-section-alt { background: var(--gold-tint); border-block: 1px solid rgba(207, 139, 49, 0.14); }
.jtf-section-head { max-width: 730px; margin-bottom: var(--sp-lg); }
.jtf-section-head h2 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 1.12;
}
.jtf-section-head p { margin: 0; color: #3d4963; font-size: var(--fs-lead); line-height: 1.6; }

.jtf-steps { gap: var(--sp-md); max-width: 760px; }
.jtf-steps .sluzba-step-num { width: 34px; height: 34px; font-size: 15px; }
.jtf-step-body h3 { margin: 0 0 5px; color: var(--navy); font-size: 18px; font-weight: 820; letter-spacing: -0.02em; }
.jtf-step-body p { margin: 0; color: #3d4963; font-size: var(--fs-body); line-height: 1.6; }

.jtf-duo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2.5vw, 28px); }
.jtf-card {
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.07);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  padding: clamp(22px, 3vw, 34px);
}
.jtf-section-alt .jtf-card { border-color: rgba(207, 139, 49, 0.20); }
.jtf-card h2 {
  margin: 0 0 var(--sp-md);
  color: var(--navy);
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 850;
  letter-spacing: -0.03em;
}

.jtf-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.jtf-checklist li { position: relative; padding-left: 34px; color: #26324d; font-size: var(--fs-body); line-height: 1.5; font-weight: 560; }
.jtf-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 13px 13px no-repeat,
    linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
}

.jtf-closing { margin-top: 0; }

@media (max-width: 760px) {
  .jtf-duo { grid-template-columns: 1fr; }
  .jtf-hero-actions { flex-direction: column; align-items: stretch; }
  .jtf-hero-actions .pricing-cta,
  .jtf-cta-secondary { width: 100%; justify-content: center; }
}

/* =========================================================
   KLIKATELNÉ KARTY „Nevíte, kam se obrátit?" (celá plocha)
   ========================================================= */
a.direction-card {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
a.direction-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 30px 66px rgba(7, 24, 73, 0.14), 0 6px 16px rgba(7, 24, 73, 0.06);
  border-color: rgba(207, 139, 49, 0.45);
}
a.direction-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
a.direction-card:active { transform: translateY(-2px); }
.direction-card-arrow { display: inline-block; transition: transform var(--dur) var(--ease); }
a.direction-card:hover .direction-card-arrow { transform: translateX(5px); }
a.direction-card:hover .direction-card-link span:first-child { text-decoration: underline; text-underline-offset: 5px; }

/* =========================================================
   ROZCESTNÍKOVÉ STRÁNKY (nevim-kam / rychly-termin / mam-vysledky)
   ========================================================= */
.jtf-lead-block { max-width: 760px; margin: 0; color: #3d4963; font-size: var(--fs-lead); line-height: 1.65; }
.jtf-note-inline { margin: 16px 0 0; max-width: 760px; color: #55607a; font-size: 14.5px; line-height: 1.58; font-style: italic; }
.jtf-note-inline a,
.jtf-lead-block a,
.jtf-checklist a { color: var(--gold-deep); text-decoration: underline; text-underline-offset: 2px; font-weight: 650; }
.jtf-checklist a { font-style: normal; }

.jtf-inline-cta { margin-top: var(--sp-lg); }

.jtf-note {
  max-width: 760px;
  padding: clamp(20px, 2.6vw, 28px) clamp(22px, 3vw, 32px);
  border-radius: var(--r-lg);
  background: #fff;
  border: 1px solid rgba(207, 139, 49, 0.28);
  border-left: 4px solid var(--gold);
  box-shadow: var(--shadow-sm);
}
.jtf-note p { margin: 0; color: #26324d; font-size: var(--fs-body); line-height: 1.62; }
.jtf-note strong { color: var(--navy); }

.jtf-related { padding-top: 0; }
.jtf-related .cenik-related-links { margin-bottom: 0; }

.jtf-cta-secondary .icon-slot { width: 18px; height: 18px; flex: 0 0 auto; display: grid; place-items: center; }
.jtf-cta-secondary .icon-slot img.ic { width: 18px; height: 18px; }

/* Vložený formulář za closing CTA – vzdušný odstup od tmavého pásu */
.sit-closing + .contact-section { padding-top: clamp(48px, 6vw, 88px); }

/* =========================================================
   COOKIE LIŠTA (souhlas) + Nastavení cookies v patičce
   ========================================================= */
.cookie-banner {
  position: fixed;
  left: clamp(12px, 2.5vw, 22px);
  bottom: clamp(12px, 2.5vw, 22px);
  z-index: 1300;
  width: min(320px, calc(100vw - 24px));
  padding: 13px 15px 12px;
  background: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  backdrop-filter: saturate(140%) blur(10px);
  color: var(--navy);
  border: 1px solid rgba(7, 24, 73, 0.09);
  border-radius: 13px;
  box-shadow: 0 10px 32px rgba(7, 24, 73, 0.14);
  transform: translateY(10px);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur) var(--ease);
}
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; visibility: visible; }

.cookie-banner-inner { display: flex; flex-direction: column; gap: 10px; }
.cookie-banner-text strong { display: block; font-size: 12.5px; font-weight: 800; letter-spacing: -0.01em; margin-bottom: 2px; color: var(--navy); }
.cookie-banner-text p { margin: 0; font-size: 11.75px; line-height: 1.45; color: #5c6578; }
.cookie-banner-text a { color: var(--gold-deep); text-decoration: underline; text-underline-offset: 2px; }

.cookie-banner-actions { display: flex; gap: 6px; align-items: center; justify-content: flex-end; }
.cookie-btn {
  height: 31px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 720;
  letter-spacing: -0.01em;
  cursor: pointer;
  border: 1px solid transparent;
  transition: filter var(--dur) var(--ease), color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.cookie-btn-accept { color: var(--navy); background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%); }
.cookie-btn-accept:hover { filter: brightness(1.05); }
.cookie-btn-reject { color: #6b7488; background: none; border: 0; padding: 0 8px; text-decoration: underline; text-underline-offset: 2px; }
.cookie-btn-reject:hover { color: var(--navy); }
.cookie-btn:focus-visible { outline: 2.5px solid var(--gold); outline-offset: 2px; border-radius: 8px; }

/* Odkaz „Nastavení cookies" v patičce – styl jako ostatní bottom odkazy */
.footer-cookie-settings {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.footer-cookie-settings:hover { color: var(--gold); }

@media (max-width: 760px) {
  /* posadit malou kartičku nad sticky call bar */
  .cookie-banner { bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .cookie-banner { transition: none; }
}

/* =========================================================
   MOBILNÍ NAVIGACE – hamburger + rozbalovací menu (≤1180px)
   ========================================================= */
.nav-toggle { display: none; }
.nav-mobile-cta { display: none; }

.nav-toggle-box { position: relative; display: block; width: 26px; height: 17px; }
.nav-toggle-box > span {
  position: absolute;
  left: 0;
  right: 0;
  height: 2.5px;
  border-radius: 2px;
  background: var(--navy);
  transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease), top var(--dur) var(--ease);
}
.nav-toggle-box > span:nth-child(1) { top: 0; }
.nav-toggle-box > span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.nav-toggle-box > span:nth-child(3) { top: 100%; margin-top: -2.5px; }

.site-header.nav-open .nav-toggle-box > span:nth-child(1) { top: 50%; transform: translateY(-50%) rotate(45deg); }
.site-header.nav-open .nav-toggle-box > span:nth-child(2) { opacity: 0; }
.site-header.nav-open .nav-toggle-box > span:nth-child(3) { top: 50%; margin-top: 0; transform: translateY(-50%) rotate(-45deg); }

@media (max-width: 1520px) {
  /* Hamburger se zobrazí přesně tam, kde mizí inline nav (≤1480px) */
  .header-inner { display: flex; justify-content: space-between; align-items: center; }
  .nav-toggle {
    display: inline-flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    border-radius: var(--r-md);
    border: 1px solid rgba(7, 24, 73, 0.12);
    background: #fff;
    box-shadow: 0 2px 8px rgba(7, 24, 73, 0.05);
    cursor: pointer;
  }
  .nav-toggle:hover { border-color: rgba(207, 139, 49, 0.5); }
  .nav-toggle:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

  /* CTA v hlavičce schováme – akci nabídne menu */
  .header-cta { display: none !important; }

  /* Rozbalovací panel pod hlavičkou */
  .main-nav {
    display: flex !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    padding: 6px clamp(16px, 4vw, 32px) 18px;
    background: #fff;
    border-bottom: 1px solid rgba(8, 24, 72, 0.08);
    box-shadow: 0 26px 44px rgba(7, 24, 73, 0.16);
    transform: translateY(-14px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur) var(--ease);
  }
  .site-header.nav-open .main-nav {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .main-nav a {
    padding: 16px 6px;
    font-size: 17px;
    font-weight: 640;
    color: var(--navy);
    border-bottom: 1px solid rgba(8, 24, 72, 0.07);
  }
  .main-nav a::after { display: none; }
  .main-nav a[aria-current] { color: var(--gold-deep); }

  .nav-mobile-cta {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 15px;
    padding: 16px 18px !important;
    border: 0 !important;
    border-radius: var(--r-md);
    color: var(--navy) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
    box-shadow: 0 12px 24px rgba(207, 139, 49, 0.28);
  }
  .nav-mobile-cta .icon-slot { width: 20px; height: 20px; }
  .nav-mobile-cta .icon-slot img.ic { width: 20px; height: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .main-nav, .nav-toggle-box > span { transition: none; }
}

/* =========================================================
   SKELETON LOADING – místo „filename" placeholderů
   Jemný shimmer, dokud se obrázek nenačte; po načtení mizí
   stávající logikou (.photo-loaded / html.hero-img-loaded).
   ========================================================= */
@keyframes imgSkeletonSweep {
  0%   { background-position: -120% 0, 0 0; }
  100% { background-position: 220% 0, 0 0; }
}
.photo-placeholder,
.service-photo-placeholder,
.why-photo-placeholder {
  position: absolute;
  inset: 0;
  top: 0; right: 0; bottom: 0; left: 0;
  width: auto; height: auto;
  margin: 0;
  padding: 0;
  transform: none;
  border: 0;
  border-radius: inherit;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  font-size: 0;            /* skryje původní filename text */
  color: transparent;
  overflow: hidden;
  background:
    linear-gradient(100deg,
      rgba(255,255,255,0) 30%,
      rgba(255,255,255,0.60) 46%,
      rgba(207,139,49,0.12) 50%,
      rgba(255,255,255,0.60) 54%,
      rgba(255,255,255,0) 70%),
    #e8e3da;
  background-size: 200% 100%, 100% 100%;
  background-position: -120% 0, 0 0;
  background-repeat: no-repeat;
  animation: imgSkeletonSweep 1.4s ease-in-out infinite;
}
/* skrýt původní dekorativní ikonky placeholderů */
.photo-placeholder::before,
.service-photo-placeholder::before,
.why-photo-placeholder::before { content: none; display: none; }

/* po načtení zastavit i animaci (u hero, které jen mizí opacity) */
html.hero-img-loaded .photo-placeholder { animation: none; }

@media (prefers-reduced-motion: reduce) {
  .photo-placeholder,
  .service-photo-placeholder,
  .why-photo-placeholder { animation: none; background: #e8e3da; }
}

/* =========================================================
   KONVERZNÍ FAKTA na detailu služby + rychlost na kartách
   ========================================================= */
.sluzba-hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 4px 0 18px;
}
.sluzba-fact {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 13px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 720;
  letter-spacing: -0.01em;
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.10);
  color: var(--navy);
}
.sluzba-fact::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  border-radius: 50%;
}
.sluzba-fact-speed {
  border-color: rgba(207, 139, 49, 0.45);
  background: var(--gold-tint);
  color: var(--gold-deep);
}
.sluzba-fact-speed::before {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M13 2 4.5 13.5h5L11 22l8.5-11.5h-5L13 2Z'/%3E%3C/svg%3E") center / 10px 10px no-repeat,
    linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
}
.sluzba-fact-good::before {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px 10px no-repeat,
    linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
}
.sluzba-fact-note::before {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M11 7h2v6h-2V7Zm0 8h2v2h-2v-2Z'/%3E%3C/svg%3E") center / 12px 12px no-repeat,
    #62719035;
  background-color: #8a93a6;
}

/* Rychlost na kartě služby */
.sluzba-card-speed {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 6px;
  margin: 10px 0 2px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 780;
  letter-spacing: 0.01em;
  color: var(--gold-deep);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.35);
}

/* Ceníková poznámka „cena konečná + žádanky" */
.cenik-final-note {
  margin-top: var(--sp-lg);
  padding: clamp(18px, 2.4vw, 26px) clamp(20px, 2.8vw, 30px);
  border-radius: var(--r-lg);
  background: #fff;
  border: 1px solid rgba(207, 139, 49, 0.28);
  border-left: 4px solid var(--gold);
  box-shadow: var(--shadow-sm);
}
.cenik-final-note strong { color: var(--navy); }
.cenik-final-note p { margin: 8px 0 0; color: #3d4963; font-size: var(--fs-body); line-height: 1.6; }
.cenik-final-note-sub { border-top: 1px solid rgba(7, 24, 73, 0.07); padding-top: 10px; margin-top: 12px !important; }

/* =========================================================
   ČLENSTVÍ – srovnávací karty + homepage nabídky
   ========================================================= */
.member-plans {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2.5vw, 28px);
  align-items: start;
}
.member-plan {
  position: relative;
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.08);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  padding: clamp(22px, 3vw, 34px);
  display: flex;
  flex-direction: column;
  gap: var(--sp-md);
}
.member-plan-family { border-color: rgba(207, 139, 49, 0.45); box-shadow: 0 18px 44px rgba(207, 139, 49, 0.10); }
.member-plan-badge {
  position: absolute;
  top: -12px;
  left: clamp(22px, 3vw, 34px);
  padding: 4px 12px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.03em;
}
.member-plan-head h3 { margin: 0 0 6px; color: var(--navy); font-size: clamp(20px, 2.2vw, 25px); font-weight: 850; letter-spacing: -0.02em; }
.member-plan-price { display: flex; align-items: baseline; gap: 7px; }
.member-plan-price strong { color: var(--gold-deep); font-size: clamp(30px, 3.4vw, 40px); font-weight: 850; letter-spacing: -0.03em; }
.member-plan-price span { color: #6b7488; font-size: 14px; font-weight: 600; }
.member-plan-tag {
  margin: 0;
  padding: 11px 15px;
  border-radius: var(--r-md);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.25);
  color: var(--navy);
  font-size: 13.5px;
  font-weight: 750;
}
.member-plan .cenik-service-cta { width: 100%; justify-content: center; }

/* Homepage sekce nabídek */
.offers-section {
  padding: var(--section-pad) clamp(20px, 4vw, 60px);
  background: linear-gradient(180deg, #faf3e8 0%, #faf8f4 100%);
  border-top: 1px solid rgba(207, 139, 49, 0.14);
}
.offers-inner { width: min(var(--shell), 100%); margin: 0 auto; }
.offers-header { max-width: 640px; margin-bottom: var(--sp-lg); }
.offers-header h2 {
  margin: 0 0 10px;
  font-family: var(--font-serif);
  font-size: var(--fs-h2);
  color: var(--navy);
  line-height: 1.12;
  letter-spacing: -0.025em;
  font-weight: 700;
}
.offers-header p { margin: 0; color: #4a5570; font-size: var(--fs-lead); line-height: 1.6; }
.offers-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); align-items: stretch; }
.offer-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(20px, 2.6vw, 28px);
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.08);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  color: inherit;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.offer-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); border-color: rgba(207, 139, 49, 0.45); }
.offer-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.offer-card-featured { border-color: rgba(207, 139, 49, 0.45); }
.offer-card-badge {
  position: absolute;
  top: -11px;
  left: 20px;
  padding: 3px 11px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: #fff;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.03em;
}
.offer-card-label { color: var(--navy); font-size: 17px; font-weight: 820; letter-spacing: -0.015em; }
.offer-card-price { color: #55607a; font-size: 14px; font-weight: 600; }
.offer-card-price strong { color: var(--gold-deep); font-size: 24px; font-weight: 850; letter-spacing: -0.02em; margin-right: 3px; }
.offer-card ul { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.offer-card ul li { position: relative; padding-left: 24px; color: #3d4963; font-size: 13.5px; line-height: 1.45; }
.offer-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 9px 9px no-repeat,
    linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
}
.offer-card-link { margin-top: auto; padding-top: 12px; color: var(--gold-deep); font-size: 14.5px; font-weight: 800; }
.offer-card-link span { transition: transform var(--dur) var(--ease); display: inline-block; }
.offer-card:hover .offer-card-link span { transform: translateX(4px); }

@media (max-width: 1024px) {
  .offers-grid { grid-template-columns: 1fr; max-width: 560px; }
}
@media (max-width: 900px) {
  .member-plans { grid-template-columns: 1fr; }
}

/* =========================================================
   LIGHTBOX TÝMU – kontakty s akcemi
   ========================================================= */
.team-lightbox-contacts {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
  width: 100%;
}
.team-lightbox-contact-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  padding: 10px 12px;
  border-radius: var(--r-md);
  background: rgba(7, 24, 73, 0.045);
  border: 1px solid rgba(7, 24, 73, 0.08);
}
.team-lightbox-contact-value {
  flex: 1 1 100%;
  color: var(--navy);
  font-weight: 750;
  font-size: 14.5px;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.team-lightbox-contact-action,
.team-lightbox-contact-copy {
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 0 14px;
  border-radius: 9px;
  font-size: 13.5px;
  font-weight: 760;
  cursor: pointer;
  text-decoration: none;
  transition: filter var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.team-lightbox-contact-action {
  color: var(--navy);
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
}
.team-lightbox-contact-action:hover { filter: brightness(1.05); }
.team-lightbox-contact-copy {
  color: var(--navy);
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.16);
}
.team-lightbox-contact-copy:hover { border-color: var(--gold); }
.team-lightbox-copied {
  min-height: 18px;
  margin-top: 8px;
  color: var(--gold-deep);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

/* =========================================================
   Finální CRO detaily: copy bublina, našeptávač, tel-reveal
   ========================================================= */

/* Potvrzení kopírování — bublina přímo u tlačítka */
.contact-action-copy { position: relative; }
.contact-action-copy.is-copied::after {
  content: "Zkopírováno";
  position: absolute;
  bottom: calc(100% + 8px);
  right: 0;
  z-index: 30;
  padding: 5px 11px;
  border-radius: var(--r-pill);
  background: var(--navy);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -0.01em;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(7, 24, 73, 0.28);
  animation: copyBubbleIn 0.22s var(--ease);
  pointer-events: none;
}
@keyframes copyBubbleIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Našeptávač služeb ve formuláři */
.contact-svc-field { position: relative; }
.svc-suggest {
  position: absolute;
  z-index: 40;
  top: 100%;
  left: 0;
  right: 0;
  margin: 6px 0 0;
  padding: 6px;
  list-style: none;
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.1);
  border-radius: var(--r-md);
  box-shadow: 0 18px 44px rgba(34, 42, 66, 0.14), 0 4px 12px rgba(34, 42, 66, 0.06);
  max-height: 276px;
  overflow-y: auto;
}
.svc-suggest-item {
  padding: 10px 13px;
  border-radius: var(--r-sm);
  font-size: 14.5px;
  font-weight: 600;
  color: var(--navy);
  cursor: pointer;
  transition: background-color 0.14s ease;
}
.svc-suggest-item:hover,
.svc-suggest-item.is-active {
  background: var(--gold-tint);
  color: var(--gold-deep);
}

/* Telefonní CTA po odhalení čísla na desktopu */
.tel-reveal.is-revealed {
  border-color: rgba(207, 139, 49, 0.55);
  color: var(--gold-deep);
}

/* =========================================================
   RODINA FALL & GET UP — propojení se Sportovní klinikou,
   členství u cen, servisní objednací karta
   ========================================================= */

/* --- Badge u loga: součást rodiny Fall & Get Up --- */
.brand-family {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-self: center;
  padding-left: 16px;
  border-left: 1.5px solid rgba(7, 24, 73, 0.16);
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  line-height: 1.2;
  color: rgba(7, 24, 73, 0.66);
  white-space: nowrap;
  text-decoration: none;
  transition: color var(--dur) var(--ease);
}
.brand-family strong {
  font-family: var(--font-serif);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: var(--navy);
  transition: color var(--dur) var(--ease);
}
.brand-family:hover strong { color: var(--gold-deep); }
/* Hlavička je grid (značka | nav | CTA) — badge sdílí 1. sloupec se značkou */
@media (min-width: 1521px) {
  .header-inner { grid-template-columns: auto auto minmax(470px, 1fr) auto; }
  .header-inner > .brand { grid-column: 1; }
  .header-inner > .brand-family { grid-column: 2; margin-left: -10px; }
  .header-inner > .main-nav { grid-column: 3; }
  .header-inner > .header-cta { grid-column: 4; }
}
/* v pásmu, kde se nav tísní s CTA, badge schovat a vrátit 3 sloupce; s hamburgerem (≤1520) je hlavička flex a badge se vejde */
@media (max-width: 1820px) and (min-width: 1521px) {
  .brand-family { display: none; }
  .header-inner { grid-template-columns: minmax(340px, 400px) minmax(470px, 1fr) auto; }
  .header-inner > .main-nav { grid-column: 2; }
  .header-inner > .header-cta { grid-column: 3; }
}
@media (max-width: 640px) { .brand-family { display: none; } }

/* --- Patička: rodinný řádek --- */
.footer-family {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  width: min(var(--shell), 100%);
  margin: 0 auto;
  padding: 16px clamp(20px, 4vw, 60px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14px;
  color: rgba(255, 255, 255, 0.62);
}
.footer-family a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1.5px solid rgba(207, 139, 49, 0.7);
  transition: color var(--dur) var(--ease);
}
.footer-family a:hover { color: var(--gold); }
.footer-family-more { margin-left: auto; border-bottom-color: transparent !important; color: var(--gold) !important; }

/* --- Členství u cen --- */
.member-line {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: var(--sp-sm);
  padding: 12px 16px;
  border-radius: var(--r-md);
  background: #fff;
  border: 1px solid rgba(207, 139, 49, 0.32);
  color: var(--navy);
  text-decoration: none;
  box-shadow: var(--shadow-sm);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.member-line:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); border-color: var(--gold); }
.member-line-badge {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: var(--r-pill);
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: #fff;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.member-line-text { display: flex; flex-direction: column; gap: 2px; font-size: 14px; font-weight: 600; line-height: 1.35; }
.member-line-text strong { color: var(--gold-deep); font-weight: 800; }
.member-line-text small { font-size: 12px; font-weight: 500; color: #6b7590; }
.member-line-arrow { margin-left: auto; color: var(--gold); font-size: 20px; line-height: 1; }
.member-line-compact { padding: 10px 14px; font-size: 13px; font-weight: 600; line-height: 1.35; margin-top: 10px; }
.member-line-compact strong { color: var(--gold-deep); }

.member-strip {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 var(--sp-md);
  padding: 14px 18px;
  border-radius: var(--r-lg);
  background: linear-gradient(180deg, #fbf6ed 0%, #faf3e8 100%);
  border: 1px solid rgba(207, 139, 49, 0.3);
  color: var(--navy);
  text-decoration: none;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.member-strip:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.member-strip-badge {
  flex: 0 0 auto;
  padding: 6px 12px;
  border-radius: var(--r-pill);
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}
.member-strip-text { font-size: 14.5px; line-height: 1.4; }
.member-strip-text strong { color: var(--navy); }
.member-strip-arrow { margin-left: auto; color: var(--gold); font-size: 22px; line-height: 1; }
.cenik-main .member-strip { margin-bottom: var(--sp-lg); }

/* --- Servisní objednací karta v sidebaru --- */
.side-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: var(--sp-md);
  padding: clamp(20px, 2.2vw, 26px);
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.09);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-card);
}
.side-card-eyebrow {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.side-card-title { margin: 0; font-size: 19px; font-weight: 820; letter-spacing: -0.015em; color: var(--navy); line-height: 1.25; }
.side-card-price { font-size: 27px; font-weight: 850; letter-spacing: -0.02em; color: var(--navy); }
.side-card-includes { list-style: none; margin: 2px 0 6px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.side-card-includes li { position: relative; padding-left: 1.35em; font-size: 13.5px; color: #4b5670; line-height: 1.45; }
.side-card-includes li::before { content: "\2713"; position: absolute; left: 0; color: var(--gold); font-weight: 800; }
.side-card-cta { width: 100%; justify-content: flex-start; height: 58px; font-size: 15.5px; }
.side-card-tel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: var(--r-md);
  border: 1.5px solid rgba(7, 24, 73, 0.14);
  color: var(--navy);
  font-weight: 700;
  font-size: 14.5px;
  text-decoration: none;
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.side-card-tel:hover { border-color: var(--gold); background: var(--gold-tint); }
.side-card-tel .icon-slot { width: 22px; height: 22px; }

/* --- Propojení se Sportovní klinikou --- */
.sluzba-card-provider {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  margin: 6px 0 2px;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  background: rgba(7, 24, 73, 0.05);
  color: var(--navy);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.sluzba-card-provider::before { content: "+"; color: var(--gold); font-weight: 900; font-size: 14px; line-height: 1; }

.sk-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px 18px;
  margin: 0 0 var(--sp-sm);
  padding: 16px 20px;
  border-radius: var(--r-lg);
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.09);
  box-shadow: var(--shadow-sm);
}
.sk-strip p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #4b5670; }
.sk-strip-tag,
.sk-provider-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: var(--r-pill);
  background: var(--navy);
  color: #fff;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.sk-strip-tag::before, .sk-provider-tag::before { content: "+"; color: var(--gold); font-weight: 900; font-size: 15px; line-height: 1; }
.sk-strip-link,
.sk-provider-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: var(--r-md);
  border: 1.5px solid rgba(7, 24, 73, 0.14);
  color: var(--navy);
  font-weight: 750;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: none;
  transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.sk-strip-link:hover, .sk-provider-link:hover { border-color: var(--gold); background: var(--gold-tint); }

.sk-provider {
  margin: 0 0 var(--sp-lg);
  padding: clamp(20px, 2.4vw, 28px);
  border-radius: var(--r-xl);
  background: linear-gradient(135deg, #fbfaf7 0%, #f6f2ea 100%);
  border: 1px solid rgba(207, 139, 49, 0.22);
}
.sk-provider h3 { margin: 12px 0 8px; font-size: var(--fs-h3); font-weight: 820; color: var(--navy); letter-spacing: -0.015em; }
.sk-provider p { margin: 0 0 14px; color: #4b5670; font-size: var(--fs-body); line-height: 1.6; max-width: 62ch; }
.sk-provider-actions { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; }
.sk-provider-family { color: var(--gold-deep); font-weight: 700; font-size: 14px; text-decoration: none; }
.sk-provider-family:hover { color: var(--gold); }

/* --- Sekce Rodina (homepage) + karty ekosystému --- */
.family-section {
  padding: var(--section-pad) clamp(20px, 4vw, 60px);
  background: #fff;
  border-top: 1px solid rgba(7, 24, 73, 0.07);
}
.family-inner { width: min(var(--shell), 100%); margin: 0 auto; }
.family-head { max-width: 680px; margin-bottom: var(--sp-lg); }
.family-head h2 { margin: 0 0 10px; font-family: var(--font-serif); font-size: var(--fs-h2); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; color: var(--navy); }
.family-head p { margin: 0; color: #4b5670; font-size: var(--fs-lead); line-height: 1.55; }

.founder-note {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: var(--sp-md);
  padding: 18px 24px;
  border-radius: var(--r-lg);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.22);
}
.founder-note img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: 0 0 64px; box-shadow: 0 4px 12px rgba(7, 24, 73, 0.14); }
.founder-note p { flex: 1; margin: 0; font-size: 15px; line-height: 1.5; color: #3d4760; }
.founder-note p strong { color: var(--navy); }
.founder-note p a { color: var(--gold-deep); font-weight: 700; text-decoration: none; white-space: nowrap; }
.founder-note p a:hover { color: var(--gold); }
.founder-note-btn {
  flex: 0 0 auto;
  padding: 12px 20px;
  border-radius: var(--r-md);
  border: 1.5px solid var(--navy);
  color: var(--navy);
  font-weight: 750;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.founder-note-btn:hover { background: var(--navy); color: #fff; }

.eco-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.eco-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: clamp(22px, 2.4vw, 30px);
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.09);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-sm);
  color: inherit;
  text-decoration: none;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
a.eco-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); border-color: rgba(207, 139, 49, 0.5); }
.eco-card-current { background: linear-gradient(180deg, #fff 0%, #fbf8f2 100%); border-color: rgba(207, 139, 49, 0.45); }
.eco-tag {
  align-self: flex-start;
  padding: 5px 12px;
  border-radius: var(--r-pill);
  background: var(--gold-tint);
  color: var(--gold-deep);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.eco-card h3 { margin: 4px 0 0; font-size: 20px; font-weight: 820; letter-spacing: -0.015em; color: var(--navy); }
.eco-card p { flex: 1; margin: 0; font-size: 14.5px; line-height: 1.55; color: #4b5670; }
.eco-card p strong { color: var(--navy); }
.eco-card-link { color: var(--gold-deep); font-weight: 750; font-size: 14px; }

/* --- Stránka /rodina/ --- */
.rodina-kicker { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold-deep); }
.rodina-story-head { display: flex; align-items: center; gap: 20px; margin-bottom: var(--sp-sm); }
.rodina-story-photo { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; flex: 0 0 88px; box-shadow: 0 6px 16px rgba(7, 24, 73, 0.16); }
.rodina-story-head h2 { margin: 0; font-family: var(--font-serif); font-weight: 700; }
.rodina-story-meta { margin: 6px 0 0; font-size: 13.5px; color: #6b7590; }
.rodina-quote {
  margin: var(--sp-md) 0;
  padding: 18px 22px;
  border-left: 3px solid var(--gold);
  background: var(--gold-tint);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.rodina-quote p { margin: 0 0 6px; font-family: var(--font-serif); font-size: 19px; line-height: 1.45; color: var(--navy); }
.rodina-quote cite { font-style: normal; font-size: 13.5px; color: #6b7590; }
.rodina-steps li strong { color: var(--navy); }
.rodina-seat { margin: var(--sp-md) 0; padding: 14px 18px; border-radius: var(--r-md); background: rgba(7, 24, 73, 0.04); font-size: 14.5px; color: #4b5670; }

/* --- Responzivita --- */
@media (max-width: 1100px) {
  .eco-grid { grid-template-columns: 1fr; max-width: 620px; }
}
@media (max-width: 760px) {
  .founder-note { flex-direction: column; text-align: center; }
  .founder-note p a { white-space: normal; }
  .sk-strip { grid-template-columns: 1fr; }
  .sk-strip-link { justify-self: start; }
  .member-strip { flex-wrap: wrap; }
  .member-strip-arrow { display: none; }
  .footer-family-more { margin-left: 0; }
  .rodina-story-head { flex-direction: column; align-items: flex-start; }
}

/* side-card CTA: text se smi zalomit, sipka zustane uvnitr */
.side-card-cta { height: auto; min-height: 58px; padding: 12px 16px 12px 18px; gap: 12px; font-size: 15px; white-space: normal; }
.side-card-cta > span:nth-child(2) { flex: 1; line-height: 1.2; text-align: left; }
.side-card-cta .pricing-cta-arrow { margin-left: 0; }

/* /rodina/: bez sidebaru — obsah na plnou sirku, vycentrovany */
.rodina-layout { grid-template-columns: 1fr; }
.rodina-layout .cenik-main { max-width: none; }
.rodina-layout .sluzba-page-wrap { max-width: 1040px; margin: 0 auto; }
.rodina-layout .eco-card p { font-size: 15px; }

/* Mobil: hero-lead mel pevnych 650px bez prepisu — na telefonech pretekal doprava */
@media (max-width: 760px) {
  .hero-lead { width: 100%; max-width: 100%; }
}

/* /rodina/: zrusit prozove zuzeni (page-wrap 766px, service 68ch) — karty na plnou sirku, text citelny */
.rodina-layout .sluzba-page-wrap { width: 100%; max-width: 1080px; }
.rodina-layout .cenik-service { max-width: none; }
.rodina-layout .cenik-service > p, .rodina-layout .rodina-story p, .rodina-layout .rodina-steps { max-width: 72ch; }

/* ── Poznámka o platnosti nového ceníku (od 1. 9. 2026) ── */
.price-validity {
  margin: 10px 2px 0;
  font-size: 0.82rem;
  color: rgba(7, 24, 73, 0.55);
}
.cenik-category .price-validity { margin: 10px 6px 0; text-align: right; }

/* ── Cesta péče (6 kroků modelu dlouhodobé péče) ─────────────────────────── */
.care-path {
  margin: 0 0 var(--sp-sm);
  padding: clamp(24px, 3vw, 34px) clamp(20px, 3vw, 32px) clamp(22px, 3vw, 30px);
  border-radius: var(--r-xl);
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%);
  color: #fff;
}
.care-path-head h2 {
  margin: 0 0 8px;
  font-size: clamp(22px, 2.1vw, 30px);
  color: #fff;
}
.care-path-lead {
  margin: 0 0 20px;
  max-width: 660px;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
}
.care-path-track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
.care-step-link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  padding: 14px 14px 16px;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  text-decoration: none;
  color: #fff;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.care-step-link:hover,
.care-step-link:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(207, 139, 49, 0.65);
  transform: translateY(-2px);
}
.care-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy-dark);
  font-weight: 700;
  font-size: 14px;
  flex: none;
}
.care-step-body { display: flex; flex-direction: column; gap: 4px; }
.care-step-body strong { font-size: 15px; line-height: 1.25; font-weight: 650; }
.care-step-body small { font-size: 12.5px; line-height: 1.45; color: rgba(255, 255, 255, 0.72); }
.care-step.is-current .care-step-link {
  background: rgba(207, 139, 49, 0.18);
  border-color: var(--gold);
}
.care-step-here {
  position: absolute;
  top: -10px;
  right: 10px;
  padding: 2px 10px;
  border-radius: var(--r-pill);
  background: var(--gold);
  color: var(--navy-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* Kompaktní varianta uvnitř článku na detailu služby */
.cenik-service.care-path {
  border-bottom: none;
  padding: clamp(22px, 2.6vw, 28px) clamp(18px, 2.4vw, 26px);
  margin-block: 6px clamp(28px, 3vw, 40px);
}
.cenik-service.care-path h2 { color: #fff; }
.care-path-compact .care-path-track { grid-template-columns: repeat(3, 1fr); }
.care-path-compact .care-step-body strong { font-size: 14px; }
.care-path-compact .care-step-body small { font-size: 12px; }

@media (max-width: 1240px) {
  .care-path-track { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .care-path-track,
  .care-path-compact .care-path-track { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 460px) {
  .care-path-track,
  .care-path-compact .care-path-track { grid-template-columns: 1fr; }
  .care-step-link { flex-direction: row; align-items: flex-start; }
}

/* ── /potize/ rozcestník „Co vás trápí?" ─────────────────────────────────── */
.potize-section .sluzba-page-wrap { display: grid; gap: clamp(30px, 3.6vw, 48px); }
.potize-group > h2 {
  margin: 0 0 14px;
  font-size: clamp(20px, 1.8vw, 26px);
}
.potize-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.potize-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 44px 18px 18px;
  border-radius: var(--r-md);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 6px 18px rgba(7, 24, 73, 0.05);
  text-decoration: none;
  color: var(--navy);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.potize-card:hover,
.potize-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(207, 139, 49, 0.55);
  box-shadow: 0 12px 26px rgba(7, 24, 73, 0.10);
}
.potize-card-title { font-weight: 650; font-size: 16px; line-height: 1.3; }
.potize-card-line { font-size: 13px; line-height: 1.5; color: rgba(7, 24, 73, 0.62); }
.potize-card-arrow {
  position: absolute;
  top: 18px;
  right: 16px;
  color: var(--gold);
  font-weight: 700;
  transition: transform 0.2s ease;
}
.potize-card:hover .potize-card-arrow { transform: translateX(3px); }

.potize-fallback {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  flex-wrap: wrap;
  padding: clamp(22px, 2.6vw, 30px);
  border-radius: var(--r-lg);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.30);
}
.potize-fallback-text h2 { margin: 0 0 6px; font-size: clamp(19px, 1.7vw, 24px); }
.potize-fallback-text p { margin: 0; color: rgba(7, 24, 73, 0.70); font-size: var(--fs-body); }
.potize-fallback-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

@media (max-width: 980px) { .potize-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .potize-grid { grid-template-columns: 1fr; } }

/* ── Blok úrazového pojištění ────────────────────────────────────────────── */
.insurance-block {
  padding: clamp(22px, 2.6vw, 28px) clamp(18px, 2.4vw, 26px);
  border-radius: var(--r-lg);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.30);
  border-bottom: 1px solid rgba(207, 139, 49, 0.30) !important;
  margin-block: 6px clamp(28px, 3vw, 40px);
}
.insurance-block h2 { margin-top: 0; }
.insurance-link { margin-top: 10px; display: inline-flex; }

/* ── Homepage: rychlý výběr potíže nad kartami rozcestníku ──────────────── */
.direction-potize {
  position: relative;
  margin: 14px 0 30px;
  padding: clamp(24px, 2.6vw, 32px) clamp(20px, 3vw, 36px) clamp(22px, 2.4vw, 28px);
  border-radius: var(--r-lg);
  background: #fff;
  border: 1px solid rgba(207, 139, 49, 0.30);
  box-shadow: 0 12px 30px rgba(7, 24, 73, 0.06);
  text-align: center;
}
.direction-potize::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 130px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: var(--gold);
}
.direction-potize h3 {
  margin: 0 0 6px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 1.8vw, 26px);
  font-weight: 700;
  line-height: 1.2;
}
.direction-potize > p {
  margin: 0 0 18px;
  color: rgba(7, 24, 73, 0.62);
  font-size: var(--fs-body);
}
.direction-potize-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 18px;
}
.direction-potize-chips a {
  padding: 9px 19px;
  border-radius: var(--r-pill);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.30);
  color: var(--navy);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.direction-potize-chips a:hover,
.direction-potize-chips a:focus-visible {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
  transform: translateY(-1px);
}
.direction-potize-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gold-deep);
  font-weight: 650;
  font-size: 15px;
  text-decoration: none;
}
.direction-potize-all:hover,
.direction-potize-all:focus-visible { text-decoration: underline; }
.direction-potize-all span { transition: transform 0.18s ease; }
.direction-potize-all:hover span { transform: translateX(3px); }
@media (max-width: 560px) {
  .direction-potize-chips a { font-size: 13px; padding: 8px 15px; }
}

/* ── /rodina/ redesign: hero s fotkou, příběh, galerie zázemí ────────────── */
.rodina-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.rodina-hero-visual { position: relative; }
.rodina-hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-xl);
  box-shadow: 0 24px 60px rgba(7, 24, 73, 0.22);
}
.rodina-hero-badge {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 8px 16px;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.94);
  color: var(--navy);
  font-size: 13px;
  font-weight: 650;
  box-shadow: 0 8px 20px rgba(7, 24, 73, 0.18);
}
@media (max-width: 980px) {
  .rodina-hero-grid { grid-template-columns: 1fr; }
  .rodina-hero-visual { max-width: 640px; }
}

/* Příběh: portrét + fakta vlevo, text vpravo */
.rodina-story-grid {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: clamp(24px, 3vw, 44px);
  align-items: start;
}
.rodina-story-side { position: sticky; top: calc(var(--header-height) + 24px); display: grid; gap: 16px; }
.rodina-story-grid .rodina-story-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--r-lg);
  box-shadow: 0 14px 34px rgba(7, 24, 73, 0.16);
}
.rodina-story-facts { display: grid; gap: 8px; }
.rodina-story-facts span {
  padding: 10px 14px;
  border-radius: var(--r-md);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.25);
  font-size: 13.5px;
  color: rgba(7, 24, 73, 0.78);
}
.rodina-story-facts strong { color: var(--navy); }
@media (max-width: 760px) {
  .rodina-story-grid { grid-template-columns: 1fr; }
  .rodina-story-side { position: static; grid-template-columns: 140px 1fr; align-items: center; }
  .rodina-story-facts span { padding: 8px 12px; }
}
@media (max-width: 480px) {
  .rodina-story-side { grid-template-columns: 1fr; }
  .rodina-story-grid .rodina-story-photo { max-width: 200px; }
}

/* Galerie zázemí */
.rodina-zazemi-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 20px; }
.rodina-zazemi-facts span {
  padding: 7px 15px;
  border-radius: var(--r-pill);
  background: #fff;
  border: 1px solid var(--line);
  font-size: 13px;
  font-weight: 550;
  color: rgba(7, 24, 73, 0.78);
}
.rodina-zazemi-list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.rodina-zazemi-list li {
  padding: 16px 18px;
  border-radius: var(--r-md);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 6px 16px rgba(7, 24, 73, 0.05);
  font-weight: 600;
  color: var(--navy);
  font-size: 15px;
  position: relative;
  padding-left: 40px;
}
.rodina-zazemi-list li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gold);
}
@media (max-width: 760px) { .rodina-zazemi-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .rodina-zazemi-list { grid-template-columns: 1fr; } }

/* ── Štítky větví v sekci „Kde začít?" ───────────────────────────────────── */
.direction-branch-tag {
  display: inline-block;
  padding: 5px 15px;
  border-radius: var(--r-pill);
  background: var(--navy);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.direction-potize .direction-branch-tag { margin-bottom: 12px; }
.direction-branch {
  margin: 34px 0 22px;
  text-align: center;
}
.direction-branch p {
  margin: 10px 0 0;
  color: rgba(7, 24, 73, 0.62);
  font-size: var(--fs-body);
}

/* ── Cesta péče v2: spojnice mezi kroky, cíl zvýrazněn ───────────────────── */
.care-step { position: relative; }
.care-step-num {
  position: relative;
  z-index: 2;
  box-shadow: 0 0 0 4px rgba(207, 139, 49, 0.16);
}
.care-step:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 28px;
  left: 44px;
  right: -24px;
  height: 2px;
  border-radius: 1px;
  background: linear-gradient(90deg, rgba(207, 139, 49, 0.75), rgba(207, 139, 49, 0.28));
  pointer-events: none;
}
/* kompaktní varianta má 3 sloupce — konec řádku bez spojky */
.care-path-compact .care-step:nth-child(3)::after { display: none; }
/* plná varianta ve 3sloupcovém pásmu (jen tam — níže platí 2sloupcová pravidla) */
@media (max-width: 1240px) and (min-width: 721px) {
  .care-path:not(.care-path-compact) .care-step:nth-child(3)::after { display: none; }
}
/* 2 sloupce: spojky jen uvnitř řádků (1→2, 3→4, 5→6) */
@media (max-width: 720px) {
  .care-path .care-step:nth-child(3)::after { display: block; }
  .care-path .care-step:nth-child(2n)::after { display: none; }
}
/* 1 sloupec: svislá časová osa skrz čísla */
@media (max-width: 460px) {
  .care-path .care-step:not(:last-child)::after {
    display: block !important;
    top: 44px;
    bottom: -24px;
    left: 28px;
    right: auto;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg, rgba(207, 139, 49, 0.75), rgba(207, 139, 49, 0.28));
  }
}
/* cíl cesty (krok 6) — jen na plné variantě, ať nekonkuruje „Právě zde" */
.care-path:not(.care-path-compact) .care-step:last-child .care-step-link {
  background: linear-gradient(160deg, rgba(207, 139, 49, 0.20), rgba(207, 139, 49, 0.10));
  border-color: rgba(207, 139, 49, 0.60);
}
.care-path:not(.care-path-compact) .care-step:last-child .care-step-num {
  box-shadow: 0 0 0 4px rgba(207, 139, 49, 0.30), 0 0 18px rgba(207, 139, 49, 0.35);
}

/* ── Cesta péče: uklidňující dovětek (mapa, ne závazek) ──────────────────── */
.care-path-note {
  margin: 18px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.62);
  max-width: 860px;
}

/* ── Proklik z pásu cesty péče na /cesta-pece/ — výrazné zlaté tlačítko ──── */
.care-path-more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 13px 24px;
  border-radius: var(--r-pill);
  background: linear-gradient(180deg, #d99a43 0%, var(--gold) 100%);
  color: var(--navy-dark);
  font-weight: 750;
  font-size: 14.5px;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(207, 139, 49, 0.35);
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}
.care-path-more:hover,
.care-path-more:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(207, 139, 49, 0.45);
  filter: brightness(1.05);
}
.care-path-more span { transition: transform 0.18s ease; }
.care-path-more:hover span { transform: translateX(4px); }

/* ── /cesta-pece/ ────────────────────────────────────────────────────────── */
.cesta-krok-meta {
  margin: 2px 0 8px;
  font-size: 13.5px;
  font-weight: 650;
  color: var(--gold-deep);
}
.cesta-krok-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  color: var(--navy);
  font-weight: 650;
  font-size: 14px;
  text-decoration: none;
  border-bottom: 2px solid rgba(207, 139, 49, 0.45);
  padding-bottom: 1px;
}
.cesta-krok-link:hover { border-bottom-color: var(--gold); }
.cesta-otazky li { font-weight: 600; }
.cesta-prinosy { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) { .cesta-prinosy { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .cesta-prinosy { grid-template-columns: 1fr; } }

/* ── /cesta-pece/ v2: zigzag osa kroků, panel otázek, zlaté cíle ─────────── */
.cesta-kroky {
  position: relative;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  display: grid;
  gap: 28px;
}
.cesta-kroky::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 36px;
  bottom: 36px;
  width: 2px;
  transform: translateX(-50%);
  border-radius: 1px;
  background: linear-gradient(180deg, rgba(207, 139, 49, 0.80), rgba(207, 139, 49, 0.22));
}
.cesta-krok {
  display: grid;
  grid-template-columns: 1fr 76px 1fr;
  align-items: center;
}
.cesta-krok .sluzba-step-num {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  z-index: 1;
  width: 44px;
  height: 44px;
  font-size: 17px;
  font-weight: 700;
  box-shadow: 0 0 0 6px var(--gold-tint), 0 0 0 7px rgba(207, 139, 49, 0.28);
}
.cesta-krok .jtf-step-body {
  grid-row: 1;
  background: #fff;
  border: 1px solid rgba(7, 24, 73, 0.08);
  border-radius: var(--r-lg);
  padding: 22px 24px 20px;
  box-shadow: 0 10px 26px rgba(7, 24, 73, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cesta-krok:hover .jtf-step-body {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(7, 24, 73, 0.10);
}
.cesta-krok:nth-child(odd) .jtf-step-body { grid-column: 1; }
.cesta-krok:nth-child(even) .jtf-step-body { grid-column: 3; }
.cesta-krok-meta {
  display: inline-flex;
  align-items: center;
  margin: 4px 0 10px;
  padding: 5px 13px;
  border-radius: var(--r-pill);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.30);
  color: var(--gold-deep);
  font-size: 13px;
  font-weight: 650;
}
@media (max-width: 860px) {
  .cesta-kroky::before { left: 22px; transform: none; }
  .cesta-krok { grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; }
  .cesta-krok .sluzba-step-num {
    grid-column: 1;
    width: 36px;
    height: 36px;
    font-size: 15px;
    align-self: start;
    margin-top: 16px;
  }
  .cesta-krok .jtf-step-body,
  .cesta-krok:nth-child(odd) .jtf-step-body,
  .cesta-krok:nth-child(even) .jtf-step-body { grid-column: 2; }
}

/* Panel pěti otázek — tok se šipkami */
.cesta-otazky-panel {
  padding: clamp(26px, 3vw, 36px) clamp(20px, 3vw, 34px);
  border-radius: var(--r-xl);
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%);
}
.cesta-otazky {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 36px;
}
.cesta-otazky li {
  position: relative;
  padding: 11px 19px;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-weight: 600;
  font-size: 14.5px;
}
.cesta-otazky li:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gold);
  font-weight: 700;
  font-size: 16px;
}
@media (max-width: 620px) {
  .cesta-otazky { flex-direction: column; align-items: stretch; gap: 24px; }
  .cesta-otazky li { text-align: center; }
  .cesta-otazky li:not(:last-child)::after {
    content: "↓";
    right: auto;
    left: 50%;
    top: auto;
    bottom: -22px;
    transform: translateX(-50%);
  }
}

/* Cílové dlaždice — zlaté s fajfkou */
.cesta-prinosy li {
  background: linear-gradient(160deg, rgba(207, 139, 49, 0.16), rgba(207, 139, 49, 0.05));
  border-color: rgba(207, 139, 49, 0.35);
  font-weight: 650;
  padding: 18px 18px 18px 48px;
}
.cesta-prinosy li::before {
  content: "✓";
  width: 22px;
  height: 22px;
  left: 15px;
  border-radius: 50%;
  background: var(--gold);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── /cesta-pece/ polish: šířka osy, eyebrow, hero glow ──────────────────── */
.cesta-kroky { max-width: 1120px; margin-inline: auto; }
.cesta-krok .jtf-step-body h3 { font-size: 19px; line-height: 1.25; }
.cesta-eyebrow {
  margin: 0 0 10px;
  font-size: 12.5px;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.subpage-cesta .cenik-hero { position: relative; overflow: hidden; }
.subpage-cesta .cenik-hero::before {
  content: "";
  position: absolute;
  top: -240px;
  right: -140px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207, 139, 49, 0.15) 0%, rgba(207, 139, 49, 0) 65%);
  pointer-events: none;
}
.subpage-cesta .cenik-hero-inner { position: relative; z-index: 1; }
.subpage-cesta .jtf-section-head { max-width: 760px; }

/* ── /cesta-pece/: animované objevování kroků při scrollu ────────────────── */
/* ol se nezhasíná — jeho .is-visible jen kreslí osu shora dolů */
.cesta-kroky.reveal { opacity: 1; transform: none; }
.cesta-kroky::before {
  transform: translateX(-50%) scaleY(0);
  transform-origin: top;
  transition: transform 1.6s var(--ease-out) 0.15s;
}
.cesta-kroky.is-visible::before { transform: translateX(-50%) scaleY(1); }

/* karty přijíždějí ze své strany zigzagu */
.cesta-krok.reveal { transform: translateX(-42px); }
.cesta-krok.reveal:nth-child(even) { transform: translateX(42px); }
.cesta-krok.reveal.is-visible { transform: none; }

/* číslo dosedne s pružinkou chvilku po kartě */
.cesta-krok.reveal .sluzba-step-num {
  opacity: 0;
  transform: scale(0.35);
  transition: opacity 0.4s var(--ease-out) 0.28s,
              transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.28s;
}
.cesta-krok.reveal.is-visible .sluzba-step-num { opacity: 1; transform: scale(1); }

@media (max-width: 860px) {
  .cesta-kroky::before { transform: scaleY(0); }
  .cesta-kroky.is-visible::before { transform: scaleY(1); }
  .cesta-krok.reveal,
  .cesta-krok.reveal:nth-child(even) { transform: translateX(26px); }
  .cesta-krok.reveal.is-visible { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cesta-kroky::before { transform: none !important; transition: none; }
  .cesta-krok.reveal { transform: none; transition: none; }
  .cesta-krok.reveal .sluzba-step-num { opacity: 1; transform: none; transition: none; }
}

/* ── Select Délka masáže ─────────────────────────────────────────────────── */
select.contact-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23071849' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 42px;
  cursor: pointer;
}

/* ═══ Dynamický web: cesta se kreslí jako trasa ═══════════════════════════ */
/* výchozí stav kroků uvnitř pásu (než IO přidá .is-visible) */
.care-path.reveal .care-step { opacity: 0; transform: translateY(16px); }
.care-path.reveal .care-step .care-step-num { opacity: 0; transform: scale(0.4); }
.care-path.reveal .care-step:not(:last-child)::after { transform: scaleX(0); transform-origin: left center; }

.care-path .care-step { transition: opacity 0.45s var(--ease-out), transform 0.45s var(--ease-out); }
.care-path .care-step .care-step-num { transition: opacity 0.3s var(--ease-out), transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); }
.care-path .care-step:not(:last-child)::after { transition: transform 0.3s var(--ease-out); }

.care-path.reveal.is-visible .care-step { opacity: 1; transform: none; }
.care-path.reveal.is-visible .care-step .care-step-num { opacity: 1; transform: scale(1); }
.care-path.reveal.is-visible .care-step:not(:last-child)::after { transform: scaleX(1); }

/* kaskáda: karta → číslo → spojka, krok za krokem 1→6 */
.care-path.reveal.is-visible .care-step:nth-child(1) { transition-delay: 0.05s; }
.care-path.reveal.is-visible .care-step:nth-child(2) { transition-delay: 0.21s; }
.care-path.reveal.is-visible .care-step:nth-child(3) { transition-delay: 0.37s; }
.care-path.reveal.is-visible .care-step:nth-child(4) { transition-delay: 0.53s; }
.care-path.reveal.is-visible .care-step:nth-child(5) { transition-delay: 0.69s; }
.care-path.reveal.is-visible .care-step:nth-child(6) { transition-delay: 0.85s; }
.care-path.reveal.is-visible .care-step:nth-child(1) .care-step-num { transition-delay: 0.10s; }
.care-path.reveal.is-visible .care-step:nth-child(2) .care-step-num { transition-delay: 0.26s; }
.care-path.reveal.is-visible .care-step:nth-child(3) .care-step-num { transition-delay: 0.42s; }
.care-path.reveal.is-visible .care-step:nth-child(4) .care-step-num { transition-delay: 0.58s; }
.care-path.reveal.is-visible .care-step:nth-child(5) .care-step-num { transition-delay: 0.74s; }
.care-path.reveal.is-visible .care-step:nth-child(6) .care-step-num { transition-delay: 0.90s; }
.care-path.reveal.is-visible .care-step:nth-child(1)::after { transition-delay: 0.24s; }
.care-path.reveal.is-visible .care-step:nth-child(2)::after { transition-delay: 0.40s; }
.care-path.reveal.is-visible .care-step:nth-child(3)::after { transition-delay: 0.56s; }
.care-path.reveal.is-visible .care-step:nth-child(4)::after { transition-delay: 0.72s; }
.care-path.reveal.is-visible .care-step:nth-child(5)::after { transition-delay: 0.88s; }

/* cíl dýchá — jemný puls medailonu 6 (plná varianta) */
@keyframes cilPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(207, 139, 49, 0.30), 0 0 18px rgba(207, 139, 49, 0.35); }
  50%      { box-shadow: 0 0 0 6px rgba(207, 139, 49, 0.40), 0 0 30px rgba(207, 139, 49, 0.55); }
}
.care-path:not(.care-path-compact).is-visible .care-step:last-child .care-step-num {
  animation: cilPulse 3.4s ease-in-out 1.8s infinite;
}
/* „Právě zde" jemně pulsuje (kompaktní varianta) */
@keyframes herePulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}
.care-path.is-visible .care-step-here { animation: herePulse 2.8s ease-in-out 1.2s infinite; }

/* panely přijíždějí s nádechem měřítka */
.care-path.reveal,
.cesta-otazky-panel.reveal,
.cesta-cil.reveal { transform: translateY(24px) scale(0.985); }
.care-path.reveal.is-visible,
.cesta-otazky-panel.reveal.is-visible,
.cesta-cil.reveal.is-visible { transform: none; }

/* otázky průvodce nabíhají postupně */
.cesta-otazky-panel.reveal .cesta-otazky li { opacity: 0; transform: translateY(10px); transition: opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out); }
.cesta-otazky-panel.reveal.is-visible .cesta-otazky li { opacity: 1; transform: none; }
.cesta-otazky-panel.reveal.is-visible .cesta-otazky li:nth-child(1) { transition-delay: 0.15s; }
.cesta-otazky-panel.reveal.is-visible .cesta-otazky li:nth-child(2) { transition-delay: 0.30s; }
.cesta-otazky-panel.reveal.is-visible .cesta-otazky li:nth-child(3) { transition-delay: 0.45s; }
.cesta-otazky-panel.reveal.is-visible .cesta-otazky li:nth-child(4) { transition-delay: 0.60s; }
.cesta-otazky-panel.reveal.is-visible .cesta-otazky li:nth-child(5) { transition-delay: 0.75s; }

/* ═══ Hero žije: dýchající zlatý přísvit ═══ */
@keyframes glowBreathe {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50%      { opacity: 1;    transform: scale(1.07); }
}
.subpage-cesta .cenik-hero::before { animation: glowBreathe 9s ease-in-out infinite; }
.hero-copy { position: relative; }
.hero-copy::before {
  content: "";
  position: absolute;
  top: -120px;
  left: -160px;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207, 139, 49, 0.12) 0%, rgba(207, 139, 49, 0) 65%);
  pointer-events: none;
  z-index: -1;
  animation: glowBreathe 10s ease-in-out infinite;
}

/* ═══ CTA sheen — světelný přejezd při najetí ═══ */
.pricing-cta, .header-cta { position: relative; overflow: hidden; }
.pricing-cta::before, .header-cta::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 46%;
  left: -60%;
  background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.22) 50%, transparent 100%);
  transform: skewX(-18deg);
  transition: none;
  pointer-events: none;
}
.pricing-cta:hover::before, .header-cta:hover::before { left: 130%; transition: left 0.7s ease; }

/* ═══ FAQ: plynulé rozbalení ═══ */
@keyframes faqReveal {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: none; }
}
.faq-item[open] .faq-a { animation: faqReveal 0.3s var(--ease-out); }

/* ═══ Ikony karet ožívají při najetí ═══ */
.sluzba-card .icon-slot img, .direction-card .icon-slot img,
.sluzba-card-medallion img, .direction-icon img, .cenik-related-icon img { transition: transform 0.25s var(--ease-out); }
.sluzba-card:hover .sluzba-card-medallion img,
.direction-card:hover .direction-icon img,
.cenik-related-link:hover .cenik-related-icon img { transform: scale(1.14) rotate(-4deg); }

/* ═══ Cíl cesty — finiš v navy, kam ústí zlatá trasa ═══ */
.cesta-cil {
  position: relative;
  padding: clamp(34px, 4vw, 52px) clamp(22px, 3.4vw, 46px) clamp(30px, 3.6vw, 44px);
  border-radius: var(--r-xl);
  background: linear-gradient(150deg, var(--navy) 0%, var(--navy-dark) 100%);
  text-align: center;
  overflow: hidden;
}
.cesta-cil::after {
  content: "";
  position: absolute;
  bottom: -180px;
  right: -140px;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207, 139, 49, 0.18) 0%, rgba(207, 139, 49, 0) 65%);
  pointer-events: none;
  animation: glowBreathe 8s ease-in-out infinite;
}
.cesta-cil-vlakno {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 34px;
  background: linear-gradient(180deg, rgba(207, 139, 49, 0.0), rgba(207, 139, 49, 0.8));
}
.cesta-cil-vlakno::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 14px rgba(207, 139, 49, 0.8);
}
.cesta-cil-eyebrow { color: var(--gold); }
.cesta-cil h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(26px, 2.6vw, 38px);
  letter-spacing: -0.02em;
}
.cesta-cil-lead {
  margin: 0 auto 26px;
  max-width: 640px;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--fs-body);
  line-height: 1.65;
}
.cesta-cil-grid {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  text-align: left;
}
.cesta-cil-grid li {
  position: relative;
  padding: 18px 16px 18px 50px;
  border-radius: var(--r-md);
  background: rgba(207, 139, 49, 0.12);
  border: 1px solid rgba(207, 139, 49, 0.40);
  color: #fff;
  font-weight: 650;
  font-size: 14.5px;
  line-height: 1.4;
}
.cesta-cil-grid li::before {
  content: "✓";
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy-dark);
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* postupné rozsvícení přínosů */
.cesta-cil.reveal .cesta-cil-grid li { opacity: 0; transform: translateY(12px); transition: opacity 0.45s var(--ease-out), transform 0.45s var(--ease-out); }
.cesta-cil.reveal.is-visible .cesta-cil-grid li { opacity: 1; transform: none; }
.cesta-cil.reveal.is-visible .cesta-cil-grid li:nth-child(1) { transition-delay: 0.20s; }
.cesta-cil.reveal.is-visible .cesta-cil-grid li:nth-child(2) { transition-delay: 0.35s; }
.cesta-cil.reveal.is-visible .cesta-cil-grid li:nth-child(3) { transition-delay: 0.50s; }
.cesta-cil.reveal.is-visible .cesta-cil-grid li:nth-child(4) { transition-delay: 0.65s; }
@media (max-width: 980px) { .cesta-cil-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .cesta-cil-grid { grid-template-columns: 1fr; } }

/* svislé spojky (mobil, 1 sloupec) se kreslí shora dolů */
@media (max-width: 460px) {
  .care-path.reveal .care-step:not(:last-child)::after { transform: scaleY(0); transform-origin: top center; }
  .care-path.reveal.is-visible .care-step:not(:last-child)::after { transform: scaleY(1); }
}

/* ═══ Přístupnost: bez pohybu pro reduced-motion ═══ */
@media (prefers-reduced-motion: reduce) {
  .care-path.reveal .care-step,
  .care-path.reveal .care-step .care-step-num,
  .cesta-otazky-panel.reveal .cesta-otazky li,
  .cesta-cil.reveal .cesta-cil-grid li { opacity: 1; transform: none; transition: none; }
  .care-path.reveal .care-step:not(:last-child)::after { transform: none; transition: none; }
  .care-path .care-step-num, .care-step-here, .cesta-cil::after,
  .hero-copy::before, .subpage-cesta .cenik-hero::before { animation: none !important; }
  .pricing-cta::before, .header-cta::before { display: none; }
  .faq-item[open] .faq-a { animation: none; }
}

/* ── /jak-to-funguje/ dynamika ───────────────────────────────────────────── */
.subpage-jtf .cenik-hero { position: relative; overflow: hidden; }
.subpage-jtf .cenik-hero::before {
  content: "";
  position: absolute;
  top: -240px;
  right: -140px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207, 139, 49, 0.15) 0%, rgba(207, 139, 49, 0) 65%);
  pointer-events: none;
  animation: glowBreathe 9s ease-in-out infinite;
}
.subpage-jtf .cenik-hero-inner { position: relative; z-index: 1; }

.jtf-card { transition: transform 0.25s var(--ease-out), box-shadow 0.25s var(--ease-out); }
.jtf-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(7, 24, 73, 0.09); }
.jtf-card.reveal .jtf-checklist li { opacity: 0; transform: translateX(-12px); transition: opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out); }
.jtf-card.reveal.is-visible .jtf-checklist li { opacity: 1; transform: none; }
.jtf-card.reveal.is-visible .jtf-checklist li:nth-child(1) { transition-delay: 0.10s; }
.jtf-card.reveal.is-visible .jtf-checklist li:nth-child(2) { transition-delay: 0.18s; }
.jtf-card.reveal.is-visible .jtf-checklist li:nth-child(3) { transition-delay: 0.26s; }
.jtf-card.reveal.is-visible .jtf-checklist li:nth-child(4) { transition-delay: 0.34s; }
.jtf-card.reveal.is-visible .jtf-checklist li:nth-child(5) { transition-delay: 0.42s; }
.jtf-card.reveal.is-visible .jtf-checklist li:nth-child(6) { transition-delay: 0.50s; }

@media (prefers-reduced-motion: reduce) {
  .subpage-jtf .cenik-hero::before { animation: none !important; }
  .jtf-card.reveal .jtf-checklist li { opacity: 1; transform: none; transition: none; }
  .jtf-card, .jtf-card:hover { transform: none; }
}

/* ── Odkazy na cestu péče napříč webem ───────────────────────────────────── */
.why-benefit-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  color: var(--gold-deep);
  font-weight: 650;
  font-size: 14px;
  text-decoration: none;
}
.why-benefit-link:hover { text-decoration: underline; }
.why-benefit-link span { transition: transform 0.18s ease; }
.why-benefit-link:hover span { transform: translateX(3px); }
.cenik-cesta-note {
  margin: 8px 6px 0;
  font-size: 0.88rem;
  text-align: right;
  color: rgba(7, 24, 73, 0.65);
}
.cenik-cesta-note a { color: var(--gold-deep); font-weight: 650; text-decoration: none; }
.cenik-cesta-note a:hover { text-decoration: underline; }

/* ── Brána na cestu péče (TEP, ortopedie, MR) ────────────────────────────── */
.cesta-gate {
  margin-block: 6px clamp(28px, 3vw, 40px);
  padding: clamp(20px, 2.4vw, 26px) clamp(18px, 2.4vw, 26px);
  border-radius: var(--r-lg);
  background: linear-gradient(150deg, var(--navy) 0%, var(--navy-dark) 100%);
  position: relative;
  overflow: hidden;
}
.cesta-gate::after {
  content: "";
  position: absolute;
  top: -140px;
  right: -110px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207, 139, 49, 0.20) 0%, rgba(207, 139, 49, 0) 65%);
  pointer-events: none;
  animation: glowBreathe 8s ease-in-out infinite;
}
.cesta-gate p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 15.5px;
  line-height: 1.6;
  max-width: 640px;
}
.cesta-gate .care-path-more { position: relative; z-index: 1; margin-top: 14px; }
@media (prefers-reduced-motion: reduce) { .cesta-gate::after { animation: none !important; } }

/* ── /cesta-pece/: Proč model funguje ────────────────────────────────────── */
.cesta-why {
  list-style: none;
  margin: 26px auto 0;
  padding: 0;
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.cesta-why li {
  padding: 18px 18px 16px;
  border-radius: var(--r-md);
  background: #fff;
  border: 1px solid var(--line);
  border-top: 3px solid var(--gold);
  box-shadow: 0 8px 20px rgba(7, 24, 73, 0.05);
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: transform 0.22s var(--ease-out), box-shadow 0.22s var(--ease-out);
}
.cesta-why li:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(7, 24, 73, 0.09); }
.cesta-why li strong { color: var(--navy); font-size: 15px; line-height: 1.3; }
.cesta-why li span { color: rgba(7, 24, 73, 0.62); font-size: 13px; line-height: 1.5; }
.cesta-why.reveal li { opacity: 0; transform: translateY(12px); transition: opacity 0.45s var(--ease-out), transform 0.45s var(--ease-out); }
.cesta-why.reveal.is-visible li { opacity: 1; transform: none; }
.cesta-why.reveal.is-visible li:nth-child(1) { transition-delay: 0.10s; }
.cesta-why.reveal.is-visible li:nth-child(2) { transition-delay: 0.22s; }
.cesta-why.reveal.is-visible li:nth-child(3) { transition-delay: 0.34s; }
.cesta-why.reveal.is-visible li:nth-child(4) { transition-delay: 0.46s; }
@media (max-width: 980px) { .cesta-why { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .cesta-why { grid-template-columns: 1fr; } }

/* ── /cesta-pece/: síť specialistů + koordinátor ─────────────────────────── */
.cesta-sit {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(22px, 3vw, 40px);
  padding: clamp(24px, 3vw, 38px);
  border-radius: var(--r-xl);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.30);
}
.cesta-sit-col h2 { margin: 0 0 10px; font-size: clamp(22px, 2vw, 30px); }
.cesta-sit-col > p { margin: 0 0 16px; color: rgba(7, 24, 73, 0.72); line-height: 1.65; }
.cesta-sit-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gold-deep);
  font-weight: 700;
  text-decoration: none;
}
.cesta-sit-link:hover { text-decoration: underline; }
.cesta-sit-link span { transition: transform 0.18s ease; }
.cesta-sit-link:hover span { transform: translateX(3px); }
.cesta-sit-koord {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 22px 24px;
  box-shadow: 0 10px 24px rgba(7, 24, 73, 0.06);
}
.cesta-sit-koord h3 { margin: 0 0 12px; color: var(--navy); font-size: 18px; }
.cesta-sit-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.cesta-sit-list li { position: relative; padding-left: 30px; font-weight: 600; color: rgba(7, 24, 73, 0.80); font-size: 14.5px; }
.cesta-sit-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--gold);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cesta-sit-note { margin: 0; font-size: 13px; color: rgba(7, 24, 73, 0.60); }
.cesta-sit-note a { color: var(--gold-deep); font-weight: 650; }
@media (max-width: 860px) { .cesta-sit { grid-template-columns: 1fr; } }

/* ── Cíl: závěrečná věta ─────────────────────────────────────────────────── */
.cesta-cil-final {
  position: relative;
  z-index: 1;
  margin: 22px auto 0;
  max-width: 560px;
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: clamp(15px, 1.3vw, 17.5px);
  line-height: 1.6;
}

@media (prefers-reduced-motion: reduce) {
  .cesta-why.reveal li { opacity: 1; transform: none; transition: none; }
  .cesta-why li, .cesta-why li:hover { transform: none; }
}

/* ── Koordinátor: úvodní věta karty ──────────────────────────────────────── */
.cesta-sit-koord-lead {
  margin: 0 0 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(7, 24, 73, 0.68);
}

/* ── CTA pod kroky na /jak-to-funguje/ ───────────────────────────────────── */
.cesta-kroky-cta {
  justify-content: center;
  margin-top: clamp(26px, 3vw, 38px);
}

/* ── Karta „Péče může plynule pokračovat" — celá klikatelná ──────────────── */
a.why-benefit-card-link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform 0.22s var(--ease-out), box-shadow 0.22s var(--ease-out), border-color 0.22s var(--ease-out);
}
a.why-benefit-card-link:hover,
a.why-benefit-card-link:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(7, 24, 73, 0.10);
  border-color: rgba(207, 139, 49, 0.55);
}
a.why-benefit-card-link:hover .why-benefit-link > span:last-child { transform: translateX(3px); }
a.why-benefit-card-link:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* ── Focus stavy pro odkazy cesty (a11y doplněk auditu) ──────────────────── */
.cesta-krok-link:focus-visible,
.cesta-sit-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ── Situační podstránky: dynamika (hero glow, stagger checklistů) ───────── */
.subpage-situace .cenik-hero { position: relative; overflow: hidden; }
.subpage-situace .cenik-hero::before {
  content: "";
  position: absolute;
  top: -240px;
  right: -140px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207, 139, 49, 0.15) 0%, rgba(207, 139, 49, 0) 65%);
  pointer-events: none;
  animation: glowBreathe 9s ease-in-out infinite;
}
.subpage-situace .cenik-hero-inner { position: relative; z-index: 1; }

ul.jtf-checklist.reveal li { opacity: 0; transform: translateX(-12px); transition: opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out); }
ul.jtf-checklist.reveal.is-visible li { opacity: 1; transform: none; }
ul.jtf-checklist.reveal.is-visible li:nth-child(1) { transition-delay: 0.08s; }
ul.jtf-checklist.reveal.is-visible li:nth-child(2) { transition-delay: 0.16s; }
ul.jtf-checklist.reveal.is-visible li:nth-child(3) { transition-delay: 0.24s; }
ul.jtf-checklist.reveal.is-visible li:nth-child(4) { transition-delay: 0.32s; }
ul.jtf-checklist.reveal.is-visible li:nth-child(5) { transition-delay: 0.40s; }
ul.jtf-checklist.reveal.is-visible li:nth-child(6) { transition-delay: 0.48s; }

@media (prefers-reduced-motion: reduce) {
  .subpage-situace .cenik-hero::before { animation: none !important; }
  ul.jtf-checklist.reveal li { opacity: 1; transform: none; transition: none; }
}

/* ── /cesta-pece/: zařazení služby + odbočka pro zbloudilé návštěvníky ───── */
.cesta-scope {
  margin: 0 0 26px;
  padding: 18px 22px;
  border-radius: var(--r-md);
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  box-shadow: 0 8px 20px rgba(7, 24, 73, 0.05);
}
.cesta-scope p { margin: 0; font-size: 14.5px; line-height: 1.6; color: rgba(7, 24, 73, 0.78); }
.cesta-scope strong { color: var(--navy); }
.cesta-scope-jinam { margin-top: 8px !important; font-size: 13.5px !important; color: rgba(7, 24, 73, 0.60) !important; }
.cesta-scope-jinam a { color: var(--gold-deep); font-weight: 650; text-decoration: none; }
.cesta-scope-jinam a:hover { text-decoration: underline; }


/* ── Ceník: chip s lhůtou termínu u řádku ────────────────────────────────── */
.pricing-row-speed {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 9px;
  border-radius: var(--r-pill);
  background: var(--gold-tint);
  border: 1px solid rgba(207, 139, 49, 0.30);
  color: var(--gold-deep);
  font-style: normal;
  font-size: 11.5px;
  font-weight: 650;
  white-space: nowrap;
  vertical-align: 1px;
}
@media (max-width: 560px) {
  .pricing-row-speed { display: block; width: fit-content; margin: 4px 0 0; }
}

/* ── /sluzby/ rozcestník ─────────────────────────────────────────────────── */
.subpage-sluzby-hub .cenik-hero { position: relative; overflow: hidden; }
.subpage-sluzby-hub .cenik-hero::before {
  content: "";
  position: absolute;
  top: -240px;
  right: -140px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207, 139, 49, 0.15) 0%, rgba(207, 139, 49, 0) 65%);
  pointer-events: none;
  animation: glowBreathe 9s ease-in-out infinite;
}
.subpage-sluzby-hub .cenik-hero-inner { position: relative; z-index: 1; }
.sluzby-hub-more {
  margin: 26px 2px 0;
  font-size: 15px;
  color: rgba(7, 24, 73, 0.70);
}
.sluzby-hub-more a { color: var(--gold-deep); font-weight: 650; text-decoration: none; }
.sluzby-hub-more a:hover { text-decoration: underline; }

/* footer: nadpis-odkaz Služby drží vzhled nadpisu */
.footer-col-title-link { color: inherit; text-decoration: none; }
.footer-col-title-link:hover { text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
  .subpage-sluzby-hub .cenik-hero::before { animation: none !important; }
}

/* /sluzby/ hub: 6 karet = vyvážená mřížka 3×2 */
@media (min-width: 1100px) {
  .sluzby-hub-grid { grid-template-columns: repeat(3, 1fr); }
}


/* ── Konzultace: tenká drobečková lišta nad formulářem (form-first zůstává) ─ */
.konzultace-breadcrumb { padding-block: 14px 0; }
.konzultace-breadcrumb .breadcrumb { margin: 0; }

/* ── Podmíněná pole formuláře: hidden musí přebít display z .contact-field ── */
.contact-field[hidden] { display: none !important; }
