/* Znajdowalni: cennik. */
@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-pl.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("assets/fonts/PlayfairDisplay-latin.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Playfair Display";src:url("assets/fonts/PlayfairDisplay-latin-ext.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Mono";src:url("assets/fonts/DMMono-500-pl.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
/* --- redesign.css --- */
:root{--ink:#0f1115;--paper:#fafaf8;--teal:#00b8b0;--aqua:#bfefec;--coral:#ff846f;--lime:#d7ed7a;--line:#c7cfce;--sans:Montserrat,Arial,sans-serif;--serif:"Playfair Display",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-lockup img{display:block;width:162px;height:auto}.nav nav{display:flex;gap:23px}.nav a,.footer-inner a{font-size:13px;color:var(--ink);text-decoration:none}.nav-cta,.button{border:0;font:600 13px var(--sans);cursor:pointer;text-decoration:none;display:inline-flex;gap:14px;align-items:center;justify-content:center}.nav-cta{background:transparent;color:var(--ink)}.hero{padding:50px 0 90px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:610px}.eyebrow,.kicker{font:500 11px "DM Mono",monospace;letter-spacing:.09em;margin:0 0 16px}.hero h1,h2{font:700 clamp(42px,6vw,78px)/.99 var(--serif);letter-spacing:-.03em;margin:0}.hero h1 em,h2 em{font-style:normal;color:var(--teal)}.lede{max-width:560px;font-size:18px;line-height:1.5;margin:27px 0}.preview-form{max-width:640px}.preview-start{background:#fff;border:1px solid var(--ink);padding:6px;display:flex;gap:6px;box-shadow:6px 6px 0 var(--ink)}.preview-start input{border:0;min-width:0;flex:1;padding:12px 14px;font:14px var(--sans);outline-color:var(--teal)}.button{padding:15px 17px}.button.ink{background:var(--ink);color:#fff}.button.coral{background:var(--coral);color:var(--ink);margin-top:15px}.text-action,.back{border:0;background:none;color:var(--ink);padding:15px 0 0;font:600 13px var(--sans);text-decoration:underline;cursor:pointer}.form-note{font-size:12px;margin:10px 0;color:#50605f}.hero-art{height:430px;position:relative;margin-left:20px}.orbit{position:absolute;border:1px solid var(--teal);border-radius:50%;animation:float 7s ease-in-out infinite}.orbit-a{width:380px;height:380px;right:10px;top:15px}.orbit-b{width:270px;height:270px;right:65px;top:70px;border-color:var(--coral);animation-delay:-2s}.signal-card{position:absolute;background:var(--ink);color:#fff;padding:25px;box-shadow:8px 8px 0 var(--coral);display:grid;gap:12px}.signal-card b{font:700 31px var(--serif);letter-spacing:-.03em}.signal-card small{font-size:13px;max-width:150px}.card-one{right:88px;top:100px;transform:rotate(-5deg)}.card-two{bottom:30px;left:20px;background:var(--lime);color:var(--ink);box-shadow:8px 8px 0 var(--ink);transform:rotate(4deg)}.card-two strong{font:700 25px var(--serif)}.spark{position:absolute;font-size:37px;color:var(--coral)}.s1{top:30px;left:80px}.s2{bottom:25px;right:20px;color:var(--teal)}@keyframes float{50%{transform:translateY(-12px)}}.benefits{background:var(--ink);color:var(--paper);padding:45px 0}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.benefit-grid span,.steps span{color:var(--lime);font:500 12px "DM Mono"}.benefit-grid h2{font:700 28px var(--serif);letter-spacing:-.03em;margin:12px 0}.benefit-grid p{max-width:280px;margin:0;color:#d8e2da}.section{padding:108px 0}.section h2{font-size:clamp(37px,5vw,66px)}.scenarios,.compare{background:#e4ecea}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:46px}.scenario-grid article{min-height:250px;padding:31px;background:var(--paper);border:1px solid var(--ink)}.scenario-grid article:last-child{background:var(--coral)}h3{font:700 30px/1.08 var(--serif);letter-spacing:-.03em;margin:15px 0}.scenario-grid p:last-child{max-width:410px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading>p{max-width:265px}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--ink)}.steps article{padding:25px 28px 0 0}.steps article+article{border-left:1px solid var(--ink);padding-left:28px}.steps h3{font-size:31px}.directions{background:var(--ink);color:var(--paper)}.directions h2 em{color:var(--lime)}.intro{max-width:560px}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-top:45px}.site-preview{height:350px;padding:14px 19px 19px;color:#1d2020;display:flex;flex-direction:column;overflow:hidden}.site-preview.beauty{background:#f0b5a9}.site-preview.physio{background:#b7d8d0}.site-preview.garage{background:#ffdc59}.browser{display:flex;gap:4px}.browser i{height:6px;width:6px;border-radius:50%;background:#1d2020}.mini-nav{display:flex;justify-content:space-between;border-bottom:1px solid #1d2020;padding:13px 0;font-size:11px;font-weight:700}.site-preview h3{font-size:36px;margin:40px 0 15px;max-width:240px}.mini-lines{display:grid;gap:5px}.mini-lines b{height:5px;background:#1d2020;width:80%}.mini-lines b:nth-child(2){width:60%}.mini-lines b:nth-child(3){width:70%}.site-preview button{align-self:flex-start;margin-top:auto;border:0;padding:10px;background:#1d2020;color:#fff;font:600 11px var(--sans)}.site-preview p{font:11px "DM Mono";margin:14px 0 0}.pricing{background:var(--teal)}.pricing h2 em{color:var(--ink)}.plans{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:45px}.plan{background:var(--paper);padding:35px}.plan h3{font-size:33px}.plan>p{min-height:48px}.price{display:flex;align-items:center;gap:12px;margin:27px 0}.price strong{font:700 68px/.8 var(--serif);letter-spacing:-.03em}.price span{font-size:13px}.button.light{width:100%;background:var(--ink);color:#fff;margin-bottom:27px}.plan ul{list-style:" -   ";padding-left:16px;margin:0}.plan li{padding:5px 0}.onboarding{display:grid;grid-template-columns:1.1fr auto auto 1fr;gap:25px;align-items:center;background:var(--ink);color:var(--paper);padding:29px 34px;margin-top:20px}.onboarding h3{font-size:25px;margin:0}.old-price{font:700 32px var(--serif);text-decoration:line-through;color:#c8c1b7}.old-price small,.new-price small{font:12px var(--sans);display:block;text-decoration:none}.arrow{font-size:30px;color:var(--lime)}.new-price{font:700 45px var(--serif);color:var(--lime)}.onboarding>p{grid-column:1/-1;margin:0;font-size:13px;color:#c9d5cb}.included{padding:75px 0}.included-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.included-grid div{padding:24px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:600}.included-grid span{color:var(--coral);margin-right:8px}.compare-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0;margin-top:46px}.compare-grid article{border:1px solid var(--ink);padding:28px}.compare-grid article+article{border-left:0}.compare-grid .ours{background:var(--ink);color:var(--paper)}.compare-grid h3{font-size:31px}.compare-grid b{font:500 11px "DM Mono";text-transform:uppercase}.founder{background:var(--coral)}.founder-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.portrait-placeholder{aspect-ratio:1;background:var(--ink);position:relative;display:grid;place-items:center;transform:rotate(-3deg)}.portrait-placeholder:before{content:"";position:absolute;width:70%;height:70%;border:1px solid var(--lime);border-radius:50%;transform:rotate(20deg)}.portrait-placeholder span{position:relative;z-index:1;color:var(--paper);text-align:center;font:700 30px/1 var(--serif)}.founder h2 em{color:var(--ink)}.founder p{max-width:600px;font-size:18px}.todo{font-size:12px!important;font-style:italic}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.accordions{border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--ink);padding:17px 0}summary{list-style:none;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details p{max-width:700px;margin:13px 35px 3px 0;font-size:15px}.final-cta{background:var(--lime);padding:105px 0}.final-cta h2{font-size:clamp(43px,6vw,75px);margin-bottom:33px}.final-cta h2 em{color:var(--coral)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.detail-grid label,.consent{display:grid;gap:5px;font-size:13px;font-weight:600}.detail-grid input{border:1px solid var(--ink);background:#fff;padding:12px;font:15px var(--sans)}.consent{display:flex;align-items:flex-start;margin-top:12px;font-weight:400}.consent input{margin-top:4px}.form-status{padding:24px;background:#fff;border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.form-status span{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;background:var(--lime);font-weight:700}.form-status.demo span{background:var(--coral)}.form-status h3{font-size:28px}.footer-inner{display:grid;grid-template-columns:auto 1fr auto auto;gap:26px;align-items:center;padding:35px 0;font-size:13px}.footer-inner p{margin:0}.footer-inner small{color:#6d7774}.mobile-cta{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.wrap{width:min(100% - 32px,600px)}.nav{height:69px}.nav nav,.nav-cta{display:none}.hero{padding:28px 0 52px}.hero-grid{display:block;min-height:0}.hero h1{font-size:56px}.lede{font-size:17px}.preview-start{display:block;padding:5px}.preview-start input{width:100%;padding:13px}.preview-start .button{width:100%;margin-top:4px}.hero-art{height:240px;margin:45px 0 0}.orbit-a{width:215px;height:215px;right:15px}.orbit-b{width:150px;height:150px;right:48px;top:48px}.card-one{padding:16px;right:30px;top:52px}.signal-card b{font-size:24px}.card-two{left:10px;bottom:15px;padding:16px}.s1{left:15px}.benefit-grid,.scenario-grid,.direction-grid,.plans,.founder-grid,.faq-grid{grid-template-columns:1fr;gap:20px}.benefits{padding:35px 0}.benefit-grid{gap:28px}.benefit-grid article{padding-bottom:24px;border-bottom:1px solid #49615d}.section{padding:72px 0}.section-heading{display:block}.steps{grid-template-columns:1fr;gap:0;margin-top:30px}.steps article,.steps article+article{border-left:0;border-bottom:1px solid var(--ink);padding:22px 0}.site-preview{height:320px}.onboarding{grid-template-columns:1fr;gap:13px;padding:25px}.onboarding .arrow{display:none}.included-grid{grid-template-columns:1fr 1fr}.compare-grid{grid-template-columns:1fr}.compare-grid article+article{border-left:1px solid var(--ink);border-top:0}.founder-grid{gap:40px}.portrait-placeholder{max-width:280px}.faq-grid{gap:25px}.footer-inner{grid-template-columns:1fr;gap:10px;padding-bottom:85px}.mobile-cta{display:flex;position:fixed;z-index:10;bottom:12px;left:12px;right:12px;background:var(--coral);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:15px;justify-content:space-between;font:700 15px var(--sans);color:var(--ink)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit{animation:none}}
/* --- polish.css --- */
/* Ostatnia warstwa dopracowania: czytelność i spokojniejszy rytm. */
h2{line-height:1.1;letter-spacing:-.03em}.hero h1{line-height:1.03}.hero h1 em,h2 em{display:inline-block}.plan ul{list-style:none;padding-left:0}.plan li{position:relative;padding-left:18px}.plan li::before{content:"•";position:absolute;left:0;color:var(--teal)}.case-study{background:var(--aqua)}.case-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center}.case-copy p:not(.eyebrow){max-width:470px;font-size:17px}.case-copy .case-note{font:500 11px "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.case-visual{background:#fff;border:1px solid var(--ink);padding:12px;box-shadow:10px 10px 0 var(--ink)}.case-visual img{display:block;width:100%;height:auto}.text-action{display:block;max-width:540px;text-align:left;line-height:1.45}.form-note{max-width:550px}@media(max-width:760px){h2{line-height:1.14;letter-spacing:-.03em}.hero h1{line-height:1.07}.case-grid{grid-template-columns:1fr;gap:28px}.case-visual{box-shadow:6px 6px 0 var(--ink)}.text-action{font-size:13px}.hero h1 em,h2 em{display:block}}
/* --- palette.css --- */
/* Finalna paleta: teal jest marką, limonka jest sygnałem działania. */
:root{--ink:#121416;--paper:#F7F3EA;--teal:#17B2A6;--aqua:#E3F5F1;--coral:#FF705E;--lime:#B9F24A}.preview-start .button.ink,.button.light,.mobile-cta{background:var(--lime);color:var(--ink)}.preview-start .button.ink:hover,.button.light:hover,.mobile-cta:hover{background:#c9ff63}.preview-start{box-shadow:6px 6px 0 var(--ink)}.card-two{box-shadow:8px 8px 0 var(--ink)}.new-price{color:var(--lime)}.pricing{background:var(--teal)}.integration-note{background:var(--ink)}
/* --- pricing-details.css --- */
.choose-plan{padding:95px 0;background:var(--paper)}.choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}.choose-grid article{padding:30px;background:var(--aqua);border:1px solid var(--ink)}.choose-grid article:last-child{background:var(--lime)}.choose-grid h2{font-size:33px;line-height:1.08}.choose-grid p{max-width:440px;margin-bottom:0}.integration-note{margin-top:18px;padding:31px;background:var(--ink);color:var(--paper)}.integration-note h3{font-size:28px}.integration-note p{max-width:760px;margin-bottom:0;color:#d7e5e2}@media(max-width:760px){.choose-plan{padding:70px 0}.choose-grid{grid-template-columns:1fr}.choose-grid article,.integration-note{padding:24px}.choose-grid h2{font-size:28px}.integration-note h3{font-size:26px}}
/* --- plan-compare.css --- */
.plan-compare { background: var(--cream, #f7f3ea); }
.pricing-guidance { margin: 2rem 0 0; padding: 1.4rem 1.6rem; border: 1px solid var(--ink, #121416); background: var(--soft-teal, #e3f5f1); }
.pricing-guidance h3 { margin: .2rem 0 1rem; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.pricing-guidance-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem; }
.pricing-guidance-grid p { margin:0; max-width:34rem; }
.pricing-guidance-grid strong { font-weight:700; }
.pricing-guidance .integration-note { margin:1.2rem 0 0; padding-top:1rem; border-top:1px solid #a9c8c2; font-size:.92rem; }
.plan-compare h2 { max-width: 760px; margin: .25rem 0 2rem; }
.plan-table-wrap { overflow-x: auto; border: 1px solid var(--ink, #121416); box-shadow: 7px 7px 0 var(--ink, #121416); background: #fffdf8; }
.plan-table { width: 100%; min-width: 620px; border-collapse: collapse; text-align: left; }
.plan-table th, .plan-table td { padding: 1rem 1.1rem; border-bottom: 1px solid #cfd7d2; vertical-align: top; }
.plan-table thead th { background: var(--ink, #121416); color: var(--cream, #f7f3ea); font-weight: 700; }
.plan-table thead th:nth-child(3) { background: var(--teal, #17b2a6); color: var(--ink, #121416); }
.plan-table tbody th { width: 28%; font-weight: 700; }
.plan-table tbody td:nth-child(3) { background: #e3f5f1; }
.plan-table tr:last-child th, .plan-table tr:last-child td { border-bottom: 0; }
.plan-table-note { margin: 1.4rem 0 0; max-width: 760px; color: #59615f; font-size: .92rem; }
@media (max-width: 700px) { .plan-table-wrap { box-shadow: 4px 4px 0 var(--ink, #121416); } .plan-table th, .plan-table td { padding: .8rem .75rem; font-size: .9rem; } }
@media (max-width: 700px) { .pricing-guidance-grid { grid-template-columns:1fr; gap:.7rem; } }
/* --- legal.css --- */
.legal-page{max-width:820px;margin:0 auto;padding:146px 42px 90px}.legal-page h1{max-width:700px;margin:10px 0 14px;font-size:clamp(48px,7vw,78px)}.legal-lead{margin:0 0 62px;color:var(--muted);font-size:14px}.legal-page section{padding:26px 0;border-top:1px solid var(--line)}.legal-page h2{margin:0 0 12px;font:600 22px/1.2 var(--sans);letter-spacing:-.03em}.legal-page p{max-width:700px;margin:0;color:#4e596e;font-size:16px;line-height:1.72}.legal-page p+p{margin-top:14px}.legal-page a,.legal-footer a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.legal-back{margin-left:auto}.legal-footer{padding:30px 42px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.cookie-settings{padding:0;border:0;background:transparent;color:#bfeFec;font:inherit;cursor:pointer}.footer .cookie-settings{font-size:15px}.cookie-banner{position:fixed;z-index:50;right:20px;bottom:20px;display:flex;gap:28px;align-items:end;max-width:670px;padding:22px;background:#0f1115;color:#f5f8f8;box-shadow:0 24px 70px #0f11154d}.cookie-banner>div:first-child{max-width:380px}.cookie-banner b{font-size:16px}.cookie-banner p{margin:7px 0;color:#c5d2d2;font-size:12px;line-height:1.55}.cookie-banner a{color:#bfeFec;font-size:12px}.cookie-banner-actions{display:flex;gap:9px;flex-shrink:0}.cookie-banner .button{min-height:42px;padding:0 13px;font-size:12px}.cookie-banner .button.secondary{border-color:#ffffff45;color:#fff}.cookie-banner .button.secondary:hover{background:#ffffff12}@media(max-width:650px){.legal-page{padding:110px 20px 60px}.legal-page h1{font-size:48px}.legal-page p{font-size:15px}.legal-footer{padding:25px 20px}.cookie-banner{right:12px;bottom:12px;left:12px;display:block;padding:20px}.cookie-banner-actions{margin-top:17px}.cookie-banner-actions .button{flex:1}.footer .cookie-settings{min-height:44px}}
/* --- cennik.css --- */
.pricing-page { background: var(--cream, #f7f3ea); color: var(--ink, #121416); }
.pricing-page .site-header { border-bottom: 1px solid var(--ink, #121416); }
.pricing-page .page-hero { padding-top: clamp(4.5rem, 11vw, 8rem); padding-bottom: 3rem; }
.pricing-page .page-hero h1 { max-width: 900px; margin: .3rem 0 1.5rem; }
.pricing-page .intro { max-width: 720px; font-size: 1.15rem; line-height: 1.55; }
.pricing-page .onboarding { margin-top: 0; display: block; }
.pricing-page .onboarding h2 { max-width: 700px; margin: .3rem 0 2rem; }
.onboarding-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1.5rem; align-items: center; margin: 1.5rem 0; }
.onboarding-grid > div:not(.arrow) { border: 1px solid var(--ink, #121416); padding: 1.5rem; background: #fffdf8; color: var(--ink, #121416); box-shadow: 5px 5px 0 var(--ink, #121416); }
.onboarding-grid strong { display: block; font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.05; }
.onboarding-grid span { display: block; margin-top: .6rem; }
.pricing-page .ownership-note { margin-top: 2rem; padding: 1.2rem 1.4rem; border-left: 5px solid var(--teal, #17b2a6); background: var(--soft-teal, #e3f5f1); color: var(--ink, #121416); }
.pricing-page .fit { background: #121416; color: #f7f3ea; }
.pricing-page .fit h2 { max-width: 760px; }
.pricing-page .muted { color: #c5ceca; max-width: 760px; }
@media (max-width: 760px) {
  .pricing-page .nav { gap: 12px; overflow:hidden; }
  .pricing-page .nav nav { display:flex; gap:14px; min-width:0; overflow-x:auto; white-space:nowrap; padding:8px 0; }
  .pricing-page .nav nav a { font-size:11px; }
  .pricing-page .nav-cta { display:none; }
  .onboarding-grid { grid-template-columns: 1fr; }
  .onboarding-grid .arrow { transform: rotate(90deg); justify-self: center; }
}
/* --- plan-alignment.css --- */
/* Wspólna oś dla obu kart, niezależnie od długości tekstu. */
.pricing .plan{display:flex;flex-direction:column}
.pricing .plan h3{height:51px;display:flex;align-items:flex-end;margin:0 0 15px}
.pricing .plan>p:not(.price-note){min-height:48px;margin:0}
.pricing .plan .price{height:92px;margin:27px 0}
.pricing .plan .price-note{min-height:48px;margin:0}
.pricing .plan .button{min-height:46px}

@media(max-width:760px){
  .pricing .plan h3{height:auto}
  .pricing .plan .price{height:auto}
}
/* --- cookie.css --- */
/* Baner zgody na cookies.
   Strona główna w ogóle nie ładowała stylów banera  -  były wyłącznie w legal.css,
   którego index.html nie wczytuje. Efekt: surowy HTML doklejony do dołu strony.
   Te reguły są w osobnym pliku, ładowanym wszędzie tam, gdzie działa consent.js. */

.cookie-banner {
  position: fixed;
  z-index: 80;
  left: 50%;
  bottom: 32px;
  width: min(620px, calc(100vw - 40px));
  padding: 26px 28px 24px;
  background: var(--paper);
  border: 1px solid var(--ink);
  box-shadow: 8px 8px 0 var(--ink), 0 24px 80px rgba(15, 17, 21, .22);
  animation: cookieIn .28s cubic-bezier(.22, .61, .36, 1) both;
}

body.cookie-open::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 69;
  pointer-events: none;
  background: rgba(15, 17, 21, .16);
}

/* akcent marki na górnej krawędzi */
.cookie-banner::before {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  height: 5px;
  background: var(--lime);
}

.cookie-banner b {
  display: block;
  font: 700 18px var(--sans);
  letter-spacing: -.02em;
  color: var(--ink);
  margin-bottom: 7px;
}

.cookie-banner p {
  margin: 0 0 10px;
  font: 400 14px/1.6 var(--sans);
  color: rgba(18, 20, 22, .72);
}

.cookie-banner a {
  display: inline-block;
  font: 600 12px var(--sans);
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(18, 20, 22, .3);
  padding-bottom: 1px;
  transition: border-color .16s ease, color .16s ease;
}
.cookie-banner a:hover { color: var(--teal); border-bottom-color: var(--teal); }

.cookie-banner-actions {
  display: flex;
  gap: 12px;
  margin-top: 18px;
}
.cookie-choices{display:flex;gap:12px;margin:8px 0;font:600 12px var(--sans)}.cookie-choices label{display:inline-flex;align-items:center;gap:4px}.cookie-choices input{width:16px;height:16px;accent-color:var(--teal)}

/* Przyciski banera opisane wprost, bez polegania na .button  -
   ten styl jest rozrzucony po kilku arkuszach i różni się między nimi. */
.cookie-banner .button {
  flex: 1;
  min-height: 48px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid var(--ink);
  border-radius: 0;
  font: 700 13px var(--sans);
  letter-spacing: -.01em;
  cursor: pointer;
  background: var(--lime);
  color: var(--ink);
  box-shadow: 3px 3px 0 var(--ink);
  transition: transform .14s ease, box-shadow .14s ease, background-color .16s ease;
}
.cookie-banner .button:hover { background: #c9ff63; }
.cookie-banner .button:active { transform: translate(3px, 3px); box-shadow: 0 0 0 var(--ink); }

.cookie-banner .button.secondary {
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-weight: 600;
}
.cookie-banner .button.secondary:hover { background: rgba(18, 20, 22, .06); }

@keyframes cookieIn {
  from { opacity: 0; transform: translate(-50%, 12px); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}

/* --- mobile --- */
@media (max-width: 760px) {
  .cookie-banner {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    padding: 12px;
    box-shadow: 4px 4px 0 var(--ink);
    animation-name: cookieInMobile;
  }
  .cookie-banner b { margin-bottom: 3px; font-size: 14px; }
  .cookie-banner p { margin-bottom: 5px; font-size: 12px; line-height: 1.35; }
  .cookie-banner a { font-size: 11px; }
  .cookie-banner-actions { flex-direction: row; gap: 7px; margin-top: 9px; }
  .cookie-banner .button { width: auto; min-height: 40px; padding: 0 8px; font-size: 11px; }
  .cookie-choices{gap:9px;margin:5px 0;font-size:11px}
  /* dolne CTA i baner nie mogą walczyć o to samo miejsce */
  body.cookie-open .mobile-cta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner { animation: none; transform: translateX(-50%); }
  .cookie-banner .button,
  .cookie-banner a { transition: none; }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .cookie-banner { transform: none; }
}

@keyframes cookieInMobile {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}

/* --- baner cookies: ten sam wygląd co na stronie głównej --- */
/* Baner zgody na cookies.
   Strona główna w ogóle nie ładowała stylów banera  -  były wyłącznie w legal.css,
   którego index.html nie wczytuje. Efekt: surowy HTML doklejony do dołu strony.
   Te reguły są w osobnym pliku, ładowanym wszędzie tam, gdzie działa consent.js. */

.cookie-banner {
  position: fixed;
  z-index: 80;
  left: 50%;
  bottom: 32px;
  width: min(620px, calc(100vw - 40px));
  padding: 26px 28px 24px;
  background: var(--paper);
  border: 1px solid var(--ink);
  box-shadow: 8px 8px 0 var(--ink), 0 24px 80px rgba(15, 17, 21, .22);
  animation: cookieIn .28s cubic-bezier(.22, .61, .36, 1) both;
}

body.cookie-open::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 69;
  pointer-events: none;
  background: rgba(15, 17, 21, .16);
}

/* akcent marki na górnej krawędzi */
.cookie-banner::before {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  height: 5px;
  background: var(--lime);
}

.cookie-banner b {
  display: block;
  font: 700 18px var(--sans);
  letter-spacing: -.02em;
  color: var(--ink);
  margin-bottom: 7px;
}

.cookie-banner p {
  margin: 0 0 10px;
  font: 400 14px/1.6 var(--sans);
  color: rgba(18, 20, 22, .72);
}

.cookie-banner a {
  display: inline-block;
  font: 600 12px var(--sans);
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(18, 20, 22, .3);
  padding-bottom: 1px;
  transition: border-color .16s ease, color .16s ease;
}
.cookie-banner a:hover { color: var(--teal); border-bottom-color: var(--teal); }

.cookie-banner-actions {
  display: flex;
  gap: 12px;
  margin-top: 18px;
}
.cookie-choices{display:flex;gap:12px;margin:8px 0;font:600 12px var(--sans)}.cookie-choices label{display:inline-flex;align-items:center;gap:4px}.cookie-choices input{width:16px;height:16px;accent-color:var(--teal)}

/* Przyciski banera opisane wprost, bez polegania na .button  -
   ten styl jest rozrzucony po kilku arkuszach i różni się między nimi. */
.cookie-banner .button {
  flex: 1;
  min-height: 48px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid var(--ink);
  border-radius: 0;
  font: 700 13px var(--sans);
  letter-spacing: -.01em;
  cursor: pointer;
  background: var(--lime);
  color: var(--ink);
  box-shadow: 3px 3px 0 var(--ink);
  transition: transform .14s ease, box-shadow .14s ease, background-color .16s ease;
}
.cookie-banner .button:hover { background: #c9ff63; }
.cookie-banner .button:active { transform: translate(3px, 3px); box-shadow: 0 0 0 var(--ink); }

.cookie-banner .button.secondary {
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-weight: 600;
}
.cookie-banner .button.secondary:hover { background: rgba(18, 20, 22, .06); }

@keyframes cookieIn {
  from { opacity: 0; transform: translate(-50%, 12px); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}

/* --- mobile --- */
@media (max-width: 760px) {
  .cookie-banner {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    padding: 12px;
    box-shadow: 4px 4px 0 var(--ink);
    animation-name: cookieInMobile;
  }
  .cookie-banner b { margin-bottom: 3px; font-size: 14px; }
  .cookie-banner p { margin-bottom: 5px; font-size: 12px; line-height: 1.35; }
  .cookie-banner a { font-size: 11px; }
  .cookie-banner-actions { flex-direction: row; gap: 7px; margin-top: 9px; }
  .cookie-banner .button { width: auto; min-height: 40px; padding: 0 8px; font-size: 11px; }
  .cookie-choices{gap:9px;margin:5px 0;font-size:11px}
  /* dolne CTA i baner nie mogą walczyć o to samo miejsce */
  body.cookie-open .mobile-cta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner { animation: none; transform: translateX(-50%); }
  .cookie-banner .button,
  .cookie-banner a { transition: none; }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .cookie-banner { transform: none; }
}

@keyframes cookieInMobile {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}


/* Nagłówki łamią się równo, bez pojedynczego słowa w ostatniej linii */
h1, h2, h3 { text-wrap: balance; }
