/* Tomasz Wolszczak — wersja demonstracyjna v3 */
:root{
  --paper:#f7f4ee;--paper-2:#efe9df;--mist:#e5e5df;--ink:#2f3731;--muted:#687069;
  --sage:#738578;--sage-dark:#405247;--sand:#d8cbb9;--white:#fffdfa;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",system-ui,sans-serif;
  --max:1180px;--gutter:clamp(1.25rem,4vw,4rem);--section:clamp(5rem,10vw,10rem);
  --shadow:0 30px 80px rgba(49,57,51,.12);--radius:2px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.95rem + .15vw,1.12rem);line-height:1.75;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:var(--ink);color:white;padding:.7rem 1rem;text-decoration:none}.skip-link:focus{top:1rem}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1rem var(--gutter);color:white;transition:.45s ease}.site-header.is-scrolled{color:var(--ink);background:rgba(247,244,238,.88);backdrop-filter:blur(14px);box-shadow:0 1px rgba(46,54,49,.1)}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.1}.brand span{font-family:var(--serif);font-size:1.35rem}.brand small{margin-top:.25rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase}
.main-nav{display:flex;gap:clamp(1rem,2.3vw,2.3rem);align-items:center}.main-nav a{text-decoration:none;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-.4rem;height:1px;background:currentColor;transition:.3s}.main-nav a:hover:after,.main-nav a:focus-visible:after{right:0}
.nav-toggle{display:none;border:0;background:none;color:inherit;width:44px;height:44px}.nav-toggle i{display:block;width:26px;height:1px;background:currentColor;margin:7px auto;transition:.25s}
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:#20271f;isolation:isolate;overflow:hidden}.hero__image,.hero__veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__image{z-index:-3;transform:scale(1.025);filter:contrast(1.04) saturate(.96) brightness(.99)}.hero__veil{z-index:-2;background:linear-gradient(180deg,rgba(248,242,233,.18),rgba(246,240,231,.06) 44%,rgba(30,38,31,.10)),radial-gradient(circle at 50% 25%,rgba(255,255,255,.28),transparent 58%)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,var(--paper));z-index:-1}.hero__content{width:min(900px,88vw);margin-top:1rem;text-shadow:0 1px 20px rgba(255,255,255,.55)}.eyebrow,.section-kicker{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.3rem,8vw,7.7rem);line-height:.93;letter-spacing:-.035em;margin:.55rem 0 1.7rem}.hero__lead{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.4;margin:0 0 2rem}.hero__name{font-family:var(--serif);font-size:1.42rem;margin:.2rem}.hero__role{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;margin:.55rem 0 0}.scroll-cue{position:absolute;bottom:1.4rem;width:36px;height:70px;display:grid;place-items:center}.scroll-cue span{height:52px;width:1px;background:rgba(36,45,37,.6);position:relative}.scroll-cue span:after{content:"";position:absolute;width:5px;height:5px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);bottom:0;left:-2px;animation:pulse 2s infinite}
.section{padding:var(--section) var(--gutter)}.section--airy{padding-top:clamp(7rem,14vw,13rem);padding-bottom:clamp(7rem,14vw,13rem)}.quote-section{background:var(--paper)}.quote-section--sand{background:var(--paper-2)}.quote-section--final{background:var(--sage-dark);color:var(--white)}.quote{max-width:900px;margin:auto;text-align:center}.quote p{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.3vw,4.4rem);line-height:1.13;letter-spacing:-.025em;margin:0}.quote cite{display:block;font-family:var(--sans);font-style:normal;font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;margin-top:2rem}.quote--jung{max-width:1120px}.quote--jung .quote-line{display:block;white-space:nowrap}
.split{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem);align-items:center}.split--about{grid-template-columns:minmax(300px,.82fr) minmax(0,1.1fr)}.split__media{position:relative}.split__media img{width:100%;min-height:580px;object-fit:cover;box-shadow:var(--shadow)}.portrait img{aspect-ratio:4/5;object-position:center 35%;filter:sepia(.05) contrast(.96)}.media-note{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;margin-top:1rem;color:var(--muted)}
h1,h2,h3,p{overflow-wrap:break-word}.section h2,.belief h2,.journey h2,.reader-section h2,.contact h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.7rem,5.4vw,5.4rem);line-height:.98;letter-spacing:-.035em;margin:.6rem 0 2rem}.prose{max-width:65ch}.prose p{margin:0 0 1.25rem}.prose--large{font-size:clamp(1.08rem,1.4vw,1.3rem);line-height:1.85}.prose--wide{max-width:78ch}.emphasis{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.45;color:var(--sage-dark)}
.approach{max-width:var(--max);margin:auto}.section-heading{max-width:800px;margin-bottom:clamp(3rem,6vw,6rem)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(63,77,67,.22);border-bottom:1px solid rgba(63,77,67,.22)}.approach-card{padding:clamp(2rem,4vw,4rem) clamp(1rem,3vw,3rem);border-right:1px solid rgba(63,77,67,.22)}.approach-card:last-child{border-right:0}.approach-card__number{font-size:.65rem;letter-spacing:.2em;color:var(--sage)}.approach-card h3{font-family:var(--serif);font-weight:400;font-size:2.25rem;margin:2.2rem 0 1rem}.approach-card p{color:var(--muted);font-size:.95rem}
.belief{position:relative;min-height:830px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:0;background:#d4ded8}.belief__visual{min-height:700px}.belief__visual img{width:100%;height:100%;object-fit:cover}.belief__content{align-self:center;padding:var(--section) var(--gutter);max-width:720px}.belief__content h2{font-size:clamp(2.8rem,5vw,5.2rem)}
.journey{background:var(--paper-2)}.journey__intro,.journey__layout,.journey__after{max-width:var(--max);margin-left:auto;margin-right:auto}.journey__intro{margin-bottom:clamp(5rem,10vw,9rem)}.journey__layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.8fr);gap:clamp(3rem,8vw,8rem);align-items:start}.timeline{position:relative;padding-left:2.3rem}.timeline:before{content:"";position:absolute;left:.32rem;top:.65rem;bottom:1rem;width:1px;background:rgba(69,84,73,.3)}.timeline-item{position:relative;display:grid;grid-template-columns:8.5rem 1fr;gap:1.7rem;padding:0 0 3.5rem}.timeline-item:before{content:"";position:absolute;left:-2.18rem;top:.52rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--sage);box-shadow:0 0 0 6px var(--paper-2)}.timeline-item time{font-family:var(--serif);font-size:1.65rem;color:var(--sage-dark)}.timeline-item h3{font-family:var(--serif);font-weight:500;font-size:1.8rem;margin:0 0 .5rem}.timeline-item p{margin:0 0 .8rem;color:#505851}.timeline-item--key{padding:2.2rem 1.5rem 3rem;margin:0 0 3rem -1.5rem;background:rgba(255,253,248,.55);border-left:2px solid var(--sage)}.timeline-item--key:before{left:-.77rem;width:1rem;height:1rem;background:var(--sage-dark);box-shadow:0 0 0 8px var(--paper-2)}.timeline-item--key time{font-size:2.5rem}.journey__image{position:sticky;top:7rem;margin:0;isolation:isolate}.journey__image-frame{position:relative}.journey__image-frame img{display:block;width:100%;height:min(72vh,800px);object-fit:cover;filter:saturate(.86) contrast(.89) brightness(1.04);opacity:.98;box-shadow:none;border:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.32) 6%,#000 17%,#000 82%,rgba(0,0,0,.38) 94%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.32) 6%,#000 17%,#000 82%,rgba(0,0,0,.38) 94%,transparent 100%)}.journey__image-frame::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to right,var(--paper-2) 0%,rgba(239,233,223,.94) 3%,rgba(239,233,223,.55) 11%,rgba(239,233,223,0) 24%,rgba(239,233,223,0) 76%,rgba(239,233,223,.55) 89%,rgba(239,233,223,.94) 97%,var(--paper-2) 100%)}.journey__image-frame::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(247,244,238,.08),rgba(247,244,238,.025) 36%,rgba(247,244,238,.08) 72%,rgba(247,244,238,.18)),radial-gradient(circle at 48% 38%,rgba(255,253,249,.11),transparent 58%);opacity:.7}.journey__image figcaption{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1.35vw,1.42rem);font-weight:500;line-height:1.4;color:#34483b;margin-top:1.2rem;padding:0}.journey__after{margin-top:4rem}
.reader-section{position:relative;min-height:950px;color:#283029;display:grid;place-items:center;isolation:isolate;overflow:hidden}.reader-section__image,.reader-section__veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.reader-section__image{filter:grayscale(1) contrast(.76) brightness(1.45)}.reader-section__veil{z-index:-1;background:linear-gradient(90deg,rgba(247,244,238,.94),rgba(247,244,238,.76) 55%,rgba(247,244,238,.55))}.reader-section__content{width:min(900px,92vw);margin-right:auto;margin-left:max(var(--gutter),calc((100vw - var(--max))/2));padding-right:var(--gutter)}.reader-section__content h2{max-width:800px}
.collaboration{max-width:var(--max);margin:auto}.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:clamp(4rem,8vw,7rem);border-block:1px solid rgba(63,77,67,.22)}.fact{text-align:center;padding:3.5rem 2rem;border-right:1px solid rgba(63,77,67,.22)}.fact:last-child{border-right:0}.fact svg{width:48px;height:48px;fill:none;stroke:var(--sage-dark);stroke-width:1.5;margin:auto}.fact h3{font-family:var(--serif);font-weight:400;font-size:2rem;margin:1.3rem 0 .5rem}.fact p{font-size:.9rem;color:var(--muted);max-width:27ch;margin:auto}.collaboration__copy{margin:auto}
.pricing{display:grid;grid-template-columns:minmax(205px,.72fr) minmax(0,1.28fr);gap:clamp(1.75rem,4vw,3rem);margin:clamp(3.5rem,7vw,5.5rem) 0 clamp(3rem,6vw,4.5rem);padding:clamp(2rem,4vw,3.5rem);background:rgba(216,203,185,.25);border-block:1px solid rgba(63,77,67,.24)}
.pricing__heading{align-self:start}.pricing__kicker{margin:0 0 .8rem!important;font-size:.66rem;line-height:1.4;letter-spacing:.19em;text-transform:uppercase;font-weight:600;color:var(--sage-dark)}
.pricing__amount{display:flex;align-items:baseline;flex-wrap:nowrap;gap:.45rem;margin:0!important;line-height:1;color:var(--sage-dark)}
.pricing__range{font-family:var(--serif);font-size:clamp(2.35rem,3.3vw,3.25rem);letter-spacing:-.025em;white-space:nowrap}
.pricing__currency{font-size:.9rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.pricing__duration{margin:.85rem 0 0!important;font-size:.76rem;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pricing__body p{margin:0 0 1.1rem}.pricing__body p:last-child{margin-bottom:0}
.invitation{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr .88fr;gap:clamp(3rem,8vw,8rem);align-items:center}.invitation h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,5.2vw,5.2rem);line-height:1;letter-spacing:-.035em}.invitation__media img{width:100%;min-height:620px;object-fit:cover;box-shadow:var(--shadow)}.motto{font-family:var(--serif);color:var(--sage-dark)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.5rem;border:1px solid var(--sage-dark);background:transparent;color:var(--sage-dark);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;cursor:pointer;transition:.35s}.button:hover,.button:focus-visible{color:var(--white);background:var(--sage-dark)}
.contact{background:var(--white)}.contact__intro,.contact-form{max-width:var(--max);margin-left:auto;margin-right:auto}.contact__intro{max-width:800px;margin-bottom:4rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.contact-form label{display:flex;flex-direction:column;gap:.65rem}.contact-form label>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid rgba(48,61,51,.35);background:transparent;padding:.85rem .1rem;outline:0;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--sage-dark)}.contact-form .full{grid-column:1/-1}.consent{flex-direction:row!important;align-items:flex-start;gap:.8rem!important}.consent input{width:auto;margin-top:.35rem}.consent span{text-transform:none!important;letter-spacing:0!important;font-size:.78rem!important;color:var(--muted)}.form-action{display:flex;flex-direction:row!important;align-items:center;gap:1.5rem!important}.form-status{margin:0;color:var(--sage-dark);font-size:.88rem}
.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:3rem var(--gutter);background:#26372d;color:#f3f1ec}.site-footer>div{display:flex;flex-direction:column}.site-footer>div:last-child{text-align:right}.site-footer strong{font-family:var(--serif);font-size:1.8rem;font-weight:400}.site-footer span{font-size:.72rem;letter-spacing:.08em;margin-top:.35rem}
.reveal,.reveal-left,.reveal-right{opacity:0;transform:translateY(28px);transition:opacity .9s ease var(--delay,0s),transform .9s cubic-bezier(.2,.65,.3,1) var(--delay,0s)}.reveal-left{transform:translateX(-35px)}.reveal-right{transform:translateX(35px)}.is-visible{opacity:1;transform:none}
@keyframes pulse{0%,100%{transform:translateY(-7px) rotate(45deg);opacity:.25}50%{transform:translateY(0) rotate(45deg);opacity:1}}
@media (max-width:900px){
 .site-header{padding:.9rem 1.25rem}.nav-toggle{display:block}.main-nav{position:fixed;inset:0;background:rgba(247,244,238,.98);color:var(--ink);display:flex;flex-direction:column;justify-content:center;gap:2rem;transform:translateY(-105%);transition:.4s}.main-nav.is-open{transform:none}.main-nav a{font-family:var(--serif);font-size:2rem;text-transform:none;letter-spacing:0}.nav-toggle{z-index:2}.nav-toggle[aria-expanded="true"] i:first-of-type{transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded="true"] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}
 .split,.split--about,.belief,.journey__layout,.invitation{grid-template-columns:1fr}.split__media{order:2}.split__media img,.invitation__media img{min-height:auto;aspect-ratio:4/3}.portrait img{aspect-ratio:4/5}.belief__visual{min-height:480px}.belief__content{max-width:none}.approach-grid,.facts{grid-template-columns:1fr}.approach-card,.fact{border-right:0;border-bottom:1px solid rgba(63,77,67,.22)}.approach-card:last-child,.fact:last-child{border-bottom:0}.journey__image{position:relative;top:auto;order:-1}.journey__image-frame img{height:70vh}.reader-section__content{margin:auto;padding:var(--section) var(--gutter)}.reader-section__veil{background:rgba(247,244,238,.8)}.pricing{grid-template-columns:1fr;gap:1.6rem}
}
@media (max-width:620px){
 .hero h1{font-size:clamp(3.4rem,17vw,5.3rem)}.hero__lead br{display:none}.hero__role{max-width:300px;margin:.55rem auto 0}.section{padding-left:1.2rem;padding-right:1.2rem}.timeline{padding-left:1.5rem}.timeline-item{grid-template-columns:1fr;gap:.3rem;padding-bottom:3rem}.timeline-item:before{left:-1.36rem}.timeline-item--key{margin-left:-.8rem;padding-left:1rem}.timeline-item--key:before{left:-.62rem}.journey__image-frame img{height:65vh}.contact-form{grid-template-columns:1fr}.contact-form label,.contact-form .full{grid-column:1}.form-action{align-items:flex-start;flex-direction:column!important}.site-footer{grid-template-columns:1fr}.site-footer>div:last-child{text-align:left}.quote--jung .quote-line{white-space:normal}.quote p{font-size:clamp(2rem,10vw,3.2rem)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.reveal-left,.reveal-right{opacity:1;transform:none}}


/* --- v4: wyżej ustawiony hero + płynniejsze wyłanianie --- */
.hero{
  place-items:start center;
  padding:clamp(7.75rem,14vh,10.5rem) var(--gutter) clamp(6rem,12vh,9rem);
}
.hero__image{
  opacity:.12;
  transform:scale(1.06);
  will-change:transform,opacity;
  animation:heroImageReveal 2.4s cubic-bezier(.16,.84,.24,1) .05s forwards;
}
.hero__veil{
  opacity:0;
  animation:heroVeilReveal 1.9s ease-out .08s forwards;
}
.hero__mist{
  position:absolute;
  inset:-10% -8% -6%;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(ellipse at 22% 34%,rgba(255,253,248,.34),transparent 42%),
    radial-gradient(ellipse at 73% 28%,rgba(247,241,232,.24),transparent 44%),
    linear-gradient(180deg,rgba(247,244,238,.04),rgba(247,244,238,.12) 68%,rgba(247,244,238,.68));
  filter:blur(12px);
  transform:translate3d(-0.4%,0.2%,0) scale(1.012);
  will-change:transform,opacity;
  animation:heroMistReveal 2.5s ease-out .12s forwards,heroMistDrift 24s ease-in-out 2.8s infinite alternate;
}
.hero:after{
  height:36%;
  background:linear-gradient(180deg,rgba(247,244,238,0),rgba(247,244,238,.16) 32%,rgba(247,244,238,.68) 74%,var(--paper) 100%);
}
.hero__content{
  width:min(900px,88vw);
  margin-top:0;
  position:relative;
  z-index:2;
}
.hero-intro>*{
  opacity:0;
  transform:translateY(8px);
  will-change:transform,opacity;
  animation:heroTextReveal 1.2s cubic-bezier(.16,.84,.24,1) forwards;
}
.hero-intro .eyebrow{animation-delay:.4s}
.hero-intro h1{animation-delay:.62s}
.hero-intro .hero__lead{animation-delay:.9s}
.hero-intro .hero__name{animation-delay:1.12s}
.hero-intro .hero__role{animation-delay:1.28s}
.site-header{
  opacity:0;
  transform:translateY(-8px);
  animation:headerReveal .7s ease 1.35s forwards;
}
.scroll-cue{
  opacity:0;
  animation:scrollCueReveal .8s ease 1.7s forwards;
}
@keyframes heroImageReveal{
  from{opacity:.18;transform:scale(1.045)}
  to{opacity:1;transform:scale(1.025)}
}
@keyframes heroVeilReveal{from{opacity:0}to{opacity:1}}
@keyframes heroMistReveal{
  from{opacity:0;transform:translate3d(-0.8%,0.5%,0) scale(1.018)}
  to{opacity:.9;transform:translate3d(0,0,0) scale(1.012)}
}
@keyframes heroMistDrift{
  0%{transform:translate3d(-.35%,0,0) scale(1.012);opacity:.78}
  100%{transform:translate3d(.55%,.25%,0) scale(1.018);opacity:.88}
}
@keyframes heroTextReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
@keyframes headerReveal{to{opacity:1;transform:none}}
@keyframes scrollCueReveal{to{opacity:1}}

@media (max-width:900px){
  .hero{padding-top:clamp(7rem,12vh,8.5rem)}
}
@media (max-width:620px){
  .hero{place-items:center;padding:7rem 1.2rem 5.5rem}
  .hero__content{transform:translateY(-2vh)}
}
@media (prefers-reduced-motion:reduce){
  .hero__image,.hero__veil,.hero__mist,.hero-intro>*,.site-header,.scroll-cue{
    animation:none!important;opacity:1;transform:none;filter:none;
  }
}


/* --- v7: czytelniejsza sekcja „Jak pracuję” --- */
.split--work .prose{
  max-width:60ch;
  text-align:left;
  line-height:1.82;
}
.emphasis--statement{
  position:relative;
  margin:clamp(2.2rem,4vw,3.2rem) 0 0;
  padding:.18rem 0 .2rem clamp(1.1rem,2vw,1.5rem);
  border-left:2px solid var(--sage);
  color:#34483b;
  font-size:clamp(1.65rem,2.45vw,2.25rem);
  font-weight:500;
  line-height:1.32;
  letter-spacing:-.012em;
  max-width:32ch;
}
.split--work .prose .emphasis--statement,
.split--about .prose .emphasis--statement,
.belief .prose .emphasis--statement,
.reader-section .prose .emphasis--statement,
.collaboration .prose .emphasis--statement,
.invitation .emphasis--statement{
  margin-top:clamp(2.2rem,4vw,3.2rem);
}
.belief .prose .emphasis--statement,
.reader-section .prose .emphasis--statement,
.collaboration .prose .emphasis--statement,
.invitation .emphasis--statement{
  max-width:34ch;
}
.motto.emphasis--statement{
  display:block;
  margin:2.5rem 0;
}
@media (max-width:620px){
  .emphasis--statement{
    font-size:clamp(1.5rem,7vw,1.9rem);
    padding-left:1rem;
    max-width:none;
  }
}

.nowrap{white-space:nowrap}


/* --- v43: długi cytat o współzależności --- */
.quote-section--stockinger{
  background:var(--paper-2);
}
.quote--long{
  position:relative;
  max-width:980px;
  text-align:left;
  padding-left:clamp(2.4rem,6vw,5.2rem);
}
.quote--long .quote__mark{
  position:absolute;
  left:0;
  top:-.28em;
  font-family:var(--serif);
  font-size:clamp(4.8rem,10vw,8.5rem);
  line-height:1;
  color:rgba(63,77,67,.22);
}
.quote--long .quote__body{
  max-width:42em;
}
.quote--long p{
  margin:0 0 1.05em;
  font-size:clamp(1.18rem,1.75vw,1.7rem);
  line-height:1.48;
  letter-spacing:-.014em;
}
.quote--long p:last-child{
  margin-bottom:0;
}
.quote--long cite{
  text-align:left;
  margin-top:2.4rem;
}
@media (max-width:620px){
  .quote--long{
    padding-left:2rem;
  }
  .quote--long .quote__mark{
    font-size:4.6rem;
  }
  .quote--long p{
    font-size:clamp(1.08rem,5vw,1.34rem);
    line-height:1.52;
  }
}


/* --- v52: zdjęcie „Moja droga” jako gotowy plik PNG z przezroczystymi, organicznymi krawędziami --- */
.journey__image-frame{
  position:relative;
  overflow:visible;
  width:min(100%,560px);
  margin-inline:auto;
}
.journey__image-frame img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(72vh,800px);
  object-fit:contain;
  filter:saturate(.88) contrast(.93) brightness(1.02);
  opacity:1;
  box-shadow:none;
  border:0;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.journey__image-frame::before,
.journey__image-frame::after{
  content:none !important;
  display:none !important;
}
@media (max-width:900px){
  .journey__image-frame{width:min(100%,520px)}
  .journey__image-frame img{max-height:none}
}


/* v61: zachowanie obrazu kropli dokładnie jak w zaakceptowanym podglądzie */
.journey__image-frame img{filter:none;}


/* --- v62: use the transparent droplet image directly, without any extra contour/overlays --- */
.journey__image-frame{
  position:relative;
  overflow:visible;
  width:min(100%,560px);
  margin-inline:auto;
}
.journey__image-frame img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(72vh,800px);
  object-fit:contain;
  filter:none !important;
  opacity:1 !important;
  box-shadow:none;
  border:0;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.journey__image-frame::before,
.journey__image-frame::after{
  content:none !important;
  display:none !important;
}
@media (max-width:900px){
  .journey__image-frame{width:min(100%,520px)}
  .journey__image-frame img{max-height:none}
}


/* --- v66: sekcja "Czy ta droga jest dla Ciebie?" – mniej zbliżenia, lepiej widoczne drzewo --- */
.reader-section{min-height:1000px;}
.reader-section__image,
.reader-section__veil{inset:0;}
.reader-section__image{
  top:50%;
  right:max(3vw,28px);
  left:auto;
  bottom:auto;
  width:auto;
  height:min(88%,880px);
  transform:translateY(-50%);
  object-fit:contain;
  object-position:center center;
  filter:grayscale(1) contrast(.84) brightness(1.2);
  opacity:.96;
}
.reader-section__veil{
  background:linear-gradient(90deg,
    rgba(247,244,238,.95) 0%,
    rgba(247,244,238,.86) 42%,
    rgba(247,244,238,.62) 68%,
    rgba(247,244,238,.36) 100%);
}
.reader-section__content{position:relative; z-index:1; max-width:860px;}

@media (max-width: 900px){
  .reader-section{min-height:920px;}
  .reader-section__image{
    inset:0;
    width:100%;
    height:100%;
    right:auto;
    top:0;
    transform:none;
    object-fit:cover;
    object-position:center center;
    filter:grayscale(1) contrast(.8) brightness(1.28);
    opacity:1;
  }
  .reader-section__veil{
    background:rgba(247,244,238,.76);
  }
}


/* --- v67: płynniejsze przejście tła w zdjęcie w sekcji „Czy ta droga jest dla Ciebie?” --- */
.reader-section{position:relative;overflow:hidden;isolation:isolate;}
.reader-section__image{
  filter:grayscale(1) contrast(.82) brightness(1.22);
}
.reader-section__veil{
  background:
    linear-gradient(90deg,
      rgba(247,244,238,1) 0%,
      rgba(247,244,238,.98) 28%,
      rgba(247,244,238,.90) 42%,
      rgba(247,244,238,.72) 54%,
      rgba(247,244,238,.42) 66%,
      rgba(247,244,238,.14) 78%,
      rgba(247,244,238,0) 90%),
    linear-gradient(180deg,
      rgba(247,244,238,.92) 0%,
      rgba(247,244,238,.68) 12%,
      rgba(247,244,238,.34) 24%,
      rgba(247,244,238,.10) 36%,
      rgba(247,244,238,0) 48%),
    radial-gradient(ellipse 46% 22% at 83% 6%,
      rgba(247,244,238,.58) 0%,
      rgba(247,244,238,.24) 42%,
      rgba(247,244,238,0) 72%);
}
.reader-section__content{
  width:min(860px,90vw);
  padding-right:clamp(1rem,4vw,5rem);
}

@media (max-width: 900px){
  .reader-section__veil{
    background:
      linear-gradient(180deg,rgba(247,244,238,.84) 0%,rgba(247,244,238,.72) 18%,rgba(247,244,238,.70) 100%),
      linear-gradient(90deg,rgba(247,244,238,.82) 0%,rgba(247,244,238,.60) 38%,rgba(247,244,238,.40) 100%);
  }
  .reader-section__content{width:min(92vw,760px);padding-right:var(--gutter);}
}


/* --- v68: rzeczywiste zanikanie lewej i górnej krawędzi zdjęcia --- */
.reader-section__image{
  filter:grayscale(1) contrast(.84) brightness(1.18);
  opacity:1;
}
.reader-section__veil{
  background:linear-gradient(90deg,
    rgba(247,244,238,.96) 0%,
    rgba(247,244,238,.94) 26%,
    rgba(247,244,238,.82) 42%,
    rgba(247,244,238,.55) 58%,
    rgba(247,244,238,.20) 72%,
    rgba(247,244,238,0) 86%);
}
@media (max-width:900px){
  .reader-section__image{
    inset:0;
    width:100%;
    height:100%;
    right:auto;
    top:0;
    transform:none;
    object-fit:cover;
    object-position:center center;
  }
  .reader-section__veil{
    background:rgba(247,244,238,.74);
  }
}


/* --- v73: demonstracyjny system rezerwacji --- */
.invitation__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.button--solid{background:var(--sage-dark);color:var(--white)}
.button--solid:hover,.button--solid:focus-visible{background:#2f4137;color:var(--white)}
.button:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}

.booking{background:var(--paper-2)}
.booking__intro{max-width:820px;margin:0 auto clamp(3rem,6vw,5rem);text-align:center}
.booking__intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,5.2vw,5.1rem);line-height:1;letter-spacing:-.035em;margin:.6rem 0 1.5rem}
.booking__intro>p:last-child{max-width:720px;margin:0 auto;color:#596159}
.booking-card{max-width:var(--max);margin:0 auto;background:rgba(255,253,250,.72);border:1px solid rgba(63,77,67,.18);box-shadow:0 24px 70px rgba(49,57,51,.07)}
.booking-card__top{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;padding:clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid rgba(63,77,67,.16)}
.booking-step{margin:0 0 .8rem;font-size:.64rem;line-height:1.4;letter-spacing:.19em;text-transform:uppercase;font-weight:600;color:var(--sage-dark)}
.booking-demo{flex:0 0 auto;border:1px solid rgba(64,82,71,.35);padding:.35rem .65rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-dark)}
.meeting-types{display:flex;gap:.75rem;flex-wrap:wrap}
.meeting-type{appearance:none;min-width:220px;text-align:left;border:1px solid rgba(63,77,67,.24);background:transparent;color:var(--ink);padding:1rem 1.15rem;cursor:pointer;transition:.25s ease}
.meeting-type:hover,.meeting-type:focus-visible{border-color:var(--sage-dark);outline:none}
.meeting-type.is-active{background:var(--sage-dark);border-color:var(--sage-dark);color:var(--white)}
.meeting-type__title,.meeting-type__meta{display:block}.meeting-type__title{font-family:var(--serif);font-size:1.62rem;line-height:1.12}.meeting-type__meta{margin-top:.36rem;font-size:.72rem;letter-spacing:.04em;opacity:.78}
.booking-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);border-bottom:1px solid rgba(63,77,67,.16)}
.booking-calendar,.booking-times{padding:clamp(1.5rem,3.5vw,3rem)}
.booking-calendar{border-right:1px solid rgba(63,77,67,.16)}
.booking-calendar__heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.6rem}
.booking-calendar h3,.booking-times h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.65rem,2.4vw,2.2rem);line-height:1.1;margin:0;color:var(--ink)}
.calendar-nav{display:flex;gap:.45rem}
.calendar-nav button{width:38px;height:38px;border:1px solid rgba(63,77,67,.25);background:transparent;color:var(--sage-dark);cursor:pointer;transition:.25s ease}
.calendar-nav button:hover,.calendar-nav button:focus-visible{background:var(--sage-dark);color:var(--white);outline:none}
.calendar-nav button:disabled{opacity:.25;cursor:not-allowed;background:transparent;color:var(--sage-dark)}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.38rem}
.calendar-weekdays{margin-bottom:.45rem}.calendar-weekdays span{text-align:center;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.calendar-day{position:relative;aspect-ratio:1;border:0;background:transparent;color:#737a74;display:grid;place-items:center;font-size:.82rem;cursor:default}
.calendar-day.is-available{cursor:pointer;color:var(--ink);background:rgba(115,133,120,.08);border:1px solid transparent;transition:.22s ease}
.calendar-day.is-available:after{content:"";position:absolute;bottom:16%;width:4px;height:4px;border-radius:50%;background:var(--sage)}
.calendar-day.is-available:hover,.calendar-day.is-available:focus-visible{border-color:var(--sage);outline:none;background:rgba(115,133,120,.15)}
.calendar-day.is-selected{background:var(--sage-dark);color:var(--white);border-color:var(--sage-dark)}
.calendar-day.is-selected:after{background:var(--white)}
.calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px rgba(64,82,71,.4)}
.calendar-day.is-outside{visibility:hidden}
.calendar-note{margin:1.2rem 0 0;font-size:.68rem;color:var(--muted)}.calendar-note span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--sage);vertical-align:middle;margin-right:.4rem}
.booking-times{background:rgba(239,233,223,.38)}
.time-slots{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:.65rem;margin-top:1.5rem}
.time-slot{border:1px solid rgba(63,77,67,.25);background:rgba(255,253,250,.65);color:var(--sage-dark);padding:.72rem .45rem;cursor:pointer;transition:.22s ease}
.time-slot:hover,.time-slot:focus-visible{border-color:var(--sage-dark);outline:none}.time-slot.is-selected{background:var(--sage-dark);border-color:var(--sage-dark);color:var(--white)}
.time-empty{grid-column:1/-1;margin:.15rem 0;color:var(--muted);font-size:.84rem;line-height:1.6}
.booking-summary{margin-top:1.7rem;padding-top:1.4rem;border-top:1px solid rgba(63,77,67,.16)}
.booking-summary span,.booking-summary strong{display:block}.booking-summary span{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.booking-summary strong{font-family:var(--serif);font-size:1.35rem;font-weight:500;margin-top:.3rem;color:var(--sage-dark)}
.booking-form{padding:clamp(1.5rem,3.5vw,3rem)}
.booking-form__heading{display:flex;justify-content:space-between;gap:2rem;align-items:baseline;margin-bottom:1.6rem}.booking-form__heading>p:last-child{margin:0;color:var(--muted);font-size:.82rem}
.booking-form__fields{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}
.booking-form label{display:flex;flex-direction:column;gap:.55rem}.booking-form label>span{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em}.booking-form label em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--muted)}
.booking-form input,.booking-form textarea{border:0;border-bottom:1px solid rgba(48,61,51,.35);background:transparent;padding:.75rem .05rem;outline:0;border-radius:0}.booking-form input:focus,.booking-form textarea:focus{border-color:var(--sage-dark)}
.booking-form__full{grid-column:1/-1}.booking-consent{flex-direction:row!important;align-items:flex-start;gap:.75rem!important}.booking-consent input{width:auto;margin-top:.34rem}.booking-consent span{text-transform:none!important;letter-spacing:0!important;font-size:.75rem!important;color:var(--muted)}
.booking-form__action{display:flex;align-items:center;gap:1.4rem;margin-top:2rem}.booking-status{margin:0;font-size:.82rem;color:var(--sage-dark);max-width:620px}

@media (max-width:900px){
  .booking-grid{grid-template-columns:1fr}.booking-calendar{border-right:0;border-bottom:1px solid rgba(63,77,67,.16)}
  .meeting-type{flex:1 1 230px}.booking-card__top{align-items:flex-start}.booking-form__heading{display:block}.booking-form__heading>p:last-child{margin-top:.5rem}
}
@media (max-width:620px){
  .booking-card__top{display:block}.booking-demo{display:inline-block;margin-top:1rem}.meeting-types{display:grid}.meeting-type{min-width:0;width:100%}
  .booking-form__fields{grid-template-columns:1fr}.booking-form__fields>*{grid-column:1}.booking-form__action{align-items:flex-start;flex-direction:column}
  .calendar-weekdays,.calendar-days{gap:.18rem}.calendar-day{font-size:.76rem}.time-slots{grid-template-columns:repeat(2,1fr)}
}


/* --- v75: smaller calendar block, larger calendar typography --- */
.booking-calendar{display:flex;flex-direction:column;align-items:flex-start;}
.calendar-weekdays,.calendar-days{width:min(100%,420px);gap:.32rem;}
.calendar-weekdays span{font-size:.74rem;letter-spacing:.09em;}
.calendar-day{font-size:.98rem;}
.calendar-nav button{width:36px;height:36px;}
@media (max-width:900px){
  .calendar-weekdays,.calendar-days{width:100%;}
}


/* --- v77: quick booking links after key sections --- */
.section-booking-link{margin:2rem 0 0;}
.reader-section .section-booking-link{margin-top:2.25rem;}
.collaboration .section-booking-link{margin-top:1.8rem;}


/* v78: CTA after the work approach, before the Brené Brown quote */
.approach .section-booking-link{text-align:center;margin-top:2.6rem;}


/* v81: dyskretny kontakt w stopce */
.site-footer a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px;}
.site-footer a:hover,.site-footer a:focus-visible{opacity:.78;}


/* --- v82: booking motto after choosing a term; Brené Brown closes the page --- */
.booking-motto{
  margin:1.15rem 0 0;
  padding-top:1rem;
  border-top:1px solid rgba(63,77,67,.13);
  font-family:var(--serif);
  font-size:clamp(1.18rem,1.65vw,1.5rem);
  line-height:1.45;
  font-style:italic;
  color:var(--sage-dark);
}


/* --- v83: bardziej zwarte zakończenie z cytatem Brené Brown --- */
.quote-section--final.section--airy{
  padding-top:clamp(4rem,7vw,6.5rem);
  padding-bottom:clamp(2.8rem,4.5vw,4rem);
}


/* --- v84: delikatnie zwarty rytm przewijania (bez ściskania kluczowych sekcji) --- */
#jak-pracuje{
  padding-top:clamp(4.2rem,8vw,8rem);
  padding-bottom:clamp(4rem,7.5vw,7.5rem);
}
#podejscie{
  padding-top:clamp(4rem,7.2vw,7rem);
  padding-bottom:clamp(4.3rem,7.5vw,7.5rem);
}
#podejscie + .quote-section{
  padding-top:clamp(4.2rem,7.2vw,7rem);
  padding-bottom:clamp(4.2rem,7.2vw,7rem);
}
#o-mnie{
  padding-top:clamp(4.2rem,8vw,8rem);
  padding-bottom:clamp(4.2rem,8vw,8rem);
}
#droga + .quote-section.section--airy{
  padding-top:clamp(5rem,9vw,8.5rem);
  padding-bottom:clamp(5rem,9vw,8.5rem);
}
#wspolpraca{
  padding-top:clamp(4.2rem,8vw,8rem);
  padding-bottom:clamp(4.2rem,8vw,8rem);
}
.quote-section--stockinger.section--airy{
  padding-top:clamp(5rem,9vw,9rem);
  padding-bottom:clamp(5rem,9vw,9rem);
}
#zaproszenie{
  padding-top:clamp(4.3rem,8vw,8rem);
  padding-bottom:clamp(4.3rem,8vw,8rem);
}
.approach .section-booking-link{margin-top:2.1rem;}

@media (max-width:620px){
  #jak-pracuje,#podejscie,#o-mnie,#wspolpraca,#zaproszenie{
    padding-top:4rem;
    padding-bottom:4rem;
  }
  #droga + .quote-section.section--airy,
  .quote-section--stockinger.section--airy{
    padding-top:4.5rem;
    padding-bottom:4.5rem;
  }
}


/* --- v85: poprawki mobilne — menu nie pozostaje na ekranie + bez łamania słowa w hero --- */
@media (max-width:900px){
  .site-header .main-nav{
    transform:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease, visibility .25s ease;
  }
  .site-header .main-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}

@media (max-width:620px){
  .hero h1{
    font-size:clamp(2.9rem,14vw,4.4rem);
    overflow-wrap:normal;
    word-break:normal;
  }
}


/* --- v86: mobile hero moved decisively upward --- */
@media (max-width:620px){
  .hero{
    place-items:start center;
    padding-top:5.1rem;
    padding-bottom:4.75rem;
  }
  .hero__content{
    transform:none;
  }
}


/* --- v87: anchor links land on the booking heading, not on the section's top padding --- */
#rezerwacja-start{
  scroll-margin-top:6rem;
}
@media (max-width:620px){
  #rezerwacja-start{
    scroll-margin-top:4.5rem;
  }
}


/* v89: intrinsic image dimensions are declared in HTML to prevent layout shifts during first anchor scroll. */

/* v90: booking anchor itself no longer translates during reveal, so first and subsequent clicks land identically. */


/* --- v91: lepsze skalowanie zdjęć w wersji mobilnej --- */
@media (max-width: 620px){
  .split, .invitation, .journey__layout{
    gap: 2rem;
  }

  .split__media,
  .belief__visual,
  .journey__image,
  .invitation__media{
    width: 100%;
    margin-inline: auto;
  }

  .split__media img,
  .invitation__media img{
    width: min(100%, 440px);
    margin-inline: auto;
    min-height: auto;
  }

  .split--work .split__media img{
    aspect-ratio: 5 / 4;
    object-fit: cover;
    object-position: center center;
  }

  .portrait img{
    width: min(100%, 420px);
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 26%;
  }

  .belief{
    min-height: auto;
  }
  .belief__visual{
    min-height: auto;
  }
  .belief__visual img{
    width: min(100%, 460px);
    margin-inline: auto;
    aspect-ratio: 5 / 4;
    object-fit: cover;
  }

  .journey__image{
    margin-bottom: .4rem;
  }
  .journey__image-frame{
    width: min(100%, 430px);
  }
  .journey__image-frame img{
    width: 100%;
    height: auto;
    max-height: 58vh;
    object-fit: contain;
  }

  .reader-section{
    min-height: 840px;
  }

  .invitation__media img{
    aspect-ratio: 5 / 4;
    object-fit: cover;
    object-position: center center;
  }
  .media-note{
    margin-top: .7rem;
    text-align: center;
  }
}


/* --- v92: przywrócenie portretu „Kilka słów o mnie” dokładnie do zachowania z v88 na mobile --- */
@media (max-width:620px){
  .split--about .portrait{
    width:100%;
    margin-inline:0;
  }
  .split--about .portrait img{
    width:100%;
    max-width:none;
    margin-inline:0;
    min-height:auto;
    aspect-ratio:4 / 5;
    object-fit:cover;
    object-position:center 35%;
  }
}


/* --- v94: mobile - drzewo w sekcji "Czy ta droga jest dla Ciebie?" jako tło pod tekstem --- */
@media (max-width: 900px){
  .reader-section{
    min-height:auto;
    place-items:stretch;
  }
  .reader-section__image{
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 34%;
    transform:none;
    opacity:.56;
    filter:grayscale(1) contrast(.78) brightness(1.08);
  }
  .reader-section__veil{
    background:
      linear-gradient(180deg, rgba(247,244,238,.72) 0%, rgba(247,244,238,.62) 22%, rgba(247,244,238,.64) 100%),
      linear-gradient(90deg, rgba(247,244,238,.74) 0%, rgba(247,244,238,.54) 42%, rgba(247,244,238,.40) 100%);
  }
  .reader-section__content{
    position:relative;
    z-index:1;
    width:min(92vw,760px);
    margin:0 auto;
    padding:clamp(3rem,8vw,4.4rem) var(--gutter);
  }
}


/* --- v95: mobile - drzewo jako subtelne, ale wyraźnie widoczne tło pod tekstem --- */
@media (max-width: 900px){
  .reader-section{
    min-height:auto;
    background:var(--paper);
  }

  .reader-section__image{
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 38%;
    transform:none;
    opacity:.95;
    filter:grayscale(1) contrast(.90) brightness(1);
  }

  .reader-section__veil{
    background:
      linear-gradient(180deg,
        rgba(247,244,238,.48) 0%,
        rgba(247,244,238,.38) 20%,
        rgba(247,244,238,.40) 78%,
        rgba(247,244,238,.48) 100%);
  }

  .reader-section__content{
    position:relative;
    z-index:1;
    width:min(92vw,760px);
    margin:0 auto;
    padding:clamp(3rem,8vw,4.4rem) var(--gutter);
  }
}


/* --- v101: mobile - ukryj obraz z sekcji „W co wierzę”, zostaw desktop bez zmian --- */
@media (max-width: 620px){
  .belief{
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .belief__visual{
    display: none;
  }
  .belief__content{
    max-width: none;
  }
}
