/*  Mobile — measured against the 390 board (node 27:2).
	Everything above 767px is the desktop board; between the two the layout is
	allowed to reflow, since the design defines only those two widths. */

@media (max-width: 1100px) {
	.ek-header__list {
		gap: 24px;
	}

	.ek-footer__top {
		gap: 40px;
	}

	.ek-footer__brand {
		width: 260px;
	}
}

@media (max-width: 900px) {
	/* The anchor menu no longer fits beside the logo and the button. */
	.ek-header__nav {
		display: none;
	}

	.ek-header__burger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		margin-left: auto;
		width: 32px;
		height: 32px;
		flex: none;
	}

	.ek-header__burger-bar {
		display: block;
		width: 22px;
		height: 1.6px;
		background: var(--ek-white);
		margin-inline: auto;
		transition: transform var(--ek-dur) var(--ek-ease), opacity var(--ek-dur) var(--ek-ease);
	}

	.ek-header__cta {
		display: none;
	}

	.ek-header__drawer[hidden] {
		display: none;
	}

	.ek-header__drawer {
		display: flex;
		flex-direction: column;
		gap: 18px;
		padding: 8px var(--ek-gutter) 28px;
		background: var(--ek-bg-deep);
		border-top: 1px solid var(--ek-line-onDark);
	}

	.ek-header__drawer-list {
		display: flex;
		flex-direction: column;
		gap: 2px;
	}

	.ek-header__drawer-list a {
		display: block;
		padding: 12px 0;
		font-size: var(--ek-body-m);
		font-weight: 500;
		color: var(--ek-text-onDeep-soft);
		border-bottom: 1px solid var(--ek-line-onDark);
	}

	.ek-header__inner[aria-expanded='true'] .ek-header__burger-bar:nth-child(2) {
		transform: translateY(6.6px) rotate(45deg);
	}

	.ek-header__inner[aria-expanded='true'] .ek-header__burger-bar:nth-child(3) {
		opacity: 0;
	}

	.ek-header__inner[aria-expanded='true'] .ek-header__burger-bar:nth-child(4) {
		transform: translateY(-6.6px) rotate(-45deg);
	}

	/* Footer stacks: brand block, then the link columns side by side. */
	.ek-footer__top {
		flex-wrap: wrap;
		gap: 36px;
	}

	.ek-footer__brand {
		width: 100%;
	}

	.ek-footer__col {
		flex: 1 1 200px;
	}
}

@media (max-width: 767px) {
	.ek-header__inner {
		padding: 16px var(--ek-gutter);
	}

	.ek-logo {
		--ek-logo-scale: 0.72;
	}

	/* ---- Hero — board 27:2: 640 tall, 120/24/40 padding, gap 18 ---- */
	/*  Board is 640 with 120 above. On this width the content nearly fills the
		hero already — only 9px of slack — so the height alone would not move
		anything; the padding has to come down with it. */
	.ek-hero {
		min-height: 596px;
	}

	.ek-hero__body {
		padding: 76px var(--ek-gutter) 40px;
		gap: 18px;
	}

	.ek-hero__text {
		font-size: var(--ek-body-m);
		line-height: 1.58;
	}

	.ek-hero__actions {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 10px;
		padding-top: 8px;
	}

	.ek-hero__actions .ek-btn {
		width: 100%;
		padding-block: 16px;
	}

	/* KPI becomes a 2 × 2 grid with rules between the cells. */
	.ek-hero__kpi-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.ek-hero__kpi-cell {
		padding: 18px 0 18px 18px;
		border-left: 1px solid var(--ek-line-onDark-14);
	}

	.ek-hero__kpi-cell:nth-child(odd) {
		padding-left: 0;
		border-left: 0;
	}

	.ek-hero__kpi-cell:nth-child(n + 3) {
		border-top: 1px solid var(--ek-line-onDark-14);
	}

	.ek-hero__kpi-value {
		font-size: 20px;
		letter-spacing: -0.01em;
	}

	.ek-hero__kpi-label {
		font-size: var(--ek-nano);
	}

	/* ---- Footer ---- */
	.ek-footer__top {
		flex-direction: column;
		gap: 26px;
		padding-top: 48px;
		padding-bottom: 36px;
	}

	.ek-footer__col {
		flex: none;
		width: 100%;
	}

	.ek-footer__bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding-top: 18px;
		padding-bottom: 22px;
	}

	.ek-footer__bar-links {
		margin-left: 0;
	}

	/* ---- Cookie banner ---- */
	.ek-cookie {
		left: var(--ek-gutter);
		right: var(--ek-gutter);
		bottom: 24px;
		width: auto;
		max-width: none;
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		padding: 20px;
	}

	.ek-cookie__body {
		max-width: none;
	}

	.ek-cookie__actions {
		margin-left: 0;
	}

	.ek-cookie__btn {
		flex: 1 1 0;
	}
}

@media (max-width: 1100px) {
	.ek-about__intro {
		gap: 56px;
	}

	.ek-steps {
		flex-wrap: wrap;
	}

	.ek-steps__item {
		flex: 1 1 calc(50% - 14px);
	}
}

@media (max-width: 767px) {
	/* Board 27:2 — the intro stacks, the ops head sits 44 below it, and each
	   step becomes a full-width card. */
	.ek-about__intro {
		flex-direction: column;
		gap: 16px;
	}

	.ek-about__head {
		gap: 16px;
	}

	.ek-about__copy {
		padding-top: 0;
		gap: 16px;
	}

	.ek-about__title,
	.ek-about__p,
	.ek-about__quote {
		max-width: none;
	}

	.ek-about__quote {
		padding-left: 16px;
		font-size: var(--ek-body-s);
		line-height: 1.56;
	}

	.ek-about__ops-head {
		padding-top: 44px;
		padding-bottom: 4px;
		gap: 8px;
	}

	.ek-steps {
		flex-direction: column;
		gap: 0;
	}

	.ek-steps__item {
		flex: none;
		width: 100%;
		gap: 12px;
		padding-top: 20px;
		padding-bottom: 4px;
		margin-top: 16px;
	}
}

@media (max-width: 1100px) {
	.ek-prod__grid,
	.ek-con__grid {
		gap: 48px;
	}

	.ek-prod__copy {
		width: 46%;
	}

	.ek-form-card {
		width: 44%;
		min-width: 380px;
		padding: 32px;
	}

	.ek-prd__cols {
		gap: 28px;
	}

	.ek-tds {
		width: 300px;
	}

	.ek-log__head {
		gap: 48px;
	}
}

@media (max-width: 900px) {
	.ek-prod__grid,
	.ek-con__grid,
	.ek-prd__cols,
	.ek-log__head {
		flex-direction: column;
		gap: 40px;
	}

	/* Every one of these is `flex: 1 1 0` in the desktop row. Once the
	   container turns into a column, that basis of 0 applies to HEIGHT, and
	   with nothing to grow into the element collapses to nothing — which is
	   how the whole specification table vanished on mobile. */
	.ek-prod__copy,
	.ek-prod__gallery,
	.ek-form-card,
	.ek-tds,
	.ek-prd__table-wrap,
	.ek-con__copy,
	.ek-log__head-left,
	.ek-log__text {
		flex: none;
		width: 100%;
		min-width: 0;
		max-width: none;
	}

	.ek-log__cards {
		flex-wrap: wrap;
	}

	.ek-log__card {
		flex: 1 1 calc(50% - 14px);
	}
}

@media (max-width: 767px) {
	/* ---- 03 Production — board 27:2: gallery 210 + 140, rows 16/16 ---- */
	.ek-prod__grid {
		gap: 16px;
	}

	.ek-prod__copy {
		gap: 16px;
	}

	.ek-prod__gallery {
		gap: 10px;
		padding-top: 12px;
	}

	.ek-prod__photo--main {
		height: 210px;
	}

	.ek-prod__pair {
		flex-direction: column;
		gap: 10px;
	}

	.ek-prod__pair .ek-prod__photo {
		height: 140px;
	}

	.ek-specs__row {
		gap: 14px;
		padding-block: 16px;
	}

	.ek-specs__title {
		font-size: var(--ek-body-s);
	}

	.ek-specs__meta {
		font-size: var(--ek-nano);
	}

	/* ---- 04 Product — the three-column table cannot survive 390px, so the
	   board restacks each row: parameter and value on one line, method under. ---- */
	.ek-prd__head {
		gap: 14px;
		padding-bottom: 0;
	}

	.ek-prd__cols {
		gap: 14px;
		padding-top: 14px;
	}

	.ek-table thead {
		display: block;
	}

	.ek-table thead tr {
		display: block;
	}

	.ek-table thead th:nth-child(n + 2) {
		display: none;
	}

	.ek-table thead th {
		display: block;
		padding: 12px 18px;
		font-size: 10.5px;
	}

	.ek-table tbody,
	.ek-table tbody tr {
		display: block;
	}

	.ek-table tbody tr {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 0 12px;
		padding: 14px 18px;
		border-top: 1px solid var(--ek-line);
	}

	.ek-table tbody th,
	.ek-table tbody td {
		width: auto;
		padding: 0;
		border: 0;
	}

	.ek-table tbody th {
		font-size: var(--ek-body-xs);
	}

	.ek-table__value {
		text-align: right;
		font-size: var(--ek-body-xs);
	}

	.ek-table__method {
		grid-column: 1 / -1;
		margin-top: 5px;
		font-size: 11.5px;
	}

	.ek-table__footnote {
		padding: 14px 18px 16px;
		font-size: 12.5px;
	}

	.ek-tds {
		gap: 16px;
		padding: 26px 24px;
	}

	.ek-tds__doc {
		display: none; /* not drawn on the 390 board */
	}

	.ek-tds__title {
		font-size: 20px;
	}

	.ek-tds__text {
		font-size: var(--ek-body-xs);
	}

	/* ---- 05 Logistics ---- */
	.ek-log__head {
		flex-direction: column;
		gap: 14px;
		padding-bottom: 12px;
	}

	.ek-log__cards {
		flex-direction: column;
		gap: 14px;
	}

	.ek-log__card {
		flex: none;
		width: 100%;
	}

	.ek-log__photo {
		height: 168px;
	}

	.ek-log__body {
		gap: 8px;
		padding: 18px 20px 22px;
	}

	.ek-log__card-text {
		font-size: 14.5px;
		line-height: 1.6;
	}

	.ek-log__strip {
		flex-direction: column;
		gap: 16px;
		padding: 20px;
	}

	/* ---- 06 Contacts ---- */
	.ek-con__grid {
		gap: 14px;
	}

	.ek-con__copy {
		gap: 14px;
	}

	.ek-form-card {
		padding: 26px 22px;
		gap: 14px;
	}

	.ek-form__grid {
		gap: 14px;
	}

	.ek-form__field.is-half {
		flex: 1 1 100%;
	}

	.ek-form__input {
		padding: 14px;
	}

	.ek-legal {
		margin-top: 12px;
	}

	.ek-legal__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 3px;
		padding-block: 13px;
	}

	.ek-legal__key {
		width: auto;
		font-size: 12.5px;
	}
}

@media (max-width: 900px) {
	.ek-legalpage__grid {
		flex-direction: column;
		gap: 32px;
	}

	.ek-legalpage__toc {
		position: static;
		flex: none;
		width: 100%;
	}

	.ek-legalpage__article {
		flex: none;
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 767px) {
	.ek-legalpage__band {
		padding-block: 56px 48px;
	}

	.ek-legalpage__title {
		font-size: 32px;
		letter-spacing: -0.018em;
	}

	.ek-legalpage {
		padding-block: 48px 64px;
	}

	.ek-legalpage__section {
		padding-block: 24px;
	}

	.ek-legalpage__lead {
		font-size: var(--ek-body-m);
		padding-bottom: 24px;
	}

	.ek-service {
		padding-block: 80px 96px;
	}

	.ek-searchform {
		flex-direction: column;
	}
}

/* =========================================================================
   Sections added in the August 2026 revision — phone layout.
   Every multi-column grid collapses to one column; the chain arrow turns from
   → to ↓ because the row becomes a stack.
   ========================================================================= */

@media (max-width: 767px) {

	.ek-mtt__grid,
	.ek-rm__grid,
	.ek-prd__facts { grid-template-columns: 1fr; }

	.ek-mtt__grid { gap: 20px; margin-top: 40px; }
	.ek-mtt__item { gap: 10px; padding-top: 12px; }
	.ek-mtt__band { margin-top: 40px; padding: 20px; font-size: 19px; }

	.ek-org__chain {
		grid-template-columns: 1fr;
		gap: 30px;
		margin-top: 40px;
	}

	/* Rotated, and moved from the left edge to the gap above the card. */
	.ek-org__link + .ek-org__link::before {
		content: "↓";
		top: -22px;
		left: 20px;
		transform: none;
	}

	.ek-org__link { padding: 18px; }
	.ek-org__ce { margin-top: 56px; }

	.ek-bm__grid { grid-template-columns: 1fr; gap: 48px; }

	.ek-cmp__panel { margin-top: 28px; padding: 20px; }

	.ek-rm__grid { gap: 26px; margin-top: 34px; }

	.ek-prd__facts { gap: 18px; margin-top: 22px; }
}
