/* ============================================================
   MESKIE PORTRETY — main.css v5.0
   DM Serif Display + Inter · Kalium spacing
   Beige background throughout
   ============================================================ */
:root {
  /* Palette */
  --beige:        #F5F0E8;
  --beige-dark:   #EDE7DA;
  --beige-border: #DDD5C4;
  --white:        #FFFFFF;
  --ink:          #1A1A1A;
  --ink-soft:     #2C2C2C;
  --ink-mid:      #444340;
  --ink-muted:    #5C5752;
  --ink-faint:    #8A8278;
  --gold:         #8B6914;
  --warm-dark:    #3B3532;

  /* Typography */
  --f-display: 'DM Serif Display', Georgia, serif;
  --f-body:    'Inter', -apple-system, sans-serif;

  /* Kalium spacing */
  --pad-x:  100px;
  --pad-y:  100px;
  --max-w:  1440px;

  --ease:     cubic-bezier(.25,.1,.25,1);
  --ease-out: cubic-bezier(0,0,.2,1);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { font-size:16px; scroll-behavior:smooth }
body {
  background: var(--beige);
  color: var(--ink);
  font-family: var(--f-body);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display:block; max-width:100%; height:auto }
a { color:inherit; text-decoration:none }
button { font-family:inherit; cursor:pointer }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }

/* ── EYEBROW ── */
.ew {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--f-body);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 16px;
  line-height: 1;
}
.ew::after {
  content: '';
  display: block;
  width: 36px;
  height: 1.5px;
  background: var(--gold);
  flex-shrink: 0;
}
.ew--light { color: rgba(245,240,232,.45) }
.ew--light::after { background: rgba(139,105,20,.6) }
.ew--gold { color: var(--gold) }

/* ── DISPLAY HEADINGS ── */
.dh {
  font-family: var(--f-display);
  font-weight: 400;
  letter-spacing: -.02em;
  color: var(--ink);
  line-height: 1.1;
}
.dh .em  { font-style: italic }
.dh .go  { font-style: italic; color: var(--gold) }
.dh--cream { color: var(--beige) }
.dh--hero  {
  font-size: clamp(38px, 5vw, 68px);
  font-style: italic;
  line-height: 1.04;
  letter-spacing: -.03em;
}
.dh--xl { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.08 }
.dh--lg { font-size: clamp(26px, 3vw, 42px);   line-height: 1.1  }
.dh--md { font-size: clamp(20px, 2.4vw, 32px); line-height: 1.12 }
.dh--sm { font-size: clamp(17px, 1.8vw, 22px); line-height: 1.2  }
.dh--card { font-size: 21px; line-height: 1.2; letter-spacing: -.01em }
.dh--offer { font-size: 22px; letter-spacing: -.01em }

/* ── BODY TEXT ── */
.bt {
  font-family: var(--f-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: var(--ink-muted);
}
.bt p + p  { margin-top: 16px }
.bt--sm    { font-size: 14px; line-height: 1.7 }
.bt--light { color: rgba(245,240,232,.55) }
.bt--center { text-align: center }

/* ── TEXT LINK ── */
.tl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--f-body);
  font-size: 13px;
  letter-spacing: .04em;
  color: var(--ink-mid);
  border-bottom: 1px solid var(--beige-border);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.tl:hover { color: var(--ink); border-color: var(--ink-soft) }
.tl--light { color: rgba(245,240,232,.5); border-color: rgba(245,240,232,.2) }
.tl--light:hover { color: var(--beige); border-color: rgba(245,240,232,.6) }

/* ── BUTTONS ── */
.btn {
  display: inline-block;
  padding: 12px 28px;
  font-family: var(--f-body);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .07em;
  text-transform: uppercase;
  border: 1px solid var(--ink);
  color: var(--ink);
  background: transparent;
  transition: background .2s, color .2s;
  white-space: nowrap;
}
.btn:hover { background: var(--ink); color: var(--beige) }
.btn--dark  { background: var(--ink); color: var(--beige); border-color: var(--ink) }
.btn--dark:hover { background: var(--ink-soft); border-color: var(--ink-soft) }
.btn--ghost-light { border-color: rgba(245,240,232,.6); color: var(--beige) }
.btn--ghost-light:hover { background: rgba(245,240,232,.15); border-color: var(--beige) }

/* ── LAYOUT ── */
.wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  padding-left: var(--pad-x);
  padding-right: var(--pad-x);
}
.sec { padding-top: var(--pad-y); padding-bottom: var(--pad-y) }
.bg-beige  { background: var(--beige) }
.bg-beige-dk { background: var(--beige-dark) }
.bg-white  { background: var(--white) }
.bg-dark   { background: var(--ink-soft) }
.bg-ink    { background: var(--ink) }

/* ── NAV ── */
.nav {
  position: fixed; top:0; left:0; right:0; z-index:500;
  padding: 26px var(--pad-x);
  display: flex; align-items: center; justify-content: space-between;
  transition: background .4s, padding .4s, border-color .4s;
  border-bottom: 1px solid transparent;
}
.nav.sc {
  background: rgba(245,240,232,.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 16px var(--pad-x);
  border-bottom-color: var(--beige-border);
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
}
.nav__logo-wrap { line-height: 1 }
.nav__logo-img  { height: 36px; width: auto; display: block }
.nav__logo-text {
  font-family: var(--f-body);
  font-size: 13px; font-weight: 400;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--beige); transition: color .3s;
}
.nav.sc .nav__logo-text { color: var(--ink) }
.nav__links { display: flex; gap: 40px; list-style: none }
.nav__links a {
  font-size: 12px; letter-spacing: .04em;
  color: rgba(245,240,232,.75); transition: color .2s;
}
.nav.sc .nav__links a { color: var(--ink-faint) }
.nav__links a:hover { color: var(--beige) }
.nav.sc .nav__links a:hover { color: var(--ink) }
.nav__toggle {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; padding: 4px;
}
.nav__toggle span { display:block; width:22px; height:1px; background:var(--beige); transition: background .3s }
.nav.sc .nav__toggle span { background: var(--ink) }
/* Mobile overlay */
.nav__ov {
  display: none; position: fixed; inset: 0;
  background: var(--ink); z-index: 499;
  flex-direction: column; align-items: center; justify-content: center; gap: 48px;
}
.nav__ov.open { display: flex }
.nav__ov a {
  font-family: var(--f-display);
  font-size: 32px; color: var(--beige);
  letter-spacing: -.02em; transition: color .2s;
}
.nav__ov a:hover { color: var(--gold); font-style: italic }
.nav__ov-x {
  position: absolute; top: 24px; right: var(--pad-x);
  background: none; border: none;
  font-size: 28px; color: var(--ink-faint);
}

/* ── HERO — fullscreen photo, text overlay bottom-right ── */
.hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  display: flex;
  /* justify-content and align-items set inline from Customizer */
  align-items: flex-end;
  justify-content: flex-end;
}
.hero__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.hero__photo .mp-placeholder {
  position: absolute;
  inset: 0;
  min-height: unset;
}
/* gradient — ściemnia dół ekranu pod tekstem */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to top, rgba(10,8,5,.65) 0%, rgba(10,8,5,.2) 40%, transparent 70%),
    linear-gradient(to right, rgba(10,8,5,.3) 0%, transparent 60%);
  pointer-events: none;
}
.hero__content {
  position: relative;
  z-index: 2;
  padding: 0 var(--pad-x);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* max-width, margin-bottom, text-align set inline from Customizer */
}
.hero__eyebrow {
  font-family: var(--f-body);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(245,240,232,.6);
  margin-bottom: 20px;
}
.hero__title {
  font-family: var(--f-display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.06;
  letter-spacing: -.025em;
  color: var(--beige);
  margin-bottom: 20px;
}
.hero__title .go { color: var(--gold); font-style: italic; }
.hero__sub {
  font-family: var(--f-body);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(245,240,232,.55);
  margin-bottom: 36px;
}
.hero__content .btn {
  align-self: flex-start;
}

/* ── INTRO ── */
.intro__inner {
  max-width: 100%;
}
.intro__left .ew { margin-bottom: 16px }
.intro__left .dh { margin-bottom: 28px }
.intro__text {
  font-family: var(--f-body);
  font-size: 17px; line-height: 1.85;
  color: var(--ink-muted);
}
.intro__text br { display: block; content: ''; margin-top: 16px }

/* ── SESSIONS SLIDER ── */
.sess {
  padding-top: var(--pad-y);
  padding-bottom: var(--pad-y);
  padding-left: var(--pad-x);
  padding-right: 0;
  overflow: hidden;
  background: var(--beige);
}
.sess__hdr {
  padding-right: var(--pad-x);
  margin-bottom: 16px;
}
.sess__hdr-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 12px;
}
.sess__desc {
  font-size: 15px; color: var(--ink-muted); line-height: 1.6;
  max-width: 480px;
  margin-bottom: 48px;
}
.sess__wrap { overflow: hidden }
.sess__track {
  display: flex;
  gap: 24px;
  transition: transform .55s var(--ease-out);
  will-change: transform;
}
/* Card: 3:4 ratio, no crop — contain with beige bg */
.sc {
  flex: 0 0 calc((100vw - var(--pad-x) - 2*24px) / 3.15);
  cursor: pointer;
}
.sc__photo {
  position: relative;
  width: 100%;
  padding-bottom: 133.33%; /* 3:4 ratio */
  overflow: hidden;
  background: var(--beige-dark);
  margin-bottom: 20px;
}
.sc__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain; /* no cropping — full image visible */
  object-position: center;
  transition: transform .7s var(--ease-out);
}
.sc:hover .sc__photo img { transform: scale(1.03) }
.sc__lbl {
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 8px;
}
.sc__ttl { margin-bottom: 8px }
.sc__desc {
  font-size: 14px; color: var(--ink-muted);
  line-height: 1.6; margin-bottom: 16px;
}
/* Slider nav */
.sess__nav {
  display: flex; align-items: center; gap: 12px;
  margin-top: 48px; padding-right: var(--pad-x);
  justify-content: flex-end;
}
.sarr {
  width: 46px; height: 46px;
  border: 1px solid var(--beige-border);
  background: none;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; color: var(--ink-mid);
  transition: background .2s, border-color .2s, color .2s;
}
.sarr:hover { background: var(--ink); border-color: var(--ink); color: var(--beige) }
.sdots { display: flex; gap: 8px; margin: 0 8px }
.sdot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--beige-border); border: none; padding: 0;
  transition: background .2s;
}
.sdot.on { background: var(--gold) }

/* ── REVIEWS SLIDER ── */
.reviews {
  padding: var(--pad-y) var(--pad-x);
  background: var(--white);
}
.reviews__hdr { margin-bottom: 56px }
.reviews__track-wrap { overflow: hidden; position: relative }
.reviews__track {
  display: flex;
  transition: transform .6s var(--ease-out);
  will-change: transform;
}
.review-card {
  flex: 0 0 100%;
  padding: 0 80px;
  text-align: center;
}
.review-card__text {
  font-family: var(--f-display);
  font-style: italic; font-size: clamp(20px, 2.4vw, 30px);
  line-height: 1.5; letter-spacing: -.01em;
  color: var(--ink-soft);
  max-width: 720px; margin: 0 auto 24px;
}
.review-card__author {
  font-size: 12px; letter-spacing: .06em;
  color: var(--ink-faint);
}
.reviews__dots {
  display: flex; gap: 8px; justify-content: center;
  margin-top: 48px;
}
.rdot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--beige-border); border: none; padding: 0;
  transition: background .2s;
}
.rdot.on { background: var(--gold) }

/* ── SESJA SPLIT ── */
.spl { display: grid; grid-template-columns: 1fr 1fr }
.spl__photo {
  overflow: hidden; position: relative;
  min-height: 580px;
}
.spl__photo img {
  width:100%; height:100%;
  object-fit: cover; display: block;
  transition: transform .9s var(--ease-out);
}
.spl__photo:hover img { transform: scale(1.03) }
.spl--il .spl__txt {
  padding: 80px var(--pad-x) 80px 80px;
  display: flex; flex-direction: column; justify-content: center;
  background: var(--beige);
}
.spl--ir .spl__txt {
  padding: 80px 80px 80px var(--pad-x);
  display: flex; flex-direction: column; justify-content: center;
  background: var(--beige);
  order: -1;
}
.spl__txt .dh  { margin-bottom: 24px }
.spl__txt .bt  { margin-bottom: 14px }
.spl__txt .btn { margin-top: 32px; align-self: flex-start }

/* ── SPLIT-DOUBLE ── */
.sdbl { display: grid; grid-template-columns: 1fr 1fr }
.sdbl__half { display: grid; grid-template-rows: 1fr 1fr; min-height: 880px }
.sdbl__cell { overflow: hidden; position: relative }
.sdbl__cell img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition: transform .9s var(--ease-out);
}
.sdbl__cell:hover img { transform: scale(1.04) }
.sdbl__txt {
  padding: 72px;
  display: flex; flex-direction: column; justify-content: center;
  background: var(--beige);
}
.sdbl__txt--dk { background: var(--beige-dark) }
.sdbl__txt .ew  { margin-bottom: 16px }
.sdbl__txt .dh  { margin-bottom: 20px }
.sdbl__txt .bt  { margin-bottom: 14px }

/* ── MANIFEST ── */
.mnf {
  padding: 80px var(--pad-x);
  background: var(--ink-soft);
  position: relative;
  text-align: center;
}
.mnf::before,.mnf::after {
  content: '';
  position: absolute; left: var(--pad-x); right: var(--pad-x); height: 1px;
  background: linear-gradient(90deg, transparent, rgba(139,105,20,.4), transparent);
}
.mnf::before { top: 0 } .mnf::after { bottom: 0 }
.mnf .dh { max-width: 820px; margin: 0 auto; color: var(--beige) }

/* ── PHOTO BREAK ── */
.pbr {
  width: 100%; height: 62vh; min-height: 420px;
  overflow: hidden; position: relative;
}
.pbr img {
  width:100%; height:100%;
  object-fit: cover; display: block;
}
.pbr__content {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  background: rgba(10,8,5,.35);
  padding: 40px;
  text-align: center;
}
.pbr__title {
  font-family: var(--f-display);
  font-style: italic; font-size: clamp(24px, 3vw, 44px);
  color: var(--beige); margin-bottom: 16px;
  letter-spacing: -.02em; line-height: 1.1;
}
.pbr__text {
  font-size: 15px; color: rgba(245,240,232,.7);
  line-height: 1.6; max-width: 560px; margin-bottom: 28px;
}

/* ── OFFER ── */
.off__g {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: flex-start;
}
.off__intro .dh { margin-bottom: 20px }
.off__intro .bt { margin-bottom: 0 }
.off__item {
  padding: 28px 0;
  border-bottom: 1px solid var(--beige-border);
}
.off__item:first-child { border-top: 1px solid var(--beige-border) }
.off__row {
  display: flex; align-items: baseline;
  justify-content: space-between; gap: 16px;
  margin-bottom: 10px;
}
.off__price {
  font-family: var(--f-display);
  font-size: 24px; color: var(--gold); letter-spacing: -.01em;
}
.off__desc {
  font-size: 14px; color: var(--ink-muted);
  line-height: 1.65; margin-bottom: 16px;
}
.off__note {
  font-size: 12px; color: var(--ink-faint);
  margin-top: 32px; letter-spacing: .02em; line-height: 1.6;
}

/* ── PACKAGES — card design ── */
.pk__hdr {
  max-width: 700px;
  margin: 0 auto 64px;
  text-align: center;
}
.pk__hdr .dh { margin-bottom: 16px }
.pk__hdr .bt { max-width: 600px; margin: 0 auto }
.pk__grid {
  display: grid;
  grid-template-columns: 1fr 1.06fr 1fr;
  gap: 16px;
  align-items: center;
}
.pk__card {
  background: var(--white);
  border: 1px solid var(--beige-border);
  border-radius: 14px;
  padding: 44px 36px 40px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 20px rgba(26,26,26,.06);
}
.pk__card--feat {
  background: var(--ink);
  border-color: transparent;
  box-shadow: 0 8px 40px rgba(26,26,26,.22);
  padding: 64px 44px 56px;
}
.pk__badge {
  font-family: var(--f-body);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
  line-height: 1;
}
.pk__name {
  font-family: var(--f-display);
  font-weight: 400;
  font-size: var(--pk-name-fs, clamp(48px, 5.2vw, 76px));
  line-height: 1.0;
  letter-spacing: -.025em;
  color: var(--pk-name-clr, var(--gold));
  margin-bottom: 16px;
}
.pk__sep {
  width: 32px;
  height: 2px;
  background: var(--gold);
  margin: 0 0 22px;
  flex-shrink: 0;
}
.pk__price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-family: var(--f-display);
  font-weight: 400;
  font-size: var(--pk-price-fs, clamp(56px, 5.8vw, 88px));
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--pk-price-clr, var(--ink));
  margin-bottom: 22px;
}
.pk__card--feat .pk__price { color: var(--beige) }
.pk__price-unit {
  font-size: .41em;
  opacity: .72;
}
.pk__desc {
  font-family: var(--f-body);
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-muted);
  margin-bottom: 20px;
}
.pk__card--feat .pk__desc { color: rgba(245,240,232,.65) }
.pk__desc strong {
  font-weight: 600;
  display: block;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink);
  margin-bottom: 4px;
}
.pk__card--feat .pk__desc strong { color: var(--beige) }
.pk__desc hr {
  border: none;
  border-top: 1px solid var(--beige-border);
  margin: 14px 0;
}
.pk__card--feat .pk__desc hr { border-color: rgba(245,240,232,.35) }
.pk__desc hr:last-of-type { margin-bottom: var(--pk-params-gap, 14px) }
.pk__desc-sep {
  height: 0;
  border-top: 1px solid var(--beige-border);
  margin: 16px 0;
  flex-shrink: 0;
}
.pk__card--feat .pk__desc-sep { border-color: rgba(245,240,232,.55) }
.pk__desc ul,
.pk__desc ol { padding: 0; margin: 4px 0 }
.pk__desc li { list-style: none; padding-left: 0; margin-bottom: 4px }
.pk__btn {
  display: block;
  width: 100%;
  text-align: center;
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .02em;
  text-decoration: none;
  padding: 15px 24px;
  transform: translateY(0);
  transition: background .25s var(--ease), color .25s var(--ease),
              transform .22s var(--ease), box-shadow .25s var(--ease);
  margin-top: auto;
}
.pk__btn--dark {
  background: var(--ink);
  color: var(--beige);
}
.pk__btn--dark:hover {
  background: var(--gold);
  color: #FAF7F2;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(139,105,20,.3);
}
.pk__btn--gold {
  background: var(--gold);
  color: var(--ink);
}
.pk__btn--gold:hover {
  background: #A47A18;
  color: var(--ink);
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(139,105,20,.35);
}
.pk__note {
  text-align: center;
  font-size: 12px;
  color: var(--ink-faint);
  margin-top: 40px;
  line-height: 1.7;
  letter-spacing: .01em;
}
@media(max-width:1024px) {
  .pk__grid { gap: 12px }
  .pk__card { padding: 36px 28px 32px }
  .pk__card--feat { padding: 52px 36px 44px }
  .pk__name { font-size: clamp(40px, 4.5vw, 64px) }
  .pk__price { font-size: clamp(48px, 5vw, 72px) }
}
@media(max-width:768px) {
  .pk__hdr { margin-bottom: 40px }
  .pk__grid { grid-template-columns: 1fr; gap: 12px; max-width: 440px; margin: 0 auto }
  .pk__card { padding: 32px 24px 28px }
  .pk__card--feat { order: -1 }
  .pk__name { font-size: clamp(44px, 10vw, 64px) }
  .pk__price { font-size: clamp(52px, 12vw, 72px) }
}

/* ── FAQ ── */
.faq__g { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: flex-start }
.faq__item { border-bottom: 1px solid var(--beige-border) }
.faq__item:first-child { border-top: 1px solid var(--beige-border) }
.faq__btn {
  width:100%; background:none; border:none;
  padding: 22px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  text-align: left;
}
.faq__q { font-size: 15px; color: var(--ink); line-height: 1.4 }
.faq__ico {
  width: 22px; height: 22px;
  border: 1px solid var(--beige-border); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 16px; color: var(--gold); font-weight: 300; line-height: 1;
  transition: transform .3s var(--ease), border-color .2s;
}
.faq__item.open .faq__ico { transform: rotate(45deg); border-color: var(--gold) }
.faq__ans { display: none; padding: 0 0 22px }
.faq__item.open .faq__ans { display: block }
.faq__a { font-size: 15px; color: var(--ink-muted); line-height: 1.75 }

/* ── CONTACT ── */
.con__g { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: flex-start }
.con__title { color: var(--beige); margin-bottom: 10px }
.con__sub { font-size: 14px; color: rgba(245,240,232,.4); margin-bottom: 48px }
.con__el { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: rgba(245,240,232,.3); margin-bottom: 8px }
.con__email {
  font-family: var(--f-display); font-size: 20px;
  color: var(--beige);
  border-bottom: 1px solid rgba(245,240,232,.2); padding-bottom: 3px;
  display: inline-block;
  transition: color .2s, border-color .2s;
}
.con__email:hover { color: var(--gold); border-color: var(--gold) }
.con__meta { margin-top: 28px; font-size: 13px; color: rgba(245,240,232,.3); line-height: 1.8 }
/* ── Form fields ── */
.fl { margin-bottom: 28px }
.fl label {
  display: block;
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(245,240,232,.55);
  margin-bottom: 10px;
}
.fi,.ft {
  width: 100%;
  background: rgba(245,240,232,.1);
  border: 1px solid rgba(245,240,232,.24);
  padding: 14px 18px;
  font-family: var(--f-body); font-size: 14px;
  color: rgba(245,240,232,.9);
  outline: none;
  transition: border-color .25s, background .25s;
  -webkit-appearance: none; border-radius: 0;
}
.fi:focus,.ft:focus {
  border-color: rgba(139,105,20,.7);
  background: rgba(245,240,232,.13);
}
.fi::placeholder,.ft::placeholder { color: rgba(245,240,232,.3) }
.ft { height: 130px; resize: none; line-height: 1.65 }
.fsub {
  background: none; border: none;
  border-bottom: 1px solid rgba(245,240,232,.38);
  padding: 0 0 3px;
  font-family: var(--f-body); font-size: 12px; letter-spacing: .06em;
  color: rgba(245,240,232,.68);
  margin-top: 14px;
  transition: color .2s, border-color .2s; cursor: pointer;
}
.fsub:hover { color: var(--beige); border-color: var(--beige) }
/* CF7 overrides */
.wpcf7 p { margin-bottom: 28px }
.wpcf7 p:last-child { margin-bottom: 0 }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  background: rgba(245,240,232,.1);
  border: 1px solid rgba(245,240,232,.24);
  padding: 14px 18px;
  font-family: var(--f-body); font-size: 14px;
  color: rgba(245,240,232,.9);
  outline: none;
  transition: border-color .25s, background .25s;
  -webkit-appearance: none; border-radius: 0; box-shadow: none;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
  border-color: rgba(139,105,20,.7);
  background: rgba(245,240,232,.13);
}
.wpcf7 input[type="text"]::placeholder,
.wpcf7 input[type="email"]::placeholder,
.wpcf7 textarea::placeholder { color: rgba(245,240,232,.3) }
.wpcf7 textarea { height: 130px; resize: none; line-height: 1.65 }
.wpcf7 label {
  display: block;
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(245,240,232,.55); margin-bottom: 10px;
}
.wpcf7 input[type="submit"] {
  background: none; border: none;
  border-bottom: 1px solid rgba(245,240,232,.38);
  padding: 0 0 3px;
  font-family: var(--f-body); font-size: 12px; letter-spacing: .06em;
  color: rgba(245,240,232,.68);
  margin-top: 14px;
  transition: color .2s, border-color .2s; -webkit-appearance: none; cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { color: var(--beige); border-color: var(--beige) }
.wpcf7 .wpcf7-response-output {
  font-size: 12px; color: rgba(245,240,232,.55);
  border: 1px solid rgba(245,240,232,.18);
  padding: 12px 16px; margin-top: 16px;
  background: rgba(245,240,232,.07);
}
.wpcf7 .ajax-loader, .wpcf7 .wpcf7-spinner { display: none }

/* ── FOOTER ── */
.footer {
  background: var(--ink);
  border-top: 1px solid rgba(245,240,232,.07);
  padding: 56px var(--pad-x);
}
.footer__i {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 24px;
}
.footer__logo img { height: 36px; width: auto }
.footer__logo-text { font-family:var(--f-body); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:rgba(245,240,232,.28) }
.footer__lks { display:flex; gap:28px; list-style:none }
.footer__lks a { font-size:12px; color:rgba(245,240,232,.28); letter-spacing:.03em; transition:color .2s }
.footer__lks a:hover { color:rgba(245,240,232,.65) }
.footer__r { text-align:right }
.footer__soc { font-size:12px; color:rgba(245,240,232,.28); display:inline-block; margin-bottom:6px; transition:color .2s }
.footer__soc:hover { color:var(--gold) }
.footer__cp { font-size:10px; color:rgba(245,240,232,.16); letter-spacing:.03em }

/* ── REVEAL ── */
.rv { opacity:0; transform:translateY(24px); transition:opacity .85s var(--ease-out),transform .85s var(--ease-out) }
.rv.on { opacity:1; transform:none }
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* ── SECTION SEPARATOR ── */
.sec-sep {
  height: 1px; background: var(--beige-border);
  margin: 0 var(--pad-x);
}

/* ── RESPONSIVE ── */
@media(max-width:1200px){
  :root{--pad-x:60px;--pad-y:80px}
  .sdbl__half{min-height:700px}
  .sc{flex:0 0 calc((100vw - var(--pad-x) - 2*24px) / 2.6)}
}
@media(max-width:1024px){
  :root{--pad-x:48px;--pad-y:72px}
  .hero{min-height:100svh}
  .hero__content{padding:0 48px 64px;max-width:100%}
  .sdbl{grid-template-columns:1fr}
  .sdbl__half{grid-template-rows:auto;min-height:auto}
  .sdbl__cell{height:56vw}
  .sdbl__txt{padding:56px 48px}
  .spl{grid-template-columns:1fr!important}
  .spl__photo{min-height:60vw}
  .spl--il .spl__txt,.spl--ir .spl__txt{padding:60px 48px;order:0}
  .off__g,.faq__g,.con__g{gap:40px}
  .sess{padding-left:48px}
  .sess__hdr,.sess__nav{padding-right:48px}
  .sc{flex:0 0 calc((100vw - 48px - 24px) / 1.8)}
  .review-card{padding:0 40px}
}
@media(max-width:768px){
  /* ── Spacing ── */
  :root{--pad-x:24px;--pad-y:52px}
  /* ── Nav ── */
  .nav,.nav.sc{padding:14px 20px}
  .nav__links{display:none}
  .nav__toggle{
    display:flex;align-items:center;justify-content:center;
    min-width:44px;min-height:44px;padding:10px 8px
  }
  .nav__ov-x{
    min-width:44px;min-height:44px;
    display:flex;align-items:center;justify-content:center;
    top:10px;right:16px
  }
  /* ── Hero: absolute positioning — pełna szerokość, nie walczymy z flex ── */
  .hero{height:auto;min-height:85svh}
  .hero__content{position:absolute!important;bottom:clamp(24px,5svh,48px)!important;left:0!important;right:0!important;max-width:none!important;margin-bottom:0!important;margin-right:0!important;padding:0 24px!important;box-sizing:border-box!important}
  .hero__title{font-size:clamp(28px,8.5vw,42px)}
  /* ── Buttons: minimum 48px touch target ── */
  .btn{
    min-height:48px;padding:14px 24px;
    display:inline-flex;align-items:center;justify-content:center
  }
  .fsub{min-height:44px;display:inline-flex;align-items:center;padding:6px 0}
  /* ── Form fields: comfortable one-handed use ── */
  .fi{min-height:48px;padding:15px 18px}
  .ft{padding:15px 18px}
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"]{min-height:48px;padding:15px 18px}
  .wpcf7 input[type="submit"]{min-height:44px;padding:8px 0}
  .wpcf7 textarea{padding:15px 18px}
  /* ── Layout ── */
  .sdbl{grid-template-columns:1fr}
  .sdbl__cell{height:72vw}
  .sdbl__txt{padding:44px 24px}
  .spl{grid-template-columns:1fr!important}
  .spl__photo{min-height:72vw}
  .spl--il .spl__txt,.spl--ir .spl__txt{padding:48px 24px;order:0}
  .off__g,.faq__g,.con__g{grid-template-columns:1fr;gap:32px}
  /* ── Sessions slider ── */
  .sess{padding-left:24px}
  .sess__hdr,.sess__nav{padding-right:24px}
  .sc{flex:0 0 80vw}
  .sc__photo{padding-bottom:133.33%}
  /* ── Reviews ── */
  .reviews{padding:52px 24px}
  .review-card{padding:0}
  /* ── Manifest ── */
  .mnf{padding:64px 24px}
  /* ── Old footer ── */
  .footer{padding:44px 24px}
  .footer__i{grid-template-columns:1fr;gap:24px;text-align:center}
  .footer__lks{justify-content:center;flex-wrap:wrap;gap:16px}
  .footer__r{text-align:center}
}

/* ── LOGO SWAP on scroll ── */
.nav__logo-dark  { display: none }
.nav__logo-light { display: block }
.nav.sc .nav__logo-light { display: none }
.nav.sc .nav__logo-dark  { display: block }

/* ── WP NAV MENU overrides ── */
.nav__links { display: flex; gap: 40px; list-style: none; margin: 0; padding: 0 }
.nav__links li { margin: 0; padding: 0 }
.nav__links li a { font-size:12px; letter-spacing:.04em; color:rgba(245,240,232,.75); transition:color .2s }
.nav.sc .nav__links li a { color: var(--ink-faint) }
.nav__links li a:hover { color: var(--beige) }
.nav.sc .nav__links li a:hover { color: var(--ink) }
.nav__links .sub-menu { display: none } /* no dropdowns */

/* ── Mobile: re-hide desktop nav after WP menu overrides ── */
@media(max-width:768px){
  .nav__links { display: none }
  .nav__toggle { display: flex }
}

/* ── HOME — layout mobile ── */
@media(max-width:768px){
  .sess__hdr-top{flex-direction:column;align-items:flex-start;gap:12px}
  .pbr{height:50vh!important;min-height:260px!important}
  .pbr__content{padding:32px 20px}
}

/* ── Phones ≤430px ── */
@media(max-width:430px){
  :root{--pad-x:20px;--pad-y:44px}
  .hero__title{font-size:clamp(24px,8vw,36px)}
  .sc{flex:0 0 86vw}
  .sdbl__cell{height:80vw}
  .spl__photo{min-height:80vw}
  .dh--xl{font-size:clamp(24px,7.5vw,34px)}
  .dh--lg{font-size:clamp(20px,6.5vw,28px)}
}

/* Mobile overlay WP menu */
.nav__ov-links { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; align-items:center; gap:48px }
.nav__ov-links li a { font-family:var(--f-display); font-size:32px; color:var(--beige); letter-spacing:-.02em; transition:color .2s }
.nav__ov-links li a:hover { color:var(--gold); font-style:italic }
.nav__ov-links .sub-menu { display:none }

/* ── FOOTER WP MENU ── */
.footer__nav { list-style:none; display:flex; gap:28px; flex-wrap:wrap; margin:0; padding:0 }
.footer__nav li a { font-size:12px; color:rgba(245,240,232,.28); letter-spacing:.03em; transition:color .2s }
.footer__nav li a:hover { color:rgba(245,240,232,.65) }
.footer__nav .sub-menu { display:none }

/* ============================================================
   FOOTER — Kalium Hotel style
   logo left + 3 columns right
   ============================================================ */
.site-footer {
  padding: 72px var(--pad-x) 0;
}

/* Main row */
.footer-main {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr; /* logo + 3 cols */
  gap: 60px;
  padding-bottom: 64px;
  border-bottom: 1px solid rgba(245,240,232,.1);
  align-items: start;
}

/* Logo column */
.footer-logo-col { }
.footer-logo-link { display: inline-block }
.footer-logo-img  { height: 44px; width: auto; display: block; opacity: .85 }
.footer-logo-text {
  font-family: var(--f-body);
  font-size: 13px; font-weight: 400;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(245,240,232,.55);
}

/* Content columns */
.footer-col__title {
  font-family: var(--f-body);
  font-size: 10px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgba(245,240,232,.4);
  margin-bottom: 20px;
  line-height: 1;
}
.footer-col__text {
  font-size: 14px;
  color: rgba(245,240,232,.55);
  line-height: 1.7;
  margin-bottom: 16px;
}
.footer-col__text br { display: block; margin-top: 6px; content: '' }
.footer-col__links {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.footer-col__links li a,
.footer-col__links li {
  font-size: 14px;
  color: rgba(245,240,232,.55);
  line-height: 1.4;
  transition: color .2s;
}
.footer-col__links li a:hover { color: var(--beige) }

/* Bottom bar */
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0;
  gap: 20px;
}
.footer-copy {
  font-size: 12px;
  color: rgba(245,240,232,.28);
  letter-spacing: .03em;
}
.footer-copy-link {
  font-size: 12px;
  color: rgba(245,240,232,.28);
  letter-spacing: .03em;
  transition: color .2s;
}
.footer-copy-link:hover { color: var(--gold) }

/* ── Footer responsive ── */
@media(max-width:1024px){
  .footer-main { grid-template-columns: 1fr 1fr; gap: 48px }
  .footer-logo-col { grid-column: 1 / -1 }
}
@media(max-width:768px){
  .site-footer { padding: 56px 24px 0 }
  .footer-main { grid-template-columns: 1fr; gap: 36px }
  .footer-logo-col { grid-column: auto }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px }
}

/* ── ELEMENTOR — ukrycie nawigacji w trybie edycji ────────── */
body.elementor-editor-active .nav {
	display: none !important;
}