:root{
  --paper:#F6F1E7; --paper-2:#FBF8F1; --card:#FFFFFF;
  --ink:#20201C; --ink-soft:#55514A; --ink-faint:#8A8478;
  --green:#1C4A37; --green-d:#163B2C; --green-tint:#E5ECE5;
  --terra:#C0603A; --terra-tint:#F1DED4; --ochre:#C2932F;
  --line:#E4DAC8; --line-d:#D6C9B2;
  --good:#2E7D5B; --warn:#B8742A;
  --serif:'Newsreader',Georgia,serif; --sans:'IBM Plex Sans',system-ui,sans-serif; --mono:'IBM Plex Mono',monospace;
  --r:14px; --shadow:0 1px 0 rgba(32,32,28,.04),0 18px 40px -28px rgba(28,59,44,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(1200px 600px at 80% -10%, #FBF6EC 0%, rgba(251,246,236,0) 60%);}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.1}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra)}

header.nav{position:sticky;top:0;z-index:50;background:rgba(246,241,231,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.brand .dot{width:11px;height:11px;border-radius:50%;background:var(--terra);box-shadow:0 0 0 4px var(--terra-tint)}
.brand-tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;margin-left:8px;border:1px solid var(--line-d);padding:2px 6px;border-radius:5px}
nav.menu ul{display:flex;gap:30px;list-style:none;font-size:15px;font-weight:500}
nav.menu a{color:var(--ink-soft);transition:color .2s}
nav.menu a:hover{color:var(--green)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:15px;padding:11px 20px;border-radius:10px;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;border:none}
.btn-primary{background:var(--green);color:#F6F1E7;box-shadow:0 10px 20px -12px rgba(28,74,55,.7)}
.btn-primary:hover{background:var(--green-d);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--green);border:1.5px solid var(--line-d)}
.btn-ghost:hover{border-color:var(--green);background:var(--green-tint)}
.btn-terra{background:var(--terra);color:#FBF8F1}
.btn-terra:hover{background:#A94F2E;transform:translateY(-1px)}

.hero{padding:74px 0 30px}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center}
.hero h1{font-size:clamp(38px,5vw,62px);letter-spacing:-.025em}
.hero h1 em{font-style:italic;color:var(--green)}
.hero p.lead{font-size:20px;color:var(--ink-soft);margin:22px 0 12px;max-width:34ch}
.hero .cta{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap}
.hero .micro{margin-top:20px;font-size:13.5px;color:var(--ink-faint);display:flex;gap:18px;flex-wrap:wrap}
.hero .micro span{display:flex;align-items:center;gap:7px}
.tick{color:var(--good);font-weight:700}

.status{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.status::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--terra),var(--ochre))}
.status h3{font-size:13px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-bottom:4px}
.status .upd{font-size:12.5px;color:var(--ink-faint);margin-bottom:18px}
.status .upd b{color:var(--terra)}
.step{display:flex;gap:14px;padding:13px 0;border-top:1px dashed var(--line-d)}
.step:first-of-type{border-top:none}
.dotmark{flex:none;width:13px;height:13px;border-radius:50%;margin-top:5px;border:2px solid var(--line-d);background:var(--paper)}
.step.done .dotmark{background:var(--good);border-color:var(--good)}
.step.now .dotmark{background:var(--terra);border-color:var(--terra);box-shadow:0 0 0 4px var(--terra-tint)}
.step .t{font-weight:600;font-size:15px}
.step .d{font-size:13.5px;color:var(--ink-soft)}
.step .when{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--ink-faint);white-space:nowrap}

.band{background:var(--green);color:#EDEAE0;margin-top:50px}
.band .wrap{padding:30px 24px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:space-between}
.band .big{font-family:var(--serif);font-size:clamp(24px,3vw,33px);max-width:20ch;line-height:1.15}
.band .big b{color:#E9B872}
.band form{display:flex;gap:10px;background:rgba(255,255,255,.08);padding:8px;border-radius:12px;border:1px solid rgba(255,255,255,.16)}
.band input{background:#FBF8F1;border:none;border-radius:8px;padding:12px 16px;font-family:var(--sans);font-size:15px;width:240px;color:var(--ink)}
.band .note{font-size:12.5px;color:rgba(237,234,224,.7);margin-top:10px;width:100%}

section.blk{padding:64px 0}
.shead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;gap:20px;flex-wrap:wrap}
.shead h2{font-size:clamp(28px,3.4vw,40px)}
.shead p{color:var(--ink-soft);max-width:46ch;margin-top:8px}
.disclosure{font-size:12.5px;color:var(--ink-faint);background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:8px 13px;display:inline-flex;gap:8px;align-items:center}

.cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tool{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;position:relative;transition:transform .18s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.tool:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-d)}
.tool.pick{border-color:var(--terra);box-shadow:0 20px 50px -30px rgba(192,96,58,.55)}
.pickflag{position:absolute;top:-13px;left:24px;background:var(--terra);color:#FBF8F1;font-size:11.5px;font-weight:700;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.tool .tname{font-family:var(--serif);font-size:24px;font-weight:600;display:flex;align-items:center;justify-content:space-between}
.score{font-family:var(--mono);font-size:14px;background:var(--green-tint);color:var(--green);padding:3px 9px;border-radius:6px;font-weight:600}
.price{font-family:var(--mono);font-size:14px;color:var(--ink-soft);margin:10px 0 16px}
.tool ul{list-style:none;font-size:14px;display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.tool li{display:flex;gap:9px;color:var(--ink-soft)}
.tool li.pro::before{content:"+";color:var(--good);font-weight:700}
.tool li.con::before{content:"–";color:var(--terra);font-weight:700}
.tool .foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.tool .aff{font-size:11.5px;color:var(--ink-faint);text-align:center}

.guide{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gcard{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:transform .18s,background .2s}
.gcard:hover{transform:translateY(-3px);background:var(--card)}
.gcard .num{font-family:var(--mono);font-size:13px;color:var(--terra);text-transform:uppercase}
.gcard h3{font-size:20px;margin:10px 0 8px}
.gcard p{font-size:13.5px;color:var(--ink-soft)}
.gcard .more{margin-top:14px;font-size:13.5px;font-weight:600;color:var(--green)}

.trust{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust .wrap{padding:46px 24px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.author{display:flex;gap:18px;align-items:center}
.avatar{width:64px;height:64px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--green),#2E6B4E);display:flex;align-items:center;justify-content:center;color:#F6F1E7;font-family:var(--serif);font-size:26px;font-weight:600}
.author .who b{font-size:17px}
.author .who span{font-size:13.5px;color:var(--ink-soft);display:block}
.method li{font-size:14px;color:var(--ink-soft);margin:7px 0;display:flex;gap:9px}
.method li::before{content:"✓";color:var(--green);font-weight:700}
.method h3{font-size:14px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:12px}

/* artykul / prosta tresc */
.prose{max-width:720px;margin:0 auto;padding:54px 24px}
.prose .eyebrow{margin-bottom:10px}
.prose h1{font-size:clamp(30px,4vw,46px);margin-bottom:14px}
.prose .meta{font-size:13.5px;color:var(--ink-faint);font-family:var(--mono);margin-bottom:26px;border-bottom:1px solid var(--line);padding-bottom:18px}
.prose .lead{font-size:20px;color:var(--ink-soft);font-family:var(--serif);margin-bottom:24px}
.prose p{margin:0 0 16px;font-size:17px}
.prose h2{font-size:27px;margin:34px 0 12px}
.prose .sources{margin-top:36px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.prose .sources h3{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:10px}
.prose .sources a{color:var(--green);font-weight:500;display:block;margin:5px 0;font-size:14px}

.flash{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:200;padding:12px 22px;border-radius:10px;font-weight:600;font-size:14px;box-shadow:var(--shadow)}
.flash.ok{background:var(--green);color:#F6F1E7}
.flash.err{background:var(--terra);color:#FBF8F1}

footer{background:var(--ink);color:#C9C4B8;padding:50px 0 30px;font-size:14px;margin-top:20px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;margin-bottom:30px}
footer .fbrand{font-family:var(--serif);font-size:24px;font-weight:600;color:#F6F1E7;margin-bottom:10px}
footer a{color:#C9C4B8}footer a:hover{color:#fff}
footer h4{font-size:12px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#8A8478;margin-bottom:12px}
footer ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.disc{border-top:1px solid #3A382F;padding-top:20px;font-size:12px;color:#8A8478;line-height:1.7}
.disc b{color:#C9C4B8}

.fade{opacity:0;transform:translateY(16px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.27s}.d4{animation-delay:.4s}

@media(max-width:900px){
  .hero .grid,.trust .wrap{grid-template-columns:1fr}
  .cmp,.guide{grid-template-columns:1fr}
  nav.menu ul{display:none}
  footer .cols{grid-template-columns:1fr}
}
