/* =========================================================
   Angelina Zaichenko · Rezonans
   Paleta z filmu hero: blask soli #DEAC81, piasek #C4B2A2,
   miedź w wodzie #B67649, brąz misy #322115
   ========================================================= */
:root{
  --canvas:#F2E7DE;
  --canvas-2:#E9D8CB;
  --panel:#FAF3EE;
  --grotto:#23170F;
  --grotto-2:#35231A;
  --accent:#9A5530;
  --accent-hover:#83451F;
  --accent-muted:#DEAC81;
  --glow:#E9A56B;
  --text:#2B1C14;
  --text-2:#6B5245;
  --on-dark:#F6ECE4;
  --on-dark-2:#CDB6A6;
  --line:rgba(43,28,20,.14);
  --line-strong:#8E7565;
  --display:"Cormorant", "Times New Roman", serif;
  --body:"Jost", system-ui, sans-serif;
  --mono:"Red Hat Mono", ui-monospace, monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --tshadow:0 1px 2px rgba(20,11,6,.9),0 3px 12px rgba(20,11,6,.7),0 10px 44px rgba(20,11,6,.75);
  --wrap:min(1180px, calc(100vw - 48px));
  --r:18px;
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text);font:400 1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased;animation:page-in .9s var(--ease) both}
@keyframes page-in{from{opacity:0}to{opacity:1}}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.04;letter-spacing:-.01em;margin:0}
h2{font-size:clamp(2.4rem,5.2vw,4.4rem)}
h3{font-size:1.65rem;font-weight:600}
em{font-style:italic;font-weight:400}
p{margin:0}
.wrap{width:var(--wrap);margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.label{font-family:var(--mono);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;display:flex;align-items:center;gap:.7rem}
.label::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
section{position:relative}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--text);color:var(--canvas);padding:.7rem 1rem;border-radius:10px;transition:top .3s var(--ease)}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
main:focus{outline:none}

/* ---------- przyciski ---------- */
.btn{--mx:0px;--my:0px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.85rem 1.6rem;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#FFF8F2;font:500 1rem/1 var(--body);letter-spacing:.02em;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;transform:translate(var(--mx),var(--my));transition:transform .5s var(--ease),background-color .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease);text-shadow:none}
.btn::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,236,214,.45),transparent 60%);opacity:0;transition:opacity .4s var(--ease)}
.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn:hover::after{opacity:1}
.btn:active{transform:translate(var(--mx),var(--my)) scale(.97)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-ghost:hover{background:rgba(255,248,242,.12);border-color:currentColor}
.btn-small{min-height:44px;padding:.6rem 1.15rem;font-size:.92rem}
@media (pointer:coarse){.btn{min-height:48px}}

/* ---------- stałe tło: jedno miejsce ---------- */
.env{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;background:var(--canvas)}
.glow{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(60px);opacity:.55}
.g1{background:radial-gradient(circle,rgba(233,165,107,.55),transparent 62%);left:-25vmax;top:-20vmax;animation:drift1 80s linear infinite;animation-delay:-23s}
.g2{background:radial-gradient(circle,rgba(214,150,140,.42),transparent 62%);right:-28vmax;bottom:-25vmax;animation:drift2 96s linear infinite;animation-delay:-41s}
@keyframes drift1{0%{transform:translate(0,0)}25%{transform:translate(18vw,22vh)}50%{transform:translate(34vw,6vh)}75%{transform:translate(12vw,-8vh)}100%{transform:translate(0,0)}}
@keyframes drift2{0%{transform:translate(0,0)}33%{transform:translate(-22vw,-18vh)}66%{transform:translate(-8vw,-36vh)}100%{transform:translate(0,0)}}
.grain{position:absolute;inset:-50%;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(1%,3%)}}
.dust{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.5}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* ---------- kręgi rezonansu (znak strony) ---------- */
.ripples{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}
.rp{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;border:1.5px solid var(--rc,rgba(154,85,48,.55));opacity:0;animation:rp 1.5s var(--ease) forwards}
.rp:nth-child(3n+2){animation-delay:.14s}
.rp:nth-child(3n){animation-delay:.28s}
@keyframes rp{0%{opacity:.9;transform:scale(.2)}100%{opacity:0;transform:scale(var(--rs,7))}}
.progress{position:fixed;left:0;top:0;right:0;height:2px;z-index:80;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-muted),var(--accent));transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* ---------- nawigacja ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:70;display:flex;align-items:center;gap:1.5rem;padding:14px max(24px,calc((100vw - 1180px)/2));color:var(--on-dark);transition:transform .6s var(--ease),color .5s var(--ease)}
.nav::before{content:"";position:absolute;inset:0;background:rgba(242,231,222,.82);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line);opacity:0;transition:opacity .5s var(--ease);z-index:-1}
.nav.solid{color:var(--text)}
.nav.solid::before{opacity:1}
.nav.hide{transform:translateY(-110%)}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none}
.brand-mark{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.4}
.brand-mark .dot{fill:currentColor;stroke:none}
.brand-mark .drop{animation:drop 4.8s var(--ease-io) infinite;animation-delay:-1.1s}
@keyframes drop{0%,20%{transform:translateY(0);opacity:1}45%{transform:translateY(14px);opacity:1}46%,60%{opacity:0;transform:translateY(14px)}61%,100%{opacity:1;transform:translateY(0)}}
.brand-word{font:italic 500 1.7rem/1 var(--display);letter-spacing:.01em}
.nav-links{display:flex;gap:1.6rem;list-style:none;margin:0 0 0 auto;padding:0}
.nav-links a{text-decoration:none;font-size:.95rem;position:relative;padding:.3rem 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:0 50%}
.nav-cta{margin-left:.4rem}
.nav:not(.solid) .nav-cta{background:rgba(255,248,242,.1);border-color:rgba(255,248,242,.55);color:var(--on-dark);backdrop-filter:blur(6px)}
.nav:not(.solid) .nav-cta:hover{background:rgba(255,248,242,.2)}
.nav-toggle{display:none;margin-left:auto;width:48px;height:48px;border:0;background:none;color:inherit;cursor:pointer;position:relative}
.nav-toggle i{position:absolute;left:13px;right:13px;height:1.5px;background:currentColor;transition:transform .45s var(--ease)}
.nav-toggle i:first-of-type{top:19px}.nav-toggle i:last-of-type{top:28px}
.nav-toggle[aria-expanded="true"] i:first-of-type{transform:translateY(4.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] i:last-of-type{transform:translateY(-4.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:65;background:var(--canvas);display:flex;flex-direction:column;justify-content:center;gap:1.1rem;padding:90px 28px 40px}
.mobile-menu[hidden]{display:none}
.mobile-menu a{font:500 2.3rem/1.1 var(--display);text-decoration:none;opacity:0;transform:translateY(16px);animation:mm-in .6s var(--ease) forwards}
.mobile-menu a:nth-child(2){animation-delay:.05s}.mobile-menu a:nth-child(3){animation-delay:.1s}.mobile-menu a:nth-child(4){animation-delay:.15s}.mobile-menu a:nth-child(5){animation-delay:.2s}.mobile-menu a:nth-child(6){animation-delay:.25s}
.mobile-menu .btn{font:500 1rem/1 var(--body);margin-top:1rem;align-self:flex-start}
@keyframes mm-in{to{opacity:1;transform:none}}
@media (max-width:980px){.nav-links,.nav-cta{display:none}.nav-toggle{display:block}}

/* =========================================================
   HERO
   ========================================================= */
.hero{height:520vh;background:var(--grotto)}
.stage{position:sticky;top:0;height:100vh;overflow:hidden;color:var(--on-dark)}
.stage-media{position:absolute;inset:0}
.poster{position:absolute;inset:0;background:var(--grotto) center/cover no-repeat}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s var(--ease);will-change:transform;transform:translateZ(0)}
.stage.video-ready .hero-video{opacity:1}
.stage.video-failed .hero-video{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(24,13,7,0) 38%,rgba(24,13,7,.58) 100%),linear-gradient(180deg,rgba(24,13,7,.35),rgba(24,13,7,0) 22%)}

.band{position:absolute;opacity:0;text-shadow:var(--tshadow);--k:0;isolation:isolate}
.band::before{content:"";position:absolute;inset:-46% -30%;z-index:-1;pointer-events:none;opacity:calc(.3 + .7*var(--k,1));background:radial-gradient(closest-side,rgba(20,11,6,.78) 0%,rgba(20,11,6,.64) 58%,rgba(20,11,6,.3) 84%,rgba(20,11,6,0) 100%)}
.band h1,.band .lede,.band .big,.band .settle-h{width:fit-content;max-width:100%}
.band-2>*{margin-left:auto}
.band-3 .settle-h{margin-inline:auto}
.band .btn{text-shadow:none}
.band h1,.static-copy h1{font-size:clamp(2.6rem,5vw,4.9rem);font-weight:500}
.band h1 em,.static-copy h1 em{display:block;color:#FFE3C8}
.band .lede,.static-copy .lede{font-size:clamp(1.02rem,1.25vw,1.2rem);max-width:40ch;margin-top:1.3rem;color:#F7E9DD}
.kicker{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.4rem}
.chip{background:rgba(24,13,7,.64);border:1px solid rgba(222,172,129,.35);border-radius:999px;padding:.5rem .9rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-shadow:0 1px 3px rgba(20,11,6,.85)}

.band-1{left:max(24px,6vw);top:13vh;width:min(46vw,640px)}
.band-1 h1{font-size:clamp(2.5rem,4.6vw,4.6rem)}
.band-1::before{inset:-40% -30% -62%}
.band-1 .lede{max-width:36ch}
.band-2{right:max(24px,6vw);top:14vh;width:min(50vw,720px);text-align:right}
.band-2 .big{font:500 clamp(2.4rem,4.4vw,4.4rem)/1.05 var(--display)}
.band-2 .soft{margin-top:.6rem;color:#FFE3C8}
.band-3{left:50%;top:10vh;width:min(76vw,900px);margin-left:max(-38vw,-450px);text-align:center}
.band-3::before{inset:-42% -20% -44%}
.settle-h{font-size:clamp(2.6rem,5.2vw,5.2rem)}
.settle-h em{display:block;color:#FFE3C8}
.band-3 .lede{margin:1.2rem auto 0;max-width:46ch}
.settle-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.band-3 .settle-cta{justify-content:center}

/* rozbite teksty */
.split .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block}
/* pasmo 1: słowa opadają z kroplą */
.band-1 .w{--kc:clamp(0,(var(--k) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-28px))}
.band-1 .lede,.band-1 .kicker{--kl:clamp(0,(var(--k) - .42)*2.6,1);opacity:var(--kl);transform:translateY(calc((1 - var(--kl))*14px))}
.band-1 .kicker{--kl:clamp(0,var(--k)*3,1)}
/* pasmo 2: litery rozchodzą się od środka jak kręgi */
.band-2 .c{--kc:clamp(0,(var(--k) - var(--th,0))*3,1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--dx,0em))) scale(calc(.55 + .45*var(--kc)))}
/* pasmo 3: słowa wznoszą się, potem podtytuł, potem przyciski */
.band-3 .w{--kc:clamp(0,(var(--k) - var(--th,0))*3.2,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*30px))}
.band-3 .settle-sub{--ks:clamp(0,(var(--k) - .6)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px))}
.band-3 .settle-cta{--kb:clamp(0,(var(--k) - .74)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}

.ring{position:absolute;right:28px;bottom:28px;width:44px;height:44px;color:var(--accent-muted);transform:rotate(-90deg);transition:opacity .6s var(--ease)}
.ring circle{transition:stroke-dashoffset .3s linear}
.stage.video-ready .ring{opacity:0}
.cue{position:absolute;left:50%;bottom:26px;margin-left:-40px;width:80px;display:flex;flex-direction:column;align-items:center;gap:.5rem;font:500 .68rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-2);transition:opacity .6s var(--ease)}
.cue i{width:1px;height:38px;background:linear-gradient(var(--on-dark-2),transparent);transform-origin:50% 0;animation:cue 2.4s var(--ease-io) infinite;animation-delay:-.6s}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero.scrolled .cue{opacity:0}
.static-copy{display:none}

/* telefony i tablety w pionie: kadr pionowy, teksty na dole na brązie misy */
@media (orientation:portrait){
  .hero{height:520vh}
  .band-1,.band-2,.band-3{left:22px;right:22px;width:auto;margin-left:0;top:auto;bottom:9vh;bottom:calc(9vh + (100lvh - 100svh));text-align:left}
  .band-1::before,.band-2::before{inset:-40% -30% -20%;background:radial-gradient(ellipse 80% 60% at 40% 60%,rgba(22,12,6,.66) 0%,rgba(22,12,6,.4) 50%,rgba(22,12,6,0) 80%)}
  .band-3::before{inset:-70% -22px -30vh;background:linear-gradient(180deg,rgba(20,11,6,0),rgba(20,11,6,.72) 30%,rgba(20,11,6,.84) 60%,rgba(20,11,6,.86))}
  .band-3 .settle-cta{justify-content:flex-start}
  .band-3 .lede{margin-left:0}
  .band h1{font-size:clamp(2.3rem,9.6vw,3.6rem)}
  .band-2 .big{font-size:clamp(2.2rem,9.4vw,3.4rem)}
  .settle-h{font-size:clamp(2.3rem,10vw,3.8rem)}
  .kicker{font-size:.64rem;letter-spacing:.14em}
  .ring{right:20px;bottom:20px;bottom:calc(20px + (100lvh - 100svh))}
  .cue{display:none}
}

/* statyczne hero: reduced motion albo telefon w poziomie (bramki identyczne w JS) */
@media (prefers-reduced-motion:reduce), (orientation:landscape) and (pointer:coarse) and (max-height:560px){
  .hero{height:auto}
  .stage{position:relative;height:auto;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end}
  .poster{background-image:url("img/hero-ending.jpg")}
  .hero-video,.band,.ring,.cue{display:none}
  .static-copy{display:block;position:relative;isolation:isolate;padding:120px max(24px,6vw) 12vh;max-width:860px;text-shadow:var(--tshadow)}
  .static-copy::before{content:"";position:absolute;inset:-10% -30% -10% -20%;z-index:-1;background:radial-gradient(ellipse 70% 62% at 40% 60%,rgba(22,12,6,.7),rgba(22,12,6,0) 76%)}
  .static-copy .btn{text-shadow:none}
}
@media (prefers-reduced-motion:reduce) and (orientation:portrait){
  .poster{background-image:url("img/hero-ending-mobile.jpg")}
}

/* =========================================================
   SEKCJE
   ========================================================= */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
.reveal.done{transition-delay:0s!important}
.btn.reveal.in{transform:translate(var(--mx),var(--my))}

/* pasek zaufania */
.trust{padding:0;background:var(--canvas)}
.trust-row{width:var(--wrap);margin:0 auto;padding:44px 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-bottom:1px solid var(--line)}
.trust-row li{display:flex;flex-direction:column;gap:.35rem;padding-left:18px;border-left:1px solid var(--line)}
.trust-row b{font:500 2.5rem/1 var(--display);color:var(--text)}
.trust-row b .plus{color:var(--accent)}
.trust-row li>span{color:var(--text-2);font-size:.95rem;line-height:1.4}
.count{font-variant-numeric:tabular-nums}
@media (max-width:820px){.trust-row{grid-template-columns:1fr 1fr;row-gap:30px}.trust-row b{font-size:1.9rem;white-space:nowrap}}

/* dla kogo */
.who{padding:140px 0 120px;overflow:hidden}
.who-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.who-fig{position:relative;margin:0 4vw 0 0;width:min(340px,30vw);aspect-ratio:3/4}
.who-fig img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:999px 999px 24px 24px}
.who-rings{position:absolute;left:50%;top:44%;width:190%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);fill:none;stroke:var(--accent-muted);stroke-width:.8;pointer-events:none}
.who-rings circle{transform-box:fill-box;transform-origin:center;animation:ring-out 7.5s var(--ease-io) infinite}
.who-rings circle:nth-child(2){animation-delay:-2.5s}.who-rings circle:nth-child(3){animation-delay:-5s}
@keyframes ring-out{0%{opacity:0;transform:scale(.7)}30%{opacity:.9}100%{opacity:0;transform:scale(1.15)}}
@media (max-width:760px){.who-top{grid-template-columns:1fr}.who-fig{width:min(300px,70vw);margin:2.4rem auto 0}}
.who-h{font-size:clamp(2.6rem,6vw,5.4rem);max-width:15ch}
.roller{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-top:1.6rem;font:italic 400 clamp(1.8rem,3.6vw,3rem)/1.1 var(--display);color:var(--text-2)}
.roller-win{display:inline-block;height:1.2em;overflow:hidden;vertical-align:bottom;padding:0 .1em;margin:-.05em 0;color:var(--accent)}
.roller-track{display:flex;flex-direction:column;transition:transform .9s var(--ease)}
.roller-track span{height:1.2em;line-height:1.2em;white-space:nowrap}
.roller-track.jump{transition:none}
.who-list{list-style:none;padding:0;margin:3.4rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:18px 48px;max-width:980px}
.who-list li{display:flex;gap:1rem;align-items:baseline;font-size:1.18rem;line-height:1.5;padding:1.1rem 0;border-top:1px solid var(--line)}
.wave-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--accent);position:relative;top:-1px;box-shadow:0 0 0 0 rgba(154,85,48,.35);animation:pulse 4.6s var(--ease-io) infinite}
.who-list li:nth-child(2) .wave-dot{animation-delay:-1.1s}.who-list li:nth-child(3) .wave-dot{animation-delay:-2.2s}.who-list li:nth-child(4) .wave-dot{animation-delay:-3.3s}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(154,85,48,.35)}60%{box-shadow:0 0 0 14px rgba(154,85,48,0)}100%{box-shadow:0 0 0 0 rgba(154,85,48,0)}}
.who-quote{margin:4.5rem 0 0 auto;max-width:640px;padding-left:2rem;border-left:2px solid var(--accent-muted)}
.who-quote blockquote{margin:0;font:italic 400 clamp(1.7rem,2.8vw,2.4rem)/1.2 var(--display)}
.who-quote figcaption{margin-top:1rem;font:500 .76rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-2)}
@media (max-width:760px){.who{padding:100px 0 90px}.who-list{grid-template-columns:1fr}.who-quote{margin-top:3rem;padding-left:1.3rem}}
.rings-divider{width:100%;height:120px;margin-top:90px;fill:none;stroke:var(--accent-muted);stroke-width:1.2}
.draw ellipse{stroke-dasharray:3600;stroke-dashoffset:3600;transition:stroke-dashoffset 2.6s var(--ease)}
.draw ellipse:nth-child(2){transition-delay:.25s}.draw ellipse:nth-child(3){transition-delay:.5s}
.draw.in ellipse{stroke-dashoffset:0}

/* praktyki: misa */
.practices{overflow:hidden;padding:110px 0 140px;background:linear-gradient(180deg,transparent,rgba(233,216,203,.7) 18%,rgba(233,216,203,.7) 82%,transparent)}
.practices h2{text-align:center}
.practices .label{justify-content:center}
.practices .label::after{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.bowl-zone{display:flex;flex-direction:column;align-items:center;margin:2.4rem auto 3rem}
.bowl{position:relative;isolation:isolate;width:min(840px,128vw);aspect-ratio:1400/542;border:0;background:none;padding:0;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .5s var(--ease)}
.bowl::before{content:"";position:absolute;left:20%;right:20%;bottom:-5%;height:20%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(43,28,20,.3),transparent 70%);z-index:-1}
.bowl-img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 50% 56% at 50% 48%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 50% 56% at 50% 48%,#000 70%,transparent 100%)}
.bowl-over{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.bowl:hover{transform:translateY(-4px)}
.bowl.holding{transform:scale(.985)}
.bowl-glow{opacity:calc(var(--h,0)*.9);transition:opacity .3s linear}
.bowl.lit .bowl-glow{animation:glow-breathe 6s var(--ease-io) infinite;animation-delay:-2s}
@keyframes glow-breathe{0%,100%{opacity:.12}50%{opacity:.4}}
.bowl-rings ellipse{transform-box:fill-box;transform-origin:center;animation:bring 2.6s var(--ease) forwards}
@keyframes bring{0%{opacity:.95;transform:scale(.04)}100%{opacity:0;transform:scale(1)}}
.hold-ring{position:absolute;left:50%;top:33%;width:84px;height:84px;margin:-42px 0 0 -42px;transform:rotate(-90deg);pointer-events:none;opacity:0;transition:opacity .4s var(--ease)}
.hold-ring circle{fill:none;stroke-width:3;stroke:rgba(255,240,226,.25)}
.hold-ring .hold-fill{stroke:#FFF1E3;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--h,0)*100);stroke-linecap:round}
.bowl.holding .hold-ring{opacity:1}
.bowl-tools{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;margin-top:1.4rem}
.bowl-tools button{border:0;background:none;color:var(--text-2);font:500 .74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:.8rem .4rem;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:5px}
.bowl-tools button:hover{color:var(--accent)}
.sound-toggle .off{display:none}.sound-toggle[aria-pressed="false"] .on{display:none}.sound-toggle[aria-pressed="false"] .off{display:inline}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;counter-reset:c}
/* karty praktyk: czytelne od razu, fala misy je ożywia (kolor, poświata) */
.card{position:relative;isolation:isolate;background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .7s var(--ease),border-color .5s var(--ease);transition-delay:calc(var(--i,0)*130ms)}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:2;pointer-events:none;box-shadow:0 0 0 1px rgba(222,172,129,.9),0 22px 60px -22px rgba(154,85,48,.5);opacity:0;transition:opacity 1s var(--ease);transition-delay:inherit}
.cards.lit .card::before{opacity:1}
.cards.lit .card{transform:translateY(-4px)}
.cards.done .card,.cards.done .card::before,.cards.done .card-img::before,.cards.done .card-img::after,.cards.done .card-img img,.cards.done .glyph{transition-delay:0s}
.card:hover{transform:translateY(-8px)}
.card-img{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--canvas-2)}
.card-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1.6s var(--ease);transition-delay:inherit}
.card-img::after{content:"";position:absolute;inset:0;background:#CDBBAE;mix-blend-mode:color;opacity:.92;transition:opacity 1.2s var(--ease);transition-delay:inherit}
.card-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(242,231,222,.35),rgba(242,231,222,.15));transition:opacity 1.2s var(--ease);transition-delay:inherit}
.card,.card-img,.card-img img{transition-delay:calc(var(--i,0)*130ms)}
.cards.lit .card-img img{transform:scale(1)}
.cards.lit .card-img::after,.cards.lit .card-img::before{opacity:0}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:22px 24px 26px}
.card .glyph{width:40px;height:40px;fill:none;stroke:var(--text-2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin:-46px 0 12px;position:relative;z-index:3;background:var(--panel);border-radius:50%;padding:7px;box-shadow:0 0 0 1px var(--line);transition:stroke .8s var(--ease);transition-delay:calc(var(--i,0)*130ms)}
.cards.lit .glyph{stroke:var(--accent)}
.card h3{font-size:1.7rem;margin-bottom:.5rem}
.card p{color:var(--text-2);font-size:1rem;line-height:1.55}
.card::after{counter-increment:c;content:"0" counter(c);position:absolute;top:14px;right:14px;z-index:3;font:500 .7rem/1 var(--mono);letter-spacing:.16em;color:var(--text);background:rgba(250,243,238,.85);border-radius:999px;padding:.45rem .6rem}
/* podpowiedź na misie */
.pr-hint{display:inline-flex;align-items:center;gap:.7rem;margin:1.2rem auto 0;padding:.65rem 1.2rem .65rem .9rem;border-radius:999px;background:var(--panel);border:1px solid var(--accent-muted);font:italic 400 1.35rem/1.2 var(--display);color:var(--text)}
.pr-hint em{color:var(--accent)}
.pr-hint svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:press 2.4s var(--ease-io) infinite;animation-delay:-.4s}
@keyframes press{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(3px) scale(.92)}60%{transform:translateY(3px) scale(.92)}}
.practices .wrap{text-align:center}
.practices .cards,.practices .cards-note{text-align:left}
.practices .cards-note{text-align:center}
.bowl-cue{position:absolute;left:50%;top:33%;width:0;height:0;pointer-events:none;transition:opacity .5s var(--ease)}
.bowl-cue i{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,241,226,.95);animation:cue-ring 2.4s var(--ease) infinite}
.bowl-cue i:nth-child(2){animation-delay:.8s}.bowl-cue i:nth-child(3){animation-delay:1.6s}
@keyframes cue-ring{0%{transform:scale(.3);opacity:0}15%{opacity:1}100%{transform:scale(2.6,.9);opacity:0}}
.bowl-cue b{position:absolute;left:50%;top:34px;transform:translateX(-50%);white-space:nowrap;font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#FFF6EE;background:rgba(35,23,15,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:999px;padding:.55rem .85rem}
@media (pointer:coarse){.bowl-cue b{font-size:0}.bowl-cue b::after{content:attr(data-touch);font-size:.72rem}}
.bowl.holding .bowl-cue,.bowl.lit .bowl-cue,.bowl.rim .bowl-cue{opacity:0}
.hint-touch{display:none}
@media (pointer:coarse){.hint-fine{display:none}.hint-touch{display:inline}}
/* pałeczka przy brzegu misy */
.mallet{opacity:0;transition:opacity .35s var(--ease)}
.bowl.rim .mallet{opacity:1}
.mallet-glow{opacity:calc(var(--h,0)*1)}
.bowl-img{will-change:transform}
.bowl-sound{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#FFF6EE;background:var(--accent);border-radius:999px;padding:.6rem .95rem;opacity:0;transition:opacity .4s var(--ease)}
.bowl.need-click .bowl-sound{opacity:1}
/* telefon: praktyki jako karuzela do przesuwania palcem */
@media (max-width:640px){
  .pr-hint{font-size:1.1rem;padding:.6rem 1rem .6rem .8rem;text-align:left}
  .bowl-zone{margin:1.6rem auto 2rem}
  .cards{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -24px;padding:6px 24px 18px;scrollbar-width:none;overscroll-behavior-x:contain}
  .cards::-webkit-scrollbar{display:none}
  .card{flex:0 0 78vw;scroll-snap-align:center}
  .cards-note{margin-top:1.4rem}
}
.cards-note{text-align:center;margin:2.4rem auto 0;max-width:52ch;color:var(--text-2)}

/* o mnie */
.about{padding:120px 0}
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:72px}
.about-media{position:sticky;top:12vh;height:76vh;align-self:start}
.stack{position:relative;height:calc(100% - 34px);border-radius:28px 28px 180px 180px;overflow:hidden;background:var(--canvas-2)}
.stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.1s var(--ease),transform 1.6s var(--ease)}
.stack img.is-on{opacity:1;transform:scale(1)}
.stack-cap{margin-top:12px;color:var(--text-2)}
.chapter{min-height:64vh;display:flex;flex-direction:column;justify-content:center;opacity:.25;transition:opacity .8s var(--ease)}
.chapter.on{opacity:1}
.chapter h3{font-size:clamp(2.1rem,3.6vw,3.2rem);font-weight:500;margin-bottom:1.2rem;max-width:16ch}
.chapter p{font-size:1.14rem;max-width:44ch;color:var(--text-2)}
.chapter-img{display:none}
.about-quote{position:relative;margin:4rem 0 0;padding:3rem 0}
.about-quote blockquote{position:relative;margin:0;font:italic 400 clamp(1.8rem,2.9vw,2.6rem)/1.22 var(--display);max-width:22ch}
.quote-glow{position:absolute;left:-60px;top:-30px;width:260px;height:260px;fill:rgba(222,172,129,.45);filter:blur(30px);animation:breathe 7s var(--ease-io) infinite;animation-delay:-2s}
@keyframes breathe{0%,100%{transform:scale(.85);opacity:.6}50%{transform:scale(1.1);opacity:1}}
@media (max-width:900px){
  .about-grid{grid-template-columns:1fr;gap:0}
  .about-media{display:none}
  .chapter{min-height:0;opacity:1;padding:1.6rem 0 2.4rem}
  .chapter-img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px 22px 120px 120px;margin-top:1.6rem}
}

/* jak wygląda sesja */
.session{padding:110px 0 130px}
.steps-wrap{position:relative;margin-top:3.4rem}
.steps-line{position:absolute;left:0;right:0;top:-26px;width:100%;height:40px;fill:none;stroke:var(--accent-muted);stroke-width:2;stroke-linecap:round}
.steps-line path{stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--sp,0)*100)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step figure{margin:0 0 1.2rem;aspect-ratio:4/5;border-radius:999px 999px 20px 20px;overflow:hidden;background:var(--canvas-2)}
.step img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);opacity:.35;filter:saturate(.6);transition:transform 1.4s var(--ease),opacity 1s var(--ease),filter 1s var(--ease)}
.step.on img{transform:scale(1);opacity:1;filter:none}
.step .mono{color:var(--accent)}
.step h3{margin:.5rem 0 .5rem;font-size:1.6rem}
.step p{color:var(--text-2);font-size:1rem}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:40px}.steps-line{display:none}}
@media (max-width:520px){.steps{grid-template-columns:1fr}.step figure{aspect-ratio:5/4;border-radius:200px 200px 18px 18px}}

/* formy pracy */
.forms-of-work{padding:120px 0}
.fw-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:64px;align-items:start}
.fw-items{list-style:none;margin:2.4rem 0 0;padding:0}
.fw-item{width:100%;display:grid;grid-template-columns:48px 1fr;column-gap:10px;row-gap:0;align-items:baseline;text-align:left;border:0;border-top:1px solid var(--line);background:none;color:inherit;padding:1.15rem 0;cursor:pointer;font:inherit;position:relative}
.fw-item::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--ease)}
.fw-item.is-on::before{transform:scaleX(1)}
.fw-item .mono{color:var(--text-2)}
.fw-item strong{font:500 clamp(1.7rem,2.6vw,2.3rem)/1.1 var(--display);transition:transform .6s var(--ease),color .4s var(--ease)}
.fw-item:hover strong,.fw-item.is-on strong{transform:translateX(8px);color:var(--accent)}
.fw-desc{grid-column:2;color:var(--text-2);display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s var(--ease),opacity .6s var(--ease),margin .6s var(--ease)}
.fw-item.is-on .fw-desc{grid-template-rows:1fr;opacity:1;margin-top:.4rem}
.fw-media{position:sticky;top:14vh;aspect-ratio:4/5;border-radius:220px 220px 26px 26px;overflow:hidden;background:var(--canvas-2)}
.fw-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity .9s var(--ease),transform 1.4s var(--ease)}
.fw-media img.is-on{opacity:1;transform:scale(1)}
.fw-rings{position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;fill:none;stroke:rgba(255,241,227,.7);stroke-width:1;animation:spin 60s linear infinite;animation-delay:-12s}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:900px){.fw-grid{grid-template-columns:1fr;gap:28px}.fw-media{position:relative;top:0;order:-1;max-width:460px;width:100%;margin:0 auto}}

/* dla firm (grota) */
.corporate{padding:140px 0;background:var(--grotto);color:var(--on-dark);overflow:hidden}
.corp-bg{position:absolute;inset:0;opacity:.18}
.corp-bg img{width:100%;height:100%;object-fit:cover;filter:blur(18px) saturate(.8);transform:scale(1.2)}
.corporate::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 20% 50%,rgba(35,23,15,.2),var(--grotto) 80%);pointer-events:none}
.corp-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.corporate .label{color:var(--accent-muted)}
.corporate h2 em{color:var(--accent-muted)}
.corp-lede{margin-top:1.4rem;font-size:1.2rem;color:var(--on-dark-2);max-width:40ch}
.proof{list-style:none;padding:0;margin:2.4rem 0 2.6rem}
.proof li{padding:1rem 0 1rem 2.2rem;border-top:1px solid rgba(246,236,228,.14);position:relative}
.proof li::before{content:"";position:absolute;left:0;top:1.55rem;width:14px;height:14px;border-radius:50%;border:1.5px solid var(--accent-muted)}
.proof li::after{content:"";position:absolute;left:5px;top:calc(1.55rem + 5px);width:4px;height:4px;border-radius:50%;background:var(--accent-muted)}
.corporate .btn{background:var(--accent-muted);border-color:var(--accent-muted);color:var(--grotto)}
.corporate .btn:hover{background:#F0C39C;border-color:#F0C39C}
.corp-photos{position:relative;height:640px}
.cp{position:absolute;margin:0;overflow:hidden;border-radius:18px;box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}
.cp img{width:100%;height:100%;object-fit:cover}
.cp-1{left:0;top:40px;width:46%;height:62%;border-radius:200px 200px 18px 18px;transform:translateY(calc(var(--py,0)*-40px))}
.cp-2{right:0;top:0;width:48%;height:52%;transform:translateY(calc(var(--py,0)*30px))}
.cp-3{right:12%;bottom:0;width:50%;height:40%;border-radius:18px 18px 160px 160px;transform:translateY(calc(var(--py,0)*-20px))}
.cp.reveal{transition:opacity 1s var(--ease)}
.cp.reveal:not(.in){transform:translateY(40px)}
@media (max-width:900px){.corporate{padding:100px 0}.corp-grid{grid-template-columns:1fr}.corp-photos{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.cp{position:relative;inset:auto;width:auto;height:auto;aspect-ratio:4/5;transform:none!important}.cp-3{grid-column:1 / -1;aspect-ratio:16/10}}

/* galeria w ruchu */
.motion-gallery{padding:130px 0 110px}
.mg-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mg{margin:0;position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--canvas-2)}
.mg:nth-child(3n+2){transform:translateY(46px)}
.mg.reveal:nth-child(3n+2):not(.in){transform:translateY(80px)}
.mg video{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s var(--ease)}
.mg:hover video{transform:scale(1.07)}
.mg figcaption{position:absolute;left:14px;bottom:14px;font:500 .7rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#FFF6EE;background:rgba(35,23,15,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:.55rem .8rem}
@media (max-width:760px){.mg-grid{grid-template-columns:1fr 1fr;gap:12px}.mg:nth-child(3n+2){transform:none}.mg:nth-child(2n){transform:translateY(34px)}.mg.reveal:nth-child(2n):not(.in){transform:translateY(70px)}}

/* opinie */
.reviews{padding:110px 0 120px;background:linear-gradient(180deg,transparent,rgba(233,216,203,.75) 25%,rgba(233,216,203,.75) 75%,transparent)}
.rv-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:3rem max(24px,calc((100vw - 1180px)/2)) 1.6rem;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain}
.rv-track::-webkit-scrollbar{display:none}
.rv-track.dragging{cursor:grabbing;scroll-snap-type:none}
.rv{flex:0 0 min(420px,82vw);scroll-snap-align:center;margin:0;background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:34px 32px;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.rv:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 24px 60px -30px rgba(90,48,20,.35)}
.rv blockquote{margin:0;font:italic 400 1.75rem/1.22 var(--display)}
.rv figcaption{margin-top:1.6rem;font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2)}
.stars{color:var(--accent);letter-spacing:.2em;margin-bottom:.9rem}
.rv-dots{display:flex;gap:8px;justify-content:center}
.rv-dots i{width:8px;height:8px;border-radius:50%;background:var(--line-strong);opacity:.35;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.rv-dots i.on{opacity:1;transform:scale(1.3);background:var(--accent)}

/* faq */
.faq{padding:120px 0}
.faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px;align-items:start}
.faq-img{margin-top:2.4rem;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px 24px 200px 200px}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 0;font:500 clamp(1.4rem,2vw,1.8rem)/1.2 var(--display)}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);position:relative;transition:transform .5s var(--ease),background-color .4s var(--ease)}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;margin:-.75px 0 0 -5.5px;background:var(--text);transition:transform .5s var(--ease)}
.qa summary i::after{transform:rotate(90deg)}
.qa[open] summary i{transform:rotate(180deg);background:var(--accent-muted)}
.qa[open] summary i::after{transform:rotate(0)}
.qa summary:hover{color:var(--accent)}
.qa-a{color:var(--text-2);padding:0 3rem 1.5rem 0;max-width:60ch;animation:qa-in .6s var(--ease)}
@keyframes qa-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:28px}.faq-img{display:none}.qa-a{padding-right:0}}

/* oddech + newsletter */
.breath{padding:140px 0;background:var(--grotto);color:var(--on-dark);overflow:hidden}
.breath::before{content:"";position:absolute;left:50%;top:50%;width:120vmax;height:120vmax;margin:-60vmax 0 0 -60vmax;background:radial-gradient(circle,rgba(233,165,107,.16),transparent 55%);pointer-events:none}
.breath .label{color:var(--accent-muted)}
.breath h2 em{color:var(--accent-muted)}
.breath-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.breath-play{display:flex;flex-direction:column;align-items:flex-start}
.breather{position:relative;width:min(340px,78vw);aspect-ratio:1;margin:2.2rem 0 1.6rem}
.breather svg{width:100%;height:100%;overflow:visible}
.breather circle{transform-box:fill-box;transform-origin:center}
.b-halo{fill:rgba(233,165,107,.08)}
.b-ring{fill:none;stroke:rgba(222,172,129,.35);stroke-width:1}
.b-core{fill:rgba(233,165,107,.9);filter:drop-shadow(0 0 40px rgba(233,165,107,.6))}
.breather .b-core,.breather .b-ring,.breather .b-halo{transition:transform var(--bt,4s) var(--ease-io),opacity var(--bt,4s) var(--ease-io)}
.breather[data-state="idle"] .b-core{animation:idle 6s var(--ease-io) infinite;animation-delay:-2s}
@keyframes idle{0%,100%{transform:scale(.72)}50%{transform:scale(.8)}}
.breather[data-state="in"] .b-core,.breather[data-state="hold"] .b-core{transform:scale(1.28)}
.breather[data-state="in"] .r2,.breather[data-state="hold"] .r2{transform:scale(1.18)}
.breather[data-state="in"] .r3,.breather[data-state="hold"] .r3{transform:scale(1.14);stroke:rgba(222,172,129,.6)}
.breather[data-state="in"] .b-halo,.breather[data-state="hold"] .b-halo{transform:scale(1.08)}
.breather[data-state="out"] .b-core{transform:scale(.62)}
.breather[data-state="out"] .r2,.breather[data-state="out"] .r3{transform:scale(.9)}
.breather[data-state="done"] .b-core{transform:scale(.9)}
.b-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:italic 500 2rem/1 var(--display);color:var(--grotto);pointer-events:none}
.b-count{position:absolute;left:0;right:0;bottom:-6px;text-align:center;color:var(--on-dark-2)}
.breath .btn-ghost{color:var(--on-dark)}
.nl{background:rgba(246,236,228,.05);border:1px solid rgba(246,236,228,.12);border-radius:28px;padding:40px 36px;backdrop-filter:blur(6px)}
.nl-after{font:500 clamp(1.8rem,2.8vw,2.4rem)/1.15 var(--display)}
.nl-after em{color:var(--accent-muted)}
.nl-lede{margin-top:1rem;color:var(--on-dark-2)}
.nl-form{margin-top:1.8rem;display:grid;gap:14px}
.nl .field span{color:var(--on-dark-2)}
.nl .field input{background:rgba(246,236,228,.06);border-color:rgba(246,236,228,.4);color:var(--on-dark)}
.nl .field input::placeholder{color:rgba(246,236,228,.4)}
.nl .btn{background:var(--accent-muted);border-color:var(--accent-muted);color:var(--grotto);justify-self:start}
.nl .btn:hover{background:#F0C39C;border-color:#F0C39C}
.nl .form-note{color:var(--on-dark-2)}
.nl.glow-on{box-shadow:0 0 0 1px rgba(222,172,129,.5),0 30px 90px -30px rgba(233,165,107,.45);transition:box-shadow 1.2s var(--ease)}
@media (max-width:900px){.breath{padding:100px 0}.breath-grid{grid-template-columns:1fr;gap:40px}.breath-play{align-items:center;text-align:center}.breath .label{justify-content:center}.breather{margin-inline:auto}.nl{padding:30px 22px}}

/* formularze */
.field{display:grid;gap:.45rem}
.field span{font:500 .74rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.field input,.field textarea{width:100%;font:400 1.05rem/1.4 var(--body);color:var(--text);background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;padding:.95rem 1rem;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(154,85,48,.15)}
.field input[aria-invalid="true"]{border-color:#A2331F}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.form-note{font-size:.86rem;color:var(--text-2)}
.form-msg{min-height:1.4em;font-weight:500}
.form-msg.ok{color:#2F6B3F}
.form-msg.err{color:#A2331F}
.breath .form-msg.ok{color:#B9E0C2}.breath .form-msg.err{color:#FFB8A8}

/* kontakt */
.contact{padding:130px 0 140px}
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:72px;align-items:start}
.ct-copy>p:not(.label){margin-top:1.2rem;font-size:1.2rem;color:var(--text-2)}
.ct-direct{list-style:none;padding:0;margin:2.6rem 0 0}
.ct-direct li{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline;padding:.95rem 0;border-top:1px solid var(--line)}
.ct-direct .mono{color:var(--text-2);font-size:.7rem}
.ct-direct a{text-decoration:none;border-bottom:1px solid var(--accent-muted)}
.ct-direct a:hover{color:var(--accent)}
.ct-form{background:var(--panel);border:1px solid var(--line);border-radius:30px;padding:38px 36px;display:grid;gap:18px;box-shadow:0 40px 90px -50px rgba(90,48,20,.35)}
.chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips legend{font:500 .74rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin-bottom:.8rem;padding:0}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:inline-flex;align-items:center;min-height:44px;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--line-strong);font-size:.95rem;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}
.chips label:hover span{border-color:var(--accent)}
.chips input:checked+span{background:var(--accent);border-color:var(--accent);color:#FFF8F2;transform:scale(1.03)}
.chips input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.ct-form .btn{justify-self:start}
@media (max-width:900px){.contact{padding:100px 0}.contact-grid{grid-template-columns:1fr;gap:40px}.ct-form{padding:28px 20px}}

/* stopka */
.foot{background:var(--grotto);color:var(--on-dark-2);padding:70px 0 54px}
.foot-grid{display:grid;grid-template-columns:1fr auto;gap:28px 40px;align-items:end}
.foot-word{font:italic 500 3.4rem/1 var(--display);color:var(--on-dark)}
.foot-sub{margin-top:.5rem}
.foot-links{list-style:none;margin:0;padding:0;display:flex;gap:1.4rem;flex-wrap:wrap}
.foot-links a{text-decoration:none;border-bottom:1px solid rgba(222,172,129,.4)}
.foot-links a:hover{color:var(--on-dark)}
.foot-note{grid-column:1 / -1;font-size:.86rem;border-top:1px solid rgba(246,236,228,.12);padding-top:22px}
@media (max-width:700px){.foot-grid{grid-template-columns:1fr}}

/* niskie okna desktop: małe nakładki hero znikają */
@media (max-height:560px) and (pointer:fine){.cue,.ring{display:none}}

/* =========================================================
   REDUCED MOTION: wszystko w stanie końcowym
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  .reveal{opacity:1;transform:none}
  .cards .card{opacity:1;transform:none}
  .draw ellipse{stroke-dashoffset:0}
  .steps-line path{stroke-dashoffset:0}
  .step img{transform:none;opacity:1;filter:none}
  .chapter{opacity:1}
  .mg:nth-child(3n+2){transform:translateY(46px)}
  .cp.reveal:not(.in){transform:none}
  .dust,.ripples{display:none}
  .breather .b-core{transform:scale(.9)}
}
@media (prefers-reduced-motion:reduce) and (max-width:760px){.mg:nth-child(3n+2){transform:none}.mg:nth-child(2n){transform:translateY(34px)}}
