/* =====================================================================
   GTX Servis – hlavní styl šablony
   Vychází z Figma návrhu „GTX" (frame HP-f1).
   Obsah:
   1. Design tokeny (proměnné)
   2. Reset a základ
   3. Typografie a WYSIWYG
   4. Kontejner a sekce
   5. Tlačítka a ikony
   6. Hlavička a navigace
   7. Hero
   8. O nás + statistiky
   9. Co umíme + karty služeb
   10. Fotopásy (band)
   11. Výběrová řízení
   12. Ukázky / Kde působíme
   13. Patička
   14. Blog / stránky / 404
   15. Responsivita
   ===================================================================== */

/* 1. TOKENY -------------------------------------------------------------- */
:root {
	--gtx-orange: #fa8909;
	--gtx-orange-bright: #ff8700;
	--gtx-blue: #08297e;
	--gtx-ink: #202020;
	--gtx-body: #585858;
	--gtx-muted: #636363;
	--gtx-line: #e4e4e4;
	--gtx-surface: #f5f6f3;
	--gtx-footer-ink: #212529;
	--gtx-footer-muted: #6c757d;
	--gtx-white: #fff;

	--gtx-font-heading: "Alexandria", "Segoe UI", system-ui, sans-serif;
	--gtx-font-body: "DM Sans", "Segoe UI", system-ui, sans-serif;
	--gtx-font-ui: "Inter", "Segoe UI", system-ui, sans-serif;
	--gtx-font-num: "Hanken Grotesk", "Segoe UI", system-ui, sans-serif;

	--gtx-container: 1600px;
	--gtx-gutter: clamp(20px, 5vw, 60px);
	--gtx-radius-btn: 24px;
	--gtx-radius-card: 12px;
	--gtx-radius-hero: 24px;

	--gtx-section-y: clamp(56px, 8vw, 130px);
	--gtx-header-h: 112px;

	--gtx-shadow-card: 0 24px 60px -30px rgba(8, 20, 60, 0.35);
}

/* 2. RESET ------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: var(--gtx-header-h);
}

body {
	margin: 0;
	font-family: var(--gtx-font-body);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--gtx-ink);
	background: var(--gtx-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

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

a {
	color: var(--gtx-blue);
	text-decoration: none;
	transition: color 0.18s ease;
}

a:hover {
	color: var(--gtx-orange);
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

button {
	font: inherit;
	cursor: pointer;
}

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

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

.skip-link {
	position: absolute;
	left: -9999px;
	z-index: 1000;
	top: 0;
	background: var(--gtx-ink);
	color: #fff;
	padding: 12px 20px;
	border-radius: 0 0 10px 0;
}

.skip-link:focus {
	left: 0;
}

/* 3. TYPOGRAFIE ------------------------------------------------------- */
h1,
h2,
h3,
h4 {
	font-family: var(--gtx-font-heading);
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 0.5em;
	color: var(--gtx-ink);
}

p {
	margin: 0 0 1rem;
}

strong {
	font-weight: 700;
}

.is-muted {
	color: var(--gtx-footer-muted);
}

.section-heading,
.gtx-section-heading {
	font-family: var(--gtx-font-heading);
	font-weight: 600;
	font-size: clamp(2.4rem, 5.2vw, 4.2rem);
	line-height: 0.98;
	letter-spacing: -0.025em;
	margin: 0 0 0.6em;
}

.gtx-section-heading--blue {
	color: var(--gtx-blue);
	font-weight: 500;
}

.gtx-section-heading--ink {
	color: var(--gtx-ink);
}

.gtx-section-heading--white {
	color: var(--gtx-white);
}

/* WYSIWYG obsah stránek a příspěvků */
.wysiwyg {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--gtx-body);
	max-width: 820px;
}

.wysiwyg h2 {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	color: var(--gtx-blue);
	font-weight: 500;
	margin-top: 1.6em;
}

.wysiwyg h3 {
	font-size: clamp(1.3rem, 2.2vw, 1.7rem);
	margin-top: 1.4em;
}

.wysiwyg a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wysiwyg ul,
.wysiwyg ol {
	padding-left: 1.3em;
	margin: 0 0 1.2rem;
}

.wysiwyg ul {
	list-style: disc;
}

.wysiwyg ol {
	list-style: decimal;
}

.wysiwyg li {
	margin-bottom: 0.4em;
}

.wysiwyg img {
	border-radius: var(--gtx-radius-card);
	margin: 1.5rem 0;
}

.wysiwyg blockquote {
	margin: 1.5rem 0;
	padding: 0.5rem 0 0.5rem 1.5rem;
	border-left: 4px solid var(--gtx-orange);
	font-size: 1.2rem;
	color: var(--gtx-ink);
}

/* 4. KONTEJNER A SEKCE --------------------------------------------------- */
.gtx-container {
	width: 100%;
	max-width: var(--gtx-container);
	margin-inline: auto;
	padding-inline: var(--gtx-gutter);
}

.section {
	padding-block: var(--gtx-section-y);
}

.site-main > .band:first-child,
.site-main > .hero:first-child {
	margin-top: 0;
}

/* 5. TLAČÍTKA ------------------------------------------------------------ */
.gtx-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 15px 24px;
	min-height: 50px;
	border-radius: var(--gtx-radius-btn);
	font-family: var(--gtx-font-ui);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
	border: 1px solid transparent;
	transition: transform 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.gtx-btn:hover {
	transform: translateY(-2px);
}

.gtx-btn__icon {
	display: inline-flex;
}

.gtx-btn__icon svg {
	width: 16px;
	height: 16px;
}

.gtx-btn--primary {
	background: var(--gtx-orange);
	color: #000;
	border-color: var(--gtx-orange);
}

.gtx-btn--primary:hover {
	background: var(--gtx-orange-bright);
	border-color: var(--gtx-orange-bright);
	color: #000;
	box-shadow: 0 12px 30px -12px rgba(250, 137, 9, 0.7);
}

.gtx-btn--light {
	background: var(--gtx-white);
	color: var(--gtx-ink);
	border-color: var(--gtx-white);
}

.gtx-btn--light:hover {
	background: var(--gtx-ink);
	border-color: var(--gtx-ink);
	color: var(--gtx-white);
}

.gtx-btn--ghost {
	background: transparent;
	color: var(--gtx-ink);
	border-color: var(--gtx-ink);
}

.gtx-btn--ghost:hover {
	background: var(--gtx-ink);
	color: var(--gtx-white);
}

.gtx-btn--sm {
	min-height: 40px;
	padding: 10px 18px;
	font-size: 0.75rem;
}

.gtx-icon {
	flex: none;
}

/* 6. HLAVIČKA --------------------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--gtx-white);
	border-bottom: 1px solid var(--gtx-line);
	transition: background-color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 48px);
	min-height: var(--gtx-header-h);
	padding-block: 20px;
}

.site-header__brand {
	flex: none;
}

.site-header__brand img,
.custom-logo {
	width: auto;
	height: 56px;
}

.site-nav {
	display: flex;
	align-items: center;
	margin-left: auto;
}

.site-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2.6vw, 42px);
}

.site-nav__list a {
	font-family: var(--gtx-font-heading);
	font-weight: 500;
	font-size: 1.125rem;
	color: var(--gtx-ink);
	padding: 8px 4px;
	display: inline-block;
}

.site-nav__list .current-menu-item > a,
.site-nav__list a:hover {
	color: var(--gtx-orange);
}

.site-nav__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--gtx-ink);
}

.site-nav__toggle .site-nav__icon {
	width: 32px;
	height: 32px;
}

.site-nav__toggle .site-nav__icon--close {
	display: none;
}

/* Panel menu: na desktopu je jen obal, na mobilu modal (viz @media 1080) */
.site-nav__panel {
	display: contents;
}

.site-nav__actions {
	display: none;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: none;
}

/* Overlay varianta (přes hero na úvodní stránce) */
.site-header--overlay {
	position: absolute;
	inset: 0 0 auto 0;
	top: clamp(16px, 2.5vw, 40px);
	background: transparent;
	border-bottom-color: transparent;
}

.site-header--overlay .site-nav__list a,
.site-header--overlay .site-nav__toggle {
	color: var(--gtx-white);
}

.site-header--overlay .site-header__brand img {
	filter: brightness(0) invert(1);
}

.site-header--overlay.is-stuck {
	position: fixed;
	top: 0;
	background: var(--gtx-white);
	border-bottom-color: var(--gtx-line);
	box-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.3);
	animation: gtx-drop 0.3s ease;
}

.site-header--overlay.is-stuck .site-nav__list a,
.site-header--overlay.is-stuck .site-nav__toggle {
	color: var(--gtx-ink);
}

.site-header--overlay.is-stuck .site-nav__list a:hover {
	color: var(--gtx-orange);
}

.site-header--overlay.is-stuck .site-header__brand img {
	filter: none;
}

@keyframes gtx-drop {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}

.has-overlay-header .site-main {
	--gtx-header-h: 0px;
}

/* 7. HERO ------------------------------------------------------------- */
.hero {
	padding: 25px;
	background: var(--gtx-white);
}

.hero__frame {
	position: relative;
	border-radius: var(--gtx-radius-hero);
	overflow: hidden;
	min-height: clamp(560px, 52vw, 1008px);
	display: flex;
	align-items: center;
}

.hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
	opacity: 0;
	transition: opacity 0.8s ease;
	pointer-events: none;
}

.hero__video.is-playing {
	opacity: 1;
}

.hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.3) 55%, rgba(0, 0, 0, 0.5) 100%);
	pointer-events: none;
}

.hero__glow {
	position: absolute;
	z-index: 2;
	right: 8%;
	top: 50%;
	width: min(60vw, 760px);
	height: min(34vw, 360px);
	transform: translateY(-50%);
	background: #000;
	opacity: 0.32;
	filter: blur(116px);
	border-radius: 50%;
	pointer-events: none;
}

.hero__content {
	position: relative;
	z-index: 3;
	width: 100%;
}

.hero__box {
	margin-left: auto;
	width: min(100%, 640px);
	display: flex;
	flex-direction: column;
	gap: 40px;
	color: var(--gtx-white);
}

.hero__title {
	font-family: var(--gtx-font-heading);
	font-weight: 600;
	font-size: clamp(2.6rem, 5.6vw, 4rem);
	line-height: 1;
	color: var(--gtx-white);
	margin: 0;
}

.hero__cta {
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: flex-start;
}

.hero__text {
	font-family: var(--gtx-font-ui);
	font-size: 1rem;
	line-height: 1.5;
	max-width: 340px;
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
}

/* 8. O NÁS + STATISTIKY --------------------------------------------- */
.about__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(40px, 6vw, 100px);
	align-items: start;
}

.about__statement {
	font-family: var(--gtx-font-heading);
	font-weight: 400;
	font-size: clamp(1.6rem, 2.7vw, 2.5rem);
	line-height: 1.2;
	color: var(--gtx-ink);
	margin: 0 0 2rem;
}

.stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(24px, 3vw, 48px) clamp(20px, 2.5vw, 40px);
	border-top: 1px solid var(--gtx-line);
	padding-top: clamp(28px, 4vw, 56px);
}

.stats__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.stats__item:first-child {
	grid-column: 1;
}

.stats__value {
	font-family: var(--gtx-font-num);
	font-weight: 500;
	font-size: clamp(3rem, 6vw, 5.6rem);
	line-height: 1.05;
	color: var(--gtx-ink);
}

.stats__label {
	font-family: var(--gtx-font-ui);
	font-size: 0.8125rem;
	color: var(--gtx-muted);
}

.stats__item--accent .stats__value {
	position: relative;
}

/* Číslice se „narolují“ jako počítadlo na staré benzínové pumpě (skládá main.js) */
.stats__value {
	font-variant-numeric: tabular-nums;
}

.odo {
	display: inline-flex;
	vertical-align: top;
}

.odo__reel {
	display: inline-block;
	height: 1.05em;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}

.odo__strip {
	display: flex;
	flex-direction: column;
	transform: translateY(0);
	will-change: transform;
}

.odo__strip > span {
	display: block;
	height: 1.05em;
	line-height: 1.05;
	text-align: center;
}

.odo.is-rolling .odo__strip {
	transition: transform var(--odo-dur, 2s) cubic-bezier(0.22, 0.8, 0.25, 1);
	transform: translateY(var(--odo-to, 0));
}

/* Dělicí linka mezi řádky čísel: tenká šedá + tlustá modrá pod 2. sloupcem */
.stats__rule {
	--stats-col-gap: clamp(20px, 2.5vw, 40px);
	grid-column: 1 / -1;
	position: relative;
	height: 6px;
}

.stats__rule::before {
	content: "";
	position: absolute;
	inset: 2px 0 auto 0;
	height: 1px;
	background: var(--gtx-line);
}

.stats__rule::after {
	content: "";
	position: absolute;
	top: 0;
	height: 6px;
	width: calc((100% - 2 * var(--stats-col-gap)) / 3);
	left: calc((100% - 2 * var(--stats-col-gap)) / 3 + var(--stats-col-gap));
	border-radius: 3px;
	background: var(--gtx-blue);
}

/* 9. CO UMÍME + KARTY --------------------------------------------- */
.services__head {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(40px, 6vw, 100px);
	align-items: start;
	margin-bottom: clamp(40px, 5vw, 72px);
}

.services__head .gtx-section-heading {
	margin-bottom: 0;
}

.services__statement {
	font-family: var(--gtx-font-heading);
	font-weight: 400;
	font-size: clamp(1.5rem, 2.6vw, 2.5rem);
	line-height: 1.2;
	color: var(--gtx-ink);
	margin: 0 0 1.6rem;
}

.card-row {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(20px, 2.4vw, 35px);
	align-items: flex-start;
}

.card-row__item {
	flex: 1 1 240px;
	min-width: 0;
}

.card-row__item--wide {
	flex-grow: 1.5;
	flex-basis: 320px;
}

.service-card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	color: var(--gtx-ink);
}

.service-card__media {
	display: block;
	border-radius: var(--gtx-radius-card);
	overflow: hidden;
	background: var(--gtx-surface);
}

.service-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 419 / 616;
	transition: transform 0.4s ease;
}

.card-row__item--wide .service-card__media img {
	aspect-ratio: 616 / 419;
}

.service-card:hover .service-card__media img {
	transform: scale(1.04);
}

/* Hover na dlaždici: aktuální se zvětší, ostatní se na výšku zmenší.
   Celková výška řádku je pevná (žádný posun obsahu pod modulem) –
   mění se jen výška obrázku uvnitř dlaždice a transform. */
@media (hover: hover) and (min-width: 1081px) {
	.card-row__item {
		container-type: inline-size;
		--ar-h: 1.4701; /* 616 / 419 */
		--title-fs: clamp(1.15rem, 1.9vw, 1.82rem);
		--label-h: calc(var(--title-fs) * 2.3);
	}

	.card-row__item--wide {
		--ar-h: 0.6802; /* 419 / 616 */
	}

	.card-row .service-card {
		height: calc(var(--ar-h) * 100cqw + 18px + var(--label-h));
		transform-origin: 50% 0;
		transition: transform 0.4s cubic-bezier(0.22, 0.8, 0.25, 1);
	}

	.card-row .service-card__media {
		flex: none;
		height: calc(var(--ar-h) * 100cqw * var(--k, 1));
		transition: height 0.45s cubic-bezier(0.22, 0.8, 0.25, 1);
	}

	.card-row .service-card__media img {
		height: 100%;
		aspect-ratio: auto;
	}

	.card-row:hover .card-row__item {
		--k: 0.84;
	}

	.card-row .card-row__item:hover {
		--k: 1;
		position: relative;
		z-index: 2;
	}

	.card-row .card-row__item:hover .service-card {
		transform: scale(1.04);
	}
}


/* Kurzor nad dlaždicemi = oranžové kolečko */
.service-card,
.ref-card {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='18' fill='%23fa8909' fill-opacity='0.5'/%3E%3C/svg%3E") 20 20, pointer;
}

.service-card__label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.service-card__title {
	font-family: var(--gtx-font-heading);
	font-weight: 600;
	font-size: clamp(1.15rem, 1.9vw, 1.82rem);
	line-height: 1.1;
	color: var(--gtx-ink);
}

.service-card__icon {
	display: inline-flex;
	flex: none;
	margin-top: 0.4em;
	color: var(--gtx-orange);
	transition: transform 0.2s ease;
}

.service-card__icon svg {
	width: 16px;
	height: 16px;
}

.service-card:hover .service-card__icon {
	transform: translate(3px, -3px);
}

/* 10. FOTOPÁSY ----------------------------------------------------- */
.band {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(480px, 46vw, 760px);
	padding: 25px;
	overflow: hidden;
	color: var(--gtx-white);
	isolation: isolate;
}

.band__bg {
	position: absolute;
	inset: 25px;
	z-index: -2;
	border-radius: var(--gtx-radius-hero);
	overflow: hidden;
}

.band__bg img {
	position: absolute;
	left: 0;
	top: -10%;
	width: 100%;
	height: 120%;
	object-fit: cover;
	transform: translate3d(0, var(--py, 0px), 0);
	will-change: transform;
}

.band::before {
	content: "";
	position: absolute;
	inset: 25px;
	z-index: -1;
	border-radius: var(--gtx-radius-hero);
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 55%, rgba(0, 0, 0, 0) 100%);
}

.band--text-right::before {
	background: linear-gradient(270deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 55%, rgba(0, 0, 0, 0) 100%);
}

.band__watermark {
	position: absolute;
	bottom: clamp(24px, 6vw, 90px);
	width: clamp(180px, 22vw, 300px);
	height: auto;
	opacity: 0.92;
	z-index: -1;
}

.band__watermark--left {
	left: clamp(24px, 6vw, 90px);
}

.band__watermark--right {
	right: clamp(24px, 6vw, 90px);
}

.band__inner {
	width: 100%;
}

.band__content {
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: flex-start;
	max-width: 460px;
}

.band--text-right .band__inner {
	display: flex;
	justify-content: flex-end;
}

.band__title {
	font-family: var(--gtx-font-heading);
	font-weight: 600;
	font-size: clamp(2rem, 4.4vw, 4.2rem);
	line-height: 1.02;
	color: var(--gtx-white);
	margin: 0;
}

.band__text {
	font-family: var(--gtx-font-ui);
	font-size: 1rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.92);
	max-width: 340px;
	margin: 0;
}

/* 11. VÝBĚROVÁ ŘÍZENÍ ------------------------------------------------ */
.tender__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
	gap: clamp(32px, 5vw, 90px);
	align-items: start;
}

.tender__kicker {
	font-family: var(--gtx-font-heading);
	font-weight: 700;
	font-size: clamp(1.4rem, 2.2vw, 2rem);
	line-height: 1.2;
	color: var(--gtx-blue);
	margin: 0;
}

.tender__statement {
	font-family: var(--gtx-font-heading);
	font-weight: 400;
	font-size: clamp(1.7rem, 3.6vw, 3.5rem);
	line-height: 1.2;
	color: var(--gtx-ink);
	margin: 0 0 2rem;
}

/* 12. UKÁZKY / KDE PŮSOBÍME --------------------------------------- */
.gallery__grid,
.areas__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
	gap: clamp(36px, 5vw, 90px);
	align-items: start;
}

.gallery__lede,
.areas__lede {
	font-family: var(--gtx-font-body);
	font-size: 1.125rem;
	line-height: 1.4;
	letter-spacing: -0.01em;
	color: var(--gtx-body);
	margin: 0 0 1.8rem;
}

.areas__list {
	display: block;
	margin-top: 0.4rem;
	color: var(--gtx-ink);
}

.areas__map img {
	width: 100%;
	border-radius: var(--gtx-radius-card);
}

/* 13. PATIČKA ---------------------------------------------------------- */
.site-footer {
	background: var(--gtx-surface);
	color: var(--gtx-footer-ink);
	padding-block: clamp(56px, 7vw, 90px) 32px;
	margin-top: var(--gtx-section-y);
}

.site-footer__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(28px, 4vw, 56px);
}

.site-footer__title {
	font-family: var(--gtx-font-body);
	font-weight: 400;
	font-size: 1.125rem;
	color: var(--gtx-footer-ink);
	margin: 0 0 18px;
}

.footer-menu li + li,
.site-footer__col p {
	margin-top: 8px;
}

.footer-menu a,
.site-footer__contact a {
	color: var(--gtx-footer-muted);
	font-size: 1rem;
}

.footer-menu a:hover,
.site-footer__contact a:hover {
	color: var(--gtx-orange);
}

.site-footer__address,
.site-footer__contact {
	font-size: 1rem;
	color: var(--gtx-footer-ink);
	line-height: 1.5;
}

.site-footer__address strong {
	font-family: var(--gtx-font-body);
}

.site-footer__col .gtx-btn {
	margin: 20px 0 14px;
}

.footer-menu--legal {
	margin-top: 8px;
}

.site-footer__bottom {
	margin-top: clamp(40px, 6vw, 72px);
	padding-top: 24px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	font-size: 0.875rem;
	color: var(--gtx-footer-muted);
}

.site-footer__bottom p {
	margin: 0;
}

/* 14. BLOG / STRÁNKY / 404 ------------------------------------------- */
.page-head {
	margin-bottom: clamp(32px, 5vw, 64px);
}

.page-head .gtx-section-heading {
	margin-bottom: 0.3em;
}

.post-single__meta,
.post-card__meta {
	font-family: var(--gtx-font-ui);
	font-size: 0.875rem;
	color: var(--gtx-muted);
}

.post-single__thumb,
.page-single__thumb {
	margin: 0 0 2.5rem;
	border-radius: var(--gtx-radius-card);
	overflow: hidden;
}

.post-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: clamp(28px, 4vw, 48px);
}

.post-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.post-card__media {
	border-radius: var(--gtx-radius-card);
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-card__title {
	font-size: 1.4rem;
	margin: 0;
}

.post-card__excerpt {
	color: var(--gtx-body);
	margin: 0;
}

.post-card__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--gtx-font-ui);
	font-weight: 500;
	color: var(--gtx-blue);
}

.post-card__more svg {
	width: 14px;
	height: 14px;
}

.pagination {
	margin-top: clamp(40px, 6vw, 72px);
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pagination a,
.pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border-radius: 10px;
	border: 1px solid var(--gtx-line);
	font-family: var(--gtx-font-ui);
	color: var(--gtx-ink);
}

.pagination .current {
	background: var(--gtx-orange);
	border-color: var(--gtx-orange);
	color: #000;
}

.error-404__text {
	font-size: 1.2rem;
	color: var(--gtx-body);
	max-width: 520px;
}

.error-404__actions {
	margin: 1.5rem 0 2.5rem;
}

/* Formulář hledání */
.search-form {
	display: flex;
	gap: 10px;
	max-width: 460px;
	margin-top: 1.5rem;
}

.search-form__field {
	flex: 1;
	padding: 12px 16px;
	border: 1px solid var(--gtx-line);
	border-radius: 12px;
	font: inherit;
}

.no-results {
	padding: 2rem 0;
}

/* Bloky (základní zarovnání) */
.entry-content .alignwide {
	width: min(100%, 1100px);
	margin-inline: auto;
}

.entry-content .alignfull {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

/* 15. RESPONSIVITA ------------------------------------------------------- */
@media (max-width: 1180px) {
	.about__grid,
	.services__head,
	.tender__grid,
	.gallery__grid,
	.areas__grid {
		grid-template-columns: 1fr;
	}

	.stats {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1080px) {
	:root {
		--gtx-header-h: 88px;
	}

	.site-nav {
		position: static;
	}

	.site-nav__toggle {
		display: inline-flex;
		order: 2;
		position: relative;
		z-index: 130;
		margin-right: -8px;
	}

	.site-header__brand {
		position: relative;
		z-index: 130;
	}

	/* Hlavička na mobilu vždy bílá, v běžném toku (i na úvodní stránce) */
	.site-header,
	.site-header--overlay,
	.site-header--overlay.is-stuck {
		position: sticky;
		top: 0;
		background: var(--gtx-white);
		border-bottom: 1px solid var(--gtx-line);
		box-shadow: none;
		animation: none;
	}

	.site-header--overlay .site-header__brand img {
		filter: none;
	}

	.site-header--overlay .site-nav__toggle,
	.site-header--overlay .site-nav__list a {
		color: var(--gtx-ink);
	}

	.has-overlay-header .site-main {
		--gtx-header-h: 88px;
	}

	/* Telefon a „Mám zájem“ jen v rozbaleném menu */
	.site-header__actions {
		display: none;
	}

	body.nav-open {
		overflow: hidden;
	}

	/* Mobilní menu = celoobrazovkový modal */
	.site-nav__panel {
		position: fixed;
		inset: 0;
		z-index: 120;
		display: flex;
		flex-direction: column;
		gap: 32px;
		padding: calc(var(--gtx-header-h) + 16px) var(--gtx-gutter) 32px;
		overflow-y: auto;
		background: var(--gtx-white);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-12px);
		transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
	}

	.site-nav.is-open .site-nav__panel {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s;
	}

	.site-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		width: 100%;
	}

	.site-nav__list li {
		width: 100%;
		border-bottom: 1px solid var(--gtx-line);
	}

	.site-nav__list a,
	.site-header--overlay .site-nav__list a {
		display: block;
		width: 100%;
		padding: 18px 0;
		font-size: 1.5rem;
		color: var(--gtx-ink);
	}

	.site-nav__actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		margin-top: auto;
	}

	.site-nav__actions .gtx-btn {
		justify-content: center;
	}

	.site-nav.is-open .site-nav__icon--open {
		display: none;
	}

	.site-nav.is-open .site-nav__icon--close {
		display: block;
	}

	.hero__box {
		margin-left: 0;
	}

	.hero__glow {
		right: 0;
		left: 0;
		margin-inline: auto;
		width: 90%;
	}

	.band__content {
		max-width: none;
	}

	.band--text-right .band__inner {
		justify-content: flex-start;
	}
}

@media (max-width: 720px) {
	:root {
		--gtx-section-y: 48px;
	}

	.hero,
	.band {
		padding: 12px;
	}

	.band__bg,
	.band::before {
		inset: 12px;
	}

	.stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.stats__item:first-child {
		grid-column: auto;
	}

	.stats__rule {
		display: none;
	}

	.stats__item--accent .stats__value::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -10px;
		width: 78%;
		height: 6px;
		border-radius: 3px;
		background: var(--gtx-blue);
	}

	.card-row__item {
		flex-basis: calc(50% - 12px);
	}

	.card-row__item--wide {
		flex-basis: 100%;
	}

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

@media (max-width: 460px) {
	.card-row__item,
	.card-row__item--wide {
		flex-basis: 100%;
	}

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

	.site-header__actions .site-header__cta .gtx-btn__label {
		display: none;
	}
}

/* 16. PODSTRÁNKY: O společnosti, Co děláme, Reference, Kontakt ------------ */
.site-header:not(.site-header--overlay) + .site-main > .page-intro:first-child {
	padding-top: clamp(40px, 5vw, 80px);
}

.page-head__kicker {
	font-family: var(--gtx-font-ui);
	font-size: 0.875rem;
	color: var(--gtx-muted);
	margin: 0 0 0.6rem;
}

.page-intro__lead {
	font-family: var(--gtx-font-heading);
	font-weight: 400;
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	line-height: 1.3;
	color: var(--gtx-ink);
	max-width: 780px;
}

.page-intro__grid,
.contact__grid,
.reference-detail__top,
.reference-detail__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 100px);
	align-items: start;
}

.page-intro__media img,
.reference-detail__media img {
	width: 100%;
	border-radius: var(--gtx-radius-card);
	object-fit: cover;
}

.page-intro__text p {
	color: var(--gtx-body);
}

/* O společnosti (page-o-spolecnosti.php) */
.hero--page .hero__image {
	transform: scaleX(-1);
}

.hero--page .hero__overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.26) 55%, rgba(0, 0, 0, 0.45) 100%);
}

/* Nadpis vlevo + výrazná věta vpravo (stejně jako „Co umíme“ na úvodní stránce) */
.split-head {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(24px, 6vw, 100px);
	align-items: end;
	margin-bottom: clamp(32px, 4vw, 56px);
}

.split-head .gtx-section-heading {
	margin: 0;
}

.split-head__statement {
	font-family: var(--gtx-font-heading);
	font-weight: 400;
	font-size: clamp(1.4rem, 2.2vw, 2.5rem);
	line-height: 1.2;
	color: var(--gtx-ink);
	margin: 0;
}

/* Kdo jsme + statistiky */
.company__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(40px, 6vw, 100px);
	align-items: start;
}

.company__text {
	font-family: var(--gtx-font-body);
	font-size: 1.125rem;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: var(--gtx-body);
	max-width: 420px;
	margin: 0 0 clamp(28px, 3vw, 40px);
}

.company__photo {
	width: 100%;
	max-width: 480px;
	aspect-ratio: 474 / 393;
	object-fit: cover;
	border-radius: var(--gtx-radius-card);
}

.company__stats {
	border-top: 0;
	padding-top: 0;
}

.company__statement {
	font-family: var(--gtx-font-heading);
	font-weight: 400;
	font-size: clamp(1.6rem, 2.7vw, 2.5rem);
	line-height: 1.2;
	color: var(--gtx-ink);
	margin: clamp(32px, 4vw, 56px) 0 clamp(24px, 3vw, 40px);
}

.company__columns {
	columns: 2 280px;
	column-gap: clamp(24px, 3vw, 48px);
	font-family: var(--gtx-font-body);
	font-size: 1.125rem;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: var(--gtx-body);
	margin-bottom: clamp(24px, 3vw, 36px);
}

.company__columns p {
	break-inside: avoid;
}

/* Provádíme tyto činnosti */
.activities {
	padding-top: 0;
}

.activities__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: clamp(24px, 3vw, 48px);
	counter-reset: activity;
	list-style: none;
	margin: 0;
	padding: 0;
}

.activities__item {
	counter-increment: activity;
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding: 24px 0;
	border-top: 1px solid var(--gtx-line);
	font-family: var(--gtx-font-heading);
	font-weight: 600;
	font-size: clamp(1.1rem, 1.3vw, 1.5rem);
	line-height: 1.2;
	color: var(--gtx-ink);
}

.activities__item::before {
	content: counter(activity, decimal-leading-zero);
	flex: none;
	min-width: 24px;
	font-family: var(--gtx-font-num);
	font-weight: 500;
	font-size: 0.9375rem;
	color: var(--gtx-orange);
}

/* Náš tým */
.team__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 36px);
	list-style: none;
	margin: 0;
	padding: 0;
}

.team__card {
	display: flex;
	flex-direction: column;
	min-height: 300px;
	padding: 32px 28px 30px;
	background: var(--gtx-surface);
	border-radius: var(--gtx-radius-card);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.team__card:hover {
	transform: translateY(-4px);
	box-shadow: var(--gtx-shadow-card);
}

.team__avatar {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin-bottom: 28px;
	border-radius: 50%;
	background: var(--gtx-blue);
	color: var(--gtx-white);
	font-family: var(--gtx-font-heading);
	font-weight: 600;
	font-size: 1.375rem;
}

.team__name {
	margin: 0 0 8px;
	font-size: clamp(1.25rem, 1.3vw, 1.5625rem);
	line-height: 1.15;
	color: var(--gtx-ink);
}

.team__role {
	margin: 0 0 24px;
	font-family: var(--gtx-font-body);
	color: var(--gtx-muted);
	line-height: 1.4;
}

.team__links {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: auto;
}

.team__links a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	color: var(--gtx-ink);
	overflow-wrap: anywhere;
}

.team__links a:hover {
	color: var(--gtx-orange);
}

.team__links .gtx-icon {
	width: 14px;
	height: 14px;
	color: var(--gtx-orange);
}

@media (max-width: 1180px) {
	.company__grid,
	.split-head {
		grid-template-columns: 1fr;
	}

	.activities__list,
	.team__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.activities__list,
	.team__grid {
		grid-template-columns: 1fr;
	}

	.team__card {
		min-height: 0;
	}
}

/* Co děláme */
.service-rows {
	display: flex;
	flex-direction: column;
	gap: clamp(48px, 7vw, 110px);
}

.service-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 6vw, 100px);
	align-items: center;
	scroll-margin-top: var(--gtx-header-h);
}

.service-row--reverse .service-row__media {
	order: 2;
}

.service-row__media img {
	width: 100%;
	aspect-ratio: 616 / 419;
	object-fit: cover;
	border-radius: var(--gtx-radius-card);
}

.service-row__title {
	font-size: clamp(1.7rem, 3vw, 2.6rem);
	color: var(--gtx-blue);
	font-weight: 500;
}

.service-row__body p {
	color: var(--gtx-body);
}

.service-row__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 1.5rem;
}

/* Reference */
.ref-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: clamp(20px, 2.4vw, 35px);
}

.ref-card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	color: var(--gtx-ink);
}

.ref-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--gtx-radius-card);
	overflow: hidden;
	background: var(--gtx-surface);
}

.ref-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.ref-card:hover .ref-card__media img {
	transform: scale(1.04);
}

.ref-card:hover .service-card__icon {
	transform: translate(3px, -3px);
}

.ref-card__label {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}

.ref-card__title {
	display: block;
	font-family: var(--gtx-font-heading);
	font-weight: 600;
	font-size: clamp(1.15rem, 1.9vw, 1.6rem);
	line-height: 1.1;
}

.ref-card__type {
	display: block;
	font-family: var(--gtx-font-ui);
	font-size: 0.875rem;
	color: var(--gtx-muted);
}

.reference-detail__top {
	margin-bottom: clamp(40px, 6vw, 80px);
}

.reference-detail__media {
	margin: 0;
}

.spec-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2rem;
}

.spec-table td {
	padding: 10px 12px 10px 0;
	border-bottom: 1px solid var(--gtx-line);
}

.spec-table td:first-child {
	font-weight: 700;
}

.reference-detail__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 2rem;
}

.project-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 12px;
}

.project-gallery img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 8px;
}

/* Detail služby */
.service-detail__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(32px, 6vw, 100px);
	align-items: start;
}

.service-detail__media {
	margin: 0;
	position: sticky;
	top: calc(var(--gtx-header-h) + 20px);
}

.service-detail__media img {
	width: 100%;
	border-radius: var(--gtx-radius-card);
}

.service-detail__more {
	margin-top: clamp(56px, 8vw, 120px);
	padding-top: clamp(32px, 4vw, 56px);
	border-top: 1px solid var(--gtx-line);
}

.service-detail__more-title {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	color: var(--gtx-blue);
	font-weight: 500;
	margin-bottom: 1.2em;
}

/* Poptávkový formulář (Contact Form 7) */
.inquiry__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(32px, 6vw, 100px);
	align-items: start;
}

.inquiry__contacts li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 0;
	border-top: 1px solid var(--gtx-line);
}

.inquiry__label {
	font-family: var(--gtx-font-ui);
	font-size: 0.8125rem;
	color: var(--gtx-muted);
}

.inquiry__form {
	padding: clamp(24px, 3vw, 48px);
	background: var(--gtx-surface);
	border-radius: var(--gtx-radius-card);
}

.wpcf7-form p {
	margin: 0 0 1.2rem;
}

.wpcf7-form label {
	display: block;
	font-family: var(--gtx-font-ui);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--gtx-ink);
}

.wpcf7-form .req {
	color: var(--gtx-orange);
}

.wpcf7-form-control-wrap {
	display: block;
	margin-top: 6px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	width: 100%;
	padding: 12px 0;
	font: inherit;
	color: var(--gtx-ink);
	background: transparent;
	border: 0;
	border-bottom: 1px solid #b4b4b4;
	border-radius: 0;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.16s ease;
}

.wpcf7-form textarea {
	min-height: 140px;
	resize: vertical;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-bottom-color: var(--gtx-ink);
	box-shadow: 0 1px 0 0 var(--gtx-ink);
}

.wpcf7-acceptance label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 400;
	font-size: 0.875rem;
	color: var(--gtx-body);
}

.wpcf7-acceptance input {
	margin-top: 4px;
	accent-color: var(--gtx-orange);
}

.wpcf7-form input[type="submit"],
.wpcf7-submit {
	padding: 15px 32px;
	min-height: 50px;
	font-family: var(--gtx-font-ui);
	font-size: 1rem;
	line-height: 1;
	color: #000;
	background: var(--gtx-orange);
	border: 1px solid var(--gtx-orange);
	border-radius: var(--gtx-radius-btn);
	cursor: pointer;
	transition: transform 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.wpcf7-form input[type="submit"]:hover {
	background: var(--gtx-orange-bright);
	border-color: var(--gtx-orange-bright);
	transform: translateY(-2px);
	box-shadow: 0 12px 30px -12px rgba(250, 137, 9, 0.7);
}

.wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 0.8125rem;
	color: #c0392b;
}

.wpcf7 form .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 0.9375rem;
}

.wpcf7-spinner {
	margin: 0 0 0 12px;
}

/* Kontakt */
.contact__card {
	padding: clamp(24px, 3vw, 48px);
	background: var(--gtx-surface);
	border-radius: var(--gtx-radius-card);
}

.contact__company {
	font-size: 1.2rem;
}

.contact__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin: 0;
}

.contact__list dt {
	font-family: var(--gtx-font-ui);
	font-size: 0.8125rem;
	color: var(--gtx-muted);
}

.contact__list dd {
	margin: 0;
	font-weight: 700;
}

.contact__list small {
	display: block;
	font-weight: 400;
	color: var(--gtx-muted);
}

@media (max-width: 900px) {
	.page-intro__grid,
		.contact__grid,
	.reference-detail__top,
	.reference-detail__bottom,
	.service-detail__grid,
	.inquiry__grid,
	.service-row {
		grid-template-columns: 1fr;
	}

	.service-detail__media {
		position: static;
		order: -1;
	}

	.service-row--reverse .service-row__media {
		order: 0;
	}
}

@media (max-width: 460px) {
	.contact__list {
		grid-template-columns: 1fr;
	}
}

/* Dlaždice (služby, ukázky, reference): od tabletu výš se nezalamují, mobil = vždy 2 vedle sebe */
@media (min-width: 721px) {
	.services__grid,
	.gallery__cards {
		flex-wrap: nowrap;
	}

	.services__grid .card-row__item,
	.gallery__cards .card-row__item {
		flex: 1 1 0;
	}

	.services__grid .card-row__item--wide {
		flex-grow: 1.5;
	}

	.ref-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.ref-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 14px;
	}

	.ref-card {
		gap: 12px;
	}

	.ref-card__title {
		font-size: 1rem;
	}

	.gallery__cards {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 14px;
	}

	.gallery__cards .card-row__item {
		flex: none;
	}

	.services__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 14px;
	}

	.services__grid .card-row__item,
	.services__grid .card-row__item--wide {
		flex: none;
	}

	.services__grid .card-row__item--wide .service-card__media img {
		aspect-ratio: 419 / 616;
	}

	.services__grid .service-card {
		gap: 12px;
	}

	.services__grid .service-card__title {
		font-size: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.odo.is-rolling .odo__strip {
		transition: none;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
