
:root{
  --cream:#f5efe5;
  --cream2:#fbf8f2;
  --olive:#3e4729;
  --olive-dark:#30381f;
  --gold:#b88b2f;
  --gold-soft:#d8ba78;
  --ink:#2c2a23;
  --muted:#666258;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream2);font-family:Arial,sans-serif}
.container{width:min(1180px,92%);margin:0 auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(251,248,242,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(184,139,47,.18)}
.nav{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.brand{display:flex;align-items:center;gap:15px;color:var(--ink);text-decoration:none}
.logo-symbol{width:68px;height:86px;color:var(--gold);display:block}
.logo-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.55}
.brand-copy{display:flex;flex-direction:column}
.brand-copy strong{font-family:Georgia,serif;font-size:40px;font-weight:400;letter-spacing:.21em}
.brand-copy small{font-size:9px;letter-spacing:.22em;color:#5f5b50;margin-top:4px}
.menu{display:flex;align-self:stretch;align-items:center;gap:28px}
.menu a{position:relative;text-decoration:none;color:#25241f;font-size:11px;font-weight:700;padding:47px 0 43px;white-space:nowrap}
.menu a:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:27px;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transition:.25s}
.menu a:hover:after,.menu a.active:after{right:0}

.hero{background:
radial-gradient(circle at 22% 20%,rgba(255,255,255,.95),transparent 30%),
linear-gradient(90deg,#f5ede0,#e6d6c1);overflow:hidden}
.hero-grid{min-height:610px;display:grid;grid-template-columns:48% 52%}
.hero-copy{padding:95px 55px 75px 0;display:flex;flex-direction:column;justify-content:center}
.hero h1{font:400 58px/1.03 Georgia,serif;margin:0 0 25px;color:#30331f}
.gold-rule{width:220px;height:14px;position:relative;margin-bottom:16px}
.gold-rule:before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--gold)}
.gold-rule:after{content:"";position:absolute;left:58%;top:3px;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.motto{font:18px Georgia,serif;letter-spacing:.03em;margin-bottom:23px}
.motto span{color:var(--gold);margin:0 10px}
.hero-copy p{font:17px/1.7 Arial,sans-serif;text-align:justify;text-wrap:pretty;color:#474238;max-width:560px}
.button{display:inline-flex;align-self:flex-start;margin-top:20px;padding:16px 28px;background:linear-gradient(135deg,var(--olive),var(--olive-dark));color:#f5ead7;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.08em;border-radius:3px}
.hero-visual{min-height:610px;background-image:
linear-gradient(90deg,rgba(245,237,224,.95) 0%,rgba(245,237,224,.38) 18%,rgba(245,237,224,0) 38%),
url("assets/hero-paulinawellness.jpg");
background-size:cover;background-position:center center;position:relative}
.hero-visual:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 55px rgba(72,56,38,.12)}

.section{padding:0}
.about{background:#faf6ee}
.about-grid{display:grid;grid-template-columns:1fr .9fr 1fr;min-height:440px}
.about-copy{padding:56px 42px 48px 0}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.25em}
.eyebrow:after{content:"";display:block;width:52px;height:1px;background:var(--gold);margin:9px 0 14px}
h2{font-family:Georgia,serif;font-weight:400}
.about h2,.contact h2{font-size:34px;line-height:1.14;margin:0 0 20px}
.about p,.qualifications p,.contact p,.service p{font-size:14px;line-height:1.65;color:#514d45;text-align:justify;text-wrap:pretty}
.signature{font-family:"Brush Script MT","Segoe Script",cursive;color:#b57b20;font-size:58px;transform:rotate(-5deg);margin-top:10px}
.qualifications{padding:58px 20px 40px 0;display:flex;flex-direction:column;gap:28px}
.qualifications article{display:grid;grid-template-columns:54px 1fr;gap:14px}
.round-icon{width:50px;height:50px;border:1px solid rgba(184,139,47,.55);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:21px}
.qualifications h3{font-size:12px;letter-spacing:.14em;margin:1px 0 7px}
.qualifications p{font-size:12.5px;margin:0;text-align:left}
.about-visual{background:
linear-gradient(90deg,rgba(250,246,238,.35),rgba(250,246,238,0)),
url("assets/about-stilllife.jpg");
background-size:cover;background-position:center;min-height:440px}

.services{padding:56px 0;background:#fffaf3}
.center{text-align:center;font-size:38px;margin:0 0 32px}
.service-grid{display:grid;grid-template-columns:1fr 1fr}
.service{display:grid;grid-template-columns:110px 1fr;gap:25px;padding:5px 48px}
.service+.service{border-left:1px solid rgba(184,139,47,.22)}
.service-icon{width:92px;height:92px;border:1px solid rgba(184,139,47,.45);border-radius:50%;display:grid;place-items:center}
.service-icon svg{width:74px;height:74px;fill:none;stroke:var(--olive);stroke-width:1.35}
.service h3{font-size:14px;letter-spacing:.18em;margin:7px 0 9px}
.service p{margin:0}

.cta{background:linear-gradient(90deg,#354021,#4b5730 65%,#30391f);color:#fff}
.cta-inner{min-height:94px;display:flex;align-items:center;justify-content:center;gap:85px;text-align:center}
.cta h2{font-size:32px;margin:0}.cta p{margin:5px 0 0;font-size:13px}
.outline{margin:0;border:1px solid #c69d4d;background:transparent;padding:15px 35px}

.contact{background:#f4ede1}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;min-height:355px}
.contact-copy{padding:52px 55px 42px 0}
.contact-actions{display:flex;gap:32px;margin:26px 0 24px}
.contact-item{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink)}
.circle{width:46px;height:46px;border:1px solid rgba(184,139,47,.55);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:19px}
.contact-item>span:last-child{display:flex;flex-direction:column}
.contact-item strong{font-size:19px}
.contact-item small{font-size:11px;color:#69645a;margin-top:5px}
.disclaimer{font-size:11px!important;color:#777!important;max-width:560px}
.contact-visual{background:
linear-gradient(90deg,rgba(244,237,225,.9) 0%,rgba(244,237,225,.18) 28%,rgba(244,237,225,0) 48%),
url("assets/contact-stilllife.jpg");
background-size:cover;background-position:center;min-height:355px}

@media(max-width:1000px){
  .nav{flex-direction:column;align-items:flex-start;padding:14px 0}
  .menu{width:100%;overflow:auto;gap:22px}.menu a{padding:15px 0 18px}
  .hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
  .hero-copy{padding:65px 0 32px}.hero-visual{min-height:540px}
  .about-copy,.qualifications{padding-left:0;padding-right:0}
  .about-visual{min-height:380px}
  .service-grid{grid-template-columns:1fr}.service+.service{border-left:0;border-top:1px solid rgba(184,139,47,.22)}
  .contact-copy{padding-right:0}.contact-visual{min-height:330px}
}
@media(max-width:640px){
  .brand-copy strong{font-size:28px}.logo-symbol{width:52px;height:66px}
  .hero h1{font-size:42px}.hero-visual{min-height:430px}
  .service{grid-template-columns:1fr;padding:24px 4px}.service-icon{margin:auto}
  .cta-inner{flex-direction:column;gap:17px;padding:22px 0}
  .contact-actions{flex-direction:column}
}


/* Kontakt — wersja uproszczona */
.contact-actions-single{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
}
.phone-card{
  display:flex;
  align-items:center;
  gap:14px;
}
.phone-copy{
  display:flex;
  flex-direction:column;
}
.phone-copy strong{
  font-size:24px;
  letter-spacing:.02em;
}
.phone-copy small{
  margin-top:5px;
  color:#6d685d;
  font-size:12px;
}
.contact-buttons{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.contact-btn{
  text-decoration:none;
  background:linear-gradient(135deg,var(--olive),var(--olive-dark));
  color:#f6ead5;
  border:1px solid var(--olive);
  padding:12px 18px;
  border-radius:3px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.contact-btn.ghost{
  background:transparent;
  color:var(--olive);
  border-color:rgba(62,71,41,.55);
}
.contact-btn:hover{filter:brightness(1.04)}
@media(max-width:640px){
  .contact-buttons{width:100%}
  .contact-btn{flex:1;text-align:center;min-width:135px}
}


/* =========================================
   SLOVIK V8 — miękkie przejścia i spokojniejsza fotografia
   ========================================= */
.hero{
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.96),transparent 34%),
    linear-gradient(90deg,#f7f0e6 0%,#efe3d3 52%,#eadbca 100%);
}
.hero-grid{grid-template-columns:47% 53%;}
.hero-copy{position:relative;z-index:2;padding-right:34px;}
.hero-visual{
  min-height:610px;
  background-image:url("assets/hero-paulinawellness-v8.jpg");
  background-size:cover;
  background-position:center 42%;
  position:relative;
  filter:saturate(.88) contrast(.96) brightness(1.025);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 88%,transparent 100%);
}
.hero-visual:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(247,240,230,.58) 0%,transparent 17%,transparent 80%,rgba(234,219,202,.42) 100%),
    radial-gradient(circle at 78% 28%,rgba(255,255,255,.13),transparent 28%);
}
.hero-visual:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 70px rgba(88,66,42,.08);
}

.about{background:linear-gradient(180deg,#faf6ee 0%,#fffaf3 100%);}
.about-grid{position:relative;align-items:stretch;}
.about-visual{
  background-image:url("assets/about-stilllife-v8.jpg");
  background-size:cover;background-position:center;min-height:440px;
  filter:saturate(.9) contrast(.98) brightness(1.02);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 88%,transparent 100%);
}

.services{
  position:relative;
  background:linear-gradient(180deg,#fffaf3 0%,#fbf5eb 100%);
  border-top:0;
}
.services:before{
  content:"";position:absolute;left:0;right:0;top:-28px;height:56px;pointer-events:none;
  background:linear-gradient(180deg,rgba(250,246,238,0),rgba(255,250,243,.98));
}
.service-grid{position:relative;z-index:1;}
.service{align-items:center;}

.cta{
  background:linear-gradient(100deg,#354021 0%,#46522d 55%,#30391f 100%);
  position:relative;overflow:hidden;
}
.cta:before,.cta:after{
  content:"";position:absolute;border:1px solid rgba(216,186,120,.16);border-radius:50%;
  width:210px;height:210px;top:-115px;
}
.cta:before{left:7%;}.cta:after{right:7%;}
.cta-inner{
  min-height:150px;
  flex-direction:column;
  justify-content:center;
  gap:17px;
  text-align:center;
  padding:25px 0;
}
.cta-inner>div{max-width:760px;}
.cta h2{font-size:34px;line-height:1.15;}
.cta p{font-size:13.5px;line-height:1.55;margin:8px auto 0;max-width:700px;color:rgba(255,255,255,.82);}
.cta .outline{
  align-self:center;
  min-width:190px;
  justify-content:center;
  border:1px solid #d2aa58;
  color:#f7e9cb;
  background:rgba(255,255,255,.025);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.cta .outline:hover{background:rgba(216,186,120,.09);}

.contact{background:linear-gradient(180deg,#f4ede1 0%,#f7f1e8 100%);}
.contact-grid{align-items:stretch;}
.contact-visual{
  background-image:url("assets/contact-stilllife-v8.jpg");
  background-size:cover;background-position:center 55%;min-height:355px;
  filter:saturate(.9) contrast(1.01) brightness(1.03);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 88%,transparent 100%);
}

@media(max-width:1000px){
  .hero-visual,.about-visual,.contact-visual{
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
  }
  .hero-copy{padding-right:0;}
}
@media(max-width:640px){
  .cta h2{font-size:28px;}
  .cta p{padding:0 14px;}
}

/* =========================================
   SLOVIK V8.1 — poprawka responsywności HERO
   Na telefonie tekst i zdjęcie są osobnymi blokami,
   dzięki czemu fotografia Pauliny nie nachodzi na tekst.
   ========================================= */
@media (max-width:1000px){
  .hero-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
  }
  .hero-copy{
    grid-column:1;
    grid-row:1;
    padding:56px 0 34px;
    position:relative;
    z-index:2;
  }
  .hero-visual{
    grid-column:1;
    grid-row:2;
    width:100%;
    min-height:520px;
    background-position:center 38%;
    position:relative;
    z-index:1;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
  }
}

@media (max-width:640px){
  .hero-copy{
    padding:42px 0 28px;
  }
  .hero h1{
    font-size:40px;
    line-height:1.06;
  }
  .hero-copy p{
    font-size:16px;
    line-height:1.6;
  }
  .hero-visual{
    min-height:390px;
    background-position:center 34%;
  }
}

/* =========================================
   SLOVIK V8.2 FINAL — pełne fotografie, czyste przejścia, mobile fix
   ========================================= */

/* Usunięcie warstwy, która przy przewijaniu potrafiła wejść na tekst */
.services::before{content:none!important;display:none!important;}

/* Zdjęcia mają być integralną częścią sekcji, a nie „wciśniętym kafelkiem”. */
.hero,
.about,
.contact{overflow:hidden;}

/* HERO: tekst trzyma linię strony, fotografia dochodzi płynnie do prawej krawędzi ekranu */
.hero .hero-grid{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:max(4%, calc((100vw - 1180px)/2));
  padding-right:0;
  grid-template-columns:minmax(430px,47%) minmax(0,53%);
}
.hero-copy{
  max-width:620px;
  padding-right:48px;
}
.hero-visual{
  min-height:640px;
  width:100%;
  background-size:cover;
  background-position:center 40%;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.hero-visual::before{
  background:
    linear-gradient(90deg,rgba(247,240,230,.94) 0%,rgba(247,240,230,.48) 10%,rgba(247,240,230,.10) 23%,transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 35%,rgba(69,51,33,.04));
}

/* O MNIE: trzy kolumny nadal czytelne, ale zdjęcie dochodzi do prawej krawędzi */
.about .about-grid{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:max(4%, calc((100vw - 1180px)/2));
  padding-right:0;
  grid-template-columns:minmax(330px,1fr) minmax(300px,.86fr) minmax(390px,1.04fr);
}
.about-copy{padding-right:42px;}
.qualifications{padding-right:34px;}
.about-visual{
  min-height:500px;
  width:100%;
  background-size:cover;
  background-position:center;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  position:relative;
}
.about-visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(250,246,238,.90) 0%,rgba(250,246,238,.36) 13%,transparent 31%);
}

/* Kontakt: nowe zdjęcie z notatnikiem wypełnia całą prawą część sekcji */
.contact .contact-grid{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:max(4%, calc((100vw - 1180px)/2));
  padding-right:0;
  grid-template-columns:minmax(430px,48%) minmax(0,52%);
}
.contact-copy{
  max-width:590px;
  padding-right:56px;
}
.contact-visual{
  min-height:470px;
  width:100%;
  background-image:url("assets/contact-stilllife-v8.jpg");
  background-size:cover;
  background-position:center 52%;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  position:relative;
  filter:saturate(.92) contrast(.99) brightness(1.015);
}
.contact-visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(244,237,225,.92) 0%,rgba(244,237,225,.42) 11%,rgba(244,237,225,.06) 27%,transparent 38%);
}

/* CTA bez nachodzących elementów na sąsiednie moduły */
.cta{isolation:isolate;}
.cta::before,.cta::after{z-index:0;pointer-events:none;}
.cta-inner{position:relative;z-index:1;}

/* Tablet i telefon: każda fotografia jest osobnym, pełnym blokiem POD treścią. */
@media(max-width:1000px){
  .hero .hero-grid,
  .about .about-grid,
  .contact .contact-grid{
    width:100%;
    padding:0;
    display:grid;
    grid-template-columns:1fr;
  }

  .hero-copy,
  .about-copy,
  .qualifications,
  .contact-copy{
    width:min(92%,720px);
    margin-left:auto;
    margin-right:auto;
    max-width:none;
  }

  .hero-copy{padding:56px 0 34px;grid-row:1;}
  .hero-visual{
    grid-row:2;
    min-height:540px;
    background-position:center 34%;
  }
  .hero-visual::before{
    background:linear-gradient(180deg,rgba(247,240,230,.82) 0%,rgba(247,240,230,.13) 12%,transparent 28%);
  }

  .about-copy{padding:52px 0 18px;}
  .qualifications{padding:20px 0 42px;}
  .about-visual{min-height:440px;}
  .about-visual::after{
    background:linear-gradient(180deg,rgba(250,246,238,.82) 0%,rgba(250,246,238,.10) 13%,transparent 27%);
  }

  .contact-copy{padding:50px 0 34px;}
  .contact-visual{min-height:430px;}
  .contact-visual::after{
    background:linear-gradient(180deg,rgba(244,237,225,.84) 0%,rgba(244,237,225,.12) 13%,transparent 27%);
  }
}

@media(max-width:640px){
  .hero-copy{padding:40px 0 28px;}
  .hero h1{font-size:40px;line-height:1.05;}
  .motto{font-size:16px;line-height:1.45;}
  .motto span{margin:0 6px;}
  .hero-copy p{font-size:15.5px;line-height:1.62;text-align:left;}
  .hero-visual{min-height:420px;background-position:center 30%;}

  .about h2,.contact h2{font-size:30px;}
  .about p,.contact p,.service p{text-align:left;}
  .about-visual{min-height:340px;}
  .contact-visual{min-height:340px;background-position:58% center;}

  .cta{overflow:hidden;}
  .cta h2{font-size:27px;}
  .cta-inner{padding:28px 0;}
}
