/* Wariant fotograficzny — ten sam system wizualny i flow, bez ilustracji anatomicznych */

@media (min-width: 768px) {
  .site { width: 100%; max-width: 1440px; }

  .about-intro {
    max-width: 1240px;
    margin: 0 auto;
    align-items: stretch;
    gap: clamp(48px, 5vw, 72px);
  }
  .about-intro__media {
    width: clamp(340px, 32vw, 420px);
    height: auto;
  }
}

.hero__photo-left img,
.hero__photo-right img,
.split__bg-img,
.split__media img,
.services-photo__bg img,
.reviews-photo__bg img,
.trust__bg img,
.services-hero-bg img,
.contact-hero-bg img {
  filter: grayscale(1) contrast(1.08);
}

.hero {
  height: 760px;
  background: var(--color-cream);
  isolation: isolate;
}
.hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 22px;
  top: 126px;
  width: 390px;
  height: 536px;
  background: var(--color-accent);
  opacity: .18;
}
.hero__photo-left {
  left: 54px;
  top: 88px;
  width: 330px;
  height: 536px;
  border-radius: 0;
  z-index: 2;
  box-shadow: 0 0 0 14px var(--color-white), 0 30px 64px rgba(32,31,29,.26);
}
.hero__photo-left img {
  object-position: center;
  opacity: 1;
  filter: grayscale(1) contrast(1.2) brightness(.95);
}
.hero__photo-right {
  left: 34%;
  right: 0;
  top: 0;
  width: 66%;
  height: 760px;
  overflow: hidden;
  z-index: 0;
}
.hero__photo-right img {
  object-position: center 48%;
  opacity: 1;
  filter: grayscale(1) contrast(1.16) brightness(.9);
  transform: scale(1.015);
}
.hero__photo-left::after,
.hero__photo-right::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero__photo-left::after {
  background: linear-gradient(180deg, transparent 58%, rgba(32,31,29,.18));
}
.hero__photo-right::after {
  background: linear-gradient(90deg, rgba(250,247,241,.58) 0%, rgba(250,247,241,.08) 31%, transparent 55%, rgba(32,31,29,.13) 100%);
}
.hero__card {
  width: 760px;
  min-height: 350px;
  margin-left: -30px;
  padding: 40px 66px 36px;
  gap: 16px;
  justify-content: center;
  background: rgba(250,247,241,.93);
  border-left: 3px solid var(--color-accent);
  box-shadow: 0 30px 76px rgba(32,31,29,.22);
  backdrop-filter: blur(5px);
}
.hero__card h1 { font-size: 54px; }
.hero__ctas--desktop { gap: 24px; }

.split {
  position: relative;
  min-height: 660px;
  margin-top: 0;
  padding: 0;
  background: #f8f4ed;
  overflow: hidden;
  isolation: isolate;
}
.split::before { display: none; }
.split__bg-clip { display: none; }
.split__content {
  min-height: 660px;
  display: block;
}
.split__intro { display: none; }
.split__panel {
  position: relative;
  width: 100%;
  min-height: 660px;
  padding: 0;
  gap: 0;
  align-items: stretch;
  background: linear-gradient(90deg, #171511 0%, #d8d0c5 48%, #f8f4ed 68%, #f8f4ed 100%);
  box-shadow: none;
}
.split__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(18,17,15,.18) 0%, rgba(248,244,237,.04) 36%, rgba(248,244,237,.86) 55%, #f8f4ed 78%),
    radial-gradient(66% 72% at 72% 22%, rgba(255,250,241,.84), transparent 58%);
}
.split__gallery {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 0;
  width: 54%;
  height: 100%;
  margin: 0;
  display: block;
}
.split__gallery figure {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin: 0;
  border-radius: 0;
}
.split__gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  filter: grayscale(.96) sepia(.08) saturate(.72) contrast(1.08) brightness(.64);
  transform: scale(1.01);
  transition: transform 1.4s cubic-bezier(.22,1,.36,1), filter .8s ease;
}
.split__gallery figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10,9,8,.34) 0%, rgba(10,9,8,.06) 52%, rgba(248,244,237,.42) 100%);
}
.split.is-visible .split__gallery img { transform: scale(1); }
.split__text {
  position: relative;
  z-index: 2;
  width: min(560px, 39vw);
  max-width: none;
  margin-left: 57%;
  padding: 128px 6vw 70px 0;
  text-align: left;
}
.split__text > * {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
}
.split.is-visible .split__text > * {
  opacity: 1;
  transform: none;
}
.split.is-visible .split__text h2 { transition-delay: .08s; }
.split.is-visible .split__text p:not(.eyebrow) { transition-delay: .16s; }
.split.is-visible .split__text .link-arrow { transition-delay: .24s; }
.split__text .eyebrow {
  display: block;
  margin-bottom: 18px;
  letter-spacing: .36em;
}
.split__text h2 {
  margin: 0 0 30px;
  font-size: clamp(42px, 4.2vw, 68px);
  line-height: .98;
  font-weight: 400;
  letter-spacing: -.04em;
  color: #171717;
  text-shadow: none;
}
.split__text h2 span { display: inline; }
.split__text h2 span:nth-child(2) { padding-left: 0; }
.split__text h2 em {
  font-style: italic;
  color: var(--color-link);
}
.split__text p:not(.eyebrow) {
  max-width: 440px;
  margin: 0 0 34px;
  font-size: 17px;
  line-height: 1.75;
  color: #5b554d;
  text-align: left;
}
.split__text .link-arrow {
  min-width: 190px;
  padding: 16px 24px;
  border: 1px solid rgba(92,122,138,.18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255,255,255,.58), rgba(208,205,196,.34));
  box-shadow: inset 0 1px 1px rgba(255,255,255,.7), 0 18px 36px rgba(32,31,29,.08);
  color: var(--color-link);
  font-weight: 600;
  text-decoration: none;
}
.split__text .link-arrow:hover {
  color: var(--color-dark);
  transform: translateY(-1px);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.72), 0 22px 42px rgba(32,31,29,.12);
}
.services-photo { min-height: 720px; padding: 100px 48px; }
.services-photo__bg { inset: 0; }
.services-photo__bg img { object-position: center 54%; transform: scale(1.02); }
.services-photo__bg::after {
  background: linear-gradient(180deg, rgba(18,18,17,.38), rgba(18,18,17,.62) 58%, rgba(18,18,17,.38));
}
.services-photo__overlay { padding: 26px 0; }
.service-card { background: rgba(250,247,241,.92); }

.trust.trust--editorial {
  min-height: auto;
  padding: 120px clamp(48px, 6vw, 78px) 126px;
  background: var(--color-white);
  text-align: left;
  overflow: hidden;
}
.trust.trust--editorial::after { display: none; }
.trust--editorial .trust__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1fr);
  gap: clamp(48px, 7vw, 96px);
  align-items: center;
}
.trust__media {
  position: relative;
  padding: 0 30px 32px 0;
}
.trust__media::before {
  content: "";
  position: absolute;
  left: 34px;
  right: 0;
  top: 36px;
  bottom: 0;
  background: rgba(92, 122, 138, .18);
}
.trust__media-frame {
  position: relative;
  z-index: 1;
  height: 680px;
  overflow: hidden;
  background: #d8d5cf;
  box-shadow: 0 24px 50px -28px rgba(32, 31, 29, .55);
}
.trust__media-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}
.trust__content { max-width: 540px; }
.trust--editorial .section-header {
  max-width: 520px;
  margin: 0 0 44px;
  text-align: left;
}
.trust--editorial .section-header h2 {
  margin-top: 16px;
  font-size: 48px;
  line-height: 1.12;
}
.trust__list { border-top: 1px solid rgba(32, 31, 29, .2); }
.trust__point {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  padding: 28px 0 30px;
  border-bottom: 1px solid rgba(32, 31, 29, .2);
}
.trust__num {
  padding-top: 6px;
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--color-accent);
}
.trust__point h3 {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--color-dark);
}
.trust__point p {
  max-width: 450px;
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-body);
}
.trust__single-link { margin-top: 34px; }

.reviews.reviews-photo {
  position: relative;
  min-height: 720px;
  padding: 100px 48px;
  background: #201f1d;
  overflow: hidden;
}
.reviews-photo__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.reviews-photo__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  transform: scale(1.02);
  filter: grayscale(1) contrast(1.12) brightness(.82);
}
.reviews-photo__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(18,18,17,.42), rgba(18,18,17,.64) 58%, rgba(18,18,17,.44));
}
.reviews-photo__overlay {
  position: relative;
  z-index: 1;
  padding: 26px 0;
  text-align: center;
}
.reviews-photo .section-header h2,
.reviews-photo .eyebrow,
.reviews-photo .reviews__rating,
.reviews-photo__link {
  color: var(--color-white);
}
.reviews-photo .reviews__rating:hover,
.reviews-photo__link:hover {
  color: var(--color-white);
}
.reviews-photo .review-card {
  background: rgba(250,247,241,.93);
  backdrop-filter: blur(2px);
}
.reviews-photo__link { display: inline-block; }

@media (min-width: 768px) and (max-width: 980px) {
  .trust.trust--editorial { padding-left: 42px; padding-right: 42px; }
  .trust--editorial .trust__inner { gap: 44px; }
  .trust__media-frame { height: 580px; }
  .trust--editorial .section-header h2 { font-size: 40px; }
  .trust__point { grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: 22px 0 24px; }
  .trust__point h3 { font-size: 21px; }
}

.services-hero-bg img {
  object-position: center 48%;
  filter: grayscale(1) contrast(1.28) brightness(.7);
}
.services-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(250,247,241,.22);
}
.services-intro__inner { background: rgba(255,255,255,.9); }

.contact-hero-bg img {
  object-position: center 52%;
  filter: grayscale(1) contrast(1.24) brightness(.72);
  transform: scale(1.02);
}
.contact-hero-bg {
  width: 100%;
  height: 100%;
}
.contact-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(250,247,241,.24);
}
.contact-intro__inner h1,
.contact-intro .eyebrow {
  color: var(--color-white);
  text-shadow: 0 2px 18px rgba(18,18,17,.34);
}
.contact-intro__inner,
.contact-card,
.contact-info-box { backdrop-filter: blur(2px); }

@media (min-width: 768px) {
  .contact-intro { padding: 54px 48px 0; }
  .contact-cards { padding: 28px 48px 0; }
  .contact-cards__inner { align-items: stretch; }
  .contact-card { padding-top: 38px; padding-bottom: 38px; }
  .contact-card--call { height: auto; }
  .contact-map-wrap { padding: 24px 48px 42px; gap: 12px; }
  .contact-map { height: 210px; }
  .contact-info-box { padding-top: 20px; padding-bottom: 20px; }
}

@media (max-width: 767px) {
  .hero {
    height: auto;
    padding: 0 0 56px;
    gap: 20px;
    background: var(--color-white);
  }
  .hero::before,
  .hero::after { display: none; }
  .hero__photo-right {
    display: block;
    position: relative;
    order: 0;
    inset: auto;
    width: 100%;
    height: 430px;
  }
  .hero__photo-right img {
    object-position: center 43%;
    transform: none;
  }
  .hero__photo-right::after {
    background: linear-gradient(180deg, transparent 54%, rgba(32,31,29,.22));
  }
  .hero__eyebrow--mobile {
    margin-top: 6px;
  }
  .hero__photo-left {
    position: relative;
    inset: auto;
    width: calc(100% - 72px);
    height: 430px;
    margin: 18px 36px 0;
    box-shadow: 0 0 0 10px var(--color-cream), 0 24px 50px rgba(32,31,29,.22);
  }
  .hero__photo-left img { object-position: center; }
  .hero__card {
    width: calc(100% - 48px);
    min-height: 0;
    margin: -62px 24px 0;
    padding: 42px 24px 38px;
    border-left-width: 2px;
    backdrop-filter: blur(4px);
  }
  .hero__card h1 { font-size: 36px; }
  .split {
    min-height: auto;
    margin-top: 0;
    padding: 0;
    background: #f8f4ed;
  }
  .split::before { display: none; }
  .split__content { min-height: 0; }
  .split__panel {
    min-height: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0;
    background: #f8f4ed;
  }
  .split__panel::after {
    background: linear-gradient(180deg, rgba(20,18,15,.05) 0%, rgba(248,244,237,.7) 52%, #f8f4ed 100%);
  }
  .split__eyebrow--mobile { display: none; }
  .split__gallery {
    position: relative;
    inset: auto;
    order: 1;
    width: 100%;
    height: 420px;
    margin: 0;
  }
  .split__gallery img {
    object-position: center 38%;
    filter: grayscale(.96) sepia(.08) saturate(.72) contrast(1.08) brightness(.62);
  }
  .split__text {
    position: relative;
    z-index: 2;
    display: block;
    order: 2;
    width: 100%;
    margin-left: 0;
    margin-top: -24px;
    padding: 0 24px 70px;
    text-align: left;
  }
  .split__text .eyebrow {
    margin-bottom: 16px;
    letter-spacing: .28em;
  }
  .split__text h2 {
    max-width: 360px;
    margin: 0 0 26px;
    font-size: 42px;
    line-height: 1;
    letter-spacing: -.04em;
    color: #171717;
    text-shadow: none;
  }
  .split__text h2 span { display: inline; }
  .split__text h2 span:nth-child(2) { padding-left: 0; }
  .split__text h2 em { font-style: italic; color: var(--color-link); }
  .split__text p:not(.eyebrow) {
    max-width: 330px;
    margin: 0 0 28px;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--color-body);
  }
  .split__text .link-arrow {
    min-width: 0;
    padding: 16px 22px;
    font-size: 14px;
  }
  .services-photo { min-height: auto; padding: 64px 24px; }
  .services-photo__bg { inset: 0; }
  .services-photo__bg img { object-position: center; }
  .trust.trust--editorial { min-height: auto; padding: 72px 24px 82px; }
  .trust.trust--editorial::after { display: none; }
  .trust--editorial .trust__inner { grid-template-columns: 1fr; gap: 54px; }
  .trust__media { padding: 0 14px 18px 0; }
  .trust__media::before { left: 18px; right: 0; top: 20px; bottom: 0; }
  .trust__media-frame { height: 520px; }
  .trust__content { max-width: none; }
  .trust--editorial .section-header { margin-bottom: 34px; }
  .trust--editorial .section-header h2 { font-size: 34px; }
  .trust__point { grid-template-columns: 38px minmax(0, 1fr); gap: 14px; padding: 22px 0 24px; }
  .trust__point h3 { font-size: 21px; }
  .trust__point p { font-size: 15px; }
  .trust__single-link { margin-top: 28px; }
  .reviews.reviews-photo { min-height: auto; padding: 64px 24px; }
  .reviews-photo__bg img { object-position: 58% center; }
  .reviews-photo__overlay { padding: 8px 0; }
  .services-hero-bg img, .contact-hero-bg img { object-position: center; }
  .contact-intro__inner h1 { color: var(--color-dark); text-shadow: none; }
  .contact-intro .eyebrow { color: var(--color-accent); text-shadow: none; }
}

/* About: a continuous portrait-to-paper transition, matching the supplied reference. */
#o-mnie, #o-mnie .split__panel { background: var(--color-cream); }
#o-mnie .split__panel::after { background: none; }
#o-mnie .split__gallery { width: 64%; }
#o-mnie .split__gallery img {
  object-position: center top;
  /* Keep the portrait's muted warm grays and deep shadows close to the hero. */
  filter: saturate(.65) contrast(1.05) brightness(.95);
  transform: scale(1.2);
  transform-origin: 50% 12%;
}
#o-mnie .split__gallery figure::after {
  background: linear-gradient(90deg, transparent 42%, rgba(250,247,241,.18) 58%, rgba(250,247,241,.85) 80%, var(--color-cream) 100%);
}
#o-mnie .split__text {
  box-sizing: border-box;
  width: 36%;
  margin-left: 53.5%;
  align-self: flex-start;
  padding: clamp(310px, 29vw, 540px) 0 90px;
}
#o-mnie .split__text p:not(.eyebrow) {
  max-width: 440px;
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 26px;
}
#o-mnie .about-heading {
  position: absolute;
  z-index: 3;
  top: 14%;
  left: 46%;
  width: 48%;
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.04em;
  text-shadow: none;
}
.about-heading > span { display: block; }
.about-heading__one { font-size: clamp(28px, 3.2vw, 52px); padding-bottom: .25em; margin-bottom: -.4em; }
.about-heading__therapist { font-size: clamp(46px, 5.8vw, 94px); }
.about-heading__path { margin-left: 12%; margin-top: -.45em; font-size: clamp(23px, 2.5vw, 43px); line-height: 1.12; white-space: nowrap; }
.about-heading em { font-style: italic; color: var(--color-accent); }
.about-heading__therapy { display: inline; margin: 0; font-size: clamp(50px, 6vw, 98px); }
.about-heading__one, .about-heading__therapist {
  background: linear-gradient(110deg, #8a857a 0%, #201f1d 44%, #201f1d 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
#o-mnie .about-button {
  gap: 16px;
  border-radius: 10px;
  padding: 14px 26px;
  background: linear-gradient(135deg,rgba(215,213,206,.3),rgba(160,159,151,.3));
  color: var(--color-accent);
  border: 1px solid rgba(255,255,255,.58);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.8), inset 0 -1px 1px rgba(92,122,138,.08), 0 5px 18px rgba(32,31,29,.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
}
#o-mnie .about-button:hover { background: rgba(255,255,255,.3); transform: translateY(-3px); }
@media (min-width: 768px) and (max-width: 1100px) {
  #o-mnie .about-button { padding: 14px 18px; font-size: 13px; }
}
@media (min-width: 768px) {
  #o-mnie, #o-mnie .split__content, #o-mnie .split__panel { min-height: clamp(650px, 56.7vw, 1050px); }
  #o-mnie .split__panel { align-items: center; }
}
@media (max-width: 767px) {
  #o-mnie { overflow: visible; }
  #o-mnie.reveal-on-scroll { opacity:1; transform:none; }
  #o-mnie .split__panel { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; }
  #o-mnie .about-heading {
    position: relative;
    top: auto;
    left: auto;
    order: 0;
    width: calc(100% - 48px);
    grid-row: 1;
    grid-column: 1;
    margin: -110px 24px -50px;
    padding: 0 0 12px;
    font-size: clamp(36px, 10vw, 64px);
    line-height: 1.02;
  }
  #o-mnie .about-heading > span {
    display: block;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
  }
  #o-mnie .about-heading > .about-heading__one { font-size: clamp(26px,7vw,42px); margin-bottom: -.4em; }
  #o-mnie .about-heading > .about-heading__therapist { font-size: clamp(48px,14vw,80px); line-height: .9; }
  #o-mnie .about-heading > .about-heading__path { margin-left: 6%; margin-top: -.45em; font-size: clamp(19px,5.25vw,34px); line-height: 1.12; }
  #o-mnie .about-heading__therapy { display: inline; margin: 0; font-size: clamp(44px,12.8vw,80px); line-height: .92; }
  #o-mnie .about-heading__one, #o-mnie .about-heading__therapist {
    background-image: linear-gradient(180deg, #8a857a 0%, #201f1d 72%);
  }
  #o-mnie .split__gallery { grid-row: 2; grid-column: 1; width: 100%; height: clamp(560px,155vw,900px); }
  #o-mnie .split__gallery img { transform: none; object-position: center top; }
  #o-mnie .split__gallery figure::after {
    background: linear-gradient(180deg, var(--color-cream) 0%, rgba(250,247,241,.8) 3%, rgba(250,247,241,.42) 7%, rgba(250,247,241,.12) 13%, transparent 21%, transparent 44%, rgba(250,247,241,.08) 55%, rgba(250,247,241,.6) 65%, rgba(250,247,241,.75) 82%, rgba(250,247,241,.94) 94%, var(--color-cream) 100%);
  }
  #o-mnie .split__text { grid-row: 2; grid-column: 1; align-self: end; width: 100%; margin: 0; padding: 0 24px 36px; }
  #o-mnie .split__text p:not(.eyebrow) { color: var(--color-dark); max-width: 340px; font-size: 14px; line-height: 1.65; margin-bottom: 22px; }
  #o-mnie .about-button { border-radius: 8px; font-size: 13px; padding: 17px 19px; background: linear-gradient(135deg,rgba(255,255,255,.3),rgba(174,184,184,.16)); }
}
/* Curved treatment gallery and a shared glass price panel. */
#o-mnie .split__gallery { mask-image:linear-gradient(to bottom,#000 calc(100% - 110px),transparent 100%); -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 110px),transparent 100%); }
.care-offer { --care-beige:238,233,224; position:relative; isolation:isolate; overflow:hidden; padding:48px 0; background:linear-gradient(to bottom,var(--color-cream),rgb(var(--care-beige)) 230px); }
.care-offer::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(var(--care-beige),.28),rgba(var(--care-beige),.12)),url('images/care-room.png') center/cover; filter:grayscale(1); opacity:.62; mask-image:linear-gradient(to bottom,transparent,#000 250px); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 250px); }
.care-offer::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(120deg,transparent 16%,rgba(255,255,255,.38) 23%,rgba(255,255,255,.08) 31%,transparent 38%,rgba(118,120,116,.1) 47%,transparent 58%,rgba(255,255,255,.34) 69%,transparent 82%); filter:blur(20px); mask-image:linear-gradient(to bottom,transparent,#000 250px); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 250px); }
.care-heading { position:relative; z-index:2; text-align:center; pointer-events:none; }
.care-heading>span { display:block; width:54px; height:1px; background:#928a7b; margin:0 auto 20px; }
.care-heading h2 { font-family:var(--font-serif); font-size:clamp(42px,4.4vw,76px); font-weight:400; line-height:1.1; letter-spacing:-.035em; margin:0; }
.care-clip { position:absolute; }
.care-rail { margin-top:-20px; clip-path:url(#care-arc); }
.care-cards { display:flex; gap:12px; height:clamp(460px,33vw,590px); padding:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; cursor:grab; touch-action:pan-x pan-y; overscroll-behavior-x:contain; }
.care-cards::-webkit-scrollbar { display:none; }
.care-cards:focus-visible { outline:2px solid var(--color-accent); outline-offset:-4px; }
.care-cards.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.care-card { position:relative; overflow:hidden; min-width:0; flex:0 0 calc((100% - 24px)/3); scroll-snap-align:start; background:transparent; border:0; mask-image:linear-gradient(90deg,transparent,#000 4px,#000 calc(100% - 4px),transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 4px,#000 calc(100% - 4px),transparent); }
.care-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 38%; filter:grayscale(.8) sepia(.24) saturate(.7) brightness(.94); pointer-events:none; }
.care-card::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(125deg,rgba(255,255,255,.12),transparent 23%,transparent 65%,rgba(255,255,255,.06)),linear-gradient(180deg,transparent 24%,rgba(34,30,25,.18) 45%,rgba(34,30,25,.78) 100%); }
.care-card__copy { position:absolute; z-index:1; left:clamp(22px,3.2vw,54px); right:22px; bottom:15%; color:#faf7f1; }
.care-card:first-child .care-card__copy,.care-card:last-child .care-card__copy { bottom:12%; }
.care-number { display:block; font-family:var(--font-serif); font-style:italic; font-size:clamp(30px,2.5vw,42px); color:#acbdc6; line-height:1; margin-bottom:12px; }
.care-card h3 { font-family:var(--font-serif); font-size:clamp(23px,1.85vw,32px); font-weight:400; line-height:1.08; margin:0 0 14px; color:inherit; }
.care-card p { font-size:15px; line-height:1.5; margin:0; }
.care-rule { display:block; width:32px; height:1px; background:rgba(255,255,255,.7); margin-top:20px; }
.care-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin:-32px 0 16px; position:relative; }
.care-controls button { width:44px; height:44px; border-radius:0; border:0; background:transparent; color:var(--color-accent); font-size:28px; cursor:pointer; transition:transform .2s; }
.care-controls button:hover { background:transparent; transform:scale(1.12); }
.care-controls button:disabled { opacity:.35; cursor:default; }
.care-position { font-size:12px; letter-spacing:.12em; color:var(--color-accent); }
.care-more { position:relative; text-align:center; margin:0 0 72px; }
.care-offer .care-button { display:inline-flex; align-items:center; gap:18px; padding:14px 26px; border-radius:10px; font-size:14px; font-weight:400; color:var(--color-accent); background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(160,159,151,.16)); border:1px solid rgba(255,255,255,.58); box-shadow:inset 0 1px 1px rgba(255,255,255,.7),0 5px 18px rgba(32,31,29,.07); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.care-price { display:grid; grid-template-columns:44% 56%; width:min(1120px,78%); margin:0 auto; padding:28px 0; border:1px solid rgba(255,255,255,.85); border-radius:26px; background:rgba(250,247,241,.22); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:inset 0 1px 2px rgba(255,255,255,.25); }
.care-price__value { text-align:center; align-self:center; }
.care-heading h2,.care-price h2 { color:var(--color-dark); }
.care-amount { font-variant-numeric:lining-nums; }
.care-price .eyebrow { margin:0; font-size:12px; letter-spacing:.12em; }
.care-amount { font-family:var(--font-serif); font-size:clamp(110px,10.5vw,178px); font-weight:400; letter-spacing:-.065em; line-height:.95; color:var(--color-dark); }
.care-amount em { font-size:.4em; color:var(--color-accent); font-weight:400; margin-left:.1em; }
.care-unit { font-size:12px; text-transform:uppercase; letter-spacing:.24em; color:var(--color-accent); margin:12px 0 0; }
.care-price__copy { border-left:1px solid rgba(100,94,84,.65); padding:0 12% 0 14%; align-self:center; }
.care-price h2 { font-family:var(--font-serif); font-size:clamp(30px,2.8vw,47px); line-height:1.05; font-weight:400; letter-spacing:-.035em; margin:0 0 22px; }
.care-price__copy>p { font-size:15px; line-height:1.65; margin:0; }
@media (max-width:1000px) and (min-width:768px) {
 .care-card__copy { left:18px; right:14px; } .care-card h3 { font-size:23px; } .care-card p { font-size:14px; } .care-price { width:88%; }
}
@media (max-width:767px) {
 .care-offer { padding:42px 0; background-position:40% center; }
 .care-heading h2 { font-size:42px; } .care-heading>span { margin-bottom:18px; width:38px; }
 .care-rail { margin-top:14px; clip-path:url(#care-arc-mobile); }
 .care-cards { height:460px; gap:10px; padding:0 12%; }
 .care-card { flex-basis:76vw; height:460px; border-radius:0; scroll-snap-align:center; }
 .care-card>img { object-position:center 40%; }
 .care-card__copy,.care-card:first-child .care-card__copy,.care-card:last-child .care-card__copy { left:22px; right:20px; bottom:17%; }
 .care-number { font-size:32px; margin-bottom:8px; } .care-card h3 { font-size:29px; margin-bottom:10px; }
 .care-card p { font-size:14px; line-height:1.65; max-width:310px; } .care-rule { margin-top:16px; }
 .care-more { margin:0 20px 60px; }
 .care-controls { margin:8px 0 18px; }
 .care-offer .care-button { font-size:13px; padding:17px 19px; border-radius:8px; }
 .care-price { width:calc(100% - 40px); grid-template-columns:1fr; padding:28px 24px; border-radius:22px; }
 .care-amount { font-size:138px; } .care-unit { font-size:11px; }
 .care-price__copy { margin-top:26px; padding:24px 0 0; border-left:0; border-top:1px solid rgba(100,94,84,.35); }
 .care-price h2 { font-size:36px; margin-bottom:18px; }
 .care-price__copy>p { font-size:14px; line-height:1.65; }
}
/* Personal approach: portrait, overlaid heading and numbered principles. */
.care-offer::before,.care-offer::after { mask-image:linear-gradient(to bottom,transparent,#000 250px,#000 calc(100% - 90px),transparent); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 250px,#000 calc(100% - 90px),transparent); }
#zaufanie { position:relative; isolation:isolate; padding:0; background:#eee9e0; overflow:hidden; }
#zaufanie::before { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(120deg,transparent 52%,rgba(255,255,255,.36) 66%,transparent 79%),linear-gradient(60deg,transparent 54%,rgba(105,106,101,.08) 69%,transparent 83%); pointer-events:none; }
#zaufanie .trust__inner { position:relative; display:block; max-width:none; width:100%; min-height:clamp(780px,56.5vw,1040px); margin:0; }
#zaufanie .trust__media { position:absolute; inset:0 auto 0 0; width:64%; padding:0; }
#zaufanie .trust__media::before { display:none; }
#zaufanie .trust__media-frame { height:100%; background:transparent; box-shadow:none; overflow:hidden; mask-image:linear-gradient(90deg,#000 0%,#000 65%,rgba(0,0,0,.72) 80%,transparent 100%); -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 65%,rgba(0,0,0,.72) 80%,transparent 100%); }
#zaufanie .trust__media-frame { background:#77736b; }
#zaufanie .trust__media-frame img { width:88%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(.85) sepia(.22) saturate(.65) brightness(.88) contrast(1.04); mask-image:linear-gradient(90deg,#000 80%,transparent); -webkit-mask-image:linear-gradient(90deg,#000 80%,transparent); }
#zaufanie .trust__media::after { content:''; position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(180deg,#eee9e0 0%,rgba(238,233,224,.45) 3%,transparent 10%,transparent 90%,#eee9e0 100%); }
#zaufanie .trust__headline { position:absolute; z-index:3; left:32%; top:24%; width:27%; }
#zaufanie .trust__headline h2 { font-family:var(--font-serif); font-size:clamp(46px,5.2vw,90px); font-weight:400; line-height:1; letter-spacing:-.035em; color:#faf7f1; margin:0 0 38px; }
#zaufanie .trust__button { display:inline-flex; align-items:center; gap:24px; border-radius:10px; padding:14px 26px; color:#faf7f1; font-size:14px; font-weight:400; background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08)); border:1px solid rgba(255,255,255,.5); box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 5px 18px rgba(32,31,29,.1); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); white-space:nowrap; }
#zaufanie .trust__content { position:relative; z-index:3; width:37%; max-width:none; margin-left:60%; padding:70px 0; }
#zaufanie .trust__list { border-top:0; }
#zaufanie .trust__point { grid-template-columns:clamp(60px,6vw,100px) minmax(0,1fr); gap:26px; padding:30px 0; border-bottom:1px solid rgba(90,85,76,.35); }
#zaufanie .trust__point:last-child { border-bottom:0; }
#zaufanie .trust__num { font-family:var(--font-serif); font-size:clamp(54px,5vw,86px); font-variant-numeric:lining-nums; font-weight:400; letter-spacing:-.06em; line-height:1; padding:0 18px 28px 0; border-right:1px solid rgba(90,85,76,.4); color:#78888c; }
#zaufanie .trust__point h3 { font-size:clamp(25px,2vw,35px); font-weight:400; line-height:1.12; margin:0; }
#zaufanie .trust__point p { font-size:15px; line-height:1.65; margin:14px 0 0; max-width:none; }
@media(min-width:768px) and (max-width:1100px){
 #zaufanie .trust__headline { left:29%; width:29%; }
 #zaufanie .trust__headline h2 { font-size:46px; }
 #zaufanie .trust__button { padding:14px 18px; font-size:13px; gap:14px; }
 #zaufanie .trust__content { margin-left:58%; width:39%; padding:52px 0; }
 #zaufanie .trust__point { gap:15px; grid-template-columns:52px minmax(0,1fr); }
 #zaufanie .trust__num { font-size:52px; padding-right:12px; }
}
@media(max-width:767px){
 #zaufanie .trust__inner { min-height:0; padding-top:0; }
 #zaufanie .trust__media { position:relative; width:100%; height:620px; }
 #zaufanie .trust__media-frame { mask-image:linear-gradient(to bottom,transparent,#000 60px,#000 75%,transparent); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 60px,#000 75%,transparent); }
 #zaufanie .trust__media-frame img { width:100%; object-position:center top; mask-image:none; -webkit-mask-image:none; }
 #zaufanie .trust__media::after { background:linear-gradient(180deg,transparent 45%,rgba(22,23,21,.4) 67%,transparent 90%); }
 #zaufanie .trust__headline { top:325px; left:24px; width:calc(100% - 48px); }
 #zaufanie .trust__headline h2 { font-size:52px; line-height:.98; margin-bottom:24px; }
 #zaufanie .trust__button { font-size:13px; padding:17px 19px; border-radius:8px; gap:20px; }
 #zaufanie .trust__content { width:auto; margin:-40px 24px 0; padding:0 0 35px; }
 #zaufanie .trust__point { grid-template-columns:54px minmax(0,1fr); gap:18px; padding:26px 0; }
 #zaufanie .trust__num { font-size:52px; padding:0 12px 20px 0; }
 #zaufanie .trust__point h3 { font-size:27px; }
 #zaufanie .trust__point p { font-size:14px; line-height:1.65; margin-top:12px; }
}
#zaufanie .trust__headline { position:relative; top:auto; left:auto; width:100%; margin:0 0 24px; }
#zaufanie .trust__headline h2 { display:grid; grid-template-columns:max-content max-content; font-size:clamp(46px,4.6vw,78px); color:var(--color-dark); margin:0; line-height:.95; }
#zaufanie .trust__headline h2 span { display:block; white-space:pre; }
#zaufanie .trust__headline h2 em { display:block; grid-column:2; margin-left:0; color:var(--color-accent); font-style:italic; font-weight:400; }
#zaufanie .trust__content { padding:60px 0; }
#zaufanie .trust__point { border:0; padding:20px 0; }
#zaufanie .trust__num { border:0; }
#zaufanie .trust__button { margin-top:22px; color:var(--color-accent); background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(160,159,151,.16)); }
@media(max-width:767px){
 #zaufanie .trust__content { margin:-80px 24px 0; padding:0 0 45px; }
 #zaufanie .trust__headline { position:absolute; top:-220px; left:0; margin-bottom:0; }
 #zaufanie .trust__headline h2 { font-size:clamp(43px,12vw,64px); color:#faf7f1; }
 #zaufanie .trust__point { padding:22px 0; }
 #zaufanie .trust__button { margin-top:24px; }
}
/* Reviews use the site's typography, cool beige, blue accent and glass surfaces. */
#opinie { position:relative; padding:70px 7.2%; min-height:0; background:var(--color-cream); color:#faf7f1; }
#opinie .reviews-photo__bg { inset:0; mask-image:linear-gradient(to bottom,transparent,#000 65px,#000 calc(100% - 65px),transparent); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 65px,#000 calc(100% - 65px),transparent); }
#opinie .reviews-photo__bg img { width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(.5) sepia(.27) saturate(.65) brightness(.72) contrast(1.06); transform:none; }
#opinie .reviews-photo__bg::after { background:linear-gradient(90deg,rgba(18,19,17,.6),rgba(18,19,17,.35) 45%,rgba(18,19,17,.16)); }
#opinie .reviews-photo__overlay { position:relative; display:grid; grid-template-columns:46% 37%; justify-content:space-between; gap:18px 0; padding:0; max-width:1120px; margin:0 auto; }
#opinie .section-header { grid-column:1; grid-row:1; text-align:left; margin:0; max-width:none; }
#opinie .eyebrow { display:none; }
#opinie h2 { font-family:var(--font-serif); font-size:clamp(46px,4.6vw,78px); font-weight:400; line-height:.95; letter-spacing:-.035em; color:#faf7f1; margin:0 0 22px; }
#opinie h2 span,#opinie h2 em { display:block; }
#opinie h2 em { margin-left:24%; font-weight:400; color:var(--color-accent); }
#opinie .reviews__rating { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px; color:#faf7f1; font-family:var(--font-sans); font-size:15px; line-height:1.65; margin:0; }
#opinie .stars { color:var(--color-accent); font-size:20px; letter-spacing:2px; }
#opinie .reviews__grid { display:contents; }
#opinie .review-card { display:flex; flex-direction:column; gap:0; min-width:0; min-height:0; height:auto; padding:20px 22px; border-radius:10px; color:#faf7f1; background:linear-gradient(135deg,rgba(250,247,241,.19),rgba(238,233,224,.07)); border:1px solid rgba(255,255,255,.5); box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 5px 18px rgba(32,31,29,.1); backdrop-filter:blur(12px) saturate(.85); -webkit-backdrop-filter:blur(12px) saturate(.85); text-align:left; }
#opinie .review-card:nth-child(2) { grid-column:2; grid-row:1; align-self:end; }
#opinie .review-card:nth-child(3) { grid-column:2; grid-row:2 / 4; align-self:start; }
#opinie .review-card .quote { font-family:var(--font-sans); font-size:15px; font-weight:400; font-style:normal; line-height:1.65; color:#faf7f1; margin:10px 0 14px; }
#opinie .review-card .name { font-family:var(--font-sans); font-size:14px; font-weight:400; color:#faf7f1; }
#opinie .review-card .source { font-size:12px; color:var(--color-accent); letter-spacing:.09em; margin-top:6px; }
#opinie .review-card:first-child { grid-column:1; grid-row:2; position:relative; padding:10px 0 0 32px; border:0; background:none; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
#opinie .review-card:first-child::before { content:'“'; position:absolute; left:0; top:0; color:var(--color-accent); font-family:var(--font-serif); font-size:64px; line-height:1; }
#opinie .review-card:first-child>.stars { display:none; }
#opinie .review-card:first-child .quote { margin:0 0 16px; }
#opinie .reviews-photo__link { grid-column:1; grid-row:3; justify-self:start; display:inline-flex; align-items:center; gap:24px; margin:0; padding:14px 26px; border:1px solid rgba(255,255,255,.5); border-radius:10px; color:var(--color-accent); font-family:var(--font-sans); font-size:14px; font-weight:400; text-decoration:none; background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.06)); backdrop-filter:blur(12px) saturate(.85); -webkit-backdrop-filter:blur(12px) saturate(.85); box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 5px 18px rgba(32,31,29,.1); }
#opinie .reviews-photo__link:hover { background:rgba(255,255,255,.4); transform:translateY(-2px); }
@media(max-width:1000px) and (min-width:768px){
 #opinie { padding:65px 5%; } #opinie .reviews-photo__overlay { grid-template-columns:46% 44%; }
 #opinie .review-card { padding:18px 20px; }
}
@media(max-width:767px){
 #opinie { padding:55px 24px; min-height:0; }
 #opinie .reviews-photo__bg img { object-position:58% center; }
 #opinie .reviews-photo__bg::after { background:linear-gradient(180deg,rgba(18,19,17,.5),rgba(18,19,17,.4)); }
 #opinie .reviews-photo__overlay { display:flex; flex-direction:column; gap:18px; }
 #opinie h2 { font-size:clamp(43px,12vw,64px); margin-bottom:28px; }
 #opinie .reviews__rating { font-size:14px; gap:8px 12px; }
 #opinie .stars { font-size:18px; }
 #opinie .review-card { padding:18px 20px; border-radius:8px; width:100%; }
 #opinie .review-card:first-child { padding:8px 0 8px 28px; }
 #opinie .review-card:first-child::before { font-size:54px; }
 #opinie .review-card .quote { font-size:14px; }
 #opinie .reviews-photo__link { align-self:flex-start; margin-top:8px; padding:17px 19px; border-radius:8px; font-size:13px; gap:20px; }
}
/* Compact glass testimonials; keep the established text sizes. */
#opinie .review-card:not(:first-child) { display:grid; grid-template-columns:auto minmax(0,1fr); align-content:start; column-gap:12px; padding:16px 18px; }
#opinie .review-card:not(:first-child) > .stars { grid-column:1 / -1; line-height:1.1; }
#opinie .review-card:not(:first-child) .quote { grid-column:1 / -1; margin:8px 0 12px; line-height:1.55; }
#opinie .review-card:not(:first-child) .name { align-self:center; }
#opinie .review-card:not(:first-child) .source { align-self:center; justify-self:end; margin:0; letter-spacing:.03em; }
@media(max-width:767px) {
 #opinie .review-card:not(:first-child) { padding:13px 14px; column-gap:10px; }
 #opinie .review-card:not(:first-child) > .stars { font-size:16px; }
 #opinie .review-card:not(:first-child) .quote { margin:7px 0 10px; line-height:1.5; }
}
.reveal-on-scroll {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
  transition: opacity 1s cubic-bezier(.22,1,.36,1), transform 1s cubic-bezier(.22,1,.36,1);
}
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll,
  .split__text > *,
  .split__gallery img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Approved closing banner and open-column footer. */
#closing-cta { padding:0; background:var(--color-cream); }
#closing-cta .cta-banner { position:relative; isolation:isolate; padding:62px 5%; gap:32px; background:var(--color-accent); overflow:hidden; }
#closing-cta .cta-banner::before { content:""; position:absolute; inset:-60px; z-index:-1; pointer-events:none; background:linear-gradient(125deg,transparent 14%,rgba(255,255,255,.12) 25%,transparent 39%,rgba(23,40,48,.13) 52%,rgba(255,255,255,.13) 67%,transparent 83%); filter:blur(24px); }
#closing-cta .cta-banner::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,var(--color-cream),transparent 22px,transparent calc(100% - 22px),var(--color-cream)); pointer-events:none; }
#closing-cta h2 { margin:0; font-size:clamp(30px,3.1vw,52px); font-weight:400; line-height:1.1; letter-spacing:-.025em; }
#closing-cta h2 em { font-weight:400; }
#closing-cta .cta-banner__actions { display:flex; flex-direction:row; align-items:center; flex-wrap:nowrap; width:auto; gap:28px; }
#closing-cta .btn { width:auto; white-space:nowrap; font-size:14px; font-weight:400; padding:14px 26px; border-radius:10px; color:var(--color-cream); border:1px solid rgba(255,255,255,.4); background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.06)); box-shadow:inset 0 1px 1px rgba(255,255,255,.2); backdrop-filter:blur(14px); }
#closing-cta .link-arrow { font-size:14px; font-weight:400; white-space:nowrap; color:var(--color-cream); }
#home-footer { display:grid; grid-template-columns:1.1fr 1.55fr .9fr .7fr; column-gap:40px; row-gap:58px; padding:70px 5% 28px; background:var(--color-cream); }
#home-footer .footer-badge { display:block; margin:0; padding:0; background:none; box-shadow:none; border:0; }
#home-footer .footer-badge .logo { display:flex; }
#home-footer .footer-grid { display:contents; }
#home-footer .footer-col { padding:0; background:none; box-shadow:none; border:0; min-width:0; }
#home-footer .label { font-family:var(--font-serif); color:var(--color-dark); font-size:24px; font-weight:400; letter-spacing:0; margin-bottom:20px; }
#home-footer .footer-col p,#home-footer .footer-col a { font-size:14px; line-height:1.7; margin:0 0 9px; overflow-wrap:anywhere; }
#home-footer .footer-bottom { grid-column:1 / -1; width:100%; max-width:none; padding-top:22px; border-top:1px solid rgba(92,122,138,.22); color:var(--color-accent); font-size:12px; }
@media(min-width:768px) and (max-width:1100px) {
 #closing-cta .cta-banner { padding:45px 5%; }
 #closing-cta .cta-banner__actions { gap:18px; }
 #home-footer { grid-template-columns:1fr 1.4fr; gap:32px; }
}
@media(max-width:767px) {
 #closing-cta .cta-banner { padding:36px 20px 42px; gap:24px; align-items:flex-start; }
 #closing-cta h2 { font-size:clamp(28px,7.6vw,42px); }
 #closing-cta .cta-banner__actions { width:100%; gap:16px; justify-content:flex-start; }
 #closing-cta .btn { padding:14px 12px; font-size:12px; border-radius:8px; }
 #closing-cta .link-arrow { font-size:12px; }
 #home-footer { grid-template-columns:1fr 1fr; padding:36px 24px 24px; gap:28px 20px; }
 #home-footer .footer-badge,#home-footer .footer-col:first-child { grid-column:1 / -1; }
 #home-footer .label { font-size:21px; margin-bottom:12px; }
 #home-footer .footer-bottom { flex-direction:column; align-items:flex-start; gap:8px; padding-top:18px; }
}

/* Desktop heading scale; mobile retains its existing composition. */
@media(min-width:768px) {
 :root {
  --heading-small:clamp(26px,3.2vw,52px);
  --heading-medium:clamp(36px,4.4vw,72px);
  --heading-large:clamp(47px,5.8vw,94px);
 }
 #o-mnie .about-heading__one { font-size:var(--heading-small); }
 #o-mnie .about-heading__therapist { font-size:var(--heading-large); }
 #o-mnie .about-heading__path { font-size:var(--heading-small); }
 #o-mnie .about-heading__path em:not(.about-heading__therapy) { color:var(--color-dark); }
 #o-mnie .about-heading__therapy { font-size:var(--heading-large); }
 .care-heading h2 { font-size:var(--heading-medium); }
 #zaufanie .trust__headline h2 { font-size:var(--heading-small); }
 #zaufanie .trust__headline h2 em { font-size:var(--heading-large); line-height:.95; }
 #opinie h2 { font-size:var(--heading-small); }
 #opinie h2 .reviews-title__say { font-size:var(--heading-large); color:var(--color-accent); font-style:italic !important; }
 #opinie h2 > em { font-size:var(--heading-small); font-style:normal; color:inherit; }
}

/* Desktop section joins: matching edge colors and gradual image opacity. */
@media(min-width:768px){
 .care-offer {background:linear-gradient(to bottom,var(--color-cream),#eee9e0 260px);}
 .care-offer::before,.care-offer::after {mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 50px,rgba(0,0,0,.32) 100px,rgba(0,0,0,.68) 150px,rgba(0,0,0,.94) 200px,#000 250px,#000 calc(100% - 150px),rgba(0,0,0,.85) calc(100% - 105px),rgba(0,0,0,.35) calc(100% - 60px),rgba(0,0,0,.04) calc(100% - 20px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 50px,rgba(0,0,0,.32) 100px,rgba(0,0,0,.68) 150px,rgba(0,0,0,.94) 200px,#000 250px,#000 calc(100% - 150px),rgba(0,0,0,.85) calc(100% - 105px),rgba(0,0,0,.35) calc(100% - 60px),rgba(0,0,0,.04) calc(100% - 20px),transparent);}
 #zaufanie {background:linear-gradient(to bottom,#eee9e0 0%,#eee9e0 calc(100% - 180px),var(--color-cream) 100%);}
 #zaufanie::before {mask-image:linear-gradient(to bottom,transparent,#000 140px,#000 calc(100% - 180px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 140px,#000 calc(100% - 180px),transparent);}
 #zaufanie .trust__media {mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 28px,rgba(0,0,0,.32) 56px,rgba(0,0,0,.68) 84px,rgba(0,0,0,.94) 112px,#000 140px,#000 calc(100% - 180px),rgba(0,0,0,.94) calc(100% - 144px),rgba(0,0,0,.68) calc(100% - 108px),rgba(0,0,0,.32) calc(100% - 72px),rgba(0,0,0,.06) calc(100% - 36px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 28px,rgba(0,0,0,.32) 56px,rgba(0,0,0,.68) 84px,rgba(0,0,0,.94) 112px,#000 140px,#000 calc(100% - 180px),rgba(0,0,0,.94) calc(100% - 144px),rgba(0,0,0,.68) calc(100% - 108px),rgba(0,0,0,.32) calc(100% - 72px),rgba(0,0,0,.06) calc(100% - 36px),transparent);}
 #zaufanie .trust__media::after {background:none;}
 #opinie .reviews-photo__bg {mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 12px,rgba(0,0,0,.32) 24px,rgba(0,0,0,.68) 36px,rgba(0,0,0,.94) 48px,#000 60px,#000 calc(100% - 65px),rgba(0,0,0,.94) calc(100% - 52px),rgba(0,0,0,.68) calc(100% - 39px),rgba(0,0,0,.32) calc(100% - 26px),rgba(0,0,0,.06) calc(100% - 13px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 12px,rgba(0,0,0,.32) 24px,rgba(0,0,0,.68) 36px,rgba(0,0,0,.94) 48px,#000 60px,#000 calc(100% - 65px),rgba(0,0,0,.94) calc(100% - 52px),rgba(0,0,0,.68) calc(100% - 39px),rgba(0,0,0,.32) calc(100% - 26px),rgba(0,0,0,.06) calc(100% - 13px),transparent);}
}

/* Desktop photographs meet through a muted shared tone, without overlap. */
@media(min-width:768px){
 #zaufanie {background:#eee9e0;padding-bottom:70px;}
 #zaufanie .trust__media {bottom:-70px;mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 28px,rgba(0,0,0,.32) 56px,rgba(0,0,0,.68) 84px,rgba(0,0,0,.94) 112px,#000 140px);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 28px,rgba(0,0,0,.32) 56px,rgba(0,0,0,.68) 84px,rgba(0,0,0,.94) 112px,#000 140px);}
 #zaufanie::after {content:'';display:block;position:absolute;inset:auto 0 0;height:150px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(119,115,107,0) 0%,rgba(119,115,107,.08) 16%,rgba(119,115,107,.4) 40%,rgba(119,115,107,.88) 67%,#77736b 85%);}
 #zaufanie .trust__inner {z-index:auto;}
 #zaufanie .trust__content {position:relative;z-index:2;}
 #opinie {margin-top:0;padding-top:120px;background:linear-gradient(to bottom,#77736b 0px,#77736b 120px,var(--color-accent) 220px);mask-image:none;-webkit-mask-image:none;}
 #opinie .reviews-photo__bg {mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 20px,rgba(0,0,0,.32) 40px,rgba(0,0,0,.68) 60px,rgba(0,0,0,.94) 80px,#000 100px,#000 calc(100% - 70px),rgba(0,0,0,.94) calc(100% - 56px),rgba(0,0,0,.68) calc(100% - 42px),rgba(0,0,0,.32) calc(100% - 28px),rgba(0,0,0,.06) calc(100% - 14px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 20px,rgba(0,0,0,.32) 40px,rgba(0,0,0,.68) 60px,rgba(0,0,0,.94) 80px,#000 100px,#000 calc(100% - 70px),rgba(0,0,0,.94) calc(100% - 56px),rgba(0,0,0,.68) calc(100% - 42px),rgba(0,0,0,.32) calc(100% - 28px),rgba(0,0,0,.06) calc(100% - 14px),transparent);}
 #closing-cta {background:var(--color-accent);}
 #closing-cta .cta-banner {opacity:1;transform:none;}
 #closing-cta .cta-banner::before {mask-image:linear-gradient(to bottom,transparent 60px,#000 105px);-webkit-mask-image:linear-gradient(to bottom,transparent 60px,#000 105px);}
 #closing-cta .cta-banner::after {background:linear-gradient(to bottom,transparent calc(100% - 22px),var(--color-cream));}
}

/* Desktop reviews: centered heading and three equal glass cards. */
@media(min-width:768px){
 #opinie .reviews-photo__overlay {display:flex;flex-direction:column;align-items:center;gap:30px;max-width:1200px;}
 #opinie .section-header {width:100%;text-align:center;}
 #opinie h2 {margin-bottom:20px;}
 #opinie h2 > span,#opinie h2 > em {display:inline;}
 #opinie h2 > em {margin-left:.18em;}
 #opinie .reviews__rating {justify-content:center;}
 #opinie .reviews__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;}
 #opinie .review-card:nth-child(n) {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto auto;grid-column:auto;grid-row:auto;align-self:stretch;align-content:start;gap:0;padding:22px;min-width:0;border:1px solid rgba(255,255,255,.5);border-radius:10px;background:linear-gradient(135deg,rgba(250,247,241,.19),rgba(238,233,224,.07));box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 5px 18px rgba(32,31,29,.1);backdrop-filter:blur(12px) saturate(.85);-webkit-backdrop-filter:blur(12px) saturate(.85);}
 #opinie .review-card:first-child::before {display:none;}
 #opinie .review-card:nth-child(n) > .stars {display:block;grid-column:1;line-height:1.1;}
 #opinie .review-card:nth-child(n) .quote {grid-column:1;margin:14px 0 20px;line-height:1.55;}
 #opinie .review-card:nth-child(n) .name {grid-column:1;align-self:end;}
 #opinie .review-card:nth-child(n) .source {grid-column:1;justify-self:start;margin-top:5px;letter-spacing:.03em;}
 #opinie .reviews-photo__link {align-self:center;margin-top:0;}
}
@media(min-width:768px){
 #closing-cta .cta-banner {padding:4px 5% 20px;align-items:center;}
 #closing-cta .cta-banner::after {background:linear-gradient(to bottom,transparent calc(100% - 12px),var(--color-cream));}
 #opinie {padding-bottom:100px;}
 #opinie .reviews-photo__bg {mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 20px,rgba(0,0,0,.32) 40px,rgba(0,0,0,.68) 60px,rgba(0,0,0,.94) 80px,#000 100px,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.06) 20px,rgba(0,0,0,.32) 40px,rgba(0,0,0,.68) 60px,rgba(0,0,0,.94) 80px,#000 100px,#000 calc(100% - 24px),transparent);}
}

@media(min-width:768px){
 #opinie {padding-top:62px;}
}

/* One desktop CTA treatment throughout the homepage; navigation is excluded. */
@media(min-width:768px){
 main :is(.hero,#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) a:is(.btn,.link-arrow) {display:inline-flex;align-items:center;justify-content:center;gap:18px;width:auto;min-height:50px;padding:14px 26px;border:1px solid rgba(120,120,120,.12);border-radius:10px;background:linear-gradient(135deg,rgba(215,213,206,.55),rgba(160,159,151,.45));color:#171717;font-family:var(--font-sans);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:normal;text-decoration:none;white-space:nowrap;box-shadow:inset 0 1px 1px rgba(255,255,255,.4);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .25s,background .25s;}
 main :is(.hero,#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) a:is(.btn,.link-arrow):hover {background:linear-gradient(135deg,rgba(230,228,220,.7),rgba(180,179,171,.55));color:#171717;transform:translateY(-2px);box-shadow:inset 0 1px 1px rgba(255,255,255,.4);}
 main :is(.hero,#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) a:is(.btn,.link-arrow):focus-visible {outline:2px solid var(--color-accent);outline-offset:4px;}
 .hero__ctas--desktop {flex-wrap:wrap;}
}
/* Secondary desktop CTAs remain text links. */
@media(min-width:768px){
 main :is(.hero,#closing-cta) a.link-arrow {min-height:0;padding:8px 0;border:0;border-radius:0;background:none;color:#171717;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform-origin:center;transition:transform .25s ease,text-shadow .25s ease;}
 main #closing-cta a.link-arrow {color:var(--color-cream);}
 main :is(.hero,#closing-cta) a.link-arrow:hover {background:none;color:#171717;box-shadow:none;transform:scale(1.04);text-shadow:0 2px 7px rgba(0,0,0,.25);}
 main #closing-cta a.link-arrow:hover {color:var(--color-cream);}
}
@media(min-width:768px) and (prefers-reduced-motion:reduce){
 main :is(.hero,#closing-cta) a.link-arrow {transition:none;}
 main :is(.hero,#closing-cta) a.link-arrow:hover {transform:none;}
}
.care-dots {display:none;}
@media(min-width:768px){
 .care-controls>[data-care-prev],.care-controls>[data-care-next],.care-controls>.care-position {display:none;}
 .care-dots {display:flex;gap:8px;align-items:center;}
 .care-controls .care-dot {width:28px;height:28px;padding:0;display:grid;place-items:center;background:none;border:0;}
 .care-dot::before {content:'';width:7px;height:7px;border-radius:50%;background:var(--color-accent);opacity:.35;transition:opacity .2s,transform .2s;}
 .care-dot[aria-current='true']::before {opacity:1;transform:scale(1.25);}
 .care-dot:focus-visible {outline:2px solid var(--color-accent);outline-offset:2px;border-radius:50%;}
}
/* Desktop contact dialog: frosted glass, with original copy. */
@media (min-width: 1024px) {
  :is(#contact-modal, #pricing-modal) .contact-modal__backdrop {
    background: rgba(32,31,29,.36);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  :is(#contact-modal, #pricing-modal) .contact-modal__card {
    box-sizing: border-box;
    width: 650px;
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    padding: 42px 56px 40px;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 16px;
    background: linear-gradient(135deg,rgba(250,247,241,.79),rgba(232,229,222,.66));
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6),0 18px 60px rgba(20,19,17,.2);
  }
  :is(#contact-modal, #pricing-modal) #contact-modal-title {
    font-size: 44px;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 26px;
    color: #201f1d;
  }
  :is(#contact-modal, #pricing-modal) .contact-modal__title-accent {
    display: block;
    margin-left: 100px;
    font-size: 68px;
    line-height: 1.05;
    font-style: italic;
    color: #5c7a8a;
  }
  :is(#contact-modal, #pricing-modal) .contact-modal__card p {
    font-size: 16px;
    line-height: 1.65;
    color: #45433e;
    margin: 0 auto 26px;
    max-width: 490px;
  }
  :is(#contact-modal, #pricing-modal) .contact-modal__phone {
    width: fit-content;
    margin: 0 auto 22px;
    font-size: 40px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    color: #201f1d;
    transition: transform .2s ease,text-shadow .2s ease;
  }
  :is(#contact-modal, #pricing-modal) .contact-modal__email {
    width: fit-content;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.5;
    color: #405e6d;
    transition: transform .2s ease,text-shadow .2s ease;
  }
  :is(#contact-modal, #pricing-modal) :is(.contact-modal__phone,.contact-modal__email):hover {
    transform: scale(1.025);
    text-shadow: 0 2px 8px rgba(32,31,29,.18);
    text-decoration: none;
  }
  :is(#contact-modal, #pricing-modal) .contact-modal__close { color: #45433e; top: 12px; right: 12px; }
  :is(#contact-modal, #pricing-modal) a:focus-visible,:is(#contact-modal, #pricing-modal) button:focus-visible { outline: 2px solid #5c7a8a; outline-offset: 5px; }
}
/* A smaller, neutral and more transparent desktop contact surface. */
@media (min-width: 1024px) {
  :is(#contact-modal, #pricing-modal) .contact-modal__card {
    width: 520px;
    padding: 30px 34px 28px;
    background: linear-gradient(135deg,rgba(255,255,255,.60),rgba(235,239,240,.50));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-color: rgba(255,255,255,.58);
    border-radius: 14px;
  }
  :is(#contact-modal, #pricing-modal) #contact-modal-title {font-size:36px;margin-bottom:20px;}
  :is(#contact-modal, #pricing-modal) .contact-modal__title-accent {font-size:54px;margin-left:80px;}
  :is(#contact-modal, #pricing-modal) .contact-modal__card p {font-size:15px;line-height:1.6;margin-bottom:20px;color:#242523;}
  :is(#contact-modal, #pricing-modal) .contact-modal__phone {font-size:34px;margin-bottom:16px;}
  :is(#contact-modal, #pricing-modal) .contact-modal__email {font-size:14px;color:#294959;}
}

/* Compact desktop dialog with a clear glass surface. */
@media (min-width: 1024px) {
  :is(#contact-modal, #pricing-modal) .contact-modal__card {
    width: 460px;
    padding: 22px 26px 20px;
    background: linear-gradient(135deg,rgba(255,255,255,.24),rgba(235,239,240,.10));
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.48),0 12px 36px rgba(20,19,17,.15);
  }
  :is(#contact-modal, #pricing-modal) #contact-modal-title {
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:10px;
    white-space:nowrap;
    margin-bottom:14px;
  }
  :is(#contact-modal, #pricing-modal) .contact-modal__title-accent {display:inline;margin-left:0;}
  :is(#contact-modal, #pricing-modal) .contact-modal__card p {margin-bottom:14px;}
  :is(#contact-modal, #pricing-modal) .contact-modal__phone {margin-bottom:10px;}
  :is(#contact-modal, #pricing-modal) .contact-modal__close {top:6px;right:6px;}
}
@media (min-width: 1024px) {
  :is(#contact-modal, #pricing-modal) .contact-modal__card {
    backdrop-filter: blur(12px) brightness(1.8);
    -webkit-backdrop-filter: blur(12px) brightness(1.8);
  }
}

/* Pricing uses the same desktop glass surface as the contact dialog. */
@media (min-width: 1024px) {
  #pricing-modal #pricing-modal-title {font-size:36px;font-weight:400;line-height:1.1;margin:0 0 14px;color:#201f1d;}
  #pricing-modal .contact-modal__card .eyebrow {font-size:12px;letter-spacing:.14em;margin-bottom:10px;}
  #pricing-modal .pricing-modal__amount {margin:0 0 14px;gap:8px;}
  #pricing-modal .pricing-modal__amount .amount {font-size:54px;font-weight:400;line-height:1.05;color:#5c7a8a;}
  #pricing-modal .pricing-modal__amount .unit {font-size:14px;color:#294959;}
  #pricing-modal .contact-modal__card p:last-child {margin-bottom:0;}
}
/* Shared desktop corner radius across the site. Full-bleed backgrounds and circular controls retain their geometry. */
@media (min-width: 1024px) {
  :root { --radius: 12px; --radius-surface: 12px; }
  :is(.btn, .nav-links, .nav-links>a, .contact-modal__card,
      .service-card, .review-card, .contact-card, .contact-map, .contact-info-box,
      .footer-badge, .footer-col, .services-intro__inner, .carousel__card,
      .care-card, .care-price, .split__media, .hero__quote-card,
      .split__text .link-arrow, .reviews-photo__link) {
    border-radius: var(--radius-surface) !important;
  }
  .care-card { overflow: hidden; }
}

.desktop-cursor-glow {display:none;}
@media (min-width:1024px) and (hover:hover) and (pointer:fine) {
  .desktop-cursor-glow {
    display:block;position:fixed;left:0;top:0;width:0;height:0;
    z-index:500;pointer-events:none;opacity:0;transition:opacity .2s;
  }
  .desktop-cursor-glow::before {
    content:'';position:absolute;width:140px;height:140px;left:-70px;top:-70px;
    background:radial-gradient(circle,rgba(92,122,138,.22),rgba(92,122,138,.09) 35%,transparent 70%);
    border-radius:50%;pointer-events:none;
  }
  .desktop-cursor-glow.is-visible {opacity:1;}
}
@media (min-width:1024px) {
  .reveal-on-scroll {opacity:1!important;transform:none!important;transition:none!important;}
}

@media (min-width:1024px) and (hover:hover) and (pointer:fine) {
  .desktop-cursor-glow::before {
    width:190px;height:190px;left:-95px;top:-95px;
    background:radial-gradient(circle,rgba(86,163,205,.55) 0%,rgba(92,152,185,.32) 22%,rgba(92,122,138,.13) 45%,transparent 72%);
  }
}

/* Desktop depth: content leaves upward while oversized photos drift more slowly. */
@media (min-width:1024px) and (prefers-reduced-motion:no-preference) {
  .desktop-scene-scroll .site-header {position:absolute!important;inset:0 0 auto;z-index:100;}
  .desktop-scene-scroll .site-header .navbar {padding-top:20px;padding-bottom:20px;}
  .desktop-scene-scroll .hero__photo-right {overflow:hidden;}
  .desktop-scene-scroll .hero__photo-right img {transform:scale(1.35)!important;translate:0 var(--scene-image-y,0px);will-change:translate;}
  .desktop-scene-scroll #o-mnie .split__gallery img {translate:0 var(--scene-portrait-y,0px);will-change:translate;}
  .desktop-scene-scroll .reviews-photo__bg img {
    transform:scale(1.25)!important;translate:0 var(--scene-image-y,0px);will-change:translate;
  }
  .desktop-scene-scroll :is(.about-heading,.split__text,.trust__content,.reviews-photo__overlay,.care-heading) {
    translate:0 var(--scene-copy-y,0px);will-change:translate;
  }
  .desktop-scene-scroll .care-offer::before,.desktop-scene-scroll .care-offer::after {
    /* The edge masks must stay anchored to the section during scrolling. */
    translate:none;
  }
  .desktop-scene-scroll :is(#o-mnie,#zaufanie,#opinie,.care-offer) {scroll-margin-top:100px;}
}

/* A fading blue wake follows movement; there is no stationary cursor disk. */
.desktop-cursor-trail {display:none;pointer-events:none;position:fixed;inset:0;width:100vw;height:100vh;z-index:500;filter:blur(5px);}
@media(min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .desktop-cursor-trail {display:block;}
}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
 .desktop-text-enter {opacity:0!important;transform:translate3d(0,90px,0)!important;transition:opacity 1.4s ease-in-out var(--enter-delay,0ms),transform 1.9s cubic-bezier(.25,.46,.25,1) var(--enter-delay,0ms)!important;}
 .desktop-text-enter.has-entered {opacity:1!important;transform:translate3d(0,0,0)!important;}
}

/* Mobile joins: stationary edge masks and the same tone on both sides. */
@media(max-width:767px){
 main > .reveal-on-scroll,#closing-cta .cta-banner.reveal-on-scroll {opacity:1;transform:none;transition:none;}
 .care-offer {background:linear-gradient(to bottom,var(--color-cream),#eee9e0 160px);}
 .care-offer::before,.care-offer::after {translate:none;mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.1) 25px,rgba(0,0,0,.5) 70px,#000 140px,#000 calc(100% - 120px),rgba(0,0,0,.5) calc(100% - 65px),rgba(0,0,0,.1) calc(100% - 25px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.1) 25px,rgba(0,0,0,.5) 70px,#000 140px,#000 calc(100% - 120px),rgba(0,0,0,.5) calc(100% - 65px),rgba(0,0,0,.1) calc(100% - 25px),transparent);}
 #zaufanie {background:#eee9e0;}
 #zaufanie::before {mask-image:linear-gradient(to bottom,transparent,#000 80px,#000 calc(100% - 80px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 80px,#000 calc(100% - 80px),transparent);}
 #zaufanie .trust__media-frame {mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.12) 15px,rgba(0,0,0,.5) 40px,#000 80px,#000 75%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.12) 15px,rgba(0,0,0,.5) 40px,#000 80px,#000 75%,transparent);}
 #opinie {background:linear-gradient(to bottom,#eee9e0 0px,#eee9e0 100px,var(--color-accent) 180px);padding-bottom:80px;}
 #opinie .reviews-photo__bg {mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.1) 12px,rgba(0,0,0,.5) 32px,#000 65px,#000 calc(100% - 70px),rgba(0,0,0,.5) calc(100% - 35px),rgba(0,0,0,.1) calc(100% - 12px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.1) 12px,rgba(0,0,0,.5) 32px,#000 65px,#000 calc(100% - 70px),rgba(0,0,0,.5) calc(100% - 35px),rgba(0,0,0,.1) calc(100% - 12px),transparent);}
 #closing-cta {background:var(--color-accent);}
 #closing-cta .cta-banner::before {mask-image:linear-gradient(to bottom,transparent,#000 95px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 95px);}
 #closing-cta .cta-banner::after {background:linear-gradient(to bottom,transparent calc(100% - 28px),var(--color-cream));}
}

/* Mobile homepage CTAs share the approved desktop glass treatment. */
@media(max-width:767px){
 main :is(.hero,#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) a:is(.btn,.link-arrow) {display:inline-flex;align-items:center;justify-content:center;gap:16px;width:auto;max-width:100%;min-height:48px;padding:13px 20px;border:1px solid rgba(120,120,120,.12);border-radius:12px;background:linear-gradient(135deg,rgba(215,213,206,.55),rgba(160,159,151,.45));color:#171717;font-family:var(--font-sans);font-size:13px;font-weight:400;line-height:1.5;letter-spacing:normal;text-decoration:none;white-space:nowrap;box-shadow:inset 0 1px 1px rgba(255,255,255,.4);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .25s ease,background .25s ease;}
 main :is(.hero,#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) a:is(.btn,.link-arrow):active {transform:scale(.98);}
 main :is(.hero,#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) a:is(.btn,.link-arrow):focus-visible {outline:2px solid var(--color-accent);outline-offset:4px;}
 main .hero__ctas--desktop .btn::after {content:'→';}
 main :is(.hero,#closing-cta) a.link-arrow {padding:8px 0;min-height:44px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#faf7f1;text-shadow:0 1px 4px rgba(0,0,0,.25);transition:transform .25s ease,text-shadow .25s ease;}
 main #closing-cta a:is(.btn,.link-arrow) {font-size:12px;}
 main #closing-cta a.btn {padding:12px;gap:10px;}
 #closing-cta .cta-banner__actions {gap:16px;}
}
@media(max-width:767px) and (hover:hover){
 main :is(.hero,#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) a:is(.btn,.link-arrow):hover {background:linear-gradient(135deg,rgba(230,228,220,.7),rgba(180,179,171,.55));color:#171717;transform:translateY(-2px);box-shadow:inset 0 1px 1px rgba(255,255,255,.4);}
 main :is(.hero,#closing-cta) a.link-arrow:hover {background:none;color:#faf7f1;box-shadow:none;transform:scale(1.04);text-shadow:0 2px 7px rgba(0,0,0,.35);}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
 main :is(.hero,#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) a:is(.btn,.link-arrow) {transition:none;}
}

@media(max-width:360px){
 main #closing-cta a:is(.btn,.link-arrow) {font-size:11px;}
 main #closing-cta a.btn {padding-inline:10px;gap:8px;}
 #closing-cta .cta-banner__actions {gap:10px;}
}

/* Mobile overlays use the same neutral glass as the approved desktop dialogs. */
@media(max-width:767px){
 :is(#contact-modal,#pricing-modal) {padding:16px;}
 :is(#contact-modal,#pricing-modal) .contact-modal__backdrop {background:rgba(24,25,23,.28);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
 :is(#contact-modal,#pricing-modal) .contact-modal__card,.mobile-menu {background:linear-gradient(135deg,rgba(255,255,255,.46),rgba(235,239,240,.36));border:1px solid rgba(255,255,255,.58);border-radius:12px;backdrop-filter:blur(20px) brightness(1.8);-webkit-backdrop-filter:blur(20px) brightness(1.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 12px 36px rgba(20,19,17,.15);}
 :is(#contact-modal,#pricing-modal) .contact-modal__card {width:100%;max-width:420px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:46px 22px 24px;color:#201f1d;}
 :is(#contact-modal,#pricing-modal) .contact-modal__close {top:4px;right:4px;width:44px;height:44px;color:#201f1d;}
 #contact-modal-title {display:flex;justify-content:center;align-items:baseline;gap:8px;white-space:nowrap;font-size:clamp(28px,8vw,36px);font-weight:400;line-height:1.1;margin:0 0 18px;}
 #contact-modal .contact-modal__title-accent {display:inline;font-size:clamp(39px,11vw,50px);font-style:italic;color:#5c7a8a;}
 :is(#contact-modal,#pricing-modal) .contact-modal__card p {font-size:15px;line-height:1.6;color:#242523;margin-bottom:18px;}
 #contact-modal .contact-modal__phone {font-size:34px;font-weight:400;font-style:normal;color:#201f1d;margin-bottom:12px;}
 #contact-modal .contact-modal__email {font-size:14px;line-height:1.5;color:#294959;overflow-wrap:anywhere;}
 #pricing-modal-title {font-size:32px;font-weight:400;line-height:1.1;margin:0 0 16px;}
 #pricing-modal .contact-modal__card .eyebrow {font-size:12px;letter-spacing:.14em;margin-bottom:10px;}
 #pricing-modal .pricing-modal__amount {gap:8px;margin:0 0 16px;}
 #pricing-modal .pricing-modal__amount .amount {font-size:54px;font-weight:400;color:#5c7a8a;}
 #pricing-modal .pricing-modal__amount .unit {font-size:14px;color:#294959;}
 #pricing-modal .contact-modal__card p:last-child {margin-bottom:0;}
 .mobile-menu {inset:16px 16px auto;max-height:calc(100dvh - 32px);z-index:180;overflow-y:auto;overscroll-behavior:contain;box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 12px 36px rgba(20,19,17,.15),0 0 0 100vmax rgba(24,25,23,.28);}
 .mobile-menu > .navbar {position:relative;min-height:70px;padding:16px 14px;background:none;box-shadow:none;border:0;gap:8px;}
 .mobile-menu .logo {gap:9px;}
 .mobile-menu .logo__word p:first-child {color:#201f1d;font-size:14px;text-shadow:none;}
 .mobile-menu .logo__word p:last-child {color:#294959;font-size:9px;letter-spacing:1px;}
 .mobile-menu .mobile-menu__close {flex-shrink:0;width:44px;height:44px;color:#201f1d;}
 .mobile-menu__body {padding:8px 22px 24px;gap:18px;}
 .mobile-menu__links {width:100%;gap:2px;}
 .mobile-menu__links a {display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;font-size:30px;font-weight:400;color:#201f1d;border-radius:12px;}
 .mobile-menu__links a:hover,.mobile-menu__links a:focus-visible {background:rgba(255,255,255,.16);color:#294959;}
 .mobile-menu__divider {background:rgba(50,66,72,.25);}
 .mobile-menu__body .btn {min-height:48px;padding:12px 18px;border-radius:12px;background:linear-gradient(135deg,rgba(215,213,206,.55),rgba(160,159,151,.45));border:1px solid rgba(120,120,120,.12);color:#171717;font-size:13px;font-weight:400;box-shadow:inset 0 1px 1px rgba(255,255,255,.4);}
 .mobile-menu__body .btn::after {content:' →';}
 .mobile-menu__phone {font-size:13px;line-height:1.5;color:#294959;overflow-wrap:anywhere;max-width:100%;margin:0;}
 .mobile-menu :is(a,button):focus-visible {outline:2px solid #5c7a8a;outline-offset:2px;}
}

/* Mobile section titles mirror the approved desktop hierarchy; hero is excluded. */
@media(max-width:767px){
 main {--mobile-heading-small:clamp(22px,6.5vw,30px);--mobile-heading-medium:clamp(32px,9vw,42px);--mobile-heading-large:clamp(44px,12vw,58px);}
 main :is(#o-mnie,.care-offer,#zaufanie,#opinie,#closing-cta) h2 {font-family:var(--font-serif);font-weight:400;letter-spacing:-.035em;}
 #o-mnie .about-heading>.about-heading__one {font-size:var(--mobile-heading-small);background:none;color:var(--color-dark);}
 #o-mnie .about-heading>.about-heading__therapist {font-size:var(--mobile-heading-large);background:none;color:var(--color-dark);}
 #o-mnie .about-heading>.about-heading__path {font-size:var(--mobile-heading-small);white-space:normal;line-height:1.12;margin-left:4%;margin-top:0;}
 #o-mnie .about-heading__path em:not(.about-heading__therapy) {color:var(--color-dark);font-style:italic;}
 #o-mnie .about-heading__therapy {font-size:var(--mobile-heading-large);font-style:italic;color:var(--color-accent);}
 .care-heading h2,#care-price-title {font-size:var(--mobile-heading-medium);line-height:1.05;}
 #zaufanie .trust__headline h2 {font-size:clamp(32px,8.6vw,40px);line-height:1.05;}
 #zaufanie .trust__point h3 {font-size:clamp(23px,6vw,26px);line-height:1.15;}
 #zaufanie .trust__headline h2 em {font-size:var(--mobile-heading-large);line-height:1;font-style:italic;color:var(--color-accent);}
 #opinie #reviews-title {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 7px;font-size:var(--mobile-heading-small);line-height:1.08;}
 #opinie #reviews-title>span {display:inline;}
 #opinie #reviews-title .reviews-title__say {font-size:var(--mobile-heading-large);font-style:italic!important;color:var(--color-accent);}
 #opinie #reviews-title>em {display:inline;margin:0;font-size:var(--mobile-heading-small);font-style:normal;color:#faf7f1;}
 #opinie .section-header {text-align:center;}
 #opinie .reviews__rating {justify-content:center;}
 #closing-cta h2 {font-size:var(--mobile-heading-medium);line-height:1.1;}
 #closing-cta h2 em {font-style:italic;font-weight:400;}
}

/* Bring the mobile principles closer to their section title. */
@media(max-width:767px){
 #zaufanie .trust__content {margin-top:-80px;}
 #zaufanie .trust__headline {top:-150px;}
}

/* Mobile reviews mirror the desktop composition in one compact column. */
@media(max-width:767px){
 #opinie .reviews-photo__overlay {align-items:center;gap:24px;}
 #opinie .section-header {width:100%;text-align:center;}
 #opinie #reviews-title {margin-bottom:18px;}
 #opinie .reviews__rating {justify-content:center;}
 #opinie .reviews__grid {display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;}
 #opinie .review-card:nth-child(n) {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-column:auto;grid-row:auto;align-self:stretch;align-content:start;gap:0;padding:18px;min-width:0;width:100%;height:auto;min-height:0;border:1px solid rgba(255,255,255,.5);border-radius:12px;background:linear-gradient(135deg,rgba(250,247,241,.19),rgba(238,233,224,.07));box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 5px 18px rgba(32,31,29,.1);backdrop-filter:blur(12px) saturate(.85);-webkit-backdrop-filter:blur(12px) saturate(.85);}
 #opinie .review-card:first-child::before {display:none;}
 #opinie .review-card:nth-child(n)>.stars {display:block;grid-column:1;line-height:1.1;}
 #opinie .review-card:nth-child(n) .quote {grid-column:1;margin:10px 0 14px;font-size:14px;line-height:1.55;}
 #opinie .review-card:nth-child(n) .name {grid-column:1;align-self:end;}
 #opinie .review-card:nth-child(n) .source {grid-column:1;justify-self:start;margin-top:5px;letter-spacing:.03em;}
 #opinie .reviews-photo__link {align-self:center;margin-top:0;}
}

/* Compact mobile testimonials retain the readable copy size. */
@media(max-width:767px){
 #opinie .reviews__grid {gap:10px;}
 #opinie .review-card:nth-child(n) {padding:13px 14px;grid-template-columns:auto minmax(0,1fr);column-gap:10px;grid-template-rows:auto auto auto;}
 #opinie .review-card:nth-child(n)>.stars {grid-column:1 / -1;font-size:16px;}
 #opinie .review-card:nth-child(n) .quote {grid-column:1 / -1;margin:8px 0 10px;line-height:1.45;}
 #opinie .review-card:nth-child(n) .name {grid-column:1;font-size:13px;align-self:center;}
 #opinie .review-card:nth-child(n) .source {grid-column:2;justify-self:end;align-self:center;margin:0;font-size:10px;letter-spacing:.02em;}
}

/* Mobile text entrances reuse the desktop observer, leaving section edges still. */
@media(max-width:767px) and (prefers-reduced-motion:no-preference){
 .desktop-text-enter {opacity:0!important;transform:translate3d(0,40px,0)!important;transition:opacity 1.4s ease-in-out var(--enter-delay,0ms),transform 1.9s cubic-bezier(.25,.46,.25,1) var(--enter-delay,0ms)!important;}
 .desktop-text-enter.has-entered {opacity:1!important;transform:translate3d(0,0,0)!important;}
}

/* Shared compact footer across all pages. */

:is(.site-footer,#home-footer) {display:grid;grid-template-columns:1fr 1.4fr 1fr .65fr;gap:20px 28px;padding:28px 5% 18px;align-items:start;}
:is(.site-footer,#home-footer) .footer-badge {display:block;margin:0;padding:0;}
:is(.site-footer,#home-footer) .footer-grid {display:contents;}
:is(.site-footer,#home-footer) .footer-col {padding:0;margin:0;min-width:0;}
:is(.site-footer,#home-footer) .footer-col .label {font-size:12px;margin-bottom:8px;}
:is(.site-footer,#home-footer) .footer-col p,:is(.site-footer,#home-footer) .footer-col a {font-size:14px;line-height:1.5;margin:0 0 5px;overflow-wrap:anywhere;}
:is(.site-footer,#home-footer) .footer-bottom {grid-column:1 / -1;width:100%;max-width:none;margin:0;padding-top:12px;border-top:1px solid rgba(92,122,138,.18);gap:8px 20px;font-size:12px;}
:is(.site-footer,#home-footer) .footer-badge .logo__word p:first-child {font-size:17px;}
:is(.site-footer,#home-footer) .footer-badge .logo__word p:last-child {font-size:10px;}
@media(max-width:1000px) and (min-width:768px){
 :is(.site-footer,#home-footer) {grid-template-columns:1.4fr 1fr .7fr;gap:16px 24px;}
 :is(.site-footer,#home-footer) .footer-badge {grid-column:1 / -1;}
}
@media(max-width:767px){
 :is(.site-footer,#home-footer) {grid-template-columns:1fr 1fr;gap:18px 20px;padding:22px 22px 16px;}
 :is(.site-footer,#home-footer) .footer-badge {display:block;grid-column:1 / -1;}
 :is(.site-footer,#home-footer) .footer-badge .logo {display:flex;}
 :is(.site-footer,#home-footer) .footer-col:first-child {grid-column:1 / -1;}
 :is(.site-footer,#home-footer) .footer-bottom {flex-direction:column;align-items:flex-start;gap:4px;}
}
:is(.site-footer,#home-footer) {background:#faf7f1;}
:is(.site-footer,#home-footer) :is(.footer-col,.footer-badge) {background:transparent;border:0;box-shadow:none;}

/* Keep descriptions and controls stationary; only section headings drift. */
.heading-parallax .desktop-text-enter {opacity:1!important;transform:none!important;transition:none!important;}
.heading-parallax .reveal-on-scroll {opacity:1!important;transform:none!important;transition:none!important;}
.heading-parallax.desktop-scene-scroll :is(.about-heading,.split__text,.trust__content,.reviews-photo__overlay,.care-heading) {translate:none;}
.heading-parallax .scroll-title {translate:0 var(--title-scroll-y,0px)!important;}
@media(prefers-reduced-motion:reduce){.heading-parallax .scroll-title {translate:none!important;}}

/* Approved mobile layout: lower only the reviews title below the section fade. */
@media(max-width:767px){#opinie #reviews-title {position:relative;top:32px;}}

/* Keep the mobile about heading in its section, below all hero links. */
@media(max-width:767px){#o-mnie .about-heading {margin-top:-40px!important;}}

/* Approved glass-card treatment for the services carousel, both viewports. */
.care-services .care-rail {clip-path:none;margin:12px 0 0;padding:30px 0 24px;}
.care-services .care-cards {display:grid;grid-template-columns:min(380px,76vw);justify-content:center;height:auto;overflow:visible;padding:0;gap:0;touch-action:pan-y;scroll-snap-type:none;}
.care-services .care-card {grid-area:1 / 1;position:relative;display:flex;flex-direction:column;width:100%;height:auto;min-height:460px;padding:16px;box-sizing:border-box;mask-image:none;-webkit-mask-image:none;border-radius:12px;border:1px solid rgba(255,255,255,.65);background:linear-gradient(135deg,rgba(250,247,241,.66),rgba(215,211,200,.42));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 1px rgba(255,255,255,.7),0 14px 38px rgba(32,31,29,.14);translate:calc(var(--card-offset,0) * 74%) calc(var(--card-depth,0) * 16px);scale:calc(1 - var(--card-depth,0) * .12);opacity:calc(1 - var(--card-depth,0) * .25)!important;transition:translate .6s ease,scale .6s ease,opacity .6s ease!important;}
.care-services .care-card::after {content:none;}
.care-services .care-card>img {position:relative;inset:auto;width:100%;height:220px;flex:none;object-fit:cover;border-radius:8px;}
.care-services .care-card .care-card__copy {position:relative;inset:auto;padding:20px 6px 8px;color:#201f1d;}
.care-services .care-number {font-size:22px;margin-bottom:10px;color:#5c7a8a;}
.care-services .care-card h3 {font-size:30px;line-height:1.08;margin-bottom:12px;}
.care-services .care-card p {font-size:15px;line-height:1.55;max-width:none;}
.care-services .care-rule {display:none;}
.care-services .care-controls {margin:12px 0 20px;gap:16px;}
.care-services .care-controls>[data-care-prev],.care-services .care-controls>[data-care-next],.care-services .care-position {display:block;}
.care-services .care-controls button {border:1px solid rgba(92,122,138,.28);border-radius:12px;background:rgba(250,247,241,.4);}
@media(max-width:767px){
 .care-services .care-card {min-height:440px;padding:12px;translate:calc(var(--card-offset,0) * 91%) calc(var(--card-depth,0) * 12px);}
 .care-services .care-card>img {height:190px;}
 .care-services .care-card h3 {font-size:27px;}
 .care-services .care-card .care-card__copy {padding:16px 6px 6px;}
}
@media(prefers-reduced-motion:reduce){.care-services .care-card {transition:none!important;}}

/* One glass surface over the original photo; captions have no separate panel. */
.care-services .care-card {padding:12px;justify-content:flex-end;border-color:rgba(255,255,255,.8);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 14px 38px rgba(32,31,29,.2);}
.care-services .care-card>img {position:absolute;inset:0;width:100%;height:100%;border-radius:0;object-fit:cover;filter:grayscale(1) sepia(.48) saturate(.72) contrast(1.03) brightness(.96);}
.care-services .care-card::after {content:'';z-index:0;background:linear-gradient(125deg,rgba(255,255,255,.24),rgba(255,255,255,.04) 28%,transparent 48%,rgba(255,255,255,.1) 76%,transparent),linear-gradient(180deg,transparent 30%,rgba(20,19,17,.3) 55%,rgba(20,19,17,.78) 100%);backdrop-filter:blur(.6px);-webkit-backdrop-filter:blur(.6px);box-shadow:inset 0 1px 3px rgba(255,255,255,.85),inset 0 0 24px rgba(255,255,255,.12);}
.care-services .care-card .care-card__copy {position:relative;inset:auto;z-index:1;padding:20px;border:0;border-radius:0;color:#fffdf8;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;text-shadow:0 1px 4px rgba(0,0,0,.3);}
.care-services .care-number {color:#c2d6df;}
@media(max-width:767px){.care-services .care-card .care-card__copy {padding:16px;}}

/* Phone contact choice, shared by desktop and mobile. */
.phone-choice {
  box-sizing:border-box; width:440px; max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px); margin:auto; padding:48px 24px 28px;
  border:1px solid rgba(255,255,255,.7); border-radius:12px;
  background:linear-gradient(135deg,rgba(250,247,241,.94),rgba(232,229,222,.9));
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  color:#201f1d; text-align:center; box-shadow:0 12px 36px rgba(20,19,17,.2);
}
.phone-choice::backdrop { background:rgba(32,31,29,.55); }
.phone-choice h3 {font-family:var(--font-serif);font-size:30px;line-height:1.15;font-weight:500;margin:0 0 16px;}
.phone-choice p {font-family:var(--font-sans);font-size:18px;color:#5c7a8a;margin:0 0 24px;}
.phone-choice__actions {display:flex;flex-direction:column;gap:12px;}
.phone-choice__actions .btn {box-sizing:border-box;display:flex;justify-content:space-between;width:100%;min-height:48px;padding:14px 20px;gap:12px;font-size:15px;}
.phone-choice :focus-visible {outline:2px solid #5c7a8a;outline-offset:3px;}
.phone-choice .phone-choice__actions .btn {
  color:#201f1d; background:linear-gradient(135deg,rgba(215,213,206,.55),rgba(160,159,151,.3));
  border:1px solid rgba(92,122,138,.35); border-radius:12px;
  text-shadow:none; font-weight:500;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 3px 10px rgba(32,31,29,.08);
}
.phone-choice .phone-choice__actions .btn:hover,
.phone-choice .phone-choice__actions .btn:focus-visible {
  color:#201f1d; background:rgba(92,122,138,.23);
}
.phone-choice .phone-choice__actions .btn span {color:inherit;}