/* Bonjour Bébé — claude-design
   Układ: jedna kolumna treści 1120px, sekcje na przemian białe / błękitne / słoneczne,
   na górze najważniejsze fakty, przyciski kontaktu zawsze pod ręką.
   Kolory z logo (błękit #8aa2d3) + ciepłe słońce jako akcent. */

@font-face{font-family:"Comfortaa";src:url("fonts/comfortaa.woff") format("woff");font-weight:300 700;font-display:swap}
@font-face{font-family:"Nunito";src:url("fonts/nunito.woff") format("woff");font-weight:200 1000;font-display:swap}

:root{
  --blue:#8aa2d3;
  --blue-deep:#4a63a6;
  --blue-dark:#36508f;
  --blue-100:#e3eaf7;
  --blue-50:#f2f5fc;
  --sun:#f2bd55;
  --sun-100:#fde9bf;
  --sun-50:#fef7e8;
  --ink:#2c3650;
  --muted:#5a6479;
  --line:#e1e6f0;
  --white:#ffffff;

  --display:"Comfortaa","Nunito","Trebuchet MS",sans-serif;
  --body:"Nunito","Segoe UI",Arial,sans-serif;

  --r-lg:28px;
  --r-md:20px;
  --card-pad:32px;
  --gap:24px;
  --title:20px;
  --text-card:16px;
  --shadow:0 20px 50px -28px rgba(54,80,143,.45);
  --container:1120px;
  --gutter:max(20px, env(safe-area-inset-left, 0px));
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.7;color:var(--ink);background:var(--white)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2{text-wrap:balance}
h1{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.15}
h2{font-family:var(--body);font-weight:800;letter-spacing:-.025em;line-height:1.18;color:var(--ink)}
h2 .accent{color:var(--blue-deep)}
h1{font-size:clamp(40px,5.4vw,68px)}
h2{font-size:clamp(28px,3vw,40px)}
h3{font-size:20px;font-weight:800;line-height:1.3}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}
[hidden]{display:none !important}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nowrap{white-space:nowrap}
.skip{position:fixed;left:12px;top:12px;z-index:100;background:var(--white);padding:12px 16px;border-radius:12px;transform:translateY(-200%)}
.skip:focus{transform:none}

.container{max-width:calc(var(--container) + 2*var(--gutter));margin-inline:auto;padding-left:var(--gutter);padding-right:max(20px, env(safe-area-inset-right, 0px))}

/* ---------- elementy wspólne ---------- */
.kicker{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-deep);margin-bottom:14px}
.kicker-light{color:var(--sun-100)}
.sun-dot{width:12px;height:12px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 5px var(--sun-50)}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 26px;border-radius:999px;background:var(--blue-deep);color:var(--white);font-weight:800;font-size:16px;text-decoration:none;border:2px solid var(--blue-deep);transition:background .2s,transform .2s,border-color .2s;text-align:center}
.btn:hover{background:var(--blue-dark);border-color:var(--blue-dark);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--blue-deep)}
.btn-ghost:hover{background:var(--blue-50);color:var(--blue-dark)}
.btn-sun{background:var(--sun);border-color:var(--sun);color:var(--ink)}
.btn-sun:hover{background:#e8ad3c;border-color:#e8ad3c}
.btn-small{min-height:44px;padding:8px 20px;font-size:15px}
.link{font-weight:800;color:var(--blue-deep);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:5px}
.link:hover{text-decoration-color:var(--sun)}
.included{display:flex;align-items:flex-start;gap:12px;margin-top:28px;padding:16px 20px;border-radius:var(--r-md);background:var(--white);box-shadow:var(--shadow);font-size:16px;max-width:760px}
.included strong{color:var(--ink)}
.included-icon{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sun);color:var(--ink);font-weight:800;font-size:15px}
.trips{margin-top:28px;display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center;padding:32px 36px;border-radius:var(--r-lg);background:var(--white);box-shadow:var(--shadow)}
.trips h3{font-size:24px;margin:4px 0 10px}
.trips-text p:last-child{color:var(--muted);margin:0}
.trip-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.trip-list li{padding:9px 15px;border-radius:999px;background:var(--blue-50);color:var(--blue-deep);font-weight:700;font-size:15px;line-height:1.3}
.trip-list li.is-key{background:var(--sun-100);color:var(--ink)}
.trip-list li.is-more{background:transparent;color:var(--muted);font-weight:600;padding-left:4px}
.fine{margin-top:24px;font-size:15px;color:var(--muted)}

.section{padding-block:clamp(64px,9vw,112px)}
.section-blue{background:var(--blue-50)}
.section-sun{background:var(--sun-50)}
.section-head{max-width:720px;margin-bottom:48px}
.section-lead{margin-top:16px;font-size:19px;color:var(--muted)}

/* ---------- nagłówek ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:28px;min-height:76px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.logo img{width:52px;height:52px}
.logo-text{font-family:var(--display);font-weight:700;font-size:21px;color:#666c7e;line-height:1.1}
.logo-text small{display:block;font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep);margin-top:4px}
.nav{display:flex;gap:24px;margin-left:auto;min-width:0}
.nav a{text-decoration:none;font-weight:700;font-size:15px;padding-block:8px;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{border-bottom-color:var(--sun)}
.nav-toggle{display:none}
.lang-switch{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border-radius:999px;border:2px solid var(--line);font-weight:800;font-size:14px;letter-spacing:.06em;text-decoration:none;color:var(--blue-deep)}
.lang-switch:hover{border-color:var(--blue)}

/* ---------- hero ---------- */
.hero{padding-block:56px 0;background:linear-gradient(180deg,var(--white) calc(100% - 120px),var(--blue-50) calc(100% - 120px))}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.hero h1 em{font-style:normal;color:var(--blue-deep);background:linear-gradient(transparent 70%,var(--sun-100) 70%)}
.hero-lead{margin-top:22px;font-size:20px;color:var(--muted);max-width:30em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-note{margin-top:18px;font-size:15px;color:var(--muted);font-weight:600}
.hero-photos{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:14px;min-width:0}
.ph{margin:0;overflow:hidden;border-radius:var(--r-lg);background:var(--blue-100);box-shadow:var(--shadow)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph-main{grid-column:1/-1;aspect-ratio:16/10;border-radius:200px 200px var(--r-lg) var(--r-lg)}
.ph-small{aspect-ratio:1}
.ph-a{grid-column:1/2;border-radius:50%}
.ph-b{grid-column:2/4;aspect-ratio:2/1;border-radius:var(--r-lg) var(--r-lg) 120px var(--r-lg)}
.ph-b img{object-position:center 50%}

.facts{list-style:none;margin:48px 0 0;padding:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow);position:relative;top:40px}
.facts li{display:flex;flex-direction:column;gap:2px;padding-left:18px;border-left:3px solid var(--blue-100)}
.facts li:nth-child(4){border-left-color:var(--sun)}
.facts strong{font-family:var(--display);font-size:clamp(22px,2.4vw,30px);color:var(--blue-deep);line-height:1.2;font-variant-numeric:tabular-nums}
.facts span{font-size:15px;color:var(--muted);line-height:1.4}
#podejscie{padding-top:clamp(104px,12vw,150px)}

/* ---------- o nas: wartości i wyróżniki ---------- */
.sub-title{font-family:var(--display);font-size:22px;font-weight:700;margin:8px 0 22px;display:flex;align-items:center;gap:14px}
.sub-title::after{content:"";flex:1;border-top:2px dotted var(--line)}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:64px}
.value{padding:28px;border-radius:var(--r-lg);background:var(--blue-50)}
.value:nth-child(even){background:var(--sun-50)}
.value-icon{width:52px;height:52px;border-radius:50%;background:var(--white);display:grid;place-items:center;margin-bottom:18px}
.value-icon svg{width:28px;height:28px;fill:none;stroke:var(--blue-deep);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.value:nth-child(even) .value-icon svg{stroke:#c98a14}
.value h4,.edge h4{font-size:18px;font-weight:800;line-height:1.3;margin:0 0 8px}
.value p,.edge p:not(.edge-stat){color:var(--muted);font-size:15.5px;margin:0}
.edges{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.edge h4{font-size:19px;margin-bottom:10px}
.edge{padding:28px;border-radius:var(--r-lg);background:var(--blue-50)}
.edge:nth-child(even){background:var(--sun-50)}
.edge-stat{font-family:var(--display);font-weight:700;font-size:clamp(28px,2.8vw,36px);line-height:1.15;color:var(--blue-deep);margin:0 0 12px;font-variant-numeric:tabular-nums}

/* ---------- dzień ---------- */
.day-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.day-intro{position:relative}
.day-intro>p:not(.kicker):not(.now-card),.day-intro .deco-anchor>p{margin-top:16px;color:var(--muted)}
.now-card{margin-top:28px !important;padding:20px 24px;background:var(--white);border-radius:var(--r-md);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px;color:var(--ink) !important}
.now-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep)}
.now-label::before{content:"";width:10px;height:10px;border-radius:50%;background:#4cb57a;box-shadow:0 0 0 4px #dff3e7}
.now-card strong{font-size:19px}
.timeline{list-style:none;margin:0;padding:12px 28px 20px;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.timeline li{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:baseline;padding:12px 12px;border-radius:14px;position:relative}
.timeline li+li:not(.tl-phase){border-top:1px dashed var(--line)}
.timeline time{font-weight:800;color:var(--blue-deep);font-variant-numeric:tabular-nums}
.timeline .tl-phase{display:block;padding:20px 12px 6px;font-family:var(--display);font-weight:700;font-size:18px;color:var(--ink)}
.timeline .tl-phase:first-child{padding-top:10px}
.timeline .meal span::after{content:"posiłek";margin-left:10px;font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--sun-100);color:#8a5d0b;vertical-align:2px}
.timeline .rest span::after{content:"sen";margin-left:10px;font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--blue-100);color:var(--blue-dark);vertical-align:2px}
.timeline .outside span::after{content:"na dworze";margin-left:10px;font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:#dff3e7;color:#2f7a50;vertical-align:2px}
html:lang(en) .timeline .meal span::after{content:"meal"}
html:lang(en) .timeline .rest span::after{content:"sleep"}
html:lang(en) .timeline .outside span::after{content:"outdoors"}
.timeline li.is-now{background:var(--blue-50);border-top-color:transparent}
.timeline li.is-now+li{border-top-color:transparent}
.timeline li.is-now time::before{content:"";position:absolute;left:-6px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#4cb57a;box-shadow:0 0 0 4px #dff3e7}

/* ---------- adaptacja ---------- */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s;position:relative}
.steps::before{content:"";position:absolute;left:28px;right:28px;top:27px;border-top:3px dotted var(--blue)}
.steps li{position:relative}
.step-n{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--blue-deep);color:var(--white);font-family:var(--display);font-weight:700;font-size:22px;margin-bottom:20px;box-shadow:0 0 0 8px var(--white)}
.steps li:nth-child(even) .step-n{background:var(--sun);color:var(--ink)}
.steps h3{margin-bottom:8px}
.steps p{color:var(--muted);font-size:16px}

/* ---------- zajęcia ---------- */
.activities{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.activity{background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.activity>img,.activity-art{aspect-ratio:4/3;width:100%;object-fit:cover}
.activity-art svg{width:100%;height:100%;display:block}
.activity-body{padding:22px 22px 26px}
.tag{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep);margin-bottom:8px}
.activity h3{font-size:18px;margin-bottom:6px}
.activity p:last-child{font-size:15px;color:var(--muted)}

/* ---------- miejsce / galeria ---------- */
.place-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.place-grid>div:first-child>p:last-child{margin-top:16px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.g-item{padding:0;border:0;background:var(--blue-100);border-radius:var(--r-md);overflow:hidden;cursor:zoom-in;aspect-ratio:1}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.g-item:hover img{transform:scale(1.04)}
.g-wide{grid-column:1/-1;aspect-ratio:16/8;border-radius:var(--r-lg)}

/* ---------- kadra ---------- */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.team-grid>div>p:not(.kicker){margin-top:16px;color:var(--muted)}
.founder{margin:0;padding:40px;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow);position:relative}
.founder-photo{display:block;width:132px;height:132px;border-radius:50%;object-fit:cover;margin-bottom:22px;box-shadow:0 0 0 5px var(--white),0 0 0 7px var(--blue-100),var(--shadow)}
.founder blockquote{margin:0;font-family:var(--display);font-weight:600;font-size:21px;line-height:1.5;color:var(--ink)}
.founder figcaption{margin-top:22px;display:flex;flex-direction:column;gap:2px}
.founder figcaption span{font-size:15px;color:var(--muted)}

/* ---------- kuchnia i bezpieczeństwo ---------- */
.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.care{padding:36px;border-radius:var(--r-lg);border:2px solid var(--line)}
.care h3{font-family:var(--display);font-size:24px;margin-bottom:12px}
.care>p{color:var(--muted)}
.checks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.checks li{position:relative;padding-left:34px;font-size:16px}
.checks li::before{content:"";position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;background:var(--blue-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%234a63a6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

/* ---------- opłaty ---------- */
.funding{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fund{padding:36px;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.fund-amount{font-family:var(--display);font-weight:700;font-size:clamp(28px,3vw,38px);color:var(--blue-deep);line-height:1.2}
.fund-amount small{font-family:var(--body);font-size:16px;color:var(--muted)}
.fund p:not(.fund-amount){color:var(--muted);font-size:16px}
.fund .link{margin-top:auto}
.offer{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;border-radius:var(--r-lg);background:var(--sun-100)}
.offer p{max-width:620px}
.offer .btn{flex-shrink:0}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq-grid>div:first-child>p:not(.kicker),.faq-grid .deco-anchor>p{margin-top:16px;color:var(--muted)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 4px;font-weight:800;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex-shrink:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue-50);color:var(--blue-deep);font-size:22px;font-weight:700;transition:transform .2s,background .2s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--sun)}
.faq details p{padding:0 48px 22px 4px;color:var(--muted)}

/* ---------- kontakt ---------- */
.contact{background:var(--blue-deep);color:var(--white);padding-block:clamp(64px,9vw,104px);border-radius:48px 48px 0 0;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;width:420px;aspect-ratio:1;border-radius:50%;background:var(--blue);opacity:.35;left:-160px;bottom:-220px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative}
.contact h2{color:var(--white)}
.contact h2 .accent{color:var(--sun-100)}
.contact-grid>div:first-child>p:not(.kicker){margin-top:16px;color:#dfe6f7;font-size:19px;max-width:28em}
.contact-card{background:var(--white);color:var(--ink);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:20px}
.contact-row{display:flex;flex-direction:column;gap:2px}
.c-label{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-deep)}
.c-big{font-family:var(--display);font-weight:700;font-size:32px;text-decoration:none;color:var(--ink)}
.c-mid{font-weight:800;font-size:19px;text-decoration:none;overflow-wrap:anywhere}
.email-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.copy-btn{border:1.5px solid var(--line);background:var(--white);color:var(--blue-deep);font:inherit;font-size:13px;font-weight:800;padding:6px 12px;border-radius:999px;cursor:pointer}
.copy-btn:hover{border-color:var(--blue)}
.copy-btn.is-done{background:var(--blue-50);border-color:var(--blue-50)}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px}
.contact-actions .btn{flex:1 1 200px}
.contact-hint{margin:-4px 0 0;font-size:14px;color:var(--muted)}
.contact-card address{font-style:normal;font-size:18px;margin-bottom:6px}

/* ---------- opinie z Google (w sekcji kontaktu) ---------- */
.reviews{margin-top:32px;padding:24px 26px 20px;border-radius:var(--r-lg);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);max-width:34em}
.reviews-head{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sun-100)}
.stars{color:var(--sun);letter-spacing:2px;font-size:16px}
.review{margin:14px 0 0;display:flex;flex-direction:column;justify-content:center;transition:opacity .35s}
.review.is-fading{opacity:0}
.review blockquote{margin:0;font-size:17px;line-height:1.6;color:var(--white)}
.review blockquote::before{content:"\201C";display:block;font-family:Georgia,serif;font-size:46px;line-height:.8;height:22px;color:var(--sun)}
.review figcaption{margin-top:12px;font-weight:800;color:#dfe6f7;font-size:15px}
.reviews-nav{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.rv-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:var(--white);font-size:18px;cursor:pointer}
.rv-btn:hover{background:rgba(255,255,255,.14)}
.rv-dots{display:flex;gap:6px}
.rv-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer}
.rv-dots button[aria-current="true"]{background:var(--sun);width:22px;border-radius:6px}
.rv-progress{flex:1;min-width:60px;height:4px;border-radius:4px;background:rgba(255,255,255,.18);overflow:hidden}
.rv-progress i{display:block;height:100%;width:0;background:var(--sun);border-radius:4px}
.reviews-link{display:inline-block;margin-top:14px;font-size:14px;font-weight:800;color:var(--white);text-decoration:underline;text-decoration-color:var(--sun);text-underline-offset:4px}

/* ---------- stopka ---------- */
.footer{background:var(--ink);color:#c9d1e3;padding-block:32px}
.footer-grid{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:28px;font-size:13.5px}
.footer-grid>p{flex:1;min-width:0;text-align:center;line-height:1.5}
.footer .logo,.footer-end{flex-shrink:0}
.footer-end p{white-space:nowrap}
.footer .logo-text{color:var(--white)}
.footer .logo-text small{color:var(--sun-100)}
.footer .logo img.logo-mark{width:52px;height:52px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.9);background:var(--blue)}
.footer .logo-text{font-size:22px}
.footer a{color:var(--white)}
.footer-end{display:flex;align-items:center;gap:20px}
.social{display:flex;gap:10px}
.social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--white);transition:background .2s,color .2s}
.social a:hover{background:var(--sun);color:var(--ink)}
.social svg{width:20px;height:20px;fill:currentColor}

.mobile-bar{display:none}

/* ---------- lightbox: pełnoekranowa galeria ---------- */
.lightbox{border:0;margin:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:rgba(24,30,46,.96);color:#fff;overflow:hidden}
.lightbox::backdrop{background:rgba(24,30,46,.96)}
.lightbox[open]{display:grid;grid-template-rows:auto 1fr}
.lb-top{display:flex;align-items:center;justify-content:space-between;padding:14px max(16px, env(safe-area-inset-right, 0px)) 6px max(16px, env(safe-area-inset-left, 0px))}
.lb-count{font-weight:800;font-size:15px;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:#dfe6f7}
.lb-close{width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.lb-close:hover{background:rgba(255,255,255,.22)}
.lb-stage{margin:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 84px 28px}
.lb-stage img{max-width:100%;max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain;border-radius:14px;transition:opacity .2s}
.lb-stage img.is-loading{opacity:.35}
.lb-stage figcaption{font-weight:700;font-size:17px;text-align:center;color:#fff}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:0;background:#fff;color:var(--blue-deep);font-size:24px;font-weight:800;cursor:pointer;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}
.lb-nav:hover{background:var(--sun);color:var(--ink)}
.lb-prev{left:max(20px, env(safe-area-inset-left, 0px))}
.lb-next{right:max(20px, env(safe-area-inset-right, 0px))}
.g-item{position:relative}
/* podgląd galerii po najechaniu: zdjęcia przewijają się same w dużym kadrze */
.g-cycle{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;pointer-events:none}
.g-cycle.on{opacity:1}
.g-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;opacity:0;transition:opacity .3s;pointer-events:none}
.g-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 1px 4px rgba(0,0,0,.25);transition:background .3s,width .3s}
.g-dots i.on{background:#fff;width:20px;border-radius:5px}
.g-wide.is-cycling .g-dots{opacity:1}
@media (max-width:600px){
  .lb-stage{padding:0 12px 92px}
  .lb-stage img{max-height:calc(100dvh - 200px)}
  .lb-nav{top:auto;bottom:calc(20px + env(safe-area-inset-bottom, 0px));transform:none;width:52px;height:52px}
  .lb-prev{left:calc(50% - 64px)}
  .lb-next{right:calc(50% - 64px)}
}

/* ---------- menu zwijane do przycisku ---------- */
@media (max-width:1180px){
  .lang-switch{margin-left:auto}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);flex-direction:column;gap:0;padding:8px var(--gutter) 20px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px -20px rgba(44,54,80,.3)}
  .nav.is-open{display:flex}
  .nav a{font-size:18px;padding:14px 0;border-bottom:1px solid var(--line)}
  .nav-toggle{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--blue);background:var(--white);cursor:pointer}
  .nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:20px;height:2.5px;border-radius:2px;background:var(--blue-deep);position:relative}
  .nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}
  .nav-toggle-bars::before{top:-6px}
  .nav-toggle-bars::after{top:6px}
}

/* ---------- tablet ---------- */
@media (max-width:1040px){
  .activities{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:40px}
  .steps::before{display:none}
}
@media (max-width:900px){
  .hero-grid,.day-grid,.place-grid,.team-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .day-intro{position:static}
  .values{grid-template-columns:repeat(2,1fr)}
  .edges{grid-template-columns:repeat(2,1fr)}
  .facts{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .care-grid,.funding{grid-template-columns:1fr}
}

/* ---------- telefon ---------- */
@media (max-width:600px){
  .founder-photo{width:112px;height:112px}
  body{font-size:16px;padding-bottom:84px}
  .header-cta{display:none}
  .header-inner{gap:10px}
  .logo{flex-shrink:1;min-width:0;gap:9px}
  .logo-text small{letter-spacing:.04em}
  .nav-toggle,.lang-switch{flex-shrink:0}
  .logo img{width:44px;height:44px}
  .logo-text{font-size:18px}
  .logo-text small{font-size:9.5px}
  .hero{padding-top:32px}
  .hero-lead{font-size:18px}
  .hero-actions .btn{width:100%}
    .facts{padding:20px;margin-top:32px;top:28px}
  .facts li{padding-left:12px}
  .section-head{margin-bottom:32px}
  .section-lead{font-size:17px}
  .timeline{padding:8px 12px 14px}
  .timeline li{grid-template-columns:52px 1fr;gap:12px;padding:10px 8px;font-size:15px}
  .activities,.steps{grid-template-columns:1fr}
  .trips{grid-template-columns:1fr;gap:18px;padding:24px 22px}
  .gallery{grid-template-columns:1fr 1fr}
  .g-wide{aspect-ratio:4/3}
  .gallery{grid-template-columns:repeat(3,1fr);gap:10px}
  .values,.edges{grid-template-columns:1fr}
  .value,.edge,.care,.fund,.founder,.contact-card{padding:26px}
  .offer{flex-direction:column;align-items:flex-start;padding:24px}
  .offer .btn{width:100%}
  .faq summary{font-size:16px}
  .faq details p{padding-right:4px}
  .contact{border-radius:32px 32px 0 0}
  .c-big{font-size:28px}
  .mobile-bar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px max(14px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mobile-bar .btn{flex:1;min-height:48px}
  .mobile-bar .btn:last-child{flex:1.6}
}

/* ---------- faliste przejścia między sekcjami ---------- */
.section-blue,.section-sun,.hero{position:relative}
.section-blue::before,.section-sun::before,.section-blue::after,.section-sun::after,.hero::after,.contact::after{
  content:"";position:absolute;left:0;right:0;height:var(--wave-h,56px);background:inherit;pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V34C180 6 360 0 560 18S940 58 1140 40 1360 10 1440 14V60Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V34C180 6 360 0 560 18S940 58 1140 40 1360 10 1440 14V60Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.section-blue::before,.section-sun::before{top:calc(1px - var(--wave-h,56px))}
.section-blue::after,.section-sun::after{bottom:calc(1px - var(--wave-h,56px));
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V28C1260 56 1080 60 880 42S520 6 320 20 80 52 0 46Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V28C1260 56 1080 60 880 42S520 6 320 20 80 52 0 46Z'/%3E%3C/svg%3E")}
/* hero: błękitny pas pod kartą faktów spływa falą */
.hero::after{background:var(--blue-50);bottom:calc(1px - var(--wave-h,56px));z-index:0;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V28C1260 56 1080 60 880 42S520 6 320 20 80 52 0 46Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V28C1260 56 1080 60 880 42S520 6 320 20 80 52 0 46Z'/%3E%3C/svg%3E")}
.hero .facts{z-index:2}
/* kontakt: biała fala wchodzi w ciemny błękit zamiast prostego zaokrąglenia */
.contact{border-radius:0}
.contact::after{top:-1px;background:var(--white);z-index:1;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V28C1260 56 1080 60 880 42S520 6 320 20 80 52 0 46Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V28C1260 56 1080 60 880 42S520 6 320 20 80 52 0 46Z'/%3E%3C/svg%3E")}
@media (max-width:600px){:root{--wave-h:30px}}

@media (max-width:820px){.footer-grid{flex-wrap:wrap;gap:16px 24px}.footer-grid>p{flex-basis:100%;order:3;text-align:left}}

/* ==========================================================================
   Spójność: jedna skala dla kart, tytułów, tekstów i odstępów w całej stronie
   - karty: zaokrąglenie 28 px, padding 32 px (24 px na telefonie)
   - tytuł karty: Nunito 800, 20 px; tekst w karcie: 16 px
   - odstęp między kartami: 24 px (16 px na telefonie)
   - na białym tle karty są wypełnione kolorem, na kolorowym tle są białe z cieniem
   ========================================================================== */
.values,.edges,.activities,.care-grid,.funding,.steps{gap:var(--gap)}
.gallery{gap:16px}
.value,.edge,.care,.fund,.founder,.contact-card,.offer{padding:var(--card-pad);border-radius:var(--r-lg)}
.activity,.timeline,.facts{border-radius:var(--r-lg)}
.activity-body{padding:24px 28px 28px}
.facts{padding:28px var(--card-pad)}
.g-item,.g-wide{border-radius:var(--r-md)}

.value h4,.edge h4,.activity h3,.care h3,.fund h3,.steps h3{
  font-family:var(--body);font-size:var(--title);font-weight:800;line-height:1.3;letter-spacing:-.01em;margin:0 0 10px}
.value p,.edge p:not(.edge-stat),.activity p:last-child,.care>p,.checks li,.fund p:not(.fund-amount),.steps p,.offer p{
  font-size:var(--text-card);line-height:1.65}
.value p,.edge p,.activity p:last-child,.care>p,.fund p:not(.fund-amount),.steps p{color:var(--muted)}
.section-lead,.hero-lead{font-size:19px}
.day-intro>p:not(.kicker):not(.now-card),.deco-anchor>p,.place-grid>div:first-child>p:last-child,.team-grid>div>p:not(.kicker),.faq-grid>div:first-child>p:not(.kicker){font-size:17px}
.fine{font-size:15px}

/* jedzenie i bezpieczeństwo: wypełnione jak pozostałe karty na białym tle */
.care{border:0;background:var(--blue-50)}
.care:nth-child(2){background:var(--sun-50)}
.care .checks li::before{background-color:var(--white)}

/* ikony w kartach: jeden rozmiar */
.value-icon{width:52px;height:52px;margin-bottom:18px}
.value-icon svg{width:28px;height:28px}

@media (max-width:600px){
  :root{--card-pad:24px;--gap:16px;--title:19px}
  .activity-body{padding:20px 24px 24px}
  .facts{padding:20px}
  .section-lead,.hero-lead{font-size:17px}
  .day-intro>p:not(.kicker):not(.now-card),.deco-anchor>p,.place-grid>div:first-child>p:last-child,.team-grid>div>p:not(.kicker),.faq-grid>div:first-child>p:not(.kicker){font-size:16px}
}

/* ---------- drewniane grafiki-akcenty (jedna na sekcję, zawsze obok tekstu) ---------- */
.deco{display:block;height:auto;mix-blend-mode:multiply;pointer-events:none;user-select:none}
.deco-day{width:min(240px,70%);margin-top:28px}
.deco-hello{width:190px;top:-24px;mix-blend-mode:normal}
.deco-anchor{width:fit-content;max-width:100%}
.deco-anchor>.deco{margin-left:auto;margin-right:auto}
.deco-faq{width:min(170px,55%);margin-top:32px}
.deco-corner{position:absolute;left:calc(var(--gutter) + 744px);top:-10px;width:200px}
#adaptacja>.container,#settling-in>.container,#podejscie>.container,#about>.container{position:relative}
.care{position:relative}
.deco-card{position:absolute;right:20px;top:14px;width:120px}
.care h3,.care>p{padding-right:120px}
.care>p{padding-right:110px}
.fine-loc{display:flex;align-items:center;gap:16px;margin-top:28px}
.deco-tram{width:120px;flex-shrink:0}
@media (max-width:1040px){
  .deco-corner{position:static;width:200px;margin:0 0 8px auto}
}
@media (max-width:600px){
  .deco-corner{width:150px;margin:0 0 4px}
  .deco-card{position:static;width:96px;margin:0 0 6px}
  .care h3,.care>p{padding-right:0}
  .deco-tram{width:90px}
  .deco-day,.deco-faq{width:170px}
}

/* ---------- zajęcia: klikalna karta i okno z opisem ---------- */
.activity.is-clickable{position:relative;cursor:pointer;transition:transform .25s,box-shadow .25s}
.activity.is-clickable:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(54,80,143,.55)}
.act-more{margin-top:14px;padding:0;border:0;background:none;font:inherit;font-size:14.5px;font-weight:800;color:var(--blue-deep);cursor:pointer;text-align:left}
.act-more span{display:inline-block;transition:transform .2s}
.activity.is-clickable:hover .act-more span{transform:translateX(4px)}
.act-more::after{content:"";position:absolute;inset:0;border-radius:inherit}
.act-dialog{border:0;padding:clamp(24px,4vw,44px);width:min(920px,calc(100% - 24px));max-height:calc(100dvh - 32px);border-radius:var(--r-lg);background:var(--white);color:var(--ink);box-shadow:0 40px 80px -30px rgba(24,30,46,.5)}
.act-dialog::backdrop{background:rgba(24,30,46,.6);backdrop-filter:blur(3px)}
.act-close{position:sticky;top:0;float:right;margin:-8px -8px 0 0;width:44px;height:44px;border-radius:50%;border:0;background:var(--blue-50);color:var(--blue-deep);font-size:26px;line-height:1;cursor:pointer;z-index:2}
.act-close:hover{background:var(--sun)}
.act-dialog h2{margin-bottom:14px}
.act-lead{color:var(--muted);font-size:17px;max-width:64ch;margin-bottom:10px}
.act-facts{list-style:none;padding:0;margin:22px 0 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.act-facts li{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:var(--r-md);background:var(--blue-50)}
.act-facts li:nth-child(2){background:var(--sun-50)}
.act-facts li:nth-child(3){background:var(--sun-100)}
.act-facts--4{grid-template-columns:repeat(4,1fr)}
.act-facts--4 li:nth-child(3){background:var(--blue-50)}
.act-facts--4 li:nth-child(4){background:var(--sun-100)}
.act-facts strong{font-family:var(--display);font-size:19px;color:var(--blue-deep)}
.act-facts span{font-size:14.5px;color:var(--muted);line-height:1.4}
.act-gal-title{font-family:var(--display);font-size:20px;margin:0 0 14px}
.act-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.act-photo{padding:0;border:0;border-radius:14px;overflow:hidden;aspect-ratio:1;cursor:zoom-in;background:var(--blue-50)}
.act-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.act-photo:hover img{transform:scale(1.05)}
.act-gallery--5{grid-template-columns:repeat(5,1fr)}
.act-gallery--3{grid-template-columns:repeat(3,1fr);max-width:60%}
.act-gallery--w80{max-width:80%}
.act-gal-next{margin-top:26px}
.act-hint{margin-top:12px;font-size:13.5px;color:var(--muted)}
@media (max-width:600px){
  .act-facts,.act-facts--4{grid-template-columns:1fr;gap:8px;margin:18px 0 24px}
  .act-gallery,.act-gallery--5,.act-gallery--3{grid-template-columns:repeat(3,1fr);gap:6px;max-width:none}
  .act-gallery--4{grid-template-columns:repeat(2,1fr)}
  .act-gallery--w80{max-width:none}
  .act-photo{border-radius:10px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}
