:root{
  --cream:#fbf3ec;
  --blush:#f3ddd2;
  --terracotta:#c97b5c;
  --terracotta-dark:#a85f43;
  --plum:#4a342f;
  --ink:#3a2e2a;
  --gold:#c9a227;
  --white:#fffdfb;
  --side-pad:8vw;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Poppins',sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden;}
h1,h2,h3,.serif{font-family:'Playfair Display',serif;}
.section{padding:100px var(--side-pad);}
.badge{display:inline-block;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--terracotta-dark);font-weight:600;margin-bottom:14px;}

/* NAV */
nav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px var(--side-pad);background:rgba(251,243,236,0.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(74,52,47,0.08);transition:padding .35s ease,background .35s ease;}
nav.scrolled{padding:10px var(--side-pad);background:rgba(251,243,236,0.94);box-shadow:0 10px 26px -18px rgba(74,52,47,.35);}
.logo{display:flex;align-items:center;}
.logo img{height:60px;width:auto;display:block;transition:height .35s ease;}
nav.scrolled .logo img{height:40px;}
.nav-links{display:flex;gap:30px;list-style:none;font-size:13.5px;letter-spacing:1px;text-transform:uppercase;color:var(--plum);}
.nav-links a{color:inherit;text-decoration:none;transition:.25s;}
.nav-links a:hover{color:var(--terracotta-dark);}
.nav-cta{background:var(--terracotta);color:#fff;padding:12px 26px;border-radius:30px;font-size:13px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;transition:.3s;text-decoration:none;display:inline-block;}
.nav-cta:hover{background:var(--terracotta-dark);transform:translateY(-2px);}
.nav-cta-short{display:none;}
.nav-cta-icon{display:none;}

.nav-right{display:flex;align-items:center;gap:16px;}

.hamburger{display:none;flex-direction:column;justify-content:center;gap:6px;width:34px;height:34px;background:none;border:none;cursor:pointer;padding:0;z-index:70;position:relative;}
.hamburger span{display:block;width:100%;height:2px;background:var(--plum);border-radius:2px;transition:.3s ease;}
.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* HERO */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;padding:0 var(--side-pad);overflow:hidden;}
.blob{position:absolute;border-radius:50%;filter:blur(0px);opacity:.55;animation:float 14s ease-in-out infinite;z-index:0;}
.blob1{width:520px;height:520px;background:radial-gradient(circle at 30% 30%,var(--blush),var(--terracotta) 80%);top:-160px;right:-120px;animation-delay:0s;}
.blob2{width:280px;height:280px;background:radial-gradient(circle at 40% 40%,#fff,var(--blush));bottom:-80px;right:20%;animation-delay:-4s;}
.blob3{width:180px;height:180px;background:radial-gradient(circle,var(--gold),transparent 70%);opacity:.25;top:20%;left:2%;animation-delay:-8s;}
@keyframes float{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-30px) scale(1.04);}}
.hero-content{position:relative;z-index:2;max-width:560px;}
.hero-content h1{font-size:clamp(40px,6vw,68px);line-height:1.08;font-weight:500;color:var(--plum);}
.hero-content h1 em{font-style:italic;color:var(--terracotta);}
.hero-content p{margin-top:22px;font-size:18px;color:#6b5a53;max-width:440px;line-height:1.7;}
.hero-ctas{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
.btn-primary{background:var(--terracotta);color:#fff;padding:16px 34px;border-radius:40px;font-size:14px;letter-spacing:1px;text-transform:uppercase;border:none;cursor:pointer;box-shadow:0 14px 30px -10px rgba(201,123,92,.6);transition:.3s;display:inline-block;text-decoration:none;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 36px -10px rgba(201,123,92,.7);}
.btn-ghost{background:transparent;color:var(--plum);padding:16px 30px;border-radius:40px;font-size:14px;letter-spacing:1px;text-transform:uppercase;border:1.5px solid rgba(74,52,47,.25);cursor:pointer;transition:.3s;text-decoration:none;display:inline-block;}
.btn-ghost:hover{border-color:var(--plum);}
.trust-row{display:flex;gap:36px;margin-top:56px;flex-wrap:wrap;}
.trust-item .num{font-family:'Playfair Display',serif;font-size:30px;color:var(--terracotta-dark);}
.trust-item .lbl{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#8a7a72;margin-top:2px;}

.hero-photo{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:1;background-image:url('../img/spot.jpg');background-size:cover;background-position:center;}
.hero-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--cream) 0%,var(--cream) 6%,rgba(251,243,236,0.88) 18%,rgba(251,243,236,0.35) 38%,rgba(251,243,236,0) 62%);}
.hero-photo-caption{position:absolute;z-index:2;bottom:28px;right:32px;background:rgba(58,46,42,0.45);backdrop-filter:blur(6px);color:#fff;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;padding:10px 18px;border-radius:30px;}

/* PROCES */
.proces{background:var(--white);}
.proces-head{text-align:center;max-width:640px;margin:0 auto 60px;}
.proces-head h2{font-size:38px;color:var(--plum);font-weight:500;}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;margin-bottom:52px;}
.timeline::before{content:'';position:absolute;top:61px;left:calc(16.66% + 22px);right:calc(16.66% + 22px);height:0;border-top:2px dashed rgba(201,123,92,.4);z-index:0;}
.tl-card{background:var(--cream);border-radius:26px;padding:38px 30px;position:relative;transition:.35s;z-index:1;}
.tl-card:hover{transform:translateY(-8px);box-shadow:0 24px 40px -20px rgba(74,52,47,.25);}
.tl-num{width:46px;height:46px;border-radius:50%;background:var(--terracotta);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:18px;margin-bottom:20px;box-shadow:0 0 0 6px var(--cream);}
.tl-card h3{font-size:20px;color:var(--plum);margin-bottom:12px;font-weight:600;}
.tl-card p{font-size:14.5px;color:#6b5a53;line-height:1.75;}

.proces-ctas{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:820px;margin:0 auto;}
.proces-cta{display:flex;align-items:center;gap:18px;background:var(--cream);border:1px solid rgba(74,52,47,.1);padding:22px 26px;border-radius:22px;text-decoration:none;color:var(--plum);transition:.3s;}
.proces-cta:hover{background:var(--terracotta);border-color:var(--terracotta);color:#fff;transform:translateY(-4px);box-shadow:0 20px 34px -18px rgba(74,52,47,.4);}
.proces-cta:hover .pc-icon{background:#fff;color:var(--terracotta-dark);}
.proces-cta:hover .pc-arrow{transform:translateX(4px);}
.pc-icon{width:54px;height:54px;border-radius:50%;background:var(--blush);color:var(--terracotta-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.3s;}
.pc-icon img{width:34px;height:34px;object-fit:contain;display:block;}
.pc-text{flex:1;}
.pc-text strong{display:block;font-family:'Playfair Display',serif;font-size:19px;margin-bottom:2px;font-weight:600;}
.pc-text small{font-size:12.5px;letter-spacing:.5px;opacity:.75;}
.pc-arrow{font-size:20px;transition:.3s;flex-shrink:0;}

/* BEFORE / AFTER CAROUSEL */
.ba-section{background:var(--blush);}
.ba-wrap{display:grid;grid-template-columns:3fr 2fr;gap:60px;align-items:center;}
.ba-carousel-wrap{position:relative;}
.ba-carousel{position:relative;overflow:hidden;border-radius:26px;box-shadow:0 30px 50px -20px rgba(74,52,47,.35);}
.ba-track{display:flex;transition:transform .6s cubic-bezier(.65,0,.35,1);}
.ba-item{min-width:100%;position:relative;}
.ba-slider{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;}
.ba-before,.ba-after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-style:italic;font-size:16px;color:#fff;letter-spacing:1px;user-select:none;}
.ba-after{clip-path:inset(0 50% 0 0);}
.ba-before,.ba-after{background-size:cover;background-position:center;}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;cursor:ew-resize;z-index:3;}
.ba-handle::after{content:'⇔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--terracotta-dark);font-size:16px;box-shadow:0 8px 16px rgba(0,0,0,.2);}
.ba-label{position:absolute;bottom:16px;font-size:11px;letter-spacing:2px;text-transform:uppercase;background:rgba(0,0,0,.35);color:#fff;padding:6px 14px;border-radius:20px;z-index:3;transition:opacity .15s linear;}
.ba-label.l{left:16px;}
.ba-label.r{right:16px;}
.ba-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:22px;}
.ba-arrow{position:static;transform:none;width:40px;height:40px;border-radius:50%;background:var(--white);border:1px solid rgba(74,52,47,.15);color:var(--terracotta-dark);font-size:19px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.25s;}
.ba-arrow:hover{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.ba-dots{display:flex;justify-content:center;gap:10px;}
.ba-dot{width:9px;height:9px;border-radius:50%;background:rgba(74,52,47,.25);cursor:pointer;transition:.25s;border:none;padding:0;}
.ba-dot.active{background:var(--terracotta);width:26px;border-radius:6px;}
.ba-text h2{font-size:36px;color:var(--plum);margin-bottom:20px;}
.ba-text p{color:#6b5a53;line-height:1.8;font-size:15.5px;margin-bottom:14px;}

/* STATS */
.stats{background:var(--plum);color:var(--cream);text-align:center;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stat .num{font-family:'Playfair Display',serif;font-size:52px;color:var(--gold);}
.stat .lbl{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#d9c7bd;margin-top:8px;}

/* TESTIMONIALS */
.testi{background:var(--cream);}
.testi-track{display:flex;gap:26px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;}
.testi-card{min-width:320px;scroll-snap-align:start;background:var(--white);border-radius:22px;padding:32px;border:1px solid rgba(74,52,47,.1);}
.stars{color:var(--gold);font-size:15px;margin-bottom:14px;letter-spacing:2px;}
.testi-card p{font-size:14.5px;color:#5b4a43;line-height:1.75;font-style:italic;font-family:'Playfair Display',serif;}
.testi-name{margin-top:18px;font-size:13px;font-weight:600;color:var(--plum);letter-spacing:.5px;}

/* ZAUFANIE / O MNIE */
.trust{background:var(--white);}
.trust-wrap{display:grid;grid-template-columns:0.85fr 1fr;gap:70px;align-items:center;}
.trust-photo{width:100%;max-width:400px;aspect-ratio:1/1;border-radius:50%;background:url('../img/f-kasia.jpg') center/cover;margin:0 auto;display:block;box-shadow:0 30px 50px -20px rgba(74,52,47,.3);border:6px solid var(--white);outline:1px solid rgba(74,52,47,.12);}
.trust-text h2{font-size:34px;color:var(--plum);margin-bottom:18px;}
.trust-text p{color:#6b5a53;line-height:1.85;font-size:15.5px;margin-bottom:16px;}
.trust-text .btn-primary{margin-top:10px;}

/* CTA FINAL */
.cta-final{background:radial-gradient(ellipse at center,var(--blush),var(--cream));text-align:center;}
.cta-final h2{font-size:44px;color:var(--plum);max-width:640px;margin:0 auto 24px;}
.cta-final p{color:#6b5a53;margin-bottom:34px;}

/* FOOTER */
footer{background:var(--plum);color:var(--blush);padding:70px var(--side-pad) 0;}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;padding-bottom:44px;}
.foot-logo{height:38px;width:auto;filter:brightness(0) invert(1);opacity:.95;display:block;margin-bottom:20px;}
footer h4{font-family:'Playfair Display',serif;font-size:18px;margin-bottom:16px;color:#fff;font-weight:500;}
footer p, footer li{font-size:13.5px;color:#cdb9ae;line-height:2;list-style:none;}
footer li a{color:inherit;text-decoration:none;}
footer li a:hover{color:#fff;}
.foot-menu{display:flex;flex-direction:column;gap:10px;}
.foot-menu a{color:#cdb9ae;text-decoration:none;font-size:13.5px;letter-spacing:.5px;text-transform:uppercase;transition:.25s;}
.foot-menu a:hover{color:#fff;}
.foot-social{display:flex;flex-direction:column;gap:14px;}
.foot-social li{display:flex;align-items:center;gap:12px;line-height:1.3;}
.soc-icon{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.soc-icon svg{width:16px;height:16px;color:var(--blush);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;font-size:12px;color:#a68d80;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.foot-bottom-legal{display:flex;gap:22px;flex-wrap:wrap;}
.foot-bottom-legal a{color:inherit;text-decoration:none;}
.foot-bottom-legal a:hover{color:#fff;}

[data-tooltip] {
    position: relative;
    z-index: 2;
    cursor: pointer
}
[data-tooltip]:after,
[data-tooltip]:before {
    visibility: hidden;
    opacity: 0;
    pointer-events: none
}
[data-tooltip]:before {
    position: absolute;
    bottom: 150%;
    left: 50%;
    margin-bottom: 5px;
    margin-left: -60px;
    padding: 7px;
    width: 100px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: var(--terracotta-dark);
    color: #fff;
    content: attr(data-tooltip);
    text-align: center;
    font-size: 10px;
    line-height: 1.2
}
[data-tooltip]:after {
    position: absolute;
    bottom: 150%;
    left: 50%;
    margin-left: -5px;
    width: 0;
    border-top: 5px solid var(--terracotta-dark);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    content: " ";
    font-size: 0;
    line-height: 0
}
[data-tooltip]:hover:after,
[data-tooltip]:hover:before {
    visibility: visible;
    opacity: 1
}
.mgkreacja-credit{margin:0;line-height:0;}
.mgkreacja-credit img{filter:brightness(0) invert(1);opacity:.35;transition:.25s;}
.mgkreacja-credit img:hover{opacity:.7;}

@media(max-width:900px){
  :root{--side-pad:4vw;}
  nav{padding:10px var(--side-pad);}
  .logo img{height:40px;}
  .hero{flex-direction:column;padding-top:40px;padding-bottom:50px;text-align:center;}
  .hero-photo{
    position:relative;inset:auto;top:auto;right:auto;bottom:auto;
    display:block;width:100%;max-width:420px;aspect-ratio:4/3;
    border-radius:24px;box-shadow:0 20px 34px -18px rgba(74,52,47,.3);
    order:-2;margin:0 auto 18px;
  }
  .hero-photo::before{display:none;}
  .hero-photo-caption{display:none;}
  .hero-ctas{justify-content:center;}
  .trust-row{justify-content:center;text-align:center;}
  .hamburger{display:flex;}
  .nav-right{gap:18px;}
  .nav-cta{
    width:42px;height:42px;padding:0;border-radius:50%;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    animation:navPulse 2.4s ease-out infinite;
  }
  .nav-cta:hover{animation-play-state:paused;}
  .nav-cta-full,.nav-cta-short{display:none;}
  .nav-cta-icon{display:flex;align-items:center;justify-content:center;}
  .nav-cta-icon svg{width:18px;height:18px;}
  @keyframes navPulse{
    0%{box-shadow:0 0 0 0 rgba(201,123,92,.5);}
    70%{box-shadow:0 0 0 12px rgba(201,123,92,0);}
    100%{box-shadow:0 0 0 0 rgba(201,123,92,0);}
  }
  .nav-links{
    position:fixed;left:0;right:0;top:0;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
    background:var(--cream);font-size:19px;letter-spacing:1px;padding:34px 0 42px;
    box-shadow:0 20px 34px -18px rgba(74,52,47,.3);border-top:1px solid rgba(74,52,47,.08);
    opacity:0;visibility:hidden;transform:translateY(-14px);
    transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s;
    z-index:55;
  }
  .nav-links.open{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .3s ease,transform .3s ease,visibility 0s;}
  .timeline{grid-template-columns:1fr;}
  .timeline::before{display:none;}
  .stats-grid,.ba-wrap,.foot-grid,.trust-wrap,.proces-ctas{grid-template-columns:1fr;}
  .ba-slider{aspect-ratio:4/3;}

  /* wyśrodkowanie treści sekcji */
  .tl-card{text-align:center;}
  .tl-num{margin-left:auto;margin-right:auto;}
  .ba-text{text-align:center;}
  .trust-text{text-align:center;}
  .testi-card{text-align:center;}

  /* mniejsze zdjęcie w sekcji zaufania */
  .trust-photo{max-width:170px;}

  /* stopka wyśrodkowana */
  footer{text-align:center;}
  .foot-logo{margin:0 auto 20px;}
  .foot-social li{justify-content:center;}
  .foot-bottom{flex-direction:column;text-align:center;}

  /* bardziej intuicyjny scroll opinii */
  .testi-track{scroll-padding-left:var(--side-pad);scrollbar-width:none;}
  .testi-track::-webkit-scrollbar{display:none;}
  .testi-card{min-width:82%;scroll-snap-stop:always;}
}
