:root{--ink:#10212A;--bg:#F3F6F2;--teal:#0E3B43;--teal2:#14565F;--amber:#FFB000;--mint:#E2EFE8;--line:#D3DDD7;--bs-body-font-family:"Source Sans 3",system-ui,sans-serif;--bs-body-bg:var(--bg);--bs-body-color:var(--ink);--bs-link-color:#0A6A78;--bs-link-hover-color:var(--teal)}
body{font-size:1.0625rem}h1,h2,h3,h4,.brand{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:700;letter-spacing:-.02em}
.navbar{background:rgba(243,246,242,.9);backdrop-filter:blur(8px);position:sticky;top:0;z-index:1030;border-bottom:1px solid var(--line)}
.brand{font-size:1.5rem;color:var(--ink)}.brand span{color:var(--amber)}.nav-link{font-weight:600}
.btn-amber{background:var(--amber);color:var(--ink);font-weight:700;border:0;padding:.85rem 1.5rem;border-radius:999px}.btn-amber:hover{background:#FFC233;color:var(--ink)}
.btn-ghost{border:2px solid rgba(255,255,255,.4);color:#fff;font-weight:600;padding:.8rem 1.5rem;border-radius:999px}.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.hero{color:#fff;background:radial-gradient(60rem 30rem at 85% -10%,rgba(255,176,0,.28),transparent 60%),radial-gradient(40rem 25rem at -10% 110%,#1C7A85 0,transparent 60%),var(--teal);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.hero .container{position:relative;z-index:1}.hero h1{font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.05}.hero .lead{color:#CFE3E1;max-width:46ch}
.badge-soft{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:.35rem .9rem;border-radius:999px;font-size:.9rem;color:#E8F3F1}
.preview{transform:rotate(2deg);box-shadow:0 30px 60px rgba(0,0,0,.35);background:#0A2C33;border:1px solid rgba(255,255,255,.12)}
.preview-top{display:flex;gap:.4rem;margin-bottom:.75rem}.preview-top i{width:.7rem;height:.7rem;border-radius:50%;background:rgba(255,255,255,.25)}
.stats{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2.5rem}.stats strong{display:block;font:700 1.6rem "Bricolage Grotesque",sans-serif;color:var(--amber)}.stats span{color:#B9D3D1;font-size:.95rem}
.section{padding:4rem 0}.section-alt{background:var(--mint)}.section h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}.section .sub{color:#4A5B63;max-width:60ch}
.tool{display:flex;flex-direction:column;gap:.6rem;height:100%;padding:1.75rem;background:#fff;border:1px solid var(--line);border-radius:1.25rem;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s,border-color .2s}
.tool:hover,.tool:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px rgba(14,59,67,.14);border-color:var(--teal)}
.tool-icon,.feat-icon{width:3.25rem;height:3.25rem;border-radius:1rem;display:grid;place-items:center;font-size:1.5rem;background:var(--teal);color:var(--amber)}
.tool-name{font:700 1.5rem "Bricolage Grotesque",sans-serif}.tool-d{color:#4A5B63}.tool-go{margin-top:auto;font-weight:700;color:var(--teal2)}
.feat-icon{background:var(--amber);color:var(--ink)}
.step{display:flex;gap:1.1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.step:last-child{border:0}.step b{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--teal);color:var(--amber);display:grid;place-items:center;font-family:"Bricolage Grotesque",sans-serif}
.article{background:#fff;border:1px solid var(--line);border-radius:1.25rem;padding:1.75rem;height:100%}.article h3{font-size:1.3rem}
.page-head{background:var(--teal);color:#fff;padding:1.5rem 0 2.5rem}.page-head h1{font-size:clamp(2rem,5vw,3rem)}.page-head p{color:#CFE3E1;max-width:60ch;margin:0}
.page-head .breadcrumb{--bs-breadcrumb-divider-color:#8FB3B3;--bs-breadcrumb-item-active-color:#CFE3E1}.page-head a{color:var(--amber)}
.panel{background:#fff;border:1px solid var(--line);border-radius:1.25rem;padding:1.75rem;box-shadow:0 10px 30px rgba(14,59,67,.08)}.form-label{font-weight:600}
.form-control,.form-select{padding:.75rem .9rem;border-radius:.75rem}.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 .25rem rgba(255,176,0,.45)}
.lcd{background:var(--teal);color:var(--amber);border-radius:1.25rem;padding:1.25rem 1.75rem;height:100%;display:flex;flex-direction:column;justify-content:center;font-variant-numeric:tabular-nums;box-shadow:0 10px 30px rgba(14,59,67,.2)}
.lcd-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.lcd-row:last-child{border:0}
.lcd-row span{color:#CFE3E1}.lcd-row strong{font:700 clamp(1.4rem,4vw,2.1rem) "Bricolage Grotesque",sans-serif}
.accordion{--bs-accordion-border-color:var(--line);--bs-accordion-active-bg:var(--mint);--bs-accordion-active-color:var(--ink);--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(255,176,0,.45);--bs-accordion-border-radius:1rem}
.accordion-button{font-weight:600}
.ad{min-height:120px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:.75rem;color:#8A979D;font-size:.85rem}
.prose{max-width:70ch}.prose h2{font-size:1.4rem;margin-top:1.25rem}
footer{background:var(--teal);color:#B9D3D1}footer a{color:#fff;text-decoration:none}footer a:hover{color:var(--amber)}footer h4{color:#fff;font-size:1.05rem}
#consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1080;max-width:36rem;background:#fff;border:2px solid var(--ink);border-radius:1rem;padding:1rem 1.25rem}
a:focus-visible,button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.tool{transition:none}.tool:hover{transform:none}}
/* mniej bieli: kolorowe tła i karty */
:root{--bg:#DDEAE2;--mint:#C9DED2;--card:#EEF5F0;--bs-body-bg:#DDEAE2}
.navbar{background:rgba(221,234,226,.92)}
.section-alt{background:linear-gradient(160deg,var(--teal) 0%,#0A2C33 100%);color:#E8F3F1}
.section-alt h2,.section-alt h3{color:#fff}
.section-alt .article{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#D5E6E4}
.section-alt .feat-icon{background:var(--amber)}
.tool{background:var(--card);border-color:#B5CDBF}.tool:hover,.tool:focus-visible{background:#F6FAF7}
.panel{background:var(--card);border-color:#B5CDBF}
.article{background:var(--card);border-color:#B5CDBF}
.accordion{--bs-accordion-bg:var(--card);--bs-accordion-border-color:#B5CDBF;--bs-accordion-active-bg:#B9D4C6}
.accordion-button{background:var(--card)}
.tool-d,.section .sub{color:#33474F}
.ad{border-color:#9DB8AA;color:#5E7570}
footer{border-top:0}
.section:not(.section-alt):nth-of-type(odd){background:transparent}
.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}.brand-mark{display:block;border-radius:11px;box-shadow:0 4px 12px rgba(14,59,67,.25);transition:transform .25s}.brand:hover .brand-mark{transform:rotate(-6deg) scale(1.06)}.brand-text{line-height:1}.brand-text span{color:var(--amber)}
footer .brand-mark{box-shadow:none}
