:root{
  --black:#0A0A0A;
  --black2:#151515;
  --black3:#1D1D1D;
  --cream:#F7F3EC;
  --cream2:#F1EAD9;
  --white:#FFFFFF;
  --gold:#C9A56B;
  --gold-light:#E3CDA0;
  --gold-dark:#9C7A4E;
  --ink:#211E1A;
  --gray:#7A756D;
  --border-dark:rgba(255,255,255,.12);
  --border-light:#E5DCC9;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Lato',sans-serif;
  font-weight:300;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Playfair Display',Georgia,serif;
  color:inherit;
  line-height:1.22;
  font-weight:700;
}
em{font-style:italic;font-weight:400;color:var(--gold);}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1120px;margin:0 auto;padding:0 32px;position:relative;}
section{padding:100px 0;position:relative;}
.on-black{background:var(--black);color:rgba(247,243,236,.92);}
.on-black h2, .on-black h3, .on-black h4{color:var(--white);}
.on-cream{background:var(--cream);}
.on-cream2{background:var(--cream2);}
.on-white{background:var(--white);}

.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.eyebrow .line{height:1px;width:34px;background:var(--gold);}
.eyebrow span{font-size:.68rem;letter-spacing:4px;text-transform:uppercase;font-weight:700;color:var(--gold-dark);}
.on-black .eyebrow span{color:var(--gold-light);}
.section-head{max-width:640px;margin:0 auto 54px;text-align:center;}
.section-head.left{text-align:left;margin-left:0;}
.section-head .eyebrow{justify-content:center;}
.section-head.left .eyebrow{justify-content:flex-start;}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem);text-wrap:pretty;}
.section-head p{margin-top:16px;color:var(--gray);font-size:1rem;}
.on-black .section-head p{color:rgba(255,255,255,.55);}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Lato',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:1.5px;text-transform:uppercase;
  padding:16px 30px;border-radius:2px;border:1px solid transparent;
  cursor:pointer;transition:background .2s,transform .12s,border-color .2s,color .2s;
  white-space:nowrap;
}
.btn-gold{background:var(--gold);color:var(--black);}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px);}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.4);color:var(--white);}
.btn-outline-light:hover{border-color:var(--gold);color:var(--gold-light);}
.btn-outline-dark{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-outline-dark:hover{border-color:var(--gold-dark);color:var(--gold-dark);}
.btn-block{width:100%;justify-content:center;}

/* ---------- NAV ---------- */
header.nav{position:sticky;top:0;z-index:1000;background:var(--black);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s;}
header.nav.scrolled{border-color:var(--border-dark);box-shadow:0 8px 24px rgba(0,0,0,.35);}
.nav-inner{max-width:1120px;margin:0 auto;padding:0 32px;height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo-mark{height:34px;display:block;}
.logo-text{display:flex;flex-direction:column;gap:4px;line-height:1;}
.logo-text .lt-name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;letter-spacing:3px;color:var(--white);}
.logo-text .lt-row{display:flex;align-items:center;gap:7px;}
.logo-text .lt-tick{height:1px;width:16px;background:var(--gold);}
.logo-text .lt-sub{font-size:.55rem;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold-light);}
footer .logo-text .lt-name{color:rgba(247,243,236,.85);}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a.nav-link{font-size:.78rem;letter-spacing:.5px;color:rgba(255,255,255,.7);transition:color .2s;}
.nav-links a.nav-link:hover{color:var(--gold-light);}
.nav-cta{font-size:.72rem;padding:11px 22px;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{width:22px;height:1.5px;background:var(--white);display:block;}
.nav-mobile{display:none;}

@media(max-width:900px){
  .nav-links{position:fixed;top:78px;left:0;right:0;background:var(--black);flex-direction:column;align-items:flex-start;gap:0;padding:8px 32px 20px;border-top:1px solid var(--border-dark);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;}
  .nav-links.open{opacity:1;pointer-events:auto;transform:translateY(0);}
  .nav-links a.nav-link{padding:13px 0;width:100%;border-bottom:1px solid var(--border-dark);}
  .nav-links .nav-cta{margin-top:14px;text-align:center;justify-content:center;}
  .nav-toggle{display:flex;}
}

/* ---------- HERO ---------- */
.hero{padding:64px 0 0;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1fr .82fr;gap:56px;align-items:center;padding-bottom:60px;}
.hero-tagline{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;color:var(--gold-light);font-size:1.15rem;margin-bottom:10px;}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.4rem);color:var(--white);letter-spacing:-.01em;margin-bottom:22px;text-wrap:pretty;}
.hero .lead{font-size:1.02rem;color:rgba(255,255,255,.62);max-width:440px;margin-bottom:36px;line-height:1.85;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px;}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap;}
.hero-stats div{border-left:1px solid var(--border-dark);padding-left:16px;}
.hero-stats .num{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:900;color:var(--gold-light);line-height:1;}
.hero-stats .label{font-size:.68rem;color:rgba(255,255,255,.5);margin-top:6px;letter-spacing:.3px;}
.hero-portrait{position:relative;}
.hero-portrait .frame{border-radius:4px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 30px 70px rgba(0,0,0,.5);}
.hero-portrait .frame img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.hero-portrait .frame-edge{position:absolute;inset:14px -14px -14px 14px;border:1px solid rgba(201,165,107,.5);border-radius:4px;z-index:-1;}
.hero-glitter{width:100%;height:140px;background-image:url('grafiki/tlo_4.png');background-size:cover;background-position:center;opacity:1;}
@media(max-width:600px){.hero-glitter{height:90px;}}

/* ---------- USŁUGI ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pillar-card{background:var(--white);border:1px solid var(--border-light);border-radius:6px;padding:38px 30px;text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;}
.pillar-card:hover{border-color:var(--gold);box-shadow:0 16px 40px rgba(28,20,10,.08);transform:translateY(-3px);}
.pillar-featured{border-color:var(--gold);box-shadow:0 16px 40px rgba(201,165,107,.14);}
.pillar-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--black);font-size:.64rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border-radius:100px;white-space:nowrap;}
.icon-circle{width:78px;height:78px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;overflow:hidden;}
.icon-circle img{width:46px;height:46px;object-fit:contain;}
.icon-circle svg{width:36px;height:36px;stroke:var(--ink);fill:none;stroke-width:1.4;}
.pillar-card h3{font-size:1.12rem;margin-bottom:10px;}
.pillar-card p{font-size:.86rem;color:var(--gray);line-height:1.7;margin-bottom:16px;}
.pillar-card .pillar-link{font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--gold-dark);border-bottom:1px solid rgba(156,122,78,.35);padding-bottom:2px;}
.pillar-card .pillar-link:hover{color:var(--ink);border-color:var(--ink);}

/* ---------- METAMORFOZY ---------- */
.gallery-wrap{background:var(--black);}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.photo-sq{width:100%;aspect-ratio:1;overflow:hidden;border-radius:4px;position:relative;background:#000;}
.photo-sq img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.photo-sq.rot img{transform:rotate(90deg);}
.photo-sq.rot180 img{transform:rotate(180deg);}
.photo-sq:hover img{transform:scale(1.06);}
.photo-sq.rot:hover img{transform:rotate(90deg) scale(1.06);}
.photo-sq.rot180:hover img{transform:rotate(180deg) scale(1.06);}
.photo-sq .tag{position:absolute;left:12px;bottom:12px;font-size:.68rem;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--white);background:rgba(10,10,10,.55);padding:6px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.25);}
.gallery-note{text-align:center;font-size:.8rem;color:rgba(255,255,255,.4);margin-top:28px;}

/* ---------- DLACZEGO MY ---------- */
.why-row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center;}
.why-item .icon-circle{border-color:var(--gold-dark);}
.why-item h4{font-size:.92rem;font-weight:700;color:var(--ink);line-height:1.4;}

/* ---------- O MNIE ---------- */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;}
.about-portrait{border-radius:4px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 20px 50px rgba(0,0,0,.45);}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.about-copy p{font-size:.95rem;color:rgba(255,255,255,.72);line-height:1.9;margin-bottom:16px;}
.about-badges{display:flex;gap:24px;flex-wrap:wrap;margin-top:26px;}
.about-badge{font-size:.72rem;letter-spacing:.5px;color:rgba(255,255,255,.55);border-left:1px solid var(--gold-dark);padding-left:12px;}
.about-badge strong{display:block;color:var(--gold-light);font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;}

/* ---------- PROCES ---------- */
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border-light);border-radius:6px;overflow:hidden;}
.step{padding:34px 26px;border-right:1px solid var(--border-light);position:relative;}
.step:last-child{border-right:none;}
.step .step-num{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;color:var(--gold);opacity:.35;margin-bottom:14px;}
.step h4{font-size:.92rem;margin-bottom:8px;}
.step p{font-size:.8rem;color:var(--gray);line-height:1.6;}
@media(max-width:880px){.steps-row{grid-template-columns:1fr 1fr;}.step{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);}.step:nth-child(2n){border-right:none;}}

/* ---------- CENNIK ---------- */
.price-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.price-col{background:var(--white);border:1px solid var(--border-light);border-radius:6px;padding:36px 34px;}
.price-col h3{font-size:1.15rem;margin-bottom:6px;}
.price-col .price-sub{font-size:.78rem;color:var(--gray);margin-bottom:26px;}
.price-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid var(--border-light);}
.price-line:last-of-type{border-bottom:none;}
.price-line .pl-name{font-size:.9rem;color:var(--ink);}
.price-line .pl-name small{display:block;font-size:.74rem;color:var(--gray);margin-top:2px;}
.price-line .pl-val{font-family:'Playfair Display',serif;font-weight:700;color:var(--gold-dark);white-space:nowrap;font-size:.98rem;}
.price-line.pl-featured{background:rgba(201,165,107,.08);margin:0 -20px;padding:14px 20px;border-radius:4px;border-bottom:none;}
.price-line.pl-featured .pl-name .pl-tag{display:inline-block;margin-left:8px;font-size:.6rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--gold-dark);background:rgba(201,165,107,.18);padding:2px 8px;border-radius:100px;vertical-align:middle;}
.price-note{text-align:center;font-size:.82rem;color:var(--gray);margin-top:30px;}

/* ---------- OPINIE ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.testi-card{background:var(--black2);border:1px solid var(--border-dark);border-radius:6px;padding:30px 28px;}
.testi-card .quote-mark{font-family:'Playfair Display',serif;font-size:2.4rem;color:var(--gold-dark);line-height:1;margin-bottom:10px;}
.testi-card blockquote{font-size:.88rem;color:rgba(255,255,255,.8);line-height:1.8;margin-bottom:20px;}
.testi-foot{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--black);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:700;font-size:.9rem;flex-shrink:0;}
.testi-foot .name{font-size:.85rem;font-weight:700;color:var(--white);}
.testi-foot .role{font-size:.7rem;color:rgba(255,255,255,.45);}
.testi-note{text-align:center;font-size:.76rem;color:rgba(255,255,255,.35);margin-top:26px;}
.testi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;padding-top:22px;border-top:1px solid var(--border-dark);}
.testi-mini{padding:0 6px;}
.testi-mini p{font-size:.8rem;font-style:italic;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:8px;}
.testi-mini span{font-size:.72rem;font-weight:700;color:var(--gold-light);}
@media(max-width:900px){.testi-strip{grid-template-columns:1fr;}}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;margin:0 auto;border-top:1px solid var(--border-light);}
.faq-item{border-bottom:1px solid var(--border-light);}
.faq-q{width:100%;background:none;border:none;text-align:left;font-family:'Lato',sans-serif;font-weight:700;font-size:.94rem;padding:22px 4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--ink);}
.faq-q .plus{font-size:1.4rem;font-weight:300;color:var(--gold-dark);transition:transform .3s ease;flex-shrink:0;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a-inner{font-size:.87rem;color:var(--gray);line-height:1.8;padding:0 4px 22px;}

/* ---------- KONTAKT ---------- */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.form-card{background:var(--white);border:1px solid var(--border-light);border-radius:6px;padding:36px 34px;}
.form-row{margin-bottom:16px;}
.form-row label{display:block;font-size:.76rem;font-weight:700;letter-spacing:.4px;color:var(--ink);margin-bottom:7px;text-transform:uppercase;}
.form-row input,.form-row select,.form-row textarea{
  width:100%;border:1px solid var(--border-light);border-radius:2px;padding:12px 14px;
  font-size:.9rem;font-family:'Lato',sans-serif;color:var(--ink);background:var(--cream);outline:none;transition:border-color .2s;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--gold);}
.form-row textarea{resize:vertical;min-height:90px;}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-micro{text-align:center;font-size:.76rem;color:var(--gray);margin-top:16px;}

.contact-side h3{font-size:1.1rem;margin-bottom:18px;}
.contact-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.contact-line .ci{width:34px;height:34px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-line .ci svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.6;}
.contact-line .ct{font-size:.88rem;}
.contact-line .ct .cl-label{font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:var(--gray);margin-bottom:3px;}
.contact-line a.ct-link{font-weight:700;color:var(--gold-dark);}
.contact-line a.ct-link:hover{color:var(--ink);}

.insta-head{display:flex;align-items:center;justify-content:space-between;margin:34px 0 14px;}
.insta-head h4{font-size:.95rem;}
.insta-head a{font-size:.74rem;color:var(--gold-dark);font-weight:700;}
.insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}

/* ---------- FOOTER ---------- */
footer{background:var(--black);padding:50px 0 30px;}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;margin-bottom:34px;}
.footer-logo{height:36px;margin-bottom:14px;}
.footer-about{max-width:280px;font-size:.82rem;color:rgba(255,255,255,.45);line-height:1.7;}
.footer-cols{display:flex;gap:60px;flex-wrap:wrap;}
.footer-col h5{font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light);margin-bottom:16px;}
.footer-col a, .footer-col span{display:block;font-size:.82rem;color:rgba(255,255,255,.55);margin-bottom:11px;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{border-top:1px solid var(--border-dark);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.72rem;color:rgba(255,255,255,.3);}

/* ---------- SCROLL FADE ---------- */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* ---------- PODSTRONA: strona wewnętrzna (breadcrumb, intro) ---------- */
.page-hero{padding:52px 0 46px;}
.breadcrumb{font-size:.76rem;color:rgba(255,255,255,.45);margin-bottom:18px;}
.breadcrumb a{color:rgba(255,255,255,.7);}
.breadcrumb a:hover{color:var(--gold-light);}
.page-hero h1{font-size:clamp(2rem,4vw,2.8rem);color:var(--white);margin-bottom:16px;}
.page-hero .lead{font-size:1rem;color:rgba(255,255,255,.62);max-width:620px;line-height:1.85;}
.price-cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:980px){.price-cols-3{grid-template-columns:1fr;}}

/* ---------- KARTY ZABIEGÓW (podstrony usługowe) ---------- */
.treat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.treat-card{background:var(--white);border:1px solid var(--border-light);border-radius:6px;padding:28px 26px;}
.treat-card h4{font-size:1rem;margin-bottom:8px;}
.treat-card p{font-size:.82rem;color:var(--gray);line-height:1.65;margin-bottom:16px;}
.treat-card .treat-price{font-family:'Playfair Display',serif;font-weight:700;color:var(--gold-dark);font-size:1.05rem;}
.on-black .treat-card{background:var(--black2);border-color:var(--border-dark);}
.on-black .treat-card h4{color:var(--white);}
.on-black .treat-card p{color:rgba(255,255,255,.55);}
@media(max-width:900px){.treat-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.treat-grid{grid-template-columns:1fr;}}

/* ---------- CTA BANNER (podstrony) ---------- */
.cta-banner{background:var(--black);border:1px solid rgba(201,165,107,.35);border-radius:10px;padding:50px 40px;text-align:center;}
.cta-banner h2{color:var(--white);margin-bottom:14px;}
.cta-banner p{color:rgba(255,255,255,.6);max-width:480px;margin:0 auto 28px;}
.cta-banner-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-portrait{max-width:360px;margin:0 auto;}
  .pillars{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .why-row{grid-template-columns:1fr 1fr;}
  .about-grid{grid-template-columns:1fr;}
  .about-portrait{max-width:340px;margin:0 auto;}
  .price-cols{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .form-grid-2{grid-template-columns:1fr;}
  section{padding:70px 0;}
}
