/* =============================================================
   Mediwizyta — design D1 „Dom" (redesign 2026)
   Źródło języka wizualnego: design/wizualizacje/m1_dom_v2.html
   Paleta (księga znaku): turkus #6AB3AE TYLKO jako plama bez
   tekstu; tekst akcentowy/CTA #457471 (WCAG AA); grafit #26302F.
   ============================================================= */
:root{
  --tur:#6AB3AE; --tur-d:#457471; --wash:#E9F4F3; --wash2:#CBE4E3;
  --paper:#F4F7F6; --card:#FFFFFF; --line:#E8EDEC; --ink:#26302F; --mut:#5C6B69; --r:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:"Open Sans",system-ui,sans-serif;font-size:17.5px;line-height:1.65;color:var(--ink);background:var(--paper)}
h1,h2,h3,h4{font-family:"Rooney Sans",Mulish,system-ui,sans-serif;/* produkcja: Rooney Sans 600/700 */
  font-weight:700;line-height:1.12}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.kick{font-family:Mulish,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tur-d)}
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:Mulish,sans-serif;font-weight:700;font-size:1.05rem;
  min-height:52px;padding:.8em 1.6em;border-radius:14px;text-decoration:none;transition:transform .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--tur-d);outline-offset:3px}
.btn-tur{background:var(--tur-d);color:#fff;box-shadow:0 12px 26px rgba(69,116,113,.35)}
.btn-ink{background:var(--ink);color:#fff}
.btn-line{border:2.5px solid var(--tur-d);color:var(--tur-d)}
section{padding:88px 0}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin:.3em 0 .5em}
.lead{color:var(--mut);max-width:38em}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:14px 22px;
  font-family:Mulish,sans-serif;font-weight:700;border-radius:0 0 12px 0;text-decoration:none}
.skip:focus{left:0}
.skip:focus-visible{left:0}

/* ---------- header ---------- */
.mw-header{position:sticky;top:0;z-index:50;background:rgba(244,247,246,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;height:80px;gap:24px}
.nav .logo img{height:44px;width:auto}
.nav>nav{margin-left:auto;display:flex;gap:22px;font-family:Mulish,sans-serif;font-weight:700;font-size:.98rem}
.nav>nav a{text-decoration:none;color:var(--ink);opacity:.8;padding:.7em .2em}
.nav>nav a:hover,.nav>nav a[aria-current=page]{opacity:1}
.nav .tel{font-family:Mulish,sans-serif;font-weight:700;font-size:1.06rem;color:#fff;background:var(--tur-d);
  text-decoration:none;white-space:nowrap;padding:.6em 1.1em;border-radius:12px}
.mnav{display:none;position:static;margin-left:auto}
.mnav summary{list-style:none;cursor:pointer;font-family:Mulish,sans-serif;font-weight:700;font-size:1rem;
  min-height:48px;display:inline-flex;align-items:center;gap:.5em;padding:.55em 1em;border:2px solid var(--tur-d);
  border-radius:12px;color:var(--tur-d)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary::before{content:"☰";font-size:1.05em}
.mnav[open] summary::before{content:"✕"}
.mnav nav{position:absolute;left:16px;right:16px;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:0 18px 44px rgba(38,48,47,.18);padding:8px;display:grid;z-index:70}
.mnav nav a{font-family:Mulish,sans-serif;font-weight:700;color:var(--ink);text-decoration:none;
  padding:13px 16px;border-radius:10px;min-height:48px;display:flex;align-items:center}
.mnav nav a:hover{background:var(--wash)}
@media(max-width:960px){.nav>nav{display:none}.mnav{display:block}}
@media(max-width:480px){.nav{gap:10px}.nav .logo img{height:36px}.nav .tel{font-size:.92rem;padding:.5em .75em}
  .mnav summary{font-size:.92rem;padding:.5em .8em}}

/* ---------- HERO (front) ---------- */
.hero{padding:64px 0 84px;background:linear-gradient(180deg,var(--wash),var(--paper));position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:url("../img/tlo_slajdy.png") center/900px repeat;
  opacity:.05;pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1fr 1.02fr;gap:56px;align-items:center;position:relative}
.hero h1{font-size:clamp(2.3rem,4.8vw,3.6rem);text-wrap:balance}
.hero h1 .hl{color:var(--tur-d)}
.hero .lead{margin:20px 0 8px;font-size:1.18rem}
.hero .avail{display:inline-flex;align-items:center;gap:.6em;background:#fff;border:1.5px solid var(--wash2);
  border-radius:999px;padding:.5em 1.1em;font-family:Mulish,sans-serif;font-weight:700;font-size:.95rem;margin:14px 0 26px}
.hero .avail .dot{width:.65em;height:.65em;border-radius:50%;background:var(--tur)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-photo{position:relative}
.hero-photo>img{border-radius:28px 28px 140px 28px;aspect-ratio:4/3.15;width:100%;object-fit:cover;
  box-shadow:0 30px 60px rgba(38,48,47,.24)}
.hero-note{position:absolute;left:-18px;bottom:26px;background:#fff;border-radius:14px;padding:13px 20px;
  box-shadow:0 12px 30px rgba(38,48,47,.18);font-family:Mulish,sans-serif;font-weight:700}
.hero-note span{display:block;font-family:"Open Sans",sans-serif;font-weight:400;font-size:.85rem;color:var(--mut)}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-photo{order:-1}
  .hero-photo>img{aspect-ratio:16/10.5}.hero-note{left:12px}}
@media(prefers-reduced-motion:no-preference){
  .hero h1,.hero .lead,.hero .cta{animation:mwup .55s ease both}
  .hero .cta{animation-delay:.15s}
  @keyframes mwup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}

/* ---------- TRASA (front) ---------- */
#trasa .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.route{position:relative;margin-top:36px;padding-left:56px}
.route::before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:4px;
  background:repeating-linear-gradient(180deg,var(--tur) 0 14px,transparent 14px 26px);border-radius:2px}
.stop{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:24px 26px;margin-bottom:22px}
.stop:last-child{margin-bottom:0}
.stop::before{content:"";position:absolute;left:-47px;top:26px;width:22px;height:22px;border-radius:50%;
  background:var(--tur);border:5px solid var(--wash)}
.stop:last-child::before{background:var(--tur-d)}
.stop h3{font-size:1.2rem;margin-bottom:.25em}
.stop p{color:var(--mut);font-size:1rem}
.stop .t{font-family:Mulish,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.14em;color:var(--tur-d);text-transform:uppercase}
.trasa-foto{position:relative}
.trasa-foto img{border-radius:120px 120px 24px 24px;aspect-ratio:3/3.9;width:100%;object-fit:cover;
  object-position:center 30%;box-shadow:0 24px 50px rgba(38,48,47,.2)}
.trasa-foto figcaption{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.94);
  border-radius:12px;padding:12px 18px;font-family:Mulish,sans-serif;font-weight:700;font-size:.95rem}
.trasa-foto figcaption span{display:block;font-family:"Open Sans",sans-serif;font-weight:400;font-size:.83rem;color:var(--mut)}
@media(max-width:900px){#trasa .wrap{grid-template-columns:1fr}.trasa-foto img{aspect-ratio:4/4.4}}

/* ---------- USŁUGI (front) ---------- */
.serv{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sv{background:var(--card);border-radius:calc(var(--r) + 6px);border:1px solid var(--line);overflow:hidden;
  display:flex;flex-direction:column}
.sv>img{aspect-ratio:16/11;object-fit:cover;width:100%;object-position:center 22%}
.sv .tx{padding:30px 32px 34px;display:flex;flex-direction:column;flex:1}
.sv .kick{margin-bottom:10px}
.sv h2,.sv h3{font-size:1.5rem;margin:0 0 .4em}
.sv p{color:var(--mut)}
.sv ul{list-style:none;margin:16px 0 0;display:grid;gap:8px}
.sv li{padding-left:26px;position:relative;font-size:.98rem}
.sv li::before{content:"✓";position:absolute;left:0;color:var(--tur-d);font-weight:700}
.sv .price{margin-top:auto;padding-top:22px;font-family:Mulish,sans-serif;font-weight:700;font-size:1.5rem;color:var(--tur-d)}
.sv .price small{font-size:.6em;color:var(--mut);font-weight:600}
.sv .btn{margin-top:16px;align-self:flex-start}
.serv-3{grid-template-columns:repeat(3,1fr)}
.serv-3 .sv>img{aspect-ratio:16/12}
@media(max-width:1020px){.serv-3{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.serv,.serv-3{grid-template-columns:1fr}}

/* ---------- ZASIĘG ---------- */
.sec-wash{background:var(--wash)}
.area{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.area img{border-radius:var(--r);box-shadow:0 18px 40px rgba(38,48,47,.14)}
.gminy{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.gminy span{background:#fff;border:1.5px solid var(--wash2);border-radius:999px;padding:.5em 1.05em;
  font-family:Mulish,sans-serif;font-weight:700;font-size:.95rem}
@media(max-width:860px){.area{grid-template-columns:1fr}}

/* ---------- CENNIK (front) ---------- */
.cen{background:var(--card);border-radius:var(--r);border:1px solid var(--line);overflow:hidden;max-width:760px}
.cen a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:22px 28px;
  text-decoration:none;border-bottom:1px solid var(--line);transition:background .13s}
.cen a:hover{background:var(--wash)}
.cen a:last-child{border-bottom:0}
.cen h3{font-size:1.15rem}
.cen h3 small{display:block;font-family:"Open Sans",sans-serif;font-weight:400;font-size:.82rem;color:var(--mut)}
.cen .pln{font-family:Mulish,sans-serif;font-weight:700;font-size:1.3rem;color:var(--tur-d);white-space:nowrap}
.cen-note{font-size:.9rem;color:var(--mut);margin-top:12px}

/* ---------- OPINIE ---------- */
.ops{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.op{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.op .stars{color:#E8A33D;letter-spacing:.12em}
.op blockquote{margin:12px 0 14px;font-size:1rem}
.op figcaption{font-family:Mulish,sans-serif;font-weight:700;font-size:.88rem;color:var(--mut)}
.ops-2{grid-template-columns:1fr 1fr}
@media(max-width:860px){.ops,.ops-2{grid-template-columns:1fr}}

/* ---------- FINAŁ CTA ---------- */
.final{background:var(--tur-d);border-radius:calc(var(--r) + 8px);color:#fff;padding:64px 40px;text-align:center;
  position:relative;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background:url("../img/tlo_slajdy.png") center/760px repeat;
  opacity:.1;pointer-events:none}
.final>*{position:relative}
.final h2{color:#fff}
.final .tel{font-family:Mulish,sans-serif;font-weight:700;font-size:clamp(2rem,5vw,3.2rem);color:#fff;text-decoration:none;display:block;margin:16px 0 6px}
.final p{opacity:.95}
.final .btn{margin-top:22px;background:#fff;color:var(--tur-d)}
.final a:focus-visible{outline-color:#fff}

/* ---------- PODSTRONY: komponenty D1 ---------- */
/* hero podstrony ze zdjęciem (lustro hero głównej) */
.p-hero{padding:56px 0 72px;background:linear-gradient(180deg,var(--wash),var(--paper));position:relative;overflow:hidden}
.p-hero::before{content:"";position:absolute;inset:0;background:url("../img/tlo_slajdy.png") center/900px repeat;opacity:.05;pointer-events:none}
.p-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative}
.p-hero h1{font-size:clamp(2rem,4.4vw,3.1rem);text-wrap:balance;margin-top:.35em}
.p-hero .lead{margin:18px 0 8px;font-size:1.13rem}
.p-hero .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:22px}
.p-hero .avail{display:inline-flex;align-items:center;gap:.6em;background:#fff;border:1.5px solid var(--wash2);
  border-radius:999px;padding:.5em 1.1em;font-family:Mulish,sans-serif;font-weight:700;font-size:.95rem;margin-top:14px}
.p-hero .avail .dot{width:.65em;height:.65em;border-radius:50%;background:var(--tur)}
.p-hero .foto img{border-radius:28px 28px 120px 28px;aspect-ratio:4/3.1;width:100%;object-fit:cover;
  box-shadow:0 26px 54px rgba(38,48,47,.22)}
.p-hero .price-badge{position:absolute;left:-16px;bottom:22px;background:#fff;border-radius:14px;padding:12px 20px;
  box-shadow:0 12px 30px rgba(38,48,47,.16);font-family:Mulish,sans-serif;font-weight:700;font-size:1.25rem;color:var(--tur-d)}
.p-hero .price-badge span{display:block;font-family:"Open Sans",sans-serif;font-weight:400;font-size:.7rem;color:var(--mut)}
.p-hero .foto{position:relative}
@media(max-width:900px){.p-hero .wrap{grid-template-columns:1fr}.p-hero .foto{order:-1}
  .p-hero .foto img{aspect-ratio:16/10.5}.p-hero .price-badge{left:12px}}

/* karty korzyści (trio pod hero) */
.bene{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bene article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.bene h3{font-size:1.12rem;margin-bottom:.35em}
.bene h3::before{content:"✓";color:var(--tur-d);font-weight:700;margin-right:.5em}
.bene p{color:var(--mut);font-size:.98rem}
@media(max-width:860px){.bene{grid-template-columns:1fr}}

/* pas „Dlaczego Mediwizyta" */
.why{background:var(--wash)}
.why .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.why .it{background:#fff;border:1.5px solid var(--wash2);border-radius:var(--r);padding:22px 24px}
.why .it h3{font-size:1.05rem;margin-bottom:.3em;color:var(--tur-d)}
.why .it p{font-size:.93rem;color:var(--mut)}
@media(max-width:1020px){.why .grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.why .grid{grid-template-columns:1fr}}

/* sekcja tekst+zdjęcie na przemian */
.split .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.split.rev .wrap{grid-template-columns:.95fr 1.05fr}
.split.rev .tx{order:2}
.split .tx p{color:var(--mut);margin-top:14px}
.split .tx ul{list-style:none;margin-top:16px;display:grid;gap:9px}
.split .tx li{padding-left:26px;position:relative;font-size:.99rem}
.split .tx li::before{content:"✓";position:absolute;left:0;color:var(--tur-d);font-weight:700}
.split .tx .btn{margin-top:22px}
.split figure img{border-radius:24px;aspect-ratio:4/3.2;width:100%;object-fit:cover;box-shadow:0 22px 48px rgba(38,48,47,.18)}
.split.r1 figure img{border-radius:28px 28px 120px 28px}
.split.r2 figure img{border-radius:120px 28px 28px 28px}
@media(max-width:900px){.split .wrap,.split.rev .wrap{grid-template-columns:1fr}.split.rev .tx{order:0}}

/* sekcje numerowane (usługi bez foto) */
.numsec{border-top:1px solid var(--line);padding:56px 0}
.numsec:first-of-type{border-top:0}
.numsec .wrap{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:start;max-width:980px}
.numsec .no{font-family:Mulish,sans-serif;font-weight:700;font-size:2.6rem;color:var(--wash2);line-height:1}
.numsec h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin:0 0 .4em}
.numsec p{color:var(--mut)}
.numsec .btn{margin-top:18px}
@media(max-width:640px){.numsec .wrap{grid-template-columns:1fr}.numsec .no{font-size:2rem}}

/* FAQ akordeony */
.faq{max-width:860px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;
  font-family:Mulish,sans-serif;font-weight:700;font-size:1.05rem;padding:20px 24px;min-height:52px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--tur-d);flex-shrink:0;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details>p,.faq details>ul{padding:0 24px 22px;color:var(--mut)}
.faq details>ul{list-style:disc;padding-left:44px}

/* karty stref cenowych */
.strefy{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.strefy .st{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;text-align:center}
.strefy .st .z{font-family:Mulish,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tur-d)}
.strefy .st .obszar{color:var(--mut);font-size:.92rem;margin:6px 0 10px;min-height:2.6em}
.strefy .st .pln{font-family:Mulish,sans-serif;font-weight:700;font-size:1.9rem;color:var(--ink)}
.strefy .st:first-child{border:2px solid var(--wash2);background:linear-gradient(180deg,#fff,var(--wash))}
@media(max-width:760px){.strefy{grid-template-columns:1fr}.strefy .st .obszar{min-height:0}}
.cen-extra{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;max-width:760px}
.cen-extra h3{font-size:1.08rem;margin-bottom:.5em}
.cen-extra ul{list-style:none;display:grid;gap:8px}
.cen-extra li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed var(--line);padding:8px 0}
.cen-extra li:last-child{border-bottom:0}
.cen-extra li b{font-family:Mulish,sans-serif;color:var(--tur-d);white-space:nowrap}

/* box „Zwróć uwagę" */
.note-box{background:var(--wash);border:1.5px solid var(--wash2);border-radius:var(--r);padding:24px 28px;max-width:860px}
.note-box h3{font-size:1.05rem;margin-bottom:.5em;color:var(--tur-d)}
.note-box ul{list-style:none;display:grid;gap:8px}
.note-box li{padding-left:26px;position:relative;color:var(--mut);font-size:.97rem}
.note-box li::before{content:"!";position:absolute;left:6px;color:var(--tur-d);font-weight:700}

/* pas partnerów / chipsy poza zasięgiem */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chips span,.chips a{background:#fff;border:1.5px solid var(--wash2);border-radius:999px;padding:.5em 1.05em;
  font-family:Mulish,sans-serif;font-weight:700;font-size:.95rem;color:var(--ink);text-decoration:none}

/* ---------- PODSTRONY: nagłówek + proza ---------- */
.page-hero{background:linear-gradient(180deg,var(--wash),var(--paper));padding:56px 0 40px}
.page-hero h1{font-size:clamp(2rem,4.2vw,3rem);text-wrap:balance;max-width:18em}
.page-hero .lead{margin-top:14px}
.prose{max-width:820px;padding:48px 0 20px}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(1.45rem,2.8vw,1.9rem);margin-top:1.9em}
.prose h3{font-size:1.22rem;margin-top:1.6em}
.prose h4{font-size:1.05rem;margin-top:1.4em}
.prose a{color:var(--tur-d);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:.45em}
.prose li::marker{color:var(--tur-d)}
.prose img{border-radius:var(--r);box-shadow:0 14px 34px rgba(38,48,47,.14);margin:1.6em 0}
.prose blockquote{border-radius:var(--r);background:var(--wash);padding:22px 26px;font-style:italic}
.prose table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:block;overflow-x:auto}
.prose th,.prose td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;min-width:120px}
.prose th{font-family:Mulish,sans-serif;font-weight:700;background:var(--wash);color:var(--ink)}
.prose tr:last-child td{border-bottom:0}
.prose .tel-inline{font-family:Mulish,sans-serif;font-weight:700;color:var(--tur-d);white-space:nowrap}

/* ---------- WARSTWA DETALI (jak stara strona: nectar-owe wejścia, scribble, fale) ---------- */
:root{--ease-soft:cubic-bezier(.25,1,.33,1)}

/* wejścia sekcji: [data-mwa] + .mwa-in z main.js; ukrywamy TYLKO gdy html.js (no-JS = wszystko widoczne) */
html.js [data-mwa]{opacity:0;transition:opacity .7s var(--ease-soft),transform .7s var(--ease-soft)}
html.js [data-mwa=up]{transform:translateY(26px)}
html.js [data-mwa=left]{transform:translateX(-30px)}
html.js [data-mwa=right]{transform:translateX(30px)}
html.js [data-mwa=grow]{transform:scale(.94)}
html.js [data-mwa=mask]{clip-path:inset(0 100% 0 0 round 24px);transform:none;opacity:1;
  transition:clip-path .9s var(--ease-soft)}
html.js .mwa-in{opacity:1;transform:none}
html.js [data-mwa=mask].mwa-in{clip-path:inset(0 0 0 0 round 24px)}
html.mwa-reduce [data-mwa]{opacity:1;transform:none;clip-path:none;transition:none}
@media(prefers-reduced-motion:reduce){html.js [data-mwa]{opacity:1;transform:none;clip-path:none;transition:none}}
/* dzieci staggera chowamy już w CSS (JS nadaje im data-mwa dopiero w stopce — bez tego mrugnięcie) */
html.js [data-mwa-stagger]>*{transition:opacity .7s var(--ease-soft),transform .7s var(--ease-soft)}
html.js [data-mwa-stagger]>:not(.mwa-in){opacity:0;transform:translateY(26px)}
html.mwa-reduce [data-mwa-stagger]>*,html.js.mwa-reduce [data-mwa-stagger]>:not(.mwa-in){opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){html.js [data-mwa-stagger]>:not(.mwa-in){opacity:1;transform:none;transition:none}}
/* bezpiecznik: klasę js dodaje inline skrypt w <head>; gdyby main.js nie dojechał
   (sieć/CSP), treść zostałaby ukryta na stałe — po 2.6s pokazujemy wszystko,
   chyba że silnik zdążył zgłosić html.mwa-live */
html.js:not(.mwa-live) [data-mwa],html.js:not(.mwa-live) [data-mwa-stagger]>*{animation:mwa-auto 0s 2.6s forwards}
html.js:not(.mwa-live) .scrib svg path{animation:mwa-scrib-auto 0s 2.6s forwards}
@keyframes mwa-auto{to{opacity:1;transform:none;clip-path:none}}
@keyframes mwa-scrib-auto{to{stroke-dashoffset:0}}

/* warianty hero podstron (różnicowanie stron) */
.p-hero.flip .wrap>div:first-child{order:2}
.p-hero.flip .foto img{border-radius:120px 28px 28px 120px}
.p-hero.r-arc .foto img{border-radius:150px 150px 28px 28px}
.p-hero.r-soft .foto img{border-radius:28px 120px 28px 120px}
@media(max-width:900px){.p-hero.flip .wrap>div:first-child{order:0}}
.hero-photo{isolation:isolate}
.p-hero .foto{isolation:isolate}

/* odręczne podkreślenie akcentu (scribble jak nectar-scribble) */
.scrib{position:relative;white-space:nowrap}
.scrib svg{position:absolute;left:-2%;bottom:-.18em;width:104%;height:.42em;overflow:visible;pointer-events:none}
.scrib svg path{fill:none;stroke:var(--tur);stroke-width:7;stroke-linecap:round;opacity:.85}
/* stan ukryty kreski tylko pod html.js — bez JS podkreślenie po prostu jest (statyczne) */
html.js .scrib svg path{stroke-dasharray:230;stroke-dashoffset:230}
.mwa-in .scrib svg path,.scrib.mwa-in svg path{animation:mw-scrib .9s var(--ease-soft) .35s forwards}
@keyframes mw-scrib{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.scrib svg path{stroke-dashoffset:0;animation:none}}

/* fale między sekcjami */
.wave{display:block;width:100%;height:64px;margin-bottom:-1px}
.wave svg{display:block;width:100%;height:100%}
@media(max-width:760px){.wave{height:36px}}

/* pływające mini-karty na hero (opinia + licznik) */
.float-card{position:absolute;background:#fff;border-radius:14px;padding:12px 18px;
  box-shadow:0 12px 30px rgba(38,48,47,.18);font-family:Mulish,sans-serif;font-weight:700}
.float-card .stars{color:#E8A33D;letter-spacing:.1em;font-size:.85rem}
.float-card span{display:block;font-family:"Open Sans",sans-serif;font-weight:400;font-size:.83rem;color:var(--mut)}
.float-op{right:-14px;top:26px;max-width:240px;font-size:.9rem}
@media(max-width:900px){.float-op{right:12px}}

/* pulsująca kropka dostępności */
.avail .dot{position:relative}
@media(prefers-reduced-motion:no-preference){
  .avail .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;
    border:2px solid var(--tur);opacity:0;animation:mw-pulse 2.4s ease-out infinite}
  @keyframes mw-pulse{0%{transform:scale(.6);opacity:.8}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}
}

/* oddychający blob za zdjęciem hero */
.blob{position:absolute;inset:-7% -9% auto auto;width:78%;height:86%;z-index:-1;
  background:var(--wash2);border-radius:58% 42% 55% 45%/50% 55% 45% 50%;opacity:.55}
@media(prefers-reduced-motion:no-preference){
  .blob{animation:mw-blob 16s ease-in-out infinite alternate}
  @keyframes mw-blob{from{border-radius:58% 42% 55% 45%/50% 55% 45% 50%;transform:rotate(-2deg)}
    to{border-radius:45% 55% 44% 56%/58% 44% 56% 42%;transform:rotate(3deg) scale(1.04)}}
}

/* mikrointerakcje: karty, przyciski, zdjęcia, FAQ */
.btn{transition:transform .45s var(--ease-soft),box-shadow .45s var(--ease-soft),background .3s}
.btn .arr{display:inline-block;transition:transform .45s var(--ease-soft)}
.btn:hover .arr{transform:translateX(5px)}
.bene article,.why .it,.op,.sv,.strefy .st,.scenka,.stop,.cen-extra{transition:transform .45s var(--ease-soft),box-shadow .45s var(--ease-soft),border-color .3s}
.bene article:hover,.why .it:hover,.op:hover,.strefy .st:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(38,48,47,.12);border-color:var(--wash2)}
.sv:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(38,48,47,.14)}
.sv>img,.split figure img,.p-hero .foto img,.trasa-foto img{transition:transform 1.2s var(--ease-soft)}
.sv:hover>img{transform:scale(1.03)}
.split figure:hover img,.p-hero .foto:hover img{transform:scale(1.02)}
.sv>img,.split figure,.p-hero .foto,.trasa-foto{overflow:hidden}
.p-hero .foto{overflow:visible}
.split figure,.p-hero .foto>img{display:block}
.faq summary::after{transition:transform .35s var(--ease-soft)}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq details{transition:border-color .3s,box-shadow .3s}
.faq details[open]{border-color:var(--wash2);box-shadow:0 10px 24px rgba(38,48,47,.08)}
.cen a{position:relative}
.cen a::after{content:"→";position:absolute;right:-18px;top:50%;transform:translateY(-50%);opacity:0;
  color:var(--tur-d);font-weight:700;transition:right .35s var(--ease-soft),opacity .35s}
.cen a:hover::after{right:10px;opacity:1}
.gminy span,.chips span,.chips a{transition:transform .35s var(--ease-soft),border-color .3s,background .3s}
.gminy span:hover,.chips a:hover{transform:translateY(-3px);border-color:var(--tur)}
.mnav nav a,.nav>nav a{transition:opacity .25s,background .25s}

/* kick z kreską (detal typograficzny) */
.kick{display:inline-flex;align-items:center;gap:.7em}
.kick::before{content:"";width:26px;height:2.5px;border-radius:2px;background:var(--tur);flex-shrink:0}
.mw-footer .kick::before,.final .kick::before{display:none}

/* wideo hero (loop Remotion): pod spodem poster, wideo płynnie nadpisuje */
.hero-media{position:relative;border-radius:28px 28px 140px 28px;overflow:hidden;
  aspect-ratio:4/3.15;box-shadow:0 30px 60px rgba(38,48,47,.24)}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media video{opacity:0;transition:opacity .8s ease}
.hero-media video.on{opacity:1}

/* ---------- stopka ---------- */
.mw-footer{background:var(--ink);color:#fff;margin-top:88px;padding:48px 0 34px}
.mw-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.mw-footer .flogo{font-family:Mulish,sans-serif;font-weight:700;font-size:1.4rem;text-decoration:none}
.mw-footer .flogo .a{color:#B9C4C2}.mw-footer .flogo .b{color:var(--tur)}
.mw-footer h4{font-family:Mulish,sans-serif;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tur);margin-bottom:12px}
.mw-footer ul{list-style:none;display:grid;gap:8px}
.mw-footer a{color:#fff;opacity:.85;text-decoration:none;display:inline-block;padding:.3em 0}
.mw-footer a:focus-visible{outline-color:#fff}
.mw-footer .fine{grid-column:1/-1;opacity:.55;font-size:.85rem;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;margin-top:14px}
@media(max-width:760px){.mw-footer .wrap{grid-template-columns:1fr}}

/* ---------- mobilny pasek CTA ---------- */
.mob{display:none}
@media(max-width:760px){
  .mob{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;
    padding-bottom:env(safe-area-inset-bottom)}
  .mob a{flex:1;text-align:center;padding:17px;font-family:Mulish,sans-serif;font-weight:700;font-size:1.05rem;text-decoration:none}
  .mob .m1{background:var(--tur-d);color:#fff}.mob .m2{background:#fff;color:var(--tur-d);border-top:2px solid var(--tur-d)}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
}

/* reduced-motion: koniec z ruchem także w mikrointerakcjach (hovery, strzałki, chevrony, zoom) */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
}
