/* =========================================================================
   HausLand – motyw. 1:1 z projektu (Claude Design: Oferty / OfertyMobile / Oferta / OfertaMobile).
   Desktop = projekt 1440 px (marginesy 120 px), telefon = projekt 390 px (marginesy 16 px).
   ========================================================================= */
:root {
	--gold: #FFD300;
	--gold-2: #DFA91F;
	--gold-dk: #8B6300;
	--black: #000000;
	--g900: #2D2D2D;
	--g700: #5B5B5B;
	--g600: #666666;
	--g500: #818181;
	--g400: #BCBCBC;
	--g300: #DFDFDF;
	--g200: #E0E0E0;
	--g100: #F2F2F2;
	--white: #FFFFFF;
	--grad: linear-gradient(180deg, #FFD300 0%, #F3C44E 48%, #DFA91F 100%);
	--side: max(32px, calc((100% - 1200px) / 2));
	--wrap: 1200px;
	--gut: 16px;
	--hdr: 68px;
}
@media (min-width: 768px) { :root { --gut: 32px; } }
@media (max-width: 899px) { :root { --side: 16px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body { margin: 0; background: var(--g100); color: var(--g900); font: 16px/1.5 "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; font-optical-sizing: none; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
h1, h2, h3 { margin: 0; color: var(--black); }
p, figure, blockquote { margin: 0; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.sr, .hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--gold); color: #000; padding: 10px 16px; font-weight: 800; }
.skip:focus { top: 8px; }
[hidden] { display: none !important; }
@media (max-width: 899px) { .d-only { display: none !important; } }
@media (min-width: 900px) { .m-only { display: none !important; } }

.wrap { width: 100%; max-width: calc(var(--wrap) + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); }
.pad-y { padding-top: 48px; padding-bottom: 64px; }

/* ---------- elementy z projektu ---------- */
.hd { font-weight: 800; text-transform: uppercase; letter-spacing: -1px; }
.label { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
@media (max-width: 899px) { .label { font-size: 13px; } }
.gold { color: var(--gold); }
.gold-l { color: var(--gold-dk); }
.gold-bg { background: var(--grad); }
.gold-text { background: linear-gradient(180deg, #FFD300 0%, #DFA91F 55%, #B28000 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dist { display: block; width: 34px; height: 16px; background: linear-gradient(#FFD300, #DFA91F) 0 0 / 6px 100% no-repeat, linear-gradient(#FFD300, #DFA91F) 100% 0 / 6px 100% no-repeat, linear-gradient(#FFD300, #DFA91F) 0 4px / 100% 5px no-repeat; }
.frame { border: 1px solid var(--gold); }
.hbeam { position: absolute; z-index: 3; pointer-events: none; mix-blend-mode: difference; background: linear-gradient(#fff, #fff) 0 0 / 100% var(--t) no-repeat, linear-gradient(#fff, #fff) 0 100% / 100% var(--t) no-repeat, linear-gradient(#fff, #fff) 50% 0 / var(--t) 100% no-repeat; }
.ph { display: block; background-color: var(--g900); background-image: repeating-linear-gradient(135deg, rgba(255,211,0,.08) 0 2px, transparent 2px 16px); }
.pulse { display: inline-block; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); animation: pulse 1.6s ease-in-out infinite; }
@keyframes pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(255,211,0,.6); } 50% { box-shadow: 0 0 0 8px rgba(255,211,0,0); } }
.fade { animation: fadeUp .35s cubic-bezier(.2,.7,.2,1) both; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.zoom { overflow: hidden; }
.zoom img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.zoom:hover img { transform: scale(1.06); }
.stars { display: flex; gap: 2px; }

/* Przyciski */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 52px; padding: 0 22px; border: 0; cursor: pointer; font-weight: 700; font-size: 14px; text-transform: uppercase; color: #000; background: var(--grad); background-size: 160% 100%; background-position: 0 0; transition: background-position .4s ease; text-align: center; }
.btn:hover { background-position: 100% 0; color: #000; }
.btn.sm, .btn-line.sm { height: 44px; min-height: 44px; padding: 0 14px; font-size: 13px; }
.btn-block { width: 100%; }
.btn-line { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 18px; border: 1.5px solid #000; background: transparent; cursor: pointer; font-weight: 800; font-size: 13px; text-transform: uppercase; color: #000; transition: background .15s ease, color .15s ease; }
.btn-line:hover { background: #000; color: var(--g100); }
.btn-line.sq { width: 44px; padding: 0; }
.btn-line[aria-pressed="true"] { background: #FFF6CC; }
.sq-btn { width: 48px; height: 48px; flex-shrink: 0; border: 1px solid #000; background: var(--white); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.more { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; text-transform: uppercase; color: #000; background: none; border: 0; padding: 0; cursor: pointer; }
.arrow { display: inline-block; transition: transform .15s ease; }
.more:hover .arrow { transform: translateX(4px); }

/* Pola formularzy */
.field { width: 100%; height: 56px; border: 1px solid var(--g400); border-radius: 0; padding: 0 16px; font: inherit; font-size: 17px; background: var(--white); color: #000; }
select.field { -webkit-appearance: none; appearance: none; padding-right: 36px; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.field:focus { border-color: #000; outline: none; box-shadow: inset 0 -3px 0 var(--gold); }
.field::placeholder { color: var(--g500); }
.fld { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: #000; }
.fld small { font-weight: 400; color: var(--g600); }
.fld.dark { color: var(--white); }
.fld.dark .field { background-color: #000; border-color: var(--g700); color: var(--white); }
.fld.dark .field:focus { border-color: var(--gold); }
.consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.45; color: var(--g700); }
.consent input { width: 18px; height: 18px; margin: 0; flex-shrink: 0; accent-color: #000; }
.consent.dark { color: var(--g500); }
.consent.dark input { accent-color: var(--gold); }
.consent a { text-decoration: underline; }
.form-err { color: #B00020; font-size: 14px; font-weight: 600; }
.s-alert .form-err { color: #FF8A80; }
.pill, .chip { height: 40px; padding: 0 14px; flex-shrink: 0; border: 1px solid var(--g300); background: var(--white); color: #000; cursor: pointer; font-size: 13px; font-weight: 700; white-space: nowrap; }
.pill:hover, .chip:hover { border-color: var(--gold-2); }
.pill.on, .chip.on, .chip[aria-pressed="true"] { background: #000; border-color: #000; color: var(--white); }
.pill span { font-weight: 700; }
.pill span:empty { display: none; }
.toggle { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 14px; border: 1px solid var(--g300); background: var(--white); cursor: pointer; font-size: 14px; font-weight: 700; color: #000; }
.toggle-track { width: 34px; height: 20px; border-radius: 10px; background: var(--g400); position: relative; flex-shrink: 0; transition: background .2s; }
.toggle-track span { position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--white); transition: left .2s; }
.toggle[aria-pressed="true"] { border-color: #000; background: #FFF6CC; }
.toggle[aria-pressed="true"] .toggle-track { background: #000; }
.toggle[aria-pressed="true"] .toggle-track span { left: 16px; }
.rng { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; background: var(--g200); outline: none; cursor: pointer; margin: 10px 0; }
.rng::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #000; border: 4px solid var(--gold); cursor: pointer; }
.rng::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #000; border: 4px solid var(--gold); cursor: pointer; }
details summary { list-style: none; cursor: pointer; }
details summary::-webkit-details-marker { display: none; }
.plus { display: inline-block; transition: transform .2s ease; }
details[open] > summary .plus { transform: rotate(45deg); }
.new-tag { margin-left: 8px; padding: 2px 6px; background: var(--gold); color: #000; font-size: 10px; font-weight: 800; text-transform: uppercase; vertical-align: 2px; letter-spacing: 0; }

/* =========================== Nagłówek =========================== */
.site-header { position: relative; z-index: 50; background: #000; padding: 24px 60px 24px; min-height: 134px; }
.has-hero .site-header { background: transparent; padding-bottom: 0; min-height: 110px; }
.hdr { position: relative; max-width: 1320px; height: 86px; margin: 0 auto; padding: 0 32px; background: rgba(0,0,0,.95); display: flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--white); }
.hdr .logo img { width: 124px; height: auto; }
.hdr-nav { display: flex; align-items: center; gap: 28px; height: 100%; }
.navbtn { display: flex; align-items: center; gap: 7px; height: 100%; background: transparent; border: 0; cursor: pointer; font-size: 15px; font-weight: 500; color: var(--white); padding: 0; }
.navbtn svg { transition: transform .2s ease; }
.navbtn:hover, .navbtn[aria-expanded="true"] { color: var(--gold); }
.navbtn[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav { font-size: 15px; font-weight: 500; color: var(--white); }
.nav:hover { color: var(--gold); }
.hdr-right { display: flex; align-items: center; gap: 22px; }
.hdr-phone { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--white); white-space: nowrap; }
.hdr-cta { height: 46px; padding: 0 18px; font-size: 13px; white-space: nowrap; }
.burger { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; background: transparent; border: 0; cursor: pointer; }
/* przyklejony po przewinięciu (projekt „DesktopSticky”) */
.site-header.stuck .hdr { position: fixed; top: 0; left: 0; right: 0; z-index: 50; max-width: none; height: 68px; padding: 0 var(--side); background: rgba(0,0,0,.94); border-bottom: 1px solid rgba(255,211,0,.4); box-shadow: 0 12px 30px -12px rgba(0,0,0,.7); animation: hdrIn .25s ease both; }
.site-header.stuck .hdr .logo img { width: 104px; }
@keyframes hdrIn { from { transform: translateY(-100%); } to { transform: none; } }
.admin-bar .site-header.stuck .hdr { top: 32px; }

/* Mega menu */
.mega { position: absolute; left: 0; right: 0; top: 100%; background: #000; border-top: 2px solid var(--gold); box-shadow: 0 40px 80px -20px rgba(0,0,0,.7); padding: 28px 30px; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 30px; animation: fadeUp .25s cubic-bezier(.2,.7,.2,1) both; }
.mega-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; align-content: start; }
.mega-links.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mlink { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; transition: background .15s ease; }
.mlink:hover { background: rgba(255,211,0,.1); }
.mlink-t { font-size: 15px; font-weight: 700; color: var(--white); }
.mlink-d { font-size: 13px; color: var(--g500); }
.mm-feat { position: relative; border: 1px solid var(--gold); padding: 22px; display: flex; flex-direction: column; justify-content: space-between; gap: 12px; background: #1F1F1F; color: var(--white); min-height: 220px; }
.mm-feat-lab { position: relative; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.mm-feat-big { font-size: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: -.5px; line-height: 1.1; color: var(--white); }
.mm-feat-txt { font-size: 13px; line-height: 1.5; color: var(--g400); }
.mm-feat .btn { height: 48px; font-size: 13px; }
.mm-feat-more { font-size: 13px; font-weight: 800; text-transform: uppercase; color: var(--gold); }
.mm-feat-addr { font-size: 16px; line-height: 1.6; font-weight: 700; }
.mm-feat-addr span { font-weight: 400; color: var(--g500); }
.mm-feat-tel { font-size: 24px; font-weight: 800; color: var(--gold); }
.mm-feat-photo { padding: 0; overflow: hidden; justify-content: flex-end; }
.mm-feat-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mm-feat-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.1) 20%, rgba(0,0,0,.92) 100%); }
.mm-feat-in { position: relative; padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.mm-feat-in strong { font-size: 18px; line-height: 1.25; }
.mm-feat-price { font-size: 24px; font-weight: 800; text-transform: uppercase; letter-spacing: -.5px; }

@media (max-width: 1179px) {
	.hdr-nav { gap: 20px; }
	.hdr-phone { display: none; }
}
@media (max-width: 1079px) {
	.site-header, .has-hero .site-header { padding: 0; background: #000; min-height: 68px; }
	.hdr { height: 68px; max-width: none; padding: 0 8px 0 16px; background: #000; }
	.hdr .logo img, .site-header.stuck .hdr .logo img { width: 104px; }
	.site-header.stuck .hdr { padding: 0 8px 0 16px; background: #000; border-bottom: 0; }
	.hdr-nav, .hdr-phone, .hdr-cta, .mega { display: none !important; }
	.burger { display: flex; }
}
@media (max-width: 782px) { .admin-bar .site-header.stuck .hdr { top: 46px; } }
/* Telefon z paskiem administratora WP (zalogowany): pasek WP przewija się razem ze stroną, więc przyklejony nagłówek musi być na samej górze. */
@media (max-width: 600px) { .admin-bar .site-header.stuck .hdr { top: 0; } }
@media (max-width: 1079px) { .site-header.stuck .hdr-tel { display: none !important; } }

/* Menu na telefonie (projekt „MobileMenu”) */
.mm { position: fixed; inset: 0; z-index: 100000; background: #000; color: var(--white); display: flex; flex-direction: column; overflow-y: auto; }
.mm-top { height: 68px; flex-shrink: 0; padding: 0 8px 0 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,211,0,.4); }
.mm-top .logo img { width: 104px; }
.mm-x { width: 44px; height: 44px; border: 0; background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.mm-body { padding: 8px 20px; display: flex; flex-direction: column; }
.mm-group { border-bottom: 1px solid rgba(255,255,255,.1); }
.mm-group summary { height: 62px; display: flex; align-items: center; justify-content: space-between; font-size: 21px; font-weight: 600; color: var(--white); }
.mm-group .plus { font-size: 26px; color: var(--gold); }
.mm-links { padding: 0 0 14px 12px; border-left: 2px solid var(--gold); margin-bottom: 14px; display: flex; flex-direction: column; }
.mm-links a { min-height: 48px; display: flex; align-items: center; padding: 0 4px; font-size: 15px; font-weight: 600; color: var(--g200); border-bottom: 1px solid rgba(255,255,255,.05); }
.mm-links .new-tag { font-size: 12px; }
.mm-links .arr { margin-left: auto; color: var(--gold); }
.mm-single { height: 62px; display: flex; align-items: center; font-size: 21px; font-weight: 600; color: var(--white); }
.mm-foot { margin-top: auto; padding: 20px; display: flex; flex-direction: column; gap: 12px; border-top: 1px solid rgba(255,255,255,.08); }
.mm-foot .btn { height: 56px; font-weight: 800; }
.mm-phone { height: 52px; border: 1px solid rgba(255,211,0,.6); display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 16px; font-weight: 800; color: var(--white); }
.mm-note { text-align: center; font-size: 13px; color: var(--g500); }
body.mm-open { overflow: hidden; }

/* =========================== Stopka =========================== */
.site-footer { position: relative; background: #000; color: var(--g100); padding: 64px var(--side) 36px; min-height: 600px; display: flex; flex-direction: column; justify-content: space-between; gap: 48px; }
.ft-beam { --t: 12px; width: 60px; height: 320px; left: 30px; top: -120px; }
.site-footer a:hover { color: var(--gold); }
.ft-top { display: flex; justify-content: space-between; gap: 48px; }
.ft-brand { display: flex; flex-direction: column; gap: 18px; width: 340px; }
.ft-brand .logo img { width: 150px; }
.ft-addr { font-size: 14px; line-height: 1.7; color: #B3B3B3; }
.ft-addr a { color: var(--g100); font-weight: 700; }
.ft-cols { display: flex; gap: 72px; font-size: 14px; }
.ft-col { display: flex; flex-direction: column; gap: 10px; }
.ft-h { font-weight: 700; color: var(--gold); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.ft-seo { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 48px; border-top: 1px solid rgba(255,211,0,.25); padding-top: 32px; }
.ft-seo-main, .ft-seo-inv { display: flex; flex-direction: column; gap: 14px; }
.ft-seo-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 24px; font-size: 13px; }
.ft-seo-links.one { display: flex; flex-direction: column; gap: 10px; }
.ft-seo-links a { color: var(--g300); }
.ft-bottom { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--g500); border-top: 1px solid rgba(255,211,0,.25); padding-top: 22px; }
@media (max-width: 899px) {
	.site-footer { padding: 44px 16px 32px; min-height: 0; justify-content: flex-start; gap: 26px; }
	.ft-beam { --t: 8px; width: 38px; height: 100px; left: calc(50% - 19px); top: -38px; }
	.ft-top { flex-direction: column; gap: 26px; }
	.ft-brand { width: auto; gap: 26px; }
	.ft-brand .logo img { width: 130px; }
	.ft-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column; gap: 14px; }
	.ft-col { display: contents; }
	.ft-col .ft-h { display: none; }
	.ft-seo { display: flex; flex-direction: column; gap: 26px; padding-top: 22px; }
	.ft-seo-main, .ft-seo-inv { gap: 8px; }
	.ft-seo-links, .ft-seo-links.one { display: flex; flex-direction: column; gap: 0; font-size: 14px; }
	.ft-seo-links a { min-height: 28px; display: flex; align-items: center; }
	.ft-bottom { padding-top: 18px; }
}

/* =========================== Sekcje wspólne =========================== */
/* Opinie */
.s-reviews { background: #000; padding: 72px var(--side); display: flex; flex-direction: column; gap: 30px; }
.s-reviews-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.s-reviews-head > div { display: flex; flex-direction: column; gap: 10px; }
.s-reviews-head .hd { font-size: 36px; line-height: 1.05; color: var(--white); }
.s-reviews-head .more { color: var(--white); white-space: nowrap; }
.s-reviews-head .more .arrow { color: var(--gold); }
.s-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.s-reviews-grid figure { border: 1px solid var(--g900); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.s-reviews-grid blockquote { font-size: 16px; line-height: 1.55; color: var(--white); }
.s-reviews-grid figcaption { margin-top: auto; font-size: 13px; color: #979797; }
@media (max-width: 899px) {
	.s-reviews { padding: 40px 0; gap: 18px; }
	.s-reviews-head { padding: 0 16px; }
	.s-reviews-head > div { gap: 8px; }
	.s-reviews-head .hd { font-size: 25px; line-height: 1.06; }
	.s-reviews-grid { display: flex; gap: 12px; overflow-x: auto; padding: 0 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.s-reviews-grid::-webkit-scrollbar { display: none; }
	.s-reviews-grid figure { width: 300px; flex-shrink: 0; scroll-snap-align: start; }
	.s-reviews-grid blockquote { font-size: 15px; }
}

/* Alert nowych ofert */
.s-alert { background: #000; padding: 0 var(--side); min-height: 220px; display: flex; align-items: center; gap: 48px; }
.s-alert-txt { width: 460px; flex-shrink: 0; display: flex; flex-direction: column; gap: 8px; }
.s-alert-txt .hd { font-size: 30px; line-height: 1.05; color: var(--white); }
.s-alert-txt p { font-size: 14px; line-height: 1.5; color: #979797; }
.s-alert-form { flex-grow: 1; display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; padding: 28px 0 18px; }
.s-alert-form > .fld:first-child { flex: 1 1 200px; }
.s-alert-sel { width: 220px; }
.s-alert-form .btn { height: 56px; padding: 0 26px; flex-shrink: 0; }
.s-alert-form .consent, .s-alert-form .form-err { width: 100%; }
.s-alert-done { flex-grow: 1; padding: 20px 24px; border: 1px solid var(--gold); font-size: 16px; font-weight: 700; color: var(--white); }
@media (max-width: 899px) {
	.s-alert { padding: 40px 16px; flex-direction: column; align-items: stretch; gap: 12px; }
	.s-alert-txt { width: auto; gap: 12px; }
	.s-alert-txt .hd { font-size: 26px; }
	.s-alert-form { flex-direction: column; align-items: stretch; padding: 6px 0 0; }
	.s-alert-form > .fld:first-child { flex: none; }
	.s-alert-sel { display: none !important; }
	.s-alert-done { margin-top: 6px; padding: 18px; font-size: 15px; }
}

/* Rynek w Elblągu */
.s-market { background: var(--white); padding: 88px var(--side); }
.s-market .label { display: block; color: #000; }
.s-market .dist, .s-faq .dist { margin-top: 14px; }
.s-market .hd, .s-faq .hd { margin-top: 22px; font-size: 40px; line-height: 1.04; color: var(--g900); max-width: 900px; }
.s-lead { margin-top: 18px; font-size: 17px; line-height: 1.6; color: var(--g700); max-width: 860px; }
.s-market-grid { margin-top: 44px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.s-market-grid > div { display: flex; flex-direction: column; gap: 10px; border-top: 3px solid var(--gold); padding-top: 18px; }
.s-market-grid h3 { font-size: 18px; line-height: 1.25; font-weight: 800; }
.s-market-grid p { font-size: 15px; line-height: 1.6; color: var(--g700); }
.s-market-grid .more { margin-top: 4px; font-size: 13px; color: var(--gold-dk); }
@media (max-width: 899px) {
	.s-market { padding: 48px 16px; }
	.s-market .dist, .s-faq .dist { margin-top: 10px; }
	.s-market .hd { margin-top: 16px; font-size: 27px; line-height: 1.06; }
	.s-lead { margin-top: 16px; font-size: 15px; }
	.s-market-grid { margin-top: 26px; display: flex; flex-direction: column; gap: 22px; }
	.s-market-grid > div { gap: 8px; padding-top: 14px; }
	.s-market-grid h3 { font-size: 17px; }
	.s-market-grid p { font-size: 14px; }
	.s-market-grid .more { margin-top: 0; min-height: 44px; font-weight: 800; }
}

/* Pytania */
.s-faq { padding: 80px var(--side); }
.s-faq .label { display: block; color: #000; }
.s-faq .hd { margin-bottom: 22px; }
.s-faq-rows > div { padding: 20px 0; border-top: 1px solid var(--g300); display: grid; grid-template-columns: 440px 1fr; gap: 48px; }
.s-faq-rows h3 { font-size: 18px; line-height: 1.3; font-weight: 800; }
.s-faq-rows p { font-size: 15px; line-height: 1.65; color: var(--g700); }
@media (max-width: 899px) {
	.s-faq { padding: 48px 16px; }
	.s-faq .hd { margin: 18px 0 14px; font-size: 27px; line-height: 1.06; }
	.s-faq-rows > div { padding: 16px 0; display: flex; flex-direction: column; gap: 8px; }
	.s-faq-rows h3 { font-size: 16px; }
	.s-faq-rows p { font-size: 14px; line-height: 1.6; }
}

/* CTA „Licencja na skuteczność” */
.s-cta { padding: 0 var(--side) 80px; }
.s-cta-box { position: relative; min-height: 380px; background: #000; display: flex; overflow: hidden; }
.s-cta-main { flex-grow: 1; padding: 60px 64px; display: flex; flex-direction: column; justify-content: center; gap: 26px; }
.s-cta-main .hd { font-size: 44px; line-height: 1.04; color: var(--white); max-width: 700px; }
.s-cta-row { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.s-cta-row .btn { height: 62px; padding: 0 32px; font-size: 15px; }
.s-cta-tel { font-size: 16px; color: var(--g400); }
.s-cta-tel a { font-weight: 800; color: var(--white); }
.s-cta-gold { width: 340px; flex-shrink: 0; padding: 40px; display: flex; flex-direction: column; gap: 10px; color: #000; }
.s-cta-10 { font-size: 140px; line-height: .8; letter-spacing: -7px; color: #000; }
.s-cta-dni { font-size: 40px; line-height: .9; color: #000; }
.s-cta-sub { font-size: 15px; font-weight: 600; line-height: 1.4; max-width: 220px; }
.s-cta-h { position: absolute; inset: 0; pointer-events: none; }
.s-cta-h1 { position: absolute; left: 0; top: 0; bottom: 0; right: 340px; overflow: hidden; }
.s-cta-h2 { position: absolute; right: 0; top: 0; bottom: 0; width: 340px; overflow: hidden; }
.s-cta-h1 > div, .s-cta-h2 > div { position: absolute; top: 292px; width: 290px; height: 64px; }
.s-cta-h1 > div { right: -190px; background: linear-gradient(#FFD300, #FFD300) 0 0 / 16px 100% no-repeat, linear-gradient(#FFD300, #FFD300) 100% 0 / 16px 100% no-repeat, linear-gradient(#FFD300, #FFD300) 0 18px / 100% 15px no-repeat; }
.s-cta-h2 > div { left: -100px; background: linear-gradient(#000, #000) 0 0 / 16px 100% no-repeat, linear-gradient(#000, #000) 100% 0 / 16px 100% no-repeat, linear-gradient(#000, #000) 0 18px / 100% 15px no-repeat; }
@media (max-width: 1099px) and (min-width: 900px) { .s-cta-main { padding: 48px 40px; } .s-cta-main .hd { font-size: 36px; } }
@media (max-width: 899px) {
	.s-cta { padding: 0 16px 40px; }
	.s-cta-box { min-height: 0; flex-direction: column; }
	.s-cta-main { padding: 28px 20px 26px; gap: 16px; }
	.s-cta-main .hd { font-size: 24px; line-height: 1.1; }
	.s-cta-row { flex-direction: column; align-items: stretch; gap: 16px; }
	.s-cta-row .btn { height: 58px; padding: 0 8px; font-size: 14px; }
	.s-cta-tel { text-align: center; font-size: 15px; font-weight: 800; color: var(--gold); }
	.s-cta-tel a { color: var(--gold); }
}

/* =========================== Karta oferty (kafelek) =========================== */
.card-slot { display: flex; min-width: 0; }
.card-slot > .tcard { flex: 1; min-width: 0; }
.tcard { position: relative; min-height: 520px; background: var(--white); border: 1px solid var(--g200); display: flex; flex-direction: column; transition: border-color .3s ease, transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.tcard:hover { border-color: var(--gold); transform: translateY(-6px); box-shadow: 0 30px 60px -20px rgba(0,0,0,.8); }
@media (prefers-reduced-motion: reduce) { .tcard:hover { transform: none; } }
.tcard-img { position: relative; height: 260px; flex-shrink: 0; overflow: hidden; background: var(--g900); display: block; }
.tcard-img img { width: 100%; height: 100%; object-fit: cover; }
.tcard-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.tcard-ph span { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--g500); }
.tbadge-od { position: absolute; top: 14px; left: 14px; z-index: 1; height: 32px; padding: 0 12px; display: flex; align-items: center; gap: 8px; background: #000; border: 1px solid var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--white); max-width: calc(100% - 84px); white-space: nowrap; overflow: hidden; }
.tbadge-od .pulse { width: 7px; height: 7px; }
.tbadge-st { background: var(--gold); color: #000; border-color: #000; }
.tprice { position: absolute; left: 14px; bottom: 14px; z-index: 1; height: 44px; padding: 0 14px; display: flex; align-items: center; font-size: 21px; color: #000; letter-spacing: -.5px; white-space: nowrap; }
.tprice .hd { font-size: 21px; line-height: 44px; letter-spacing: -.5px; }
.tprice small { margin-left: 6px; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.tcard[data-mode="rent"] .tprice { align-items: baseline; }
.tprice-ask { font-size: 14px; color: var(--gold); background: #000; border: 1.5px solid var(--gold); letter-spacing: 0; }
.tprice-open { height: 54px; flex-direction: column; align-items: flex-start; justify-content: center; }
.tprice-open small { margin: 0; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; }
.tprice-open .hd { font-size: 19px; line-height: 1.2; }
.tdots { position: absolute; right: 14px; bottom: 14px; display: flex; gap: 5px; }
.tdots span { width: 6px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.6); }
.tdots span.on { width: 18px; background: var(--white); }
.theart { position: absolute; top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.95); color: #000; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px -6px rgba(0,0,0,.5); }
.theart[aria-pressed="true"] { color: #D4A000; }
.theart[aria-pressed="true"] svg { fill: currentColor; }
.tcard-body { flex-grow: 1; padding: 20px 20px 16px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tlabel { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-dk); }
.tlabel.gold { color: var(--gold); }
.ttitle { font-size: 18px; line-height: 1.3; font-weight: 800; color: #000; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ttitle:hover { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 3px; }
.tloc { font-size: 14px; color: var(--g600); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tparams { margin-top: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding-top: 12px; border-top: 1px solid #EEE; }
.tparams span { display: flex; align-items: center; gap: 7px; font-size: 14px; line-height: 1.2; font-weight: 700; color: #000; min-width: 0; }
.tparams svg { color: var(--gold-dk); flex-shrink: 0; }
.tactions { margin-top: 12px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.tcmp { height: 40px; padding: 0 12px; border: 1px solid var(--g300); background: var(--white); cursor: pointer; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: #000; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.tcmp:hover { border-color: var(--gold-2); }
.tcmp.on { border-color: #000; background: var(--gold); }
.tcta { height: 40px; padding: 0 14px; background: #000; color: var(--gold); display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.tcard:hover .tcta { background: var(--gold); color: #000; }
.tside { display: none; }
.tsim-par { margin-top: auto; padding-top: 10px; border-top: 1px solid #EEE; font-size: 14px; font-weight: 700; color: #000; }
.tcard-sim { min-height: 0; }
.tcard-sim .tcard-img { height: 200px; }
.tcard-sim .tcard-body { padding: 16px 16px 14px; }
.tcard-sim .ttitle { font-size: 16px; }
.tcard-sim .tprice { font-size: 18px; height: 40px; }

/* Karta „Dla sprzedających” w siatce */
.seller-card { position: relative; min-height: 520px; background: #000; border: 1.5px dashed var(--gold); padding: 34px 30px; display: flex; flex-direction: column; overflow: hidden; }
.seller-card > .ph { position: absolute; inset: 0; opacity: .6; }
.seller-card > :not(.ph) { position: relative; }
.seller-card strong.hd { margin-top: 16px; font-size: 34px; line-height: 1.02; color: var(--white); }
.seller-card p { margin-top: 16px; font-size: 15px; line-height: 1.55; color: var(--g400); }
.seller-card .btn { margin-top: auto; height: 54px; font-size: 14px; }

@media (max-width: 899px) {
	.tcard { min-height: 470px; }
	.tcard-img { height: 230px; }
	.tcard-body { padding: 16px 16px 14px; }
	.ttitle { font-size: 17px; }
	.tprice { font-size: 19px; }
	.tprice .hd { font-size: 19px; }
	.tprice-open .hd { font-size: 17px; }
	.tactions .tcmp { display: none; }
	.tactions .tcta { flex-grow: 1; }
	.seller-card { min-height: 470px; padding: 28px 22px; }
	.seller-card strong.hd { font-size: 30px; }
}

/* =========================== Listing =========================== */
/* Hero (pod nagłówkiem, jak w projekcie) */
.l-hero { position: relative; z-index: 1; margin-top: -110px; min-height: 470px; padding: 150px var(--side) 30px; background: #000; overflow: hidden; color: var(--white); }
.l-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .25; }
.l-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.8) 60%, rgba(0,0,0,.55) 100%); }
.l-hero-in { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.l-hero-txt { display: flex; flex-direction: column; max-width: 760px; }
.crumbs { font-size: 13px; color: var(--g500); }
.crumbs span { color: var(--gold); }
.crumbs a:hover { color: var(--white); }
.l-hero h1 { margin-top: 16px; font-size: 54px; line-height: 1; color: var(--white); letter-spacing: -1.5px; }
.l-hero-txt > p { margin-top: 16px; font-size: 18px; line-height: 1.55; color: var(--g400); }
.l-stats { margin-top: 24px; display: flex; gap: 28px; }
.l-stats > div { display: flex; flex-direction: column; gap: 2px; }
.l-stats b { font-size: 34px; line-height: 1; }
.l-stats span { font-size: 13px; color: var(--g400); }
.l-od { width: 380px; flex-shrink: 0; border: 1px solid rgba(255,211,0,.6); background: rgba(0,0,0,.7); padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; color: var(--white); }
.l-od-lab { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.l-od-rows { display: flex; flex-direction: column; }
.l-od-rows a { min-height: 46px; padding: 6px 0; border-top: 1px solid var(--g900); display: flex; align-items: center; gap: 12px; color: var(--white); }
.l-od-t { width: 52px; flex-shrink: 0; display: flex; flex-direction: column; }
.l-od-t small { font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--gold); }
.l-od-t b { font-size: 18px; line-height: 1.1; }
.l-od-n { flex-grow: 1; min-width: 0; display: flex; flex-direction: column; }
.l-od-n strong { font-size: 15px; font-weight: 800; line-height: 1.25; }
.l-od-n small { font-size: 12px; color: #979797; }
.l-od .arr { color: var(--gold); font-weight: 800; }
.l-od .cd { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.l-od .cd > div { border: 1px solid var(--g900); padding: 7px 0 5px; display: flex; flex-direction: column; align-items: center; }
.l-od .cd b { font-size: 24px; line-height: 1; font-weight: 800; background: linear-gradient(180deg, #FFD300 0%, #DFA91F 55%, #B28000 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.l-od .cd span { font-size: 10px; color: #979797; text-transform: uppercase; letter-spacing: .06em; }
.l-od-cta { height: 46px; display: flex; align-items: center; justify-content: center; background: var(--gold); color: #000; font-size: 13px; font-weight: 800; text-transform: uppercase; }
.l-od-cta:hover { background: var(--white); }
.l-od-later { font-size: 13px; color: var(--g400); }
.l-od-later b { color: var(--gold); font-weight: 800; }
@media (max-width: 1079px) { .l-hero { margin-top: -68px; padding-top: 108px; } }
@media (max-width: 1099px) and (min-width: 900px) { .l-hero h1 { font-size: 44px; } .l-od { width: 340px; } }
@media (max-width: 899px) {
	.l-hero { min-height: 0; padding: 86px 16px 24px; }
	.l-hero-bg, .l-hero-shade { display: none; }
	.l-hero-in { flex-direction: column; align-items: stretch; gap: 16px; }
	.l-hero h1 { margin-top: 0; font-size: 30px; line-height: 1.02; letter-spacing: -1px; }
	.l-hero-txt > p { margin-top: 12px; font-size: 15px; line-height: 1.5; }
	.l-od { width: auto; background: none; padding: 12px 14px 14px; gap: 10px; }
	.l-od-lab .pulse { width: 7px; height: 7px; }
	.l-od-rows a { min-height: 44px; padding: 0; gap: 10px; }
	.l-od-t { width: 46px; }
	.l-od-t small { font-size: 10px; }
	.l-od-t b { font-size: 16px; }
	.l-od-n { display: block; font-size: 14px; }
	.l-od-n strong { font-size: 14px; }
	.l-od-n small.m-only { display: inline; font-size: 14px; }
	.l-od-n small.m-only:not(:empty)::before { content: " · "; }
	.l-od .cd > div { padding: 5px 0; }
	.l-od .cd b { font-size: 20px; }
	.l-od .cd span { letter-spacing: 0; }
	.l-od-cta { height: 44px; font-size: 12px; }
}

/* Wyszukiwarka i filtry */
.l-filters { position: relative; z-index: 5; background: var(--white); border-bottom: 1px solid var(--g200); padding: 26px var(--side) 18px; display: flex; flex-direction: column; gap: 14px; }
.l-row1 { display: flex; gap: 12px; align-items: center; }
.l-tabs { display: flex; flex-shrink: 0; border: 1px solid #000; }
.l-tabs button { height: 44px; padding: 0 20px; border: 0; cursor: pointer; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; background: var(--white); color: #000; display: flex; align-items: center; gap: 8px; }
.l-tabs button span { font-weight: 700; opacity: .6; }
.l-tabs button.on { background: #000; color: var(--gold); }
.l-search { position: relative; flex-grow: 1; display: block; }
.l-search svg { position: absolute; left: 16px; top: 50%; margin-top: -11px; color: #000; pointer-events: none; }
.l-search .field { height: 58px; padding-left: 50px; font-size: 16px; border: 2px solid #000; }
.l-sheet { display: flex; flex-direction: column; gap: 14px; }
.l-frow { display: flex; align-items: center; gap: 36px; min-height: 40px; }
.l-fgroup { display: flex; align-items: center; gap: 8px; }
.l-flabel { width: 66px; flex-shrink: 0; white-space: nowrap; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--g500); }
.pills { display: flex; gap: 8px; }
.l-active { min-height: 32px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--g600); }
.l-active .af { height: 32px; padding: 0 8px 0 12px; border: 0; background: #000; color: var(--white); cursor: pointer; font-size: 12px; font-weight: 700; display: flex; align-items: center; gap: 6px; }
.l-active .af-clear { height: 32px; padding: 0 6px; border: 0; background: transparent; cursor: pointer; font-size: 12px; font-weight: 800; text-transform: uppercase; color: var(--gold-dk); text-decoration: underline; }
@media (max-width: 1199px) and (min-width: 900px) { .l-frow { flex-wrap: wrap; gap: 14px 28px; } .pills { flex-wrap: wrap; } }
@media (max-width: 899px) {
	.l-filters { padding: 16px 0 12px; gap: 12px; }
	.l-row1 { padding: 0 16px; flex-wrap: wrap; gap: 12px 8px; }
	.l-search { order: -1; flex: 1 1 100%; }
	.l-tabs button { padding: 0 12px; }
	.l-filters-btn { flex-grow: 1; height: 44px; border: 1.5px solid #000; background: var(--white); font-size: 14px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; color: #000; }
	.l-quick { padding: 0 16px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
	.l-quick::-webkit-scrollbar { display: none; }
	.l-quick .pill { padding: 0 12px; }
	.l-sheet { display: none; }
	.l-sheet.open { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; max-height: 90vh; overflow-y: auto; background: var(--white); border-top: 5px solid var(--gold); padding: 18px 16px calc(20px + env(safe-area-inset-bottom)); gap: 18px; animation: fadeUp .3s ease both; }
	.l-sheet-head { display: flex; justify-content: space-between; align-items: center; }
	.l-sheet-head .hd { font-size: 22px; color: #000; }
	.l-sheet-head .sq-btn { width: 44px; height: 44px; }
	.l-frow { display: contents; }
	.l-fgroup { flex-direction: column; align-items: stretch; gap: 8px; }
	.l-flabel { width: auto; font-size: 13px; letter-spacing: 0; }
	.pills { flex-wrap: wrap; }
	.l-sheet .pill { padding: 0 12px; }
	[data-group="sort"] .pill.on { background: var(--gold); border-color: #000; color: #000; }
	.l-sheet .toggle { width: 100%; }
	.l-sheet-foot { display: flex; gap: 8px; }
	.l-sheet-foot .btn-line { height: 56px; padding: 0 16px; }
	.l-sheet-foot .btn { flex-grow: 1; height: 56px; font-weight: 800; }
	.l-active { padding: 0 16px; min-height: 0; }
	.l-active:not(.has) { display: none; }
	body.sheet-open { overflow: hidden; }
	body.sheet-open .l-filters { z-index: 80; }
	body.sheet-open::after { content: ""; position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 75; }
}

/* Kalendarz dni otwartych */
.l-cal { padding: 32px var(--side) 0; display: flex; flex-direction: column; gap: 14px; }
.l-cal-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.l-cal-head > span { display: flex; align-items: center; gap: 10px; }
.l-cal-head .hd { font-size: 22px; color: #000; }
.l-cal-sub { font-size: 14px; color: var(--g600); }
.l-cal-link { height: 36px; padding: 0; border: 0; background: transparent; cursor: pointer; font-size: 13px; font-weight: 800; text-transform: uppercase; color: var(--gold-dk); text-decoration: underline; }
.l-cal-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.l-cal-day { height: 96px; background: var(--white); border: 1px solid var(--g200); padding: 14px 16px; display: flex; gap: 14px; align-items: center; color: #000; min-width: 0; }
a.l-cal-day:hover { border-color: var(--gold-2); }
.l-cal-day.on { background: #000; border-color: var(--gold); color: var(--white); }
.l-cal-date { width: 58px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; border-right: 1px solid #EEE; padding-right: 12px; }
.l-cal-date small { font-size: 11px; color: var(--g500); }
.l-cal-date small:first-child { font-weight: 800; text-transform: uppercase; }
.l-cal-date b { font-size: 30px; line-height: 1; }
.l-cal-day.on .l-cal-date { border-color: var(--g900); }
.l-cal-day.on .l-cal-date small, .l-cal-day.on .l-cal-txt small { color: var(--gold); }
.l-cal-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.l-cal-txt strong { font-size: 14px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.l-cal-txt small { font-size: 12px; color: var(--g500); }

/* Wyniki */
.l-res { position: relative; padding: 28px var(--side) 48px; display: flex; flex-direction: column; gap: 20px; }
.l-res-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.l-res-head > div:first-child { display: flex; flex-direction: column; gap: 2px; }
.l-count { font-size: 26px; color: #000; letter-spacing: -.5px; }
.l-count-sub { font-size: 14px; color: var(--g600); }
.l-tools { display: flex; align-items: center; gap: 12px; }
.l-save { height: 40px; padding: 0 14px; border: 1.5px solid #000; background: var(--white); cursor: pointer; font-size: 13px; font-weight: 800; color: #000; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.l-save.on { background: var(--gold); }
.l-sort { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--g600); }
.l-sort .field { height: 40px; width: 220px; font-size: 14px; font-weight: 700; padding: 0 30px 0 12px; }
.l-views { display: flex; border: 1px solid #000; }
.l-views button { height: 40px; padding: 0 14px; border: 0; cursor: pointer; font-size: 13px; font-weight: 800; text-transform: uppercase; background: var(--white); color: #000; }
.l-views button.on { background: #000; color: var(--gold); }
.l-toast { padding: 12px 16px; background: #FFF6CC; border-left: 4px solid var(--gold); font-size: 14px; color: #000; animation: fadeUp .35s ease both; }
.l-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.notice { padding: 14px 16px; background: #FFF6CC; border: 1px solid var(--gold-2); }

/* Widok „Lista” */
.l-grid.rows { display: flex; flex-direction: column; gap: 14px; }
.l-grid.rows .tcard { min-height: 250px; display: grid; grid-template-columns: 380px minmax(0, 1fr) 260px; }
.l-grid.rows .tcard { height: 250px; }
.l-grid.rows .tcard-img { height: auto; }
.l-grid.rows .tcard-img img { position: absolute; inset: 0; }
.l-grid.rows .tprice { display: none; }
.l-grid.rows .theart { right: auto; left: 324px; }
.l-grid.rows .tcard-body { padding: 22px 26px; }
.l-grid.rows .ttitle { font-size: 20px; line-height: 1.25; }
.l-grid.rows .tactions { display: none; }
.l-grid.rows .tside { position: relative; border-left: 1px solid #EEE; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.tside-price { display: flex; flex-direction: column; gap: 4px; }
.tside-lab { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-dk); }
.tside-price .hd { font-size: 24px; line-height: 1.05; color: #000; }
.tside-sub { font-size: 13px; color: var(--g600); }
.tside-act { display: flex; flex-direction: column; gap: 8px; }
.tside-act .tcta { height: 44px; }
.l-grid.rows .seller-card { min-height: 250px; }

/* Widok „Mapa” */
.l-map { position: relative; background: #1F1F1F; overflow: hidden; }
.l-map svg { display: block; width: 100%; height: auto; }
.l-pin { cursor: pointer; }
.l-pin circle { transition: fill .15s ease; }
.l-pin:hover circle, .l-pin.on circle { fill: var(--white); }
.l-map-note { position: absolute; left: 20px; bottom: 16px; font-size: 13px; color: var(--g400); }

/* Brak wyników */
.l-empty { padding: 56px 32px; background: var(--white); border: 1px solid var(--g200); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.l-empty .hd { font-size: 26px; color: #000; }
.l-empty p { font-size: 16px; line-height: 1.55; color: var(--g700); max-width: 620px; }
.l-empty > div { display: flex; gap: 12px; margin-top: 8px; }
.l-empty .btn { height: 50px; padding: 0 22px; }
.l-empty .btn-line { height: 50px; padding: 0 20px; font-size: 14px; }

/* Strony */
.pager { height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--g300); }
.pager-range { font-size: 14px; color: var(--g600); }
.pager-btns, .pager-nums { display: flex; gap: 6px; align-items: center; }
.pager-txt { height: 44px; padding: 0 16px; border: 1px solid #000; background: var(--white); cursor: pointer; font-size: 13px; font-weight: 800; text-transform: uppercase; color: #000; }
.pager-txt.dim { opacity: .35; pointer-events: none; }
.pager-nums button { width: 44px; height: 44px; border: 1px solid #000; background: var(--white); cursor: pointer; font-size: 15px; font-weight: 800; color: #000; }
.pager-nums button.on { background: #000; color: var(--gold); }
.pager .gap { width: 20px; text-align: center; font-weight: 800; }

/* Porównywarka */
.cmp-tray { position: fixed; left: var(--side); right: var(--side); bottom: 24px; z-index: 40; height: 76px; background: #000; border: 1px solid var(--gold); padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); animation: fadeUp .35s ease both; }
.cmp-tray-l { display: flex; align-items: center; gap: 12px; min-width: 0; overflow: hidden; }
.cmp-tray-l strong { font-size: 14px; font-weight: 800; color: var(--white); white-space: nowrap; }
.cmp-items { display: flex; gap: 8px; }
.cmp-item { height: 34px; padding: 0 6px 0 12px; display: flex; align-items: center; gap: 6px; border: 1px solid var(--g700); font-size: 12px; font-weight: 700; color: var(--white); white-space: nowrap; }
.cmp-item button { width: 24px; height: 24px; border: 0; background: transparent; color: var(--g400); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.cmp-tray-r { display: flex; gap: 8px; flex-shrink: 0; }
.cmp-clear { height: 46px; padding: 0 14px; border: 1px solid var(--g700); background: transparent; color: var(--white); cursor: pointer; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.cmp-tray-r .btn { height: 46px; padding: 0 20px; font-size: 13px; }
.cmp-modal { width: min(1200px, calc(100% - 32px)); max-width: none; max-height: calc(100vh - 80px); padding: 0; border: 0; background: transparent; }
.cmp-modal::backdrop { background: rgba(0,0,0,.6); }
.cmp-box { background: var(--white); border-top: 5px solid var(--gold); display: flex; flex-direction: column; max-height: calc(100vh - 80px); }
.cmp-head { height: 72px; flex-shrink: 0; padding: 0 26px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--g200); }
.cmp-head .hd { font-size: 24px; color: #000; }
.cmp-table { padding: 0 26px 26px; overflow: auto; }
.cmp-grid { display: grid; }
.cmp-labels, .cmp-col { display: flex; flex-direction: column; }
.cmp-col { border-left: 1px solid #EEE; }
.cmp-top { height: 214px; flex-shrink: 0; }
.cmp-col .cmp-top { padding: 20px 18px 14px; display: flex; flex-direction: column; gap: 8px; }
.cmp-img { position: relative; height: 120px; flex-shrink: 0; overflow: hidden; }
.cmp-img img { width: 100%; height: 100%; object-fit: cover; }
.cmp-col .cmp-top strong { font-size: 15px; font-weight: 800; line-height: 1.25; color: #000; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cmp-labels > span:not(.cmp-top), .cmp-col > span { height: 52px; display: flex; align-items: center; border-top: 1px solid #EEE; }
.cmp-labels > span { font-size: 14px; color: var(--g600); }
.cmp-col > span { padding: 0 18px; font-size: 15px; font-weight: 800; color: #000; }
.cmp-cta { padding: 16px 18px 0; }
.cmp-cta a { height: 46px; background: #000; color: var(--gold); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; text-transform: uppercase; }

@media (max-width: 1099px) and (min-width: 900px) {
	.l-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.l-grid.rows .tcard { grid-template-columns: 300px minmax(0, 1fr) 220px; }
	.l-grid.rows .theart { left: 244px; }
	.l-res-head { flex-wrap: wrap; }
}
@media (max-width: 899px) {
	.l-res { padding: 18px 16px 24px; gap: 14px; }
	.l-count { font-size: 20px; letter-spacing: -1px; }
	.l-save { padding: 0 12px; font-size: 12px; gap: 6px; }
	.l-grid { display: flex; flex-direction: column; gap: 16px; }
	.l-empty { padding: 32px 20px; }
	.l-empty .hd { font-size: 22px; }
	.l-empty > div { flex-direction: column; width: 100%; gap: 10px; }
	.pager { gap: 8px; border-top: 0; }
	.pager-btns { display: contents; }
	.pager-nums { display: none; }
	.pager-txt[data-prev] { order: 0; }
	.pager-range { order: 1; font-size: 14px; font-weight: 700; color: #000; text-align: center; }
	.pager-txt[data-next] { order: 2; background: var(--gold); }
	.pager-txt { width: 52px; height: 48px; padding: 0; font-size: 18px; }
	.cmp-tray { display: none !important; }
}
@media (min-width: 600px) and (max-width: 899px) { .l-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Tekst SEO strony (stara treść z WordPressa) */
.l-seo { background: var(--white); padding: 64px var(--side); }
.seo-body { max-width: 860px; }
.seo-body.clamp { max-height: 340px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.l-seo .more { margin-top: 16px; }
@media (max-width: 899px) { .l-seo { padding: 40px 16px; } }

/* Treść stron/wpisów */
.entry { color: var(--g900); line-height: 1.65; }
.entry > * + * { margin-top: 1em; }
.entry h1.hd { font-size: 34px; margin-bottom: 20px; }
.entry h2 { font-size: 24px; margin-top: 1.6em; }
.entry h3 { font-size: 19px; margin-top: 1.4em; }
.entry a { text-decoration: underline; text-decoration-color: var(--gold-2); text-underline-offset: 3px; }
.entry ul, .entry ol { padding-left: 1.3em; }
.post-row { padding: 18px 0; border-bottom: 1px solid var(--g200); }
.post-row h2 { font-size: 20px; }

/* Przyciski „do góry” i ikony z dawnych wtyczek Elementora (bez ich stylów robiły się ogromne) */
.site-footer ~ [class*="top"], .site-footer ~ [id*="top"], .site-footer ~ [class*="Top"], .site-footer ~ [id*="Top"] { display: none !important; }
.site-footer ~ svg, .site-footer ~ * > svg, .site-footer ~ a svg, .site-footer ~ div > a svg { width: 24px !important; height: 24px !important; max-width: 24px; max-height: 24px; }

/* =========================== Karta oferty (strona) – 1:1 z projektu =========================== */
.offer { --of-pad: var(--side); }
.of-lab { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-dk); }

/* Ścieżka + przyciski */
.of-top { height: 76px; padding: 0 var(--side); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.of-crumbs { font-size: 13px; color: var(--g600); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.of-crumbs span { color: var(--gold-dk); }
.of-crumbs a:hover { color: #000; }
.of-util { display: flex; gap: 8px; flex-shrink: 0; }
.of-ubtn { height: 40px; padding: 0 14px; border: 1px solid var(--g300); background: var(--white); cursor: pointer; display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #000; }
.of-ubtn:hover { border-color: var(--gold-2); }
.of-ubtn[aria-pressed="true"] svg { color: #D4A000; fill: currentColor; }
.of-notes { min-height: 44px; padding: 0 var(--side); display: flex; justify-content: flex-end; align-items: flex-start; gap: 10px; }
.of-share { display: flex; gap: 6px; flex-wrap: wrap; animation: fadeUp .3s ease both; }
.of-share > * { height: 36px; padding: 0 12px; border: 1px solid #000; background: var(--white); cursor: pointer; font-size: 12px; font-weight: 800; color: #000; display: inline-flex; align-items: center; }
.of-share > *:hover { background: var(--gold); }
.of-favnote { font-size: 13px; color: #000; background: #FFF6CC; padding: 8px 12px; animation: fadeUp .3s ease both; }

/* Galeria */
.of-gal { padding: 0 var(--side); }
.of-gal-grid { position: relative; height: 600px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 10px; }
.of-gal-grid.one { grid-template-columns: 1fr; }
.of-gal-grid.one .of-gal-side { display: none !important; }
.of-gal-main { position: relative; height: 600px; overflow: hidden; background: var(--g900); border: 0; padding: 0; cursor: zoom-in; display: block; width: 100%; }
.of-gal-main img { width: 100%; height: 100%; object-fit: cover; }
.of-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.of-ph span { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--g500); }
.of-badge { position: absolute; top: 20px; left: 20px; z-index: 2; height: 38px; padding: 0 14px; display: flex; align-items: center; gap: 10px; background: #000; border: 1px solid var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--white); }
.of-full { position: absolute; right: 20px; top: 20px; z-index: 2; height: 38px; padding: 0 12px; display: flex; align-items: center; gap: 8px; background: rgba(0,0,0,.7); font-size: 12px; font-weight: 800; color: var(--white); }
.of-stamp { position: absolute; left: 50%; top: 50%; z-index: 2; width: 220px; height: 220px; margin: -110px 0 0 -110px; border-radius: 50%; background: rgba(255,255,255,.96); border: 8px solid #000; transform: rotate(-9deg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; box-shadow: 0 20px 50px -10px rgba(0,0,0,.6); font-size: 26px; font-weight: 900; text-transform: uppercase; color: #000; }
.of-stamp-h { display: block; width: 92px; height: 44px; background: linear-gradient(#000, #000) 0 0 / 10px 100% no-repeat, linear-gradient(#000, #000) 100% 0 / 10px 100% no-repeat, linear-gradient(#000, #000) 0 13px / 100% 10px no-repeat; }
.of-gal-side { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 10px; min-height: 0; }
.of-tile { position: relative; border: 0; padding: 0; cursor: pointer; overflow: hidden; background: var(--g900); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--white); width: 100%; height: 100%; }
.of-tile > img, .of-tile > .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.of-tile-plan { background: var(--white); border: 1px solid var(--g200); color: #000; }
.of-tile-plan strong { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.of-tile-plan small { font-size: 12px; color: var(--g600); }
.of-tile-plan:hover { border-color: var(--gold-2); }
.of-tile-shade { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.of-tile-in { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.of-tile-in strong { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.of-tile-in small { font-size: 12px; color: var(--g400); }
.of-play { width: 64px; height: 64px; border-radius: 50%; background: var(--gold); display: flex; align-items: center; justify-content: center; color: #000; }
.of-media { position: absolute; left: 20px; bottom: 20px; z-index: 3; display: flex; gap: 8px; }
.of-media button { height: 42px; padding: 0 14px; display: flex; align-items: center; gap: 8px; border: 0; background: var(--white); color: #000; cursor: pointer; font-size: 13px; font-weight: 800; }
.of-media button.on, .of-media button:hover { background: var(--gold); }

/* Tytuł i cena */
.of-head { margin: 0 var(--side); min-height: 190px; padding: 20px 0; display: flex; justify-content: space-between; align-items: center; gap: 48px; border-bottom: 1px solid var(--g200); }
.of-head-l { display: flex; flex-direction: column; gap: 10px; max-width: 820px; min-width: 0; }
.of-type { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-dk); }
.of-title { font-size: 40px; line-height: 1.08; font-weight: 800; letter-spacing: -1px; color: #000; }
.of-loc { display: flex; align-items: center; gap: 8px; font-size: 16px; color: var(--g700); }
.of-loc svg { color: var(--gold-dk); }
.of-price { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.of-price .hd { font-size: 44px; line-height: 1; color: #000; }
.of-price .hd.sm { font-size: 34px; letter-spacing: -1px; margin: 2px 0; }
.of-price .hd small { font-size: 18px; letter-spacing: 0; }
.of-sub { font-size: 14px; color: var(--g700); max-width: 420px; }

/* Złoty pas */
.of-gold { min-height: 180px; padding: 20px calc(var(--side) + 30px); display: flex; align-items: center; gap: 12px; }
.of-gold > div { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; color: #000; }
.of-gold span { font-size: 17px; line-height: 1.2; }
.of-gold strong { font-size: 21px; font-weight: 800; line-height: 1.1; }

/* Treść + panel */
.of-body { padding: 44px var(--side) 84px; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 56px; align-items: start; }
.of-main { display: flex; flex-direction: column; gap: 56px; min-width: 0; }
.of-sec { display: flex; flex-direction: column; gap: 22px; }
.of-h { display: flex; flex-direction: column; gap: 12px; }
.of-h .hd { font-size: 30px; line-height: 1.05; color: #000; }
.of-hl { gap: 14px; }
.of-hl ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.of-hl li { min-height: 36px; padding: 6px 12px; display: inline-flex; align-items: center; gap: 8px; background: var(--white); border: 1px solid var(--g200); font-size: 14px; font-weight: 600; color: #000; }
.of-hl li svg { color: var(--gold-dk); }
.of-desc-body { display: flex; flex-direction: column; gap: 14px; font-size: 17px; line-height: 1.7; color: var(--g900); }
.of-desc-body ul { margin: 0; padding-left: 22px; }
.of-desc.clamp .of-desc-body { max-height: 330px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 65%, transparent); mask-image: linear-gradient(#000 65%, transparent); }
.of-morebtn { align-self: flex-start; height: 44px; margin-top: -8px; padding: 0; border: 0; background: transparent; cursor: pointer; font-size: 14px; font-weight: 800; text-transform: uppercase; color: var(--gold-dk); text-decoration: underline; text-underline-offset: 4px; }

/* Kalkulatory */
.of-card { background: var(--white); border: 1px solid var(--g200); padding: 32px; }
.of-card-in { display: flex; flex-direction: column; gap: 16px; }
.of-rngbox { background: #FFF6CC; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.of-rngbox small { font-size: 12px; color: var(--g700); }
.of-rng { display: flex; flex-direction: column; gap: 8px; }
.of-rngrow { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.of-rngrow label { font-weight: 700; color: #000; }
.of-rngrow strong { font-weight: 800; color: #000; }
.of-card .rng { margin: 6px 0; }
.of-card .toggle { align-self: flex-start; }
.of-costs { border-top: 1px solid var(--g200); }
.of-cost { padding: 12px 0; border-bottom: 1px solid #EEE; display: flex; justify-content: space-between; gap: 16px; font-size: 15px; }
.of-cost span { display: flex; flex-direction: column; gap: 2px; }
.of-cost b { font-weight: 600; color: #000; }
.of-cost small { font-size: 12px; color: var(--g500); }
.of-cost strong { font-weight: 800; color: #000; white-space: nowrap; }
.of-costs-total { padding: 14px 0 0; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.of-costs-total span { font-size: 15px; font-weight: 800; color: #000; }
.of-costs-total .hd { font-size: 28px; color: #000; white-space: nowrap; }
.of-fine { font-size: 12px; line-height: 1.5; color: var(--g500); }
.of-opts { display: flex; flex-direction: column; gap: 8px; }
.of-opts > span { font-size: 14px; font-weight: 700; color: #000; }
.of-opts > div { display: flex; gap: 6px; }
.opt { flex: 1; height: 42px; border: 1px solid var(--g300); background: var(--white); cursor: pointer; font-size: 14px; font-weight: 800; color: #000; transition: border-color .15s ease, background .15s ease; }
.opt:hover { border-color: var(--gold-2); }
.opt.on { border-color: #000; background: var(--gold); }
.of-rata { background: #000; color: var(--white); padding: 18px 20px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.of-rata > span { display: flex; flex-direction: column; gap: 2px; }
.of-rata b { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.of-rata small { font-size: 13px; color: var(--g400); }
.of-rata .hd { font-size: 40px; line-height: 1; white-space: nowrap; }
.of-linebtn { min-height: 52px; padding: 0 16px; border: 1.5px solid #000; background: var(--white); display: flex; align-items: center; justify-content: center; text-align: center; font-size: 13px; font-weight: 800; text-transform: uppercase; color: #000; cursor: pointer; transition: background .15s ease, color .15s ease; }
.of-linebtn:hover { background: #000; color: var(--g100); }

/* Szczegóły */
.of-details { margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; border-top: 1px solid var(--g200); }
.of-details > div { padding: 12px 0; border-bottom: 1px solid #EEE; display: flex; justify-content: space-between; gap: 16px; font-size: 15px; }
.of-details dt { color: var(--g600); }
.of-details dd { margin: 0; font-weight: 700; color: #000; text-align: right; }

/* Mapa */
.of-map-wrap { display: flex; flex-direction: column; gap: 10px; }
.of-map { position: relative; height: 320px; background-color: #1F1F1F; 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: 40px 40px; overflow: hidden; }
.of-map > button { position: absolute; inset: 0; width: 100%; border: 0; padding: 0; background: transparent; cursor: pointer; }
.of-map-road { position: absolute; background: var(--g900); }
.of-map-road.h { left: 0; right: 0; top: 46%; height: 10px; }
.of-map-road.v { top: 0; bottom: 0; left: 38%; width: 8px; }
.of-map-pin { position: absolute; left: 50%; top: 50%; margin: -38px 0 0 -19px; width: 38px; height: 38px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--gold); box-shadow: 0 10px 20px -6px rgba(0,0,0,.7); }
.of-map-lab { position: absolute; left: 14px; top: 14px; height: 32px; padding: 0 12px; display: flex; align-items: center; background: #000; font-size: 13px; font-weight: 700; color: var(--white); }
.of-map-note { position: absolute; right: 14px; bottom: 12px; font-size: 11px; color: var(--g500); }
.of-map > button:hover .of-map-note { color: var(--gold); }
.of-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.of-map-btns { display: flex; gap: 8px; }
.of-map-btns a { flex: 1; height: 46px; border: 1.5px solid #000; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; font-weight: 800; text-transform: uppercase; color: #000; transition: background .15s ease, color .15s ease; }
.of-map-btns a:hover { background: #000; color: var(--g100); }

/* Pytania */
.of-faq { border-top: 1px solid var(--g200); }
.of-faq details { border-bottom: 1px solid var(--g200); }
.of-faq summary { min-height: 60px; padding: 14px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 17px; font-weight: 800; color: #000; }
.of-pm::before { content: "+"; font-size: 22px; font-weight: 400; color: #000; }
details[open] > summary .of-pm::before { content: "−"; }
.of-faq p { margin: 0 0 18px; font-size: 15px; line-height: 1.65; color: var(--g700); animation: fadeUp .3s ease both; }

/* Panel boczny */
.of-side { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 14px; }
.admin-bar .of-side { top: 116px; }
.of-panel { background: var(--white); border: 1px solid var(--g200); border-top: 5px solid var(--gold); box-shadow: 0 30px 60px -30px rgba(0,0,0,.35); display: flex; flex-direction: column; scroll-margin-top: 84px; }
.of-od { background: #000; color: var(--white); padding: 18px 24px 20px; display: flex; flex-direction: column; gap: 14px; }
.of-od-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.of-od-lab { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.of-od-top strong { font-size: 13px; font-weight: 700; color: var(--white); text-align: right; }
.of-od .cd { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.of-od .cd > div { border: 1px solid var(--g900); padding: 10px 0 8px; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.of-od .cd b { font-size: 32px; line-height: 1; background: linear-gradient(180deg, #FFD300 0%, #DFA91F 55%, #B28000 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.of-od .cd span { font-size: 11px; color: #979797; text-transform: uppercase; letter-spacing: .06em; }
.of-od-count { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--g400); }
.of-od-count svg { color: var(--gold); flex-shrink: 0; }
.of-od-count b { font-weight: 400; margin-left: 4px; }
.of-form { padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; }
.of-form > .hd { font-size: 22px; line-height: 1.1; color: #000; letter-spacing: -.5px; }
.of-form-sub { font-size: 14px; line-height: 1.5; color: var(--g700); }
.of-slots, .of-fin { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.of-slots legend, .of-fin legend { padding: 0; margin-bottom: 8px; font-size: 13px; font-weight: 700; color: #000; }
.of-slots > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.of-fin > div { display: flex; flex-wrap: wrap; gap: 6px; }
.of-slots label, .of-fin label { position: relative; cursor: pointer; }
.of-slots input, .of-fin input { position: absolute; opacity: 0; inset: 0; cursor: pointer; margin: 0; }
.of-slots span { height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--g300); background: var(--white); font-size: 14px; font-weight: 800; color: #000; }
.of-fin span { height: 40px; padding: 0 12px; display: flex; align-items: center; border: 1px solid var(--g300); background: var(--white); font-size: 13px; font-weight: 700; color: #000; }
.of-slots label:hover span, .of-fin label:hover span { border-color: var(--gold-2); }
.of-slots input:checked + span, .of-fin input:checked + span { background: var(--gold); border-color: #000; }
.of-slots input:focus-visible + span, .of-fin input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 2px; }
.of-form .field { height: 50px; font-size: 16px; }
.of-form .consent input { margin-top: 1px; }
.of-form .btn { height: 58px; font-size: 14px; }
.of-form-note { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--g600); }
.of-form-note svg { color: var(--gold-dk); flex-shrink: 0; }
.of-done { padding: 22px 24px; display: flex; flex-direction: column; gap: 12px; animation: fadeUp .35s ease both; }
.of-done-ic { width: 52px; height: 52px; border-radius: 50%; background: var(--gold); display: flex; align-items: center; justify-content: center; color: #000; }
.of-done .hd { font-size: 24px; color: #000; }
.of-done p { font-size: 15px; line-height: 1.55; color: var(--g700); }
.of-done .of-linebtn { min-height: 48px; }
.of-sold { padding: 22px 24px; display: flex; flex-direction: column; gap: 14px; }
.of-sold .hd { font-size: 23px; line-height: 1.1; color: #000; }
.of-sold p { font-size: 14px; line-height: 1.55; color: var(--g700); }
.of-sold .btn { height: 58px; }
.of-sold .of-linebtn { min-height: 50px; }
.of-prop { background: var(--white); border: 1px solid var(--g200); }
.of-prop > summary { height: 60px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.of-prop > summary > span:first-child { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.of-prop summary strong { font-size: 15px; font-weight: 800; color: #000; }
.of-prop summary small { font-size: 12px; color: var(--g600); }
.of-prop .of-form { padding: 0 22px 20px; gap: 12px; animation: fadeUp .3s ease both; }
.of-prop .btn { height: 52px; }
.of-prop-note { font-size: 12px; line-height: 1.45; color: var(--g600); }
.of-prop-done { padding: 0 22px 20px; font-size: 14px; line-height: 1.55; color: #000; }
.of-agent { background: var(--white); border: 1px solid var(--g200); display: flex; flex-direction: column; }
.of-agent-top { display: flex; gap: 18px; padding: 20px 20px 0; }
.of-agent-top img, .of-agent-ph { width: 132px; height: 168px; object-fit: cover; object-position: top; flex-shrink: 0; border-bottom: 4px solid var(--gold); }
.of-agent-top > div { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; min-width: 0; }
.of-agent-top strong { font-size: 22px; line-height: 1.15; font-weight: 800; color: #000; }
.of-agent-role { font-size: 14px; color: var(--g700); }
.of-agent-rate { margin-top: 4px; display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--g700); }
.of-agent-rate svg { color: var(--gold); }
.of-agent-btns { padding: 18px 20px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.of-agent-btns a { height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 800; white-space: nowrap; }
.of-agent-tel { background: #000; color: var(--white); }
.of-agent-tel:hover { background: var(--g900); }
.of-agent-sms { border: 1.5px solid #000; color: #000; }
.of-agent-sms:hover { background: var(--gold); }
.of-legal { font-size: 12px; line-height: 1.5; color: var(--g500); }

/* Jak kupić przez dzień otwarty */
.of-steps { background: #000; padding: 84px var(--side); display: flex; flex-direction: column; gap: 34px; }
.of-steps-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.of-steps-head .hd { margin-top: 16px; font-size: 40px; line-height: 1.04; color: var(--white); }
.of-steps-head p { max-width: 360px; font-size: 15px; line-height: 1.6; color: var(--g400); }
.of-steps ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--g900); }
.of-steps li { padding: 22px 26px 0 0; display: flex; flex-direction: column; gap: 10px; }
.of-steps li b { font-size: 30px; line-height: 1; }
.of-steps li strong { font-size: 19px; font-weight: 800; color: var(--white); }
.of-steps li span { font-size: 15px; line-height: 1.55; color: var(--g400); }

/* Podobne oferty */
.of-similar { padding: 84px var(--side); display: flex; flex-direction: column; gap: 26px; }
.of-similar-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.of-similar-head .more .arrow { color: var(--gold-dk); }
.of-similar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.of-similar-grid .tcard-sim .tlabel { display: none; }
.of-similar-grid .tcard-sim .tcard-body { padding: 16px 18px 18px; gap: 4px; }
.of-similar-grid .tcard-sim .ttitle { font-size: 16px; }
.of-similar-grid .tcard-sim .tsim-par { margin-top: 6px; padding-top: 0; border-top: 0; }
.of-similar-grid .tcard-sim .tprice { left: 12px; bottom: 12px; height: 38px; padding: 0 12px; font-size: 18px; }
.of-similar-grid .tcard-sim .tprice .hd { font-size: 18px; line-height: 38px; }
.of-similar-grid .tcard-sim .tprice-open { height: 48px; }
.of-similar-grid .tcard-sim .tprice-open .hd { line-height: 1.2; font-size: 16px; }
.of-similar-grid .tcard-sim .tbadge-od { top: 12px; left: 12px; }

/* Dla sprzedających */
.of-seller { background: var(--white); border-top: 1px solid #EEE; min-height: 220px; padding: 40px var(--side); display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.of-seller > div { display: flex; flex-direction: column; gap: 8px; }
.of-seller .label { color: var(--gold-dk); }
.of-seller .hd { font-size: 32px; line-height: 1.05; color: #000; }
.of-seller .btn { height: 58px; padding: 0 26px; flex-shrink: 0; }

/* Pasek na telefonie */
.of-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; height: calc(76px + env(safe-area-inset-bottom)); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #000; border-top: 1px solid rgba(255,211,0,.6); display: flex; gap: 10px; transition: transform .3s ease; }
.of-bar.hide { transform: translateY(110%); }
.of-bar-tel { width: 56px; height: 56px; flex-shrink: 0; border: 1.5px solid var(--gold); display: flex; align-items: center; justify-content: center; color: var(--gold); }
.of-bar-tel svg { fill: currentColor; stroke: none; }
.of-bar-cta { flex-grow: 1; height: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #000; }
.of-bar-cta strong { font-size: 14px; font-weight: 800; text-transform: uppercase; }
.of-bar-cta small { font-size: 11px; font-weight: 700; }

/* Galeria pełnoekranowa (projekt) */
.lb { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #000; color: var(--white); overscroll-behavior: contain; }
.lb[open] { display: flex; flex-direction: column; }
.lb::backdrop { background: rgba(0,0,0,.92); }
.lb-top { height: 72px; flex-shrink: 0; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lb-tt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lb-tt strong { font-size: 16px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-tt small { font-size: 12px; color: #979797; }
.lb-tools { display: flex; gap: 6px; align-items: center; flex-shrink: 0; }
.lb-tab { height: 40px; padding: 0 14px; border: 1px solid var(--g700); background: transparent; color: var(--white); cursor: pointer; font-size: 13px; font-weight: 800; }
.lb-tab.on { background: var(--gold); border-color: var(--gold); color: #000; }
.lb-x { width: 48px; height: 48px; border: 1px solid var(--g700); background: transparent; color: var(--white); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.lb-stage { position: relative; flex-grow: 1; min-height: 0; display: flex; align-items: center; justify-content: center; background-color: var(--g900); background-image: repeating-linear-gradient(135deg, rgba(255,211,0,.08) 0 2px, transparent 2px 16px); }
.lb-media { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.lb-media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lb-media iframe { width: min(100%, 1200px); aspect-ratio: 16 / 9; border: 0; }
.lb-prev, .lb-next { position: absolute; top: 50%; margin-top: -32px; width: 64px; height: 64px; border-radius: 50%; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; color: #000; }
.lb-prev { left: 28px; background: var(--white); }
.lb-next { right: 28px; background: var(--gold); }
.lb-counter { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); height: 32px; padding: 0 12px; display: flex; align-items: center; background: rgba(0,0,0,.75); font-size: 13px; font-weight: 800; color: var(--white); }
.lb-counter:empty { display: none; }
.lb-thumbs { height: 112px; flex-shrink: 0; padding: 12px 28px; display: flex; gap: 8px; overflow-x: auto; }
.lb-thumbs button { width: 120px; height: 100%; flex-shrink: 0; padding: 0; border: 2px solid transparent; background: var(--g900); cursor: pointer; }
.lb-thumbs button.on { border-color: var(--gold); }
.lb-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.lb.no-thumbs .lb-thumbs, .lb.single .lb-prev, .lb.single .lb-next { display: none; }

@media print {
	.site-header, .site-footer, .of-top, .of-notes, .of-media, .of-gal-side, .of-side .of-prop, .of-form, .of-bar, .of-similar, .of-seller, .of-steps, .of-map-btns, .lb, .s-cta { display: none !important; }
	.of-body { display: block; padding: 20px 0; }
	.of-gal-grid, .of-gal-main { height: 360px; }
	.of-card { break-inside: avoid; }
}

@media (max-width: 1199px) and (min-width: 900px) {
	.of-body { grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; }
	.of-gal-grid { grid-template-columns: minmax(0, 1fr) 280px; height: 480px; }
	.of-gal-main { height: 480px; }
	.of-title { font-size: 32px; }
	.of-price .hd { font-size: 36px; }
	.of-gold { padding: 20px var(--side); }
	.of-agent-top img, .of-agent-ph { width: 104px; height: 130px; }
	.of-steps-head .hd { font-size: 32px; }
}

@media (max-width: 899px) {
	.of-notes { min-height: 0; padding: 0; }
	.of-notes .of-share { padding: 10px 16px; background: var(--white); width: 100%; }
	.of-notes .of-favnote { display: none !important; }
	.of-gal { padding: 0; }
	.of-gal-grid { display: block; height: 300px; }
	.of-gal-main { height: 300px; cursor: pointer; }
	.of-badge { top: 14px; left: 14px; height: 32px; padding: 0 12px; gap: 8px; font-size: 11px; }
	.of-badge .pulse { width: 7px; height: 7px; }
	.of-stamp { width: 150px; height: 150px; margin: -75px 0 0 -75px; border-width: 5px; gap: 8px; font-size: 18px; }
	.of-stamp-h { width: 63px; height: 30px; background-size: 6px 100%, 6px 100%, 100% 6px; background-position: 0 0, 100% 0, 0 9px; }
	.of-arr { position: absolute; top: 50%; margin-top: -22px; z-index: 3; width: 44px; height: 44px; border-radius: 50%; border: 0; display: flex; align-items: center; justify-content: center; color: #000; cursor: pointer; }
	.of-arr-l { left: 10px; background: rgba(255,255,255,.92); }
	.of-arr-r { right: 10px; background: var(--gold); }
	.of-media { left: 12px; bottom: 12px; gap: 6px; }
	.of-media button { height: 34px; padding: 0 10px; font-size: 12px; }
	.of-count { position: absolute; right: 12px; bottom: 14px; z-index: 3; height: 30px; padding: 0 10px; display: flex; align-items: center; background: rgba(0,0,0,.75); font-size: 12px; font-weight: 800; color: var(--white); }

	.of-head { margin: 0; min-height: 0; padding: 16px 16px 20px; background: var(--white); border-bottom: 0; flex-direction: column; align-items: stretch; gap: 14px; }
	.of-head-l { gap: 14px; }
	.of-head-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
	.of-util { gap: 6px; }
	.of-ubtn { padding: 0 10px; }
	.of-ubtn.sq { width: 40px; padding: 0; justify-content: center; }
	.of-title { font-size: 23px; line-height: 1.2; letter-spacing: -.5px; }
	.of-loc { gap: 6px; font-size: 14px; }
	.of-price { padding-top: 14px; border-top: 1px solid #EEE; align-items: flex-start; text-align: left; }
	.of-price .hd { font-size: 30px; }
	.of-price .hd.sm { font-size: 26px; letter-spacing: -1px; }
	.of-sub { max-width: none; }

	.of-gold { min-height: 0; padding: 2px 6px; flex-wrap: wrap; justify-content: center; gap: 0; }
	.of-gold > div { flex: none; width: 33.33%; padding: 14px 4px; gap: 6px; }
	.of-gold svg { width: 40px; height: 40px; }
	.of-gold span { font-size: 13px; }
	.of-gold strong { font-size: 16px; }

	.of-body { display: flex; flex-direction: column; gap: 0; padding: 0; }
	.of-main, .of-side { display: contents; }
	.of-panel { order: 1; margin: 16px 16px 0; scroll-margin-top: 80px; }
	.of-prop { order: 2; margin: 14px 16px 0; }
	.of-agent { order: 3; margin: 14px 16px 0; }
	.of-legal { display: none; }
	.of-main > .of-sec { order: 5; background: var(--white); padding: 24px 16px 8px; gap: 14px; }
	.of-main > .of-hl { margin-top: 24px; padding-top: 28px; }
	.of-main > .of-card { order: 6; margin: 14px 16px 0; padding: 18px 16px; background: var(--white); }
	.of-main > .of-costs-card { margin-top: 24px; }
	.of-main > .of-details-sec { order: 7; margin-top: 24px; padding-top: 32px; }
	.of-main > .of-map-sec, .of-main > .of-faq-sec { order: 8; }
	.of-main > .of-faq-sec { padding-bottom: 40px; }
	.of-h .hd { font-size: 24px; }
	.of-desc-body { font-size: 15px; }
	.of-od { padding: 18px 16px 20px; }
	.of-form { padding: 18px 16px; }
	.of-form > .hd { font-size: 21px; }
	.of-done, .of-sold { padding: 18px 16px; }
	.of-prop > summary { padding: 0 16px; }
	.of-prop .of-form { padding: 0 16px 20px; }
	.of-prop-done { padding: 0 16px 20px; }
	.of-agent-top { gap: 14px; padding: 16px 16px 0; }
	.of-agent-top img, .of-agent-ph { width: 104px; height: 130px; }
	.of-agent-top strong { font-size: 19px; }
	.of-agent-btns { padding: 14px 16px 16px; }
	.of-cost { font-size: 14px; }
	.of-costs-total .hd { font-size: 20px; }
	.of-rata .hd { font-size: 28px; }
	.of-details { grid-template-columns: 1fr; }
	.of-details > div { font-size: 14px; }
	.of-map { height: 220px; }
	.of-faq summary { font-size: 15px; }

	.of-steps { padding: 40px 16px; gap: 14px; }
	.of-steps-head .hd { margin-top: 14px; font-size: 26px; line-height: 1.06; }
	.of-steps ol { display: flex; flex-direction: column; border-top: 0; }
	.of-steps li { padding: 14px 0; border-top: 1px solid var(--g900); display: grid; grid-template-columns: 42px 1fr; column-gap: 10px; row-gap: 4px; }
	.of-steps li b { grid-row: 1 / 3; font-size: 22px; line-height: 1.2; }
	.of-steps li strong { font-size: 17px; }
	.of-steps li span { font-size: 14px; line-height: 1.5; }

	.of-similar { padding: 36px 0; gap: 14px; }
	.of-similar-head { padding: 0 16px; }
	.of-similar-head .label { color: #000; }
	.of-similar-grid { display: flex; gap: 12px; overflow-x: auto; padding: 0 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.of-similar-grid::-webkit-scrollbar { display: none; }
	.of-similar-grid .tcard-sim { width: 270px; flex-shrink: 0; scroll-snap-align: start; }
	.of-similar-grid .tcard-sim:hover { transform: none; box-shadow: none; }

	.of-seller { min-height: 0; padding: 32px 16px 40px; flex-direction: column; align-items: stretch; gap: 20px; }
	.of-seller > div { gap: 14px; }
	.of-seller .hd { font-size: 24px; line-height: 1.06; }
	.of-seller .btn { height: 56px; }
	.single-hl_oferta .site-footer { padding-bottom: calc(108px + env(safe-area-inset-bottom)); }

	.lb-top { height: 64px; padding: 0 12px; }
	.lb-tt strong { font-size: 14px; }
	.lb-prev, .lb-next { width: 44px; height: 44px; margin-top: -22px; }
	.lb-prev { left: 8px; }
	.lb-next { right: 8px; }
	.lb-thumbs { height: auto; padding: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px)); }
	.lb-thumbs button { height: 62px; }
	.lb-thumbs button { width: 88px; }
}

/* =========================== Strona główna – 1:1 z projektu =========================== */
.hdr-tel { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; }
@media (max-width: 1079px) { body.home .hdr-tel { display: flex; } .hdr-right { gap: 4px; } }
.gold-text-l { background: linear-gradient(180deg, #B28000 0%, #8B6300 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.h-outline { color: transparent !important; -webkit-text-stroke: 1.5px var(--gold); }
.h-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--gold); flex-shrink: 0; display: inline-block; }
.hpage .label { display: block; }
.hpage .dist { margin-top: 14px; }

/* HERO */
.h-hero { position: relative; z-index: 1; margin-top: -110px; min-height: 820px; padding: 174px 96px 64px; background: #000; overflow: hidden; color: var(--white); }
.h-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.h-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.88) 42%, rgba(0,0,0,.45) 100%); }
.h-hero-in { position: relative; max-width: 1248px; margin: 0 auto; display: flex; justify-content: space-between; gap: 64px; }
.h-hero-txt { width: 600px; padding-top: 36px; display: flex; flex-direction: column; }
.h-hero-txt h1.label { margin: 0; color: var(--gold); }
.h-hero-h { margin-top: 28px; font-size: 58px; line-height: 1.02; color: var(--white); }
.h-hero-h2 { margin-top: 18px; font-size: 30px; line-height: 1.05; letter-spacing: -.5px; color: var(--white); }
.h-hero-lead { margin-top: 26px; font-size: 18px; line-height: 1.6; color: var(--g300); max-width: 520px; }
.h-hero-btns { margin-top: 26px; display: flex; gap: 14px; }
.h-hero-btns .btn { height: 56px; padding: 0 28px; font-size: 15px; }
.h-btn-ghost { height: 56px; padding: 0 26px; border: 1.5px solid rgba(255,255,255,.75); display: inline-flex; align-items: center; font-size: 15px; font-weight: 700; text-transform: uppercase; color: var(--white); transition: background .15s ease, color .15s ease; }
.h-btn-ghost:hover { background: var(--white); color: #000; }

/* Formularz */
.h-form { width: 540px; flex-shrink: 0; align-self: flex-start; background: var(--white); border-top: 5px solid var(--gold); box-shadow: 0 40px 80px -20px rgba(0,0,0,.6); color: #000; scroll-margin-top: 84px; }
.h-form-in { padding: 34px 36px 30px; display: flex; flex-direction: column; gap: 22px; }
.h-form-head { display: flex; flex-direction: column; gap: 10px; }
.h-mode { display: grid; grid-template-columns: 1fr 1fr; border: 1.5px solid #000; }
.h-mode button { height: 46px; border: 0; background: var(--white); font: inherit; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #000; cursor: pointer; }
.h-mode button + button { border-left: 1.5px solid #000; }
.h-mode button.on { background: #000; color: var(--gold); }
.h-mode button:not(.on):hover { background: #FFF6CC; }
.h-lab { display: block; font-size: 14px; font-weight: 700; color: #000; margin-bottom: 4px; }
.h-lab span { font-weight: 400; color: var(--g700); }
[data-m][hidden] { display: none !important; }
.h-form-head .hd { font-size: 30px; line-height: 1.05; color: #000; }
.h-form-head p { font-size: 16px; line-height: 1.5; color: var(--g700); }
.h-form-sit { align-self: flex-start; margin-top: 4px; padding: 6px 10px; background: #000; color: var(--gold); font-size: 12px; font-weight: 700; }
.h-form-prog { display: flex; flex-direction: column; gap: 10px; }
.h-form-prog-l { display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--g600); }
.h-form-bar { height: 5px; background: #EEE; }
.h-form-bar > div { height: 5px; width: 25%; transition: width .35s ease; }
.h-step { display: flex; flex-direction: column; gap: 12px; }
.h-step[data-step="2"] { gap: 18px; }
.h-step[data-step="4"] { gap: 16px; }
.h-q { margin: 0 0 2px; font-size: 19px; font-weight: 700; color: #000; }
.h-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.h-tile { height: 92px; border: 1.5px solid var(--g300); background: var(--white); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; padding: 0 18px; font-size: 16px; font-weight: 700; text-align: left; color: #000; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.h-tile:hover { border-color: var(--gold-2); }
.h-tile.on { border-color: var(--gold-2); background: #FFF6CC; }
.h-tile.wide, .h-tile.when { justify-content: flex-start; }
.h-tile.wide { height: 58px; flex-direction: row; align-items: center; gap: 12px; }
.h-tile.when { width: 100%; height: 62px; flex-direction: row; align-items: center; gap: 14px; font-weight: 600; }
.h-radio { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #B3B3B3; background: var(--white); box-shadow: inset 0 0 0 4px var(--white); flex-shrink: 0; }
.h-tile.on .h-radio { border-color: #000; background: #000; }
.h-fld { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.h-fld label { font-size: 14px; font-weight: 700; color: #000; }
.h-fld label > span { font-weight: 500; color: var(--g600); }
.h-towns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.h-chip { height: 36px; padding: 0 14px; border: 1px solid var(--g300); background: var(--white); font-size: 14px; font-weight: 600; color: #000; cursor: pointer; }
.h-chip:hover { border-color: var(--gold-2); }
.h-chip.on { border-color: var(--gold-2); background: #FFF6CC; }
.h-err { margin: 0; font-size: 13px; font-weight: 600; color: #B42318; }
p.h-err { font-size: 14px; }
.h-nav { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.h-nav .btn { height: 56px; padding: 0 30px; font-size: 15px; }
.h-nav.sm { margin-top: 0; }
.h-back { align-self: flex-start; height: 48px; background: transparent; border: 0; cursor: pointer; color: var(--g600); font-size: 14px; font-weight: 700; text-transform: uppercase; padding: 0; }
.h-back:hover { color: #000; }
.h-nav.sm .h-back { height: 36px; font-size: 13px; }
.h-row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.h-check { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.45; color: #444; cursor: pointer; }
.h-check input { width: 20px; height: 20px; margin: 0; flex-shrink: 0; accent-color: #000; }
.h-check a { text-decoration: underline; }
.h-submit { height: 62px; font-size: 16px; }
.h-safe { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--g600); }
.h-done { gap: 18px; }
.h-done-h { display: flex; align-items: center; gap: 14px; }
.h-done-h > span { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #000; }
.h-done-h .hd { font-size: 24px; line-height: 1.1; color: #000; }
.h-done > p { font-size: 15px; line-height: 1.55; color: #444; }
.h-done-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.h-done-tags span { padding: 6px 12px; background: #000; font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--gold); }
.h-plan { border: 1px solid var(--g200); border-left: 4px solid var(--gold); padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; }
.h-plan-h { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #000; }
.h-plan p:not(.h-plan-h):not(.h-plan-n) { font-size: 14px; line-height: 1.5; color: #444; }
.h-plan-g { display: grid; grid-template-columns: 150px minmax(0, 1fr); row-gap: 10px; column-gap: 12px; font-size: 14px; line-height: 1.35; }
.h-plan-g span:nth-child(odd) { font-weight: 800; color: #000; }
.h-plan-g span:nth-child(even) { color: #444; }
.h-plan-g .hl { background: #FFF2BF; padding: 0 4px; justify-self: start; }
.h-plan-n { font-size: 12px; color: var(--g600); }

/* Pasek zaufania */
.h-trust { background: #000; border-top: 1px solid rgba(255,211,0,.5); min-height: 200px; padding: 0 96px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
.h-trust > div { padding: 0 32px; display: flex; flex-direction: column; gap: 8px; border-right: 1px solid rgba(255,255,255,.12); }
.h-trust > div:last-child { border-right: 0; }
.h-trust .hd { font-size: 50px; line-height: 1; }
.h-trust > div > span:last-child { font-size: 14px; line-height: 1.45; color: var(--g400); }

/* Metoda */
.h-proc { background-color: #000; background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 120px); border-top: 1px solid rgba(255,211,0,.35); padding: 110px var(--side) 100px; display: flex; flex-direction: column; color: var(--white); }
.h-proc-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.h-proc-l { width: 660px; display: flex; flex-direction: column; }
.h-proc-l .hd { margin-top: 22px; font-size: 46px; line-height: 1.04; color: var(--white); }
.h-proc-p { margin-top: 18px; font-size: 18px; line-height: 1.6; color: var(--g400); max-width: 600px; }
.h-proc-note { margin-top: 28px; display: flex; align-items: center; gap: 14px; padding: 16px 20px; background: rgba(255,211,0,.08); border-left: 3px solid var(--gold); }
.h-proc-note .h-dot { width: 10px; height: 10px; }
.h-proc-note > span:last-child { font-size: 15px; line-height: 1.5; color: var(--g200); }
.h-proc-note strong { color: var(--white); }
.h-proc-note strong.gold { color: var(--gold); }
.h-proc-big { display: flex; align-items: flex-end; gap: 18px; padding-bottom: 6px; }
.h-proc-big > .hd { font-size: 270px; line-height: .78; letter-spacing: -14px; }
.h-proc-big > div { display: flex; flex-direction: column; gap: 12px; padding-bottom: 4px; }
.h-proc-big > div .hd { font-size: 72px; line-height: .85; color: var(--white); letter-spacing: -2px; }
.h-proc-big > div > span:last-child { font-size: 15px; line-height: 1.45; color: var(--g400); width: 190px; }
.h-cal { margin-top: 56px; }
.h-cal-top { display: flex; justify-content: space-between; align-items: center; font-size: 13px; font-weight: 600; color: var(--g500); }
.h-cal-top span:first-child { text-transform: uppercase; letter-spacing: .08em; }
.h-cal-row { margin-top: 14px; display: grid; grid-template-columns: 2.2fr 1.6fr 1fr 1fr 1fr 1fr 1.6fr 1fr 1fr 1fr 1.6fr; gap: 6px; }
.h-cell { height: 168px; padding: 14px 12px; background: #000; border: 1px solid rgba(255,255,255,.05); display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; text-align: left; cursor: pointer; transition: background .25s ease; min-width: 0; }
.h-cell-top { font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #979797; }
.h-cell-num { line-height: .9; color: #979797; letter-spacing: -1px; }
.h-cell-lab { font-size: 11px; font-weight: 700; text-transform: uppercase; line-height: 1.25; letter-spacing: .02em; color: #979797; }
.h-cell.key { border-color: rgba(255,211,0,.6); }
.h-cell.key .h-cell-top, .h-cell.key .h-cell-lab { color: var(--g200); }
.h-cell.key .h-cell-num { color: var(--gold); }
.h-cell:not(.key).on { background: var(--g900); border-color: rgba(255,211,0,.35); }
.h-cell:not(.key).on .h-cell-num { color: var(--white); }
.h-cell:not(.key).on .h-cell-top, .h-cell:not(.key).on .h-cell-lab { color: var(--g400); }
.h-cell.key.on { background: var(--grad); border-color: transparent; }
.h-cell.key.on * { color: #000 !important; }
.h-cell:hover { border-color: var(--gold-2); }
.h-cal-prog { margin-top: 12px; height: 4px; background: rgba(255,255,255,.08); }
.h-cal-prog > div { height: 4px; width: 74%; transition: width .5s cubic-bezier(.2,.7,.2,1); }
.h-phase { margin-top: 24px; background: #000; }
.h-phase-in { display: grid; grid-template-columns: 300px minmax(0, 1fr) 300px; animation: fadeUp .35s ease both; }
.h-phase-a { padding: 26px 30px; border-right: 1px solid rgba(255,211,0,.3); display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.h-phase-when, .h-phase-c > span { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.h-phase-big { font-size: 62px; line-height: .95; letter-spacing: -2px; }
.h-phase-a h3.hd { font-size: 20px; color: var(--white); letter-spacing: -.3px; }
.h-phase-b { padding: 26px 32px; display: grid; gap: 28px; align-content: center; }
.h-phase-step { display: flex; gap: 14px; }
.h-phase-step > .hd { font-size: 34px; line-height: 1; letter-spacing: -1px; }
.h-phase-step h3 { font-size: 17px; font-weight: 700; color: var(--white); }
.h-lock { margin-top: 4px; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #979797; }
.h-lock svg { color: var(--gold); }
.h-phase-c { padding: 26px 30px; background: #1F1F1F; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.h-phase-c strong { font-size: 17px; line-height: 1.45; font-weight: 600; color: var(--white); }
.h-proc-cta { margin-top: 44px; display: flex; align-items: center; gap: 24px; }
.h-proc-cta .btn { height: 60px; padding: 0 30px; font-size: 15px; flex-shrink: 0; }
.h-proc-cta > span { font-size: 15px; color: var(--g400); }

/* Dni otwarte */
.h-od { position: relative; background: var(--g100); padding: 104px var(--side) 100px; display: flex; flex-direction: column; }
.h-beam-od { --t: 12px; width: 60px; height: 320px; left: 30px; top: -220px; }
.h-od-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 64px; }
.h-od-head .label { color: #000; }
.h-od-head .hd { margin-top: 22px; font-size: 64px; line-height: .98; color: #000; letter-spacing: -2px; }
.h-od-head > p { width: 470px; flex-shrink: 0; font-size: 18px; line-height: 1.6; color: #444; }
.h-vs { position: relative; margin-top: 56px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.h-vs-card { background: var(--white); border: 1px solid var(--g200); padding: 32px; display: flex; flex-direction: column; gap: 24px; }
.h-vs-card.hl { order: 2; background: #000; border-color: var(--gold); box-shadow: 0 40px 80px -30px rgba(0,0,0,.45); }
.h-vs-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.h-vs-head .hd { font-size: 22px; color: var(--g600); letter-spacing: -.3px; }
.h-vs-card.hl .h-vs-head .hd { color: var(--white); }
.h-vs-tag { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--g500); }
.h-vs-card.hl .h-vs-tag { color: var(--gold); }
.h-vs-body { display: flex; gap: 28px; }
.h-mcal { flex-shrink: 0; display: flex; flex-direction: column; gap: 8px; }
.h-mcal-t { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #000; }
.hl .h-mcal-t { color: var(--white); }
.h-mcal-g { display: grid; grid-template-columns: repeat(7, 30px); gap: 5px; }
.h-mcal-dow { font-size: 10px; font-weight: 700; color: #979797; text-align: center; }
.hl .h-mcal-dow { color: var(--g500); }
.h-mcal-g:not(.h-mcal-dow) span { width: 30px; height: 30px; background: #FAFAFA; border: 1px solid #EEE; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 500; color: #979797; }
.h-mcal-g:not(.h-mcal-dow) span.b { background: transparent; border-color: transparent; }
.h-mcal-g span.tv { background: var(--g200) !important; border-color: var(--g400) !important; color: #000 !important; font-weight: 800 !important; }
.hl .h-mcal-g:not(.h-mcal-dow) span { background: #1F1F1F; border-color: rgba(255,255,255,.06); color: var(--g500); }
.hl .h-mcal-g:not(.h-mcal-dow) span.b { background: transparent; border-color: transparent; }
.hl .h-mcal-g span.pub { border-color: var(--gold); color: var(--gold); font-weight: 800; }
.hl .h-mcal-g span.sat { background: var(--gold); border-color: var(--gold); color: #000; font-weight: 800; box-shadow: 0 0 0 4px rgba(255,211,0,.25), 0 0 20px rgba(255,211,0,.55); }
.h-mcal-n { font-size: 12px; color: var(--g500); }
.hl .h-mcal-n { color: var(--g400); }
.h-vs-list { display: flex; flex-direction: column; gap: 14px; }
.h-vs-list > div { display: flex; gap: 12px; align-items: flex-start; }
.h-vs-list svg { flex-shrink: 0; margin-top: 1px; color: #ADADAD; }
.hl .h-vs-list svg { color: var(--gold); }
.h-vs-list h3 { font-size: 15px; font-weight: 700; color: var(--g700); }
.hl .h-vs-list h3 { color: var(--white); }
.h-vs-list span { display: block; font-size: 13px; line-height: 1.4; color: var(--g500); margin-top: 2px; }
.hl .h-vs-list span { color: var(--g400); }
.h-vs-badge { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #000; box-shadow: 0 0 0 8px var(--g100); letter-spacing: 0; }
.h-proof { margin-top: 32px; padding: 30px 40px; display: flex; align-items: center; gap: 40px; color: #000; }
.h-proof-a, .h-proof-b { display: flex; flex-direction: column; gap: 4px; }
.h-proof-a { width: 280px; }
.h-proof-b { width: 300px; }
.h-proof-l { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #483300; }
.h-proof .hd { font-size: 44px; line-height: 1; color: #000; letter-spacing: -1.5px; }
.h-proof-s { font-size: 14px; font-weight: 600; color: #483300; }
.h-proof-arr { width: 72px; height: 24px; flex-shrink: 0; }
.h-proof-q { margin-left: auto; width: 300px; border-left: 2px solid rgba(0,0,0,.25); padding-left: 28px; font-size: 14px; line-height: 1.5; color: #000; }
.h-next { margin-top: 32px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; align-items: stretch; }
.h-next-a { background: #000; border-top: 4px solid var(--gold); padding: 24px 26px; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; }
.h-next-lab { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.h-next-lab .pulse { width: 9px; height: 9px; }
.h-next-a .hd { font-size: 26px; line-height: 1.05; color: var(--white); }
.h-next-s { font-size: 14px; color: var(--g400); }
.more.gold { color: var(--gold); }
.h-next-img { position: relative; min-height: 190px; overflow: hidden; }
.h-next-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.h-next-c { border: 1.5px solid #000; padding: 24px 26px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.h-next-c .hd { font-size: 22px; line-height: 1.1; color: #000; }
.h-next-c > span:nth-child(2) { font-size: 14px; line-height: 1.5; color: var(--g700); }
.h-next-c .btn { height: 54px; }

/* Trudne sprawy */
.h-sit { position: relative; background: #000; padding: 104px var(--side); color: var(--white); }
.h-beam-sit { --t: 12px; width: 60px; height: 320px; right: 30px; top: -110px; }
.h-sit-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 64px; }
.h-sit-head > div:first-child { width: 720px; }
.h-sit-head .hd { margin-top: 22px; font-size: 54px; line-height: 1; color: var(--white); letter-spacing: -1.5px; }
.h-sit-head p { margin-top: 18px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.h-sit-q { width: 360px; border-left: 3px solid var(--gold); padding-left: 24px; display: flex; flex-direction: column; gap: 8px; }
.h-sit-q .hd { font-size: 28px; line-height: 1.1; color: var(--white); }
.h-sit-q > span:last-child { font-size: 13px; color: var(--g500); }
.h-sit-grid { margin-top: 52px; display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 28px; align-items: start; }
.h-sit-hint { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--g500); margin-bottom: 12px; }
.h-sit-list { display: flex; flex-direction: column; gap: 8px; }
.h-sit-list button { height: 66px; padding: 0 20px; background: #000; border: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; gap: 16px; cursor: pointer; text-align: left; transition: background .2s ease, border-color .2s ease; }
.h-sit-list button:hover { border-color: rgba(255,211,0,.6); }
.h-sit-list button .hd { font-size: 18px; color: var(--gold); letter-spacing: 0; }
.h-sit-list button > span:last-child { font-size: 16px; font-weight: 700; color: var(--white); }
.h-sit-list button.on { background: var(--grad); border-color: var(--gold); }
.h-sit-list button.on .hd, .h-sit-list button.on > span:last-child { color: #000; }
.h-sit-panel { background: #000; padding: 36px 40px; display: flex; flex-direction: column; gap: 24px; min-height: 460px; animation: fadeUp .35s ease both; }
.h-sit-ph { display: flex; flex-direction: column; gap: 10px; }
.h-sit-ph .hd { font-size: 34px; line-height: 1.05; color: var(--white); letter-spacing: -1px; }
.h-sit-ph > span { font-size: 16px; line-height: 1.5; color: var(--g400); }
.h-sit-ph b { color: var(--gold); }
.h-sit-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding-top: 22px; border-top: 1px solid rgba(255,211,0,.3); }
.h-sit-steps > div { display: flex; flex-direction: column; gap: 8px; }
.h-sit-steps .hd { font-size: 40px; line-height: 1; letter-spacing: -1px; }
.h-sit-steps h3 { font-size: 16px; font-weight: 700; color: var(--white); }
.h-sit-steps span:not(.hd) { font-size: 14px; line-height: 1.45; color: var(--g400); }
.h-sit-quote { background: #1F1F1F; padding: 20px 24px; display: flex; gap: 16px; align-items: flex-start; }
.h-sit-quote > .hd { font-size: 54px; line-height: .8; }
.h-sit-quote > div { display: flex; flex-direction: column; gap: 8px; }
.h-sit-quote > div > span { font-size: 16px; line-height: 1.5; color: var(--white); }
.h-sit-quote b { font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--gold); }
.h-sit-cta { margin-top: auto; display: flex; align-items: center; gap: 20px; }
.h-sit-cta .btn { height: 58px; padding: 0 28px; flex-shrink: 0; }
.h-sit-cta > span { font-size: 14px; color: var(--g400); }

/* Historie */
.h-cases { background: var(--g100); padding: 88px var(--side) 88px; display: flex; flex-direction: column; gap: 34px; }
.h-cases-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.h-cases-head .label { color: #000; }
.h-cases-head .hd { margin-top: 22px; font-size: 44px; line-height: 1.02; color: var(--g900); }
.h-cases-head > p { max-width: 380px; font-size: 16px; line-height: 1.6; color: var(--g700); }
.h-cases-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.h-cases-grid article { position: relative; min-height: 320px; background: var(--white); border: 1px solid var(--g200); border-top: 4px solid var(--gold); padding: 28px; display: flex; flex-direction: column; gap: 8px; }
.h-stamp { position: absolute; top: 18px; right: 18px; width: 84px; height: 84px; border-radius: 50%; border: 3px solid #000; background: var(--white); transform: rotate(-9deg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.h-stamp-h { display: block; width: 35px; height: 16px; background: linear-gradient(#000, #000) 0 0 / 4px 100% no-repeat, linear-gradient(#000, #000) 100% 0 / 4px 100% no-repeat, linear-gradient(#000, #000) 0 4px / 100% 4px no-repeat; }
.h-stamp > span:last-child { font-size: 10px; font-weight: 900; text-transform: uppercase; color: #000; }
.h-case-l { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-dk); max-width: 230px; }
.h-case-n { margin-top: 8px; font-size: 80px; line-height: .9; color: #000; letter-spacing: -2px; }
.h-case-s { font-size: 16px; font-weight: 800; color: #000; }
.h-case-t { margin-top: 6px; font-size: 15px; line-height: 1.5; color: var(--g900); }
.h-case-f { margin-top: auto; font-size: 12px; color: var(--g500); }

/* Opinie */
.h-rev { position: relative; background: var(--white); padding: 100px var(--side); display: flex; flex-direction: column; gap: 48px; }
.h-beam-rev { --t: 12px; width: 60px; height: 320px; left: 30px; top: -230px; }
.h-rev-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }
.h-rev-head .label { color: #000; }
.h-rev-head .hd { margin-top: 22px; font-size: 46px; line-height: 1.04; color: var(--g900); }
.h-rev-score { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.h-rev-score > div { display: flex; flex-direction: column; align-items: flex-end; }
.h-rev-score .hd { font-size: 50px; line-height: 1; color: #000; }
.h-rev-score > div > span:last-child { font-size: 13px; color: var(--g600); }
.h-rev-score .btn-line { height: 54px; padding: 0 22px; font-size: 14px; font-weight: 700; }
.h-rev-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.h-rev-grid figure { background: var(--g100); border-top: 4px solid var(--gold); padding: 28px; display: flex; flex-direction: column; gap: 18px; justify-content: space-between; }
.h-rev-grid figure > div { display: flex; flex-direction: column; gap: 14px; }
.h-stars { display: flex; gap: 2px; }
.h-rev-grid blockquote { font-size: 18px; line-height: 1.5; font-weight: 500; color: #000; }
.h-rev-grid figcaption { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--g600); }
.h-rev-grid figcaption b { font-weight: 800; color: #000; text-transform: uppercase; }

/* Zespół */
.h-team { background: #000; padding: 96px var(--side); display: flex; flex-direction: column; gap: 48px; }
.h-team-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.h-team-head .hd { margin-top: 22px; font-size: 46px; line-height: 1.04; color: var(--g100); }
.h-team-head .more { flex-shrink: 0; }
.h-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.h-agent { display: flex; flex-direction: column; }
.h-agent img, .h-agent-ph { width: 100%; height: 400px; object-fit: cover; object-position: top; display: block; }
.h-agent-b { background: #000; border: 1px solid rgba(255,211,0,.5); border-top: 0; padding: 18px 20px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.h-agent-b h3 { font-size: 17px; font-weight: 800; text-transform: uppercase; color: var(--white); }
.h-agent-b span { display: block; font-size: 13px; color: var(--g400); margin-top: 2px; }
.h-agent-b a { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.h-join { min-height: 470px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px 22px; border: 1.5px dashed rgba(255,211,0,.6); background: repeating-linear-gradient(135deg, rgba(255,211,0,.05) 0 2px, transparent 2px 18px); color: var(--white); transition: border-color .3s ease, transform .4s cubic-bezier(.2,.7,.2,1); }
.h-join:hover, .h-off-wait:hover { border-color: var(--gold); transform: translateY(-6px); }
.h-join-box .h-outline, .h-off-wait > .h-outline { font-size: 54px; line-height: 1; letter-spacing: -2px; }
.h-join-t { display: flex; flex-direction: column; gap: 14px; }
.h-join-lab { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.h-join-t .hd { font-size: 30px; line-height: 1.02; letter-spacing: -1px; color: var(--white); }
.h-join-p { font-size: 14px; line-height: 1.5; color: var(--g400); }
.h-join .btn, .h-off-wait .btn { height: 54px; font-size: 13px; }

/* Nowe oferty */
.h-off { background: #000; padding: 100px var(--side); display: flex; flex-direction: column; overflow: hidden; color: var(--white); }
.h-off-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.h-off-lab { display: flex !important; align-items: center; gap: 10px; }
.h-off-head .hd { margin-top: 18px; font-size: 104px; line-height: .86; letter-spacing: -4px; color: var(--white); }
.h-off-head .h-outline { -webkit-text-stroke-width: 2px; }
.h-off-tabs { display: flex; gap: 2px; padding: 4px; background: #000; border: 1px solid rgba(255,255,255,.08); }
.h-off-tabs button { height: 44px; padding: 0 18px; border: 0; background: transparent; color: var(--g400); display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; transition: background .25s ease; }
.h-off-tabs button span { font-size: 12px; opacity: .7; }
.h-off-tabs button.on { background: var(--grad); color: #000; }
.h-off-set { margin-top: 52px; }
.h-off-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.nocard { position: relative; height: 580px; display: flex; flex-direction: column; background: #000; border: 1px solid rgba(255,255,255,.08); color: var(--white); transition: border-color .3s ease, transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.nocard:hover { border-color: var(--gold); transform: translateY(-6px); box-shadow: 0 30px 60px -20px rgba(0,0,0,.8); }
.nocard:hover .tarrow { background: var(--gold); color: #000; }
.nocard-img { position: relative; height: 330px; overflow: hidden; flex-shrink: 0; display: block; background: var(--g900); }
.nocard-img img, .nocard-img .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nocard-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,0) 70%, rgba(0,0,0,.5) 100%); }
.nocard-n { position: absolute; top: 14px; left: 16px; font-size: 54px; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--gold); letter-spacing: -2px; }
.nocard-tags { position: absolute; top: 18px; right: 16px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.nocard-new.g { background: var(--grad); }
.nocard-new { height: 28px; padding: 0 10px; display: flex; align-items: center; background: var(--white); color: #000; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.nocard-od { position: absolute; left: 16px; right: 16px; bottom: 44px; height: 34px; display: flex; align-items: center; justify-content: center; gap: 8px; background: rgba(0,0,0,.82); border: 1px solid var(--gold); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.nocard-od .pulse { width: 7px; height: 7px; }
.nocard-price { position: absolute; left: 16px; top: 306px; z-index: 1; height: 48px; padding: 0 16px; display: flex; align-items: center; font-size: 22px; color: #000; letter-spacing: -.5px; box-shadow: 0 12px 24px -8px rgba(0,0,0,.6); white-space: nowrap; }
.nocard-price.ask { font-size: 16px; color: var(--gold); background: #000; border: 1.5px solid var(--gold); letter-spacing: 0; }
.nocard-price.open { top: 296px; height: auto; min-height: 60px; padding-top: 6px; padding-bottom: 6px; max-width: calc(100% - 32px); white-space: normal; flex-direction: column; align-items: flex-start; justify-content: center; }
.nocard-price.open small { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nocard-price.open .hd { font-size: 20px; letter-spacing: -.5px; }
.nocard-body { flex-grow: 1; padding: 44px 20px 20px; display: flex; flex-direction: column; gap: 14px; }
.nocard-t { display: flex; flex-direction: column; gap: 6px; }
.nocard-t strong { font-size: 19px; font-weight: 800; line-height: 1.2; color: var(--white); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nocard-loc { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--g500); }
.nocard-loc svg { color: var(--gold); flex-shrink: 0; }
.nocard-par { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); padding: 12px 0; }
.nocard-par > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nocard-par > span + span { border-left: 1px solid rgba(255,255,255,.1); padding-left: 10px; }
.nocard-par small { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--g500); }
.nocard-par b { font-size: 14px; font-weight: 800; }
.nocard-cta { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.tarrow { width: 42px; height: 42px; border: 1px solid var(--gold); display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 18px; flex-shrink: 0; transition: background .15s ease, color .15s ease; }
.h-off-wait { height: 580px; display: flex; flex-direction: column; justify-content: space-between; padding: 26px 22px; border: 1.5px dashed rgba(255,211,0,.6); background: repeating-linear-gradient(135deg, rgba(255,211,0,.05) 0 2px, transparent 2px 18px); color: var(--white); transition: border-color .3s ease, transform .4s cubic-bezier(.2,.7,.2,1); }
.h-off-wait-t { display: flex; flex-direction: column; gap: 14px; }
.h-off-wait-t .hd { font-size: 30px; line-height: 1.02; letter-spacing: -1px; }
.h-off-empty { min-height: 580px; border: 1px solid rgba(255,211,0,.4); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; text-align: center; padding: 40px; }
.h-off-empty > .hd { font-size: 44px; line-height: 1; letter-spacing: -1.5px; }
.h-off-empty > span:nth-child(2) { font-size: 17px; line-height: 1.6; color: var(--g400); max-width: 560px; }
.h-off-empty .btn { height: 56px; padding: 0 28px; }
.h-alert { margin-top: 28px; display: flex; align-items: center; gap: 28px; padding: 22px 28px; background: #000; border: 1px solid rgba(255,255,255,.08); }
.h-alert-t { display: flex; flex-direction: column; gap: 4px; flex-shrink: 0; }
.h-alert-t .hd { font-size: 20px; color: var(--white); letter-spacing: -.3px; }
.h-alert-t > span:last-child { font-size: 13px; color: var(--g500); }
.h-alert-f { flex-grow: 1; display: flex; flex-wrap: wrap; gap: 8px; }
.h-alert-f .field { flex: 1 1 200px; width: auto; border-color: var(--g900); background: #000; color: var(--white); }
.h-alert-f .btn { height: 56px; padding: 0 22px; font-size: 13px; flex-shrink: 0; }
.h-alert-f .form-err { width: 100%; color: #FF8A80; }
.h-alert-done { flex-grow: 1; font-size: 16px; font-weight: 700; color: var(--gold); }
.h-alert-all { color: var(--white); flex-shrink: 0; border-left: 1px solid rgba(255,255,255,.12); padding-left: 28px; }
.h-alert-all .arrow { color: var(--gold); }

/* Obszar działania */
.h-local { padding: 100px var(--side); display: flex; gap: 80px; align-items: center; justify-content: space-between; }
.h-local-txt { width: 560px; flex-shrink: 0; display: flex; flex-direction: column; }
.h-local .label, .h-mkt .label, .h-office .label, .h-faq .label { color: #000; }
.h-local-txt .hd { margin-top: 22px; font-size: 46px; line-height: 1.04; color: var(--g900); }
.h-local-txt > p { margin-top: 18px; font-size: 17px; line-height: 1.6; color: var(--g700); }
.h-local-links { margin-top: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.h-local-links a { height: 48px; border-bottom: 1px solid var(--g200); display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; font-weight: 700; text-transform: uppercase; color: #000; }
.h-local-links .arrow { color: var(--gold-dk); }
.h-local-links a:hover .arrow { transform: translateX(4px); }
.h-local-map { width: 560px; height: 480px; flex-shrink: 0; background: #000; overflow: hidden; }
.h-local-map svg { display: block; width: 100%; height: 100%; }

/* Ceny */
.h-mkt { background: var(--white); padding: 96px var(--side); display: flex; gap: 80px; align-items: flex-start; border-top: 1px solid #EEE; }
.h-mkt-txt { width: 540px; flex-shrink: 0; display: flex; flex-direction: column; }
.h-mkt-txt .hd { margin-top: 22px; font-size: 46px; line-height: 1.04; color: var(--g900); }
.h-mkt-lead { margin-top: 18px; font-size: 17px; line-height: 1.6; color: var(--g700); }
.h-mkt-lead strong { color: #000; }
.h-mkt-seo { margin-top: 16px; font-size: 15px; line-height: 1.65; color: var(--g700); }
.h-mkt-seo a { color: var(--gold-dk); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.h-mkt-btns { margin-top: 30px; display: flex; gap: 14px; }
.h-mkt-btns .btn { height: 54px; padding: 0 24px; font-weight: 800; }
.h-btn-line { height: 54px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid #000; font-size: 14px; font-weight: 800; text-transform: uppercase; color: #000; transition: background .15s ease, color .15s ease; }
.h-btn-line:hover { background: #000; color: var(--g100); }
.h-mkt-data { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.h-kpi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--g200); border: 1px solid var(--g200); }
.h-kpi > div { background: var(--white); padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 6px; }
.h-kpi .hd { font-size: 34px; line-height: 1; letter-spacing: -.5px; color: #000; }
.h-kpi > div > span:last-child { font-size: 13px; line-height: 1.35; color: var(--g600); }
.h-chart { position: relative; display: flex; flex-direction: column; gap: 8px; }
.h-mini-h { display: flex; justify-content: space-between; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--g600); }
.h-chart svg { display: block; width: 100%; height: 110px; }
.h-chart-dot { position: absolute; right: calc(8 / 560 * 100% - 6px); bottom: calc(110px * var(--f, .918) - 6px); width: 12px; height: 12px; border-radius: 50%; background: #000; border: 2px solid var(--gold); }
.h-sizes { display: flex; flex-direction: column; }
.h-sizes .h-mini-h { display: block; padding-bottom: 4px; }
.h-sizes > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 11px 0; border-bottom: 1px solid #EEE; font-size: 15px; }
.h-sizes > div span:first-child { color: var(--g900); }
.h-sizes > div span:last-child { color: var(--g600); text-align: right; }
.h-sizes strong { color: #000; }
.h-src { font-size: 12px; color: var(--g500); }

/* Blog */
.h-blog { background: #000; padding: 90px var(--side); display: flex; flex-direction: column; gap: 40px; }
.h-blog-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.h-blog-head .hd { margin-top: 22px; font-size: 40px; line-height: 1.04; color: var(--white); }
.h-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.h-blog-grid a { min-height: 190px; background: #000; padding: 26px; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; color: var(--white); transition: background .2s ease; }
.h-blog-grid a:hover { background: #111; }
.h-blog-t { display: flex; flex-direction: column; gap: 10px; }
.h-blog-t > span { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.h-blog-t h3 { font-size: 21px; line-height: 1.25; font-weight: 800; color: var(--white); }
.h-blog-l { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: var(--g400); }
.h-blog-l .arrow { color: var(--gold); font-weight: 800; }
.h-blog-grid a:hover .arrow { transform: translateX(4px); }

/* Biuro w Elblągu */
.h-office { position: relative; background: var(--white); padding: 96px var(--side) 100px; display: grid; grid-template-columns: 400px 1fr; gap: 80px; align-items: start; }
.h-beam-off { --t: 12px; width: 60px; height: 320px; right: 30px; top: -220px; }
.h-office-h .hd { margin-top: 22px; font-size: 40px; line-height: 1.04; color: var(--g900); }
.h-office-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 48px; }
.h-office-g > div { display: flex; flex-direction: column; gap: 10px; }
.h-office-g h3 { font-size: 19px; line-height: 1.3; font-weight: 800; color: #000; }
.h-office-g p { font-size: 15px; line-height: 1.7; color: var(--g700); }

/* Pytania */
.h-faq { background: var(--g100); padding: 96px var(--side); display: flex; gap: 80px; }
.h-faq-h { width: 400px; flex-shrink: 0; display: flex; flex-direction: column; }
.h-faq-h .hd { margin-top: 22px; font-size: 40px; line-height: 1.04; color: var(--g900); }
.h-faq-h > p { margin-top: 16px; font-size: 16px; line-height: 1.6; color: var(--g700); }
.h-faq-h > p a { font-weight: 800; color: #000; }
.h-faq-list { flex-grow: 1; display: flex; flex-direction: column; border-bottom: 1px solid var(--g300); }
.h-faq-list details { border-top: 1px solid var(--g300); padding: 20px 0; }
.h-faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.h-faq-list summary h3 { font-size: 18px; font-weight: 700; color: #000; }
.h-faq-list .plus { font-size: 28px; font-weight: 400; color: var(--gold-dk); line-height: 1; }
.h-faq-list p { margin-top: 12px; font-size: 15px; line-height: 1.6; color: var(--g700); max-width: 640px; animation: fadeUp .3s ease both; }

/* Program poleceń */
.h-ref { min-height: 380px; background: var(--white); border-top: 1px solid #EEE; border-bottom: 1px solid #EEE; padding: 60px var(--side); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.h-ref-l { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-dk); }
.h-ref .hd { margin-top: 18px; font-size: 64px; line-height: 1; letter-spacing: -1.5px; color: #000; }
.h-ref p { margin-top: 20px; font-size: 21px; line-height: 1.45; color: var(--g600); }
.h-ref > a { margin-top: 26px; font-size: 17px; font-weight: 700; color: var(--gold-dk); }
.h-ref > a:hover { text-decoration: underline; }
.hpage .s-cta { background: var(--g100); padding-top: 0; }

/* Pasek na telefonie */
.h-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 12px 16px calc(14px + env(safe-area-inset-bottom)); background: #000; border-top: 1px solid rgba(255,211,0,.6); display: flex; gap: 10px; transform: translateY(110%); transition: transform .3s ease; }
.h-bar.show { transform: none; }
.h-bar-cta { flex-grow: 1; min-width: 0; white-space: nowrap; height: 56px; color: #000; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; text-transform: uppercase; text-align: center; }

/* ---------- Mniejsze ekrany komputerów ---------- */
@media (max-width: 1279px) and (min-width: 900px) {
	.h-hero { padding-left: var(--side); padding-right: var(--side); }
	.h-hero-txt { width: auto; flex: 1; }
	.h-hero-h { font-size: 48px; }
	.h-form { width: 460px; }
	.h-trust { padding: 0 var(--side); }
	.h-trust > div { padding: 0 20px; }
	.h-trust .hd { font-size: 40px; }
	.h-proc-big > .hd { font-size: 200px; }
	.h-proc-l { width: auto; flex: 1; }
	.h-cell { padding: 12px 8px; }
	.h-cell-num { font-size: 22px !important; }
	.h-cell.key .h-cell-num { font-size: 26px !important; }
	.h-phase-in { grid-template-columns: 240px minmax(0, 1fr) 240px; }
	.h-cell-lab, .h-cell-top { font-size: 10px; letter-spacing: 0; }
	.h-phase-big { font-size: 44px; }
	.h-phase-b { padding: 22px 20px; gap: 18px; }
	.h-od-head > p, .h-sit-q { width: 360px; }
	.h-od-head .hd { font-size: 52px; }
	.h-vs { grid-template-columns: 1fr; }
	.h-vs-badge { display: none !important; }
	.h-proof { flex-wrap: wrap; gap: 24px; }
	.h-proof-q { margin-left: 0; width: 100%; border-left: 0; padding-left: 0; border-top: 2px solid rgba(0,0,0,.25); padding-top: 16px; }
	.h-sit-head > div:first-child { width: auto; flex: 1; }
	.h-sit-grid { grid-template-columns: 320px minmax(0, 1fr); }
	.h-sit-steps { grid-template-columns: 1fr; }
	.h-off-head .hd { font-size: 80px; }
	.h-off-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.h-local, .h-mkt { gap: 40px; }
	.h-local-txt, .h-mkt-txt { width: auto; flex: 1; }
	.h-local-map { width: 420px; height: 360px; }
	.h-office { grid-template-columns: 300px 1fr; gap: 40px; }
	.h-faq { gap: 40px; }
	.h-faq-h { width: 300px; }
	.h-alert { flex-wrap: wrap; }
}

/* ---------- Telefon (projekt 390 px) ---------- */
@media (max-width: 899px) {
	.hpage .dist { margin-top: 12px; }
	.h-hero { margin-top: -68px; min-height: 0; padding: 90px 16px 8px; }
	.h-hero-bg { height: 560px; bottom: auto; opacity: .45; }
	.h-hero-shade { height: 560px; bottom: auto; background: linear-gradient(180deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,1) 100%); }
	.h-hero-in { flex-direction: column; gap: 0; }
	.h-hero-txt { width: auto; padding-top: 0; }
	.h-hero-txt h1.label { font-size: 13px; }
	.h-hero-txt > .dist { display: none; }
	.h-hero-h { margin-top: 10px; font-size: 30px; }
	.h-hero-h2 { margin-top: 10px; font-size: 20px; letter-spacing: -.3px; }
	.h-hero-find { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; font-weight: 700; color: var(--gold); text-decoration: underline; text-underline-offset: 4px; }
	.h-hero-stats { margin-top: 4px; display: flex; align-items: center; gap: 0 14px; flex-wrap: wrap; font-size: 14px; font-weight: 600; color: var(--white); }
	.h-hero-stats .hd { font-size: 20px; }
	.h-hero-stats a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
	.h-hero-rate { display: flex; align-items: center; gap: 4px; }
	.h-form { width: auto; margin-top: 10px; box-shadow: none; }
	.h-form-in { padding: 24px 18px 22px; gap: 18px; }
	.h-form-head { gap: 8px; }
	.h-form-head .hd { font-size: 24px; line-height: 1.08; }
	.h-form-head p { font-size: 15px; }
	.h-form-sit { font-size: 13px; }
	.h-form-prog { gap: 8px; }
	.h-form-prog-l { font-size: 13px; letter-spacing: .05em; }
	.h-step { gap: 10px; }
	.h-step[data-step="2"] { gap: 16px; }
	.h-step[data-step="4"] { gap: 14px; }
	.h-q { font-size: 18px; line-height: 1.3; }
	.h-tiles { gap: 10px; }
	.h-tile { height: 86px; padding: 0 14px; gap: 8px; font-size: 15px; }
	.h-tile svg { width: 24px; height: 24px; }
	.h-tile.wide { height: 56px; gap: 10px; }
	.h-tile.when { height: 60px; gap: 12px; padding: 0 14px; font-size: 15px; }
	.h-chip { height: 40px; }
	.h-nav { flex-direction: column-reverse; align-items: stretch; gap: 16px; }
	.h-nav .btn { width: 100%; }
	.h-back { height: 44px; align-self: center; }
	.h-nav.sm { flex-direction: row; align-items: center; gap: 8px; }
	.h-nav.sm .h-back { height: 44px; font-size: 14px; align-self: auto; }
	.h-safe { font-size: 14px; }
	.h-safe svg { display: none; }
	.h-row2 { grid-template-columns: 1fr; gap: 14px; }
	.h-check { font-size: 14px; }
	.h-check input { width: 22px; height: 22px; }
	.h-submit { height: 58px; font-size: 14px; }
	.h-submit svg { display: none; }
	.h-done { gap: 16px; }
	.h-done-h { flex-direction: column; align-items: flex-start; gap: 16px; }
	.h-done-h .hd { font-size: 22px; }
	.h-done-tags { display: none; }
	.h-plan { padding: 16px; }
	.h-plan-g { grid-template-columns: 1fr; row-gap: 0; }
	.h-plan-g span:nth-child(even) { margin-bottom: 10px; }
	.h-plan-n { font-size: 13px; }
	.h-hero-call { margin-top: 18px; text-align: center; font-size: 15px; color: var(--g400); }
	.h-hero-call a { font-weight: 800; color: var(--gold); }

	.h-trust { min-height: 0; padding: 24px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.h-trust > div { border: 1px solid rgba(255,211,0,.35) !important; padding: 16px 14px; gap: 6px; }
	.h-trust .hd { font-size: 32px; }
	.h-trust > div > span:last-child { line-height: 1.4; }

	.h-proc { padding: 64px 16px; background-image: repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 78px); }
	.h-proc-head { flex-direction: column; align-items: stretch; gap: 0; }
	.h-proc-l { width: auto; display: contents; }
	.h-proc-l .label { order: 1; }
	.h-proc-l .dist { order: 2; }
	.h-proc-l .hd { order: 3; margin-top: 18px; font-size: 30px; line-height: 1.06; }
	.h-proc-big { order: 4; margin-top: 26px; gap: 12px; padding: 0; }
	.h-proc-big > .hd { font-size: 150px; letter-spacing: -8px; }
	.h-proc-big > div { gap: 8px; }
	.h-proc-big > div .hd { font-size: 44px; letter-spacing: -1px; }
	.h-proc-big > div > span:last-child { font-size: 14px; line-height: 1.4; width: 150px; }
	.h-proc-p { order: 5; margin-top: 22px; font-size: 16px; }
	.h-proc-note { order: 6; margin-top: 20px; align-items: flex-start; gap: 12px; padding: 14px 16px; }
	.h-proc-note .h-dot { margin-top: 6px; }
	.h-proc-note > span:last-child { font-size: 14px; }
	.h-mdays { margin-top: 28px; display: flex; flex-direction: column; gap: 8px; }
	.h-mdays-hint { font-size: 14px; color: var(--g500); }
	.h-kd summary { display: block; }
	.h-kd-h { padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #000; }
	.h-kd-h small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #000; }
	.h-kd-h > span:first-child .hd { display: block; font-size: 22px; color: #000; margin-top: 2px; }
	.h-kd-r { display: flex; align-items: center; gap: 12px; }
	.h-kd-r > .hd { font-size: 26px; line-height: 1; color: #000; letter-spacing: -1px; }
	.h-kd-pm { width: 28px; height: 28px; border: 1.5px solid #000; display: flex; align-items: center; justify-content: center; transition: transform .2s ease; }
	.h-kd[open] .h-kd-pm { transform: rotate(45deg); }
	.h-kd-b { background: #000; border: 1px solid rgba(255,211,0,.4); border-top: 0; padding: 4px 16px; }
	.h-kd-b .h-phase-step { gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
	.h-kd-b .h-phase-step:last-child { border-bottom: 0; }
	.h-kd-b .h-phase-step > .hd { font-size: 24px; letter-spacing: 0; }
	.h-kd-b h3 { font-size: 15px; }
	.h-mn { height: 44px; padding: 0 16px; background: #000; border: 1px solid rgba(255,255,255,.05); display: flex; align-items: center; justify-content: space-between; }
	.h-mn > span:first-child { display: flex; align-items: baseline; gap: 10px; }
	.h-mn small { font-size: 13px; font-weight: 700; color: var(--g500); width: 22px; }
	.h-mn .hd { font-size: 18px; color: var(--g200); }
	.h-mn-l { font-size: 13px; font-weight: 700; text-transform: uppercase; color: var(--g500); }
	.h-mdays-all { margin-top: 4px; height: 48px; border: 1px solid rgba(255,211,0,.45); background: transparent; color: var(--gold); font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
	.h-proc-cta { margin-top: 28px; }
	.h-proc-cta .btn { width: 100%; height: 58px; padding: 0 12px; font-size: 14px; }

	.h-od { padding: 64px 16px; }
	.h-beam-od { --t: 8px; width: 38px; height: 100px; left: auto; right: 24px; top: -38px; }
	.h-od-head { flex-direction: column; align-items: stretch; gap: 18px; }
	.h-od-head .hd { margin-top: 18px; font-size: 38px; line-height: 1; letter-spacing: -1px; }
	.h-od-head > p { width: auto; font-size: 16px; }
	.h-od-tabs { margin-top: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; padding: 4px; background: #EEE; }
	.h-od-tabs button { height: 46px; border: 0; background: transparent; color: var(--g700); font-size: 13px; font-weight: 800; text-transform: uppercase; cursor: pointer; }
	.h-od-tabs button.on { background: #000; color: var(--gold); }
	.h-vs { margin-top: 10px; display: block; }
	.h-vs-card { padding: 20px; gap: 16px; }
	.h-vs-card.m-off { display: none; }
	.h-vs-head .hd { font-size: 18px; white-space: nowrap; }
	.h-vs-tag { white-space: nowrap; }
	.h-vs-body { flex-direction: column; gap: 16px; }
	.h-mcal { gap: 16px; }
	.h-mcal-t { font-size: 14px; text-align: center; }
	.h-mcal-g { grid-template-columns: repeat(7, 36px); gap: 6px; justify-content: center; }
	.h-mcal-dow { font-size: 12px; }
	.h-mcal-g:not(.h-mcal-dow) span { width: 36px; height: 36px; font-size: 13px; }
	.h-mcal-n { text-align: center; font-size: 13px; }
	.h-vs-list > div { gap: 10px; }
	.h-vs-list svg { width: 18px; height: 18px; }
	.h-vs-list span { font-size: 14px; }
	.h-proof { margin-top: 24px; padding: 22px 20px; display: grid; grid-template-columns: auto auto auto; justify-content: space-between; align-items: center; gap: 14px 10px; }
	.h-proof-a, .h-proof-b { width: auto; gap: 0; }
	.h-proof-b { align-items: flex-end; }
	.h-proof .hd { font-size: 28px; letter-spacing: -1px; }
	.h-proof-s { font-size: 13px; }
	.h-proof-arr { width: 36px; height: 20px; }
	.h-proof-q { grid-column: 1 / -1; margin: 0; width: auto; border-left: 0; padding: 12px 0 0; border-top: 1px solid rgba(0,0,0,.25); }
	.h-next { margin-top: 24px; display: flex; flex-direction: column; gap: 0; }
	.h-next-a { padding: 20px; gap: 8px; }
	.h-next-a .hd { font-size: 22px; line-height: 1.1; }
	.h-next-a .more { height: 44px; font-size: 14px; font-weight: 800; }
	.h-next-mbtn { margin-top: 16px; height: 58px; }
	.h-next-mtxt { margin-top: 10px; text-align: center; font-size: 14px; color: var(--g600); }

	.h-sit { padding: 64px 16px; }
	.h-sit-head { flex-direction: column; align-items: stretch; gap: 18px; }
	.h-sit-head > div:first-child { width: auto; }
	.h-sit-head .hd { margin-top: 18px; font-size: 32px; line-height: 1.04; letter-spacing: -1px; }
	.h-sit-head p { margin-top: 14px; font-size: 16px; }
	.h-sit-q { width: auto; padding-left: 14px; gap: 2px; }
	.h-sit-q .hd { font-size: 18px; }
	.h-sit-grid { margin-top: 26px; display: block; }
	.h-sit-hint { margin-bottom: 10px; }
	.h-sit-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.h-sit-list button { height: auto; min-height: 52px; padding: 8px 12px; gap: 8px; }
	.h-sit-list button .hd { font-size: 14px; }
	.h-sit-list button > span:last-child { font-size: 14px; line-height: 1.25; }
	.h-sit-panel { margin-top: 16px; min-height: 0; padding: 22px 18px; gap: 16px; }
	.h-sit-ph { gap: 16px; }
	.h-sit-ph .hd { font-size: 24px; line-height: 1.08; letter-spacing: -.5px; }
	.h-sit-ph > span { font-size: 14px; }
	.h-sit-steps { display: flex; flex-direction: column; gap: 0; padding-top: 0; }
	.h-sit-steps > div { flex-direction: row; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
	.h-sit-steps .hd { font-size: 26px; }
	.h-sit-steps h3 { font-size: 15px; }
	.h-sit-steps span:not(.hd) { display: block; margin-top: 2px; font-size: 14px; }
	.h-sit-quote { padding: 16px; }
	.h-sit-quote > div { gap: 6px; }
	.h-sit-quote > div > span { font-size: 14px; }
	.h-sit-quote b { font-size: 12px; }
	.h-sit-cta .btn { width: 100%; height: 56px; padding: 0 12px; }

	.h-cases { padding: 48px 0; gap: 18px; }
	.h-cases-head { padding: 0 16px; }
	.h-cases-head .label { font-size: 13px; }
	.h-cases-head .hd { margin-top: 12px; font-size: 28px; line-height: 1.04; }
	.h-cases-grid { display: flex; gap: 12px; overflow-x: auto; padding: 0 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.h-cases-grid::-webkit-scrollbar { display: none; }
	.h-cases-grid article { width: 290px; flex-shrink: 0; min-height: 300px; padding: 22px; scroll-snap-align: start; }
	.h-stamp { width: 70px; height: 70px; }
	.h-stamp-h { width: 29px; height: 14px; }
	.h-stamp > span:last-child { font-size: 9px; }
	.h-case-l { max-width: 150px; }
	.h-case-n { font-size: 64px; }
	.h-case-s { font-size: 15px; }
	.h-case-t { font-size: 14px; }

	.h-rev { padding: 64px 0; gap: 24px; }
	.h-beam-rev { --t: 8px; width: 38px; height: 100px; left: 24px; top: -38px; }
	.h-rev-head { padding: 0 16px; }
	.h-rev-head .hd { margin-top: 18px; font-size: 30px; line-height: 1.06; }
	.h-rev-grid { display: flex; flex-direction: column; gap: 12px; padding: 0 16px; }
	.h-rev-grid figure { padding: 20px; gap: 14px; }
	.h-rev-grid figure > div { gap: 12px; }
	.h-stars svg { width: 14px; height: 14px; }
	.h-rev-grid blockquote { font-size: 17px; }
	.h-rev-grid figcaption { display: block; font-size: 14px; }
	.h-rev-all { margin: 0 16px; height: 54px; border: 1.5px solid #000; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; text-transform: uppercase; color: #000; }

	.h-team { padding: 64px 0; gap: 26px; }
	.h-team-head { padding: 0 16px; }
	.h-team-head .hd { margin-top: 18px; font-size: 28px; line-height: 1.06; }
	.h-team-grid { padding: 0 16px; gap: 8px; }
	.h-agent { gap: 8px; }
	.h-agent img, .h-agent-ph { height: 150px; border-bottom: 3px solid var(--gold); }
	.h-agent-b { padding: 0; border: 0; }
	.h-agent-b h3 { font-size: 14px; line-height: 1.25; }
	.h-agent-b span { line-height: 1.3; }
	.h-join { min-height: 0; padding: 0; border: 0; background: none; gap: 8px; justify-content: flex-start; }
	.h-join:hover { transform: none; }
	.h-join-box { height: 150px; border: 1.5px dashed rgba(255,211,0,.6); border-bottom: 3px solid var(--gold); background: repeating-linear-gradient(135deg, rgba(255,211,0,.05) 0 2px, transparent 2px 14px); padding: 10px 8px; display: flex; flex-direction: column; justify-content: space-between; }
	.h-join-box .h-outline { font-size: 26px; letter-spacing: 0; -webkit-text-stroke-width: 1px; }
	.h-join-m { font-size: 14px; line-height: 1.1; letter-spacing: -.3px; color: var(--white); }
	.h-join-t { gap: 2px; }
	.h-join-lab { font-size: 14px; letter-spacing: 0; line-height: 1.25; }
	.h-join-t .h-join-p { font-size: 13px; line-height: 1.3; }
	.h-team-btns { padding: 0 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.h-team-btns .btn { height: 52px; gap: 8px; }
	.h-team-all { height: 52px; border: 1.5px solid var(--gold); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--gold); }

	.h-off { padding: 64px 16px; }
	.h-off-head { flex-direction: column; align-items: stretch; gap: 22px; }
	.h-off-lab { gap: 8px; }
	.h-off-lab .h-dot { width: 8px; height: 8px; }
	.h-off-head .hd { margin-top: 14px; font-size: 64px; letter-spacing: -2.5px; }
	.h-off-head .h-outline { -webkit-text-stroke-width: 1.5px; }
	.h-off-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.h-off-tabs button { padding: 0; gap: 4px; }
	.h-off-tabs button span { font-size: 13px; opacity: 1; }
	.h-off-set { margin-top: 18px; }
	.h-off-grid { margin: 0 -16px; padding: 0 16px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.h-off-grid::-webkit-scrollbar { display: none; }
	.nocard, .h-off-wait { width: 290px; height: 540px; flex-shrink: 0; scroll-snap-align: start; }
	.nocard:hover, .h-off-wait:hover { transform: none; }
	.nocard-img { height: 300px; }
	.nocard-n { top: 12px; left: 14px; font-size: 46px; letter-spacing: 0; }
	.nocard-tags { top: 16px; right: 14px; }
	.nocard-new { height: 26px; padding: 0 9px; font-size: 12px; letter-spacing: 0; }
	.nocard-od { left: 14px; right: 14px; bottom: 40px; height: 32px; font-size: 12px; letter-spacing: 0; }
	.nocard-od .pulse { width: 6px; height: 6px; }
	.nocard-price { left: 14px; top: 278px; height: 44px; padding: 0 14px; font-size: 20px; }
	.nocard-price.ask { font-size: 14px; padding: 0 16px; }
	.nocard-price.open { top: 268px; height: 56px; padding: 0 16px; }
	.nocard-price.open small { font-size: 12px; }
	.nocard-price.open .hd { font-size: 18px; }
	.nocard-body { padding: 40px 16px 16px; gap: 12px; }
	.nocard-t strong { font-size: 18px; }
	.nocard-loc { font-size: 14px; }
	.nocard-loc svg { display: none; }
	.nocard-par { padding: 10px 0; }
	.nocard-par > span + span { padding-left: 8px; }
	.nocard-par small { font-size: 12px; letter-spacing: 0; }
	.nocard-cta { font-size: 14px; letter-spacing: 0; }
	.tarrow { width: 40px; height: 40px; }
	.h-off-wait { padding: 22px 18px; }
	.h-off-wait > .h-outline { font-size: 46px; letter-spacing: 0; }
	.h-off-wait-t { gap: 12px; }
	.h-off-wait-t .hd { font-size: 26px; letter-spacing: -1px; }
	.h-off-wait .btn { height: 50px; }
	.h-off-dots { margin-top: 14px; display: flex; justify-content: center; gap: 6px; }
	.h-off-dots span { width: 6px; height: 5px; background: #3A3A3A; transition: width .2s ease; }
	.h-off-dots span.on { width: 22px; }
	.h-off-empty { min-height: 0; padding: 24px; align-items: flex-start; text-align: left; gap: 16px; }
	.h-off-empty > .hd { font-size: 30px; letter-spacing: -1px; }
	.h-off-empty > span:nth-child(2) { font-size: 15px; }
	.h-off-empty .btn { width: 100%; height: 54px; }
	.h-alert { margin-top: 16px; flex-direction: column; align-items: stretch; gap: 10px; padding: 20px 16px; }
	.h-alert-t .hd { font-size: 18px; }
	.h-alert-f { flex-direction: column; gap: 8px; }
	.h-alert-f label.m-only { font-size: 14px; color: var(--g500); }
	.h-alert-f .field { flex: none; width: 100%; }
	.h-alert-f .btn { height: 52px; font-size: 14px; }
	.h-alert-done { font-size: 15px; }
	.h-alert-all { margin-top: 2px; border: 1px solid rgba(255,255,255,.2); height: 56px; padding: 0 18px; justify-content: space-between; font-size: 14px; font-weight: 800; }

	.h-local { padding: 64px 16px; flex-direction: column; align-items: stretch; gap: 18px; }
	.h-local-txt { width: auto; display: contents; }
	.h-local-txt .label { order: 1; }
	.h-local-txt .dist { order: 2; margin-top: -6px; }
	.h-local-txt .hd { order: 3; margin: 0; font-size: 30px; line-height: 1.06; }
	.h-local-txt > p { order: 4; margin: 0; font-size: 16px; }
	.h-local-map { order: 5; width: auto; height: 308px; }
	.h-local-links { order: 6; margin: 0; display: flex; flex-direction: column; }
	.h-local-links a { height: 52px; }

	.h-mkt { padding: 48px 16px; flex-direction: column; align-items: stretch; gap: 18px; }
	.h-mkt-txt, .h-mkt-data { display: contents; }
	.h-mkt-txt .label { order: 1; }
	.h-mkt-txt .dist { order: 2; margin-top: -6px; }
	.h-mkt-txt .hd { order: 3; margin: 0; font-size: 30px; line-height: 1.06; }
	.h-mkt-lead { order: 4; margin: 0; font-size: 16px; }
	.h-kpi { order: 5; }
	.h-kpi .hd { font-size: 26px; }
	.h-chart { order: 6; }
	.h-mini-h { font-size: 11px; }
	.h-chart svg { height: 86px; }
	.h-chart-dot { bottom: calc(86px * var(--f, .918) - 6px); }
	.h-sizes { order: 7; }
	.h-sizes > div { font-size: 14px; }
	.h-mkt-seo { order: 8; margin: 6px 0 0; }
	.h-mkt-btns { order: 9; margin: 0; flex-direction: column; gap: 18px; }
	.h-mkt-btns .btn { height: 56px; }
	.h-btn-line { height: 52px; }
	.h-src { order: 10; line-height: 1.5; }

	.h-blog { padding: 64px 16px; gap: 18px; }
	.h-blog-head .dist { margin-top: 12px; }
	.h-blog-head .hd { margin-top: 18px; font-size: 28px; line-height: 1.06; }
	.h-blog-grid { display: flex; flex-direction: column; gap: 12px; }
	.h-blog-grid a { min-height: 0; padding: 18px; gap: 8px; }
	.h-blog-t { gap: 8px; }
	.h-blog-t h3 { font-size: 18px; }
	.h-blog-l { justify-content: flex-start; gap: 4px; }
	.h-blog-l .arrow { color: var(--g400); font-weight: 400; }

	.h-office { padding: 56px 16px 48px; display: flex; flex-direction: column; gap: 18px; }
	.h-beam-off { --t: 8px; width: 38px; height: 100px; right: 24px; top: -38px; }
	.h-office-h .hd { margin-top: 18px; font-size: 28px; line-height: 1.06; }
	.h-office-g { display: flex; flex-direction: column; gap: 18px; }
	.h-office-g > div { gap: 8px; }
	.h-office-g h3 { font-size: 17px; }
	.h-office-g p { font-size: 14px; line-height: 1.65; }

	.h-faq { padding: 48px 16px; flex-direction: column; gap: 18px; }
	.h-faq-h { width: auto; }
	.h-faq-h .hd { margin-top: 18px; font-size: 28px; line-height: 1.06; }
	.h-faq-list details { padding: 16px 0; }
	.h-faq-list summary { gap: 12px; min-height: 28px; }
	.h-faq-list summary h3 { font-size: 16px; }
	.h-faq-list .plus { font-size: 26px; }
	.h-faq-list p { margin-top: 10px; font-size: 14px; }

	.h-ref { padding: 40px 16px; }
	.h-ref-l { font-size: 12px; }
	.h-ref .hd { margin-top: 16px; font-size: 32px; line-height: 1.08; letter-spacing: -1px; }
	.h-ref p { margin-top: 16px; font-size: 18px; }
	.h-ref > a { margin-top: 22px; font-size: 16px; }
	body.home .site-footer { padding-bottom: calc(108px + env(safe-area-inset-bottom)); }
}

/* =========================================================================
   Wycena online (projekt „Wycena” / „WycenaMobile”)
   ========================================================================= */
.wpage { line-height: normal; }
.w-hero { position: relative; z-index: 1; margin-top: -110px; min-height: 440px; padding: 158px var(--side) 0; background: #000; overflow: hidden; color: var(--white); }
.w-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .28; }
.w-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.8) 60%, rgba(0,0,0,.6) 100%); }
.w-hero-in { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.w-hero-txt { display: flex; flex-direction: column; max-width: 820px; }
.w-hero h1 { margin-top: 18px; font-size: 56px; line-height: 1; color: var(--white); letter-spacing: -1.5px; }
.w-hero-txt > p { margin-top: 18px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.w-hero-facts { display: flex; flex-direction: column; gap: 8px; padding-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--white); white-space: nowrap; }
.w-hero-facts span { display: flex; gap: 8px; align-items: center; }
.w-hero-facts svg { color: var(--gold); }
.w-hero-facts .g { color: var(--g400); }

.w-main { padding: 56px var(--side) 80px; display: grid; grid-template-columns: minmax(0, 1fr) 520px; gap: 32px; align-items: start; }
.w-card { background: var(--white); border-top: 5px solid var(--gold); padding: 34px 36px; display: flex; flex-direction: column; gap: 26px; box-shadow: 0 1px 0 var(--g200); }
.w-flat { display: flex; flex-direction: column; gap: 26px; }
.w-grp { display: flex; flex-direction: column; gap: 10px; }
.w-lab { font-size: 14px; font-weight: 700; color: #000; }
.w-lab span { font-weight: 500; color: var(--g600); }
.w-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.w-opt { height: 46px; padding: 0 16px; border: 1.5px solid var(--g300); background: var(--white); font-size: 15px; font-weight: 700; color: #000; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.w-opt:hover { border-color: var(--gold-2); }
.w-opt[aria-pressed="true"] { border-color: var(--gold-2); background: #FFF6CC; }
.w-num { min-width: 52px; }
.w-sm { font-size: 14px; }
.w-sq { width: 44px; height: 44px; padding: 0; font-size: 20px; }
.w-house { border-left: 4px solid var(--gold); background: var(--g100); padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.w-house b { font-size: 15px; color: #000; }
.w-house span { font-size: 14px; line-height: 1.55; color: #444; }
.w-house .btn { height: 50px; font-size: 13px; }
.w-street { display: flex; align-items: center; height: 52px; padding: 0 8px 0 16px; border: 1.5px solid var(--gold-2); background: #FFF6CC; }
.w-street span { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 700; color: #000; }
.w-street svg { color: var(--gold-dk); }
.w-ac { position: relative; }
.w-sugg { border: 1px solid var(--g400); border-top: 0; background: var(--white); display: flex; flex-direction: column; }
.w-sugg button { height: 46px; padding: 0 16px; border: 0; border-bottom: 1px solid #EEE; background: var(--white); display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 15px; font-weight: 600; color: #000; text-align: left; cursor: pointer; }
.w-sugg button:hover, .w-sugg button.on { background: #FFF6CC; }
.w-sugg button small { font-size: 13px; font-weight: 500; color: var(--g600); white-space: nowrap; }
.w-hint { font-size: 13px; color: var(--g600); }
.w-hint a { font-weight: 700; text-decoration: underline; }
.w-card .w-err { font-size: 14px; font-weight: 600; color: #B42318; }
.w-nr { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.w-nr .field { max-width: 200px; }
.w-area { gap: 12px; }
.w-area-top { display: flex; justify-content: space-between; align-items: center; }
.w-step { display: flex; align-items: center; gap: 6px; }
.w-step .hd { min-width: 110px; text-align: center; font-size: 30px; color: #000; letter-spacing: -1px; text-transform: none; }
.w-area .rng { margin: 0; }
.w-go { height: 58px; font-size: 15px; }

.w-panel { background: #000; padding: 32px 34px; display: flex; flex-direction: column; gap: 20px; color: var(--white); }
.w-ptop { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.w-ptl { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.w-badge { padding: 4px 8px; border: 1px solid rgba(255,211,0,.6); font-size: 12px; font-weight: 700; color: var(--gold); }
.w-intro { display: flex; flex-direction: column; gap: 16px; }
.w-h24 { font-size: 24px; line-height: 1.1; color: var(--white); }
.w-h20 { font-size: 20px; letter-spacing: -.3px; color: var(--white); }
.w-txt { font-size: 15px; line-height: 1.55; color: var(--g400); }
.w-txt strong, .w-txt14 strong { color: var(--white); }
.w-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.w-checks li { display: flex; gap: 10px; font-size: 14px; line-height: 1.5; color: var(--g200); }
.w-checks svg { flex-shrink: 0; margin-top: 3px; }
.w-teaser { display: flex; flex-direction: column; gap: 18px; }
.w-coarse { display: flex; flex-direction: column; gap: 6px; }
.w-coarse > span:first-child:not(.hd) { font-size: 15px; color: var(--g400); }
.w-coarse .gold-text { font-size: 40px; line-height: 1.05; letter-spacing: -1.5px; }
.w-coarse[data-lo-conf] { gap: 8px; }
.w-coarse[data-lo-conf] .w-h24 { line-height: 1.12; }
.w-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.w-kpis > div { background: #1F1F1F; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.w-kpis .hd { font-size: 22px; color: var(--white); }
.w-kpis > div > span:last-child { font-size: 13px; line-height: 1.35; color: var(--g400); }
.w-lock { position: relative; border: 1px solid rgba(255,211,0,.35); padding: 16px; overflow: hidden; }
.w-blur { filter: blur(7px); user-select: none; pointer-events: none; display: flex; flex-direction: column; gap: 6px; }
.w-blur > .hd { font-size: 30px; color: var(--gold); }
.w-blur > span:not(.hd) { font-size: 15px; color: var(--white); }
.w-comp { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.w-comp-s { font-size: 14px; font-weight: 700; color: var(--white); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.w-comp-p { font-size: 14px; font-weight: 800; color: var(--white); text-align: right; }
.w-comp-m { font-size: 13px; color: var(--g500); }
.w-comp-ppm { font-size: 13px; color: var(--g400); text-align: right; }
.w-lock-o { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.35); }
.w-lock-o > span { padding: 10px 14px; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: #000; }
.w-lead { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid rgba(255,211,0,.3); padding-top: 18px; }
.w-f { display: flex; flex-direction: column; gap: 6px; }
.w-f > label, .w-flab { font-size: 14px; font-weight: 700; color: var(--g200); }
.w-flab span { font-weight: 500; color: var(--g500); }
.w-f .w-opts { margin-top: 2px; }
.field.w-dark { border-color: #3A3A3A; background: #000; color: var(--white); }
.field.w-dark:focus { border-color: var(--gold); }
.w-opt.w-dk { height: 44px; padding: 0 14px; border-color: #3A3A3A; background: transparent; font-size: 14px; color: var(--white); }
.w-opt.w-dk[aria-pressed="true"] { border-color: var(--gold); background: rgba(255,211,0,.14); }
.w-chk { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--g200); cursor: pointer; }
.w-chk.g { color: var(--g400); }
.w-chk input { width: 22px; height: 22px; margin: 0; flex-shrink: 0; accent-color: var(--gold); }
.w-panel .w-err { font-size: 14px; font-weight: 600; color: #FF9B85; }
.w-pp { align-self: flex-start; min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; text-decoration: underline; color: var(--g400); }
.w-send { height: 58px; font-size: 14px; }
.w-txt14 { font-size: 14px; line-height: 1.5; color: var(--g400); }
.field.w-code { letter-spacing: .4em; font-size: 22px; font-weight: 800; max-width: 220px; }
.w-ghosts { display: flex; gap: 18px; flex-wrap: wrap; }
.w-ghost { background: transparent; border: 0; cursor: pointer; padding: 0; min-height: 44px; font-size: 14px; color: var(--g400); }
.w-ghost:hover { color: var(--white); }
.w-ghost.y { font-weight: 700; color: var(--gold); }
.w-ghost.u { align-self: flex-start; text-decoration: underline; }
.w-done { display: flex; flex-direction: column; gap: 20px; }
.w-ok { display: flex; gap: 12px; align-items: center; padding: 12px 14px; background: rgba(255,211,0,.1); font-size: 14px; line-height: 1.45; }
.w-sent { display: flex; flex-direction: column; gap: 12px; padding: 22px 20px; border: 1px solid var(--g700); }
.w-sent-ic { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.w-sent .w-txt14 a { color: var(--gold); }
.w-ok > .gold-bg { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.w-val { display: flex; flex-direction: column; gap: 4px; }
.w-val .gold-text { font-size: 40px; line-height: 1.05; letter-spacing: -1.5px; }
.w-rng { font-size: 16px; font-weight: 600; color: var(--white); }
.w-ppm { font-size: 15px; color: var(--g400); }
.w-conf { display: flex; gap: 12px; align-items: flex-start; padding: 14px; background: #1F1F1F; font-size: 14px; line-height: 1.5; color: var(--g200); }
.w-conf strong { color: var(--white); }
.w-conf i { margin-top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }
.w-comps { display: flex; flex-direction: column; }
.w-basis { margin-top: 4px; font-size: 13px; color: var(--g500); }
.w-comps-l { margin-top: 6px; border-top: 1px solid rgba(255,211,0,.3); }
.w-talk { height: 56px; font-size: 14px; }
.w-note { font-size: 13px; line-height: 1.5; color: var(--g500); }
.w-steps { min-height: 200px; background: var(--white); padding: 0 var(--side); display: flex; align-items: center; gap: 48px; }
.w-steps > div { display: flex; gap: 14px; flex: 1; }
.w-steps .hd { font-size: 30px; line-height: 1; color: var(--gold-dk); }
.w-steps h3 { font-size: 16px; font-weight: 700; color: #000; }
.w-steps p { margin-top: 4px; font-size: 14px; line-height: 1.5; color: var(--g700); }

@media (max-width: 1079px) { .w-hero { margin-top: -68px; padding-top: 116px; } }
@media (max-width: 1179px) and (min-width: 900px) {
	.w-main { grid-template-columns: minmax(0, 1fr) 420px; }
	.w-hero h1 { font-size: 46px; }
	.w-card { padding: 28px 26px; }
	.w-panel { padding: 28px 26px; }
}
@media (max-width: 899px) {
	.w-hero { min-height: 250px; padding: 96px 16px 8px; }
	.w-hero-shade { display: none; }
	.w-hero-bg { opacity: .25; }
	.w-hero-in { flex-direction: column; align-items: stretch; gap: 0; }
	.w-hero h1 { margin-top: 0; font-size: 32px; line-height: 1.02; letter-spacing: -1px; }
	.w-hero-txt > p { margin-top: 12px; font-size: 15px; line-height: 1.55; }
	.w-main { padding: 20px 16px 0; grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.w-card { padding: 22px 18px; gap: 22px; }
	.w-flat { gap: 22px; }
	.w-opt { height: 48px; }
	.w-sq, .w-opt.w-dk { height: 44px; }
	.w-house .btn { font-size: 14px; }
	.w-sugg button small, .w-hint { font-size: 14px; }
	.w-nr .field { max-width: 100%; }
	.w-step .hd { min-width: 96px; font-size: 26px; }
	.w-panel { padding: 24px 20px; }
	.w-ptl { font-size: 14px; }
	.w-badge { font-size: 13px; }
	.w-coarse .gold-text, .w-val .gold-text { font-size: 34px; }
	.w-kpis > div > span:last-child, .w-comp-m, .w-comp-ppm, .w-pp, .w-basis, .w-note { font-size: 14px; }
	.field.w-code { max-width: 100%; }
	.w-steps { min-height: 0; background: transparent; padding: 28px 16px 40px; flex-direction: column; align-items: stretch; gap: 18px; }
}

/* Naklejki z Asari na kartach i w galerii oferty */
.tstk { position: absolute; top: 14px; left: 14px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; max-width: calc(100% - 84px); }
.tstk .tbadge-od { position: static; max-width: 100%; }
.tsticker { height: 26px; padding: 0 10px; display: inline-flex; align-items: center; background: var(--white); color: #000; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 4px 12px -6px rgba(0,0,0,.5); }
.tsticker.g { background: var(--grad); }
.of-similar-grid .tcard-sim .tstk { top: 12px; left: 12px; }
.of-badges { position: absolute; top: 20px; left: 20px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.of-badges .of-badge { position: static; }
.of-badges .tsticker { height: 30px; padding: 0 12px; font-size: 12px; }
@media (max-width: 899px) { .of-badges { top: 14px; left: 14px; gap: 6px; } .of-badges .tsticker { height: 26px; font-size: 11px; } }

/* =========================================================================
   Podstrony z projektu – wspólne
   ========================================================================= */
.pg { line-height: normal; }
.pg-head { display: flex; flex-direction: column; }
.pg-head .label { color: #000; }
.pg-head .dist { margin-top: 14px; }
.pg-head h2 { margin-top: 22px; font-size: 42px; line-height: 1.04; color: var(--g900); }
.pg-head.dark .label { color: var(--gold); }
.pg-head.dark h2 { margin-top: 18px; color: var(--white); }
.w-hero-side { width: 330px; flex-shrink: 0; display: flex; flex-direction: column; gap: 12px; }
.w-hero-side .btn { height: 60px; font-size: 15px; }
.w-hero-side > span { font-size: 14px; color: var(--g400); text-align: center; }
.w-hero-side strong { color: var(--white); }
@media (max-width: 899px) {
	.pg-head .dist { margin-top: 16px; }
	.pg-head h2 { margin-top: 22px; font-size: 28px; line-height: 1.06; }
	.pg-head.dark h2 { margin-top: 22px; }
}

/* Sprzedaż mieszkania w Elblągu */
.sp-kpis { padding: 40px var(--side) 0; }
.sp-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--g200); border: 1px solid var(--g200); }
.sp-kpi-grid > div { background: var(--white); padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.sp-kpi-grid .hd { font-size: 34px; line-height: 1; color: #000; display: flex; align-items: center; gap: 6px; }
.sp-kpi-grid > div > span:last-child { font-size: 13px; line-height: 1.35; color: var(--g600); }
.sp-get { padding: 72px var(--side) 88px; display: flex; flex-direction: column; gap: 40px; }
.sp-get-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.sp-get-grid > div { border-top: 3px solid var(--gold); padding-top: 18px; display: flex; flex-direction: column; gap: 10px; }
.sp-get-grid h3 { font-size: 18px; line-height: 1.25; font-weight: 800; color: #000; }
.sp-get-grid p { font-size: 15px; line-height: 1.6; color: var(--g700); }
.sp-how { background: #000; padding: 80px var(--side) 96px; display: flex; flex-direction: column; gap: 36px; }
.sp-steps { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 2px solid #3A3A3A; }
.sp-steps li { padding: 22px 22px 0 0; display: flex; flex-direction: column; gap: 10px; }
.sp-day { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--gold); }
.sp-st { display: flex; flex-direction: column; gap: 10px; }
.sp-st b { font-size: 20px; font-weight: 800; color: var(--white); }
.sp-st span { font-size: 15px; line-height: 1.55; color: var(--g400); }
.sp-prices { padding: 72px var(--side) 0; display: grid; grid-template-columns: 1fr 460px; gap: 64px; align-items: start; }
.sp-prices p { margin-top: 18px; font-size: 17px; line-height: 1.6; color: var(--g700); }
.sp-prices p strong { color: #000; }
.sp-links { margin-top: 40px; display: flex; flex-direction: column; }
.sp-links .more { height: 52px; border-bottom: 1px solid var(--g200); justify-content: space-between; font-size: 15px; color: #000; }
.sp-links .arrow { color: var(--gold-dk); }
.sp-faq { padding: 80px var(--side) 80px; display: flex; flex-direction: column; }
.sp-faq .pg-head { margin-bottom: 22px; }
.sp-q { padding: 20px 0; border-top: 1px solid var(--g300); display: grid; grid-template-columns: 420px 1fr; gap: 48px; }
.sp-q h3 { font-size: 18px; line-height: 1.3; font-weight: 800; color: #000; }
.sp-q p { font-size: 15px; line-height: 1.65; color: var(--g700); }
.sp-cta { min-height: 360px; background: var(--gold); padding: 48px var(--side); display: flex; align-items: center; justify-content: space-between; gap: 64px; }
.sp-cta-txt { display: flex; flex-direction: column; gap: 14px; max-width: 720px; }
.sp-cta-txt .label { color: #000; }
.sp-cta-txt h2 { font-size: 44px; line-height: 1.04; color: #000; }
.sp-cta-txt p { font-size: 17px; line-height: 1.6; color: #000; }
.sp-cta-act { display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.sp-cta-act .btn { height: 60px; padding: 0 28px; font-size: 15px; background: #000; color: var(--white); }
.sp-cta-act .btn:hover { background: #1F1F1F; color: var(--gold); }
.sp-cta-act > span { font-size: 14px; color: #000; text-align: center; }
@media (max-width: 1179px) and (min-width: 900px) {
	.sp-get-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sp-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 24px; }
	.sp-prices { grid-template-columns: 1fr 340px; gap: 40px; }
	.sp-q { grid-template-columns: 320px 1fr; gap: 32px; }
}
@media (max-width: 899px) {
	.sp-hero { min-height: 380px; padding-bottom: 28px; }
	.sp-kpis { padding: 24px 16px 0; }
	.sp-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sp-kpi-grid .hd { font-size: 24px; }
	.sp-get { padding: 40px 16px 48px; gap: 22px; }
	.sp-get-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.sp-get-grid > div { padding-top: 14px; gap: 6px; }
	.sp-get-grid h3 { font-size: 17px; }
	.sp-get-grid p { font-size: 14px; }
	.sp-how { padding: 48px 16px 48px; gap: 22px; }
	.sp-steps { display: flex; flex-direction: column; border-top: 0; }
	.sp-steps li { padding: 16px 0; border-top: 1px solid #3A3A3A; display: grid; grid-template-columns: 92px 1fr; gap: 12px; }
	.sp-day { font-size: 12px; padding-top: 3px; }
	.sp-st { gap: 4px; }
	.sp-st b { font-size: 17px; }
	.sp-st span { font-size: 14px; line-height: 1.5; }
	.sp-prices { padding: 40px 16px 0; display: flex; flex-direction: column; gap: 14px; }
	.sp-prices p { margin-top: 14px; font-size: 15px; }
	.sp-links { margin-top: 0; }
	.sp-links .more { font-size: 14px; }
	.sp-faq { padding: 40px 16px 40px; }
	.sp-faq .pg-head { margin-bottom: 14px; }
	.sp-faq .pg-head h2 { margin-top: 18px; }
	.sp-q { padding: 16px 0; display: flex; flex-direction: column; gap: 8px; }
	.sp-q h3 { font-size: 16px; }
	.sp-q p { font-size: 14px; line-height: 1.6; }
	.sp-cta { min-height: 0; padding: 48px 16px; flex-direction: column; align-items: stretch; gap: 14px; }
	.sp-cta-txt h2 { font-size: 30px; line-height: 1.06; }
	.sp-cta-txt p { font-size: 15px; }
	.sp-cta-act { gap: 14px; margin-top: 10px; }
	.sp-cta-act .btn { height: 58px; }
	.sp-cta-act > span { text-align: left; }
}

/* Ceny mieszkań / domów */
.cn-box { width: 330px; background: rgba(0,0,0,.85); border: 1px solid rgba(255,211,0,.5); padding: 24px 26px; display: flex; flex-direction: column; gap: 8px; }
.cn-box-l { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.cn-box .hd { font-size: 46px; line-height: 1; color: var(--white); white-space: nowrap; letter-spacing: -1.5px; }
.cn-box .hd.sm { font-size: 44px; white-space: nowrap; }
.cn-box-s { font-size: 14px; color: var(--g400); }
.cn-box-d { font-size: 12px; color: var(--g500); }
.cn-trend { padding: 88px var(--side) 0; display: flex; flex-direction: column; gap: 28px; }
.cn-trend-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.cn-trend-head > p { max-width: 420px; font-size: 15px; line-height: 1.6; color: var(--g700); }
.cn-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--g200); border: 1px solid var(--g200); }
.cn-kpis > div { background: var(--white); padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.cn-kpis .hd { font-size: 34px; line-height: 1; letter-spacing: -.5px; color: #000; }
.cn-kpis > div > span:last-child { font-size: 13px; line-height: 1.35; color: var(--g600); }
.cn-chart { background: var(--white); border: 1px solid var(--g200); padding: 18px 20px 10px; }
.cn-chart svg { display: block; width: 100%; height: auto; font-family: "Inter", sans-serif; overflow: visible; }
.cn-factors { padding: 80px var(--side) 0; display: flex; flex-direction: column; gap: 28px; }
.cn-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.cn-card { background: var(--white); border: 1px solid var(--g200); padding: 24px 26px; display: flex; flex-direction: column; }
.cn-card h3 { margin: 0 0 6px; font-size: 18px; font-weight: 800; color: #000; }
.cn-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px solid #EEE; font-size: 15px; }
.cn-row > span:first-child { color: var(--g900); }
.cn-row > span:last-child { color: var(--g600); white-space: nowrap; }
.cn-row strong { color: #000; }
.cn-card p { margin-top: 14px; font-size: 13px; line-height: 1.55; color: var(--g600); }
.cn-streets { padding: 80px var(--side) 0; display: grid; grid-template-columns: 1fr 400px; gap: 56px; align-items: start; }
.cn-streets .pg-head { margin-bottom: 18px; }
.cn-tr { display: grid; grid-template-columns: 1fr 140px 160px 170px; padding: 13px 0; border-bottom: 1px solid #EEE; font-size: 15px; color: var(--g900); }
.cn-tr > span:nth-child(n+2) { text-align: right; color: var(--g600); }
.cn-tr > span:last-child { font-weight: 800; color: #000; white-space: nowrap; }
.cn-tr b { font-weight: 400; }
.cn-th { padding: 0 0 10px; border-bottom: 2px solid #000; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--g600); }
.cn-th > span:last-child { font-weight: 700; color: var(--g600); }
.cn-foot { display: block; margin-top: 14px; font-size: 12px; color: var(--g500); }
.cn-side { margin-top: 128px; display: flex; flex-direction: column; gap: 24px; }
.cn-gold { background: var(--gold); padding: 24px 26px; display: flex; flex-direction: column; gap: 10px; color: #000; }
.cn-gold b { font-size: 18px; font-weight: 800; }
.cn-gold span { font-size: 14px; line-height: 1.55; }
.cn-gold a { font-size: 14px; font-weight: 800; text-transform: uppercase; }
.cn-faq .sp-q { padding: 22px 0; }
.cn-faq .sp-q h3 { font-size: 19px; }
.cn-faq .sp-q p { font-size: 16px; }
.cn-sell { padding-bottom: 0; }
.cn-cta { min-height: 360px; background: #000; padding: 48px var(--side); display: flex; align-items: center; justify-content: space-between; gap: 64px; }
.cn-cta .sp-cta-txt { max-width: 700px; }
.cn-cta .sp-cta-txt .label { color: var(--gold); }
.cn-cta .sp-cta-txt h2 { color: var(--white); }
.cn-cta .sp-cta-txt p { color: var(--g400); }
.cn-cta > .btn, .cn-cta .sp-cta-act .btn { height: 60px; padding: 0 28px; font-size: 15px; flex-shrink: 0; background: var(--grad); background-size: 160% 100%; color: #000; }
.cn-cta .sp-cta-act > span { color: var(--g400); }
.cn-cta .sp-cta-act strong { color: var(--white); }
@media (max-width: 1179px) and (min-width: 900px) {
	.cn-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cn-streets { grid-template-columns: minmax(0, 1fr); }
	.cn-side { margin-top: 0; display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
	.cn-tr { grid-template-columns: 1fr 100px 130px 140px; }
	.cn-box .hd { font-size: 40px; }
}
@media (max-width: 899px) {
	.cn-hero { padding-bottom: 28px; }
	.cn-trend { padding: 48px 16px 0; gap: 18px; }
	.cn-trend-head { display: block; }
	.cn-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cn-kpis .hd { font-size: 24px; white-space: nowrap; }
	.cn-chart { padding: 12px 8px 6px; }
	.cn-note { font-size: 14px; line-height: 1.6; color: var(--g700); }
	.cn-factors { padding: 40px 16px 0; gap: 18px; }
	.cn-cards { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.cn-row { font-size: 14px; }
	.cn-streets { padding: 40px 16px 0; display: block; }
	.cn-streets .pg-head { margin-bottom: 4px; }
	.cn-tr.cn-th { display: none; }
	.cn-tr { display: flex; justify-content: space-between; gap: 10px; padding: 12px 0; font-size: 14px; }
	.cn-tr > span:nth-child(2), .cn-tr > span:nth-child(3) { display: none; }
	.cn-tr > span:first-child { display: flex; flex-direction: column; gap: 2px; }
	.cn-tr b { font-weight: 700; }
	.cn-tr small { font-size: 12px; color: var(--g500); }
	.cn-foot { line-height: 1.5; }
	.cn-faq .sp-q { padding: 18px 0; }
	.cn-faq .sp-q h3 { font-size: 17px; }
	.cn-faq .sp-q p { font-size: 15px; }
	.cn-cta { min-height: 0; padding: 48px 16px; flex-direction: column; align-items: stretch; gap: 14px; }
	.cn-cta > .btn, .cn-cta .sp-cta-act .btn { margin-top: 10px; height: 58px; }
	.cn-cta .sp-cta-act { margin-top: 0; }
	.cn-cta .sp-cta-act > span { text-align: left; color: var(--g400); }
}

/* Kalkulator sprzedaży */
.kc-main { grid-template-columns: minmax(0, 1fr) 540px; }
.kc-card { padding: 32px 36px; gap: 24px; }
.kc-lab { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-dk); }
.kc-f { display: flex; flex-direction: column; gap: 10px; }
.kc-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.kc-top label { font-size: 14px; font-weight: 700; color: #000; }
.kc-val { font-size: 18px; font-weight: 800; color: #000; white-space: nowrap; }
.kc-val small { font-size: 13px; font-weight: 600; color: var(--g600); }
.kc-f .rng { margin: 0; }
.kc-hint { font-size: 12px; line-height: 1.4; color: var(--g600); }
.kc-disc { font-size: 12px; line-height: 1.5; color: var(--g600); border-top: 1px solid #EEE; padding-top: 14px; }
.kc-panel { padding: 32px 34px; gap: 22px; }
.kc-big { display: block; font-size: 38px; line-height: 1.05; letter-spacing: -1px; color: var(--white); }
.kc-faster { display: block; margin-top: 10px; font-size: 16px; color: var(--g400); }
.kc-faster strong { color: var(--white); }
.kc-bars { display: flex; flex-direction: column; gap: 14px; }
.kc-bars > div { display: flex; flex-direction: column; gap: 6px; }
.kc-bl { display: flex; justify-content: space-between; font-size: 13px; font-weight: 700; }
.kc-bl > span:first-child { color: var(--g400); }
.kc-bl.g > span:first-child { color: var(--gold); }
.kc-bar { height: 14px; background: var(--g900); }
.kc-bar i { display: block; height: 14px; width: 50%; background: var(--g600); transition: width .4s ease; }
.kc-bar i.gold-bg { background: var(--grad); }
.kc-tab { display: flex; flex-direction: column; }
.kc-th, .kc-tr { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.kc-th { padding-bottom: 8px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--g500); }
.kc-th > span, .kc-tr > span:nth-child(n+2) { text-align: right; }
.kc-tr { padding: 10px 0; border-top: 1px solid rgba(255,255,255,.08); font-size: 14px; }
.kc-tr > span:first-child { color: var(--g400); }
.kc-tr > span:last-child { color: var(--white); }
.kc-sum { font-size: 15px; font-weight: 800; }
.kc-sum > span:first-child { color: var(--white); }
.kc-sum > span:last-child { color: var(--gold); }
.kc-checks { display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--g200); }
.kc-cta { height: 58px; font-size: 14px; }
@media (max-width: 1179px) and (min-width: 900px) { .kc-main { grid-template-columns: minmax(0, 1fr) 440px; } .kc-big { font-size: 32px; } }
@media (max-width: 899px) {
	.kc-main { padding-bottom: 40px; grid-template-columns: minmax(0, 1fr); }
	.kc-card { padding: 22px 18px; }
	.kc-lab { font-size: 13px; }
	.kc-val small { font-size: 14px; }
	.kc-hint, .kc-disc { font-size: 13px; }
	.kc-panel { padding: 24px 18px; }
	.kc-big { font-size: 30px; }
	.kc-bl { font-size: 14px; }
	.kc-th { font-size: 12px; }
}

/* Umów spotkanie */
.rz-call { display: flex; flex-direction: column; gap: 6px; padding-bottom: 6px; font-size: 14px; color: var(--g400); text-align: right; }
.rz-call a { font-size: 26px; font-weight: 800; color: var(--white); }
.rz-main { grid-template-columns: minmax(0, 1fr) 400px; }
.rz-card { padding: 32px 34px; gap: 26px; }
.rz-step { display: flex; flex-direction: column; gap: 12px; }
.rz-h { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 800; color: #000; }
.rz-h > span { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; }
.w-opt[aria-checked="true"] { border-color: var(--gold-2); background: #FFF6CC; }
.rz-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rz-type { height: auto; min-height: 132px; padding: 16px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 6px; text-align: left; }
.rz-tt { display: flex; width: 100%; justify-content: space-between; align-items: baseline; gap: 8px; }
.rz-tt b { font-size: 16px; font-weight: 800; color: #000; }
.rz-tt small { font-size: 12px; font-weight: 700; color: var(--gold-dk); white-space: nowrap; }
.rz-td { font-size: 13px; line-height: 1.4; font-weight: 400; color: var(--g700); }
.rz-agents { display: flex; gap: 20px; flex-wrap: wrap; }
.rz-agent { background: transparent; border: 0; padding: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 8px; width: 88px; }
.rz-av { width: 68px; height: 68px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 3px transparent; background: #000; display: flex; align-items: center; justify-content: center; transition: box-shadow .15s ease; }
.rz-av img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; }
.rz-agent:hover .rz-av { box-shadow: 0 0 0 3px var(--gold-2); }
.rz-agent[aria-checked="true"] .rz-av { box-shadow: 0 0 0 3px var(--gold); }
.rz-an { font-size: 12px; font-weight: 600; line-height: 1.2; text-align: center; color: #000; }
.rz-agent[aria-checked="true"] .rz-an { font-weight: 800; }
.rz-days { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 8px; }
.rz-day { height: 78px; padding: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
.rz-day small { font-size: 11px; color: var(--g600); }
.rz-day small:first-child { font-weight: 700; text-transform: uppercase; }
.rz-day .hd { font-size: 22px; color: #000; letter-spacing: 0; }
.rz-day[aria-pressed="true"] { background: #000; border-color: #000; }
.rz-day[aria-pressed="true"] .hd { color: var(--white); }
.rz-day[aria-pressed="true"] small { color: var(--gold); }
.rz-slots { margin-top: 4px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.rz-slot { height: 50px; font-size: 15px; }
.rz-slot[aria-pressed="true"] { background: #000; border-color: #000; color: var(--gold); }
.rz-slot.tk { background: var(--g100); border-color: #EEE; color: #A6A6A6; text-decoration: line-through; cursor: not-allowed; }
.rz-note { font-size: 12px; color: var(--g600); }
.rz-panel { padding: 30px; gap: 18px; }
.rz-form { display: flex; flex-direction: column; gap: 18px; }
.rz-panel .w-ptl { font-size: 12px; }
.rz-sum { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.rz-sum > div { display: flex; justify-content: space-between; gap: 12px; }
.rz-sum > div > span { color: var(--g500); }
.rz-sum b { font-weight: 700; text-align: right; }
.rz-sum .y { color: var(--gold); }
.rz-fields { border-top: 1px solid rgba(255,211,0,.3); padding-top: 18px; display: flex; flex-direction: column; gap: 12px; }
.rz-fields .w-f > label { font-size: 13px; }
.rz-go { height: 58px; font-size: 14px; }
.rz-small { font-size: 12px; line-height: 1.5; color: var(--g500); }
.rz-done { display: flex; flex-direction: column; gap: 16px; }
.rz-ok { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.rz-dh { font-size: 26px; line-height: 1.05; color: var(--white); }
.rz-dl { font-size: 16px; line-height: 1.5; color: var(--g200); }
.rz-dl strong { color: var(--gold); }
.rz-dl .g { color: var(--g500); }
.rz-dn { font-size: 14px; color: var(--g400); }
.rz-cal { display: flex; flex-direction: column; gap: 8px; }
.rz-cal a { height: 50px; border: 1px solid rgba(255,211,0,.6); display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 10px; font-size: 13px; font-weight: 800; text-transform: uppercase; color: var(--white); }
.rz-cal a + a { border-color: rgba(255,255,255,.2); }
.rz-cal a:hover { background: rgba(255,211,0,.1); }
@media (max-width: 1179px) and (min-width: 900px) {
	.rz-main { grid-template-columns: minmax(0, 1fr) 360px; }
	.rz-days { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.rz-types { grid-template-columns: minmax(0, 1fr); }
	.rz-type { min-height: 0; }
}
@media (max-width: 899px) {
	.rz-main { padding-bottom: 40px; grid-template-columns: minmax(0, 1fr); }
	.rz-card { padding: 22px 18px; }
	.rz-h > span { font-size: 14px; }
	.rz-types { grid-template-columns: minmax(0, 1fr); }
	.rz-type { min-height: 0; }
	.rz-tt small { font-size: 13px; }
	.rz-td { font-size: 14px; }
	.rz-agents { gap: 12px; flex-wrap: nowrap; }
	.rz-agent { width: 72px; }
	.rz-av { width: 60px; height: 60px; }
	.rz-an { font-size: 13px; }
	.rz-days { display: flex; overflow-x: auto; margin: 0 -18px; padding: 0 18px 4px; scrollbar-width: none; }
	.rz-days::-webkit-scrollbar { display: none; }
	.rz-day { width: 64px; flex-shrink: 0; height: 78px; }
	.rz-day small { font-size: 12px; }
	.rz-slots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rz-note { font-size: 13px; }
	.rz-panel { padding: 22px 18px; }
	.rz-panel .w-ptl { font-size: 13px; }
	.rz-fields .w-f > label { font-size: 14px; }
	.rz-small { font-size: 13px; }
}

/* ===================== O nas ===================== */
.ab { --ab-pad: 120px; }
.ab .hd { letter-spacing: -1px; }
.ab-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 15px; color: #000; border-bottom: 2px solid var(--gold); padding-bottom: 3px; width: fit-content; transition: gap .2s ease; }
.ab-link::after { content: ""; width: 14px; height: 2px; background: currentColor; box-shadow: 4px -4px 0 -0px transparent; }
.ab-link:hover { gap: 16px; }

/* 1. hero: napis + okno w kształcie H (jak grafika na witrynie biura) */
.ab-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 96px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 680px); gap: 56px; align-items: center; overflow: hidden; }
.ab-hero-txt { display: flex; flex-direction: column; gap: 26px; }
.ab-hero h1 { font-size: 66px; line-height: .94; letter-spacing: -3px; color: var(--white); }
.ab-hero-txt > p { max-width: 560px; font-size: 19px; line-height: 1.6; color: var(--g400); }
.ab-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.ab-hero-btns .btn { height: 58px; padding: 0 30px; font-size: 15px; }
.ab-ghost { height: 58px; padding: 0 26px; display: inline-flex; align-items: center; border: 1.5px solid #5B5B5B; color: var(--white); font-size: 15px; font-weight: 700; transition: border-color .15s ease; }
.ab-ghost:hover { border-color: var(--gold); }
.ab-hero-proof { list-style: none; margin: 4px 0 0; padding: 0; display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--g400); }
.ab-hero-proof li { display: flex; align-items: center; gap: 10px; }
.ab-hero-proof strong { color: var(--white); }
.ab-hero-proof svg { color: var(--gold); }
.ab-hframe { margin: 0; display: grid; grid-template-columns: 11% minmax(0, 1fr) 11%; aspect-ratio: 1.62; width: 100%; }
.ab-hbar { background: var(--grad); }
.ab-hwin { position: relative; overflow: hidden; }
.ab-hwin img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.15) contrast(1.05); }
.ab-hcross { position: absolute; left: 0; right: 0; top: 40%; height: 20%; background: rgba(255,211,0,.82); mix-blend-mode: multiply; }
.ab-hcross::after { content: ""; position: absolute; inset: 0; background: rgba(255,211,0,.35); }
@media (prefers-reduced-motion: no-preference) {
	.ab-hbar.l { animation: abBar .9s cubic-bezier(.2,.7,.2,1) both; }
	.ab-hbar.r { animation: abBar .9s .12s cubic-bezier(.2,.7,.2,1) both; }
	.ab-hcross { animation: abCross .8s .45s cubic-bezier(.2,.7,.2,1) both; transform-origin: left; }
}
@keyframes abBar { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes abCross { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* 2. manifest */
.ab-manifest { background: #000; padding: 40px var(--side) 140px; border-top: 1px solid #1d1d1d; }
.ab-manifest-k { font-size: 15px; font-weight: 700; color: var(--gold); padding-top: 72px; }
.ab-manifest-t { margin-top: 24px; max-width: 1080px; font-size: 46px; line-height: 1.22; font-weight: 700; letter-spacing: -1px; color: #3E3E3E; }
.ab-manifest-t .w { transition: color .25s ease; }
.ab-manifest-t .w.on, .ab-manifest-t.lit { color: var(--white); }
.ab-manifest .ab-link { margin-top: 44px; color: var(--white); }

/* 3. dane */
.ab-data { background: var(--white); padding: 110px var(--side); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: center; }
.ab-data-txt { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
.ab-data-txt h2 { font-size: 52px; line-height: 1; }
.ab-data-txt p { font-size: 18px; line-height: 1.65; color: var(--g700); max-width: 520px; }
.ab-data-nums { margin: 0; display: flex; flex-direction: column; }
.ab-data-nums div { padding: 26px 0; border-top: 1px solid var(--g200); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: baseline; }
.ab-data-nums div:last-child { border-bottom: 1px solid var(--g200); }
.ab-data-nums dt { font-size: 44px; font-weight: 800; letter-spacing: -1.5px; color: #000; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ab-data-nums dd { margin: 0; font-size: 15px; line-height: 1.5; color: var(--g700); }

/* 4. dlaczego */
.ab-why { background: var(--g100); padding: 0 var(--side); display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 80px; align-items: end; }
.ab-why-img { margin: 0; padding-top: 72px; }
.ab-why-img img { width: 100%; max-height: 600px; object-fit: cover; object-position: top; }
.ab-why-txt { padding: 96px 0; display: flex; flex-direction: column; gap: 20px; max-width: 640px; align-self: center; }
.ab-why-txt h2 { font-size: 44px; line-height: 1.02; margin-bottom: 6px; }
.ab-why-txt p { font-size: 18px; line-height: 1.7; color: var(--g700); }
.ab-sign { display: flex; flex-direction: column; font-size: 15px !important; }
.ab-sign strong { font-size: 18px; color: #000; }

/* 5. zasady */
.ab-rules { background: #000; padding: 110px var(--side); color: var(--white); display: flex; flex-direction: column; gap: 52px; }
.ab-rules-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 48px; align-items: end; }
.ab-rules-head h2 { font-size: 52px; line-height: 1; color: var(--white); }
.ab-rules-head p { font-size: 17px; line-height: 1.6; color: var(--g400); }
.ab-rules-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 1px; background: #262626; border: 1px solid #262626; }
.ab-rules-grid article { background: #000; padding: 36px 32px 40px; display: flex; flex-direction: column; gap: 14px; }
.ab-rules-grid h3 { font-size: 26px; color: var(--gold); }
.ab-rules-grid p { font-size: 16px; line-height: 1.65; color: var(--g400); }
.ab-rules-img { margin: 0; grid-column: 3; grid-row: 1 / 3; background: #000; }
.ab-rules-img img { width: 100%; height: 100%; object-fit: cover; }
.ab-rules-grid article:nth-child(3) { grid-column: 1; grid-row: 2; }
.ab-rules-grid article:nth-child(4) { grid-column: 2; grid-row: 2; }

/* 6. różnica */
.ab-diff { background: var(--white); padding: 110px var(--side); display: flex; flex-direction: column; gap: 40px; }
.ab-diff h2 { font-size: 52px; line-height: 1; max-width: 760px; }
.ab-diff-r { display: grid; grid-template-columns: 200px minmax(0, 1fr) minmax(0, 1fr); border-bottom: 1px solid var(--g200); }
.ab-diff-r > span { padding: 22px 24px 22px 0; font-size: 16px; line-height: 1.5; }
.ab-diff-r > span:first-child { font-weight: 800; color: #000; }
.ab-diff-r > span:nth-child(2) { color: var(--g500); }
.ab-diff-r > span:nth-child(3) { padding-left: 24px; background: #FFF8D6; color: #000; font-weight: 600; }
.ab-diff-h > span { padding-top: 0; padding-bottom: 14px; font-size: 14px; font-weight: 800; color: #000 !important; }
.ab-diff-h > span:nth-child(3) { background: var(--grad); padding-top: 14px; }
.ab-diff-h { border-bottom: 2px solid #000; align-items: end; }

/* 7. ludzie */
.ab-team { background: var(--g100); padding: 110px var(--side); display: flex; flex-direction: column; gap: 44px; }
.ab-team-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 48px; align-items: end; }
.ab-team-head h2 { font-size: 52px; line-height: 1; }
.ab-team-head p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.ab-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.ab-person { display: flex; flex-direction: column; gap: 10px; }
.ab-person-img { aspect-ratio: 4 / 4.6; background: #DAD3DA; overflow: hidden; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.ab-person-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.ab-person-img > span { font-size: 96px; color: var(--gold-2); }
.ab-person h3 { font-size: 24px; line-height: 1.05; }
.ab-role { font-size: 14px; font-weight: 700; color: var(--gold-dk); }
.ab-person p { font-size: 15px; line-height: 1.65; color: var(--g700); }
.ab-person .ab-link { margin-top: 6px; }

/* 8. biuro */
.ab-office { background: var(--white); padding: 110px var(--side); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 72px; align-items: start; }
.ab-office-info { display: flex; flex-direction: column; gap: 30px; }
.ab-office-info h2 { font-size: 44px; line-height: 1.02; }
.ab-office-info dl { margin: 0; display: flex; flex-direction: column; }
.ab-office-info dl div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-top: 1px solid var(--g200); }
.ab-office-info dt { font-size: 14px; font-weight: 700; color: var(--g500); }
.ab-office-info dd { margin: 0; font-size: 16px; line-height: 1.55; color: #000; }
.ab-office-info dd a { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 3px; text-decoration-thickness: 2px; }
.ab-faq { display: flex; flex-direction: column; border-top: 2px solid #000; }
.ab-faq details { border-bottom: 1px solid var(--g200); }
.ab-faq summary { list-style: none; cursor: pointer; padding: 18px 40px 18px 0; position: relative; font-size: 17px; font-weight: 700; color: #000; }
.ab-faq summary::-webkit-details-marker { display: none; }
.ab-faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 12px; height: 12px; margin-top: -8px; border-right: 2px solid #000; border-bottom: 2px solid #000; transform: rotate(45deg); transition: transform .2s ease; }
.ab-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.ab-faq details p { padding: 0 24px 20px 0; font-size: 15px; line-height: 1.65; color: var(--g700); }

/* 9. trzy drogi */
.ab-next { background: var(--g100); padding: 110px var(--side) 120px; display: flex; flex-direction: column; gap: 36px; }
.ab-next h2 { font-size: 52px; line-height: 1; }
.ab-next-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ab-door { min-height: 260px; padding: 32px 30px; background: var(--white); border: 1.5px solid #000; display: flex; flex-direction: column; gap: 14px; transition: background .2s ease; }
.ab-door .hd { font-size: 34px; color: #000; }
.ab-door > span:nth-child(2) { font-size: 16px; line-height: 1.6; color: var(--g700); }
.ab-door-go { margin-top: auto; font-weight: 800; font-size: 15px; color: #000; display: inline-flex; align-items: center; gap: 10px; }
.ab-door-go::after { content: ""; width: 26px; height: 2px; background: currentColor; transition: width .2s ease; }
.ab-door:hover { background: #FFF6CC; }
.ab-door:hover .ab-door-go::after { width: 40px; }
.ab-door.dark { background: #000; border-color: #000; }
.ab-door.dark .hd, .ab-door.dark .ab-door-go { color: var(--gold); }
.ab-door.dark > span:nth-child(2) { color: var(--g400); }
.ab-door.dark:hover { background: #1a1a1a; }
.ab-next-tel { font-size: 16px; color: var(--g700); }
.ab-next-tel a { font-weight: 800; color: #000; }

@media (max-width: 1180px) {
	.ab-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 44px; }
	.ab-hero h1 { font-size: 56px; }
	.ab-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ab-rules-img { display: none; }
	.ab-rules-grid article:nth-child(3), .ab-rules-grid article:nth-child(4) { grid-column: auto; grid-row: auto; }
}
@media (max-width: 899px) {
	.ab-hero { padding: 132px var(--side) 56px; grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.ab-hero h1 { font-size: 46px; letter-spacing: -1.5px; }
	.ab-hero-txt { gap: 20px; }
	.ab-hero-txt > p { font-size: 17px; }
	.ab-hero-btns { flex-direction: column; }
	.ab-hero-btns > * { width: 100%; justify-content: center; }
	.ab-hero-proof { flex-direction: column; gap: 10px; }
	.ab-manifest { padding: 0 var(--side) 80px; }
	.ab-manifest-k { padding-top: 56px; }
	.ab-manifest-t { font-size: 28px; line-height: 1.28; letter-spacing: -.5px; }
	.ab-manifest .ab-link { margin-top: 32px; }
	.ab-data, .ab-rules, .ab-diff, .ab-team, .ab-office, .ab-next { padding-top: 64px; padding-bottom: 64px; }
	.ab-data { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.ab-data-txt h2, .ab-rules-head h2, .ab-diff h2, .ab-team-head h2, .ab-next h2 { font-size: 34px; letter-spacing: -.8px; }
	.ab-data-txt p { font-size: 16px; }
	.ab-data-txt .btn { width: 100%; }
	.ab-data-nums div { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 20px 0; }
	.ab-data-nums dt { font-size: 34px; }
	.ab-why { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.ab-why-txt { padding: 64px 0 32px; order: -1; }
	.ab-why-txt h2 { font-size: 32px; }
	.ab-why-txt p { font-size: 16px; }
	.ab-why-img { padding-top: 0; max-width: 340px; margin: 0 auto; }
	.ab-rules { gap: 32px; }
	.ab-rules-head, .ab-team-head { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.ab-rules-grid { grid-template-columns: minmax(0, 1fr); }
	.ab-rules-grid article { padding: 26px 22px 28px; }
	.ab-rules-grid h3 { font-size: 22px; }
	.ab-diff { gap: 24px; }
	.ab-diff-h { display: none; }
	.ab-diff-r { grid-template-columns: minmax(0, 1fr); padding: 18px 0; gap: 8px; }
	.ab-diff-r > span { padding: 0; font-size: 15px; }
	.ab-diff-r > span:nth-child(2)::before { content: "Typowo: "; font-weight: 700; }
	.ab-diff-r > span:nth-child(3) { padding: 10px 12px; }
	.ab-diff-r > span:nth-child(3)::before { content: "Z HausLand: "; font-weight: 800; }
	.ab-team { gap: 32px; }
	.ab-team-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.ab-person-img { aspect-ratio: 4 / 3.6; }
	.ab-office { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.ab-office-info h2 { font-size: 32px; }
	.ab-office-info dl div { grid-template-columns: 90px minmax(0, 1fr); }
	.ab-next-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.ab-door { min-height: 0; padding: 24px 22px; }
	.ab-door .hd { font-size: 28px; }
}

/* ===================== Sprzedaż nieruchomości ===================== */
.ab-link.light { color: var(--white); }
.sn-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 96px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 64px; align-items: center; }
.sn-hero-txt { display: flex; flex-direction: column; gap: 24px; }
.sn-hero h1 { font-size: 72px; line-height: .96; letter-spacing: -2.5px; color: var(--white); }
.sn-hero-txt > p { max-width: 560px; font-size: 19px; line-height: 1.6; color: var(--g400); }
.sn-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.sn-hero-btns .btn { height: 58px; padding: 0 28px; font-size: 15px; }
.sn-proof { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--g400); }
.sn-proof strong { color: var(--gold); font-size: 16px; }

.sn-cal { background: #fff; color: #000; padding: 26px 26px 22px; box-shadow: 18px 18px 0 var(--gold); }
.sn-cal-h { font-size: 20px; font-weight: 800; letter-spacing: -.3px; }
.sn-cal-dow, .sn-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.sn-cal-dow { margin-top: 16px; font-size: 12px; font-weight: 700; color: var(--g500); text-align: center; }
.sn-cal-grid { list-style: none; margin: 6px 0 0; padding: 0; }
.sn-d { position: relative; height: 58px; background: var(--g100); padding: 6px; display: flex; flex-direction: column; justify-content: space-between; font-size: 14px; font-weight: 700; }
.sn-d small { font-size: 10px; font-weight: 600; color: var(--g500); }
.sn-d.past { color: var(--g400); background: #F7F7F7; }
.sn-d.in { background: #FFF3BF; }
.sn-d.today { outline: 2px solid #000; outline-offset: -2px; }
.sn-d .t { font-size: 9.5px; line-height: 1.15; font-weight: 700; }
.sn-d.ev { background: #000; color: var(--white); }
.sn-d.ev small { color: var(--g400); }
.sn-d.ev.open, .sn-d.ev.fin { background: var(--grad); color: #000; }
.sn-d.ev.open small, .sn-d.ev.fin small { color: #5a4400; }
.sn-cal-leg { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
.sn-cal-leg li { display: flex; flex-direction: column; padding-left: 12px; border-left: 3px solid #000; }
.sn-cal-leg li.open, .sn-cal-leg li.fin { border-color: var(--gold-2); }
.sn-cal-leg b { font-size: 13px; }
.sn-cal-leg span { font-size: 13px; color: var(--g700); }
.sn-cal-n { margin-top: 14px; font-size: 12px; color: var(--g500); }
@media (min-width: 900px) and (max-width: 1180px) { .sn-d .t { display: none; } }

.sn-flip { background: #111; border-top: 1px solid #222; padding: 72px var(--side); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 64px; align-items: end; color: var(--white); }
.sn-flip-big { font-size: 38px; line-height: 1.12; letter-spacing: -1px; color: var(--white); text-transform: none; }
.sn-flip-side { display: flex; flex-direction: column; gap: 20px; }
.sn-flip-side p { font-size: 16px; line-height: 1.65; color: var(--g400); }

.sn-types { background: var(--white); padding: 110px var(--side); display: flex; flex-direction: column; gap: 40px; }
.sn-types h2, .sn-steps h2, .sn-pack h2, .sn-cases h2, .sn-sit h2, .sn-faq h2 { font-size: 52px; line-height: 1; }
.sn-types-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 2px solid #000; }
.sn-type { padding: 28px 26px 30px 0; display: flex; flex-direction: column; gap: 14px; }
.sn-type + .sn-type { padding-left: 26px; border-left: 1px solid var(--g200); }
.sn-type h3 { font-size: 28px; }
.sn-type p { font-size: 15px; line-height: 1.65; color: var(--g700); }
.sn-type-k { font-size: 14px; font-weight: 700; color: var(--gold-dk); }
.sn-type .ab-link { margin-top: auto; }

.sn-steps { background: var(--g100); padding: 110px var(--side); display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 72px; align-items: start; }
.sn-steps-head { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 18px; }
.sn-steps-head p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.sn-steps-list { list-style: none; margin: 0; padding: 0; }
.sn-steps-list li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 22px; padding-bottom: 34px; position: relative; }
.sn-steps-list li:not(:last-child)::before { content: ""; position: absolute; left: 31px; top: 64px; bottom: 0; width: 2px; background: var(--g300); }
.sn-step-n { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; background: #000; color: var(--gold); font-size: 24px; font-weight: 800; }
.sn-steps-list li:last-child .sn-step-n { background: var(--grad); color: #000; }
.sn-step-w { font-size: 13px; font-weight: 700; color: var(--gold-dk); }
.sn-steps-list h3 { margin-top: 2px; font-size: 22px; line-height: 1.2; font-weight: 800; }
.sn-steps-list p { margin-top: 8px; font-size: 16px; line-height: 1.65; color: var(--g700); max-width: 620px; }

.sn-pack { background: #000; color: var(--white); padding: 110px var(--side); display: flex; flex-direction: column; gap: 44px; }
.sn-pack-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 48px; align-items: end; }
.sn-pack h2 { color: var(--white); }
.sn-pack-head p { font-size: 17px; line-height: 1.6; color: var(--g400); }
.sn-pack-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #262626; border: 1px solid #262626; }
.sn-pack-col { background: #000; padding: 28px 24px 30px; }
.sn-pack-col h3 { font-size: 20px; font-weight: 800; color: var(--gold); }
.sn-pack-col ul { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sn-pack-col li { display: flex; gap: 10px; font-size: 15px; line-height: 1.5; color: #DADADA; }
.sn-pack-col svg { flex-shrink: 0; margin-top: 2px; color: var(--gold); }

.sn-diff-n { max-width: 760px; font-size: 16px; line-height: 1.6; color: var(--g700); }
.sn-diff-n strong { color: #000; }
.sn-diff-n a { color: #000; font-weight: 700; text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: 3px; }

.sn-cases { background: var(--g100); padding: 110px var(--side); display: flex; flex-direction: column; gap: 40px; }
.sn-cases-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sn-cases-grid article { background: var(--white); padding: 30px 28px 32px; display: flex; flex-direction: column; gap: 6px; border-top: 4px solid var(--gold); }
.sn-case-n { font-size: 84px; line-height: .9; color: #000; letter-spacing: -3px; }
.sn-case-u { font-size: 15px; font-weight: 700; color: var(--gold-dk); }
.sn-cases-grid h3 { margin-top: 18px; font-size: 18px; font-weight: 800; }
.sn-cases-grid p { font-size: 15px; line-height: 1.6; color: var(--g700); }

.sn-sit { background: var(--white); padding: 110px var(--side); display: flex; flex-direction: column; gap: 40px; }
.sn-sit-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 48px; align-items: end; }
.sn-sit-head p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.sn-sit-grid { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 48px; align-items: start; }
.sn-sit-tabs { display: flex; flex-direction: column; border-top: 2px solid #000; }
.sn-sit-tabs button { text-align: left; padding: 18px 40px 18px 0; border: 0; border-bottom: 1px solid var(--g200); background: none; font-size: 17px; font-weight: 700; color: var(--g600); cursor: pointer; position: relative; }
.sn-sit-tabs button:hover { color: #000; }
.sn-sit-tabs button[aria-selected="true"] { color: #000; }
.sn-sit-tabs button[aria-selected="true"]::after { content: ""; position: absolute; right: 0; top: 50%; width: 24px; height: 24px; margin-top: -12px; background: var(--grad); }
.sn-sit-p { background: var(--g100); padding: 36px 36px 38px; display: flex; flex-direction: column; gap: 16px; }
.sn-sit-p h3 { font-size: 32px; line-height: 1.05; }
.sn-sit-pain { font-size: 17px; line-height: 1.6; color: var(--g700); }
.sn-sit-p ol { list-style: none; margin: 6px 0 0; padding: 0; counter-reset: q; display: flex; flex-direction: column; gap: 14px; }
.sn-sit-p li { counter-increment: q; display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; }
.sn-sit-p li::before { content: counter(q); grid-row: 1 / 3; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; background: #000; color: var(--gold); font-weight: 800; }
.sn-sit-p li strong { font-size: 16px; }
.sn-sit-p li span { font-size: 15px; line-height: 1.55; color: var(--g700); }
.sn-sit-p blockquote { margin: 8px 0 0; padding: 16px 18px; background: var(--white); border-left: 3px solid var(--gold); font-size: 15px; line-height: 1.6; color: #000; }
.sn-sit-p cite { display: block; margin-top: 6px; font-style: normal; font-size: 13px; color: var(--g500); }
.sn-sit-p .btn { align-self: flex-start; margin-top: 8px; }

.sn-faq { background: var(--g100); padding: 110px var(--side); display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 72px; align-items: start; }
.sn-faq-side { display: flex; flex-direction: column; gap: 26px; position: sticky; top: 110px; }
.sn-zero { background: #000; color: var(--white); padding: 26px 26px 28px; display: flex; flex-direction: column; gap: 8px; }
.sn-zero .hd { font-size: 64px; line-height: 1; color: var(--gold); }
.sn-zero span:last-child { font-size: 15px; line-height: 1.6; color: var(--g400); }

@media (max-width: 1180px) {
	.sn-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 40px; }
	.sn-hero h1 { font-size: 58px; }
	.sn-types-grid, .sn-pack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sn-type:nth-child(3) { padding-left: 0; border-left: 0; }
	.sn-type:nth-child(n+3) { border-top: 1px solid var(--g200); }
}
@media (max-width: 899px) {
	.sn-hero { padding: 132px var(--side) 64px; grid-template-columns: minmax(0, 1fr); gap: 44px; }
	.sn-hero h1 { font-size: 42px; letter-spacing: -1.2px; }
	.sn-hero-txt > p { font-size: 17px; }
	.sn-hero-btns { flex-direction: column; }
	.sn-hero-btns > * { width: 100%; justify-content: center; }
	.sn-proof { flex-direction: column; gap: 8px; }
	.sn-cal { padding: 18px 14px 16px; box-shadow: 10px 10px 0 var(--gold); margin-right: 10px; }
	.sn-d { height: 44px; padding: 4px; font-size: 12px; }
	.sn-d .t, .sn-d small { display: none; }
	.sn-cal-leg { grid-template-columns: minmax(0, 1fr); }
	.sn-flip { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 52px var(--side); }
	.sn-flip-big { font-size: 26px; }
	.sn-types, .sn-steps, .sn-pack, .sn-cases, .sn-sit, .sn-faq { padding-top: 64px; padding-bottom: 64px; }
	.sn-types h2, .sn-steps h2, .sn-pack h2, .sn-cases h2, .sn-sit h2, .sn-faq h2 { font-size: 34px; letter-spacing: -.8px; }
	.sn-types-grid, .sn-pack-grid, .sn-cases-grid { grid-template-columns: minmax(0, 1fr); }
	.sn-type, .sn-type + .sn-type { padding: 24px 0; border-left: 0; }
	.sn-type + .sn-type { border-top: 1px solid var(--g200); }
	.sn-steps, .sn-faq { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.sn-steps-head, .sn-faq-side { position: static; }
	.sn-steps-list li { grid-template-columns: 48px minmax(0, 1fr); gap: 16px; }
	.sn-step-n { width: 48px; height: 48px; font-size: 20px; }
	.sn-steps-list li:not(:last-child)::before { left: 23px; top: 48px; }
	.sn-steps-list h3 { font-size: 19px; }
	.sn-pack-head, .sn-sit-head { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.sn-case-n { font-size: 64px; }
	.sn-sit-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.sn-sit-tabs { flex-direction: row; overflow-x: auto; gap: 8px; border-top: 0; padding-bottom: 4px; scrollbar-width: none; }
	.sn-sit-tabs button { flex-shrink: 0; padding: 10px 14px; border: 1.5px solid var(--g300); font-size: 14px; white-space: nowrap; }
	.sn-sit-tabs button[aria-selected="true"] { border-color: #000; background: #000; color: var(--gold); }
	.sn-sit-tabs button[aria-selected="true"]::after { display: none; }
	.sn-sit-p { padding: 24px 18px 26px; }
	.sn-sit-p h3 { font-size: 24px; }
	.sn-sit-p .btn { align-self: stretch; }
	.sn-zero .hd { font-size: 48px; }
}

/* Kontakt */
.kt { --kt-dk: #141414; --kt-ln: #2A2A2A; }
.kt-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.kt-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 96px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 500px); gap: 64px; align-items: center; overflow: hidden; }
.kt-hero::before { content: ""; position: absolute; right: -180px; top: -160px; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.16), rgba(255,211,0,0)); pointer-events: none; }
.kt-hero-txt { position: relative; display: flex; flex-direction: column; gap: 24px; }
.kt-status { display: inline-flex; align-items: center; gap: 10px; width: fit-content; height: 36px; padding: 0 16px 0 14px; border: 1px solid var(--kt-ln); background: var(--kt-dk); font-size: 14px; font-weight: 700; color: var(--g300); }
.kt-status i { width: 9px; height: 9px; border-radius: 50%; background: #8A8A8A; flex-shrink: 0; }
.kt-status.on { color: var(--white); border-color: #1F4D2E; }
.kt-status.on i { background: #2BD46B; box-shadow: 0 0 0 0 rgba(43,212,107,.6); animation: kt-pulse 2s infinite; }
@keyframes kt-pulse { 0% { box-shadow: 0 0 0 0 rgba(43,212,107,.55); } 70% { box-shadow: 0 0 0 10px rgba(43,212,107,0); } 100% { box-shadow: 0 0 0 0 rgba(43,212,107,0); } }
.kt-hero h1 { font-size: 68px; line-height: .94; letter-spacing: -3px; color: var(--white); }
.kt-hero h1 span { display: block; margin-top: 14px; font-size: 40px; line-height: 1.1; letter-spacing: -1px; color: var(--g400); }
.kt-hero h1 em { font-style: normal; color: var(--gold); }
.kt-hero-txt > p { max-width: 540px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.kt-proof { list-style: none; margin: 4px 0 0; padding: 0; display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--g400); }
.kt-proof li { display: flex; align-items: center; gap: 10px; }
.kt-proof strong { color: var(--white); }
.kt-proof svg { color: var(--gold); }
.kt-ch { position: relative; display: flex; flex-direction: column; gap: 10px; }
.kt-call { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 24px 28px; background: var(--grad); background-size: 160% 100%; color: #000; transition: background-position .4s ease; }
.kt-call:hover { background-position: 100% 0; color: #000; }
.kt-call-ico { width: 58px; height: 58px; display: grid; place-items: center; background: #000; color: var(--gold); }
.kt-call-t { display: flex; flex-direction: column; gap: 2px; }
.kt-call-t small { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.kt-call-t strong { font-size: 44px; line-height: 1; letter-spacing: -1px; white-space: nowrap; }
.kt-call-go { font-size: 30px; font-weight: 800; transition: transform .2s ease; }
.kt-call:hover .kt-call-go { transform: translateX(6px); }
.kt-ch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kt-c { display: flex; align-items: center; gap: 14px; min-height: 84px; padding: 16px 18px; background: var(--kt-dk); border: 1px solid var(--kt-ln); color: var(--white); transition: border-color .15s ease, background .15s ease; }
.kt-c svg { color: var(--gold); flex-shrink: 0; }
.kt-c span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.kt-c strong { font-size: 16px; }
.kt-c small { font-size: 13px; color: var(--g400); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kt-c:hover { border-color: var(--gold); background: #1B1B1B; color: var(--white); }
.kt-copy { display: flex; flex-wrap: wrap; gap: 6px 18px; padding-top: 6px; }
.kt-copy button, .kt-copy a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 14px; font-weight: 700; color: var(--g300); }
.kt-copy button:hover, .kt-copy a:hover { color: var(--gold); }
.kt-qr { display: flex; align-items: center; gap: 18px; margin-top: 8px; padding: 14px 18px 14px 14px; border: 1px dashed #3A3A3A; }
.kt-qr img { width: 96px; height: 96px; background: var(--white); padding: 4px; flex-shrink: 0; }
.kt-qr p { font-size: 14px; line-height: 1.5; color: var(--g400); }
.kt-qr strong { color: var(--white); }

.kt-form { padding: 110px var(--side); background: var(--white); display: flex; flex-direction: column; gap: 40px; scroll-margin-top: 90px; }
.kt-form-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 10px 48px; align-items: end; }
.kt-form-head .kt-k { grid-column: 1 / -1; }
.kt-form-head h2 { font-size: 56px; line-height: 1; letter-spacing: -1.5px; }
.kt-form-head p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.kt-intents { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.kt-in { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-height: 168px; padding: 22px 20px; border: 1.5px solid var(--g300); background: var(--white); cursor: pointer; text-align: left; font: inherit; color: #000; transition: border-color .15s ease, background .2s ease, transform .2s ease; }
.kt-in-ico { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: auto; background: var(--g100); color: #000; transition: background .2s ease, color .2s ease; }
.kt-in strong { font-size: 21px; line-height: 1.1; }
.kt-in small { font-size: 13px; line-height: 1.4; color: var(--g600); }
.kt-in:hover { border-color: #000; transform: translateY(-2px); }
.kt-in:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.kt-in[aria-checked="true"] { background: #000; border-color: #000; color: var(--white); }
.kt-in[aria-checked="true"] .kt-in-ico { background: var(--grad); color: #000; }
.kt-in[aria-checked="true"] small { color: var(--g400); }
.kt-in[aria-checked="true"]::after { content: ""; position: absolute; top: 16px; right: 16px; width: 22px; height: 22px; border-radius: 50%; background: var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 14px no-repeat; }
.kt-work { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 56px; align-items: start; }
.kt-f, .kt-done { grid-column: 1; grid-row: 1; }
.kt-f { display: flex; flex-direction: column; gap: 24px; max-width: 760px; }
.kt-f-empty { padding: 14px 18px; background: #FFF6CC; font-size: 15px; font-weight: 600; color: #000; }
.kt-q { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.kt-q legend { padding: 0; margin-bottom: 10px; font-size: 13px; font-weight: 700; color: #000; }
.kt-q:not([hidden]), .kt-row:not([hidden]) { animation: kt-in .35s ease both; }
@keyframes kt-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.kt-row.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.kt-msg { position: relative; }
.kt-msg textarea { height: auto; min-height: 128px; padding: 14px 16px 28px; line-height: 1.5; resize: vertical; }
.kt-count { position: absolute; right: 12px; bottom: 8px; font-size: 12px; font-weight: 600; color: var(--g500); }
.kt-send { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.kt-send .btn { height: 58px; padding: 0 32px; font-size: 15px; }
.kt-draft { font-size: 13px; color: var(--g600); }
.kt-draft::before { content: "✓ "; color: var(--gold-dk); font-weight: 800; }
.kt-who { grid-column: 2; grid-row: 1; position: sticky; top: 110px; display: flex; flex-direction: column; gap: 18px; padding: 28px; background: var(--g100); border-top: 4px solid var(--gold); }
.kt-who-p { display: flex; align-items: center; gap: 16px; }
.kt-who.flip .kt-who-p { animation: kt-in .4s ease both; }
.kt-who-img { width: 72px; height: 72px; flex-shrink: 0; overflow: hidden; background: var(--g200); border-radius: 50%; }
.kt-who-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.kt-who-p > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.kt-who-p strong { font-size: 22px; line-height: 1.1; }
.kt-who-p small { font-size: 14px; color: var(--g600); }
.kt-who-t { font-size: 15px; line-height: 1.6; color: var(--g700); }
.kt-who-t strong { color: #000; }
.kt-fast { display: block; padding: 14px 16px; background: var(--white); border: 1.5px solid #000; font-size: 15px; color: #000; transition: background .15s ease; }
.kt-fast span { color: var(--g600); }
.kt-fast:hover { background: #FFF6CC; color: #000; }
.kt-who-tel { font-size: 14px; color: var(--g700); }
.kt-who-tel strong { color: #000; }
.kt-done { display: flex; flex-direction: column; gap: 18px; max-width: 640px; padding: 40px; border: 1.5px solid #000; outline: none; }
.kt-done-ok { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; background: var(--grad); animation: kt-pop .5s cubic-bezier(.2,1.4,.4,1) both; }
@keyframes kt-pop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.kt-done h3 { font-size: 40px; line-height: 1; }
.kt-done > p { font-size: 17px; color: var(--g700); }
.kt-tl { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.kt-tl li { position: relative; display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 0 0 18px 28px; font-size: 15px; line-height: 1.5; }
.kt-tl li::before { content: ""; position: absolute; left: 0; top: 5px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #000; background: var(--white); }
.kt-tl li::after { content: ""; position: absolute; left: 6px; top: 21px; bottom: 0; width: 2px; background: var(--g200); }
.kt-tl li:last-child::after { display: none; }
.kt-tl li.on::before { background: var(--gold); border-color: var(--gold-2); }
.kt-tl strong { font-size: 15px; }
.kt-tl span { color: var(--g700); }
.kt-done-btns { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; padding-top: 6px; }

.kt-book { padding: 110px var(--side); background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 40px 72px; }
.kt-book-txt { display: flex; flex-direction: column; gap: 18px; }
.kt-book .kt-k { color: var(--gold); }
.kt-book h2 { font-size: 52px; line-height: 1; letter-spacing: -1.5px; color: var(--white); }
.kt-book-txt p { font-size: 17px; line-height: 1.6; color: var(--g400); max-width: 460px; }
.kt-slots { display: flex; flex-direction: column; gap: 16px; }
.kt-slots-h { font-size: 13px; font-weight: 700; color: var(--g400); }
.kt-slots-g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.kt-slot { display: flex; flex-direction: column; gap: 4px; padding: 18px 18px 16px; background: var(--kt-dk); border: 1px solid var(--kt-ln); color: var(--white); transition: border-color .15s ease, transform .2s ease; }
.kt-slot small { font-size: 13px; color: var(--g400); }
.kt-slot strong { font-size: 26px; line-height: 1; }
.kt-slot span { margin-top: 8px; font-size: 15px; font-weight: 800; color: var(--gold); }
.kt-slot:hover { border-color: var(--gold); transform: translateY(-2px); color: var(--white); }
.kt-agents { grid-column: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kt-agent { display: flex; align-items: center; gap: 16px; padding: 14px; border: 1px solid var(--kt-ln); color: var(--white); transition: border-color .15s ease; }
.kt-agent:hover { border-color: var(--gold); color: var(--white); }
.kt-agent-img { width: 64px; height: 64px; flex-shrink: 0; border-radius: 50%; overflow: hidden; background: #222; }
.kt-agent-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.kt-agent > span:last-child { display: flex; flex-direction: column; gap: 3px; }
.kt-agent strong { font-size: 18px; }
.kt-agent small { font-size: 13px; color: var(--g400); }
.kt-agent em { font-style: normal; font-size: 14px; font-weight: 700; color: var(--gold); margin-top: 4px; }

.kt-office { padding: 110px var(--side); background: var(--g100); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 64px; align-items: center; scroll-margin-top: 90px; }
.kt-map { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #000; }
.kt-map img { width: 100%; height: 100%; object-fit: cover; }
.kt-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.kt-map-pin { position: absolute; left: 24px; top: 24px; width: 48px; height: 48px; display: grid; place-items: center; background: var(--grad); color: #000; }
.kt-map-btn { position: absolute; right: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 20px; border: 0; background: #000; color: var(--white); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.kt-map-btn:hover { color: var(--gold); }
.kt-office-info { display: flex; flex-direction: column; gap: 20px; }
.kt-office h2 { font-size: 46px; white-space: nowrap; line-height: 1; letter-spacing: -1.5px; }
.kt-office-a { font-size: 18px; line-height: 1.6; color: var(--g700); }
.kt-nav { display: flex; align-items: center; gap: 10px 22px; flex-wrap: wrap; }
.kt-nav .btn { height: 54px; }
.kt-nav-s { font-size: 14px; font-weight: 700; color: #000; border-bottom: 2px solid var(--gold); padding-bottom: 2px; }
.kt-hours { width: 100%; max-width: 440px; border-collapse: collapse; font-size: 15px; }
.kt-hours th, .kt-hours td { padding: 10px 0; border-bottom: 1px solid var(--g200); text-align: left; font-weight: 400; color: var(--g700); }
.kt-hours td { text-align: right; }
.kt-hours tr.today th, .kt-hours tr.today td { font-weight: 800; color: #000; }
.kt-hours tr.today th::after { content: "dziś"; margin-left: 10px; padding: 2px 8px; background: var(--gold); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; vertical-align: 2px; }
.kt-office-n { font-size: 14px; line-height: 1.6; color: var(--g600); max-width: 460px; }

.kt-faq { padding: 110px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px 72px; align-items: start; }
.kt-faq h2 { font-size: 52px; line-height: 1; letter-spacing: -1.5px; }
.kt-faq .ab-faq { grid-column: 2; grid-row: 1 / span 2; }
.kt-social { font-size: 15px; line-height: 1.6; color: var(--g700); max-width: 360px; }
.kt-social a { font-weight: 800; color: #000; border-bottom: 2px solid var(--gold); }

.kt-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #000; border-top: 1px solid var(--kt-ln); padding-bottom: env(safe-area-inset-bottom); transform: translateY(110%); transition: transform .3s ease; }
.kt-dock.in { transform: none; }
.kt-dock a { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 0 12px; font-size: 12px; font-weight: 800; color: var(--white); }
.kt-dock a svg { color: var(--gold); }
.kt-dock a.on { background: var(--grad); color: #000; }
.kt-dock a.on svg { color: #000; }
.kt-toast { position: fixed; left: 50%; bottom: 28px; z-index: 70; transform: translate(-50%, 20px); opacity: 0; padding: 14px 22px; background: #000; color: var(--white); font-size: 14px; font-weight: 700; border-left: 4px solid var(--gold); transition: opacity .25s ease, transform .25s ease; }
.kt-toast.in { opacity: 1; transform: translate(-50%, 0); }

@media (prefers-reduced-motion: reduce) {
	.kt-status.on i, .kt-q:not([hidden]), .kt-row:not([hidden]), .kt-who.flip .kt-who-p, .kt-done-ok { animation: none; }
}
@media (max-width: 1240px) {
	.kt-intents { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kt-slots-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.kt-hero { padding: 134px var(--side) 48px; grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.kt-hero h1 { font-size: clamp(30px, 10.2vw, 40px); letter-spacing: -1.2px; }
	.kt-status { height: auto; min-height: 36px; padding: 8px 14px; font-size: 13px; line-height: 1.35; align-items: flex-start; }
	.kt-status i { margin-top: 4px; }
	.kt-in { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: center; }
	.kt-in-ico { grid-row: span 2; margin-bottom: 0; }
	.kt-in small { grid-column: 2; }
	.kt-hero h1 span { font-size: 26px; margin-top: 10px; letter-spacing: -.5px; }
	.kt-hero-txt { gap: 18px; }
	.kt-hero-txt > p { font-size: 16px; }
	.kt-call { padding: 18px; gap: 14px; }
	.kt-call-ico { width: 48px; height: 48px; }
	.kt-call-t strong { font-size: 32px; }
	.kt-c { min-height: 72px; padding: 12px 14px; gap: 12px; }
	.kt-form, .kt-book, .kt-office, .kt-faq { padding-top: 64px; padding-bottom: 64px; }
	.kt-form { gap: 28px; }
	.kt-form-head { grid-template-columns: minmax(0, 1fr); }
	.kt-form-head h2, .kt-book h2, .kt-office h2, .kt-faq h2 { font-size: 36px; letter-spacing: -.8px; }
	.kt-intents { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.kt-in { min-height: 0; padding: 16px 14px; }
	.kt-in-ico { width: 40px; height: 40px; margin-bottom: 8px; }
	.kt-in strong { font-size: 18px; }
	.kt-in small { font-size: 12px; }
	.kt-in[aria-checked="true"]::after { top: 12px; right: 12px; }
	.kt-work { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.kt-who { grid-column: 1; grid-row: 1; position: static; padding: 18px; gap: 12px; }
	.kt-who .kt-who-t, .kt-who-tel { display: none; }
	.kt-f, .kt-done { grid-row: 2; }
	.kt-row.two { grid-template-columns: minmax(0, 1fr); }
	.kt-send .btn { width: 100%; }
	.kt-done { padding: 26px 20px; }
	.kt-tl li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.kt-book { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.kt-agents { grid-column: 1; grid-template-columns: minmax(0, 1fr); }
	.kt-office { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.kt-faq { grid-template-columns: minmax(0, 1fr); }
	.kt-faq .ab-faq { grid-column: 1; grid-row: auto; }
	.kt-office h2 { white-space: normal; }
	.kt-dock { display: grid; }
	.kt-toast { bottom: 84px; width: max-content; max-width: calc(100% - 32px); }
	
}

/* O nas – dział dobrego humoru (identyfikatory) */
.ab-dogs { position: relative; margin-top: 16px; padding: 64px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: center; overflow: hidden; }
.ab-dogs::before { content: ""; position: absolute; left: -120px; bottom: -160px; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.14), rgba(255,211,0,0)); pointer-events: none; }
.ab-dogs-t { position: relative; display: flex; flex-direction: column; gap: 18px; }
.ab-dogs-k { font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.ab-dogs-t h3 { font-size: 46px; line-height: 1; letter-spacing: -1.2px; color: var(--white); }
.ab-dogs-t p { font-size: 17px; line-height: 1.65; color: var(--g400); max-width: 440px; }
.ab-badges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding-top: 34px; perspective: 900px; }
.ab-badge { --tx: 0deg; --ty: 0deg; position: relative; margin: 0; padding: 0 0 18px; background: var(--white); color: #000; display: flex; flex-direction: column; align-items: center; text-align: center; box-shadow: 0 24px 50px rgba(0,0,0,.45); transform: rotate(var(--r)) rotateY(var(--tx)) rotateX(var(--ty)); transform-origin: 50% -30px; transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
.ab-badge:hover { transform: rotate(0deg) rotateY(var(--tx)) rotateX(var(--ty)) translateY(-6px); box-shadow: 0 34px 60px rgba(0,0,0,.55); }
.ab-badge-strap { position: absolute; left: 50%; top: -200px; width: 22px; height: 214px; margin-left: -11px; background: var(--grad); z-index: -1; }
.ab-badge-top { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 12px 12px 14px; background: #0D0D0D; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ab-badge-hole { width: 44px; height: 9px; border-radius: 6px; background: #2A2A2A; box-shadow: inset 0 1px 2px rgba(0,0,0,.8); }
.ab-badge-ph { margin: 22px 0 14px; width: 152px; height: 152px; padding: 4px; border-radius: 50%; background: var(--grad); }
.ab-badge-ph img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: 30% 40%; background: #1B1B1B; display: block; font-size: 0; }
.ab-badge figcaption { padding: 0 20px; display: flex; flex-direction: column; gap: 6px; }
.ab-badge strong { font-size: 30px; line-height: 1; }
.ab-badge-role { font-size: 13px; font-weight: 700; color: var(--gold-dk); }
.ab-badge-d { font-size: 14px; line-height: 1.55; color: var(--g700); }
.ab-badge-foot { margin-top: 16px; width: calc(100% - 40px); padding-top: 12px; border-top: 1px dashed var(--g300); display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--g600); }
.ab-badge-bar { width: 64px; height: 18px; background: repeating-linear-gradient(90deg, #000 0 2px, transparent 2px 4px, #000 4px 5px, transparent 5px 8px); opacity: .8; }
@media (prefers-reduced-motion: no-preference) {
	.ab-dogs .ab-badge { opacity: 0; transform: translateY(-60px) rotate(calc(var(--r) * 3)); }
	.ab-dogs.in .ab-badge { opacity: 1; transform: rotate(var(--r)) rotateY(var(--tx)) rotateX(var(--ty)); animation: abSwing 1.6s var(--d) cubic-bezier(.2,.7,.2,1) backwards; }
	.ab-dogs.in .ab-badge:hover { transform: rotate(0deg) rotateY(var(--tx)) rotateX(var(--ty)) translateY(-6px); }
}
@keyframes abSwing { 0% { opacity: 0; transform: translateY(-60px) rotate(calc(var(--r) * 4)); } 35% { opacity: 1; transform: translateY(0) rotate(calc(var(--r) * -1.6)); } 60% { transform: rotate(calc(var(--r) * 1.4)); } 80% { transform: rotate(calc(var(--r) * .8)); } 100% { transform: rotate(var(--r)); } }

/* O nas – biuro w kształcie H */
.ab-office-gal { position: sticky; top: 100px; display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.3fr) minmax(0, .82fr); grid-template-rows: minmax(0, 1fr) minmax(0, .78fr) minmax(0, 1fr); gap: 12px; height: 640px; }
.ab-office-gal figure { --mx: 0px; --my: 0px; position: relative; margin: 0; overflow: hidden; background: #000; transform: translate(var(--mx), var(--my)); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.ab-office-gal .a { grid-column: 1; grid-row: 1 / 4; }
.ab-office-gal .b { grid-column: 2; grid-row: 2; }
.ab-office-gal .c { grid-column: 3; grid-row: 1 / 4; }
.ab-office-gal img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.12) brightness(1.04); transform: scale(1.06); transition: filter .6s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.ab-office-gal .a img { object-position: 42% center; }
.ab-office-gal .c img { object-position: 12% center; }
.ab-office-gal figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #FFD300 0%, #DFA91F 100%); mix-blend-mode: multiply; opacity: .85; transition: opacity .6s ease; pointer-events: none; }
.ab-office-gal figure:hover img { filter: none; transform: scale(1); }
.ab-office-gal figure:hover::after { opacity: 0; }
.ab-office-gal:hover figure:not(:hover) img { filter: grayscale(1) brightness(.55); }
.ab-office-gal figcaption { position: absolute; left: 0; bottom: 0; z-index: 1; display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #000; color: var(--white); font-size: 13px; font-weight: 700; }
.ab-office-gal figcaption span { font-size: 11px; font-weight: 800; color: var(--gold); letter-spacing: .08em; }
.ab-gal-t, .ab-gal-b { grid-column: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; margin: 0; text-align: center; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--g600); }
.ab-gal-t { grid-row: 1; justify-content: flex-end; padding-bottom: 6px; }
.ab-gal-b { grid-row: 3; justify-content: flex-start; padding-top: 6px; }
.ab-gal-t strong, .ab-gal-b strong { font-size: 54px; line-height: 1; letter-spacing: -1.5px; color: #000; text-transform: none; }
@media (prefers-reduced-motion: no-preference) {
	.ab-office-gal[data-reveal] figure { clip-path: inset(0 0 100% 0); transition: clip-path 1s cubic-bezier(.7,0,.2,1), transform .5s cubic-bezier(.2,.7,.2,1); }
	.ab-office-gal[data-reveal] .c { clip-path: inset(100% 0 0 0); transition-delay: .15s, 0s; }
	.ab-office-gal[data-reveal] .b { clip-path: inset(0 50% 0 50%); transition-delay: .45s, 0s; }
	.ab-office-gal[data-reveal].in figure { clip-path: inset(0 0 0 0); }
	.ab-office-gal[data-reveal] .ab-gal-t, .ab-office-gal[data-reveal] .ab-gal-b { opacity: 0; transform: translateY(10px); transition: opacity .6s .9s ease, transform .6s .9s ease; }
	.ab-office-gal.in .ab-gal-t, .ab-office-gal.in .ab-gal-b { opacity: 1; transform: none; }
}
@media (max-width: 1180px) {
	.ab-dogs { grid-template-columns: minmax(0, 1fr); padding: 56px 40px; }
	.ab-badges { max-width: 620px; }
}
@media (max-width: 899px) {
	.ab-dogs { margin: 8px calc(var(--side) * -1) 0; padding: 48px var(--side) 56px; gap: 32px; }
	.ab-dogs-t h3 { font-size: 34px; }
	.ab-dogs-t p { font-size: 16px; }
	.ab-badges { gap: 14px; padding-top: 26px; }
	.ab-badge-ph { width: 108px; height: 108px; margin: 16px 0 10px; }
	.ab-badge strong { font-size: 24px; }
	.ab-badge figcaption { padding: 0 12px; }
	.ab-badge-role { font-size: 12px; }
	.ab-badge-d { display: none; }
	.ab-badge-top { font-size: 9px; letter-spacing: .1em; padding: 10px 8px 12px; }
	.ab-badge-foot { width: calc(100% - 24px); font-size: 9px; }
	.ab-badge-bar { width: 36px; }
	.ab-badge-strap { top: -40px; height: 54px; width: 16px; margin-left: -8px; }
	.ab-badge-foot { justify-content: center; }
	.ab-badge-foot > span:first-child { display: none; }
	.ab-badges { padding-top: 40px; }
	.ab-office-gal { position: static; height: 440px; gap: 8px; }
	.ab-office-gal figcaption { font-size: 11px; padding: 6px 8px; gap: 6px; }
	.ab-gal-t strong, .ab-gal-b strong { font-size: 30px; }
	.ab-gal-t, .ab-gal-b { font-size: 9px; letter-spacing: .1em; }
}

/* Wycena – budynek i udogodnienia */
.w-bld { gap: 10px; }
.w-bld-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.field.w-year { width: 150px; height: 46px; font-size: 16px; font-weight: 700; }
.w-or { align-self: center; margin-right: 4px; font-size: 13px; font-weight: 600; color: var(--g600); }
.w-tg[aria-pressed="true"]::before { content: "✓ "; color: var(--gold-dk); font-weight: 800; }
@media (max-width: 899px) {
	.w-bld-top { flex-direction: column; align-items: stretch; gap: 8px; }
	.field.w-year { width: 100%; }
	.w-or { width: 100%; }
}
.w-sent [data-again] { display: inline-block; margin-top: 10px; color: var(--gold); font-weight: 700; }

/* Strona główna – krótsza wersja na telefon */
.m-fold-btn { display: none; }
.h-faq-more { display: none; }
@media (max-width: 899px) {
	/* Zwijane bloki tekstu (treść zostaje na stronie – Google ją widzi) */
	.m-fold { position: relative; }
	.m-fold:not(.open) { max-height: 168px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); }
	.m-fold-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; padding: 10px 0; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 800; color: inherit; cursor: pointer; border-bottom: 2px solid var(--gold); }
	.m-fold-btn::after { content: "+"; font-size: 16px; line-height: 1; }
	.m-fold.open + .m-fold-btn::after { content: "–"; }
	/* Dzień otwarty: bez siatki miesiąca, zostają korzyści */
	.h-od .h-mcal { display: none; }
	/* Trudne sprawy: kroki bez opisów i bez cytatu */
	.h-sit-steps > div > div > span, .h-sit-quote { display: none; }
	/* Opinie i blog: przewijane w poziomie */
	.h-rev-grid, .h-blog-grid { display: flex !important; flex-direction: row !important; align-items: stretch; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-right: calc(var(--side) * -1); padding-right: var(--side); scrollbar-width: none; }
	.h-rev-grid::-webkit-scrollbar, .h-blog-grid::-webkit-scrollbar { display: none; }
	.h-rev-grid > *, .h-blog-grid > * { flex: 0 0 82%; scroll-snap-align: start; }
	/* Rynek: tabela metraży na stronie „Ceny mieszkań” */
	.h-mkt .h-sizes { display: none; }
	.h-mkt .m-fold, .h-mkt .m-fold-btn { order: 8; }
	.h-mkt .m-fold-btn { align-self: flex-start; margin-top: -8px; }
	/* Obszar działania: bez dużej mapy */
	.h-local-map { display: none; }
	/* Pytania: 5 pierwszych, reszta po kliknięciu */
	.h-faq-list:not(.all) details:nth-of-type(n+6) { display: none; }
	.h-faq-list.all .h-faq-more { display: none; }
	.h-faq-more { display: block; width: 100%; margin-top: 14px; min-height: 48px; border: 1.5px solid #000; background: transparent; font: inherit; font-size: 14px; font-weight: 800; color: #000; cursor: pointer; }
	/* Proces: bez akapitu wstępu (daty są w ramce obok) */
	.h-proc-p, .h-mdays-hint { display: none; }
	/* Dzień otwarty: same tytuły korzyści */
	.h-vs-list > div > div > span { display: none; }
	/* Oferty: alert SMS jest na stronie ofert */
	.h-off .h-alert { display: none; }
	/* Program poleceń – link w stopce */
	.h-ref { display: none; }
}

/* O nas – mniejsze zdjęcia zespołu */
.ab-team-grid { grid-template-columns: repeat(3, minmax(0, 300px)); justify-content: start; gap: 40px; }
.ab-person-img { aspect-ratio: 1 / 1; }
@media (max-width: 899px) {
	.ab-team-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.ab-person { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; align-items: start; }
	.ab-person-img { grid-row: 1 / span 4; aspect-ratio: 1 / 1; margin-bottom: 0; }
	.ab-person h3 { font-size: 20px; }
	.ab-person p { font-size: 14px; }
	.ab-person .ab-link { grid-column: 2; font-size: 14px; }
}

/* ===================== Zakup nieruchomości ===================== */
.zk .hd { letter-spacing: -1px; }
.zk-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.zk-hero .zk-k, .zk-od .zk-k { color: var(--gold); }

/* 1. hero */
.zk-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 96px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 64px; align-items: center; overflow: hidden; }
.zk-hero::before { content: ""; position: absolute; left: -200px; bottom: -260px; width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.13), rgba(255,211,0,0)); pointer-events: none; }
.zk-hero-txt { position: relative; display: flex; flex-direction: column; gap: 24px; }
.zk-hero h1 { font-size: 68px; line-height: .94; letter-spacing: -3px; color: var(--white); }
.zk-hero h1 span { color: var(--gold); }
.zk-hero-txt > p { max-width: 560px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.zk-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.zk-hero-btns .btn { height: 58px; padding: 0 30px; font-size: 15px; }
.zk-proof { list-style: none; margin: 4px 0 0; padding: 0; display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--g400); }
.zk-proof li { display: flex; align-items: center; gap: 10px; }
.zk-proof strong { color: var(--white); }
.zk-proof svg { color: var(--gold); }
.zk-now { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 28px; background: #0E0E0E; border: 1px solid #262626; border-top: 4px solid var(--gold); }
.zk-now-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.zk-now-g a { display: flex; flex-direction: column; gap: 6px; padding: 18px; background: #161616; color: var(--g400); font-size: 13px; line-height: 1.4; transition: background .15s ease; }
.zk-now-g a:hover { background: #1F1F1F; color: var(--g300); }
.zk-now-g strong { font-size: 40px; line-height: 1; color: var(--white); }
.zk-next { display: flex; flex-direction: column; gap: 6px; padding: 20px; background: var(--grad); color: #000; font-size: 14px; }
a.zk-next:hover { color: #000; filter: brightness(1.04); }
.zk-next-l { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.zk-next-l i { width: 8px; height: 8px; border-radius: 50%; background: #000; animation: kt-pulse 2s infinite; }
.zk-next strong { font-size: 26px; line-height: 1.1; }
.zk-next em { font-style: normal; font-weight: 800; margin-top: 4px; }

/* 2. uczciwa cena */
.zk-price { padding: 120px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: center; }
.zk-price-txt { display: flex; flex-direction: column; gap: 22px; }
.zk-price h2 { font-size: 44px; line-height: 1.05; }
.zk-price-txt > p { font-size: 17px; line-height: 1.6; color: var(--g700); max-width: 560px; }
.zk-price-txt .btn { width: fit-content; height: 58px; padding: 0 30px; font-size: 15px; }
.zk-price-viz { display: flex; flex-direction: column; gap: 22px; padding: 40px; background: var(--g100); }
.zk-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; align-items: end; }
.zk-bar-l { font-size: 14px; font-weight: 700; color: var(--g700); }
.zk-bar-v { font-size: 22px; color: #000; text-align: right; }
.zk-bar-b { grid-column: 1 / -1; height: 26px; width: var(--w); background: #000; transform-origin: left; }
.zk-bar-b.deal { background: var(--grad); }
.zk-price-viz.in .zk-bar-b { animation: zkBar .9s cubic-bezier(.2,.7,.2,1) both; }
.zk-price-viz.in .zk-bar + .zk-bar .zk-bar-b { animation-delay: .2s; }
@keyframes zkBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.zk-price-n { font-size: 13px; line-height: 1.5; color: var(--g600); }

/* 3. kroki */
.zk-steps { padding: 120px var(--side); background: var(--g100); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 72px; align-items: start; }
.zk-steps-head { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 18px; }
.zk-steps h2 { font-size: 52px; line-height: 1; }
.zk-steps-l { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-top: 2px solid #000; }
.zk-steps-l li { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--g300); }
.zk-n { font-size: 34px; line-height: 1; color: var(--gold-dk); }
.zk-steps-l h3 { font-size: 24px; line-height: 1.15; margin-bottom: 8px; }
.zk-steps-l p { font-size: 16px; line-height: 1.6; color: var(--g700); }

/* 4. dzień otwarty */
.zk-od { padding: 120px var(--side); background: #000; color: var(--white); display: flex; flex-direction: column; gap: 44px; }
.zk-od-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 14px 64px; align-items: end; }
.zk-od-head .zk-k { grid-column: 1 / -1; }
.zk-od h2 { font-size: 52px; line-height: 1; color: var(--white); }
.zk-od-head p { font-size: 17px; line-height: 1.6; color: var(--g400); }
.zk-od-g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.zk-od-g article { display: flex; flex-direction: column; gap: 12px; padding: 28px 24px; background: #111; border: 1px solid #222; transition: border-color .2s ease, transform .2s ease; }
.zk-od-g article:hover { border-color: var(--gold); transform: translateY(-3px); }
.zk-od-i { width: 48px; height: 48px; display: grid; place-items: center; background: var(--grad); color: #000; }
.zk-od-g h3 { font-size: 21px; line-height: 1.15; color: var(--white); }
.zk-od-g p { font-size: 15px; line-height: 1.6; color: var(--g400); }

/* 5. co sprawdzamy */
.zk-check { padding: 120px var(--side); background: var(--white); display: flex; flex-direction: column; gap: 44px; }
.zk-check-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 14px 64px; align-items: end; }
.zk-check-head .zk-k { grid-column: 1 / -1; }
.zk-check h2 { font-size: 52px; line-height: 1; }
.zk-check-head p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.zk-check-g { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid #000; border-left: 1px solid var(--g200); }
.zk-check-g li { display: flex; flex-direction: column; gap: 14px; padding: 26px 22px 30px; border-right: 1px solid var(--g200); border-bottom: 1px solid var(--g200); transition: background .15s ease; }
.zk-check-g li:hover { background: #FFF9DB; }
.zk-tick { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #000; color: var(--gold); }
.zk-check-g li div { display: flex; flex-direction: column; gap: 6px; }
.zk-check-g strong { font-size: 17px; color: #000; }
.zk-check-g li div span { font-size: 14px; line-height: 1.55; color: var(--g700); }

/* 6. oferty */
.zk-offers { padding: 0 var(--side) 120px; background: var(--white); display: flex; flex-direction: column; gap: 32px; }
.zk-offers-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; }
.zk-offers-head > div { display: flex; flex-direction: column; gap: 12px; }
.zk-offers h2 { font-size: 44px; line-height: 1; }

/* 7. formularz */
.zk-form { padding: 120px var(--side); background: var(--g100); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 72px; align-items: start; scroll-margin-top: 90px; }
.zk-form-side { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 20px; }
.zk-form h2 { font-size: 52px; line-height: 1; }
.zk-form-side > p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.zk-agent { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; align-items: start; margin-top: 8px; padding: 24px; background: var(--white); border-top: 4px solid var(--gold); }
.zk-agent-img { width: 96px; height: 96px; overflow: hidden; border-radius: 50%; background: var(--g200); }
.zk-agent-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.zk-agent > div { display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.5; color: var(--g700); }
.zk-agent-k { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-dk); }
.zk-agent strong { font-size: 24px; line-height: 1.1; color: #000; }
.zk-agent .ab-link { margin-top: 6px; }
.zk-f-wrap { background: var(--white); padding: 40px; border: 1.5px solid #000; }
.zk-f { display: flex; flex-direction: column; gap: 24px; }
.zk-q { margin: 0; padding: 0; border: 0; min-width: 0; }
.zk-q legend { padding: 0; margin-bottom: 10px; font-size: 13px; font-weight: 700; color: #000; }
.zk-q:not([hidden]) { animation: kt-in .35s ease both; }
.zk-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.zk-f .btn { height: 60px; font-size: 16px; }
.zk-done { display: flex; flex-direction: column; gap: 18px; outline: none; }
.zk-done[hidden] { display: none; }
.zk-done h3 { font-size: 40px; line-height: 1; }
.zk-done > p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.zk-done .btn { width: fit-content; height: 56px; padding: 0 28px; }

/* 8. pytania */
.zk-faq { padding: 120px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px 72px; align-items: start; }
.zk-faq h2 { font-size: 52px; line-height: 1; }
.zk-faq .ab-faq p { padding: 0 0 20px; font-size: 16px; line-height: 1.65; color: var(--g700); }

@media (max-width: 1199px) {
	.zk-od-g, .zk-check-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.zk-hero { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 140px var(--side) 56px; }
	.zk-hero h1 { font-size: 44px; letter-spacing: -1.6px; }
	.zk-hero-txt { gap: 20px; }
	.zk-hero-txt > p { font-size: 16px; }
	.zk-hero-btns .btn, .zk-hero-btns .ab-ghost { flex: 1 1 100%; justify-content: center; height: 54px; }
	.zk-proof { gap: 12px 22px; font-size: 13px; }
	.zk-now { padding: 20px; }
	.zk-now-g a { padding: 14px; font-size: 12px; }
	.zk-now-g strong { font-size: 30px; }
	.zk-next strong { font-size: 22px; }
	.zk-price, .zk-steps, .zk-od, .zk-check, .zk-form, .zk-faq { padding-top: 64px; padding-bottom: 64px; grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.zk-offers { padding-bottom: 64px; gap: 22px; }
	.zk-price h2 { font-size: 28px; letter-spacing: -.6px; }
	.zk-steps h2, .zk-od h2, .zk-check h2, .zk-form h2, .zk-faq h2, .zk-offers h2 { font-size: 34px; letter-spacing: -.8px; }
	.zk-price-txt > p, .zk-od-head p, .zk-check-head p, .zk-form-side > p { font-size: 15px; }
	.zk-price-txt .btn { width: 100%; justify-content: center; height: 54px; padding: 0 16px; font-size: 14px; }
	.zk-price-viz { padding: 22px 18px; gap: 18px; }
	.zk-bar-v { font-size: 18px; }
	.zk-bar-b { height: 20px; }
	.zk-steps-head, .zk-form-side { position: static; }
	.zk-steps-l li { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 20px 0; }
	.zk-n { font-size: 24px; }
	.zk-steps-l h3 { font-size: 19px; }
	.zk-steps-l p { font-size: 15px; }
	.zk-od-head, .zk-check-head { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.zk-od-g { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.zk-od-g article { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 14px; padding: 18px; }
	.zk-od-i { width: 40px; height: 40px; grid-row: 1 / span 2; }
	.zk-od-g h3 { font-size: 18px; }
	.zk-od-g p { font-size: 14px; }
	.zk-check-g { grid-template-columns: minmax(0, 1fr); border-left: 0; }
	.zk-check-g li { flex-direction: row; gap: 14px; padding: 16px 0; border-right: 0; }
	.zk-tick { width: 26px; height: 26px; flex-shrink: 0; }
	.zk-check-g strong { font-size: 16px; }
	.zk-offers-head { align-items: start; flex-direction: column; gap: 14px; }
	.zk-offers .l-grid { grid-template-columns: minmax(0, 1fr); }
	.zk-agent { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; padding: 18px; }
	.zk-agent-img { width: 64px; height: 64px; }
	.zk-agent strong { font-size: 20px; }
	.zk-f-wrap { padding: 22px 18px; margin: 0 calc(var(--side) * -0.5); }
	.zk-row { grid-template-columns: minmax(0, 1fr); }
	.zk-done h3 { font-size: 30px; }
}
.zk-more { display: none; }
@media (max-width: 899px) {
	.zk-check-g:not(.open) li:nth-child(n+5) { display: none; }
	.zk-more { display: flex; align-items: center; justify-content: center; height: 52px; margin-top: -12px; border: 1.5px solid #000; background: var(--white); font: inherit; font-size: 15px; font-weight: 800; color: #000; cursor: pointer; }
	.zk-offers .l-grid { display: flex; flex-direction: row; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: 0 calc(var(--side) * -1) 0 0; padding: 0 var(--side) 6px 0; scrollbar-width: none; }
	.zk-offers .l-grid::-webkit-scrollbar { display: none; }
	.zk-offers .l-grid > * { flex: 0 0 82%; scroll-snap-align: start; }
	.zk-f { gap: 20px; }
	.zk-f .w-opts { gap: 6px; }
	.zk-f .w-opt { height: 42px; padding: 0 12px; font-size: 14px; }
}

/* ===================== Nasz zespół ===================== */
.zs-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 80px; background: #000; color: var(--white); display: flex; flex-direction: column; gap: 48px; overflow: hidden; }
.zs-hero::before { content: ""; position: absolute; right: -200px; top: -200px; width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.14), rgba(255,211,0,0)); pointer-events: none; }
.zs-hero-txt { position: relative; display: flex; flex-direction: column; gap: 22px; max-width: 760px; }
.zs-hero h1 { font-size: 84px; line-height: .92; letter-spacing: -3.5px; color: var(--white); }
.zs-hero-txt > p { font-size: 19px; line-height: 1.6; color: var(--g400); }
.zs-jump { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.zs-jump a { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; align-items: center; padding: 14px; background: #111; border: 1px solid #262626; color: var(--white); transition: border-color .2s ease, transform .2s ease; }
.zs-jump a:hover { border-color: var(--gold); transform: translateY(-3px); color: var(--white); }
.zs-jump-ph { width: 72px; height: 72px; overflow: hidden; background: #D9D4DA; border-radius: 50%; }
.zs-jump .dogs .zs-jump-ph { background: #2a2a2a; }
.zs-jump-ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
.zs-jump-t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.zs-jump-t strong { font-size: 20px; line-height: 1.05; }
.zs-jump-t span { font-size: 13px; color: var(--g400); }
@media (prefers-reduced-motion: no-preference) {
	.zs-jump a { animation: kt-in .5s var(--d) ease both; }
}

.zs-p { padding: 110px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, 480px) minmax(0, 1fr); gap: 80px; align-items: start; scroll-margin-top: 80px; }
.zs-p.alt { background: var(--g100); grid-template-columns: minmax(0, 1fr) minmax(0, 480px); }
.zs-p.alt .zs-ph { order: 2; }
.zs-ph { position: relative; margin: 0; aspect-ratio: 4 / 4.6; background: #D9D4DA; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.zs-ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.zs-ph > span.hd:first-child { font-size: 140px; color: var(--gold-2); }
.zs-ph::before, .zs-ph::after { content: ""; position: absolute; top: 0; bottom: 0; width: 9%; background: var(--grad); z-index: 1; }
.zs-ph::before { left: 0; }
.zs-ph::after { right: 0; }
.zs-ph-n { position: absolute; z-index: 2; left: 9%; bottom: 0; padding: 10px 16px; background: #000; color: var(--gold); font-size: 22px; }
@media (prefers-reduced-motion: no-preference) {
	.zs-ph[data-reveal]::before, .zs-ph[data-reveal]::after { transform: scaleY(0); transform-origin: bottom; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
	.zs-ph[data-reveal]::after { transition-delay: .12s; }
	.zs-ph[data-reveal] img { transform: scale(1.06); transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
	.zs-ph[data-reveal].in::before, .zs-ph[data-reveal].in::after { transform: none; }
	.zs-ph[data-reveal].in img { transform: none; }
}
.zs-txt { display: flex; flex-direction: column; gap: 20px; padding-top: 12px; }
.zs-role { font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.zs-txt h2 { font-size: 60px; line-height: .95; letter-spacing: -2px; }
.zs-lead { font-size: 19px; line-height: 1.6; color: var(--g800, #333); max-width: 620px; }
.zs-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.zs-tags li { padding: 8px 14px; border: 1.5px solid #000; font-size: 13px; font-weight: 700; }
.zs-ct { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; margin-top: 6px; }
.zs-ct .btn { height: 56px; padding: 0 26px; font-size: 15px; }
.zs-c { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: #000; border-bottom: 2px solid var(--gold); padding-bottom: 2px; }
.zs-c svg { color: var(--gold-dk); }
.zs-bio { border-top: 2px solid #000; margin-top: 10px; max-width: 680px; }
.zs-bio summary { list-style: none; cursor: pointer; padding: 18px 40px 18px 0; position: relative; font-size: 16px; font-weight: 800; color: #000; }
.zs-bio summary::-webkit-details-marker { display: none; }
.zs-bio summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 11px; height: 11px; margin-top: -8px; border-right: 2px solid #000; border-bottom: 2px solid #000; transform: rotate(45deg); transition: transform .2s ease; }
.zs-bio[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.zs-bio > div { display: flex; flex-direction: column; gap: 14px; padding-bottom: 8px; }
.zs-bio p { font-size: 16px; line-height: 1.7; color: var(--g700); }
.zs-bio[open] > div { animation: kt-in .35s ease both; }

.zs-dogs { padding: 0 var(--side) 110px; background: var(--white); scroll-margin-top: 80px; }
.zs-dogs .ab-dogs { margin-top: 0; }
.zs-dogs .ab-dogs-t h2 { font-size: 46px; line-height: 1; letter-spacing: -1.2px; color: var(--white); }
.zs-dogs-more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; margin-top: 24px; }
.zs-dogs-more .zs-bio { max-width: none; }

@media (max-width: 1199px) {
	.zs-jump { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zs-p, .zs-p.alt { gap: 48px; }
}
@media (max-width: 899px) {
	.zs-hero { padding: 140px var(--side) 48px; gap: 28px; }
	.zs-hero h1 { font-size: 52px; letter-spacing: -2px; }
	.zs-hero-txt > p { font-size: 16px; }
	.zs-jump { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.zs-jump a { grid-template-columns: 44px minmax(0, 1fr); gap: 10px; padding: 10px; }
	.zs-jump-ph { width: 44px; height: 44px; }
	.zs-jump-t strong { font-size: 15px; }
	.zs-jump-t span { font-size: 11px; }
	.zs-p, .zs-p.alt { grid-template-columns: minmax(0, 1fr); padding: 56px var(--side); gap: 24px; }
	.zs-p.alt .zs-ph { order: 0; }
	.zs-ph { aspect-ratio: 1 / 1; max-width: 340px; }
	.zs-ph-n { font-size: 16px; padding: 7px 12px; }
	.zs-txt { gap: 14px; padding-top: 0; }
	.zs-txt h2 { font-size: 36px; letter-spacing: -1px; }
	.zs-lead { font-size: 16px; }
	.zs-tags li { font-size: 12px; padding: 6px 10px; }
	.zs-ct { flex-direction: column; align-items: stretch; gap: 12px; }
	.zs-ct .btn { justify-content: center; height: 54px; font-size: 14px; padding: 0 14px; }
	.zs-c { width: fit-content; }
	.zs-bio summary { font-size: 15px; }
	.zs-bio p { font-size: 15px; }
	.zs-dogs { padding-bottom: 56px; }
	.zs-dogs .ab-dogs-t h2 { font-size: 34px; }
	.zs-dogs-more { grid-template-columns: minmax(0, 1fr); }
}

/* Oferta – dodaj do kalendarza: Google + Apple/Outlook */
.of-cal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.of-cal > span { grid-column: 1 / -1; font-size: 13px; font-weight: 700; color: var(--g600); }
.of-cal .of-linebtn { min-height: 48px; }

/* ===================== Finansowanie ===================== */
.fn .hd { letter-spacing: -1px; }
.fn-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.fn-hero .fn-k { color: var(--gold); }

.fn-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 96px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 64px; align-items: center; overflow: hidden; }
.fn-hero::before { content: ""; position: absolute; right: -160px; bottom: -240px; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.14), rgba(255,211,0,0)); pointer-events: none; }
.fn-hero-txt { position: relative; display: flex; flex-direction: column; gap: 24px; }
.fn-hero h1 { font-size: 64px; line-height: .95; letter-spacing: -2.6px; color: var(--white); }
.fn-hero h1 span { display: block; margin-top: 12px; font-size: 38px; line-height: 1.08; letter-spacing: -1px; color: var(--gold); }
.fn-hero-txt > p { max-width: 580px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.fn-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.fn-hero-btns .btn { height: 58px; padding: 0 30px; font-size: 15px; }
.fn-proof { list-style: none; margin: 8px 0 0; padding: 0; display: flex; gap: 0; border-top: 1px solid #262626; }
.fn-proof li { flex: 1; display: flex; flex-direction: column; gap: 4px; padding: 18px 18px 0 0; }
.fn-proof li + li { padding-left: 18px; border-left: 1px solid #262626; }
.fn-proof strong { font-size: 34px; line-height: 1; color: var(--gold); }
.fn-proof span { font-size: 13px; line-height: 1.4; color: var(--g400); }
.fn-gets { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 30px; background: #0E0E0E; border: 1px solid #262626; border-top: 4px solid var(--gold); }
.fn-gets ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.fn-gets li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 14px; }
.fn-tick { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--grad); color: #000; }
.fn-gets li div { display: flex; flex-direction: column; gap: 4px; }
.fn-gets strong { font-size: 16px; color: var(--white); }
.fn-gets li div span { font-size: 14px; line-height: 1.5; color: var(--g400); }

/* kalkulator */
.fn-calc { padding: 110px var(--side); background: var(--g100); display: flex; flex-direction: column; gap: 36px; scroll-margin-top: 80px; }
.fn-calc-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 12px 64px; align-items: end; }
.fn-calc-head .fn-k { grid-column: 1 / -1; }
.fn-calc h2 { font-size: 48px; line-height: 1; }
.fn-calc-head p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.fn-calc-box { background: var(--white); border: 1.5px solid #000; }
.fn-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1.5px solid #000; }
.fn-tabs button { height: 64px; border: 0; background: var(--white); font: inherit; font-size: 16px; font-weight: 800; color: var(--g600); cursor: pointer; position: relative; transition: color .15s ease, background .15s ease; }
.fn-tabs button + button { border-left: 1.5px solid #000; }
.fn-tabs button[aria-selected="true"] { color: #000; background: #FFF6CC; }
.fn-tabs button[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1.5px; height: 4px; background: var(--grad); }
.fn-calc-g { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.fn-in { padding: 36px 40px; display: flex; flex-direction: column; gap: 26px; }
.fn-in > div { display: flex; flex-direction: column; gap: 26px; }
.fn-in > div[hidden] { display: none; }
.fn-r { display: flex; flex-direction: column; gap: 12px; }
.fn-r > span:first-child { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; font-weight: 700; color: #000; }
.fn-r output { font-size: 18px; font-weight: 800; color: #000; white-space: nowrap; }
.fn-r input[type="range"] { width: 100%; accent-color: #000; height: 28px; cursor: pointer; }
.fn-rate-in { display: flex; align-items: center; gap: 10px; }
.fn-rate-in .field { width: 140px; height: 50px; font-weight: 700; }
.fn-rate-in em { font-style: normal; font-weight: 800; }
.fn-out { padding: 36px 40px; background: #000; color: var(--white); display: flex; flex-direction: column; gap: 18px; }
.fn-out > div { display: flex; flex-direction: column; gap: 14px; }
.fn-out > div[hidden] { display: none; }
.fn-out-k { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.fn-big { font-size: 52px; line-height: 1; color: var(--white); letter-spacing: -1.5px; }
.fn-out dl { margin: 6px 0 0; display: flex; flex-direction: column; border-top: 1px solid #2a2a2a; }
.fn-out dl div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid #2a2a2a; }
.fn-out dt { font-size: 14px; color: var(--g400); }
.fn-out dd { margin: 0; font-size: 16px; font-weight: 800; text-align: right; }
.fn-warn { font-size: 13px; line-height: 1.5; color: var(--g400); }
.fn-warn[hidden] { display: none; }
.fn-out .btn { margin-top: auto; height: 56px; justify-content: center; font-size: 15px; }
.fn-disc { padding: 16px 40px 20px; border-top: 1px solid var(--g200); font-size: 12px; line-height: 1.55; color: var(--g600); }

/* kroki */
.fn-steps { padding: 110px var(--side); background: var(--white); display: flex; flex-direction: column; gap: 44px; }
.fn-steps-head { display: flex; flex-direction: column; gap: 14px; max-width: 820px; }
.fn-steps h2 { font-size: 48px; line-height: 1; }
.fn-steps-l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border-top: 2px solid #000; counter-reset: s; }
.fn-steps-l li { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 28px 22px 10px 0; }
.fn-steps-l li + li { padding-left: 22px; border-left: 1px solid var(--g200); }
.fn-steps-l li:nth-child(4) { background: linear-gradient(#FFF6CC, #FFF6CC) top / 100% 4px no-repeat; }
.fn-n { font-size: 30px; line-height: 1; color: var(--gold-dk); }
.fn-steps-l h3 { font-size: 20px; line-height: 1.15; }
.fn-steps-l p { font-size: 15px; line-height: 1.6; color: var(--g700); }

/* dokumenty */
.fn-docs { padding: 110px var(--side); background: var(--g100); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 72px; align-items: start; }
.fn-docs-head { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 16px; }
.fn-docs h2 { font-size: 48px; line-height: 1; }
.fn-docs-head p { font-size: 16px; line-height: 1.6; color: var(--g700); }
.fn-docs-bar { height: 8px; background: var(--g200); overflow: hidden; margin-top: 8px; }
.fn-docs-bar span { display: block; height: 100%; width: 0; background: var(--grad); transition: width .3s ease; }
.fn-docs-n { font-size: 14px; font-weight: 800; }
.fn-docs-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.fn-docs-g fieldset { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-direction: column; border-top: 2px solid #000; }
.fn-docs-g legend { float: left; width: 100%; padding: 18px 0 8px; font-size: 22px; }
.fn-doc { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--g300); font-size: 15px; line-height: 1.5; color: #000; cursor: pointer; }
.fn-doc input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fn-doc-b { width: 26px; height: 26px; display: grid; place-items: center; border: 2px solid #000; background: var(--white); color: transparent; transition: background .15s ease, color .15s ease; }
.fn-doc input:checked + .fn-doc-b { background: #000; color: var(--gold); }
.fn-doc input:checked ~ span:last-child { color: var(--g500); text-decoration: line-through; text-decoration-color: var(--gold-2); }
.fn-doc input:focus-visible + .fn-doc-b { outline: 3px solid var(--gold); outline-offset: 2px; }

/* formularz */
.fn-form { padding: 110px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 72px; align-items: start; scroll-margin-top: 80px; }
.fn-form-side { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 20px; }
.fn-form h2 { font-size: 48px; line-height: 1; }
.fn-form-side > p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.fn-form-side > p strong { color: #000; }
.fn-who { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 18px; align-items: center; padding: 22px; background: var(--g100); border-top: 4px solid var(--gold); }
.fn-who-img { width: 80px; height: 80px; overflow: hidden; border-radius: 50%; background: #D9D4DA; }
.fn-who-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
.fn-who > div { display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 1.5; color: var(--g700); }
.fn-who-k { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-dk); }
.fn-who strong { font-size: 22px; line-height: 1.1; color: #000; }
.fn-tel { display: inline-flex; align-items: center; gap: 12px; font-size: 15px; color: var(--g700); }
.fn-tel svg { color: var(--gold-dk); }
.fn-tel strong { color: #000; }
.fn-f-wrap { padding: 40px; border: 1.5px solid #000; background: var(--white); }
.fn-f { display: flex; flex-direction: column; gap: 22px; }
.fn-q { margin: 0; padding: 0; border: 0; min-width: 0; }
.fn-q legend { padding: 0; margin-bottom: 10px; font-size: 13px; font-weight: 700; color: #000; }
.fn-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fn-calc-note { padding: 12px 16px; background: #FFF6CC; font-size: 14px; font-weight: 600; color: #000; }
.fn-calc-note[hidden] { display: none; }
.fn-f .btn { height: 60px; font-size: 16px; }
.fn-done { display: flex; flex-direction: column; gap: 18px; outline: none; }
.fn-done[hidden] { display: none; }
.fn-done h3 { font-size: 40px; line-height: 1; }
.fn-done > p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.fn-done .btn { width: fit-content; height: 56px; padding: 0 28px; }

.fn-faq { padding: 110px var(--side); background: var(--g100); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px 72px; align-items: start; }
.fn-faq h2 { font-size: 48px; line-height: 1; }
.fn-faq .ab-faq p { padding: 0 0 20px; font-size: 16px; line-height: 1.65; color: var(--g700); }

@media (max-width: 1199px) {
	.fn-steps-l { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 20px; }
	.fn-steps-l li:nth-child(4) { padding-left: 0; border-left: 0; }
	.fn-calc-g { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 899px) {
	.fn-hero { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 140px var(--side) 56px; }
	.fn-hero h1 { font-size: 40px; letter-spacing: -1.4px; }
	.fn-hero h1 span { font-size: 24px; letter-spacing: -.4px; }
	.fn-hero-txt { gap: 20px; }
	.fn-hero-txt > p { font-size: 16px; }
	.fn-hero-btns .btn, .fn-hero-btns .ab-ghost { flex: 1 1 100%; justify-content: center; height: 54px; }
	.fn-proof strong { font-size: 26px; }
	.fn-proof li { padding-right: 10px; }
	.fn-proof li + li { padding-left: 10px; }
	.fn-proof span { font-size: 12px; }
	.fn-gets { padding: 22px 18px; }
	.fn-calc, .fn-steps, .fn-docs, .fn-form, .fn-faq { padding-top: 64px; padding-bottom: 64px; }
	.fn-calc { gap: 24px; }
	.fn-calc-head, .fn-docs, .fn-form, .fn-faq { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.fn-calc h2, .fn-steps h2, .fn-docs h2, .fn-form h2, .fn-faq h2 { font-size: 32px; letter-spacing: -.8px; }
	.fn-calc-head p { font-size: 15px; }
	.fn-calc-box { margin: 0 calc(var(--side) * -1); border-left: 0; border-right: 0; }
	.fn-tabs button { height: 54px; font-size: 14px; }
	.fn-in, .fn-out { padding: 24px var(--side); gap: 20px; }
	.fn-in > div { gap: 20px; }
	.fn-r output { font-size: 16px; }
	.fn-big { font-size: 38px; }
	.fn-disc { padding: 14px var(--side) 18px; }
	.fn-steps { gap: 24px; }
	.fn-steps-l { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
	.fn-steps-l li, .fn-steps-l li + li, .fn-steps-l li:nth-child(4) { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 12px; padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--g200); }
	.fn-steps-l li:nth-child(4) { background: #FFF6CC; margin: 0 calc(var(--side) * -1); padding: 18px var(--side); }
	.fn-n { font-size: 22px; grid-row: 1 / span 2; }
	.fn-steps-l h3 { font-size: 18px; }
	.fn-steps-l p { font-size: 14px; }
	.fn-docs-head, .fn-form-side { position: static; }
	.fn-docs-g { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.fn-doc { font-size: 14px; padding: 12px 0; }
	.fn-who { grid-template-columns: 60px minmax(0, 1fr); padding: 16px; gap: 14px; }
	.fn-who-img { width: 60px; height: 60px; }
	.fn-who strong { font-size: 19px; }
	.fn-f-wrap { padding: 22px 18px; }
	.fn-row { grid-template-columns: minmax(0, 1fr); }
	.fn-f .w-opts { gap: 6px; }
	.fn-f .w-opt { height: 42px; padding: 0 12px; font-size: 14px; }
	.fn-done h3 { font-size: 30px; }
}

/* Stemple HausLand z Asari (Rezerwacja, Sprzedane, Wynajęte, Sprzedane w 2 tygodnie) – jak na obecnej stronie */
.tstamp { position: absolute; z-index: 2; right: 14px; bottom: 34px; width: 112px; height: 112px; object-fit: contain; pointer-events: none; transform: rotate(-8deg); filter: drop-shadow(0 6px 14px rgba(0,0,0,.35)); }
.tcard-img .tstamp { width: 112px; height: 112px; }
.nocard-img .tstamp { right: 16px; bottom: auto; top: 16px; width: 104px; height: 104px; }
.tcard[data-mode="sold"] .tcard-img img:not(.tstamp) { filter: grayscale(.55) brightness(.92); }
.of-stamp-img { position: absolute; z-index: 2; left: 50%; top: 50%; width: 220px; height: 220px; margin: -110px 0 0 -110px; object-fit: contain; transform: rotate(-9deg); filter: drop-shadow(0 20px 40px rgba(0,0,0,.5)); pointer-events: none; }
@media (max-width: 899px) {
	.tstamp, .tcard-img .tstamp { width: 84px; height: 84px; right: 10px; bottom: 28px; }
	.nocard-img .tstamp { width: 80px; height: 80px; top: 12px; right: 12px; }
	.of-stamp-img { width: 150px; height: 150px; margin: -75px 0 0 -75px; }
}
.l-grid.rows .tcard-img .tstamp { inset: auto; right: 14px; bottom: 30px; }
a.h-next-img { display: block; }
.h-next-img .tstamp { inset: auto; right: 14px; bottom: 14px; width: 96px; height: 96px; }
/* stempel na zdjęciu oferty: nie rozciągaj jak zdjęcia galerii */
.of-gal-main .of-stamp-img, .zoom:hover .of-stamp-img, .tcard-img .tstamp, .zoom:hover .tstamp, .nocard-img .tstamp { object-fit: contain; }
.of-gal-main .of-stamp-img { width: 220px; height: 220px; transform: rotate(-9deg); }
.zoom:hover .of-stamp-img { transform: rotate(-9deg); }
.zoom:hover .tstamp { transform: rotate(-8deg); }
@media (max-width: 899px) { .of-gal-main .of-stamp-img { width: 150px; height: 150px; } }
.of-gal-main .of-stamp-img { left: auto; top: auto; right: 32px; bottom: 32px; margin: 0; }
@media (max-width: 899px) { .of-gal-main .of-stamp-img { width: 110px; height: 110px; right: 14px; bottom: 44px; } }
@media (max-width: 899px) { .of-gal-main .of-stamp-img { width: 88px; height: 88px; right: 12px; bottom: 50px; } }

/* ===================== Pieczęcie HausLand (SVG, minimalistyczne) ===================== */
.hlsw { display: block; line-height: 0; position: absolute; }
.hlsw .hls { display: block; width: 100%; height: 100%; overflow: visible; }
.tstamp.hlsw, .of-stamp-img.hlsw { filter: drop-shadow(0 8px 18px rgba(0,0,0,.28)); }
@media (prefers-reduced-motion: no-preference) {
	.hls.anim { opacity: 0; transform: scale(1.18); }
	.hls.anim.in { animation: hlsPress .45s cubic-bezier(.3,1.35,.5,1) forwards; }
}
@keyframes hlsPress { from { opacity: 0; transform: scale(1.18); } to { opacity: 1; transform: none; } }
.hls.anim, .hls.in { transform-origin: 50% 50%; }
.tcard[data-mode="sold"] .tcard-img > img { filter: grayscale(.55) brightness(.92); }
@media (max-width: 899px) { .of-gal-main .of-stamp-img { width: 104px; height: 104px; bottom: 48px; } }
/* półprzezroczyste pieczęcie: zdjęcie lekko rozmyte pod środkiem */
.hlsw { border-radius: 50%; -webkit-backdrop-filter: blur(6px) saturate(1.1); backdrop-filter: blur(6px) saturate(1.1); }
.tstamp.hlsw, .of-stamp-img.hlsw { filter: drop-shadow(0 6px 14px rgba(0,0,0,.22)); }

/* ===================== Status na zdjęciu: szklana pigułka HausLand ===================== */
.hlb { position: absolute; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 7px; pointer-events: none; }
.hlb-pill { display: inline-flex; align-items: center; gap: 12px; height: 42px; padding: 0 18px 0 16px; border-radius: 14px; background: linear-gradient(180deg, rgba(34,34,34,.58) 0%, rgba(8,8,8,.7) 100%); -webkit-backdrop-filter: blur(14px) saturate(1.6); backdrop-filter: blur(14px) saturate(1.6); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 12px 32px -10px rgba(0,0,0,.55); color: #fff; font-size: 15px; font-weight: 600; line-height: 1; letter-spacing: -.1px; white-space: nowrap; }
.hlb-dash { display: block; width: 18px; height: 3px; flex-shrink: 0; border-radius: 3px; background: linear-gradient(90deg, #FFE45C, #FFD300 45%, #DFA91F); box-shadow: 0 0 10px rgba(255,211,0,.5); }
.hlb-x { margin-left: 2px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.2); color: #F3C44E; font-weight: 500; }
.hlb-brand { padding-left: 3px; font-size: 11px; font-weight: 600; letter-spacing: .02em; color: rgba(255,255,255,.94); text-shadow: 0 1px 10px rgba(0,0,0,.55), 0 0 2px rgba(0,0,0,.35); }
.hlb--card { left: 16px; bottom: 14px; }
.tcard-img .hlb--card ~ .tdots, .tcard-img:has(.hlb) .tdots { bottom: 18px; }
.nocard-img .hlb--card { left: 18px; bottom: 18px; }
.h-next-img .hlb--card { left: 18px; bottom: 16px; }
.hlb--hero { left: 24px; bottom: 92px; gap: 9px; }
.hlb--hero .hlb-pill { height: 52px; padding: 0 22px 0 20px; border-radius: 16px; gap: 14px; font-size: 18px; }
.hlb--hero .hlb-dash { width: 22px; }
.hlb--hero .hlb-brand { font-size: 12px; }
.tcard[data-mode="sold"] .tcard-img > img { filter: grayscale(.35) brightness(.94); }
@media (prefers-reduced-motion: no-preference) {
	.hlb.anim .hlb-pill { opacity: 0; transform: translateY(10px) scale(.97); }
	.hlb.anim .hlb-brand { opacity: 0; }
	.hlb.anim .hlb-dash { transform: scaleX(0); transform-origin: left; }
	.hlb.anim.in .hlb-pill { opacity: 1; transform: none; transition: opacity .5s ease, transform .6s cubic-bezier(.2,.8,.2,1); }
	.hlb.anim.in .hlb-dash { transform: none; transition: transform .5s .25s cubic-bezier(.2,.8,.2,1); }
	.hlb.anim.in .hlb-brand { opacity: 1; transition: opacity .6s .35s ease; }
	.hlb--rezerwacja.in .hlb-dash { animation: hlbLive 2.6s 1s ease-in-out infinite; }
}
@keyframes hlbLive { 0%, 100% { opacity: 1; box-shadow: 0 0 10px rgba(255,211,0,.5); } 50% { opacity: .45; box-shadow: 0 0 2px rgba(255,211,0,.2); } }
@media (max-width: 899px) {
	.hlb-pill { height: 36px; padding: 0 14px 0 12px; gap: 10px; border-radius: 12px; font-size: 14px; }
	.hlb-dash { width: 14px; }
	.hlb-brand { font-size: 10px; }
	.hlb--card { left: 12px; bottom: 12px; gap: 5px; }
	.hlb--hero { left: 12px; bottom: 64px; }
	.hlb--hero .hlb-pill { height: 40px; font-size: 15px; padding: 0 16px 0 14px; }
}
.hlb--hero { bottom: 88px; }
@media (max-width: 899px) { .hlb--hero { bottom: 62px; } }

/* ===================== Karty ofert: cena i status w jednym, spokojnym stylu (szklana pigułka) ===================== */
.tcard-img .tprice, .hlb-pill { height: 36px; padding: 0 14px; border-radius: 10px; background: rgba(14,14,14,.58); -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 8px 22px -10px rgba(0,0,0,.55); color: #fff; }
.tcard-img .tprice { left: 14px; bottom: 14px; gap: 0; font-size: 15px; font-weight: 700; letter-spacing: -.2px; text-transform: none; font-variant-numeric: tabular-nums; }
.tcard-img .tprice.hd, .tcard-img .tprice .hd { font-size: 15px; line-height: 1; font-weight: 700; letter-spacing: -.2px; text-transform: none; color: #fff; }
.tcard-img .tprice small { margin-left: 5px; font-size: 12px; font-weight: 500; color: rgba(255,255,255,.66); }
.tcard-img .tprice-ask { font-size: 13.5px; font-weight: 600; letter-spacing: 0; color: #fff; border-color: rgba(255,255,255,.14); }
.tcard-img .tprice-open { height: auto; padding: 7px 14px 8px; gap: 3px; flex-direction: column; align-items: flex-start; }
.tcard-img .tprice-open small { margin: 0; font-size: 10.5px; font-weight: 600; letter-spacing: 0; text-transform: none; line-height: 1.2; color: #F3C44E; }
.tcard-img .tprice-open .hd { font-size: 15px; line-height: 1.15; }
.hlb-pill { gap: 9px; padding: 0 14px 0 12px; font-size: 14px; font-weight: 600; letter-spacing: -.1px; }
.hlb-dash { width: 13px; height: 2.5px; box-shadow: 0 0 8px rgba(255,211,0,.45); }
.hlb-x { padding-left: 9px; margin-left: 0; font-weight: 500; }
.hlb--card { left: 14px; bottom: 14px; }
.hlb--hero .hlb-pill { height: 46px; padding: 0 18px 0 16px; gap: 12px; border-radius: 13px; font-size: 16px; }
.hlb--hero .hlb-dash { width: 18px; height: 3px; }
@media (max-width: 899px) {
	.tcard-img .tprice, .hlb-pill { height: 34px; border-radius: 9px; }
	.tcard-img .tprice-open { height: auto; }
	.hlb-pill { font-size: 13.5px; padding: 0 12px 0 11px; gap: 8px; }
	.hlb--card { left: 12px; bottom: 12px; }
	.tcard-img .tprice { left: 12px; bottom: 12px; }
	.hlb--hero .hlb-pill { height: 38px; font-size: 14.5px; padding: 0 14px 0 12px; }
}
.tcard[data-mode="rent"] .tcard-img .tprice { align-items: center; }

/* Złote cyfry ceny na szkle (karty ofert) */
.tcard-img .tprice:not(.tprice-ask) .hd, .tcard-img .tprice.hd:not(.tprice-ask) { color: #FFD300; -webkit-text-fill-color: transparent; background: linear-gradient(180deg, #FFE45C 0%, #FFD300 45%, #E3AE22 100%); -webkit-background-clip: text; background-clip: text; }
.tcard-img .tprice.hd:not(.tprice-ask) { background: linear-gradient(180deg, #FFE45C, #FFD300 45%, #E3AE22) text, rgba(14,14,14,.58); }

/* Strona oferty: status (rezerwacja/sprzedane) z delikatnym połyskiem */
.hlb--hero .hlb-pill { position: relative; overflow: hidden; isolation: isolate; }
.hlb--hero .hlb-t { background: linear-gradient(180deg, #FFFFFF 0%, #F4EBD0 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
@media (prefers-reduced-motion: no-preference) {
	.hlb--hero .hlb-pill::after { content: ""; position: absolute; top: -20%; bottom: -20%; left: -60%; width: 45%; z-index: 1; pointer-events: none; background: linear-gradient(100deg, rgba(255,228,92,0) 0%, rgba(255,228,92,.14) 35%, rgba(255,255,255,.42) 50%, rgba(255,228,92,.14) 65%, rgba(255,228,92,0) 100%); transform: skewX(-18deg); animation: hlbSheen 5.5s 1.2s cubic-bezier(.4,0,.2,1) infinite; }
	.hlb--hero .hlb-dash { animation: hlbGlint 5.5s 1.2s ease-in-out infinite; }
}
@keyframes hlbSheen { 0% { left: -60%; } 28%, 100% { left: 130%; } }
@keyframes hlbGlint { 0%, 100% { box-shadow: 0 0 8px rgba(255,211,0,.45); } 14% { box-shadow: 0 0 16px 2px rgba(255,211,0,.85); } 30% { box-shadow: 0 0 8px rgba(255,211,0,.45); } }

/* ===================== Dni otwarte ===================== */
.dz .hd { letter-spacing: -1px; }
.dz-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.dz-hero .dz-k { color: var(--gold); }
.dz-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 96px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 64px; align-items: center; overflow: hidden; }
.dz-hero::before { content: ""; position: absolute; left: 40%; top: -260px; width: 700px; height: 700px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.13), rgba(255,211,0,0)); pointer-events: none; }
.dz-hero-txt { position: relative; display: flex; flex-direction: column; gap: 24px; }
.dz-hero h1 { font-size: 84px; line-height: .92; letter-spacing: -3.5px; color: var(--white); }
.dz-hero h1 span { display: block; margin-top: 16px; font-size: 32px; line-height: 1.1; letter-spacing: -.8px; color: var(--gold); }
.dz-hero-txt > p { max-width: 600px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.dz-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.dz-hero-btns .btn { height: 58px; padding: 0 30px; font-size: 15px; }
.dz-now { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 30px; background: #0E0E0E; border: 1px solid #262626; border-top: 4px solid var(--gold); }
.dz-now-n { font-size: 96px; line-height: .9; color: var(--white); letter-spacing: -3px; }
.dz-now-n--txt { font-size: 56px; letter-spacing: -2px; }
.dz-now-l { font-size: 15px; color: var(--g400); margin-bottom: 14px; }
.dz-now-next { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 18px; background: var(--grad); color: #000; transition: filter .15s ease; }
.dz-now-next:hover { color: #000; filter: brightness(1.05); }
.dz-now-next--alert { grid-template-columns: minmax(0, 1fr) auto; }
.dz-now-d { display: flex; flex-direction: column; align-items: center; width: 52px; padding: 6px 0; background: #000; color: var(--gold); }
.dz-now-d b { font-size: 26px; line-height: 1; }
.dz-now-d small { font-size: 11px; font-weight: 700; text-transform: uppercase; }
.dz-now-next > span:not(.dz-now-d) { display: flex; flex-direction: column; gap: 2px; }
.dz-now-next strong { font-size: 17px; }
.dz-now-next small { font-size: 13px; }
.dz-now-next em { font-style: normal; font-weight: 800; }

.dz-head { display: flex; flex-direction: column; gap: 14px; }
.dz-cal { padding: 110px var(--side); background: var(--g100); display: flex; flex-direction: column; gap: 40px; scroll-margin-top: 80px; }
.dz-cal h2, .dz-how h2, .dz-past h2, .dz-faq h2 { font-size: 52px; line-height: 1; }
.dz-day { display: flex; flex-direction: column; gap: 20px; }
.dz-day-h { display: flex; justify-content: space-between; align-items: end; gap: 16px; padding-bottom: 14px; border-bottom: 2px solid #000; }
.dz-day-d { display: flex; align-items: center; gap: 16px; }
.dz-day-d b { font-size: 64px; line-height: .9; }
.dz-day-d > span { display: flex; flex-direction: column; font-size: 22px; font-weight: 800; }
.dz-day-d small { font-size: 14px; font-weight: 500; color: var(--g600); }
.dz-day-n { font-size: 14px; font-weight: 700; color: var(--g600); }
.dz-empty { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; max-width: 680px; padding: 40px; background: var(--white); border-left: 4px solid var(--gold); }
.dz-empty strong { font-size: 28px; line-height: 1.1; }
.dz-empty p { font-size: 16px; line-height: 1.6; color: var(--g700); }

.dz-how { padding: 110px var(--side); background: var(--white); display: flex; flex-direction: column; gap: 32px; }
.dz-tabs { display: inline-grid; grid-template-columns: repeat(2, minmax(0, 180px)); border: 1.5px solid #000; width: fit-content; }
.dz-tabs button { height: 52px; border: 0; background: var(--white); font: inherit; font-size: 16px; font-weight: 800; color: var(--g600); cursor: pointer; }
.dz-tabs button + button { border-left: 1.5px solid #000; }
.dz-tabs button[aria-selected="true"] { background: #000; color: var(--gold); }
.dz-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid #000; }
.dz-steps[hidden] { display: none; }
.dz-steps li { display: flex; flex-direction: column; gap: 12px; padding: 28px 24px 8px 0; }
.dz-steps li + li { padding-left: 24px; border-left: 1px solid var(--g200); }
.dz-n { font-size: 34px; line-height: 1; color: var(--gold-dk); }
.dz-steps h3 { font-size: 21px; line-height: 1.15; }
.dz-steps p { font-size: 15px; line-height: 1.6; color: var(--g700); }
.dz-how-cta { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.dz-how-cta[hidden] { display: none; }
.dz-how-cta .btn { height: 56px; padding: 0 28px; }

.dz-past { padding: 110px var(--side); background: var(--g100); display: flex; flex-direction: column; gap: 36px; }
.dz-past-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dz-p { display: flex; flex-direction: column; background: var(--white); color: #000; transition: transform .2s ease, box-shadow .2s ease; }
.dz-p:hover { color: #000; transform: translateY(-3px); box-shadow: 0 16px 40px -20px rgba(0,0,0,.35); }
.dz-p-img { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--g900); }
.dz-p-img > img { width: 100%; height: 100%; object-fit: cover; }
.dz-p-b { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 22px; }
.dz-p-b small { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-dk); }
.dz-p-b strong { font-size: 18px; }
.dz-p-st { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--g700); }
.dz-p-st i { width: 12px; height: 2.5px; border-radius: 2px; background: var(--grad); }

.dz-faq { padding: 110px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px 72px; align-items: start; }
.dz-faq .ab-faq p { padding: 0 0 20px; font-size: 16px; line-height: 1.65; color: var(--g700); }

@media (max-width: 1199px) {
	.dz-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 16px; }
	.dz-steps li:nth-child(3) { padding-left: 0; border-left: 0; }
	.dz-past-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.dz-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 140px var(--side) 56px; }
	.dz-hero h1 { font-size: 52px; letter-spacing: -2px; }
	.dz-hero h1 span { font-size: 22px; letter-spacing: -.3px; }
	.dz-hero-txt > p { font-size: 16px; }
	.dz-hero-btns .btn, .dz-hero-btns .ab-ghost { flex: 1 1 100%; justify-content: center; height: 54px; }
	.dz-now { padding: 22px 18px; }
	.dz-now-n { font-size: 64px; }
	.dz-cal, .dz-how, .dz-past, .dz-faq { padding-top: 64px; padding-bottom: 64px; gap: 24px; }
	.dz-cal h2, .dz-how h2, .dz-past h2, .dz-faq h2 { font-size: 34px; letter-spacing: -.8px; }
	.dz-day-d b { font-size: 44px; }
	.dz-day-d > span { font-size: 17px; }
	.dz-grid { display: flex; flex-direction: row; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-right: calc(var(--side) * -1); padding-right: var(--side); scrollbar-width: none; }
	.dz-grid::-webkit-scrollbar { display: none; }
	.dz-grid > * { flex: 0 0 84%; scroll-snap-align: start; }
	.dz-tabs { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dz-steps { grid-template-columns: minmax(0, 1fr); }
	.dz-steps li, .dz-steps li + li, .dz-steps li:nth-child(3) { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 12px; padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--g200); }
	.dz-n { font-size: 22px; grid-row: 1 / span 2; }
	.dz-steps h3 { font-size: 18px; }
	.dz-steps p { font-size: 14px; }
	.dz-how-cta .btn { width: 100%; justify-content: center; }
	.dz-past-g { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-right: calc(var(--side) * -1); padding-right: var(--side); scrollbar-width: none; }
	.dz-past-g > * { flex: 0 0 80%; scroll-snap-align: start; }
	.dz-faq { grid-template-columns: minmax(0, 1fr); }
	.dz-empty { padding: 24px 20px; }
	.dz-empty strong { font-size: 22px; }
}

/* ===================== Najem (dla właścicieli) ===================== */
.nj .hd { letter-spacing: -1px; }
.nj-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.nj-hero .nj-k, .nj-biz .nj-k { color: var(--gold); }
.nj-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 96px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 64px; align-items: center; overflow: hidden; }
.nj-hero::before { content: ""; position: absolute; right: -180px; top: -200px; width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.13), rgba(255,211,0,0)); pointer-events: none; }
.nj-hero-txt { position: relative; display: flex; flex-direction: column; gap: 24px; }
.nj-hero h1 { font-size: 68px; line-height: .95; letter-spacing: -2.8px; color: var(--white); }
.nj-hero h1 span { display: block; margin-top: 12px; font-size: 40px; line-height: 1.05; letter-spacing: -1px; color: var(--gold); }
.nj-hero-txt > p { max-width: 580px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.nj-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.nj-hero-btns .btn { height: 58px; padding: 0 30px; font-size: 15px; }
.nj-sum { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 30px; background: #0E0E0E; border: 1px solid #262626; border-top: 4px solid var(--gold); }
.nj-sum ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nj-sum li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid #222; }
.nj-sum li:last-child { border-bottom: 0; }
.nj-sum strong { font-size: 32px; line-height: 1; color: var(--gold); white-space: nowrap; }
.nj-sum span { font-size: 14px; line-height: 1.45; color: var(--g400); }
.nj-head { display: flex; flex-direction: column; gap: 14px; max-width: 820px; }
.nj-calc { padding: 110px var(--side); background: var(--g100); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 72px; align-items: center; }
.nj-calc-txt { display: flex; flex-direction: column; gap: 18px; }
.nj-calc h2, .nj-steps h2, .nj-check h2, .nj-form h2, .nj-offers h2, .nj-faq h2 { font-size: 48px; line-height: 1; }
.nj-calc-txt p { font-size: 17px; line-height: 1.6; color: var(--g700); max-width: 520px; }
.nj-calc-box { display: flex; flex-direction: column; gap: 22px; padding: 34px; background: var(--white); border: 1.5px solid #000; }
.nj-r { display: flex; flex-direction: column; gap: 12px; }
.nj-r > span:first-child { display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; }
.nj-r output { font-size: 18px; font-weight: 800; }
.nj-r input[type="range"] { width: 100%; accent-color: #000; height: 28px; }
.nj-out { display: flex; flex-direction: column; gap: 6px; padding: 22px; background: #000; color: var(--white); }
.nj-out span { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.nj-out strong { font-size: 38px; line-height: 1.05; letter-spacing: -1px; }
.nj-out small { font-size: 13px; color: var(--g400); }
.nj-calc-box .btn { height: 56px; justify-content: center; }
.nj-steps { padding: 110px var(--side); background: var(--white); display: flex; flex-direction: column; gap: 40px; }
.nj-steps-l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 2px solid #000; }
.nj-steps-l li { display: flex; flex-direction: column; gap: 12px; padding: 28px 22px 8px 0; }
.nj-steps-l li + li { padding-left: 22px; border-left: 1px solid var(--g200); }
.nj-n { font-size: 30px; line-height: 1; color: var(--gold-dk); }
.nj-steps-l h3 { font-size: 20px; line-height: 1.15; }
.nj-steps-l p { font-size: 15px; line-height: 1.6; color: var(--g700); }
.nj-check { padding: 110px var(--side); background: var(--g100); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 72px; align-items: start; }
.nj-check-head { display: flex; flex-direction: column; gap: 16px; }
.nj-check-head p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.nj-check-g { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid #000; }
.nj-check-g li { display: flex; gap: 14px; padding: 20px 20px 20px 0; border-bottom: 1px solid var(--g300); }
.nj-check-g li:nth-child(even) { padding-left: 20px; border-left: 1px solid var(--g300); }
.nj-tick { width: 30px; height: 30px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: #000; color: var(--gold); }
.nj-check-g li div { display: flex; flex-direction: column; gap: 4px; }
.nj-check-g strong { font-size: 17px; }
.nj-check-g li div span { font-size: 14px; line-height: 1.55; color: var(--g700); }
.nj-form { padding: 110px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 72px; align-items: start; scroll-margin-top: 80px; }
.nj-form-side { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 20px; }
.nj-form-side > p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.nj-form-side > p strong { color: #000; }
.nj-tel { display: inline-flex; align-items: center; gap: 12px; font-size: 15px; color: var(--g700); }
.nj-tel svg { color: var(--gold-dk); }
.nj-tel strong { color: #000; }
.nj-f-wrap { padding: 40px; border: 1.5px solid #000; }
.nj-f { display: flex; flex-direction: column; gap: 22px; }
.nj-q { margin: 0; padding: 0; border: 0; min-width: 0; }
.nj-q legend { padding: 0; margin-bottom: 10px; font-size: 13px; font-weight: 700; color: #000; }
.nj-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: end; }
.nj-f .btn { height: 60px; font-size: 16px; }
.nj-done { display: flex; flex-direction: column; gap: 18px; outline: none; }
.nj-done[hidden] { display: none; }
.nj-done h3 { font-size: 40px; line-height: 1; }
.nj-done > p { font-size: 17px; line-height: 1.6; color: var(--g700); }
.nj-biz { padding: 80px var(--side); background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 24px 56px; align-items: center; }
.nj-biz > div { display: flex; flex-direction: column; gap: 12px; }
.nj-biz h2 { font-size: 40px; line-height: 1; color: var(--white); }
.nj-biz p { font-size: 17px; line-height: 1.6; color: var(--g400); }
.nj-offers { padding: 110px var(--side) 0; background: var(--white); display: flex; flex-direction: column; gap: 32px; }
.nj-offers-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; }
.nj-offers-head > div { display: flex; flex-direction: column; gap: 12px; }
.nj-faq { padding: 110px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px 72px; align-items: start; }
.nj-faq .ab-faq p { padding: 0 0 20px; font-size: 16px; line-height: 1.65; color: var(--g700); }
@media (max-width: 1199px) {
	.nj-steps-l { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 16px; }
	.nj-steps-l li:nth-child(4) { padding-left: 0; border-left: 0; }
	.nj-biz { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 899px) {
	.nj-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 140px var(--side) 56px; }
	.nj-hero h1 { font-size: 42px; letter-spacing: -1.6px; }
	.nj-hero h1 span { font-size: 26px; letter-spacing: -.5px; }
	.nj-hero-txt > p { font-size: 16px; }
	.nj-hero-btns .btn, .nj-hero-btns .ab-ghost { flex: 1 1 100%; justify-content: center; height: 54px; }
	.nj-sum { padding: 20px 18px; }
	.nj-sum li { grid-template-columns: 100px minmax(0, 1fr); padding: 12px 0; }
	.nj-sum strong { font-size: 26px; }
	.nj-calc, .nj-steps, .nj-check, .nj-form, .nj-faq { padding-top: 64px; padding-bottom: 64px; grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.nj-calc h2, .nj-steps h2, .nj-check h2, .nj-form h2, .nj-offers h2, .nj-faq h2 { font-size: 32px; letter-spacing: -.8px; }
	.nj-calc-box { padding: 22px 18px; }
	.nj-out strong { font-size: 30px; }
	.nj-steps-l { grid-template-columns: minmax(0, 1fr); }
	.nj-steps-l li, .nj-steps-l li + li, .nj-steps-l li:nth-child(4) { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 12px; padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--g200); }
	.nj-n { font-size: 22px; grid-row: 1 / span 2; }
	.nj-steps-l h3 { font-size: 18px; }
	.nj-steps-l p { font-size: 14px; }
	.nj-check-g { grid-template-columns: minmax(0, 1fr); }
	.nj-check-g li, .nj-check-g li:nth-child(even) { padding: 16px 0; border-left: 0; }
	.nj-form-side { position: static; }
	.nj-f-wrap { padding: 22px 18px; }
	.nj-row { grid-template-columns: minmax(0, 1fr); }
	.nj-biz { padding: 56px var(--side); }
	.nj-biz h2 { font-size: 30px; }
	.nj-offers { padding-top: 64px; gap: 22px; }
	.nj-grid { display: flex; flex-direction: row; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-right: calc(var(--side) * -1); padding-right: var(--side); scrollbar-width: none; }
	.nj-grid > * { flex: 0 0 84%; scroll-snap-align: start; }
	.nj-done h3 { font-size: 30px; }
}

/* ===================== Opinie ===================== */
.op .hd { letter-spacing: -1px; }
.op-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.op-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 100px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 72px; align-items: center; overflow: hidden; }
.op-hero::before { content: ""; position: absolute; left: -220px; bottom: -300px; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.12), rgba(255,211,0,0)); pointer-events: none; }
.op-score { position: relative; display: flex; flex-direction: column; gap: 22px; }
.op-hero h1 { font-size: 30px; line-height: 1; letter-spacing: -.5px; color: var(--g400); }
.op-big { display: flex; align-items: center; gap: 24px; }
.op-big strong { font-size: 168px; line-height: .8; letter-spacing: -8px; background: linear-gradient(180deg, #FFE45C 0%, #FFD300 45%, #DFA91F 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.op-big-r { display: flex; flex-direction: column; gap: 10px; font-size: 16px; color: var(--g400); }
.op-big-r b { color: var(--white); font-size: 18px; font-variant-numeric: tabular-nums; }
.op-stars { position: relative; display: inline-block; height: 24px; }
.op-stars svg { width: 24px; height: 24px; margin-right: 3px; }
.op-stars-b { display: flex; fill: #333; }
.op-stars-f { position: absolute; inset: 0; display: flex; fill: var(--gold); width: var(--p); overflow: hidden; white-space: nowrap; }
.op-score > p { max-width: 460px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.op-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.op-btns .btn { height: 58px; padding: 0 28px; font-size: 15px; }
.op-feat { position: relative; min-height: 380px; padding: 56px 52px 72px; background: linear-gradient(160deg, #161616, #0B0B0B); border: 1px solid #242424; border-radius: 22px; box-shadow: 0 40px 80px -40px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.06); overflow: hidden; }
.op-q { position: absolute; right: 30px; top: -36px; font-size: 280px; line-height: 1; font-weight: 900; color: rgba(255,211,0,.09); pointer-events: none; }
.op-slide { position: absolute; inset: 56px 52px 72px; margin: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.op-slide.on { position: relative; inset: auto; opacity: 1; transform: none; pointer-events: auto; }
.op-slide blockquote { margin: 0; font-size: 30px; line-height: 1.22; letter-spacing: -.6px; text-transform: none; font-weight: 700; color: var(--white); }
.op-slide figcaption { display: flex; align-items: center; gap: 14px; }
.op-slide figcaption > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.op-slide figcaption b { font-size: 16px; }
.op-slide figcaption small { font-size: 13px; color: var(--g500); }
.op-av { width: 44px; height: 44px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: var(--grad); color: #000; font-size: 15px; font-weight: 800; letter-spacing: .02em; }
.op-dots { position: absolute; left: 52px; bottom: 32px; display: flex; gap: 8px; }
.op-dots button { width: 40px; height: 20px; padding: 0; border: 0; background: none; cursor: pointer; display: flex; align-items: center; }
.op-dots i { position: relative; display: block; width: 100%; height: 3px; border-radius: 3px; background: #333; overflow: hidden; }
.op-dots i::after { content: ""; position: absolute; inset: 0; background: var(--gold); transform: scaleX(0); transform-origin: left; }
.op-dots [aria-selected="true"] i::after { transform: scaleX(1); }
.op-feat.play .op-dots [aria-selected="true"] i::after { animation: opFill 7s linear forwards; }
@keyframes opFill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.op-stats { padding: 0 var(--side); background: var(--white); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--g200); }
.op-stat { display: flex; flex-direction: column; gap: 8px; padding: 56px 32px 52px 0; }
.op-stat + .op-stat { padding-left: 32px; border-left: 1px solid var(--g200); }
.op-stat strong { font-size: 76px; line-height: .95; letter-spacing: -3px; color: #000; }
.op-stat-l { font-size: 17px; font-weight: 700; color: #000; }
.op-stat-a { font-size: 14px; color: var(--g600); }

.op-list { padding: 100px var(--side); background: var(--g100); display: flex; flex-direction: column; gap: 36px; scroll-margin-top: 80px; }
.op-list-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; }
.op-list h2 { font-size: 52px; line-height: 1; }
.op-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.op-chip { height: 42px; padding: 0 16px; border: 1.5px solid var(--g300); border-radius: 999px; background: var(--white); font: inherit; font-size: 14px; font-weight: 700; color: #000; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.op-chip span { font-size: 12px; font-weight: 700; color: var(--g500); font-variant-numeric: tabular-nums; }
.op-chip:hover { border-color: #000; }
.op-chip[aria-pressed="true"] { background: #000; border-color: #000; color: var(--white); }
.op-chip[aria-pressed="true"] span { color: var(--gold); }
.op-grid { columns: 3 320px; column-gap: 20px; }
.op-card { break-inside: avoid; margin: 0 0 20px; display: flex; flex-direction: column; gap: 18px; padding: 30px 28px 24px; background: var(--white); border: 1px solid var(--g200); border-radius: 18px; transition: box-shadow .25s ease, transform .25s ease; }
.op-card:hover { box-shadow: 0 24px 50px -30px rgba(0,0,0,.35); transform: translateY(-2px); }
.op-card[hidden] { display: none; }
.op-card-st { display: flex; gap: 2px; fill: var(--gold-2); }
.op-card-st svg { width: 17px; height: 17px; }
.op-card blockquote { margin: 0; font-size: 17px; line-height: 1.6; color: var(--g900, #111); }
.op-card.long:not(.open) blockquote { display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }
.op-more { align-self: flex-start; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 800; color: #000; border-bottom: 2px solid var(--gold); cursor: pointer; }
.op-card footer { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--g200); }
.op-card .op-av { width: 38px; height: 38px; font-size: 13px; }
.op-who { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.op-who b { font-size: 15px; }
.op-who small { font-size: 12px; color: var(--g600); }
.op-tag { margin-left: auto; padding: 5px 10px; border-radius: 999px; background: #FFF6CC; font-size: 11.5px; font-weight: 700; color: var(--gold-dk); white-space: nowrap; }
.op-all { align-self: center; display: inline-flex; align-items: center; gap: 14px; height: 56px; padding: 0 26px; border: 1.5px solid #000; border-radius: 999px; font-size: 15px; font-weight: 800; color: #000; background: var(--white); transition: background .15s ease, color .15s ease; }
.op-all:hover { background: #000; color: var(--gold); }
@media (prefers-reduced-motion: no-preference) {
	.op .rv { opacity: 0; transform: translateY(18px); }
	.op .rv.in, .op-card.in { opacity: 1; transform: none; transition: opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
}

.op-cta { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.op-cta-a { padding: 96px 64px 110px max(32px, calc((100vw - 1200px) / 2)); background: #000; color: var(--white); display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.op-cta-a .op-k { color: var(--gold); }
.op-cta-a h2 { font-size: 56px; line-height: 1; color: var(--white); }
.op-cta-a p { max-width: 520px; font-size: 17px; line-height: 1.6; color: var(--g400); }
.op-cta-a .btn { height: 58px; padding: 0 30px; margin-top: 6px; }
.op-cta-b { padding: 96px max(32px, calc((100vw - 1200px) / 2)) 110px 64px; background: var(--grad); color: #000; display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.op-cta-b .op-k { color: #000; }
.op-cta-b p { font-size: 20px; line-height: 1.45; font-weight: 700; max-width: 360px; }
.op-cta-b .ab-link.light { color: #000; border-color: #000; }

@media (max-width: 1199px) {
	.op-hero { grid-template-columns: minmax(0, 1fr); gap: 48px; }
	.op-big strong { font-size: 140px; }
}
@media (max-width: 899px) {
	.op-hero { padding: 140px var(--side) 56px; gap: 32px; }
	.op-hero h1 { font-size: 22px; }
	.op-big { gap: 16px; }
	.op-big strong { font-size: 104px; letter-spacing: -5px; }
	.op-stars svg { width: 18px; height: 18px; }
	.op-stars { height: 18px; }
	.op-score > p { font-size: 16px; }
	.op-btns .btn, .op-btns .ab-ghost { flex: 1 1 100%; justify-content: center; height: 54px; }
	.op-feat { min-height: 0; padding: 36px 24px 60px; border-radius: 18px; margin: 0 calc(var(--side) * -.25); }
	.op-slide { inset: 36px 24px 60px; }
	.op-slide blockquote { font-size: 21px; }
	.op-q { font-size: 200px; right: 10px; top: -30px; }
	.op-dots { left: 24px; bottom: 24px; }
	.op-stats { grid-template-columns: minmax(0, 1fr); }
	.op-stat, .op-stat + .op-stat { padding: 28px 0; border-left: 0; border-bottom: 1px solid var(--g200); }
	.op-stat:last-child { border-bottom: 0; }
	.op-stat strong { font-size: 56px; }
	.op-list { padding: 56px var(--side); gap: 22px; }
	.op-list h2 { font-size: 34px; }
	.op-filters { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(var(--side) * -1); padding-right: var(--side); scrollbar-width: none; }
	.op-filters::-webkit-scrollbar { display: none; }
	.op-chip { flex-shrink: 0; }
	.op-grid { columns: 1; }
	.op-card { padding: 22px 20px 18px; border-radius: 16px; margin-bottom: 12px; }
	.op-card blockquote { font-size: 16px; }
	.op-all { align-self: stretch; justify-content: center; }
	.op-cta { grid-template-columns: minmax(0, 1fr); }
	.op-cta-a, .op-cta-b { padding: 56px 16px; }
	.op-cta-a h2 { font-size: 36px; }
	.op-cta-a .btn { width: 100%; justify-content: center; }
}
@media (max-width: 899px) { body:has(.op-cta) .ft-beam { display: none; } }

/* =========================================================================
   FAQ (/faq/) – wyszukiwarka, kategorie, pytania, „Zapytaj człowieka”
   ========================================================================= */
.fq-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.fq-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 72px; background: #000; color: var(--white); overflow: hidden; }
.fq-hero::before { content: ""; position: absolute; left: -240px; bottom: -380px; width: 820px; height: 820px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.13), rgba(255,211,0,0)); pointer-events: none; }
.fq-hero > * { position: relative; }
.fq-hero h1 { margin-top: 26px; font-size: 88px; line-height: .95; letter-spacing: -2px; color: var(--white); max-width: 900px; }
.fq-lead { margin-top: 20px; max-width: 620px; font-size: 19px; line-height: 1.55; color: var(--g400); }
.fq-search { margin-top: 40px; max-width: 820px; }
.fq-box { display: flex; align-items: center; gap: 14px; height: 76px; padding: 0 14px 0 26px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 30px 60px -30px rgba(0,0,0,.8); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; cursor: text; }
.fq-box svg { flex-shrink: 0; color: var(--gold); }
.fq-box:focus-within { border-color: rgba(255,211,0,.7); background: rgba(255,255,255,.1); box-shadow: 0 0 0 5px rgba(255,211,0,.12), 0 30px 60px -30px rgba(0,0,0,.8); }
.fq-box input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--white); font: inherit; font-size: 20px; font-weight: 500; }
.fq-box input::placeholder { color: var(--g500); }
.fq-box input::-webkit-search-cancel-button { display: none; }
.fq-box kbd { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; font: 600 14px/1 inherit; color: var(--g400); }
.fq-box:focus-within kbd { opacity: 0; }
.fq-clear { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); color: var(--white); cursor: pointer; }
.fq-clear:hover { background: rgba(255,255,255,.2); }
.fq-hints { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; padding-left: 8px; font-size: 14px; color: var(--g500); }
.fq-hints span { margin-right: 4px; }
.fq-hints button { height: 34px; padding: 0 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: transparent; color: var(--g300); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .2s, color .2s, background .2s; }
.fq-hints button:hover { border-color: var(--gold); color: var(--gold); }
.fq-tiles { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; margin-top: 64px; }
.fq-tile { display: flex; flex-direction: column; gap: 4px; padding: 18px 16px 16px; border-radius: 18px; background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)); border: 1px solid rgba(255,255,255,.09); color: var(--white); transition: transform .25s ease, border-color .25s ease, background .25s ease, opacity .25s ease; }
.fq-tile:hover { transform: translateY(-3px); border-color: rgba(255,211,0,.55); background: linear-gradient(180deg, rgba(255,211,0,.1), rgba(255,255,255,.03)); }
.fq-tile-i { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; margin-bottom: 14px; border-radius: 12px; background: rgba(255,211,0,.12); color: var(--gold); }
.fq-tile b { font-size: 15px; line-height: 1.25; }
.fq-tile small { font-size: 13px; color: var(--g500); }
.fq-tile.off { opacity: .35; pointer-events: none; }

.fq-body { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 72px; padding: 96px var(--side) 120px; background: var(--g100); }
.fq-side { position: sticky; top: 100px; align-self: start; display: flex; flex-direction: column; gap: 28px; }
.fq-toc { display: flex; flex-direction: column; }
.fq-toc .fq-k { margin-bottom: 12px; }
.fq-toc a { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 11px 0 11px 18px; font-size: 15px; font-weight: 600; color: var(--g600); border-left: 2px solid var(--g300); transition: color .2s, border-color .2s; }
.fq-toc a i { font-style: normal; font-size: 12px; font-weight: 700; color: var(--g500); min-width: 26px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--white); }
.fq-toc a:hover { color: #000; }
.fq-toc a.on { color: #000; border-left-color: var(--gold-2); }
.fq-toc a.on i { background: #000; color: var(--gold); }
.fq-toc a.off { opacity: .35; }
.fq-help { padding: 22px; border-radius: 20px; background: #000; color: var(--white); display: flex; flex-direction: column; gap: 10px; position: relative; }
.fq-help p { font-size: 14px; line-height: 1.5; color: var(--g400); }
.fq-help p b { display: block; color: var(--white); font-size: 16px; margin-bottom: 2px; }
.fq-help a { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: 16px; color: var(--white); }
.fq-help a svg { color: var(--gold); }
.fq-help .fq-help-ask { font-size: 14px; color: var(--gold); }
.fq-help .fq-dot { position: absolute; top: 22px; right: 22px; }
.fq-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--g500); flex-shrink: 0; }
.fq-dot.on { background: #2BD46B; box-shadow: 0 0 0 0 rgba(43,212,107,.6); animation: fqPulse 2s infinite; }
@keyframes fqPulse { 0% { box-shadow: 0 0 0 0 rgba(43,212,107,.55); } 70% { box-shadow: 0 0 0 9px rgba(43,212,107,0); } 100% { box-shadow: 0 0 0 0 rgba(43,212,107,0); } }

.fq-main { display: flex; flex-direction: column; gap: 72px; min-width: 0; }
.fq-count { margin-bottom: -40px; font-size: 15px; color: var(--g600); }
.fq-count b { color: #000; }
.fq-cat { scroll-margin-top: 96px; }
.fq-cat-h { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.fq-cat-h > div { flex: 1; }
.fq-cat-i { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 16px; background: #000; color: var(--gold); flex-shrink: 0; }
.fq-cat-h h2 { font-size: 36px; line-height: 1; letter-spacing: -.5px; }
.fq-cat-h p { margin-top: 6px; font-size: 15px; color: var(--g600); }
.fq-list { display: flex; flex-direction: column; gap: 10px; }
.fq-q { scroll-margin-top: 100px; border-radius: 18px; background: var(--white); border: 1px solid transparent; box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: border-color .25s ease, box-shadow .25s ease; }
.fq-q:hover { border-color: var(--g300); }
.fq-q[open]:not(.closing) { border-color: rgba(223,169,31,.55); box-shadow: 0 24px 50px -30px rgba(139,99,0,.35); }
.fq-q.hit { animation: fqHit 2.2s ease; }
@keyframes fqHit { 0%, 40% { box-shadow: 0 0 0 4px rgba(255,211,0,.55); } 100% { box-shadow: 0 0 0 0 rgba(255,211,0,0); } }
.fq-q summary { list-style: none; display: flex; align-items: center; gap: 20px; padding: 22px 24px 22px 28px; cursor: pointer; }
.fq-q summary::-webkit-details-marker { display: none; }
.fq-q summary:focus-visible { outline: 2px solid var(--gold-2); outline-offset: 2px; border-radius: 18px; }
.fq-q h3 { flex: 1; font-size: 18px; line-height: 1.4; font-weight: 700; color: #000; }
.fq-pm { position: relative; width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; background: var(--g100); transition: background .25s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
.fq-pm::before, .fq-pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px; background: #000; border-radius: 2px; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.fq-pm::after { transform: rotate(90deg); }
.fq-q:hover .fq-pm { background: var(--g300); }
.fq-q[open]:not(.closing) .fq-pm { background: var(--grad); transform: rotate(180deg); }
.fq-q[open]:not(.closing) .fq-pm::after { transform: rotate(0deg); }
.fq-a { overflow: hidden; transition: height .35s cubic-bezier(.2,.8,.2,1); }
.fq-a-in { padding: 0 84px 24px 28px; }
.fq-a p { font-size: 16px; line-height: 1.7; color: var(--g700); max-width: 720px; }
.fq-a-f { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 16px; }
.fq-go { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 16px; border-radius: 999px; background: #000; color: var(--white); font-size: 14px; font-weight: 700; transition: background .2s; }
.fq-go span { color: var(--gold); transition: transform .2s; }
.fq-go:hover span { transform: translateX(3px); }
.fq-copy { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; padding: 0; font: inherit; font-size: 13px; font-weight: 600; color: var(--g500); cursor: pointer; }
.fq-copy:hover, .fq-copy.ok { color: #000; }
.fq-copy.ok svg { color: var(--gold-2); }
.fq mark { background: linear-gradient(180deg, transparent 55%, rgba(255,211,0,.55) 55%); color: inherit; padding: 0 1px; }
.fq-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 48px; border-radius: 24px; background: var(--white); border: 1px dashed var(--g400); }
.fq-empty-i { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 16px; background: var(--g100); color: var(--gold-dk); }
.fq-empty h2 { font-size: 34px; line-height: 1.05; }
.fq-empty p { font-size: 16px; line-height: 1.6; color: var(--g700); max-width: 520px; }
.fq-empty .btn { margin-top: 6px; }

.fq-ask { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.fq-ask-a { padding: 110px 72px 120px max(32px, calc((100vw - 1200px) / 2)); background: #000; color: var(--white); display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.fq-ask-a .fq-k { color: var(--gold); }
.fq-ask-a h2 { font-size: 64px; line-height: .98; letter-spacing: -1.5px; color: var(--white); }
.fq-ask-a > p { max-width: 460px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.fq-ask-l { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 15px; color: var(--g300); }
.fq-ask-l li { display: flex; align-items: center; gap: 12px; }
.fq-ask-l svg { color: var(--gold); }
.fq-ask-l a { font-weight: 700; color: var(--white); }
.fq-ask-b { padding: 110px max(32px, calc((100vw - 1200px) / 2)) 120px 72px; background: var(--white); display: flex; align-items: center; }
.fq-form, .fq-done { width: 100%; max-width: 520px; display: flex; flex-direction: column; gap: 18px; }
.fq-form textarea { height: auto; min-height: 132px; padding: 14px 16px; line-height: 1.5; resize: vertical; }
.fq-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fq-form .btn { align-self: flex-start; height: 58px; padding: 0 30px; }
.fq-done { align-items: flex-start; }
.fq-done h3 { font-size: 40px; }
.fq-done p { font-size: 17px; color: var(--g700); }

@media (max-width: 1180px) and (min-width: 900px) {
	.fq-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.fq-hero { padding: 128px var(--side) 40px; }
	.fq-hero h1 { margin-top: 18px; font-size: 46px; letter-spacing: -1px; }
	.fq-lead { font-size: 16px; }
	.fq-search { margin-top: 26px; }
	.fq-box { height: 60px; padding: 0 8px 0 18px; gap: 10px; }
	.fq-box input { font-size: 16px; }
	.fq-hints { padding-left: 0; font-size: 13px; flex-wrap: nowrap; overflow-x: auto; margin: 14px calc(-1 * var(--side)) 0; padding: 0 var(--side); scrollbar-width: none; }
	.fq-hints::-webkit-scrollbar { display: none; }
	.fq-hints span { flex-shrink: 0; }
	.fq-hints button { flex-shrink: 0; }
	.fq-tiles { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--side); margin: 32px calc(-1 * var(--side)) 0; padding: 0 var(--side); scrollbar-width: none; gap: 8px; }
	.fq-tiles::-webkit-scrollbar { display: none; }
	.fq-tile { flex: 0 0 138px; scroll-snap-align: start; padding: 14px; }
	.fq-tile-i { width: 34px; height: 34px; margin-bottom: 10px; border-radius: 10px; }
	.fq-body { grid-template-columns: minmax(0, 1fr); padding: 48px var(--side) 64px; gap: 0; }
	.fq-main { gap: 48px; }
	.fq-count { margin-bottom: -28px; }
	.fq-cat-h { gap: 14px; margin-bottom: 16px; }
	.fq-cat-i { width: 44px; height: 44px; border-radius: 13px; }
	.fq-cat-h h2 { font-size: 28px; }
	.fq-cat-h p { font-size: 14px; }
	.fq-list { gap: 8px; }
	.fq-q { border-radius: 16px; }
	.fq-q summary { padding: 18px 16px 18px 18px; gap: 14px; }
	.fq-q h3 { font-size: 16px; }
	.fq-pm { width: 32px; height: 32px; }
	.fq-a-in { padding: 0 18px 20px; }
	.fq-a p { font-size: 15px; }
	.fq-empty { padding: 28px 22px; }
	.fq-empty h2 { font-size: 26px; }
	.fq-ask { grid-template-columns: minmax(0, 1fr); }
	.fq-ask-a { padding: 56px var(--side) 48px; }
	.fq-ask-a h2 { font-size: 42px; }
	.fq-ask-b { padding: 40px var(--side) 64px; }
	.fq-row { grid-template-columns: 1fr; }
	.fq-form .btn { width: 100%; justify-content: center; }
	body:has(.fq-ask) .ft-beam { display: none; }
}

/* =========================================================================
   Dla deweloperów (4 strony, wspólny układ) – .dv-*
   ========================================================================= */
.dv-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.dv-sh { display: flex; flex-direction: column; gap: 12px; margin-bottom: 40px; }
.dv-sh h2 { font-size: 48px; line-height: 1; letter-spacing: -1px; max-width: 760px; }
.dv-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 96px; background: #000; color: var(--white); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 72px; align-items: center; overflow: hidden; }
.dv-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 100% 72px, linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 72px 100%; -webkit-mask-image: radial-gradient(ellipse at 70% 40%, #000 0%, transparent 70%); mask-image: radial-gradient(ellipse at 70% 40%, #000 0%, transparent 70%); pointer-events: none; }
.dv-hero::after { content: ""; position: absolute; right: -200px; top: -160px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.12), rgba(255,211,0,0)); pointer-events: none; }
.dv-hero > * { position: relative; z-index: 1; }
.dv-hero-l { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.dv-hero .dv-k { color: var(--gold); margin-top: 8px; }
.dv-hero h1 { font-size: 76px; line-height: .96; letter-spacing: -2px; color: var(--white); }
.dv-lead { max-width: 600px; font-size: 19px; line-height: 1.6; color: var(--g400); }
.dv-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 8px; }
.dv-btns .btn { height: 60px; padding: 0 30px; }
.dv-tel { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; color: var(--white); }
.dv-tel svg { color: var(--gold); }
.dv-data { padding: 30px; border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 40px 80px -40px rgba(0,0,0,.9); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); display: flex; flex-direction: column; gap: 20px; }
.dv-data-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.dv-data-h span { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.dv-data-h small { font-size: 13px; color: var(--g500); }
.dv-data-big { display: flex; align-items: flex-end; gap: 14px; }
.dv-data-big strong { font-size: 84px; line-height: .85; letter-spacing: -2px; }
.dv-data-big span { font-size: 18px; font-weight: 700; line-height: 1.15; color: var(--white); padding-bottom: 4px; }
.dv-data-big small { font-size: 13px; font-weight: 500; color: var(--g500); }
.dv-data-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.1); border-radius: 14px; overflow: hidden; }
.dv-data-row > div { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: #0d0d0d; }
.dv-data-row b { font-size: 26px; font-weight: 800; color: var(--white); letter-spacing: -.5px; }
.dv-data-row span { font-size: 13px; line-height: 1.35; color: var(--g400); }
.dv-spark { display: block; width: 100%; height: 74px; }
.dv-spark-l { margin-top: -12px; font-size: 12px; color: var(--g500); }
.dv-src { font-size: 12px; line-height: 1.5; color: var(--g600); border-top: 1px solid rgba(255,255,255,.08); padding-top: 14px; }

.dv-path { padding: 0 var(--side); background: #000; color: var(--white); padding-bottom: 56px; }
.dv-path-t { display: block; margin-bottom: 18px; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--g500); }
.dv-path ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; counter-reset: dv; }
.dv-path li { position: relative; }
.dv-path li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -10px; width: 10px; height: 2px; background: rgba(255,211,0,.4); }
.dv-path a { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; height: 100%; padding: 18px 20px; border-radius: 16px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); color: var(--white); transition: border-color .25s, background .25s, transform .25s; }
.dv-path a:hover { border-color: rgba(255,211,0,.5); transform: translateY(-2px); }
.dv-path-n { grid-row: 1 / 3; font-size: 15px; font-weight: 800; color: var(--g500); width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); display: inline-flex; align-items: center; justify-content: center; }
.dv-path-s { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--g500); }
.dv-path b { font-size: 16px; line-height: 1.25; }
.dv-path li.on a { background: var(--grad); border-color: transparent; color: #000; box-shadow: 0 20px 40px -20px rgba(255,211,0,.55); }
.dv-path li.on .dv-path-n { background: #000; color: var(--gold); border-color: #000; }
.dv-path li.on .dv-path-s { color: rgba(0,0,0,.6); }

.dv-what { padding: 110px var(--side) 100px; background: var(--white); }
.dv-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dv-card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 30px 28px 32px; border-radius: 22px; background: var(--g100); border: 1px solid transparent; transition: border-color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease; overflow: hidden; }
.dv-card:hover { background: var(--white); border-color: var(--g300); transform: translateY(-3px); box-shadow: 0 30px 60px -36px rgba(0,0,0,.35); }
.dv-card-i { display: inline-flex; width: 50px; height: 50px; align-items: center; justify-content: center; border-radius: 15px; background: #000; color: var(--gold); margin-bottom: 10px; }
.dv-card h3 { font-size: 20px; line-height: 1.25; font-weight: 800; color: #000; }
.dv-card p { font-size: 15px; line-height: 1.6; color: var(--g700); }
.dv-more { margin-top: 32px; }
.dv .rv { opacity: 0; transform: translateY(18px); }
.dv .rv.in { opacity: 1; transform: none; transition: opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1); }

.dv-how { padding: 100px var(--side); background: var(--g100); }
.dv-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 0; position: relative; }
.dv-steps::before { content: ""; position: absolute; left: 32px; right: 32px; top: 32px; height: 2px; background: linear-gradient(90deg, var(--gold-2), rgba(223,169,31,.15)); }
.dv-steps li { position: relative; display: flex; flex-direction: column; gap: 10px; padding-right: 32px; }
.dv-step-n { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; border-radius: 50%; background: #000; color: var(--gold); font-size: 26px; margin-bottom: 18px; box-shadow: 0 0 0 8px var(--g100); }
.dv-steps b { font-size: 20px; font-weight: 800; color: #000; }
.dv-steps p { font-size: 15px; line-height: 1.6; color: var(--g700); max-width: 300px; }

.dv-mkt { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 80px; align-items: center; padding: 110px var(--side); background: #000; color: var(--white); }
.dv-mkt-l { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.dv-mkt-l .dv-k { color: var(--gold); }
.dv-mkt-l h2 { font-size: 48px; line-height: 1; letter-spacing: -1px; color: var(--white); }
.dv-mkt-l p { font-size: 17px; line-height: 1.6; color: var(--g400); }
.dv-mkt .ab-link { color: var(--white); }
.dv-tbl { display: flex; flex-direction: column; border-radius: 22px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); padding: 10px 26px 20px; }
.dv-tr { display: grid; grid-template-columns: 1.1fr 1fr 1.2fr; gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 16px; color: var(--g300); }
.dv-tr b { font-size: 18px; color: var(--white); }
.dv-tr > span:last-child { display: flex; flex-direction: column; gap: 8px; }
.dv-tr i { display: block; height: 4px; width: var(--w, 0); border-radius: 4px; background: var(--grad); }
.dv-th { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--g500); padding: 12px 0; }
.dv-tf { border-bottom: 0; }
.dv-tf > span:first-child { color: var(--gold); font-weight: 700; }
.dv-tf b { font-size: 22px; background: linear-gradient(180deg, #FFD300 0%, #DFA91F 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dv-tbl-s { margin-top: 8px; font-size: 12px; color: var(--g600); }

.dv-faq { padding: 100px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 72px; align-items: start; }
.dv-faq .dv-sh { margin: 0; }

.dv-talk { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.dv-talk-a { padding: 110px 72px 120px max(32px, calc((100vw - 1200px) / 2)); background: #000; color: var(--white); display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.dv-talk-a .dv-k { color: var(--gold); }
.dv-talk-a h2 { font-size: 52px; line-height: 1; letter-spacing: -1px; color: var(--white); }
.dv-talk-a > p { font-size: 16px; line-height: 1.6; color: var(--g400); max-width: 440px; }
.dv-person { display: flex; align-items: center; gap: 18px; padding: 16px 22px 16px 16px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.dv-person img { width: 88px; height: 88px; border-radius: 16px; object-fit: cover; object-position: top; background: #222; }
.dv-person div { display: flex; flex-direction: column; gap: 3px; }
.dv-person b { font-size: 18px; }
.dv-person span { font-size: 14px; color: var(--g400); }
.dv-person a { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-size: 17px; font-weight: 800; color: var(--white); }
.dv-person a svg { color: var(--gold); }
.dv-talk-b { padding: 100px max(32px, calc((100vw - 1200px) / 2)) 110px 72px; background: var(--white); display: flex; align-items: center; }
.dv-form, .dv-done { width: 100%; max-width: 540px; display: flex; flex-direction: column; gap: 18px; }
.dv-form fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dv-form legend { font-size: 13px; font-weight: 700; color: #000; margin-bottom: 10px; }
.dv-form .w-opt { height: 42px; font-size: 14px; border-radius: 999px; padding: 0 16px; }
.dv-form textarea { height: auto; min-height: 120px; padding: 14px 16px; line-height: 1.5; resize: vertical; }
.dv-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dv-form .btn { align-self: flex-start; height: 58px; padding: 0 30px; }
.dv-done { align-items: flex-start; }
.dv-done h3 { font-size: 40px; }
.dv-done p { font-size: 17px; color: var(--g700); }

@media (max-width: 1180px) and (min-width: 900px) {
	.dv-hero { grid-template-columns: minmax(0, 1fr); }
	.dv-data { max-width: 560px; }
	.dv-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.dv-sh { margin-bottom: 26px; }
	.dv-sh h2 { font-size: 32px; }
	.dv-hero { grid-template-columns: minmax(0, 1fr); gap: 36px; padding: 128px var(--side) 40px; }
	.dv-hero h1 { font-size: 44px; letter-spacing: -1px; }
	.dv-lead { font-size: 16px; }
	.dv-btns { width: 100%; }
	.dv-btns .btn { width: 100%; justify-content: center; }
	.dv-data { padding: 22px; border-radius: 20px; }
	.dv-data-big strong { font-size: 64px; }
	.dv-data-row b { font-size: 22px; }
	.dv-path { padding-bottom: 40px; }
	.dv-path ol { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--side); margin: 0 calc(-1 * var(--side)); padding: 0 var(--side); scrollbar-width: none; gap: 8px; }
	.dv-path ol::-webkit-scrollbar { display: none; }
	.dv-path li { flex: 0 0 74%; scroll-snap-align: start; }
	.dv-path li:not(:last-child)::after { display: none; }
	.dv-what, .dv-how, .dv-faq { padding: 56px var(--side); }
	.dv-cards { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.dv-card { padding: 22px 20px 24px; border-radius: 18px; }
	.dv-card-i { width: 44px; height: 44px; margin-bottom: 4px; }
	.dv-card h3 { font-size: 18px; }
	.dv-steps { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.dv-steps::before { left: 27px; right: auto; top: 28px; bottom: 28px; width: 2px; height: auto; background: linear-gradient(180deg, var(--gold-2), rgba(223,169,31,.15)); }
	.dv-steps li { display: grid; grid-template-columns: 56px 1fr; column-gap: 16px; padding: 0; }
	.dv-step-n { grid-row: 1 / 3; width: 56px; height: 56px; font-size: 22px; margin: 0; }
	.dv-steps b { font-size: 18px; align-self: end; }
	.dv-mkt { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 56px var(--side); }
	.dv-mkt-l h2 { font-size: 32px; }
	.dv-tbl { padding: 6px 16px 16px; border-radius: 18px; }
	.dv-tr { font-size: 14px; gap: 8px; }
	.dv-tr b { font-size: 16px; }
	.dv-faq { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.dv-talk { grid-template-columns: minmax(0, 1fr); }
	.dv-talk-a { padding: 56px var(--side) 44px; }
	.dv-talk-a h2 { font-size: 34px; }
	.dv-talk-b { padding: 40px var(--side) 64px; }
	.dv-row { grid-template-columns: 1fr; }
	.dv-form .btn { width: 100%; justify-content: center; }
	body:has(.dv-talk) .ft-beam { display: none; }
}
@media (max-width: 899px) {
	.dv-card { display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; row-gap: 6px; align-items: start; }
	.dv-card-i { grid-row: 1 / 3; margin: 0; }
	.dv-card h3 { align-self: center; }
	.dv-card:hover { transform: none; }
}

/* =========================================================================
   Blog – lista (.bl), artykuł (.bl-art) i treści z autobloga (.hl-*)
   ========================================================================= */
.bl-k { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.bl-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 64px; background: #000; color: var(--white); overflow: hidden; }
.bl-hero::after { content: ""; position: absolute; right: -240px; top: -220px; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.12), rgba(255,211,0,0)); pointer-events: none; }
.bl-hero > * { position: relative; z-index: 1; }
.bl-hero-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-top: 26px; }
.bl-hero .bl-k { color: var(--gold); }
.bl-hero h1 { margin-top: 14px; font-size: 80px; line-height: .95; letter-spacing: -2px; color: var(--white); max-width: 760px; }
.bl-lead { margin-top: 18px; max-width: 560px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.bl-search { flex: 0 0 380px; }
.bl-box { display: flex; align-items: center; gap: 12px; height: 60px; padding: 0 22px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); transition: border-color .2s, box-shadow .2s; cursor: text; }
.bl-box:focus-within { border-color: rgba(255,211,0,.7); box-shadow: 0 0 0 5px rgba(255,211,0,.12); }
.bl-box svg { color: var(--gold); flex-shrink: 0; }
.bl-box input[type="search"] { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--white); font: inherit; font-size: 16px; }
.bl-box input::placeholder { color: var(--g500); }
.bl-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 36px; }
.bl-cats a { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); color: var(--g300); font-size: 14px; font-weight: 700; transition: border-color .2s, color .2s; }
.bl-cats a i { font-style: normal; font-size: 12px; color: var(--g500); }
.bl-cats a:hover { border-color: var(--gold); color: var(--gold); }
.bl-cats a[aria-current] { background: var(--grad); color: #000; border-color: transparent; }
.bl-cats a[aria-current] i { color: rgba(0,0,0,.6); }

.bl-body { padding: 72px var(--side) 110px; background: var(--g100); }
.bl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.bl-card { display: flex; flex-direction: column; border-radius: 22px; background: var(--white); overflow: hidden; border: 1px solid transparent; transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s; }
.bl-card:hover { transform: translateY(-4px); box-shadow: 0 34px 60px -36px rgba(0,0,0,.4); border-color: var(--g300); }
.bl-card-img { display: block; aspect-ratio: 1200 / 630; overflow: hidden; background: #000; }
.bl-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.bl-card:hover .bl-card-img img { transform: scale(1.04); }
.bl-card-img.none { display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 80% 20%, rgba(255,211,0,.25), transparent 60%), #000; }
.bl-card-img.none span { font-size: 96px; color: var(--gold); opacity: .9; }
.bl-card-b { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 26px; }
.bl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 13px; color: var(--g500); }
.bl-cat { font-weight: 800; color: var(--gold-dk); text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
.bl-card h3 { font-size: 20px; line-height: 1.3; font-weight: 800; letter-spacing: -.2px; }
.bl-card h3 a { color: #000; background: linear-gradient(var(--gold), var(--gold)) 0 100% / 0 2px no-repeat; transition: background-size .35s ease; }
.bl-card:hover h3 a { background-size: 100% 2px; }
.bl-card h3 a::after { content: ""; position: absolute; inset: 0; }
.bl-card { position: relative; }
.bl-card p { font-size: 15px; line-height: 1.6; color: var(--g700); }
.bl-feat { flex-direction: row; margin-bottom: 22px; }
.bl-feat .bl-card-img { flex: 0 0 58%; aspect-ratio: auto; min-height: 380px; }
.bl-feat .bl-card-b { justify-content: center; padding: 48px; gap: 16px; }
.bl-feat h3 { font-size: 36px; line-height: 1.1; letter-spacing: -.8px; }
.bl-feat p { font-size: 17px; }
.bl-promo { display: flex; flex-direction: column; justify-content: flex-end; gap: 12px; padding: 32px 28px; border-radius: 22px; background: radial-gradient(circle at 100% 0%, rgba(255,211,0,.35), transparent 55%), #000; color: var(--white); min-height: 300px; transition: transform .3s; }
.bl-promo:hover { transform: translateY(-4px); }
.bl-promo .bl-k { color: var(--gold); }
.bl-promo b { font-size: 30px; line-height: 1.05; }
.bl-promo span:not(.bl-k) { font-size: 15px; line-height: 1.55; color: var(--g400); }
.bl-promo em { font-style: normal; font-weight: 800; color: var(--gold); }
.bl-empty { padding: 56px; border-radius: 24px; background: var(--white); text-align: center; }
.bl-empty h2 { font-size: 34px; }
.bl-empty p { margin-top: 10px; color: var(--g700); }
.bl-empty a { text-decoration: underline; text-decoration-color: var(--gold-2); }
.bl-pag { display: flex; justify-content: center; gap: 8px; margin-top: 56px; }
.bl-pag .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 14px; border-radius: 999px; background: var(--white); font-weight: 800; color: #000; transition: background .2s; }
.bl-pag .page-numbers:hover { background: var(--g300); }
.bl-pag .current { background: #000; color: var(--gold); }
.bl-pag .dots { background: transparent; }

/* Artykuł */
.bl-prog { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; pointer-events: none; }
.bl-prog i { display: block; height: 100%; background: var(--grad); transform-origin: 0 50%; transform: scaleX(0); }
.admin-bar .bl-prog { top: 32px; }
.bl-ahero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 150px; background: #000; color: var(--white); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; overflow: hidden; }
.bl-ahero::after { content: ""; position: absolute; left: 50%; top: -360px; width: 900px; height: 900px; margin-left: -450px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.1), rgba(255,211,0,0)); pointer-events: none; }
.bl-ahero > * { position: relative; z-index: 1; }
.bl-chip { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255,211,0,.5); color: var(--gold); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin-top: 18px; }
.bl-ahero h1 { max-width: 980px; font-size: 64px; line-height: 1.02; letter-spacing: -1.6px; color: var(--white); text-transform: none; }
.bl-alead { max-width: 720px; font-size: 19px; line-height: 1.6; color: var(--g400); }
.bl-ameta { display: inline-flex; align-items: center; gap: 12px; margin-top: 6px; text-align: left; }
.bl-ameta img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: top; background: #222; }
.bl-ameta b { display: block; font-size: 15px; }
.bl-ameta small { font-size: 13px; color: var(--g500); }
.bl-cover { position: relative; z-index: 2; max-width: 1040px; margin: -110px auto 0; padding: 0 var(--gut); }
.bl-cover img { width: 100%; border-radius: 26px; box-shadow: 0 50px 90px -40px rgba(0,0,0,.6); aspect-ratio: 1200 / 630; object-fit: cover; }
.bl-layout { display: grid; grid-template-columns: 240px minmax(0, 720px); justify-content: center; gap: 72px; padding: 64px var(--side) 96px; }
.bl-layout.noimg { padding-top: 72px; }
.bl-side { position: sticky; top: 100px; align-self: start; display: flex; flex-direction: column; gap: 28px; }
.bl-toc summary { list-style: none; cursor: pointer; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); margin-bottom: 12px; }
.bl-toc summary::-webkit-details-marker { display: none; }
.bl-toc ol { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--g200); }
.bl-toc a { display: block; padding: 8px 0 8px 16px; margin-left: -2px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.4; color: var(--g600); transition: color .2s, border-color .2s; }
.bl-toc a:hover { color: #000; }
.bl-toc a.on { color: #000; font-weight: 700; border-left-color: var(--gold-2); }
.bl-share { display: flex; align-items: center; gap: 8px; }
.bl-share span { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--g500); margin-right: 4px; }
.bl-share a, .bl-share button { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--g300); background: var(--white); color: #000; cursor: pointer; transition: border-color .2s, background .2s; }
.bl-share a:hover, .bl-share button:hover { border-color: var(--gold-2); }
.bl-share button.ok { background: var(--grad); border-color: transparent; }

.bl-body-a { font-size: 18px; line-height: 1.75; color: var(--g900); }
.bl-body-a > * + * { margin-top: 1.1em; }
.bl-body-a h2 { font-size: 32px; line-height: 1.15; letter-spacing: -.6px; margin-top: 1.9em; scroll-margin-top: 96px; color: #000; }
.bl-body-a h3 { font-size: 22px; line-height: 1.3; margin-top: 1.6em; color: #000; }
.bl-body-a p, .bl-body-a li { color: #333; }
.bl-body-a strong, .bl-body-a b { color: #000; }
.bl-body-a a { color: #000; text-decoration: underline; text-decoration-color: var(--gold-2); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.bl-body-a ul, .bl-body-a ol { padding-left: 1.3em; }
.bl-body-a ul li::marker { color: var(--gold-2); }
.bl-body-a ol li::marker { color: var(--gold-dk); font-weight: 800; }
.bl-body-a li + li { margin-top: .4em; }
.bl-body-a blockquote { margin: 1.6em 0; padding: 4px 0 4px 26px; border-left: 4px solid var(--gold); font-size: 22px; line-height: 1.5; font-weight: 600; color: #000; }
.bl-body-a img { border-radius: 18px; }
.bl-body-a figure figcaption, .bl-body-a .wp-element-caption { margin-top: 10px; font-size: 13px; color: var(--g500); }
.bl-body-a table { width: 100%; border-collapse: collapse; font-size: 15px; }
.bl-body-a th { text-align: left; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--g500); padding: 10px 12px; border-bottom: 2px solid #000; }
.bl-body-a td { padding: 12px; border-bottom: 1px solid var(--g200); }
.bl-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 2em 0; padding: 26px 28px; border-radius: 22px; background: radial-gradient(circle at 100% 0%, rgba(255,211,0,.28), transparent 55%), #000; color: var(--white); }
.bl-cta .bl-k { color: var(--gold); font-size: 13px; letter-spacing: .04em; text-transform: none; font-size: 20px; }
.bl-cta p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: var(--g400) !important; }
.bl-cta .btn { flex-shrink: 0; text-decoration: none !important; color: #000 !important; }
.bl-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2.2em !important; }
.bl-tags a { display: inline-flex; height: 32px; align-items: center; padding: 0 12px; border-radius: 999px; background: var(--g100); font-size: 13px; font-weight: 700; color: var(--g700) !important; text-decoration: none !important; }
.bl-end { margin-top: 2.4em !important; padding-top: 28px; border-top: 1px solid var(--g200); display: flex; flex-direction: column; gap: 18px; }
.bl-author { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.bl-author img { width: 72px; height: 72px; border-radius: 18px; object-fit: cover; object-position: top; }
.bl-author > div { flex: 1; display: flex; flex-direction: column; line-height: 1.35; }
.bl-author b { font-size: 18px; }
.bl-author small { font-size: 14px; color: var(--g600); }
.bl-author-tel { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 999px; background: #000; color: var(--white) !important; text-decoration: none !important; font-size: 14px; font-weight: 700; }
.bl-author-tel svg { color: var(--gold); }
.bl-share-m { display: none; }
.bl-rel { padding: 88px var(--side) 110px; background: var(--g100); }
.bl-rel-h { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 32px; }
.bl-rel-h h2 { font-size: 44px; letter-spacing: -1px; }

/* Treści autobloga */
.hl-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 1.6em 0 !important; border-radius: 20px; overflow: hidden; background: var(--g200); border: 1px solid var(--g200); }
.hl-kpis > div { display: flex; flex-direction: column; gap: 4px; padding: 20px 22px; background: var(--white); }
.hl-kpis b { font-size: 30px; line-height: 1.05; font-weight: 800; letter-spacing: -.6px; color: #000; }
.hl-kpis b small { font-size: 15px; font-weight: 700; color: var(--g600); letter-spacing: 0; }
.hl-kpis span { font-size: 13px; line-height: 1.4; color: var(--g600); }
.hl-kpis > div:first-child { background: #000; }
.hl-kpis > div:first-child b { background: linear-gradient(180deg, #FFD300, #DFA91F); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hl-kpis > div:first-child b small { color: var(--white); -webkit-text-fill-color: var(--white); }
.hl-kpis > div:first-child span { color: var(--g400); }
.hl-tbl { margin: 1.4em 0 !important; overflow-x: auto; border-radius: 18px; border: 1px solid var(--g200); }
.hl-tbl table { min-width: 480px; }
.hl-tbl th { border-bottom: 1px solid var(--g200) !important; background: var(--g100); }
.hl-tbl tr:last-child td { border-bottom: 0; }
.hl-tbl td em { font-style: normal; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--gold-dk); background: #FFF6CC; padding: 2px 6px; border-radius: 6px; }
.hl-tbl figcaption, .hl-chart figcaption { padding: 10px 14px; font-size: 13px; color: var(--g500); }
.hl-chart { margin: 1.4em 0 !important; padding: 22px 18px 8px; border-radius: 18px; background: var(--g100); }
.hl-chart svg { display: block; width: 100%; height: auto; font-family: inherit; }
.hl-offs { display: grid; gap: 12px; }
.hl-off { display: grid !important; grid-template-columns: 200px 1fr; gap: 18px; padding: 12px; border-radius: 18px; border: 1px solid var(--g200); text-decoration: none !important; transition: border-color .2s, box-shadow .2s; }
.hl-off:hover { border-color: var(--gold-2); box-shadow: 0 20px 40px -28px rgba(0,0,0,.35); }
.hl-off img { width: 100%; height: 140px; object-fit: cover; border-radius: 12px !important; }
.hl-off-b { display: flex; flex-direction: column; gap: 4px; justify-content: center; line-height: 1.4; }
.hl-off-b b { font-size: 18px; color: #000; }
.hl-off-b > span { font-size: 14px; color: var(--g600); }
.hl-off-b strong { font-size: 20px; background: linear-gradient(180deg, #DFA91F, #8B6300); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.hl-off-od { display: inline-flex; width: fit-content; margin-top: 4px; padding: 3px 10px; border-radius: 999px; background: #000; color: var(--gold) !important; font-size: 12px; font-weight: 700; }
.hl-ods { list-style: none; padding: 0 !important; }
.hl-ods li { padding: 12px 0; border-bottom: 1px solid var(--g200); }
.hl-ods li::marker { content: none; }
.hl-cta { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 2em 0 !important; padding: 24px 26px; border-radius: 22px; background: radial-gradient(circle at 100% 0%, rgba(255,211,0,.28), transparent 55%), #000; }
.hl-cta b { font-size: 20px; color: var(--white) !important; }
.hl-cta p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: var(--g400) !important; }
.hl-cta a { flex-shrink: 0; display: inline-flex; align-items: center; height: 48px; padding: 0 20px; border-radius: 999px; background: var(--grad); color: #000 !important; font-size: 15px; font-weight: 800; text-decoration: none !important; }
.hl-src { font-size: 13px !important; line-height: 1.6; color: var(--g500) !important; padding-top: 16px; border-top: 1px solid var(--g200); }

@media (max-width: 1100px) and (min-width: 900px) {
	.bl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bl-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 48px; }
}
@media (max-width: 899px) {
	.bl-hero { padding: 128px var(--side) 40px; }
	.bl-hero-row { flex-direction: column; align-items: stretch; gap: 24px; margin-top: 18px; }
	.bl-hero h1 { font-size: 46px; letter-spacing: -1px; }
	.bl-lead { font-size: 16px; }
	.bl-search { flex: none; }
	.bl-cats { flex-wrap: nowrap; overflow-x: auto; margin: 24px calc(-1 * var(--side)) 0; padding: 0 var(--side); scrollbar-width: none; }
	.bl-cats::-webkit-scrollbar { display: none; }
	.bl-cats a { flex-shrink: 0; }
	.bl-body { padding: 32px var(--side) 64px; }
	.bl-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.bl-feat { flex-direction: column; margin-bottom: 14px; }
	.bl-feat .bl-card-img { flex: none; min-height: 0; aspect-ratio: 1200 / 630; }
	.bl-feat .bl-card-b { padding: 22px 22px 26px; }
	.bl-feat h3 { font-size: 26px; }
	.bl-feat p { font-size: 15px; }
	.bl-card-b { padding: 18px 20px 22px; }
	.bl-card h3 { font-size: 19px; }
	.bl-promo { min-height: 0; }
	.bl-ahero { padding: 120px var(--side) 92px; gap: 16px; }
	.bl-ahero h1 { font-size: 34px; letter-spacing: -.6px; }
	.bl-alead { font-size: 16px; }
	.bl-cover { margin-top: -64px; padding: 0 var(--side); }
	.bl-cover img { border-radius: 18px; }
	.bl-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 28px var(--side) 56px; }
	.bl-side { position: static; }
	.bl-toc { border: 1px solid var(--g200); border-radius: 16px; padding: 14px 16px; }
	.bl-toc summary { margin: 0; display: flex; justify-content: space-between; }
	.bl-toc summary::after { content: "+"; font-size: 18px; color: #000; letter-spacing: 0; }
	.bl-toc[open] summary::after { content: "–"; }
	.bl-toc[open] summary { margin-bottom: 10px; }
	.bl-body-a { font-size: 17px; }
	.bl-body-a h2 { font-size: 26px; }
	.bl-body-a h3 { font-size: 20px; }
	.bl-cta, .hl-cta { flex-direction: column; align-items: flex-start; }
	.bl-cta .btn, .hl-cta a { width: 100%; justify-content: center; }
	.bl-share-m { display: block; }
	.bl-share-m .ab-ghost { width: 100%; justify-content: center; gap: 8px; }
	.bl-rel { padding: 56px var(--side) 64px; }
	.bl-rel-h h2 { font-size: 30px; }
	.hl-kpis b { font-size: 24px; }
	.hl-off { grid-template-columns: 110px 1fr; gap: 12px; padding: 10px; }
	.hl-off img { height: 96px; }
	.hl-off-b b { font-size: 16px; }
	.hl-off-b strong { font-size: 17px; }
}
.bl-art { background: var(--white); }
.bl-ahero.noimg { padding-bottom: 72px; }
.bl-av { flex-shrink: 0; border-radius: 50%; object-fit: cover; object-position: top; background: #222; }
.bl-author .bl-av { border-radius: 18px; }
.bl-av-i { display: inline-flex; align-items: center; justify-content: center; background: #000; color: var(--gold); font-weight: 800; border: 1px solid rgba(255,211,0,.45); }
.hl-cta a, .bl-cta .btn { white-space: nowrap; }
@media (max-width: 899px) { .bl-ahero.noimg { padding-bottom: 40px; } .bl-cta .bl-k { font-size: 18px; } }
@media (max-width: 899px) { .h-rev .h-rev-grid { margin-right: 0; padding-right: 16px; scroll-padding-inline: 16px; } }
@media (max-width: 899px) { .bl-hero h1 { font-size: 36px; letter-spacing: -.6px; overflow-wrap: anywhere; } }
.bl-body-a #ez-toc-container, .bl-body-a [class*="ez-toc-v"] { display: none !important; }

/* =========================================================================
   Trudne sprawy (.ts), Program poleceń (.rf), 404 (.e4)
   ========================================================================= */
.ts-k, .rf-k, .e4-k { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.ts-hero, .rf-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 72px; background: #000; color: var(--white); overflow: hidden; }
.ts-hero::after, .rf-hero::after { content: ""; position: absolute; right: -220px; top: -240px; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.12), rgba(255,211,0,0)); pointer-events: none; }
.ts-hero > *, .rf-hero > * { position: relative; z-index: 1; }
.ts-hero .ts-k, .rf-hero .rf-k { color: var(--gold); }
.ts-hero-row, .rf-hero-row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 72px; align-items: center; margin-top: 26px; }
.ts-hero h1, .rf-hero h1 { margin-top: 14px; font-size: 68px; line-height: .98; letter-spacing: -1.6px; color: var(--white); }
.ts-lead, .rf-lead { margin-top: 20px; max-width: 600px; font-size: 18px; line-height: 1.6; color: var(--g400); }
.ts-btns, .rf-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 30px; }
.ts-btns .btn, .rf-btns .btn { height: 60px; padding: 0 30px; }
.ts-tel { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; color: var(--white); }
.ts-tel svg { color: var(--gold); }
.ts-quote { position: relative; margin: 0; padding: 40px 36px; border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); border: 1px solid rgba(255,255,255,.1); }
.ts-quote > span { position: absolute; top: -6px; left: 26px; font-size: 120px; line-height: 1; }
.ts-quote blockquote { margin-top: 30px; font-size: 40px; line-height: 1.05; color: var(--white); }
.ts-quote figcaption { margin-top: 16px; font-size: 14px; color: var(--g500); }
.ts-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 52px; }
.ts-pick > span { margin-right: 6px; font-size: 14px; color: var(--g500); }
.ts-pick a { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 18px 0 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); color: var(--g300); font-size: 14px; font-weight: 700; transition: border-color .2s, color .2s, background .2s; }
.ts-pick a i { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,211,0,.14); color: var(--gold); font-style: normal; font-size: 12px; }
.ts-pick a:hover { border-color: var(--gold); color: var(--white); }
.ts-list { background: var(--g100); padding: 40px var(--side) 40px; display: flex; flex-direction: column; gap: 20px; }
.ts-sit { scroll-margin-top: 90px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; padding: 52px; border-radius: 28px; background: var(--white); }
.ts-sit.alt { background: #000; color: var(--white); }
.ts-sit-a { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.ts-n { position: absolute; right: 0; top: -14px; font-size: 96px; line-height: 1; color: var(--g100); }
.ts-sit.alt .ts-n { color: rgba(255,255,255,.06); }
.ts-sit-i { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 16px; background: #000; color: var(--gold); }
.ts-sit.alt .ts-sit-i { background: var(--grad); color: #000; }
.ts-sit.alt .ts-k { color: var(--gold); }
.ts-sit h2 { position: relative; font-size: 38px; line-height: 1.05; letter-spacing: -.8px; }
.ts-sit.alt h2 { color: var(--white); }
.ts-pain { font-size: 17px; line-height: 1.6; color: var(--g700); }
.ts-sit.alt .ts-pain { color: var(--g400); }
.ts-pain b { color: #000; }
.ts-sit.alt .ts-pain b { color: var(--white); }
.ts-rev { margin: 10px 0 0; padding: 18px 20px; border-left: 3px solid var(--gold); background: var(--g100); border-radius: 0 14px 14px 0; }
.ts-sit.alt .ts-rev { background: rgba(255,255,255,.05); }
.ts-rev blockquote { font-size: 15px; line-height: 1.55; font-weight: 600; color: #000; }
.ts-sit.alt .ts-rev blockquote { color: var(--white); }
.ts-rev figcaption { margin-top: 8px; font-size: 13px; color: var(--g500); }
.ts-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.ts-steps li { display: grid; grid-template-columns: 64px 1fr; gap: 16px; align-items: start; padding: 20px 22px; border-radius: 18px; background: var(--g100); }
.ts-sit.alt .ts-steps li { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.ts-steps li > span { font-size: 34px; line-height: 1; }
.ts-steps b { display: block; font-size: 18px; color: #000; margin-bottom: 4px; }
.ts-sit.alt .ts-steps b { color: var(--white); }
.ts-steps p { font-size: 15px; line-height: 1.55; color: var(--g700); }
.ts-sit.alt .ts-steps p { color: var(--g400); }
.ts-steps li.ts-steps-cta { display: block; background: none !important; border: 0 !important; padding: 8px 0 0; }
.ts-sit.alt .ab-link { color: var(--white); }
.ts .rv { opacity: 0; transform: translateY(24px); }
.ts .rv.in { opacity: 1; transform: none; transition: opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.ts-revs { padding: 72px var(--side) 96px; background: var(--g100); }
.ts-revs-h { display: flex; flex-direction: column; gap: 10px; margin-bottom: 30px; }
.ts-revs-h h2 { font-size: 44px; letter-spacing: -1px; }
.ts-revs-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ts-revs-g figure { margin: 0; padding: 28px; border-radius: 22px; background: var(--white); display: flex; flex-direction: column; gap: 14px; }
.ts-stars { color: var(--gold-2); letter-spacing: 3px; }
.ts-revs-g blockquote { font-size: 16px; line-height: 1.6; color: #000; }
.ts-revs-g figcaption { font-size: 13px; color: var(--g600); }
.ts-talk { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.ts-talk-a { padding: 100px 64px 110px max(32px, calc((100vw - 1200px) / 2)); background: #000; color: var(--white); display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.ts-talk-a .ts-k { color: var(--gold); }
.ts-talk-a h2 { font-size: 52px; line-height: 1; letter-spacing: -1px; color: var(--white); }
.ts-talk-a p { max-width: 520px; font-size: 17px; line-height: 1.6; color: var(--g400); }
.ts-talk-a ul { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ts-talk-a li { display: flex; align-items: center; gap: 12px; }
.ts-talk-a li svg { color: var(--gold); }
.ts-talk-a li a { font-weight: 800; color: var(--white); }
.ts-talk-a li small { color: var(--g500); font-size: 13px; }
.ts-talk-b { padding: 100px max(32px, calc((100vw - 1200px) / 2)) 110px 64px; background: var(--grad); display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.ts-talk-b .btn.ts-big { align-self: flex-start; height: 64px; padding: 0 30px; background: #000; color: var(--white); }
.ts-talk-b p { max-width: 420px; font-size: 16px; line-height: 1.55; color: rgba(0,0,0,.75); font-weight: 600; }

.rf-share { display: inline-flex; align-items: center; gap: 10px; height: 60px; padding: 0 22px; border-radius: 0; border: 1px solid rgba(255,255,255,.25); background: transparent; color: var(--white); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; transition: border-color .2s; }
.rf-share:hover { border-color: var(--gold); }
.rf-share svg { color: var(--gold); }
.rf-duo { position: relative; display: flex; flex-direction: column; gap: 14px; }
.rf-card { padding: 28px 28px 30px; border-radius: 22px; display: flex; flex-direction: column; gap: 8px; }
.rf-you { background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.12); }
.rf-them { background: var(--grad); color: #000; box-shadow: 0 30px 60px -30px rgba(255,211,0,.5); }
.rf-tag { width: fit-content; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; background: rgba(255,211,0,.15); color: var(--gold); }
.rf-them .rf-tag { background: #000; color: var(--gold); }
.rf-card b { font-size: 30px; line-height: 1.05; }
.rf-you b { color: var(--white); }
.rf-card p { font-size: 15px; line-height: 1.55; color: var(--g400); }
.rf-them p { color: rgba(0,0,0,.72); font-weight: 600; }
.rf-plus { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; border-radius: 50%; background: #000; border: 1px solid rgba(255,211,0,.6); color: var(--gold); display: flex; align-items: center; justify-content: center; font-size: 26px; z-index: 2; }
.rf-sh { display: flex; flex-direction: column; gap: 12px; margin-bottom: 36px; }
.rf-sh h2 { font-size: 44px; line-height: 1.02; letter-spacing: -1px; max-width: 760px; }
.rf-how { padding: 100px var(--side); background: var(--white); }
.rf-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: x; }
.rf-steps li { position: relative; padding: 30px 28px 32px; border-radius: 22px; background: var(--g100); display: flex; flex-direction: column; gap: 10px; }
.rf-steps li > span { display: inline-flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 50%; background: #000; color: var(--gold); font-size: 24px; margin-bottom: 8px; }
.rf-steps b { font-size: 20px; color: #000; }
.rf-steps p { font-size: 15px; line-height: 1.6; color: var(--g700); }
.rf .rv { opacity: 0; transform: translateY(20px); }
.rf .rv.in { opacity: 1; transform: none; transition: opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.rf-form-s { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); scroll-margin-top: 70px; }
.rf-form-a { padding: 100px 64px 110px max(32px, calc((100vw - 1200px) / 2)); background: #000; color: var(--white); display: flex; flex-direction: column; gap: 16px; }
.rf-form-a .rf-k { color: var(--gold); }
.rf-form-a h2 { font-size: 52px; letter-spacing: -1px; color: var(--white); }
.rf-form-a p { font-size: 17px; color: var(--g400); }
.rf-ticks { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 15px; color: var(--g300); }
.rf-ticks li { display: flex; gap: 10px; align-items: center; }
.rf-ticks svg { color: var(--gold); flex-shrink: 0; }
.rf-form-b { padding: 90px max(32px, calc((100vw - 1200px) / 2)) 100px 64px; background: var(--g100); }
.rf-form, .rf-done { max-width: 620px; display: flex; flex-direction: column; gap: 18px; }
.rf-form fieldset { margin: 0; padding: 24px; border: 0; border-radius: 20px; background: var(--white); display: flex; flex-direction: column; gap: 14px; }
.rf-form legend { float: left; width: 100%; margin-bottom: 4px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-dk); }
.rf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rf-form .w-opt { height: 40px; border-radius: 999px; font-size: 14px; }
.rf-form .btn { align-self: flex-start; height: 58px; padding: 0 30px; }
.rf-done { align-items: flex-start; }
.rf-done h3 { font-size: 40px; }
.rf-done p { font-size: 17px; color: var(--g700); }
.rf-faq { padding: 100px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 72px; }
.rf-faq .rf-sh { margin: 0; }

.e4-hero { position: relative; z-index: 1; margin-top: -110px; padding: 190px var(--side) 120px; background: #000; color: var(--white); overflow: hidden; }
.e4-num { position: absolute; right: -40px; bottom: -80px; font-size: 460px; line-height: .8; letter-spacing: -20px; background: linear-gradient(180deg, rgba(255,211,0,.35), rgba(255,211,0,0) 80%); -webkit-background-clip: text; background-clip: text; color: transparent; pointer-events: none; user-select: none; }
.e4-in { position: relative; max-width: 680px; display: flex; flex-direction: column; gap: 18px; }
.e4-in .e4-k { color: var(--gold); }
.e4-in h1 { font-size: 72px; line-height: .98; letter-spacing: -1.6px; color: var(--white); }
.e4-in p { font-size: 18px; line-height: 1.6; color: var(--g400); }
.e4-search { display: flex; gap: 10px; margin-top: 10px; }
.e4-search label { flex: 1; display: flex; align-items: center; gap: 12px; height: 60px; padding: 0 20px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); }
.e4-search label:focus-within { border-color: rgba(255,211,0,.7); }
.e4-search svg { color: var(--gold); }
.e4-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--white); font: inherit; font-size: 16px; }
.e4-search .btn { height: 60px; border-radius: 999px; padding: 0 28px; }
.e4-doors { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 0 var(--side); margin-top: -48px; position: relative; z-index: 2; }
.e4-doors a { display: grid; grid-template-columns: 48px 1fr 20px; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 22px; border-radius: 20px; background: var(--white); box-shadow: 0 30px 60px -36px rgba(0,0,0,.45); border: 1px solid var(--g200); transition: transform .25s, border-color .25s; }
.e4-doors a:hover { transform: translateY(-3px); border-color: var(--gold-2); }
.e4-i { grid-row: 1 / 3; display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 14px; background: #000; color: var(--gold); }
.e4-doors b { font-size: 17px; color: #000; }
.e4-doors small { font-size: 13px; color: var(--g600); }
.e4-doors em { grid-row: 1 / 3; grid-column: 3; font-style: normal; font-weight: 800; color: var(--gold-dk); }
.e4-new { padding: 80px var(--side) 100px; }
.e4-new-h { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 28px; }
.e4-new-h h2 { font-size: 40px; letter-spacing: -1px; }

@media (max-width: 1100px) and (min-width: 900px) {
	.ts-hero-row, .rf-hero-row { grid-template-columns: minmax(0, 1fr); }
	.e4-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.ts-hero, .rf-hero { padding: 128px var(--side) 44px; }
	.ts-hero-row, .rf-hero-row { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 18px; }
	.ts-hero h1, .rf-hero h1 { font-size: 40px; letter-spacing: -.8px; }
	.ts-lead, .rf-lead { font-size: 16px; }
	.ts-btns .btn, .rf-btns .btn, .rf-share { width: 100%; justify-content: center; }
	.ts-quote { padding: 28px 22px; }
	.ts-quote blockquote { font-size: 28px; margin-top: 20px; }
	.ts-quote > span { font-size: 80px; }
	.ts-pick { flex-wrap: nowrap; overflow-x: auto; margin: 32px calc(-1 * var(--side)) 0; padding: 0 var(--side); scrollbar-width: none; }
	.ts-pick::-webkit-scrollbar { display: none; }
	.ts-pick > span { display: none; }
	.ts-pick a { flex-shrink: 0; }
	.ts-list { padding: 16px var(--side); gap: 12px; }
	.ts-sit { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 20px; border-radius: 22px; }
	.ts-n { font-size: 64px; top: -6px; }
	.ts-sit h2 { font-size: 28px; }
	.ts-steps li { grid-template-columns: 44px 1fr; padding: 16px; gap: 12px; }
	.ts-steps li > span { font-size: 26px; }
	.ts-revs { padding: 48px var(--side) 56px; }
	.ts-revs-h h2 { font-size: 30px; }
	.ts-revs-g { grid-template-columns: minmax(0, 1fr); }
	.ts-talk, .rf-form-s, .rf-faq { grid-template-columns: minmax(0, 1fr); }
	.ts-talk-a, .rf-form-a { padding: 56px var(--side) 44px; }
	.ts-talk-a h2, .rf-form-a h2 { font-size: 34px; }
	.ts-talk-b { padding: 40px var(--side) 56px; }
	.ts-talk-b .btn.ts-big { width: 100%; justify-content: center; }
	.rf-card b { font-size: 24px; }
	.rf-plus { width: 40px; height: 40px; font-size: 22px; }
	.rf-sh h2 { font-size: 30px; }
	.rf-how, .rf-faq { padding: 56px var(--side); gap: 24px; }
	.rf-steps { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.rf-form-b { padding: 24px var(--side) 56px; }
	.rf-form fieldset { padding: 18px; }
	.rf-row { grid-template-columns: 1fr; }
	.rf-form .btn { width: 100%; justify-content: center; }
	.e4-hero { padding: 128px var(--side) 92px; }
	.e4-num { font-size: 220px; right: -20px; bottom: -30px; letter-spacing: -8px; }
	.e4-in h1 { font-size: 40px; }
	.e4-search { flex-direction: column; }
	.e4-search .btn { width: 100%; justify-content: center; }
	.e4-doors { grid-template-columns: minmax(0, 1fr); margin-top: -40px; gap: 8px; }
	.e4-doors a { padding: 16px; }
	.e4-new { padding: 48px var(--side) 64px; }
	.e4-new-h h2 { font-size: 28px; }
	body:has(.ts-talk) .ft-beam, body:has(.rf-faq) .ft-beam { display: none; }
}
.ts-quote > span { top: -30px; } .ts-quote blockquote { margin-top: 26px; } @media (max-width: 899px) { .ts-quote > span { top: -18px; } }

/* =========================================================================
   Kariera (/kariera/) – .kr-*
   ========================================================================= */
.kr-k { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-dk); }
.kr-sh { display: flex; flex-direction: column; gap: 12px; margin-bottom: 40px; }
.kr-sh h2 { font-size: 52px; line-height: 1; letter-spacing: -1.2px; max-width: 820px; }
.kr-hero { position: relative; z-index: 1; margin-top: -110px; padding: 170px var(--side) 0; background: #000; color: var(--white); overflow: hidden; }
.kr-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 600px at 85% 10%, rgba(255,211,0,.16), transparent 60%), radial-gradient(700px 500px at -10% 110%, rgba(255,211,0,.08), transparent 60%); pointer-events: none; }
.kr-hero > * { position: relative; z-index: 1; }
.kr-hero .kr-k { color: var(--gold); }
.kr-live { width: 9px; height: 9px; border-radius: 50%; background: #2BD46B; box-shadow: 0 0 0 0 rgba(43,212,107,.6); animation: fqPulse 2s infinite; }
.kr-hero-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 72px; align-items: end; margin-top: 26px; }
.kr-hero h1 { margin-top: 18px; font-size: 84px; line-height: .95; letter-spacing: -2.4px; color: var(--white); }
.kr-lead { margin-top: 24px; max-width: 620px; font-size: 19px; line-height: 1.6; color: var(--g400); }
.kr-btns { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin-top: 32px; }
.kr-btns .btn { height: 62px; padding: 0 32px; font-size: 15px; }
.kr-ghost { display: inline-flex; align-items: center; height: 62px; padding: 0 26px; border: 1px solid rgba(255,255,255,.25); color: var(--white); font-weight: 700; transition: border-color .2s; }
.kr-ghost:hover { border-color: var(--gold); }
.kr-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.kr-stat { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.kr-stat b { font-size: 44px; line-height: 1; color: var(--white); letter-spacing: -1px; }
.kr-stat span { font-size: 13px; line-height: 1.4; color: var(--g400); }
.kr-stat-a { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 18px; background: linear-gradient(135deg, rgba(255,211,0,.16), rgba(255,255,255,.03)); border-color: rgba(255,211,0,.3); }
.kr-stat-a b { font-size: 72px; }
.kr-stat-a span { color: var(--white); font-size: 15px; font-weight: 600; }
.kr-marq { margin: 64px calc(-1 * var(--side)) 0; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.08); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.kr-marq-t { display: flex; gap: 48px; width: max-content; animation: krMarq 60s linear infinite; }
.kr-marq-t span { white-space: nowrap; font-size: 15px; color: var(--g400); }
.kr-marq-t b { color: var(--gold); font-weight: 700; margin-left: 6px; }
.kr-marq:hover .kr-marq-t { animation-play-state: paused; }
@keyframes krMarq { to { transform: translateX(-50%); } }

.kr-paths { padding: 110px var(--side); background: var(--white); scroll-margin-top: 60px; }
.kr-tabs { position: relative; display: inline-flex; padding: 6px; border-radius: 999px; background: var(--g100); margin-bottom: 32px; }
.kr-tabs button { position: relative; z-index: 1; height: 50px; padding: 0 26px; border: 0; background: none; font: inherit; font-size: 16px; font-weight: 800; color: var(--g600); cursor: pointer; transition: color .25s; }
.kr-tabs button[aria-selected="true"] { color: #000; }
.kr-tabs-ind { position: absolute; z-index: 0; top: 6px; left: 0; height: 50px; border-radius: 999px; background: var(--grad); box-shadow: 0 10px 24px -10px rgba(223,169,31,.7); transition: transform .4s cubic-bezier(.2,.8,.2,1), width .4s cubic-bezier(.2,.8,.2,1); }
.kr-path { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; padding: 48px; border-radius: 28px; background: #000; color: var(--white); animation: krIn .5s cubic-bezier(.2,.8,.2,1); }
@keyframes krIn { from { opacity: 0; transform: translateY(12px); } }
.kr-path-a { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.kr-path h3 { font-size: 40px; line-height: 1.02; color: var(--white); }
.kr-path-a > p { font-size: 17px; line-height: 1.6; color: var(--g400); max-width: 560px; }
.kr-path ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.kr-path li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.45; color: var(--g300); }
.kr-path li svg { flex-shrink: 0; margin-top: 2px; color: var(--gold); }
.kr-path-a .btn { margin-top: 8px; height: 56px; padding: 0 26px; }
.kr-path-b { list-style: none; margin: 0; padding: 0 0 0 28px; position: relative; display: flex; flex-direction: column; gap: 22px; justify-content: center; }
.kr-path-b::before { content: ""; position: absolute; left: 6px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(180deg, var(--gold), rgba(255,211,0,.1)); }
.kr-path-b li { position: relative; padding: 20px 22px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.kr-path-b li::before { content: ""; position: absolute; left: -28px; top: 26px; width: 14px; height: 14px; border-radius: 50%; background: #000; border: 3px solid var(--gold); }
.kr-when { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.kr-path-b b { display: block; margin-top: 4px; font-size: 18px; color: var(--white); }
.kr-path-b p { margin-top: 4px; font-size: 14px; line-height: 1.5; color: var(--g400); }

.kr-get { padding: 110px var(--side); background: var(--g100); }
.kr-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(220px, auto); gap: 14px; }
.kr-b { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 24px; background: var(--white); border: 1px solid transparent; overflow: hidden; transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
.kr-b:hover { transform: translateY(-4px); box-shadow: 0 34px 60px -36px rgba(0,0,0,.4); border-color: var(--g300); }
.kr-b h3 { font-size: 21px; line-height: 1.2; font-weight: 800; color: #000; }
.kr-b p { font-size: 15px; line-height: 1.6; color: var(--g700); }
.kr-b-i { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 14px; background: #000; color: var(--gold); margin-bottom: 8px; }
.kr-b-lead { grid-column: span 2; grid-row: span 2; background: #000; justify-content: flex-end; }
.kr-b-lead::before { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.28), transparent); }
.kr-b-lead > * { position: relative; }
.kr-b-lead h3 { font-size: 36px; color: var(--white); }
.kr-b-lead p { color: var(--g400); font-size: 17px; max-width: 460px; }
.kr-b-lead .kr-b-i { background: var(--grad); color: #000; }
.kr-src { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kr-src li { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255,211,0,.35); color: var(--gold); font-size: 13px; font-weight: 700; }
.kr-b-mentor { grid-column: span 2; flex-direction: row; align-items: center; gap: 22px; }
.kr-b-mentor img { width: 120px; height: 120px; border-radius: 22px; object-fit: cover; object-position: top; flex-shrink: 0; background: #222; }
.kr-b-mentor > div { display: flex; flex-direction: column; gap: 8px; }
.kr-b-tag { width: fit-content; padding: 4px 10px; border-radius: 999px; background: #FFF6CC; color: var(--gold-dk); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.kr-sig { font-size: 13px; color: var(--g600); font-weight: 700; }
.kr-b-data { grid-row: span 2; }
.kr-mini { margin-top: auto; padding: 18px; border-radius: 16px; background: #000; display: flex; flex-direction: column; gap: 2px; }
.kr-mini span { font-size: 12px; color: var(--g500); }
.kr-mini b { font-size: 44px; line-height: 1.05; }
.kr-b-gold { background: var(--grad); }
.kr-b-gold p { color: rgba(0,0,0,.72); font-weight: 600; }
.kr .rv { opacity: 0; transform: translateY(20px); }
.kr .rv.in { opacity: 1; transform: none; transition: opacity .6s ease, transform .7s cubic-bezier(.2,.8,.2,1); }

.kr-method { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: center; padding: 110px var(--side); background: #000; color: var(--white); }
.kr-method-a { display: flex; flex-direction: column; gap: 16px; }
.kr-method-a .kr-k { color: var(--gold); }
.kr-method-a h2 { font-size: 48px; line-height: 1; letter-spacing: -1px; color: var(--white); }
.kr-method-a p { font-size: 17px; line-height: 1.6; color: var(--g400); }
.kr-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; counter-reset: f; }
.kr-flow li { padding: 24px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09); transition: border-color .25s, background .25s; }
.kr-flow li:hover { border-color: rgba(255,211,0,.5); background: rgba(255,211,0,.06); }
.kr-flow span { font-size: 28px; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kr-flow b { display: block; margin-top: 10px; font-size: 18px; color: var(--white); }
.kr-flow p { margin-top: 4px; font-size: 14px; color: var(--g400); }

.kr-quiz { padding: 110px var(--side); background: var(--white); }
.kr-quiz-g { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 40px; align-items: start; }
.kr-qs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; counter-reset: q; }
.kr-qs li { counter-increment: q; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px 18px 22px; border-radius: 18px; background: var(--g100); }
.kr-qs li > span { font-size: 16px; line-height: 1.45; font-weight: 600; color: #000; }
.kr-qs li > span::before { content: counter(q) ". "; color: var(--gold-dk); font-weight: 800; }
.kr-yn { display: inline-flex; flex-shrink: 0; padding: 4px; border-radius: 999px; background: var(--white); border: 1px solid var(--g200); }
.kr-yn button { height: 38px; min-width: 64px; padding: 0 16px; border: 0; border-radius: 999px; background: none; font: inherit; font-size: 14px; font-weight: 800; color: var(--g600); cursor: pointer; transition: background .2s, color .2s; }
.kr-yn button[data-v="1"][aria-pressed="true"] { background: var(--grad); color: #000; }
.kr-yn button[data-v="0"][aria-pressed="true"] { background: #000; color: var(--white); }
.kr-res { position: sticky; top: 100px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 32px; border-radius: 26px; background: #000; color: var(--white); }
.kr-ring { --p: 0; width: 132px; height: 132px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: conic-gradient(#FFD300 calc(var(--p) * 1%), rgba(255,255,255,.1) 0); transition: background .4s; position: relative; }
.kr-ring::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: #000; }
.kr-ring b { position: relative; font-size: 32px; color: var(--white); }
.kr-res h3 { font-size: 30px; color: var(--white); }
.kr-res p { font-size: 15px; line-height: 1.55; color: var(--g400); }

.kr-revs { padding: 0 var(--side) 110px; background: var(--white); }
.kr-revs-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.kr-revs-g figure { margin: 0; padding: 28px; border-radius: 22px; background: var(--g100); display: flex; flex-direction: column; gap: 14px; }
.kr-stars { color: var(--gold-2); letter-spacing: 3px; }
.kr-revs-g blockquote { font-size: 16px; line-height: 1.6; color: #000; }
.kr-revs-g figcaption { font-size: 13px; color: var(--g600); }

.kr-apply { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); scroll-margin-top: 60px; }
.kr-apply-a { padding: 110px 64px 110px max(32px, calc((100vw - 1200px) / 2)); background: #000; color: var(--white); display: flex; flex-direction: column; gap: 18px; }
.kr-apply-a .kr-k { color: var(--gold); }
.kr-apply-a h2 { font-size: 52px; letter-spacing: -1px; color: var(--white); }
.kr-proc { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.kr-proc li { display: flex; gap: 16px; align-items: flex-start; }
.kr-proc li > span { display: inline-flex; width: 38px; height: 38px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(255,211,0,.5); color: var(--gold); font-weight: 800; }
.kr-proc b { font-size: 17px; color: var(--white); }
.kr-proc p { font-size: 14px; color: var(--g400); margin-top: 2px; }
.kr-alt { margin-top: auto; padding-top: 18px; font-size: 14px; color: var(--g500); }
.kr-alt a { color: var(--white); font-weight: 700; border-bottom: 1px solid var(--gold); }
.kr-apply-b { padding: 90px max(32px, calc((100vw - 1200px) / 2)) 100px 64px; background: var(--g100); }
.kr-form, .kr-done { max-width: 600px; display: flex; flex-direction: column; gap: 16px; padding: 32px; border-radius: 26px; background: var(--white); box-shadow: 0 40px 80px -50px rgba(0,0,0,.35); }
.kr-prog { height: 6px; border-radius: 999px; background: var(--g100); overflow: hidden; }
.kr-prog i { display: block; height: 100%; width: 33%; background: var(--grad); border-radius: 999px; transition: width .4s cubic-bezier(.2,.8,.2,1); }
.kr-stepn { font-size: 13px; font-weight: 700; color: var(--g500); }
.kr-step { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 16px; animation: krIn .4s cubic-bezier(.2,.8,.2,1); }
.kr-step > legend { float: left; width: 100%; margin-bottom: 4px; font-size: 30px; line-height: 1.05; color: #000; }
.kr-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.kr-card { position: relative; cursor: pointer; }
.kr-card input { position: absolute; opacity: 0; }
.kr-card span { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 18px; border-radius: 18px; border: 2px solid var(--g200); transition: border-color .2s, background .2s; }
.kr-card b { font-size: 16px; color: #000; }
.kr-card small { font-size: 13px; color: var(--g600); }
.kr-card input:checked + span { border-color: var(--gold-2); background: #FFF9DB; }
.kr-card input:focus-visible + span { outline: 2px solid #000; outline-offset: 2px; }
.kr-q { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 8px; }
.kr-q legend { font-size: 13px; font-weight: 700; color: #000; margin-bottom: 8px; }
.kr-form .w-opt { height: 42px; border-radius: 999px; font-size: 14px; }
.kr-form textarea { height: auto; min-height: 110px; padding: 14px 16px; line-height: 1.5; resize: vertical; }
.kr-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kr-drop { position: relative; display: flex; align-items: center; gap: 16px; padding: 20px; border-radius: 18px; border: 2px dashed var(--g400); background: var(--g100); cursor: pointer; transition: border-color .2s, background .2s; }
.kr-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.kr-drop-i { display: inline-flex; width: 48px; height: 48px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 14px; background: #000; color: var(--gold); }
.kr-drop span { font-size: 14px; line-height: 1.45; color: var(--g700); }
.kr-drop b { color: #000; }
.kr-drop.over, .kr-drop:hover { border-color: var(--gold-2); background: #FFF9DB; }
.kr-drop.has { border-style: solid; border-color: var(--gold-2); background: #FFF9DB; }
.kr-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.kr-step .btn { height: 56px; padding: 0 28px; align-self: flex-start; }
.kr-nav .btn { align-self: auto; }
.kr-back { border: 0; background: none; font: inherit; font-size: 15px; font-weight: 700; color: var(--g600); cursor: pointer; }
.kr-back:hover { color: #000; }
.kr-done { align-items: flex-start; }
.kr-done h3 { font-size: 38px; }
.kr-done p { font-size: 17px; color: var(--g700); }
.kr-faq { padding: 100px var(--side); background: var(--white); display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 72px; }
.kr-faq .kr-sh { margin: 0; }

@media (max-width: 1100px) and (min-width: 900px) {
	.kr-hero-row, .kr-quiz-g { grid-template-columns: minmax(0, 1fr); }
	.kr-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kr-b-data { grid-row: auto; }
}
@media (max-width: 899px) {
	.kr-sh { margin-bottom: 26px; }
	.kr-sh h2 { font-size: 34px; letter-spacing: -.6px; }
	.kr-hero { padding: 128px var(--side) 0; }
	.kr-hero-row { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 18px; }
	.kr-hero h1 { font-size: 44px; letter-spacing: -1px; }
	.kr-lead { font-size: 16px; }
	.kr-btns .btn, .kr-ghost { width: 100%; justify-content: center; }
	.kr-stat b { font-size: 34px; }
	.kr-stat-a b { font-size: 56px; }
	.kr-stat { padding: 16px; }
	.kr-marq { margin-top: 36px; }
	.kr-paths, .kr-get, .kr-quiz, .kr-method { padding: 56px var(--side); }
	.kr-tabs { display: flex; width: 100%; }
	.kr-tabs button { flex: 1; padding: 0 10px; font-size: 14px; height: 46px; }
	.kr-tabs-ind { height: 46px; }
	.kr-path { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 26px 20px; border-radius: 22px; }
	.kr-path h3 { font-size: 28px; }
	.kr-path-a .btn { width: 100%; justify-content: center; }
	.kr-bento { grid-template-columns: minmax(0, 1fr); }
	.kr-b-lead, .kr-b-mentor, .kr-b-data { grid-column: auto; grid-row: auto; }
	.kr-b-lead h3 { font-size: 28px; }
	.kr-b-mentor { flex-direction: column; align-items: flex-start; }
	.kr-b-mentor img { width: 88px; height: 88px; }
	.kr-method { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.kr-method-a h2 { font-size: 32px; }
	.kr-flow { grid-template-columns: minmax(0, 1fr); }
	.kr-quiz-g { grid-template-columns: minmax(0, 1fr); }
	.kr-qs li { flex-direction: column; align-items: flex-start; gap: 12px; }
	.kr-res { position: static; }
	.kr-revs { padding: 0 var(--side) 56px; }
	.kr-revs-g { grid-template-columns: minmax(0, 1fr); }
	.kr-apply, .kr-faq { grid-template-columns: minmax(0, 1fr); }
	.kr-apply-a { padding: 56px var(--side) 40px; }
	.kr-apply-a h2 { font-size: 34px; }
	.kr-apply-b { padding: 20px var(--side) 56px; }
	.kr-form, .kr-done { padding: 22px 18px; border-radius: 22px; }
	.kr-step > legend { font-size: 24px; }
	.kr-cards, .kr-row { grid-template-columns: 1fr; }
	.kr-faq { padding: 56px var(--side); gap: 24px; }
	body:has(.kr-faq) .ft-beam { display: none; }
}
.kr-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kr-stat-a { grid-column: 1 / -1; }
.kr-stat b { font-size: 34px; white-space: nowrap; }
.kr-stat-a b { font-size: 72px; }
.kr-b-data { grid-row: auto; grid-column: span 2; flex-direction: row; align-items: stretch; gap: 24px; }
.kr-b-data-t { display: flex; flex-direction: column; gap: 10px; flex: 1; }
.kr-b-data .kr-mini { margin-top: 0; justify-content: center; min-width: 200px; }
.kr-b-gold { grid-column: span 2; }
@media (max-width: 1100px) { .kr-b-data, .kr-b-gold { grid-column: auto; } .kr-b-data { flex-direction: column; } }
@media (max-width: 899px) { .kr-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .kr-stat { padding: 14px 12px; } .kr-stat b { font-size: 24px; } .kr-stat span { font-size: 11px; } .kr-stat-a b { font-size: 52px; } }
/* Menu z 8 pozycjami – bez łamania etykiet */
.navbtn, .nav { white-space: nowrap; }
@media (max-width: 1399px) { .hdr-nav { gap: 20px; } .hdr-right { gap: 16px; } }
@media (max-width: 1299px) { .hdr-phone { display: none; } .hdr-nav { gap: 18px; } .navbtn, .nav { font-size: 14px; } .hdr .logo img { width: 110px; } }
@media (max-width: 1179px) { .hdr-nav { gap: 14px; } .hdr-cta { padding: 0 14px; font-size: 12px; } }
/* Kariera v2 – mentoring i wyniki */
.kr-bento { grid-auto-flow: dense; }
.kr-b-hero { grid-column: span 2; grid-row: span 2; padding: 0; background: #000; color: var(--white); flex-direction: row; align-items: stretch; gap: 0; }
.kr-b-hero-img { width: 42%; object-fit: cover; object-position: top; background: #1a1a1a; -webkit-mask-image: linear-gradient(90deg, #000 70%, transparent); mask-image: linear-gradient(90deg, #000 70%, transparent); }
.kr-b-hero-t { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 36px 32px 36px 8px; }
.kr-b-hero h3 { font-size: 34px; line-height: 1.02; color: var(--white); }
.kr-b-hero p { font-size: 15px; line-height: 1.6; color: var(--g400); }
.kr-b-hero .kr-sig { color: var(--gold); }
.kr-b-gold { grid-column: span 2; }
.kr-b-data { grid-column: span 2; grid-row: auto; }
.kr-b:last-child { grid-column: span 2; }
.kr-who { padding: 110px var(--side); background: #000; color: var(--white); position: relative; overflow: hidden; }
.kr-who::before { content: ""; position: absolute; left: 50%; top: -300px; width: 900px; height: 900px; margin-left: -450px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,211,0,.12), transparent); pointer-events: none; }
.kr-who > * { position: relative; }
.kr-who-h { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 48px; }
.kr-who-h .kr-k { color: var(--gold); }
.kr-who-h h2 { font-size: 96px; line-height: .92; letter-spacing: -3px; color: var(--white); }
.kr-who-h p { font-size: 17px; color: var(--g400); }
.kr-who-g { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; max-width: 1100px; margin: 0 auto; }
.kr-yes, .kr-no { padding: 36px; border-radius: 26px; display: flex; flex-direction: column; gap: 20px; }
.kr-yes { background: var(--grad); color: #000; }
.kr-no { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); }
.kr-yes b { font-size: 30px; color: #000; }
.kr-no b { font-size: 30px; color: var(--white); }
.kr-who ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.kr-who li { display: flex; gap: 12px; align-items: flex-start; font-size: 17px; line-height: 1.4; }
.kr-yes li { font-weight: 700; }
.kr-yes li svg { flex-shrink: 0; margin-top: 2px; }
.kr-no li { color: var(--g400); }
.kr-no li span { flex-shrink: 0; width: 22px; color: #ff6b6b; font-weight: 800; font-size: 20px; line-height: 1; }
.kr-stat b { font-size: 30px; }
@media (max-width: 1100px) { .kr-b-hero, .kr-b-gold, .kr-b:last-child { grid-column: auto; grid-row: auto; } }
@media (max-width: 899px) {
	.kr-b-hero { flex-direction: column; }
	.kr-b-hero-img { width: 100%; height: 260px; -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
	.kr-b-hero-t { padding: 4px 22px 28px; }
	.kr-b-hero h3 { font-size: 26px; }
	.kr-who { padding: 64px var(--side); }
	.kr-who-h h2 { font-size: 52px; letter-spacing: -1.5px; }
	.kr-who-g { grid-template-columns: minmax(0, 1fr); }
	.kr-yes, .kr-no { padding: 26px 22px; }
	.kr-yes b, .kr-no b { font-size: 24px; }
	.kr-stat b { font-size: 22px; }
}
.kr-stat-a b { font-size: 68px; }
@media (max-width: 899px) { .kr-stat-a b { font-size: 52px; } }

/* Karty „Nowe oferty” na stronie głównej – cena i status w tym samym szklanym stylu co na listingu */
.nocard-price, .nocard-price.ask, .nocard-price.open { position: absolute; left: 16px; right: auto; top: auto; bottom: 16px; z-index: 2; height: 40px; max-width: calc(100% - 32px); padding: 0 14px; display: inline-flex; flex-direction: row; align-items: center; border-radius: 11px; background: rgba(14,14,14,.58); -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1); border: 1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 8px 22px -10px rgba(0,0,0,.55); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.nocard-price .hd { font-size: 17px; line-height: 1; font-weight: 700; letter-spacing: -.2px; text-transform: none; font-variant-numeric: tabular-nums; -webkit-text-fill-color: transparent; background: linear-gradient(180deg, #FFE45C 0%, #FFD300 45%, #E3AE22 100%); -webkit-background-clip: text; background-clip: text; }
.nocard-price.open { height: auto; padding: 7px 14px 8px; flex-direction: column; align-items: flex-start; gap: 3px; white-space: normal; }
.nocard-price.open small { font-size: 10.5px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #F3C44E; }
.nocard-img .hlb--card { left: 16px; bottom: 16px; }
.nocard-od { bottom: auto; top: 76px; left: 16px; right: auto; height: 32px; padding: 0 12px; border-radius: 999px; background: rgba(14,14,14,.6); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255,211,0,.55); font-size: 12px; }
.nocard-new { height: 28px; padding: 0 11px; border-radius: 999px; background: rgba(255,255,255,.92); color: #000; font-size: 11px; letter-spacing: .06em; box-shadow: 0 6px 16px -8px rgba(0,0,0,.5); }
.nocard-new.g { background: var(--grad); }
.nocard-body { padding: 22px 20px 20px; }
.nocard-par.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nocard { height: auto; min-height: 540px; }
@media (max-width: 899px) {
	.nocard { min-height: 500px; }
	.nocard-price, .nocard-price.ask, .nocard-price.open { left: 12px; bottom: 12px; height: 36px; top: auto; }
	.nocard-price.open { height: auto; top: auto; }
	.nocard-price .hd { font-size: 16px; }
	.nocard-img .hlb--card { left: 12px; bottom: 12px; }
	.nocard-od { top: 64px; left: 14px; }
	.nocard-body { padding: 18px 16px 16px; }
}

/* Czytelność (WCAG AA): drobny szary tekst na jasnym tle – ciemniejszy odcień. */
.h-vs-tag, .h-mcal-n, .h-case-f, .h-src span, .kr-stepn, .ts-rev figcaption, .bl-meta span, .fq-copy span,
.n small, .sn-cal-n, .ab-diff-r span, .sn cite, .cn-foot, .cn-foot span, .l-flabel, .l-cal-date small, .l-cal-txt small, .of-legal { color: #696969; }
/* Telefon: linki w stopce z wygodnym polem dotyku (min. ~40 px). */
@media (max-width: 899px) {
	.ft-cols a, .ft-seo-links a { display: block; padding: 9px 0; }
	.ft-cols { gap: 0 14px; }
	.ft-addr a { display: inline-block; padding: 8px 0; }
	.ft-bottom a { display: inline-block; padding: 10px 0; }
}
@media (max-width: 899px) { .ft-cols { grid-template-rows: repeat(5, auto); } }
.ft-bottom a { white-space: nowrap; }

/* ========== TRUDNE SPRAWY (v2) ========== */
.tz { --tzl: rgba(255,255,255,.12); background: #000; }
.tz-k { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-dk); }
.tz-hero .tz-k, .tz-how .tz-k, .tz-talk .tz-k, .tz-panel .tz-k { color: var(--gold); }
.tz-sh { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.tz-sh h2 { font-size: 56px; line-height: .98; letter-spacing: -1.4px; }
.tz-sh p { font-size: 18px; line-height: 1.55; color: var(--g700); }
.tz-stars { color: var(--gold); letter-spacing: 2px; font-size: 13px; }

/* Hero */
.tz-hero { position: relative; z-index: 1; margin-top: -110px; padding: 160px var(--side) 96px; background: radial-gradient(900px 520px at 78% 48%, rgba(255,211,0,.10), rgba(255,211,0,0) 70%), #000; color: var(--white); overflow: hidden; }
.tz-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse at 70% 50%, #000 0%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse at 70% 50%, #000 0%, transparent 70%); pointer-events: none; }
.tz-hero > * { position: relative; }
.tz-hero-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; margin-top: 34px; }
.tz-hero h1 { margin-top: 18px; font-size: 72px; line-height: .95; letter-spacing: -2px; color: var(--white); }
.tz-hero h1 .gold-text { display: block; }
.tz-lead { margin-top: 24px; max-width: 540px; font-size: 18px; line-height: 1.6; color: #BDBDBD; }
.tz-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 32px; }
.tz-btns .btn { height: 62px; padding: 0 30px; font-size: 15px; }
.tz-tel { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; color: var(--white); white-space: nowrap; }
.tz-tel svg { color: var(--gold); }
.tz-proof { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 34px 0 0; padding: 22px 0 0; border-top: 1px solid var(--tzl); font-size: 14px; color: #BDBDBD; }
.tz-proof li { display: inline-flex; align-items: center; gap: 8px; }
.tz-proof b { color: var(--white); }
.tz-proof svg { color: var(--gold); }

/* Hero: nitka → plan */
.tz-vis { position: relative; aspect-ratio: 600 / 430; }
.tz-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.tz-knot { stroke: #6E6E6E; stroke-width: 1.3; stroke-dasharray: 1; stroke-dashoffset: 0; }
.tz-gold, .tz-gold-glow { stroke: url(#tzg); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.tz-gold-glow { stroke-width: 8; opacity: .55; }
.tz-ms circle { fill: #000; stroke: var(--gold); stroke-width: 3; }
.tz-ms-end circle { fill: var(--gold); stroke: none; }
.tz-ms text { fill: #D9D9D9; font: 800 13px/1 Inter, system-ui, sans-serif; letter-spacing: .12em; text-anchor: middle; }
.tz-ms-end text { fill: var(--gold); }
.tz-chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px 0 10px; border: 1px solid rgba(255,255,255,.22); background: rgba(10,10,10,.82); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #E6E6E6; font-size: 13px; font-weight: 700; white-space: nowrap; transition: translate .5s cubic-bezier(.2,.8,.2,1); }
.tz-chip i { position: relative; width: 16px; height: 16px; border: 1.5px solid #8A8A8A; border-radius: 50%; }
.tz-chip i::after { content: ""; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px; border: solid #000; border-width: 0 2px 2px 0; transform: rotate(45deg) scale(0); }
/* Stan końcowy (także bez animacji): wszystko „rozwiązane”. */
.tz-chip { border-color: rgba(255,211,0,.55); }
.tz-chip i { background: var(--gold); border-color: var(--gold); }
.tz-chip i::after { transform: rotate(45deg) scale(1); }
@media (prefers-reduced-motion: no-preference) {
	.tz-vis .tz-knot { stroke-dashoffset: 1; }
	.tz-vis .tz-gold, .tz-vis .tz-gold-glow { stroke-dashoffset: 1; }
	.tz-vis .tz-ms { opacity: 0; transform-box: fill-box; transform-origin: center; }
	.tz-vis .tz-chip { opacity: 0; border-color: rgba(255,255,255,.22); }
	.tz-vis .tz-chip i { background: transparent; border-color: #8A8A8A; }
	.tz-vis .tz-chip i::after { transform: rotate(45deg) scale(0); }
	.tz-vis.go .tz-knot { animation: tzDraw 1.6s cubic-bezier(.5,0,.3,1) forwards; }
	.tz-vis.go .tz-gold, .tz-vis.go .tz-gold-glow { animation: tzDraw 2.1s cubic-bezier(.6,0,.2,1) 1.1s forwards; }
	.tz-vis.go .tz-ms { animation: tzPop .5s cubic-bezier(.3,1.6,.5,1) forwards; animation-delay: calc(2.35s + var(--d) * .28s); }
	.tz-vis.go .tz-chip { animation: tzIn .6s ease forwards, tzSolveB .4s ease forwards; animation-delay: calc(.25s + var(--i) * .12s), calc(2.4s + var(--i) * .2s); }
	.tz-vis.go .tz-chip i { animation: tzSolveI .35s ease forwards; animation-delay: calc(2.4s + var(--i) * .2s); }
	.tz-vis.go .tz-chip i::after { animation: tzTick .35s cubic-bezier(.3,1.6,.5,1) forwards; animation-delay: calc(2.5s + var(--i) * .2s); }
	.tz-vis.go .tz-ms-end circle { animation: tzPulse 2.4s ease-in-out 3.4s infinite; transform-box: fill-box; transform-origin: center; }
}
@keyframes tzDraw { to { stroke-dashoffset: 0; } }
@keyframes tzPop { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
@keyframes tzIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes tzSolveB { to { border-color: rgba(255,211,0,.55); } }
@keyframes tzSolveI { to { background: var(--gold); border-color: var(--gold); } }
@keyframes tzTick { to { transform: rotate(45deg) scale(1); } }
@keyframes tzPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }

/* Co Cię blokuje */
.tz-pick { scroll-margin-top: 80px; padding: 104px var(--side) 96px; background: var(--g100); }
.tz-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 16px; margin-top: 44px; }
.tz-tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-height: 236px; margin-bottom: 16px; padding: 28px 28px 26px; border: 1px solid #E4E4E4; background: var(--white); color: #000; font: inherit; text-align: left; cursor: pointer; transition: border-color .2s ease, background .25s ease, color .25s ease, transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease; }
.tz-tile:hover { border-color: #000; transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(0,0,0,.45); }
.tz-tile-n { position: absolute; right: 24px; top: 20px; font-size: 15px; letter-spacing: 0; color: #C9C9C9; }
.tz-glyph { color: var(--gold-dk); margin-bottom: 8px; transition: color .25s ease, transform .4s cubic-bezier(.3,1.6,.5,1); }
.tz-tile:hover .tz-glyph { transform: scale(1.08) rotate(-3deg); }
.tz-tile b { font-size: 20px; line-height: 1.2; font-weight: 800; letter-spacing: -.2px; }
.tz-tile small { font-size: 14px; line-height: 1.5; color: var(--g700); }
.tz-tile-go { margin-top: auto; padding-top: 8px; display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid #000; transition: transform .3s ease, background .2s ease; }
.tz-tile[aria-expanded="true"] { background: #000; border-color: #000; color: var(--white); transform: none; box-shadow: none; }
.tz-tile[aria-expanded="true"] .tz-glyph { color: var(--gold); }
.tz-tile[aria-expanded="true"] small { color: #B5B5B5; }
.tz-tile[aria-expanded="true"] .tz-tile-n { color: var(--gold); }
.tz-tile[aria-expanded="true"] .tz-tile-go { background: var(--gold); border-color: var(--gold); color: #000; transform: rotate(180deg); }
.tz-panel { grid-column: 1 / -1; position: relative; scroll-margin-top: 90px; }
.tz-panel:not([hidden]) { margin: 2px 0 18px; }
.tz-panel:not([hidden])::before { content: ""; position: absolute; top: -9px; left: calc(var(--ax, 50%) - 9px); width: 18px; height: 18px; background: #000; transform: rotate(45deg); }
.tz-panel-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; padding: 56px; background: #000; color: var(--white); }
.tz-panel-a, .tz-panel-b { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.tz-panel h3 { font-size: 44px; line-height: 1; letter-spacing: -1px; color: var(--white); }
.tz-pain { width: 100%; padding: 22px 24px; border-left: 3px solid #B00020; background: #121212; }
.tz-pain span { display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #FF6B7D; }
.tz-pain p { margin-top: 8px; font-size: 20px; line-height: 1.45; font-weight: 600; color: var(--white); }
.tz-rev { margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.tz-rev blockquote { font-size: 15px; line-height: 1.6; color: #D0D0D0; font-style: italic; }
.tz-rev figcaption { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.tz-steps { list-style: none; margin: 4px 0 0; padding: 0; width: 100%; display: flex; flex-direction: column; counter-reset: tz; }
.tz-steps li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding-bottom: 28px; counter-increment: tz; }
.tz-steps li:last-child { padding-bottom: 0; }
.tz-steps li > i { position: relative; z-index: 1; display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1.5px solid var(--gold); background: #000; font-style: normal; }
.tz-steps li > i::before { content: "0" counter(tz); font-weight: 800; font-size: 14px; color: var(--gold); }
.tz-steps li:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: linear-gradient(var(--gold), rgba(255,211,0,.25)); transform-origin: top; }
.tz-steps b { display: block; padding-top: 10px; font-size: 18px; color: var(--white); }
.tz-steps p { margin-top: 4px; font-size: 15px; line-height: 1.55; color: #B5B5B5; }
.tz-panel-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--tzl); width: 100%; }
@media (prefers-reduced-motion: no-preference) {
	.tz-panel .tz-panel-in { opacity: 0; transform: translateY(-8px); transition: opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
	.tz-panel.in .tz-panel-in { opacity: 1; transform: none; }
	.tz-panel .tz-steps li { opacity: 0; transform: translateX(-10px); transition: opacity .4s ease, transform .5s cubic-bezier(.2,.8,.2,1); }
	.tz-panel .tz-steps li::after { transform: scaleY(0); transition: transform .5s ease; }
	.tz-panel.in .tz-steps li { opacity: 1; transform: none; }
	.tz-panel.in .tz-steps li::after { transform: none; }
	.tz-panel.in .tz-steps li:nth-child(1) { transition-delay: .15s; } .tz-panel.in .tz-steps li:nth-child(1)::after { transition-delay: .35s; }
	.tz-panel.in .tz-steps li:nth-child(2) { transition-delay: .4s; } .tz-panel.in .tz-steps li:nth-child(2)::after { transition-delay: .6s; }
	.tz-panel.in .tz-steps li:nth-child(3) { transition-delay: .65s; }
}

/* Metoda */
.tz-how { padding: 110px var(--side) 120px; background: #000; color: var(--white); }
.tz-how h2 { color: var(--white); }
.tz-how-l { position: relative; list-style: none; margin: 56px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.tz-how-l::before, .tz-how-l::after { content: ""; position: absolute; left: 28px; right: 28px; top: 27px; height: 2px; background: rgba(255,255,255,.12); }
.tz-how-l::after { background: var(--grad); transform-origin: left; transform: scaleX(0); transition: transform 1.6s cubic-bezier(.6,0,.2,1) .2s; }
.tz-how.in .tz-how-l::after { transform: none; }
.tz-how-l li { position: relative; display: flex; flex-direction: column; gap: 10px; }
.tz-how-dot { position: relative; z-index: 1; display: flex; width: 56px; height: 56px; align-items: center; justify-content: center; border: 2px solid rgba(255,255,255,.2); background: #000; color: #8A8A8A; transition: border-color .3s ease, color .3s ease, background .3s ease; transition-delay: calc(.3s + var(--i) * .4s); }
.tz-how.in .tz-how-dot { border-color: var(--gold); color: var(--gold); }
.tz-how.in li:last-child .tz-how-dot { background: var(--gold); color: #000; }
.tz-how-n { margin-top: 14px; font-size: 14px; letter-spacing: 0; color: var(--gold); }
.tz-how-l b { font-size: 22px; line-height: 1.2; }
.tz-how-l p { font-size: 15px; line-height: 1.6; color: #B5B5B5; }

/* Opinie */
.tz-revs { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 56px; padding: 104px var(--side); background: var(--white); }
.tz-revs-score { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.tz-revs-score h2 { font-size: 46px; line-height: 1; letter-spacing: -1.2px; }
.tz-score { display: flex; align-items: center; gap: 16px; margin-top: 8px; }
.tz-score > b { font-size: 88px; line-height: .9; letter-spacing: -3px; }
.tz-score > span { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 700; color: var(--g700); }
.tz-score .tz-stars { color: var(--gold-2); font-size: 18px; }
.tz-revs-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tz-revs-g figure { position: relative; margin: 0; padding: 30px 30px 26px; background: var(--g100); display: flex; flex-direction: column; gap: 16px; }
.tz-revs-g figure.big { grid-column: 1 / -1; background: #000; color: var(--white); padding: 40px 44px 34px; }
.tz-q { position: absolute; right: 24px; top: -6px; font-size: 110px; line-height: 1; color: rgba(0,0,0,.08); }
.tz-revs-g figure.big .tz-q { color: var(--gold); opacity: .9; }
.tz-revs-g blockquote { font-size: 16px; line-height: 1.6; color: #000; }
.tz-revs-g figure.big blockquote { max-width: 640px; font-size: 24px; line-height: 1.4; font-weight: 700; color: var(--white); }
.tz-revs-g figcaption { font-size: 13px; color: var(--g700); }
.tz-revs-g figure.big figcaption { color: #B5B5B5; }
.tz-revs-g figure.big figcaption b { color: var(--gold); }

/* Rozmowa */
.tz-talk { scroll-margin-top: 70px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: #000; }
.tz-talk-a { padding: 104px 64px 104px max(32px, calc((100vw - 1200px) / 2)); color: var(--white); display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.tz-talk-a h2 { font-size: 54px; line-height: .98; letter-spacing: -1.4px; color: var(--white); }
.tz-talk-a h2 .gold-text { display: block; }
.tz-talk-a > p { max-width: 480px; font-size: 17px; line-height: 1.6; color: #BDBDBD; }
.tz-sure { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.tz-sure li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; }
.tz-sure li > svg { width: 40px; height: 40px; padding: 10px; border: 1px solid rgba(255,211,0,.4); color: var(--gold); }
.tz-sure b { display: block; font-size: 16px; color: var(--white); }
.tz-sure span { font-size: 15px; line-height: 1.5; color: #B5B5B5; }
.tz-status { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; font-size: 14px; color: #B5B5B5; }
.tz-status i { width: 8px; height: 8px; border-radius: 50%; background: #8A8A8A; }
.tz-status.on i { background: #2BD576; box-shadow: 0 0 0 4px rgba(43,213,118,.18); }
.tz-status a { color: var(--white); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.tz-talk-b { padding: 80px max(32px, calc((100vw - 1200px) / 2)) 80px 0; display: flex; align-items: center; }
.tz-form, .tz-done { width: 100%; display: flex; flex-direction: column; gap: 18px; padding: 40px; background: var(--white); box-shadow: 0 0 0 1px rgba(255,211,0,.4), 0 40px 80px -40px rgba(255,211,0,.35); }
.tz-form fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 12px; }
.tz-form legend { padding: 0; font-size: 15px; font-weight: 800; color: #000; }
.tz-form legend small { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--g600); }
.tz-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.tz-opt { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 14px; border: 1px solid #CFCFCF; background: var(--white); font: inherit; font-size: 14px; font-weight: 700; color: #000; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.tz-opt::before { content: ""; width: 14px; height: 14px; border: 1.5px solid #9A9A9A; flex-shrink: 0; }
.tz-opt:hover { border-color: #000; }
.tz-opt[aria-pressed="true"] { border-color: #000; background: #FFF6CC; }
.tz-opt[aria-pressed="true"]::before { border-color: #000; background: #000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD300' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.tz-ta { height: auto; min-height: 96px; padding: 14px 16px; resize: vertical; line-height: 1.5; }
.tz-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.tz-form .btn { height: 62px; font-size: 15px; }
.tz-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.tz-done { align-items: flex-start; }
.tz-done h3 { font-size: 34px; line-height: 1.05; color: #000; }
.tz-done p { font-size: 16px; line-height: 1.6; color: var(--g700); }
.tz-done a { font-weight: 800; color: #000; }
body:has(.tz-talk) .ft-beam { display: none; }

@media (max-width: 1199px) {
	.tz-hero h1 { font-size: 60px; }
	.tz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tz-panel-in { gap: 40px; padding: 44px; }
	.tz-how-l { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 48px; }
	.tz-how-l::before, .tz-how-l::after { display: none; }
	.tz-revs { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 899px) {
	.tz-hero { padding: 124px var(--side) 56px; }
	.tz-hero-row { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 22px; }
	.tz-hero h1 { font-size: 42px; letter-spacing: -1px; }
	.tz-lead { font-size: 16px; margin-top: 18px; }
	.tz-btns { margin-top: 26px; }
	.tz-btns .btn { width: 100%; }
	.tz-btns .tz-tel { width: 100%; justify-content: center; height: 52px; border: 1px solid var(--tzl); }
	.tz-proof { gap: 10px 18px; margin-top: 26px; font-size: 13px; }
	.tz-vis { margin: 4px -6px 0; }
	.tz-chip { height: 30px; padding: 0 10px 0 8px; font-size: 11.5px; gap: 6px; }
	.tz-chip i { width: 13px; height: 13px; }
	.tz-chip i::after { left: 3px; top: 0; width: 3.5px; height: 7px; }
	.tz-ms text { font-size: 17px; }
	.tz-sh h2 { font-size: 36px; letter-spacing: -.8px; }
	.tz-sh p { font-size: 16px; }
	.tz-pick { padding: 64px var(--side) 56px; }
	.tz-grid { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
	.tz-tile { min-height: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr) 36px; grid-template-areas: "g b go" "g s go"; column-gap: 14px; row-gap: 4px; align-items: center; margin-bottom: 10px; padding: 18px 16px; }
	.tz-tile:hover { transform: none; box-shadow: none; }
	.tz-tile-n { display: none; }
	.tz-glyph { grid-area: g; width: 44px; height: 44px; margin: 0; align-self: start; }
	.tz-tile b { grid-area: b; font-size: 16px; }
	.tz-tile small { grid-area: s; font-size: 13px; }
	.tz-tile-go { grid-area: go; margin: 0; padding: 0; }
	.tz-panel:not([hidden]) { margin: -2px 0 14px; }
	.tz-panel-in { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 30px 20px; }
	.tz-panel h3 { font-size: 30px; }
	.tz-pain p { font-size: 17px; }
	.tz-panel-cta .btn { width: 100%; }
	.tz-panel-cta .tz-tel { width: 100%; justify-content: center; }
	.tz-how { padding: 64px var(--side) 72px; }
	.tz-how-l { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 36px; }
	.tz-how-l li { display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "d n" "d b" "d p"; column-gap: 18px; row-gap: 4px; padding-bottom: 30px; }
	.tz-how-l li:not(:last-child)::after { content: ""; position: absolute; left: 27px; top: 56px; bottom: 0; width: 2px; background: rgba(255,211,0,.4); }
	.tz-how-dot { grid-area: d; }
	.tz-how-n { grid-area: n; margin-top: 4px; }
	.tz-how-l b { grid-area: b; font-size: 19px; }
	.tz-how-l p { grid-area: p; }
	.tz-revs { padding: 64px var(--side); gap: 28px; }
	.tz-revs-score h2 { font-size: 32px; }
	.tz-score > b { font-size: 64px; }
	.tz-revs-g { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.tz-revs-g figure, .tz-revs-g figure.big { padding: 26px 22px 22px; }
	.tz-revs-g figure.big blockquote { font-size: 19px; }
	.tz-talk { grid-template-columns: minmax(0, 1fr); }
	.tz-talk-a { padding: 64px var(--side) 32px; }
	.tz-talk-a h2 { font-size: 36px; letter-spacing: -.8px; }
	.tz-talk-b { padding: 8px var(--side) 64px; }
	.tz-form, .tz-done { padding: 24px 18px; }
	.tz-row { grid-template-columns: minmax(0, 1fr); }
	.tz-form .btn { width: 100%; }
}
.tz-vis { aspect-ratio: 545 / 250; margin-bottom: 30px; }
.tz-proof li { white-space: nowrap; }
@media (min-width: 900px) { .tz-hero-row { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.tz-hero h1 { font-size: 64px; }
.tz-talk-a h2 { font-size: 46px; }
@media (max-width: 1199px) { .tz-hero h1 { font-size: 54px; } }
@media (max-width: 899px) {
	.tz-hero h1 { font-size: 40px; } .tz-talk-a h2 { font-size: 34px; }
	.tz-vis { aspect-ratio: auto; display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0 0; }
	.tz-chip { position: static; translate: none !important; }
	.tz-svg { position: static; order: 2; width: 100%; height: auto; aspect-ratio: 545 / 250; margin-top: 14px; }
	.tz-ms text { font-size: 18px; }
}
.tz-q { position: static; display: block; height: 30px; font-size: 84px; line-height: 0; margin-top: -8px; color: var(--gold-2); opacity: 1; }
.tz-revs-g figure.big .tz-q { color: var(--gold); }
.tz-ta { font-size: 15px; }
.tz-ta::placeholder { font-weight: 400; }
@media (max-width: 899px) {
	.tz-opts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px; }
	.tz-opt { min-height: 48px; padding: 6px 10px; font-size: 13px; line-height: 1.25; text-align: left; }
	.tz-form .btn { height: auto; min-height: 58px; padding: 12px 16px; font-size: 14px; }
	.tz-form legend small { margin-bottom: 4px; }
}

/* ========== STRONA GŁÓWNA: TRUDNE SPRAWY (v2) ========== */
.h-sx { position: relative; overflow: hidden; padding: 112px var(--side) 104px; background: radial-gradient(800px 480px at 82% 22%, rgba(255,211,0,.09), rgba(255,211,0,0) 70%), #000; color: var(--white); }
.h-sx::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse at 75% 25%, #000, transparent 65%); -webkit-mask-image: radial-gradient(ellipse at 75% 25%, #000, transparent 65%); pointer-events: none; }
.h-sx > * { position: relative; }
.h-sx-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.h-sx-txt .hd { margin-top: 22px; font-size: 56px; line-height: .98; letter-spacing: -1.6px; color: var(--white); }
.h-sx-txt .hd .gold-text { display: block; }
.h-sx-txt p { margin-top: 20px; max-width: 520px; font-size: 18px; line-height: 1.6; color: #BDBDBD; }
.h-sx .h-sx-vis { margin: 0; }
.h-sx-board { margin-top: 64px; }
.h-sx-pick { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.h-sx-pick button { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-height: 148px; padding: 20px 18px 22px; border: 1px solid rgba(255,255,255,.1); background: #0B0B0B; color: var(--white); font: inherit; text-align: left; cursor: pointer; overflow: hidden; transition: border-color .2s ease, background .2s ease, transform .25s cubic-bezier(.2,.8,.2,1); }
.h-sx-pick button:hover { border-color: rgba(255,211,0,.55); transform: translateY(-2px); }
.h-sx-pick .tz-glyph { color: #8A8A8A; transition: color .2s ease, transform .4s cubic-bezier(.3,1.6,.5,1); }
.h-sx-pick button:hover .tz-glyph { color: var(--gold); transform: scale(1.08) rotate(-3deg); }
.h-sx-tl { font-size: 15px; line-height: 1.3; font-weight: 700; }
.h-sx-pick button[aria-selected="true"] { border-color: var(--gold); background: #151515; transform: none; }
.h-sx-pick button[aria-selected="true"] .tz-glyph { color: var(--gold); }
.h-sx-pick button[aria-selected="true"]::after { content: ""; position: absolute; left: 50%; bottom: -1px; width: 16px; height: 8px; margin-left: -8px; background: var(--gold); clip-path: polygon(0 100%, 50% 0, 100% 100%); }
.h-sx-prog { position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--grad); transform-origin: left; transform: scaleX(0); }
.h-sx-pick button[aria-selected="true"] .h-sx-prog { transform: scaleX(1); }
.h-sx.auto .h-sx-pick button[aria-selected="true"] .h-sx-prog { transform: scaleX(0); }
.h-sx.auto .h-sx-pick button.run .h-sx-prog { animation: sxProg 7s linear forwards; }
@keyframes sxProg { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.h-sx-panel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.7fr); gap: 56px; margin-top: 10px; padding: 44px 48px; border: 1px solid rgba(255,211,0,.28); background: linear-gradient(180deg, #111, #0A0A0A); }
.h-sx-k { display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #FF6B7D; }
.h-sx-k.gold { color: var(--gold); }
.h-sx-prob { display: flex; flex-direction: column; gap: 14px; padding-right: 40px; border-right: 1px solid rgba(255,255,255,.1); }
.h-sx-prob > p { font-size: 22px; line-height: 1.4; font-weight: 700; color: var(--white); }
.h-sx-rev { margin: auto 0 0; padding-top: 18px; display: flex; flex-direction: column; gap: 8px; border-top: 1px solid rgba(255,255,255,.08); }
.h-sx-stars { color: var(--gold); letter-spacing: 2px; font-size: 13px; }
.h-sx-rev blockquote { font-size: 14px; line-height: 1.6; font-style: italic; color: #C9C9C9; }
.h-sx-rev figcaption { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.h-sx-sol { display: flex; flex-direction: column; gap: 14px; }
.h-sx-sol h3 { font-size: 36px; line-height: 1.02; letter-spacing: -1px; color: var(--white); }
.h-sx-route { position: relative; list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.h-sx-route::before, .h-sx-route::after { content: ""; position: absolute; left: 22px; right: calc(25% - 22px); top: 21px; height: 2px; background: rgba(255,255,255,.12); }
.h-sx-route::after { background: var(--grad); }
.h-sx-route li { position: relative; display: flex; flex-direction: column; gap: 6px; }
.h-sx-route li > i { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; margin-bottom: 10px; border: 1.5px solid var(--gold); background: #0E0E0E; font-style: normal; font-weight: 800; font-size: 14px; color: var(--gold); }
.h-sx-route li.h-sx-end > i { background: var(--gold); border-color: var(--gold); }
.h-sx-route b { font-size: 16px; line-height: 1.3; color: var(--white); }
.h-sx-route span { font-size: 14px; line-height: 1.5; color: #B5B5B5; }
.h-sx-route li.h-sx-end b { color: var(--gold); }
.h-sx-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 22px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); }
.h-sx-cta .btn { height: 58px; padding: 0 26px; }
.h-sx-cta > span { font-size: 14px; color: #B5B5B5; }
.h-sx-more { display: inline-flex; gap: 8px; margin-top: 28px; font-size: 15px; font-weight: 800; color: var(--gold); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.h-sx-more:hover { color: var(--white); }
@media (prefers-reduced-motion: no-preference) {
	.h-sx-panel.in .h-sx-prob > *, .h-sx-panel.in .h-sx-sol > .h-sx-k, .h-sx-panel.in .h-sx-sol > h3 { animation: sxUp .45s cubic-bezier(.2,.8,.2,1) both; }
	.h-sx-panel.in .h-sx-sol > h3 { animation-delay: .05s; }
	.h-sx-panel.in .h-sx-route::after { animation: sxLine 1.1s cubic-bezier(.6,0,.2,1) .15s both; transform-origin: left; }
	.h-sx-panel.in .h-sx-route li { animation: sxUp .45s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(.2s + var(--k) * .22s); }
	.h-sx-panel.in .h-sx-route li.h-sx-end > i { animation: sxPop .5s cubic-bezier(.3,1.6,.5,1) both; animation-delay: 1.05s; }
}
@keyframes sxUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes sxLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes sxPop { from { transform: scale(.3); } to { transform: none; } }
@media (max-width: 1199px) {
	.h-sx-pick { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.h-sx-pick button { min-height: 0; }
	.h-sx-panel { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.h-sx-prob { padding: 0 0 28px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
}
@media (max-width: 899px) {
	.h-sx { padding: 64px var(--side) 60px; }
	.h-sx-top { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.h-sx-txt .hd { font-size: 36px; letter-spacing: -.8px; margin-top: 18px; }
	.h-sx-txt p { font-size: 16px; margin-top: 14px; }
	.h-sx-board { margin-top: 36px; }
	.h-sx-pick { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.h-sx-pick button { flex-direction: row; align-items: center; gap: 10px; min-height: 64px; padding: 10px 12px; }
	.h-sx-pick button:hover { transform: none; }
	.h-sx-pick .tz-glyph { width: 30px; height: 30px; flex-shrink: 0; }
	.h-sx-tl { font-size: 13.5px; }
	.h-sx-pick button[aria-selected="true"]::after { display: none; }
	.h-sx-panel { margin-top: 10px; padding: 26px 18px; gap: 24px; }
	.h-sx-prob > p { font-size: 18px; }
	.h-sx-sol h3 { font-size: 27px; }
	.h-sx-route { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 8px; }
	.h-sx-route::before, .h-sx-route::after { display: none; }
	.h-sx-route li { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "i b" "i s"; column-gap: 14px; row-gap: 2px; padding-bottom: 22px; }
	.h-sx-route li:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: linear-gradient(var(--gold), rgba(255,211,0,.25)); }
	.h-sx-route li:last-child { padding-bottom: 0; }
	.h-sx-route li > i { grid-area: i; margin: 0; }
	.h-sx-route b { grid-area: b; padding-top: 2px; }
	.h-sx-route span { grid-area: s; }
	.h-sx-cta .btn { width: 100%; height: auto; min-height: 58px; padding: 12px 16px; }
	.h-sx-more { margin-top: 22px; }
}
@media (max-width: 899px) { .h-sx .h-sx-vis { margin-top: 22px; } }
/* Kariera – bento: na węższych ekranach każdy kafel w jednej kolumnie (bez ukrytej drugiej kolumny). */
@media (max-width: 1100px) { .kr-bento > .kr-b { grid-column: auto; grid-row: auto; } }
@media (max-width: 899px) { .kr-bento { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; } }
/* Karta oferty (telefon): każda sekcja na pełną szerokość ekranu. */
@media (max-width: 899px) { .of-body { align-items: stretch; } .of-main > *, .of-side > * { min-width: 0; } }


/* ===== 0.19.2: dni otwarte – panel w nagłówku listingu ===== */
.l-od { width: 410px; padding: 20px; gap: 14px; background: rgba(8,8,8,.84); border-color: rgba(255,211,0,.45); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 24px 60px rgba(0,0,0,.45); }
.l-od-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.l-od-n1 { display: flex; align-items: baseline; gap: 6px; font-size: 12px; font-weight: 700; color: var(--g400); white-space: nowrap; }
.l-od-n1 b { font-size: 22px; line-height: 1; }
.l-od-days { display: flex; flex-direction: column; gap: 10px; }
.l-od-day { display: flex; flex-direction: column; gap: 2px; }
.l-od-dh { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--white); }
.l-od-dh i { font-style: normal; color: var(--gold); }
.l-od-dh::after { content: ""; flex: 1; height: 1px; background: var(--g900); }
.l-od .l-od-row { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: 0 -8px; padding: 5px 8px; min-height: 0; border: 0; color: var(--white); transition: background .2s; }
.l-od .l-od-row:hover, .l-od .l-od-row:focus-visible { background: rgba(255,255,255,.07); }
.l-od-ph { width: 56px; height: 42px; overflow: hidden; background: #1c1c1c; }
.l-od-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.l-od-row:hover .l-od-ph img { transform: scale(1.08); }
.l-od .l-od-n { display: flex; flex-direction: column; min-width: 0; }
.l-od .l-od-n strong { font-size: 14px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.l-od .l-od-n small { display: block; font-size: 12px; color: #9a9a9a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.l-od .l-od-t { width: auto; }
.l-od .l-od-t b { display: block; padding: 4px 8px; border: 1px solid rgba(255,211,0,.55); font-size: 15px; line-height: 1.1; color: var(--gold); transition: background .2s, color .2s; }
.l-od-row:hover .l-od-t b { background: var(--gold); color: #000; }
.l-od .l-od-cd { display: flex; align-items: baseline; gap: 5px; padding-top: 12px; border-top: 1px solid var(--g900); font-size: 12px; color: #9a9a9a; }
.l-od .l-od-cd > span:first-child { margin-right: 4px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; font-size: 11px; }
.l-od .l-od-cd b { font-size: 20px; line-height: 1; }
.l-od .l-od-cd span { font-size: 12px; letter-spacing: 0; text-transform: none; }
@media (max-width: 1099px) and (min-width: 900px) { .l-od { width: 370px; } }
@media (max-width: 899px) {
	.l-od { width: auto; padding: 14px; gap: 12px; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; background: #0b0b0b; }
	.l-od .l-od-row { grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; padding: 4px 6px; margin: 0 -6px; }
	.l-od-ph { width: 48px; height: 36px; }
	.l-od .l-od-n { display: flex; }
	.l-od .l-od-t b { font-size: 14px; padding: 3px 6px; }
	.l-od .l-od-cd b { font-size: 18px; }
}

/* ===== 0.19.2: strona główna – przewijane najbliższe dni otwarte ===== */
.h-next-lab .h-next-k { margin-left: auto; color: var(--g500); font-variant-numeric: tabular-nums; letter-spacing: .06em; }
.h-next-a > .hd, .h-next-rot { flex-grow: 1; }
.h-next-rot { display: grid; }
.h-next-sl { grid-area: 1 / 1; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .45s ease, transform .45s ease, visibility 0s .45s; }
.h-next-sl.on { opacity: 1; visibility: visible; transform: none; transition: opacity .45s ease .1s, transform .45s ease .1s, visibility 0s; }
.h-next-sl .hd { font-size: 26px; line-height: 1.05; color: var(--white); }
.h-next-sl .hd small { display: block; margin-top: 6px; font-size: 18px; }
.h-next-dots { display: flex; gap: 6px; }
.h-next-dots button { flex: 1; height: 18px; padding: 7px 0; background: none; border: 0; cursor: pointer; }
.h-next-dots button i { display: block; height: 3px; background: #333; position: relative; overflow: hidden; }
.h-next-dots button i::after { content: ""; position: absolute; inset: 0; background: var(--gold); transform: scaleX(0); transform-origin: left; }
.h-next-dots button.on i::after { animation: hlNextProg 6s linear forwards; animation-play-state: paused; }
.h-next.run .h-next-dots button.on i::after { animation-play-state: running; }
.h-next.run:hover .h-next-dots button.on i::after, .h-next.run:focus-within .h-next-dots button.on i::after { animation-play-state: paused; }
@keyframes hlNextProg { to { transform: scaleX(1); } }
.h-next-img .h-next-im { opacity: 0; transform: scale(1.04); transition: opacity .7s ease, transform 6s ease; }
.h-next-img .h-next-im.on { opacity: 1; transform: scale(1); }
@media (prefers-reduced-motion: reduce) {
	.h-next-dots button.on i::after { animation: none; transform: scaleX(1); }
	.h-next-sl, .h-next-sl.on, .h-next-img .h-next-im { transition: none; transform: none; }
}
@media (max-width: 899px) { .h-next-sl .hd { font-size: 22px; line-height: 1.1; } .h-next-sl .hd small { font-size: 16px; } .h-next-sl .more { height: 44px; font-size: 14px; font-weight: 800; } }
