:root {
  --color-bg: #f7f3ec;
  --color-bg-soft: #fcfaf6;
  --color-surface: #fffdf9;
  --color-surface-strong: #f2ebe2;
  --color-cashmere: #dfd1bf;
  --color-cashmere-deep: #cdb79d;
  --color-cappuccino: #b79b7f;
  --color-accent: #8a725f;
  --color-accent-hover: #755f4f;
  --color-text: #3d3935;
  --color-heading: #2f2c29;
  --color-muted: #69635d;
  --color-line: rgba(72, 63, 55, 0.14);
  --color-focus: #765f4e;
  --font-display: "Segoe UI Variable Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-body: "Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --container: 1240px;
  --header-height: 84px;
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 36px;
  --shadow-soft: 0 26px 70px rgba(80, 66, 54, 0.1);
  --shadow-card: 0 14px 38px rgba(80, 66, 54, 0.08);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --z-header: 40;
  --z-menu: 35;
  --z-dialog: 100;
  --z-banner: 80;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 22px);
  text-size-adjust: 100%;
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body.menu-open,
body.dialog-open {
  overflow: hidden;
}

main {
  display: block;
}

button,
a,
summary {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  border: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

p,
h1,
h2,
h3,
h4,
blockquote {
  margin-top: 0;
}

h1,
h2,
h3,
h4 {
  color: var(--color-heading);
  font-family: var(--font-display);
  font-weight: 560;
  line-height: 1.04;
}

h1 em,
h2 em {
  color: var(--color-accent);
  font-weight: inherit;
}

img,
iframe {
  max-width: 100%;
}

::selection {
  background: var(--color-cashmere);
  color: var(--color-heading);
}

:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 12px 16px;
  border-radius: 10px;
  background: var(--color-heading);
  color: white;
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

.container {
  width: min(calc(100% - 48px), var(--container));
  margin-inline: auto;
}

.section {
  padding-block: clamp(92px, 9vw, 144px);
}

.eyebrow {
  margin-bottom: 22px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    color 220ms ease,
    box-shadow 220ms ease,
    transform 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button:active {
  transform: translateY(0) scale(0.98);
}

.button--primary {
  background: var(--color-accent);
  box-shadow: 0 10px 24px rgba(104, 83, 66, 0.17);
  color: #fff;
}

.button--primary:hover {
  background: var(--color-accent-hover);
}

.button--secondary {
  border-color: var(--color-line);
  background: rgba(255, 253, 249, 0.86);
  color: var(--color-heading);
}

.button--secondary:hover,
.button--quiet:hover {
  border-color: rgba(112, 88, 68, 0.3);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.button--quiet {
  border-color: var(--color-line);
  background: transparent;
  color: var(--color-accent-hover);
}

.button--small {
  min-height: 44px;
  padding: 10px 18px;
  font-size: 14px;
}

.button--compact {
  min-height: 44px;
  padding: 10px 17px;
  font-size: 14px;
}

.page-progress {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: calc(var(--z-header) + 1);
  height: 2px;
  pointer-events: none;
}

.page-progress__bar {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-accent);
  transform: scaleX(0);
  transform-origin: left center;
}

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: var(--z-header);
  height: var(--header-height);
  border-bottom: 1px solid transparent;
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.site-header.is-scrolled {
  border-color: var(--color-line);
  background: rgba(252, 250, 246, 0.86);
  box-shadow: 0 8px 30px rgba(72, 62, 54, 0.05);
  -webkit-backdrop-filter: blur(20px) saturate(135%);
  backdrop-filter: blur(20px) saturate(135%);
}

.site-header__inner {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.brand--wordmark {
  min-width: 150px;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 3px;
  line-height: 1;
}

.brand__word {
  color: var(--color-heading);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 650;
  letter-spacing: 0.18em;
  white-space: nowrap;
}

.brand--wordmark > small {
  color: var(--color-muted);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.brand__mark {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(102, 81, 64, 0.28);
  border-radius: 50%;
  color: var(--color-accent);
  font-family: var(--font-display);
  font-size: 24px;
}

.brand__copy {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}

.brand__copy strong {
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 21px;
  font-weight: 400;
}

.brand__copy small {
  margin-top: 4px;
  color: var(--color-muted);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2vw, 30px);
}

.desktop-nav a,
.phone-link {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #4c4742;
  font-size: 14px;
  font-weight: 600;
}

.desktop-nav a::after {
  position: absolute;
  right: 0;
  bottom: 7px;
  left: 0;
  height: 1px;
  background: var(--color-accent);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms ease;
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}


.header-socials {
  display: flex;
  align-items: center;
  gap: 6px;
}

.header-socials .icon-button {
  width: 42px;
  height: 42px;
}

.header-socials .icon-button svg {
  width: 19px;
  height: 19px;
}

.mobile-menu__socials {
  display: flex;
  gap: 10px;
  margin: 12px 0 18px;
}

.mobile-menu__socials a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-accent-hover);
  font-size: 13px;
  font-weight: 700;
}

.phone-link:hover {
  color: var(--color-accent-hover);
}

.icon-button {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  background: rgba(255, 253, 249, 0.78);
  color: var(--color-heading);
  cursor: pointer;
  transition:
    transform 200ms var(--ease-out),
    background-color 200ms ease,
    box-shadow 200ms ease;
}

.icon-button svg,
.search-field svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.icon-button:hover {
  transform: translateY(-2px) scale(1.04);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.icon-button:active {
  transform: scale(0.96);
}

.menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  background: var(--color-surface);
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 19px;
  height: 1.5px;
  background: var(--color-heading);
  transform-origin: center;
  transition: transform 220ms ease, opacity 180ms ease;
}

.menu-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(6.5px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.35);
}

.menu-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-6.5px) rotate(-45deg);
}

.mobile-menu {
  position: fixed;
  top: var(--header-height);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-menu);
  display: flex;
  visibility: hidden;
  flex-direction: column;
  padding: 36px max(24px, calc((100vw - var(--container)) / 2));
  background: #f7f3ec;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-14px);
  transition:
    opacity 220ms ease,
    transform 260ms var(--ease-out),
    visibility 0s linear 260ms;
}

.mobile-menu.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}

.mobile-menu__nav {
  display: flex;
  flex-direction: column;
}

.mobile-menu__nav a {
  display: flex;
  min-height: 58px;
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: clamp(27px, 6vw, 38px);
}

.mobile-menu__footer {
  margin-top: auto;
  padding-top: 28px;
}

.mobile-menu__footer p {
  color: var(--color-muted);
  font-size: 14px;
}

.mobile-menu__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.hero {
  position: relative;
  display: flex;
  min-height: 100svh;
  overflow: hidden;
  align-items: center;
  padding: calc(var(--header-height) + 70px) 0 80px;
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 253, 249, 0.98) 0, rgba(255, 253, 249, 0.5) 28%, transparent 52%),
    radial-gradient(circle at 88% 12%, rgba(223, 209, 191, 0.82) 0, rgba(223, 209, 191, 0.3) 36%, transparent 62%),
    radial-gradient(circle at 68% 96%, rgba(205, 183, 157, 0.34) 0, rgba(205, 183, 157, 0.13) 36%, transparent 62%),
    linear-gradient(145deg, #fcfaf6 0%, #f6f0e7 56%, #eee3d6 100%);
}

.hero__mesh {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 34% 42%, rgba(255, 255, 255, 0.48), transparent 28%),
    radial-gradient(circle at 76% 52%, rgba(255, 250, 243, 0.38), transparent 31%);
  pointer-events: none;
}

.hero__grid {
  position: relative;
  display: grid;
  min-height: 650px;
  grid-template-columns: minmax(0, 1.04fr) minmax(380px, 0.8fr);
  align-items: center;
  gap: clamp(56px, 7vw, 112px);
}

.hero__content {
  position: relative;
  z-index: 1;
  will-change: transform, opacity;
}

.hero__title {
  max-width: 780px;
  margin-bottom: 30px;
  font-size: clamp(58px, 6.3vw, 96px);
  letter-spacing: -0.045em;
}

.hero__title em {
  display: block;
  font-style: italic;
}

.hero__lead {
  max-width: 640px;
  margin-bottom: 34px;
  color: #59544f;
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.7;
}

.hero__actions,
.final-cta__actions,
.booking-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-top: 46px;
  padding-top: 24px;
  border-top: 1px solid var(--color-line);
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 600;
}

.hero__trust > span {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
}

.hero__trust > a {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
  border-radius: 8px;
}

.hero__trust > a strong {
  text-decoration: underline;
  text-decoration-color: rgba(138, 114, 95, 0.36);
  text-underline-offset: 4px;
  transition: color 180ms ease, text-decoration-color 180ms ease;
}

.hero__trust > a:hover strong {
  color: var(--color-accent-hover);
  text-decoration-color: currentColor;
}

.hero__trust strong {
  color: var(--color-heading);
  font-size: 14px;
}

.hero__trust small {
  color: var(--color-muted);
  font-size: 11px;
  font-weight: 500;
}

.hero__visual {
  position: relative;
}

.hero-photo,
.image-slot {
  display: flex;
  min-height: 580px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 30px;
  border: 10px solid rgba(255, 253, 249, 0.72);
  border-radius: var(--radius-lg);
  transform: translate3d(0, var(--hero-parallax, 0px), 0) scale(var(--hero-scale, 1));
  background:
    radial-gradient(circle at 50% 24%, rgba(255, 253, 249, 0.8), transparent 27%),
    linear-gradient(145deg, #eadfD2 0%, #d8c6b2 46%, #bca188 100%);
  box-shadow: var(--shadow-soft);
  color: var(--color-heading);
  text-align: center;
  transition:
    transform 500ms var(--ease-out),
    box-shadow 400ms ease,
    filter 400ms ease;
}

.hero__visual:hover .hero-photo {
  transform: translate3d(0, var(--hero-parallax, 0px), 0) scale(var(--hero-scale, 1));
  box-shadow: 0 34px 86px rgba(80, 66, 54, 0.15);
  filter: saturate(1.04);
}

.image-slot__label {
  font-family: var(--font-display);
  font-size: 27px;
}

.image-slot small {
  margin-top: 5px;
  color: #5f554d;
}

.hero-note {
  position: absolute;
  right: -24px;
  bottom: 36px;
  display: flex;
  max-width: 300px;
  flex-direction: column;
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 18px;
  background: rgba(255, 253, 249, 0.88);
  box-shadow: var(--shadow-card);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.hero-note strong {
  color: var(--color-heading);
  font-size: 14px;
}

.hero-note span {
  margin-top: 3px;
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.45;
}

.statement {
  background: var(--color-bg-soft);
}

.statement__grid {
  display: grid;
  grid-template-columns: 0.3fr 1fr;
  gap: 60px;
}

.statement__copy h2,
.section-heading h2,
.science__intro h2,
.faq__intro h2,
.review-summary h2,
.final-cta h2 {
  margin-bottom: 28px;
  font-size: clamp(46px, 5.5vw, 76px);
  letter-spacing: -0.035em;
}

.statement__copy p {
  max-width: 760px;
  margin-bottom: 0;
  color: var(--color-muted);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.72;
}

.knowledge-file {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 36px;
  margin-top: 64px;
  padding: clamp(26px, 4vw, 42px);
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 92% 15%, rgba(205, 183, 157, 0.3), transparent 35%),
    var(--color-surface);
  box-shadow: var(--shadow-card);
  transition:
    transform 300ms var(--ease-out),
    box-shadow 300ms ease;
}

.knowledge-file:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 54px rgba(80, 66, 54, 0.12);
}

.knowledge-file::after {
  position: absolute;
  top: -80px;
  right: 16%;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(138, 114, 95, 0.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.knowledge-file .eyebrow {
  margin-bottom: 12px;
}

.knowledge-file h3 {
  margin-bottom: 9px;
  font-size: clamp(28px, 3vw, 40px);
}

.knowledge-file p {
  max-width: 680px;
  margin-bottom: 0;
  color: var(--color-muted);
  font-size: 15px;
}

.knowledge-file .is-pending {
  position: relative;
  z-index: 1;
  cursor: not-allowed;
  opacity: 0.68;
  pointer-events: none;
}

.knowledge-file__status {
  grid-column: 1 / -1;
  min-height: 0;
  margin: -18px 0 0 !important;
  color: var(--color-accent-hover) !important;
  font-size: 13px !important;
}

.knowledge-file [hidden],
.knowledge-file__status[hidden] {
  display: none !important;
}

/* Przebieg pierwszej wizyty i konkretne dowody zaufania */
.visit-path {
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 12%, rgba(223, 209, 191, 0.48), transparent 34%),
    linear-gradient(155deg, #fcfaf6 0%, #f4eee6 100%);
}

.visit-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.visit-steps::before {
  position: absolute;
  top: 33px;
  right: 10%;
  left: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-cashmere-deep), transparent);
  content: "";
}

.visit-steps li {
  position: relative;
  min-height: 280px;
  padding: 28px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: rgba(255, 253, 249, 0.9);
  box-shadow: 0 10px 32px rgba(80, 66, 54, 0.05);
  transition: transform 280ms var(--ease-out), box-shadow 280ms ease, border-color 280ms ease;
}

.visit-steps li:hover {
  transform: translateY(-6px);
  border-color: rgba(138, 114, 95, 0.28);
  box-shadow: var(--shadow-card);
}

.visit-steps li > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(138, 114, 95, 0.22);
  border-radius: 50%;
  background: var(--color-surface);
  color: var(--color-accent-hover);
  font-size: 12px;
  font-weight: 750;
}

.visit-steps h3 {
  margin: 66px 0 12px;
  font-size: clamp(26px, 2.4vw, 34px);
}

.visit-steps p {
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
}

.trust-facts {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) 1.8fr;
  align-items: start;
  gap: clamp(34px, 6vw, 86px);
  margin-top: 72px;
  padding: clamp(30px, 5vw, 58px);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}

.trust-facts__title .eyebrow {
  margin-bottom: 16px;
}

.trust-facts__title h3 {
  margin: 0;
  font-size: clamp(34px, 4vw, 54px);
  letter-spacing: -0.035em;
}

.trust-facts__title em {
  color: var(--color-accent);
  font-weight: inherit;
}

.trust-facts ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 26px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.trust-facts li {
  display: flex;
  min-height: 92px;
  justify-content: center;
  flex-direction: column;
  border-bottom: 1px solid var(--color-line);
}

.trust-facts li strong {
  color: var(--color-heading);
  font-size: 16px;
}

.trust-facts li span {
  color: var(--color-muted);
  font-size: 13px;
}

.knowledge-panel__leadership {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--color-line);
  color: var(--color-heading) !important;
  font-size: 15px !important;
  font-weight: 650;
}

.knowledge-panel__all {
  background:
    radial-gradient(circle at 88% 10%, rgba(255, 253, 249, 0.8), transparent 34%),
    linear-gradient(145deg, #eadfd2, #d8c5af) !important;
}

.principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 76px;
}

.principles article {
  min-height: 240px;
  padding: 30px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  transition:
    transform 280ms var(--ease-out),
    box-shadow 280ms ease,
    border-color 280ms ease;
}

.principles article:hover {
  transform: translateY(-6px);
  border-color: rgba(138, 114, 95, 0.28);
  box-shadow: var(--shadow-card);
}

.principles span {
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 700;
}

.principles h3 {
  max-width: 260px;
  margin: 46px 0 14px;
  font-size: 30px;
}

.principles p {
  margin-bottom: 0;
  color: var(--color-muted);
  font-size: 15px;
}

.conditions {
  background:
    radial-gradient(circle at 5% 18%, rgba(255, 253, 249, 0.92), transparent 33%),
    radial-gradient(circle at 92% 78%, rgba(205, 183, 157, 0.25), transparent 38%),
    #efe6da;
}

.section-heading {
  display: grid;
  grid-template-columns: 1fr 0.45fr;
  align-items: end;
  gap: 72px;
  margin-bottom: 62px;
}

.section-heading h2 {
  max-width: 780px;
  margin-bottom: 0;
}

.section-heading > p {
  margin-bottom: 8px;
  color: var(--color-muted);
}

.section-heading--single {
  grid-template-columns: 1fr;
}

.photo-placeholder__icon {
  position: relative;
  z-index: 2;
  display: block;
  width: 46px;
  height: 36px;
  border: 1.5px solid rgba(73, 61, 52, 0.42);
  border-radius: 8px;
  opacity: 0.72;
}

.photo-placeholder__icon::before {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 7px;
  height: 7px;
  border: 1.5px solid rgba(73, 61, 52, 0.42);
  border-radius: 50%;
  content: "";
}

.photo-placeholder__icon::after {
  position: absolute;
  right: 8px;
  bottom: 7px;
  left: 8px;
  height: 13px;
  border-bottom: 1.5px solid rgba(73, 61, 52, 0.42);
  border-left: 1.5px solid rgba(73, 61, 52, 0.42);
  content: "";
  transform: skewY(-28deg);
  transform-origin: left bottom;
}

.condition-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--color-line);
}

.condition-list span {
  display: flex;
  min-height: 92px;
  align-items: center;
  padding: 20px 24px 20px 0;
  border-bottom: 1px solid var(--color-line);
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: clamp(23px, 2.4vw, 34px);
}

.condition-list span:nth-child(even) {
  padding-left: 32px;
  border-left: 1px solid var(--color-line);
}

.condition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}

.condition-card {
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: 0 8px 24px rgba(80, 66, 54, 0.04);
  transition:
    transform 300ms var(--ease-out),
    box-shadow 300ms ease,
    border-color 300ms ease;
}

.condition-card:hover {
  transform: translateY(-7px);
  border-color: rgba(138, 114, 95, 0.28);
  box-shadow: 0 20px 50px rgba(80, 66, 54, 0.12);
}

.condition-photo {
  position: relative;
  display: flex;
  min-height: 245px;
  overflow: hidden;
  align-items: flex-end;
  padding: 20px;
  background:
    radial-gradient(circle at 70% 20%, rgba(255, 253, 249, 0.72), transparent 26%),
    linear-gradient(145deg, #e9dfd3, #c8b299);
  transition:
    transform 420ms var(--ease-out),
    filter 300ms ease;
}

.condition-photo::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(50, 43, 38, 0.22), transparent 52%);
  content: "";
}

.condition-card:hover .condition-photo {
  transform: scale(1.045);
  filter: saturate(1.06);
}

.condition-photo--two {
  background: linear-gradient(145deg, #eee7de, #d2c0ad);
}

.condition-photo--three {
  background: linear-gradient(145deg, #e2d5c7, #bea58a);
}

.condition-photo--four {
  background: linear-gradient(145deg, #f0e9e0, #cfbba6);
}

.condition-photo--five {
  background: linear-gradient(145deg, #e7ddd1, #c4ad94);
}

.condition-photo--six {
  background: linear-gradient(145deg, #eee6dc, #d6c5b2);
}

.condition-photo span {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.condition-photo .photo-placeholder__icon {
  color: var(--color-heading);
}

.condition-card > div:last-child {
  padding: 24px;
}

.condition-card h3 {
  margin-bottom: 10px;
  font-size: 27px;
  line-height: 1.15;
}

.condition-card p {
  margin-bottom: 0;
  color: var(--color-muted);
  font-size: 15px;
}

.services {
  background: var(--color-bg-soft);
}

.service-groups {
  display: grid;
  gap: 14px;
}

.service-group {
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  transition:
    transform 260ms var(--ease-out),
    box-shadow 260ms ease,
    border-color 260ms ease;
}

.service-group:hover {
  transform: translateY(-3px);
  border-color: rgba(138, 114, 95, 0.24);
  box-shadow: var(--shadow-card);
}

.service-group > summary {
  position: relative;
  display: grid;
  min-height: 92px;
  grid-template-columns: 1fr auto 28px;
  align-items: center;
  gap: 24px;
  padding: 24px 30px;
  cursor: pointer;
  list-style: none;
}

.service-group > summary::-webkit-details-marker {
  display: none;
}

.service-group > summary::after {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  color: var(--color-accent);
  content: "+";
  font-size: 20px;
  line-height: 1;
}

.service-group[open] > summary::after {
  content: "−";
}

.service-group > summary span {
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: clamp(25px, 2.6vw, 36px);
}

.service-group > summary small {
  color: var(--color-muted);
  font-size: 13px;
}

.service-group__body {
  padding: 0 30px 16px;
  border-top: 1px solid var(--color-line);
}

.service-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px auto;
  align-items: center;
  gap: 26px;
  padding: 26px 0;
  border-bottom: 1px solid var(--color-line);
  transition:
    background-color 220ms ease,
    transform 260ms var(--ease-out);
}

.service-row:hover {
  transform: translateX(5px);
  background: rgba(239, 231, 220, 0.45);
}

.service-row:last-child {
  border-bottom: 0;
}

.service-row h3 {
  margin-bottom: 7px;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}

.service-row p {
  max-width: 650px;
  margin-bottom: 0;
  color: var(--color-muted);
  font-size: 14px;
}

.service-row__meta {
  display: flex;
  flex-direction: column;
  text-align: right;
}

.service-row__meta span {
  color: var(--color-muted);
  font-size: 13px;
}

.service-row__meta strong {
  color: var(--color-heading);
  font-size: 19px;
  font-variant-numeric: tabular-nums;
}

.source-note {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--color-muted);
  font-size: 13px;
}

.section-more {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
  border-bottom: 1px solid var(--color-cashmere-deep);
  color: var(--color-accent-hover);
  font-size: 14px;
  font-weight: 700;
}

.section-more span {
  transition: transform 180ms ease;
}

.section-more:hover span {
  transform: translateX(4px);
}

.science {
  background:
    radial-gradient(circle at 84% 18%, rgba(255, 253, 249, 0.54), transparent 30%),
    linear-gradient(145deg, #dcd0c2 0%, #cdbba7 100%);
}

.science__layout {
  display: grid;
  grid-template-columns: 0.84fr 1.16fr;
  gap: clamp(56px, 8vw, 120px);
}

.science__intro {
  align-self: start;
}

.science__intro p:last-child {
  max-width: 600px;
  margin-bottom: 0;
  color: #514b46;
  font-size: 18px;
}

.science__papers {
  display: grid;
  gap: 14px;
}

.science__papers a {
  display: block;
  padding: 30px;
  border: 1px solid rgba(74, 62, 53, 0.14);
  border-radius: var(--radius-md);
  background: rgba(255, 253, 249, 0.76);
  transition: transform 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.science__papers a:hover {
  transform: translateY(-5px) scale(1.01);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.science__papers span {
  color: var(--color-accent-hover);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.science__papers h3 {
  margin: 28px 0 12px;
  font-size: 32px;
}

.science__papers p {
  color: var(--color-muted);
  font-size: 15px;
}

.science__papers strong {
  color: var(--color-accent-hover);
  font-size: 14px;
}

.team {
  background: var(--color-bg-soft);
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
}

.team-card {
  align-self: start;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  transition:
    transform 300ms var(--ease-out),
    box-shadow 300ms ease,
    border-color 300ms ease;
}

.team-card:hover,
.team-card:has(details[open]) {
  transform: translateY(-6px);
  border-color: rgba(138, 114, 95, 0.28);
  box-shadow: 0 22px 52px rgba(80, 66, 54, 0.14);
}

.team-photo {
  position: relative;
  display: flex;
  min-height: 290px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background:
    radial-gradient(circle at 50% 26%, rgba(255, 253, 249, 0.78), transparent 24%),
    linear-gradient(160deg, #eee5da 0%, #d6c5b2 60%, #c0a78d 100%);
  color: var(--color-heading);
}

.team-photo > span,
.team-photo > small {
  position: relative;
  z-index: 1;
  transition:
    opacity 260ms ease,
    transform 320ms var(--ease-out),
    filter 260ms ease;
}

.team-photo > span {
  font-family: var(--font-display);
  font-size: 64px;
}

.team-photo > small {
  margin-top: 6px;
  color: #5f554d;
  font-size: 11px;
}

.team-photo::after {
  position: absolute;
  inset: 0;
  background: rgba(58, 49, 42, 0.18);
  content: "";
  opacity: 0;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  transition: opacity 280ms ease;
}

.team-photo__hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 20px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  opacity: 0;
  text-align: center;
  transform: translateY(10px);
  transition:
    opacity 260ms ease,
    transform 300ms var(--ease-out);
}

.team-card:hover .team-photo::after,
.team-card:focus-within .team-photo::after {
  opacity: 1;
}

.team-card:hover .team-photo__hover,
.team-card:focus-within .team-photo__hover {
  opacity: 1;
  transform: translateY(0);
}

.team-card:hover .team-photo > span,
.team-card:hover .team-photo > small,
.team-card:focus-within .team-photo > span,
.team-card:focus-within .team-photo > small {
  filter: blur(3px);
  opacity: 0.55;
  transform: scale(1.07);
}

.team-card__body {
  padding: 22px;
}

.team-card h3 {
  margin-bottom: 7px;
  font-size: 25px;
}

.team-card__body > p {
  min-height: 45px;
  margin-bottom: 14px;
  color: var(--color-muted);
  font-size: 13px;
}

.team-card details {
  border-top: 1px solid var(--color-line);
}

.team-card summary {
  min-height: 48px;
  padding-top: 14px;
  color: var(--color-accent-hover);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
}

.team-card summary::-webkit-details-marker {
  display: none;
}

.team-card summary::after {
  float: right;
  content: "+";
  font-size: 18px;
}

.team-card details[open] summary::after {
  content: "−";
}

.team-card details p {
  color: var(--color-muted);
  font-size: 13px;
}

.horizontal-carousel {
  position: relative;
}

.horizontal-carousel__controls {
  display: none;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 14px;
}

.horizontal-carousel__controls button {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  background: var(--color-surface);
  color: var(--color-heading);
  cursor: pointer;
  font-size: 20px;
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.horizontal-carousel__controls button:hover {
  transform: translateY(-2px);
  background: var(--color-surface-strong);
  box-shadow: var(--shadow-card);
}

.interior {
  background: #efe6da;
}

.gallery-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr 0.7fr 1.3fr;
  gap: 12px;
}

.gallery-slot {
  display: flex;
  min-height: 390px;
  justify-content: flex-end;
  flex-direction: column;
  padding: 25px;
  border: 1px solid rgba(255, 255, 255, 0.68);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 50% 24%, rgba(255, 253, 249, 0.58), transparent 26%),
    linear-gradient(145deg, #dfd2c3 0%, #cbb59e 100%);
  color: var(--color-heading);
  cursor: default;
  font-family: var(--font-body);
  text-align: left;
  transition:
    transform 360ms var(--ease-out),
    box-shadow 300ms ease,
    filter 300ms ease;
}

.gallery-slot:hover {
  z-index: 1;
  transform: translateY(-6px) scale(1.025);
  box-shadow: 0 24px 54px rgba(80, 66, 54, 0.17);
  filter: saturate(1.08);
}

.gallery-slot.photo-placeholder {
  align-items: center;
  justify-content: center;
  padding: 0;
}

.gallery-slot:nth-child(2) {
  background: linear-gradient(150deg, #e9e0d5, #cdbba7);
}

.gallery-slot:nth-child(3) {
  background: linear-gradient(150deg, #ded0c0, #bfa88f);
}

.gallery-slot:nth-child(4) {
  background: linear-gradient(150deg, #eee7de, #d0bea9);
}

.gallery-slot span {
  font-family: var(--font-display);
  font-size: 25px;
}

.gallery-slot small {
  color: #5f554d;
}

.reviews {
  background: var(--color-bg-soft);
}

.review-summary {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 60px;
  margin-bottom: 60px;
}

.review-summary h2 {
  margin-bottom: 0;
}

.ratings {
  display: flex;
  gap: 10px;
}

.ratings a {
  display: flex;
  min-width: 160px;
  flex-direction: column;
  padding: 18px 20px;
  border: 1px solid var(--color-line);
  border-radius: 18px;
  background: var(--color-surface);
  transition:
    transform 240ms var(--ease-out),
    box-shadow 240ms ease;
}

.ratings a:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card);
}

.ratings strong {
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 400;
  line-height: 1;
}

.ratings span {
  margin-top: 7px;
  color: var(--color-muted);
  font-size: 12px;
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.review-card {
  min-height: 250px;
  margin-bottom: 0;
  padding: 30px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  transition:
    transform 280ms var(--ease-out),
    box-shadow 280ms ease;
}

.review-card:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 20px 46px rgba(80, 66, 54, 0.11);
}

.review-card::before {
  color: var(--color-cashmere-deep);
  content: "“";
  font-family: var(--font-display);
  font-size: 66px;
  line-height: 0.7;
}

.review-card p {
  margin: 28px 0 34px;
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.3;
}

.review-card footer {
  color: var(--color-muted);
  font-size: 12px;
}

.faq {
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 253, 249, 0.8), transparent 34%),
    #e8ddd0;
}

.faq__layout {
  display: grid;
  grid-template-columns: 0.68fr 1.32fr;
  gap: clamp(60px, 9vw, 140px);
}

.faq__intro {
  align-self: start;
}

.faq__intro > p:not(.eyebrow) {
  max-width: 480px;
  color: var(--color-muted);
}

.faq__intro .button {
  margin-top: 18px;
}

.faq__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
}

.faq__items details {
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: 18px;
  background: rgba(255, 253, 249, 0.76);
  transition:
    transform 240ms var(--ease-out),
    background-color 240ms ease,
    box-shadow 240ms ease;
}

.faq__items details:hover,
.faq__items details[open] {
  transform: translateY(-3px);
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

.faq__items summary {
  position: relative;
  display: flex;
  min-height: 84px;
  align-items: center;
  padding: 20px 52px 20px 20px;
  color: var(--color-heading);
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  list-style: none;
}

.faq__items summary::-webkit-details-marker {
  display: none;
}

.faq__items summary::after {
  position: absolute;
  right: 20px;
  color: var(--color-accent);
  content: "+";
  font-family: var(--font-display);
  font-size: 27px;
}

.faq__items details[open] summary::after {
  content: "−";
}

.faq__items details p {
  max-width: 720px;
  margin: -2px 20px 22px;
  color: var(--color-muted);
  animation: faqReveal 260ms var(--ease-out);
}

.location-section {
  background: var(--color-bg-soft);
}

.location-card {
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(330px, 0.82fr) minmax(480px, 1.18fr);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
}

.location-card__details {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: clamp(36px, 5vw, 64px);
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 255, 255, 0.8), transparent 40%),
    linear-gradient(150deg, #fffdf9 0%, #f0e7dc 100%);
}

.location-card__label {
  margin-bottom: 23px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.location-card address {
  margin-bottom: 30px;
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: clamp(25px, 2.7vw, 36px);
  font-style: normal;
  line-height: 1.35;
}

.location-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 0 0 30px;
}

.location-list div {
  padding-top: 14px;
  border-top: 1px solid var(--color-line);
}

.location-list dt {
  color: var(--color-muted);
  font-size: 13px;
}

.location-list dd {
  margin: 2px 0 0;
  color: var(--color-heading);
  font-size: 17px;
  font-weight: 700;
}

.location-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--color-line);
}

.social-links a {
  min-height: 44px;
  color: var(--color-accent-hover);
  font-size: 14px;
  font-weight: 700;
}

.location-card__map {
  position: relative;
  min-height: 570px;
  background:
    radial-gradient(circle at 24% 28%, rgba(255, 253, 249, 0.82), transparent 26%),
    linear-gradient(145deg, #e4d7c9, #cbb79f);
}

.location-card__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-consent {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 32px;
  text-align: center;
}

.map-consent[hidden] {
  display: none;
}

.map-consent span {
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 36px;
}

.map-consent p {
  max-width: 370px;
  margin: 8px 0 24px;
  color: #574f48;
}

.final-cta {
  background:
    radial-gradient(circle at 10% 20%, rgba(255, 253, 249, 0.9), transparent 34%),
    radial-gradient(circle at 92% 78%, rgba(190, 163, 136, 0.28), transparent 34%),
    #eadfd2;
}

.final-cta__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 60px;
}

.final-cta h2 {
  margin-bottom: 0;
}

.site-footer {
  padding: 72px 0 28px;
  border-top: 1px solid var(--color-line);
  background: #f7f3ec;
  color: var(--color-muted);
}

.site-footer__top {
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  gap: 70px;
  padding-bottom: 58px;
}

.brand--footer {
  align-self: start;
}

.site-footer__columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}

.site-footer__columns div {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 7px;
}

.site-footer__columns h3 {
  margin-bottom: 12px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.site-footer__columns a,
.site-footer__columns p {
  margin-bottom: 0;
  font-size: 14px;
}

.site-footer__columns a {
  min-height: 32px;
}

.site-footer__columns a:hover {
  color: var(--color-accent-hover);
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 24px;
  border-top: 1px solid var(--color-line);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.site-footer__bottom p {
  margin-bottom: 0;
}

.booking-dialog {
  width: min(760px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 30px;
  background: var(--color-surface);
  box-shadow: 0 30px 100px rgba(47, 44, 41, 0.28);
  color: var(--color-text);
}

.booking-dialog::backdrop {
  background: rgba(47, 44, 41, 0.56);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.booking-dialog__panel {
  position: relative;
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: clamp(28px, 5vw, 52px);
  border-radius: inherit;
}

.booking-dialog h2 {
  max-width: 600px;
  margin-bottom: 16px;
  font-size: clamp(39px, 6vw, 58px);
}

.dialog-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 1;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  background: var(--color-bg);
  color: var(--color-heading);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}

.booking-dialog__service {
  max-width: 600px;
  color: var(--color-muted);
}

.booking-dialog__actions {
  margin: 28px 0 38px;
}

.booking-dialog__team {
  padding-top: 28px;
  border-top: 1px solid var(--color-line);
}

.booking-dialog__team > div {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

.booking-dialog__team h3 {
  margin-bottom: 6px;
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 700;
}

.booking-dialog__team p {
  max-width: 410px;
  color: var(--color-muted);
  font-size: 13px;
}

.booking-dialog__team ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.booking-dialog__team li {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 8px;
  color: var(--color-muted);
  font-size: 12px;
}

.booking-dialog__team li span {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #eee5da, #ccb79f);
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 22px;
}

.search-dialog,
.gallery-dialog {
  width: min(780px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 30px;
  background: var(--color-surface);
  box-shadow: 0 30px 100px rgba(47, 44, 41, 0.28);
  color: var(--color-text);
}

.gallery-dialog {
  width: min(1040px, calc(100% - 32px));
}

.search-dialog::backdrop,
.gallery-dialog::backdrop {
  background: rgba(47, 44, 41, 0.58);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.search-dialog__panel,
.gallery-dialog__panel {
  position: relative;
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: clamp(30px, 5vw, 52px);
}

.search-dialog h2 {
  margin-bottom: 28px;
  font-size: clamp(40px, 6vw, 60px);
}

.search-dialog label {
  display: block;
  margin-bottom: 9px;
  color: var(--color-heading);
  font-size: 14px;
  font-weight: 700;
}

.search-field {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 18px;
  border: 1px solid var(--color-line);
  border-radius: 16px;
  background: var(--color-bg-soft);
  color: var(--color-muted);
}

.search-field:focus-within {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgba(138, 114, 95, 0.12);
}

.search-field input {
  width: 100%;
  min-width: 0;
  height: 56px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--color-heading);
  font-size: 16px;
}

.search-results {
  display: grid;
  gap: 8px;
  margin-top: 22px;
}

.search-results > p {
  margin: 8px 0 0;
  color: var(--color-muted);
}

.search-result {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 18px;
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid var(--color-line);
  border-radius: 15px;
  background: var(--color-surface);
  transition:
    transform 200ms var(--ease-out),
    background-color 200ms ease,
    box-shadow 200ms ease;
}

.search-result:hover {
  transform: translateX(4px);
  background: var(--color-surface-strong);
  box-shadow: var(--shadow-card);
}

.search-result strong {
  color: var(--color-heading);
}

.search-result small {
  display: block;
  margin-top: 3px;
  color: var(--color-muted);
}

.search-result > span {
  color: var(--color-accent);
  font-size: 20px;
}

.gallery-dialog__panel {
  padding: 14px;
}

.gallery-dialog__image {
  display: flex;
  min-height: min(76dvh, 760px);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 23px;
  background:
    radial-gradient(circle at 50% 24%, rgba(255, 253, 249, 0.72), transparent 27%),
    linear-gradient(145deg, #e9dfd3, #bfa58a);
  color: var(--color-heading);
}

.gallery-dialog__image span {
  font-family: var(--font-display);
  font-size: clamp(36px, 7vw, 70px);
}

.gallery-dialog__image small {
  color: #5f554d;
}

.gallery-dialog .dialog-close {
  top: 28px;
  right: 28px;
}

.privacy-banner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  left: 20px;
  z-index: var(--z-banner);
  display: flex;
  max-width: 940px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-inline: auto;
  padding: 18px 20px;
  border: 1px solid rgba(72, 63, 55, 0.16);
  border-radius: 22px;
  background: #fffdf9;
  box-shadow: 0 18px 60px rgba(53, 46, 40, 0.18);
}

.privacy-banner[hidden] {
  display: none;
}

.privacy-banner strong {
  color: var(--color-heading);
}

.privacy-banner p {
  margin: 2px 0 0;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.45;
}

.privacy-banner__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

/* Stałe, proste akcje na telefonie — pojawiają się dopiero po Hero */
.mobile-action-bar {
  display: none;
}

.mobile-action-bar[hidden] {
  display: none !important;
}

/* Wspólny wygląd prostych podstron */
.subpage-hero {
  min-height: 72svh;
  padding: calc(var(--header-height) + 100px) 0 90px;
  background:
    radial-gradient(circle at 86% 18%, rgba(223, 209, 191, 0.72), transparent 38%),
    linear-gradient(145deg, #fcfaf6, #eee4d8);
}

.subpage-hero__inner {
  display: grid;
  grid-template-columns: 1fr 0.55fr;
  align-items: end;
  gap: 70px;
}

.subpage-hero h1 {
  max-width: 850px;
  margin-bottom: 30px;
  font-size: clamp(58px, 8vw, 104px);
  letter-spacing: -0.05em;
}

.subpage-hero__copy {
  max-width: 660px;
  color: var(--color-muted);
  font-size: 18px;
}

.subpage-note,
.placeholder-tile {
  padding: 28px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.subpage-note strong {
  display: block;
  margin-bottom: 8px;
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 25px;
  font-weight: 400;
}

.subpage-note p,
.placeholder-tile p {
  margin-bottom: 0;
  color: var(--color-muted);
}

.placeholder-content {
  background: var(--color-bg-soft);
}

.placeholder-content__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.placeholder-tile {
  min-height: 230px;
}

.placeholder-tile span {
  color: var(--color-accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.placeholder-tile h2 {
  margin: 44px 0 12px;
  font-size: 32px;
}

.legal-hero {
  min-height: 64svh;
}

.legal-section {
  background: var(--color-bg-soft);
}

.legal-document {
  max-width: 860px;
}

.legal-document__date {
  margin-bottom: 54px;
  color: var(--color-muted);
  font-size: 13px;
}

.legal-document h2 {
  margin: 48px 0 16px;
  font-size: clamp(28px, 3vw, 38px);
}

.legal-document p {
  color: #55504b;
  line-height: 1.8;
}

.legal-document a {
  color: var(--color-accent-hover);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.legal-warning {
  margin-top: 58px;
  padding: 28px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-strong);
}

.legal-warning strong {
  display: block;
  margin-bottom: 7px;
  color: var(--color-heading);
}

.legal-warning p {
  margin-bottom: 0;
  font-size: 14px;
}

/* Uporządkowana sekcja wiedzy: publikacje i materiał PDF w jednym miejscu */
.knowledge-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 16px;
  margin-top: 18px;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 92% 8%, rgba(223, 209, 191, 0.52), transparent 34%),
    var(--color-surface);
  box-shadow: var(--shadow-card);
}

.knowledge-panel__intro {
  padding: 10px clamp(8px, 2vw, 22px) 10px 0;
}

.knowledge-panel__intro h3 {
  margin-bottom: 18px;
  font-size: clamp(34px, 4vw, 54px);
  letter-spacing: -0.03em;
}

.knowledge-panel__intro h3 em {
  color: var(--color-accent);
  font-weight: inherit;
}

.knowledge-panel__intro > p:last-child {
  max-width: 560px;
  margin-bottom: 0;
  color: var(--color-muted);
}

.knowledge-panel__links {
  display: grid;
  gap: 12px;
}

.knowledge-panel__links a {
  display: flex;
  min-height: 170px;
  justify-content: space-between;
  flex-direction: column;
  padding: 26px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: rgba(252, 250, 246, 0.82);
  transition:
    transform 260ms var(--ease-out),
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.knowledge-panel__links a:hover {
  transform: translateY(-4px);
  border-color: rgba(138, 114, 95, 0.28);
  box-shadow: var(--shadow-card);
}

.knowledge-panel__links span {
  color: var(--color-accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.knowledge-panel__links strong {
  margin: 18px 0;
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 400;
  line-height: 1.15;
}

.knowledge-panel__links small {
  color: var(--color-accent-hover);
  font-size: 13px;
  font-weight: 700;
}

.knowledge-file--compact {
  grid-column: 1 / -1;
  margin-top: 0;
  padding: 24px 26px;
  box-shadow: none;
}

.knowledge-file--compact h3 {
  font-size: clamp(24px, 2.5vw, 33px);
}

.knowledge-file--compact:hover {
  transform: none;
  box-shadow: none;
}

/* Skupienie na jednej osobie bez utraty obsługi dotykowej */
@media (hover: hover) and (pointer: fine) {
  .team-grid:has(.team-card:hover) .team-card:not(:hover) {
    opacity: 0.44;
    filter: blur(3px);
    transform: scale(0.975);
  }

  .team-grid .team-card:hover {
    position: relative;
    z-index: 2;
  }
}

.team-card {
  will-change: transform;
}

/* Przewijane opinie */
.reviews-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.reviews-toolbar--controls-only {
  justify-content: flex-end;
}

.reviews-toolbar p {
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
}

.reviews-controls {
  display: flex;
  gap: 8px;
}

.reviews-controls button {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  background: var(--color-surface);
  color: var(--color-heading);
  cursor: pointer;
  font-size: 20px;
  transition:
    transform 180ms ease,
    background-color 200ms ease,
    box-shadow 200ms ease;
}

.reviews-controls button:hover {
  transform: translateY(-2px);
  background: var(--color-surface-strong);
  box-shadow: var(--shadow-card);
}

.reviews-controls button:active {
  transform: scale(0.96);
}

.reviews-viewport {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-cashmere-deep) transparent;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}

.review-track {
  display: grid;
  width: max-content;
  grid-auto-columns: minmax(310px, 390px);
  grid-auto-flow: column;
  gap: 14px;
  padding: 2px 2px 18px;
}

.review-card {
  scroll-snap-align: start;
}

.review-card::before {
  content: none;
}

.review-card p {
  margin-top: 8px;
}

.review-stars {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--color-accent);
}

.review-stars span {
  font-family: Arial, sans-serif;
  font-size: 17px;
  letter-spacing: 0.12em;
  line-height: 1;
}

.review-stars small {
  color: var(--color-muted);
  font-size: 11px;
  font-weight: 700;
}

/* Ikony i wyróżnione dane kontaktowe */
.social-links a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.social-links svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.social-links a:nth-child(2) svg {
  fill: currentColor;
  stroke: none;
}

.location-card address a {
  display: inline-block;
  min-height: 44px;
}

.footer-cookie-link {
  min-height: 32px;
  padding: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 14px;
  text-align: left;
}

.footer-cookie-link:hover {
  color: var(--color-accent-hover);
}

/* Ustawienia prywatności i treści zewnętrznych */
.privacy-trigger {
  position: fixed;
  bottom: max(18px, env(safe-area-inset-bottom));
  left: 18px;
  z-index: calc(var(--z-banner) - 1);
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
  color: var(--color-accent-hover);
  cursor: pointer;
}

.privacy-trigger[hidden] {
  display: none;
}

.privacy-trigger svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.privacy-dialog {
  width: min(680px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 30px;
  background: var(--color-surface);
  box-shadow: 0 30px 100px rgba(47, 44, 41, 0.28);
  color: var(--color-text);
}

.privacy-dialog::backdrop {
  background: rgba(47, 44, 41, 0.58);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.privacy-dialog__panel {
  position: relative;
  max-height: calc(100dvh - 32px);
  padding: clamp(28px, 5vw, 48px);
  overflow-y: auto;
}

.privacy-dialog h2 {
  max-width: 520px;
  margin-bottom: 28px;
  font-size: clamp(38px, 6vw, 56px);
}

.privacy-option {
  display: flex;
  min-height: 86px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
  border-top: 1px solid var(--color-line);
}

.privacy-option strong {
  display: block;
  color: var(--color-heading);
}

.privacy-option p,
.privacy-option small {
  display: block;
  margin: 3px 0 0;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.45;
}

.privacy-option > span:last-child:not(:first-child) {
  color: var(--color-accent-hover);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.privacy-option input {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  accent-color: var(--color-accent);
  cursor: pointer;
}

.privacy-dialog__note {
  margin: 18px 0 24px;
  color: var(--color-muted);
  font-size: 13px;
}

.privacy-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

/* Rozwinięte widoki „Co leczymy” i „Zespół” */
.subpage-hero--compact {
  min-height: 66svh;
}

.condition-detail-section,
.team-directory {
  background: var(--color-bg-soft);
}

.condition-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.condition-detail-card {
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(170px, 0.68fr) minmax(0, 1.32fr);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  transition:
    transform 280ms var(--ease-out),
    box-shadow 280ms ease,
    border-color 280ms ease;
}

.condition-detail-card:hover {
  transform: translateY(-5px);
  border-color: rgba(138, 114, 95, 0.28);
  box-shadow: var(--shadow-card);
}

.condition-detail-card__image {
  display: grid;
  min-height: 290px;
  place-items: center;
  padding: 20px;
  background:
    radial-gradient(circle at 60% 20%, rgba(255, 253, 249, 0.74), transparent 28%),
    linear-gradient(145deg, #e9dfd3, #cbb79f);
  color: #5f554d;
  font-size: 12px;
  text-align: center;
}

.condition-detail-card:nth-child(2n) .condition-detail-card__image {
  background: linear-gradient(145deg, #eee7de, #d2c0ad);
}

.condition-detail-card__body {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 28px;
}

.condition-detail-card__body > span {
  color: var(--color-accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.condition-detail-card h2 {
  margin: 20px 0 12px;
  font-size: clamp(30px, 3vw, 42px);
}

.condition-detail-card p {
  color: var(--color-muted);
  font-size: 15px;
}

.condition-detail-card .section-more {
  align-self: flex-start;
}

.team-group-photo {
  display: flex;
  min-height: clamp(420px, 58vw, 720px);
  align-items: flex-end;
  margin-bottom: 72px;
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 50% 20%, rgba(255, 253, 249, 0.74), transparent 27%),
    linear-gradient(145deg, #e8ddd0, #c8b198);
  box-shadow: var(--shadow-soft);
}

.team-group-photo__copy {
  max-width: 580px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.54);
  border-radius: 20px;
  background: rgba(255, 253, 249, 0.9);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.team-group-photo__copy strong {
  display: block;
  margin-bottom: 7px;
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
}

.team-group-photo__copy p {
  margin: 0;
  color: var(--color-muted);
}

.team-profile-list {
  display: grid;
  gap: 18px;
}

.team-profile {
  display: grid;
  grid-template-columns: minmax(220px, 0.62fr) minmax(0, 1.38fr);
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  transition:
    transform 280ms var(--ease-out),
    box-shadow 280ms ease;
}

.team-profile:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card);
}

.team-profile__photo {
  display: grid;
  min-height: 360px;
  place-items: center;
  background:
    radial-gradient(circle at 50% 25%, rgba(255, 253, 249, 0.8), transparent 24%),
    linear-gradient(160deg, #eee5da, #c8b198);
  color: var(--color-heading);
  font-family: var(--font-display);
  font-size: 64px;
}

.team-profile__content {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: clamp(28px, 5vw, 58px);
}

.team-profile__content > span {
  color: var(--color-accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.team-profile h2 {
  margin: 18px 0 8px;
  font-size: clamp(36px, 4vw, 52px);
}

.team-profile__role {
  margin-bottom: 18px;
  color: var(--color-heading);
  font-weight: 700;
}

.team-profile__description {
  max-width: 680px;
  color: var(--color-muted);
}

.team-profile__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.subpage-final {
  background:
    radial-gradient(circle at 10% 20%, rgba(255, 253, 249, 0.9), transparent 34%),
    #e9ded1;
}

/* O nas */
.about-manifesto {
  background: var(--color-bg-soft);
}

.about-manifesto__grid,
.research-purpose__grid {
  display: grid;
  grid-template-columns: 0.3fr 1fr;
  gap: clamp(40px, 7vw, 110px);
}

.about-manifesto__copy h2,
.research-purpose h2,
.future-space h2,
.about-science h2 {
  margin-bottom: 26px;
  font-size: clamp(44px, 5.2vw, 72px);
  letter-spacing: -0.04em;
}

.about-manifesto__copy p,
.research-purpose__copy p,
.future-space__copy > p,
.about-science__grid > div:last-child > p {
  color: var(--color-muted);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.72;
}

.about-standard,
.science-paths,
.science-download {
  background: var(--color-bg-soft);
}

.future-space__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  align-items: center;
  gap: clamp(46px, 8vw, 120px);
}

.future-space__visual {
  position: relative;
  display: flex;
  min-height: 480px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 18px;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg, rgba(42, 38, 35, 0.04), rgba(42, 38, 35, 0.2)),
    radial-gradient(circle at 50% 30%, #f4eadf, transparent 32%),
    linear-gradient(145deg, #d8c8b7, #bba48c);
  box-shadow: var(--shadow-soft);
}

.future-space__visual::after {
  position: absolute;
  inset: 22% 10%;
  border: 1px solid rgba(255, 253, 249, 0.62);
  border-radius: 4px;
  background: rgba(245, 237, 228, 0.54);
  box-shadow: 0 18px 60px rgba(62, 49, 40, 0.22);
  content: "";
}

.future-space__visual span,
.future-space__visual strong {
  position: relative;
  z-index: 1;
  color: #2f2c29;
  text-shadow: 0 0 18px rgba(255, 245, 226, 0.96);
}

.future-space__visual span {
  font-size: clamp(12px, 1.5vw, 19px);
  font-weight: 650;
  letter-spacing: 0.32em;
}

.future-space__visual strong {
  font-size: clamp(35px, 5.8vw, 76px);
  font-weight: 560;
  letter-spacing: 0.24em;
}

.about-science__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(42px, 7vw, 100px);
  padding: clamp(34px, 5vw, 72px);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 253, 249, 0.8), transparent 30%),
    linear-gradient(145deg, #e8ddd0, #d2bfa9);
}

.about-science__grid .button {
  margin-top: 12px;
}

/* Nauka i publikacje */
.science-page-hero {
  background:
    radial-gradient(circle at 82% 16%, rgba(223, 209, 191, 0.5), transparent 30%),
    var(--color-bg);
}

.research-highlight {
  padding: clamp(30px, 4vw, 52px);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: rgba(255, 253, 249, 0.9);
  box-shadow: var(--shadow-card);
}

.research-highlight strong {
  display: block;
  color: var(--color-accent);
  font-size: clamp(72px, 10vw, 126px);
  font-weight: 520;
  letter-spacing: -0.07em;
  line-height: 0.88;
}

.research-highlight span {
  display: block;
  margin: 18px 0 12px;
  color: var(--color-heading);
  font-size: 19px;
  font-weight: 700;
}

.research-highlight p {
  margin: 0;
  color: var(--color-muted);
}

.research-purpose__copy {
  max-width: 780px;
}

.science-paths__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.science-paths__grid article {
  min-height: 300px;
  padding: 30px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.science-paths__grid span,
.publication-item > span {
  color: var(--color-accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.science-paths__grid h3 {
  margin: 72px 0 14px;
  font-size: clamp(27px, 3vw, 38px);
}

.science-paths__grid p {
  margin: 0;
  color: var(--color-muted);
}

.publication-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.publication-item {
  display: flex;
  min-height: 330px;
  justify-content: space-between;
  flex-direction: column;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  transition: transform 260ms var(--ease-out), box-shadow 260ms ease, border-color 260ms ease;
}

.publication-item:hover {
  transform: translateY(-5px);
  border-color: rgba(138, 114, 95, 0.3);
  box-shadow: var(--shadow-card);
}

.publication-item h3 {
  margin: 42px 0 16px;
  font-size: clamp(29px, 3vw, 42px);
}

.publication-item p {
  color: var(--color-muted);
}

.publication-item strong {
  color: var(--color-accent-hover);
  font-size: 14px;
}

/* V10: prawdziwe logo, zdjęcia zespołu, galeria i udogodnienia */
.brand--logo { min-width: 72px; min-height: 54px; text-decoration: none; }
.brand--logo img { display: block; width: 58px; height: 58px; object-fit: contain; border-radius: 50%; }
.team-photo { overflow: hidden; }
.team-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; transition: transform 500ms var(--ease-out), filter 300ms ease; }
.team-card:hover .team-photo > img, .team-card:focus-within .team-photo > img { transform: scale(1.045); filter: brightness(.75); }
.team-profile__photo { overflow: hidden; }
.team-profile__photo img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; object-position: center 24%; }
.gallery-grid { grid-template-columns: repeat(9, minmax(270px, 1fr)); width: max-content; }
.gallery-slot { position: relative; width: 320px; min-height: 390px; padding: 0; overflow: hidden; background: #d8c9b9; }
.gallery-slot--wide { width: 470px; }
.gallery-slot img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; transition: transform 500ms var(--ease-out); }
.gallery-slot:hover img { transform: scale(1.04); }
.gallery-slot figcaption { position: absolute; right: 14px; bottom: 14px; left: 14px; padding: 10px 12px; border-radius: 14px; background: rgba(34,29,27,.66); color: #fff; font-size: 12px; line-height: 1.35; backdrop-filter: blur(10px); }
.facility-strip { padding-block: 62px; background: var(--color-surface); }
.facility-strip__heading { max-width: 760px; margin-bottom: 28px; }
.facility-strip__heading h2 { margin-top: 10px; font-size: clamp(36px,5vw,64px); }
.facility-chips { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; list-style: none; }
.facility-chips li { display: inline-flex; min-height: 44px; align-items: center; gap: 9px; padding: 10px 15px; border: 1px solid var(--color-line); border-radius: 999px; background: var(--color-bg-soft); color: var(--color-heading); font-size: 13px; font-weight: 650; }
.facility-chips li::before { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid var(--color-accent); border-radius: 50%; color: var(--color-accent); content: "✓"; font-size: 12px; }


/* V11 — zdjęcia, ciaśniejsza galeria i dopracowane elementy wizualne */
.hero-photo--real {
  position: relative;
  min-height: 620px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: var(--radius-lg);
  background: #d8c9b9;
  box-shadow: var(--shadow-soft);
}
.hero-photo--real img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  object-position: center 42%;
  transition: transform 700ms var(--ease-out), filter 400ms ease;
}
.hero-photo--real:hover img { transform: scale(1.025); filter: saturate(1.03); }
.hero-photo--real figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 12px 15px;
  border-radius: 14px;
  background: rgba(34,29,27,.62);
  color: #fff;
  font-size: 12px;
  backdrop-filter: blur(10px);
}
.condition-photo { padding: 0; }
.condition-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms var(--ease-out), filter 300ms ease;
}
.condition-card:hover .condition-photo img { transform: scale(1.055); filter: saturate(1.05); }
.condition-card { display: flex; height: 100%; flex-direction: column; }
.condition-card > div:last-child { display: flex; flex: 1; flex-direction: column; }
.condition-card > div:last-child p { margin-top: auto; }

.future-space__grid--copy-only { grid-template-columns: minmax(0, 1fr); }
.future-space__copy--wide { max-width: 980px; margin-inline: auto; text-align: center; }
.future-space__copy--wide > p:last-child { max-width: 760px; margin-inline: auto; }
.future-space__logo { width: 76px; height: 76px; margin: 0 auto 24px; object-fit: contain; border-radius: 50%; }

.gallery-carousel .horizontal-carousel__controls { display: flex; }
.gallery-carousel .gallery-grid {
  display: flex;
  width: max-content;
  max-width: none;
  gap: 18px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: var(--color-cashmere-deep) transparent;
}
.gallery-carousel .gallery-slot,
.gallery-carousel .gallery-slot--wide {
  width: clamp(300px, 29vw, 420px);
  min-height: 410px;
  flex: 0 0 clamp(300px, 29vw, 420px);
  scroll-snap-align: start;
}
.gallery-carousel .gallery-slot img { min-height: 410px; }


/* V12 — dopracowanie galerii, zespołu, opinii i nagłówka */
.brand--full {
  min-width: 205px;
  gap: 11px;
  text-decoration: none;
}
.brand--full.brand--logo img {
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
}
.brand--full .brand--wordmark {
  min-width: 0;
  gap: 4px;
}
.brand--full .brand__word {
  font-size: 15px;
  letter-spacing: .19em;
}
.brand--full .brand--wordmark small {
  font-size: 7.5px;
  letter-spacing: .13em;
}

/* Obraz specjalisty pozostaje ostry po najechaniu. */
.team-photo::after {
  background: rgba(43, 35, 30, .42);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.team-card:hover .team-photo > img,
.team-card:focus-within .team-photo > img {
  transform: scale(1.035);
  filter: none;
}
.team-grid:has(.team-card:hover) .team-card:not(:hover) {
  filter: none;
  opacity: .62;
}

/* Bardziej zwarte sekcje i galerie. */
.interior.section,
.reviews.section,
.team.section {
  padding-block: clamp(76px, 7vw, 112px);
}
.gallery-carousel {
  margin-top: 30px;
}
.gallery-carousel .gallery-grid {
  gap: 12px;
  padding-bottom: 10px;
}
.gallery-carousel .gallery-slot,
.gallery-carousel .gallery-slot--wide {
  width: clamp(290px, 27vw, 390px);
  min-height: 380px;
  flex-basis: clamp(290px, 27vw, 390px);
}
.gallery-carousel .gallery-slot img {
  min-height: 380px;
}
.gallery-carousel .horizontal-carousel__controls {
  margin-bottom: 8px;
}
.horizontal-carousel__controls button,
.reviews-controls button {
  touch-action: manipulation;
  user-select: none;
}

/* Opinie: pewny poziomy scroll i mniejsze odstępy. */
.reviews-viewport {
  width: 100%;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
}
.reviews-viewport.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}
.review-track {
  gap: 12px;
  padding-bottom: 12px;
}
.review-card {
  min-height: 300px;
}

/* Subtelniejszy nacisk na aktywną kartę bez rozmywania tła. */
@media (hover: hover) and (pointer: fine) {
  .team-grid:has(.team-card:hover) .team-card:not(:hover) {
    opacity: .58;
    filter: saturate(.78);
    transform: scale(.985);
  }
}


/* V13 — działająca galeria pozioma i dopracowany wordmark */
.brand__word {
  white-space: nowrap;
  letter-spacing: .19em;
}

.gallery-carousel {
  overflow: hidden;
}

.gallery-carousel .gallery-grid {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: clamp(12px, 1.2vw, 20px);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}

.gallery-carousel .gallery-grid::-webkit-scrollbar {
  display: none;
}

.gallery-carousel .gallery-grid.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
  scroll-snap-type: none;
}

.gallery-carousel .gallery-slot,
.gallery-carousel .gallery-slot--wide {
  flex: 0 0 clamp(300px, 29vw, 430px);
  width: clamp(300px, 29vw, 430px);
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.gallery-carousel .horizontal-carousel__controls button:disabled {
  opacity: .42;
}

@media (max-width: 760px) {
  .gallery-carousel .gallery-grid {
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    gap: 12px;
  }
  .gallery-carousel .gallery-slot,
  .gallery-carousel .gallery-slot--wide {
    flex-basis: min(84vw, 355px);
    width: min(84vw, 355px);
  }
}


/* V14 — finalne porządki: zwarte sekcje, równe karty i dopracowane slidery */
.team.section,
.interior.section,
.reviews.section,
.faq.section {
  padding-block: clamp(62px, 5.5vw, 88px);
}

.team .section-heading,
.interior .section-heading,
.reviews .review-summary,
.faq__layout {
  margin-bottom: clamp(24px, 3vw, 42px);
}

.team-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 10px;
}
.team-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  border-radius: 20px;
}
.team-photo {
  min-height: 0;
  aspect-ratio: 4 / 4.65;
}
.team-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
}
.team-card__body {
  display: flex;
  min-height: 190px;
  flex: 1;
  flex-direction: column;
  padding: 18px;
}
.team-card h3 { font-size: clamp(21px, 1.7vw, 25px); }
.team-card__body > p { min-height: 34px; margin-bottom: 10px; }
.team-card details { margin-top: auto; }

.gallery-carousel { margin-top: 22px; }
.gallery-carousel .gallery-grid { gap: 10px; padding-bottom: 6px; }
.gallery-carousel .gallery-slot,
.gallery-carousel .gallery-slot--wide {
  flex: 0 0 clamp(250px, 22vw, 330px);
  width: clamp(250px, 22vw, 330px);
  min-height: 330px;
  border-radius: 20px;
}
.gallery-carousel .gallery-slot img { min-height: 330px; }
.gallery-carousel .horizontal-carousel__controls { margin-bottom: 4px; }

.review-summary { gap: 24px; }
.ratings a { min-width: 138px; padding: 15px 17px; }
.reviews-toolbar { margin-bottom: 10px; }
.review-track {
  grid-auto-columns: minmax(280px, 330px);
  gap: 10px;
  padding-bottom: 8px;
}
.review-card {
  min-height: 250px;
  padding: 24px;
  border-radius: 20px;
}
.review-card p { margin: 18px 0 24px; font-size: clamp(21px, 1.7vw, 25px); }

.faq__layout {
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(30px, 5vw, 72px);
}
.faq__items { gap: 10px; }
.faq__items details { border-radius: 16px; }
.faq__items summary {
  min-height: 70px;
  padding: 16px 48px 16px 18px;
  font-size: 16px;
}
.faq__items summary::after { right: 18px; }
.faq__items details p { margin: -1px 18px 18px; }

.horizontal-carousel__controls button,
.reviews-controls button {
  width: 44px;
  height: 44px;
}

img[loading="lazy"] { content-visibility: auto; }

/* V16 — stabilne logo na każdej podstronie */
.brand--logo img {
  background: transparent;
  color: transparent;
}
[data-subpage-header] .site-header__inner {
  flex-wrap: nowrap;
}

/* V17: real imagery on condition subpage */
.condition-detail-card__image--photo {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  background: #d8c7b4;
}
.condition-detail-card__image--photo img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform .6s ease;
}
.condition-detail-card:hover .condition-detail-card__image--photo img {
  transform: scale(1.035);
}
@media (max-width: 760px) {
  .condition-detail-card__image--photo img { min-height: 250px; }
}

/* V19 — final production polish */
html{scroll-padding-top:96px}img{max-width:100%;height:auto}.site-header a:focus-visible,.button:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9a7e69;outline-offset:4px}.desktop-nav a[aria-current="page"]{color:var(--accent-dark,#7d6452);font-weight:800}.legal-document{max-width:900px}.legal-document h2{margin-top:2.25rem}.legal-document p,.legal-document li{line-height:1.75}.legal-document a{text-decoration:underline;text-underline-offset:3px}.brand--logo img{object-fit:contain}.subpage-hero{padding-top:clamp(8rem,12vw,11rem)}@media(max-width:760px){.subpage-hero{padding-top:7.4rem}.legal-document{padding-inline:1rem}.legal-document h2{font-size:1.45rem}.legal-document p{font-size:1rem}}


/* ===== V27 FINAL POLISH ===== */
.site-footer--v27 .site-footer__top{display:grid;grid-template-columns:minmax(220px,.75fr) 2fr;gap:clamp(36px,6vw,88px);padding-top:72px;padding-bottom:54px}
.footer-brand-block p{max-width:340px;color:var(--muted,#716760);line-height:1.7}
.site-footer--v27 .site-footer__columns{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:34px}
.site-footer--v27 .site-footer__columns>div{display:flex;flex-direction:column;gap:12px}
.site-footer--v27 h3{margin:0 0 8px;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.site-footer--v27 a,.site-footer--v27 button{overflow-wrap:anywhere}
.site-footer--v27 .site-footer__bottom{display:flex;justify-content:space-between;gap:20px}
.contact-form-section{background:linear-gradient(145deg,rgba(237,226,214,.72),rgba(250,247,243,.9))}
.contact-form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,7vw,100px);align-items:start}
.contact-direct{display:grid;gap:12px;margin-top:28px}
.contact-direct a{font-weight:700;overflow-wrap:anywhere}
.contact-form{display:grid;gap:18px;padding:clamp(24px,4vw,44px);border:1px solid var(--line,rgba(60,45,38,.14));border-radius:30px;background:rgba(255,255,255,.76);box-shadow:0 26px 70px rgba(75,51,45,.09)}
.contact-form label{display:grid;gap:8px;font-weight:700}
.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(75,51,45,.18);border-radius:16px;padding:14px 16px;font:inherit;color:inherit;background:rgba(255,255,255,.92);transition:border-color .25s ease,box-shadow .25s ease}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#9b806b;box-shadow:0 0 0 4px rgba(155,128,107,.14)}
.contact-consent{grid-template-columns:auto 1fr!important;align-items:start;font-size:.9rem;font-weight:500!important;line-height:1.55}
.contact-consent input{width:20px;height:20px;margin-top:2px}
.form-status{min-height:1.4em;margin:0;color:#654d3d;font-weight:700}
.site-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#f7f2ec;transition:opacity .45s ease,visibility .45s ease}
.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.site-loader__inner{text-align:center;min-width:min(300px,76vw)}
.site-loader__inner strong{display:block;letter-spacing:.22em;font-size:clamp(22px,4vw,38px)}
.site-loader__inner span{display:block;margin-top:8px;letter-spacing:.18em;font-size:10px}
.site-loader__inner i{display:block;height:2px;margin-top:26px;background:rgba(75,51,45,.14);overflow:hidden;position:relative}
.site-loader__inner i::after{content:"";position:absolute;inset:0;background:#9b806b;transform:translateX(-100%);animation:loaderLine .8s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes loaderLine{to{transform:translateX(0)}}
.ripple-button{position:relative;overflow:hidden;isolation:isolate}
.ripple-dot{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.42);pointer-events:none;animation:ripple .65s ease-out}
@keyframes ripple{to{transform:scale(4);opacity:0}}
.site-nav a{position:relative}
.site-nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:1px;background:currentColor;transition:left .3s ease,right .3s ease}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{left:0;right:0}
.faq details>*:not(summary){animation:faqIn .35s ease both}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.gallery-card img,.gallery-item img,.team-card img{transition:transform .7s cubic-bezier(.22,.61,.36,1),filter .4s ease}
.gallery-card:hover img,.gallery-item:hover img,.team-card:hover img{transform:scale(1.035)}
:focus-visible{outline:3px solid #9b806b!important;outline-offset:4px}
@media(max-width:900px){.site-footer--v27 .site-footer__top,.contact-form-grid{grid-template-columns:1fr}.site-footer--v27 .site-footer__columns{grid-template-columns:1fr 1fr}.site-footer--v27 .site-footer__bottom{flex-direction:column}}
@media(max-width:560px){.site-footer--v27 .site-footer__columns{grid-template-columns:1fr}.site-footer--v27 .site-footer__top{padding-top:50px}}
@media(prefers-reduced-motion:reduce){.site-loader__inner i::after,.ripple-dot{animation:none!important}}


/* ===== V28: kontakt bez formularza ===== */
.contact-form-section,
.contact-form,
.contact-form-grid {
  display: none !important;
}

.contact-practical-v28 {
  background:
    radial-gradient(circle at 85% 15%, rgba(185, 153, 126, .14), transparent 30%),
    linear-gradient(145deg, rgba(247, 241, 235, .95), rgba(255, 255, 255, .96));
}

.contact-practical-v28__grid {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(38px, 7vw, 100px);
  align-items: start;
}

.contact-practical-v28__intro {
  position: sticky;
  top: calc(var(--header-height, 80px) + 38px);
}

.contact-practical-v28__intro h2 {
  max-width: 560px;
}

.contact-practical-v28__intro > p:last-child {
  max-width: 580px;
  color: var(--muted, #70665f);
  line-height: 1.75;
}

.contact-practical-v28__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.contact-practical-card {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid rgba(75, 51, 45, .13);
  border-radius: 26px;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 18px 50px rgba(75, 51, 45, .06);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.contact-practical-card:hover {
  transform: translateY(-5px);
  border-color: rgba(75, 51, 45, .22);
  box-shadow: 0 24px 58px rgba(75, 51, 45, .10);
}

.contact-practical-card__label {
  margin-bottom: auto;
  color: #9b806b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.contact-practical-card h3 {
  margin: 34px 0 12px;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.contact-practical-card a {
  font-weight: 750;
  overflow-wrap: anywhere;
}

.contact-practical-card p,
.contact-practical-card li {
  color: var(--muted, #70665f);
  line-height: 1.65;
}

.contact-practical-card ul {
  margin: 0;
  padding-left: 19px;
}

@media (max-width: 900px) {
  .contact-practical-v28__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .contact-practical-v28__intro {
    position: static;
  }
}

@media (max-width: 620px) {
  .contact-practical-v28__cards {
    grid-template-columns: 1fr;
  }

  .contact-practical-card {
    min-height: auto;
  }

  .contact-practical-card__label {
    margin-bottom: 0;
  }

  .contact-practical-card h3 {
    margin-top: 24px;
  }
}


/* ===== V29: pojedyncza sekcja kontakt premium ===== */
.contact-practical-v28,
.contact-tiles,
.contact-cards,
.contact-grid,
.contact-hero,
.contact-page-hero {
  display: none !important;
}

.contact-premium-v29 {
  background:
    radial-gradient(circle at 88% 12%, rgba(174, 139, 110, .15), transparent 28%),
    linear-gradient(145deg, #f8f3ee 0%, #fffdfa 100%);
}

.contact-premium-v29__header {
  max-width: 780px;
  margin-bottom: clamp(36px, 6vw, 72px);
}

.contact-premium-v29__header h1 {
  margin-bottom: 18px;
}

.contact-premium-v29__header > p:last-child {
  max-width: 640px;
  color: var(--muted, #716760);
  line-height: 1.7;
}

.contact-premium-v29__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.contact-premium-card {
  position: relative;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(26px, 4vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(75, 51, 45, .13);
  border-radius: 30px;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 22px 60px rgba(75, 51, 45, .07);
  transition: transform .38s ease, box-shadow .38s ease, border-color .38s ease;
}

.contact-premium-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  bottom: -90px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(155,128,107,.13), transparent 68%);
  pointer-events: none;
  transition: transform .5s ease, opacity .5s ease;
}

.contact-premium-card:hover {
  transform: translateY(-7px);
  border-color: rgba(75, 51, 45, .24);
  box-shadow: 0 30px 72px rgba(75, 51, 45, .11);
}

.contact-premium-card:hover::after {
  transform: scale(1.18);
}

.contact-premium-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 34px;
  border: 1px solid rgba(116, 86, 66, .28);
  border-radius: 18px;
  color: rgba(111, 78, 58, .86);
  background: rgba(151, 117, 92, .07);
  backdrop-filter: blur(8px);
  transition: transform .35s ease, background .35s ease, color .35s ease;
}

.contact-premium-icon svg {
  width: 27px;
  height: 27px;
}

.contact-premium-card:hover .contact-premium-icon {
  transform: translateY(-3px) rotate(-3deg);
  background: rgba(151, 117, 92, .13);
  color: #6f4e3a;
}

.contact-premium-card__label {
  color: #9b806b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.contact-premium-card h2 {
  margin: 18px 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
}

.contact-premium-card__main {
  max-width: 100%;
  font-size: clamp(1rem, 1.6vw, 1.24rem);
  font-weight: 760;
  overflow-wrap: anywhere;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.contact-premium-card p,
.contact-premium-card li {
  color: var(--muted, #716760);
  line-height: 1.68;
}

.contact-premium-card__address {
  margin: 0 0 24px;
}

.contact-premium-card__link {
  margin-top: auto;
  font-weight: 750;
}

.contact-premium-list {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

.contact-premium-list li {
  position: relative;
  padding-left: 28px;
  margin-top: 12px;
}

.contact-premium-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #8d705b;
  font-weight: 800;
}

.contact-email-card {
  cursor: pointer;
}

.contact-email-tooltip {
  position: absolute;
  top: 24px;
  right: 24px;
  padding: 8px 11px;
  border-radius: 999px;
  color: #fff;
  background: rgba(59, 43, 35, .88);
  font-size: .75rem;
  font-weight: 700;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}

.contact-email-card:hover .contact-email-tooltip,
.contact-email-card:focus-within .contact-email-tooltip {
  opacity: 1;
  transform: translateY(0);
}

.contact-email-tooltip.is-copied {
  background: #6f4e3a;
}

.contact-email-help {
  margin-top: 12px;
  font-size: .92rem;
}

@media (max-width: 760px) {
  .contact-premium-v29__grid {
    grid-template-columns: 1fr;
  }

  .contact-premium-card {
    min-height: auto;
  }
}

@media (max-width: 480px) {
  .contact-premium-card {
    padding: 24px;
    border-radius: 24px;
  }

  .contact-premium-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 26px;
  }

  .contact-email-tooltip {
    top: 18px;
    right: 18px;
  }
}


/* ===== V30: globalna obsługa adresu e-mail ===== */
.email-smart-link {
  position: relative;
  display: inline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color .22s ease, opacity .22s ease;
}

.email-smart-link:hover {
  color: #6f4e3a;
  text-decoration: underline;
}

.email-smart-link::after {
  content: "";
  display: inline-block;
  width: .42em;
  height: .42em;
  margin-left: .38em;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-.1em) rotate(45deg);
  opacity: .45;
}

.email-copy-toast {
  position: fixed;
  left: 50%;
  bottom: max(28px, env(safe-area-inset-bottom));
  z-index: 100000;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: #fff;
  background: rgba(57, 42, 34, .94);
  box-shadow: 0 18px 45px rgba(35, 24, 19, .24);
  backdrop-filter: blur(12px);
  font-size: .9rem;
  font-weight: 750;
  opacity: 0;
  transform: translate(-50%, 14px);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}

.email-copy-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* Usuń stary tooltip tylko z karty kontaktowej */
.contact-email-tooltip {
  display: none !important;
}


/* ===== V31: dopracowana responsywność i skalowanie ===== */
html {
  overflow-x: clip;
}

body,
.site,
main,
section {
  max-width: 100%;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

.long-email-link,
.location-list dd,
.location-list a,
.site-footer--v27 a {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: none;
}

.location-card {
  width: min(100%, 1540px);
  margin-inline: auto;
}

.location-card__details {
  min-width: 0;
}

.location-list {
  min-width: 0;
}

.location-list div {
  min-width: 0;
}

.location-list dd {
  font-size: clamp(.95rem, 1.25vw, 1.12rem);
}

.site-footer--v27 {
  overflow: hidden;
}

.site-footer--v27 .site-footer__top,
.site-footer--v27 .site-footer__bottom {
  width: min(100% - 40px, 1480px);
  margin-inline: auto;
}

.site-footer--v27 .site-footer__columns {
  align-items: start;
}

.site-footer--v27 .site-footer__columns > div {
  min-width: 0;
}

.site-footer--v27 a,
.site-footer--v27 p,
.site-footer--v27 button {
  line-height: 1.55;
}

.contact-premium-v29__grid {
  align-items: stretch;
}

.contact-premium-card {
  height: 100%;
}

/* Większe ekrany */
@media (min-width: 1600px) {
  .container {
    width: min(100% - 96px, 1500px);
  }

  .site-footer--v27 .site-footer__top {
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.7fr);
    gap: 96px;
  }

  .site-footer--v27 .site-footer__columns {
    gap: 54px;
  }

  .location-card {
    grid-template-columns: minmax(430px, .78fr) minmax(620px, 1.22fr);
  }
}

/* Tablet */
@media (max-width: 1100px) {
  .location-card {
    grid-template-columns: 1fr;
  }

  .location-card__map {
    min-height: 430px;
  }

  .site-footer--v27 .site-footer__top {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .site-footer--v27 .site-footer__columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Telefon */
@media (max-width: 760px) {
  :root {
    --mobile-side: 22px;
  }

  .container,
  .site-footer--v27 .site-footer__top,
  .site-footer--v27 .site-footer__bottom {
    width: calc(100% - (var(--mobile-side) * 2));
  }

  .location-card {
    display: block;
    border-radius: 26px;
    overflow: hidden;
  }

  .location-card__details {
    padding: 30px 24px 26px;
  }

  .location-card__label {
    font-size: .72rem;
    letter-spacing: .12em;
  }

  .location-card address {
    font-size: clamp(1.65rem, 7vw, 2.25rem);
    line-height: 1.22;
  }

  .location-list {
    margin-top: 28px;
  }

  .location-list div {
    padding-block: 18px;
  }

  .location-list dt {
    margin-bottom: 7px;
    font-size: .9rem;
  }

  .location-list dd,
  .location-list dd a {
    display: block;
    width: 100%;
    font-size: clamp(.92rem, 4.2vw, 1.05rem);
    line-height: 1.5;
  }

  .location-card__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 26px;
  }

  .location-card__actions .button,
  .location-card__actions a {
    width: 100%;
    justify-content: center;
  }

  .location-card__map {
    min-height: 360px;
    border-radius: 0;
  }

  .site-footer--v27 .site-footer__top {
    padding-top: 46px;
    padding-bottom: 34px;
    gap: 34px;
  }

  .site-footer--v27 .site-footer__columns {
    grid-template-columns: 1fr 1fr;
    gap: 30px 20px;
  }

  .site-footer--v27 .site-footer__columns > div:first-child {
    grid-column: 1 / -1;
  }

  .site-footer--v27 h3 {
    margin-bottom: 12px;
    font-size: .74rem;
    letter-spacing: .13em;
  }

  .site-footer--v27 .site-footer__columns > div {
    gap: 9px;
  }

  .site-footer--v27 a,
  .site-footer--v27 p,
  .site-footer--v27 button {
    font-size: .94rem;
  }

  .site-footer--v27 .site-footer__bottom {
    padding-block: 24px max(28px, env(safe-area-inset-bottom));
    gap: 8px;
  }

  .site-footer--v27 .site-footer__bottom p {
    margin: 0;
    font-size: .76rem;
    line-height: 1.45;
  }

  .footer-secondary-note {
    display: none;
  }

  .contact-premium-v29__header {
    margin-bottom: 34px;
  }

  .contact-premium-v29__header h1 {
    font-size: clamp(2.6rem, 12vw, 4.2rem);
    line-height: .98;
  }

  .contact-premium-card {
    min-height: 0;
  }

  .contact-premium-card__main {
    display: block;
    width: 100%;
    font-size: clamp(.92rem, 4.2vw, 1.08rem);
  }
}

/* Wąskie telefony */
@media (max-width: 480px) {
  :root {
    --mobile-side: 16px;
  }

  .site-header__inner {
    padding-inline: 16px;
  }

  .site-footer--v27 .site-footer__columns {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .site-footer--v27 .site-footer__columns > div:first-child {
    grid-column: auto;
  }

  .location-card__details {
    padding: 26px 20px 22px;
  }

  .location-card address {
    font-size: clamp(1.55rem, 8vw, 2rem);
  }

  .location-list dd,
  .location-list dd a {
    font-size: clamp(.86rem, 4vw, 1rem);
  }

  .contact-premium-card {
    padding: 22px 20px;
  }
}

/* Animacje: efektowne, ale bez wyskakiwania poza ekran */
@media (prefers-reduced-motion: no-preference) {
  .location-card,
  .contact-premium-card,
  .site-footer--v27 .site-footer__columns > div {
    will-change: transform, opacity;
  }
}

@media (prefers-reduced-motion: reduce) {
  .location-card,
  .contact-premium-card,
  .site-footer--v27 .site-footer__columns > div {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

.v31-wrap-fix {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}


/* ===== V32: poprawka wyszukiwarki i mapy ===== */

/* Wyszukiwarka */
.search-input-wrap-v32,
.search-panel form,
.search-modal form,
.search-drawer form {
  max-width: 100%;
}

.search-input-wrap-v32 {
  position: relative;
  display: flex;
  align-items: center;
  border: 1px solid rgba(119, 87, 67, .22) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.search-input-wrap-v32::before,
.search-input-wrap-v32::after {
  display: none !important;
  content: none !important;
}

.search-input-v32 {
  width: 100% !important;
  min-width: 0 !important;
  height: 74px !important;
  padding: 0 22px !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #2f2a27 !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  line-height: 1.2 !important;
}

.search-input-v32::placeholder {
  color: rgba(62, 55, 50, .58) !important;
  opacity: 1 !important;
}

.search-field-label {
  display: block;
  margin-bottom: 12px !important;
  color: #2f2a27;
  font-weight: 700;
}

.search-modal,
.search-panel,
.search-drawer {
  overflow-x: hidden !important;
}

/* Usuń dodatkowy brązowy prostokąt/focus ring */
.search-input-v32:focus,
.search-input-wrap-v32:focus-within {
  border-color: rgba(119, 87, 67, .42) !important;
  box-shadow: 0 0 0 4px rgba(151,117,92,.10) !important;
}

.search-input-v32:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
}

/* Mapa i dane */
.location-card {
  grid-template-columns: minmax(520px, .95fr) minmax(620px, 1.05fr) !important;
  align-items: stretch !important;
}

.location-card__details {
  min-width: 0 !important;
  padding: clamp(34px, 4vw, 58px) !important;
}

.location-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 28px !important;
  row-gap: 0 !important;
}

.location-list > div {
  min-width: 0 !important;
}

.location-list > div:last-child {
  grid-column: 1 / -1 !important;
}

.location-list dt,
.location-list dd,
.location-list a {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.location-list dd {
  font-size: clamp(.95rem, 1.1vw, 1.08rem) !important;
  line-height: 1.5 !important;
}

.location-card__map {
  min-width: 0 !important;
  overflow: hidden !important;
}

.location-card__map iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  border: 0 !important;
}

/* Tablet */
@media (max-width: 1180px) {
  .location-card {
    grid-template-columns: 1fr !important;
  }

  .location-card__map iframe {
    min-height: 460px !important;
  }
}

/* Telefon */
@media (max-width: 760px) {
  .search-input-v32 {
    height: 62px !important;
    padding: 0 18px !important;
    font-size: 1rem !important;
  }

  .search-field-label {
    margin-bottom: 10px !important;
    font-size: .95rem !important;
  }

  .location-list {
    grid-template-columns: 1fr !important;
  }

  .location-list > div:last-child {
    grid-column: auto !important;
  }

  .location-card__map iframe {
    min-height: 340px !important;
  }
}


/* ===== V33: wyniki wyszukiwania ===== */
.search-result-v33 {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 18px;
  align-items: center;
  width: 100%;
  padding: 18px 20px;
  border: 1px solid rgba(75, 51, 45, .12);
  border-radius: 18px;
  background: rgba(255, 255, 255, .82);
  color: inherit;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.search-result-v33 strong {
  display: block;
  min-width: 0;
  font-size: 1rem;
}

.search-result-v33 span {
  min-width: 0;
  color: var(--muted, #716760);
  font-size: .9rem;
  line-height: 1.45;
}

.search-result-v33 i {
  grid-column: 2;
  grid-row: 1 / 3;
  font-style: normal;
  color: #8f725c;
  transition: transform .25s ease;
}

.search-result-v33:hover {
  transform: translateY(-2px);
  border-color: rgba(75, 51, 45, .22);
  box-shadow: 0 14px 35px rgba(75, 51, 45, .08);
}

.search-result-v33:hover i {
  transform: translateX(4px);
}

@media (max-width: 560px) {
  .search-result-v33 {
    padding: 15px 16px;
  }

  .search-result-v33 span {
    font-size: .84rem;
  }
}


/* ===== V36: animowany loader OLΛNISZYN ===== */
.site-loader {
  overflow: hidden;
}

.site-loader__inner {
  overflow: hidden;
}

.site-loader__inner strong,
.site-loader__inner span,
.site-loader__inner i {
  opacity: 0;
}

.site-loader__inner strong {
  display: block;
  transform: translateY(56px);
  animation: v36LoaderBrand 1.05s cubic-bezier(.22,.61,.36,1) .08s forwards;
}

.site-loader__inner span {
  display: block;
  transform: translateY(28px);
  animation: v36LoaderSubtitle .8s cubic-bezier(.22,.61,.36,1) .45s forwards;
}

.site-loader__inner i {
  display: block;
  transform: scaleX(.25);
  transform-origin: center;
  animation: v36LoaderTrack .5s ease .68s forwards;
}

.site-loader__inner i::after {
  animation: v36LoaderLine 1.05s cubic-bezier(.22,.61,.36,1) .72s forwards !important;
}

@keyframes v36LoaderBrand {
  from {
    opacity: 0;
    transform: translateY(56px);
    letter-spacing: .34em;
  }
  to {
    opacity: 1;
    transform: translateY(0);
    letter-spacing: .22em;
  }
}

@keyframes v36LoaderSubtitle {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: .72;
    transform: translateY(0);
  }
}

@keyframes v36LoaderTrack {
  from {
    opacity: 0;
    transform: scaleX(.25);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

@keyframes v36LoaderLine {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

.site-loader.is-hiding .site-loader__inner {
  animation: v36LoaderExit .55s cubic-bezier(.4,0,.2,1) forwards;
}

@keyframes v36LoaderExit {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(-24px) scale(.98);
  }
}


/* ===== V37: większa skala na laptopach i desktopach ===== */

/* Tylko laptopy i większe ekrany — tablet/mobile bez zmian */
@media (min-width: 1200px) {
  :root {
    --desktop-container: 1460px;
  }

  .container {
    width: min(calc(100% - 64px), var(--desktop-container)) !important;
  }

  main section {
    scroll-margin-top: 110px;
  }

  .section,
  section {
    padding-top: clamp(86px, 7vw, 126px);
    padding-bottom: clamp(86px, 7vw, 126px);
  }

  .hero {
    min-height: calc(100vh - var(--header-height, 80px));
    display: flex;
    align-items: center;
    padding-top: clamp(72px, 7vw, 110px);
    padding-bottom: clamp(72px, 7vw, 110px);
  }

  .hero__grid {
    grid-template-columns: minmax(520px, .92fr) minmax(620px, 1.08fr) !important;
    gap: clamp(54px, 6vw, 96px) !important;
    align-items: center;
  }

  .hero__content {
    max-width: 700px;
  }

  .hero__content h1,
  .hero-title {
    font-size: clamp(4.9rem, 6.3vw, 7.7rem) !important;
    line-height: .94 !important;
    letter-spacing: -.045em;
  }

  .hero__content p,
  .hero__lead,
  .lead {
    font-size: clamp(1.08rem, 1.35vw, 1.28rem) !important;
    line-height: 1.7;
  }

  .hero-photo,
  .hero__visual {
    min-height: 650px;
  }

  .hero-photo img,
  .hero__visual img {
    min-height: 650px;
    object-fit: cover;
  }

  .section-header {
    margin-bottom: clamp(42px, 4.5vw, 72px);
  }

  .section-header h2,
  .section-title,
  main section h2 {
    font-size: clamp(3.2rem, 4.5vw, 5.4rem) !important;
    line-height: .98 !important;
  }

  .section-header p,
  .section-intro {
    max-width: 780px;
    font-size: 1.12rem;
    line-height: 1.75;
  }

  .condition-grid,
  .team-grid,
  .services-grid,
  .reviews-grid,
  .gallery-grid {
    gap: clamp(22px, 2.2vw, 34px) !important;
  }

  .condition-card,
  .team-card,
  .service-card,
  .review-card,
  .method-card,
  .problem-card {
    min-height: 100%;
  }

  .condition-card,
  .service-card,
  .review-card,
  .method-card,
  .problem-card {
    padding: clamp(28px, 2.3vw, 38px);
  }

  .condition-photo,
  .team-photo,
  .gallery-card,
  .gallery-item {
    min-height: 360px;
  }

  .team-photo {
    min-height: 430px;
  }

  .team-card__body,
  .condition-card > div:last-child {
    padding: 28px 30px 32px;
  }

  .team-card__body h3,
  .condition-card h3,
  .service-card h3,
  .review-card h3 {
    font-size: clamp(1.45rem, 1.8vw, 2rem);
  }

  .location-card {
    width: min(calc(100% - 64px), 1500px) !important;
    margin-inline: auto;
    grid-template-columns: minmax(560px, .92fr) minmax(660px, 1.08fr) !important;
  }

  .location-card__details {
    padding: clamp(52px, 4.8vw, 78px) !important;
  }

  .location-card address {
    font-size: clamp(2.2rem, 3vw, 3.5rem);
  }

  .location-card__map iframe {
    min-height: 700px !important;
  }

  .site-footer--v27 .site-footer__top,
  .site-footer--v27 .site-footer__bottom {
    width: min(calc(100% - 64px), 1500px);
  }

  .site-footer--v27 .site-footer__top {
    padding-top: 84px;
    padding-bottom: 64px;
  }

  .site-footer--v27 .site-footer__columns {
    gap: 48px;
  }

  .site-footer--v27 a,
  .site-footer--v27 p,
  .site-footer--v27 button {
    font-size: 1rem;
  }
}

/* Typowy laptop 1200–1440 px: mniej pustych miejsc, większa treść */
@media (min-width: 1200px) and (max-width: 1440px) {
  .container {
    width: min(calc(100% - 48px), 1360px) !important;
  }

  .section,
  section {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .hero {
    min-height: auto;
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .hero__grid {
    grid-template-columns: minmax(470px, .95fr) minmax(560px, 1.05fr) !important;
    gap: 52px !important;
  }

  .hero__content h1,
  .hero-title {
    font-size: clamp(4.4rem, 6vw, 6.4rem) !important;
  }

  .hero-photo,
  .hero__visual,
  .hero-photo img,
  .hero__visual img {
    min-height: 590px;
  }

  .section-header h2,
  .section-title,
  main section h2 {
    font-size: clamp(3rem, 4.2vw, 4.7rem) !important;
  }

  .condition-photo,
  .gallery-card,
  .gallery-item {
    min-height: 320px;
  }

  .team-photo {
    min-height: 390px;
  }

  .location-card {
    width: min(calc(100% - 48px), 1380px) !important;
    grid-template-columns: minmax(500px, .95fr) minmax(570px, 1.05fr) !important;
  }

  .location-card__map iframe {
    min-height: 620px !important;
  }
}

/* ===== V38: treści klienta ===== */
.team-profile-v38{display:grid;grid-template-columns:110px minmax(0,1fr);gap:28px;padding:42px 0;border-top:1px solid rgba(75,51,45,.13)}
.team-profile-v38__number{font-family:Georgia,serif;font-size:2.3rem;color:rgba(111,78,58,.42)}
.team-profile-v38__content{max-width:980px}.team-profile-v38__content>span{color:#9b806b;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:800}
.team-profile-v38__content h3{margin:10px 0 20px;font-size:clamp(2rem,3vw,3.4rem)}.team-profile-v38__content p{color:var(--muted,#716760);line-height:1.78}
.approach-process-v38{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:46px}.approach-step-v38{padding:30px;border:1px solid rgba(75,51,45,.13);border-radius:26px;background:rgba(255,255,255,.7)}
.approach-step-v38>span{display:block;margin-bottom:40px;color:#9b806b;font-weight:800;letter-spacing:.12em}.approach-step-v38 h3{font-size:1.45rem;line-height:1.2}.approach-step-v38 p{color:var(--muted,#716760);line-height:1.68}
.visits-v38{background:linear-gradient(145deg,rgba(247,241,235,.88),rgba(255,255,255,.96))}.visit-grid-v38{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.visit-grid-v38--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.visit-card-v38{display:flex;flex-direction:column;padding:34px;border:1px solid rgba(75,51,45,.13);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 20px 54px rgba(75,51,45,.06)}
.visit-card-v38 h3{margin:0;font-size:clamp(1.45rem,2vw,2rem)}.visit-card-v38__subtitle{margin:12px 0 10px;color:#8f725c;font-weight:700}.visit-card-v38>strong{margin:8px 0 18px}.visit-card-v38>p:last-of-type{color:var(--muted,#716760);line-height:1.7}.visit-card-v38 .button{margin-top:auto;align-self:flex-start}
.subsection-header-v38{margin:62px 0 20px}.visit-help-v38{margin-top:46px;padding:30px 34px;border-radius:26px;border:1px solid rgba(75,51,45,.13);background:rgba(151,117,92,.07)}
.condition-columns-v38{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}.condition-columns-v38 article,.condition-note-v38{padding:30px;border:1px solid rgba(75,51,45,.13);border-radius:26px;background:rgba(255,255,255,.76)}
.condition-columns-v38 li,.condition-note-v38 p{color:var(--muted,#716760);line-height:1.7}.condition-note-v38{margin-top:18px}
@media(max-width:1199px){.approach-process-v38{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:12px;scrollbar-width:none}.approach-process-v38::-webkit-scrollbar{display:none}.approach-step-v38{flex:0 0 min(72vw,340px);scroll-snap-align:start}.visit-grid-v38,.visit-grid-v38--three{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.team-profile-v38{grid-template-columns:1fr;gap:10px;padding:34px 0}.team-profile-v38__number{font-size:1.4rem}.visit-grid-v38,.visit-grid-v38--three,.condition-columns-v38{grid-template-columns:1fr}.visit-card-v38{padding:26px 22px}}

/* ===== V39 refinement ===== */
.team-card__more{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px;border-top:1px solid rgba(75,51,45,.14);font-weight:800;color:inherit;text-decoration:none}.team-card__more span{font-size:1.25rem}
.team-directory-v39{padding-top:clamp(44px,6vw,86px)}.team-intro-v39{margin-bottom:clamp(28px,4vw,52px)}
.team-profile-v39{min-height:560px;align-items:stretch}.team-profile-v39 .team-profile__photo img{height:100%;object-fit:cover}.team-profile-v39 .team-profile__content{display:flex;flex-direction:column;justify-content:center;padding-block:clamp(28px,4vw,54px)}
.team-profile-copy-v39{position:relative;max-height:235px;overflow:hidden;transition:max-height .55s cubic-bezier(.2,.8,.2,1)}.team-profile-copy-v39:after{content:"";position:absolute;left:0;right:0;bottom:0;height:72px;background:linear-gradient(transparent,var(--surface,#fbf8f3));pointer-events:none}.team-profile-v39.is-copy-open .team-profile-copy-v39{max-height:1000px}.team-profile-v39.is-copy-open .team-profile-copy-v39:after{opacity:0}.team-profile-copy-v39 p{line-height:1.7}.team-copy-toggle-v39{align-self:flex-start;margin:10px 0 20px;padding:9px 0;border:0;background:none;font:inherit;font-weight:800;color:#806b5a;cursor:pointer}.team-copy-toggle-v39 span{margin-left:8px}
.interior.section{padding-top:clamp(44px,6vw,82px)!important;padding-bottom:clamp(48px,7vw,92px)!important}.interior .section-heading{margin-bottom:clamp(24px,3vw,42px)!important}.gallery-carousel{margin-top:0!important}.gallery-slot{animation:none}.gallery-slot img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease}.gallery-slot.reveal{transform:translateY(28px) scale(.985);opacity:0}.gallery-slot.reveal.is-visible{transform:none;opacity:1;transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.gallery-slot:hover img{transform:scale(1.035)}
.hero-photo--real{overflow:hidden}.hero-photo--real img{animation:v39HeroIn 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes v39HeroIn{from{opacity:0;transform:scale(1.06) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
.location-section.section{padding-top:clamp(44px,6vw,80px)!important;padding-bottom:clamp(44px,6vw,80px)!important}.location-section .section-heading{margin-bottom:clamp(26px,4vw,44px)!important}.location-card__details{padding:clamp(28px,4vw,54px)!important}.location-list{margin-top:26px!important}.location-list div{padding:17px 0!important}.location-card__map{min-height:480px!important}
.visit-slider-controls-v39{display:none}.visits-v38{padding-top:clamp(54px,7vw,96px)!important;padding-bottom:clamp(54px,7vw,96px)!important}.subsection-header-v38{margin-top:44px!important}
@media(max-width:760px){
 .visit-path{display:none!important} /* duplicate of Nasze podejście/process content on small screens removed too */
 .team-directory-v39{padding-top:34px}.team-intro-v39{margin-bottom:22px}.team-profile-v39{display:grid!important;grid-template-columns:1fr!important;min-height:0;margin-bottom:18px!important}.team-profile-v39 .team-profile__photo{height:390px!important}.team-profile-v39 .team-profile__content{padding:24px 22px 26px!important}.team-profile-v39 .team-profile__content h2{font-size:2.15rem!important}.team-profile-copy-v39{max-height:190px}.team-profile-v39.is-copy-open .team-profile-copy-v39{max-height:1300px}
 .interior.section{padding-top:36px!important;padding-bottom:44px!important}.interior .section-heading{margin-bottom:16px!important}.interior .section-heading h2{font-size:clamp(3rem,14vw,4.5rem)!important}.gallery-carousel .horizontal-carousel__controls{margin-bottom:14px!important}.gallery-carousel .gallery-grid{gap:12px!important}.gallery-carousel .gallery-slot{width:78vw!important;max-width:390px!important}
 .visit-slider-controls-v39{display:flex;justify-content:flex-end;gap:10px;margin:18px 0 12px}.visit-slider-controls-v39 button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(75,51,45,.15);background:#fff;font-size:1.2rem}.visit-grid-v38,.visit-grid-v38--two,.visit-grid-v38--three{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;scrollbar-width:none;padding-bottom:6px}.visit-grid-v38::-webkit-scrollbar{display:none}.visit-card-v38{flex:0 0 88%;scroll-snap-align:start;min-height:560px}.subsection-header-v38{margin:34px 0 10px!important}.visits-v38{padding-top:44px!important;padding-bottom:48px!important}.visits-v38 .section-header{margin-bottom:12px!important}
 .location-section.section{padding-top:38px!important;padding-bottom:38px!important}.location-section .section-heading{margin-bottom:18px!important}.location-card__details{padding:26px 22px!important}.location-card address{margin-bottom:20px!important}.location-list{margin-top:16px!important}.location-list div{padding:14px 0!important}.location-card__map{min-height:340px!important}
}


/* ===== V40 refinement ===== */

/* NASZE PODEJŚCIE — restored, compact, not repetitive */
.approach-v40{
  padding-top:clamp(58px,7vw,96px)!important;
  padding-bottom:clamp(58px,7vw,96px)!important;
  background:linear-gradient(145deg,#fbf8f3 0%,#f4eadf 100%);
}
.approach-v40 .section-header{max-width:980px;margin-bottom:34px!important}
.approach-v40__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.approach-v40__step{
  padding:28px 26px 30px;
  border:1px solid rgba(75,51,45,.13);
  border-radius:24px;
  background:rgba(255,255,255,.76);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease,background .35s ease;
}
.approach-v40__step:hover{
  transform:translateY(-6px);
  border-color:rgba(139,105,81,.34);
  box-shadow:0 20px 44px rgba(75,51,45,.10);
  background:#fff;
}
.approach-v40__step>span{display:block;margin-bottom:34px;color:#9a7e68;font-weight:800;letter-spacing:.12em}
.approach-v40__step h3{font-size:clamp(1.25rem,1.55vw,1.55rem);line-height:1.18;margin-bottom:14px}
.approach-v40__step p{color:var(--muted,#716760);line-height:1.62;margin:0}

/* Team cards — preview text hidden slightly, reveal on hover or arrow */
.team-card__copy-v40{position:relative;max-height:5.2em;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.8,.2,1)}
.team-card__copy-v40:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.1em;background:linear-gradient(transparent,#fbf8f3);pointer-events:none;transition:opacity .25s ease}
.team-card:hover .team-card__copy-v40,.team-card.is-peek-open-v40 .team-card__copy-v40{max-height:12em}
.team-card:hover .team-card__copy-v40:after,.team-card.is-peek-open-v40 .team-card__copy-v40:after{opacity:0}
.team-card__peek-v40{
  width:34px;height:34px;margin:8px 0 4px auto;border:1px solid rgba(75,51,45,.15);border-radius:50%;
  background:rgba(255,255,255,.78);color:#7f6757;font-size:1.15rem;cursor:pointer;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.team-card:hover .team-card__peek-v40,.team-card.is-peek-open-v40 .team-card__peek-v40{transform:rotate(180deg);background:#fff;border-color:rgba(75,51,45,.28)}
.team-card{transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease}
.team-card:hover{transform:translateY(-5px);box-shadow:0 24px 56px rgba(75,51,45,.09);border-color:rgba(139,105,81,.26)}

/* Team subpage: photo + description side-by-side, half shown until arrow */
.team-profile-v40{scroll-margin-top:110px}
.team-profile-v40 .team-profile-copy-v40{position:relative;max-height:225px;overflow:hidden;transition:max-height .55s cubic-bezier(.2,.8,.2,1)}
.team-profile-v40 .team-profile-copy-v40:after{content:"";position:absolute;left:0;right:0;bottom:0;height:76px;background:linear-gradient(transparent,#fbf8f3);pointer-events:none;transition:opacity .25s ease}
.team-profile-v40.is-copy-open .team-profile-copy-v40{max-height:1300px}
.team-profile-v40.is-copy-open .team-profile-copy-v40:after{opacity:0}
.team-copy-toggle-v40{
  display:grid;place-items:center;width:42px;height:42px;margin:10px 0 20px;border:1px solid rgba(75,51,45,.16);
  border-radius:50%;background:#fff;color:#806b5a;font-size:1.25rem;cursor:pointer;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease
}
.team-profile-v40.is-copy-open .team-copy-toggle-v40{transform:rotate(180deg)}
.team-copy-toggle-v40:hover{border-color:rgba(75,51,45,.34);box-shadow:0 10px 24px rgba(75,51,45,.09)}
.team-profile-v40:target{box-shadow:0 0 0 2px rgba(151,117,92,.22),0 28px 70px rgba(75,51,45,.08)}

/* Gallery — no sideways entrance, tighter composition */
.interior-v40.section{padding-top:42px!important;padding-bottom:54px!important}
.gallery-heading-v40{margin-bottom:12px!important}
.gallery-carousel{position:relative;margin-top:0!important}
.gallery-carousel .horizontal-carousel__controls{margin:0 0 12px!important}
.gallery-carousel .gallery-grid{gap:14px!important}
.gallery-fade-v40{opacity:0;transform:scale(.97);filter:blur(6px);transition:opacity .72s ease,transform .8s cubic-bezier(.2,.8,.2,1),filter .8s ease}
.gallery-fade-v40.is-visible-v40{opacity:1;transform:scale(1);filter:blur(0)}
.gallery-fade-v40 img{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s ease!important}
.gallery-fade-v40:hover img{transform:scale(1.035)!important;filter:contrast(1.02) saturate(1.03)}
.gallery-fade-v40:hover figcaption{background:rgba(56,42,34,.78)}

/* Hero photo: clean premium fade/scale, no side movement */
.hero-photo--real img{animation:v40HeroPhoto 1.05s cubic-bezier(.2,.8,.2,1) both!important}
@keyframes v40HeroPhoto{from{opacity:0;transform:scale(1.045);filter:blur(7px)}to{opacity:1;transform:scale(1);filter:blur(0)}}

/* Co leczymy detailed text now before image cards */
.condition-detail-v40{padding-top:52px!important;padding-bottom:56px!important;background:#fbf8f3}
.condition-detail-v40 .section-header{max-width:1050px;margin-bottom:28px!important}
.condition-detail-v40 .condition-columns-v38{gap:14px!important;margin-top:24px!important}
.condition-info-card-v40{
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;
}
.condition-info-card-v40:hover{
  transform:translateY(-4px);
  border-color:rgba(139,105,81,.3);
  box-shadow:0 18px 38px rgba(75,51,45,.08);
}
.condition-detail-v40 .condition-note-v38{margin-top:14px!important}
.condition-cards-heading-v40{max-width:900px;margin:0 0 34px}
.condition-cards-heading-v40 h2{margin:.35em 0 .35em;font-size:clamp(2.8rem,4.5vw,5.2rem);line-height:.98}
.condition-cards-heading-v40 p:last-child{max-width:720px;color:var(--muted,#716760);line-height:1.7}

/* Animated titles on subpages */
body:not(:has(.hero)) main>section:first-of-type h1,
body:not(:has(.hero)) main>section:first-of-type h2{
  opacity:0;transform:translateY(26px);filter:blur(4px);
  animation:v40SubTitle .9s cubic-bezier(.2,.8,.2,1) .12s forwards;
}
@keyframes v40SubTitle{to{opacity:1;transform:none;filter:blur(0)}}

/* General subtle hover polish */
.condition-detail-card,.visit-card-v38,.method-card,.review-card,.faq-item{
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;
}
.condition-detail-card:hover,.visit-card-v38:hover,.method-card:hover,.review-card:hover{
  transform:translateY(-4px);box-shadow:0 20px 46px rgba(75,51,45,.08);border-color:rgba(139,105,81,.28)
}
.section-more{transition:transform .25s ease,color .25s ease}
.section-more:hover{transform:translateX(5px)}

/* Mobile/tablet */
@media(max-width:1199px){
  .approach-v40__steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none;padding-bottom:8px}
  .approach-v40__steps::-webkit-scrollbar{display:none}
  .approach-v40__step{flex:0 0 min(72vw,345px);scroll-snap-align:start}
}
@media(max-width:760px){
  .approach-v40{padding-top:38px!important;padding-bottom:42px!important}
  .approach-v40 .section-header{margin-bottom:18px!important}
  .team-card__copy-v40{max-height:4.8em}
  .team-card:hover .team-card__copy-v40{max-height:4.8em}
  .team-card.is-peek-open-v40 .team-card__copy-v40{max-height:14em}
  .team-profile-v40 .team-profile-copy-v40{max-height:185px}
  .interior-v40.section{padding-top:30px!important;padding-bottom:38px!important}
  .gallery-heading-v40{margin-bottom:8px!important}
  .gallery-carousel .horizontal-carousel__controls{margin-bottom:8px!important}
  .gallery-carousel .gallery-grid{gap:10px!important}
  .condition-detail-v40{padding-top:36px!important;padding-bottom:40px!important}
  .condition-detail-v40 .section-header{margin-bottom:18px!important}
  .condition-cards-heading-v40{margin-bottom:22px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-fade-v40,body:not(:has(.hero)) main>section:first-of-type h1,body:not(:has(.hero)) main>section:first-of-type h2{
    opacity:1!important;transform:none!important;filter:none!important;animation:none!important
  }
}

/* V61 final cascade guard: these selectors must remain last in the stylesheet. */
.conditions-v42 .section-heading{
  margin-bottom:18px!important;
}

.conditions-v42 .condition-carousel,
.conditions-v42 .condition-grid{
  margin-top:0!important;
}

.team .section-heading{
  margin-bottom:18px!important;
}

.team > .container > .horizontal-carousel,
.team .team-grid{
  margin-top:0!important;
  padding-top:0!important;
}

.gallery-v52 .gallery-toolbar-v52{
  margin-bottom:10px!important;
}

.gallery-v52 .gallery-track-v52{
  margin-top:0!important;
  padding-top:0!important;
}

/* ===== V61: tighter content rhythm + header clear of the hero photo ===== */

/* Header icons stay inside a calm glass bar instead of visually entering the photo. */
.site-header,
.site-header.is-scrolled{
  background:rgba(252,250,246,.94);
  border-bottom-color:rgba(72,63,55,.10);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
}

.site-header__actions{
  position:relative;
  z-index:2;
}

.site-header .icon-button{
  display:grid;
  place-items:center;
  padding:0;
}

.site-header .icon-button svg{
  display:block;
  margin:auto;
}

/* Bring media and cards closer to the copy above them. */
.conditions-v42 .section-heading,
.team .section-heading{
  margin-bottom:18px!important;
}

.conditions-v42 .condition-carousel,
.conditions-v42 .condition-grid,
.team > .container > .horizontal-carousel,
.team .team-grid{
  margin-top:0!important;
}

.conditions-v42 .condition-card{
  gap:0!important;
  padding:18px!important;
}

.conditions-v42 .condition-photo{
  margin:0!important;
}

.conditions-v42 .condition-card > div:last-child{
  min-height:0!important;
  padding:20px 6px 7px!important;
}

.conditions-v42 .condition-card > div:last-child p{
  margin-top:10px!important;
  margin-bottom:0!important;
}

.team .horizontal-carousel__controls,
.condition-carousel .horizontal-carousel__controls{
  min-height:0;
}

.team .team-grid{
  padding-top:0!important;
}

/* Gallery toolbar, practical details, reviews, FAQ and map use one compact rhythm. */
.gallery-v52 .gallery-toolbar-v52{
  margin-bottom:10px!important;
}

.gallery-v52 .gallery-track-v52{
  margin-top:0!important;
  padding-top:0!important;
}

.facility-strip.section{
  min-height:0!important;
  padding-top:38px!important;
  padding-bottom:32px!important;
}

.facility-strip__heading{
  margin-bottom:18px!important;
}

.facility-chips{
  margin-top:0!important;
  margin-bottom:0!important;
}

.reviews.section{
  min-height:0!important;
  padding-top:38px!important;
  padding-bottom:48px!important;
}

.reviews .review-summary{
  margin-bottom:14px!important;
}

.reviews .reviews-toolbar{
  margin-top:0!important;
  margin-bottom:10px!important;
}

.reviews .reviews-viewport,
.reviews .review-track{
  margin-top:0!important;
}

.faq.section{
  min-height:0!important;
  padding-top:44px!important;
  padding-bottom:44px!important;
}

.faq__layout{
  align-items:start;
  gap:clamp(34px,4vw,64px)!important;
  margin-bottom:0!important;
}

.faq__items{
  align-self:start;
  align-content:start;
  grid-auto-rows:max-content;
  gap:10px!important;
}

.faq__items details{
  align-self:start;
}

.location-section.section{
  min-height:0!important;
  padding-top:44px!important;
  padding-bottom:48px!important;
}

.location-section .section-heading{
  margin-bottom:22px!important;
}

.location-section .location-card{
  margin-top:0!important;
}

@media(min-width:1200px){
  /* The photo starts below the action icons on wide screens. */
  .site-header__actions{
    transform:translateY(-3px);
  }

  .hero__visual{
    margin-top:clamp(34px,2.6vw,50px)!important;
  }

  .team .horizontal-carousel__controls,
  .condition-carousel .horizontal-carousel__controls{
    height:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .conditions-v42.section,
  .team.section{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-header .icon-button,
  .hero__visual,
  .condition-card,
  .team-card,
  .gallery-slot{
    transition:none!important;
  }
}


/* ===== V41 mobile carousel + spacing polish ===== */

/* TEAM: same arrow position, one-card expansion controlled by JS only */
.team-card__body{display:flex;flex-direction:column}
.team-card__copy-v40{min-height:5.2em}
.team-card__peek-v40{
  flex:0 0 auto;
  margin:8px 0 8px auto!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  padding:0!important;
  position:relative;
}
.team-card__peek-v40::before{content:"⌄";display:block;transform:translateY(-1px)}
.team-card__peek-v40{font-size:0!important}
.team-card:hover .team-card__copy-v40{max-height:5.2em!important}
.team-card:hover .team-card__copy-v40:after{opacity:1!important}
.team-card:hover .team-card__peek-v40{transform:none!important}
.team-card.is-peek-open-v40 .team-card__copy-v40{max-height:14em!important}
.team-card.is-peek-open-v40 .team-card__copy-v40:after{opacity:0!important}
.team-card.is-peek-open-v40 .team-card__peek-v40{transform:rotate(180deg)!important}
.team-card__more{margin-top:auto}

/* Keep cards visually aligned even with different copy lengths */
@media(min-width:1200px){
  .team-grid .team-card__body{min-height:360px}
  .team-card__peek-v40{margin-top:10px!important}
}

/* APPROACH arrows for tablet/mobile */
.approach-controls-v41{display:none}
@media(max-width:1199px){
  .approach-controls-v41{display:flex;justify-content:flex-end;gap:10px;margin:0 0 12px}
  .approach-controls-v41 button{
    width:48px;height:48px;border-radius:50%;border:1px solid rgba(75,51,45,.15);
    background:#fff;color:#2f2925;font-size:1.15rem;display:grid;place-items:center;cursor:pointer;
    box-shadow:0 8px 20px rgba(75,51,45,.04)
  }
  .approach-v40__steps{scroll-behavior:smooth}
  .approach-v40__step{flex:0 0 min(82vw,360px)!important}
}
@media(max-width:760px){
  .approach-controls-v41{margin-top:-2px;margin-bottom:10px}
  .approach-controls-v41 button{width:44px;height:44px}
  .approach-v40__step{flex-basis:88%!important;min-height:auto!important;padding:24px 22px 26px!important}
}

/* GALLERY: remove the remaining huge empty block */
.interior-v40.section,.interior.section{
  padding-top:34px!important;
  padding-bottom:42px!important;
}
.interior-v40 .section-heading,.interior .section-heading{
  margin-bottom:8px!important;
}
.interior-v40 .section-heading::after,.interior .section-heading::after{margin-top:10px!important}
.gallery-carousel{margin-top:-6px!important}
.gallery-carousel .horizontal-carousel__controls{
  margin:0 0 8px!important;
  min-height:0!important;
}
.gallery-carousel .gallery-grid{padding-top:0!important}
@media(min-width:1200px){
  .interior-v40.section,.interior.section{padding-top:38px!important;padding-bottom:46px!important}
  .gallery-carousel .horizontal-carousel__controls{transform:translateY(2px)}
}
@media(max-width:760px){
  .interior-v40.section,.interior.section{padding-top:24px!important;padding-bottom:32px!important}
  .gallery-carousel{margin-top:-2px!important}
}

/* VISITS/MASSAGES mobile: no giant white empty area */
@media(max-width:760px){
  .visits-v38{padding-top:34px!important;padding-bottom:34px!important}
  .visit-grid-v38,.visit-grid-v38--two,.visit-grid-v38--three{
    align-items:stretch!important;
    padding-bottom:2px!important;
  }
  .visit-card-v38{
    min-height:0!important;
    height:auto!important;
    flex:0 0 88%!important;
    padding:24px 20px 22px!important;
  }
  .visit-card-v38>p:last-of-type{margin-bottom:20px!important}
  .visit-card-v38 .button{margin-top:8px!important}
  .visit-slider-controls-v39{margin:12px 0 8px!important}
  .subsection-header-v38{margin:26px 0 8px!important}
  .visit-help-v38{margin-top:26px!important}
}

/* Make mobile team strip feel deliberate and leave room for controls */
@media(max-width:1199px){
  .team-grid{scroll-behavior:smooth}
}
@media(max-width:760px){
  .team-card__body{padding-bottom:18px!important}
  .team-card__copy-v40{min-height:4.8em}
  .team-card__peek-v40{width:38px!important;height:38px!important;margin:8px 0 6px auto!important}
}


/* ===== V42: arrows, spacing, fresh image animation ===== */

/* Worker cards */
.team-card__copy-v42{
  position:relative;
  overflow:hidden;
  max-height:5.4em;
  transition:max-height .38s cubic-bezier(.22,.8,.2,1);
}
.team-card__copy-v42::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:2.2em;
  background:linear-gradient(transparent,rgba(251,248,243,.98));
  pointer-events:none;
  transition:opacity .2s ease;
}
.team-card.is-peek-open-v42 .team-card__copy-v42{
  max-height:16em;
}
.team-card.is-peek-open-v42 .team-card__copy-v42::after{
  opacity:0;
}
.team-card__peek-v42{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin:12px auto 8px!important;
  padding:0!important;
  border:1px solid rgba(75,51,45,.18)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:#7f6958!important;
  font-size:1.05rem!important;
  line-height:1!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.team-card__peek-v42:hover{
  background:#fff!important;
  border-color:rgba(75,51,45,.34)!important;
  box-shadow:0 8px 22px rgba(75,51,45,.08)!important;
}
.team-card.is-peek-open-v42 .team-card__peek-v42{
  transform:rotate(180deg)!important;
}
.team-card__body{
  display:flex;
  flex-direction:column;
}
.team-card__footer,
.team-card .section-more{
  margin-top:auto;
}

/* tighten worker cards vertically */
.team-card{
  min-height:0!important;
}
.team-card__body{
  padding-bottom:20px!important;
}

/* Center in cadres — reduce empty gap massively */
.interior-v42.section{
  padding-top:28px!important;
  padding-bottom:38px!important;
}
.interior-v42 .gallery-heading-v42,
.interior-v42 .section-heading{
  margin-bottom:10px!important;
}
.interior-v42 .horizontal-carousel__controls{
  margin:0 0 8px!important;
}
.interior-v42 .gallery-carousel{
  margin-top:0!important;
}
.interior-v42 .gallery-grid{
  gap:12px!important;
}

/* New gallery animation: crisp clip reveal, no side movement and no zoom */
.gallery-pop-v42{
  opacity:0;
  clip-path:inset(8% 0 8% 0 round 22px);
  transform:translateY(10px);
  transition:opacity .55s ease,clip-path .7s cubic-bezier(.22,.8,.2,1),transform .55s cubic-bezier(.22,.8,.2,1);
}
.gallery-pop-v42.is-visible-v42{
  opacity:1;
  clip-path:inset(0 0 0 0 round 22px);
  transform:translateY(0);
}
.gallery-pop-v42 img{
  transform:none!important;
  transition:filter .35s ease!important;
}
.gallery-pop-v42:hover img{
  transform:none!important;
  filter:brightness(1.035) contrast(1.02)!important;
}

/* Main hero photo: mask-reveal instead of fade/zoom */
.hero-photo--real{
  overflow:hidden;
}
.hero-photo--real img{
  animation:v42HeroReveal .9s cubic-bezier(.22,.8,.2,1) both!important;
  transform:none!important;
}
@keyframes v42HeroReveal{
  from{
    opacity:0;
    clip-path:inset(0 0 100% 0 round 28px);
  }
  to{
    opacity:1;
    clip-path:inset(0 0 0 0 round 28px);
  }
}

/* Co leczymy: less empty space between intro and cards */
.conditions-v42,
.conditions-v42.section{
  padding-top:46px!important;
  padding-bottom:46px!important;
}
.conditions-v42 .section-heading,
.conditions-v42 .section-header{
  margin-bottom:24px!important;
}
.conditions-v42 .condition-grid,
.conditions-v42 .horizontal-carousel,
.conditions-v42 .condition-carousel{
  margin-top:16px!important;
}

/* Tablet/mobile */
@media(max-width:1199px){
  .team-card__peek-v42{
    margin:10px auto 6px!important;
  }
  .interior-v42.section{
    padding-top:24px!important;
    padding-bottom:30px!important;
  }
}
@media(max-width:760px){
  .team-card__copy-v42{
    max-height:4.9em;
  }
  .team-card.is-peek-open-v42 .team-card__copy-v42{
    max-height:18em;
  }
  .team-card__peek-v42{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    margin:8px auto 4px!important;
  }
  .interior-v42.section{
    padding-top:18px!important;
    padding-bottom:26px!important;
  }
  .interior-v42 .gallery-heading-v42,
  .interior-v42 .section-heading{
    margin-bottom:6px!important;
  }
  .conditions-v42,
  .conditions-v42.section{
    padding-top:32px!important;
    padding-bottom:34px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .gallery-pop-v42,
  .hero-photo--real img{
    opacity:1!important;
    clip-path:none!important;
    transform:none!important;
    animation:none!important;
  }
}


/* ===== V43 cleanup ===== */

/* Team cards: no small expand arrows; only the existing "Pokaż więcej" link */
.team-card__peek-v40,
.team-card__peek-v41,
.team-card__peek-v42{
  display:none!important;
}
.team-card__copy-v43{
  position:relative;
  overflow:hidden;
  max-height:5.6em;
}
.team-card__copy-v43::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:2em;
  background:linear-gradient(transparent,rgba(251,248,243,.98));
  pointer-events:none;
}
.team-card__footer,
.team-card .section-more{
  margin-top:auto!important;
}

/* Gallery: arrows higher + much smaller dead space */
.interior-v43.section{
  position:relative;
  padding-top:24px!important;
  padding-bottom:32px!important;
}
.interior-v43 .gallery-heading-v43,
.interior-v43 .section-heading{
  margin-bottom:0!important;
}
.interior-v43 .gallery-carousel{
  margin-top:0!important;
  position:relative;
}
.interior-v43 .gallery-controls-v43,
.interior-v43 .horizontal-carousel__controls{
  position:absolute!important;
  top:-76px!important;
  right:14px!important;
  z-index:4;
  margin:0!important;
}
.interior-v43 .gallery-grid{
  margin-top:18px!important;
  gap:12px!important;
}

/* remove leftover decorative line/gap blocks if they create dead space */
.interior-v43 .section-heading::after,
.interior-v43 .gallery-heading-v43::after{
  margin-top:12px!important;
  margin-bottom:0!important;
}
.interior-v43 .section-heading + *,
.interior-v43 .gallery-heading-v43 + *{
  margin-top:0!important;
}

@media(max-width:1199px){
  .interior-v43 .gallery-controls-v43,
  .interior-v43 .horizontal-carousel__controls{
    top:-66px!important;
    right:8px!important;
  }
  .interior-v43 .gallery-grid{
    margin-top:14px!important;
  }
}

@media(max-width:760px){
  .interior-v43.section{
    padding-top:18px!important;
    padding-bottom:24px!important;
  }
  .interior-v43 .gallery-controls-v43,
  .interior-v43 .horizontal-carousel__controls{
    top:-58px!important;
    right:4px!important;
  }
  .interior-v43 .gallery-grid{
    margin-top:10px!important;
  }
}


/* ===== V44 ===== */

/* TEAM HOME: less empty white space */
.team-card-v44{
  min-height:0!important;
  height:auto!important;
}
.team-card-v44 .team-card__body{
  min-height:0!important;
  height:auto!important;
  padding-top:22px!important;
  padding-bottom:18px!important;
}
.team-card-v44 .team-card__copy-v43{
  max-height:4.8em!important;
  margin-bottom:10px!important;
}
.team-card-v44 .team-card__footer,
.team-card-v44 .section-more{
  margin-top:14px!important;
  padding-top:14px!important;
}
.team-card-v44 .team-card__footer::before,
.team-card-v44 .section-more::before{
  margin-bottom:10px!important;
}

/* Team detail round arrow: truly centered */
.team-copy-toggle-v44{
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  padding:0!important;
  margin:12px 0 18px!important;
  border-radius:50%!important;
  line-height:1!important;
  font-size:1.2rem!important;
  text-align:center!important;
  align-items:center!important;
  justify-content:center!important;
  transform:none!important;
}
.team-copy-toggle-v44::before,
.team-copy-toggle-v44::after{
  display:none!important;
}
.team-profile-v40.is-copy-open .team-copy-toggle-v44,
.team-profile-v39.is-copy-open .team-copy-toggle-v44{
  transform:rotate(180deg)!important;
}

/* GALLERY: pull images much closer to heading */
.interior-v44.section{
  padding-top:20px!important;
  padding-bottom:28px!important;
}
.interior-v44 .section-heading,
.interior-v44 .gallery-heading-v43,
.interior-v44 .gallery-heading-v42{
  margin-bottom:0!important;
}
.interior-v44 .gallery-carousel{
  margin-top:0!important;
}
.interior-v44 .gallery-grid-v44{
  margin-top:4px!important;
  gap:12px!important;
}
.interior-v44 .horizontal-carousel__controls,
.interior-v44 .gallery-controls-v44{
  position:absolute!important;
  top:-48px!important;
  right:10px!important;
  display:flex!important;
  gap:10px!important;
  z-index:10!important;
}
.interior-v44 .horizontal-carousel__controls button,
.interior-v44 .gallery-controls-v44 button{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  padding:0!important;
  border-radius:50%!important;
  line-height:1!important;
  text-align:center!important;
}

/* Ensure desktop gallery is horizontally scrollable by arrows */
.interior-v44 .gallery-grid-v44{
  display:flex!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  scrollbar-width:none!important;
}
.interior-v44 .gallery-grid-v44::-webkit-scrollbar{display:none!important}
.interior-v44 .gallery-grid-v44 > *{
  flex:0 0 clamp(300px,28vw,430px)!important;
  scroll-snap-align:start!important;
}

/* tighter on tablets */
@media(max-width:1199px){
  .team-card-v44 .team-card__body{
    padding-bottom:14px!important;
  }
  .interior-v44 .horizontal-carousel__controls,
  .interior-v44 .gallery-controls-v44{
    top:-44px!important;
    right:6px!important;
  }
  .interior-v44 .gallery-grid-v44{
    margin-top:2px!important;
  }
}

/* mobile */
@media(max-width:760px){
  .team-card-v44 .team-card__body{
    padding-top:18px!important;
    padding-bottom:12px!important;
  }
  .team-card-v44 .team-card__copy-v43{
    max-height:4.5em!important;
    margin-bottom:6px!important;
  }
  .team-card-v44 .team-card__footer,
  .team-card-v44 .section-more{
    margin-top:10px!important;
    padding-top:10px!important;
  }
  .team-copy-toggle-v44{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
  .interior-v44.section{
    padding-top:16px!important;
    padding-bottom:22px!important;
  }
  .interior-v44 .horizontal-carousel__controls,
  .interior-v44 .gallery-controls-v44{
    top:-40px!important;
    right:4px!important;
  }
  .interior-v44 .horizontal-carousel__controls button,
  .interior-v44 .gallery-controls-v44 button{
    width:44px!important;
    height:44px!important;
  }
  .interior-v44 .gallery-grid-v44 > *{
    flex:0 0 min(82vw,390px)!important;
  }
}

/* ===== V45 ===== */

/* Team detail: ONLY arrow, no circle */
.team-copy-toggle-v45{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:4px 8px!important;
  margin:8px 0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:25px!important;
  line-height:1!important;
  color:var(--ink,#2d2926)!important;
  cursor:pointer!important;
}
.team-copy-toggle-v45:hover{transform:translateY(2px)!important}
.team-profile-v40.is-copy-open .team-copy-toggle-v45,
.team-profile-v39.is-copy-open .team-copy-toggle-v45{
  transform:rotate(180deg)!important;
}

/* Gallery arrows: clearly visible in the space indicated by user */
.interior-v44{position:relative!important}
.interior-v44 .gallery-arrows-v45{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:8px!important;
  width:max-content!important;
  margin:2px 0 10px 36px!important;
  z-index:20!important;
}
.interior-v44 .gallery-arrows-v45 button{
  appearance:none!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  padding:0!important;
  border:1px solid rgba(45,41,38,.16)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#2d2926!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .2s ease, background .2s ease!important;
}
.interior-v44 .gallery-arrows-v45 button:hover{
  transform:translateY(-2px)!important;
  background:#f8f4ed!important;
}
.interior-v44 .gallery-grid-v44{margin-top:0!important}

/* preserve tight team cards */
.team-card-v44 .team-card__body{padding-bottom:14px!important}
.team-card-v44 .team-card__footer,
.team-card-v44 .section-more{margin-top:10px!important;padding-top:12px!important}

@media(max-width:760px){
 .interior-v44 .gallery-arrows-v45{margin-left:18px!important;margin-bottom:8px!important}
 .interior-v44 .gallery-arrows-v45 button{width:42px!important;height:42px!important;min-width:42px!important}
 .team-copy-toggle-v45{font-size:23px!important;margin-bottom:12px!important}
}


/* ===== V46 hard fix: team navigation + arrow state ===== */

.force-team-page-v46{
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:12!important;
}

/* Plain arrow, no circle; direction is controlled by text only */
.team-copy-toggle-v46{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:4px 8px!important;
  margin:8px 0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:26px!important;
  font-family:inherit!important;
  line-height:1!important;
  color:#2d2926!important;
  cursor:pointer!important;
  transform:none!important;
  transition:transform .2s ease,color .2s ease!important;
}
.team-copy-toggle-v46:hover{
  color:#8d735f!important;
  transform:translateY(2px)!important;
}
/* IMPORTANT: do NOT rotate the button in open state; JS changes ↓ to ↑ */
.team-profile-v40.is-copy-open .team-copy-toggle-v46,
.team-profile-v39.is-copy-open .team-copy-toggle-v46,
.team-profile-v40.is-copy-open .team-copy-toggle-v45,
.team-profile-v39.is-copy-open .team-copy-toggle-v45{
  transform:none!important;
}


/* ===== V48: team accordion + spacing + legal pages ===== */

/* Home team cards */
.team-card-v48{
  min-height:0!important;
  height:auto!important;
}
.team-card-v48 .team-card__body{
  padding-bottom:14px!important;
  min-height:0!important;
}
.team-card__copy-v48{
  position:relative;
  overflow:hidden;
  max-height:3.25em;
  transition:max-height .42s cubic-bezier(.22,.8,.2,1);
}
.team-card__copy-v48::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:1.6em;
  background:linear-gradient(transparent,rgba(251,248,243,.98));
  pointer-events:none;
  transition:opacity .2s ease;
}
.team-card-v48.is-open-v48 .team-card__copy-v48{
  max-height:9em;
}
.team-card-v48.is-open-v48 .team-card__copy-v48::after{
  opacity:0;
}
.team-card__toggle-v48{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:2px 4px!important;
  margin:8px 0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  color:#2d2926!important;
  font-size:24px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .2s ease,color .2s ease!important;
}
.team-card__toggle-v48:hover{
  color:#927864!important;
  transform:translateY(2px)!important;
}
.team-card-v48.is-open-v48 .team-card__toggle-v48{
  transform:none!important;
}
.team-all-link-v48{
  margin-top:14px!important;
}

/* Tighten team section overall */
.team-section,
.team-preview,
section:has(.team-card-v48){
  padding-bottom:34px!important;
}
section:has(.team-card-v48) .team-grid,
section:has(.team-card-v48) .team-list{
  margin-bottom:10px!important;
}

/* Gallery / large visual gaps */
.interior-v44.section,
.interior-v43.section,
.interior-v42.section{
  padding-top:20px!important;
  padding-bottom:28px!important;
}
.interior-v44 .gallery-grid-v44,
.interior-v43 .gallery-grid,
.interior-v42 .gallery-grid{
  margin-top:8px!important;
}

/* Legal pages */
.legal-sources-v48{
  margin-top:42px;
  padding:28px;
  border:1px solid rgba(45,41,38,.12);
  border-radius:24px;
  background:rgba(255,255,255,.58);
}
.legal-sources-v48 h2{
  margin-top:0;
}
.legal-sources-v48 ul{
  margin:18px 0 0;
  padding-left:1.25rem;
}
.legal-sources-v48 li{
  margin:.55rem 0;
}
.legal-sources-v48 a{
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.legal-note-v48{
  margin-top:18px;
  opacity:.72;
  font-size:.95em;
}

@media(max-width:760px){
  .team-card__copy-v48{
    max-height:3.1em;
  }
  .team-card-v48.is-open-v48 .team-card__copy-v48{
    max-height:11em;
  }
  .team-card__toggle-v48{
    font-size:22px!important;
    margin-top:6px!important;
  }
  section:has(.team-card-v48){
    padding-bottom:24px!important;
  }
  .legal-sources-v48{
    margin-top:28px;
    padding:20px;
    border-radius:18px;
  }
}


/* ===== V49: team preview accordion ===== */

/* Start: short preview */
.team-card-v48 .team-card__copy-v48{
  max-height:3.15em!important;
  overflow:hidden!important;
  position:relative!important;
  transition:max-height .38s cubic-bezier(.22,.8,.2,1)!important;
}

/* Expanded: ONLY a fragment more, not the full bio */
.team-card-v48.is-open-v49 .team-card__copy-v48{
  max-height:6.35em!important;
}

/* fade at the bottom while closed */
.team-card-v48 .team-card__copy-v48::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:1.35em!important;
  pointer-events:none!important;
  background:linear-gradient(transparent,rgba(251,248,243,.98))!important;
  opacity:1!important;
  transition:opacity .2s ease!important;
}

.team-card-v48.is-open-v49 .team-card__copy-v48::after{
  opacity:.35!important;
}

/* arrow itself */
.team-card__toggle-v48{
  transform:none!important;
  transition:transform .22s ease,color .2s ease!important;
}

/* Arrow turns upward when this one card is open */
.team-card-v48.is-open-v49 .team-card__toggle-v48{
  transform:rotate(180deg)!important;
}

/* Do not let older open classes expose too much text */
.team-card-v48.is-open-v48 .team-card__copy-v48{
  max-height:3.15em!important;
}

@media(max-width:760px){
  .team-card-v48 .team-card__copy-v48{
    max-height:3.05em!important;
  }
  .team-card-v48.is-open-v49 .team-card__copy-v48{
    max-height:6.1em!important;
  }
}


/* ===== V50: gallery spacing refinement ===== */

/* Whole gallery section: less dead space */
.interior-v44,
.interior-v43,
.interior-v42,
section:has(.gallery-grid-v44){
  padding-top:18px!important;
  padding-bottom:24px!important;
}

/* Heading block -> arrows/photos */
.interior-v44 .section-head,
.interior-v43 .section-head,
.interior-v42 .section-head{
  margin-bottom:12px!important;
  padding-bottom:0!important;
}

/* Remove excessive decorative spacer/line gap if present */
.interior-v44 .section-head + *,
.interior-v43 .section-head + *,
.interior-v42 .section-head + *{
  margin-top:0!important;
}

/* Arrows much closer to title and images */
.interior-v44 .gallery-arrows-v45,
.interior-v43 .gallery-arrows-v45,
.interior-v42 .gallery-arrows-v45,
.interior-v44 .horizontal-carousel__controls,
.interior-v43 .horizontal-carousel__controls{
  margin-top:2px!important;
  margin-bottom:8px!important;
}

/* Photo row closer to controls */
.interior-v44 .gallery-grid-v44,
.interior-v43 .gallery-grid,
.interior-v42 .gallery-grid,
section:has(.gallery-grid-v44) .gallery-grid-v44{
  margin-top:0!important;
  padding-top:0!important;
  gap:28px!important;
  column-gap:28px!important;
}

/* Reduce big horizontal spaces between gallery cards */
.interior-v44 .gallery-card,
.interior-v44 .gallery-item,
.interior-v44 .gallery-grid-v44 > *,
.interior-v43 .gallery-grid > *,
.interior-v42 .gallery-grid > *{
  margin-left:0!important;
  margin-right:0!important;
}

/* Desktop: slightly narrower cards so 3 fit comfortably without giant gaps */
@media(min-width:1200px){
  .interior-v44 .gallery-grid-v44,
  .interior-v43 .gallery-grid,
  .interior-v42 .gallery-grid{
    gap:24px!important;
    column-gap:24px!important;
  }
}

/* Tablet */
@media(min-width:761px) and (max-width:1199px){
  .interior-v44 .gallery-grid-v44,
  .interior-v43 .gallery-grid,
  .interior-v42 .gallery-grid{
    gap:18px!important;
    column-gap:18px!important;
  }
}

/* Mobile: keep swipe layout but compact spacing */
@media(max-width:760px){
  .interior-v44,
  .interior-v43,
  .interior-v42,
  section:has(.gallery-grid-v44){
    padding-top:12px!important;
    padding-bottom:18px!important;
  }

  .interior-v44 .section-head,
  .interior-v43 .section-head,
  .interior-v42 .section-head{
    margin-bottom:8px!important;
  }

  .interior-v44 .gallery-arrows-v45,
  .interior-v43 .gallery-arrows-v45,
  .interior-v42 .gallery-arrows-v45,
  .interior-v44 .horizontal-carousel__controls,
  .interior-v43 .horizontal-carousel__controls{
    margin-top:0!important;
    margin-bottom:6px!important;
  }

  .interior-v44 .gallery-grid-v44,
  .interior-v43 .gallery-grid,
  .interior-v42 .gallery-grid{
    gap:12px!important;
    column-gap:12px!important;
  }
}


/* ===== V51 FINAL TEAM + GALLERY FIX ===== */

/* TEAM: exact snippet closed/expanded behavior */
.team-card-v51{
  height:auto!important;
  min-height:0!important;
}
.team-card-v51 .team-card__body{
  min-height:0!important;
  padding-bottom:14px!important;
}
.team-card__copy-v51{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  max-height:3.15em!important;
  margin:0!important;
  line-height:1.55!important;
  transition:max-height .35s cubic-bezier(.22,.8,.2,1)!important;
}
.team-card__copy-v51::after{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:1.4em!important;
  background:linear-gradient(transparent,rgba(251,248,243,.98))!important;
  pointer-events:none!important;
}
.team-card-v51.is-open-v51 .team-card__copy-v51{
  max-height:9.5em!important;
}
.team-card-v51.is-open-v51 .team-card__copy-v51::after{
  opacity:0!important;
}
.team-card__toggle-v51{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  padding:2px 6px!important;
  margin:8px 0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:24px!important;
  line-height:1!important;
  color:#2d2926!important;
  cursor:pointer!important;
  transform:none!important;
}

/* GALLERY: kill the huge blank area */
.gallery-v51{
  padding-top:14px!important;
  padding-bottom:22px!important;
}
.gallery-v51 .section-head,
.gallery-v51 .section-heading,
.gallery-v51 .gallery-heading-v43,
.gallery-v51 .gallery-heading-v42{
  margin-bottom:4px!important;
  padding-bottom:0!important;
}
.gallery-v51 .gallery-controls-v51{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:8px!important;
  width:max-content!important;
  margin:0 0 8px 36px!important;
  padding:0!important;
  z-index:50!important;
}
.gallery-v51 .gallery-controls-v51 button{
  appearance:none!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid rgba(45,41,38,.14)!important;
  background:#fff!important;
  color:#2d2926!important;
  font-size:20px!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  cursor:pointer!important;
}
.gallery-v51 .gallery-track-v51{
  display:flex!important;
  overflow-x:auto!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  margin-top:0!important;
  padding-top:0!important;
  gap:18px!important;
  column-gap:18px!important;
}
.gallery-v51 .gallery-track-v51::-webkit-scrollbar{
  display:none!important;
}
.gallery-v51 .gallery-track-v51 > *{
  flex:0 0 clamp(300px,30vw,520px)!important;
  scroll-snap-align:start!important;
  margin:0!important;
}

@media(max-width:760px){
  .team-card__copy-v51{
    max-height:3.05em!important;
  }
  .team-card-v51.is-open-v51 .team-card__copy-v51{
    max-height:10.5em!important;
  }
  .gallery-v51{
    padding-top:10px!important;
    padding-bottom:18px!important;
  }
  .gallery-v51 .gallery-controls-v51{
    margin-left:18px!important;
    margin-bottom:6px!important;
  }
  .gallery-v51 .gallery-track-v51{
    gap:12px!important;
  }
  .gallery-v51 .gallery-track-v51 > *{
    flex-basis:min(84vw,390px)!important;
  }
}


/* ===== V52: gallery toolbar + working arrows ===== */

.gallery-v52{
  padding-top:14px!important;
  padding-bottom:24px!important;
}

/* kill old giant vertical gaps */
.gallery-v52 .section-head,
.gallery-v52 .section-heading,
.gallery-v52 .gallery-heading-v43,
.gallery-v52 .gallery-heading-v42{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}

.gallery-v52 .gallery-toolbar-v52{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 36px 14px 36px!important;
  padding:0!important;
  min-height:0!important;
}

.gallery-v52 .gallery-toolbar-v52 h1,
.gallery-v52 .gallery-toolbar-v52 h2,
.gallery-v52 .gallery-toolbar-v52 h3{
  margin:0!important;
  padding:0!important;
  line-height:.98!important;
}

.gallery-v52 .gallery-controls-v52{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex:0 0 auto!important;
  margin:0 0 3px 0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
  z-index:100!important;
}

.gallery-v52 .gallery-controls-v52 button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(45,41,38,.14)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#2d2926!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative!important;
  z-index:101!important;
  transition:transform .2s ease, background .2s ease!important;
}

.gallery-v52 .gallery-controls-v52 button:hover{
  transform:translateY(-2px)!important;
  background:#f7f1e8!important;
}

/* images immediately under heading/controls */
.gallery-v52 .gallery-track-v52{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  margin:0!important;
  padding:0 36px 6px 36px!important;
  gap:18px!important;
  column-gap:18px!important;
  min-height:0!important;
}

.gallery-v52 .gallery-track-v52::-webkit-scrollbar{
  display:none!important;
}

.gallery-v52 .gallery-track-v52 > *{
  flex:0 0 clamp(320px,31vw,540px)!important;
  scroll-snap-align:start!important;
  margin:0!important;
}

/* remove any spacer nodes/classes between heading and track */
.gallery-v52 .gallery-toolbar-v52 ~ .section-spacer,
.gallery-v52 .gallery-toolbar-v52 ~ .spacer,
.gallery-v52 .gallery-toolbar-v52 ~ [class*="spacer"],
.gallery-v52 .gallery-toolbar-v52 ~ [class*="gap"]{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:900px){
  .gallery-v52 .gallery-toolbar-v52{
    margin:0 20px 10px 20px!important;
    align-items:center!important;
  }
  .gallery-v52 .gallery-track-v52{
    padding-left:20px!important;
    padding-right:20px!important;
    gap:14px!important;
  }
  .gallery-v52 .gallery-track-v52 > *{
    flex-basis:min(82vw,430px)!important;
  }
}

@media(max-width:600px){
  .gallery-v52{
    padding-top:10px!important;
  }
  .gallery-v52 .gallery-toolbar-v52{
    margin:0 14px 8px 14px!important;
    gap:12px!important;
    align-items:flex-end!important;
  }
  .gallery-v52 .gallery-controls-v52{
    gap:6px!important;
  }
  .gallery-v52 .gallery-controls-v52 button{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
  .gallery-v52 .gallery-track-v52{
    padding-left:14px!important;
    padding-right:14px!important;
    gap:12px!important;
  }
}


/* ===== V53: homepage team accordion ===== */
.team-expand-card-v53{
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  transition:box-shadow .25s ease!important;
}
.team-expand-card-v53 .team-teaser-v53{
  margin-bottom:0!important;
}
.team-expand-card-v53 .team-more-v53{
  max-height:0;
  overflow:hidden;
  opacity:0;
  margin-top:0;
  line-height:1.55;
  transition:max-height .42s ease, opacity .28s ease, margin-top .32s ease;
}
.team-expand-card-v53.is-expanded-v53 .team-more-v53{
  max-height:420px;
  opacity:1;
  margin-top:10px;
}
.team-expand-card-v53.is-expanded-v53 .team-teaser-v53{
  display:none!important;
}
.team-expand-toggle-v53{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:12px 18px 14px auto!important;
  padding:4px 8px!important;
  border:0!important;
  background:transparent!important;
  color:#2d2926!important;
  font-size:28px!important;
  line-height:1!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:50!important;
}
.team-expand-toggle-v53:hover{
  transform:translateY(2px);
}
.team-expand-card-v53.is-expanded-v53 .team-expand-toggle-v53:hover{
  transform:translateY(-2px);
}

/* ===== V54 clean team cards ===== */
.team-card-v54{
  height:auto!important;
  min-height:0!important;
}
.team-card-v54 .team-card__body{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  padding-bottom:18px!important;
}
.team-card-v54 .team-teaser-v54{
  margin:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.55!important;
}
.team-card-v54 .team-book-v54{
  margin-top:18px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(45,41,38,.12)!important;
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  color:#6f5848!important;
  font-weight:700!important;
  text-decoration:none!important;
  transition:transform .2s ease,color .2s ease!important;
}
.team-card-v54 .team-book-v54:hover{
  transform:translateX(4px)!important;
  color:#2d2926!important;
}
@media(max-width:760px){
  .team-card-v54 .team-book-v54{
    margin-top:14px!important;
    padding-top:12px!important;
  }
}


/* ===== V57: booking links fixed; practical info restored ===== */
.team-card-v54 .team-book-v54{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  margin-top:16px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(45,41,38,.12)!important;
  display:inline-flex!important;
  width:max-content!important;
  font-size:15px!important;
  white-space:nowrap!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  z-index:10!important;
}

/* V58: direct, reliable Booksy links under team cards */
.team-book-v58{
  pointer-events:auto!important;
  position:relative!important;
  z-index:999!important;
  cursor:pointer!important;
}
.team-card-v54 .team-card__body{
  position:relative!important;
  z-index:2!important;
}
.team-card-v54 .team-photo{
  z-index:1!important;
}


/* ===== V59: compact vertical rhythm / remove dead space ===== */

/* GENERAL */
main > section,
main section{
  min-height:0!important;
}

main > section{
  padding-top:clamp(44px,4.2vw,72px)!important;
  padding-bottom:clamp(44px,4.2vw,72px)!important;
}

/* Avoid giant margins caused by previous versions */
main section > :first-child{
  margin-top:0!important;
}
main section > :last-child{
  margin-bottom:0!important;
}

/* ---------- PRACTICAL INFO ---------- */
.practical,
.practical-info,
.visit-info,
.comfort-section,
section:has(.practical-chip),
section:has(.comfort-chip),
section:has(.visit-chip){
  min-height:0!important;
  padding-top:46px!important;
  padding-bottom:46px!important;
}

.practical h2,
.practical-info h2,
.visit-info h2,
.comfort-section h2{
  margin-bottom:28px!important;
}

/* chip row */
.practical .chips,
.practical-info .chips,
.visit-info .chips,
.comfort-section .chips,
section:has(.practical-chip) [class*="chip"],
section:has(.comfort-chip) [class*="chip"]{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* ---------- REVIEWS ---------- */
.reviews,
.reviews-section,
.testimonials,
section:has(.review-card),
section:has(.testimonial-card){
  min-height:0!important;
  padding-top:52px!important;
  padding-bottom:52px!important;
}

.reviews .section-head,
.reviews-section .section-head,
.testimonials .section-head,
section:has(.review-card) .section-head,
section:has(.testimonial-card) .section-head{
  margin-bottom:22px!important;
}

section:has(.review-card) .review-track,
section:has(.review-card) .reviews-track,
section:has(.testimonial-card) .testimonial-track{
  margin-top:0!important;
}

/* ---------- GALLERY / CENTRUM W KADRACH ---------- */
.gallery-v52,
.gallery-v51,
.interior-v44,
.interior-v43,
.interior-v42,
section:has(.gallery-track-v52),
section:has(.gallery-grid-v44){
  min-height:0!important;
  padding-top:34px!important;
  padding-bottom:38px!important;
}

.gallery-v52 .gallery-toolbar-v52,
.gallery-v51 .gallery-toolbar-v52,
section:has(.gallery-track-v52) .gallery-toolbar-v52{
  margin-bottom:14px!important;
}

.gallery-v52 .gallery-track-v52,
.gallery-v51 .gallery-track-v52,
section:has(.gallery-track-v52) .gallery-track-v52{
  margin-top:0!important;
  padding-top:0!important;
}

/* ---------- FAQ ---------- */
.faq,
.faq-section,
section:has(.faq-item),
section:has(.accordion-item){
  min-height:0!important;
  padding-top:48px!important;
  padding-bottom:48px!important;
}

.faq .section-head,
.faq-section .section-head,
section:has(.faq-item) .section-head,
section:has(.accordion-item) .section-head{
  margin-bottom:24px!important;
}

/* ---------- CONTACT / MAP ---------- */
.contact-section,
.location-section,
.map-section,
section:has(.contact-card),
section:has(.map-card){
  min-height:0!important;
  padding-top:48px!important;
  padding-bottom:48px!important;
}

/* ---------- SCIENCE PAGE / BIG EMPTY AREAS ---------- */
.science-hero,
.science-intro,
.research-section,
.publications-section,
.download-section,
section:has(.science-card),
section:has(.publication-card),
section:has(.download-card){
  min-height:0!important;
  padding-top:48px!important;
  padding-bottom:48px!important;
}

.science-hero + section,
.science-intro + section,
.research-section + section,
.publications-section + section{
  margin-top:0!important;
}

/* kill decorative / layout spacers that create giant gaps */
main [class*="spacer"],
main [class*="section-gap"],
main [class*="hero-gap"],
main [class*="visual-gap"]{
  min-height:0!important;
  height:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* cards close to headings */
.section-head,
.section-header,
.gallery-head,
.team-head,
.reviews-head,
.faq-head{
  margin-bottom:24px!important;
}

/* ---------- DESKTOP LARGE SCREENS ---------- */
@media(min-width:1200px){
  main > section{
    padding-top:56px!important;
    padding-bottom:56px!important;
  }

  .practical,
  .practical-info,
  .visit-info,
  .comfort-section,
  .reviews,
  .reviews-section,
  .testimonials,
  .faq,
  .faq-section,
  .contact-section,
  .location-section,
  .map-section,
  .science-hero,
  .science-intro,
  .research-section,
  .publications-section,
  .download-section{
    padding-top:54px!important;
    padding-bottom:54px!important;
  }
}

/* ---------- TABLET ---------- */
@media(min-width:761px) and (max-width:1199px){
  main > section{
    padding-top:44px!important;
    padding-bottom:44px!important;
  }
}

/* ---------- MOBILE ---------- */
@media(max-width:760px){
  main > section{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }

  .practical,
  .practical-info,
  .visit-info,
  .comfort-section,
  .reviews,
  .reviews-section,
  .testimonials,
  .faq,
  .faq-section,
  .contact-section,
  .location-section,
  .map-section,
  .science-hero,
  .science-intro,
  .research-section,
  .publications-section,
  .download-section{
    padding-top:32px!important;
    padding-bottom:32px!important;
  }

  .section-head,
  .section-header,
  .gallery-head,
  .team-head,
  .reviews-head,
  .faq-head{
    margin-bottom:18px!important;
  }
}

/* ===== V61.2: final cascade guard ===== */
.conditions-v42 .section-heading,
.team .section-heading{
  margin-bottom:18px!important;
}

.conditions-v42 .condition-carousel,
.conditions-v42 .condition-grid,
.team > .container > .horizontal-carousel,
.team .team-grid{
  margin-top:0!important;
}

.team .team-grid{
  padding-top:0!important;
}

.gallery-v52 .gallery-toolbar-v52{
  margin-bottom:10px!important;
}

.gallery-v52 .gallery-track-v52{
  margin-top:0!important;
  padding-top:0!important;
}

/* ===== V64 — scroll-triggered motion + mobile polish ===== */
.v64-reveal{
  opacity:0;
  will-change:transform,opacity;
  transition:
    opacity 1.05s cubic-bezier(.16,1,.3,1),
    transform 1.05s cubic-bezier(.16,1,.3,1),
    filter 1.05s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--v64-delay,0ms);
}
.v64-reveal--fade{transform:none;}
.v64-reveal--up{transform:translateY(42px);}
.v64-reveal--title{transform:translateY(56px) scale(.985);}
.v64-reveal--left{transform:translateX(-58px);}
.v64-reveal--right{transform:translateX(58px);}
.v64-reveal--card{transform:translateY(44px) scale(.965);filter:blur(2px);}
.v64-reveal--pop{transform:translateY(24px) scale(.88);}
.v64-reveal--image{transform:translateY(30px) scale(.94);filter:saturate(.82);}
.v64-reveal.v64-visible{
  opacity:1;
  transform:none;
  filter:none;
}

.v64-slide-pop{animation:v64SlidePop .82s cubic-bezier(.16,1,.3,1)!important;}
@keyframes v64SlidePop{
  0%{transform:translateX(28px) scale(.975);opacity:.72;}
  55%{transform:translateX(-3px) scale(1.008);opacity:1;}
  100%{transform:none;opacity:1;}
}

/* Centrum w kadrach: bez strzałek, naturalny swipe palcem/myszką. */
.gallery-v52 .gallery-controls-v52,
.gallery-carousel .horizontal-carousel__controls{
  display:none!important;
}
.gallery-v52 .gallery-toolbar-v52{
  display:block!important;
}
.gallery-v52 .gallery-track-v52,
.gallery-carousel [data-horizontal-viewport],
.gallery-grid{
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  touch-action:pan-x pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
.gallery-v52 .gallery-track-v52::-webkit-scrollbar,
.gallery-carousel [data-horizontal-viewport]::-webkit-scrollbar{display:none!important;}
.gallery-slot{scroll-snap-align:start;}

/* Opinie: bez strzałek, ciaśniej i z gestem. */
.reviews-toolbar--controls-only,
.reviews-controls{
  display:none!important;
}
.reviews-viewport{
  touch-action:pan-x pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.reviews-viewport::-webkit-scrollbar{display:none!important;}
.reviews-track{gap:12px!important;}
.review-card{scroll-snap-align:start;}

/* Oferta/ceny — strzałki + dotyk. */
[data-v39-slider]{
  overflow-x:auto!important;
  touch-action:pan-x pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
}
[data-v39-slider]::-webkit-scrollbar{display:none!important;}
[data-v39-slider] > *{scroll-snap-align:start;}
.visit-slider-controls-v39 button{
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease!important;
}
.visit-slider-controls-v39 button:active{transform:scale(.92)!important;}

/* Praktyczne informacje: chipy lekko ożywają także na hover. */
.facility-chips li{
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease!important;
}
.facility-chips li:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(82,61,48,.09);}

/* Zdjęcia po wejściu sekcji — spokojny premium zoom na hover. */
.v64-hover-media{overflow:hidden;}
.v64-hover-media img{transition:transform .75s cubic-bezier(.16,1,.3,1),filter .5s ease!important;}
.v64-hover-media:hover img{transform:scale(1.035)!important;filter:saturate(1.03) contrast(1.015);}

/* Popup prywatności: X nie nachodzi na tekst. */
.privacy-dialog__panel{
  position:relative!important;
  padding-top:clamp(56px,7vw,76px)!important;
}
.privacy-dialog .dialog-close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  left:auto!important;
  margin:0!important;
  z-index:20!important;
}
.privacy-dialog .eyebrow{padding-right:62px!important;}

/* Mobilne menu: hamburger przechodzi w X szybciej. */
.menu-toggle span{
  transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .12s ease!important;
}
.mobile-menu{
  transition:opacity .22s ease,visibility .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)!important;
}

/* FAQ — przyjemniejsza reakcja +. */
.faq-item{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease!important;
}
.faq-item:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(82,61,48,.07);}
.faq-item button,
.faq-item summary{transition:color .25s ease!important;}

@media(max-width:760px){
  .v64-reveal{
    transition-duration:.95s;
  }
  .v64-reveal--left{transform:translateX(-34px);}
  .v64-reveal--right{transform:translateX(34px);}
  .v64-reveal--title{transform:translateY(38px);}
  .v64-reveal--card{transform:translateY(32px) scale(.975);filter:none;}
  .privacy-dialog__panel{padding-top:70px!important;}
  .privacy-dialog .dialog-close{top:14px!important;right:14px!important;}
  .reviews-track{gap:10px!important;}
}

@media(prefers-reduced-motion:reduce){
  .v64-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;}
  .v64-slide-pop{animation:none!important;}
}

/* ===== V65 — slower viewport reveals, tighter sections, search cleanup ===== */
.v64-reveal{
  transition-duration:1.65s!important;
  transition-timing-function:cubic-bezier(.16,1,.3,1)!important;
}
.v64-reveal--left{transform:translateX(-92px)}
.v64-reveal--right{transform:translateX(92px)}
.v64-reveal--up{transform:translateY(72px)}
.v64-reveal--title{transform:translateY(68px) scale(.98)}
.v64-reveal--card{transform:translateY(78px) scale(.95);filter:blur(3px)}
.v64-reveal--image{transform:translateY(64px) scale(.95)}

/* Podejście: copy close to cards. */
.approach-v40 .section-header{margin-bottom:20px!important}
.approach-v40__steps{margin-top:8px!important}

/* Co leczymy + gallery: remove oversized dead air. */
.conditions-v42 .section-heading{margin-bottom:12px!important}
.conditions-v42 .condition-carousel{margin-top:0!important}
.gallery-v52 .section-heading{margin-bottom:8px!important}
.gallery-v52 .gallery-carousel{margin-top:0!important}
.gallery-v52 .gallery-track-v52{margin-top:0!important}

/* Team cards and gallery media stay visually connected to their headings. */
.team .section-heading{margin-bottom:12px!important}
.team > .container > .horizontal-carousel{margin-top:0!important}

/* Reviews are intentionally tighter. */
.reviews-track{gap:8px!important}
.reviews .reviews-viewport{margin-top:4px!important}

/* About standard: cards directly below the statement. */
.about-standard .section-heading{margin-bottom:20px!important}
.about-standard .principles{margin-top:0!important}

/* Search: X gets its own corner; no brown focus rectangle / pseudo decoration. */
.search-dialog__panel{padding-top:72px!important}
.search-dialog .dialog-close{
  position:absolute!important;top:18px!important;right:18px!important;left:auto!important;
  margin:0!important;z-index:30!important;
}
.search-dialog .eyebrow{padding-right:68px!important}
.search-input-wrap-v32,
.search-input-wrap-v32:focus-within,
.search-input-v32,
.search-input-v32:focus{
  outline:none!important;box-shadow:none!important;
}
.search-input-wrap-v32{border:1px solid rgba(119,87,67,.22)!important;background:#fff!important}
.search-input-wrap-v32:focus-within{border-color:rgba(119,87,67,.42)!important}

@media(max-width:760px){
  .v64-reveal{transition-duration:1.45s!important}
  .v64-reveal--left{transform:translateX(-58px)}
  .v64-reveal--right{transform:translateX(58px)}
  .v64-reveal--up{transform:translateY(54px)}
  .approach-v40 .section-header{margin-bottom:12px!important}
  .approach-v40__steps{margin-top:0!important}
  .conditions-v42 .section-heading,.team .section-heading{margin-bottom:10px!important}
  .gallery-v52 .section-heading{margin-bottom:6px!important}
  .reviews-track{gap:8px!important}
  .search-dialog__panel{padding:70px 20px 28px!important}
  .search-dialog .dialog-close{top:12px!important;right:12px!important}
}

/* ===== V66 — płynne karuzele + wolniejsze wejścia + ciaśniejsze opinie ===== */
.v64-reveal{
  transition-duration:1.85s!important;
  transition-timing-function:cubic-bezier(.16,1,.3,1)!important;
  backface-visibility:hidden;
}
.v64-reveal.v64-visible{will-change:auto!important;}

/* Natywny touch na mobile/tablet: pion strony i poziom karuzeli nie walczą ze sobą. */
[data-horizontal-viewport], [data-reviews-viewport], [data-v39-slider],
.gallery-v52 .gallery-track-v52, .reviews-viewport, .team-grid{
  touch-action:auto!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;
  scroll-behavior:auto;
}
[data-horizontal-viewport].is-dragging, [data-reviews-viewport].is-dragging{
  cursor:grabbing!important;
  scroll-snap-type:none!important;
  user-select:none!important;
}
@media (hover:hover) and (pointer:fine){
  [data-horizontal-viewport], [data-reviews-viewport]{cursor:grab;}
}

/* Opinie mają być niemal jedna przy drugiej. */
.reviews-track,.review-track{
  gap:6px!important;
  column-gap:6px!important;
}
.review-card{margin-inline:0!important;}

/* Footer pojawia się kolumnami, ale nie rozciąga strony w trakcie animacji. */
.site-footer{overflow:hidden;}
.site-footer__grid,.site-footer__top{min-width:0;}

/* Mobile: brak ciężkiego blura = mniej klatek traconych podczas scrollowania. */
@media(max-width:760px){
  .v64-reveal{transition-duration:1.7s!important;}
  .v64-reveal--card,.v64-reveal--image{filter:none!important;}
  .reviews-track,.review-track{gap:5px!important;column-gap:5px!important;}
  [data-horizontal-viewport], [data-reviews-viewport], [data-v39-slider],
  .gallery-v52 .gallery-track-v52, .reviews-viewport, .team-grid{
    scroll-snap-type:x proximity!important;
  }
}
