/* Kamil Witkowski – odbiory mieszkań Bydgoszcz. Identyfikacja „Oliwka premium” (2026-10).
   Wszystkie reguły scope'owane prefiksem bg- (bez globalnych reguł h1/h2/p/a/body). */
:root {
	--bg-c-main: #6F7C4A;
	--bg-c-sec: #93A06B;
	--bg-c-acc: #C8D1A9;
	--bg-c-light: #EEF1E4;
	--bg-c-paper: #FBFCF8;
	--bg-c-white: #FFFFFF;
	--bg-c-ink: #23271B;
	--bg-c-text: #33382A;
	--bg-c-muted: #5C6150;
	--bg-c-deep: #4E5733;
	--bg-c-deeper: #3F4729;
	--bg-c-label: #566138;
	--bg-f-serif: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
	--bg-f-sans: "Jost", "Helvetica Neue", Arial, sans-serif;
	--bg-hdr-h: 76px;
	--bg-gutter: clamp(16px, 4.2vw, 56px);
}
@media (min-width: 1140px) {
	:root { --bg-hdr-h: 104px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* ---------- wspólne: kontener, typografia w obrębie komponentów marki ---------- */
.bg-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding-left: var(--bg-gutter); padding-right: var(--bg-gutter); box-sizing: border-box; }
.bg-hdr, .bg-home, .bg-ftr, .bg-blog { font-family: var(--bg-f-sans); font-weight: 400; color: var(--bg-c-text); -webkit-font-smoothing: antialiased; }
.bg-hdr *, .bg-home *, .bg-ftr *, .bg-blog * { box-sizing: border-box; }
.bg-hdr :where(p, li, a, em, i, td, tr, strong, span, button),
.bg-home :where(p, li, a, em, i, td, tr, th, strong, span, dt, dd),
.bg-ftr :where(p, li, a, em, i, strong, span),
.bg-blog :where(p, li, a, em, i, strong, span) { font-family: inherit; font-size: inherit; font-weight: inherit; }
.bg-home :where(h1, h2, h3), .bg-ftr :where(h2, h3), .bg-blog :where(h1, h2, h3) { font-family: var(--bg-f-serif); color: var(--bg-c-ink); font-weight: 500; letter-spacing: -0.005em; margin: 0; }
.bg-home strong, .bg-ftr strong, .bg-blog strong { font-weight: 500; }
.bg-home p, .bg-blog p { margin: 0 0 1em; }
.bg-home a { color: var(--bg-c-label); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.bg-home a:hover { color: var(--bg-c-deeper); }
.bg-hdr :focus-visible, .bg-home :focus-visible, .bg-ftr :focus-visible, .bg-blog :focus-visible { outline: 2px solid var(--bg-c-deep); outline-offset: 3px; border-radius: 1px; }
.bg-home [id], .bg-ftr[id], #contents a[name] { scroll-margin-top: calc(var(--bg-hdr-h) + 12px); }
@media (min-width: 1140px) { .bg-home [id], .bg-ftr[id], #contents a[name] { scroll-margin-top: 92px; } }

.bg-kicker { display: flex; align-items: center; gap: 14px; margin: 0 0 1.4rem !important; font-family: var(--bg-f-sans); font-size: .76rem !important; font-weight: 500 !important; letter-spacing: .22em; text-transform: uppercase; color: var(--bg-c-label); }
.bg-kicker::before { content: ""; width: 36px; height: 1px; background: var(--bg-c-main); flex: 0 0 auto; }

.bg-btn { display: inline-flex; align-items: center; justify-content: center; gap: .7em; min-height: 52px; padding: .85rem 2rem; background: var(--bg-c-main); color: #fff !important; border: 1px solid var(--bg-c-main); border-radius: 2px; font-family: var(--bg-f-sans); font-size: .95rem !important; font-weight: 500 !important; letter-spacing: .08em; text-transform: uppercase; text-decoration: none !important; line-height: 1.2; transition: background-color .2s ease, border-color .2s ease; }
.bg-btn::after { content: ""; width: 22px; height: 1px; background: currentColor; transition: width .2s ease; }
.bg-btn:hover { background: var(--bg-c-deep); border-color: var(--bg-c-deep); color: #fff; }
.bg-btn:hover::after { width: 30px; }
.bg-btn:active { background: var(--bg-c-deeper); border-color: var(--bg-c-deeper); }
@media (max-width: 399px) { .bg-btn { padding-left: 1.3rem; padding-right: 1.3rem; } .bg-btn::after { display: none; } }

.bg-term, .bg-home h2.bg-term { display: inline; margin: 0 !important; padding: 0; font-family: var(--bg-f-sans) !important; font-size: 1.04rem !important; line-height: inherit !important; font-weight: 400 !important; color: var(--bg-c-text) !important; }
.bg-lnum, .bg-ftr__phone, .bg-step__no, .bg-hero__note h3, .bg-art #contents td:last-child, .bg-hero__by strong { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }

/* ---------- HEADER / NAV ---------- */
.bg-hdr { position: sticky; top: 0; z-index: 1030; background: rgba(251, 252, 248, .97); border-bottom: 1px solid var(--bg-c-acc); }
@supports (backdrop-filter: blur(6px)) { .bg-hdr { background: rgba(251, 252, 248, .9); backdrop-filter: blur(8px); } }
.bg-hdr__bar { display: flex; align-items: center; gap: 14px; height: var(--bg-hdr-h); transition: height .25s ease; }
.bg-hdr__logo { display: block; flex: 0 0 auto; line-height: 0; }
.bg-hdr__logo img { display: block; height: 58px; width: auto; transition: height .25s ease; }
.bg-hdr__tel { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 4px; color: var(--bg-c-ink) !important; text-decoration: none !important; font-size: .95rem !important; font-weight: 500 !important; letter-spacing: .02em; white-space: nowrap; }
.bg-hdr__tel svg { width: 16px; height: 16px; color: var(--bg-c-main); flex: 0 0 auto; }
.bg-hdr__toggle { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; width: 46px; height: 46px; padding: 0; background: transparent; border: 1px solid var(--bg-c-acc); border-radius: 2px; cursor: pointer; color: var(--bg-c-ink); }
.bg-hdr__toggle span { display: block; width: 20px; height: 1.5px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.bg-hdr.is-open .bg-hdr__toggle span:nth-child(1) { transform: translateY(3.75px) rotate(45deg); }
.bg-hdr.is-open .bg-hdr__toggle span:nth-child(2) { transform: translateY(-3.75px) rotate(-45deg); }
.bg-hdr__toggle:hover { border-color: var(--bg-c-main); }

.bg-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--bg-c-paper); border-bottom: 1px solid var(--bg-c-acc); box-shadow: 0 24px 40px -28px rgba(35, 39, 27, .35); max-height: calc(100vh - var(--bg-hdr-h)); overflow-y: auto; }
.bg-hdr.is-open .bg-nav { display: block; animation: bg-drop .22s ease both; }
@keyframes bg-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.bg-nav__list { list-style: none; margin: 0; padding: 8px var(--bg-gutter) 0; }
.bg-nav__list li { margin: 0; border-bottom: 1px solid var(--bg-c-light); }
.bg-nav__list a { display: flex; align-items: center; min-height: 52px; color: var(--bg-c-ink) !important; text-decoration: none !important; font-family: var(--bg-f-serif) !important; font-size: 1.45rem !important; font-weight: 500 !important; }
.bg-nav__list a:hover { color: var(--bg-c-label) !important; }
.bg-nav__actions { display: flex; flex-direction: column; gap: 10px; padding: 18px var(--bg-gutter) 24px; }
.bg-nav__call { display: none; }
.bg-nav__book { align-self: stretch; }

@media (min-width: 400px) {
	.bg-hdr__logo img { height: 62px; }
}
@media (min-width: 1140px) {
	.bg-hdr__logo img { height: 84px; }
	.bg-hdr.is-compact { --bg-hdr-h: 80px; }
	.bg-hdr.is-compact .bg-hdr__logo img { height: 64px; }
	.bg-hdr__tel, .bg-hdr__toggle { display: none; }
	.bg-nav { display: flex !important; align-items: center; position: static; margin-left: auto; background: transparent; border: 0; box-shadow: none; max-height: none; overflow: visible; animation: none !important; }
	.bg-nav__list { display: flex; align-items: center; gap: clamp(16px, 1.9vw, 30px); padding: 0; }
	.bg-nav__list li { border: 0; }
	.bg-nav__list a { position: relative; min-height: 44px; font-family: var(--bg-f-sans) !important; font-size: .98rem !important; font-weight: 400 !important; letter-spacing: .01em; color: var(--bg-c-text) !important; }
	.bg-nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 8px; height: 1px; background: var(--bg-c-main); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
	.bg-nav__list a:hover::after, .bg-nav__list a:focus-visible::after { transform: scaleX(1); }
	.bg-nav__actions { flex-direction: row; align-items: center; gap: 12px; padding: 0 0 0 clamp(18px, 2.2vw, 34px); }
	.bg-nav__call { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 16px; background: transparent; border: 1px solid var(--bg-c-main); border-radius: 2px; color: var(--bg-c-ink); font-family: var(--bg-f-sans); font-size: .95rem; font-weight: 500; letter-spacing: .03em; cursor: pointer; white-space: nowrap; transition: background-color .2s ease, color .2s ease; }
	.bg-nav__call svg { width: 15px; height: 15px; color: var(--bg-c-main); transition: color .2s ease; }
	.bg-nav__call:hover { background: var(--bg-c-light); }
	.bg-nav__call:active { background: var(--bg-c-acc); }
	.bg-nav__book { align-self: auto; min-height: 46px; padding: .7rem 1.25rem; font-size: .85rem !important; }
	.bg-nav__book::after { display: none; }
}

/* ---------- HOME: wspólne moduły ---------- */
.bg-home { display: block; background: var(--bg-c-paper); overflow-x: clip; }
.bg-mod { position: relative; padding: clamp(72px, 9vw, 136px) 0; }
.bg-mod--white { background: var(--bg-c-white); }
.bg-mod__title { font-size: clamp(2.1rem, 1.2rem + 2.6vw, 3.35rem) !important; line-height: 1.06 !important; }
.bg-lead { font-size: 1.12rem; line-height: 1.7; color: var(--bg-c-muted); max-width: 38em; }
.bg-rule { border: 0; height: 1px; background: var(--bg-c-acc); margin: 0; opacity: 1; }

/* ---------- HERO ---------- */
.bg-hero { position: relative; padding: clamp(44px, 7vw, 104px) 0 clamp(48px, 7vw, 96px); background: var(--bg-c-paper); }
.bg-hero__grid { position: relative; display: grid; grid-template-columns: 1fr; }
.bg-hero__text { position: relative; z-index: 2; }
.bg-hero h1 { font-size: clamp(2.35rem, 1.25rem + 4.4vw, 5.15rem) !important; line-height: 1.02 !important; font-weight: 500 !important; letter-spacing: -.012em !important; color: var(--bg-c-ink) !important; max-width: 13.5em; margin: 0 0 clamp(26px, 3.4vw, 46px) !important; text-wrap: balance; }
.bg-hero__by { font-family: var(--bg-f-sans) !important; font-size: 1.08rem !important; line-height: 1.6 !important; font-weight: 400 !important; color: var(--bg-c-muted) !important; margin: 0 0 30px !important; max-width: 27em; }
.bg-hero__by strong { display: block; font-family: var(--bg-f-serif); font-size: 1.7rem; line-height: 1.2; font-weight: 600; color: var(--bg-c-ink); margin-bottom: 6px; }
.bg-hero__act { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
.bg-hero__form { margin: 0; }
.bg-hero__tel { color: var(--bg-c-ink) !important; text-decoration: none !important; font-size: 1rem !important; border-bottom: 1px solid var(--bg-c-sec); padding: 6px 0 2px; }
.bg-hero__tel:hover { border-bottom-color: var(--bg-c-deep); }
.bg-hero__tel span { color: var(--bg-c-muted); }
.bg-hero__note { position: relative; z-index: 2; margin-top: clamp(40px, 6vw, 72px); padding-top: 22px; border-top: 1px solid var(--bg-c-acc); max-width: 34em; }
.bg-hero__note h3 { font-family: var(--bg-f-serif) !important; font-style: italic; font-size: clamp(1.2rem, 1rem + .7vw, 1.5rem) !important; line-height: 1.4 !important; font-weight: 500 !important; color: var(--bg-c-text) !important; }
.bg-hero__plate { display: none; margin: 0; }
.bg-hero__plate svg { display: block; width: 100%; height: auto; overflow: visible; }
.bg-hero__plate .bg-ln { fill: none; stroke: var(--bg-c-main); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.bg-hero__plate .bg-ln--soft { stroke: var(--bg-c-sec); stroke-width: 1; }
.bg-hero__plate .bg-ln--acc { stroke: var(--bg-c-acc); stroke-width: 1; }
.bg-hero__plate .bg-pl { fill: var(--bg-c-light); }
.bg-hero__plate .bg-pl--acc { fill: var(--bg-c-acc); opacity: .55; }
.bg-hero__datum { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent 0, var(--bg-c-acc) 8%, var(--bg-c-acc) 92%, transparent 100%); }
@media (prefers-reduced-motion: no-preference) {
	.bg-hero__plate .bg-draw { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: bg-draw 2.2s cubic-bezier(.45, .05, .25, 1) .15s forwards; }
	.bg-hero__plate .bg-draw--2 { animation-delay: .55s; }
	.bg-hero__plate .bg-draw--3 { animation-delay: .9s; }
	@keyframes bg-draw { to { stroke-dashoffset: 0; } }
}
@media (min-width: 768px) {
	.bg-hero__plate { display: block; position: absolute; z-index: 1; right: var(--bg-gutter); top: -8px; width: min(33%, 400px); }
	.bg-hero__text { padding-right: 39%; }
	.bg-hero__note { max-width: 58%; }
}
@media (min-width: 1140px) {
	.bg-hero { padding-top: 92px; }
	.bg-hero__text { padding-right: 0; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 24px; }
	.bg-hero__text .bg-kicker, .bg-hero h1 { grid-column: 1 / span 8; }
	.bg-hero__by, .bg-hero__act { grid-column: 4 / span 5; }
	.bg-hero__note { margin-left: 0; max-width: 31em; }
	.bg-hero__plate { width: clamp(320px, 29vw, 400px); top: -20px; }
}

/* ---------- MODUŁ 1: rezultaty ---------- */
.bg-res { background: var(--bg-c-white); }
.bg-res__head { max-width: 760px; margin-bottom: clamp(48px, 6vw, 88px); }
.bg-res__head .bg-lead { margin-top: 22px; }
.bg-res__grid { display: grid; grid-template-columns: 1fr; gap: clamp(48px, 6vw, 96px); }
.bg-res__list { margin: 0; display: grid; gap: clamp(36px, 4.4vw, 60px); counter-reset: bgres; }
.bg-res__item { display: grid; grid-template-columns: 54px 1fr; column-gap: 18px; counter-increment: bgres; }
.bg-res__item::before { content: counter(bgres, upper-roman); grid-row: 1 / span 2; padding-top: .35rem; font-family: var(--bg-f-serif); font-size: 1.05rem; font-style: italic; color: var(--bg-c-label); border-top: 1px solid var(--bg-c-main); }
.bg-res__item dt { font-family: var(--bg-f-serif) !important; font-size: clamp(1.45rem, 1.1rem + 1vw, 1.9rem) !important; line-height: 1.18; font-weight: 500 !important; color: var(--bg-c-ink); margin: 0 0 10px; padding-top: .1rem; }
.bg-res__item dd { margin: 0; font-size: 1.02rem !important; line-height: 1.72; color: var(--bg-c-muted); max-width: 34em; }
.bg-res__scope { align-self: start; padding: clamp(28px, 3.4vw, 44px); background: var(--bg-c-paper); border: 1px solid var(--bg-c-acc); position: relative; }
.bg-res__scope::before { content: ""; position: absolute; top: -1px; left: -1px; width: 64px; height: 3px; background: var(--bg-c-main); }
.bg-res__scope h2 { font-size: clamp(1.5rem, 1.2rem + .9vw, 1.95rem) !important; line-height: 1.15 !important; margin-bottom: 22px !important; }
.bg-res__scope ul { list-style: none; margin: 0; padding: 0; }
.bg-res__scope li { position: relative; padding: 10px 0 10px 28px; border-bottom: 1px solid var(--bg-c-light); font-size: 1rem !important; line-height: 1.5; color: var(--bg-c-text); }
.bg-res__scope li:last-child { border-bottom: 0; }
.bg-res__scope li::before { content: ""; position: absolute; left: 0; top: 1.15em; width: 14px; height: 1px; background: var(--bg-c-main); }
@media (min-width: 992px) {
	.bg-res__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: start; }
	.bg-res__list { padding-right: 4%; }
	.bg-res__scope { margin-top: 8px; }
}

/* ---------- MODUŁ 2: korzyści ---------- */
.bg-ben { background: var(--bg-c-paper); }
.bg-ben__intro { max-width: 660px; margin: 0 auto clamp(64px, 8vw, 116px); padding-left: clamp(0px, 3vw, 40px); border-left: 1px solid var(--bg-c-acc); }
.bg-ben__intro h2 { font-size: clamp(1.8rem, 1.2rem + 1.8vw, 2.6rem) !important; line-height: 1.12 !important; margin-bottom: 22px !important; }
.bg-ben__intro { line-height: 1.8; }
.bg-ben__intro p { display: inline; font-size: 1.04rem !important; line-height: 1.8; color: var(--bg-c-text); }
.bg-ben__list > h2 { font-size: clamp(2.1rem, 1.2rem + 2.6vw, 3.35rem) !important; line-height: 1.06 !important; margin-bottom: clamp(28px, 3.5vw, 48px) !important; }
.bg-ben__row { display: grid; grid-template-columns: 1fr; gap: 10px 48px; padding: clamp(26px, 3.2vw, 44px) 0; border-top: 1px solid var(--bg-c-main); }
.bg-ben__row:last-child { border-bottom: 1px solid var(--bg-c-main); }
.bg-ben__row h3 { font-size: clamp(1.9rem, 1.15rem + 2.4vw, 3.2rem) !important; line-height: 1.04 !important; font-weight: 500 !important; color: var(--bg-c-ink) !important; }
.bg-ben__row p { margin: 0; font-size: 1.02rem !important; line-height: 1.75; color: var(--bg-c-muted); max-width: 32em; }
@media (min-width: 900px) {
	.bg-ben__intro { margin-left: 25%; margin-right: 0; }
	.bg-ben__row { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: baseline; }
	.bg-ben__row p { padding-top: .4rem; }
}

/* ---------- MODUŁ 3: etapy ---------- */
.bg-steps { background: var(--bg-c-white); }
.bg-steps__head { margin-bottom: clamp(44px, 6vw, 84px); }
.bg-steps__list { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: clamp(40px, 5vw, 64px); }
.bg-step { position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: clamp(18px, 2.6vw, 36px); padding-top: 22px; border-top: 1px solid var(--bg-c-acc); }
.bg-step__no { grid-row: 1 / span 6; font-family: var(--bg-f-serif); font-weight: 500; font-size: clamp(4.2rem, 2.6rem + 5vw, 8.4rem); line-height: .78; color: var(--bg-c-main); letter-spacing: -.03em; font-variant-numeric: lining-nums; }
.bg-step__phase { grid-column: 2; margin: 2px 0 14px !important; font-size: .76rem !important; font-weight: 500 !important; letter-spacing: .22em; text-transform: uppercase; color: var(--bg-c-label); }
.bg-step h3 { grid-column: 2; font-size: clamp(1.5rem, 1.15rem + 1vw, 2rem) !important; line-height: 1.15 !important; margin: 0 0 8px !important; }
.bg-step h3 + p { grid-column: 2; margin: 0 0 22px !important; font-size: 1.02rem !important; line-height: 1.72; color: var(--bg-c-muted); max-width: 30em; }
.bg-step h3 + p:last-child { margin-bottom: 0 !important; }
@media (min-width: 900px) {
	.bg-steps__list { gap: 0; }
	.bg-step { width: 56%; padding: 30px 0 46px; }
	.bg-step--2 { margin-left: 22%; }
	.bg-step--3 { margin-left: 44%; }
	.bg-step:not(:last-child)::after { content: ""; position: absolute; right: -11%; top: -1px; width: 11%; height: 1px; background: var(--bg-c-acc); }
}

/* ---------- MODUŁ 4: inżynier ---------- */
.bg-eng { background: var(--bg-c-paper); }
.bg-eng__main { display: grid; grid-template-columns: 1fr; gap: clamp(36px, 5vw, 80px); align-items: start; }
.bg-eng__photo { position: relative; margin: 0; max-width: 420px; }
.bg-eng__photo::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; background: var(--bg-c-light); z-index: 0; }
.bg-eng__photo img { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 12%; }
.bg-eng__name { margin: 0 0 4px !important; font-family: var(--bg-f-serif) !important; font-size: clamp(2.2rem, 1.4rem + 2.4vw, 3.4rem) !important; line-height: 1.02; font-weight: 500 !important; color: var(--bg-c-ink); }
.bg-eng__name small { display: block; font-family: var(--bg-f-sans); font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 500; color: var(--bg-c-label); margin-bottom: 12px; }
.bg-eng__loc { margin: 0 0 30px !important; font-size: .95rem !important; color: var(--bg-c-muted); }
.bg-eng__pull { margin: 0 0 32px !important; padding: 24px 0 0; border-top: 1px solid var(--bg-c-main); max-width: 24em; font-family: var(--bg-f-serif) !important; font-style: italic; font-size: clamp(1.45rem, 1.1rem + 1.1vw, 2.05rem) !important; line-height: 1.3; font-weight: 500 !important; color: var(--bg-c-deep); }
.bg-eng__bio { max-width: 36em; }
.bg-eng__bio p { font-size: 1.02rem !important; line-height: 1.78; color: var(--bg-c-text); }
.bg-eng__bio strong { font-weight: 500; color: var(--bg-c-ink); }
.bg-eng__in { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 6px; padding: 0 2px; color: var(--bg-c-ink) !important; text-decoration: none !important; border-bottom: 1px solid var(--bg-c-sec); font-size: .9rem !important; font-weight: 500 !important; letter-spacing: .14em; text-transform: uppercase; }
.bg-eng__in img { width: 20px; height: 20px; }
.bg-eng__in svg { width: 13px; height: 13px; color: var(--bg-c-main); }
.bg-eng__in:hover { border-bottom-color: var(--bg-c-deep); }
.bg-eng__more { display: grid; grid-template-columns: 1fr; gap: clamp(36px, 4vw, 56px); margin-top: clamp(72px, 9vw, 128px); padding-top: clamp(36px, 4vw, 56px); border-top: 1px solid var(--bg-c-acc); }
.bg-eng__more h2 { font-size: clamp(1.55rem, 1.2rem + 1vw, 2rem) !important; line-height: 1.15 !important; margin-bottom: 18px !important; }
.bg-eng__about { line-height: 1.78; }
.bg-eng__about p { display: inline; font-size: 1rem !important; line-height: 1.78; color: var(--bg-c-text); }
.bg-eng__places ul { list-style: none; margin: 0; padding: 0; }
.bg-eng__places li { padding: 8px 0; border-bottom: 1px solid var(--bg-c-light); font-size: .98rem !important; line-height: 1.45; color: var(--bg-c-text); }
.bg-eng__map { min-height: 320px; background: var(--bg-c-light); }
.bg-eng__map iframe { display: block; width: 100%; height: 100%; min-height: 320px; border: 0; filter: saturate(.75); }
.bg-eng__reviews { margin-top: clamp(56px, 7vw, 96px); }
.bg-eng__reviews > h2 { font-size: clamp(1.55rem, 1.2rem + 1vw, 2rem) !important; margin-bottom: 26px !important; }
.bg-eng__rv { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 28px; }
.bg-eng__rv li { margin: 0; padding: 0 0 0 20px; border-left: 1px solid var(--bg-c-acc); }
.bg-eng__rv p { margin: 0 0 10px !important; font-size: .96rem !important; line-height: 1.7; color: var(--bg-c-text); }
.bg-eng__rv .bg-eng__rv-who { margin: 0 !important; font-size: .8rem !important; font-weight: 500 !important; letter-spacing: .16em; text-transform: uppercase; color: var(--bg-c-label); }
@media (min-width: 900px) {
	.bg-eng__main { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
	.bg-eng__photo { margin-top: 10px; }
	.bg-eng__more { grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 4fr); }
	.bg-eng__rv { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
}

/* ---------- MODUŁ 5: CTA ---------- */
.bg-cta { background: var(--bg-c-white); padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px); }
.bg-cta__field { position: relative; padding: clamp(48px, 7vw, 104px) clamp(24px, 7vw, 112px); background: var(--bg-c-light); text-align: left; }
.bg-cta__field::before { content: ""; position: absolute; inset: 14px; border: 1px solid var(--bg-c-acc); pointer-events: none; }
.bg-cta__field::after { content: ""; position: absolute; right: clamp(24px, 6vw, 96px); top: 14px; bottom: 14px; width: 1px; background: var(--bg-c-acc); pointer-events: none; }
.bg-cta__in { position: relative; z-index: 1; max-width: 820px; }
.bg-cta__title { font-size: clamp(2.3rem, 1.2rem + 3.6vw, 4.4rem) !important; line-height: 1.03 !important; margin: 0 0 22px !important; font-weight: 500 !important; }
.bg-cta__title em { font-style: italic; color: var(--bg-c-deep); }
.bg-cta__sub { font-size: 1.06rem !important; line-height: 1.7; color: var(--bg-c-text); max-width: 34em; margin-bottom: 32px !important; }
.bg-cta__sub a { color: var(--bg-c-ink) !important; white-space: nowrap; }

/* ---------- MODUŁ 6: artykuł ---------- */
.bg-art { background: var(--bg-c-white); border-top: 1px solid var(--bg-c-acc); }
.bg-art__grid { display: grid; grid-template-columns: 1fr; gap: 36px; }
.bg-art__toc #toc { padding: 24px 26px; background: var(--bg-c-paper); border: 1px solid var(--bg-c-acc); }
.bg-art__toc #toc h3 { font-family: var(--bg-f-sans) !important; font-size: .76rem !important; font-weight: 500 !important; letter-spacing: .22em; text-transform: uppercase; color: var(--bg-c-label) !important; margin: 0 0 12px !important; }
.bg-art__toc #toc ol { margin: 0; padding-left: 1.1rem !important; }
.bg-art__toc #toc ol ol { padding-left: .9rem !important; }
.bg-art__toc #toc li { margin: 8px 0; font-size: .93rem !important; line-height: 1.45; color: var(--bg-c-muted); }
.bg-art__toc #toc a { color: var(--bg-c-text) !important; text-decoration: none !important; font-size: .93rem !important; }
.bg-art__toc #toc a:hover { color: var(--bg-c-label) !important; text-decoration: underline !important; }
.bg-art #contents { max-width: 44rem; color: var(--bg-c-text); }
.bg-art #contents > h2 { font-size: clamp(1.75rem, 1.25rem + 1.5vw, 2.45rem) !important; line-height: 1.12 !important; margin: 1.5em 0 .6em !important; padding-top: .7em; border-top: 1px solid var(--bg-c-acc); }
.bg-art #contents > h2:first-child { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.bg-art #contents h2 a, .bg-art #contents h3 a { color: inherit !important; text-decoration: none !important; font-size: inherit !important; font-weight: inherit !important; font-family: inherit !important; }
.bg-art #contents > h3 { font-size: clamp(1.35rem, 1.1rem + .8vw, 1.7rem) !important; font-weight: 600 !important; margin: 1.6em 0 .6em !important; }
.bg-art #contents > p { margin: 0 0 1.05em !important; font-size: 1.06rem !important; line-height: 1.8; text-align: left; }
.bg-art #contents i, .bg-art #contents em { font-style: italic; font-size: inherit !important; }
.bg-art #contents .text-center { margin: 2em 0 1.2em; }
.bg-art #contents .text-center p { margin: .7em 0 0 !important; font-size: .9rem !important; color: var(--bg-c-muted); text-align: center; }
.bg-art #contents img.or_014 { width: 100%; max-width: 520px; height: auto; border: 1px solid var(--bg-c-acc); padding: 8px; background: var(--bg-c-paper); }
.bg-art #contents table { width: 100%; margin: 1.2em 0 2em !important; border-collapse: collapse; border: 0; }
.bg-art #contents th, .bg-art #contents td { border: 0 !important; border-bottom: 1px solid var(--bg-c-acc) !important; padding: .8rem .6rem !important; font-size: 1rem !important; font-weight: 400; vertical-align: top; }
.bg-art #contents thead th { border-bottom: 1px solid var(--bg-c-main) !important; font-family: var(--bg-f-sans); font-size: .78rem !important; letter-spacing: .16em; text-transform: uppercase; color: var(--bg-c-label); }
.bg-art #contents thead th strong { font-weight: 500; }
.bg-art #contents td:last-child { font-family: var(--bg-f-serif); font-size: 1.2rem !important; font-weight: 600; color: var(--bg-c-ink); white-space: nowrap; }
.bg-art .homepage-rating-widget { margin: 3em 0 0; padding-top: 2em; border-top: 1px solid var(--bg-c-acc); color: var(--bg-c-muted); font-size: .95rem; }
.bg-art .homepage-rating-widget h3 { font-family: var(--bg-f-serif) !important; font-size: 1.5rem !important; color: var(--bg-c-ink) !important; margin: 0 0 6px !important; }
.bg-art .homepage-rating-widget #homepage-stars .star svg { color: #D5DAC2; width: 34px; height: 34px; }
.bg-art .homepage-rating-widget #homepage-stars .star.hover svg { color: var(--bg-c-sec); }
.bg-art .homepage-rating-widget #homepage-stars .star.selected svg { color: var(--bg-c-main); }
.bg-art .homepage-rating-widget #homepage-stars .star { font-size: 1rem !important; }
@media (min-width: 992px) {
	.bg-art__grid { grid-template-columns: 270px minmax(0, 1fr); gap: clamp(48px, 6vw, 96px); align-items: start; }
	.bg-art__toc { position: sticky; top: 104px; max-height: calc(100vh - 128px); overflow-y: auto; }
}

/* ---------- STOPKA ---------- */
.bg-ftr { background: var(--bg-c-light); color: var(--bg-c-text); }
.bg-ftr__top { padding: clamp(56px, 7vw, 96px) 0 clamp(44px, 5vw, 72px); }
.bg-ftr__grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
.bg-ftr__logo { display: inline-block; line-height: 0; }
.bg-ftr__logo img { display: block; width: 210px; height: auto; }
.bg-ftr__claim { margin: 22px 0 0; max-width: 20em; font-family: var(--bg-f-serif) !important; font-style: italic; font-size: 1.2rem !important; line-height: 1.4; color: var(--bg-c-muted); }
.bg-ftr h3 { font-family: var(--bg-f-sans) !important; font-size: .76rem !important; font-weight: 500 !important; letter-spacing: .22em; text-transform: uppercase; color: var(--bg-c-label) !important; margin: 0 0 18px !important; }
.bg-ftr__phone { display: inline-block; font-family: var(--bg-f-serif) !important; font-size: clamp(2rem, 1.5rem + 1.6vw, 2.8rem) !important; font-weight: 500 !important; line-height: 1.1; color: var(--bg-c-ink) !important; text-decoration: none !important; margin-bottom: 14px; }
.bg-ftr__phone:hover { color: var(--bg-c-deep) !important; }
.bg-ftr__mail { display: inline-block; color: var(--bg-c-ink) !important; font-size: 1.02rem !important; text-decoration: none !important; border-bottom: 1px solid var(--bg-c-sec); word-break: break-word; }
.bg-ftr__mail:hover { border-bottom-color: var(--bg-c-deep); }
.bg-ftr__addr { margin: 16px 0 0 !important; font-size: 1rem !important; color: var(--bg-c-text); }
.bg-ftr__nav ul { list-style: none; margin: 0; padding: 0; }
.bg-ftr__nav li { border-bottom: 1px solid var(--bg-c-acc); }
.bg-ftr__nav a { display: flex; align-items: center; min-height: 46px; color: var(--bg-c-ink) !important; text-decoration: none !important; font-size: 1rem !important; }
.bg-ftr__nav a:hover { color: var(--bg-c-label) !important; }
.bg-ftr__base { background: var(--bg-c-main); color: #fff; padding: 18px 0; }
.bg-ftr__base p { margin: 0; font-size: .88rem !important; line-height: 1.6; color: #fff; }
.bg-ftr__base a { color: #fff !important; text-decoration: underline; text-underline-offset: .2em; font-size: inherit !important; }
.bg-ftr__base :focus-visible { outline-color: #fff; }
@media (min-width: 900px) {
	.bg-ftr__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); gap: 56px; align-items: start; }
	.bg-ftr__logo img { width: 240px; }
}

/* ---------- BLOG ---------- */
.bg-blog { background: var(--bg-c-paper); padding: clamp(48px, 7vw, 104px) 0 clamp(72px, 9vw, 128px); min-height: 52vh; }
.bg-blog__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 28px; padding-bottom: clamp(24px, 3vw, 36px); margin-bottom: clamp(36px, 5vw, 64px); border-bottom: 1px solid var(--bg-c-main); }
.bg-blog__head h1 { font-size: clamp(3rem, 1.8rem + 4.6vw, 6rem) !important; line-height: .95 !important; font-weight: 500 !important; color: var(--bg-c-ink) !important; }
.bg-blog__head p { margin: 0; font-family: var(--bg-f-serif) !important; font-style: italic; font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem) !important; color: var(--bg-c-muted); }
.bg-blog__empty { max-width: 34em; padding: 28px 0 0 22px; border-left: 1px solid var(--bg-c-acc); font-size: 1.05rem !important; line-height: 1.75; color: var(--bg-c-text); }
.bg-blog__empty a { color: var(--bg-c-label) !important; text-decoration: underline; text-underline-offset: .2em; }
.bg-blog__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: clamp(36px, 4vw, 56px) clamp(24px, 3vw, 44px); }
.bg-blog__list > li { margin: 0; }
.bg-card { display: flex; flex-direction: column; height: 100%; color: inherit !important; text-decoration: none !important; }
.bg-card__img { position: relative; display: block; overflow: hidden; background: var(--bg-c-light); aspect-ratio: 3 / 2; margin-bottom: 20px; }
.bg-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.bg-card__body { display: block; padding-top: 16px; border-top: 1px solid var(--bg-c-acc); transition: border-color .2s ease; }
.bg-card__title { font-family: var(--bg-f-serif) !important; font-size: clamp(1.45rem, 1.2rem + .7vw, 1.75rem) !important; line-height: 1.15 !important; font-weight: 500 !important; color: var(--bg-c-ink) !important; margin: 0 0 10px !important; }
.bg-card__desc { display: block; margin: 0; font-size: .98rem !important; line-height: 1.65; color: var(--bg-c-muted); }
.bg-card__more { display: inline-block; margin-top: 14px; font-size: .76rem !important; font-weight: 500 !important; letter-spacing: .2em; text-transform: uppercase; color: var(--bg-c-label); }
.bg-card:hover .bg-card__body { border-top-color: var(--bg-c-main); }
.bg-card:hover .bg-card__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
@media (prefers-reduced-motion: no-preference) { .bg-card:hover .bg-card__img img { transform: scale(1.03); } }
@media (min-width: 700px) { .bg-blog__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
	.bg-blog__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bg-blog__list > li:first-child { grid-column: 1 / -1; }
	.bg-blog__list > li:first-child .bg-card { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 44px; align-items: end; }
	.bg-blog__list > li:first-child .bg-card__img { margin-bottom: 0; }
	.bg-blog__list > li:first-child .bg-card__title { font-size: clamp(2rem, 1.4rem + 1.2vw, 2.6rem) !important; }
}
