/* =====================================================================
 * 2G Studio – nowoczesny wygląd
 * Ładowany tylko gdy body ma klasę .twog-modern (patrz functions.php).
 * ===================================================================== */

.twog-modern {
	--ink: #151515;
	--text: #2b2b2b;
	--muted: #6f6a63;
	--line: #e4e0d9;
	--paper: #ffffff;
	--sand: #f4f1ec;
	--dark: #121212;
	--font: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
	--hdr: 76px;
	--gutter: clamp(16px, 4vw, 48px);
	--maxw: 1320px;
	--ease: cubic-bezier(.2, .7, .2, 1);
}

@media (max-width: 800px) {
	.twog-modern { --hdr: 64px; }
}

/* ---------- Typografia ---------- */

html body.twog-modern,
.twog-modern #site-wrapper,
.twog-modern p,
.twog-modern li,
.twog-modern a,
.twog-modern h1, .twog-modern h2, .twog-modern h3,
.twog-modern h4, .twog-modern h5, .twog-modern h6,
.twog-modern #access ul li a,
.twog-modern .widget-container,
.twog-modern .entry-title,
.twog-modern figcaption,
.twog-modern cite,
.twog-modern blockquote,
.twog-modern .elementor-heading-title,
.twog-modern .elementor-widget-text-editor,
.twog-modern input, .twog-modern button {
	font-family: var(--font);
}

html body.twog-modern {
	font-size: 16px;
	line-height: 1.7;
	font-weight: 400;
	color: var(--text);
	background: var(--paper);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.twog-modern #site-wrapper { overflow-x: clip; }

.twog-modern a { transition: color .25s ease, opacity .25s ease; }

.twog-modern ::selection { background: var(--ink); color: #fff; }

/* ---------- Nagłówek ---------- */

body.twog-modern { margin-top: 0; }

body.twog-modern #masthead.cryout #site-header-main,
body.twog-modern #masthead.cryout #site-header-main.header-fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}

body.twog-modern.admin-bar #masthead.cryout #site-header-main { top: 32px; }

@media (max-width: 782px) {
	body.twog-modern.admin-bar #masthead.cryout #site-header-main { top: 46px; }
}

body.twog-modern #masthead #site-header-main {
	height: var(--hdr);
	/* bez backdrop-filter – psuje pozycję menu mobilnego (position: fixed) */
	background: #fff;
	box-shadow: none;
	border-bottom: 1px solid transparent;
	transition: border-color .3s ease, box-shadow .3s ease;
	z-index: 1000;
}

body.twog-modern.twog-scrolled #masthead #site-header-main {
	border-bottom-color: var(--line);
	box-shadow: 0 8px 30px rgba(0, 0, 0, .05);
}

body.twog-modern #site-header-main-inside {
	background: transparent;
	height: var(--hdr);
	max-width: none;
	padding: 0 var(--gutter);
	display: flex;
	align-items: center;
}

body.twog-modern #branding,
body.twog-modern .identity {
	height: var(--hdr);
	line-height: var(--hdr);
	display: flex;
	align-items: center;
}

body.twog-modern #branding { margin-right: auto; padding: 0; }

body.twog-modern .identity img.custom-logo,
body.twog-modern #logo img {
	max-height: 42px;
	width: auto;
	height: auto;
	display: block;
}

body.twog-modern #sheader {
	height: var(--hdr);
	line-height: var(--hdr);
	order: 3;
	margin: 0 0 0 12px;
}

body.twog-modern #access {
	order: 2;
	background: transparent;
}

body.twog-modern #access::after { background: transparent; }

body.twog-modern #access > div > ul > li > a {
	line-height: var(--hdr);
	padding: 0 18px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink);
	background: transparent;
	position: relative;
}

body.twog-modern #access > div > ul > li > a .twog-menu-text {
	position: relative;
	padding: 6px 0;
}

body.twog-modern #access > div > ul > li > a .twog-menu-text::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--ink);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .4s var(--ease);
}

body.twog-modern #access > div > ul > li:hover > a,
body.twog-modern #access > div > ul > li > a:focus {
	background: transparent;
	color: var(--ink);
}

body.twog-modern #access > div > ul > li:hover > a .twog-menu-text::after,
body.twog-modern #access > div > ul > li.current-menu-item > a .twog-menu-text::after,
body.twog-modern #access > div > ul > li.current_page_item > a .twog-menu-text::after,
body.twog-modern #access > div > ul > li.current-menu-ancestor > a .twog-menu-text::after,
body.twog-modern #access > div > ul > li.current_page_ancestor > a .twog-menu-text::after {
	transform: scaleX(1);
	transform-origin: left;
}

body.twog-modern #access ul > li.current_page_item > a,
body.twog-modern #access ul > li.current-menu-item > a,
body.twog-modern #access ul > li.current_page_ancestor > a,
body.twog-modern #access ul > li.current-menu-ancestor > a {
	border-top-color: transparent;
}

body.twog-modern #access > div > ul > li.menu-search-animated:hover i,
body.twog-modern #access i.search-icon { color: var(--ink); }

body.twog-modern .socials a:before { color: var(--ink); }

/* Treść pod stałym nagłówkiem */
body.twog-modern #header-image-main { margin-top: var(--hdr); }
body.twog-modern #content { margin-top: 0; }

/* ---------- Menu mobilne ---------- */

body.twog-modern #nav-toggle {
	display: none;
	position: relative;
	order: 4;
	width: 44px;
	height: 44px;
	line-height: 44px;
	padding: 0;
	margin-right: -10px;
	top: auto;
	right: auto;
}

body.twog-modern #nav-toggle span {
	position: absolute;
	left: 11px;
	right: 11px;
	top: 50%;
	height: 2px;
	margin-top: -1px;
	background: var(--ink);
	box-shadow: 0 -7px 0 var(--ink), 0 7px 0 var(--ink);
	font-size: 0;
}

body.twog-modern #nav-toggle span::before { content: none; }

@media (max-width: 800px) {
	body.twog-modern #nav-toggle { display: block; }
	body.twog-modern #masthead #access { display: none; }
	body.twog-modern #sheader { margin-right: 4px; }
}

body.twog-modern nav#mobile-menu {
	background: var(--paper);
	color: var(--ink);
	padding: calc(var(--hdr) + 24px) var(--gutter) 40px;
}

body.twog-modern nav#mobile-menu #nav-cancel {
	position: absolute;
	top: 10px;
	right: calc(var(--gutter) - 10px);
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	font-size: 0;
}

body.twog-modern nav#mobile-menu #nav-cancel i { display: none; }

body.twog-modern nav#mobile-menu > div { width: auto; max-width: none; margin: 0; padding: 0; }

body.twog-modern nav#mobile-menu #smobile { text-align: left; }

body.twog-modern nav#mobile-menu .menu-main-search { display: none; }

body.twog-modern #nav-cancel::before,
body.twog-modern #nav-cancel::after {
	content: "";
	position: absolute;
	left: 10px;
	right: 10px;
	top: 50%;
	height: 2px;
	background: var(--ink);
	transform: rotate(45deg);
}

body.twog-modern #nav-cancel::after { transform: rotate(-45deg); }

body.twog-modern #mobile-menu #mobile-nav { margin: 0; padding: 0; }

body.twog-modern #mobile-menu #mobile-nav > li { border-bottom: 1px solid var(--line); }

body.twog-modern #mobile-menu #mobile-nav > li > a {
	display: block;
	padding: 18px 0;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 400;
	letter-spacing: -.01em;
	text-transform: none;
	color: var(--ink);
}

body.twog-modern #mobile-menu #mobile-nav > li.current-menu-item > a,
body.twog-modern #mobile-menu #mobile-nav > li.current_page_ancestor > a { font-weight: 700; }

body.twog-modern #mobile-menu #smobile {
	margin-top: 32px;
	height: auto;
	line-height: normal;
}

/* ---------- Elementy wspólne ---------- */

.twog-wrap {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--gutter);
	box-sizing: border-box;
}

.twog-section { padding: clamp(72px, 10vw, 140px) 0; }
.twog-section--sand { background: var(--sand); }

.twog-modern .twog-eyebrow {
	margin: 0 0 18px;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .8);
}

.twog-modern .twog-eyebrow--dark { color: var(--muted); }

.twog-modern .twog-h2 {
	margin: 0;
	font-size: clamp(30px, 4.2vw, 54px);
	line-height: 1.1;
	font-weight: 300;
	letter-spacing: -.025em;
	color: var(--ink);
}

.twog-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 36px;
}

.twog-modern a.twog-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 30px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid currentColor;
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.twog-modern a.twog-btn--light { background: #fff; border-color: #fff; color: var(--ink); }
.twog-modern a.twog-btn--light:hover { background: transparent; color: #fff; }
.twog-modern a.twog-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .6); }
.twog-modern a.twog-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--ink); }
.twog-modern a.twog-btn--dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.twog-modern a.twog-btn--dark:hover { background: transparent; color: var(--ink); }

.twog-modern a.twog-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	white-space: nowrap;
}

.twog-modern a.twog-link::after {
	content: "";
	width: 36px;
	height: 1px;
	background: currentColor;
	transition: width .4s var(--ease);
}

.twog-modern a.twog-link:hover::after { width: 56px; }

/* Animacja pojawiania się */
.twog-js .twog-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .9s var(--ease), transform .9s var(--ease);
}

.twog-js .twog-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.twog-js .twog-reveal { opacity: 1; transform: none; transition: none; }
}

/* ---------- Strona główna: hero ---------- */

.twog-modern.home #content,
.twog-modern .fluida-landing-page #main { padding: 0; }

.twog-modern .twog-slider {
	position: relative;
	height: max(520px, calc(100vh - var(--hdr)));
	height: max(520px, calc(100svh - var(--hdr)));
	overflow: hidden;
	background: var(--dark);
}

.twog-slides,
.twog-slides__item {
	position: absolute;
	inset: 0;
	margin: 0;
}

.twog-slides__item {
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.6s ease, visibility 0s linear 1.6s;
}

.twog-slides__item.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity 1.6s ease, visibility 0s;
}

.twog-modern img.twog-slides__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transform: scale(1.06);
}

.twog-slides__item.is-active img.twog-slides__img {
	transform: scale(1);
	transition: transform 9s ease-out;
}

@media (prefers-reduced-motion: reduce) {
	.twog-modern img.twog-slides__img,
	.twog-slides__item.is-active img.twog-slides__img { transform: none; transition: none; }
}

/* podpis zdjęcia – nazwa projektu */
.twog-slides__item figcaption {
	position: absolute;
	right: var(--gutter);
	bottom: 64px;
	z-index: 7;
	margin: 0;
	padding: 0;
	background: none;
	text-align: right;
}

.twog-modern .twog-slides__item figcaption a {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .85);
	text-decoration: none;
}

.twog-modern .twog-slides__item figcaption a::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 1px;
	margin: 0 12px 4px 0;
	background: currentColor;
	vertical-align: middle;
}

.twog-modern .twog-slides__item figcaption a:hover { color: #fff; }

.twog-slides__nav {
	position: absolute;
	right: var(--gutter);
	bottom: 36px;
	z-index: 7;
	display: flex;
	gap: 8px;
}

.twog-modern .twog-slides__nav button {
	width: 28px;
	height: 14px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: linear-gradient(rgba(255, 255, 255, .4), rgba(255, 255, 255, .4)) center / 100% 2px no-repeat;
	cursor: pointer;
}

.twog-modern .twog-slides__nav button.is-active {
	background-image: linear-gradient(#fff, #fff);
}

@media (max-width: 800px) {
	.twog-slides__item figcaption { left: var(--gutter); right: auto; bottom: 22px; text-align: left; }
	.twog-slides__nav { display: none; }
}

.twog-hero {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex;
	align-items: flex-end;
	pointer-events: none;
	background:
		linear-gradient(to top, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .35) 38%, rgba(0, 0, 0, 0) 70%),
		linear-gradient(to right, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0) 60%);
}

.twog-hero__inner {
	width: 100%;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--gutter) clamp(56px, 9vh, 110px);
	box-sizing: border-box;
	pointer-events: auto;
	color: #fff;
	animation: twog-rise 1.2s var(--ease) .2s both;
}

@keyframes twog-rise {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: none; }
}

.twog-modern h1.twog-hero__title {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(38px, 7vw, 96px);
	line-height: 1.02;
	font-weight: 300;
	letter-spacing: -.035em;
	color: #fff;
	text-shadow: 0 2px 30px rgba(0, 0, 0, .25);
}

.twog-hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 22px;
	width: 1px;
	height: 44px;
	pointer-events: auto;
	overflow: hidden;
	background: rgba(255, 255, 255, .3);
}

.twog-hero__scroll span {
	position: absolute;
	left: 0;
	top: -44px;
	width: 1px;
	height: 44px;
	background: #fff;
	animation: twog-scroll 2.2s var(--ease) infinite;
}

@keyframes twog-scroll {
	to { top: 44px; }
}

@media (max-width: 800px) {
	.twog-hero__scroll { display: none; }
	.twog-hero__inner { padding-bottom: 72px; }
}

/* ---------- O pracowni ---------- */

.twog-about__grid {
	display: grid;
	grid-template-columns: 5fr 6fr;
	gap: clamp(32px, 7vw, 120px);
	align-items: start;
}

.twog-about__body p {
	margin: 0 0 1.2em;
	font-size: 17px;
	line-height: 1.8;
	color: var(--text);
}

.twog-about__body p:first-child {
	font-size: clamp(19px, 1.7vw, 22px);
	line-height: 1.6;
	color: var(--ink);
}

.twog-facts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 40px 0 40px;
	padding: 32px 0 0;
	border-top: 1px solid var(--line);
}

.twog-facts dt {
	font-size: clamp(26px, 3vw, 40px);
	line-height: 1.1;
	font-weight: 300;
	letter-spacing: -.02em;
	color: var(--ink);
}

.twog-facts dd {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--muted);
}

.twog-services,
.twog-steps {
	list-style: none;
	margin: clamp(56px, 8vw, 110px) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--line);
}

.twog-services li,
.twog-steps li {
	margin: 0;
	padding: 36px 32px 8px 0;
}

.twog-services li + li,
.twog-steps li + li {
	padding-left: 32px;
	border-left: 1px solid var(--line);
}

.twog-services__num,
.twog-steps__num {
	display: block;
	margin-bottom: 28px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .16em;
	color: var(--muted);
}

.twog-modern .twog-services h3,
.twog-modern .twog-steps h3 {
	margin: 0 0 12px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 500;
	letter-spacing: -.01em;
	color: var(--ink);
}

.twog-services p,
.twog-steps p {
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
	color: var(--muted);
}

/* ---------- Wybrane projekty / karty ---------- */

.twog-section__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px 48px;
	margin-bottom: clamp(36px, 5vw, 64px);
}

.twog-section__lead {
	max-width: 480px;
	margin: 0;
	font-size: 16px;
	line-height: 1.75;
	color: var(--muted);
}

.twog-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(28px, 3vw, 44px) clamp(16px, 2vw, 28px);
}

.twog-modern a.twog-card {
	display: block;
	text-decoration: none;
	color: var(--ink);
}

.twog-card__media {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #e9e5df;
}

.twog-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.1s var(--ease);
}

.twog-card:hover .twog-card__media img { transform: scale(1.05); }

.twog-card__title {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 16px;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 500;
}

.twog-card__title::after {
	content: "→";
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity .3s ease, transform .3s ease;
}

.twog-card:hover .twog-card__title::after { opacity: 1; transform: none; }

/* ---------- Proces ---------- */

.twog-steps { grid-template-columns: repeat(4, 1fr); margin-top: 0; }

/* ---------- Nagrody ---------- */

.twog-award {
	background: var(--dark);
	color: rgba(255, 255, 255, .78);
}

.twog-award__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}

.twog-award__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.twog-award__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.twog-modern .twog-award .twog-h2 { color: #fff; }

.twog-awards {
	list-style: none;
	margin: 36px 0 0;
	padding: 0;
}

.twog-awards li {
	margin: 0;
	padding: 26px 0;
	border-top: 1px solid rgba(255, 255, 255, .14);
}

.twog-awards__meta {
	display: block;
	margin-bottom: 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}

.twog-modern .twog-awards h3 {
	margin: 0 0 10px;
	font-size: 21px;
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}

.twog-modern .twog-awards p {
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
	color: rgba(255, 255, 255, .7);
}

.twog-modern .twog-quote {
	margin: 12px 0 0;
	padding: 28px 0 0 0;
	border-top: 1px solid rgba(255, 255, 255, .14);
	border-left: 0;
	background: none;
	font-style: normal;
}

.twog-modern .twog-quote::before,
.twog-modern .twog-quote::after { content: none; }

.twog-modern .twog-quote p {
	margin: 0 0 12px;
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.45;
	font-weight: 300;
	color: #fff;
}

.twog-modern .twog-quote cite {
	font-size: 13px;
	font-style: normal;
	color: rgba(255, 255, 255, .55);
}

/* ---------- CTA kontakt ---------- */

.twog-cta { background: var(--sand); }

.twog-cta__grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: end;
}

.twog-cta__text {
	max-width: 520px;
	margin: 24px 0 0;
	font-size: 17px;
	line-height: 1.75;
	color: var(--text);
}

.twog-modern .twog-cta__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.twog-modern .twog-cta__list li {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 16px;
	align-items: baseline;
	margin: 0;
	padding: 20px 0;
	border-bottom: 1px solid var(--line);
}

.twog-modern .twog-cta__list li:first-child { border-top: 1px solid var(--line); }

.twog-cta__list span {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--muted);
}

.twog-modern .twog-cta__list a {
	font-size: clamp(17px, 1.6vw, 21px);
	font-weight: 500;
	color: var(--ink);
	text-decoration: none;
	word-break: break-word;
}

.twog-modern .twog-cta__list a:hover { opacity: .6; }

/* ---------- Podstrony: wspólne ---------- */

.twog-modern:not(.home) #container {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: clamp(40px, 6vw, 80px) var(--gutter) clamp(56px, 7vw, 96px);
	box-sizing: border-box;
	float: none;
}

.twog-modern:not(.home) #container .main { width: 100%; float: none; }

.twog-modern article.hentry .article-inner { padding: 0; }

.twog-modern.fluida-hide-page-title .page h1.entry-title { display: block !important; }

.twog-modern .main h1.entry-title {
	margin: 0 0 clamp(28px, 4vw, 48px);
	font-size: clamp(36px, 5.5vw, 68px);
	line-height: 1.05;
	font-weight: 300;
	letter-spacing: -.03em;
	color: var(--ink);
}

.twog-modern .main .entry-content { font-size: 16px; }

.twog-page-intro {
	max-width: 820px;
	margin: 0 0 clamp(40px, 6vw, 72px);
}

.twog-modern .twog-page-intro__lead {
	margin: 0;
	font-size: clamp(18px, 1.7vw, 22px);
	line-height: 1.65;
	color: var(--ink);
}

/* Puste sekcje i kolumny Elementora nie zajmują miejsca na telefonie */
.twog-modern .elementor-top-section:not(:has(.elementor-widget)) { display: none; }

@media (max-width: 767px) {
	.twog-modern .elementor-column:not(:has(.elementor-widget)) { display: none; }
}

/* Strony Elementora bez ramki motywu (Projekty, pojedyncze projekty) */
.twog-modern.page-template-elementor_header_footer #content > .elementor {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: clamp(40px, 6vw, 80px) var(--gutter) clamp(56px, 7vw, 96px);
	box-sizing: border-box;
}

.twog-modern.page-template-elementor_header_footer .elementor-section .elementor-container { max-width: none; }

.twog-modern.page-template-elementor_header_footer .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 0; }

.twog-modern.page-template-elementor_header_footer .elementor-top-section:first-child .elementor-widget-heading:first-child .elementor-heading-title {
	margin: 0 0 clamp(28px, 4vw, 48px);
	font-size: clamp(36px, 5.5vw, 68px);
	line-height: 1.05;
	font-weight: 300;
	letter-spacing: -.03em;
	color: var(--ink);
}

/* Podmenu "Projekty / Projekty Wnętrz" jako zakładki */
.twog-modern .elementor-widget-sidebar .widget-container { margin: 0; padding: 0; }
.twog-modern .elementor-widget-sidebar .widget-container::after { display: none; }

.twog-modern .elementor-widget-sidebar ul.menu {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.twog-modern .elementor-widget-sidebar ul.menu li {
	margin: 0;
	padding: 0;
	border: 0;
}

.twog-modern .elementor-widget-sidebar ul.menu li::before { display: none; }

.twog-modern .elementor-widget-sidebar ul.menu a {
	display: inline-block;
	padding: 10px 18px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink);
	border: 1px solid var(--line);
	border-radius: 999px;
	text-decoration: none;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.twog-modern .elementor-widget-sidebar ul.menu a:hover { border-color: var(--ink); }

.twog-modern .elementor-widget-sidebar ul.menu .current-menu-item a {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

/* ---------- Projekty + Nagrody: siatka kart ---------- */

.twog-modern.page-id-579 .elementor-top-section:has(.elementor-widget-image) > .elementor-container,
.twog-modern.page-id-207 .elementor-top-section:has(.elementor-widget-image) > .elementor-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(28px, 3vw, 44px) clamp(16px, 2vw, 28px);
}

.twog-modern.page-id-579 .elementor-top-section:has(.elementor-widget-image) > .elementor-container > .elementor-column,
.twog-modern.page-id-579 .elementor-top-section:has(.elementor-widget-image) .elementor-widget-wrap,
.twog-modern.page-id-207 .elementor-top-section:has(.elementor-widget-image) > .elementor-container > .elementor-column,
.twog-modern.page-id-207 .elementor-top-section:has(.elementor-widget-image) .elementor-widget-wrap {
	display: contents;
}

.twog-modern.page-id-579 .elementor-widget-sidebar {
	grid-column: 1 / -1;
	order: -1;
	margin: 0 0 8px;
}

.twog-modern.page-id-579 .elementor-widget-image,
.twog-modern.page-id-207 .elementor-widget-image {
	width: auto;
	margin: 0 !important;
}

.twog-modern.page-id-579 .elementor-widget-image figure.wp-caption,
.twog-modern.page-id-207 .elementor-widget-image figure.wp-caption {
	display: block;
	width: 100% !important;
	max-width: none;
	margin: 0;
	text-align: left;
}

.twog-modern.page-id-579 .elementor-widget-image a,
.twog-modern.page-id-207 .elementor-widget-image a {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #e9e5df;
}

.twog-modern.page-id-579 .elementor-widget-image img,
.twog-modern.page-id-207 .elementor-widget-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transition: transform 1.1s var(--ease);
}

.twog-modern.page-id-579 .elementor-widget-image a:hover img,
.twog-modern.page-id-207 .elementor-widget-image a:hover img { transform: scale(1.05); }

.twog-modern.page-id-579 .elementor-widget-image figcaption,
.twog-modern.page-id-207 .elementor-widget-image figcaption,
body.twog-modern.page-id-207 .elementor-widget-image .widget-image-caption {
	text-align: left !important;
	margin: 16px 0 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 500;
	text-align: left;
	color: var(--ink);
	background: none;
}

/* ---------- Pojedynczy projekt: galeria ---------- */

.twog-modern.parent-pageid-579 .elementor-top-section > .elementor-container {
	flex-direction: column;
	flex-wrap: nowrap;
}

.twog-modern.parent-pageid-579 .elementor-top-section > .elementor-container > .elementor-column { width: 100%; }

.twog-modern.parent-pageid-579 .elementor-top-section > .elementor-container > .elementor-column:has(.elementor-widget-sidebar) {
	order: -1;
	margin-bottom: 28px;
}

.twog-modern.parent-pageid-579 .elementor-top-section:first-child .elementor-widget-heading:first-child .elementor-heading-title { margin-bottom: 32px; }

.twog-modern.parent-pageid-579 .gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(10px, 1.4vw, 18px);
	margin: 0 !important;
}

.twog-modern.parent-pageid-579 .gallery br { display: none; }

.twog-modern.parent-pageid-579 .gallery .gallery-item {
	width: auto !important;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
	float: none;
}

.twog-modern.parent-pageid-579 .gallery .gallery-item:first-child,
.twog-modern.parent-pageid-579 .gallery .gallery-item:last-child:nth-child(even) { grid-column: 1 / -1; }

.twog-modern.parent-pageid-579 .gallery .gallery-item:last-child:nth-child(even) .gallery-icon a { aspect-ratio: 16 / 8; }

/* Elementor narzuca własne fonty nagłówkom i podpisom */
body.twog-modern .elementor-widget-heading .elementor-heading-title,
body.twog-modern .elementor-widget-image .widget-image-caption,
body.twog-modern .elementor-widget-sidebar a {
	font-family: var(--font) !important;
}

body.twog-modern.page-id-579 .elementor-widget-image .widget-image-caption,
body.twog-modern.page-id-207 .elementor-widget-image .widget-image-caption {
	font-size: 16px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	color: var(--ink) !important;
}

.twog-modern.parent-pageid-579 .gallery .gallery-icon a {
	display: block;
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: #e9e5df;
	cursor: zoom-in;
}

.twog-modern.parent-pageid-579 .gallery .gallery-item:first-child .gallery-icon a { aspect-ratio: 16 / 8; }

.twog-modern.parent-pageid-579 .gallery img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border: 0 !important;
	transition: transform 1.1s var(--ease);
}

.twog-modern.parent-pageid-579 .gallery .gallery-icon a:hover img { transform: scale(1.03); }

.twog-modern.parent-pageid-579 .gallery .gallery-caption { display: none; }

/* ---------- Pracownia: zespół ---------- */

.twog-modern.page-id-352 .elementor-element-278c597 { display: none !important; }

.twog-modern.page-id-352 .elementor-top-section:has(.elementor-widget-image) > .elementor-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(32px, 4vw, 56px) clamp(16px, 2.4vw, 32px);
}

.twog-modern.page-id-352 .elementor-top-section:has(.elementor-widget-image) > .elementor-container > .elementor-column { width: 100% !important; }

.twog-modern.page-id-352 .elementor-column > .elementor-element-populated { padding: 0; }

.twog-modern.page-id-352 .elementor-widget-image { margin: 0 !important; }

.twog-modern.page-id-352 .elementor-widget-image .elementor-widget-container {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--sand);
}

.twog-modern.page-id-352 .elementor-widget-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center top;
	filter: grayscale(1);
	transition: filter .6s ease, transform 1.1s var(--ease);
}

.twog-modern.page-id-352 .elementor-column:hover .elementor-widget-image img { transform: scale(1.03); }

/* Brak zdjęcia – elegancki znak zastępczy */
.twog-modern.page-id-352 .elementor-widget-image img[src*="PUSTE"] { opacity: 0; }

.twog-modern.page-id-352 .elementor-widget-image .elementor-widget-container:has(img[src*="PUSTE"]) {
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%23b9b2a8' stroke-width='1.5'%3E%3Ccircle cx='60' cy='46' r='20'/%3E%3Cpath d='M22 108c4-22 20-34 38-34s34 12 38 34'/%3E%3C/svg%3E") center 58% / 34% no-repeat,
		var(--sand);
}

.twog-modern.page-id-352 .elementor-widget-heading { margin: 18px 0 0 !important; }

.twog-modern.page-id-352 .elementor-heading-title {
	font-size: 17px;
	line-height: 1.4;
	font-weight: 500;
	text-align: left;
	color: var(--ink);
}

.twog-modern.page-id-352 .elementor-heading-title strong { font-weight: 500; }

/* ---------- Kontakt ---------- */

.twog-modern.page-id-57 .main .entry-content {
	max-width: 860px;
	display: grid;
	grid-template-columns: 1fr;
}

.twog-modern.page-id-57 .entry-content .wp-block-group { margin: 0; }

.twog-modern.page-id-57 .entry-content h4 {
	margin: 0 0 8px;
	font-size: 20px;
	line-height: 1.35;
	font-weight: 500;
	letter-spacing: -.01em;
	color: var(--ink);
}

.twog-modern.page-id-57 .entry-content h4 strong { font-weight: 500; }

.twog-modern.page-id-57 .entry-content > .wp-block-group:first-child h4 {
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 300;
}

.twog-modern.page-id-57 .entry-content p {
	margin: 0 0 4px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--muted);
}

.twog-modern.page-id-57 .entry-content p:empty { display: none; }

.twog-modern.page-id-57 .entry-content a {
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--line);
}

.twog-modern.page-id-57 .entry-content a:hover { border-bottom-color: var(--ink); }

.twog-modern.page-id-57 .entry-content hr,
.twog-modern.page-id-57 .entry-content hr.wp-block-separator {
	width: 100%;
	max-width: none;
	height: 1px;
	margin: 28px 0;
	border: 0;
	background: var(--line) !important;
	color: var(--line) !important;
	opacity: 1;
}

/* ---------- Stopka ---------- */

.twog-modern #colophon:not(:has(.widget-container)) { display: none; }

body.twog-modern #footer {
	background: var(--dark);
	color: rgba(255, 255, 255, .7);
	border-top: 0;
}

body.twog-modern #footer-inside {
	max-width: none;
	padding: 0;
	display: block;
}

body.twog-modern #footer-inside > .twog-footer {
	display: block;
	width: 100%;
	margin: 0;
	text-align: left !important;
}

.twog-footer { padding: clamp(56px, 7vw, 96px) 0 32px; }

.twog-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: clamp(40px, 6vw, 72px);
}

.twog-footer__bottom::before {
	content: "";
	position: absolute;
	top: 0;
	left: var(--gutter);
	right: var(--gutter);
	height: 1px;
	background: rgba(255, 255, 255, .12);
}

.twog-footer__brand strong {
	display: block;
	margin-bottom: 12px;
	font-size: 26px;
	font-weight: 300;
	letter-spacing: -.02em;
	color: #fff;
}

.twog-footer__brand span,
.twog-modern .twog-footer p {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: rgba(255, 255, 255, .62);
}

.twog-footer__label {
	display: block;
	margin-bottom: 14px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .4);
}

body.twog-modern #footer .twog-footer a {
	color: rgba(255, 255, 255, .85);
	text-decoration: none;
}

body.twog-modern #footer .twog-footer a:hover { color: #fff; }

.twog-modern .twog-footer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.twog-modern .twog-footer__menu .menu-main-search { display: none; }

.twog-modern .twog-footer__menu li {
	margin: 0;
	font-size: 14px;
	line-height: 1.9;
}

.twog-footer__bottom {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-top: 28px;
	font-size: 13px;
	color: rgba(255, 255, 255, .45);
}

body.twog-modern #toTop {
	right: 20px;
	bottom: 20px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
}

/* ---------- Responsywność ---------- */

@media (max-width: 1100px) {
	.twog-cards,
	.twog-modern.page-id-579 .elementor-top-section:has(.elementor-widget-image) > .elementor-container,
	.twog-modern.page-id-207 .elementor-top-section:has(.elementor-widget-image) > .elementor-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.twog-steps { grid-template-columns: repeat(2, 1fr); }
	.twog-steps li:nth-child(3) { padding-left: 0; border-left: 0; }
	.twog-steps li:nth-child(n+3) { border-top: 1px solid var(--line); }

	.twog-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
	.twog-about__grid,
	.twog-award__grid,
	.twog-cta__grid { grid-template-columns: 1fr; }

	.twog-award__media { aspect-ratio: 16 / 11; }

	.twog-services { grid-template-columns: 1fr; }
	.twog-services li,
	.twog-services li + li {
		padding: 28px 0;
		border-left: 0;
	}
	.twog-services li + li { border-top: 1px solid var(--line); }
	.twog-services__num { margin-bottom: 12px; }

	.twog-modern.page-id-352 .elementor-top-section:has(.elementor-widget-image) > .elementor-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.twog-section__head {
		flex-direction: column;
		align-items: flex-start;
	}

	.twog-cards,
	.twog-modern.page-id-579 .elementor-top-section:has(.elementor-widget-image) > .elementor-container,
	.twog-modern.page-id-207 .elementor-top-section:has(.elementor-widget-image) > .elementor-container {
		grid-template-columns: 1fr;
	}

	.twog-steps { grid-template-columns: 1fr; }
	.twog-steps li,
	.twog-steps li + li {
		padding: 28px 0;
		border-left: 0;
	}
	.twog-steps li + li { border-top: 1px solid var(--line); }
	.twog-steps__num { margin-bottom: 12px; }

	.twog-facts { gap: 12px; }
	.twog-facts dt { font-size: 24px; }

	.twog-actions { flex-direction: column; align-items: stretch; }

	.twog-modern.parent-pageid-579 .gallery { grid-template-columns: 1fr; }
	.twog-modern.parent-pageid-579 .gallery .gallery-item:first-child .gallery-icon a { aspect-ratio: 3 / 2; }

	.twog-modern.page-id-352 .elementor-heading-title { font-size: 15px; }

	.twog-modern .twog-cta__list li { grid-template-columns: 1fr; gap: 4px; }

	.twog-footer__grid { grid-template-columns: 1fr; gap: 28px; }
	.twog-footer__bottom { flex-direction: column; }
}

/* =====================================================================
 * Ikony, mozaika projektów, pasek haseł, wizytówka kontaktu (v2)
 * ===================================================================== */

.twog-modern .twog-icon {
	width: 1.25em;
	height: 1.25em;
	flex: none;
	vertical-align: -.25em;
}

/* Przyciski z ikoną */
.twog-modern a.twog-btn { gap: 10px; }
.twog-modern a.twog-btn .twog-icon { width: 18px; height: 18px; transition: transform .3s var(--ease); }
.twog-modern a.twog-btn:hover .twog-icon:last-child:not(:first-child) { transform: translateX(4px); }

/* Ikony w menu */
body.twog-modern #access .twog-menu-icon {
	width: 15px;
	height: 15px;
	margin-right: 8px;
	vertical-align: -3px;
	opacity: .5;
	transition: opacity .25s ease;
}

body.twog-modern #access li:hover .twog-menu-icon,
body.twog-modern #access li.current-menu-item .twog-menu-icon,
body.twog-modern #access li.current_page_item .twog-menu-icon,
body.twog-modern #access li.current_page_ancestor .twog-menu-icon { opacity: 1; }

body.twog-modern #mobile-menu #mobile-nav > li > a {
	display: flex;
	align-items: center;
	gap: 16px;
}

body.twog-modern #mobile-menu .twog-menu-icon {
	width: 24px;
	height: 24px;
	opacity: .45;
}

body.twog-modern #mobile-menu #mobile-nav > li > a::after {
	content: "";
	width: 18px;
	height: 18px;
	margin-left: auto;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: .35;
}

.twog-modern .twog-footer__menu a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.twog-modern .twog-footer__menu .twog-menu-icon { width: 16px; height: 16px; opacity: .45; }

/* Okrągłe ikony sekcji */
.twog-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 26px;
	border: 1px solid var(--line);
	border-radius: 50%;
	color: var(--ink);
	transition: background .35s ease, color .35s ease, border-color .35s ease;
}

.twog-modern .twog-feature-icon .twog-icon { width: 24px; height: 24px; }

.twog-services li:hover .twog-feature-icon,
.twog-steps li:hover .twog-feature-icon {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.twog-services__num,
.twog-steps__num { margin-bottom: 10px; }

.twog-modern .twog-facts .twog-icon {
	display: block;
	width: 22px;
	height: 22px;
	margin-bottom: 14px;
	color: var(--muted);
}

/* Nagrody z ikoną */
.twog-modern .twog-awards li {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 18px;
}

.twog-awards__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50%;
	color: #fff;
}

.twog-modern .twog-awards__icon .twog-icon { width: 20px; height: 20px; }

.twog-modern .twog-quote__icon {
	display: block;
	width: 34px;
	height: 34px;
	margin-bottom: 14px;
	color: rgba(255, 255, 255, .4);
}

/* Kontakt z ikonami */
.twog-modern .twog-cta__list li {
	grid-template-columns: 48px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 18px;
	row-gap: 2px;
	align-items: center;
}

.twog-modern .twog-cta__list .twog-cta__icon {
	grid-row: 1 / 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid var(--line);
	border-radius: 50%;
	color: var(--ink);
	letter-spacing: 0;
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.twog-modern .twog-cta__icon .twog-icon { width: 20px; height: 20px; }

.twog-modern .twog-cta__list li:hover .twog-cta__icon {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

/* Karty projektów: strzałka przy najechaniu */
.twog-card__title::after { content: none; }

.twog-card__more {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fff;
	color: var(--ink);
	opacity: 0;
	transform: translateY(10px) scale(.9);
	transition: opacity .35s ease, transform .45s var(--ease);
}

.twog-modern .twog-card__more .twog-icon { width: 20px; height: 20px; }

.twog-card:hover .twog-card__more,
.twog-card:focus-visible .twog-card__more { opacity: 1; transform: none; }

.twog-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, .28), rgba(0, 0, 0, 0) 45%);
	opacity: 0;
	transition: opacity .4s ease;
}

.twog-card:hover .twog-card__media::after { opacity: 1; }

/* Ta sama strzałka na stronie Projekty (Elementor) */
.twog-modern.page-id-579 .elementor-widget-image a::after,
.twog-modern.page-id-207 .elementor-widget-image a::after {
	content: "";
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat;
	opacity: 0;
	transform: translateY(10px) scale(.9);
	transition: opacity .35s ease, transform .45s var(--ease);
}

.twog-modern.page-id-579 .elementor-widget-image a:hover::after,
.twog-modern.page-id-207 .elementor-widget-image a:hover::after { opacity: 1; transform: none; }

/* Mozaika "Wybrane projekty" */
@media (min-width: 1101px) {
	.twog-cards--mosaic { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	.twog-cards--mosaic .twog-card:nth-child(1) {
		grid-column: span 7;
		grid-row: span 2;
		display: flex;
		flex-direction: column;
	}
	.twog-cards--mosaic .twog-card:nth-child(1) .twog-card__media { flex: 1; aspect-ratio: auto; min-height: 320px; }
	.twog-cards--mosaic .twog-card:nth-child(2),
	.twog-cards--mosaic .twog-card:nth-child(3) { grid-column: span 5; }
	.twog-cards--mosaic .twog-card:nth-child(n+4) { grid-column: span 4; }
	.twog-cards--mosaic .twog-card:nth-child(1) .twog-card__title { font-size: 20px; }
}

@media (min-width: 641px) and (max-width: 1100px) {
	.twog-cards--mosaic .twog-card:nth-child(1) { grid-column: 1 / -1; }
	.twog-cards--mosaic .twog-card:nth-child(1) .twog-card__media { aspect-ratio: 16 / 9; }
}

/* Pasek haseł pod zdjęciem */
/* #main w selektorze – Fluida daje białe tło każdemu .main > div */
body.twog-modern #main > div.twog-marquee {
	overflow: hidden;
	padding: 22px 0;
	background: var(--dark);
	color: #fff;
}

.twog-marquee__track {
	display: flex;
	align-items: center;
	width: max-content;
	animation: twog-marquee 45s linear infinite;
}

.twog-marquee span {
	padding: 0 32px;
	font-size: clamp(18px, 2vw, 26px);
	font-weight: 300;
	letter-spacing: -.01em;
	white-space: nowrap;
}

.twog-marquee i {
	flex: none;
	width: 7px;
	height: 7px;
	border: 1px solid rgba(255, 255, 255, .55);
	transform: rotate(45deg);
}

@keyframes twog-marquee {
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.twog-marquee__track { animation: none; }
}

/* Licznik slajdów */
.twog-slides__nav { align-items: center; }

.twog-slides__count {
	margin-right: 14px;
	font-size: 12px;
	letter-spacing: .16em;
	color: rgba(255, 255, 255, .65);
}

.twog-slides__count b { font-weight: 600; color: #fff; }

/* Nagrody i publikacje */
.twog-page-awards { margin: 0 0 clamp(48px, 6vw, 80px); }

.twog-modern .twog-page-awards .twog-awards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 48px;
	margin: 0;
}

.twog-modern .twog-page-awards .twog-awards li { border-top-color: var(--line); }
.twog-modern .twog-page-awards .twog-awards h3 { color: var(--ink); }
.twog-modern .twog-page-awards .twog-awards p { color: var(--muted); }
.twog-modern .twog-page-awards .twog-awards__meta { color: var(--muted); }
.twog-modern .twog-page-awards .twog-awards__icon { border-color: var(--line); color: var(--ink); }

.twog-modern .twog-page-sub { margin: 0 0 24px; }

/* Kontakt: wizytówka z mapą */
.twog-modern.page-id-57 .main .entry-content { max-width: none; display: block; }

.twog-contact {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: start;
}

.twog-contact-card {
	position: sticky;
	top: calc(var(--hdr) + 24px);
	padding: clamp(24px, 3vw, 40px);
	background: var(--sand);
}

.twog-modern .twog-contact-card__list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.twog-modern .twog-contact-card__list li {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
}

.twog-modern .twog-contact-card .twog-cta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--line);
	border-radius: 50%;
	background: #fff;
	color: var(--ink);
}

.twog-modern .twog-contact-card .twog-cta__icon .twog-icon { width: 20px; height: 20px; }

.twog-modern.page-id-57 .twog-contact-card__list a {
	font-size: 17px;
	font-weight: 500;
	color: var(--ink);
	border-bottom: 0;
}

.twog-map {
	position: relative;
	aspect-ratio: 4 / 3;
	margin: 0 0 20px;
	overflow: hidden;
	background: #e9e5df;
}

.twog-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	filter: grayscale(1) contrast(1.05);
}

.twog-modern.page-id-57 .entry-content a.twog-btn--dark { width: 100%; color: #fff; border-color: var(--ink); box-sizing: border-box; }
.twog-modern.page-id-57 .entry-content a.twog-btn--dark:hover { color: var(--ink); background: transparent; }

/* Ikony przy e-mailach i telefonach na stronie Kontakt */
.twog-modern .twog-contact__people a[href^="mailto:"]::before,
.twog-modern .twog-contact__people a[href^="tel:"]::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	vertical-align: -3px;
	background: currentColor;
	-webkit-mask: var(--twog-ico) center / contain no-repeat;
	mask: var(--twog-ico) center / contain no-repeat;
	opacity: .55;
}

.twog-modern .twog-contact__people a[href^="mailto:"] {
	--twog-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E");
}

.twog-modern .twog-contact__people a[href^="tel:"] {
	--twog-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 1.1 4.2 2 2 0 0 1 3.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.9.7 2.8a2 2 0 0 1-.5 2.1L7.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}

/* Stopka v2 */
.twog-footer__grid { grid-template-columns: 1.4fr 1.3fr 1fr; }

.twog-footer__brand > span { display: block; }

.twog-modern #footer .twog-footer a.twog-footer__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-top: 22px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50%;
	transition: background .3s ease, color .3s ease;
}

.twog-modern #footer .twog-footer a.twog-footer__social:hover { background: #fff; color: var(--ink); }
.twog-modern .twog-footer__social .twog-icon { width: 18px; height: 18px; }

.twog-modern .twog-footer__contact {
	list-style: none;
	margin: 0;
	padding: 0;
}

.twog-modern .twog-footer__contact li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.5;
}

.twog-modern .twog-footer__contact .twog-icon {
	width: 18px;
	height: 18px;
	color: rgba(255, 255, 255, .45);
}

.twog-footer__credit { color: rgba(255, 255, 255, .45); }

@media (max-width: 1100px) {
	.twog-footer__grid { grid-template-columns: 1fr 1fr; }
	.twog-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
	.twog-contact { grid-template-columns: 1fr; }
	.twog-contact-card { position: static; }
	.twog-modern .twog-page-awards .twog-awards { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.twog-footer__grid { grid-template-columns: 1fr; }
	.twog-feature-icon { width: 48px; height: 48px; margin-bottom: 18px; }
	body.twog-modern #main > div.twog-marquee { padding: 16px 0; }
	.twog-marquee span { padding: 0 20px; }
	.twog-card__more { opacity: 1; transform: none; width: 44px; height: 44px; right: 12px; bottom: 12px; }
}

.twog-related { border-top: 1px solid var(--line); }

/* Nagłówek v3: Facebook tylko w stopce, lupa w stylu ikon menu */
body.twog-modern #masthead #sheader,
body.twog-modern #mobile-menu #smobile { display: none !important; }

body.twog-modern #access .menu-main-search > a {
	display: flex;
	align-items: center;
	height: var(--hdr);
	line-height: var(--hdr);
	padding: 0 14px;
	background: transparent;
}

body.twog-modern #access i.search-icon {
	display: block;
	width: 16px;
	height: 16px;
	font-size: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20.5 20.5-4.5-4.5'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: .7;
	transition: opacity .25s ease;
}

body.twog-modern #access i.search-icon::before { content: none; }
body.twog-modern #access .menu-main-search:hover i.search-icon { opacity: 1; }

/* Stopka: aktualne logo Facebooka, bez ramki */
.twog-modern #footer .twog-footer a.twog-footer__social {
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	background: none;
	color: rgba(255, 255, 255, .7);
}

.twog-modern #footer .twog-footer a.twog-footer__social:hover { background: none; color: #fff; }
.twog-modern .twog-footer__social .twog-icon { width: 22px; height: 22px; }
