/* Biutniq — style.css */
@font-face{font-family:"Jost";src:url(../fonts/jost-latin.woff2) format("woff2");font-weight:300 500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2022,U+2026,U+2192,U+00B7}
@font-face{font-family:"Jost";src:url(../fonts/jost-pl.woff2) format("woff2");font-weight:300 500;font-style:normal;font-display:swap;unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C}
@font-face{font-family:"Bodoni Moda";src:url(../fonts/bodoni-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:"Bodoni Moda";src:url(../fonts/bodoni-italic-pl.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C}
/* metric-matched fallbacks to limit layout shift while fonts load */
@font-face{font-family:"Jost Fallback";src:local("Arial");size-adjust:96%;ascent-override:106%;descent-override:37%}
@font-face{font-family:"Bodoni Fallback";src:local("Georgia");size-adjust:92%}

:root{
  --bg:#F3EEE8;--paper:#FAF7F3;--sand:#E7DCD0;--ink:#1D1A18;--ink-2:#5E5650;--ink-3:#6F665F;
  --dark:#0E0C0B;--dark-2:#1D1A18;--on-dark:#F3EEE8;--on-dark-2:#B9AFA6;--accent:#8E1F2B;--rose:#E3B5AE;
  --line:#DCD3C9;--line-2:#CFC2B4;
  --sans:"Jost","Jost Fallback",Futura,"Century Gothic",system-ui,sans-serif;
  --serif:"Bodoni Moda","Bodoni Fallback",Georgia,serif;
  --gut:clamp(20px,5.5vw,80px);
  --sec:clamp(72px,9vw,128px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
@media (max-width:600px){body{font-size:16px}}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px}
a:hover{color:var(--accent)}
button{font:inherit;color:inherit;cursor:pointer}
b,strong{font-weight:500}
em,i{font-style:italic}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.sec--dark :focus-visible,.pricing :focus-visible,.contact :focus-visible,.hero :focus-visible,.photo-band :focus-visible{outline-color:var(--rose)}
::selection{background:var(--rose);color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:999px;text-decoration:none;transition:top .2s}
.skip:focus{top:12px;color:var(--paper)}

.wrap{width:min(1280px,100% - 2*var(--gut));margin-inline:auto}
.sec{padding-block:var(--sec);position:relative}
.sec--paper{background:var(--paper)}
.sec--sand{background:var(--sand)}
.sec--dark{background:var(--dark);color:var(--on-dark)}
/* bez content-visibility:auto: zgadywana wysokość sekcji psuła przewijanie do kotwic z menu */

/* ---------- type ---------- */
.h2{font-weight:500;font-size:clamp(34px,4.2vw,56px);line-height:.96;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance}
.h2 em{display:block;margin-top:.14em;font-family:var(--serif);font-weight:400;font-size:1.08em;line-height:1;letter-spacing:-.01em;text-transform:none;color:var(--accent)}
.h2--xl{font-size:clamp(40px,5vw,68px)}
.sec--dark .h2 em,.h2--light em{color:var(--rose)}
.h2--light{color:var(--paper)}
.lede{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--ink-2);text-wrap:pretty}
.lede--ink{color:var(--ink)}
.lede--warm{color:#4F4741}
.lede--dark{color:var(--on-dark-2)}
.lede--light{color:var(--paper)}
.fine{font-size:13px;line-height:1.55;color:var(--ink-2)}
.sm{font-size:.8em;color:var(--ink-2)}
.num{font-family:var(--serif);font-style:italic;color:var(--accent);line-height:1}
.link{font-size:17px;font-weight:400;text-decoration:underline}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border-radius:999px;font-size:16px;font-weight:500;text-decoration:none;border:1px solid transparent;background:transparent;transition:transform .25s var(--ease),background-color .25s,color .25s,border-color .25s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--light{background:var(--paper);color:var(--ink)}
.btn--light:hover{background:#fff;color:var(--ink)}
.btn--dark{background:var(--ink);color:var(--paper)}
.btn--dark:hover{background:#000;color:var(--paper)}
.btn--outline{border-color:var(--ink);color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:var(--paper)}
.btn--ghost{border-color:rgba(250,247,243,.7);color:var(--paper);min-height:46px;padding:0 22px;font-weight:400;font-size:15px}
.btn--ghost:hover{background:var(--paper);color:var(--ink)}
.btn--block{width:100%}
.btn--lg{min-height:64px;padding:0 38px;font-size:18px}
.pill-dark{display:inline-block;background:var(--ink);color:var(--paper);border-radius:999px;padding:.35em 1em;font-size:.85em;line-height:1.2;font-style:normal}

/* ---------- header ---------- */
.site-header{position:fixed;inset:0 0 auto;z-index:50;padding-top:env(safe-area-inset-top,0px);color:var(--paper);transition:background-color .35s,color .35s,box-shadow .35s,transform .35s var(--ease)}
.site-header__bar{height:76px;display:flex;align-items:center;gap:24px;padding-inline:var(--gut);max-width:1440px;margin-inline:auto}
.logo{font-size:24px;font-weight:500;letter-spacing:-.02em;text-decoration:none;margin-right:auto;color:inherit}
.logo:hover{color:inherit}
.nav__list{display:flex;gap:32px;font-size:15px}
.nav__list a{text-decoration:none;color:inherit;padding:10px 0;position:relative}
.nav__list a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav__list a:hover::after{transform:scaleX(1)}
.nav__list a:hover{color:inherit}
.nav__cta-mobile{display:none}
.menu-btn{display:none;width:48px;height:48px;border:0;background:transparent;align-items:center;justify-content:center;margin-right:-12px}
.menu-btn svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.menu-btn path{transition:transform .3s var(--ease);transform-origin:12px 12px}
.site-header.is-solid{background:rgba(243,238,232,.9);color:var(--ink);box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.site-header.is-solid .btn--ghost{border-color:var(--ink);color:var(--ink)}
.site-header.is-solid .btn--ghost:hover{background:var(--ink);color:var(--paper)}
.site-header.is-hidden{transform:translateY(-100%)}
@media (max-width:1023px){
  .site-header__bar{height:64px}
  .header-cta{display:none}
  .menu-btn{display:inline-flex;position:relative;z-index:2}
  .nav{position:fixed;inset:0;background:var(--dark);color:var(--on-dark);display:flex;align-items:flex-end;padding:96px var(--gut) calc(32px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
  .nav__list{flex-direction:column;gap:4px;width:100%;font-size:clamp(30px,8vw,44px);font-weight:500;letter-spacing:-.02em;text-transform:uppercase}
  .nav__list a{display:block;padding:8px 0}
  .nav__list a::after{display:none}
  .nav__cta-mobile{display:block;margin-top:28px}
  .nav__list .nav__cta-mobile .btn{display:flex;width:100%;font-size:17px;text-transform:none;letter-spacing:0;min-height:56px;color:var(--ink);padding:0 28px}
  .logo{position:relative;z-index:2}
  .menu-open .nav{opacity:1;visibility:visible;transition:opacity .3s}
  .menu-open .site-header{color:var(--on-dark);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}
  .menu-open .menu-btn .l1{transform:rotate(45deg) translateY(3px)}
  .menu-open .menu-btn .l2{transform:rotate(-45deg) translateY(-3px)}
  .menu-open{overflow:hidden}
}

/* ---------- grain ---------- */
.grain{position:absolute;inset:0;background:url(../img/grain.webp) repeat;background-size:128px;opacity:.16;mix-blend-mode:overlay;pointer-events:none}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:#2A211C;color:var(--paper);height:clamp(620px,100svh,960px)}
.hero__img,.hero__img img{position:absolute;inset:0;width:100%;height:100%}
.hero__img img{object-fit:cover;object-position:62% 40%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,11,.4) 0%,rgba(20,14,11,0) 22%,rgba(20,14,11,0) 45%,rgba(20,14,11,.62) 100%)}
.hero__inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;width:min(1440px,100% - 2*clamp(14px,4.4vw,64px))}
.hero__copy{max-width:420px;display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(20px,3vw,40px)}
.hero__lead{font-size:clamp(20px,1.7vw,24px);line-height:1.3;font-weight:500;text-wrap:balance}
.hero__copy p{font-size:clamp(16px,1.25vw,18px);line-height:1.5;color:rgba(250,247,243,.92)}
.hero__btn{align-self:flex-start;margin-top:6px}
.hero__mark{font-size:clamp(104px,24.4vw,360px);font-weight:500;line-height:.78;letter-spacing:-.055em;margin-left:-.04em;margin-bottom:.03em;white-space:nowrap;user-select:none}
@media (max-width:700px){
  .hero__img img{object-position:68% 30%}
  /* telefon: tekst leży na brodzie i szyi, więc od ok. 40% wysokości mocniej przyciemniamy; oczy zostają jasne */
  .hero__shade{background:linear-gradient(180deg,rgba(20,14,11,.4) 0%,rgba(20,14,11,0) 18%,rgba(20,14,11,0) 35%,rgba(20,14,11,.72) 49%,rgba(20,14,11,.86) 100%)}
  .hero__btn{align-self:stretch}
  .hero__mark{margin-bottom:.06em}
  .hero__copy{margin-bottom:28px}
}

/* ---------- problems ---------- */
.problems{background:var(--bg)}
.problems__intro{display:flex;flex-direction:column;gap:18px;max-width:420px}
.problems__stage{position:relative;margin-top:32px}
.problems__curve{display:none}
.problems__oval{width:min(260px,68vw);aspect-ratio:240/330;object-fit:cover;border-radius:999px;margin-inline:auto}
.problems__cards{position:relative;margin-top:-44px;display:grid;gap:10px;grid-template-columns:1fr}
.pcard{background:var(--paper);box-shadow:0 14px 34px rgba(60,40,30,.10);padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.pcard .num{font-size:20px}
.pcard h3{font-size:17px;font-weight:500;line-height:1.25}
.pcard p{font-size:15px;line-height:1.5;color:var(--ink-2)}
@media (min-width:520px){.problems__cards{grid-template-columns:1fr 1fr}}
@media (min-width:720px) and (max-width:1099px){.problems__grid{max-width:680px}}
@media (min-width:1100px){
  .problems__grid{position:relative;min-height:700px}
  .problems__stage{position:absolute;right:0;top:0;width:860px;height:700px;margin:0}
  .problems__curve{display:block;position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#BFB3A7;stroke-width:1}
  .problems__oval{position:absolute;left:180px;top:40px;width:360px;height:520px;margin:0}
  .problems__cards{position:static;margin:0;display:block}
  .pcard{position:absolute;width:230px;padding:18px}
  .pcard h3{font-size:16px}
  .pcard p{font-size:14px}
  .pcard--1{left:0;top:360px}
  .pcard--2{left:490px;top:70px}
  .pcard--3{left:630px;top:330px}
  .pcard--4{left:320px;top:540px;width:250px}
}

/* ---------- transform (animated scene) ---------- */
.transform__grid{display:grid;gap:40px}
.transform__copy{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.scene-wrap{container-type:inline-size;width:100%;max-width:520px;margin-inline:auto}
.scene{position:relative;font-size:calc(100cqw / 34.6);width:34.6em;height:55em}
.sc{position:absolute;font-size:1em;border-radius:.8em;color:var(--ink)}
.sc-bad,.sc-good{left:0;top:0;width:30em;padding:1em;display:flex;flex-direction:column;gap:.9em}
.sc-bad{background:#fff;transform-origin:50% 40%}
.sc-good{background:var(--paper);box-shadow:0 3em 6em rgba(0,0,0,.55)}
.sc-head{display:flex;align-items:center;justify-content:space-between;gap:.8em;font-size:1em}
.sc-head b{font-size:1.05em;font-weight:500}
.sc-head b.arial{font-family:Arial,sans-serif;font-weight:700}
.sc-head small{font-size:.85em;color:var(--ink-2)}
.sc-id{display:flex;align-items:center;gap:.8em}
.sc-ava{width:2.6em;height:2.6em;border-radius:50%;object-fit:cover}
.sc-ava.sat{filter:saturate(1.8)}
.sc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25em}
.t{position:relative;height:9.2em;overflow:hidden;display:flex;flex-direction:column;padding:.85em;font-size:1em;line-height:1.25}
.t>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.t .chip,.t-split .chip{position:absolute;left:.55em;bottom:.55em;background:var(--paper);color:var(--ink);font-size:.78em;font-style:normal;padding:.25em .6em;border-radius:999px;line-height:1.2}
.t i{font-family:var(--serif);font-size:1.4em;line-height:1}
.t-acc{background:var(--accent);color:var(--paper);justify-content:space-between}
.t-acc span{font-size:.78em;line-height:1.45}
.t-acc .sm{color:inherit;opacity:.9}
.t-end{justify-content:space-between}
.t-end>span:last-child{display:flex;flex-direction:column;gap:.1em;font-size:1em}
.t-end i{font-size:1.25em}
.t-end .big{font-size:1.7em;font-weight:300;line-height:1}
.t-ink{background:var(--dark-2);color:var(--on-dark);gap:.6em}
.t-ink .rows{display:flex;flex-direction:column;font-size:.72em}
.t-ink .rows span{display:flex;justify-content:space-between;padding:.3em 0;border-top:1px solid #3A3431}
.t-ink .rows b{font-weight:400}
.t-sand{background:var(--sand);gap:.6em}
.t-sand span{font-size:.72em;line-height:1.5}
.t-split{flex-direction:row;padding:0}
.t-split>span{position:relative;width:50%;height:100%}
.t-split img{width:100%;height:100%;object-fit:cover}
/* the "bad" grid */
.t .promo{position:absolute;left:.3em;right:.3em;top:35%;text-align:center;font-family:Impact,"Arial Black",sans-serif;font-size:1.45em;color:#FFE600;-webkit-text-stroke:1px #D40000;line-height:1.05}
.t .new{position:absolute;left:0;right:0;bottom:.7em;background:#000;color:#fff;font-family:Impact,sans-serif;font-size:1.15em;text-align:center;padding:.15em 0}
.t .tags{position:absolute;left:.45em;bottom:.55em;font-family:Arial,sans-serif;font-size:.78em;color:#3FFFE0}
.t-pink{background:#D4007A;color:#fff;align-items:center;justify-content:center;font-family:"Comic Sans MS","Comic Neue",cursive;font-weight:700;font-size:1.2em}
.t-link{background:#fff;border:1px solid #ddd;font-family:"Times New Roman",serif;font-size:.95em;color:#0000EE;text-decoration:underline}
.t-grad{background:linear-gradient(135deg,#7B2FF7,#F107A3);color:#FFF36B;font-family:Georgia,serif;font-style:italic;align-items:center;justify-content:center;text-align:center;font-size:1.2em}
.t-lime{background:#9BFF3B;color:#C00000;font-family:Arial,sans-serif;font-weight:700;align-items:center;justify-content:center;font-size:1.25em}
.f1{filter:saturate(2) contrast(1.3)}
.f2{transform:rotate(-8deg) scale(1.3);filter:hue-rotate(-25deg) saturate(2.2)}
.f3{filter:brightness(.6) saturate(1.6)}
.f4{filter:sepia(1) blur(1px)}
.f5{filter:brightness(1.55) contrast(.8)}
.sc-web{left:7.6em;top:25em;width:27em;height:20em;background:var(--bg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3em 7em rgba(0,0,0,.6)}
.web-bar{height:2.6em;flex:none;display:flex;align-items:center;justify-content:space-between;gap:.8em;padding:0 1em;border-bottom:1px solid var(--line);font-size:1em}
.web-bar b{font-weight:500;font-size:.95em}
.web-url{font-size:.8em;color:var(--ink-2)}
.web-body{flex:1;display:flex;min-height:0}
.web-copy{width:52%;padding:1.4em 1.2em;display:flex;flex-direction:column;gap:.7em}
.web-title{font-family:var(--serif);font-size:1.9em;line-height:1.05}
.web-rows{margin-top:auto;display:flex;flex-direction:column;font-size:.78em}
.web-rows span{display:flex;justify-content:space-between;padding:.35em 0;border-top:1px solid var(--line)}
.web-rows b{font-weight:400}
.web-body img{width:48%;height:100%;object-fit:cover}
.sc-goo{left:0;top:43em;width:26em;background:#fff;padding:1.2em;display:flex;flex-direction:column;gap:1em;box-shadow:0 2.4em 6em rgba(0,0,0,.55)}
.goo-top{display:flex;gap:1em;align-items:center}
.goo-top img{width:4.6em;height:4.6em;border-radius:.5em;object-fit:cover}
.goo-top>span{display:flex;flex-direction:column;gap:.2em}
.goo-top b{font-weight:500;font-size:1.3em}
.goo-top small{font-size:.9em;color:var(--ink-2)}
.stars{color:#B07800;letter-spacing:.08em}
.goo-btns{display:flex;gap:.5em;font-size:.9em}
.goo-btns>span{border:1px solid #C9BEB2;border-radius:999px;padding:.35em .9em}
.goo-btns>.pill-dark{border-color:var(--ink);font-size:1em}
.goo-hours{display:none}
/* grafiki z Canvy zamiast makiet (pole "scene" w data/biutniq.json): grafika wypełnia kartę, wysokość z proporcji pliku */
.sc.sc--img{padding:0;gap:0;height:auto;overflow:hidden;display:block;background:none}
.sc-img{display:block;width:100%;height:auto;object-fit:cover;border-radius:inherit}
.sc-preload{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.scene-steps{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;font-size:14px}
.scene-steps li{display:flex;gap:8px}
.scene-steps span{color:var(--rose)}
@media (min-width:1100px){
  .transform__grid{grid-template-columns:minmax(0,480px) minmax(0,700px);justify-content:space-between;align-items:start}
  .transform__copy{padding-top:40px;position:sticky;top:120px}
  .scene-wrap{max-width:700px;margin:0}
  .scene{font-size:calc(100cqw / 70);width:70em;height:66em}
  .sc{font-size:1.35em}
  .sc-web{left:18.5em;top:18.5em}
  .sc-goo{left:2.7em;top:38.5em;width:24em}
  .goo-hours{display:block}
  .scene-steps{display:flex;gap:32px;margin-top:28px}
}
/* keyframes (14 s loop) */
@keyframes bzBad{0%,12%{transform:scale(1);opacity:1;filter:none}20%,92%{transform:scale(.93);opacity:.3;filter:blur(1.5px)}100%{transform:scale(1);opacity:1;filter:none}}
@keyframes bzGood{0%,12%{transform:translateY(115%);opacity:0}22%,90%{transform:translateY(0);opacity:1}96%,100%{transform:translateY(0);opacity:0}}
@keyframes bzWeb{0%,32%{transform:translateX(5em);opacity:0}42%,90%{transform:translateX(0);opacity:1}96%,100%{transform:translateX(0);opacity:0}}
@keyframes bzGoo{0%,54%{transform:translateY(3em) scale(.94);opacity:0}64%,90%{transform:translateY(0) scale(1);opacity:1}96%,100%{transform:translateY(0) scale(1);opacity:0}}
@keyframes bzS1{0%,16%{opacity:1}18%,96%{opacity:.62}100%{opacity:1}}
@keyframes bzS2{0%,16%{opacity:.62}18%,37%{opacity:1}39%,100%{opacity:.62}}
@keyframes bzS3{0%,37%{opacity:.62}39%,58%{opacity:1}60%,100%{opacity:.62}}
@keyframes bzS4{0%,58%{opacity:.62}60%,94%{opacity:1}96%,100%{opacity:.62}}
.bz{animation-duration:14s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.22,.8,.2,1);animation-play-state:paused}
.scene-wrap.is-playing .bz{animation-play-state:running}
.bz-bad{animation-name:bzBad}.bz-good{animation-name:bzGood}.bz-web{animation-name:bzWeb}.bz-goo{animation-name:bzGoo}
.bz-s1{animation-name:bzS1}.bz-s2{animation-name:bzS2}.bz-s3{animation-name:bzS3}.bz-s4{animation-name:bzS4}
.sc-bad{will-change:transform,opacity}

/* ---------- hub ---------- */
.split-head{display:flex;flex-direction:column;gap:20px}
@media (min-width:900px){.split-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:48px}.split-head .h2{flex:0 1 640px}.split-head .lede{flex:0 1 480px}}
.hub-stage{margin-top:40px;position:relative}
.hub-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hc{background:var(--paper);box-shadow:0 10px 24px rgba(60,40,30,.08);padding:12px 16px;display:flex;flex-direction:column;gap:2px}
.hc b{font-size:15px;font-weight:500;line-height:1.3}
.hc span{font-size:13px;color:var(--ink-2);line-height:1.35}
.hub-lines{fill:none;stroke:#B5A99C;stroke-width:1.2;stroke-linecap:round;stroke-dasharray:2 9}
.hub-lines path{vector-effect:non-scaling-stroke;animation:hubFlow 1.4s linear infinite;animation-play-state:paused}
.hub-stage.is-playing .hub-lines path{animation-play-state:running}
@keyframes hubFlow{to{stroke-dashoffset:-22}}
.hub-lines--wide{display:none}
.hub-lines--narrow{width:100%;max-width:346px;height:56px;margin-inline:auto}
.hub-center{display:flex;flex-direction:column;align-items:center}
.arch{width:min(280px,80vw);background:var(--paper);border-radius:999px 999px 4px 4px;overflow:hidden;box-shadow:0 24px 60px rgba(60,40,30,.16)}
.arch img{width:100%;aspect-ratio:1/1;object-fit:cover}
.arch__body{padding:18px 22px 24px;display:flex;flex-direction:column;gap:9px;align-items:flex-start;font-size:15px}
.arch__body i{font-family:var(--serif);font-size:23px;line-height:1.05}
.hub-label{margin-top:14px;font-family:var(--serif);font-style:italic;font-size:21px;color:var(--accent)}
@media (min-width:1100px){
  .hub-stage{height:560px;margin-top:72px}
  .hub-lines--wide{display:block;position:absolute;inset:0;width:100%;height:100%}
  .hub-lines--narrow{display:none}
  .hub-chips{display:block}
  .hc{position:absolute;width:230px;padding:12px 18px}
  .hc b{font-size:16px}
  .hc1{left:3.1%;top:36px}.hc2{left:0;top:250px}.hc3{left:3.1%;top:464px}
  .hc4{right:3.1%;top:36px}.hc5{right:0;top:250px}.hc6{right:3.1%;top:464px}
  .hub-center{position:absolute;left:50%;top:0;transform:translateX(-50%)}
  .arch{width:300px;height:500px;display:flex;flex-direction:column}
  .arch img{height:300px;aspect-ratio:auto}
  .arch__body{flex:1;padding:20px 24px}
  .hub-label{margin-top:18px;font-size:22px}
}
.cols4{display:grid;gap:28px;margin-top:56px}
.cols4>li{border-top:1px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:8px}
.cols4 h3{font-size:clamp(18px,1.4vw,20px);font-weight:500;line-height:1.3}
.cols4 p{font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.cols4--num .num{font-size:clamp(34px,3vw,44px);margin-bottom:6px}
@media (min-width:640px){.cols4{grid-template-columns:1fr 1fr;gap:36px 32px}}
@media (min-width:1100px){.cols4{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:72px}}
.quote-line{margin-top:clamp(40px,5vw,64px);text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(28px,3vw,40px);line-height:1.2;text-wrap:balance}

/* ---------- calculators ---------- */
.calc__grid{display:grid;gap:36px}
.calc__intro{display:flex;flex-direction:column;gap:18px}
@media (min-width:1000px){.calc__grid{grid-template-columns:minmax(0,400px) minmax(0,760px);justify-content:space-between;align-items:start}}
.sentence{display:block;font-size:clamp(22px,2.1vw,30px);font-weight:300;line-height:1.4;letter-spacing:-.01em}
.nw{white-space:nowrap}
.opts{display:inline;margin-right:.2em}
/* stała szerokość i wysokość przycisków: zmiana kroju po kliknięciu nie przesuwa tekstu */
.opts button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;height:1.6em;line-height:1;vertical-align:middle;margin:0 .06em;position:relative;top:-.05em}
.opts button[aria-pressed="true"]{top:-.08em}
.opts button::before,.opts button::after{content:attr(data-v);height:0;overflow:hidden;visibility:hidden}
.opts button::before{font-family:var(--sans);font-style:normal;font-weight:300}
.opts button::after{font-family:var(--serif);font-style:italic;font-weight:400}
.opts button{min-height:44px;min-width:44px;padding:0 .15em;background:none;border:0;border-bottom:2px solid transparent;font-size:1em;font-weight:300;color:var(--ink-2);transition:color .2s,border-color .2s}
.opts button:hover{color:var(--ink)}
.opts button[aria-pressed="true"]{color:var(--accent);border-bottom-color:var(--accent);font-family:var(--serif);font-style:italic;font-weight:400}
.big-num{margin-top:20px;font-size:clamp(84px,11.6vw,168px);font-weight:300;line-height:.95;letter-spacing:-.055em;color:var(--accent);font-variant-numeric:tabular-nums}
.calc__sub{margin-top:14px;font-size:clamp(16px,1.35vw,19px);line-height:1.5;color:var(--ink-2)}
.sec--sand .calc__sub{color:#4F4741}
.calc__foot{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.calc__foot--sand{border-color:var(--line-2)}
@media (min-width:700px){.calc__foot{flex-direction:row;justify-content:space-between;align-items:center;gap:24px}.calc__foot .link{white-space:nowrap}}
.gains{margin-top:24px;display:grid;gap:14px}
.gains li{border-top:1px solid var(--ink);padding-top:12px;display:flex;gap:16px;align-items:baseline}
.gains b{flex:none;min-width:1.4em;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(40px,4vw,56px);line-height:1;color:var(--accent)}
.gains li>span{font-size:16px;line-height:1.45}
@media (min-width:700px){.gains{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gains li{flex-direction:column;gap:6px;padding-top:16px}}

/* ---------- photo band ---------- */
.photo-band{position:relative;overflow:hidden;background:#2A211C;color:var(--paper);min-height:clamp(560px,57vw,820px);display:flex}
.photo-band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 45%}
.photo-band__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,12,11,.72) 0%,rgba(14,12,11,.25) 55%,rgba(14,12,11,.1) 100%)}
.photo-band__inner{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding-block:clamp(64px,10vw,150px) clamp(48px,6.5vw,96px);gap:40px}
.band-title{font-size:clamp(64px,8.9vw,128px);font-weight:500;line-height:.88;letter-spacing:-.035em;text-transform:uppercase;max-width:6.2em}
.band-title em{display:block;margin-top:.2em;font-family:var(--serif);font-weight:400;font-size:.5em;letter-spacing:0;text-transform:none;color:#F1D5CF}
.band-copy{max-width:420px;font-size:clamp(16px,1.25vw,18px);line-height:1.6}
@media (max-width:700px){.photo-band__img{object-position:76% 50%}.photo-band__shade{background:linear-gradient(180deg,rgba(14,12,11,.65) 0%,rgba(14,12,11,.15) 45%,rgba(14,12,11,.78) 100%)}}

/* ---------- places ---------- */
.places__grid{display:grid;gap:40px}
.place{display:flex;flex-direction:column;gap:14px}
.place h3{font-size:clamp(19px,1.6vw,22px);font-weight:500;margin-top:6px}
.place p{font-size:15.5px;line-height:1.55;color:var(--on-dark-2)}
.place--src img{width:min(220px,60%);aspect-ratio:220/300;object-fit:cover;border-radius:3px}
.place--src figcaption{font-size:15px;color:var(--on-dark-2)}
.places__arrow{display:none;fill:none;stroke:#8F857C;stroke-width:1.2;stroke-linecap:round}
.mock{height:300px;border-radius:8px;overflow:hidden;color:var(--ink);font-size:14px}
.mock-ig{display:flex;flex-direction:column;border-radius:3px}
.mock-ig img{width:100%;height:224px;object-fit:cover}
.mock-ig div{flex:1;background:var(--paper);padding:14px 18px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.mock-ig i{font-family:var(--serif);font-size:22px;line-height:1.1}
.mock-ig span{font-size:12px;color:var(--ink-2)}
.mock-goo{background:#fff;padding:20px;display:flex;flex-direction:column;gap:6px}
.mock-goo>b{font-size:19px;font-weight:500}
.mock-goo .sm{font-size:13px}
.goo-thumbs{display:flex;gap:6px;margin:6px 0}
.goo-thumbs img{width:84px;height:84px;object-fit:cover;border-radius:4px}
.mock-goo .goo-btns{font-size:12px}
.goo-note{border-top:1px solid #E6E0D9;padding-top:10px;margin-top:auto}
.mock-web{background:var(--bg);display:flex;flex-direction:column}
.mock-web .web-bar{height:44px;font-size:13px}
.mock-web__body{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.mock-web__body i{font-family:var(--serif);font-size:20px}
.thumbs6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.thumbs6 img{width:100%;height:84px;object-fit:cover;border-radius:3px}
.thumbs6 .hl{outline:2px solid var(--accent);outline-offset:2px}
@media (min-width:640px) and (max-width:1099px){.places__grid{grid-template-columns:1fr 1fr}.place--src img{width:100%;height:300px}}
@media (min-width:1100px){.places__grid{grid-template-columns:220px 56px repeat(3,minmax(0,300px));justify-content:space-between;align-items:start;gap:24px}.place--src img{width:220px;height:300px}.places__arrow{display:block;margin-top:144px}}

/* ---------- pricing ---------- */
.pricing{position:relative;overflow:hidden;background:#2A211C;color:var(--paper);padding-block:var(--sec)}
.pricing__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pricing__shade{position:absolute;inset:0;background:rgba(20,14,11,.6)}
.pricing__inner{position:relative}
.how{margin-top:44px;display:grid;gap:18px}
.how li{border-top:1px solid rgba(250,247,243,.6);padding-top:16px;display:flex;gap:14px}
.how .num{font-size:28px;color:var(--rose)}
.how h3{font-size:17px;font-weight:500;line-height:1.3}
.how p{margin-top:4px;font-size:14.5px;line-height:1.55;color:#E6DDD4}
@media (min-width:900px){.how{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.rule{margin-top:56px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.rule h3{font-size:15px;font-weight:500}
.rule span{font-size:14px;color:#E6DDD4}
.rule::after{content:"";flex:1 1 60px;height:1px;background:rgba(250,247,243,.5)}
.badges{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}
.badge{font-size:14px;border-radius:999px;padding:7px 14px;line-height:1.35}
.badge--rose{background:var(--rose);color:var(--ink)}
.badge--line{border:1px solid rgba(250,247,243,.6);padding:6px 14px}
.plans{margin-top:20px;display:grid;gap:16px;color:var(--ink)}
@media (min-width:720px){.plans{grid-template-columns:1fr 1fr;gap:20px}}
@media (min-width:1200px){.plans{grid-template-columns:repeat(4,minmax(0,1fr))}}
.plan{background:var(--paper);border-radius:6px;padding:26px;display:flex;flex-direction:column;gap:14px}
.plan--dark{background:var(--dark-2);color:var(--on-dark)}
.tag{align-self:flex-start;font-size:11.5px;border-radius:999px;padding:4px 10px;line-height:1.3}
.tag--line{border:1px solid #C9BEB2;padding:3px 10px}
.tag--rose{background:var(--rose);color:var(--ink)}
.tag--dark{background:var(--ink);color:var(--paper)}
.plan__name{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;line-height:1}
.plan__name span{display:block;margin-top:6px;font-family:var(--sans);font-style:normal;font-size:13.5px;line-height:1.35;color:var(--ink-2)}
.plan--dark .plan__name span{color:var(--on-dark-2)}
.plan__price{font-size:15px}
.plan__price b{font-size:40px;font-weight:300;letter-spacing:-.03em;line-height:1;margin-right:6px}
.plan__terms{margin-top:-4px;font-size:13px;line-height:1.45;color:var(--ink-2)}
.plan--dark .plan__terms{color:var(--on-dark-2)}
.plan__list{font-size:14.5px;line-height:1.4}
.plan__list li{padding:9px 0;border-top:1px solid var(--line)}
.plan--dark .plan__list li{border-color:#3A3431}
.plan__list .gain{font-weight:500;color:var(--accent)}
.plan--dark .plan__list .gain{color:var(--rose)}
.plan__list .off{color:var(--ink-3)}
.plan .btn{margin-top:auto;width:100%}
.once{margin-top:20px;display:grid;gap:16px;color:var(--ink)}
@media (min-width:1000px){.once{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.once__card{background:var(--paper);border-radius:6px;padding:26px 28px;display:flex;flex-direction:column;gap:14px}
.once__card--sand{background:var(--sand);gap:10px}
.once__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.once__top h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(26px,2.2vw,30px);line-height:1}
.once__top b{font-size:clamp(30px,2.6vw,36px);font-weight:300;letter-spacing:-.03em;white-space:nowrap}
.once__card>p{font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.plus{display:flex;flex-direction:column;gap:6px;font-size:13px}
.plus li{background:var(--ink);color:var(--paper);border-radius:4px;padding:6px 10px}
.once__small{font-size:16px;font-weight:500}
.extras div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line-2);font-size:14.5px;line-height:1.4}
.extras dd{white-space:nowrap}
.pricing__notes{margin-top:32px;max-width:1100px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.6}

/* ---------- safe / case / about / steps ---------- */
.safe{padding-bottom:clamp(40px,5vw,72px)}
.safe .cols4{margin-top:48px}
.case__grid{display:grid;gap:40px}
.case__media{position:relative;width:min(100%,520px)}
.case__main{width:84%;aspect-ratio:440/600;object-fit:cover;border-radius:999px 999px 0 0}
.case__small{position:absolute;right:0;bottom:6%;width:37%;aspect-ratio:190/250;object-fit:cover;border-radius:999px 999px 0 0;border:8px solid var(--bg)}
.case__note{position:absolute;left:14px;top:14px;font-size:12px;background:var(--paper);padding:5px 11px;border-radius:999px}
.case__copy{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.case__quote{border-top:1px solid var(--ink);padding-top:24px;display:flex;flex-direction:column;gap:12px}
.case__quote p{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1.3;text-wrap:pretty}
.case__quote footer{font-size:14px;color:var(--ink-2)}
@media (min-width:1000px){.case__grid{grid-template-columns:520px minmax(0,1fr);gap:96px;align-items:center}}
.about{border-top:1px solid var(--line)}
.about__grid{display:grid;gap:36px}
.about__photo{display:block;width:min(100%,400px);height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;background:#D8C6B5;border-radius:999px 999px 0 0}
.about__copy{display:flex;flex-direction:column;gap:22px}
.stats{display:flex;gap:clamp(24px,5vw,56px);padding-top:22px;border-top:1px solid var(--line)}
.stats div{display:flex;flex-direction:column-reverse;gap:4px}
.stats dd{font-size:clamp(32px,3vw,40px);font-weight:300;letter-spacing:-.03em;line-height:1}
.stats dt{font-size:13.5px;color:var(--ink-2)}
@media (min-width:1000px){.about__grid{grid-template-columns:400px minmax(0,1fr);gap:96px;align-items:center}}

/* ---------- faq ---------- */
.faq__grid{display:grid;gap:36px}
.faq__intro{display:flex;flex-direction:column;gap:20px}
@media (min-width:1000px){.faq__grid{grid-template-columns:minmax(0,400px) minmax(0,760px);justify-content:space-between;align-items:start}.faq__intro{position:sticky;top:120px}}
.faq__list{border-bottom:1px solid var(--line)}
.faq__list details{border-top:1px solid var(--line)}
.faq__list details:first-child{border-top-color:var(--ink)}
.faq__list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;padding:20px 0;font-size:clamp(17px,1.5vw,21px);font-weight:500;line-height:1.35}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary::after{content:"";flex:none;width:16px;height:16px;background:linear-gradient(currentColor,currentColor) center/100% 1.4px no-repeat,linear-gradient(currentColor,currentColor) center/1.4px 100% no-repeat;transition:transform .3s var(--ease)}
.faq__list details[open] summary::after{transform:rotate(45deg)}
.faq__list summary:hover{color:var(--accent)}
.faq__a{padding-bottom:22px;display:flex;flex-direction:column;gap:10px;max-width:680px;font-size:16.5px;line-height:1.65;color:var(--ink-2)}
.faq__a b{color:var(--ink)}
.faq__list details.is-anim .faq__a{overflow:hidden}

/* ---------- audit form ---------- */
.audit__grid{display:grid;gap:36px}
.audit__grid>div{display:flex;flex-direction:column;gap:22px}
@media (min-width:1000px){.audit__grid{grid-template-columns:minmax(0,560px) minmax(0,520px);justify-content:space-between;align-items:start}}
.form{background:var(--paper);border-radius:6px;padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:14.5px;font-weight:500}
.field input{height:54px;padding:0 16px;border:1px solid #B5A99C;border-radius:4px;background:#fff;font:inherit;font-size:16px;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field input::placeholder{color:#8A8078}
.field input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(142,31,43,.18)}
.field input[aria-invalid="true"]{border-color:var(--accent)}
.field__err{font-size:13.5px;color:var(--accent)}
.check{display:flex;gap:12px;align-items:flex-start}
.check input{flex:none;margin:2px 0 0;width:22px;height:22px;accent-color:var(--ink)}
.check label{font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__status{font-size:15px;line-height:1.5;min-height:0}
.form__status.ok{color:#2F5D3A}
.form__status.err{color:var(--accent)}
.form button[disabled]{opacity:.6;cursor:progress}

/* ---------- contact / footer ---------- */
.contact{position:relative;overflow:hidden;background:var(--dark);color:var(--on-dark);padding-top:var(--sec)}
.contact__top{display:flex;flex-direction:column;gap:32px}
.contact__cta{display:flex;flex-direction:column;gap:16px}
.contact__lines{font-size:15px;color:var(--on-dark-2)}
.contact__lines a{text-decoration:none;color:var(--on-dark-2);padding:10px 0;display:inline-block}
.contact__lines a:hover{color:var(--paper);text-decoration:underline}
@media (min-width:900px){.contact__top{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:48px}.contact__top .h2{flex:1 1 auto;max-width:880px}.contact__cta{flex:none}.contact__cta{align-items:flex-end}}
.footer-bar{margin-top:clamp(56px,8vw,110px);padding-top:22px;border-top:1px solid #2A2522;display:flex;flex-direction:column;gap:18px;font-size:14px;color:var(--on-dark-2)}
.footer-link{color:var(--on-dark-2)}
.footer-note{margin-top:6px;font-size:13px;color:#8F857C}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 28px}
.footer-nav a{color:var(--on-dark-2);text-decoration:none;padding:6px 0;display:inline-block}
.footer-nav a:hover{color:var(--paper);text-decoration:underline}
.footer-nav li{display:flex;align-items:center}
.footer-nav li[hidden]{display:none}
@media (min-width:900px){.footer-bar{flex-direction:row;justify-content:space-between;align-items:flex-start}}
.contact__mark{position:relative;font-size:clamp(104px,24.4vw,352px);font-weight:500;line-height:.78;letter-spacing:-.055em;margin:clamp(32px,4vw,56px) 0 .03em clamp(10px,2.9vw,42px);white-space:nowrap;user-select:none;color:var(--on-dark)}

/* ---------- sticky mobile CTA ---------- */
.sticky-cta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:none;align-items:center;justify-content:center;min-height:54px;border-radius:999px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:500;box-shadow:0 12px 30px rgba(0,0,0,.25);transform:translateY(160%);transition:transform .4s var(--ease)}
.sticky-cta:hover{color:var(--paper)}
.sticky-cta{visibility:hidden;transition:transform .4s var(--ease),visibility 0s .4s}
.sticky-cta.is-on{transform:none;visibility:visible;transition:transform .4s var(--ease)}
@media (max-width:759px){.sticky-cta{display:flex}}

/* ---------- reveal on scroll ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* ---------- parallax backgrounds ---------- */
[data-parallax]{--px:12vh}
.js [data-parallax]{top:calc(-1 * var(--px));bottom:auto;height:calc(100% + 2 * var(--px));inset-inline:0;will-change:transform;transform:translate3d(0,var(--py,0px),0)}
.hero__img[data-parallax]{position:absolute}
.hero__img[data-parallax] img{position:absolute;inset:0;width:100%;height:100%}
@media (prefers-reduced-motion:reduce){.js [data-parallax]{top:0;height:100%;transform:none;will-change:auto}}

@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none}
  .bz,.hub-lines path{animation:none!important}
  .sc-good,.sc-web,.sc-goo{opacity:1}
  .sc-bad{opacity:.3}
  .btn,.site-header,.sticky-cta{transition:none}
}
/* ---------- zgoda na cookies ---------- */
.cc{position:fixed;z-index:60;left:max(16px,env(safe-area-inset-left));right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:440px;background:var(--dark-2);color:var(--on-dark);border-radius:10px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:14px;transform:translateY(calc(100% + 24px));opacity:0;transition:transform .55s var(--ease),opacity .4s}
.cc.is-in{transform:none;opacity:1}
.cc[hidden]{display:none}
.cc__title{font-size:20px;font-weight:500;line-height:1;letter-spacing:-.01em;text-transform:uppercase}
.cc__title em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--rose);font-size:1.12em}
.cc__text{font-size:14.5px;line-height:1.55;color:var(--on-dark-2)}
.cc__text a{color:var(--paper)}
.cc__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cc__actions .btn{min-height:48px;padding:0 14px;font-size:15px;font-weight:500;white-space:normal;text-align:center}
.cc__more{align-self:center;background:none;border:0;color:var(--on-dark-2);font-size:14px;text-decoration:underline;text-underline-offset:.3em;min-height:44px;padding:0 8px}
.cc__more:hover{color:var(--paper)}
@media (max-width:520px){.cc{left:12px;right:12px;padding:18px 18px 10px;gap:12px}.cc__text{font-size:14px}}
@media (max-width:340px){.cc__actions{grid-template-columns:1fr}}
.ccp{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(14,12,11,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.ccp.is-in{opacity:1}
.ccp[hidden]{display:none}
.ccp__panel{width:min(560px,100%);max-height:calc(100svh - 32px);overflow:auto;background:var(--paper);color:var(--ink);border-radius:10px;padding:clamp(22px,4vw,34px);display:flex;flex-direction:column;gap:18px;transform:translateY(16px);transition:transform .45s var(--ease)}
.ccp.is-in .ccp__panel{transform:none}
.ccp__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ccp__title{font-size:clamp(24px,3vw,30px);font-weight:500;line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.ccp__title em{display:block;margin-top:.12em;font-family:var(--serif);font-weight:400;text-transform:none;color:var(--accent);font-size:1.1em}
.ccp__close{flex:none;width:44px;height:44px;margin:-8px -8px 0 0;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.ccp__close:hover{background:var(--bg)}
.ccp__close svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.ccp__lead{font-size:15px;line-height:1.55;color:var(--ink-2)}
.ccp__list{border-bottom:1px solid var(--line)}
.ccp__item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line)}
.ccp__item h3{font-size:16px;font-weight:500}
.ccp__item p{margin-top:4px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.ccp__always{flex:none;font-size:13px;color:var(--ink-2);white-space:nowrap}
.sw{flex:none;position:relative;width:52px;height:30px;border-radius:999px;border:1px solid #B5A99C;background:var(--bg);padding:0;transition:background-color .25s,border-color .25s}
.sw__knob{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .3s var(--ease)}
.sw[aria-checked="true"]{background:var(--accent);border-color:var(--accent)}
.sw[aria-checked="true"] .sw__knob{transform:translateX(22px)}
.ccp__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ccp__actions .btn{min-height:50px;padding:0 14px;white-space:normal;text-align:center}
.ccp__actions [data-ccp-save]{grid-column:1/-1}
@media (max-width:520px){.ccp{align-items:flex-end;padding:0}.ccp__panel{border-radius:14px 14px 0 0;max-height:92svh;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.ccp__actions{grid-template-columns:1fr}}
.footer-btn{background:none;border:0;padding:6px 0;color:var(--on-dark-2);font-size:14px;cursor:pointer}
.footer-btn:hover{color:var(--paper);text-decoration:underline}
@media (prefers-reduced-motion:reduce){.cc,.ccp,.ccp__panel,.sw__knob{transition:none}}

/* ---------- limit nowych klientek ---------- */
.hero__cap{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:rgba(250,247,243,.92);min-height:1.5em}
/* linijka pojawia się po wczytaniu JSON-a; miejsce jest zarezerwowane od początku, żeby tekst hero nie podskakiwał (CLS 0) */
.hero__cap.is-pending{visibility:hidden}
.hero__cap .dot{margin-top:calc(.75em - 4px)}
@media (max-width:520px){.hero__cap{min-height:3em}}
.dot{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:#8FD19E}
.dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid #8FD19E;animation:dotPulse 2.4s var(--ease) infinite}
.hero__cap.is-full .dot,.hero__cap.is-full .dot::after{background:var(--rose);border-color:var(--rose)}
@keyframes dotPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.8);opacity:0}}
.cap{margin-top:18px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px}
.cap__slots{display:flex;gap:6px}
.cap__slots li{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--rose)}
.cap__slots li.is-taken{background:var(--rose)}
.cap__text{font-size:15px;line-height:1.5;color:#E6DDD4;max-width:760px}
.cap__text b{color:var(--paper);font-weight:500}

/* ---------- realizacje: karuzela ---------- */
.work{background:var(--bg)}
.work__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.work__nav{display:flex;align-items:center;gap:10px}
.work__nav[hidden]{display:none}
.work__count{margin-right:10px;font-size:15px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.work__count b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:28px;color:var(--accent)}
.work__arrow{width:52px;height:52px;border-radius:50%;border:1px solid var(--ink);background:transparent;display:inline-flex;align-items:center;justify-content:center;transition:background-color .25s,color .25s,transform .25s var(--ease)}
.work__arrow svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.work__arrow:hover{background:var(--ink);color:var(--paper)}
.work__arrow:active{transform:scale(.94)}
.work__carousel{margin-top:clamp(32px,4vw,56px);touch-action:pan-y}
.work__slides{display:grid}
.slide{grid-area:1/1;display:grid;gap:40px;align-items:center;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s,visibility 0s .35s}
.slide.is-active{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .2s}
.slide__media{position:relative;width:min(100%,520px)}
.slide__arch{width:84%;aspect-ratio:440/600;object-fit:cover;border-radius:999px 999px 0 0}
.slide__small{position:absolute;right:0;bottom:6%;width:37%;aspect-ratio:190/250;object-fit:cover;border-radius:999px 999px 0 0;border:8px solid var(--bg)}
.slide__note{position:absolute;left:14px;top:14px;font-size:12px;background:var(--paper);padding:5px 11px;border-radius:999px}
.slide__copy{display:flex;flex-direction:column;gap:22px;align-items:flex-start;min-width:0}
.slide__links{display:flex;flex-wrap:wrap;gap:10px 28px}
.slide__tag{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);display:flex;align-items:center;gap:10px}
.slide__tag::before{content:"";width:28px;height:1px;background:currentColor}
.slide__title{font-weight:500;font-size:clamp(32px,3.6vw,52px);line-height:.96;letter-spacing:-.02em;text-transform:uppercase}
.slide__title em{display:block;margin-top:.14em;font-family:var(--serif);font-weight:400;font-size:1.04em;text-transform:none;color:var(--accent)}
.slide__quote{border-top:1px solid var(--ink);padding-top:22px;display:flex;flex-direction:column;gap:12px;align-self:stretch}
.slide__quote p{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2vw,27px);line-height:1.3;text-wrap:pretty}
.slide__quote footer{font-size:14px;color:var(--ink-2)}
.slide__stats{display:flex;flex-wrap:wrap;gap:18px clamp(28px,4vw,48px);align-self:stretch;padding-top:20px;border-top:1px solid var(--line)}
.slide__stats div{display:flex;flex-direction:column-reverse;gap:8px}
.slide__stats dt{font-size:14px;line-height:1.4;color:var(--ink-2);max-width:15em}
.slide__stats dd{margin:0;font-family:var(--serif);font-style:italic;color:var(--accent);font-size:clamp(46px,5vw,64px);line-height:1}
.cnt{white-space:nowrap}
.cnt__box{position:relative;display:inline-block}
.cnt__ghost{visibility:hidden}
.cnt__run{position:absolute;left:0;top:0}
.slide__src{font-size:12.5px;color:var(--ink-2);margin-top:-8px}
@media (min-width:1000px){.slide{grid-template-columns:520px minmax(0,1fr);gap:96px}}
/* Instagram */
.ig-pair{position:relative;display:flex;justify-content:center;padding:18px 0 28px;min-height:100%}
.ig{--r:0deg;position:relative;width:min(46%,250px);background:#fff;color:#111;border-radius:12px;box-shadow:0 30px 60px rgba(60,40,30,.18);text-decoration:none;display:flex;flex-direction:column;transform:rotate(var(--r));transition:transform .45s var(--ease),box-shadow .45s}
.ig + .ig{margin-left:-6%;margin-top:14%}
.ig:nth-child(1){--r:-4deg;z-index:1}
.ig:nth-child(2){--r:3.5deg;z-index:2}
.ig:hover{color:#111;transform:rotate(0) translateY(-6px);box-shadow:0 40px 70px rgba(60,40,30,.24);z-index:3}
.ig__head{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;font-weight:500}
.ig__ava{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#F1D5CF,var(--accent));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-style:italic;font-size:13px;flex:none;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #E3B5AE}
.ig__more{margin-left:auto;letter-spacing:1px;color:#555}
.ig__img{position:relative;aspect-ratio:1/1;overflow:hidden}
.ig__img img{width:100%;height:100%;object-fit:cover}
.ig__chip{position:absolute;left:10px;bottom:10px;background:var(--paper);color:var(--ink);font-family:var(--serif);font-style:italic;font-size:15px;padding:4px 11px;border-radius:999px}
.ig__icons{display:flex;gap:12px;padding:10px 12px 4px}
.ig__icons svg{width:20px;height:20px;fill:none;stroke:#111;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ig__icons .save{margin-left:auto}
.ig__cap{margin:2px 12px 12px;font-size:12px;line-height:1.45;color:#222}
.ig__cap b{font-weight:600;margin-right:4px}
.ig__open{display:block;padding:9px 12px;border-top:1px solid #EFEFEF;font-size:12px;font-weight:500;color:var(--accent)}
.slide--ig .slide__media{width:min(100%,560px)}
.slide--ig .slide__note{left:auto;right:6px;top:0;z-index:4}
.ig__cap{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:599px){
  .ig{width:62%}
  .ig + .ig{margin-left:-24%;margin-top:26%}
  .ig-pair{justify-content:flex-start;padding-bottom:8px}
  .ig__head{font-size:12px;padding:8px 10px}
  .ig__icons{padding:8px 10px 2px;gap:10px}
  .ig__icons svg{width:18px;height:18px}
  .ig__cap{margin:2px 10px 10px;font-size:11.5px}
  .ig:nth-child(1){z-index:2}
  .ig:nth-child(2){z-index:1}
  .ig__open{padding:8px 10px;font-size:11.5px}
}
.work__dots{display:flex;justify-content:center;gap:4px;margin-top:28px}
.work__dots[hidden]{display:none}
.work__dots button{width:44px;height:44px;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;padding:0}
.work__dots button::before{content:"";width:28px;height:3px;border-radius:2px;background:var(--line);transition:background-color .3s,width .3s var(--ease)}
.work__dots button[aria-current="true"]::before{background:var(--accent);width:40px}

/* animacje elementów slajdu */
.js .slide:not(.is-in) [data-a]{opacity:0}
.js .slide.is-in [data-a]{animation:aUp .9s var(--ease) backwards;animation-delay:calc(var(--a,0) * 90ms)}
.slide [data-a="1"]{--a:1}.slide [data-a="2"]{--a:2}.slide [data-a="3"]{--a:3}.slide [data-a="4"]{--a:4}.slide [data-a="5"]{--a:5}.slide [data-a="6"]{--a:6}
.js .slide.is-in .slide__copy [data-a]{animation-name:aSide}
.js .slide.is-in .slide__arch{animation-name:aReveal;animation-duration:1.15s}
.js .slide.is-in .slide__small{animation-name:aPop}
.js .slide.is-in .ig{animation-name:aCard;animation-duration:1s}
@keyframes aUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes aSide{from{opacity:0;transform:translateX(calc(var(--dir,1) * 36px))}to{opacity:1;transform:none}}
@keyframes aReveal{from{opacity:1;clip-path:inset(100% 0 0 0);transform:scale(1.1)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes aPop{from{opacity:0;transform:translateY(40px) scale(.92)}to{opacity:1;transform:none}}
@keyframes aCard{from{opacity:0;transform:translateY(70px) rotate(0)}to{opacity:1;transform:rotate(var(--r))}}
@media (prefers-reduced-motion:reduce){
  .js .slide:not(.is-in) [data-a]{opacity:1}
  .js .slide.is-in [data-a]{animation:none}
  .slide,.slide.is-active,.ig,.work__dots button::before{transition:none}
  .dot::after{animation:none}
}

@media print{.site-header,.sticky-cta,.grain,.scene-wrap,.cc,.ccp{display:none}.js .rv{opacity:1;transform:none}}
.transform{overflow:hidden}

main:focus{outline:none}
[tabindex="-1"]:focus{outline:none}

/* duże napisy „biutniq” pod treścią: nie zasłaniają linków ani zaznaczania */
.contact__mark,.hero__mark{position:relative;z-index:0;pointer-events:none}
.contact .wrap,.footer-bar,.hero__copy{position:relative;z-index:1}
