/* ==========================================================================
   Szakács Kft. – alapstílusok
   Grafit + törtfehér, egyetlen piros kiemelőszín (a rajz piros pontja nyomán).
   ========================================================================== */

/* ---------- Betűtípus (helyben hostolva, OFL licenc) ---------- */
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url("../fonts/archivo-latin-wdth-normal.woff2") format("woff2-variations"),
	     url("../fonts/archivo-latin-wdth-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url("../fonts/archivo-latin-ext-wdth-normal.woff2") format("woff2-variations"),
	     url("../fonts/archivo-latin-ext-wdth-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Tokenek ---------- */
:root {
	--c-paper: #F6F5F2;
	--c-white: #FFFFFF;
	--c-stone: #EDECE8;
	--c-line: #DCDAD5;
	--c-field: #8A8984;
	--c-ink: #262625;
	--c-ink-2: #5E5D5A;
	--c-night: #1E1E1D;
	--c-night-line: #3A3A38;
	--c-on-dark: #D6D4CF;
	--c-on-dark-2: #A8A6A1;
	--c-accent: #B0232A;
	--c-accent-dark: #8E1F24;

	--font: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--pad: clamp(20px, 4.5vw, 64px);
	--maxw: 1440px;
	--header-h: 88px;
	--section-y: clamp(64px, 8vw, 112px);

	--stitch: repeating-linear-gradient(90deg, var(--c-accent) 0 12px, transparent 12px 20px);
	--hatch-light: repeating-linear-gradient(135deg, #E2E0DB 0 1px, #F0EFEC 1px 7px);
	--hatch-dark: repeating-linear-gradient(135deg, #30302E 0 1px, #232322 1px 9px);
}

/* ---------- Alap ---------- */
*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: calc(var(--header-h) + 16px);
}

body {
	margin: 0;
	background: var(--c-paper);
	color: var(--c-ink);
	font-family: var(--font);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img, svg, video { display: block; max-width: 100%; height: auto; }

a { color: inherit; }
a:hover { color: #000; }

h1, h2, h3, h4, p, figure, blockquote { margin: 0; }

:focus-visible {
	outline: 2px solid var(--c-accent);
	outline-offset: 3px;
}

main:focus { outline: none; }

.container {
	width: 100%;
	max-width: var(--maxw);
	margin-inline: auto;
	padding-inline: var(--pad);
}

.skip-link {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 100;
	padding: 12px 18px;
	background: var(--c-ink);
	color: #fff;
	text-decoration: none;
}
.skip-link:focus { top: 16px; color: #fff; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ---------- Tipográfia ---------- */
/* Hosszú német összetett szavak (pl. „Fertigungsanforderung”) keskeny kijelzőn elválasztva törnek, nem lógnak ki. */
h1, h2, h3, .lead, .cta-band__title, .commitment__claim, .cost__claim, .speed__title {
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.h-display {
	font-size: clamp(44px, 6.4vw, 92px);
	line-height: 1.02;
	font-weight: 600;
	font-stretch: 112%;
	letter-spacing: -0.015em;
}
.h-page {
	font-size: clamp(44px, 5.6vw, 80px);
	line-height: 1;
	font-weight: 600;
	font-stretch: 112%;
	letter-spacing: -0.015em;
}
.h-section {
	font-size: clamp(30px, 3.2vw, 44px);
	line-height: 1.1;
	font-weight: 600;
	font-stretch: 108%;
	letter-spacing: -0.01em;
}
.h-card {
	font-size: 22px;
	line-height: 1.25;
	font-weight: 600;
	font-stretch: 106%;
}
.lead {
	font-size: clamp(22px, 2.2vw, 32px);
	line-height: 1.32;
	font-weight: 500;
	font-stretch: 104%;
}
.muted { color: var(--c-ink-2); }
.text-body { font-size: 18px; line-height: 1.7; color: var(--c-ink-2); }

/* ---------- Gombok ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 0 30px;
	border: 1.5px solid transparent;
	border-radius: 0;
	font: 600 16px/1.2 var(--font);
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn--primary { background: var(--c-accent); color: #fff; }
.btn--primary:hover { background: var(--c-accent-dark); color: #fff; }
.btn--outline { border-color: var(--c-ink); color: var(--c-ink); background: transparent; }
.btn--outline:hover { background: var(--c-ink); color: #fff; }
.btn--light { border-color: #fff; color: #fff; background: transparent; }
.btn--light:hover { background: #fff; color: var(--c-ink); }

.link-button {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-align: left;
}

/* ---------- Öltésvonal ---------- */
.stitch {
	display: block;
	width: 240px;
	max-width: 100%;
	height: 2px;
	background: var(--stitch);
}

/* ---------- Kép-helyőrző (amíg a fotók nem érkeznek meg) ---------- */
.szk-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 200px;
	padding: 16px;
	background: var(--hatch-light);
	color: #6E6D69;
	font-size: 13px;
	text-align: center;
}
.szk-ph--dark { background: var(--hatch-dark); color: var(--c-on-dark-2); }

/* ---------- Szekciók ---------- */
.section { padding-block: var(--section-y); }
.section--white { background: var(--c-white); border-block: 1px solid var(--c-line); }
.section--stone { background: var(--c-stone); }
.section--dark { background: var(--c-ink); color: #fff; }

/* ---------- Fejléc ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--c-white);
	border-bottom: 1px solid var(--c-line);
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 0; } }

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	height: var(--header-h);
}

.site-logo {
	display: flex;
	align-items: center;
	font-size: 24px;
	font-weight: 700;
	font-stretch: 118%;
	letter-spacing: -0.01em;
	text-decoration: none;
	white-space: nowrap;
}
.site-logo img { max-height: 52px; width: auto; }

.site-header__right {
	display: flex;
	align-items: center;
	gap: 36px;
}

.site-nav ul {
	display: flex;
	align-items: center;
	gap: 36px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-nav a {
	display: inline-block;
	padding: 8px 0;
	border-bottom: 2px solid transparent;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
}
.site-nav a[aria-current="page"] { border-bottom-color: var(--c-ink); }

.site-nav .nav-cta a {
	padding: 12px 22px;
	border: 1.5px solid var(--c-accent);
	color: var(--c-accent);
}
.site-nav .nav-cta a:hover,
.site-nav .nav-cta a[aria-current="page"] {
	background: var(--c-accent);
	color: #fff;
}

.lang-switch {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-left: 20px;
	border-left: 1px solid var(--c-line);
	font-size: 14px;
}
.lang-switch span { color: #B4B2AD; }
.lang-switch a {
	padding: 8px 2px;
	color: var(--c-ink-2);
	text-decoration: none;
}
.lang-switch a[aria-current="true"] { color: var(--c-ink); font-weight: 700; }

.nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--c-line);
	background: transparent;
	color: var(--c-ink);
	cursor: pointer;
}

@media (max-width: 1100px) {
	:root { --header-h: 64px; }

	.site-logo { font-size: 20px; }
	.site-logo img { max-height: 40px; }
	.site-header__right { gap: 12px; }
	.nav-toggle { display: inline-flex; }

	.site-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - var(--header-h));
		overflow-y: auto;
		padding: 8px var(--pad) 28px;
		background: var(--c-white);
		border-bottom: 1px solid var(--c-line);
		box-shadow: 0 16px 32px rgba(0, 0, 0, .08);
	}
	.site-nav.is-open { display: block; }
	.site-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
	.site-nav li a {
		display: block;
		padding: 16px 0;
		border-bottom: 1px solid var(--c-line);
		font-size: 18px;
	}
	.site-nav a[aria-current="page"] { border-bottom-color: var(--c-line); color: var(--c-accent); font-weight: 600; }
	.site-nav .nav-cta a {
		margin-top: 20px;
		padding: 16px;
		text-align: center;
		background: var(--c-accent);
		color: #fff;
	}

	.lang-switch { padding-left: 0; border-left: 0; gap: 6px; }
	.lang-switch a { padding: 12px 2px; }
}

/* ---------- Oldal-bevezető (általános) ---------- */
.page-intro { padding: clamp(64px, 8vw, 104px) 0 clamp(40px, 5vw, 64px); }
.page-intro h1 {
	font-size: clamp(44px, 5.6vw, 80px);
	line-height: 1;
	font-weight: 600;
	font-stretch: 112%;
	letter-spacing: -0.015em;
}
.page-intro .stitch { margin-top: 28px; }
.page-intro__lead { margin-top: 28px; max-width: 720px; font-size: 20px; line-height: 1.6; color: var(--c-ink-2); }
.page-intro .btn { margin-top: 32px; }

/* ---------- Szerkesztői tartalom (Impressum, Datenschutz) ---------- */
.prose {
	max-width: 760px;
	padding-bottom: var(--section-y);
	font-size: 17px;
	line-height: 1.7;
}
.prose > * + * { margin-top: 1em; }
.prose h2 { margin-top: 2.2em; font-size: 26px; line-height: 1.25; font-weight: 600; font-stretch: 106%; }
.prose h3 { margin-top: 1.8em; font-size: 20px; line-height: 1.3; font-weight: 600; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose a { text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* ---------- Lábléc ---------- */
.site-footer {
	padding: 80px 0 40px;
	background: var(--c-night);
	color: #fff;
	font-size: 15px;
	line-height: 1.6;
}
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.site-footer ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }

.site-footer__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 48px;
}
.site-footer__company { display: grid; gap: 14px; align-content: start; color: var(--c-on-dark); }
.site-footer__company a { color: var(--c-on-dark); }
.site-footer__name { font-size: 22px; font-weight: 700; font-stretch: 118%; color: #fff; }
.site-footer__label { margin-bottom: 14px; font-size: 14px; color: var(--c-on-dark-2); }

.lang-switch--footer { padding-left: 0; border-left: 0; font-size: 15px; }
.lang-switch--footer span { color: #6E6D69; }
.lang-switch--footer a { color: var(--c-on-dark); padding: 0; }
.lang-switch--footer a[aria-current="true"] { color: #fff; }

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 32px;
	margin-top: 64px;
	padding-top: 28px;
	border-top: 1px solid var(--c-night-line);
	font-size: 14px;
	color: var(--c-on-dark-2);
}

@media (max-width: 900px) {
	.site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.site-footer { padding-top: 56px; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 36px; }
}

/* ---------- Listák a szerkesztett szövegekben ---------- */
.text-body ul, .text-body ol, .prose ul, .prose ol, .coop__text ul, .speed__text ul, .commitment__text ul {
	display: grid;
	gap: 6px;
	margin-block: 1em;
	padding: 0;
	list-style: none;
}
.text-body ul li, .prose ul li, .coop__text ul li, .speed__text ul li, .commitment__text ul li {
	position: relative;
	padding-left: 28px;
}
.text-body ul li::before, .prose ul li::before, .coop__text ul li::before, .speed__text ul li::before, .commitment__text ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.8em;
	width: 16px;
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--c-accent) 0 6px, transparent 6px 10px);
}
.text-body ol, .prose ol { counter-reset: szk-ol; }
.text-body ol li, .prose ol li { position: relative; padding-left: 28px; counter-increment: szk-ol; }
.text-body ol li::before, .prose ol li::before {
	content: counter(szk-ol) ".";
	position: absolute;
	left: 0;
	font-weight: 600;
	color: var(--c-accent);
}

/* ---------- Közös építőelemek ---------- */
.flow > * + * { margin-top: 1em; }
.btn-row { display: flex; flex-wrap: wrap; gap: 16px; }

.section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px 64px;
	margin-bottom: clamp(36px, 4vw, 56px);
}
.section-head p { max-width: 460px; font-size: 17px; }
@media (max-width: 800px) {
	.section-head { flex-direction: column; align-items: flex-start; }
}

/* Varrat: csomópont + szaggatott vonal */
.seam { display: flex; align-items: center; }
.seam i { display: block; }
.seam__knot { width: 12px; height: 12px; border-radius: 50%; background: var(--c-accent); flex-shrink: 0; }
.seam__line { flex-grow: 1; height: 2px; background: var(--stitch); }

/* Teljes felületű kép + sötétítés (hero, CTA) */
.hero, .cta-band { position: relative; isolation: isolate; color: #fff; background: #232322; }
.hero__media, .cta-band__media { position: absolute; inset: 0; z-index: -2; }
.hero__media img, .cta-band__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__media .szk-ph, .cta-band__media .szk-ph {
	min-height: 0;
	height: 100%;
	align-items: flex-start;
	justify-content: flex-end;
	padding: 24px var(--pad);
}
.hero__shade, .cta-band__shade { position: absolute; inset: 0; z-index: -1; }

/* ---------- Főoldal: hero ---------- */
.hero { display: flex; align-items: flex-end; min-height: clamp(540px, 78vh, 760px); }
/* A fejléckép teljesen eredeti színekkel látszik, nincs rajta sötétítés. */
.hero__shade { display: none; }
.hero h1, .hero__content .btn-row { text-shadow: 0 1px 24px rgba(0, 0, 0, .35); }
.hero__content { padding-block: 140px clamp(48px, 7vw, 88px); }
.hero h1 { max-width: 1040px; color: #fff; }
.hero__stitch { width: clamp(180px, 25vw, 360px); margin-block: clamp(28px, 3.5vw, 44px); }
@media (max-width: 640px) {
	.hero .btn-row { flex-direction: column; }
	.hero .btn { width: 100%; }
}

/* ---------- Főoldal: bemutatkozás ---------- */
.home-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 620px) minmax(0, 580px);
	justify-content: space-between;
	gap: 32px 96px;
	align-items: start;
}
.home-intro .text-body { padding-top: 8px; }
.home-intro__main { display: grid; gap: clamp(28px, 3vw, 40px); }
/* Ugyanaz a fehér "falikép" keret, mint a rövid cégbemutatónál. */
.home-intro__figure {
	padding: clamp(20px, 3.3vw, 48px);
	background: var(--c-white);
	border: 1px solid var(--c-line);
}
.home-intro__figure img { width: 100%; height: auto; }
.home-intro__figure figcaption { margin-top: 12px; font-size: 15px; line-height: 1.5; color: var(--c-ink-2); }
@media (max-width: 900px) { .home-intro__grid { grid-template-columns: 1fr; } }

/* ---------- Főoldal: négy erősség ---------- */
.strengths__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; }
.strength { padding-right: 48px; }
.strength .seam { margin-right: -48px; }
.strength:last-child .seam { margin-right: 0; }
.strength__title {
	margin-top: 36px;
	font-size: clamp(34px, 3.4vw, 48px);
	line-height: 1.05;
	font-weight: 600;
	font-stretch: 110%;
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
	hyphens: auto;
}
.strength__text { margin-top: 14px; max-width: 280px; font-size: 16px; line-height: 1.55; color: var(--c-ink-2); }

@media (max-width: 1100px) {
	.strengths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 56px; }
	.strength:nth-child(2) .seam { margin-right: 0; }
}
@media (max-width: 640px) {
	/* Mobilon függőleges varrat fut le a négy erősség mellett. */
	.strengths__grid { grid-template-columns: 1fr; row-gap: 36px; position: relative; padding-left: 36px; }
	.strengths__grid::before {
		content: "";
		position: absolute;
		left: 5px;
		top: 16px;
		bottom: 16px;
		width: 2px;
		background: repeating-linear-gradient(180deg, var(--c-accent) 0 10px, transparent 10px 16px);
	}
	.strength { padding-right: 0; position: relative; }
	.strength .seam { display: none; }
	.strength::before {
		content: "";
		position: absolute;
		left: -36px;
		top: 12px;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background: var(--c-accent);
	}
	.strength__title { margin-top: 0; }
}

/* ---------- Főoldal: rövid cégbemutató ---------- */
.home-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 620px) minmax(0, 560px);
	justify-content: space-between;
	gap: 40px 96px;
	align-items: center;
}
.home-about__media {
	padding: clamp(20px, 3.3vw, 48px);
	background: var(--c-white);
	border: 1px solid var(--c-line);
}
.home-about__media img { width: 100%; }
.home-about__media .szk-ph { min-height: 320px; }
.home-about__body { display: grid; gap: 24px; justify-items: start; }
@media (max-width: 900px) { .home-about__grid { grid-template-columns: 1fr; } }

/* ---------- Kártyarács (szolgáltatások) ---------- */
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	transition: border-color .15s ease;
}
.card:hover { border-color: var(--c-ink); }
.card__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--c-stone); }
.card__media img, .card__media .szk-ph { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.card__body { display: grid; gap: 10px; padding: 28px 28px 32px; }
.card__body p { font-size: 15px; line-height: 1.55; }
.card__link { text-decoration: none; }
.card__link::after { content: ""; position: absolute; inset: 0; } /* az egész kártya kattintható */
.card__link:focus-visible { outline: none; }
.card:has(.card__link:focus-visible) { outline: 2px solid var(--c-accent); outline-offset: 3px; }

.card--dark {
	justify-content: space-between;
	gap: 32px;
	padding: 40px 36px;
	background: var(--c-ink);
	border-color: var(--c-ink);
	color: #fff;
}
.card--dark:hover { border-color: var(--c-ink); }
.card--dark__text { font-size: clamp(22px, 2vw, 26px); line-height: 1.3; font-weight: 500; font-stretch: 106%; }
.card--dark .btn { align-self: flex-start; }

@media (max-width: 1100px) { .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (max-width: 640px) { .card-grid { grid-template-columns: 1fr; } }

/* ---------- Key Facts ---------- */
.facts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.fact {
	display: flex;
	flex-direction: column-reverse; /* szám felül, felirat alatta – a DOM-ban a felirat van elöl a képernyőolvasóknak */
	justify-content: flex-end;
	gap: 10px;
	padding: 8px 32px;
	border-left: 1px solid var(--c-line);
}
.fact:first-child { padding-left: 0; border-left: 0; }
.fact__value {
	margin: 0;
	font-size: clamp(40px, 4.4vw, 64px);
	line-height: 1;
	font-weight: 600;
	letter-spacing: -0.02em;
	white-space: nowrap;
}
.fact__label { font-size: 16px; color: var(--c-ink-2); }
@media (max-width: 900px) {
	.facts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
	.fact:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 420px) {
	.fact { padding-inline: 0 12px; border-left: 0; }
}

/* ---------- Záró CTA sáv ---------- */
.cta-band__shade { background: rgba(20, 20, 19, .72); }
.cta-band--plain .cta-band__shade { display: none; }
.cta-band--plain .cta-band__title, .cta-band--plain .cta-band__text { text-shadow: 0 1px 24px rgba(0, 0, 0, .35); }
.cta-band--plain .cta-band__text { color: #fff; }
.cta-band__content { padding-block: clamp(80px, 9vw, 128px); }
.cta-band__title {
	max-width: 900px;
	font-size: clamp(32px, 3.9vw, 56px);
	line-height: 1.08;
	font-weight: 600;
	font-stretch: 110%;
	letter-spacing: -0.01em;
}
.cta-band__text { max-width: 620px; margin-top: 24px; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; color: var(--c-on-dark); }
.cta-band .btn { margin-top: 40px; }

/* ---------- Company: Über uns ---------- */
.company-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 620px) minmax(0, 600px);
	justify-content: space-between;
	gap: 56px 96px;
	align-items: start;
}
.company-about__body { display: grid; gap: 28px; }
.company-about__lead { margin-top: 8px; font-size: clamp(20px, 1.8vw, 24px); line-height: 1.4; font-weight: 500; font-stretch: 104%; }
.company-about__media { position: relative; min-height: 620px; }
.company-about__img { position: absolute; overflow: hidden; background: var(--c-stone); }
.company-about__img img, .company-about__img .szk-ph { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.company-about__img--main { top: 0; right: 0; width: 77%; height: 61%; }
.company-about__img--detail { bottom: 0; left: 0; width: 57%; height: 48%; border: 12px solid var(--c-paper); }

@media (max-width: 900px) {
	.company-about__grid { grid-template-columns: 1fr; }
	.company-about__media { min-height: 0; aspect-ratio: 6 / 5; }
}

/* ---------- Company: idővonal ---------- */
.history__text { max-width: 760px; margin-bottom: clamp(40px, 5vw, 64px); }

.timeline {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}
.timeline__item { padding-right: 32px; }
.timeline__item .seam { margin: 32px -32px 0 0; }
.timeline__item--now .seam { margin-right: 0; }
.timeline .seam__knot { width: 14px; height: 14px; }
.seam__knot--open { background: var(--c-white) !important; border: 2px solid var(--c-accent); }

.timeline__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--c-paper); border: 1px solid var(--c-line); }
.timeline__media img { width: 100%; height: 100%; object-fit: cover; }
.timeline__media .szk-ph { min-height: 0; height: 100%; }

.timeline__year {
	margin-top: 28px;
	font-size: clamp(40px, 3.9vw, 56px);
	line-height: 1;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.timeline__title { margin-top: 12px; font-size: 20px; line-height: 1.3; font-weight: 600; font-stretch: 106%; }
.timeline__text { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--c-ink-2); }

@media (max-width: 1000px) {
	/* Függőleges idővonal: a varrat a bal szélen fut végig. */
	.timeline { grid-template-columns: 1fr; row-gap: 48px; position: relative; padding-left: 40px; }
	.timeline::before {
		content: "";
		position: absolute;
		left: 6px;
		top: 8px;
		bottom: 8px;
		width: 2px;
		background: repeating-linear-gradient(180deg, var(--c-accent) 0 10px, transparent 10px 16px);
	}
	.timeline__item { position: relative; padding-right: 0; display: grid; grid-template-columns: minmax(0, 1fr); }
	.timeline__item .seam { display: none; }
	.timeline__item::before {
		content: "";
		position: absolute;
		left: -40px;
		top: 0;
		width: 14px;
		height: 14px;
		border-radius: 50%;
		background: var(--c-accent);
	}
	.timeline__item--now::before { background: var(--c-white); border: 2px solid var(--c-accent); box-sizing: border-box; }
	.timeline__media { order: 5; margin-top: 20px; max-width: 520px; }
	.timeline__year { margin-top: 0; }
}

/* ---------- Company: Warum ---------- */
.why__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.why__item {
	min-height: 170px;
	padding: 28px 24px;
	background: var(--c-white);
	border-top: 3px solid var(--c-ink);
}
.why__title { font-size: 20px; line-height: 1.25; font-weight: 600; font-stretch: 106%; overflow-wrap: anywhere; hyphens: auto; }
.why__text { margin-top: 12px; font-size: 15px; line-height: 1.55; color: var(--c-ink-2); }
@media (max-width: 1200px) { .why__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) { .why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 480px) { .why__grid { grid-template-columns: 1fr; } .why__item { min-height: 0; } }

/* ---------- Company: Unser Anspruch ---------- */
.commitment__label { font-size: 22px; font-weight: 500; color: var(--c-on-dark); }
.commitment__claim {
	margin-top: 28px;
	max-width: 1200px;
	font-size: clamp(40px, 5.3vw, 76px);
	line-height: 1.05;
	font-weight: 600;
	font-stretch: 112%;
	letter-spacing: -0.015em;
}
.commitment__text { max-width: 760px; margin-top: 32px; font-size: 18px; line-height: 1.7; color: var(--c-on-dark); }
.commitment__stitch { width: 100%; margin-block: 44px; }
.commitment__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 48px; }
.commitment__title { font-size: 20px; font-weight: 600; }
.commitment__item-text { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--c-on-dark); }
@media (max-width: 900px) { .commitment__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .commitment__grid { grid-template-columns: 1fr; } }

/* ---------- Services ---------- */
.services-intro { padding-bottom: clamp(56px, 6vw, 96px); }
.services-intro__sub { margin-top: 24px; font-size: clamp(22px, 2vw, 28px); line-height: 1.3; font-weight: 500; font-stretch: 104%; }
.services-intro .stitch { margin-top: 28px; }
.services-intro__text { max-width: 720px; margin-top: 36px; }
/* Képekkel: kétoszlopos bevezető, a Company oldal egymást fedő képpárjával. */
.services-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 620px) minmax(0, 600px);
	justify-content: space-between;
	gap: 56px 96px;
	align-items: start;
}
.services-intro__media { min-height: 560px; }
@media (max-width: 900px) {
	.services-intro__grid { grid-template-columns: 1fr; }
	.services-intro__media { min-height: 0; }
}

.svc-nav { margin-top: clamp(40px, 5vw, 56px); }
.svc-nav ul {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
}
.svc-nav li + li { border-left: 1px solid var(--c-line); }
.svc-nav a {
	display: flex;
	align-items: center;
	height: 100%;
	min-height: 72px;
	padding: 16px 20px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color .15s ease;
}
.svc-nav a:hover { background: var(--c-white); }
@media (max-width: 1100px) {
	.svc-nav ul { grid-template-columns: 1fr; }
	.svc-nav li + li { border-left: 0; border-top: 1px solid var(--c-line); }
	.svc-nav a { min-height: 56px; padding-inline: 0; }
	.svc-nav a::after { content: "↓"; margin-left: auto; padding-left: 16px; color: var(--c-accent); }
}

.svc { padding-block: clamp(64px, 7vw, 96px); border-top: 1px solid var(--c-line); }
.svc--white { background: var(--c-white); }
.svc--paper { background: var(--c-paper); }
.svc__grid {
	display: grid;
	grid-template-columns: minmax(0, 640px) minmax(0, 560px);
	justify-content: space-between;
	gap: 40px 96px;
	align-items: center;
}
.svc--reverse .svc__media { order: 2; }
.svc__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-stone); }
.svc__media img { width: 100%; height: 100%; object-fit: cover; }
.svc__media .szk-ph { min-height: 0; height: 100%; }
.svc__body { display: grid; gap: 20px; }
.svc__stitch { width: 120px; }
.svc__highlight { margin-top: 8px; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.4; font-weight: 500; }

.svc__abstract {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 44px;
	height: 100%;
	padding: clamp(40px, 5vw, 72px) clamp(32px, 4.5vw, 64px);
	background: var(--c-ink);
}
.svc__abstract .seam__knot { width: 14px; height: 14px; }
.seam--grey .seam__line { background: repeating-linear-gradient(90deg, #6E6D69 0 12px, transparent 12px 20px); }
.seam--mid { width: 62%; margin-left: 20%; }
.seam--short { width: 40%; }
.svc__abstract .seam__knot--open { background: transparent !important; }

@media (max-width: 900px) {
	.svc__grid { grid-template-columns: 1fr; }
	.svc--reverse .svc__media { order: 0; }
}

/* ---------- Production: bevezető ---------- */
.production-intro { padding-bottom: 0; }
.production-intro__head {
	display: grid;
	grid-template-columns: minmax(0, 560px) minmax(0, 620px);
	justify-content: space-between;
	align-items: start;
	gap: 32px 96px;
}
/* Hosszú szövegnél a cím görgetés közben a helyén marad, a szöveg mellette fut. */
.production-intro__title {
	position: sticky;
	top: calc(var(--header-h) + 40px);
}
.admin-bar .production-intro__title { top: calc(var(--header-h) + 72px); }
.production-intro__sub { margin-top: 24px; font-size: clamp(22px, 2vw, 28px); line-height: 1.3; font-weight: 500; font-stretch: 104%; }
.production-intro .stitch { margin-top: 28px; }
.production-intro__text { max-width: 620px; }
.production-intro__media { margin-top: clamp(32px, 4vw, 40px); aspect-ratio: 1312 / 600; overflow: hidden; background: #232322; }
.production-intro__media img { width: 100%; height: 100%; object-fit: cover; }
.production-intro__media .szk-ph { min-height: 0; height: 100%; }
@media (max-width: 900px) {
	.production-intro__head { grid-template-columns: 1fr; }
	.production-intro__title { position: static; }
	.production-intro__media { aspect-ratio: 4 / 3; }
}

/* ---------- Production: képességek ---------- */
.capabilities__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--c-line);
	border-left: 1px solid var(--c-line);
}
.capability {
	display: grid;
	gap: 20px;
	align-content: start;
	padding: 40px 36px;
	background: var(--c-white);
	border-right: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
}
.capability__title { font-size: 24px; line-height: 1.15; font-weight: 600; font-stretch: 106%; }
.capability--big .capability__title { font-size: clamp(32px, 2.8vw, 40px); letter-spacing: -0.02em; }
.capability__text { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--c-ink-2); }
@media (max-width: 1000px) { .capabilities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.capabilities__grid { grid-template-columns: 1fr; }
	.capability { grid-template-columns: 32px 1fr; padding: 24px 20px; }
}

/* ---------- Production: galéria (hetesével ismétlődő mozaik) ---------- */
.gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: clamp(160px, 18vw, 260px);
	grid-auto-flow: dense;
	gap: 16px;
}
.gallery__item { position: relative; display: block; overflow: hidden; background: var(--c-line); }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.gallery__item .szk-ph { min-height: 0; height: 100%; }
a.gallery__item { cursor: zoom-in; }
a.gallery__item:hover img { transform: scale(1.03); }
.gallery__item:nth-child(7n + 1) { grid-column: span 2; grid-row: span 2; }
.gallery__item:nth-child(7n + 3) { grid-row: span 2; }
.gallery__item:nth-child(7n + 6) { grid-column: span 2; }
@media (max-width: 700px) {
	.gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; grid-auto-rows: 42vw; }
	.gallery__item:nth-child(7n + 1) { grid-column: span 2; grid-row: span 1; }
	.gallery__item:nth-child(7n + 3) { grid-row: span 2; }
	.gallery__item:nth-child(7n + 6) { grid-column: span 2; }
}

/* Utolsó, nem teljes csoport: üres cella nélkül zárul (a sablon adja az osztályokat). */
@media (min-width: 701px) {
	.gallery .gallery__item.g-d-norm  { grid-column: auto / span 1; grid-row: auto / span 1; }
	.gallery .gallery__item.g-d-big   { grid-column: auto / span 2; grid-row: auto / span 2; }
	.gallery .gallery__item.g-d-tall  { grid-column: auto / span 1; grid-row: auto / span 2; }
	.gallery .gallery__item.g-d-wide  { grid-column: auto / span 2; grid-row: auto / span 1; }
	.gallery .gallery__item.g-d-full  { grid-column: 1 / -1; grid-row: auto / span 1; }
	.gallery .gallery__item.g-d-full2 { grid-column: 1 / -1; grid-row: auto / span 2; }
}
@media (max-width: 700px) {
	.gallery .gallery__item.g-m-norm { grid-column: auto / span 1; grid-row: auto / span 1; }
	.gallery .gallery__item.g-m-tall { grid-column: auto / span 1; grid-row: auto / span 2; }
	.gallery .gallery__item.g-m-full { grid-column: 1 / -1; grid-row: auto / span 1; }
}

/* Lightbox */
.lightbox {
	width: 100vw;
	max-width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(18, 18, 17, .96);
	color: #fff;
}
.lightbox::backdrop { background: rgba(18, 18, 17, .96); }
.lightbox[open] { display: flex; align-items: center; justify-content: center; }
.lightbox__figure { display: flex; flex-direction: column; align-items: center; gap: 14px; width: 100%; height: 100%; padding: 64px 88px 32px; }
.lightbox__img { flex: 1 1 auto; min-height: 0; max-width: 100%; object-fit: contain; }
.lightbox__count { font-size: 14px; color: var(--c-on-dark-2); }
.lightbox button {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(0, 0, 0, .35);
	color: #fff;
	cursor: pointer;
}
.lightbox button:hover { background: var(--c-accent); border-color: var(--c-accent); }
.lightbox__close { top: 16px; right: 16px; }
.lightbox__nav--prev { left: 16px; top: 50%; transform: translateY(-50%); }
.lightbox__nav--next { right: 16px; top: 50%; transform: translateY(-50%); }
.lightbox--single .lightbox__nav, .lightbox--single .lightbox__count { display: none; }
@media (max-width: 700px) {
	.lightbox__figure { padding: 72px 12px 88px; }
	.lightbox__nav--prev, .lightbox__nav--next { top: auto; bottom: 20px; transform: none; }
	.lightbox__nav--prev { left: calc(50% - 64px); }
	.lightbox__nav--next { right: calc(50% - 64px); }
}

/* ---------- Production: Wirtschaftliche Fertigung ---------- */
.cost__label, .speed__label { font-size: 22px; font-weight: 500; color: var(--c-ink-2); }
.cost__claim {
	margin-top: 20px;
	max-width: 1100px;
	font-size: clamp(38px, 5vw, 72px);
	line-height: 1.05;
	font-weight: 600;
	font-stretch: 112%;
	letter-spacing: -0.015em;
}
.equation { display: flex; align-items: stretch; margin-top: clamp(40px, 5vw, 64px); }
.equation__term { flex: 1 1 0; padding: 32px; background: var(--c-paper); border: 1px solid var(--c-line); }
.equation__title { font-size: clamp(22px, 2vw, 28px); font-weight: 600; font-stretch: 106%; }
.equation__text { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--c-ink-2); }
.equation__plus {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	flex-shrink: 0;
	font-size: 48px;
	font-weight: 300;
	color: var(--c-accent);
}
.cost__text { max-width: 760px; margin-top: 48px; }
@media (max-width: 800px) {
	.equation { flex-direction: column; }
	.equation__plus { width: auto; height: 56px; font-size: 40px; }
}

/* ---------- Production: Geschwindigkeit und Termintreue ---------- */
.speed__grid {
	display: grid;
	grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
	gap: 48px 96px;
	align-items: start;
}
.speed__label { color: var(--c-on-dark); }
.speed__title { margin-top: 20px; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.1; font-weight: 600; font-stretch: 110%; letter-spacing: -0.01em; }
.speed__text { margin-top: 24px; font-size: 17px; line-height: 1.7; color: var(--c-on-dark); }
.speed__quote { padding-top: 8px; }
.speed__quote .seam__knot { width: 14px; height: 14px; }
.speed__quote blockquote { margin: 44px 0 0; }
.speed__quote p { font-size: clamp(26px, 2.8vw, 40px); line-height: 1.25; font-weight: 500; font-stretch: 104%; quotes: "„" "“"; }
.speed__quote p::before { content: open-quote; }
.speed__quote p::after { content: close-quote; }
:lang(en) .speed__quote p { quotes: "“" "”"; }
@media (max-width: 900px) {
	.speed__grid { grid-template-columns: 1fr; }
	.speed__quote { order: -1; }
	.speed__quote blockquote { margin-top: 28px; }
}

/* ---------- Production: előnyök ---------- */
.advantages__title { font-size: clamp(28px, 2.6vw, 36px); line-height: 1.1; font-weight: 600; font-stretch: 108%; }
.advantages__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 24px;
	margin: 48px 0 0;
	padding: 0;
	list-style: none;
}
.advantage { display: grid; gap: 16px; align-content: start; padding-top: 24px; border-top: 1px solid var(--c-ink); font-size: 18px; line-height: 1.3; font-weight: 600; }
@media (max-width: 1100px) { .advantages__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 36px; } }
@media (max-width: 560px) { .advantages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Kontakt ---------- */
.btn--dark { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }
.btn--dark:hover { background: #000; color: #fff; }

.contact-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 620px) minmax(0, 560px);
	justify-content: space-between;
	gap: 48px 96px;
	align-items: start;
}
.contact-intro__body { display: grid; gap: 24px; }
.contact-intro__sub { font-size: clamp(22px, 2vw, 28px); line-height: 1.3; font-weight: 500; font-stretch: 104%; }
.contact-intro__body .text-body { margin-top: 8px; }
.coop { display: grid; gap: 18px; padding: clamp(28px, 3vw, 40px); background: var(--c-white); border: 1px solid var(--c-line); }
.coop__label { font-size: 20px; font-weight: 500; color: var(--c-ink-2); }
.coop__highlight { font-size: clamp(22px, 2vw, 28px); line-height: 1.3; font-weight: 600; font-stretch: 106%; }
.coop__text { font-size: 16px; line-height: 1.65; color: var(--c-ink-2); }
@media (max-width: 900px) { .contact-intro__grid { grid-template-columns: 1fr; } }

.contact-main__grid {
	display: grid;
	grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
	gap: 48px 96px;
	align-items: start;
}
.contact-details__name { font-size: 28px; font-weight: 700; font-stretch: 118%; }
.contact-details dl { margin: 28px 0 0; border-bottom: 1px solid var(--c-line); }
.contact-details dl > div { display: grid; gap: 4px; padding: 18px 0; border-top: 1px solid var(--c-line); }
.contact-details dt { font-size: 14px; color: var(--c-ink-2); }
.contact-details dd { margin: 0; font-size: 18px; line-height: 1.5; font-weight: 500; }
.contact-details dd a { text-underline-offset: 3px; }
.contact-details__extra {
	margin-top: 28px;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 700;
}
@media (max-width: 1000px) { .contact-main__grid { grid-template-columns: 1fr; } }

/* Űrlap */
.form, .form-success { padding: clamp(24px, 3.4vw, 48px); background: var(--c-white); border: 1px solid var(--c-line); }
.form { display: grid; gap: 24px; }
.form__title, .form-success__title { font-size: clamp(26px, 2.3vw, 32px); line-height: 1.15; font-weight: 600; font-stretch: 108%; }
.form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 640px) { .form__grid { grid-template-columns: 1fr; } }

.field { display: grid; gap: 8px; }
.field label { font-size: 14px; font-weight: 600; }
.field__optional { font-weight: 400; color: var(--c-ink-2); }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field textarea {
	width: 100%;
	min-height: 52px;
	padding: 0 16px;
	border: 1px solid var(--c-field);
	border-radius: 0;
	background: var(--c-white);
	font: 16px/1.5 var(--font);
	color: var(--c-ink);
	-webkit-appearance: none;
	appearance: none;
}
.field textarea { min-height: 180px; padding-block: 14px; resize: vertical; }
.field input:focus, .field textarea:focus { outline: 2px solid var(--c-ink); outline-offset: 0; border-color: var(--c-ink); }
.field--error input, .field--error textarea { border-color: var(--c-accent); border-width: 2px; }
.field__error { font-size: 14px; font-weight: 600; color: var(--c-accent); }

.field--check { grid-template-columns: 22px 1fr; column-gap: 12px; align-items: start; }
.field--check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--c-ink); }
.field--check label { font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--c-ink-2); }
.field--check label a { color: var(--c-ink); }
.field--check .field__error { grid-column: 2; }

.form__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form__submit { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; }
.form__submit .muted { font-size: 14px; }
@media (max-width: 640px) { .form__submit .btn { width: 100%; } }

.form__alert { padding: 16px 20px; border-left: 4px solid var(--c-accent); background: #FBF1F1; font-weight: 500; }
.form__alert:focus, .form-success:focus { outline: none; }
.form-success { display: grid; gap: 16px; }
.form-success .stitch { width: 120px; }

/* Térkép (kétlépcsős betöltés) */
.map {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 520px;
	padding: 40px var(--pad);
	border-top: 1px solid var(--c-line);
	background:
		repeating-linear-gradient(0deg, transparent 0 63px, #D6D4CF 63px 64px),
		repeating-linear-gradient(90deg, #E4E2DD 0 1px, #ECEBE7 1px 64px);
}
.map.is-loaded { padding: 0; display: block; }
.map__frame { display: block; width: 100%; height: 520px; border: 0; }
.map__consent { display: grid; gap: 16px; max-width: 560px; padding: clamp(28px, 3vw, 40px); background: var(--c-white); border: 1px solid var(--c-line); }
.map__title { font-size: 24px; font-weight: 600; font-stretch: 106%; }
.map__note { font-size: 15px; line-height: 1.6; color: var(--c-ink-2); }
.map__note a { color: var(--c-ink); }
.map__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 8px; }
.map__actions a { font-weight: 600; text-underline-offset: 3px; }
@media (max-width: 640px) { .map, .map__frame { min-height: 420px; height: auto; } .map__frame { height: 420px; } }

/* Cookie-beállítások */
.cookie-dialog {
	width: min(560px, calc(100vw - 32px));
	padding: 0;
	border: 1px solid var(--c-line);
	background: var(--c-white);
	color: var(--c-ink);
}
.cookie-dialog::backdrop { background: rgba(20, 20, 19, .55); }
.cookie-dialog__inner { display: grid; gap: 20px; padding: clamp(24px, 3vw, 36px); }
.cookie-dialog__title { font-size: 24px; font-weight: 600; font-stretch: 106%; }
.cookie-dialog .muted { font-size: 14px; line-height: 1.55; }
.cookie-dialog__row { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-top: 16px; border-top: 1px solid var(--c-line); }
.cookie-dialog__row label { display: grid; gap: 4px; cursor: pointer; }
.cookie-dialog__name { font-weight: 600; }
.cookie-dialog__always { flex-shrink: 0; font-size: 13px; font-weight: 600; color: var(--c-ink-2); }
.cookie-dialog__links { font-size: 14px; }
.cookie-dialog .btn { justify-self: start; }

.switch {
	flex-shrink: 0;
	position: relative;
	width: 48px;
	height: 28px;
	margin: 0;
	border-radius: 14px;
	background: #B4B2AD;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: background-color .15s ease;
}
.switch::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	transition: transform .15s ease;
}
.switch:checked { background: var(--c-ink); }
.switch:checked::after { transform: translateX(20px); }

/* ---------- Split: sticky cím + hosszú szöveg (pl. Production / Why Szakács) ---------- */
.split {
	display: grid;
	grid-template-columns: minmax(0, 480px) minmax(0, 700px);
	justify-content: space-between;
	align-items: start;
	gap: 40px 96px;
}
.split__aside {
	display: grid;
	gap: 28px;
	position: sticky;
	top: calc(var(--header-h) + 40px);
}
.admin-bar .split__aside { top: calc(var(--header-h) + 72px); }
.split__highlight {
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.35;
	font-weight: 500;
	font-stretch: 104%;
}
.split__body { font-size: 18px; }
@media (max-width: 900px) {
	.split { grid-template-columns: 1fr; }
	.split__aside { position: static; }
}

/* ---------- Mozgáscsökkentés ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
