@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/poppins-600-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02ff, U+1e00-1eff, U+20a0-20cf, U+2c60-2c7f, U+a720-a7ff;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/poppins-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, U+02dc, U+2000-206f, U+20ac, U+2122, U+2191, U+2193, U+2212, U+2215, U+feff, U+fffd;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/poppins-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02ff, U+1e00-1eff, U+20a0-20cf, U+2c60-2c7f, U+a720-a7ff;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/poppins-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, U+02dc, U+2000-206f, U+20ac, U+2122, U+2191, U+2193, U+2212, U+2215, U+feff, U+fffd;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/poppins-800-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02ff, U+1e00-1eff, U+20a0-20cf, U+2c60-2c7f, U+a720-a7ff;
}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/poppins-800-latin.woff2") format("woff2");
  unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, U+02dc, U+2000-206f, U+20ac, U+2122, U+2191, U+2193, U+2212, U+2215, U+feff, U+fffd;
}
@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/quicksand-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02ff, U+1e00-1eff, U+20a0-20cf, U+2c60-2c7f, U+a720-a7ff;
}
@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/quicksand-latin.woff2") format("woff2");
  unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, U+02dc, U+2000-206f, U+20ac, U+2122, U+2191, U+2193, U+2212, U+2215, U+feff, U+fffd;
}
@font-face {
  font-family: "Pinyon Script";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/pinyon-script-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02ba, U+02bd-02c5, U+02c7-02cc, U+02ce-02d7, U+02dd-02ff, U+0304, U+0308, U+0329, U+1d00-1dbf, U+1e00-1e9f, U+1ef2-1eff, U+2020, U+20a0-20ab, U+20ad-20c0, U+2113, U+2c60-2c7f, U+a720-a7ff;
}
@font-face {
  font-family: "Pinyon Script";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/pinyon-script-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00ff, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, U+02dc, U+0304, U+0308, U+0329, U+2000-206f, U+20ac, U+2122, U+2191, U+2193, U+2212, U+2215, U+feff, U+fffd;
}

:root {
  --yellow: #d9ab3c;
  --cream: #ffefd0;
  --black: #000000;
  --white: #ffffff;
  --ring: rgba(0, 0, 0, 0.12);
  --shadow: 0 1.4rem 4rem rgba(0, 0, 0, 0.14);
  --radius-card: 2rem;
  --radius-nested: 1.5rem;
  --radius-control: 999px;
  --radius-accordion: 1.25rem;
  --radius: var(--radius-card);
  --inner-radius: var(--radius-nested);
  --shell: 76rem;
  --font-heading: "Poppins", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Quicksand", ui-sans-serif, system-ui, sans-serif;
  --font-accent: "Pinyon Script", "Iowan Old Style", Baskerville, Georgia, serif;
  --header-offset: calc(4.25rem + .35rem + 1px);
  color: var(--black);
  background: var(--yellow);
  font-family: var(--font-body);
  font-weight: 500;
  font-synthesis: none;
  line-height: 1.55;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--header-offset); }
body { margin: 0; min-width: 20rem; overflow-x: hidden; background: var(--yellow); color: var(--black); }
img, svg { display: block; max-width: 100%; }
.bezel { display: block; padding: .42rem; overflow: hidden; border: 1px solid var(--black); border-radius: var(--radius-card); background: var(--white); box-shadow: var(--shadow); }
.bezel img { border-radius: var(--radius-nested); }
a { color: inherit; }
h1, h2, h3, .button, .card-index, .offer-meta, .desktop-nav, .mobile-nav { font-family: var(--font-heading); }
h1, h2, h3 { text-wrap: balance; font-weight: 700; line-height: 1.08; transition: transform 280ms cubic-bezier(.2, .8, .2, 1); }
p, li, blockquote { text-wrap: pretty; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; padding: .75rem 1rem; border: 1px solid var(--black); border-radius: 999px; background: var(--white); color: var(--black); transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.shell { width: min(calc(100% - 2rem), var(--shell)); margin-inline: auto; }
.tone-honey, .section-honey { background: var(--yellow); }
.tone-cream, .tone-ink, .section-ink { background: var(--yellow); color: var(--black); }
.section-soft, .section-white, .footer { background: var(--white); color: var(--black); }

.site-header { position: sticky; top: 0; z-index: 50; padding-top: .35rem; border-bottom: 1px solid rgba(0, 0, 0, .08); background: var(--yellow); }
.nav { min-height: 4.25rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .75rem; }
.brand { width: 3rem; min-height: 3rem; display: inline-flex; align-items: center; border-radius: 50%; }
.brand img { width: 3rem; height: 3rem; object-fit: contain; }
.tone-ink .brand img { filter: none; }
.desktop-nav, .nav-cta { display: none; }
.mobile-nav { position: relative; z-index: 20; }
.mobile-nav summary { width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; display: grid; place-items: center; padding: 0; border: 1px solid var(--black); border-radius: 50%; background: var(--white); color: var(--black); cursor: pointer; list-style: none; transition: transform 260ms cubic-bezier(.2, .8, .2, 1), background-color 260ms ease; }
.mobile-nav summary:hover, .mobile-nav summary:focus-visible { background: var(--yellow); transform: translateY(-.12rem); }
.tone-ink .mobile-nav summary { background: var(--white); color: var(--black); }
.mobile-nav summary::-webkit-details-marker { display: none; }
.menu-icon { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.mobile-panel { position: absolute; top: calc(100% + .5rem); right: 0; width: min(20rem, calc(100vw - 2rem)); display: grid; gap: .2rem; padding: .65rem; border-radius: 1.5rem; background: var(--white); color: var(--black); box-shadow: var(--shadow); }
.mobile-panel a { min-height: 2.75rem; display: flex; align-items: center; padding: .55rem .9rem; border-radius: 1rem; text-decoration: none; font-weight: 700; }
.mobile-panel a:hover { background: var(--yellow); }

.home-hero { min-height: calc(100svh - 4.9rem); display: grid; align-items: center; overflow-x: clip; padding: .4rem 0 1.2rem; }
.home-hero-grid { display: grid; justify-items: center; align-items: center; gap: clamp(.9rem, 3vh, 1.65rem); }
.hero-copy { max-width: 37rem; display: grid; justify-items: center; gap: clamp(1rem, 2.2vh, 1.4rem); text-align: center; font-family: var(--font-heading); }
.hero-copy h1 { margin: 0; font-size: clamp(2.35rem, 10.5vw, 4.9rem); line-height: 1.04; letter-spacing: -.055em; }
.hero-headline > span { display: inline-block; }
.hero-headline-accent { position: relative; z-index: 0; isolation: isolate; animation: hero-headline-float 4.8s cubic-bezier(.45, 0, .55, 1) infinite alternate; }
.hero-headline-accent::after { content: ""; position: absolute; z-index: -1; left: -.04em; right: -.04em; bottom: -.03em; height: .18em; border-radius: 999px; background: var(--white); transform: scaleX(.25) rotate(-1deg); transform-origin: left center; animation: hero-headline-mark 4.8s cubic-bezier(.45, 0, .55, 1) infinite alternate; }
@keyframes hero-headline-float { from { transform: translate3d(0, 0, 0) rotate(0); } to { transform: translate3d(0, -.06em, 0) rotate(-.35deg); } }
@keyframes hero-headline-mark { from { transform: scaleX(.25) rotate(-1deg); } to { transform: scaleX(1) rotate(-1deg); } }
h1 em, h2 em { font-family: var(--font-accent); font-style: normal; font-weight: 400; letter-spacing: 0; }
.hero-intro { max-width: 39rem; margin: 0; font-family: var(--font-heading); font-size: clamp(.92rem, 2.7vw, 1.14rem); line-height: 1.45; }
.hero-copy .actions { justify-content: center; margin-top: clamp(.75rem, 1.8vh, 1.25rem); }
.hero-gallery { position: relative; width: min(86vw, 24rem); perspective: 80rem; }
.hero-gallery-stage { position: relative; width: 100%; aspect-ratio: 1; isolation: isolate; transform-style: preserve-3d; }
.hero-slide { position: absolute; inset: 0; width: 100%; aspect-ratio: 1; margin: 0; padding: .42rem; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translate3d(18%, 0, -9rem) rotateY(-10deg) rotateZ(4deg) scale(.86); transition: opacity 520ms ease, transform 760ms cubic-bezier(.2, .8, .2, 1), visibility 520ms; }
.hero-slide.is-active { z-index: 3; opacity: 1; visibility: visible; transform: translate3d(0, 0, 0) rotateY(0) rotateZ(-1deg) scale(1); }
.hero-slide.is-next { z-index: 2; opacity: .48; visibility: visible; transform: translate3d(7%, .7%, -4rem) rotateY(-5deg) rotateZ(3deg) scale(.94); }
.hero-slide.is-previous { z-index: 1; opacity: .24; visibility: visible; transform: translate3d(-5%, 1.2%, -7rem) rotateY(5deg) rotateZ(-4deg) scale(.9); }
.hero-slide picture, .hero-slide img { width: 100%; height: 100%; }
.hero-slide img { border-radius: var(--inner-radius); object-fit: cover; }
.hero-gallery-controls { position: absolute; z-index: 10; left: .8rem; right: .8rem; bottom: .8rem; display: flex; justify-content: space-between; pointer-events: none; }
.gallery-control { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; padding: 0; border: 1px solid var(--black); border-radius: 50%; background: var(--white); color: var(--black); cursor: pointer; pointer-events: auto; transition: transform 260ms cubic-bezier(.2, .8, .2, 1), background-color 260ms ease; }
.gallery-control svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gallery-control:hover, .gallery-control:focus-visible { background: var(--yellow); transform: translateY(-.18rem) rotate(-4deg); }
.gallery-control:last-child:hover, .gallery-control:last-child:focus-visible { transform: translateY(-.18rem) rotate(4deg); }
.gallery-control:active { transform: scale(.94); }

.has-js .motion-heading { opacity: 0; transform: translate3d(0, 1rem, 0); transition: opacity 520ms ease, transform 680ms cubic-bezier(.2, .8, .2, 1); }
.has-js .motion-heading.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.has-js .hero-headline.motion-heading { opacity: 1; transform: none; }

.page-hero { padding: clamp(4rem, 10vw, 8rem) 0 clamp(3rem, 8vw, 6rem); }
.page-hero-grid { display: grid; gap: 2rem; align-items: end; }
.page-hero h1 { max-width: 12ch; margin: 0; font-size: clamp(3.2rem, 13vw, 8rem); line-height: 1.04; letter-spacing: -.06em; }
.b19-page-hero { padding-block: clamp(2.5rem, 5vw, 4rem); }
.b19-page-hero h1 { font-size: clamp(3rem, 6vw, 4.9rem); }
.page-intro { max-width: 39rem; margin: 0; font-size: clamp(1.05rem, 2.2vw, 1.4rem); }
.section { padding-block: clamp(3rem, 5vw, 4rem); }
.section:not(#faq):not(#novinky):not(.about-first) { min-block-size: min(calc(100svh - 4.9rem), 48rem); display: grid; align-content: center; }
.section.b19-compact:not(#faq):not(#novinky):not(.about-first) { min-block-size: 0; }
.section-heading { max-width: 72rem; margin: 0 auto clamp(1.75rem, 3.5vw, 2.75rem); text-align: center; }
.section h2, .services-section h1 { margin: 0; font-size: clamp(2.5rem, 7vw, 5.5rem); line-height: 1.08; letter-spacing: -.05em; }
.section-heading h2 em { display: block; margin-top: .08em; line-height: 1.15; }
.heading-line { display: block; }
.heading-intro { max-width: 44rem; margin: 1.4rem auto 0; }
.editorial-grid, .offer-summary { display: grid; gap: 2rem; align-items: start; }
.prose-lead { max-width: 42rem; font-size: 1.08rem; }
.prose-lead > p:first-child { margin-top: 0; }
.prose-lead > p + p, .story-copy > p + p { margin-top: 1.5rem; }
.content-media-grid { display: grid; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.content-media-grid .prose-lead, .content-media-grid .story-copy { justify-self: end; }
.content-photo { width: 100%; aspect-ratio: 1; max-height: 28.5rem; overflow: hidden; background: var(--cream); }
.content-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.split-heading { display: grid; gap: 1.5rem; max-width: none; }
.split-heading > p { max-width: 36rem; align-self: end; }
.button { min-height: 3.25rem; width: fit-content; display: inline-flex; align-items: center; justify-content: center; gap: .85rem; padding: .55rem .6rem .55rem 1.25rem; border: 1px solid var(--black); border-radius: 999px; font-size: .84rem; font-weight: 700; text-decoration: none; cursor: pointer; touch-action: manipulation; transition: transform 280ms cubic-bezier(.32, .72, 0, 1), background-color 280ms cubic-bezier(.32, .72, 0, 1), box-shadow 280ms cubic-bezier(.32, .72, 0, 1); }
.button:hover, .button:focus-visible { transform: translateY(-.18rem) rotate(-.35deg); background: var(--yellow); }
.button:active { transform: scale(.98); }
.button:disabled { cursor: wait; opacity: .58; transform: none; }
.button-dark { background: var(--white); color: var(--black); box-shadow: 0 .42rem 0 var(--cream); }
.button-light { padding-right: 1.25rem; background: var(--white); color: var(--black); }
.button-icon { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--yellow); transition: transform 280ms cubic-bezier(.32, .72, 0, 1); }
.button:hover .button-icon, .button:focus-visible .button-icon { transform: translate(.18rem, -.08rem) scale(1.04); }
.button:hover .button-icon-calendar, .button:focus-visible .button-icon-calendar { transform: translateY(-.08rem) rotate(7deg) scale(1.04); }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.audience-grid, .offer-grid, .route-grid, .professional-grid, .fact-grid, .testimonial-grid { display: grid; gap: 1rem; }
.card-shell { padding: .45rem; border-radius: var(--radius); background: var(--white); box-shadow: inset 0 0 0 1px var(--ring); }
.offer-grid .card-shell { display: flex; }
.offer-grid .offer-card { flex: 1; }
.audience-card, .offer-card { min-height: 23rem; display: flex; flex-direction: column; padding: clamp(1.4rem, 3vw, 2.25rem); border: 1px solid var(--black); border-radius: var(--radius-card); }
.consumer, .active-offer, .featured { background: var(--yellow); }
.professional, .coming-offer, .route-card, .professional-card { background: var(--white); color: var(--black); }
.card-index { font-size: .72rem; font-weight: 800; letter-spacing: .13em; }
.audience-card h3, .offer-card h2, .offer-card h3 { max-width: 16ch; margin: 0 0 .75rem; font-size: clamp(1.85rem, 4.4vw, 3.25rem); line-height: 1.08; letter-spacing: -.045em; }
.audience-card { gap: .85rem; }
.audience-photo { width: 100%; height: clamp(11rem, 18vw, 15rem); margin-bottom: .35rem; }
.audience-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.audience-card h3 { max-width: 21ch; margin-bottom: 0; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.audience-card p { margin: 0 0 1rem; }
.choice-heading h2::after { content: "↘"; display: inline-block; margin-left: .2em; font-size: .72em; vertical-align: .08em; }
.audience-card p, .offer-card p { max-width: 34rem; }
.audience-card .button, .offer-card .button { margin-top: auto; }
.clean-list { display: grid; gap: .35rem; width: 100%; margin: .65rem 0 1.25rem; padding: 0; list-style: none; }
.clean-list li { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); align-items: start; }
.clean-list li::before { content: "—"; }
.offer-meta { display: flex; justify-content: space-between; gap: 1rem; font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.offer-card-feature { display: grid; gap: 1rem; align-items: center; margin: 1rem 0; }
.offer-card-feature > div { min-width: 0; }
.offer-card-feature .clean-list { margin-bottom: 0; }
.offer-card-photo { order: -1; width: min(100%, 16rem); aspect-ratio: 1; justify-self: center; overflow: hidden; }
.offer-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.offer-facts { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.offer-facts span { padding: .45rem .7rem; border-radius: 999px; background: rgba(255, 255, 255, .58); font-size: .75rem; font-weight: 800; }
.service-bento { display: grid; gap: 1rem; }
.why-grid { display: grid; gap: .75rem; }
.why-card { min-height: 11rem; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: clamp(1rem, 2vw, 1.35rem); border: 1px solid var(--black); border-radius: var(--radius-card); background: var(--yellow); text-align: center; transition: transform 320ms cubic-bezier(.2, .8, .2, 1), background-color 320ms ease; }
.why-card:nth-child(2n) { background: var(--yellow); }
.why-card:hover { transform: translateY(-.35rem) rotate(-.4deg); }
.why-card:nth-child(2n):hover { transform: translateY(-.35rem) rotate(.4deg); }
.why-card:hover, .why-card:focus-within { background: var(--cream); }
.why-icon { width: 2.5rem; height: 2.5rem; margin: 0; transition: transform 420ms cubic-bezier(.2, .8, .2, 1); }
.why-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.why-card:hover .why-icon { transform: rotate(-7deg) scale(1.08); }
.why-card h3 { margin: .7rem 0 .3rem; font-size: clamp(1.25rem, 2.4vw, 1.7rem); line-height: 1.12; }
.why-card p { max-width: 32rem; margin: 0; }
.why-heading h2, #nas-pribeh .section-heading h2, .contact-shell .section-heading h2 { font-size: clamp(2.5rem, 5vw, 4.5rem); }
.service-card { min-height: 22rem; display: flex; flex-direction: column; padding: 1.7rem; border-radius: var(--radius); background: var(--white); color: var(--black); box-shadow: inset 0 0 0 1px var(--ring); }
.service-card h3 { max-width: 11ch; margin: auto 0 .8rem; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.08; letter-spacing: -.045em; }
.service-card p { max-width: 32rem; color: var(--black); }
.service-card .button { margin-top: 1rem; }
.service-photo { min-height: 26rem; padding: .45rem; overflow: hidden; }
.service-photo img { width: 100%; height: 100%; border-radius: var(--inner-radius); object-fit: cover; }
.route-card, .professional-card { min-height: 22rem; display: flex; flex-direction: column; padding: clamp(.8rem, 1.5vw, 1rem); border: 1px solid var(--black); border-radius: var(--radius-card); box-shadow: none; }
.route-card h2, .route-card h3, .professional-card h2, .professional-card h3 { margin: 0 0 .8rem; font-size: clamp(1.55rem, 3vw, 2.25rem); line-height: 1.08; }
.route-card .button { margin-top: auto; }
.route-photo { width: 100%; aspect-ratio: 16 / 9; flex: 0 0 auto; box-shadow: none; }
.route-photo img { width: 100%; height: 100%; object-fit: cover; }
.b19-product-photo { width: min(100%, 28rem); aspect-ratio: 1; align-self: center; }
.b19-product-photo img { object-fit: contain; }
.b19-compact .content-media-grid .content-photo { width: min(100%, 28rem); justify-self: center; }
.route-card-content { min-height: 13rem; display: flex; flex: 1; flex-direction: column; padding: 1rem .35rem .2rem; }
.route-card-content > p { margin-top: 0; }
.route-card-content .disclosure { margin-bottom: 1rem; }
.club-card .disclosure, .professional-card .disclosure { margin-top: 1rem; }
.service-carousel, .news-carousel, .story-carousel { position: relative; width: 100%; min-width: 0; }
.service-choice-grid, .news-grid, .story-gallery { --carousel-gap: 1rem; width: 100%; min-width: 0; display: flex; gap: var(--carousel-gap); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.service-choice-grid::-webkit-scrollbar, .news-grid::-webkit-scrollbar, .story-gallery::-webkit-scrollbar { display: none; }
.service-choice-grid:focus-visible, .news-grid:focus-visible, .story-gallery:focus-visible { outline: 3px solid var(--black); outline-offset: .4rem; }
.service-choice-grid .route-card, .news-grid .news-card { min-width: 0; flex: 0 0 88%; scroll-snap-align: start; scroll-snap-stop: always; }
.course-catalog { min-block-size: calc(100svh - var(--header-offset)); display: grid; align-content: center; padding-block: clamp(2rem, 4vw, 3.5rem) clamp(2.5rem, 5vw, 4rem); }
.course-catalog .section-heading { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.course-catalog h1 { margin: 0; font-size: clamp(3.2rem, 7vw, 6rem); line-height: 1.04; letter-spacing: -.055em; }
.course-catalog .route-card { min-height: 0; }
.course-catalog .route-photo { aspect-ratio: 1; }
.course-catalog .route-photo img { object-fit: contain; }
.course-catalog .route-card-content { min-height: 0; }
.course-catalog .button:disabled { cursor: default; opacity: .7; background: var(--white); }
.carousel-controls { display: flex; justify-content: center; gap: .75rem; margin-top: 1rem; }
.carousel-control { width: 3rem; height: 3rem; display: grid; place-items: center; padding: 0; border: 1px solid var(--black); border-radius: 50%; background: var(--white); color: var(--black); cursor: pointer; touch-action: manipulation; transition: transform 220ms cubic-bezier(.2, .8, .2, 1), background-color 220ms ease, opacity 220ms ease; }
.carousel-control svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.carousel-control:hover, .carousel-control:focus-visible { background: var(--yellow); transform: translateY(-.14rem); }
.carousel-control:active { transform: scale(.94); }
.carousel-control:disabled { cursor: default; opacity: .36; transform: none; }
.recommendation-band { width: min(100%, 56rem); margin: clamp(2.75rem, 6vw, 4.5rem) auto 0; display: grid; justify-items: center; gap: 1rem; color: var(--black); text-align: center; }
.recommendation-band h2, .recommendation-band h3 { max-width: 13ch; margin: 0; font-size: clamp(2.35rem, 5.5vw, 4.5rem); line-height: 1.04; letter-spacing: -.05em; text-wrap: balance; }
.recommendation-band h2 em, .recommendation-band h3 em { display: block; margin-top: .06em; font-family: var(--font-accent); font-size: clamp(2.45rem, 5.7vw, 4.7rem); font-style: normal; font-weight: 400; line-height: 1.04; letter-spacing: 0; }
.recommendation-band p { max-width: 42rem; margin: 0; }
.recommendation-band .button { margin-top: .35rem; }
.news-card { display: grid; gap: 0; padding: clamp(.8rem, 1.5vw, 1rem); border: 1px solid var(--black); border-radius: var(--radius-card); background: var(--white); }
.news-photo { width: 100%; aspect-ratio: 16 / 9; box-shadow: none; }
.news-photo img { width: 100%; height: 100%; object-fit: cover; }
.news-card > div { min-height: 13rem; display: flex; flex-direction: column; align-items: flex-start; padding: 1rem .35rem .2rem; }
.news-card h3 { margin: 0 0 .75rem; font-size: clamp(1.5rem, 3vw, 2.15rem); }
.news-card p:first-child { margin: 0 0 .55rem; font-size: .78rem; font-weight: 700; }
.news-card .button { margin-top: auto; }
#novinky { padding-bottom: clamp(1rem, 2vw, 1.5rem); }
.shop-ribbon { overflow: hidden; background: var(--white); }
.shop-ribbon-link { position: relative; display: block; padding: clamp(3.5rem, 6vw, 5rem) 1rem; overflow: hidden; background: var(--black); color: var(--white); text-align: center; text-decoration: none; }
.shop-ribbon-link::before, .shop-ribbon-link::after { position: absolute; left: -10%; width: 120%; height: 3rem; border-radius: 50%; background: var(--white); content: ""; pointer-events: none; }
.shop-ribbon-link::before { top: -1.5rem; }
.shop-ribbon-link::after { bottom: -1.5rem; background: var(--yellow); }
.shop-ribbon-link:focus-visible { outline: none; }
.shop-ribbon-content { position: relative; z-index: 1; width: min(100%, 62rem); margin-inline: auto; display: grid; justify-items: center; gap: .85rem; }
.shop-ribbon h2 { margin: 0; font-family: var(--font-heading); font-size: clamp(1.8rem, 4.3vw, 3.5rem); line-height: 1.08; letter-spacing: -.04em; }
.shop-ribbon p { margin: 0; font-size: clamp(1rem, 1.8vw, 1.25rem); }
.shop-ribbon-cta { min-height: 3.25rem; display: inline-flex; align-items: center; gap: .75rem; margin-top: .5rem; padding: .6rem .75rem .6rem 1.25rem; border: 1px solid var(--white); border-radius: var(--radius-control); font-family: var(--font-heading); font-size: .9rem; font-weight: 700; transition: background-color 220ms ease, color 220ms ease, transform 220ms ease; }
.shop-ribbon-link:hover .shop-ribbon-cta, .shop-ribbon-link:focus-visible .shop-ribbon-cta { background: var(--white); color: var(--black); transform: translateY(-.14rem); }
.shop-ribbon-link:focus-visible .shop-ribbon-cta { outline: 3px solid var(--yellow); outline-offset: 3px; }
.shop-ribbon-link:active .shop-ribbon-cta { transform: scale(.96); }
.testimonial-heading { margin: clamp(4rem, 9vw, 7rem) 0 2rem; }
.testimonial-heading h3 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.08; }
.testimonial-card { min-height: 25rem; display: flex; flex-direction: column; padding: clamp(1.4rem, 3vw, 2rem); border-radius: var(--radius); background: var(--white); color: var(--black); }
.testimonial-card blockquote { margin: 0; font-family: var(--font-heading); font-size: clamp(1.3rem, 2.2vw, 1.7rem); font-weight: 600; line-height: 1.25; }
.testimonial-card > p { margin: auto 0 1rem; font-size: .86rem; font-weight: 700; }
.testimonial-card .disclosure { background: var(--white); }

.story-grid, .trust-location-grid { display: grid; gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.story-grid > div:first-child > p, .story-copy { max-width: 38rem; }
.story-grid .button { margin-top: 1rem; }
.story-photo-stack { position: relative; min-height: 25rem; }
.story-photo-stack picture { position: absolute; overflow: hidden; background: var(--cream); }
.story-photo-stack picture:first-child { inset: 0 18% 5rem 0; transform: rotate(-1.5deg); }
.story-photo-stack picture:last-child { right: 0; bottom: 0; width: 58%; height: 12rem; transform: rotate(2.5deg); }
.story-photo-stack img { width: 100%; height: 100%; object-fit: cover; }
.about-first { display: grid; align-content: center; padding-block: clamp(1rem, 2.5vh, 2rem) clamp(.75rem, 2vh, 1.25rem); background: var(--yellow); }
.about-first h1 { margin: 0 0 clamp(.8rem, 2vh, 1.4rem); font-size: clamp(3rem, 6vw, 5rem); line-height: 1.04; letter-spacing: -.06em; }
.about-hero-copy { max-width: 42rem; }
.about-hero-copy > p { max-width: 42rem; }
.about-hero-copy > p + p { margin-top: .9rem; }
.about-hero-lead { font-size: clamp(1.08rem, 1.65vw, 1.3rem); font-weight: 700; line-height: 1.45; }
.about-hero-summary { font-size: clamp(1rem, 1.2vw, 1.1rem); }
.about-hero-copy .actions { margin: 1.2rem 0 0; }
.content-media-grid.about-intro-grid { grid-template-columns: 1fr; row-gap: clamp(.9rem, 2vw, 1.4rem); }
.about-intro-grid .about-hero-copy { justify-self: center; }
.about-disclosure-section { padding-block: clamp(2rem, 4vw, 3.5rem); background: var(--white); }
.about-disclosures { display: grid; gap: .75rem; text-align: left; }
.about-disclosures .disclosure { background: var(--white); box-shadow: inset 0 0 0 1px var(--black); }
.about-disclosures .disclosure[open] summary:hover { background: transparent; }
.about-disclosures .disclosure summary:focus-visible { outline: none; box-shadow: inset 4px 0 0 var(--black); background: transparent; }
.about-hero-photo { width: min(100%, 32rem); aspect-ratio: 1; justify-self: center; }
.about-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
@media (max-width: 47.999rem) {
  .about-hero-copy { text-align: center; }
  .about-hero-photo { width: min(100%, 28rem); aspect-ratio: 4 / 3; }
}
.about-story-copy { max-width: 76rem; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: left; font-size: 1.08rem; }
.about-story-copy p { margin: 0 0 1rem; }
.story-gallery picture { flex: 0 0 88%; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--white); scroll-snap-align: start; scroll-snap-stop: always; }
.story-gallery img { width: 100%; height: 100%; object-fit: cover; }
.team-grid { display: grid; gap: clamp(1.5rem, 3vw, 3rem); }
.team-panel { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--black); border-radius: var(--radius-card); background: var(--white); }
.team-person { min-width: 0; text-align: center; }
.team-photo { display: block; width: min(11rem, 52vw); aspect-ratio: 1; margin: 0 auto 1.25rem; padding: .3rem; border: 1px solid var(--black); border-radius: var(--radius-control); background: var(--white); }
.team-photo img { width: 100%; height: 100%; border-radius: var(--radius-control); object-fit: cover; }
.team-person h3 { margin: 0; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.team-role { margin: .35rem 0 1rem; font-weight: 700; }
.team-person > p:last-child { margin-bottom: 0; }
.google-card, .location-card { min-height: 28rem; display: flex; flex-direction: column; padding: clamp(1.5rem, 4vw, 2.6rem); border-radius: var(--radius); box-shadow: inset 0 0 0 1px var(--ring); }
.google-card { background: var(--white); }
.location-card { background: var(--yellow); }
.google-card h2, .location-card h2 { font-size: clamp(2.4rem, 6vw, 4.4rem); }
.google-card .button, .location-card .button { margin-top: auto; }
.map-section { width: 100%; line-height: 0; }
.map-embed { display: block; width: 100%; height: clamp(18rem, 22vw, 25rem); border: 0; }
.map-consent { min-height: clamp(18rem, 22vw, 25rem); display: grid; place-content: center; justify-items: center; gap: 1rem; padding: 2rem; background: var(--white); text-align: center; line-height: 1.55; }
.map-consent p { max-width: 34rem; margin: 0; }
.map-consent-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.reviews-section { width: 100%; padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.reviews-shell { display: grid; justify-items: center; }
.reviews-shell .section-heading { max-width: 54rem; margin-bottom: 2rem; text-align: center; }
.reviews-heading h2 { max-width: 13ch; margin-inline: auto; font-size: clamp(2.5rem, 5.5vw, 4.8rem); line-height: 1.04; letter-spacing: -.05em; text-wrap: balance; }
.reviews-heading h2 em { font-size: clamp(2.5rem, 5.4vw, 4.7rem); letter-spacing: 0; }
.reviews-loader { width: min(100%, 64rem); display: grid; justify-items: center; gap: 1rem; }
.reviews-loader > p { max-width: 36rem; margin: 0; text-align: center; }
.reviews-status { min-height: 1.4rem; margin: 0; text-align: center; font-size: .88rem; }
.reviews-widget { width: 100%; min-height: 0; overflow: hidden; border-radius: var(--radius-card); background: var(--white); }
.reviews-widget:empty { display: none; }
.reviews-widget gmp-place-details { width: 100%; height: min(38rem, 72vh); margin: 0; border: 0; color-scheme: light; }
.reviews-fallback { margin-top: .25rem; text-align: center; }
.reviews-section.is-loaded .reviews-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.about-grid { display: grid; gap: 3rem; align-items: center; }
.about-images { min-height: 30rem; position: relative; }
.about-images img { position: absolute; object-fit: cover; }
.about-main { left: 0; top: 0; width: 78%; height: 25rem; transform: rotate(-2deg); }
.about-small { right: 0; bottom: 0; width: 52%; height: 15rem; transform: rotate(4deg); }
.about-copy { max-width: 36rem; }
.about-copy h2 { font-size: clamp(2.5rem, 6vw, 5rem); }
.about-copy .button { margin-top: 1rem; }
.faq-layout { display: grid; gap: 2rem; }
.faq-list { display: grid; gap: .7rem; }
.faq-more > summary { min-height: 3.25rem; width: fit-content; display: flex; align-items: center; margin: .5rem auto 0; padding: .65rem 1.25rem; border: 1px solid var(--black); border-radius: var(--radius-control); background: var(--white); cursor: pointer; font-family: var(--font-heading); font-weight: 700; list-style: none; }
.faq-more > summary::-webkit-details-marker { display: none; }
.faq-more > summary:hover, .faq-more > summary:focus-visible { background: var(--yellow); }
.faq-more .faq-hide, .faq-more[open] .faq-show { display: none; }
.faq-more[open] .faq-hide { display: inline; }
.faq-extra { display: grid; gap: .7rem; margin-top: .9rem; }
.disclosure { border-radius: var(--radius-accordion); background: rgba(255, 255, 255, .64); box-shadow: inset 0 0 0 1px var(--ring); overflow: clip; }
.disclosure summary { min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; cursor: pointer; font-weight: 700; list-style: none; }
.disclosure summary::-webkit-details-marker { display: none; }
.disclosure summary:hover, .disclosure summary:focus-visible { background: var(--yellow); }
.disclosure summary::after { content: "+"; width: 2rem; height: 2rem; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--black); border-radius: 50%; background: var(--yellow); color: var(--black); }
.disclosure[open] summary::after { content: "−"; }
.disclosure > div { padding: 0 1rem 1.2rem; }
.disclosure p:last-child, .disclosure ul:last-child { margin-bottom: 0; }
.contact-shell { max-width: 68rem; }
.contact-shell .section-heading { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.contact-shell .heading-line { white-space: nowrap; }
.contact-form { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; width: 100%; padding: clamp(1.1rem, 2.5vw, 1.75rem); border: 1px solid var(--black); border-radius: var(--radius-card); background: var(--white); }
.contact-fields { display: grid; gap: 1rem; }
.contact-form label { display: grid; gap: .45rem; font-weight: 700; }
.contact-form [hidden] { display: none; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { width: 100%; min-height: 3rem; padding: .75rem 1rem; border: 1px solid var(--black); border-radius: var(--radius-nested); background: var(--white); color: var(--black); font: inherit; }
.contact-form select { appearance: none; padding-right: 3.25rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1.2rem center; background-size: 1.25rem; }
.contact-form textarea { min-height: 6.5rem; resize: vertical; }
.contact-form input:focus-visible, .contact-form select:focus-visible, .contact-form textarea:focus-visible { outline: 3px solid var(--yellow); outline-offset: 2px; }
.contact-consent { grid-template-columns: 1.25rem 1fr; align-items: start; gap: .75rem !important; font-size: .88rem; font-weight: 500 !important; }
.contact-consent input { width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; accent-color: var(--yellow); }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-turnstile { display: flex; justify-content: center; min-height: 4.1rem; }
.contact-form .button { justify-self: center; }
.contact-status { min-height: 1.4rem; margin: 0; text-align: center; font-size: .86rem; }
.preview-note { margin-bottom: 3rem; padding: 1rem 1.2rem; border-radius: var(--radius-nested); background: var(--white); box-shadow: inset 0 0 0 1px var(--ring); }
.offer-summary > div:last-child { max-width: 39rem; }
.offer-summary .button { margin-top: 1rem; }
.fact-grid article { min-height: 18rem; padding: 1.5rem; border-radius: var(--radius); background: var(--white); box-shadow: inset 0 0 0 1px var(--ring); }
.fact-grid article > span { font-size: .75rem; font-weight: 800; }
.fact-grid h3 { margin-top: 4rem; font-size: 1.7rem; line-height: 1.1; }
.steps { display: grid; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.steps li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--ring); }
.steps strong { font-size: 1.2rem; }
.steps p { margin-bottom: 0; }
.purchase-return-section { min-block-size: calc(100svh - var(--header-offset)); display: grid; align-items: center; padding-block: clamp(1.5rem, 4vh, 3rem); background: var(--yellow); }
.purchase-return-content { display: grid; align-items: center; justify-items: center; gap: clamp(1.5rem, 4vw, 4rem); }
.purchase-return-copy { max-width: 38rem; display: grid; justify-items: center; gap: clamp(.75rem, 1.8vh, 1.25rem); text-align: center; }
.purchase-return-photo { width: min(52vw, 12rem); margin: 0; }
.purchase-return-photo img { width: 100%; height: auto; }
.purchase-return h1 { margin: 0; font-size: clamp(2.35rem, 5vw, 4.75rem); line-height: 1.04; letter-spacing: -.055em; }
.purchase-return p { max-width: 35rem; margin: 0; font-size: clamp(1rem, 1.5vw, 1.2rem); }
.purchase-return .purchase-return-lead { font-family: var(--font-heading); font-weight: 600; }
.purchase-return .actions { justify-content: center; margin-block: .25rem; }
.purchase-return .purchase-return-help { font-size: .9rem; }
@media (min-width: 64rem) {
  .purchase-return-content { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
  .purchase-return-copy { grid-column: 1; grid-row: 1; justify-items: start; text-align: left; }
  .purchase-return-photo { grid-column: 2; grid-row: 1; width: min(100%, 27rem); }
  .purchase-return .actions { justify-content: flex-start; }
}
@media (min-width: 64rem) and (max-height: 40rem) {
  .purchase-return-photo { width: min(100%, 21rem); }
  .purchase-return-section { padding-block: 1rem; }
}
.center-cta { display: flex; justify-content: center; margin-top: 1.5rem; }

.footer { padding: 4rem 0 1.5rem; }
.footer-grid { display: grid; gap: 2.5rem; }
.footer-brand { display: grid; justify-items: center; align-content: start; text-align: center; }
.footer-brand img { width: min(16rem, 72vw); height: auto; object-fit: contain; filter: none; }
.footer h2 { margin: 0 0 .75rem; font-size: 1rem; }
.footer a { min-height: 2.75rem; width: fit-content; display: flex; align-items: center; color: var(--black); text-decoration: none; }
.footer a:hover { text-decoration: underline; text-underline-offset: .25rem; }
.footer-cookie-button { min-height: 2.75rem; width: fit-content; padding: 0; border: 0; background: transparent; color: var(--black); font: inherit; cursor: pointer; text-align: left; }
.footer-cookie-button:hover { text-decoration: underline; text-underline-offset: .25rem; }
.footer p { color: var(--black); }
.footer address { margin-top: 1rem; font-style: normal; }
.footer .billing-details { padding-top: 1rem; }
.social-links { display: flex; gap: .5rem; margin-top: 1rem; }
.social-link { width: 2.75rem !important; height: 2.75rem; display: grid !important; place-items: center; border: 1px solid var(--black); border-radius: 50%; background: var(--yellow); }
.social-link svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.social-link .fill { fill: currentColor; stroke: none; }
.trust-strip { margin-top: 3rem; padding-block: 1.75rem; }
.payment-marks, .partner-strip { align-items: center; }
.payment-marks { width: min(100%, 52rem); margin-inline: auto; display: grid; grid-template-columns: repeat(5, minmax(5rem, 1fr)); justify-items: center; gap: clamp(1rem, 3vw, 2.25rem); }
.payment-mark { width: 100%; height: 3.5rem; display: grid; place-items: center; }
.payment-mark img { width: auto; height: auto; max-width: 100%; max-height: 3rem; object-fit: contain; }
.checkout-shell { max-width: 68rem; }
.simpleshop-checkout { overflow: hidden; margin-top: 2.5rem; padding: clamp(1rem, 2vw, 2rem); border-radius: var(--radius-card); background: var(--white); box-shadow: inset 0 0 0 1px var(--ring); }
.simpleshop-checkout iframe { display: block; width: 100%; min-height: 78rem; border: 0; }
.simpleshop-checkout:has(iframe) .simpleshop-status { display: none; }
.simpleshop-status { margin: 0; text-align: center; }
.simpleshop-checkout.has-error { background: var(--cream); }

.sales-hero { min-height: calc(100svh - var(--header-offset)); display: grid; align-items: center; padding-block: clamp(1rem, 2.5vh, 2rem); background: var(--yellow); }
.sales-hero-grid { display: grid; align-items: center; gap: clamp(1.5rem, 4vw, 4rem); }
.sales-hero-copy { max-width: 38rem; }
.sales-hero--compact .sales-hero-copy { max-width: none; }
.sales-hero h1 { margin: 0 0 1.25rem; font-size: clamp(3rem, 7vw, 6rem); letter-spacing: -.055em; }
.sales-hero--compact h1 { font-size: clamp(2.7rem, 5vw, 4.5rem); line-height: 1.08; }
.sales-hero-copy p { max-width: 35rem; }
.sales-intro-details { max-width: 35rem; margin-top: 1rem; border-block: 1px solid var(--black); }
.sales-intro-details summary { position: relative; padding: .8rem 2rem; list-style: none; font-weight: 700; text-align: center; cursor: pointer; }
.sales-intro-details summary::-webkit-details-marker { display: none; }
.sales-intro-details summary::after { position: absolute; right: .5rem; content: "+"; }
.sales-intro-details[open] summary::after { content: "−"; }
.sales-intro-details summary:focus-visible { outline: 3px solid var(--black); outline-offset: 2px; }
.sales-intro-details p { margin: .25rem 0 1rem; }
.sales-lead { font-family: var(--font-heading); font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight: 600; line-height: 1.4; }
.sales-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.sales-hero-meta { margin: 1.25rem 0 0; font-size: .85rem; font-weight: 700; }
.sales-hero-photo { width: min(100%, 31rem); margin: 0; justify-self: center; }
.sales-hero-photo img { width: 100%; height: auto; }
.sales-section { padding-block: clamp(3rem, 6vw, 5rem); }
.sales-section .section-heading { margin-bottom: 2rem; }
.sales-section h2 { font-size: clamp(2.5rem, 5vw, 4.5rem); }
.sales-section .heading-intro { max-width: 44rem; }
.sales-card-grid { display: grid; gap: 1rem; }
.sales-card { padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--black); border-radius: var(--radius-card); background: var(--white); }
.section-white .sales-card { background: var(--yellow); }
.sales-card h3 { margin: 0 0 .75rem; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.sales-card p { margin: 0; }
.sales-benefits .sales-card { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.sales-card-icon { width: 3rem; height: 3rem; margin-bottom: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.sales-copy { max-width: 42rem; }
.sales-copy h2 { margin: 0 0 1.25rem; }
.sales-split .sales-copy h2 { font-size: clamp(2.25rem, 3.5vw, 3.5rem); }
.sales-copy p { font-size: clamp(1rem, 1.35vw, 1.15rem); }
.sales-copy .button { margin-top: .75rem; }
.skin-analysis-quote { margin: 0; }
.skin-analysis-quote p { margin: 0 0 1rem; }
.skin-analysis-quote footer { font-family: var(--font-heading); font-weight: 700; }
.skin-analysis-note { margin-top: 1rem; }
.sales-portrait { margin: 0; justify-self: center; }
.sales-video { width: min(100%, 21.5rem); margin: 0; justify-self: center; }
.sales-video-frame { aspect-ratio: 9 / 16; overflow: hidden; border-radius: var(--radius-nested); background: var(--cream); }
.sales-video--landscape { width: min(100%, 34rem); }
.sales-video--landscape .sales-video-frame { aspect-ratio: 16 / 9; }
.home-intro-video.sales-video--landscape { width: min(100%, 54rem); margin: clamp(2rem, 4vw, 3rem) auto 0; }
.sales-video-frame:focus-within { outline: 3px solid var(--black); outline-offset: 4px; }
.sales-video-trigger { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; }
.sales-video-trigger img, .sales-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.sales-video-trigger img { transform: scale(1.02); }
.sales-video-play { position: absolute; top: 50%; left: 50%; width: 4.25rem; height: 4.25rem; display: grid; place-items: center; border: 1px solid var(--black); border-radius: 50%; background: var(--white); transform: translate(-50%, -50%); transition: background-color 240ms ease, transform 240ms ease; }
.sales-video-trigger:hover .sales-video-play, .sales-video-trigger:focus-visible .sales-video-play { background: var(--yellow); transform: translate(-50%, -50%) scale(1.08); }
.sales-video-trigger:active .sales-video-play { transform: translate(-50%, -50%) scale(.95); }
.sales-video-label { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding: .65rem 1rem; border: 1px solid var(--black); border-radius: var(--radius-control); background: var(--white); font-family: var(--font-heading); font-weight: 700; text-align: center; }
.editorial-hero .sales-hero-copy { max-width: 40rem; }
.editorial-hero .editorial-video.sales-video--landscape { width: min(100%, 40rem); }
.editorial-hero .editorial-video:not(.sales-video--landscape) { width: min(100%, 21.5rem); }
.editorial-carousel { min-width: 0; width: min(100%, 35rem); justify-self: center; }
.editorial-gallery picture { flex: 0 0 75%; aspect-ratio: 3 / 4; }
.editorial-gallery img { object-fit: contain; }
.editorial-carousel .carousel-controls { margin-top: .75rem; }
.editorial-prose { max-width: 47rem; margin-inline: auto; font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.7; }
.editorial-prose h2 { margin: 2rem 0 .75rem; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.editorial-prose p { margin: 0 0 1.25rem; }
.editorial-prose ul { margin: 0 0 1.5rem; padding-left: 1.5rem; }
.editorial-prose a { color: inherit; text-underline-offset: .18em; overflow-wrap: anywhere; }
.editorial-more { margin-top: 1.5rem; border-block: 1px solid var(--black); }
.editorial-more summary { min-height: 3rem; padding: .75rem 1rem; font-family: var(--font-heading); font-weight: 700; cursor: pointer; }
.editorial-more summary:focus-visible { outline: 3px solid var(--black); outline-offset: 2px; }
.editorial-more > div { padding: .75rem 0 1rem; }
.editorial-actions { gap: .75rem; flex-wrap: wrap; margin-top: 2rem; }
@media (min-width: 48rem) { .editorial-gallery picture { flex-basis: calc((100% - 1rem) / 2); } }
@media (max-width: 47.999rem) { .editorial-hero .sales-hero-copy { text-align: center; } .editorial-gallery picture { flex-basis: 82%; } }
.golden-video-grid { display: grid; justify-items: center; gap: clamp(1.5rem, 3vw, 2rem); max-width: 44rem; margin-inline: auto; }
.golden-video-grid .sales-video { width: min(100%, 20rem); }
.golden-video-grid figcaption { padding: .75rem .25rem .15rem; font-size: .9rem; text-align: center; }
.golden-video-grid figcaption a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.golden-video-grid figcaption a:focus-visible { outline: 3px solid var(--black); outline-offset: 3px; }
.consultation-offer-grid .professional-route-card { gap: .75rem; }
.consultation-offer-grid .professional-route-card p { margin: 0; }
.consultation-price { font-family: var(--font-heading); font-size: clamp(1.2rem, 2vw, 1.5rem); }
.consultation-detail { width: 100%; margin-block: .5rem 1rem; border-radius: var(--radius-accordion); background: var(--white); }
.consultation-detail ul { margin: .25rem 0 1rem; padding-left: 1.25rem; text-align: left; }
.consultation-detail li + li { margin-top: .4rem; }
.consultation-related-grid { display: grid; gap: 1rem; }
.consultation-related-card { display: grid; justify-items: center; align-content: start; gap: 1rem; text-align: left; }
.consultation-related-card h3, .consultation-related-card p { margin: 0; }
.consultation-related-photo { width: min(100%, 14rem); margin: 0; }
.consultation-related-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: center 35%; }
.consultation-related-copy { display: flex; flex-direction: column; align-items: flex-start; gap: .85rem; min-width: 0; }
.consultation-related-copy .button { margin-top: auto; }
.pavla-education-list { display: grid; gap: .7rem; margin: 1rem 0 0; padding-left: 1.25rem; }
.pavla-education-list strong { display: inline-block; min-width: 3.4rem; }
.sales-faq-list { display: grid; gap: .75rem; }
.sales-faq .disclosure { background: var(--yellow); }
.club-faq .disclosure, .club-plan-list .disclosure { background: var(--white); box-shadow: inset 0 0 0 1px var(--black); }
.club-plan-list { display: grid; gap: .75rem; }
.club-plan .simpleshop-checkout { margin-top: 0; box-shadow: none; }
.sales-checkout { scroll-margin-top: 5rem; }
.sales-checkout .heading-intro { max-width: 100%; text-wrap: balance; }
.sales-checkout-pending { display: flex; justify-content: center; }
.professional-route-grid { display: grid; gap: 1rem; }
.professional-specialization-track, .professional-review-track { --carousel-gap: 1rem; display: flex; gap: var(--carousel-gap); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.professional-specialization-track::-webkit-scrollbar, .professional-review-track::-webkit-scrollbar { display: none; }
.professional-specialization-track:focus-visible, .professional-review-track:focus-visible { outline: 3px solid var(--black); outline-offset: .4rem; }
.professional-specialization-card, .professional-review-track .testimonial-card { min-width: 0; flex: 0 0 88%; scroll-snap-align: start; scroll-snap-stop: always; }
.professional-specialization-card { display: flex; flex-direction: column; }
.professional-specialization-photo { width: 100%; margin: 0 0 1.4rem; aspect-ratio: 16 / 9; overflow: hidden; }
.professional-specialization-photo img { width: 100%; height: 100%; object-fit: cover; }
.professional-review-track .testimonial-card { min-height: 18rem; }
.professional-review-track .testimonial-card > .button { align-self: flex-start; margin-top: 1rem; }
.professional-offer-grid { display: grid; gap: clamp(1.25rem, 3vw, 3rem); align-items: stretch; }
.professional-price-card { display: grid; align-content: center; gap: 1rem; width: 100%; }
.professional-price-card p { margin: 0; }
.professional-price-card > .button { justify-self: start; }
.professional-offer-photo { width: 100%; margin: 0; aspect-ratio: 1 / 1; }
.professional-offer-photo img { width: 100%; height: 100%; object-fit: cover; }
.testimonial-person { display: flex; align-items: center; gap: .85rem; margin-top: auto; padding-top: 1.5rem; }
.testimonial-person img { width: 3.5rem; height: 3.5rem; flex: 0 0 auto; border: 1px solid var(--black); border-radius: 50%; object-fit: cover; }
.testimonial-person p { display: grid; gap: .12rem; margin: 0; font-size: .86rem; line-height: 1.3; }
.testimonial-person span { font-weight: 500; }
#vyber-cesty .heading-intro { max-width: 80rem; }
.professional-route-card { display: flex; flex-direction: column; align-items: flex-start; }
.professional-route-photo { width: 100%; margin: 0 0 1.5rem; }
.professional-route-photo img { width: 100%; max-height: 21rem; object-fit: cover; }
.professional-route-card p { margin-bottom: 1.5rem; }
.professional-route-card .button { margin-top: auto; }
.professional-module-list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.professional-module-list li { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: .75rem; padding: 1rem; border: 1px solid var(--black); border-radius: var(--radius-nested); background: var(--yellow); }
.professional-module-list li > span { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 700; }
.professional-module-list strong { display: block; margin-bottom: .3rem; font-family: var(--font-heading); }
.professional-module-list p, .professional-form-note { margin: 0; }
.professional-form-note { font-size: .86rem; }
.professional-form-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.professional-form-actions .button { min-width: 13rem; }
@media (min-width: 48rem) {
  .sales-hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
  .sales-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .professional-route-grid, .professional-module-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .golden-video-grid, .consultation-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .professional-specialization-card, .professional-review-track .testimonial-card { flex-basis: calc((100% - var(--carousel-gap)) / 2); }
  .content-media-grid.sales-split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 3vw, 3rem); }
}
@media (min-width: 64rem) {
  .consultation-related-card { grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); align-items: center; align-content: stretch; justify-items: stretch; }
  .consultation-related-photo { width: 100%; }
  .professional-offer-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
  .sales-section:has(.sales-video) { min-height: calc(100svh - var(--header-offset)); display: grid; align-items: center; }
  .sales-video { width: min(100%, 25rem); }
  .sales-video--landscape { width: min(100%, 34rem); }
}
@media (max-width: 63.999rem) {
  .professional-price-card { text-align: center; }
  .professional-price-card > .button { justify-self: center; }
  .professional-offer-photo { width: min(100%, 36rem); justify-self: center; }
}
@media (min-width: 75rem) {
  #moduly .heading-intro, #specializace .heading-intro { max-width: none; white-space: nowrap; }
  #prubeh-konzultace .heading-intro { max-width: min(100%, 70rem); }
  #pro-vas .recommendation-band { width: 100%; max-width: 72rem; }
  #pro-vas .recommendation-band p { max-width: none; white-space: nowrap; }
}
@media (max-width: 74.999rem) {
  .consultation-related-card { text-align: center; }
  .consultation-related-copy { align-items: center; }
}
@media (min-width: 48rem) and (max-width: 63.999rem) {
  .consultation-related-grid { grid-template-columns: 1fr; }
  .consultation-related-card { grid-template-columns: minmax(0, 10rem) minmax(0, 1fr); align-items: center; justify-items: stretch; }
  .consultation-related-photo { width: 100%; }
}
@media (max-width: 47.999rem) {
  .sales-hero { min-height: 0; }
  .sales-hero-copy, .sales-copy { margin-inline: auto; text-align: center; }
  .sales-actions { justify-content: center; }
  .sales-hero-photo { width: min(100%, 24rem); }
  .sales-card { text-align: center; }
  .professional-review-track .testimonial-card { flex-basis: 100%; align-items: center; justify-content: center; text-align: center; }
  .professional-review-track .testimonial-card blockquote { font-size: clamp(1.125rem, 5vw, 1.3rem); line-height: 1.3; }
  .professional-review-track .testimonial-person { flex-direction: column; margin-top: 0; }
  .professional-price-card > .button, .professional-review-track .testimonial-card > .button { justify-self: center; align-self: center; }
  .professional-form-actions .button { width: 100%; }
}
@media (min-width: 64rem) and (max-height: 40rem) {
  .sales-hero { padding-block: .5rem; }
  .sales-hero-photo { width: min(100%, 30rem); }
}
@media (min-width: 48rem) and (max-height: 48rem) {
  .sales-section:has(.sales-video) { padding-block: 2rem; }
}
@media (min-width: 64rem) and (max-height: 40rem) {
  .sales-section:has(.sales-video) { padding-block: 1.25rem; }
}
.partner-strip { padding-block: 1.75rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 1.5rem; }
.partner-mark { flex: 1 1 9rem; min-height: 4.5rem; display: grid; place-items: center; padding: .5rem 1rem; }
.partner-mark img { width: auto; max-width: min(100%, 10rem); max-height: 3.5rem; object-fit: contain; }
.footer-bottom { margin-top: 2.25rem; padding-top: 1rem; text-align: center; font-size: .82rem; }
.footer-bottom p { margin: 0; }

.cookie-consent[hidden] { display: none; }
.cookie-consent { position: fixed; z-index: 200; right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); width: min(calc(100% - 1.5rem), 27rem); max-height: calc(100svh - 1.5rem); overflow-y: auto; display: grid; gap: .85rem; padding: clamp(1rem, 2.5vw, 1.25rem); border: 1px solid var(--black); border-radius: var(--radius-nested); background: var(--white); box-shadow: var(--shadow); opacity: 0; transform: translate3d(0, 1rem, 0); transition: opacity 220ms ease, transform 320ms cubic-bezier(.2, .8, .2, 1); }
.cookie-consent.is-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.cookie-consent-copy { display: grid; gap: .4rem; }
.cookie-consent h2 { margin: 0; font-size: clamp(1.45rem, 4.5vw, 1.8rem); line-height: 1.05; letter-spacing: -.03em; }
.cookie-consent p { margin: 0; font-size: clamp(.9rem, 3.8vw, 1rem); line-height: 1.45; }
.cookie-consent-copy > a { width: fit-content; font-size: .84rem; font-weight: 700; text-underline-offset: .2rem; }
.cookie-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.cookie-consent-actions .button { width: 100%; min-height: 3rem; padding-inline: .65rem; font-size: .78rem; white-space: nowrap; }

/* Public, no-data membership concept. Authentication and paid content live in a separate Worker. */
.member-section { min-block-size: auto !important; padding-block: clamp(2rem, 5vw, 4.5rem); }
.member-shell { display: grid; gap: clamp(1.25rem, 3vw, 2.5rem); }
.member-preview-note,
.member-account-bar,
.member-course-overview,
.member-course-card,
.member-library-grid > article,
.member-lesson-layout,
.member-day-plan { border: 1px solid var(--black); background: var(--white); }
.member-preview-note { display: grid; gap: .15rem; padding: 1rem 1.15rem; border-radius: var(--radius-nested); }
.member-preview-note strong,
.member-kicker,
.member-course-meta,
.member-state,
.lesson-number { font-family: var(--font-heading); }
.member-preview-note p,
.member-account-bar p,
.member-course-card p,
.member-library-grid p,
.member-lesson-copy p,
.member-day-plan p { margin: 0; }
.member-back { min-height: 2.75rem; width: fit-content; display: inline-flex; align-items: center; gap: .55rem; padding: .6rem .9rem; border: 1px solid var(--black); border-radius: var(--radius-control); background: var(--white); text-decoration: none; font-family: var(--font-heading); font-size: .82rem; font-weight: 700; }
.member-back:hover { background: var(--yellow); }
.member-course-grid,
.member-library-grid { display: grid; gap: 1rem; }
.member-course-card { min-height: 22rem; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.4rem, 3vw, 2rem); border-radius: var(--radius-card); }
.member-course-card h3 { max-width: 15ch; margin: auto 0 .8rem; font-size: clamp(1.65rem, 3vw, 2.4rem); }
.member-course-card p { max-width: 38ch; }
.member-course-card .button { margin-top: 1.4rem; }
.member-course-card.is-primary { border-width: 2px; }
.member-course-meta { display: flex; flex-wrap: wrap; gap: .45rem .75rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; }
.member-course-meta span { padding: .32rem .55rem; border: 1px solid var(--black); border-radius: var(--radius-control); }
.member-account-bar { display: grid; gap: 1.25rem; align-items: center; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--radius-card); }
.member-account-bar strong { display: block; margin-bottom: .35rem; font-family: var(--font-heading); font-size: 1.15rem; }
.member-course-overview { display: grid; gap: 1.5rem; align-items: end; padding: clamp(1.4rem, 4vw, 2.75rem); border-radius: var(--radius-card); }
.member-course-overview h2,
.member-lesson-layout h2,
.member-day-plan h2 { margin: .35rem 0 .75rem; font-size: clamp(2rem, 5vw, 4rem); letter-spacing: -.045em; }
.member-course-overview > div:first-child > p { max-width: 55ch; margin: 0; }
.member-kicker { display: inline-block; font-size: .75rem; font-weight: 800; letter-spacing: .09em; }
.member-summary { display: grid; gap: .35rem; padding: 1.25rem; border: 1px solid var(--black); border-radius: var(--radius-nested); background: var(--yellow); }
.member-summary strong { font-family: var(--font-heading); font-size: clamp(1.9rem, 4vw, 3rem); }
.lesson-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.lesson-tile { min-height: 8.5rem; display: flex; flex-direction: column; justify-content: flex-end; gap: .15rem; padding: 1rem; border: 1px solid var(--black); border-radius: var(--radius-nested); background: var(--white); opacity: .58; }
a.lesson-tile { color: var(--black); text-decoration: none; }
.lesson-tile.is-available { opacity: 1; }
.lesson-tile.is-available:hover { background: var(--yellow); transform: translateY(-.15rem); }
.lesson-number { margin-bottom: auto; font-size: 1.6rem; font-weight: 800; }
.lesson-tile > span:last-child { font-size: .76rem; line-height: 1.35; }
.member-library-grid > article { min-height: 20rem; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.4rem, 3vw, 2rem); border-radius: var(--radius-card); }
.member-library-grid h2 { max-width: 10ch; margin: auto 0 .75rem; font-size: clamp(1.8rem, 3vw, 2.65rem); }
.member-state { margin-top: 1.25rem; padding: .4rem .65rem; border: 1px solid var(--black); border-radius: var(--radius-control); font-size: .72rem; font-weight: 700; }
.member-lesson-layout { display: grid; gap: 0; overflow: hidden; border-radius: var(--radius-card); }
.member-video-placeholder { min-height: 23rem; display: grid; place-content: center; justify-items: center; gap: .75rem; padding: 2rem; background: var(--yellow); text-align: center; }
.member-video-placeholder > span { width: 4rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--black); border-radius: 50%; background: var(--white); font-size: 1.2rem; }
.member-video-placeholder p { max-width: 34ch; margin: 0; }
.member-lesson-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.4rem, 4vw, 3rem); }
.member-lesson-copy h3 { margin: 1.75rem 0 .5rem; font-size: 1.15rem; }
.member-lesson-copy .button { margin-top: 1.5rem; }
.member-lesson-copy .button:disabled { cursor: not-allowed; opacity: .55; }
.member-day-plan { padding: clamp(1.4rem, 4vw, 3rem); border-radius: var(--radius-card); }
.member-day-plan header { max-width: 48rem; margin-bottom: 2rem; }
.member-day-plan ol { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.member-day-plan li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; padding: 1.15rem; border: 1px solid var(--black); border-radius: var(--radius-nested); background: var(--yellow); }
.member-day-plan li > span { width: 2.75rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--black); border-radius: 50%; background: var(--white); font-family: var(--font-heading); font-weight: 800; }

@media (min-width: 40rem) {
  .lesson-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .member-account-bar { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (min-width: 60rem) {
  .member-course-grid,
  .member-library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .member-course-overview { grid-template-columns: minmax(0, 1.5fr) minmax(16rem, .5fr); }
  .lesson-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .member-lesson-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
}

@media (min-width: 48rem) {
  .offer-card-feature { grid-template-columns: minmax(0, 1fr) minmax(9rem, 12rem); }
  .offer-card-photo { order: initial; width: 100%; }
  .shell { width: min(calc(100% - 4rem), var(--shell)); }
  .page-hero-grid, .editorial-grid, .offer-summary, .content-media-grid { grid-template-columns: 1.05fr .95fr; gap: clamp(3rem, 7vw, 7rem); }
  .content-media-grid.reverse > :first-child { order: 2; }
  .content-media-grid.reverse > :last-child { order: 1; }
  .split-heading { grid-template-columns: 1.25fr .75fr; }
  .audience-grid, .offer-grid, .route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .professional-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-bento { grid-template-columns: 1.2fr .8fr; }
  .service-wide { grid-row: span 2; min-height: 45rem; }
  .about-grid, .story-grid, .trust-location-grid { grid-template-columns: 1.05fr .95fr; }
  .story-gallery picture { flex-basis: calc((100% - var(--carousel-gap)) / 2); }
  .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .faq-layout { grid-template-columns: .8fr 1.2fr; }
  .contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-message { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); }
  .service-choice-grid .route-card, .news-grid .news-card { flex-basis: calc((100% - var(--carousel-gap)) / 2); }
}

@media (min-width: 56rem) and (max-width: 74.999rem) {
  .home-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: clamp(2rem, 5vw, 4rem); }
  .hero-gallery { width: min(100%, 28rem); }
}

@media (hover: hover) and (pointer: fine) {
  .has-js .motion-heading.is-visible:hover,
  .has-js .hero-headline.motion-heading:hover,
  h3:hover { transform: translate3d(0, -.08em, 0); }
}

@media (max-width: 74.999rem) {
  .page-hero-grid, .editorial-grid, .offer-summary, .split-heading, .about-grid, .story-grid, .trust-location-grid, .faq-layout, .content-media-grid, .contact-grid { justify-items: center; text-align: center; }
  .section-heading, .testimonial-heading, .about-copy, .story-copy, .prose-lead, .split-heading > p, .offer-summary > div:last-child { margin-inline: auto; text-align: center; }
  .audience-card, .offer-card, .route-card, .professional-card, .service-card, .testimonial-card, .google-card, .location-card, .fact-grid article, .why-card, .team-card, .member-course-card { align-items: center; text-align: center; }
  .route-card-content, .news-card > div, .professional-route-card, .professional-specialization-card { align-items: center; text-align: center; }
  .route-card-content { width: 100%; }
  .route-card-content .disclosure { width: 100%; }
  .professional-route-card > .button, .professional-review-track .testimonial-card > .button { align-self: center; }
  .audience-card h3, .offer-card h2, .offer-card h3, .route-card h2, .route-card h3, .professional-card h2, .professional-card h3, .service-card h3, .testimonial-heading h3 { margin-inline: auto; }
  .clean-list { width: fit-content; margin-inline: auto; text-align: left; }
  .actions, .offer-facts, .social-links, .partner-strip { justify-content: center; }
  .trust-strip { text-align: center; }
  .contact-form .button { justify-self: center; }
  .footer-grid { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .footer-grid > div { display: grid; justify-items: center; }
  .footer-cookie-button { text-align: center; }
  .footer-bottom { display: grid; justify-content: center; text-align: center; }
}

@media (max-width: 36rem) {
  .map-consent-actions { width: 100%; }
  .map-consent-actions .button { width: 100%; }
}

@media (min-width: 64rem) {
  .about-first { min-block-size: calc(100svh - var(--header-offset)); }
  .about-first h1 { margin-bottom: .7rem; }
  .about-hero-copy > p + p { margin-top: .7rem; }
  .about-hero-copy .actions { margin-top: .8rem; }
  .content-media-grid.about-intro-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); }
  .about-intro-grid .about-hero-copy { justify-self: start; margin-inline: 0; text-align: left; }
  .about-hero-copy .actions { justify-content: flex-start; }
  .about-disclosures .disclosure summary { min-height: 3.125rem; padding-block: .55rem; }
  .about-hero-photo { width: min(100%, clamp(21rem, 28vw, 28rem)); justify-self: end; }
}

@media (min-width: 75rem) {
  #vyber-cesty .heading-intro { white-space: nowrap; }
  #pro-vas, #kontakt { padding-block: 3.25rem; }
  .nav { grid-template-columns: auto 1fr auto; }
  .brand { width: 3.25rem; }
  .brand img { width: 3.25rem; height: 3.25rem; }
  .desktop-nav { display: flex; justify-content: center; gap: .1rem; }
  .desktop-nav a { min-height: 2.75rem; display: inline-flex; align-items: center; padding: .55rem .85rem; border-radius: 999px; text-decoration: none; font-size: .77rem; font-weight: 700; }
  .desktop-nav a:hover { background: rgba(255, 255, 255, .52); }
  .tone-ink .desktop-nav a:hover { background: rgba(255, 255, 255, .12); }
  .utility { opacity: .72; }
  .nav-cta { display: inline-flex; }
  .mobile-nav { display: none; }
  .home-hero { min-height: calc(100svh - 4.9rem); padding: .8rem 0 1.5rem; }
  .home-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(24rem, 1.1fr); justify-items: stretch; gap: clamp(2.5rem, 4.5vw, 4rem); }
  .hero-copy { justify-items: start; text-align: left; }
  .hero-copy h1 { font-size: clamp(4.8rem, 6.6vw, 6.65rem); }
  .hero-copy .actions { justify-content: flex-start; }
  .hero-gallery { width: min(100%, 38rem); justify-self: end; }
  .professional-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .testimonial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .why-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-choice-grid .route-card { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); min-height: 20rem; }
  .service-choice-grid .route-photo { height: 100%; aspect-ratio: auto; }
  .service-choice-grid .route-card-content { min-height: 0; padding: .75rem .35rem .2rem .9rem; }
  .service-choice-grid .route-card h3 { font-size: clamp(1.45rem, 2vw, 1.9rem); }
  .news-grid .news-card { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); min-height: 20rem; }
  .news-grid .news-photo { height: 100%; aspect-ratio: auto; }
  .news-grid .news-card > div { min-height: 0; padding: .75rem .35rem .2rem .9rem; }
  .news-grid .news-card h3 { font-size: clamp(1.45rem, 2vw, 1.9rem); }
  .why-heading .heading-line, .why-heading em { white-space: nowrap; }
}

@media (min-width: 64rem) {
  .course-catalog .route-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .course-catalog .route-photo { height: auto; aspect-ratio: 1; align-self: center; }
  .course-catalog .route-card-content { min-height: 0; padding: .75rem .35rem .2rem .9rem; }
}

@media (max-height: 44rem) and (min-width: 75rem) {
  :root { --header-offset: calc(3.75rem + .35rem + 1px); }
  .site-header { padding-top: .35rem; }
  .nav { min-height: 3.75rem; }
  .home-hero { min-height: calc(100svh - 4.1rem); padding: .35rem 0 .75rem; }
  .home-hero-grid { gap: clamp(2rem, 5vw, 4.5rem); }
  .hero-copy { gap: .65rem; }
  .hero-copy .actions { margin-top: .5rem; }
  .hero-copy h1 { font-size: clamp(4rem, 6vw, 5.25rem); }
  .hero-intro { max-width: 35rem; font-size: 1rem; }
  .hero-gallery { width: min(60vh, 30rem); }
  .button { min-height: 3rem; }
}

@media (max-width: 47.999rem) {
  .actions { justify-content: center; }
  .actions .button { width: 100%; }
  .about-main, .about-small { transform: none; }
  .section:not(#faq) { min-block-size: auto; }
  .contact-shell .section-heading h2 { font-size: clamp(1.8rem, 8.3vw, 3rem); }
  .contact-shell .heading-line { white-space: nowrap; }
  .story-photo-stack { min-height: 0; display: grid; gap: 1rem; }
  .story-photo-stack picture,
  .story-photo-stack picture:first-child,
  .story-photo-stack picture:last-child { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; transform: none; }
  .story-photo-stack img { min-height: 0; }
  .payment-marks { grid-template-columns: 1fr; gap: 1rem; }
  .payment-mark { width: min(7.5rem, 52vw); height: 3.25rem; }
  .partner-strip { flex-direction: column; flex-wrap: nowrap; align-items: center; gap: 1rem; }
  .partner-mark { flex: 0 0 auto; width: min(11rem, 70vw); }
  .trust-strip { margin-top: 2.5rem; padding-block: 2rem; }
  .partner-strip { padding-block: 2rem; gap: 1.5rem; }
  .footer-bottom { gap: 1rem; margin-top: 1.5rem; padding-top: 1.5rem; }
}

@media (max-height: 43rem) and (max-width: 47.999rem) {
  .home-hero { align-items: start; padding-top: .15rem; }
  .home-hero-grid { gap: .6rem; }
  .hero-copy { gap: .45rem; }
  .hero-copy h1 { font-size: clamp(2.05rem, 10vw, 3rem); }
  .hero-intro { font-size: .86rem; line-height: 1.34; }
  .hero-gallery { width: min(62vw, 14.5rem); }
  .gallery-control { width: 2.75rem; height: 2.75rem; }
  .button { min-height: 2.85rem; }
}

@media (max-height: 38rem) and (max-width: 47.999rem) {
  :root { --header-offset: calc(3.4rem + .2rem + 1px); }
  .site-header { padding-top: .2rem; }
  .nav { min-height: 3.4rem; }
  .home-hero { min-height: calc(100svh - 3.6rem); padding-bottom: .25rem; }
  .home-hero-grid { gap: .35rem; }
  .hero-copy { gap: .25rem; }
  .hero-intro { font-size: .8rem; line-height: 1.28; }
  .hero-gallery { width: min(50vw, 10rem); }
  .hero-gallery-controls { inset-inline: .35rem; bottom: .35rem; }
  .gallery-control { width: 2.75rem; height: 2.75rem; }
  .button { min-height: 2.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-headline-accent, .hero-headline-accent::after { animation: none; }
  .hero-headline-accent::after { transform: scaleX(1) rotate(-1deg); }
  .has-js .motion-heading { opacity: 1; transform: none; }
  .has-js .motion-heading.is-visible:hover,
  .has-js .hero-headline.motion-heading:hover,
  h3:hover { transform: none; }
}
