      @font-face { font-family:'DM Sans'; src:url('/fonts/DMSans.ttf') format('truetype'); font-weight:100 1000; font-display:swap; }
      @font-face { font-family:'Nunito'; src:url('/fonts/Nunito.ttf') format('truetype'); font-weight:200 1000; font-display:swap; }
      :root { color-scheme: light; --ink:#15343b; --muted:#4a666b; --sky:#83cdda; --sky-dark:#317f91; --pink:#bd5f8d; --pink-light:#f9e8f0; --cream:#fffaf6; --line:#d8e8e9; --shadow:0 22px 50px rgba(19,61,69,.10); }
      * { box-sizing:border-box; }
      html { scroll-behavior:smooth; }
      body { margin:0; font-family:'DM Sans',Arial,sans-serif; color:var(--ink); background:#fff; font-size:16px; line-height:1.65; }
      a { color:inherit; }
      img { display:block; max-width:100%; }
      .wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
      .skip { position:absolute; left:-9999px; top:8px; z-index:10; background:var(--ink); color:#fff; padding:10px 16px; border-radius:8px; }
      .skip:focus { left:8px; }
      .topbar { background:#e7f6f8; color:#205967; font-size:.88rem; font-weight:700; letter-spacing:.02em; }
      .topbar .wrap { display:flex; justify-content:space-between; gap:20px; padding-block:8px; }
      .topbar a { text-decoration:none; }
      .topbar a:hover { text-decoration:underline; }
      .nav { background:#fff; position:relative; z-index:2; }
      .nav .wrap { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
      .brand { display:flex; align-items:center; gap:13px; text-decoration:none; line-height:1; white-space:nowrap; }
      .brand-mark { display:grid; place-items:center; width:47px; height:47px; border-radius:15px; background:#d8f1f5; color:var(--pink); font:900 26px 'Nunito',sans-serif; transform:rotate(-7deg); }
      .brand-name { display:block; font:900 27px 'Nunito',sans-serif; color:var(--pink); letter-spacing:-.055em; }
      .brand-name em { font-style:normal; color:var(--sky-dark); }
      .brand-small { display:block; color:var(--muted); font-size:.68rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-top:5px; }
      .nav-links { display:flex; align-items:center; gap:32px; }
      .nav-links a { text-decoration:none; font-weight:700; font-size:.94rem; }
      .nav-links a:hover, .footer a:hover { color:var(--pink); }
      .nav-links .nav-cta { background:var(--pink); color:#fff; border-radius:100px; padding:11px 20px; }
      .nav-links .nav-cta:hover { color:#fff; background:#a94e7a; }
      .hero-shell { background:linear-gradient(122deg,#e5f7f9 0%,#f6fcfc 62%,#fff3f8 100%); overflow:hidden; }
      .hero { display:grid; grid-template-columns:1fr 1.02fr; gap:48px; align-items:center; padding-block:58px 67px; }
      .eyebrow { display:inline-flex; align-items:center; gap:9px; color:#216d7d; font-size:.84rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
      .eyebrow::before { content:''; width:24px; height:3px; border-radius:5px; background:var(--pink); }
      h1,h2,h3,p { margin-top:0; }
      h1,h2,h3 { font-family:'Nunito',Arial,sans-serif; line-height:1.12; }
      h1 { font-size:clamp(3rem,5.5vw,5.15rem); font-weight:900; letter-spacing:-.058em; margin:17px 0 25px; max-width:620px; }
      h1 .accent { color:var(--pink); }
      .hero-copy { color:#385b63; font-size:1.13rem; line-height:1.7; max-width:515px; margin-bottom:30px; }
      .actions { display:flex; flex-wrap:wrap; gap:13px; align-items:center; }
      .button { display:inline-flex; justify-content:center; align-items:center; min-height:49px; padding:10px 24px; border-radius:100px; font-weight:800; text-decoration:none; transition:transform .2s,background .2s; }
      .button:hover { transform:translateY(-2px); }
      .button-primary { background:var(--pink); color:#fff; }
      .button-primary:hover { background:#a94e7a; }
      .button-secondary { border:1.5px solid #72b7c4; color:#276b79; background:rgba(255,255,255,.65); }
      .hero-art { position:relative; }
      .hero-art::before { content:''; position:absolute; inset:-18px 18px 18px -18px; border:2px solid rgba(182,91,135,.35); border-radius:48% 48% 24px 24px; transform:rotate(-3deg); }
      .hero-art img { width:100%; height:auto; aspect-ratio:5/4; object-fit:cover; object-position:67% center; border-radius:48% 48% 24px 24px; box-shadow:var(--shadow); position:relative; }
      .photo-note { color:#526e72; font-size:.77rem; text-align:right; margin:9px 3px 0; }
      .intro { text-align:center; padding-block:92px 45px; }
      .section-label { color:var(--pink); font-size:.85rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; }
      h2 { font-size:clamp(2.2rem,4vw,3.4rem); font-weight:900; letter-spacing:-.045em; margin-bottom:20px; }
      .intro p:last-child { color:var(--muted); font-size:1.07rem; max-width:760px; margin:0 auto; }
      .offer-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; padding-bottom:98px; }
      .offer-card { border:1px solid var(--line); border-radius:25px; padding:35px; min-height:300px; background:#fff; box-shadow:0 12px 35px rgba(19,61,69,.045); position:relative; overflow:hidden; }
      .offer-card:nth-child(2) { background:#fdf4f8; border-color:#f3d8e5; }
      .offer-card::after { content:''; position:absolute; right:-47px; top:-50px; width:155px; height:155px; border:18px solid #e5f5f7; border-radius:50%; opacity:.8; }
      .offer-card:nth-child(2)::after { border-color:#f8e2ed; }
      .card-kicker { display:inline-block; font-size:.8rem; font-weight:800; color:#267889; letter-spacing:.11em; text-transform:uppercase; margin-bottom:16px; }
      .offer-card:nth-child(2) .card-kicker { color:var(--pink); }
      h3 { font-size:1.8rem; letter-spacing:-.035em; font-weight:900; margin-bottom:15px; }
      .offer-card p { color:var(--muted); max-width:410px; margin-bottom:0; }
      .days { background:#f2f9fa; padding-block:87px 98px; }
      .days-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:34px; }
      .days-head p { color:var(--muted); max-width:470px; margin:0; }
      .days-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:19px; }
      .day { background:#fff; border:1px solid var(--line); border-radius:22px; padding:29px; }
      .day-number { color:var(--pink); font-family:'Nunito',sans-serif; font-weight:900; font-size:1.22rem; margin-bottom:25px; }
      .day h3 { font-size:1.25rem; margin-bottom:10px; }
      .day p { color:var(--muted); margin-bottom:0; font-size:.96rem; }
      .days-source { color:#527076; font-size:.88rem; margin:23px 0 0; }
      .days-source a { font-weight:700; text-underline-offset:3px; }
      .locations { padding-block:100px; }
      .locations-head { max-width:760px; margin-bottom:34px; }
      .locations-head p:last-child { color:var(--muted); margin-bottom:0; }
      .location-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
      .location { background:#fff; border:1px solid var(--line); border-radius:25px; overflow:hidden; }
      .location-top { min-height:128px; padding:29px 33px 19px; background:#e5f5f7; }
      .location:nth-child(2) .location-top { background:#f9e9f1; }
      .location-top span { font-size:.8rem; font-weight:800; text-transform:uppercase; letter-spacing:.11em; color:#397785; }
      .location:nth-child(2) .location-top span { color:#a94e7a; }
      .location-top h3 { margin:9px 0 0; }
      .location-body { padding:28px 33px 32px; }
      .location-body address { font-style:normal; color:#3e6269; font-size:1.08rem; margin-bottom:17px; }
      .location-body a { color:#286f80; font-weight:800; text-decoration-thickness:1px; text-underline-offset:4px; }
      .operator-note { margin-top:-55px; margin-bottom:95px; }
      .operator-note > div { border-left:5px solid var(--sky-dark); background:#f1f9fa; border-radius:0 16px 16px 0; padding:23px 28px; }
      .operator-note strong { font:900 1.2rem 'Nunito',Arial,sans-serif; }
      .operator-note p { margin:6px 0 0; color:var(--muted); }
      .questions { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; padding-block:0 100px; }
      .questions > div:first-child > p:last-child { color:var(--muted); max-width:420px; }
      .question-list { border-top:1px solid var(--line); }
      .question-list details { border-bottom:1px solid var(--line); padding:20px 0; }
      .question-list summary { cursor:pointer; font:800 1.08rem 'Nunito',sans-serif; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:18px; }
      .question-list summary::-webkit-details-marker { display:none; }
      .question-list summary::after { content:'+'; color:var(--pink); font-size:1.5rem; line-height:1; }
      .question-list details[open] summary::after { content:'−'; }
      .question-list details p { color:var(--muted); margin:15px 30px 0 0; }
      .question-list details a { color:#276f80; font-weight:700; }
      .blog-preview { background:#fff8fb; padding-block:70px; }
      .blog-preview-inner { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:65px; }
      .blog-preview p:not(.section-label) { color:var(--muted); max-width:550px; font-size:1.07rem; }
      .blog-preview img { width:100%; height:310px; object-fit:cover; object-position:67% center; border-radius:25px; }
      .text-link { color:#9b4672; font-weight:800; text-underline-offset:5px; }
      .text-link span { display:inline-block; margin-left:5px; transition:transform .2s; }
      .text-link:hover span { transform:translateX(4px); }
      .contact { background:linear-gradient(110deg,#bc5f8c,#a74f7e); color:#fff; padding-block:85px; }
      .contact-inner { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:75px; }
      .contact h2 { max-width:660px; margin-bottom:13px; }
      .contact-copy > p { max-width:480px; font-size:1.05rem; }
      .contact-direct { display:grid; gap:14px; }
      .contact-direct a { display:block; padding:20px 24px; border:1px solid rgba(255,255,255,.35); border-radius:18px; background:rgba(255,255,255,.1); color:#fff; text-decoration:none; overflow-wrap:anywhere; transition:background .2s; }
      .contact-direct a:hover { background:rgba(255,255,255,.2); }
      .contact-direct span { display:block; margin-bottom:4px; font-size:.88rem; }
      .contact-direct strong { display:block; font-size:clamp(1.15rem,2.2vw,1.55rem); line-height:1.4; }
      .article-hero { background:linear-gradient(122deg,#e5f7f9 0%,#f6fcfc 62%,#fff3f8 100%); padding-block:85px 88px; }
      .article-hero-inner { max-width:1050px; }
      .article-hero h1 { max-width:880px; font-size:clamp(2.7rem,5vw,4.6rem); }
      .article-hero p:not(.section-label) { max-width:690px; color:var(--muted); font-size:1.16rem; }
      .article-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:80px; align-items:start; padding-block:78px 105px; }
      .article-body { max-width:760px; color:#35575f; font-size:1.05rem; }
      .article-body p { margin-bottom:22px; }
      .article-body h2 { color:var(--ink); font-size:clamp(1.55rem,2.6vw,2.1rem); margin:41px 0 15px; }
      .article-body .article-lead { font-size:1.2rem; color:#274e58; font-weight:600; }
      .article-tip { background:#edf8f9; border-left:5px solid var(--sky); padding:25px 30px; border-radius:0 18px 18px 0; margin:42px 0; }
      .article-tip h2 { font-size:1.45rem; margin:0 0 10px; }
      .article-tip ul { margin:0; padding-left:23px; }
      .article-tip li { margin-bottom:8px; }
      .article-source { border-top:1px solid var(--line); padding-top:22px; font-size:.9rem; }
      .article-source a { color:#276f80; font-weight:700; }
      .article-aside { position:sticky; top:30px; background:#fff6fa; border:1px solid #f1dce6; padding:28px; border-radius:22px; }
      .article-aside h2 { font-size:1.6rem; }
      .article-aside p { color:var(--muted); }
      .article-aside .button { width:100%; text-align:center; }
      .article-phone { display:block; color:#9b4672; font-weight:800; margin-top:17px; text-align:center; }
      .policy-hero { background:linear-gradient(122deg,#e5f7f9,#fff3f8); padding-block:72px 76px; }
      .policy-hero h1 { font-size:clamp(2.7rem,5vw,4.4rem); }
      .policy-hero p:last-child { max-width:710px; color:var(--muted); font-size:1.08rem; }
      .policy-body { max-width:810px; padding-block:70px 100px; color:#35575f; }
      .policy-body h2 { color:var(--ink); font-size:clamp(1.5rem,2.6vw,2rem); margin:37px 0 13px; }
      .policy-body h2:first-child { margin-top:0; }
      .policy-body p,.policy-body ul { margin-bottom:18px; }
      .policy-body li { margin-bottom:8px; }
      .policy-body a { color:#276f80; font-weight:700; }
      .footer { background:#173840; color:#e5f1f2; padding-block:37px; }
      .footer .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; }
      .footer p { margin:0; font-size:.86rem; }
      .footer-credit { display:block; margin-top:8px; font-size:.78rem; color:#c7dfe3; }
      .footer a { text-decoration:none; font-weight:700; }
      .footer-links { display:flex; flex-wrap:wrap; gap:22px; }
      :focus-visible { outline:3px solid #d67da6; outline-offset:3px; }
      @media (max-width:850px) { .nav .wrap { min-height:79px; } .nav-links { gap:16px; } .nav-links a:not(.nav-cta) { display:none; } .hero { grid-template-columns:1fr; gap:39px; padding-block:54px 62px; } .hero-copy { max-width:640px; } .hero-art { width:min(650px,100%); margin-inline:auto; } .hero-art img { aspect-ratio:5/3; border-radius:32px; } .hero-art::before { border-radius:38px; } .days-head { align-items:start; flex-direction:column; } .questions,.contact-inner,.article-layout { grid-template-columns:1fr; gap:35px; } .blog-preview-inner { gap:35px; } .article-aside { position:static; } }
      @media (max-width:620px) { .wrap { width:min(100% - 32px,1180px); } .topbar .wrap { justify-content:center; text-align:center; } .topbar span { display:none; } .nav .wrap { gap:12px; } .brand-mark { width:40px; height:40px; font-size:23px; } .brand-name { font-size:23px; } .brand-small { font-size:.58rem; } .nav-links .nav-cta { font-size:.81rem; padding:9px 13px; } h1 { font-size:clamp(2.65rem,11.8vw,4.2rem); } .hero { gap:35px; } .hero-art img { aspect-ratio:1/1; object-position:65% center; } .intro { padding-block:75px 37px; } .offer-grid,.location-grid,.days-grid { grid-template-columns:1fr; } .offer-grid { padding-bottom:77px; } .offer-card { min-height:0; padding:28px; } .days,.locations { padding-block:76px; } .days-head { margin-bottom:29px; } .day { padding:25px; } .day-number { margin-bottom:15px; } .questions { padding-bottom:75px; } .blog-preview-inner { grid-template-columns:1fr; } .blog-preview img { height:235px; } .contact { padding-block:65px; } .footer .wrap { align-items:flex-start; flex-direction:column; } }
      @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }

.demo-banner { background:#57324b; color:#fff; text-align:center; padding:9px 16px; font:700 .83rem/1.4 "DM Sans",sans-serif; }
.contact-form fieldset { border:0; margin:0; padding:0; min-width:0; }
.contact-form fieldset[disabled] { opacity:.72; }
.contact-form button:disabled,.contact-form fieldset[disabled] button { cursor:not-allowed; background:#777; }

.nav .wrap { flex-wrap:wrap; padding-block:14px 0; }
.nav-links { width:100%; gap:26px; border-top:1px solid var(--line); padding-block:12px; overflow-x:auto; white-space:nowrap; scrollbar-width:thin; }
.nav-links a { flex:0 0 auto; }
.nav-links a[aria-current="page"] { color:var(--pink); text-decoration:underline; text-underline-offset:7px; }
.placeholder-hero { background:linear-gradient(122deg,#e5f7f9 0%,#f6fcfc 62%,#fff3f8 100%); padding-block:75px 80px; }
.placeholder-hero h1 { max-width:none; margin-bottom:18px; }
.placeholder-hero p:not(.section-label) { color:var(--muted); font-size:1.17rem; max-width:690px; }
.placeholder-hero-status,.placeholder-status { display:inline-block; border-radius:100px; background:#fff; border:1px solid #e8ccda; color:#87416a; font-size:.76rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:5px 12px; }
.placeholder-section { padding-block:80px 100px; }
.placeholder-intro { max-width:650px; margin-bottom:28px; }
.placeholder-intro p { color:var(--muted); }
.placeholder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.placeholder-card { min-height:235px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 12px 35px rgba(19,61,69,.045); padding:28px; }
.placeholder-card:nth-child(2) { background:#f2f9fa; }
.placeholder-card:nth-child(3) { background:#fff7fa; }
.placeholder-card h2 { font-size:1.55rem; margin:22px 0 10px; }
.placeholder-card p { color:var(--muted); margin:0; }
.placeholder-contact { background:#f2f9fa; padding-block:58px; }
.placeholder-contact .wrap { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.placeholder-contact h2 { margin-bottom:8px; }
.placeholder-contact p:last-child { margin:0; color:var(--muted); }
@media (max-width:850px) { .nav-links a:not(.nav-cta) { display:inline-flex; } .placeholder-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { .nav .wrap { padding-block:13px 0; } .nav-links { gap:22px; padding-block:13px; } .placeholder-hero { padding-block:58px 65px; } .placeholder-section { padding-block:65px 75px; } .placeholder-grid { grid-template-columns:1fr; } .placeholder-card { min-height:0; } .placeholder-contact .wrap { align-items:flex-start; flex-direction:column; } }

/* Materiały przekazane przez Happy Baby: oryginalne logo i dzieci z banera. */
.brand-with-logo { display:block; flex:0 0 auto; }
.brand-logo-window { display:block; position:relative; width:173px; aspect-ratio:820 / 540; overflow:hidden; background:#fff; }
.brand-logo-window img { position:absolute; width:147%; height:auto; max-width:none; left:-22%; top:-46%; }
.hero-shell { background:linear-gradient(125deg,#e8f7f9 0%,#fbfdfd 61%,#fff1f7 100%); }
.hero { grid-template-columns:minmax(0,1fr) minmax(0,.88fr); gap:clamp(28px,5vw,70px); padding-block:63px 23px; }
.hero-brand-card { padding:clamp(20px,3vw,34px); border:1px solid #dfedf0; border-radius:32px; background:#fff; box-shadow:0 26px 60px rgba(31,100,111,.12); transform:rotate(2deg); }
.hero-logo-window { position:relative; overflow:hidden; width:100%; aspect-ratio:820 / 540; background:#fff; }
.hero-logo-window img { position:absolute; width:147%; height:auto; max-width:none; left:-22%; top:-46%; }
.hero-brand-card p { margin:4px 0 0; color:#407784; text-align:center; font-family:'Nunito',sans-serif; font-size:clamp(.9rem,1.5vw,1.1rem); font-weight:900; letter-spacing:.06em; }
.hero-brand-card p span { color:var(--pink); padding-inline:.4em; }
.hero-fee { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:5px 9px; margin-top:28px; padding:9px 16px; border:1px solid #e9c3d6; border-radius:100px; background:#fff; color:#75415b; text-decoration:none; font-weight:800; box-shadow:0 8px 24px rgba(189,95,141,.08); }
.hero-fee strong { color:#a94e7a; font-family:'Nunito',sans-serif; font-size:1.3rem; line-height:1; }
.hero-fee-link { padding-left:9px; border-left:1px solid #e9c3d6; color:#327d8c; font-size:.77rem; }
.hero-fee:hover { border-color:var(--pink); }
.children-showcase { position:relative; margin-top:4px; background:linear-gradient(180deg,transparent 0%,#e8f7f9 100%); }
.children-showcase .wrap { display:flex; justify-content:center; }
.children-showcase img { width:min(100%,1030px); height:auto; }
.recruitment-fee { margin-bottom:5px!important; color:#87416a!important; font-size:1.12rem; font-weight:800; }
.recruitment-fee strong { color:#a94e7a; font-family:'Nunito',sans-serif; font-size:1.52rem; }
@media (max-width:850px) { .hero { grid-template-columns:1fr; padding-block:50px 15px; } .hero-brand-card { width:min(560px,100%); margin-inline:auto; } .children-showcase { margin-top:20px; } }
@media (max-width:620px) { .brand-logo-window { width:145px; } .hero { gap:32px; } .hero-brand-card { border-radius:23px; padding:18px; } .hero-fee { margin-top:23px; } .children-showcase { margin-top:27px; } .children-showcase .wrap { width:100%; } .children-showcase img { width:100%; } }

.location-body .location-plan-link { display:block; margin-top:12px; color:var(--pink); }
.facility-gallery { padding-block:0 85px; scroll-margin-top:24px; }
.facility-gallery-head { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:30px; }
.facility-gallery-head h2 { max-width:620px; margin-bottom:0; }
.facility-gallery-head > p { max-width:380px; margin:0; color:var(--muted); }
.facility-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 20px; }
.gallery-card { margin:0; min-width:0; }
.gallery-photo { display:block; position:relative; overflow:hidden; border-radius:21px; background:#e7f6f8; }
.gallery-photo img { width:100%; height:auto; aspect-ratio:3 / 4; object-fit:cover; transition:transform .25s; }
.gallery-photo:hover img { transform:scale(1.035); }
.gallery-zoom { position:absolute; bottom:12px; right:12px; padding:5px 10px; border-radius:100px; color:#fff; background:rgba(21,52,59,.82); font-size:.73rem; font-weight:800; }
.gallery-card figcaption { margin-top:10px; font-weight:800; color:#385b63; font-size:.91rem; }
.gallery-is-open { overflow:hidden; }
.photo-lightbox { width:min(1100px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:18px; border:0; border-radius:22px; background:#15343b; color:#fff; }
.photo-lightbox::backdrop { background:rgba(9,26,30,.88); }
.lightbox-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:12px; }
.lightbox-toolbar p { margin:0; font-size:.92rem; }
.photo-lightbox button { font:800 1rem 'DM Sans',sans-serif; border:1px solid rgba(255,255,255,.35); border-radius:100px; color:#fff; background:#2b5159; cursor:pointer; }
.lightbox-close { padding:9px 15px; white-space:nowrap; }
.lightbox-image-wrap { position:relative; display:flex; align-items:center; justify-content:center; }
.lightbox-image-wrap img { width:auto; height:auto; max-height:calc(100dvh - 145px); max-width:100%; object-fit:contain; border-radius:8px; }
.lightbox-prev,.lightbox-next { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; font-size:2rem!important; line-height:1; }
.lightbox-prev { left:8px; }
.lightbox-next { right:8px; }
@media (max-width:850px) { .facility-gallery-head { display:block; } .facility-gallery-head > p { max-width:600px; margin-top:20px; } .facility-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .facility-gallery { padding-bottom:60px; } .facility-gallery-grid { gap:22px 12px; } .gallery-photo { border-radius:16px; } .gallery-card figcaption { font-size:.8rem; } .gallery-zoom { bottom:8px; right:8px; font-size:.63rem; padding:4px 8px; } .photo-lightbox { padding:12px; width:calc(100vw - 16px); } .lightbox-toolbar p { font-size:.8rem; } .lightbox-close { font-size:.8rem!important; padding:8px 11px; } }
@media (prefers-reduced-motion:reduce) { .gallery-photo img { transition:none; } }
.daily-plan { background:linear-gradient(125deg,#f2f9fa,#fff7fa); padding-block:80px; scroll-margin-top:24px; }
.daily-plan-inner { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
.daily-plan-intro p:not(.section-label) { color:var(--muted); max-width:400px; }
.daily-plan-list { list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:25px; overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.daily-plan-list li { display:grid; grid-template-columns:130px minmax(0,1fr); gap:22px; padding:23px 27px; border-bottom:1px solid var(--line); }
.daily-plan-list li:last-child { border-bottom:0; }
.daily-plan-list li:nth-child(even) { background:#fbfdfd; }
.daily-plan-time { color:#87416a; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.daily-plan-list h3 { font-size:1.15rem; margin:3px 0 0; }
.daily-plan-list p { color:var(--muted); font-size:.95rem; margin:9px 0 0; }
@media (max-width:850px) { .daily-plan-inner { grid-template-columns:1fr; gap:28px; } .daily-plan-intro p:not(.section-label) { max-width:650px; } }
@media (max-width:620px) { .daily-plan { padding-block:60px; } .daily-plan-list li { grid-template-columns:1fr; gap:8px; padding:21px; } .daily-plan-list { border-radius:20px; } }

.funding { padding-block:80px; background:#fff; scroll-margin-top:24px; }
.funding-inner { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:center; gap:65px; }
.funding-copy > p:not(.section-label) { color:var(--muted); max-width:630px; }
.funding-copy .funding-program { color:var(--ink)!important; font-weight:800; font-size:1.13rem; }
.funding-details { margin:27px 0 0; }
.funding-details > div { padding:15px 0; border-top:1px solid var(--line); }
.funding-details dt { color:#317f91; font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.funding-details dd { margin:5px 0 0; color:var(--muted); }
.funding-amount { padding:38px 30px; border:1px solid #e8ccda; border-radius:27px; background:#fff7fa; text-align:center; }
.funding-amount > span { display:block; color:#75415b; font-weight:800; }
.funding-amount strong { display:block; margin-block:13px 5px; font-family:'Nunito',sans-serif; font-weight:900; font-size:clamp(2.8rem,4.8vw,4.1rem); line-height:1.1; color:#a94e7a; letter-spacing:-.04em; }
.funding-amount p { margin:23px 0 0; color:var(--muted); font-size:.86rem; }
@media (max-width:850px) { .funding-inner { grid-template-columns:1fr; gap:30px; } .funding-amount { max-width:530px; width:100%; } }
@media (max-width:620px) { .funding { padding-block:60px; } .funding-amount { padding:30px 24px; } }

.recruitment-prices { padding-block:75px 0; scroll-margin-top:24px; }
.price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:30px; }
.price-card { padding:34px; border:1px solid #ead3df; border-radius:25px; background:#fff7fa; }
.price-card:nth-child(2) { background:#f2f9fa; border-color:var(--line); }
.price-location { color:var(--muted); font-weight:700; font-size:.88rem; }
.price-card h3 { margin-bottom:27px; }
.price-label { margin-bottom:8px; color:var(--muted); font-size:.9rem; }
.price-value { color:#a94e7a; font:900 clamp(2.4rem,4vw,3.3rem)/1.2 'Nunito',sans-serif; margin-bottom:25px; }
.price-value span { display:inline-block; color:var(--muted); font:700 .85rem 'DM Sans',sans-serif; white-space:nowrap; }
.price-entry { display:flex; justify-content:space-between; gap:18px; border-top:1px solid #dfdfe2; padding-top:18px; margin-bottom:25px; color:var(--muted); }
.price-entry strong { color:var(--ink); }
.price-contact { margin:24px 0 0; color:var(--muted); font-size:.92rem; }
.price-contact a { font-weight:700; text-underline-offset:3px; }
.recruitment-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
.location-price { padding:18px 20px; margin:0 0 22px; border:1px solid var(--line); border-radius:17px; background:#f7fbfc; }
.location-price > span,.location-price > strong { display:block; }
.location-price > span { color:var(--muted); font-size:.88rem; }
.location-price > strong { margin:4px 0; font:900 1.5rem 'Nunito',sans-serif; color:#a94e7a; }
.location-price a { display:inline-block; margin-top:10px; font-size:.85rem; }
@media (max-width:620px) { .recruitment-prices { padding-top:60px; } .price-grid,.recruitment-steps { grid-template-columns:1fr; } .price-card { padding:27px; } }

.tuition-includes { margin:0 0 27px; padding:20px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.8); }
.tuition-includes h4 { font-family:'Nunito',sans-serif; font-size:1.05rem; margin:0 0 12px; }
.tuition-includes ul { margin:0; padding-left:20px; color:var(--muted); font-size:.95rem; }
.tuition-includes li + li { margin-top:8px; }
.enrollment-info { margin-top:25px; padding:28px 30px; border:1px solid #ead3df; border-radius:22px; background:#fff7fa; }
.enrollment-info h3 { font-size:1.4rem; margin-bottom:12px; }
.enrollment-info p { color:var(--muted); margin:0; max-width:850px; }
.location-price .location-includes { color:var(--muted); font-size:.88rem; margin:12px 0 0; }
@media (max-width:620px) { .enrollment-info { padding:24px; } .tuition-includes { padding:17px; } }


.shared-award { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.65fr); gap:65px; align-items:center; padding-bottom:85px; }
.shared-award > div > p:not(.section-label) { color:var(--muted); max-width:600px; }
.shared-award .shared-award-note { font-size:.88rem; }
.offer-award { margin:0; }
.offer-award a { display:block; width:min(340px,100%); margin-inline:auto; border-radius:20px; overflow:hidden; }
.offer-award img { width:100%; height:auto; }
.offer-award figcaption { margin-top:15px; text-align:center; color:#75415b; font-family:'Nunito',sans-serif; font-size:1rem; font-weight:900; line-height:1.4; }
.offer-award figcaption span { display:block; margin-top:6px; color:var(--muted); font-family:'DM Sans',sans-serif; font-size:.76rem; font-weight:500; }
@media (max-width:850px) { .shared-award { grid-template-columns:1fr; gap:28px; } }
@media (max-width:620px) { .shared-award { padding-bottom:60px; } .offer-award a { width:min(280px,100%); } }

.activities-section { padding-block:75px 80px; }
.activities-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.activities-card { padding:35px; border:1px solid #ead3df; border-radius:25px; background:#fff7fa; }
.activities-card:nth-child(2) { background:#f2f9fa; border-color:var(--line); }
.activities-card h2 { font-size:2.4rem; }
.activities-list { list-style:none; padding:0; margin:25px 0; }
.activities-list li { padding:13px 0; border-bottom:1px solid #dedee2; font-weight:800; display:flex; align-items:center; gap:13px; }
.activities-list li::before { content:''; flex:0 0 9px; width:9px; height:9px; border-radius:50%; background:var(--pink); }
.activities-pending { color:var(--muted); font-size:.88rem; }
.activities-included { margin-top:30px; padding:30px; border:1px solid var(--line); border-radius:22px; }
.activities-included h3 { font-size:1.5rem; }
.activities-included p,.activities-schedule { color:var(--muted); }
.activities-schedule { margin:25px 0 0; font-size:.92rem; }
.activities-schedule a { font-weight:800; }
.offer-activities-link { display:inline-block; margin-top:23px; }
@media (max-width:620px) { .activities-section { padding-block:60px; } .activities-grid { grid-template-columns:1fr; } .activities-card,.activities-included { padding:27px; } }

.weekly-plan { padding-block:75px 80px; scroll-margin-top:24px; }
.weekly-plan-head { max-width:720px; margin-bottom:30px; }
.weekly-plan-head p:last-child,.weekly-plan-contact { color:var(--muted); }
.weekly-plan-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.weekly-plan-day { min-width:0; padding:25px; border:1px solid var(--line); border-radius:22px; background:#f2f9fa; }
.weekly-plan-day:nth-child(even) { background:#fff7fa; border-color:#ead3df; }
.weekly-plan-day h3 { font-size:1.35rem; margin-bottom:22px; }
.weekly-plan-day ul { list-style:none; padding:0; margin:0; }
.weekly-plan-day li + li { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
.weekly-plan-day strong,.weekly-plan-day .daily-plan-time { display:block; }
.weekly-plan-day strong { margin-top:6px; line-height:1.45; }
.weekly-plan-day p { margin:12px 0 0; color:var(--muted); font-size:.95rem; }
.weekly-plan-contact { margin:24px 0 0; }
.weekly-plan-contact a { font-weight:800; }
.activities-plan-link { display:block; margin-bottom:14px; }
@media (max-width:1100px) { .weekly-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .weekly-plan { padding-block:60px; } .weekly-plan-grid { grid-template-columns:1fr; } }

.gallery-grodzisk { padding-top:50px; }
.gallery-grodzisk .facility-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gallery-grodzisk .gallery-photo img { aspect-ratio:4 / 3; }
@media (max-width:850px) { .gallery-grodzisk .facility-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .gallery-grodzisk .facility-gallery-grid { grid-template-columns:1fr; } }

/* Oferta dofinansowanych miejsc w żłobku w Błoniu. */
.funding-callout { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:38px; padding:32px; border:1px solid #c8e5e9; border-radius:25px; background:linear-gradient(120deg,#edf9fa,#fff2f7); }
.funding-callout > div { min-width:0; }
.funding-callout h2 { font-size:clamp(1.55rem,3vw,2.3rem); margin:0 0 10px; }
.funding-callout h2 strong { color:#a94e7a; white-space:nowrap; }
.funding-callout p:last-child { margin:0; max-width:700px; color:var(--muted); }
.funding-callout > .button { flex-shrink:0; }
.funding-contact { margin-top:24px; }
.funding-source { margin-top:28px; color:var(--muted); font-size:.84rem; }
.funding-source a { text-underline-offset:3px; }
.price-base { margin-top:-12px; margin-bottom:14px; color:var(--muted); font-size:.88rem; }
.price-funding { color:var(--muted); font-size:.92rem; margin-bottom:24px; }
.activities-extras { margin:24px 0; padding-top:22px; border-top:1px solid var(--line); }
.activities-extras h3 { font-size:1.2rem; margin:0 0 10px; }
.activities-extras p { color:var(--muted); margin:0; }
@media (max-width:850px) { .funding-callout { flex-direction:column; align-items:flex-start; gap:22px; } }
@media (max-width:620px) { .funding-callout { padding:24px; margin-top:26px; } }
