:root{
  --bg:#F4F0E8;
  --ink:#1A1613;
  --muted:rgba(26,22,19,0.6);
  --line:rgba(26,22,19,0.08);
  --accent:#FF4A17;
  --accent-dark:#E8420F;
  --accent-ink:#B8330B;
  --card:#fff;
  --sora:'Sora',-apple-system,BlinkMacSystemFont,sans-serif;
  --geist:'Geist',-apple-system,BlinkMacSystemFont,sans-serif;
  --pad:clamp(20px,3.5vw,44px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);font-family:var(--geist);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent-dark)}
a:hover{color:var(--accent-ink)}
h1,h2,h3{font-family:var(--sora);letter-spacing:-0.02em}
section[id]{scroll-margin-top:90px}
.accent{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,label:focus-within{outline:3px solid var(--ink);outline-offset:3px}

/* Buttons */
.btn{font-family:var(--sora);font-weight:600;font-size:15px;border-radius:100px;text-decoration:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.btn--primary{color:#fff;background:var(--accent);padding:14px 28px;box-shadow:0 10px 26px rgba(255,74,23,0.28)}
.btn--primary:hover{background:var(--accent-dark);color:#fff}
.btn--lg{padding:15px 28px}
.btn--ghost{color:var(--ink);background:#fff;border:1px solid var(--line);padding:15px 28px;box-shadow:0 4px 16px rgba(26,22,19,0.05)}
.btn--ghost:hover{border-color:rgba(26,22,19,0.32);color:var(--ink)}
.btn--onDark{color:#fff;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2)}
.btn--onDark:hover{background:rgba(255,255,255,0.16);color:#fff}
.btn--text{color:var(--muted);background:transparent;padding:12px 10px;font-size:14px}
.btn--text:hover{color:var(--ink)}
.btn[hidden]{display:none}

/* Eyebrow */
.eyebrow{font-family:var(--sora);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--accent-dark);display:flex;align-items:center;gap:9px;margin-bottom:14px}
.eyebrow--center{justify-content:center}
.eyebrow--light{color:#fff;opacity:.85;letter-spacing:.18em}
.eyebrow__line{width:26px;height:1px;background:var(--accent-dark);display:inline-block}

/* Nav */
.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--pad);backdrop-filter:blur(14px);background:linear-gradient(rgba(249,245,239,0.9),rgba(249,245,239,0.72));border-bottom:1px solid var(--line)}
.nav__brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav__brand img{height:30px;width:auto}
.nav__badge{font-family:var(--sora);font-weight:600;font-size:12px;color:rgba(26,22,19,0.5);padding:4px 10px;border:1px solid rgba(26,22,19,0.14);border-radius:100px;margin-left:5px;transform:translateY(2px)}
.nav__links{display:flex;align-items:center;gap:30px;font-size:15px}
.nav__links a{color:var(--muted);text-decoration:none}
.nav__links a:hover{color:var(--ink)}
.nav__cta{font-size:14px;padding:11px 20px}

/* Layout helpers */
.section{max-width:1440px;margin:0 auto;padding:clamp(68px,8vw,116px) var(--pad)}
.section--narrow{max-width:1180px}
.section__head{max-width:760px;margin-bottom:44px}
.section__head--center{margin-left:auto;margin-right:auto;text-align:center}
.section__title{font-weight:700;font-size:clamp(28px,3.6vw,44px);line-height:1.08}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cols-media{display:grid;grid-template-columns:1.06fr 0.94fr;gap:clamp(36px,4vw,56px);align-items:center}
.cols-media--rev{grid-template-columns:1.1fr 0.9fr}

/* Hero */
.hero{max-width:1440px;margin:0 auto;padding:clamp(44px,7vw,92px) var(--pad) 38px;display:grid;grid-template-columns:1.02fr 0.98fr;gap:clamp(36px,4vw,60px);align-items:center}
.hero__title{font-weight:700;font-size:clamp(38px,5.2vw,66px);line-height:1.01;margin-bottom:24px}
.hero__lead{font-size:clamp(17px,1.25vw,20px);line-height:1.62;color:var(--muted);max-width:600px}
.hero__lead:first-of-type{margin-bottom:14px}
.hero__lead+.hero__lead{margin-bottom:42px}
.hero__lead b{color:var(--ink);font-weight:600;display:block}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.hero__media{position:relative}

/* Shots */
.shot{position:relative;border-radius:22px;overflow:hidden;border:1px solid rgba(26,22,19,0.1);box-shadow:0 40px 90px rgba(26,22,19,0.16);margin-top:24px}
.shot--plain{margin-top:0}
.shot__tag{position:absolute;left:16px;bottom:16px;right:16px;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;font-family:var(--sora);font-weight:600;font-size:13.5px;color:#fff;backdrop-filter:blur(8px)}
.shot__tag--dark{background:rgba(20,17,9,0.78)}
.shot__tag--accent{background:rgba(255,74,23,0.92)}
.dot{flex:none;width:9px;height:9px;border-radius:50%;background:#fff}
.dot--warn{background:#FF6A34;box-shadow:0 0 12px #FF6A34}

/* Flow */
.flow{max-width:1440px;margin:0 auto;padding:30px var(--pad) clamp(30px,5vw,50px)}
.flow__grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.flow__card{padding:20px 22px;border-radius:16px;background:var(--card);border:1px solid rgba(26,22,19,0.07);box-shadow:0 12px 30px rgba(26,22,19,0.05);display:flex;flex-direction:column;gap:10px}
.flow__card--accent{background:linear-gradient(150deg,#FF4A17,#D63A0E);color:#fff;box-shadow:0 16px 34px rgba(255,74,23,0.28)}
.flow__label{font-family:var(--sora);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--accent-dark)}
.flow__card--accent .flow__label{color:rgba(255,255,255,0.9)}
.flow__title{font-family:var(--sora);font-weight:600;font-size:17.5px;line-height:1.25}

/* Cards (kontrast) */
.card{padding:30px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:0 16px 40px rgba(26,22,19,0.05)}
.card--dark{background:linear-gradient(150deg,#1A1613,#2A231D);color:#fff;box-shadow:0 22px 50px rgba(26,22,19,0.18)}
.card--accent{background:#FF4A17;color:#fff;box-shadow:0 22px 50px rgba(255,74,23,0.22)}
.card__kicker{font-family:var(--sora);font-size:11px;letter-spacing:.16em;color:rgba(26,22,19,0.55);font-weight:700;margin-bottom:14px}
.card__kicker--accent{color:#FF8A5A}
.card__kicker--onAccent{color:#000;font-weight:700}
.card--accent .card__text{color:rgba(255,255,255,0.95);font-weight:600}
.card__text{font-size:17px;line-height:1.62;color:var(--muted)}
.card--dark .card__text{color:rgba(255,255,255,0.95)}
.pullquote{text-align:center;font-family:var(--sora);font-weight:600;font-size:clamp(17px,2vw,22px);line-height:1.4;max-width:640px;margin:34px auto 0}

/* Deflist (co dostajesz) */
.deflist{list-style:none}
.deflist li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid rgba(26,22,19,0.09)}
.deflist li:last-child{border-bottom:none}
.deflist__num{flex:none;font-family:var(--sora);font-weight:800;font-size:15px;color:var(--accent);width:26px}
.deflist__title{font-weight:600;font-size:17.5px;margin-bottom:4px}
.deflist p{font-size:15.5px;line-height:1.55;color:rgba(26,22,19,0.56)}

/* Steps (jak to działa) */
.steps{list-style:none;display:flex;flex-direction:column;gap:16px}
.steps__item{display:flex;gap:20px;padding:26px 28px;border-radius:20px;background:var(--card);border:1px solid rgba(26,22,19,0.07);box-shadow:0 16px 40px rgba(26,22,19,0.05)}
.steps__num{flex:none;font-family:var(--sora);font-weight:800;font-size:36px;color:var(--accent);line-height:1}
.steps__title{font-weight:600;font-size:20.5px;margin-bottom:6px}
.steps p{font-size:16.5px;line-height:1.58;color:var(--muted)}
.reassure{display:flex;align-items:center;justify-content:center;gap:11px;max-width:980px;margin:clamp(34px,3.5vw,44px) auto 0;font-size:16px;line-height:1.5;color:var(--muted)}
.reassure svg{flex:none}
.reassure b{color:var(--ink);font-weight:600}

/* Benefits */
.benefits{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.benefit{grid-column:span 2;padding:30px 28px;border-radius:20px;background:var(--card);border:1px solid rgba(26,22,19,0.07);box-shadow:0 16px 40px rgba(26,22,19,0.05);transition:border-color .2s,box-shadow .2s}
.benefit--wide{grid-column:span 3}
.benefit:hover{border-color:rgba(255,74,23,0.4);box-shadow:0 22px 50px rgba(255,74,23,0.12)}
.benefit__num{display:block;font-family:var(--sora);font-size:12px;font-weight:600;letter-spacing:.16em;color:rgba(26,22,19,0.55);margin-bottom:16px}
.benefit__title{font-weight:600;font-size:20.5px;margin-bottom:12px;color:var(--accent);line-height:1.2}
.benefit p{font-size:16.5px;line-height:1.62;color:var(--muted)}

/* Dla kogo */
.panel{border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 60px rgba(26,22,19,0.07);padding:clamp(32px,4vw,52px)}
.panel__lead{font-size:17.5px;line-height:1.62;color:var(--muted);margin:0 0 24px;max-width:760px}
.panel__foot{font-size:16.5px;line-height:1.6;color:rgba(26,22,19,0.58);max-width:760px}
.panel__foot b{color:var(--ink);font-weight:600}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}
.tags li{font-family:var(--sora);font-size:14.5px;font-weight:600;padding:8px 16px;border-radius:100px;background:rgba(255,74,23,0.1);color:var(--accent-ink);border:1px solid rgba(255,74,23,0.14)}

/* Kontakt / formularz */
.kontakt{display:grid;grid-template-columns:0.82fr 1.18fr;gap:24px;align-items:stretch}
.kontakt__aside{position:relative;overflow:hidden;border-radius:26px;padding:clamp(32px,4vw,44px);background:linear-gradient(150deg,#FF4A17,#D63A0E);color:#fff;box-shadow:0 30px 70px rgba(255,74,23,0.26)}
.kontakt__title{font-weight:800;font-size:clamp(26px,3.2vw,38px);line-height:1.04;margin-bottom:16px}
.kontakt__desc{font-size:16.5px;line-height:1.6;opacity:.92;margin-bottom:40px;max-width:360px}
.kontakt__meta{display:flex;flex-direction:column;gap:15px;font-family:var(--sora)}
.kontakt__meta div{display:flex;gap:12px;font-weight:600;font-size:16px}
.kontakt__meta dt{opacity:.7;font-weight:500;width:70px;flex:none}
.kontakt__meta dd a{color:#fff}

.formcard{border-radius:26px;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 60px rgba(26,22,19,0.08);padding:clamp(26px,3vw,38px);display:flex;flex-direction:column}
.formcard__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.formcard__step{font-family:var(--sora);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark)}
.formcard__count{font-family:var(--sora);font-size:12px;color:rgba(26,22,19,0.42)}
.progress{height:5px;border-radius:100px;background:rgba(26,22,19,0.08);overflow:hidden;margin-bottom:26px}
.progress__fill{height:100%;width:33.33%;border-radius:100px;background:linear-gradient(90deg,#FF4A17,#FF6A34);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.step{border:none;min-height:270px}
.step[hidden]{display:none}
.step__title{font-family:var(--sora);font-weight:700;font-size:21px;margin-bottom:6px;padding:0}
.step__sub{font-size:15px;color:rgba(26,22,19,0.52);margin-bottom:22px}
.options{display:flex;flex-direction:column;gap:12px}
.option{display:block;cursor:pointer;padding:16px 18px;border-radius:14px;border:1px solid rgba(26,22,19,0.12);background:#fff;transition:border-color .2s,background .2s,box-shadow .2s}
.option:hover{border-color:rgba(255,74,23,0.5)}
.option input{position:absolute;opacity:0;width:0;height:0}
.option:has(input:checked){border-color:var(--accent);background:rgba(255,74,23,0.06);box-shadow:0 0 0 3px rgba(255,74,23,0.12)}
.option__t{display:block;font-family:var(--sora);font-weight:600;font-size:16px;color:var(--ink);margin-bottom:4px}
.option__d{display:block;font-size:14px;color:rgba(26,22,19,0.54)}
.field{margin-bottom:16px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label{display:block;font-family:var(--sora);font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:7px}
.field input{width:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(26,22,19,0.14);background:#fff;font-family:var(--geist);font-size:16px;color:var(--ink);outline:none}
.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,74,23,0.12)}
.summary{border:1px solid rgba(26,22,19,0.1);border-radius:16px;overflow:hidden}
.summary div{display:flex;justify-content:space-between;gap:16px;padding:13px 18px;border-bottom:1px solid rgba(26,22,19,0.07)}
.summary div:last-child{border-bottom:none}
.summary dt{font-size:14px;color:rgba(26,22,19,0.52)}
.summary dd{font-family:var(--sora);font-weight:600;font-size:15px;text-align:right}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.formerror{margin-top:14px;padding:12px 16px;border-radius:12px;background:rgba(200,40,15,0.08);border:1px solid rgba(200,40,15,0.25);font-size:13.5px;line-height:1.5;color:var(--accent-ink)}
.formerror[hidden]{display:none}
.formnav{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.formnav [data-back]{margin-right:auto}
.formnav[hidden]{display:none}
.confirm{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 0 8px}
.confirm[hidden]{display:none}
.confirm__icon{width:64px;height:64px;border-radius:50%;background:rgba(255,74,23,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.confirm__title{font-weight:700;font-size:22px;margin-bottom:10px}
.confirm p{font-size:17px;line-height:1.6;color:var(--muted);max-width:400px}

/* CTA */
.cta{position:relative;overflow:hidden;text-align:center;border-radius:28px;background:linear-gradient(150deg,#1A1613,#2A231D);color:#fff;padding:clamp(40px,6vw,72px) clamp(24px,5vw,56px);box-shadow:0 30px 70px rgba(26,22,19,0.24)}
.cta::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:560px;height:560px;background:radial-gradient(circle,rgba(255,74,23,0.32),transparent 62%);pointer-events:none}
.cta__title,.cta__lead,.cta__actions,.cta__slogan{position:relative}
.cta__title{font-weight:700;font-size:clamp(26px,3.4vw,42px);line-height:1.1;margin:0 auto 18px;max-width:640px}
.cta__lead{font-size:17.5px;line-height:1.6;color:rgba(255,255,255,0.75);margin:0 auto 34px;max-width:600px}
.cta__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta__slogan{font-family:var(--sora);font-weight:600;font-size:clamp(15px,1.8vw,19px);color:#FF8A5A;margin-top:38px}

/* Footer */
.footer{max-width:1440px;margin:0 auto;padding:20px var(--pad) 64px}
.footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(26,22,19,0.1)}
.footer__top img{height:22px;width:auto}
.footer__top span{font-size:13px;color:rgba(26,22,19,0.5)}
.footer__links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.footer__link{font-family:var(--sora);font-weight:600;font-size:13px;color:var(--muted);background:none;border:none;padding:0;cursor:pointer}
.footer__link:hover{color:var(--accent-dark)}

/* Cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:560px;margin:0 auto;background:#fff;border:1px solid rgba(26,22,19,0.12);border-radius:18px;box-shadow:0 20px 60px rgba(26,22,19,0.22);padding:22px 24px}
.cookie-banner[hidden]{display:none}
.cookie-banner__title{font-family:var(--sora);font-weight:700;font-size:16px;color:var(--ink);margin-bottom:8px}
.cookie-banner__text{font-size:14px;line-height:1.6;color:rgba(26,22,19,0.65);margin:0 0 16px}
.cookie-banner__more{background:none;border:none;padding:0;font:inherit;color:var(--accent-dark);font-weight:600;cursor:pointer;text-decoration:underline}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-banner .btn{padding:12px 22px;font-size:14px}

/* Modal */
.modal{position:fixed;inset:0;z-index:100;background:rgba(26,22,19,0.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal__box{position:relative;max-width:640px;width:100%;max-height:82vh;overflow-y:auto;background:#fff;border-radius:22px;padding:clamp(28px,4vw,44px);box-shadow:0 40px 100px rgba(26,22,19,0.3)}
.modal__close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(26,22,19,0.14);background:#fff;cursor:pointer;font-size:20px;line-height:1;color:rgba(26,22,19,0.6);display:flex;align-items:center;justify-content:center}
.modal__close:hover{border-color:rgba(255,74,23,0.45);color:var(--ink)}
.modal__kicker{font-family:var(--sora);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dark);font-weight:600;margin-bottom:12px}
.modal__title{font-family:var(--sora);font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.1;margin:0 0 20px}
.modal__body{font-size:15px;line-height:1.68;color:rgba(26,22,19,0.7)}
.modal__body p{margin:0 0 13px}
.modal__body h4{font-family:var(--sora);font-weight:600;font-size:16px;color:var(--ink);margin:22px 0 10px}
.modal__body ul{margin:0 0 13px;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.modal__body li{line-height:1.6}
.modal__body b{font-weight:600;color:var(--ink)}
.modal__body em{color:rgba(26,22,19,0.5)}
.footer__note{margin-top:22px;font-size:13.5px;line-height:1.6;color:rgba(26,22,19,0.52);max-width:760px}
.footer__note b{color:rgba(26,22,19,0.72);font-weight:600}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-shown{opacity:1;transform:none}

/* Responsive */
@media(max-width:1000px){
  .cols-media,.cols-media--rev{grid-template-columns:1fr}
  .benefits{grid-template-columns:1fr 1fr}
  .benefit,.benefit--wide{grid-column:auto}
  .flow__grid{grid-template-columns:1fr 1fr}
  .kontakt{grid-template-columns:1fr}
}
@media(max-width:820px){
  .hero{grid-template-columns:1fr}
  .hero__media{display:none}
  .nav__links{display:none}
}
@media(max-width:640px){
  .cols-2{grid-template-columns:1fr}
  .benefits{grid-template-columns:1fr}
  .flow__grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
}
@media(max-width:560px){
  .nav__badge{display:none}
  .nav{padding-left:16px;padding-right:16px;gap:12px}
  .nav__cta{padding:10px 16px;font-size:13px}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1;transform:none}
}
