/* ============================================================
   DERMIS — Tarnobrzeg | beauty premium (nude/róż/złoto)
   Display: Cormorant Garamond · Body: Jost (self-hosted woff2)
   ============================================================ */

/* ---------- Fonts (self-host) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/cormorant-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/cormorant-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/cormorant-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/cormorant-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/jost-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/jost-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/jost-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/jost-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/jost-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/jost-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- Tokens ---------- */
:root{
  --ivory:#FBF6F1;        /* tło główne */
  --cream:#F7EEE7;        /* sekcja alt */
  --blush:#F4E6E3;        /* surface różowy */
  --blush-deep:#EBD2CC;   /* obwódki/akcent miękki */
  --plum:#3B2A33;         /* tekst główny (na ivory ~11:1) */
  --plum-soft:#6A5560;    /* tekst drugorzędny (na ivory ~5.4:1) */
  --rose:#A1546A;         /* primary (na ivory ~4.6:1 AA) */
  --rose-deep:#8C4655;    /* primary hover / na blush */
  --gold:#A98142;         /* akcent złoty (na ivory ~4.6:1) */
  --gold-ink:#7E5E2C;     /* złoto-tekst na blush (mocniejszy kontrast) */
  --line:#E7D8CF;         /* delikatne linie */
  --line-strong:#D8C3B8;
  --white:#FFFFFF;
  --ink-on-dark:#FBF6F1;

  --maxw:1160px;
  --r-sm:12px; --r:18px; --r-lg:26px; --r-xl:34px;
  --shadow-sm:0 2px 10px rgba(59,42,51,.06);
  --shadow:0 14px 40px -18px rgba(59,42,51,.28);
  --shadow-lg:0 30px 70px -30px rgba(59,42,51,.34);
  --ease:cubic-bezier(.22,.61,.36,1);
  --space:clamp(3.4rem,8vw,6.2rem);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-weight:400;font-size:1.0625rem;line-height:1.7;color:var(--plum);
  background:var(--ivory);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none;padding:0;margin:0}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px;border-radius:6px}

/* baza ikon — siatka bezpieczeństwa */
.ico{width:1.3em;height:1.3em;flex:none;stroke-width:1.6}

/* ---------- Typografia ---------- */
h1,h2,h3,h4{font-family:'Cormorant Garamond','Georgia',serif;font-weight:600;line-height:1.08;color:var(--plum);letter-spacing:.005em}
h1{font-size:clamp(2.6rem,7vw,4.6rem);font-weight:500}
h2{font-size:clamp(2rem,4.6vw,3.05rem);font-weight:500}
h3{font-size:clamp(1.4rem,2.6vw,1.85rem)}
p{max-width:64ch}
.lead{font-size:clamp(1.1rem,2.2vw,1.32rem);color:var(--plum-soft);line-height:1.62}
.eyebrow{font-family:'Jost',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-ink);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);display:inline-block}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- Layout ---------- */
.wrap{width:min(100% - 2.4rem,var(--maxw));margin-inline:auto}
.section{padding-block:var(--space);position:relative}
.section--cream{background:var(--cream)}
.section--blush{background:linear-gradient(180deg,var(--blush) 0%,#F8EDE9 100%)}
.section--plum{background:linear-gradient(150deg,#42303A 0%,#2F2129 100%);color:var(--ink-on-dark)}
.section--plum h1,.section--plum h2,.section--plum h3{color:#FBF1EF}
.section__head{max-width:62ch;margin-bottom:clamp(2rem,4vw,3.2rem)}
.section__head .lead{margin-top:1rem}
.center{text-align:center;margin-inline:auto}
.center .eyebrow{justify-content:center}
.center p{margin-inline:auto}

/* skip link */
.skip{position:absolute;left:50%;top:-60px;transform:translateX(-50%);background:var(--plum);
  color:var(--ivory);padding:.7rem 1.2rem;border-radius:0 0 10px 10px;z-index:1200;transition:top .2s}
.skip:focus{top:0}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;white-space:nowrap;
  font-weight:500;font-size:1rem;letter-spacing:.01em;padding:.92rem 1.7rem;border-radius:999px;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .25s var(--ease);
  cursor:pointer;border:1.5px solid transparent;line-height:1}
.btn .ico{width:1.15em;height:1.15em}
.btn--primary{background:var(--rose);color:#fff;box-shadow:0 12px 26px -12px rgba(168,91,107,.7)}
.btn--primary:hover{background:var(--rose-deep);transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(140,70,85,.7)}
.btn--ghost{border-color:var(--line-strong);color:var(--plum);background:rgba(255,255,255,.5)}
.btn--ghost:hover{border-color:var(--rose);color:var(--rose-deep);transform:translateY(-2px)}
.btn--gold{background:var(--gold-ink);color:#fff}
.btn--gold:hover{background:#674c22;transform:translateY(-2px)}
.btn--lg{padding:1.05rem 2.1rem;font-size:1.06rem}
.on-dark .btn--ghost{border-color:rgba(251,246,241,.4);color:#FBF1EF;background:rgba(255,255,255,.06)}
.on-dark .btn--ghost:hover{border-color:#fff;color:#fff}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:1000;background:rgba(251,246,241,.86);
  backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line)}
.header__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}
.brand{display:inline-flex;align-items:center;gap:.7rem}
.brand__mark{width:42px;height:42px;flex:none}
.brand__name{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.7rem;letter-spacing:.16em;color:var(--plum);line-height:1}
.brand__tag{display:block;font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold-ink);margin-top:.15rem;font-weight:500}

.nav{display:flex;align-items:center;gap:.2rem}
.nav__list{display:flex;align-items:center;gap:.1rem}
.nav__list a{display:inline-block;padding:.55rem .8rem;font-size:.96rem;font-weight:500;color:var(--plum);
  border-radius:999px;white-space:nowrap;transition:color .2s,background .2s;position:relative}
.nav__list a:hover{color:var(--rose-deep)}
.nav__list a[aria-current="page"]{color:var(--rose-deep)}
.nav__list a[aria-current="page"]::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.32rem;
  height:2px;background:var(--gold);border-radius:2px}
.nav__cta{margin-left:.6rem;display:inline-flex;gap:.5rem;align-items:center}
.nav__phone{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--plum);
  padding:.5rem .7rem;border-radius:999px;white-space:nowrap}
.nav__phone:hover{color:var(--rose-deep)}
.nav__phone .ico{color:var(--rose)}

.burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line-strong);
  align-items:center;justify-content:center;background:rgba(255,255,255,.6)}
.burger span{display:block;width:20px;height:2px;background:var(--plum);position:relative;transition:.25s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--plum);transition:.25s}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

@media (max-width:1040px){
  .nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);transform:translateX(105%);
    background:var(--ivory);flex-direction:column;align-items:stretch;justify-content:flex-start;
    padding:5.4rem 1.6rem 2rem;gap:.3rem;box-shadow:-30px 0 60px -30px rgba(59,42,51,.4);
    transition:transform .34s var(--ease);overflow-y:auto;border-left:1px solid var(--line)}
  .nav.open{transform:translateX(0)}
  .nav__list{flex-direction:column;align-items:stretch;gap:.1rem}
  .nav__list a{padding:.85rem .9rem;font-size:1.08rem;border-radius:12px}
  .nav__list a[aria-current="page"]{background:var(--blush)}
  .nav__list a[aria-current="page"]::after{display:none}
  .nav__cta{margin:1rem 0 0;flex-direction:column;align-items:stretch;gap:.6rem}
  .nav__phone{justify-content:center;border:1px solid var(--line-strong)}
  .nav__cta .btn{width:100%}
  .burger{display:inline-flex}
}
.nav__scrim{position:fixed;inset:0;background:rgba(47,33,41,.5);opacity:0;visibility:hidden;
  transition:opacity .3s;z-index:999}
.nav__scrim.show{opacity:1;visibility:visible}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 82% 8%,var(--blush) 0%,transparent 55%),
  radial-gradient(90% 70% at 8% 100%,#F8EAE6 0%,transparent 60%),var(--ivory)}
.hero__inner{padding-block:clamp(3.4rem,8vw,6rem) clamp(3.4rem,8vw,6rem);position:relative;z-index:2}
.hero__grid{display:grid;gap:clamp(2.4rem,5vw,4rem);align-items:center}
@media (min-width:920px){.hero__grid{grid-template-columns:1.15fr .85fr}}
.hero h1{margin:.9rem 0 1.1rem}
.hero h1 em{font-style:italic;color:var(--rose)}
.hero__lead{max-width:52ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.hero__trust{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.3rem}
.pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.7);
  border:1px solid var(--line);border-radius:999px;padding:.5rem .95rem;font-size:.9rem;
  font-weight:500;color:var(--plum)}
.pill .ico{width:1.05em;height:1.05em;color:var(--gold)}

/* hero art – dekoracyjny "flakon/krzywizna" rysowany CSS/SVG, NIE fake-foto */
.hero__art{position:relative;aspect-ratio:4/5;border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(155deg,#F6E4DF 0%,#EFD7D0 48%,#E9CBC3 100%);
  box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.6)}
.hero__art svg{position:absolute;inset:0;width:100%;height:100%}
.hero__badge{position:absolute;left:1.1rem;bottom:1.1rem;background:rgba(255,255,255,.92);
  border-radius:var(--r);padding:.85rem 1.1rem;box-shadow:var(--shadow-sm);display:flex;
  align-items:center;gap:.75rem;max-width:80%}
.hero__badge .ico{color:var(--rose);width:1.6em;height:1.6em}
.hero__badge b{font-family:'Jost';font-weight:600;font-size:.95rem;color:var(--plum);display:block;line-height:1.2}
.hero__badge span{font-size:.8rem;color:var(--plum-soft)}

/* ---------- Trust strip ---------- */
.trust-strip{display:grid;gap:1px;background:var(--line);border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.trust-strip{grid-template-columns:repeat(4,1fr)}}
.trust-strip .ts{background:var(--ivory);padding:1.5rem 1.2rem;text-align:center}
.section--cream .trust-strip .ts{background:var(--cream)}
.trust-strip .ts .ico{color:var(--gold);width:1.7em;height:1.7em;margin:0 auto .55rem}
.trust-strip .ts b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--plum)}
.trust-strip .ts span{font-size:.86rem;color:var(--plum-soft);line-height:1.4;display:block;margin-top:.2rem}

/* ---------- Pillars / cards ---------- */
.grid{display:grid;gap:1.4rem}
.grid--3{grid-template-columns:1fr}
@media (min-width:680px){.grid--3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.grid--3{grid-template-columns:repeat(3,1fr)}}
.grid--2{grid-template-columns:1fr}
@media (min-width:760px){.grid--2{grid-template-columns:repeat(2,1fr)}}

.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.9rem 1.7rem;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
  display:flex;flex-direction:column;height:100%}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--blush-deep)}
.card__ico{width:54px;height:54px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--blush);color:var(--rose-deep);margin-bottom:1.15rem}
.card__ico .ico{width:1.7em;height:1.7em}
.card h3{margin-bottom:.55rem}
.card p{color:var(--plum-soft);font-size:1rem}
.card__link{margin-top:1.2rem;display:inline-flex;align-items:center;gap:.45rem;font-weight:600;
  color:var(--rose-deep);font-size:.95rem}
.card__link .ico{width:1.05em;height:1.05em;transition:transform .25s}
.card:hover .card__link .ico{transform:translateX(4px)}

/* pillar – większa karta z numerem */
.pillar{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.pillar:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.pillar__top{padding:1.7rem 1.7rem 0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.pillar__num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--blush-deep);line-height:1;font-weight:600}
.pillar__body{padding:1.1rem 1.7rem 1.8rem}
.pillar__body h3{margin-bottom:.5rem}
.pillar__body p{color:var(--plum-soft);font-size:1rem}
.pillar__ico{width:52px;height:52px;border-radius:14px;background:var(--blush);color:var(--rose-deep);
  display:inline-flex;align-items:center;justify-content:center}
.pillar__ico .ico{width:1.6em;height:1.6em}

/* ---------- Treatment list ---------- */
.treat{display:grid;gap:1.1rem}
.treat__item{background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:1.4rem 1.5rem;display:flex;gap:1.1rem;align-items:flex-start;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.treat__item:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--blush-deep)}
.treat__dot{flex:none;width:42px;height:42px;border-radius:50%;background:var(--blush);color:var(--rose-deep);
  display:inline-flex;align-items:center;justify-content:center;margin-top:.1rem}
.treat__dot .ico{width:1.35em;height:1.35em}
.treat__item h3{font-size:1.32rem;margin-bottom:.3rem}
.treat__item p{color:var(--plum-soft);font-size:.98rem;margin:0}
.treat__tag{display:inline-block;margin-top:.6rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;
  color:var(--gold-ink);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:.18rem .7rem}

/* ---------- Feature split ---------- */
.split{display:grid;gap:clamp(2rem,5vw,3.6rem);align-items:center}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr}.split--rev .split__media{order:-1}}
.split__media{aspect-ratio:5/4;border-radius:var(--r-xl);overflow:hidden;position:relative;
  background:linear-gradient(150deg,#F2DED9,#E8CBC3);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.6)}
.split__media svg{position:absolute;inset:0;width:100%;height:100%}
.split ul.checks{margin-top:1.4rem;display:grid;gap:.85rem}
.checks li{display:flex;gap:.7rem;align-items:flex-start;color:var(--plum);font-size:1.02rem}
.checks li .ico{flex:none;color:var(--rose);margin-top:.18rem;width:1.25em;height:1.25em}

/* ---------- Steps ---------- */
.steps{display:grid;gap:1.2rem;counter-reset:step}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.5rem;position:relative}
.section--plum .step{background:rgba(255,255,255,.06);border-color:rgba(251,246,241,.16)}
.step__n{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:600;color:var(--gold);line-height:1;margin-bottom:.6rem}
.section--plum .step__n{color:#E6C06A}
.step h3{font-size:1.3rem;margin-bottom:.4rem}
.section--plum .step p{color:#E8DCE0}
.step p{color:var(--plum-soft);font-size:.96rem;margin:0}

/* ---------- Price list ---------- */
.price-cat{margin-top:2.4rem}
.price-cat__head{display:flex;align-items:center;gap:.85rem;margin-bottom:1.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line-strong)}
.price-cat__head .ico{color:var(--rose);width:1.5em;height:1.5em}
.price-cat__head h3{font-size:1.7rem}
.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.85rem 0;border-bottom:1px dashed var(--line)}
.price-row:last-child{border-bottom:0}
.price-row__name{font-weight:500;color:var(--plum)}
.price-row__name small{display:block;font-weight:400;color:var(--plum-soft);font-size:.88rem;margin-top:.15rem;line-height:1.4}
.price-row__val{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600;color:var(--gold-ink);
  white-space:nowrap;flex:none}
.price-note{margin-top:1.5rem;background:var(--blush);border:1px solid var(--blush-deep);border-radius:var(--r);
  padding:1.2rem 1.4rem;display:flex;gap:.9rem;align-items:flex-start;font-size:.98rem;color:var(--plum)}
.price-note .ico{flex:none;color:var(--rose-deep);width:1.5em;height:1.5em;margin-top:.1rem}

/* ---------- Testimonials / trust panel ---------- */
.quote-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(1.8rem,4vw,3rem);box-shadow:var(--shadow-sm);text-align:center}
.quote-panel .ico--quote{color:var(--blush-deep);width:2.6em;height:2.6em;margin:0 auto 1rem}
.quote-panel p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,3vw,2rem);
  font-style:italic;color:var(--plum);line-height:1.4;max-width:30ch;margin:0 auto 1.4rem}
.quote-panel .src{font-size:.9rem;color:var(--plum-soft);font-weight:500}

/* ---------- CTA band ---------- */
.cta-band{border-radius:var(--r-xl);padding:clamp(2.2rem,5vw,3.6rem);text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(150deg,#42303A 0%,#5A3F4A 100%);color:var(--ink-on-dark)}
.cta-band::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,75,.25),transparent 70%);top:-120px;right:-80px}
.cta-band h2{color:#FBF1EF;position:relative}
.cta-band p{color:#E8DCE0;max-width:48ch;margin:1rem auto 0;position:relative}
.cta-band .hero__cta{justify-content:center;position:relative}

/* ---------- Contact ---------- */
.contact-grid{display:grid;gap:1.8rem}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1fr}}
.info-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem;box-shadow:var(--shadow-sm)}
.info-list{display:grid;gap:1.2rem;margin-top:1.2rem}
.info-list li{display:flex;gap:.9rem;align-items:flex-start}
.info-list .ico{flex:none;width:1.5em;height:1.5em;color:var(--rose);margin-top:.15rem}
.info-list b{display:block;font-weight:600;color:var(--plum);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.1rem}
.info-list a,.info-list span{color:var(--plum-soft)}
.info-list a:hover{color:var(--rose-deep)}
.hours{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:1.2rem}
.hours__row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.98rem}
.hours__row span:first-child{color:var(--plum-soft)}
.hours__row span:last-child{font-weight:600;color:var(--plum)}

/* map – ZAWSZE w swoim kontenerze */
.map-frame{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);
  aspect-ratio:16/11;max-width:100%}
.map-frame iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.15) contrast(1.02)}

/* ---------- Form ---------- */
.form{display:grid;gap:1.1rem}
.field{display:grid;gap:.4rem}
.field label{font-size:.9rem;font-weight:600;color:var(--plum)}
.field label .req{color:var(--rose-deep)}
.field input,.field select,.field textarea{
  font:inherit;font-size:1rem;padding:.85rem 1rem;border-radius:12px;border:1.5px solid var(--line-strong);
  background:var(--white);color:var(--plum);width:100%;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rose);
  box-shadow:0 0 0 4px rgba(168,91,107,.14)}
.field .err{font-size:.85rem;color:#B0283A;display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#B0283A}
.field.invalid .err{display:block}
.form__row{display:grid;gap:1.1rem}
@media (min-width:560px){.form__row{grid-template-columns:1fr 1fr}}
.form__note{font-size:.85rem;color:var(--plum-soft)}
.form__status{padding:1rem 1.2rem;border-radius:12px;font-weight:500;display:none}
.form__status.ok{display:block;background:#E9F3EC;color:#1E5631;border:1px solid #BfD8C6}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--plum-soft)}
.consent input{width:auto;margin-top:.25rem;flex:none}

/* ---------- Footer ---------- */
.footer{background:linear-gradient(180deg,#34242C 0%,#2A1D24 100%);color:#E8DCE0;padding-block:clamp(3rem,6vw,4.4rem) 1.6rem}
.footer a{color:#E8DCE0}.footer a:hover{color:#fff}
.footer__grid{display:grid;gap:2.2rem}
@media (min-width:760px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr}}
.footer .brand__name{color:#FBF1EF}
.footer__about{max-width:36ch;color:#CDB9C2;font-size:.96rem;margin-top:1rem}
.footer h4{font-family:'Jost';font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:#E6C06A;font-weight:600;margin-bottom:1rem}
.footer__links{display:grid;gap:.55rem;font-size:.97rem}
.footer__contact{display:grid;gap:.7rem;font-size:.97rem}
.footer__contact li{display:flex;gap:.6rem;align-items:flex-start}
.footer__contact .ico{flex:none;color:#E6A8B0;width:1.2em;height:1.2em;margin-top:.2rem}
.footer__social{display:flex;gap:.7rem;margin-top:1.3rem}
.footer__social a{width:42px;height:42px;border-radius:12px;border:1px solid rgba(251,246,241,.18);
  display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.footer__social a:hover{background:rgba(251,246,241,.1);border-color:rgba(251,246,241,.4)}
.footer__bottom{margin-top:2.6rem;padding-top:1.5rem;border-top:1px solid rgba(251,246,241,.14);
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;align-items:center;
  font-size:.85rem;color:#B39FAA}
.footer__bottom a{color:#B39FAA;text-decoration:underline;text-underline-offset:3px}

/* ---------- Breadcrumb ---------- */
.crumb{padding-top:1.4rem;font-size:.85rem;color:var(--plum-soft)}
.crumb ol{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.crumb li{display:flex;align-items:center;gap:.4rem}
.crumb li:not(:last-child)::after{content:"/";color:var(--line-strong)}
.crumb a:hover{color:var(--rose-deep)}
.crumb [aria-current]{color:var(--plum);font-weight:600}

/* ---------- Page hero (subpages) ---------- */
.page-hero{background:
  radial-gradient(100% 80% at 90% 0%,var(--blush) 0%,transparent 60%),var(--ivory);
  padding-block:clamp(2.2rem,5vw,3.4rem) clamp(2.8rem,6vw,4.4rem)}
.page-hero h1{margin:.7rem 0 .9rem}
.page-hero .lead{max-width:60ch}

/* ---------- Reveal animations ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}
.reveal[data-d="5"]{transition-delay:.40s}
html.reveal-instant .reveal{opacity:1!important;transform:none!important;transition:none!important}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .btn:hover,.card:hover,.pillar:hover,.treat__item:hover{transform:none!important}
  *{animation-duration:.001ms!important;transition-duration:.05ms!important}
}
