/* Babska Strefa · sections after the hero (stage C: 01 to 05). The hero's own files stay untouched. */
:root{
  --canvas-deep:#100509;
  --puder:#efe3dd;
  --puder-ink:#2a0e22;
  --puder-soft:#6b4a5c;
  --szampan:#c9a88f;
  --szampan-dark:#9c7a64;
  --hair:rgba(244,230,223,.14);
}

/* nav gets its own night glass once the hero is behind us */
.nav{transition:background-color .6s var(--ease-out),padding .6s var(--ease-out),backdrop-filter .6s var(--ease-out)}
.nav.solid{background:rgba(23,8,18,.72);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);padding-top:14px;padding-bottom:14px;border-bottom:1px solid rgba(244,230,223,.06)}

/* ---------- shared section language ---------- */
.sec{position:relative;padding:clamp(96px,15vh,170px) 0}
.wrap{width:min(1240px,100% - 2*clamp(16px,5vw,64px));margin:0 auto}
.label{display:flex;align-items:center;gap:12px;margin:0 0 26px;font:400 11px/1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--szampan)}
.label::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.h2{margin:0;font:400 clamp(38px,4.7vw,76px)/1.02 var(--f-display);letter-spacing:-.015em;max-width:14ch}
.h2 em{font-style:italic}
.lede{margin:28px 0 0;max-width:52ch;font:400 clamp(16px,1.2vw,18px)/1.7 var(--f-body);color:var(--text-secondary)}
.fine{margin:18px 0 0;font:400 11px/1.6 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(212,186,177,.78)}

/* entrances: the container class prefixes both states so they always win the cascade */
.rv .r{opacity:0;transform:translate3d(0,22px,0);transition:opacity 1.1s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:calc(var(--d,0)*110ms)}
.rv.in .r{opacity:1;transform:none}
.rv.done .r,.rv.done .r:nth-child(n){transition-delay:0s}

/* the lash-line divider between sections: draws itself in on arrival */
.divider{display:flex;justify-content:center;padding:0 16px;margin:0 auto;color:var(--szampan)}
.divider svg{width:min(360px,70vw);height:auto;overflow:visible}
.divider path{fill:none;stroke:currentColor;stroke-linecap:round}
.divider .lidline{stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease-soft)}
.divider .lash{stroke-width:.9;opacity:.75;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease-out);transition-delay:calc(.7s + var(--i,0)*70ms)}
.divider.in .lidline,.divider.in .lash{stroke-dashoffset:0}

/* ---------- 01 · Rzęsy ---------- */
.lashes .grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:center}
.points{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:16px}
.points li{display:flex;align-items:baseline;gap:14px;font:400 16px/1.55 var(--f-body);color:var(--text-primary)}
.points li::before{content:"";flex:0 0 18px;height:9px;transform:translateY(-1px);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 9'%3E%3Cpath d='M1 8C5 3 13 3 17 7' fill='none' stroke='%23c9a88f' stroke-width='1.1' stroke-linecap='round'/%3E%3Cpath d='M6 5.2 5 1.6M9 4.6V.8M12 5.2l1.2-3.4' stroke='%23c9a88f' stroke-width='.9' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}

.tryon{position:relative;border-radius:28px;padding:clamp(22px,3vw,40px);background:radial-gradient(90% 80% at 50% 30%,#2a0f22 0%,var(--panel) 55%,#1b0a16 100%);border:1px solid var(--hair)}
.tryon-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px}
.tryon-h{margin:0;font:400 clamp(24px,2.2vw,34px)/1.15 var(--f-display);font-style:italic}
.tryon-sub{margin:8px 0 0;max-width:44ch;font:400 14px/1.6 var(--f-body);color:var(--text-secondary)}
.eye{display:block;width:100%;height:auto;margin:clamp(8px,2vw,20px) 0 0;overflow:visible}
.eye .lid-up,.eye .lid-low{fill:none;stroke:var(--text-primary);stroke-linecap:round}
.eye .lid-up{stroke-width:1.6}
.eye .lid-low{stroke-width:1;opacity:.55}
.eye .crease{fill:none;stroke:var(--szampan);stroke-width:.9;opacity:.45;stroke-linecap:round}
.eye .iris-ring{fill:none;stroke:var(--szampan);opacity:.55}
.eye .iris-fibre{stroke:var(--szampan);stroke-width:.6;opacity:.28}
.eye .pupil{fill:#0d0409;stroke:var(--text-primary);stroke-width:.8;stroke-opacity:.35}
.eye .glint{fill:var(--text-primary);opacity:.85}
.eye .low path{fill:none;stroke:var(--text-primary);stroke-width:.7;opacity:.42;stroke-linecap:round}
.eye .set path{fill:var(--text-primary);stroke:none;transform-box:view-box;transform:scale(.001)}
.eye .set.grow path{transform:none;transition:transform .8s var(--ease-out);transition-delay:calc(var(--i,0)*9ms)}
.eye .set.static path{transform:none}
.eye .set.out{opacity:0;transition:opacity .45s var(--ease-out)}
.tryon.live .gaze{animation:gaze 13s var(--ease-soft) infinite alternate;animation-delay:-4s}
@keyframes gaze{0%{transform:translate(-5px,1px)}45%{transform:translate(3px,-1px)}100%{transform:translate(6px,2px)}}

.pick{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px 18px;margin:clamp(14px,2vw,22px) 0 0;padding:0;border:0;min-width:0}
.pick legend{float:left;font:400 10px/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--szampan);padding:0;width:72px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.seg label{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 16px;border-radius:999px;border:1px solid rgba(244,230,223,.28);font:500 13px/1 var(--f-body);color:var(--text-secondary);cursor:pointer;transition:background-color .4s var(--ease-out),color .4s var(--ease-out),border-color .4s var(--ease-out)}
.seg label:hover{border-color:rgba(244,230,223,.6);color:var(--text-primary)}
.seg input:checked+label{background:var(--text-primary);border-color:var(--text-primary);color:var(--canvas)}
.seg input:focus-visible+label{outline:2px solid var(--accent);outline-offset:3px}
@media (pointer:coarse){.seg label{min-height:44px}}
.tryon-read{margin:clamp(16px,2vw,24px) 0 0;padding-top:18px;border-top:1px solid var(--hair);min-height:5.2em;font:400 15px/1.6 var(--f-body);color:var(--text-primary)}
.tryon-read b{font-weight:500;color:var(--szampan)}
.tryon-read span{display:block;color:var(--text-secondary)}
.tryon-read.swap{opacity:.25;transition:opacity .2s linear}
.tryon-read{transition:opacity .5s var(--ease-out)}
.tryon .fine{margin-top:14px}

/* ---------- 02 · Realizacje ---------- */
.work-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(40px,6vw,96px);align-items:end}
.work-head .lede{margin:0}
.frames{list-style:none;margin:clamp(44px,6vw,72px) 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}
.frame{position:relative;aspect-ratio:3/4.4;border-radius:999px 999px 18px 18px/38% 38% 18px 18px;overflow:hidden;border:1px solid rgba(201,168,143,.32);background:linear-gradient(180deg,rgba(201,168,143,.07),rgba(201,168,143,.015))}
.frame:nth-child(even){transform:translateY(clamp(14px,2.4vw,36px))}
.frame-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:12px;text-align:center}
.frame svg{width:46%;height:auto;color:var(--szampan);opacity:.7}
.frame svg path{fill:none;stroke:currentColor;stroke-linecap:round}
.frame-cap{font:400 10px/1.5 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary)}
/* the lid reveal: two canvas halves part like eyelids */
.frame::before,.frame::after{content:"";position:absolute;left:-2%;right:-2%;height:52%;z-index:2;background:var(--canvas);transition:transform 1.3s var(--ease-soft);transition-delay:calc(var(--d,0)*120ms)}
.frame::before{top:0;border-radius:0 0 50% 50%/0 0 34% 34%}
.frame::after{bottom:0;border-radius:50% 50% 0 0/34% 34% 0 0}
.frames.in .frame::before{transform:translateY(-102%)}
.frames.in .frame::after{transform:translateY(102%)}
.work-link{display:inline-flex;align-items:center;gap:12px;margin-top:clamp(56px,7vw,88px);font:500 13px/1 var(--f-body);letter-spacing:.06em;color:var(--text-primary);text-decoration:none;padding:10px 0;border-bottom:1px solid rgba(244,230,223,.3);transition:border-color .4s var(--ease-out),gap .4s var(--ease-out)}
.work-link:hover{border-color:var(--text-primary);gap:18px}

/* ---------- 03 · Brwi i usta ---------- */
.pmu-head{max-width:760px}
.pmu-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);margin-top:clamp(48px,6vw,80px)}
.panel{border-radius:24px;overflow:hidden;background:var(--panel);border:1px solid var(--hair);display:flex;flex-direction:column}
.panel:nth-child(2){margin-top:clamp(0px,5vw,72px)}
.shot{position:relative;aspect-ratio:4/3;overflow:hidden;background:#2b1420}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform 2.4s var(--ease-out)}
.shot.brow img{object-position:42% 42%}
.shot.lips img{object-position:62% 62%}
.pmu-panels.in .shot img{transform:scale(1.0)}
.pmu-panels.live .shot img{animation:breathe 22s ease-in-out infinite alternate;animation-delay:-6s}
@keyframes breathe{from{transform:scale(1)}to{transform:scale(1.035)}}
.shot::before,.shot::after{content:"";position:absolute;left:-2%;right:-2%;height:52%;z-index:2;background:var(--panel);transition:transform 1.4s var(--ease-soft);transition-delay:calc(var(--d,0)*160ms)}
.shot::before{top:0;border-radius:0 0 50% 50%/0 0 30% 30%}
.shot::after{bottom:0;border-radius:50% 50% 0 0/30% 30% 0 0}
.pmu-panels.in .shot::before{transform:translateY(-102%)}
.pmu-panels.in .shot::after{transform:translateY(102%)}
.panel-body{padding:clamp(24px,2.6vw,40px)}
.h3{margin:0 0 14px;font:400 clamp(28px,2.6vw,40px)/1.1 var(--f-display);font-style:italic}
.panel-body p{margin:0;max-width:46ch;font:400 16px/1.7 var(--f-body);color:var(--text-secondary)}

/* ---------- 04 · Laser ---------- */
.laser{background:var(--canvas-deep);border-top:1px solid rgba(244,230,223,.05);border-bottom:1px solid rgba(244,230,223,.05)}
.laser .grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(48px,7vw,120px);align-items:center}
.laser .more{margin:22px 0 0;max-width:52ch;font:400 16px/1.7 var(--f-body);color:var(--text-primary)}
.laser .more+.more{color:var(--text-secondary)}
.facts{position:relative;list-style:none;margin:0;padding:0 0 0 clamp(28px,3vw,44px);display:grid;gap:clamp(30px,4vw,52px)}
.facts::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:1px;background:rgba(201,168,143,.45);transform-origin:top;transform:scaleY(0);transition:transform 1.8s var(--ease-soft)}
.facts.in::before{transform:scaleY(1)}
.facts .spark{position:absolute;left:-2px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--szampan);box-shadow:0 0 12px 2px rgba(201,168,143,.55);opacity:0}
.facts.live .spark{animation:spark 9s var(--ease-soft) infinite;animation-delay:-2s}
@keyframes spark{0%{transform:translateY(0);opacity:0}12%{opacity:.9}80%{opacity:.9}100%{transform:translateY(var(--run,300px));opacity:0}}
.fact{display:grid;gap:6px}
.fact b{font:500 clamp(54px,6.4vw,104px)/.95 var(--f-display);letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:lining-nums}
.fact span{font:400 12px/1.5 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary)}

/* ---------- 05 · Wizyta (puder) ---------- */
.visit{background:var(--puder);color:var(--puder-ink);border-radius:50% 50% 0 0/clamp(48px,9vw,140px) clamp(48px,9vw,140px) 0 0;margin-top:clamp(40px,6vw,80px);padding-top:clamp(120px,17vh,200px)}
.visit .label{color:var(--puder-soft)}
.visit .h2{margin:0 auto;text-align:center;max-width:16ch}
.visit .label{justify-content:center}
.visit .label::before{display:none}
.visit .lede{margin:24px auto 0;text-align:center;color:var(--puder-soft)}
.route{position:relative;margin-top:clamp(56px,7vw,96px)}
.route-line{display:block;width:100%;height:auto;overflow:visible}
.route-line .path{fill:none;stroke:var(--szampan-dark);stroke-width:1.3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--draw,0))}
.route-line .lash{fill:none;stroke:var(--puder-ink);stroke-width:1.1;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .8s var(--ease-out);transition-delay:calc(var(--i,0)*60ms)}
.route-line .knot{fill:var(--puder);stroke:var(--szampan-dark);stroke-width:1.2;opacity:0;transition:opacity .6s var(--ease-out)}
.route-line g.on .lash{stroke-dashoffset:0}
.route-line g.on .knot{opacity:1}
.steps{list-style:none;margin:clamp(-8px,-1vw,0px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.step{opacity:.28;transform:translate3d(0,14px,0);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.step.on{opacity:1;transform:none}
.step-n{display:block;font:400 11px/1 var(--f-mono);letter-spacing:.2em;color:var(--puder-soft);margin-bottom:14px}
.step h3{margin:0 0 12px;font:400 clamp(26px,2.4vw,36px)/1.1 var(--f-display);font-style:italic;color:var(--puder-ink)}
.step p{margin:0;font:400 15.5px/1.7 var(--f-body);color:var(--puder-soft)}
.visit-cta{display:flex;justify-content:center;margin-top:clamp(64px,8vw,104px)}

/* ---------- until stage D, and the footer ---------- */
.later{background:var(--puder);color:var(--puder-soft);padding:0 16px clamp(72px,10vw,120px);text-align:center;font:400 11px/1.8 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}
.later p{margin:0 auto;max-width:56ch}
.foot{align-items:center;background:var(--canvas-deep)}
.foot-mark{width:112px;height:auto;display:block}

/* ---------- smaller screens ---------- */
@media (max-width:1100px){
  .lashes .grid,.laser .grid{grid-template-columns:1fr}
  .tryon{max-width:720px}
  .frames{grid-template-columns:repeat(3,minmax(0,1fr))}
  .frame:nth-child(even){transform:none}
  .frame:nth-child(3n+2){transform:translateY(24px)}
}
@media (max-width:820px){
  .work-head{grid-template-columns:1fr}
  .pmu-panels{grid-template-columns:1fr}
  .panel:nth-child(2){margin-top:0}
  .route-line{display:none}
  .steps{grid-template-columns:1fr;gap:34px;padding-left:30px;position:relative}
  .steps::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--szampan-dark);transform-origin:top;transform:scaleY(var(--draw,0))}
  .step-n{margin-bottom:8px}
}
@media (max-width:560px){
  .frames{grid-template-columns:repeat(2,minmax(0,1fr))}
  .frame:nth-child(3n+2){transform:none}
  .frame:nth-child(even){transform:translateY(22px)}
  .pick{grid-template-columns:1fr;gap:10px}
  .pick legend{float:none;margin-bottom:2px}
  .seg label{padding:9px 13px}
  .tryon{border-radius:22px}
}

/* ---------- reduced motion: every drawn thing drawn, every reveal open ---------- */
@media (prefers-reduced-motion: reduce){
  .rv .r{opacity:1;transform:none}
  .divider .lidline,.divider .lash,.route-line .path,.route-line .lash{stroke-dashoffset:0}
  .eye .set path{transform:none}
  .route-line .knot{opacity:1}
  .frame::before,.frame::after,.shot::before,.shot::after{display:none}
  .shot img{transform:none}
  .facts::before{transform:none}
  .step{opacity:1;transform:none}
  .steps::before{transform:none}
  .facts .spark{display:none}
}

/* the accent button label: pure white clears 4.5:1 on the lacquer rose (blush white sat at 4.47) */
.btn-accent{color:#fff}
