/* Amor Beauty Studio — krem jako baza, róż tylko jako akcent. Motyw: łuk i linia rzęs. */
:root{
  --cream:#F6EEE6; --porcelain:#FBF7F2; --sand:#EFE3D6; --powder:#EBD6CF;
  --ink:#3A2A26; --taupe:#76615A; --rose:#C29A93; --rose-deep:#86524D;
  --serif:'Fraunces','Piazzolla',Georgia,'Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --script:'Marck Script','Noto Serif Display',cursive;
  --edge:clamp(1.25rem,5vw,5rem);
  --ease:cubic-bezier(.22,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream) 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='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.23  0 0 0 0 0.16  0 0 0 0 0.15  0 0 0 0.045 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") repeat;background-size:160px;color:var(--ink);font:400 1.0625rem/1.65 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:var(--porcelain);padding:.6rem 1rem;border-radius:99px}
.skip:focus{top:1rem}

/* --- typografia --- */
.display{font-family:var(--serif);font-weight:300;letter-spacing:-.015em;line-height:1.04;text-wrap:balance}
h1.display{font-size:clamp(2.7rem,5.4vw,5.6rem)}
h2.display{font-size:clamp(2.5rem,5vw,4.4rem)}
.kicker{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:var(--rose-deep);font-variant-caps:all-small-caps;letter-spacing:.06em}
.lead{font-size:clamp(1.08rem,1.35vw,1.25rem);max-width:44ch;color:var(--taupe)}
.sec-head{padding:0 var(--edge);margin-bottom:clamp(2rem,4vw,3.5rem);max-width:60rem}
.sec-lead{max-width:52ch;color:var(--taupe);margin-top:1.2rem}
.sub-title{font:300 clamp(1.8rem,3vw,2.6rem)/1.12 var(--serif);letter-spacing:-.01em;margin-bottom:1rem}
.link{display:inline-block;padding-block:.7rem;font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;color:var(--rose-deep);transition:background-size .4s var(--ease)}

/* --- przyciski (wzorzec Uiverse: wypełnienie wjeżdżające od dołu) --- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.1rem;padding:.8rem 1.6rem;border-radius:99px;font:600 1rem/1 var(--sans);text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;border:1px solid var(--ink);transition:color .35s var(--ease),transform .2s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:translateY(101%);transition:transform .45s var(--ease)}
.btn-solid{background:var(--ink);color:var(--porcelain)}
.btn-solid::before{background:var(--rose-deep)}
.btn-line{background:transparent;color:var(--ink)}
.btn-line::before{background:var(--ink)}
.btn-sm{min-height:2.6rem;padding:.55rem 1.2rem;font-size:.92rem}
.btn:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
  .btn:hover::before{transform:translateY(0)}
  .btn-line:hover{color:var(--porcelain)}
  .link:hover{background-size:0 1px;background-position:100% 100%}
}

/* --- nagłówek --- */
.top{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem var(--edge);transition:background .4s,box-shadow .4s,padding .4s}
.top.scrolled{background:rgba(251,247,242,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(58,42,38,.08);padding-block:.6rem}
.brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1}
.brand-mark{display:block;height:2.9rem;width:auto;transition:height .4s}
.top.scrolled .brand-mark{height:2.4rem}
.brand-sub{font:500 .62rem/1 var(--serif);text-transform:uppercase;letter-spacing:.3em;margin-right:-.3em;color:#A07226;margin-top:.2rem}
.nav{display:flex;gap:2rem;align-items:center}
.menu-btn,.nav-book{display:none}
.nav a{text-decoration:none;font-weight:500;font-size:.98rem}
.top-end{display:flex;align-items:center;gap:1rem}
.lang-pick{position:relative}
.lang-pick summary{list-style:none;cursor:pointer;min-width:2.75rem;min-height:2.75rem;display:grid;place-items:center;border-radius:99px;background:var(--powder);font-size:.88rem;font-weight:600}
.lang-pick summary::-webkit-details-marker{display:none}
.lang-pick nav{position:absolute;right:0;top:calc(100% + .4rem);z-index:5;display:flex;flex-direction:column;min-width:10.5rem;padding:.3rem;border-radius:1rem;background:var(--porcelain);box-shadow:0 14px 30px -14px rgba(58,42,38,.4)}
.lang-pick nav a{display:flex;gap:.7rem;align-items:baseline;padding:.65rem .9rem;text-decoration:none;font-weight:500;font-size:.92rem;border-radius:.7rem;color:var(--taupe);white-space:nowrap}
.lang-pick nav a b{min-width:1.6rem;font-weight:600;color:var(--ink)}
.lang-pick summary{transition:background .3s}
.lang-pick[open] summary{background:var(--ink);color:var(--porcelain)}
@media (hover:hover) and (pointer:fine){.lang-pick summary:hover{background:var(--rose)}.lang-pick nav a:hover{background:var(--cream);color:var(--ink)}}
.lang-pick nav a[aria-current]{color:var(--ink);background:var(--powder)}
@media (hover:hover) and (pointer:fine){.nav a:not(.btn):hover{color:var(--rose-deep)}}

/* --- linia rzęs (motyw) --- */
.lashline{fill:none;stroke:var(--rose);stroke-width:1.4;stroke-linecap:round;overflow:visible}
.lashline .hairs{stroke-width:1.2}
.lashline path{stroke-dasharray:1;stroke-dashoffset:0}

/* --- hero --- */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);grid-template-areas:"text media";align-items:center;min-height:0;padding:8rem 0 2.5rem var(--edge);gap:clamp(2rem,4vw,5rem)}
.hero-text{grid-area:text;padding-left:0}
.hero-text .display{max-width:13ch;margin-bottom:1.6rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:2.2rem 0 1.4rem}
.hero-note{font-size:.95rem;color:var(--taupe);margin:0}
.hero-media{grid-area:media;position:relative;justify-self:stretch;width:100%}
.arch{position:relative;aspect-ratio:3/4.3;border-radius:999px 999px 1.25rem 1.25rem;overflow:hidden;background:var(--powder);box-shadow:0 40px 80px -40px rgba(58,42,38,.35)}
.hero-media .arch{aspect-ratio:auto;height:min(calc(100svh - 14.5rem),48vw);min-height:24rem;border-radius:62% 0 0 0/48% 0 0 0;box-shadow:none}
.arch video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.vid-toggle{position:absolute;left:1.2rem;bottom:1.2rem;width:2.75rem;height:2.75rem;border-radius:50%;border:0;background:rgba(251,247,242,.85);cursor:pointer}
.vid-toggle::before,.vid-toggle::after{content:"";position:absolute;top:50%;width:3px;height:12px;background:var(--ink);transform:translateY(-50%)}
.vid-toggle::before{left:calc(50% - 5px)}.vid-toggle::after{left:calc(50% + 2px)}
.vid-toggle[aria-pressed="true"]::before{left:calc(50% - 3px);width:0;height:0;background:none;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent var(--ink)}
.vid-toggle[aria-pressed="true"]::after{display:none}

/* --- pasek zaufania (ruchomy, wzorzec Magic UI Marquee) --- */
.trust{position:relative;overflow:hidden;border-block:1px solid rgba(118,97,90,.18);background:var(--porcelain);padding:1.1rem 0 1.1rem 3.8rem}
.trust.paused .trust-track{animation-play-state:paused}
.trust-toggle{position:absolute;left:.6rem;z-index:1;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(58,42,38,.25);background:var(--porcelain);cursor:pointer}
.trust-toggle::before,.trust-toggle::after{content:"";position:absolute;top:50%;width:2px;height:10px;background:var(--ink);transform:translateY(-50%)}
.trust-toggle::before{left:calc(50% - 4px)}.trust-toggle::after{left:calc(50% + 2px)}
.trust-toggle[aria-pressed="true"]::before{left:calc(50% - 2px);width:0;height:0;background:none;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--ink)}
.trust-toggle[aria-pressed="true"]::after{display:none}
.trust-track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.trust:hover .trust-track{animation-play-state:paused}
.trust-set{display:flex;list-style:none;margin:0;padding:0}
.trust-set li{display:flex;align-items:center;white-space:nowrap;font:300 1.35rem/1 var(--serif);padding-right:3rem}
.trust-set li::after{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--rose);margin-left:3rem}
@keyframes marquee{to{transform:translateX(-50%)}}

/* --- sekcje wspólne --- */
section{position:relative}
.worlds,.prices,.process{padding:clamp(5rem,10vw,9rem) 0}
/* --- trzy światy --- */
.worlds-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto 1fr auto auto;column-gap:clamp(1.5rem,3.5vw,3.5rem);padding:0 var(--edge)}
.world{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;align-content:start}
.world-img{overflow:hidden;margin-bottom:1.6rem;aspect-ratio:4/5;border-radius:1rem}
.arch-sm{border-radius:999px 999px 1rem 1rem}
.world-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.world h3{font:300 clamp(2rem,3vw,2.6rem)/1.1 var(--serif);margin-bottom:.8rem}
.world p{color:var(--taupe);max-width:40ch}
.world-price{font-size:1rem;color:var(--ink)!important;margin-top:.4rem}
.world-price strong{font:400 1.6rem/1 var(--serif);margin-left:.2rem}
.prices-top{margin:1.6rem 0 0}

@media (hover:hover) and (pointer:fine){.world:hover .world-img img{transform:scale(1.05)}}

/* --- prawdziwe efekty: przed/po + filmy + galeria w jednej sekcji --- */
.results{padding:clamp(5rem,9vw,8rem) 0;background:var(--porcelain);overflow:hidden}
.ba{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end;gap:clamp(2rem,5vw,5rem);padding:0 var(--edge)}
.ba-text p{color:var(--taupe);max-width:40ch;margin:0 0 1.8rem}
.ba-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(.75rem,1.5vw,1.25rem)}
.ba-fig{margin:0}
.ba-frame{display:block;aspect-ratio:3/2;border-radius:.9rem;overflow:hidden;background:var(--powder)}
.ba-frame img{width:100%;height:100%;object-fit:cover}
.ba-fig figcaption{margin-top:.8rem;font:300 italic clamp(1.3rem,2vw,1.7rem)/1 var(--serif);color:var(--rose-deep)}
.results .film-row{margin-top:clamp(3.5rem,7vw,6rem)}
.gal-title{padding:0 var(--edge);margin-top:clamp(4rem,8vw,7rem)}

/* --- cennik: karta zabiegów (lista ⅔ + zdjęcie i rezerwacja ⅓) --- */
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 var(--edge);margin-bottom:2.2rem}
.tab{font:600 .98rem/1 var(--sans);padding:.85rem 1.4rem;border-radius:99px;border:1px solid rgba(58,42,38,.25);background:transparent;color:var(--ink);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.tab[aria-selected="true"]{background:var(--ink);color:var(--porcelain);border-color:var(--ink)}
.panels{padding:0 var(--edge)}
.panel{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(2rem,5vw,5.5rem);align-items:start}
.panel+.panel{margin-top:4rem}
.panel-title{font:300 2rem/1.1 var(--serif);margin-bottom:1rem}
.js .panel+.panel{margin-top:0}
.js .panel[hidden]{display:none}
.js .panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cols,.row{display:grid;grid-template-columns:minmax(0,1fr) 7.5rem;column-gap:1.5rem;align-items:baseline}
.panel.has-refill .cols,.panel.has-refill .row{grid-template-columns:minmax(0,1fr) 7.5rem 9.5rem}
.cols{padding-bottom:.9rem;border-bottom:1px solid var(--ink);font-size:.82rem;font-weight:600;color:var(--taupe)}
.cols span:not(:first-child){text-align:right}
.cols .short{display:none}
.rows{list-style:none;margin:0;padding:0}
.guide{margin:0 0 1.8rem;padding:1.2rem 1.4rem;border-radius:1rem;background:var(--porcelain);border:1px solid rgba(118,97,90,.15)}
.guide p{margin:0;color:var(--taupe)}
.guide .guide-title{font:300 1.35rem/1.2 var(--serif);color:var(--ink);margin-bottom:.9rem}
.guide ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.guide li{display:flex;flex-direction:column;gap:.25rem;font-size:.92rem;color:var(--taupe)}
.guide li b{font-weight:600;color:var(--rose-deep)}
.row{padding:1.35rem 0;border-bottom:1px solid rgba(118,97,90,.22)}
.row-main{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.row-name{font:300 clamp(1.3rem,1.8vw,1.6rem)/1.2 var(--serif);overflow-wrap:break-word}
.row-meta{font-size:.92rem;color:var(--taupe)}
.row-price,.row-refill{margin:0;text-align:right;white-space:nowrap}
.row .amt{font:400 1.65rem/1 var(--serif);font-variant-numeric:tabular-nums lining-nums}
.row-refill .amt{color:var(--rose-deep)}
.row-refill.none .amt{color:rgba(118,97,90,.5)}
.row .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.panel-aside{display:flex;flex-direction:column;gap:1.2rem;align-items:flex-start}
.aside-img{width:100%;aspect-ratio:4/5;border-radius:999px 999px 1rem 1rem;overflow:hidden;background:var(--powder)}
.aside-img img{width:100%;height:100%;object-fit:cover}
.aside-note{margin:0;font:300 italic 1.3rem/1.35 var(--serif);color:var(--ink)}
.aside-ask{margin:0;font-size:.95rem;color:var(--taupe)}
.js .panel:not([hidden]) .row{animation:rowin .5s var(--ease) both}
.js .panel .row:nth-child(2){animation-delay:.05s}.js .panel .row:nth-child(3){animation-delay:.1s}.js .panel .row:nth-child(4){animation-delay:.15s}.js .panel .row:nth-child(5){animation-delay:.2s}.js .panel .row:nth-child(6){animation-delay:.25s}.js .panel .row:nth-child(7){animation-delay:.3s}
.js .panel:not([hidden]) .aside-img{animation:asidein .7s var(--ease) both}
@keyframes rowin{from{opacity:0;transform:translateY(10px)}}
@keyframes asidein{from{opacity:0;clip-path:inset(30% 0 0 0)}}

/* --- proces --- */
.process{background:var(--sand)}
.steps-wrap{position:relative;padding:0 var(--edge)}
.steps{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem)}
.steps li{position:relative}
.steps li:not(:last-child)::before{content:"";position:absolute;top:1.8rem;left:4.2rem;right:calc(-1 * clamp(1.5rem,3vw,3rem) + .6rem);height:1px;background:var(--rose);transform-origin:left;transform:scaleX(var(--p,1))}
.step-n{display:grid;position:relative;z-index:1;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;background:var(--porcelain);font:300 italic 1.8rem/1 var(--serif);color:var(--rose-deep);margin-bottom:1.4rem;box-shadow:0 0 0 6px var(--sand)}
.steps h3{font:300 1.7rem/1.15 var(--serif);margin-bottom:.6rem}
.steps p{color:var(--taupe)}

/* --- filmy --- */
.film-row{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);align-items:center;gap:clamp(1rem,2.5vw,2.5rem);padding:0 var(--edge)}
.film{margin:0;border-radius:1.25rem;overflow:hidden;background:var(--powder)}
.film-tall{border-radius:999px 999px 1.25rem 1.25rem;aspect-ratio:478/850}
.film-wide{aspect-ratio:16/9}
.film video{width:100%;height:100%;object-fit:cover}
.films-toggle{margin:2.5rem var(--edge) 0}

/* --- o Romie --- */
.about{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(5rem,9vw,8rem) var(--edge) clamp(2.5rem,5vw,4rem)}
@media (min-width:901px){.about{min-height:calc(100svh + 2px);box-sizing:border-box}}  /* po kliknięciu „O mnie” nie wystaje kolejna sekcja */
.about-photo{margin:0}
.about.nophoto{grid-template-columns:minmax(0,1fr)}
.about.nophoto .about-photo{display:none}
.about.nophoto .about-text{max-width:46rem}
.arch-photo{aspect-ratio:530/560;max-width:34rem;box-shadow:0 40px 80px -45px rgba(58,42,38,.4);background:var(--powder)}
.arch-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.about-text p{max-width:52ch;color:var(--taupe)}
.about-text h2{margin-bottom:1.8rem}
.about-facts{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.about-facts li{padding:.55rem 1rem;border-radius:99px;background:var(--porcelain);border:1px solid rgba(118,97,90,.18);font-size:.92rem;font-weight:500;color:var(--ink)}
.signature{font:400 clamp(3.4rem,6vw,5rem)/1 var(--script);color:var(--rose-deep)!important;margin:1.5rem 0 0;transform:rotate(-4deg);transform-origin:left}

/* --- galeria --- */
.gal-track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.gal-track::-webkit-scrollbar{display:none}
.gal-set{display:flex;list-style:none;margin:0;padding:0}
.gal-set li{flex:0 0 auto;width:clamp(13rem,19vw,18.5rem);margin-right:clamp(.75rem,1.4vw,1.25rem)}
.gal-set img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:.9rem;background:var(--powder)}
.gal-controls{display:flex;gap:.6rem;padding:0 var(--edge);margin-top:1.2rem}
.gal-controls .gal-toggle{position:relative;left:auto;top:auto;transform:none}
.gal-arrow{position:relative;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(58,42,38,.25);background:var(--porcelain);cursor:pointer}
.gal-arrow::before{content:"";position:absolute;top:50%;left:50%;width:.55rem;height:.55rem;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink);transform:translate(-65%,-50%) rotate(45deg)}
.gal-prev::before{transform:translate(-35%,-50%) rotate(-135deg)}

.gal-more{padding:0 var(--edge);margin-top:1rem}

/* --- dobrze wiedzieć (FAQ) --- */
.faq{padding:clamp(5rem,9vw,8rem) 0;background:var(--cream)}
.faq-body{display:grid;grid-template-columns:minmax(0,46rem) minmax(0,30rem);justify-content:space-between;align-items:start;gap:clamp(2rem,5vw,6rem);padding:0 var(--edge)}
.faq-list{min-width:0}
.faq details[open]>p{animation:faq-in .6s var(--ease)}
@keyframes faq-in{from{opacity:0;transform:translateY(-.5rem)}}
.faq-card{position:relative;aspect-ratio:4/5;margin:1rem 3rem 4rem 2rem}
.faq-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:1.1rem;box-shadow:0 14px 30px rgba(58,42,38,.16);transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg));transition:transform .9s var(--ease),opacity .6s}
.faq-ph:nth-of-type(1){--r:-7deg;--x:-6%;--y:3%}
.faq-ph:nth-of-type(2){--r:5deg;--x:5%;--y:-2%}
.faq-ph:nth-of-type(3){--r:-3deg;--x:-2%;--y:-4%}
.faq-ph:nth-of-type(4){--r:8deg;--x:7%;--y:4%}
.faq-ph.on{z-index:2;--r:-2deg;--x:0%;--y:0%}
.faq-tag{position:absolute;z-index:3;left:-1.5rem;bottom:-2rem;max-width:80%;background:var(--powder);color:var(--ink);border-radius:1rem;padding:1.1rem 1.4rem 1.2rem;box-shadow:0 10px 24px rgba(58,42,38,.14);transform:rotate(-2deg)}
.faq-card.swap .faq-tag{animation:faq-pop .7s var(--ease) both}
@keyframes faq-pop{from{opacity:0;transform:rotate(-8deg) scale(.85)}}
.faq-big{margin:0 0 .35rem;font:300 clamp(1.9rem,2.6vw,2.5rem)/1.05 var(--serif)}
.faq-small{margin:0;color:var(--taupe);font-size:.95rem;line-height:1.45}
html:not(.js) .faq-card{display:none}
.faq details{border-bottom:1px solid rgba(118,97,90,.22)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.4rem 0;font:300 clamp(1.25rem,2vw,1.6rem)/1.25 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 auto;width:.7rem;height:.7rem;border-right:1.5px solid var(--rose-deep);border-bottom:1.5px solid var(--rose-deep);transform:rotate(45deg) translateY(-25%);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{margin:0 0 1.4rem;max-width:60ch;color:var(--taupe)}

/* --- kontakt --- */
.contact{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem);padding:clamp(6rem,11vw,10rem) var(--edge);background:var(--porcelain);border-top:1px solid rgba(118,97,90,.15);overflow:hidden}
.contact-lash{position:absolute;left:var(--edge);top:2.5rem;width:min(40vw,26rem)}
.contact-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.contact-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-self:end}
.contact-info h3{font:300 1.6rem/1.1 var(--serif);margin-bottom:1rem}
address{font-style:normal;margin-bottom:.8rem}
.contact-lines{margin-top:1rem;line-height:1.9}
.contact-lines a{text-decoration:none;display:inline-block;padding:.45rem 0}
.socials{display:flex;gap:.8rem}
.socials a{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;border:1px solid rgba(58,42,38,.25);color:var(--ink);transition:background .3s,color .3s}
@media (hover:hover) and (pointer:fine){.socials a:hover{background:var(--ink);color:var(--porcelain)}}
.hours{border-collapse:collapse;width:100%;font-size:.98rem}
.hours th{text-align:left;font-weight:500;padding:.35rem 1rem .35rem 0}
.hours td{text-align:right;color:var(--taupe);white-space:nowrap}

/* --- stopka --- */
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem var(--edge) calc(3.6rem + clamp(1rem,2.5vw,2rem) + 1rem);  /* pod stopką miejsce na pływający WhatsApp */font-size:.88rem;color:var(--taupe);background:var(--cream)}
.foot p{margin:0}
.foot-logo{display:block;flex:0 0 100%;width:100%;height:9.5rem;object-fit:contain;margin-bottom:1rem}
.foot a{text-decoration:none;display:inline-block;padding-block:.7rem}
.credit{font-variant-caps:all-small-caps;letter-spacing:.05em}
.sticky-book{display:none}
.wa-float{position:fixed;right:clamp(1rem,2.5vw,2rem);bottom:clamp(1rem,2.5vw,2rem);z-index:61;display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;background:var(--ink);color:var(--porcelain);box-shadow:0 14px 30px -12px rgba(58,42,38,.55);transition:transform .3s var(--ease),background .3s;animation:wain .6s 1.2s var(--ease) both}
.wa-float svg{width:1.65rem;height:1.65rem;fill:currentColor}
.wa-float:active{transform:scale(.94)}
@keyframes wain{from{opacity:0;transform:translateY(12px) scale(.8)}}
@media (hover:hover) and (pointer:fine){.wa-float:hover{background:var(--rose-deep);transform:translateY(-2px)}}

/* --- strona prywatności --- */
.legal .top{position:static}
.legal-main{max-width:46rem;padding:3rem var(--edge) 5rem}
.legal-main h1{font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:2rem}
.legal-main h2{font:300 1.6rem/1.2 var(--serif);margin:2rem 0 .6rem}
.legal-main p{color:var(--taupe)}

/* --- animacje (tylko z JS; bez JS wszystko widoczne) --- */
.js .reveal-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.js .reveal-words .w>span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--i)*70ms)}
.js .reveal-words.in .w>span{transform:none}
/* tytuły wchodzą cienkie jak naturalna rzęsa i nabierają objętości */
.display{font-variation-settings:"SOFT" 60,"WONK" 0}
.js .reveal-words.display{font-weight:150;transition:font-weight 1.9s var(--ease) .35s}
.js .reveal-words.display.in{font-weight:460}
/* zdjęcia wpięte w tytuły (dodaje script.js) */
.wp{white-space:nowrap}
.pill{display:inline-block;height:.74em;width:0;margin:0;border-radius:99px;overflow:hidden;vertical-align:-.02em;transition:width 1.2s var(--ease) .7s,margin 1.2s var(--ease) .7s;background:var(--powder)}
.pill img{display:block;height:100%;width:2.1em;max-width:none;object-fit:cover}
.reveal-words.in .pill{width:1.75em;margin:0 0 0 .22em}
.pill-stack{display:inline-flex;vertical-align:-.02em;margin-left:.2em}
.pill-stack .pill{box-shadow:0 0 0 .05em var(--cream)}
.reveal-words.in .pill-stack .pill{width:1.25em;margin:0 0 0 -.45em}
.reveal-words.in .pill-stack .pill:first-child{margin-left:0}
.pill-stack .pill:nth-child(2){transition-delay:.85s}.pill-stack .pill:nth-child(3){transition-delay:1s}
.js .scroll-draw path{stroke-dashoffset:calc(1 - var(--p,0))}
.js .hero-media .arch{animation:archin 1.4s var(--ease) both}
@keyframes archin{from{clip-path:inset(100% 0 0 0);opacity:.4}to{clip-path:inset(0 0 0 0);opacity:1}}

/* --- tablet --- */
@media (max-width:1080px){
  .top-end{margin-left:auto}
  .js .menu-btn{margin-left:.6rem;display:inline-flex;align-items:center;min-height:2.6rem;padding:.5rem 1.1rem;border-radius:99px;border:1px solid rgba(58,42,38,.3);background:transparent;font:600 .92rem/1 var(--sans);color:var(--ink);cursor:pointer;order:3}
  .js .nav{display:none}
  html:not(.js) .top{flex-wrap:wrap}
  html:not(.js) .nav{order:3;width:100%;flex-wrap:wrap;gap:.3rem 1.2rem}
  .js .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;max-height:calc(100svh - 4.5rem);overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1.5rem;background:var(--porcelain);box-shadow:0 20px 30px -20px rgba(58,42,38,.35)}
  .js .nav.open a{padding:1rem 0;border-bottom:1px solid rgba(118,97,90,.18);font:300 1.5rem/1.2 var(--serif)}
  .js .nav.open .nav-book{display:flex;margin-top:1.2rem;border-bottom:0;font:600 1rem/1 var(--sans);padding:.8rem 1.6rem}
  .panel{grid-template-columns:minmax(0,1fr)}
  .panel-aside{position:static;display:grid;grid-template-columns:8.5rem minmax(0,1fr);column-gap:1.4rem;row-gap:1rem;align-items:center}
  .aside-img{grid-row:1/4}
  .worlds-row{grid-template-columns:repeat(3,minmax(16rem,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .worlds-row::-webkit-scrollbar{display:none}
  .world{scroll-snap-align:start}
  .world{grid-row:auto;display:block}
  .worlds-row{grid-template-rows:none}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps li::before{display:none}
  .contact{grid-template-columns:minmax(0,1fr)}
}

/* --- telefon --- */
@media (max-width:900px){
  .faq-body{grid-template-columns:minmax(0,1fr)}
  .faq-card{display:none}
  body{font-size:1rem}
  .top,.top.scrolled{padding:.8rem 1.1rem;background:var(--cream);-webkit-backdrop-filter:none;backdrop-filter:none}
  .top .btn-sm{display:none}
  .brand-mark{height:2.5rem}
  .brand-sub{letter-spacing:.24em;margin-right:-.24em;white-space:nowrap;font-size:.56rem}
  .hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"media" "text";padding:4.6rem 0 3rem;gap:1.6rem;min-height:0}
  .hero-media{width:100%;justify-self:stretch}
  .hero{padding:4.6rem 0 3rem}
  .hero-media .arch{aspect-ratio:auto;height:36svh;min-height:0;border-radius:0 0 50% 50%/0 0 9% 9%;box-shadow:none}
  .arch video{object-position:50% 50%}
    .vid-toggle{right:auto;left:1.1rem;bottom:1.6rem}
  .hero-text{padding:0 1.25rem;display:flex;flex-direction:column}
  .hero-text .display{margin-bottom:1.2rem}
  .hero-cta{order:3;margin:0 0 1.2rem}
  .hero-text .lead{order:4}
  .hero-note{order:5}
  .hero-text .display{max-width:none}
  .hero-cta .btn{flex:1 1 auto}
  .worlds-row{grid-template-columns:repeat(3,72vw);gap:1rem;padding:0 1.25rem 1rem;scroll-padding-left:1.25rem}
  .ba{grid-template-columns:minmax(0,1fr);gap:1.6rem}
    .tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;padding:0 1.25rem}
  .tab{padding:.85rem .6rem}
  .top-end{gap:.5rem}
  .js .menu-btn{min-height:2.75rem;padding:.4rem 1rem}
  .cols,.row,.panel.has-refill .cols,.panel.has-refill .row{grid-template-columns:minmax(0,1fr) 4.4rem;column-gap:.8rem}
  .panel.has-refill .cols,.panel.has-refill .row{grid-template-columns:minmax(0,1fr) 4.4rem 4.4rem}
  .cols{font-size:.72rem;line-height:1.25}
  .cols .long{display:none}
  .cols .short{display:inline}
  .guide ul{grid-template-columns:minmax(0,1fr);gap:.7rem}
  .row{padding:.95rem 0;align-items:center}
  .row-name{font-size:1.2rem}
  .row-meta{font-size:.82rem}
  .row .amt{font-size:1.3rem}
  .row-refill.none{display:block}
  .panel-aside{grid-template-columns:6.5rem minmax(0,1fr);margin-top:1.5rem}
  .aside-img{grid-row:auto}
  .aside-note{font-size:1.1rem}
  .panel-aside .btn{grid-column:1/3;width:100%}
  .aside-ask{grid-column:1/3}
  .steps{grid-template-columns:minmax(0,1fr);gap:2rem}
  .steps li{display:grid;grid-template-columns:3.6rem minmax(0,1fr);column-gap:1.1rem}
  .steps li .step-n{grid-row:1/3;margin:0}
  .film-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem}
  .film-tall{grid-row:auto;grid-column:1/3;aspect-ratio:4/5}
  .film-wide{aspect-ratio:4/3;grid-column:1/3}
  .about{grid-template-columns:minmax(0,1fr)}
  .about-photo{max-width:20rem}
  .gal-grid{gap:.8rem}
  .contact-info{grid-template-columns:minmax(0,1fr)}
  .contact-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .contact-cta .btn-solid{grid-column:1/3}
  .contact-lash{width:70vw}
  .foot{padding-bottom:6rem}
  .wa-float{right:1rem;bottom:calc(.9rem + env(safe-area-inset-bottom));width:3.1rem;height:3.1rem}
  .sticky-book{display:flex;position:fixed;left:1rem;right:4.9rem;bottom:calc(.9rem + env(safe-area-inset-bottom));z-index:60;box-shadow:0 14px 30px -12px rgba(58,42,38,.5);transform:translateY(160%);visibility:hidden;transition:transform .45s var(--ease),visibility 0s .45s}
  .sticky-book.show{transform:none;visibility:visible;transition:transform .45s var(--ease)}
}

/* bez JS: chowamy przyciski, które działają tylko ze skryptem */
html:not(.js) .vid-toggle,html:not(.js) .trust-toggle,html:not(.js) .gal-toggle,html:not(.js) .gal-arrow,html:not(.js) .films-toggle{display:none}
@media (max-width:900px){html:not(.js) .hero{padding-top:7.6rem}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .trust-track{animation:none}
  .gal-set[aria-hidden]{display:none}
  .faq-card.swap .faq-tag,.faq details[open]>p{animation:none}
  .faq-ph{transition:none}
  .gal-toggle{display:none}
  .js .reveal-words .w>span{transform:none}
  .js .reveal-words.display,.pill{transition:none}
  .js .scroll-draw path{stroke-dashoffset:0}
}
