/* ── ROOT TOKENS ──────────────────────────────────────────────── */
:root {
  --kb-lime:#7BC950; --kb-forest:#2E7A1F; --kb-mid:#4DA831; --kb-tint:#EFF7EB;
  --kb-orange:#F4823C; --kb-coral:#E8476A; --kb-magenta:#D63384;
  --kb-text:#1E2620; --kb-body:#4A5044; --kb-muted:#B8BFB4; --kb-light:#EEF0EC;
  --kb-offwhite:#F8F6F1; --kb-white:#FFFFFF; --kb-error:#C0392B; --kb-stars:#F4C430;
  --kb-display:'Playfair Display',Georgia,serif;
  --kb-sans:'Inter',system-ui,sans-serif;
  --kb-meta:'DM Sans',sans-serif;
  --kb-r-sm:8px; --kb-r-md:16px; --kb-r-lg:24px; --kb-r-full:9999px;
  --kb-shadow-sm:0 2px 8px rgba(30,38,32,.08),0 1px 3px rgba(30,38,32,.05);
  --kb-shadow-md:0 4px 16px rgba(30,38,32,.12),0 2px 6px rgba(30,38,32,.07);
  --kb-shadow-lg:0 12px 32px rgba(30,38,32,.16),0 4px 12px rgba(30,38,32,.08);
  --kb-shadow-xl:0 20px 48px rgba(30,38,32,.20),0 8px 20px rgba(30,38,32,.10);
  --kb-shadow-glow:0 4px 16px rgba(123,201,80,.35),0 2px 8px rgba(46,122,31,.20);
  --kb-grad-nature:linear-gradient(135deg,#7BC950 0%,#4DA831 50%,#2E7A1F 100%);
  --kb-grad-passion:linear-gradient(135deg,#F4823C 0%,#E8476A 60%,#D63384 100%);
  --kb-grad-dark:linear-gradient(160deg,#1E2620 0%,#2D3D2A 50%,#1a2b1c 100%);
  --kb-grad-accent:linear-gradient(90deg,#F4823C 0%,#E8476A 100%);
  --kb-grad-overlay:linear-gradient(to top,rgba(30,38,32,.82) 0%,rgba(30,38,32,.3) 50%,transparent 100%);
  --kb-ease:cubic-bezier(0,0,.2,1); --kb-spring:cubic-bezier(.34,1.56,.64,1);
}

/* ── GLOBAL ───────────────────────────────────────────────────── */
._koszenie_page { font-family:var(--kb-sans); color:var(--kb-body); background:var(--kb-offwhite); overflow-x:hidden; -webkit-font-smoothing:antialiased; }
._koszenie_page *,._koszenie_page *::before,._koszenie_page *::after { box-sizing:border-box; }
._koszenie_page img { max-width:100%; height:auto; display:block; }
._koszenie_page a { color:var(--kb-forest); text-decoration:none; transition:color .15s ease; }
._koszenie_page a:hover { color:var(--kb-lime); }

/* ── TYPOGRAPHY ───────────────────────────────────────────────── */
._koszenie_page h1,._koszenie_page h2,._koszenie_page h3 { font-family:var(--kb-display); color:var(--kb-text); letter-spacing:-.025em; line-height:1.15; margin:0; }
._koszenie_page h1 { font-size:clamp(34px,5.5vw + 1rem,64px); font-weight:700; }
._koszenie_page h2 { font-size:clamp(26px,3.5vw + .5rem,42px); font-weight:600; }
._koszenie_page h3 { font-size:clamp(20px,2.2vw + .25rem,28px); font-weight:600; }
._koszenie_page h4 { font-family:var(--kb-sans); font-size:clamp(17px,1.6vw,22px); font-weight:600; color:var(--kb-text); margin:0; }
._koszenie_page p { font-size:clamp(15px,1vw + .5rem,18px); line-height:1.72; margin:0; }
._koszenie_lead { font-size:clamp(17px,1.4vw + .5rem,21px); line-height:1.6; }
._koszenie_overline { font-family:var(--kb-sans); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--kb-lime); display:flex; align-items:center; gap:8px; margin-bottom:14px; }
._koszenie_overline::before { content:''; width:32px; height:2px; background:var(--kb-lime); display:inline-block; }

/* ── SECTION HEADING ──────────────────────────────────────────── */
._koszenie_heading { margin-bottom:52px; }
._koszenie_heading h2 { color:var(--kb-forest); margin-bottom:16px; }
._koszenie_heading p { max-width:620px; color:var(--kb-body); }
._koszenie_heading--center { text-align:center; }
._koszenie_heading--center p { margin:0 auto; }
._koszenie_heading__bar { width:48px; height:4px; background:var(--kb-grad-accent); border-radius:2px; margin-top:20px; }
._koszenie_heading--center ._koszenie_heading__bar { margin:20px auto 0; }

/* ── BUTTONS ──────────────────────────────────────────────────── */
._koszenie_btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--kb-sans); font-weight:600; font-size:15px; letter-spacing:.04em; text-transform:uppercase; border-radius:var(--kb-r-full); border:none; cursor:pointer; transition:all .3s var(--kb-ease); text-decoration:none; min-height:52px; padding:14px 36px; }
._koszenie_btn--primary { background:var(--kb-lime); color:var(--kb-text); box-shadow:var(--kb-shadow-glow); }
._koszenie_btn--primary:hover { background:var(--kb-forest); color:var(--kb-white); transform:translateY(-2px); box-shadow:var(--kb-shadow-lg); }
._koszenie_btn--outline { background:transparent; color:var(--kb-white); border:2px solid rgba(255,255,255,.4); }
._koszenie_btn--outline:hover { background:rgba(255,255,255,.1); border-color:var(--kb-lime); color:var(--kb-lime); }
._koszenie_btn--dark-outline { background:transparent; color:var(--kb-forest); border:2px solid var(--kb-forest); }
._koszenie_btn--dark-outline:hover { background:var(--kb-tint); transform:translateY(-2px); }
._koszenie_btn--sm { padding:10px 24px; font-size:13px; min-height:42px; }
._koszenie_btn .material-icons-outlined { font-size:20px; }

/* ── SECTION SPACING ──────────────────────────────────────────── */
._koszenie_section { padding:88px 0; position:relative; }
@media(max-width:767px) { ._koszenie_section { padding:56px 0; } }
._koszenie_section--offwhite { background:var(--kb-offwhite); }
._koszenie_section--white { background:var(--kb-white); }
._koszenie_section--tint { background:var(--kb-tint); }
._koszenie_section--dark { background:var(--kb-grad-dark); color:var(--kb-light); }
._koszenie_section--dark h2,._koszenie_section--dark h3,._koszenie_section--dark h4 { color:var(--kb-white); }
._koszenie_section--dark p { color:rgba(238,240,236,.82); }
._koszenie_section--dark ._koszenie_overline { color:var(--kb-lime); }
._koszenie_section--dark ._koszenie_overline::before { background:var(--kb-lime); }

/* ═══════════════════════════════════════════════════════════════
   S1: HERO — Dark, cinematic, industrial-organic
   ═══════════════════════════════════════════════════════════════ */
._koszenie_hero { min-height:80svh; display:flex; align-items:flex-end; position:relative; overflow:hidden; padding:0 0 80px; background:#111; }
._koszenie_hero__bg { position:absolute; inset:0; z-index:0; }
._koszenie_hero__bg img { width:100%; height:100%; object-fit:cover; filter:brightness(.45) contrast(1.1); }
._koszenie_hero__grain { position:absolute; inset:0; z-index:1; background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E"); pointer-events:none; }
._koszenie_hero__overlay { position:absolute; inset:0; z-index:1; background:var(--kb-grad-overlay); }
._koszenie_hero__content { position:relative; z-index:2; max-width:920px; }
._koszenie_hero__tag { display:inline-flex; align-items:center; gap:6px; background:rgba(123,201,80,.2); color:var(--kb-lime); font-family:var(--kb-sans); font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:8px 18px; border-radius:var(--kb-r-full); margin-bottom:28px; backdrop-filter:blur(8px); border:1px solid rgba(123,201,80,.25); }
._koszenie_hero h1 { color:var(--kb-white); margin-bottom:24px; text-shadow:0 2px 24px rgba(0,0,0,.4); }
._koszenie_hero h1 em { font-style:normal; color:var(--kb-lime); }
._koszenie_hero__sub { font-size:clamp(17px,1.5vw + .5rem,22px); line-height:1.6; color:rgba(255,255,255,.85); margin-bottom:40px; max-width:580px; }
._koszenie_hero__actions { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:48px; }
._koszenie_hero__stats { display:flex; gap:40px; flex-wrap:wrap; }
._koszenie_hero__stat { border-left:2px solid var(--kb-lime); padding-left:16px; }
._koszenie_hero__stat-value { font-family:var(--kb-display); font-size:32px; font-weight:700; color:var(--kb-white); line-height:1; }
._koszenie_hero__stat-label { font-size:13px; color:rgba(255,255,255,.6); margin-top:4px; }

@media(max-width:991px) {
  ._koszenie_hero { min-height:auto; padding:140px 0 60px; align-items:center; }
  ._koszenie_hero__stats { gap:24px; }
  ._koszenie_hero__stat-value { font-size:26px; }
}
@media(max-width:575px) {
  ._koszenie_hero { padding:120px 0 48px; }
  ._koszenie_hero__actions { flex-direction:column; }
  ._koszenie_hero__actions ._koszenie_btn { width:100%; }
}

/* ═══ S2: O USŁUDZE ═══════════════════════════════════════════ */
._koszenie_about__grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
@media(max-width:991px) { ._koszenie_about__grid { grid-template-columns:1fr; gap:32px; } }
._koszenie_about__image { position:relative; border-radius:var(--kb-r-lg); overflow:hidden; }
._koszenie_about__image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
._koszenie_about__image-badge { position:absolute; bottom:20px; right:20px; background:var(--kb-forest); color:var(--kb-white); padding:12px 20px; border-radius:var(--kb-r-md); font-family:var(--kb-sans); font-size:14px; font-weight:600; box-shadow:var(--kb-shadow-lg); display:flex; align-items:center; gap:8px; }
._koszenie_about__image-badge .material-icons-outlined { color:var(--kb-lime); font-size:20px; }
._koszenie_about__text h2 { margin-bottom:20px; }
._koszenie_about__text p { margin-bottom:16px; }
._koszenie_about__specs { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
._koszenie_about__spec { display:flex; align-items:flex-start; gap:12px; padding:16px; background:var(--kb-tint); border-radius:var(--kb-r-sm); }
._koszenie_about__spec .material-icons-outlined { font-size:24px; color:var(--kb-forest); flex-shrink:0; margin-top:2px; }
._koszenie_about__spec strong { display:block; font-size:14px; color:var(--kb-text); }
._koszenie_about__spec span { font-size:13px; color:var(--kb-muted); }
@media(max-width:575px) { ._koszenie_about__specs { grid-template-columns:1fr; } }

/* ═══ S3: KORZYŚCI ════════════════════════════════════════════ */
._koszenie_benefit { background:var(--kb-white); border-radius:var(--kb-r-md); padding:36px 28px; text-align:center; border:1px solid var(--kb-light); transition:all .35s var(--kb-ease); height:100%; }
._koszenie_benefit:hover { border-color:var(--kb-lime); box-shadow:var(--kb-shadow-md); transform:translateY(-6px); }
._koszenie_benefit__icon { width:56px; height:56px; border-radius:14px; background:var(--kb-tint); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; transition:all .3s ease; }
._koszenie_benefit:hover ._koszenie_benefit__icon { background:var(--kb-grad-nature); }
._koszenie_benefit__icon .material-icons-outlined { font-size:28px; color:var(--kb-forest); transition:color .3s ease; }
._koszenie_benefit:hover ._koszenie_benefit__icon .material-icons-outlined { color:var(--kb-white); }
._koszenie_benefit h4 { margin-bottom:10px; }
._koszenie_benefit p { font-size:15px; color:var(--kb-body); }

/* ═══ S4: PROCES ══════════════════════════════════════════════ */
._koszenie_process__timeline { position:relative; padding-left:48px; }
._koszenie_process__timeline::before { content:''; position:absolute; left:19px; top:0; bottom:0; width:2px; background:var(--kb-light); }
._koszenie_process__step { position:relative; padding-bottom:48px; }
._koszenie_process__step:last-child { padding-bottom:0; }
._koszenie_process__step-dot { position:absolute; left:-48px; top:0; width:40px; height:40px; border-radius:50%; background:var(--kb-grad-nature); display:flex; align-items:center; justify-content:center; font-family:var(--kb-display); font-size:18px; font-weight:700; color:var(--kb-white); box-shadow:0 2px 12px rgba(46,122,31,.3); z-index:2; }
._koszenie_process__step h4 { margin-bottom:8px; padding-top:6px; }
._koszenie_process__step p { font-size:15px; line-height:1.7; max-width:560px; }
._koszenie_process__image { border-radius:var(--kb-r-lg); overflow:hidden; box-shadow:var(--kb-shadow-lg); }
._koszenie_process__image img { width:100%; aspect-ratio:3/2; object-fit:cover; }

/* ═══ S5: GALERIA PRZED/PO ════════════════════════════════════ */
._koszenie_gallery__pair { display:grid; grid-template-columns:1fr 1fr; gap:4px; border-radius:var(--kb-r-lg); overflow:hidden; margin-bottom:24px; box-shadow:var(--kb-shadow-md); }
@media(max-width:575px) { ._koszenie_gallery__pair { grid-template-columns:1fr; } }
._koszenie_gallery__item { position:relative; overflow:hidden; }
._koszenie_gallery__item img { width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .6s ease; }
._koszenie_gallery__pair:hover ._koszenie_gallery__item img { transform:scale(1.03); }
._koszenie_gallery__badge { position:absolute; top:12px; left:12px; font-family:var(--kb-sans); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; padding:6px 14px; border-radius:var(--kb-r-full); color:var(--kb-white); }
._koszenie_gallery__badge--before { background:var(--kb-coral); }
._koszenie_gallery__badge--after { background:var(--kb-lime); color:var(--kb-text); }
._koszenie_gallery__caption { position:absolute; bottom:0; left:0; right:0; padding:16px; background:linear-gradient(to top,rgba(30,38,32,.7),transparent); color:var(--kb-white); font-size:13px; line-height:1.4; }
._koszenie_gallery__caption strong { display:block; font-size:14px; }

/* ═══ S6: WIDEO ═══════════════════════════════════════════════ */
._koszenie_video__frame { position:relative; border-radius:var(--kb-r-lg); overflow:hidden; box-shadow:var(--kb-shadow-xl); aspect-ratio:16/9; background:var(--kb-text); cursor:pointer; }
._koszenie_video__frame img { width:100%; height:100%; object-fit:cover; transition:opacity .3s ease; }
._koszenie_video__play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:88px; height:88px; background:rgba(123,201,80,.92); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:all .3s ease; box-shadow:0 8px 32px rgba(0,0,0,.3); }
._koszenie_video__play:hover { transform:translate(-50%,-50%) scale(1.1); background:var(--kb-lime); }
._koszenie_video__play .material-icons-outlined { font-size:44px; color:var(--kb-white); margin-left:4px; }
._koszenie_video__label { position:absolute; bottom:24px; left:24px; font-family:var(--kb-meta); font-size:13px; color:rgba(255,255,255,.7); display:flex; align-items:center; gap:6px; }

/* ═══ S7: FAQ ═════════════════════════════════════════════════ */
._koszenie_faq__item { background:var(--kb-white); border:1px solid var(--kb-light); border-radius:var(--kb-r-md); margin-bottom:10px; transition:all .3s ease; overflow:hidden; }
._koszenie_faq__item.active { border-color:var(--kb-lime); box-shadow:var(--kb-shadow-sm); }
._koszenie_faq__q { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; cursor:pointer; gap:16px; font-family:var(--kb-sans); font-size:16px; font-weight:600; color:var(--kb-text); }
._koszenie_faq__q:hover { color:var(--kb-forest); }
._koszenie_faq__q .material-icons-outlined { font-size:22px; color:var(--kb-lime); transition:transform .35s var(--kb-spring); flex-shrink:0; }
._koszenie_faq__item.active ._koszenie_faq__q .material-icons-outlined { transform:rotate(180deg); }
._koszenie_faq__a { max-height:0; overflow:hidden; transition:max-height .4s var(--kb-ease); }
._koszenie_faq__a-inner { padding:0 24px 20px; font-size:15px; line-height:1.72; color:var(--kb-body); }
._koszenie_faq__item.active ._koszenie_faq__a { max-height:600px; }

/* ═══ S8: OPINIE ══════════════════════════════════════════════ */
._koszenie_review { background:var(--kb-white); border-radius:var(--kb-r-md); padding:32px; border:1px solid var(--kb-light); height:100%; display:flex; flex-direction:column; transition:all .3s ease; position:relative; }
._koszenie_review:hover { box-shadow:var(--kb-shadow-md); transform:translateY(-4px); }
._koszenie_review__quote { position:absolute; top:16px; right:20px; font-family:var(--kb-display); font-size:64px; line-height:1; color:var(--kb-tint); pointer-events:none; }
._koszenie_review__stars { color:var(--kb-stars); font-size:16px; letter-spacing:2px; margin-bottom:16px; }
._koszenie_review__text { font-size:15px; line-height:1.72; color:var(--kb-body); flex:1; font-style:italic; }
._koszenie_review__author { margin-top:20px; display:flex; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--kb-light); }
._koszenie_review__avatar { width:44px; height:44px; border-radius:50%; background:var(--kb-grad-nature); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; color:var(--kb-white); flex-shrink:0; }
._koszenie_review__name { font-size:14px; font-weight:600; color:var(--kb-text); }
._koszenie_review__meta { font-size:12px; color:var(--kb-muted); }

/* ═══ S9: KONTAKT ═════════════════════════════════════════════ */
._koszenie_contact__grid { display:grid; grid-template-columns:5fr 7fr; gap:48px; align-items:start; }
@media(max-width:991px) { ._koszenie_contact__grid { grid-template-columns:1fr; gap:32px; } }
._koszenie_contact__info h2 { color:var(--kb-white); margin-bottom:20px; }
._koszenie_contact__info p { color:rgba(238,240,236,.82); margin-bottom:28px; font-size:17px; line-height:1.7; }
._koszenie_contact__row { display:flex; align-items:flex-start; gap:14px; margin-bottom:24px; }
._koszenie_contact__row .material-icons-outlined { font-size:22px; color:var(--kb-lime); margin-top:2px; flex-shrink:0; }
._koszenie_contact__row a { color:var(--kb-lime); font-weight:600; font-size:18px; }
._koszenie_contact__row a:hover { color:var(--kb-white); }
._koszenie_contact__row small { color:rgba(238,240,236,.5); font-size:13px; display:block; }
._koszenie_contact__form { background:rgba(255,255,255,.06); border-radius:var(--kb-r-lg); padding:40px; backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.08); }
._koszenie_contact__form h3 { color:var(--kb-white); font-size:24px; margin-bottom:24px; }
._koszenie_contact__form label { display:block; color:rgba(248,246,241,.7); font-size:13px; font-weight:500; margin-bottom:6px; }
._koszenie_contact__form input[type="text"],
._koszenie_contact__form input[type="tel"],
._koszenie_contact__form input[type="email"],
._koszenie_contact__form textarea,
._koszenie_contact__form select {
  width:100%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:var(--kb-r-sm); padding:14px 16px; color:var(--kb-white); font-family:var(--kb-sans); font-size:16px; transition:all .2s ease; min-height:52px; margin-bottom:16px;
}
._koszenie_contact__form input:focus,._koszenie_contact__form textarea:focus,._koszenie_contact__form select:focus { outline:none; border-color:var(--kb-lime); background:rgba(255,255,255,.12); box-shadow:0 0 0 3px rgba(123,201,80,.2); }
._koszenie_contact__form textarea { min-height:110px; resize:vertical; }
._koszenie_contact__form input[type="submit"] { width:100%; background:var(--kb-lime); color:var(--kb-text); font-weight:600; font-size:16px; letter-spacing:.04em; text-transform:uppercase; border:none; border-radius:var(--kb-r-full); padding:16px; cursor:pointer; transition:all .3s ease; min-height:56px; box-shadow:var(--kb-shadow-glow); margin-top:8px; }
._koszenie_contact__form input[type="submit"]:hover { background:var(--kb-forest); color:var(--kb-white); transform:translateY(-2px); }
._koszenie_contact__note { text-align:center; margin-top:16px; font-size:12px; color:rgba(238,240,236,.45); display:flex; align-items:center; justify-content:center; gap:6px; }

/* ═══ FOOTER ══════════════════════════════════════════════════ */
._koszenie_footer { background:#151d17; padding:48px 0 24px; }
._koszenie_footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px; }
@media(max-width:767px) { ._koszenie_footer__grid { grid-template-columns:1fr 1fr; } }
@media(max-width:480px) { ._koszenie_footer__grid { grid-template-columns:1fr; } }
._koszenie_footer h5 { font-family:var(--kb-sans); font-size:14px; font-weight:600; color:var(--kb-white); text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; }
._koszenie_footer p,._koszenie_footer a { font-size:14px; color:rgba(238,240,236,.55); line-height:1.8; }
._koszenie_footer a:hover { color:var(--kb-lime); }
._koszenie_footer__bottom { border-top:1px solid rgba(238,240,236,.08); margin-top:40px; padding-top:20px; text-align:center; font-size:12px; color:rgba(238,240,236,.35); }

/* ═══ STICKY CTA (MOBILE) ════════════════════════════════════ */
._koszenie_sticky { display:none; position:fixed; bottom:0; left:0; right:0; z-index:200; box-shadow:0 -4px 20px rgba(0,0,0,.18); }
._koszenie_sticky a { display:flex; align-items:center; justify-content:center; gap:10px; height:60px; background:var(--kb-lime); color:var(--kb-text); font-family:var(--kb-sans); font-weight:700; font-size:17px; text-decoration:none; }
._koszenie_sticky a .material-icons-outlined { font-size:22px; animation:_kb_pulse 2s ease-in-out infinite; }
@keyframes _kb_pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.12)} }
@media(max-width:991px) { ._koszenie_sticky { display:block; } ._koszenie_page { padding-bottom:60px; } }

/* ═══ UTILITY ═════════════════════════════════════════════════ */
html { scroll-behavior:smooth; scroll-padding-top:80px; }
@media(prefers-reduced-motion:reduce) {
  ._koszenie_page *,._koszenie_page *::before,._koszenie_page *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
  html { scroll-behavior:auto; }
  [data-aos] { opacity:1!important; transform:none!important; }
}