@charset "UTF-8";
:root{color-scheme:dark;--bg:#0c0a10;--panel:#15111e;--text:#f5f3fa;--muted:#b6afc5;--line:#30283f;--accent:#bb8bff;--purple:#8649e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d6b7ff;outline-offset:5px}button,a{touch-action:manipulation}[hidden]{display:none!important}.wrap,header{width:min(1180px,calc(100% - 64px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:17px;font-weight:800;letter-spacing:1.2px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:400}.brand-icon{border:1px solid #7955a5;background:#1e142c;border-radius:12px;width:46px;height:46px;display:grid;place-content:center;position:relative;font-size:17px}.brand-icon span{position:absolute;right:3px;top:-9px;color:var(--accent)}nav{display:flex;gap:30px;align-items:center;font-size:13px}nav a:hover,.facebook:hover{color:var(--accent)}.nav-contact{padding:10px 18px;border:1px solid #59456e;border-radius:7px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;padding-top:76px;padding-bottom:72px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--accent);margin:0 0 20px}.eyebrow>span{display:inline-block;width:7px;height:7px;border-radius:100%;background:var(--accent);margin-right:7px}h1{font-size:clamp(42px,4.6vw,65px);line-height:1.08;letter-spacing:-3px;margin:0 0 26px}h1 span,.contact h2 span{color:var(--accent)}.lead{font-size:16px;max-width:470px;color:var(--muted);line-height:1.85}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 21px;border-radius:7px;font-size:13px;font-weight:700;border:1px solid var(--line);transition:background .2s,transform .2s}.primary{background:var(--accent);color:#170b29;border-color:var(--accent)}.primary:hover{background:#d1afff;transform:translateY(-2px)}.secondary{background:#17121f}.secondary:hover{background:#282033}.hero-note{font-size:11px;color:var(--muted);margin-top:24px}.hero-art{background:radial-gradient(ellipse at 50% 40%,#3f225b 0%,#120f19 68%);border:1px solid #4a335f;border-radius:18px;padding:25px;position:relative;box-shadow:0 0 90px #8845d41a;overflow:hidden}.art-label{display:flex;justify-content:space-between;color:#bcb0cc;letter-spacing:2px;font-size:10px}.logo-crop{width:100%;aspect-ratio:1.1;overflow:hidden;position:relative;margin:8px 0 20px;background:#000;border-radius:14px}.logo-crop img{position:absolute;width:145%;max-width:none;left:-22.5%;top:-5%}.art-bottom{display:flex;align-items:center;justify-content:space-between;font-size:23px;font-weight:800;letter-spacing:1px}.art-bottom small{display:block;font-size:9px;letter-spacing:3px;font-weight:400;color:var(--muted);margin-top:4px}.round-arrow{border:1px solid #634a80;border-radius:50%;height:42px;width:42px;display:grid;place-items:center;color:var(--accent)}.strip{border-block:1px solid var(--line);background:#110e17}.strip .wrap{display:flex;justify-content:space-between;gap:12px;padding-block:18px;color:#bfb4ce;font-size:12px}.section{padding-block:85px}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:30px}h2{font-size:clamp(30px,3.2vw,43px);line-height:1.14;letter-spacing:-1.5px;margin:0}.section-head>p{max-width:340px;color:var(--muted);font-size:14px}.notice{padding:15px 20px;border:1px solid #4b3b60;border-radius:8px;color:#cfbddf;background:#1b1426;font-size:12px;margin-bottom:25px}.tools{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.tabs{display:flex;padding:5px;background:#191420;border:1px solid var(--line);border-radius:8px;align-self:flex-end}.tabs button{color:var(--muted);border:0;background:transparent;border-radius:5px;padding:10px 25px;cursor:pointer;font-size:13px}.tabs button.active{color:#f3eaff;background:#49305f}.search{margin-left:auto}.search,.sort{display:grid;gap:5px;font-size:10px;letter-spacing:1px;color:var(--muted)}input,select{background:#15111e;border:1px solid var(--line);color:var(--text);border-radius:7px;padding:11px 13px;font-size:13px;min-height:43px}input{width:210px}.count{font-size:11px;color:var(--muted);margin:19px 0}.offers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.offer{background:linear-gradient(140deg,#1b1525,#110e17);border:1px solid var(--line);border-radius:12px;padding:23px;display:flex;flex-direction:column;transition:border-color .2s}.offer:hover{border-color:#8b60b6}.offer-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.monogram{display:grid;place-items:center;background:#2a2036;border:1px solid #4b375e;border-radius:8px;width:35px;height:35px;color:#e4d7f1;font-size:14px;font-weight:700}.offer h3{font-size:17px;margin:22px 0 14px;line-height:1.4}.amount{font-size:36px;line-height:1;font-weight:700;letter-spacing:-1.5px;margin:0 0 10px;color:#d0acff}.caption{font-size:10px;color:var(--muted);margin:0}.offer-note{font-size:11px;color:var(--muted);line-height:1.6;margin:19px 0;flex:1}.offer-link{font-size:12px;border-top:1px solid var(--line);padding-top:14px;color:#e1d0f6}.offer-link:hover{color:var(--accent)}.bonus{margin-top:25px;display:flex;gap:22px;align-items:center;border:1px solid #5c3a7c;background:linear-gradient(100deg,#281638,#15101e);border-radius:12px;padding:27px}.gift{font-size:50px;line-height:1;color:var(--accent)}.bonus .eyebrow{margin-bottom:6px;font-size:9px}.bonus h3{font-size:21px;line-height:1.3;margin:0}.bonus p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:600px}.bonus>a{white-space:nowrap;font-size:12px;margin-left:auto;color:#d8b7ff}.process{background:#121017;border-block:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.steps article{border-top:1px solid #574367;padding-top:20px}.steps article>span{color:var(--accent);font-size:13px}.steps h3{font-size:20px;margin:18px 0 10px}.steps p,.terms p,.faq p{color:var(--muted);font-size:14px;line-height:1.8}.terms{margin-top:30px;border:1px solid var(--line);border-radius:9px;padding:20px}.terms h3{margin:0;font-size:16px}.terms p{margin-bottom:0}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq details:first-child{padding-top:0}summary{cursor:pointer;font-size:14px;font-weight:600;padding-right:15px}details p{font-size:13px}.contact{text-align:center;border:1px solid #4b3363;border-radius:18px;background:radial-gradient(ellipse at 50% 120%,#4a246c 0,transparent 70%),#15101e;padding:60px 25px;margin-bottom:70px}.contact p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:580px;margin:24px auto 0}.contact .actions{justify-content:center}.facebook{display:inline-block;color:#d9c2f2;font-size:12px;margin-top:18px}.contact .muted{font-size:11px!important}.footer-top{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}.footer-top span{font-weight:400;color:var(--muted)}footer>p,footer details p{font-size:11px;color:var(--muted);line-height:1.8}footer details{margin:20px 0}footer summary{font-size:11px;color:#c9badb}.copyright{padding-bottom:20px}.skip{position:absolute;left:12px;top:-100px;padding:10px;background:var(--accent);color:#000;z-index:10}.skip:focus{top:10px}
@media(min-width:1450px){.hero{padding-block:95px}.hero-art{max-width:480px}}@media(max-width:1000px){.hero{gap:30px}nav{gap:17px}.offers{grid-template-columns:repeat(3,minmax(0,1fr))}.hero h1{font-size:45px;letter-spacing:-2px}.art-bottom{font-size:18px}.faq{gap:40px}.bonus{flex-wrap:wrap}.bonus>a{margin-left:0}.search{margin-left:0}}@media(max-width:720px){.wrap,header{width:calc(100% - 36px)}header{flex-wrap:wrap;padding:17px 0;gap:20px}nav{width:100%;justify-content:space-between;font-size:11px;gap:8px}.nav-contact{padding:7px 10px}.hero{grid-template-columns:1fr;padding-top:44px;padding-bottom:40px;gap:35px}.hero h1{font-size:48px}.hero-art{max-width:450px;width:100%;margin:auto}.logo-crop{aspect-ratio:1.4}.logo-crop img{width:130%;left:-15%;top:-10%}.section{padding-block:55px}.section-head{display:block}.section-head>p{max-width:100%;margin-top:20px}.strip .wrap{font-size:9px;padding-block:15px}.offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.offer{padding:18px}.offer h3{font-size:16px}.amount{font-size:32px}.tools{gap:12px}.tabs{width:100%}.tabs button{flex:1}.search{flex:1;min-width:130px}.search input{width:100%}.sort{max-width:160px}.sort select{max-width:100%}.bonus{padding:22px;gap:15px}.bonus h3{font-size:19px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.steps h3{margin-top:10px}.faq{grid-template-columns:1fr;gap:30px}.contact{padding:42px 20px;margin-bottom:40px}.footer-top{flex-direction:column;gap:8px}}@media(max-width:380px){.hero h1{font-size:40px}.offers{grid-template-columns:1fr}.brand{font-size:15px}.button{width:100%}.strip .wrap{flex-direction:column;gap:5px}.sort{max-width:145px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Wyrazne obramowania krokow i zasad. */
.process .steps { gap: 20px; align-items: stretch; }
.process .steps article {
  min-width: 0;
  padding: 27px;
  border: 1px solid #79549d;
  border-top: 3px solid #bb8bff;
  border-radius: 15px;
  background: linear-gradient(145deg, #261a34, #17121f 75%);
  box-shadow: inset 0 0 0 1px #ffffff05, 0 12px 28px #00000026;
}
.process .steps article > span {
  display: inline-grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 1px solid #9064b8;
  border-radius: 12px;
  background: #382347;
  color: #e0c5ff;
  font-weight: 700;
  font-size: 14px;
}
.process .steps h3 { margin: 23px 0 12px; }
.process .steps p { margin-bottom: 0; }
.process .terms {
  padding: 26px 28px;
  border: 1px solid #79549d;
  border-left: 4px solid #bb8bff;
  border-radius: 13px;
  background: #1b1425;
}
@media (max-width: 720px) {
  .process .steps { gap: 16px; }
  .process .steps article { padding: 23px; }
  .process .terms { padding: 22px; }
}

/* Kontakt i stopka: wyrazne panele spojne z krokami. */
.contact {
  border: 1px solid #8860ad;
  border-top: 3px solid #bb8bff;
  box-shadow: 0 16px 45px #00000030, inset 0 0 0 1px #ffffff04;
  padding: 48px 32px;
  margin-bottom: 28px;
}
.contact .actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 620px;
  margin: 30px auto 0;
}
.contact .button {
  min-height: 88px;
  padding: 22px 20px;
  font-size: 15px;
  border-radius: 13px;
  text-align: center;
  line-height: 1.5;
}
.contact #messenger {
  color: #f5ecff;
  border: 1px solid #b58ae3;
  background: linear-gradient(135deg, #684091, #352044);
  box-shadow: inset 0 1px 0 #ffffff15;
}
.contact #messenger:hover { background: linear-gradient(135deg, #8150ad, #47285c); }
.contact #whatsapp {
  color: #d4ffe8;
  border: 1px solid #468b69;
  background: linear-gradient(135deg, #193e31, #14251f);
  box-shadow: inset 0 1px 0 #ffffff12;
}
.contact #whatsapp:hover { background: linear-gradient(135deg, #235740, #1b3328); }
.contact .facebook {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 20px auto 0;
  padding: 12px 17px;
  border: 1px solid #67507e;
  border-radius: 9px;
  background: #19121f;
  font-size: 12px;
  line-height: 1.7;
}
footer.wrap {
  border: 1px solid #654a7e;
  border-radius: 15px;
  padding: 25px 28px 12px;
  margin-bottom: 28px;
  background: linear-gradient(135deg, #1b1424, #120e18);
}
footer .footer-top { align-items: center; font-size: 14px; border-color: #4a365d; }
footer > p, footer details p { font-size: 13px; line-height: 1.85; color: #c4b9d2; }
footer details {
  border: 1px solid #59416e;
  border-radius: 9px;
  background: #17111e;
  padding: 14px 17px;
}
footer summary { font-size: 13px; color: #e2d0f5; }
footer details[open] summary { padding-bottom: 10px; border-bottom: 1px solid #3f2e51; }
footer .copyright { font-size: 12px; padding-bottom: 0; }
@media (max-width: 720px) {
  .contact { padding: 34px 20px; }
  .contact .actions { grid-template-columns: 1fr; gap: 12px; }
  .contact .button { min-height: 72px; width: 100%; padding: 18px; }
  footer.wrap { padding: 22px 20px 12px; }
  footer .footer-top { align-items: flex-start; }
}

/* Pierwszy ekran: ramka tekstu i poprawny kadr grafiki marki. */
.hero { gap: 24px; align-items: stretch; }
.hero-copy {
  min-width: 0;
  padding: 32px;
  border: 1px solid #654a7e;
  border-top: 3px solid #bb8bff;
  border-radius: 18px;
  background: linear-gradient(145deg, #21162e, #110e18 80%);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero h1 { font-size: clamp(36px, 4vw, 57px); letter-spacing: -1.8px; }
.hero .lead { margin-top: 0; }
.hero .hero-note { margin-bottom: 0; }
.hero-art { display: flex; flex-direction: column; justify-content: center; }
.hero-art .logo-crop {
  aspect-ratio: 1.48;
  margin: 22px 0;
  flex-shrink: 0;
  border: 1px solid #372640;
}
.hero-art .logo-crop img {
  width: 100%;
  max-width: 100%;
  height: auto;
  left: 0;
  top: 0;
}
.hero-art .art-bottom { font-size: 20px; gap: 12px; }
@media (max-width: 1000px) and (min-width: 721px) {
  .hero { grid-template-columns: 1.15fr 1fr; gap: 18px; }
  .hero-copy { padding: 25px; }
  .hero h1 { font-size: 38px; }
  .hero .actions { gap: 10px; }
  .hero .button { padding: 13px 15px; gap: 12px; }
  .hero-art { padding: 20px; }
}
@media (max-width: 720px) {
  .hero { grid-template-columns: 1fr; gap: 20px; }
  .hero-copy { padding: 28px 23px; }
  .hero h1 { font-size: clamp(35px, 7.4vw, 48px); }
  .hero-art { max-width: none; padding: 24px; }
  .hero-art .logo-crop { aspect-ratio: 1.48; }
}

/* Sekcja ofert: obramowany naglowek, panel filtrow i etapy. */
.strip { background: #100c17; }
.strip .wrap { gap: 16px; padding-block: 18px; }
.strip .wrap > span {
  flex: 1;
  min-width: 0;
  padding: 14px 18px;
  border: 1px solid #654a7e;
  border-radius: 9px;
  background: linear-gradient(135deg, #251932, #17111e);
  color: #e2d3f0;
  text-align: center;
  line-height: 1.6;
}
#oferty .section-head {
  align-items: center;
  padding: 30px;
  border: 1px solid #79549d;
  border-top: 3px solid #bb8bff;
  border-radius: 15px;
  background: linear-gradient(125deg, #281a37, #15101e 80%);
  margin-bottom: 18px;
}
#oferty .section-head > div { min-width: 0; }
#oferty .section-head > p {
  margin: 0;
  padding: 18px 20px;
  border: 1px solid #63467c;
  border-radius: 10px;
  background: #17101f;
  flex: 0 1 340px;
}
#oferty .notice {
  border-color: #79549d;
  border-left: 4px solid #bb8bff;
  padding: 17px 20px;
  line-height: 1.8;
  margin-bottom: 18px;
}
#oferty .tools {
  padding: 22px;
  border: 1px solid #654a7e;
  border-radius: 13px;
  background: #1a1323;
  gap: 18px;
}
#oferty .search, #oferty .sort { font-size: 12px; letter-spacing: .3px; gap: 8px; color: #d7c6e7; }
#oferty .tools input, #oferty .tools select { border-color: #75538f; min-height: 46px; }
#oferty .tabs { border-color: #75538f; }
#oferty .tabs button.active { background: #704891; color: #fff; }
#oferty .count {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 18px 0;
  padding: 7px 13px;
  border: 1px solid #59416e;
  border-radius: 7px;
  background: #1b1425;
  color: #d7c6e7;
  font-size: 12px;
}
@media (max-width: 720px) {
  .strip .wrap { flex-direction: column; gap: 9px; }
  .strip .wrap > span { text-align: left; padding: 12px 16px; font-size: 12px; }
  #oferty .section-head { padding: 24px 21px; }
  #oferty .section-head > p { margin-top: 22px; max-width: none; padding: 16px; }
  #oferty .tools { padding: 18px; gap: 14px; }
  #oferty .search, #oferty .sort { flex: 1 1 100%; width: 100%; max-width: none; min-width: 0; }
  #oferty .tools input, #oferty .tools select { width: 100%; max-width: none; }
}

/* Karty ofert: czytelna tresc i pelne rzedy na srednich ekranach. */
#oferty .offers {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
#oferty .offer {
  min-width: 0;
  padding: 24px;
  border: 1px solid #79549d;
  border-top: 3px solid #bb8bff;
  border-radius: 15px;
  background: linear-gradient(145deg, #291b38, #17111f 80%);
  box-shadow: inset 0 0 0 1px #ffffff04, 0 10px 24px #00000024;
}
#oferty .offer:hover { border-color: #c59aef; }
#oferty .offer-top { font-size: 12px; gap: 12px; }
#oferty .offer-top > span:last-child { text-align: right; }
#oferty .monogram {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border: 1px solid #9871bb;
  border-radius: 11px;
  background: #3b284d;
  color: #f0e1ff;
  font-size: 15px;
}
#oferty .offer h3 { font-size: 20px; line-height: 1.4; margin: 22px 0 18px; overflow-wrap: anywhere; }
#oferty .amount {
  padding: 17px 15px;
  margin: 0 0 12px;
  border: 1px solid #75518f;
  border-radius: 10px;
  background: #31203f;
  color: #dfc3ff;
  font-size: 36px;
}
#oferty .caption { font-size: 12px; line-height: 1.7; color: #d5c5e2; }
#oferty .offer-note { font-size: 13px; line-height: 1.8; color: #cbbbd9; margin: 18px 0 22px; }
#oferty .offer-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #a27ac5;
  border-radius: 9px;
  background: #513269;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
#oferty .offer-link:hover { background: #70468e; color: #fff; }
@media (max-width: 1100px) {
  #oferty .offers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 540px) {
  #oferty .offers { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #oferty .offer { padding: 22px; }
  #oferty .offer h3 { margin-top: 18px; }
}

/* Pytania i odpowiedzi: osobne obramowane panele. */
.faq { gap: 24px; align-items: start; }
.faq > div { min-width: 0; }
.faq > div:first-child {
  padding: 30px;
  border: 1px solid #79549d;
  border-top: 3px solid #bb8bff;
  border-radius: 15px;
  background: linear-gradient(140deg, #291b38, #17111f 85%);
  box-shadow: 0 12px 28px #00000024;
}
.faq > div:first-child .eyebrow { color: #c99eff; font-size: 11px; line-height: 1.6; }
.faq > div:first-child > p:last-child { margin: 22px 0 0; color: #d0bfdc; }
.faq > div:last-child { display: grid; gap: 13px; }
.faq details, .faq details:first-child {
  margin: 0;
  padding: 0;
  border: 1px solid #79549d;
  border-radius: 12px;
  background: linear-gradient(135deg, #251931, #17111f);
  overflow: hidden;
}
.faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  list-style: none;
  min-height: 68px;
  padding: 19px 22px;
  font-size: 14px;
  line-height: 1.6;
  color: #f4eafa;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: '+';
  display: inline-grid;
  place-items: center;
  flex: 0 0 29px;
  height: 29px;
  border: 1px solid #9a71bd;
  border-radius: 8px;
  color: #e0beff;
  background: #382347;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
}
.faq summary:hover { background: #362243; }
.faq details[open] { border-color: #b58ada; }
.faq details[open] summary { border-bottom: 1px solid #604477; background: #30203e; }
.faq details[open] summary::after { content: '\2212'; }
.faq details > p {
  margin: 0;
  padding: 20px 22px;
  color: #d4c6df;
  font-size: 14px;
  line-height: 1.85;
}
.faq details > .facebook {
  display: block;
  width: fit-content;
  max-width: calc(100% - 44px);
  margin: 0 22px 20px;
  padding: 10px 15px;
  border: 1px solid #9871bb;
  border-radius: 8px;
  background: #49305e;
}
.faq summary:focus-visible { outline-offset: -4px; border-radius: 11px; }
@media (max-width: 720px) {
  .faq { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .faq > div:first-child { padding: 25px 23px; }
  .faq summary { padding: 17px 19px; gap: 12px; }
  .faq details > p { padding: 18px 19px; }
}

/* Naglowek: panel marki i przyciski nawigacji. */
header {
  margin-top: 20px;
  padding: 18px 22px;
  border: 1px solid #79549d;
  border-top: 3px solid #bb8bff;
  border-radius: 15px;
  background: linear-gradient(120deg, #261a33, #15101e 75%);
  box-shadow: 0 10px 28px #00000026;
}
header .brand { min-width: 0; gap: 13px; }
header .brand-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-color: #ad80d2;
  background: #382347;
  box-shadow: inset 0 1px 0 #ffffff12;
}
header .brand small { color: #d0bbdf; margin-top: 3px; }
header nav { gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
header nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid #6f5088;
  border-radius: 9px;
  background: #21162c;
  color: #eee1f8;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}
header nav a:hover { background: #422954; border-color: #bc8de2; color: #fff; }
header nav .nav-contact { background: #69418b; border-color: #ad80d2; color: #fff; font-weight: 700; }
header nav .nav-contact:hover { background: #8052a3; }
@media (max-width: 1000px) and (min-width: 721px) {
  header { gap: 18px; padding: 17px 19px; }
  header nav { gap: 7px; }
  header nav a { padding: 10px 11px; font-size: 12px; }
}
@media (max-width: 720px) {
  header { margin-top: 16px; padding: 20px; gap: 20px; }
  header nav {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  header nav a { padding: 11px 9px; min-height: 46px; font-size: 12px; }
}

/* Etapy: wyrazne numery i klikalne przejscia do sekcji. */
.hero { padding-bottom: 32px; }
.strip {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  padding: 16px;
  border: 1px solid #79549d;
  border-radius: 15px;
  background: #17101f;
}
.strip .wrap {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
}
.strip .wrap > a {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 82px;
  padding: 17px;
  border: 1px solid #8961aa;
  border-radius: 11px;
  background: linear-gradient(135deg, #30203f, #1d1427);
}
.strip .wrap > a:hover { background: #3d2850; border-color: #c89af0; }
.stage-number {
  flex: 0 0 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #b082d4;
  border-radius: 10px;
  background: #4a2c61;
  color: #f1ddff;
  font-size: 14px;
  font-weight: 700;
}
.stage-title { color: #f0e5fa; font-size: 14px; font-weight: 600; line-height: 1.5; }
.stage-arrow { margin-left: auto; color: #cda1f4; font-size: 20px; }
@media (max-width: 1000px) {
  .strip .wrap > a { padding: 14px; gap: 10px; }
  .stage-title { font-size: 12px; }
}
@media (max-width: 720px) {
  .hero { padding-bottom: 24px; }
  .strip { width: calc(100% - 36px); padding: 13px; }
  .strip .wrap { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .strip .wrap > a { min-height: 70px; padding: 14px 16px; }
  .stage-title { font-size: 14px; }
}

/* Podpis marki pod grafika: wyrozniony panel. */
.hero-art .art-bottom {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 22px;
  border: 1px solid #ad7fd4;
  border-left: 4px solid #d1a6ff;
  border-radius: 12px;
  background: linear-gradient(115deg, #482960, #241530 75%);
  box-shadow: inset 0 1px 0 #ffffff15, 0 8px 24px #00000028;
  gap: 16px;
}
.hero-art .art-bottom > span:first-child {
  min-width: 0;
  font-size: clamp(22px, 2.2vw, 29px);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 1px;
  color: #f8efff;
  text-shadow: 0 2px 12px #c17aff30;
}
.hero-art .art-bottom small {
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid #9363b1;
  color: #e2c9f6;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1.7;
}
.hero-art .art-bottom .round-arrow {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid #c699ec;
  background: #704590;
  color: #fff;
  font-size: 25px;
}
@media (max-width: 1000px) and (min-width: 721px) {
  .hero-art .art-bottom { padding: 17px; gap: 10px; }
  .hero-art .art-bottom > span:first-child { font-size: 21px; }
  .hero-art .art-bottom small { font-size: 10px; letter-spacing: 1px; }
  .hero-art .art-bottom .round-arrow { flex-basis: 36px; width: 36px; height: 36px; }
}
@media (max-width: 380px) {
  .hero-art .art-bottom { padding: 17px; gap: 10px; }
  .hero-art .art-bottom > span:first-child { font-size: 20px; }
  .hero-art .art-bottom small { font-size: 10px; letter-spacing: 1px; }
  .hero-art .art-bottom .round-arrow { flex-basis: 32px; width: 32px; height: 32px; font-size: 20px; }
}

/* Panel marki bez dekoracji sugerujacych przyciski. */
.hero-art .art-label { justify-content: center; text-align: center; }
.hero-art .art-bottom { justify-content: center; text-align: center; }

/* Usuniecie obu ozdobnych strzalek z panelu logo. */
.hero-art .art-label > span,
.hero-art .art-bottom > .round-arrow { display: none !important; }
.hero-art .art-label::after,
.hero-art .art-bottom::after { content: none !important; }
.hero-art .art-bottom { justify-content: center; text-align: center; }

/* Bonus: duza kwota i przycisk; tresc opisu pozostaje bez zmian. */
#oferty .bonus {
  position: relative;
  padding: 30px;
  gap: 24px;
  border: 1px solid #a475cc;
  border-top: 3px solid #cc9eff;
  border-radius: 15px;
  background: linear-gradient(115deg, #362045, #1b1226 80%);
  box-shadow: inset 0 1px 0 #ffffff0a, 0 12px 30px #00000026;
}
#oferty .bonus .gift {
  flex: 0 0 58px;
  height: 66px;
  display: grid;
  place-items: center;
  border: 1px solid #9264b5;
  border-radius: 14px;
  background: #422653;
  color: #d7afff;
  font-size: 43px;
}
#oferty .bonus > div { flex: 1; min-width: 0; }
#oferty .bonus .eyebrow { font-size: 11px; letter-spacing: 2px; color: #d4a7ff; margin-bottom: 12px; }
#oferty .bonus h3 { display: grid; gap: 10px; margin: 0; }
#oferty .bonus-amount {
  display: block;
  color: #e2bdff;
  font-size: clamp(44px, 5vw, 62px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -2px;
}
#oferty .bonus-title { font-size: 21px; line-height: 1.4; color: #f8efff; }
#oferty .bonus #bonus-terms {
  font-size: 14px;
  line-height: 1.85;
  color: #dacbe5;
  margin: 17px 0 0;
  max-width: 650px;
}
#oferty .bonus > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 20px;
  border: 1px solid #d0a3ef;
  border-radius: 9px;
  background: #bb8bff;
  color: #1d0e2c;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
#oferty .bonus > a:hover { background: #d4adff; }
@media (max-width: 1000px) {
  #oferty .bonus { flex-wrap: wrap; }
  #oferty .bonus > a { margin-left: 82px; }
}
@media (max-width: 720px) {
  #oferty .bonus { padding: 24px; gap: 18px; }
  #oferty .bonus .gift { display: none; }
  #oferty .bonus > div { flex-basis: 100%; }
  #oferty .bonus-title { font-size: 20px; }
  #oferty .bonus > a { width: 100%; margin-left: 0; }
}

/* Wprowadzenie do trzech krokow. */
.process .process-intro {
  max-width: 600px;
  margin: 20px 0 0;
  color: #d0bfdc;
  font-size: 15px;
  line-height: 1.8;
}

/* Zasady wyplaty: wiekszy naglowek i dwa czytelne akapity. */
.process .terms h3 { font-size: 21px; line-height: 1.4; margin: 0 0 18px; }
.process .terms #terms p { font-size: 14px; line-height: 1.85; margin: 0; color: #d4c6df; }
.process .terms #terms p + p { margin-top: 16px; }

/* Stopka: podpis marki, przycisk powrotu i rozwijanie prywatnosci. */
footer .footer-top > strong {
  display: block;
  color: #f5eaff;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: .8px;
}
footer .footer-top > strong > span {
  display: block;
  margin-top: 7px;
  color: #d0bbdf;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1px;
}
footer .footer-top > a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 10px 17px;
  border: 1px solid #a078bf;
  border-radius: 9px;
  background: #3d2850;
  color: #f4e8ff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
footer .footer-top > a:hover { background: #5c3a76; border-color: #ce9ef2; }
footer details { padding: 0; overflow: hidden; }
footer details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 60px;
  padding: 15px 18px;
  list-style: none;
  line-height: 1.6;
}
footer details summary::-webkit-details-marker { display: none; }
footer details summary::after {
  content: '+';
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  height: 28px;
  border: 1px solid #9a71bd;
  border-radius: 7px;
  background: #382347;
  color: #e0beff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}
footer details summary:hover { background: #2a1b38; }
footer details[open] summary { padding-bottom: 15px; background: #30203e; border-bottom: 1px solid #604477; }
footer details[open] summary::after { content: '\2212'; }
footer details p { margin: 0; padding: 18px; }
footer details summary:focus-visible { outline-offset: -4px; border-radius: 8px; }
@media (max-width: 720px) {
  footer .footer-top { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 16px; }
}

/* Dyskretna alternatywa, gdy Messenger nie otwiera rozmowy. */
.contact .messenger-fallback { margin-top: 26px; }
.contact .messenger-fallback > p {
  margin: 0 auto 10px;
  color: #c4b3d2;
  font-size: 12px;
  line-height: 1.6;
}
.contact .messenger-fallback > .facebook {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 11px 17px;
  border: 1px solid #67507e;
  border-radius: 9px;
  background: #19121f;
  color: #d6c4e5;
  font-size: 12px;
  line-height: 1.6;
}
.contact .messenger-fallback > .facebook:hover { background: #2b1c38; border-color: #a67ec5; color: #f3e8fc; }

/* Pelne nazwy bankow zamiast nieczytelnych monogramow. */
#oferty .offer .monogram { display: none !important; }
#oferty .offer-top { justify-content: flex-start; }
#oferty .offer-top > span:last-child { text-align: left; color: #cdb7de; }
#oferty .offer h3 { font-size: 23px; line-height: 1.35; margin: 16px 0 20px; }

/* Spojna typografia i czytelne informacje pomocnicze. */
body {
  font-family: 'Segoe UI', 'Calibri', system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
button, input, select { font-family: inherit; }
#oferty .offer-top > span:last-child {
  display: inline-block;
  padding: 5px 11px;
  border: 1px solid #795991;
  border-radius: 7px;
  background: #33223f;
  color: #eedff8;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0;
}
#oferty .caption {
  margin-top: 2px;
  color: #e3d5ee;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
}
#oferty .offer-note {
  padding: 13px 14px;
  border-left: 3px solid #ab7fcb;
  border-radius: 0 7px 7px 0;
  background: #211729;
  color: #dfd1e9;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  margin: 17px 0 20px;
}
#oferty .offer-link, header nav a, .button { font-size: 14px; }
.hero-note, .contact .muted { font-size: 13px !important; line-height: 1.75; }
.eyebrow { font-size: 12px; line-height: 1.7; letter-spacing: 1.6px; }
#oferty .notice, #oferty .count { font-size: 14px; line-height: 1.75; }
#oferty .search, #oferty .sort { font-size: 13px; }
#oferty .tools input, #oferty .tools select, .tabs button { font-size: 14px; }
.process .terms #terms p, .steps p, .faq p, .faq details > p,
#oferty .bonus #bonus-terms { font-size: 15px; line-height: 1.85; }
.faq summary, footer details summary { font-size: 15px; }
footer > p, footer details p { font-size: 14px; line-height: 1.85; }
.contact .messenger-fallback > p,
.contact .messenger-fallback > .facebook { font-size: 14px; }
.brand small { font-size: 12px; letter-spacing: 1px; }
.hero-art .art-label { font-size: 12px; letter-spacing: 1.5px; line-height: 1.7; }
.hero-art .art-bottom small { font-size: 12px; letter-spacing: 1.3px; }
@media (max-width: 720px) {
  header nav a { font-size: 13px; }
  .hero-art .art-bottom small { font-size: 12px; letter-spacing: 1px; }
}

/* Stopka: uporzadkowane informacje i wyrazna hierarchia. */
footer.wrap { padding: 28px; background: linear-gradient(135deg, #21162d, #120e18 85%); }
footer .footer-top { padding-bottom: 22px; }
footer .footer-top > strong { font-size: 23px; letter-spacing: .6px; }
footer .footer-top > strong > span { font-size: 13px; letter-spacing: .4px; margin-top: 6px; }
footer .footer-disclosure {
  margin: 22px 0 16px;
  padding: 20px 22px;
  border: 1px solid #604476;
  border-left: 3px solid #b78bdd;
  border-radius: 10px;
  background: #1b1324;
}
footer .footer-disclosure h3 {
  margin: 0 0 9px;
  color: #f0e2fa;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
}
footer .footer-disclosure p { margin: 0; font-size: 14px; line-height: 1.85; color: #d1c0df; }
footer details { margin: 0; border-color: #725189; background: #1b1324; }
footer .copyright {
  margin: 22px 0 0;
  padding-top: 16px;
  border-top: 1px solid #4a365d;
  color: #c8b4d7;
  font-size: 13px;
  line-height: 1.7;
}
@media (max-width: 720px) {
  footer.wrap { padding: 23px 20px; }
  footer .footer-disclosure { padding: 17px; }
}

/* Piec odnosnikow w menu: miejsce na opinie. */
@media (min-width: 721px) and (max-width: 1100px) {
  header { flex-wrap: wrap; }
  header nav { flex: 1 1 auto; }
}
@media (max-width: 720px) {
  header nav .nav-contact { grid-column: 1 / -1; }
}

footer .privacy-content { padding: 6px 0; }
footer .privacy-content p { padding: 10px 18px; }
footer .privacy-content a { color: #dfb8ff; text-decoration: underline; overflow-wrap: anywhere; }
footer .site-version { margin: 18px 0 0; color: #c8b4d7; font-size: 12px; }

/* Tlo marki: fioletowa poswiata i delikatne geometryczne pasma. */
html { background: #0c0813; }
body {
  position: relative;
  isolation: isolate;
  background: transparent;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 0% 12%, #7834b64d 0%, transparent 49%),
    radial-gradient(ellipse at 100% 55%, #6629a847 0%, transparent 51%),
    radial-gradient(ellipse at 35% 100%, #3c235b66 0%, transparent 56%),
    linear-gradient(128deg, transparent 14%, #b774f51a 14.1%, transparent 14.3%, transparent 71%, #a96de622 71.1%, transparent 71.35%),
    repeating-linear-gradient(128deg, transparent 0px, transparent 175px, #be91ec09 176px, transparent 177px),
    linear-gradient(135deg, #130d1d, #0b0810 50%, #1c102a);
}
header, .hero-copy, .hero-art, #oferty .section-head,
#oferty .offer, .faq > div:first-child, .contact, footer.wrap {
  box-shadow: 0 14px 40px #00000038, 0 0 26px #a359d90a;
}
.process {
  background: linear-gradient(110deg, #241332cc, #100c18ed 60%, #2b163ccc);
  border-color: #6f488b;
}
@media (max-width: 720px) {
  body::before {
    background:
      radial-gradient(ellipse at 0% 0%, #7834b645, transparent 62%),
      radial-gradient(ellipse at 100% 90%, #6629a83d, transparent 62%),
      linear-gradient(135deg, #130d1d, #0b0810 55%, #1c102a);
  }
}

/* Panel marki prowadzi do opinii; mniejszy odstep pod menu. */
.hero { padding-top: 38px; }
.hero-art a.art-bottom { display: flex; cursor: pointer; transition: background .2s, border-color .2s; }
.hero-art a.art-bottom:hover { background: linear-gradient(115deg, #60367e, #34203f 75%); border-color: #dfb7ff; }
.hero-art a.art-bottom:focus-visible { outline: 3px solid #eed5ff; outline-offset: 4px; }
.hero-art .brand-reviews-label {
  display: block;
  margin-top: 13px;
  color: #e3c9fa;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: .3px;
  font-weight: 600;
}
@media (min-width: 1450px) { .hero { padding-top: 46px; } }
@media (max-width: 720px) { .hero { padding-top: 25px; } }
@media (prefers-reduced-motion: reduce) { .hero-art a.art-bottom { transition: none; } }

/* Zwartsze odstepy miedzy sekcjami; wnetrza paneli bez zmian. */
.section { padding-block: 40px; }
.contact { margin-bottom: 24px; }
@media (max-width: 720px) {
  .section { padding-block: 28px; }
  .contact { margin-bottom: 22px; }
}

/* Nowe materialy marki i dopracowanie wersji mobilnej. */
.hero-art .logo-crop { aspect-ratio: 1; margin: 15px 0; }
.hero-art .logo-crop img { position: static; display: block; width: 100%; height: auto; max-width: 100%; }
.offer-poster { margin: 20px 0; padding: 18px 22px; border: 1px solid #79549d; border-radius: 12px; background: #1b1324; }
.offer-poster summary { font-size: 15px; color: #e6d2f5; }
.offer-poster p { font-size: 14px; color: #d0bfdc; }
.offer-poster img { display: block; width: min(100%, 560px); height: auto; margin: 20px auto; border-radius: 10px; }
.reviews-section { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 34px; align-items: center; margin-top: 40px; padding: 28px; border: 1px solid #79549d; border-radius: 15px; background: linear-gradient(120deg,#291b38,#17111f); }
.reviews-image img { display: block; width: 100%; height: auto; border-radius: 11px; }
.reviews-section > div { min-width: 0; }
.reviews-section p:not(.eyebrow) { font-size: 15px; color: #d0bfdc; line-height: 1.8; }
.reviews-section .eyebrow { font-size: 11px; }
.brand-banner { margin-bottom: 24px; border: 1px solid #79549d; border-radius: 15px; overflow: hidden; background: #100c18; }
.brand-banner img { display: block; width: 100%; height: auto; }
@media (max-width: 720px) {
 .hero .actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
 .hero .actions .button { width: 100%; }
 .hero-art { padding: 18px; }
 .hero-art .logo-crop { width: min(100%,260px); margin: 12px auto; }
 .hero-art .art-bottom { padding: 16px; }
 .hero-art .art-bottom small { margin-top: 8px; padding-top: 8px; }
 .hero-art .brand-reviews-label { margin-top: 8px; }
 #oferty .offer { padding: 18px; }
 #oferty .offer h3 { margin: 12px 0; }
 #oferty .amount { padding: 11px 13px; margin-bottom: 9px; font-size: 34px; }
 #oferty .offer-note { padding: 10px 12px; margin: 12px 0 15px; }
 #oferty .offer-link { min-height: 46px; padding: 10px 12px; }
 .reviews-section { grid-template-columns: minmax(0,1fr); padding: 22px; gap: 20px; margin-top: 28px; }
 .reviews-image { width: min(100%,220px); margin: auto; }
 .reviews-section .button { width: 100%; }
 .offer-poster { padding: 16px; }
 .brand-banner { margin-bottom: 20px; }
}

/* Pierwszy ekran i wygodniejsze sortowanie. */
.hero { padding-top: 24px; }
.hero-copy { justify-content: flex-start; }
.hero-art a.logo-crop { display: block; cursor: pointer; }
.hero-art a.logo-crop:hover { border-color: #c99cf0; }
.hero-art a.logo-crop:focus-visible { outline: 3px solid #eed5ff; outline-offset: 4px; }
#oferty .sort { flex: 0 0 210px; width: 210px; max-width: none; }
#oferty .tools select, #oferty .tools input { min-height: 48px; }
#oferty .tools select { width: 100%; padding: 12px 14px; line-height: 1.5; }
@media (min-width: 1450px) { .hero { padding-top: 28px; } }
@media (max-width: 720px) {
 .hero { padding-top: 20px; }
 #oferty .sort { flex: 1 1 100%; width: 100%; max-width: none; }
}

/* Czytelniejsze opisy trzech przejsc do sekcji. */
.strip .stage-title { font-size: 16px; font-weight: 650; line-height: 1.5; color: #f4eafa; }
.strip .stage-number { font-size: 13px; }
@media (max-width: 1000px) {
 .strip .stage-title { font-size: 15px; }
 .strip .wrap > a { min-height: 86px; }
}
@media (max-width: 720px) {
 .strip .stage-title { font-size: 15px; }
 .strip .wrap > a { min-height: 70px; }
}

/* Kontakt i dluzsze informacje: czytelniejsza typografia. */
.contact > .eyebrow { font-size: 14px; font-weight: 600; letter-spacing: 1px; }
.contact > p:not(.eyebrow):not(.muted) { font-size: 17px; line-height: 1.75; color: #e0d5e9; }
.contact .messenger-fallback > p { font-size: 15px; font-weight: 600; color: #dccae9; }
footer .footer-disclosure p,
footer .privacy-content p { font-size: 16px; line-height: 1.75; color: #e0d5e9; }
footer .privacy-content { padding: 20px 22px; }
footer .privacy-content p { padding: 0; margin: 0 0 24px; }
footer .privacy-content p:last-child { margin-bottom: 0; }
footer .privacy-content p > strong { display: block; margin-bottom: 7px; color: #f2e7fa; font-size: 16px; font-weight: 650; }
@media (max-width: 720px) {
 .contact > p:not(.eyebrow):not(.muted) { font-size: 16px; }
 footer .privacy-content { padding: 19px; }
}
