/*
 * OneSafety Homepage
 * Všechny selektory jsou uvnitř .onesafety-homepage, aby plugin
 * neovlivnil typografii ani styly zbytku webu.
 */

.onesafety-homepage {
	--os-font-family: "Geist", "Poppins", "Montserrat", Arial, sans-serif;
	--os-blue: #0151F0;
	--os-blue-hover: #0041c4;
	--os-blue-light: #0151F0;
	--os-blue-ink: #0151F0;
	--os-navy: #0b1c33;
	--os-black: #000000;
	--os-white: #ffffff;
	--os-ink: #101317;
	--os-muted: #4a5560;
	--os-surface: #f2f4f7;
	--os-surface-2: #e9edf2;
	--os-line: #dde3ea;
	--os-radius-lg: 28px;
	--os-radius-md: 16px;
	--os-radius-sm: 10px;
	--os-shell: 1280px;
	--os-gap: clamp(1.25rem, 3vw, 2.5rem);
	--os-section: clamp(3rem, 8vw, 6.5rem);

	font-family: var(--os-font-family);
	color: var(--os-ink);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.onesafety-homepage *,
.onesafety-homepage *::before,
.onesafety-homepage *::after {
	box-sizing: border-box;
}

.onesafety-homepage p,
.onesafety-homepage h1,
.onesafety-homepage h2,
.onesafety-homepage h3,
.onesafety-homepage ul,
.onesafety-homepage ol {
	margin: 0;
	padding: 0;
}

.onesafety-homepage ul,
.onesafety-homepage ol,
.onesafety-homepage ul > li,
.onesafety-homepage ol > li {
	list-style: none;
}

.onesafety-homepage ol > li::marker,
.onesafety-homepage ul > li::marker {
	content: "";
}

.onesafety-homepage img {
	max-width: 100%;
	height: auto;
	display: block;
}

.onesafety-homepage .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.onesafety-homepage a,
.onesafety-homepage button {
	font-family: inherit;
}

.onesafety-homepage :focus-visible {
	outline: 3px solid var(--os-blue);
	outline-offset: 3px;
	border-radius: 4px;
}

.onesafety-homepage-block {
	max-width: none;
}

.os-shell {
	width: 100%;
	max-width: var(--os-shell);
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}

.os-anchor {
	display: block;
	height: 1px;
}

.os-eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--os-blue);
	margin-bottom: 1rem;
}

.os-eyebrow--muted {
	color: var(--os-muted);
}

/*
 * Všechny nadřazené popisky sekcí mají jednu značkovou modrou.
 * V referenci HP-02 je „CO JE ONESAFETY“ šedé; sjednoceno na přání zadavatele.
 */
.onesafety-homepage .os-eyebrow,
.onesafety-homepage .os-eyebrow--muted {
	color: var(--os-blue);
}

.os-accent {
	color: var(--os-blue);
}

.os-line {
	display: block;
}

.os-media-missing {
	display: block;
	padding: 1.5rem;
	background: var(--os-surface);
	border: 1px dashed var(--os-line);
	border-radius: var(--os-radius-md);
	color: var(--os-muted);
	font-size: 0.9rem;
}

/* Tlačítka */

.os-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.75rem 1.5rem;
	border-radius: var(--os-radius-sm);
	font-weight: 700;
	font-size: 0.95rem;
	text-decoration: none;
	border: 2px solid transparent;
	cursor: pointer;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.os-btn--primary {
	background: var(--os-blue);
	color: var(--os-white);
	white-space: nowrap;
}

.os-btn--primary:hover,
.os-btn--primary:focus {
	background: var(--os-blue-hover);
	color: var(--os-white);
}

.os-btn--lg {
	min-height: 52px;
	padding: 0.9rem 2rem;
	font-size: 1.05rem;
}

.os-btn--onblue {
	background: var(--os-white);
	color: var(--os-blue);
}

.os-btn--onblue:hover,
.os-btn--onblue:focus {
	background: var(--os-navy);
	color: var(--os-white);
}

/* Navigace */

.os-nav {
	padding-block: clamp(0.75rem, 2vw, 1.25rem);
	background: var(--os-white);
}

.os-nav__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.onesafety-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: var(--os-ink);
}

.onesafety-logo__image {
	height: clamp(14px, 1.7vw, 20px);
	width: auto;
	max-width: min(60vw, 320px);
	object-fit: contain;
	object-position: left center;
}

.onesafety-logo__text {
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.os-nav__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
}

.os-nav__toggle-bars,
.os-nav__toggle-bars::before,
.os-nav__toggle-bars::after {
	display: block;
	width: 26px;
	height: 3px;
	background: var(--os-ink);
	border-radius: 2px;
	position: relative;
}

.os-nav__toggle-bars::before,
.os-nav__toggle-bars::after {
	content: "";
	position: absolute;
	left: 0;
}

.os-nav__toggle-bars::before {
	top: -8px;
}

.os-nav__toggle-bars::after {
	top: 8px;
}

.os-nav__list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: clamp(0.65rem, 1.4vw, 1.5rem);
}

.os-nav__link {
	color: var(--os-ink);
	text-decoration: none;
	font-weight: 700;
	font-size: clamp(0.85rem, 1.05vw, 0.95rem);
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	transition: color 0.2s ease;
}

.os-nav__link:hover,
.os-nav__link:focus {
	color: var(--os-blue);
}

/* Mobilní menu */

@media (max-width: 1023px) {
	.os-nav__menu {
		position: fixed;
		inset: 0;
		background: var(--os-white);
		padding: 5rem 1.5rem 2rem;
		z-index: 999;
		display: none;
		overflow-y: auto;
	}

	.os-nav__menu.is-open {
		display: block;
	}

	.os-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
	}

	.os-nav__link {
		font-size: 1.25rem;
		padding-block: 0.5rem;
	}

	.os-nav__item--cta {
		margin-top: 1rem;
	}

	.os-nav__link {
		white-space: normal;
	}

	.os-nav__item--cta .os-btn {
		width: 100%;
	}
}

@media (min-width: 1024px) {
	.os-nav__toggle {
		display: none;
	}

	.os-nav__menu {
		display: block !important;
	}
}

.onesafety-homepage.os-menu-open {
	overflow: hidden;
}

/* HP-01 hero */

.os-hero {
	padding-bottom: var(--os-section);
}

.os-hero__card {
	background: var(--os-navy);
	border-radius: var(--os-radius-lg);
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr;
	color: var(--os-white);
}

.os-hero__text {
	padding: clamp(1.75rem, 5vw, 4.5rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.5rem;
}

.os-hero__heading {
	font-size: clamp(2.25rem, 6vw, 4rem);
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.os-hero__perex {
	font-size: clamp(1rem, 1.6vw, 1.2rem);
	color: rgba(255, 255, 255, 0.88);
	max-width: 34ch;
}

.os-hero__actions {
	margin: 0;
}

.os-hero__tagline {
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.8);
}

.os-hero__media {
	position: relative;
}

.os-hero__image {
	width: 100%;
	height: auto;
	aspect-ratio: 677 / 686;
	object-fit: cover;
	object-position: center;
}

@media (min-width: 768px) {
	.os-hero__card {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.os-hero__media {
		min-height: 100%;
	}

	.os-hero__image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
	}
}

/* HP-02 poslání */

.os-mission {
	padding-block: var(--os-section);
}

.os-mission__inner {
	display: grid;
	gap: var(--os-gap);
	align-items: center;
}

.os-mission__heading {
	font-size: clamp(2rem, 5vw, 3.5rem);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 2rem;
}

.os-mission__body {
	color: var(--os-muted);
	max-width: 46ch;
	font-size: clamp(1rem, 1.4vw, 1.1rem);
}

.os-mission__symbol {
	display: flex;
	justify-content: center;
}

.os-symbol--hero {
	width: min(100%, 420px);
	height: auto;
}

@media (min-width: 1024px) {
	.os-mission__inner {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	}

	.os-mission__symbol {
		justify-content: flex-end;
	}
}

/* HP-03 kroky */

.os-steps {
	padding-top: var(--os-section);
	padding-bottom: calc(var(--os-section) + clamp(2.5rem, 9vw, 7rem));
	position: relative;
	overflow: hidden;
}

.os-steps__head {
	display: grid;
	gap: var(--os-gap);
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.os-steps__heading {
	font-size: clamp(1.85rem, 4.2vw, 3rem);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.os-steps__lead {
	color: var(--os-muted);
	max-width: 42ch;
	font-size: clamp(1rem, 1.3vw, 1.05rem);
}

.os-steps__grid {
	position: relative;
	z-index: 1;
	list-style: none;
	counter-reset: none;
	padding-inline-start: 0;
	margin-inline-start: 0;
	display: grid;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	grid-template-columns: 1fr;
}

.os-step {
	background: var(--os-surface);
	border-radius: var(--os-radius-md);
	padding: clamp(1.25rem, 2.5vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	min-height: 100%;
	transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease;
	will-change: transform;
}

.os-step:hover,
.os-step:has(:focus-visible) {
	transform: translateY(-6px);
	background: var(--os-surface-2);
	box-shadow: 0 14px 30px rgba(11, 28, 51, 0.13);
}

.os-step--accent:hover,
.os-step--accent:has(:focus-visible) {
	background: #0151F0;
	box-shadow: 0 14px 30px rgba(1, 81, 240, 0.34);
}

.os-step--accent {
	background: #0151F0;
	color: var(--os-white);
}

.os-step__number {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--os-blue);
}

.os-step--accent .os-step__number {
	color: var(--os-white);
}

.os-step__title {
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.os-step__text {
	font-size: 0.95rem;
	color: var(--os-muted);
}

.os-step--accent .os-step__text {
	color: rgba(255, 255, 255, 0.92);
}

.os-steps__symbol {
	position: absolute;
	right: clamp(1rem, 4vw, 2.5rem);
	bottom: clamp(1rem, 3vw, 2.5rem);
	width: min(26%, 230px);
	max-width: calc(100% - 2rem);
	pointer-events: none;
	z-index: 0;
}

.os-symbol--corner {
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 640px) {
	.os-steps__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.os-steps__head {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		align-items: end;
	}

	.os-steps__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* HP-04 témata */

.os-topics {
	padding-block: var(--os-section);
}

.os-topics__head {
	display: grid;
	gap: var(--os-gap);
	margin-bottom: clamp(1.75rem, 4vw, 3rem);
}

.os-topics__heading {
	font-size: clamp(1.9rem, 4.5vw, 3.25rem);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.os-topics__lead {
	color: var(--os-muted);
	max-width: 42ch;
}

.os-topics__body {
	display: grid;
	gap: var(--os-gap);
	align-items: start;
}

.os-topics__media {
	border-radius: var(--os-radius-md);
	overflow: hidden;
}

.os-topics__image {
	width: 100%;
	aspect-ratio: 654 / 580;
	object-fit: cover;
	object-position: center;
}

.os-accordion {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.os-accordion__hint {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin-top: 0.35rem;
	font-size: 0.85rem;
	color: var(--os-muted);
}

.os-accordion__hint-icon {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	border: 2px solid var(--os-blue);
	border-radius: 50%;
	position: relative;
}

.os-accordion__hint-icon::before {
	content: "i";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	font-weight: 800;
	font-style: italic;
	color: var(--os-blue);
}

.os-panel {
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-md);
	background: var(--os-white);
	overflow: hidden;
	transition: border-color 0.18s ease;
}

.os-panel__heading {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}

.os-panel__trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 64px;
	padding: 1rem clamp(1rem, 2.5vw, 1.75rem);
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
	color: inherit;
}

.os-panel__trigger--static {
	cursor: default;
	color: var(--os-muted);
}

.os-panel__title {
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	font-weight: 800;
}

.os-panel__icon {
	position: relative;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
}

.os-panel__icon::before,
.os-panel__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--os-blue);
	border-radius: 2px;
	transform: translate(-50%, -50%);
}

.os-panel__icon::before {
	width: 20px;
	height: 3px;
}

.os-panel__icon::after {
	width: 3px;
	height: 20px;
}

.os-panel.is-open {
	border-color: transparent;
	background: #0151F0;
	color: var(--os-white);
}

.os-panel.is-open .os-panel__icon::before,
.os-panel.is-open .os-panel__icon::after {
	background: var(--os-white);
	width: 20px;
	height: 3px;
}

.os-panel.is-open .os-panel__icon::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.os-panel.is-open .os-panel__icon::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.os-panel__body {
	padding: 0 clamp(1rem, 2.5vw, 1.75rem) clamp(1.25rem, 2.5vw, 1.75rem);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.os-panel__body[hidden] {
	display: none;
}

.os-panel__intro {
	font-size: 0.98rem;
	color: rgba(255, 255, 255, 0.94);
	max-width: 48ch;
}

.os-panel__note {
	margin-top: -0.5rem;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.86);
}

.os-chips {
	display: grid;
	gap: 0.6rem;
	grid-template-columns: 1fr;
}

.os-chip__note {
	font-size: 0.72rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.82);
	margin-top: 0.5rem;
}

.os-panel__intro--strong {
	font-weight: 700;
	color: var(--os-white);
}

.os-chip {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--os-radius-sm);
	padding: 0.7rem 0.9rem;
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	text-align: left;
}

.os-chip__title {
	font-weight: 800;
	font-size: 0.95rem;
}

.os-chip__text {
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.9);
}

.os-panel__actions {
	margin: 0;
}

@media (min-width: 640px) {
	.os-chips--trio {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.os-chips--trio .os-chip {
		flex-direction: column;
		align-items: center;
		gap: 0.15rem;
		text-align: center;
	}

	.os-chips--duo {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.85rem;
	}
}

.os-chips--duo .os-chip {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	text-align: left;
}

.os-chips--duo .os-chip__title {
	font-size: 0.7rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.9);
}

.os-chips--duo .os-chip__text {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--os-white);
	line-height: 1.5;
}

@media (min-width: 1024px) {
	.os-topics__head {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: end;
	}

	.os-topics__body {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
		gap: clamp(1.5rem, 3vw, 3rem);
	}
}

/* HP-05 systém */

.os-system {
	padding-block: var(--os-section);
}

.os-system__media {
	border-radius: var(--os-radius-md);
	overflow: hidden;
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.os-system__image {
	width: 100%;
	aspect-ratio: 681 / 459;
	object-fit: cover;
	object-position: center;
}

.os-system__body {
	display: grid;
	gap: var(--os-gap);
	align-items: start;
}

.os-system__heading {
	font-size: clamp(1.9rem, 4.5vw, 3.25rem);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 1.25rem;
}

.os-system__lead {
	color: var(--os-muted);
	max-width: 46ch;
}

.os-accordion--system {
	gap: 0;
}

.os-row {
	border-bottom: 1px solid var(--os-line);
}

.os-row__heading {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}

.os-row__trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 56px;
	padding: 0.9rem 1rem;
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
	color: inherit;
}

.os-row__trigger--static {
	cursor: default;
	color: var(--os-muted);
}

.os-row__label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.os-row__sep {
	color: var(--os-muted);
	font-weight: 600;
}

.os-row__icon {
	position: relative;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
}

.os-row__icon::before,
.os-row__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--os-blue);
	border-radius: 2px;
	transform: translate(-50%, -50%);
}

.os-row__icon::before {
	width: 18px;
	height: 3px;
}

.os-row__icon::after {
	width: 3px;
	height: 18px;
}

.os-row.is-open {
	background: #0151F0;
	color: var(--os-white);
	border-radius: var(--os-radius-sm);
	border-bottom-color: transparent;
}

.os-row.is-open .os-row__sep {
	color: rgba(255, 255, 255, 0.8);
}

.os-row.is-open .os-row__icon::before {
	background: var(--os-white);
}

.os-row.is-open .os-row__icon::after {
	display: none;
}

.os-row__body {
	padding: 0 1rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.os-row__body[hidden] {
	display: none;
}

.os-row__paragraph {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.92);
	max-width: 52ch;
}

.os-row__paragraph--lead {
	font-size: 1rem;
	color: var(--os-white);
}

@media (min-width: 1024px) {
	.os-system__body {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: clamp(2rem, 4vw, 4rem);
	}
}

/* Omezení pohybu */

@media (prefers-reduced-motion: reduce) {
	.onesafety-homepage *,
	.onesafety-homepage *::before,
	.onesafety-homepage *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}

/*
 * Pojistka proti přebití šablonou.
 *
 * Blokové šablony načítají své styly až po pluginu a používají pro obrázky
 * selektory se stejnou specificitou (např. img { height: auto }). Tato
 * sekce proto klíčová pravidla pro média zopakuje s vyšší specificitou.
 * Bez toho šablona rozměry obrázků přebije.
 */

.onesafety-homepage .onesafety-logo .onesafety-logo__image {
	height: clamp(30px, 3vw, 46px);
	width: auto;
	max-width: min(60vw, 300px);
	object-fit: contain;
	object-position: left center;
}

.onesafety-homepage .os-hero__media .os-hero__image {
	width: 100%;
	height: auto;
	aspect-ratio: 677 / 686;
	object-fit: cover;
	object-position: center;
}

@media (min-width: 768px) {
	.onesafety-homepage .os-hero__media .os-hero__image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
	}
}

.onesafety-homepage .os-topics__media .os-topics__image {
	width: 100%;
	height: auto;
	aspect-ratio: 654 / 580;
	object-fit: cover;
}

.onesafety-homepage .os-system__media .os-system__image {
	width: 100%;
	height: auto;
	aspect-ratio: 681 / 459;
	object-fit: cover;
}

.onesafety-homepage .os-mission__symbol .os-symbol--hero {
	width: min(100%, 420px);
	height: auto;
	max-width: 100%;
}

.onesafety-homepage .os-steps__symbol .os-symbol--corner {
	display: block;
	width: 100%;
	height: auto;
}

.onesafety-homepage ol.os-steps__grid {
	list-style: none;
	padding-inline-start: 0;
	margin-inline-start: 0;
}

.onesafety-homepage ol.os-steps__grid > li.os-step {
	list-style: none;
	margin-inline-start: 0;
	padding: clamp(1.5rem, 2.4vw, 2rem);
}

/* Ochranná zóna textu uvnitř panelů a chipů, aby text nelepil na okraj. */
.onesafety-homepage .os-panel .os-panel__trigger {
	padding: 1rem clamp(1.25rem, 2.5vw, 1.75rem);
}

.onesafety-homepage .os-panel .os-panel__body {
	padding: 0 clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.5rem, 2.5vw, 1.75rem);
}

.onesafety-homepage .os-chips .os-chip {
	padding: clamp(0.85rem, 1.4vw, 1.15rem);
}

/*
 * Reakce na najetí u rozbalovacích položek.
 *
 * Stejné chování jako u karet kroků: lehké nadzvednutí a měkký stín.
 * Reaguje i na klávesnici. Položky bez obsahu se nehýbou, protože
 * na ně nejde kliknout a pohyb by sliboval akci, která neexistuje.
 */

.onesafety-homepage .os-panel {
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
	will-change: transform;
}

.onesafety-homepage .os-panel:not(.os-panel--static):not(.is-open):hover,
.onesafety-homepage .os-panel:not(.os-panel--static):not(.is-open):has(:focus-visible) {
	transform: translateY(-5px);
	border-color: var(--os-blue);
	box-shadow: 0 14px 30px rgba(11, 28, 51, 0.13);
}

.onesafety-homepage .os-panel.is-open:hover,
.onesafety-homepage .os-panel.is-open:has(:focus-visible) {
	transform: translateY(-3px);
	box-shadow: 0 16px 34px rgba(1, 81, 240, 0.32);
}

.onesafety-homepage .os-row {
	transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease, border-color 0.28s ease;
	will-change: transform;
}

.onesafety-homepage .os-row:not(.os-row--static):not(.is-open):hover,
.onesafety-homepage .os-row:not(.os-row--static):not(.is-open):has(:focus-visible) {
	transform: translateY(-4px);
	background: var(--os-surface);
	border-radius: var(--os-radius-sm);
	border-bottom-color: transparent;
	box-shadow: 0 12px 26px rgba(11, 28, 51, 0.11);
}

.onesafety-homepage .os-row.is-open:hover,
.onesafety-homepage .os-row.is-open:has(:focus-visible) {
	transform: translateY(-3px);
	box-shadow: 0 16px 34px rgba(1, 81, 240, 0.32);
}

.onesafety-homepage .os-panel__icon,
.onesafety-homepage .os-row__icon {
	transition: transform 0.28s ease;
}

.onesafety-homepage .os-panel:not(.os-panel--static):hover .os-panel__icon,
.onesafety-homepage .os-row:not(.os-row--static):hover .os-row__icon {
	transform: scale(1.12);
}

/* Jemnější typografie u rozbalovacích položek. */

.onesafety-homepage .os-panel__title {
	font-weight: 600;
	letter-spacing: -0.005em;
}

.onesafety-homepage .os-row__label {
	font-weight: 600;
	letter-spacing: 0.07em;
}

.onesafety-homepage .os-row__number {
	font-weight: 700;
}

.onesafety-homepage .os-row__actions {
	margin: 0.35rem 0 0;
}

.onesafety-homepage .os-accordion--system .os-accordion__hint {
	margin-top: 0.75rem;
}

/*
 * Sjednocení vzhledu obou akordeonů.
 *
 * Sekce systému měla podle referencí tenké linky s oddělovači, sekce témat
 * karty s rámečkem. Na přání zadavatele je obojí sjednoceno na vzhled karet
 * podle horní sekce. Odchylka od schválených referencí HP-05A až HP-05C.
 */

.onesafety-homepage .os-accordion--system {
	gap: 0.75rem;
}

.onesafety-homepage .os-accordion--system .os-row {
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-md);
	background: var(--os-white);
	overflow: hidden;
}

.onesafety-homepage .os-accordion--system .os-row__trigger {
	min-height: 64px;
	padding: 1rem clamp(1.25rem, 2.5vw, 1.75rem);
}

.onesafety-homepage .os-accordion--system .os-row__label {
	font-size: clamp(0.9rem, 1.2vw, 1rem);
	gap: 0.55rem;
}

.onesafety-homepage .os-accordion--system .os-row__icon {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
}

.onesafety-homepage .os-accordion--system .os-row__icon::before {
	width: 20px;
	height: 3px;
}

.onesafety-homepage .os-accordion--system .os-row__icon::after {
	width: 3px;
	height: 20px;
}

.onesafety-homepage .os-accordion--system .os-row.is-open {
	border-color: transparent;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-accordion--system .os-row__body {
	padding: 0 clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.5rem, 2.5vw, 1.75rem);
	gap: 0.85rem;
}

.onesafety-homepage .os-accordion--system .os-row:not(.os-row--static):not(.is-open):hover,
.onesafety-homepage .os-accordion--system .os-row:not(.os-row--static):not(.is-open):has(:focus-visible) {
	transform: translateY(-5px);
	background: var(--os-white);
	border-color: var(--os-blue);
	box-shadow: 0 14px 30px rgba(11, 28, 51, 0.13);
}

.onesafety-homepage .os-accordion--system .os-row--static {
	color: var(--os-muted);
}

/*
 * Otevřený stav v sekci systému.
 *
 * Bílé pozadí karty výše má vyšší specificitu než .os-row.is-open, takže
 * otevřenou položku přebarvilo na bílo a bílý text v ní zmizel. Otevřený
 * stav je proto potřeba zopakovat se stejnou specificitou.
 */

.onesafety-homepage .os-accordion--system .os-row.is-open {
	background: #0151F0;
	color: var(--os-white);
	border-color: transparent;
}

.onesafety-homepage .os-accordion--system .os-row.is-open .os-row__sep {
	color: rgba(255, 255, 255, 0.8);
}

.onesafety-homepage .os-accordion--system .os-row.is-open .os-row__icon::before {
	background: var(--os-white);
	width: 20px;
	height: 3px;
}

.onesafety-homepage .os-accordion--system .os-row.is-open .os-row__icon::after {
	display: none;
}

.onesafety-homepage .os-accordion--system .os-row.is-open .os-row__paragraph {
	color: rgba(255, 255, 255, 0.92);
}

.onesafety-homepage .os-accordion--system .os-row.is-open .os-row__paragraph--lead {
	color: var(--os-white);
}

/*
 * Mobilní menu — přepínač musí zůstat nad překryvem.
 *
 * Překryv menu se roztahuje přes celou obrazovku včetně hlavičky. Bez tohoto
 * přepínač zůstal pod ním a menu nešlo zavřít.
 */

@media (max-width: 1023px) {
	.onesafety-homepage .os-nav {
		position: relative;
		z-index: 1000;
	}

	.onesafety-homepage .os-nav__menu {
		z-index: 1;
	}

	.onesafety-homepage .os-nav__toggle {
		position: relative;
		z-index: 2;
	}

	.onesafety-homepage .onesafety-logo {
		position: relative;
		z-index: 2;
	}

	.onesafety-homepage .os-nav__menu.is-open {
		padding-top: 6.5rem;
	}
}

/* Přepínač se po otevření změní na křížek, aby bylo jasné, jak menu zavřít. */

.onesafety-homepage .os-nav__toggle-bars,
.onesafety-homepage .os-nav__toggle-bars::before,
.onesafety-homepage .os-nav__toggle-bars::after {
	transition: transform 0.22s ease, background-color 0.22s ease, top 0.22s ease;
}

.onesafety-homepage .os-nav__toggle[aria-expanded="true"] .os-nav__toggle-bars {
	background: transparent;
}

.onesafety-homepage .os-nav__toggle[aria-expanded="true"] .os-nav__toggle-bars::before {
	top: 0;
	transform: rotate(45deg);
}

.onesafety-homepage .os-nav__toggle[aria-expanded="true"] .os-nav__toggle-bars::after {
	top: 0;
	transform: rotate(-45deg);
}

/* Klepnutí prstem nemá kreslit rámeček, ovládání klávesnicí ano. */

.onesafety-homepage .os-nav__toggle:focus:not(:focus-visible) {
	outline: none;
}

/* HP-06 Tváře projektu */

.os-faces {
	padding-block: var(--os-section);
}

.os-faces__head {
	margin-bottom: clamp(1.75rem, 4vw, 3rem);
}

.os-faces__heading {
	font-size: clamp(1.9rem, 4.5vw, 3.25rem);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: 1.25rem;
}

.os-faces__lead {
	color: var(--os-muted);
	font-size: clamp(1rem, 1.3vw, 1.1rem);
}

.os-faces__grid {
	display: grid;
	gap: clamp(1rem, 2.5vw, 2rem);
	grid-template-columns: 1fr;
	align-items: start;
}

.os-faces__list {
	display: grid;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.os-face {
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-md);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.os-face:hover,
.os-face:has(:focus-visible) {
	transform: translateY(-5px);
	border-color: var(--os-blue);
	box-shadow: 0 14px 30px rgba(11, 28, 51, 0.13);
}

.os-face__media {
	background: var(--os-surface);
}

.os-face__image {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: top center;
}

.os-face--lead .os-face__image {
	aspect-ratio: 4 / 3;
	object-position: center;
}

.os-face__body {
	padding: clamp(0.9rem, 1.6vw, 1.35rem);
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.os-face__name {
	font-size: clamp(1rem, 1.5vw, 1.35rem);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.os-face--lead .os-face__name {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
}

.os-face__role {
	font-size: 0.9rem;
	color: var(--os-muted);
}

.os-face__actions {
	margin-top: 0.6rem;
}

.os-face__arrow {
	transition: transform 0.22s ease;
}

.os-face:hover .os-face__arrow {
	transform: translateX(4px);
}

@media (min-width: 1024px) {
	.os-faces__grid {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	}

	.os-faces__list {
		grid-template-columns: 1fr;
	}

	.os-faces__list .os-face {
		flex-direction: row;
		align-items: stretch;
	}

	.os-faces__list .os-face__media {
		flex: 0 0 38%;
		max-width: 38%;
	}

	.os-faces__list .os-face__image {
		height: 100%;
		aspect-ratio: auto;
		min-height: 190px;
	}

	.os-faces__list .os-face__body {
		flex: 1 1 auto;
		justify-content: center;
		padding: clamp(1rem, 1.8vw, 1.75rem);
	}
}

/* Pojistka proti přebití rozměrů obrázků šablonou. */

.onesafety-homepage .os-face .os-face__image {
	width: 100%;
	height: auto;
	object-fit: cover;
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-faces__list .os-face .os-face__image {
		height: 100%;
		min-height: 190px;
	}
}

/*
 * Jednotná mřížka a svislý rytmus.
 *
 * Před touto úpravou začínal pravý sloupec v každé sekci jinde
 * (647, 733, 741, 816 a 849 px při šířce 1440) a nadpisy měly tři různé
 * velikosti. Všechny dvousloupcové bloky proto sdílejí jeden poměr
 * a jednu mezeru, takže svislé osy na sebe navazují po celé délce stránky.
 */

.onesafety-homepage {
	--os-col-gap: clamp(1.5rem, 3.5vw, 4rem);
	--os-h2: clamp(1.9rem, 4vw, 3.25rem);
	--os-lead: clamp(1rem, 1.3vw, 1.1rem);
}

.onesafety-homepage .os-mission__inner,
.onesafety-homepage .os-steps__head,
.onesafety-homepage .os-topics__head,
.onesafety-homepage .os-topics__body,
.onesafety-homepage .os-system__body,
.onesafety-homepage .os-faces__grid {
	gap: var(--os-col-gap);
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-mission__inner,
	.onesafety-homepage .os-steps__head,
	.onesafety-homepage .os-topics__head,
	.onesafety-homepage .os-topics__body,
	.onesafety-homepage .os-system__body,
	.onesafety-homepage .os-faces__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Jedna velikost pro všechny nadpisy sekcí. */

.onesafety-homepage .os-mission__heading,
.onesafety-homepage .os-steps__heading,
.onesafety-homepage .os-topics__heading,
.onesafety-homepage .os-system__heading,
.onesafety-homepage .os-faces__heading {
	font-size: var(--os-h2);
	line-height: 1.12;
	letter-spacing: -0.02em;
	margin-bottom: clamp(1rem, 1.6vw, 1.5rem);
}

/* Jedna velikost a šířka pro všechny doprovodné odstavce. */

.onesafety-homepage .os-mission__body,
.onesafety-homepage .os-steps__lead,
.onesafety-homepage .os-topics__lead,
.onesafety-homepage .os-system__lead,
.onesafety-homepage .os-faces__lead {
	font-size: var(--os-lead);
	color: var(--os-muted);
	max-width: 46ch;
	margin-bottom: 0;
}

/* Stejný odstup popisku od nadpisu ve všech sekcích. */

.onesafety-homepage .os-eyebrow {
	margin-bottom: clamp(0.75rem, 1.2vw, 1rem);
}

/* Stejný svislý rytmus u všech sekcí bez výjimky. */

.onesafety-homepage .os-mission,
.onesafety-homepage .os-steps,
.onesafety-homepage .os-topics,
.onesafety-homepage .os-system,
.onesafety-homepage .os-faces {
	padding-top: var(--os-section);
	padding-bottom: var(--os-section);
}

.onesafety-homepage .os-hero {
	padding-top: 0;
	padding-bottom: var(--os-section);
}

/*
 * Symbol v sekci kroků se vejde do spodního odsazení sekce.
 * Dřív si vynucoval dvojnásobné odsazení a rozbíjel rytmus.
 */

.onesafety-homepage .os-steps__symbol {
	right: 0;
	bottom: clamp(0.75rem, 1.5vw, 1.25rem);
	width: clamp(56px, 6vw, 80px);
}

/* Stejný odstup hlavičky sekce od jejího obsahu. */

.onesafety-homepage .os-steps__head,
.onesafety-homepage .os-topics__head {
	margin-bottom: clamp(1.75rem, 3.5vw, 3rem);
}

.onesafety-homepage .os-system__media,
.onesafety-homepage .os-faces__head {
	margin-bottom: clamp(1.75rem, 3.5vw, 3rem);
}

/* Zarovnání horních hran obou sloupců. */

@media (min-width: 1024px) {
	.onesafety-homepage .os-steps__head,
	.onesafety-homepage .os-topics__head {
		align-items: start;
	}

	.onesafety-homepage .os-steps__lead,
	.onesafety-homepage .os-topics__lead {
		padding-top: clamp(0.25rem, 0.6vw, 0.6rem);
	}
}

/*
 * Tváře projektu — srovnání výšek sloupců.
 *
 * Levá karta Hynka byla vysoká podle své fotografie, pravý sloupec podle
 * svých tří karet. Karta Petry Vojtkové proto přesahovala dolů. Nově má
 * řádek jednu výšku, tři pravé karty si ji dělí rovným dílem a fotografie
 * vlevo se dopočítá. Výška se odvozuje od šířky obrazovky, takže se
 * přizpůsobuje sama na desktopu i tabletu.
 */

@media (min-width: 1024px) {
	.onesafety-homepage .os-faces__grid {
		align-items: stretch;
	}

	.onesafety-homepage .os-faces__list {
		height: 100%;
		grid-template-rows: repeat(3, minmax(clamp(148px, 13.5vw, 210px), 1fr));
	}

	.onesafety-homepage .os-faces__list .os-face,
	.onesafety-homepage .os-face--lead {
		height: 100%;
		min-height: 0;
	}

	.onesafety-homepage .os-face--lead .os-face__media {
		flex: 1 1 auto;
		min-height: 0;
		overflow: hidden;
	}

	.onesafety-homepage .os-face--lead .os-face__image {
		width: 100%;
		height: 100%;
		min-height: 0;
		aspect-ratio: auto;
		object-fit: cover;
		object-position: center top;
	}

	.onesafety-homepage .os-faces__list .os-face__media {
		overflow: hidden;
	}

	.onesafety-homepage .os-faces__list .os-face .os-face__image {
		height: 100%;
		min-height: 0;
		aspect-ratio: auto;
	}
}

/*
 * Mobil a tablet na výšku podle schválené reference:
 * hlavní karta přes celou šířku, pod ní tři karty vedle sebe stejně vysoké.
 */

@media (max-width: 1023px) {
	.onesafety-homepage .os-faces__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: stretch;
	}

	.onesafety-homepage .os-faces__list .os-face {
		height: 100%;
	}

	.onesafety-homepage .os-face--lead .os-face__image {
		aspect-ratio: 10 / 9;
	}

	.onesafety-homepage .os-faces__list .os-face__image {
		aspect-ratio: 3 / 4;
	}
}

/* HP-07 Edukační videa */

.onesafety-homepage {
	--os-shell-pad: clamp(1rem, 4vw, 2.5rem);
	--os-ink-dark: #0a0e15;
}

.onesafety-homepage .os-shell {
	padding-inline: var(--os-shell-pad);
}

.onesafety-homepage .os-videos {
	background: var(--os-ink-dark);
	color: var(--os-white);
	padding-top: var(--os-section);
	padding-bottom: 0;
	overflow: hidden;
}

.onesafety-homepage .os-videos__inner {
	display: grid;
	gap: var(--os-col-gap);
	align-items: center;
}

.onesafety-homepage .os-eyebrow--ondark {
	color: #0151F0;
}

.onesafety-homepage .os-videos__heading {
	font-size: var(--os-h2);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--os-white);
	margin-bottom: clamp(1rem, 1.6vw, 1.5rem);
}

.onesafety-homepage .os-videos__lead {
	font-size: var(--os-lead);
	color: rgba(255, 255, 255, 0.82);
	max-width: 46ch;
}

.onesafety-homepage .os-videos__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(0.75rem, 2vw, 1.75rem);
	margin-top: clamp(1.25rem, 2.5vw, 2rem);
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.88);
}

.onesafety-homepage .os-videos__meta-item {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 2vw, 1.75rem);
}

.onesafety-homepage .os-videos__meta-item + .os-videos__meta-item::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #0151F0;
	flex: 0 0 6px;
}

.onesafety-homepage .os-videos__actions {
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	margin-bottom: var(--os-section);
}

/* Fotografie doléhá k okraji sekce, jak je to v předloze. */

.onesafety-homepage .os-videos__media {
	margin-inline: calc(var(--os-shell-pad) * -1);
}

.onesafety-homepage .os-videos__image {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-videos__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: center;
	}

	.onesafety-homepage .os-videos__actions {
		margin-bottom: var(--os-section);
	}

	.onesafety-homepage .os-videos__media {
		margin-inline: 0 calc(var(--os-shell-pad) * -1);
		align-self: stretch;
		display: flex;
	}

	.onesafety-homepage .os-videos__image {
		width: 100%;
		height: 100%;
		min-height: clamp(420px, 42vw, 620px);
		object-fit: cover;
		object-position: center;
	}
}

/* HP-11 Odborné zázemí projektu */

.onesafety-homepage .os-partners {
	position: relative;
	overflow: hidden;
	padding-top: var(--os-section);
	padding-bottom: var(--os-section);
}

.onesafety-homepage .os-partners__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--os-col-gap);
	align-items: start;
}

.onesafety-homepage .os-partners__heading {
	font-size: var(--os-h2);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: clamp(1rem, 1.6vw, 1.5rem);
}

.onesafety-homepage .os-partners__lead {
	font-size: var(--os-lead);
	color: var(--os-muted);
	max-width: 46ch;
}

.onesafety-homepage .os-partners__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	list-style: none;
	padding: 0;
	margin: 0;
}

.onesafety-homepage .os-partner {
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-md);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(0.85rem, 2vw, 1.5rem);
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.onesafety-homepage .os-partner:hover {
	transform: translateY(-4px);
	border-color: var(--os-blue);
	box-shadow: 0 12px 26px rgba(11, 28, 51, 0.11);
}

.onesafety-homepage .os-partner__fallback {
	font-size: 0.75rem;
	color: var(--os-muted);
	text-align: center;
}


/* Světlý symbol O v pozadí vpravo dole, jako v předloze. */

.onesafety-homepage .os-partners__symbol {
	position: absolute;
	right: -6%;
	bottom: -18%;
	width: min(38%, 430px);
	z-index: 0;
	pointer-events: none;
}

.onesafety-homepage .os-symbol--watermark {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.14;
}

@media (min-width: 768px) {
	.onesafety-homepage .os-partners__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-partners__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: center;
	}
}

/*
 * Optické vyrovnání log — vypočítané, ne odhadnuté.
 *
 * Změřil jsem u každého souboru skutečné hranice kresby. Loga mají
 * průhledné pozadí, ale kresba zabírá v každém souboru jinou část plochy
 * a u znaku policie je navíc posunutá k levému okraji:
 *
 *   MŠMT       403 x 186 z 570 x 350   kresba na středu
 *   MV ČR      157 x  89 z 215 x 127   kresba téměř na středu
 *   Policie    225 x 225 z 286 x 225   kresba na středu, čtvercová
 *   MUNI       330 x  92 z 570 x 350   kresba nad středem
 *   FaceUp     230 x  62 z 570 x 350   kresba nad středem
 *   Záchranka 1306 x 304 z 1500 x 498  kresba na středu
 *
 * Měřítko je proto dopočítané tak, aby všechny kresby zabíraly stejnou
 * optickou plochu, a posun srovnává jejich těžiště na střed karty.
 * Přebytečná průhledná plocha se ořízne rámečkem karty.
 */

.onesafety-homepage .os-partner {
	overflow: hidden;
}

.onesafety-homepage .os-partner__logo {
	width: 100%;
	max-width: none;
	height: auto;
	display: block;
	object-fit: contain;
	transform-origin: center center;
}







/* HP-10 Pro koho je OneSafety */

.onesafety-homepage .os-roles {
	padding-top: var(--os-section);
	padding-bottom: var(--os-section);
}

.onesafety-homepage .os-roles__head {
	display: grid;
	gap: var(--os-col-gap);
	align-items: start;
	margin-bottom: clamp(1.75rem, 3.5vw, 3rem);
}

.onesafety-homepage .os-roles__heading {
	font-size: var(--os-h2);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-roles__lead {
	font-size: var(--os-lead);
	color: var(--os-muted);
}

.onesafety-homepage .os-roles__media {
	border-radius: var(--os-radius-md);
	overflow: hidden;
}

.onesafety-homepage .os-roles__image {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 11;
	object-fit: cover;
	object-position: center;
	display: block;
}

/*
 * Ve výchozím stavu jsou role ve dvou sloupcích. Jakmile se některá
 * rozbalí, přepne se seznam na jeden sloupec, aby měl otevřený panel
 * celou šířku — přesně jak je ve schválených stavech.
 */

.onesafety-homepage .os-roles__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
}

.onesafety-homepage .os-role {
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-md);
	background: var(--os-white);
	overflow: hidden;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
}

.onesafety-homepage .os-role:not(.is-open):hover,
.onesafety-homepage .os-role:not(.is-open):has(:focus-visible) {
	transform: translateY(-4px);
	background: #eef5fe;
	border-color: var(--os-blue);
	box-shadow: 0 14px 30px rgba(11, 28, 51, 0.12);
}

.onesafety-homepage .os-role__heading {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}

.onesafety-homepage .os-role__trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 76px;
	padding: clamp(1rem, 2vw, 1.4rem) clamp(1.25rem, 2.5vw, 1.75rem);
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
	color: inherit;
}

.onesafety-homepage .os-role__label {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.onesafety-homepage .os-role__title {
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.onesafety-homepage .os-role__summary {
	font-size: 0.9rem;
	color: var(--os-muted);
}

/* Zavřeno šipka, otevřeno minus — jako v předloze. */

.onesafety-homepage .os-role__icon {
	position: relative;
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	transition: transform 0.28s ease;
}

.onesafety-homepage .os-role__icon::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 50%;
	width: 22px;
	height: 2.5px;
	background: var(--os-blue);
	border-radius: 2px;
	transform: translateY(-50%);
}

.onesafety-homepage .os-role__icon::after {
	content: "";
	position: absolute;
	right: 3px;
	top: 50%;
	width: 9px;
	height: 9px;
	border-top: 2.5px solid var(--os-blue);
	border-right: 2.5px solid var(--os-blue);
	transform: translateY(-50%) rotate(45deg);
	transition: opacity 0.2s ease;
}

.onesafety-homepage .os-role:hover .os-role__icon {
	transform: translateX(3px);
}

.onesafety-homepage .os-role.is-open {
	background: #0151F0;
	border-color: transparent;
	color: var(--os-white);
}

.onesafety-homepage .os-role.is-open .os-role__summary {
	display: none;
}

.onesafety-homepage .os-role.is-open .os-role__icon::before {
	background: var(--os-white);
}

.onesafety-homepage .os-role.is-open .os-role__icon::after {
	opacity: 0;
}

.onesafety-homepage .os-role.is-open .os-role__trigger {
	padding-bottom: 0.35rem;
}

.onesafety-homepage .os-role__body {
	padding: 0 clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.25rem, 2.5vw, 1.75rem);
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.onesafety-homepage .os-role__body[hidden] {
	display: none;
}

.onesafety-homepage .os-role__claim {
	font-size: clamp(0.98rem, 1.3vw, 1.1rem);
	font-weight: 700;
	color: var(--os-white);
}

.onesafety-homepage .os-role__intro {
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.9);
	max-width: 62ch;
}

.onesafety-homepage .os-role__body .os-chips {
	margin-top: 0.5rem;
}

@media (min-width: 768px) {
	.onesafety-homepage .os-roles__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-roles__list:has(.is-open) {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-roles__head {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Sjednocení rozbalovacích karet v sekci Pro koho je OneSafety
 * se zbytkem stránky.
 *
 * Ikona byla šipka, ostatní sekce mají plus a po otevření minus.
 * Barvy rozbaleného stavu byly jiný odstín modré. Obojí sjednoceno.
 * Pravidla jsou navázaná na třídu i na aria-expanded, aby vzhled
 * odpovídal stavu i v případě, že by skript nedoběhl.
 */

.onesafety-homepage .os-role__icon {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	transition: transform 0.28s ease;
}

.onesafety-homepage .os-role__icon::before,
.onesafety-homepage .os-role__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--os-blue);
	border: 0;
	border-radius: 2px;
	opacity: 1;
	transform: translate(-50%, -50%);
}

.onesafety-homepage .os-role__icon::before {
	width: 20px;
	height: 3px;
}

.onesafety-homepage .os-role__icon::after {
	width: 3px;
	height: 20px;
}

.onesafety-homepage .os-role:hover .os-role__icon {
	transform: scale(1.12);
}

.onesafety-homepage .os-role.is-open,
.onesafety-homepage .os-role:has(.os-role__trigger[aria-expanded="true"]) {
	background: #0151F0;
	border-color: transparent;
	color: var(--os-white);
	transform: none;
	box-shadow: 0 16px 34px rgba(1, 81, 240, 0.32);
}

.onesafety-homepage .os-role.is-open .os-role__summary,
.onesafety-homepage .os-role:has(.os-role__trigger[aria-expanded="true"]) .os-role__summary {
	display: none;
}

.onesafety-homepage .os-role.is-open .os-role__claim,
.onesafety-homepage .os-role:has(.os-role__trigger[aria-expanded="true"]) .os-role__claim {
	color: var(--os-white);
}

.onesafety-homepage .os-role.is-open .os-role__intro,
.onesafety-homepage .os-role:has(.os-role__trigger[aria-expanded="true"]) .os-role__intro {
	color: rgba(255, 255, 255, 0.9);
}

.onesafety-homepage .os-role.is-open .os-role__icon::before,
.onesafety-homepage .os-role:has(.os-role__trigger[aria-expanded="true"]) .os-role__icon::before {
	background: var(--os-white);
}

.onesafety-homepage .os-role.is-open .os-role__icon::after,
.onesafety-homepage .os-role:has(.os-role__trigger[aria-expanded="true"]) .os-role__icon::after {
	display: none;
}

.onesafety-homepage .os-role.is-open .os-chip,
.onesafety-homepage .os-role:has(.os-role__trigger[aria-expanded="true"]) .os-chip {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.35);
}

@media (min-width: 768px) {
	.onesafety-homepage .os-roles__list:has(.os-role__trigger[aria-expanded="true"]) {
		grid-template-columns: 1fr;
	}
}

/*
 * Obsah rozbalené role má stejnou úpravu jako sekce Jak OneSafety funguje:
 * prostý text v odstavcích, žádné vnitřní rámečky. Odchylka od reference
 * HP-10, kde jsou tři boxy — na přání zadavatele sjednoceno s horní sekcí.
 */

.onesafety-homepage .os-role__trigger {
	min-height: 64px;
	padding: 1rem clamp(1.25rem, 2.5vw, 1.75rem);
}

.onesafety-homepage .os-role__title {
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	font-weight: 600;
}

.onesafety-homepage .os-role__body {
	padding: 0 clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.5rem, 2.5vw, 1.75rem);
	gap: 0.85rem;
}

.onesafety-homepage .os-role__paragraph {
	font-size: 0.85rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	max-width: 62ch;
}

.onesafety-homepage .os-role__paragraph--lead {
	font-size: 1rem;
	color: var(--os-white);
}

.onesafety-homepage .os-role__term {
	font-weight: 700;
	color: var(--os-white);
}

.onesafety-homepage .os-role__dash {
	color: rgba(255, 255, 255, 0.7);
}

/* HP-08 OneHero */

.onesafety-homepage .os-onehero {
	background: radial-gradient(120% 90% at 82% 18%, #12253f 0%, #0b1830 45%, #08122a 100%);
	color: var(--os-white);
	padding-top: var(--os-section);
	padding-bottom: var(--os-section);
	overflow: hidden;
}

.onesafety-homepage .os-onehero__inner {
	display: grid;
	gap: var(--os-col-gap);
	align-items: start;
}

.onesafety-homepage .os-onehero__brand {
	font-size: clamp(2rem, 3.6vw, 2.9rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 0.75rem;
}

.onesafety-homepage .os-onehero__brand-mark {
	color: #0151F0;
}

.onesafety-homepage .os-onehero__brand-name {
	color: var(--os-white);
}

.onesafety-homepage .os-onehero__heading {
	font-size: var(--os-h2);
	line-height: 1.14;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--os-white);
	margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

.onesafety-homepage .os-onehero__lead {
	font-size: var(--os-lead);
	color: rgba(255, 255, 255, 0.78);
	max-width: 46ch;
}

.onesafety-homepage .os-onehero__claim {
	margin-top: clamp(1.25rem, 2.5vw, 2rem);
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	font-weight: 700;
	color: #0151F0;
}

.onesafety-homepage .os-onehero__actions {
	margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
}

.onesafety-homepage .os-btn--pill {
	border-radius: 999px;
	min-height: 56px;
	padding: 1rem clamp(1.5rem, 3vw, 2.25rem);
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
}

.onesafety-homepage .os-btn--pill:hover .os-face__arrow {
	transform: translateX(4px);
}

.onesafety-homepage .os-onehero__footnote {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.42);
}

.onesafety-homepage .os-onehero__side {
	display: flex;
	flex-direction: column;
	gap: clamp(0.85rem, 1.8vw, 1.35rem);
}

.onesafety-homepage .os-onehero__media {
	border-radius: var(--os-radius-md);
	overflow: hidden;
}

.onesafety-homepage .os-onehero__image {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.onesafety-homepage .os-onehero__steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(0.6rem, 1.2vw, 0.9rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.onesafety-homepage .os-onehero__step {
	background: rgba(255, 255, 255, 0.045);
	border: 1px solid rgba(120, 170, 235, 0.22);
	border-radius: var(--os-radius-md);
	padding: clamp(0.9rem, 1.6vw, 1.15rem);
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.onesafety-homepage .os-onehero__step-number {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #0151F0;
}

.onesafety-homepage .os-onehero__step-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--os-white);
}

.onesafety-homepage .os-onehero__step-text {
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.68);
}

.onesafety-homepage .os-onehero__note {
	background: rgba(255, 255, 255, 0.045);
	border: 1px solid rgba(120, 170, 235, 0.22);
	border-radius: var(--os-radius-md);
	padding: clamp(1.25rem, 2.4vw, 1.9rem);
}

.onesafety-homepage .os-onehero__note-title {
	font-size: clamp(1.1rem, 1.7vw, 1.4rem);
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--os-white);
	margin-bottom: 0.75rem;
}

.onesafety-homepage .os-onehero__note-text {
	font-size: 0.88rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.75);
	max-width: 62ch;
}

@media (min-width: 640px) {
	.onesafety-homepage .os-onehero__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-onehero__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Logo OneHero v tmavé sekci.
 *
 * Používá se negativní varianta loga, kde je slovo Hero bílé.
 * Sedí přímo na tmavém pozadí bez podkladové plochy, jak je
 * ve schválené předloze HP-08. Logo se nijak nepřebarvuje.
 */

.onesafety-homepage .os-onehero__brand--image {
	margin-bottom: 1rem;
}

.onesafety-homepage .os-onehero__plate {
	display: inline-flex;
	align-items: center;
}

.onesafety-homepage .os-onehero__logo {
	display: block;
	width: auto;
	height: clamp(30px, 3.6vw, 52px);
	max-width: min(70vw, 340px);
	object-fit: contain;
}

/* HP-09 Hero odpovídá */

.onesafety-homepage .os-ask {
	background: linear-gradient(180deg, #f4f9ff 0%, #eef5fd 100%);
	padding-top: var(--os-section);
	padding-bottom: var(--os-section);
}

.onesafety-homepage .os-ask__inner {
	display: grid;
	gap: var(--os-col-gap);
	align-items: start;
}

.onesafety-homepage .os-ask__brand {
	margin-bottom: 1rem;
	font-size: clamp(1.8rem, 3.2vw, 2.6rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}

.onesafety-homepage .os-ask__brand img {
	display: block;
	width: auto;
	height: clamp(30px, 3.6vw, 52px);
	max-width: min(70vw, 320px);
	object-fit: contain;
}

.onesafety-homepage .os-ask__brand-dark {
	color: var(--os-ink);
}

.onesafety-homepage .os-ask__heading {
	font-size: var(--os-h2);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: clamp(1rem, 1.6vw, 1.5rem);
}

.onesafety-homepage .os-ask__lead {
	font-size: var(--os-lead);
	color: var(--os-muted);
	max-width: 44ch;
}

.onesafety-homepage .os-ask__media {
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-ask__image {
	width: 100%;
	max-width: 520px;
	height: auto;
	display: block;
	margin-inline: auto;
}

/* Panel chatu */

.onesafety-homepage .os-ask__panel {
	background: var(--os-white);
	border-radius: 24px;
	padding: clamp(1.25rem, 3vw, 2.5rem);
	box-shadow: 0 20px 50px rgba(11, 28, 51, 0.08);
}

.onesafety-homepage .os-ask__panel-title {
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin-bottom: 0.5rem;
}

.onesafety-homepage .os-ask__panel-text {
	font-size: 0.95rem;
	color: var(--os-muted);
	margin-bottom: 1.5rem;
}

.onesafety-homepage .os-ask__thread {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	max-height: 340px;
	overflow-y: auto;
	margin-bottom: 1rem;
}

.onesafety-homepage .os-ask__msg {
	border-radius: 14px;
	padding: 0.85rem 1rem;
}

.onesafety-homepage .os-ask__msg--hero {
	background: #e8f2fe;
	border: 1px solid #cfe3fb;
}

.onesafety-homepage .os-ask__msg--you {
	background: var(--os-surface);
	border: 1px solid var(--os-line);
}

.onesafety-homepage .os-ask__msg.is-pending {
	opacity: 0.7;
}

.onesafety-homepage .os-ask__msg.is-error {
	background: #fdf1f1;
	border-color: #f3d2d2;
}

.onesafety-homepage .os-ask__msg-from {
	display: block;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: var(--os-blue);
	margin-bottom: 0.3rem;
}

.onesafety-homepage .os-ask__msg--you .os-ask__msg-from {
	color: var(--os-muted);
}

.onesafety-homepage .os-ask__msg-text {
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--os-ink);
	white-space: pre-wrap;
}

.onesafety-homepage .os-ask__form {
	border: 1px solid #cfe3fb;
	border-radius: 16px;
	padding: 1rem;
	background: #fbfdff;
}

.onesafety-homepage .os-ask__input {
	width: 100%;
	border: 0;
	background: transparent;
	resize: vertical;
	min-height: 72px;
	font-family: inherit;
	font-size: 0.95rem;
	color: var(--os-ink);
	margin-bottom: 0.75rem;
}

.onesafety-homepage .os-ask__input:focus {
	outline: none;
}

.onesafety-homepage .os-ask__submit {
	width: 100%;
}

.onesafety-homepage .os-ask__submit[disabled] {
	opacity: 0.65;
	cursor: default;
}

.onesafety-homepage .os-ask__suggestions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.6rem;
	margin-top: 1rem;
	list-style: none;
	padding: 0;
}

.onesafety-homepage .os-ask__chip {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 1rem;
	border: 1px solid var(--os-line);
	border-radius: 999px;
	background: var(--os-white);
	font-family: inherit;
	font-size: 0.85rem;
	color: var(--os-ink);
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.onesafety-homepage .os-ask__chip:hover,
.onesafety-homepage .os-ask__chip:focus-visible {
	border-color: var(--os-blue);
	background: #f2f8ff;
}

.onesafety-homepage .os-ask__disclaimer {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--os-line);
	font-size: 0.85rem;
	color: var(--os-muted);
}

.onesafety-homepage .os-ask__emergency {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	margin-top: 0.75rem;
	list-style: none;
	padding: 0;
}

.onesafety-homepage .os-ask__emergency-link {
	display: inline-flex;
	align-items: baseline;
	gap: 0.4rem;
	color: var(--os-blue);
	text-decoration: none;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.onesafety-homepage .os-ask__emergency-link strong {
	font-size: 0.82rem;
}

.onesafety-homepage .os-ask__emergency-link:hover,
.onesafety-homepage .os-ask__emergency-link:focus {
	text-decoration: underline;
}

@media (min-width: 480px) {
	.onesafety-homepage .os-ask__suggestions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-ask__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: center;
	}
}

/* Karta připravovaného ambasadora */

.onesafety-homepage .os-face--teaser .os-face__name {
	font-size: clamp(0.95rem, 1.25vw, 1.1rem);
	line-height: 1.35;
	font-weight: 700;
}

.onesafety-homepage .os-face--teaser .os-face__role {
	font-size: 0.85rem;
}

.onesafety-homepage .os-face--teaser:hover {
	transform: none;
	border-color: var(--os-line);
	box-shadow: none;
}

/* HP-12 Ověřené nástroje */

.onesafety-homepage .os-tools {
	padding-top: var(--os-section);
	padding-bottom: var(--os-section);
}

.onesafety-homepage .os-tools__head {
	margin-bottom: clamp(1.75rem, 3.5vw, 3rem);
}

.onesafety-homepage .os-tools__heading {
	font-size: var(--os-h2);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: clamp(1rem, 1.6vw, 1.5rem);
}

.onesafety-homepage .os-tools__lead {
	font-size: var(--os-lead);
	color: var(--os-muted);
}

.onesafety-homepage .os-tools__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2vw, 1.75rem);
}

.onesafety-homepage .os-tool {
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: 20px;
	padding: clamp(1.25rem, 2.6vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	box-shadow: 0 14px 34px rgba(11, 28, 51, 0.06);
}

.onesafety-homepage .os-tool__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.onesafety-homepage .os-tool__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(96px, 12vw, 132px);
	height: clamp(72px, 9vw, 100px);
	background: #f6f9fd;
	border: 1px solid var(--os-line);
	border-radius: 14px;
	overflow: hidden;
	padding: 0.5rem;
}

.onesafety-homepage .os-tool__logo-image {
	width: auto;
	max-width: 86%;
	height: auto;
	max-height: 62%;
	object-fit: contain;
}

.onesafety-homepage .os-tool__logo-text {
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--os-muted);
	text-align: center;
}

.onesafety-homepage .os-tool__badge {
	flex: 0 0 auto;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	background: #e8f1fd;
	color: var(--os-blue-ink);
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.onesafety-homepage .os-tool--zachranka .os-tool__badge {
	background: #e6f6ec;
	color: #1c6b3a;
}

.onesafety-homepage .os-tool__title {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.onesafety-homepage .os-tool__text {
	font-size: 0.95rem;
	color: var(--os-muted);
	max-width: 52ch;
}

.onesafety-homepage .os-tool__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-top: auto;
	padding-top: 0.5rem;
}

.onesafety-homepage .os-tool__btn {
	flex: 1 1 auto;
	justify-content: center;
	border-radius: 999px;
	min-height: 52px;
}

.onesafety-homepage .os-tool__btn--ghost {
	background: var(--os-white);
	color: var(--os-blue);
	border: 1px solid var(--os-blue);
}

.onesafety-homepage .os-tool__btn--ghost:hover,
.onesafety-homepage .os-tool__btn--ghost:focus {
	background: #f2f8ff;
	color: var(--os-blue-ink);
}

.onesafety-homepage .os-tool__qr {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	border: 1px solid var(--os-line);
	border-radius: 14px;
	padding: 6px;
	background: var(--os-white);
}

.onesafety-homepage .os-tool__qr-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.onesafety-homepage .os-tool__note {
	font-size: 0.78rem;
	color: var(--os-muted);
}

/* Pruh s postupem */

.onesafety-homepage .os-tools__flow {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	padding: clamp(1.1rem, 2.2vw, 1.75rem);
	background: #eef5fd;
	border-radius: 20px;
	list-style: none;
}

.onesafety-homepage .os-flow {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.onesafety-homepage .os-flow__mark {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--os-blue);
	position: relative;
}

.onesafety-homepage .os-flow__mark::before,
.onesafety-homepage .os-flow__mark::after {
	content: "";
	position: absolute;
	background: var(--os-white);
	border-radius: 2px;
}

.onesafety-homepage .os-flow__mark--check::before {
	width: 7px;
	height: 2.5px;
	top: 24px;
	left: 13px;
	transform: rotate(45deg);
}

.onesafety-homepage .os-flow__mark--check::after {
	width: 14px;
	height: 2.5px;
	top: 21px;
	left: 17px;
	transform: rotate(-45deg);
}

.onesafety-homepage .os-flow__mark--alert::before {
	width: 3px;
	height: 13px;
	top: 12px;
	left: 20.5px;
}

.onesafety-homepage .os-flow__mark--alert::after {
	width: 3px;
	height: 3px;
	top: 28px;
	left: 20.5px;
}

.onesafety-homepage .os-flow__mark--plus::before {
	width: 16px;
	height: 3px;
	top: 20.5px;
	left: 14px;
}

.onesafety-homepage .os-flow__mark--plus::after {
	width: 3px;
	height: 16px;
	top: 14px;
	left: 20.5px;
}

.onesafety-homepage .os-flow__body {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.onesafety-homepage .os-flow__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: var(--os-blue);
}

.onesafety-homepage .os-flow__name {
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.onesafety-homepage .os-tools__note {
	margin-top: clamp(1rem, 2vw, 1.5rem);
	font-size: 0.78rem;
	color: var(--os-muted);
}

@media (min-width: 768px) {
	.onesafety-homepage .os-tools__flow {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: center;
	}
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-tools__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* HP-13 Národní programy a ověřené zdroje */

.onesafety-homepage .os-programs {
	padding-top: var(--os-section);
	padding-bottom: var(--os-section);
}

.onesafety-homepage .os-programs__head {
	margin-bottom: clamp(1.75rem, 3.5vw, 3rem);
}

.onesafety-homepage .os-programs__heading {
	font-size: var(--os-h2);
	line-height: 1.12;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: clamp(1rem, 1.6vw, 1.5rem);
}

.onesafety-homepage .os-programs__lead {
	font-size: var(--os-lead);
	color: var(--os-muted);
}

.onesafety-homepage .os-programs__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2vw, 1.75rem);
	align-items: stretch;
}

.onesafety-homepage .os-programs__list {
	display: grid;
	grid-template-rows: auto;
	gap: clamp(1rem, 2vw, 1.75rem);
}

.onesafety-homepage .os-program {
	border-radius: 20px;
	padding: clamp(1.25rem, 2.6vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.onesafety-homepage .os-program__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--os-white);
	border-radius: 12px;
	padding: 0.65rem 0.9rem;
	margin-bottom: 0.9rem;
	align-self: flex-start;
	min-width: clamp(112px, 14vw, 150px);
	min-height: clamp(56px, 7vw, 76px);
}

.onesafety-homepage .os-program__logo-image {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: clamp(34px, 4vw, 48px);
	object-fit: contain;
}

.onesafety-homepage .os-program__logo-text {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--os-muted);
	text-align: center;
}

.onesafety-homepage .os-program__label {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	color: var(--os-blue);
}

.onesafety-homepage .os-program__title {
	font-size: clamp(1.3rem, 2.2vw, 1.75rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.onesafety-homepage .os-program__claim {
	font-size: 0.95rem;
}

.onesafety-homepage .os-program__text {
	font-size: 0.92rem;
	color: var(--os-muted);
	max-width: 46ch;
}

.onesafety-homepage .os-program__actions {
	margin-top: auto;
	padding-top: 0.75rem;
}

/* Hlavní modrá karta */

.onesafety-homepage .os-program--lead {
	background: #0151F0;
	color: var(--os-white);
	position: relative;
	overflow: hidden;
}

.onesafety-homepage .os-program--lead::after {
	content: "";
	position: absolute;
	right: -18%;
	top: -12%;
	width: 62%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	pointer-events: none;
}

.onesafety-homepage .os-program--lead > * {
	position: relative;
	z-index: 1;
}

.onesafety-homepage .os-program--lead .os-program__label {
	color: rgba(255, 255, 255, 0.86);
}

.onesafety-homepage .os-program--lead .os-program__claim {
	color: rgba(255, 255, 255, 0.94);
}

.onesafety-homepage .os-program--lead .os-program__text {
	color: rgba(255, 255, 255, 0.88);
}

.onesafety-homepage .os-program__btn {
	background: var(--os-white);
	color: var(--os-blue);
	border-radius: 999px;
	min-height: 52px;
	padding: 0.9rem 1.75rem;
}

.onesafety-homepage .os-program__btn:hover,
.onesafety-homepage .os-program__btn:focus {
	background: var(--os-navy);
	color: var(--os-white);
}

.onesafety-homepage .os-program__note {
	font-size: 0.72rem;
	color: rgba(255, 255, 255, 0.75);
	margin-top: 0.75rem;
}

/* Menší karty */

.onesafety-homepage .os-program--small {
	background: var(--os-white);
	border: 1px solid var(--os-line);
	box-shadow: 0 14px 34px rgba(11, 28, 51, 0.06);
	flex-direction: column;
	height: 100%;
}

.onesafety-homepage .os-program--small .os-program__logo {
	background: #f6f9fd;
	border: 1px solid var(--os-line);
}

.onesafety-homepage .os-program__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1 1 auto;
}

.onesafety-homepage .os-program__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	list-style: none;
	padding: 0;
	margin: 0.25rem 0 0;
}

.onesafety-homepage .os-program__chip {
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: #eaf3fd;
	color: var(--os-blue-ink);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.06em;
}

.onesafety-homepage .os-program__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 44px;
	color: var(--os-blue);
	font-weight: 700;
	font-size: 0.9rem;
	text-decoration: none;
}

.onesafety-homepage .os-program__link:hover,
.onesafety-homepage .os-program__link:focus {
	color: var(--os-blue-ink);
	text-decoration: underline;
}

.onesafety-homepage .os-program__pending {
	margin-top: auto;
	padding-top: 0.75rem;
	font-size: 0.78rem;
	color: var(--os-muted);
	font-style: italic;
}

/* Spodní pruh */

.onesafety-homepage .os-programs__strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(0.9rem, 2vw, 1.5rem);
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	padding: clamp(1.25rem, 2.4vw, 1.9rem);
	background: #eef5fd;
	border-radius: 20px;
}

.onesafety-homepage .os-programs__mark {
	flex: 0 0 auto;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--os-blue);
	position: relative;
}

.onesafety-homepage .os-programs__mark::before,
.onesafety-homepage .os-programs__mark::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--os-white);
	border-radius: 2px;
	transform: translate(-50%, -50%);
}

.onesafety-homepage .os-programs__mark::before {
	width: 22px;
	height: 3px;
}

.onesafety-homepage .os-programs__mark::after {
	width: 3px;
	height: 22px;
}

.onesafety-homepage .os-programs__strip-body {
	flex: 1 1 260px;
}

.onesafety-homepage .os-programs__strip-title {
	font-size: clamp(1.05rem, 1.8vw, 1.4rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin-bottom: 0.35rem;
}

.onesafety-homepage .os-programs__strip-text {
	font-size: 0.9rem;
	color: var(--os-muted);
}

.onesafety-homepage .os-programs__note {
	margin-top: clamp(1rem, 2vw, 1.5rem);
	font-size: 0.78rem;
	color: var(--os-muted);
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-programs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-programs__list {
		grid-template-rows: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-program--small {
		flex-direction: row;
		gap: 1.25rem;
		align-items: flex-start;
	}

	.onesafety-homepage .os-program--small .os-program__logo {
		margin-bottom: 0;
		flex: 0 0 auto;
	}
}

/* HP-14 Pro školy */

.onesafety-homepage .os-schools {
	padding-bottom: var(--os-section);
}

.onesafety-homepage .os-schools__banner {
	background: #eef5fd;
	border-block: 1px solid #d9e7f8;
	padding-block: clamp(0.85rem, 1.6vw, 1.15rem);
	margin-bottom: var(--os-section);
}

.onesafety-homepage .os-schools__banner-inner {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.onesafety-homepage .os-schools__shield {
	flex: 0 0 auto;
	width: 34px;
	height: 40px;
	background: var(--os-blue);
	clip-path: polygon(50% 0%, 100% 18%, 100% 62%, 50% 100%, 0% 62%, 0% 18%);
	position: relative;
}

.onesafety-homepage .os-schools__shield::before,
.onesafety-homepage .os-schools__shield::after {
	content: "";
	position: absolute;
	background: var(--os-white);
	border-radius: 1px;
}

.onesafety-homepage .os-schools__shield::before {
	width: 6px;
	height: 2.5px;
	top: 20px;
	left: 9px;
	transform: rotate(45deg);
}

.onesafety-homepage .os-schools__shield::after {
	width: 13px;
	height: 2.5px;
	top: 17px;
	left: 13px;
	transform: rotate(-45deg);
}

.onesafety-homepage .os-schools__shield--outline {
	width: 22px;
	height: 26px;
	background: var(--os-muted);
	opacity: 0.55;
}

.onesafety-homepage .os-schools__shield--outline::before {
	width: 4px;
	height: 2px;
	top: 13px;
	left: 6px;
}

.onesafety-homepage .os-schools__shield--outline::after {
	width: 9px;
	height: 2px;
	top: 11px;
	left: 8px;
}

.onesafety-homepage .os-schools__banner-text {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	font-size: 0.9rem;
}

.onesafety-homepage .os-schools__banner-main {
	color: var(--os-ink);
}

.onesafety-homepage .os-schools__banner-alert {
	color: var(--os-blue);
	font-weight: 800;
}

.onesafety-homepage .os-schools__inner {
	display: grid;
	gap: var(--os-col-gap);
	align-items: center;
}

.onesafety-homepage .os-schools__media {
	border-radius: 20px;
	overflow: hidden;
}

.onesafety-homepage .os-schools__image {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.onesafety-homepage .os-schools__heading {
	font-size: var(--os-h2);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: clamp(1rem, 1.8vw, 1.75rem);
}

.onesafety-homepage .os-schools__lead {
	font-size: var(--os-lead);
	color: var(--os-muted);
	max-width: 44ch;
}

.onesafety-homepage .os-schools__actions {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.onesafety-homepage .os-schools__btn {
	width: 100%;
	justify-content: center;
	min-height: 64px;
	border-radius: 14px;
	font-size: clamp(1rem, 1.4vw, 1.15rem);
}

.onesafety-homepage .os-schools__secondary {
	margin-top: clamp(1.1rem, 2vw, 1.6rem);
	text-align: center;
}

.onesafety-homepage .os-schools__link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	color: var(--os-blue);
	font-weight: 600;
	font-size: 0.98rem;
	text-decoration: none;
	border-bottom: 1px solid rgba(1, 81, 240, 0.35);
}

.onesafety-homepage .os-schools__link:hover,
.onesafety-homepage .os-schools__link:focus {
	color: var(--os-blue-ink);
	border-bottom-color: var(--os-blue-ink);
}

.onesafety-homepage .os-schools__note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	margin-top: clamp(1rem, 2vw, 1.5rem);
	font-size: 0.9rem;
	color: var(--os-muted);
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-schools__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-schools__banner-text {
		flex-direction: row;
		align-items: baseline;
		gap: 0.6rem;
		font-size: 0.95rem;
	}

	.onesafety-homepage .os-schools__secondary,
	.onesafety-homepage .os-schools__note {
		justify-content: flex-start;
		text-align: left;
	}
}

/*
 * Loga partnerů na mobilu.
 *
 * Karty jsou na úzké obrazovce jen zhruba 150 px široké, takže loga
 * vycházela drobná. Na mobilu se proto zvětšují a dostávají víc místa.
 */

@media (max-width: 767px) {
	.onesafety-homepage .os-partners__grid {
		gap: 0.6rem;
	}

	.onesafety-homepage .os-partner {
		aspect-ratio: 5 / 4;
		padding: 0.75rem;
	}






}

/* Mezistránka: Proč OneSafety vzniklo */

.onesafety-homepage .os-story {
	background: #05080d;
	color: var(--os-white);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: var(--os-section);
	padding-bottom: var(--os-section);
	overflow: hidden;
}

.onesafety-homepage .os-story__inner {
	display: grid;
	gap: var(--os-col-gap);
	align-items: center;
}

.onesafety-homepage .os-story__symbol {
	order: 2;
	display: flex;
	justify-content: flex-end;
	margin-inline: calc(var(--os-shell-pad) * -1);
	pointer-events: none;
}

.onesafety-homepage .os-symbol--story {
	display: block;
	width: min(78%, 420px);
	height: auto;
}

.onesafety-homepage .os-story__text {
	order: 1;
}

.onesafety-homepage .os-story__heading {
	font-size: clamp(1.9rem, 4.4vw, 3.4rem);
	line-height: 1.14;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--os-white);
	margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

.onesafety-homepage .os-story__accent {
	color: #0151F0;
}

.onesafety-homepage .os-story__lead {
	font-size: clamp(0.95rem, 1.25vw, 1.05rem);
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.72);
}

.onesafety-homepage .os-story__actions {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.onesafety-homepage .os-story__link {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	min-height: 44px;
	color: #0151F0;
	font-weight: 700;
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
	text-decoration: none;
}

.onesafety-homepage .os-story__link:hover,
.onesafety-homepage .os-story__link:focus {
	color: #7cc0fa;
}

.onesafety-homepage .os-story__arrow {
	font-size: 1.35em;
	line-height: 1;
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-story__link:hover .os-story__arrow {
	transform: translateX(5px);
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-story__inner {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}

	.onesafety-homepage .os-story__symbol {
		order: 0;
		justify-content: flex-start;
		margin-inline: calc(var(--os-shell-pad) * -1) 0;
	}

	.onesafety-homepage .os-symbol--story {
		width: min(115%, 560px);
		margin-left: -18%;
	}

	.onesafety-homepage .os-story__text {
		order: 1;
	}
}

/* =========================================================================
 * Verze 1.13.0 — vizuální korekce a oživení při scrollování
 * ========================================================================= */

/*
 * Jednotná výška velkých tlačítek.
 *
 * Dvě tlačítka vedle sebe v kartě FaceUp byla různě vysoká (62 a 52 px),
 * protože bílé mělo vlastní min-height a tenčí rámeček. Velká tlačítka
 * teď vycházejí ze společné výšky a mají stejně silný rámeček, takže
 * v jedné řadě lícují.
 */

.onesafety-homepage .os-btn--lg,
.onesafety-homepage .os-btn--pill,
.onesafety-homepage .os-tool__btn,
.onesafety-homepage .os-program__btn,
.onesafety-homepage .os-ask__submit {
	min-height: 62px;
	padding-block: 1rem;
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
}

.onesafety-homepage .os-tool__btn--ghost {
	border-width: 2px;
}

/* Hlavní výzva v sekci Pro školy zůstává o dva pixely vyšší, je to
 * největší tlačítko na stránce a tak to bylo i v původní verzi. */

.onesafety-homepage .os-schools__btn {
	min-height: 64px;
}

/*
 * Dotykové plochy.
 *
 * Odkazy na tísňová čísla a logo v hlavičce měly na mobilu výšku
 * 20 a 30 px. Na dotykovém displeji se do nich těžko trefuje.
 */

.onesafety-homepage .os-ask__emergency-link {
	min-height: 44px;
	align-items: center;
	padding-block: 0.35rem;
}

.onesafety-homepage .onesafety-logo {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/*
 * Oživení při scrollování.
 *
 * Obsah je celý vykreslený na serveru a bez JavaScriptu zůstává vidět.
 * Třídu os-reveal přidává skript až po načtení a jen tehdy, když
 * prohlížeč umí IntersectionObserver a uživatel nemá zapnuté omezení
 * pohybu. Pokud by skript selhal uprostřed, pojistka v něm po dvou
 * sekundách odkryje všechno. Nic se tedy nemůže trvale skrýt.
 */

.onesafety-homepage.os-reveal [data-os-in] {
	opacity: 0;
	transform: translate3d(0, 32px, 0) scale(0.982);
	will-change: opacity, transform;
}

.onesafety-homepage.os-reveal [data-os-in].is-in {
	opacity: 1;
	transform: none;
	transition:
		opacity 0.78s cubic-bezier(0.16, 0.84, 0.28, 1),
		transform 0.78s cubic-bezier(0.16, 0.84, 0.28, 1);
	transition-delay: var(--os-in-delay, 0ms);
}

/* Tmavé sekce nastupují o něco pomaleji, aby přechod nebyl trhaný. */

.onesafety-homepage.os-reveal .os-onehero [data-os-in].is-in,
.onesafety-homepage.os-reveal .os-videos [data-os-in].is-in,
.onesafety-homepage.os-reveal .os-story [data-os-in].is-in {
	transition-duration: 0.86s;
}

@media (prefers-reduced-motion: reduce) {
	.onesafety-homepage.os-reveal [data-os-in] {
		opacity: 1;
		transform: none;
	}
}

/*
 * Tlačítko zpět nahoru.
 *
 * Vypadá jako symbol O, který se pomalu otáčí. Uvnitř je šipka nahoru.
 * Bez JavaScriptu je vidět pořád a funguje jako odkaz na kotvu.
 * Se skriptem se objeví, až uživatel sjede kus dolů.
 */

/*
 * Obal tlačítka je až v patičce stránky, mimo bloky. Kdyby byl
 * uvnitř, stačil by transform na kterémkoli rodiči a ukotvení k oknu
 * by přestalo platit.
 */

.onesafety-homepage.os-totop-wrap {
	position: static;
}

.onesafety-homepage .os-totop {
	position: fixed;
	right: clamp(1rem, 2.5vw, 2rem);
	bottom: calc(clamp(1rem, 2.5vw, 2rem) + env(safe-area-inset-bottom, 0px));
	z-index: 60;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(52px, 5vw, 64px);
	height: clamp(52px, 5vw, 64px);
	text-decoration: none;
	border-radius: 50%;
	transition: transform 0.28s ease, opacity 0.28s ease, box-shadow 0.28s ease;
}

.onesafety-homepage .os-totop__disc {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: var(--os-white);
	box-shadow: 0 10px 26px rgba(11, 28, 51, 0.18);
}

/*
 * Symbol se otáčí podle posunutí stránky, ne sám od sebe.
 * Úhel počítá skript a zapisuje ho do proměnné --os-totop-angle.
 * Když uživatel neposouvá, symbol stojí. Když jede zpátky nahoru,
 * točí se na druhou stranu. Bez skriptu zůstane stát rovně.
 */

.onesafety-homepage .os-totop__symbol {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transform: rotate(var(--os-totop-angle, 0deg));
	will-change: transform;
}

.onesafety-homepage .os-totop__fallback {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--os-blue);
	transform: rotate(var(--os-totop-angle, 0deg));
	will-change: transform;
}

/* Šipka se neotáčí, drží směr nahoru. */

.onesafety-homepage .os-totop__arrow {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 11px;
	height: 11px;
	margin: -3px 0 0 -6px;
	border-left: 2.5px solid var(--os-blue-ink);
	border-top: 2.5px solid var(--os-blue-ink);
	transform: rotate(45deg);
	transition: transform 0.28s ease, margin-top 0.28s ease;
}

.onesafety-homepage .os-totop:hover .os-totop__disc,
.onesafety-homepage .os-totop:focus-visible .os-totop__disc {
	box-shadow: 0 14px 32px rgba(11, 28, 51, 0.26);
}

.onesafety-homepage .os-totop:hover .os-totop__arrow {
	margin-top: -5px;
}

/*
 * Skryté zobrazení řídí skript. Třídu os-totop-ready přidá až
 * po načtení, takže bez JavaScriptu tlačítko zůstane vidět.
 */

.onesafety-homepage.os-totop-ready .os-totop {
	opacity: 0;
	transform: translateY(14px) scale(0.9);
	pointer-events: none;
}

.onesafety-homepage.os-totop-ready .os-totop.is-visible {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.onesafety-homepage .os-totop__symbol,
	.onesafety-homepage .os-totop__fallback {
		transform: none;
	}
}

/* Na mobilu nesmí tlačítko zakrývat obsah pod prstem. */

@media (max-width: 480px) {
	.onesafety-homepage .os-totop {
		right: 0.85rem;
		bottom: calc(0.85rem + env(safe-area-inset-bottom, 0px));
		width: 48px;
		height: 48px;
	}
}

/* Při otevřeném mobilním menu tlačítko ustoupí. */

.onesafety-homepage.os-menu-open .os-totop {
	opacity: 0;
	pointer-events: none;
}

/*
 * Logo v hlavičce nesmí po kliknutí myší dostat rámeček zaměření.
 * Šablona kreslí u :focus tmavý obrys, který se objevoval po návratu
 * nahoru. Pro klávesnici rámeček zůstává, tam má smysl.
 */

.onesafety-homepage .onesafety-logo:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}

/* =========================================================================
 * HP-16 Pro školy, konverzní blok
 * ========================================================================= */

.onesafety-homepage .os-offer {
	padding-block: var(--os-section);
}

.onesafety-homepage .os-offer__panel {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
	padding: clamp(1.75rem, 4vw, 3.5rem);
	background: #eaf3fd;
	border-radius: var(--os-radius-lg);
}

/* Symbol O jako světlý podtisk v pravém dolním rohu. */

.onesafety-homepage .os-offer__symbol {
	position: absolute;
	right: -14%;
	bottom: -46%;
	width: 46%;
	max-width: 640px;
	opacity: 0.22;
	pointer-events: none;
	z-index: 0;
}

.onesafety-homepage .os-offer__symbol img {
	display: block;
	width: 100%;
	height: auto;
}

.onesafety-homepage .os-offer__text,
.onesafety-homepage .os-offer__card {
	position: relative;
	z-index: 1;
}

.onesafety-homepage .os-offer__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.9rem, 3.6vw, 2.9rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-offer__heading .os-line {
	display: block;
}

.onesafety-homepage .os-offer__perex {
	margin: 1rem 0 0;
	max-width: 34rem;
	color: var(--os-muted);
	font-size: clamp(0.98rem, 1.3vw, 1.08rem);
}

.onesafety-homepage .os-offer__benefits {
	margin: clamp(1.25rem, 3vw, 2rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.75rem;
}

.onesafety-homepage .os-offer__benefit {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-weight: 700;
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
}

/* Zelené kolečko s odškrtnutím. Kreslené v CSS, žádný obrázek. */

.onesafety-homepage .os-offer__check {
	position: relative;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #d6f2e2;
}

.onesafety-homepage .os-offer__check::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 7px;
	width: 6px;
	height: 11px;
	border-right: 2.5px solid #12864f;
	border-bottom: 2.5px solid #12864f;
	transform: rotate(42deg);
}

.onesafety-homepage .os-offer__actions {
	margin: clamp(1.25rem, 3vw, 2rem) 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.onesafety-homepage .os-offer__btn {
	min-height: 62px;
	padding-block: 1rem;
	padding-inline: clamp(1.1rem, 2vw, 1.5rem);
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
}

.onesafety-homepage .os-offer__btn--ghost {
	background: var(--os-white);
	color: var(--os-blue);
	border: 2px solid var(--os-blue);
}

.onesafety-homepage .os-offer__btn--ghost:hover,
.onesafety-homepage .os-offer__btn--ghost:focus-visible {
	background: #f3f8ff;
}

.onesafety-homepage .os-offer__arrow {
	margin-left: 0.5rem;
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-offer__btn:hover .os-offer__arrow {
	transform: translateX(4px);
}

.onesafety-homepage .os-offer__note {
	margin: 0.9rem 0 0;
	color: #8d97a3;
	font-size: 0.85rem;
}

/* Bílá karta s postupem */

.onesafety-homepage .os-offer__card {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-lg);
}

.onesafety-homepage .os-offer__card-title {
	margin: 0.5rem 0 0;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.onesafety-homepage .os-offer__card-subtitle {
	margin: 0.15rem 0 0;
	color: var(--os-muted);
	font-size: clamp(0.98rem, 1.3vw, 1.1rem);
}

.onesafety-homepage .os-offer__steps {
	margin: clamp(1.25rem, 3vw, 2rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 1.75rem);
}

.onesafety-homepage .os-offer__step {
	position: relative;
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}

/* Spojnice mezi kroky. Poslední krok ji nemá. */

.onesafety-homepage .os-offer__step:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 19px;
	top: 42px;
	bottom: calc(-1 * clamp(1.25rem, 2.5vw, 1.75rem));
	width: 1px;
	background: var(--os-line);
}

.onesafety-homepage .os-offer__step-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--os-blue);
	color: var(--os-white);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.onesafety-homepage .os-offer__step-body {
	display: block;
	padding-top: 0.35rem;
}

.onesafety-homepage .os-offer__step-title {
	display: block;
	font-weight: 800;
	font-size: clamp(0.98rem, 1.3vw, 1.08rem);
}

.onesafety-homepage .os-offer__step-text {
	display: block;
	margin-top: 0.25rem;
	color: var(--os-muted);
	font-size: 0.92rem;
}

.onesafety-homepage .os-offer__badges {
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	padding: 0.85rem 1rem;
	background: #e8f3ff;
	border-radius: var(--os-radius-md);
	color: var(--os-blue-ink);
	font-size: 0.85rem;
	font-weight: 700;

	/* Když se řádek nevejde, zalomí se mezi popisky, ne uvnitř nich. */
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.2rem 0.45rem;
}

.onesafety-homepage .os-offer__badge {
	white-space: nowrap;
}

.onesafety-homepage .os-offer__badge-dot {
	color: var(--os-blue);
}

/* Tablet a mobil: sloupce pod sebe, tlačítka na celou šířku. */

@media (max-width: 480px) {
	.onesafety-homepage .os-offer__badges {
		font-size: 0.8rem;
		padding-inline: 0.75rem;
	}
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-offer__panel {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(1.75rem, 5vw, 2.5rem);
		align-items: stretch;
	}

	.onesafety-homepage .os-offer__symbol {
		right: -18%;
		bottom: -12%;
		width: 78%;
	}

	.onesafety-homepage .os-offer__actions {
		flex-direction: column;
	}

	.onesafety-homepage .os-offer__btn {
		width: 100%;
	}
}

/* =========================================================================
 * HP-15 Další segmenty
 * ========================================================================= */

.onesafety-homepage .os-segments {
	padding-block: var(--os-section);
}

.onesafety-homepage .os-segments__intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
}

.onesafety-homepage .os-segments__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.9rem, 3.6vw, 3rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-segments__heading .os-line {
	display: block;
}

.onesafety-homepage .os-segments__perex {
	margin: 1.25rem 0 0;
	max-width: 38rem;
	color: var(--os-muted);
	font-size: clamp(0.98rem, 1.3vw, 1.08rem);
}

.onesafety-homepage .os-segments__media {
	border-radius: var(--os-radius-md);
	overflow: hidden;
}

.onesafety-homepage .os-segments__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Nadpis nad výběrem prostředí */

.onesafety-homepage .os-segments__picker {
	margin-top: clamp(2.5rem, 6vw, 4rem);
}

.onesafety-homepage .os-segments__picker-title {
	margin: 0;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-segments__picker-note {
	margin: 0.35rem 0 0;
	color: var(--os-muted);
	font-size: clamp(0.92rem, 1.2vw, 1rem);
}

/*
 * Akordeon je stejná komponenta jako v ostatních sekcích. Přibyl jen
 * druhý řádek s popisem, který má každý segment pod názvem.
 */

.onesafety-homepage .os-accordion--segments {
	margin-top: clamp(1.25rem, 3vw, 1.75rem);
	display: grid;
	gap: 0.75rem;
}

.onesafety-homepage .os-panel__trigger--segment {
	align-items: flex-start;
	padding-block: clamp(1rem, 2vw, 1.35rem);
}

.onesafety-homepage .os-panel__label {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.onesafety-homepage .os-panel__subtitle {
	font-size: 0.88rem;
	font-weight: 400;
	color: var(--os-muted);
	line-height: 1.45;
}

.onesafety-homepage .os-panel.is-open .os-panel__subtitle {
	color: rgba(255, 255, 255, 0.88);
}

.onesafety-homepage .os-panel__trigger--segment .os-panel__icon {
	margin-top: 0.25rem;
}

/*
 * Otevřený segment má nadpis o něco větší, aby v modré ploše
 * fungoval jako mezititulek stejně jako v referenci.
 */

.onesafety-homepage .os-accordion--segments .os-panel__intro--strong {
	font-size: clamp(1.1rem, 1.9vw, 1.45rem);
	line-height: 1.24;
	letter-spacing: -0.01em;
	max-width: 34ch;
}

.onesafety-homepage .os-accordion--segments .os-panel__note {
	margin-top: -0.35rem;
}

/* Karty s čísly uvnitř otevřeného segmentu */

.onesafety-homepage .os-chips--numbered .os-chip {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 0.3rem;
	padding: clamp(0.9rem, 1.6vw, 1.15rem);
}

.onesafety-homepage .os-chips--numbered .os-chip__number {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.82);
}

.onesafety-homepage .os-chips--numbered .os-chip__text {
	font-size: 0.82rem;
}

/* Uzavírací pruh s výzvou */

.onesafety-homepage .os-segments__closing {
	margin-top: clamp(2rem, 5vw, 3rem);
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
	background: #eef3f9;
	border-radius: var(--os-radius-lg);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1rem, 3vw, 2rem);
	align-items: center;
}

.onesafety-homepage .os-segments__closing-title {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-segments__closing-note {
	margin: 0.35rem 0 0;
	color: var(--os-muted);
	font-size: clamp(0.92rem, 1.2vw, 1rem);
}

.onesafety-homepage .os-segments__closing-actions {
	margin: 0;
}

.onesafety-homepage .os-segments__btn {
	min-height: 62px;
	padding-block: 1rem;
	padding-inline: clamp(1.1rem, 2vw, 1.75rem);
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
	white-space: nowrap;
}

.onesafety-homepage .os-segments__arrow {
	margin-left: 0.5rem;
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-segments__btn:hover .os-segments__arrow {
	transform: translateX(4px);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-segments__intro {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-segments__closing {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-segments__btn {
		width: 100%;
		white-space: normal;
	}
}

/* =========================================================================
 * HP-15A až HP-15G — dopadové stránky segmentů
 *
 * Samostatné stránky, ne součást homepage. Používají stejné proměnné,
 * tlačítka i akordeon jako zbytek webu, aby na sebe navazovaly.
 * ========================================================================= */

.onesafety-homepage .os-segment__hero {
	padding-block: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
}

.onesafety-homepage .os-segment__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}

.onesafety-homepage .os-segment__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.85rem, 3.4vw, 2.8rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-segment__heading .os-line {
	display: block;
}

.onesafety-homepage .os-segment__perex {
	margin: 1.25rem 0 0;
	max-width: 36rem;
	color: var(--os-muted);
	font-size: clamp(0.98rem, 1.3vw, 1.05rem);
}

/*
 * Fotografie se symbolem O přesahujícím pravý dolní roh,
 * stejně jako na schválených referencích.
 */

.onesafety-homepage .os-segment__media {
	position: relative;
	padding-bottom: clamp(2rem, 5vw, 4rem);
	padding-right: clamp(1rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-segment__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-segment__symbol {
	position: absolute;
	right: 0;
	bottom: clamp(0.75rem, 2.5vw, 2rem);
	width: clamp(88px, 12vw, 150px);
	pointer-events: none;
}

.onesafety-homepage .os-segment__symbol img {
	display: block;
	width: 100%;
	height: auto;
}

/* Pro koho je program určen */

.onesafety-homepage .os-segment__audience {
	padding-block: clamp(1.5rem, 3vw, 2.5rem) 0;
}

.onesafety-homepage .os-segment__subheading {
	margin: 0;
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-segment__subnote {
	margin: 0.3rem 0 0;
	color: var(--os-muted);
	font-size: clamp(0.9rem, 1.2vw, 0.98rem);
}

.onesafety-homepage .os-segment__tags {
	margin: clamp(0.9rem, 2vw, 1.25rem) 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.onesafety-homepage .os-segment__tag {
	padding: 0.55rem 1rem;
	border: 1px solid #cfe0f5;
	border-radius: 999px;
	background: #f2f8ff;
	color: var(--os-blue-ink);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
}

/* Situace, na které připravujeme */

.onesafety-homepage .os-segment__situations {
	padding-block: clamp(2rem, 5vw, 3.5rem);
}

.onesafety-homepage .os-accordion--situations {
	margin-top: clamp(1rem, 2.5vw, 1.5rem);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	align-items: stretch;
}

/* Karty v jedné řadě mají stejnou výšku, plus je svisle na středu. */

.onesafety-homepage .os-accordion--situations .os-panel {
	display: flex;
	flex-direction: column;
}

.onesafety-homepage .os-panel__trigger--situation {
	align-items: center;
	flex: 1 1 auto;
	padding-block: clamp(1rem, 2vw, 1.35rem);
}

.onesafety-homepage .os-situation__kicker {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--os-blue);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.onesafety-homepage .os-panel.is-open .os-situation__kicker {
	color: rgba(255, 255, 255, 0.92);
}

.onesafety-homepage .os-situation__slash {
	margin: 0 0.2rem;
	opacity: 0.7;
}

.onesafety-homepage .os-situation .os-panel__title {
	font-size: clamp(1rem, 1.5vw, 1.15rem);
}

.onesafety-homepage .os-situation__note {
	margin: 0;
}

/* Uzavírací pruh */

.onesafety-homepage .os-segment__closing {
	padding-block: 0 clamp(2.5rem, 6vw, 4.5rem);
}

.onesafety-homepage .os-segment__closing-panel {
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
	background: #eef3f9;
	border-radius: var(--os-radius-lg);
}

.onesafety-homepage .os-segment__closing-title {
	margin: 0;
	font-size: clamp(1.3rem, 2.4vw, 1.85rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-segment__closing-body {
	margin-top: clamp(1.25rem, 3vw, 1.75rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1rem, 3vw, 2rem);
	align-items: center;
}

.onesafety-homepage .os-segment__steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
}

.onesafety-homepage .os-segment__step-number {
	display: block;
	color: var(--os-blue);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
}

.onesafety-homepage .os-segment__step-title {
	display: block;
	margin-top: 0.3rem;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.onesafety-homepage .os-segment__step-text {
	display: block;
	margin-top: 0.2rem;
	color: var(--os-muted);
	font-size: 0.85rem;
}

.onesafety-homepage .os-segment__btn {
	min-height: 62px;
	padding-block: 1rem;
	padding-inline: clamp(1.1rem, 2vw, 1.75rem);
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
	white-space: nowrap;
}

.onesafety-homepage .os-segment__arrow {
	margin-left: 0.5rem;
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-segment__btn:hover .os-segment__arrow {
	transform: translateX(4px);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-segment__hero-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-accordion--situations {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-segment__closing-body {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-segment__steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.85rem;
	}

	.onesafety-homepage .os-segment__btn {
		width: 100%;
		white-space: normal;
	}
}

/* =========================================================================
 * Dopadové stránky: drobečky a návrat
 * ========================================================================= */

.onesafety-homepage .os-crumbs {
	padding-block: clamp(0.75rem, 2vw, 1.25rem) 0;
}

.onesafety-homepage .os-crumbs__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.82rem;
	color: var(--os-muted);
}

/* Oddělovač kreslíme v CSS, aby nebyl v textu stránky. */

.onesafety-homepage .os-crumbs__item + .os-crumbs__item::before {
	content: "/";
	margin-right: 0.35rem;
	color: #aab4c0;
}

.onesafety-homepage .os-crumbs__link {
	color: var(--os-blue);
	text-decoration: none;
	font-weight: 700;
}

.onesafety-homepage .os-crumbs__link:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-crumbs__item--current {
	font-weight: 700;
	color: var(--os-ink);
}

.onesafety-homepage .os-segment__back,
.onesafety-homepage .os-contacts__back {
	padding-block: 0 clamp(2rem, 5vw, 3rem);
}

.onesafety-homepage .os-back {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	color: var(--os-blue);
	font-weight: 700;
	text-decoration: none;
}

.onesafety-homepage .os-back:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-back__arrow {
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-back:hover .os-back__arrow {
	transform: translateX(-4px);
}

/* =========================================================================
 * HP-18 Kontakt a poptávka
 * ========================================================================= */

.onesafety-homepage .os-contact {
	padding-block: var(--os-section);
}

.onesafety-homepage .os-contact__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 800;
	line-height: 1.16;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-contact__heading .os-line {
	display: block;
}

.onesafety-homepage .os-contact__perex {
	margin: 1rem 0 0;
	max-width: 40rem;
	color: var(--os-muted);
	font-size: clamp(0.95rem, 1.3vw, 1.05rem);
}

.onesafety-homepage .os-contact__card {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
	gap: clamp(1rem, 2.5vw, 1.5rem);
	align-items: stretch;
}

.onesafety-homepage .os-contact__media {
	border-radius: var(--os-radius-md);
	overflow: hidden;
	background: var(--os-surface);
}

.onesafety-homepage .os-contact__image {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.onesafety-homepage .os-contact__body {
	padding: clamp(1.25rem, 3vw, 2rem);
	background: #eef4fd;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-contact__role {
	margin: 0.35rem 0 0;
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-contact__phone {
	margin: 0.5rem 0 0;
	font-weight: 800;
}

.onesafety-homepage .os-contact__phone a {
	color: var(--os-ink);
	text-decoration: none;
}

.onesafety-homepage .os-contact__mail {
	margin: 0.15rem 0 0;
	font-weight: 700;
}

.onesafety-homepage .os-contact__mail a {
	color: var(--os-blue);
	text-decoration: none;
}

.onesafety-homepage .os-contact__phone a:hover,
.onesafety-homepage .os-contact__mail a:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-contact__note {
	margin: 1rem 0 0;
	max-width: 44rem;
	color: var(--os-muted);
	font-size: 0.88rem;
}

.onesafety-homepage .os-contact__actions {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.onesafety-homepage .os-contact__btn {
	min-height: 62px;
	padding-block: 1rem;
	padding-inline: clamp(1.1rem, 2vw, 1.6rem);
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
}

.onesafety-homepage .os-contact__btn--ghost {
	background: var(--os-white);
	color: var(--os-blue);
	border: 2px solid var(--os-blue);
}

.onesafety-homepage .os-contact__btn--ghost:hover,
.onesafety-homepage .os-contact__btn--ghost:focus-visible {
	background: #f3f8ff;
}

.onesafety-homepage .os-contact__arrow {
	margin-left: 0.5rem;
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-contact__btn:hover .os-contact__arrow {
	transform: translateX(4px);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-contact__card {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-contact__image {
		aspect-ratio: 4 / 3;
	}

	.onesafety-homepage .os-contact__actions {
		flex-direction: column;
	}

	.onesafety-homepage .os-contact__btn {
		width: 100%;
	}
}

/* =========================================================================
 * HP-18 Patička
 * ========================================================================= */

.onesafety-homepage .os-footer {
	padding-block: 0 clamp(1.5rem, 4vw, 3rem);
}

.onesafety-homepage .os-footer__panel {
	padding: clamp(1.75rem, 4vw, 3rem);
	background: var(--os-black);
	color: var(--os-white);
	border-radius: var(--os-radius-lg);
}

.onesafety-homepage .os-footer__logo {
	display: block;
	width: clamp(150px, 18vw, 210px);
	height: auto;
}

.onesafety-homepage .os-footer__claim {
	margin: 0.85rem 0 0;
	max-width: 26rem;
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.85rem;
	line-height: 1.6;
}

.onesafety-homepage .os-footer__columns {
	margin-top: clamp(2rem, 5vw, 3.25rem);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
}

.onesafety-homepage .os-footer__column-title {
	margin: 0 0 0.85rem;
	color: var(--os-blue-light);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.onesafety-homepage .os-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.1rem;
}

.onesafety-homepage .os-footer__link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.88rem;
	text-decoration: none;
}

.onesafety-homepage a.os-footer__link:hover,
.onesafety-homepage a.os-footer__link:focus-visible {
	color: var(--os-white);
	text-decoration: underline;
}

/* Popisek bez cíle. Odkaz se objeví, až bude adresa v nastavení. */

.onesafety-homepage .os-footer__link--plain {
	color: rgba(255, 255, 255, 0.5);
	cursor: default;
}

.onesafety-homepage .os-footer__legal {
	margin-top: clamp(1.75rem, 4vw, 2.5rem);
	padding-top: clamp(1.25rem, 3vw, 1.75rem);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.onesafety-homepage .os-footer__legal-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.75rem;
}

.onesafety-homepage .os-footer__legal-link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.82rem;
	text-decoration: none;
}

.onesafety-homepage a.os-footer__legal-link:hover {
	color: var(--os-white);
	text-decoration: underline;
}

.onesafety-homepage .os-footer__operator {
	margin-top: clamp(1.5rem, 3.5vw, 2.25rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: end;
}

.onesafety-homepage .os-footer__operator-eyebrow {
	margin: 0;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.onesafety-homepage .os-footer__operator-name {
	margin: 0.4rem 0 0;
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.onesafety-homepage .os-footer__operator-legal {
	margin: 0.5rem 0 0;
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.8rem;
	line-height: 1.7;
}

.onesafety-homepage .os-footer__operator-line {
	display: block;
}

.onesafety-homepage .os-footer__copy {
	margin: 0;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.78rem;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-footer__operator {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}
}

@media (max-width: 480px) {
	.onesafety-homepage .os-footer__columns {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =========================================================================
 * Dopadová stránka Kontakty projektu
 * ========================================================================= */

.onesafety-homepage .os-contacts__hero {
	padding-block: clamp(1.5rem, 4vw, 2.5rem) 0;
}

.onesafety-homepage .os-contacts__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.75rem, 3.2vw, 2.6rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-contacts__heading .os-line {
	display: block;
}

.onesafety-homepage .os-contacts__perex {
	margin: 1rem 0 0;
	max-width: 40rem;
	color: var(--os-muted);
	font-size: clamp(0.95rem, 1.3vw, 1.05rem);
}

.onesafety-homepage .os-contacts__people,
.onesafety-homepage .os-contacts__partners,
.onesafety-homepage .os-contacts__help {
	padding-block: clamp(1.75rem, 4vw, 2.75rem) 0;
}

.onesafety-homepage .os-contacts__subheading {
	margin: 0;
	font-size: clamp(1.3rem, 2.4vw, 1.85rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-contacts__subnote {
	margin: 0.3rem 0 0;
	max-width: 46rem;
	color: var(--os-muted);
	font-size: clamp(0.88rem, 1.2vw, 0.95rem);
}

.onesafety-homepage .os-contacts__grid {
	margin-top: clamp(1rem, 2.5vw, 1.5rem);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.5rem);
	align-items: stretch;
}

.onesafety-homepage .os-person {
	display: grid;
	grid-template-columns: minmax(0, 0.44fr) minmax(0, 1fr);
	grid-template-areas:
		"media body"
		"action action";
	grid-template-rows: 1fr auto;
	gap: clamp(0.85rem, 2vw, 1.25rem);
	padding: clamp(0.85rem, 2vw, 1.25rem);
	background: #eef4fd;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-person__media {
	grid-area: media;
	align-self: stretch;
}

.onesafety-homepage .os-person__body {
	grid-area: body;
}

.onesafety-homepage .os-person__actions {
	grid-area: action;
}

/*
 * Karty partnerů nemají tlačítko, fotka tedy vyplní celou výšku
 * karty jako v referenci.
 */

.onesafety-homepage .os-person--partner {
	grid-template-areas: "media body";
}

.onesafety-homepage .os-person--partner {
	background: var(--os-white);
	border: 1px solid var(--os-line);
}

.onesafety-homepage .os-person__media {
	border-radius: var(--os-radius-sm);
	overflow: hidden;
	background: var(--os-surface);
}

/* Fotka vyplní celou výšku karty jako v referenci. */

.onesafety-homepage .os-person__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 180px;
	object-fit: cover;
}

.onesafety-homepage .os-person__role {
	margin: 0.3rem 0 0;
	font-size: clamp(1rem, 1.6vw, 1.2rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.onesafety-homepage .os-person__role .os-line {
	display: block;
}

.onesafety-homepage .os-person__phone {
	margin: 0.45rem 0 0;
	font-weight: 800;
	font-size: 0.9rem;
}

.onesafety-homepage .os-person__phone a {
	color: var(--os-ink);
	text-decoration: none;
}

.onesafety-homepage .os-person__mail {
	margin: 0.1rem 0 0;
	font-weight: 700;
	font-size: 0.9rem;
}

.onesafety-homepage .os-person__mail a {
	color: var(--os-blue);
	text-decoration: none;
}

.onesafety-homepage .os-person__phone a:hover,
.onesafety-homepage .os-person__mail a:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-person__note {
	margin: 0.75rem 0 0;
	color: var(--os-muted);
	font-size: 0.85rem;
}

.onesafety-homepage .os-person__actions {
	margin: 1rem 0 0;
}

.onesafety-homepage .os-person__btn {
	min-height: 56px;
	padding-block: 0.9rem;
	padding-inline: clamp(1rem, 2vw, 1.5rem);
	font-size: 0.95rem;
}

.onesafety-homepage .os-person__arrow {
	margin-left: 0.5rem;
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-person__btn:hover .os-person__arrow {
	transform: translateX(4px);
}

.onesafety-homepage .os-contacts__help-list {
	margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.25rem);
}

.onesafety-homepage .os-help {
	padding: clamp(1rem, 2.2vw, 1.5rem);
	background: var(--os-white);
	border: 1px solid #cfe0f5;
	border-radius: var(--os-radius-md);
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.onesafety-homepage .os-help__text {
	margin: 0;
	font-weight: 700;
	font-size: 0.95rem;
}

.onesafety-homepage .os-help__action {
	margin: auto 0 0;
}

.onesafety-homepage .os-help__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 40px;
	color: var(--os-blue);
	font-weight: 700;
	font-size: 0.88rem;
	text-decoration: none;
}

.onesafety-homepage .os-help__link:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-help__link:hover .os-help__arrow {
	transform: translateX(4px);
}

.onesafety-homepage .os-help__arrow {
	transition: transform 0.24s ease;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-contacts__grid,
	.onesafety-homepage .os-contacts__help-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 560px) {
	.onesafety-homepage .os-person {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-person__image {
		aspect-ratio: 4 / 3;
		height: auto;
	}

	.onesafety-homepage .os-person__btn {
		width: 100%;
	}
}

/*
 * Dotykové plochy na kontaktech a v drobečkách.
 *
 * Telefon, e-mail a odkazy v drobečkách měly na mobilu jen 16 až 17
 * pixelů. Na dotykovém displeji se do nich nedá trefit.
 */

.onesafety-homepage .os-contact__phone a,
.onesafety-homepage .os-contact__mail a,
.onesafety-homepage .os-person__phone a,
.onesafety-homepage .os-person__mail a,
.onesafety-homepage .os-crumbs__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.onesafety-homepage .os-help__link {
	min-height: 44px;
}

/* =========================================================================
 * Souhlas s cookies
 *
 * Lišta sedí dole, drží se stejných barev, poloměrů i tlačítek
 * jako zbytek webu. Nad tlačítko zpět nahoru, aby se nepřekrývaly.
 * ========================================================================= */

.onesafety-homepage.os-consent {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 80;
	padding: clamp(0.75rem, 2vw, 1.25rem);
}

.onesafety-homepage .os-consent__bar {
	max-width: var(--os-shell);
	margin: 0 auto;
	padding: clamp(1rem, 2.4vw, 1.5rem);
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-lg);
	box-shadow: 0 18px 44px rgba(11, 28, 51, 0.18);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(0.85rem, 2.5vw, 1.75rem);
	align-items: center;
}

.onesafety-homepage .os-consent__title {
	margin: 0;
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.onesafety-homepage .os-consent__note {
	margin: 0.35rem 0 0;
	max-width: 62ch;
	color: var(--os-muted);
	font-size: 0.88rem;
	line-height: 1.6;
}

.onesafety-homepage .os-consent__link {
	display: inline-block;
	margin-left: 0.5rem;
	color: var(--os-blue);
	font-weight: 700;
	text-decoration: none;
}

.onesafety-homepage .os-consent__link:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-consent__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.onesafety-homepage .os-consent__btn {
	min-height: 52px;
	padding-block: 0.85rem;
	padding-inline: clamp(0.9rem, 1.8vw, 1.4rem);
	font-size: 0.92rem;
	white-space: nowrap;
}

.onesafety-homepage .os-consent__btn--ghost {
	background: var(--os-white);
	color: var(--os-blue);
	border: 2px solid var(--os-line);
}

.onesafety-homepage .os-consent__btn--ghost:hover,
.onesafety-homepage .os-consent__btn--ghost:focus-visible {
	border-color: var(--os-blue);
	background: #f3f8ff;
}

/* Okno s podrobným nastavením */

.onesafety-homepage .os-consent__panel {
	position: fixed;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(0.75rem, 3vw, 2rem);
	background: rgba(11, 28, 51, 0.55);
}

.onesafety-homepage .os-consent__panel[hidden] {
	display: none;
}

.onesafety-homepage .os-consent__panel-inner {
	width: min(560px, 100%);
	max-height: 86vh;
	overflow-y: auto;
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--os-white);
	border-radius: var(--os-radius-lg);
	box-shadow: 0 24px 60px rgba(11, 28, 51, 0.32);
}

.onesafety-homepage .os-consent__panel-title {
	margin: 0;
	font-size: clamp(1.2rem, 2.2vw, 1.6rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-consent__list {
	margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.75rem;
}

.onesafety-homepage .os-consent__item {
	padding: clamp(0.85rem, 2vw, 1.15rem);
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-consent__item-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 32px;
}

.onesafety-homepage .os-consent__item-title {
	font-weight: 800;
	font-size: 0.98rem;
}

.onesafety-homepage .os-consent__always {
	color: var(--os-muted);
	font-size: 0.78rem;
	font-weight: 700;
}

.onesafety-homepage .os-consent__check {
	width: 22px;
	height: 22px;
	accent-color: var(--os-blue);
	cursor: pointer;
}

.onesafety-homepage .os-consent__item-note {
	margin: 0.4rem 0 0;
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.6;
}

.onesafety-homepage .os-consent__panel-actions {
	margin-top: clamp(1.25rem, 3vw, 1.75rem);
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.5rem;
}

/* Tlačítko v patičce, kterým jde volbu změnit. */

.onesafety-homepage .os-footer__consent {
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	font: inherit;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.62);
}

.onesafety-homepage .os-footer__consent:hover {
	color: var(--os-white);
	text-decoration: underline;
}

@media (max-width: 900px) {
	.onesafety-homepage .os-consent__bar {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-consent__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-consent__btn {
		width: 100%;
		white-space: normal;
	}

}

/* =========================================================================
 * Kontakty projektu — doplnění podle reference
 * ========================================================================= */

.onesafety-homepage .os-contacts__logo {
	margin: 0 0 clamp(0.75rem, 2vw, 1.25rem);
}

.onesafety-homepage .os-contacts__logo-image {
	display: block;
	width: clamp(130px, 14vw, 170px);
	height: auto;
}

.onesafety-homepage .os-person__story {
	margin: 0.85rem 0 0;
}

.onesafety-homepage .os-person__story-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 40px;
	color: var(--os-blue);
	font-weight: 700;
	font-size: 0.82rem;
	text-decoration: none;
}

.onesafety-homepage .os-person__story-link:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-person__story-link:hover .os-person__arrow {
	transform: translateX(4px);
}

/* Tmavý blok provozovatele */

.onesafety-homepage .os-contacts__operator {
	padding-block: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2.5rem);
}

.onesafety-homepage .os-operator {
	padding: clamp(1.25rem, 3vw, 2rem);
	background: #0a1626;
	color: var(--os-white);
	border-radius: var(--os-radius-lg);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
	gap: clamp(1rem, 3vw, 2rem);
	align-items: start;
}

.onesafety-homepage .os-operator__eyebrow {
	margin: 0;
	color: var(--os-blue-light);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.onesafety-homepage .os-operator__logo {
	margin: 0.75rem 0 0;
	font-size: clamp(1.4rem, 2.6vw, 1.9rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-operator__logo-dot {
	color: var(--os-blue-light);
}

.onesafety-homepage .os-operator__name {
	margin: 0.85rem 0 0;
	font-size: 0.95rem;
	font-weight: 800;
}

.onesafety-homepage .os-operator__lines {
	margin: 0.5rem 0 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.82rem;
	line-height: 1.9;
}

.onesafety-homepage .os-operator__line {
	display: block;
}

.onesafety-homepage .os-operator__register {
	margin: 1rem 0 0;
}

.onesafety-homepage .os-operator__register-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 44px;
	color: var(--os-blue-light);
	font-weight: 700;
	font-size: 0.85rem;
	text-decoration: none;
}

.onesafety-homepage .os-operator__register-link:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-operator__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.75rem, 2vw, 1rem);
}

.onesafety-homepage .os-operator__card {
	padding: clamp(1rem, 2.2vw, 1.35rem);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--os-radius-md);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 100%;
}

.onesafety-homepage .os-operator__card-title {
	margin: 0;
	font-size: 0.98rem;
	font-weight: 800;
}

.onesafety-homepage .os-operator__card-text {
	margin: 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.82rem;
	line-height: 1.6;
}

.onesafety-homepage .os-operator__card-action {
	margin: auto 0 0;
}

.onesafety-homepage .os-operator__card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 40px;
	color: var(--os-blue-light);
	font-weight: 700;
	font-size: 0.82rem;
	text-decoration: none;
}

.onesafety-homepage .os-operator__card-link:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-operator__arrow {
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-operator__register-link:hover .os-operator__arrow,
.onesafety-homepage .os-operator__card-link:hover .os-operator__arrow {
	transform: translateX(3px);
}

/* Právní řádek pod tmavým blokem */

.onesafety-homepage .os-contacts__legal {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
	padding-top: clamp(1rem, 2.5vw, 1.5rem);
	border-top: 1px solid var(--os-line);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
}

.onesafety-homepage .os-contacts__legal-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.75rem;
}

.onesafety-homepage .os-contacts__legal-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--os-muted);
	font-size: 0.82rem;
	text-decoration: none;
	background: none;
	border: 0;
	padding: 0;
	font-family: inherit;
	cursor: pointer;
}

.onesafety-homepage a.os-contacts__legal-link:hover,
.onesafety-homepage button.os-contacts__legal-link:hover {
	color: var(--os-ink);
	text-decoration: underline;
}

.onesafety-homepage .os-contacts__legal-link--plain {
	cursor: default;
	color: #9aa4b0;
}

.onesafety-homepage .os-contacts__copy {
	margin: 0;
	color: var(--os-muted);
	font-size: 0.78rem;
}

.onesafety-homepage .os-contacts__back-line {
	margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-operator {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 560px) {
	.onesafety-homepage .os-person {
		grid-template-areas:
			"media"
			"body"
			"action";
	}

	.onesafety-homepage .os-person--partner {
		grid-template-areas:
			"media"
			"body";
	}

	.onesafety-homepage .os-operator__cards {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-contacts__legal {
		flex-direction: column;
		align-items: flex-start;
	}
}

/*
 * Dokud je na obrazovce cookie lišta, tlačítko zpět nahoru se
 * nezobrazuje. Na mobilu zabírá lišta spodek obrazovky a obě
 * plochy by se překrývaly. Třídu přidává a odebírá skript.
 */

html.os-consent-visible .onesafety-homepage .os-totop {
	opacity: 0;
	pointer-events: none;
}

/*
 * Patička na mobilu podle reference.
 *
 * Reference drží dva sloupce odkazů i na telefonu, ne jeden.
 * Právní odkazy se lámou po dvou a značka provozovatele je pod nimi.
 */

.onesafety-homepage .os-footer__operator-suffix {
	margin-left: 0.1em;
	color: var(--os-blue-light);
	font-size: 0.5em;
	font-weight: 800;
	letter-spacing: 0.02em;
	vertical-align: super;
}

@media (max-width: 480px) {
	.onesafety-homepage .os-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(1.5rem, 6vw, 2.5rem) 1rem;
	}

	.onesafety-homepage .os-footer__link {
		font-size: 0.82rem;
	}

	.onesafety-homepage .os-footer__legal-list {
		gap: 0 1.25rem;
	}

	.onesafety-homepage .os-footer__legal-link,
	.onesafety-homepage .os-footer__consent {
		font-size: 0.78rem;
	}
}

/* =========================================================================
 * Dopadová stránka Edukační videa
 * ========================================================================= */

.onesafety-homepage .os-vp__hero {
	background: var(--os-navy);
	color: var(--os-white);
	padding-block: clamp(1.5rem, 4vw, 2.5rem) clamp(2rem, 5vw, 3.5rem);
}

.onesafety-homepage .os-vp__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.onesafety-homepage .os-vp__eyebrow {
	color: var(--os-blue-light);
}

.onesafety-homepage .os-vp__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.9rem, 3.6vw, 3rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-vp__heading .os-line {
	display: block;
}

.onesafety-homepage .os-vp__hero .os-accent {
	color: var(--os-blue-light);
}

.onesafety-homepage .os-vp__perex {
	margin: 1.25rem 0 0;
	max-width: 34rem;
	color: rgba(255, 255, 255, 0.76);
	font-size: clamp(0.95rem, 1.3vw, 1.05rem);
}

.onesafety-homepage .os-vp__actions,
.onesafety-homepage .os-vp-hero-block__actions {
	margin: clamp(1.5rem, 3.5vw, 2.25rem) 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.onesafety-homepage .os-vp__btn {
	min-height: 58px;
	padding-block: 0.95rem;
	padding-inline: clamp(1.1rem, 2vw, 1.6rem);
	font-size: clamp(0.92rem, 1.2vw, 1rem);
}

.onesafety-homepage .os-vp__btn--ghost {
	background: transparent;
	color: var(--os-white);
	border: 2px solid rgba(255, 255, 255, 0.55);
}

.onesafety-homepage .os-vp__btn--ghost:hover,
.onesafety-homepage .os-vp__btn--ghost:focus-visible {
	border-color: var(--os-white);
	background: rgba(255, 255, 255, 0.08);
}

.onesafety-homepage .os-vp__arrow {
	margin-left: 0.5rem;
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-vp__btn:hover .os-vp__arrow,
.onesafety-homepage .os-video__link:hover .os-vp__arrow {
	transform: translateX(4px);
}

.onesafety-homepage .os-vp__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--os-radius-md);
}

/* Tři úrovně učení */

.onesafety-homepage .os-vp__levels,
.onesafety-homepage .os-vp__topics,
.onesafety-homepage .os-vp__method,
.onesafety-homepage .os-vp__onehero,
.onesafety-homepage .os-vp__closing {
	padding-block: clamp(2rem, 5vw, 3.25rem) 0;
}

.onesafety-homepage .os-vp__subheading {
	margin: 0;
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-vp__subnote {
	margin: 0.35rem 0 0;
	max-width: 46rem;
	color: var(--os-muted);
	font-size: clamp(0.88rem, 1.2vw, 0.98rem);
}

.onesafety-homepage .os-vp__levels-list {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.25rem);
}

.onesafety-homepage .os-level {
	padding: clamp(1.1rem, 2.4vw, 1.6rem);
	background: #eef4fd;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-level--dark {
	background: var(--os-navy);
	color: var(--os-white);
}

.onesafety-homepage .os-level__kicker {
	margin: 0;
	color: var(--os-blue);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.onesafety-homepage .os-level--dark .os-level__kicker {
	color: var(--os-blue-light);
}

.onesafety-homepage .os-level__title {
	margin: 0.75rem 0 0;
	font-size: clamp(1.1rem, 1.8vw, 1.35rem);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.onesafety-homepage .os-level__text {
	margin: 0.5rem 0 0;
	color: var(--os-muted);
	font-size: 0.88rem;
	line-height: 1.6;
}

.onesafety-homepage .os-level--dark .os-level__text {
	color: rgba(255, 255, 255, 0.7);
}

/* Filtry a karty videí */

.onesafety-homepage .os-vp__filters {
	margin-top: clamp(1rem, 2.5vw, 1.5rem);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.onesafety-homepage .os-vp__filter {
	min-height: 40px;
	padding: 0.45rem 1rem;
	border: 1px solid var(--os-line);
	border-radius: 999px;
	background: var(--os-white);
	color: var(--os-muted);
	font: inherit;
	font-size: 0.78rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.onesafety-homepage .os-vp__filter:hover {
	border-color: var(--os-blue);
	color: var(--os-blue);
}

.onesafety-homepage .os-vp__filter.is-active {
	background: var(--os-blue);
	border-color: var(--os-blue);
	color: var(--os-white);
}

.onesafety-homepage .os-vp__videos {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.5rem);
}

.onesafety-homepage .os-video {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(0.85rem, 2vw, 1.25rem);
	padding: clamp(1rem, 2.2vw, 1.5rem);
	background: #eef4fd;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-video[hidden] {
	display: none;
}

.onesafety-homepage .os-video__thumb {
	position: relative;
	width: clamp(88px, 10vw, 116px);
	aspect-ratio: 1 / 1;
	background: var(--os-navy);
	border-radius: var(--os-radius-sm);
}

/* Ikona přehrání kreslená v CSS, žádný obrázek. */

.onesafety-homepage .os-video__play {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border-radius: 50%;
	background: var(--os-blue);
	box-shadow: 0 0 0 3px var(--os-white);
}

.onesafety-homepage .os-video__play::after {
	content: "";
	position: absolute;
	left: 13px;
	top: 10px;
	border-style: solid;
	border-width: 7px 0 7px 11px;
	border-color: transparent transparent transparent var(--os-white);
}

.onesafety-homepage .os-video__kicker {
	margin: 0;
	color: var(--os-blue);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.onesafety-homepage .os-video__title {
	margin: 0.5rem 0 0;
	font-size: clamp(0.98rem, 1.5vw, 1.15rem);
	font-weight: 800;
	letter-spacing: -0.005em;
}

.onesafety-homepage .os-video__text {
	margin: 0.4rem 0 0;
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.6;
}

.onesafety-homepage .os-video__steps {
	margin: 1rem 0 0;
	color: var(--os-blue);
	font-size: 0.78rem;
	font-weight: 700;
}

.onesafety-homepage .os-video__dot {
	margin: 0 0.35rem;
	opacity: 0.6;
}

.onesafety-homepage .os-video__link-row {
	margin: 0.5rem 0 0;
}

.onesafety-homepage .os-video__link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: var(--os-blue);
	font-weight: 700;
	font-size: 0.82rem;
	text-decoration: none;
}

.onesafety-homepage .os-video__link:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-vp__empty {
	margin: 1.25rem 0 0;
	color: var(--os-muted);
	font-size: 0.92rem;
}

/* Jak video pracuje */

.onesafety-homepage .os-method {
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-lg);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

.onesafety-homepage .os-method__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	font-weight: 800;
	line-height: 1.16;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-method__heading .os-line {
	display: block;
}

.onesafety-homepage .os-method__note {
	margin: 1rem 0 0;
	color: var(--os-muted);
	font-size: 0.92rem;
	line-height: 1.7;
}

.onesafety-homepage .os-method__checks {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem 1.5rem;
}

.onesafety-homepage .os-method__check {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.85rem;
	font-weight: 700;
}

.onesafety-homepage .os-method__mark {
	position: relative;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--os-blue);
}

.onesafety-homepage .os-method__mark::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 6px;
	width: 5px;
	height: 9px;
	border-right: 2px solid var(--os-white);
	border-bottom: 2px solid var(--os-white);
	transform: rotate(42deg);
}

.onesafety-homepage .os-method__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--os-radius-md);
}

/* Tmavý blok OneHero */

.onesafety-homepage .os-vp-hero-block {
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--os-navy);
	color: var(--os-white);
	border-radius: var(--os-radius-lg);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

.onesafety-homepage .os-vp-hero-block__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.35rem, 2.4vw, 1.9rem);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-vp-hero-block__heading .os-line {
	display: block;
}

.onesafety-homepage .os-vp-hero-block .os-accent {
	color: var(--os-blue-light);
}

.onesafety-homepage .os-vp-hero-block__note {
	margin: 1rem 0 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.92rem;
	line-height: 1.7;
}

.onesafety-homepage .os-vp-hero-block__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--os-radius-md);
}

/* Uzavírací pruh */

.onesafety-homepage .os-vp__closing {
	padding-bottom: clamp(2rem, 5vw, 3rem);
}

.onesafety-homepage .os-vp__closing-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1rem, 3vw, 2rem);
	align-items: center;
}

.onesafety-homepage .os-vp__closing-actions {
	margin: 0;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-vp__hero-inner,
	.onesafety-homepage .os-method,
	.onesafety-homepage .os-vp-hero-block,
	.onesafety-homepage .os-vp__closing-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-vp__levels-list,
	.onesafety-homepage .os-vp__videos {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-vp__btn {
		width: 100%;
	}

	.onesafety-homepage .os-vp__actions,
	.onesafety-homepage .os-vp-hero-block__actions {
		flex-direction: column;
	}
}

@media (max-width: 560px) {
	.onesafety-homepage .os-method__checks {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =========================================================================
 * Dopadová stránka Podpořte OneSafety
 * ========================================================================= */

.onesafety-homepage .os-sp__hero {
	padding-block: clamp(1.5rem, 4vw, 2.5rem) 0;
}

.onesafety-homepage .os-sp__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.onesafety-homepage .os-sp__heading {
	margin: 0.5rem 0 0;
	font-size: clamp(1.9rem, 3.6vw, 2.9rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-sp__heading .os-line {
	display: block;
}

.onesafety-homepage .os-sp__perex {
	margin: 1.25rem 0 0;
	max-width: 34rem;
	color: var(--os-muted);
	font-size: clamp(0.95rem, 1.3vw, 1.05rem);
}

.onesafety-homepage .os-sp__actions {
	margin: clamp(1.5rem, 3.5vw, 2.25rem) 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.onesafety-homepage .os-sp__btn {
	min-height: 58px;
	padding-block: 0.95rem;
	padding-inline: clamp(1.1rem, 2vw, 1.6rem);
	font-size: clamp(0.92rem, 1.2vw, 1rem);
}

.onesafety-homepage .os-sp__btn--ghost {
	background: var(--os-white);
	color: var(--os-blue);
	border: 2px solid var(--os-blue);
}

.onesafety-homepage .os-sp__btn--ghost:hover,
.onesafety-homepage .os-sp__btn--ghost:focus-visible {
	background: #f3f8ff;
}

.onesafety-homepage .os-sp__arrow {
	margin-left: 0.5rem;
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-sp__btn:hover .os-sp__arrow,
.onesafety-homepage .os-way__link:hover .os-sp__arrow {
	transform: translateX(4px);
}

.onesafety-homepage .os-sp__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-sp__ways,
.onesafety-homepage .os-sp__direct,
.onesafety-homepage .os-sp__certificate,
.onesafety-homepage .os-sp__impact {
	padding-block: clamp(2rem, 5vw, 3.25rem) 0;
}

.onesafety-homepage .os-sp__subheading {
	margin: 0;
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-sp__subnote {
	margin: 0.35rem 0 0;
	color: var(--os-muted);
	font-size: clamp(0.88rem, 1.2vw, 0.98rem);
}

.onesafety-homepage .os-sp__ways-list {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.5rem);
}

.onesafety-homepage .os-way {
	display: flex;
	flex-direction: column;
	padding: clamp(1.1rem, 2.4vw, 1.75rem);
	background: #eef4fd;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-way__icon {
	display: inline-flex;
	color: var(--os-blue);
	margin-bottom: 0.85rem;
}

.onesafety-homepage .os-way__kicker {
	margin: 0;
	color: var(--os-blue);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.onesafety-homepage .os-way__title {
	margin: 0.5rem 0 0;
	font-size: clamp(1.05rem, 1.7vw, 1.25rem);
	font-weight: 800;
	letter-spacing: -0.005em;
}

.onesafety-homepage .os-way__text {
	margin: 0.5rem 0 0;
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.6;
}

.onesafety-homepage .os-way__action {
	margin: auto 0 0;
	padding-top: 1.25rem;
}

.onesafety-homepage .os-way__link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-weight: 700;
	font-size: 0.82rem;
	color: var(--os-blue);
	cursor: pointer;
}

.onesafety-homepage .os-way__link:hover {
	text-decoration: underline;
}

/* Přímá podpora */

.onesafety-homepage .os-direct {
	padding: clamp(1.25rem, 3vw, 2.25rem);
	background: var(--os-navy);
	color: var(--os-white);
	border-radius: var(--os-radius-lg);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: start;
}

.onesafety-homepage .os-direct__eyebrow {
	color: var(--os-blue-light);
}

.onesafety-homepage .os-direct__title {
	margin: 0.5rem 0 0;
	font-size: clamp(1.35rem, 2.4vw, 1.9rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-direct__note {
	margin: 0.5rem 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.88rem;
}

.onesafety-homepage .os-direct__row {
	margin-top: clamp(1rem, 2.5vw, 1.5rem);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.onesafety-homepage .os-direct__chip {
	min-height: 48px;
	padding: 0.6rem 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--os-white);
	font: inherit;
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.onesafety-homepage .os-direct__chip:hover {
	border-color: var(--os-blue-light);
}

.onesafety-homepage .os-direct__chip.is-active {
	background: var(--os-blue);
	border-color: var(--os-blue);
}

.onesafety-homepage .os-direct__chip--amount {
	border-radius: var(--os-radius-sm);
}

.onesafety-homepage .os-direct__chip--amount.is-active {
	background: rgba(255, 255, 255, 0.06);
	border-color: var(--os-blue-light);
}

.onesafety-homepage .os-direct__purpose {
	margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
	padding: 0.9rem 1.1rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--os-radius-sm);
	font-size: 0.85rem;
}

.onesafety-homepage .os-direct__purpose-label {
	color: rgba(255, 255, 255, 0.6);
}

.onesafety-homepage .os-direct__purpose-value {
	margin-left: 0.5rem;
	font-weight: 700;
}

.onesafety-homepage .os-direct__cta {
	margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
}

.onesafety-homepage .os-direct__payment {
	margin-top: clamp(1rem, 2.5vw, 1.5rem);
	padding-top: clamp(0.85rem, 2vw, 1.25rem);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	display: grid;
	gap: 0.35rem;
}

.onesafety-homepage .os-direct__payment-line {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.85rem;
}

.onesafety-homepage .os-direct__payment-label {
	min-width: 11rem;
	color: rgba(255, 255, 255, 0.6);
}

.onesafety-homepage .os-direct__payment-value {
	font-weight: 700;
}

.onesafety-homepage .os-direct__qr {
	text-align: center;
}

.onesafety-homepage .os-direct__qr-image {
	display: block;
	width: clamp(150px, 18vw, 210px);
	height: auto;
	padding: 0.75rem;
	background: var(--os-white);
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-direct__qr-note {
	margin: 0.6rem 0 0;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.72rem;
}

/* Certifikát */

.onesafety-homepage .os-certificate {
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-lg);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(1rem, 2.5vw, 2rem);
	align-items: center;
}

.onesafety-homepage .os-certificate__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #e8f2ff;
	color: var(--os-blue);
}

.onesafety-homepage .os-certificate__icon svg {
	width: 34px;
	height: 34px;
}

.onesafety-homepage .os-certificate__title {
	margin: 0.35rem 0 0;
	font-size: clamp(1.2rem, 2.2vw, 1.6rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-certificate__text {
	margin: 0.5rem 0 0;
	color: var(--os-muted);
	font-size: 0.88rem;
	line-height: 1.6;
}

.onesafety-homepage .os-certificate__checks {
	margin: 1rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.5rem;
	color: var(--os-blue);
	font-size: 0.78rem;
	font-weight: 700;
}

.onesafety-homepage .os-certificate__check {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.onesafety-homepage .os-certificate__action {
	margin: 0;
}

/* Dopad podpory */

.onesafety-homepage .os-sp__impact {
	padding-bottom: clamp(2rem, 5vw, 3rem);
}

.onesafety-homepage .os-sp__impact-list {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
}

.onesafety-homepage .os-impact__number {
	display: block;
	color: var(--os-blue);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
}

.onesafety-homepage .os-impact__title {
	display: block;
	margin-top: 0.4rem;
	font-size: 0.98rem;
	font-weight: 800;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-sp__hero-inner,
	.onesafety-homepage .os-sp__ways-list,
	.onesafety-homepage .os-direct,
	.onesafety-homepage .os-sp__impact-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-certificate {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-sp__btn {
		width: 100%;
	}

	.onesafety-homepage .os-sp__actions {
		flex-direction: column;
	}

	.onesafety-homepage .os-direct__qr {
		justify-self: center;
	}
}

/* =========================================================================
 * Malá patička dopadových stránek
 * ========================================================================= */

.onesafety-homepage .os-mini-footer {
	padding-block: clamp(1.25rem, 3vw, 2rem) clamp(1.5rem, 4vw, 2.5rem);
}

.onesafety-homepage .os-mini-footer__inner {
	padding-top: clamp(1rem, 2.5vw, 1.5rem);
	border-top: 1px solid var(--os-line);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
}

.onesafety-homepage .os-mini-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 1.5rem;
}

.onesafety-homepage .os-mini-footer__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--os-muted);
	font-size: 0.8rem;
	text-decoration: none;
	background: none;
	border: 0;
	padding: 0;
	font-family: inherit;
	cursor: pointer;
}

.onesafety-homepage a.os-mini-footer__link:hover,
.onesafety-homepage button.os-mini-footer__link:hover {
	color: var(--os-ink);
	text-decoration: underline;
}

.onesafety-homepage .os-mini-footer__link--plain {
	cursor: default;
	color: #9aa4b0;
}

.onesafety-homepage .os-mini-footer__copy {
	margin: 0;
	color: var(--os-muted);
	font-size: 0.78rem;
}

/* Čtvrtá karta pomoci se vejde do mřížky dvou sloupců. */

@media (min-width: 1024px) {
	.onesafety-homepage .os-contacts__help-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Text v malé kartě musí zůstat čitelný, proto pevný poměr sloupců. */

@media (min-width: 768px) {
	.onesafety-homepage .os-program--small {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: clamp(0.85rem, 1.6vw, 1.25rem);
		align-items: start;
	}
}

@media (max-width: 767px) {
	.onesafety-homepage .os-program__logo {
		min-width: min(100%, 260px);
		min-height: 130px;
	}

	.onesafety-homepage .os-program__logo-image {
		max-height: 84px;
	}

	.onesafety-homepage .os-program--small .os-program__logo {
		width: 140px;
		min-height: 92px;
	}
}

/* Text v malé kartě musí zůstat čitelný, proto pevný poměr sloupců. */

@media (min-width: 768px) {
	.onesafety-homepage .os-program--small {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: clamp(0.85rem, 1.6vw, 1.25rem);
		align-items: start;
	}
}



/* =========================================================================
 * Jednotná velikost log
 *
 * Každý dodaný soubor má kolem kresby jinak velký průhledný okraj
 * a kresba má jiný tvar. Kdyby se loga omezovala rozměrem obrázku,
 * vycházela by pokaždé jinak. Proto má každé logo pevnou šířku
 * obrázku v pixelech, dopočítanou z jeho skutečných hranic kresby
 * tak, aby optická velikost kresby vyšla u všech stejná.
 *
 * Optická velikost je odmocnina ze šířky krát výška kresby.
 * Cíl je 90 px u všech log, na mobilu i na desktopu shodně.
 * Dlaždice ořezává jen průhledný okraj, nikdy kresbu.
 *
 * Skutečné hranice kresby v dodaných souborech:
 *   MŠMT      403 x 186 v plátně 570 x 350
 *   MV ČR     157 x  89 v plátně 215 x 127
 *   Policie   225 x 225 v plátně 286 x 225
 *   FaceUp    230 x  62 v plátně 570 x 350
 *   Záchranka 1306 x 304 v plátně 1500 x 498
 * ========================================================================= */

/* HP-12 Ověřené nástroje */

.onesafety-homepage .os-tool__logo {
	width: 216px;
	height: 116px;
	padding: 0.4rem;
}

.onesafety-homepage .os-tool__logo-image {
	width: auto;
	max-width: none;
	height: auto;
	max-height: none;
	transform: none;
}

.onesafety-homepage .os-tool--faceup .os-tool__logo-image {
	width: 428px;
}

.onesafety-homepage .os-tool--zachranka .os-tool__logo-image {
	width: 215px;
}

/* HP-13 Národní programy */

.onesafety-homepage .os-program__logo {
	width: 216px;
	min-width: 0;
	height: 116px;
	min-height: 0;
	padding: 0.4rem;
	overflow: hidden;
}

.onesafety-homepage .os-program--small .os-program__logo {
	width: 216px;
	min-width: 0;
	height: 116px;
	min-height: 0;
	padding: 0.4rem;
}

.onesafety-homepage .os-program__logo-image {
	width: auto;
	max-width: none;
	height: auto;
	max-height: none;
}

/* Text v malé kartě musí zůstat čitelný, proto pevný poměr sloupců. */

@media (min-width: 768px) {
	.onesafety-homepage .os-program--small {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: clamp(0.85rem, 1.6vw, 1.25rem);
		align-items: start;
	}
}

/* Na mobilu jde dlaždice přes celou šířku, logo v ní zůstává stejné. */

@media (max-width: 767px) {
	/*
	 * Dlaždice jde přes celou šířku, ale výška zůstává, jinak by
	 * vyšší loga narazila na strop a zmenšila se proti ostatním.
	 */
	.onesafety-homepage .os-program__logo,
	.onesafety-homepage .os-program--small .os-program__logo {
		width: 100%;
		height: 116px;
		margin-bottom: 1rem;
	}

	.onesafety-homepage .os-tool__logo {
		width: 100%;
		max-width: 216px;
		height: 116px;
	}
}

/*
 * OneHero jako AI asistent.
 *
 * Označení musí být vidět hned, ne až v drobném textu pod chatem.
 * Štítek je proto nahoře v okně chatu, hned nad nadpisem, a drží
 * přátelský tón sekce: měkký modrý štítek s tečkou, ne varovný pruh.
 */

.onesafety-homepage .os-ask__claim {
	margin: 0.5rem 0 0;
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	font-weight: 700;
	color: var(--os-blue-ink);
}

.onesafety-homepage .os-ask__panel-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.85rem;
	padding: 0.4rem 0.8rem;
	background: #e8f1fd;
	border-radius: 999px;
	color: var(--os-blue-ink);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.onesafety-homepage .os-ask__panel-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--os-blue);
}

/* Uvítací zpráva je delší, potřebuje volnější řádkování. */

.onesafety-homepage .os-ask__msg-text {
	line-height: 1.65;
}

/* =========================================================================
 * Sprint 1 podle auditu z 25. 8. 2026
 * ========================================================================= */

/*
 * Odkaz pro přeskočení navigace. Vidí ho jen ten, kdo se na web
 * dostane klávesnicí, a je první v pořadí.
 */

.os-skip {
	position: absolute;
	left: 1rem;
	top: -100px;
	z-index: 200;
	padding: 0.85rem 1.25rem;
	background: var(--os-blue);
	color: var(--os-white);
	border-radius: var(--os-radius-sm);
	font-weight: 700;
	text-decoration: none;
	transition: top 0.2s ease;
}

.os-skip:focus {
	top: 1rem;
}

/*
 * Dekorativní symboly O na mobilu.
 *
 * Dvě velká O v sekcích Co je OneSafety a Proč OneSafety vzniklo
 * vytvářela na telefonu samostatné bloky přes 280 px, které jen
 * odsouvaly obsah. Na úzké obrazovce nemají žádnou funkci.
 * Rohové podtisky zůstávají, ale menší a oříznuté uvnitř sekce.
 */

@media (max-width: 767px) {
	.onesafety-homepage .os-mission__symbol,
	.onesafety-homepage .os-story__symbol {
		display: none;
	}

	.onesafety-homepage .os-partners,
	.onesafety-homepage .os-offer__panel {
		overflow: hidden;
	}

	.onesafety-homepage .os-partners__symbol {
		width: clamp(80px, 24vw, 112px);
		right: -28px;
		bottom: -24px;
		opacity: 0.1;
	}

	.onesafety-homepage .os-offer__symbol {
		width: clamp(120px, 38vw, 160px);
		right: -56px;
		bottom: -48px;
		opacity: 0.1;
	}
}

/*
 * Dotykové cíle. Audit našel výšky 39 až 43 px na místech, kde má
 * být minimum 44.
 */

.onesafety-homepage .os-vp__filter,
.onesafety-homepage .os-footer__link,
.onesafety-homepage .os-footer__legal-link,
.onesafety-homepage .os-footer__consent,
.onesafety-homepage .os-mini-footer__link,
.onesafety-homepage .os-contacts__legal-link,
.onesafety-homepage .os-help__link,
.onesafety-homepage .os-video__link,
.onesafety-homepage .os-person__story-link,
.onesafety-homepage .os-operator__card-link,
.onesafety-homepage .os-way__link,
.onesafety-homepage .os-ask__emergency-link,
.onesafety-homepage .os-back,
.onesafety-homepage .os-crumbs__link {
	min-height: 44px;
}

.onesafety-homepage .os-totop {
	min-width: 48px;
	min-height: 48px;
}

/* =========================================================================
 * Poptávkový formulář
 * ========================================================================= */

.onesafety-homepage .os-lead {
	padding-block: clamp(2rem, 5vw, 3.25rem) 0;
	scroll-margin-top: 1.5rem;
}

.onesafety-homepage .os-lead__panel {
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
	background: #eef4fd;
	border-radius: var(--os-radius-lg);
}

.onesafety-homepage .os-lead__title {
	margin: 0.5rem 0 0;
	font-size: clamp(1.4rem, 2.6vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-lead__note {
	margin: 0.4rem 0 0;
	max-width: 46rem;
	color: var(--os-muted);
	font-size: clamp(0.92rem, 1.2vw, 1rem);
}

.onesafety-homepage .os-lead__form {
	margin-top: clamp(1.25rem, 3vw, 1.75rem);
}

.onesafety-homepage .os-lead__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.25rem);
}

.onesafety-homepage .os-lead__field {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.onesafety-homepage .os-lead__field--wide {
	grid-column: 1 / -1;
}

.onesafety-homepage .os-lead__label {
	font-size: 0.85rem;
	font-weight: 700;
}

.onesafety-homepage .os-lead__required {
	color: var(--os-blue);
}

.onesafety-homepage .os-lead__input {
	width: 100%;
	min-height: 52px;
	padding: 0.75rem 1rem;
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-sm);
	font: inherit;
	font-size: 1rem;
	color: var(--os-ink);
}

.onesafety-homepage .os-lead__input:focus {
	border-color: var(--os-blue);
	outline: none;
	box-shadow: 0 0 0 3px rgba(1, 81, 240, 0.18);
}

.onesafety-homepage .os-lead__input--area {
	min-height: 120px;
	resize: vertical;
}

.onesafety-homepage .os-lead__input[aria-invalid="true"] {
	border-color: #b3261e;
}

.onesafety-homepage .os-lead__error {
	color: #b3261e;
	font-size: 0.82rem;
	font-weight: 600;
}

.onesafety-homepage .os-lead__error--form {
	margin: 1rem 0 0;
}

/* Past na roboty. Nesmí být display none, jinak ji roboti poznají. */

.onesafety-homepage .os-lead__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.onesafety-homepage .os-lead__consent {
	margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
}

.onesafety-homepage .os-lead__consent-label {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-size: 0.85rem;
	line-height: 1.6;
	cursor: pointer;
}

.onesafety-homepage .os-lead__consent-label input {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	margin-top: 0.1rem;
	accent-color: var(--os-blue);
}

/* Odkaz uvnitř souhlasu musí mít dostatečnou dotykovou plochu. */

.onesafety-homepage .os-lead__privacy {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--os-blue);
	font-weight: 700;
}

.onesafety-homepage .os-lead__actions {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
}

.onesafety-homepage .os-lead__btn {
	min-height: 62px;
	padding-block: 1rem;
	padding-inline: clamp(1.25rem, 2.4vw, 2rem);
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
}

.onesafety-homepage .os-lead__done {
	margin-top: clamp(1.25rem, 3vw, 1.75rem);
	padding: clamp(1.1rem, 2.5vw, 1.5rem);
	background: var(--os-white);
	border: 1px solid #cfe0f5;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-lead__done-title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 800;
}

.onesafety-homepage .os-lead__done-text {
	margin: 0.35rem 0 0;
	color: var(--os-muted);
	font-size: 0.92rem;
}

@media (max-width: 767px) {
	.onesafety-homepage .os-lead__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-lead__btn {
		width: 100%;
	}
}

/*
 * Fotografie v sekci Od informace k připravenosti.
 *
 * Byla dvakrát vyšší než všechny ostatní fotky na stránce: 1178 x 794
 * proti obvyklým 520 až 604 px. Schválená reference HP-05 má na tomto
 * místě široký pás, ne vysoký blok. Poměr je proto stejný jako
 * v referenci a fotka se ořízne, ne zdeformuje.
 */

.onesafety-homepage .os-system__media .os-system__image,
.onesafety-homepage .os-system__image {
	aspect-ratio: 68 / 25;
}

@media (max-width: 767px) {
	.onesafety-homepage .os-system__media .os-system__image,
	.onesafety-homepage .os-system__image {
		aspect-ratio: 3 / 2;
	}
}

/*
 * Dekorativní symboly O na užších obrazovkách.
 *
 * Pravidlo dřív platilo jen do 767 px. Mezi 768 a 1023 px zůstávala
 * O obrovská: v sekci Proč OneSafety vzniklo mělo O 753 x 420 px na
 * obrazovce široké 753 px, v konverzním bloku 539 x 539 px. Hranice
 * je proto posunutá na 1023 px, tedy až po desktopové rozvržení.
 */

@media (max-width: 1023px) {
	.onesafety-homepage .os-mission__symbol,
	.onesafety-homepage .os-story__symbol {
		display: none;
	}

	.onesafety-homepage .os-partners,
	.onesafety-homepage .os-offer__panel,
	.onesafety-homepage .os-segments,
	.onesafety-homepage .os-steps {
		overflow: hidden;
	}

	.onesafety-homepage .os-partners__symbol {
		width: clamp(80px, 14vw, 120px);
		right: -28px;
		bottom: -24px;
		opacity: 0.1;
	}

	.onesafety-homepage .os-offer__symbol {
		width: clamp(120px, 22vw, 180px);
		right: -56px;
		bottom: -48px;
		opacity: 0.1;
	}

	.onesafety-homepage .os-steps__symbol {
		width: clamp(48px, 8vw, 72px);
	}
}

/*
 * Poptávka: instrukce ke kontaktu a souhrn chyby.
 */

.onesafety-homepage .os-lead__hint {
	margin: 0.5rem 0 0;
	color: var(--os-blue-ink);
	font-size: 0.88rem;
	font-weight: 700;
}

.onesafety-homepage .os-lead__alert {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	background: #fdeceb;
	border: 1px solid #f0b7b3;
	border-radius: var(--os-radius-sm);
	color: #8c1d18;
	font-size: 0.88rem;
	font-weight: 700;
}

.onesafety-homepage .os-lead__alert[hidden] {
	display: none;
}

.onesafety-homepage .os-lead__privacy-missing {
	color: var(--os-muted);
}

/*
 * Poslední dotykové cíle pod 44 px podle auditu: tísňové linky,
 * telefon a e-mail v kontaktech a textové výzvy.
 */

.onesafety-homepage .os-ask__emergency-link,
.onesafety-homepage .os-contact__phone a,
.onesafety-homepage .os-contact__mail a,
.onesafety-homepage .os-person__phone a,
.onesafety-homepage .os-person__mail a,
.onesafety-homepage .os-schools__link,
.onesafety-homepage .os-story__link,
.onesafety-homepage .os-program__link,
.onesafety-homepage .os-tool__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* =========================================================================
 * Právní stránky
 * ========================================================================= */

.onesafety-homepage .os-legal__body {
	padding-block: clamp(1.5rem, 4vw, 2.5rem) clamp(2.5rem, 6vw, 4rem);
}

/* Delší text potřebuje užší sloupec, jinak se špatně čte. */

.onesafety-homepage .os-legal__inner {
	max-width: 46rem;
}

.onesafety-homepage .os-legal__title {
	margin: 0.5rem 0 0;
	font-size: clamp(1.9rem, 3.4vw, 2.8rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-legal__perex {
	margin: 1rem 0 0;
	color: var(--os-muted);
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.65;
}

.onesafety-homepage .os-legal__heading {
	margin: clamp(2rem, 4vw, 2.75rem) 0 0;
	font-size: clamp(1.2rem, 2.2vw, 1.55rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-legal__text {
	margin: 0.85rem 0 0;
	font-size: 1rem;
	line-height: 1.75;
	color: #2a333d;
}

.onesafety-homepage .os-legal__list {
	margin: 0.85rem 0 0;
	padding-left: 1.25rem;
	line-height: 1.75;
}

/* Viditelná poznámka, aby se na doplnění nezapomnělo. */

.onesafety-homepage .os-legal__todo {
	margin: 1rem 0 0;
	padding: 0.9rem 1.1rem;
	background: #fff8e6;
	border: 1px solid #f0d488;
	border-radius: var(--os-radius-sm);
	font-size: 0.92rem;
	line-height: 1.65;
	color: #6b4e00;
}

.onesafety-homepage .os-legal__todo-label {
	display: inline-block;
	margin-right: 0.5rem;
	padding: 0.15rem 0.5rem;
	background: #f0d488;
	border-radius: 4px;
	color: #4a3600;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.onesafety-homepage .os-legal__table-wrap {
	margin: 1rem 0 0;
	overflow-x: auto;
}

.onesafety-homepage .os-legal__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.onesafety-homepage .os-legal__table th,
.onesafety-homepage .os-legal__table td {
	padding: 0.7rem 0.85rem;
	border-bottom: 1px solid var(--os-line);
	text-align: left;
	vertical-align: top;
}

.onesafety-homepage .os-legal__table th {
	background: #f2f7fd;
	font-weight: 800;
	white-space: nowrap;
}

.onesafety-homepage .os-legal__back-line {
	margin: clamp(2rem, 4vw, 3rem) 0 0;
}

/* Výběr v poptávce a nepovinný souhlas s oslovením. */

.onesafety-homepage .os-lead__input--select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--os-blue) 50%), linear-gradient(135deg, var(--os-blue) 50%, transparent 50%);
	background-position: calc(100% - 20px) 22px, calc(100% - 14px) 22px;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-right: 2.5rem;
	cursor: pointer;
}

.onesafety-homepage .os-lead__optional {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.1rem 0.45rem;
	background: #e8f1fd;
	border-radius: 4px;
	color: var(--os-blue-ink);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/*
 * Souhlasy v poptávce.
 *
 * Povinné zaškrtnutí a nepovinné odebírání novinek jsou v jednom
 * rámečku, aby to působilo jako jedno místo. Podrobnosti se rozbalí
 * až na vyžádání, takže formulář nezahltí právním textem.
 */

.onesafety-homepage .os-lead__gdpr {
	margin-top: clamp(1rem, 2.5vw, 1.5rem);
	padding: clamp(1rem, 2.2vw, 1.35rem);
	background: var(--os-white);
	border: 1px solid #cfe0f5;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-lead__gdpr .os-lead__consent {
	margin: 0;
}

.onesafety-homepage .os-lead__consent--second {
	margin-top: 0.65rem;
	padding-top: 0.65rem;
	border-top: 1px solid var(--os-line);
}

.onesafety-homepage .os-lead__consent-main {
	font-weight: 700;
}

.onesafety-homepage .os-lead__details {
	margin-top: 0.85rem;
}

.onesafety-homepage .os-lead__summary {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--os-blue);
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
}

.onesafety-homepage .os-lead__details-body {
	padding-top: 0.35rem;
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.65;
}

.onesafety-homepage .os-lead__details-body p {
	margin: 0 0 0.6rem;
}

/* =========================================================================
 * Vizuální opravy podle připomínek z 27. 8.
 * ========================================================================= */

/*
 * Tlačítko menu.
 *
 * Tři proužky na bílém pozadí splývaly a nebylo poznat, že jde
 * o tlačítko. Dostalo proto vlastní plochu s jemným rámečkem.
 */

.onesafety-homepage .os-nav__toggle {
	width: 46px;
	height: 46px;
	background: #f2f7fd;
	border: 1px solid #cfe0f5;
	border-radius: 12px;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.onesafety-homepage .os-nav__toggle:hover,
.onesafety-homepage .os-nav__toggle:focus-visible {
	background: #e4eefb;
	border-color: var(--os-blue);
}

.onesafety-homepage .os-nav__toggle-bars,
.onesafety-homepage .os-nav__toggle-bars::before,
.onesafety-homepage .os-nav__toggle-bars::after {
	width: 22px;
	height: 2.5px;
	background: var(--os-blue-ink);
}

.onesafety-homepage .os-nav__toggle-bars::before {
	top: -7px;
}

.onesafety-homepage .os-nav__toggle-bars::after {
	top: 7px;
}

.onesafety-homepage .os-nav__toggle[aria-expanded="true"] .os-nav__toggle-bars {
	background: transparent;
}

/*
 * Symbol O v sekci Nestačí vědět.
 *
 * Byl 48 px v rohu a působil jako zapomenutá ikona. Teď je to velký
 * světlý podklad za obsahem. Roste s šířkou sekce, takže drží poměr
 * na telefonu i na širokém monitoru, a přesah se ořízne uvnitř sekce.
 */

.onesafety-homepage .os-steps {
	position: relative;
	overflow: hidden;
}

.onesafety-homepage .os-steps > * {
	position: relative;
	z-index: 1;
}

.onesafety-homepage .os-steps__symbol {
	position: absolute;
	z-index: 0;
	right: -12%;
	bottom: -18%;
	top: auto;
	width: clamp(240px, 46vw, 620px);
	height: auto;
	opacity: 0.07;
	pointer-events: none;
}

.onesafety-homepage .os-steps__symbol img,
.onesafety-homepage .os-steps__symbol .os-symbol {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.onesafety-homepage .os-steps__symbol {
		right: -22%;
		bottom: -10%;
		width: clamp(220px, 72vw, 340px);
		opacity: 0.06;
	}
}

/*
 * Loga v sekci Odborné zázemí.
 *
 * Karta má víc místa a kresba v ní vyplní většinu šířky.
 */

@media (min-width: 768px) {
	.onesafety-homepage .os-partners__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(0.75rem, 1.5vw, 1.15rem);
	}
}

.onesafety-homepage .os-partner {
	aspect-ratio: 3 / 2;
	padding: clamp(0.5rem, 1vw, 0.85rem);
}







/*
 * Patička přes celou šířku okna.
 *
 * Panel se dřív držel v obsahovém sloupci a po stranách zůstávaly
 * bílé pruhy. Teď jde na doraz, jen text uvnitř zůstává v čitelné
 * šířce, aby se řádky netáhly přes celý monitor.
 */

.onesafety-homepage .os-footer {
	padding-bottom: 0;
}

.onesafety-homepage .os-footer .os-shell {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.onesafety-homepage .os-footer__panel {
	border-radius: 0;
	padding-left: 0;
	padding-right: 0;
}

/* Vnitřní obsah patičky drží stejnou šířku jako zbytek stránky. */

.onesafety-homepage .os-footer__brand,
.onesafety-homepage .os-footer__columns,
.onesafety-homepage .os-footer__legal,
.onesafety-homepage .os-footer__operator {
	max-width: var(--os-shell);
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, 4vw, 2.5rem);
	padding-right: clamp(1rem, 4vw, 2.5rem);
}

/* Poznámka o nevyžádané poště pod poděkováním. */

.onesafety-homepage .os-lead__done-spam {
	margin: 0.85rem 0 0;
	padding-top: 0.85rem;
	border-top: 1px solid var(--os-line);
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.6;
}

/* =========================================================================
 * Sociální sítě
 * ========================================================================= */

.onesafety-homepage .os-social {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
	padding-top: clamp(1rem, 2.5vw, 1.5rem);
	border-top: 1px solid var(--os-line);
}

.onesafety-homepage .os-social__label {
	margin: 0 0 0.75rem;
	color: var(--os-muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.onesafety-homepage .os-social__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.onesafety-homepage .os-social__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.5rem 0.95rem;
	background: var(--os-white);
	border: 1px solid var(--os-line);
	border-radius: 999px;
	color: var(--os-blue-ink);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.onesafety-homepage .os-social__link:hover,
.onesafety-homepage .os-social__link:focus-visible {
	border-color: var(--os-blue);
	background: #f3f8ff;
}

.onesafety-homepage .os-social__icon {
	display: inline-flex;
	color: var(--os-blue);
}

/* Ikony v patičce, na tmavém pozadí a bez popisků. */

.onesafety-homepage .os-footer__social {
	margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.onesafety-homepage .os-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.75);
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.onesafety-homepage .os-footer__social-link:hover,
.onesafety-homepage .os-footer__social-link:focus-visible {
	border-color: var(--os-blue-light);
	color: var(--os-white);
	background: rgba(255, 255, 255, 0.08);
}

/* =========================================================================
 * HP-13 Národní programy, přestavěno podle schválené předlohy
 *
 * Karty jsou v mřížce tří sloupců, poslední řádek dvou širších.
 * Loga mají u všech karet stejnou velikost, protože jsou v dlaždici
 * s pevným rozměrem a obrázek se do ní vepisuje.
 * ========================================================================= */

.onesafety-homepage .os-programs__heading .os-line {
	display: block;
}

.onesafety-homepage .os-programs__lead {
	margin: 1rem 0 0;
	max-width: 54rem;
	color: var(--os-blue-ink);
	font-size: clamp(0.95rem, 1.3vw, 1.05rem);
	line-height: 1.6;
}

/* Filtry zdrojů */

.onesafety-homepage .os-programs__filters {
	margin-top: clamp(1.25rem, 3vw, 1.75rem);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.onesafety-homepage .os-programs__filter {
	min-height: 44px;
	padding: 0.5rem 1.15rem;
	background: var(--os-white);
	border: 1.5px solid var(--os-blue);
	border-radius: 999px;
	color: var(--os-blue);
	font: inherit;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.onesafety-homepage .os-programs__filter:hover {
	background: #eaf2fd;
}

.onesafety-homepage .os-programs__filter.is-active {
	background: var(--os-blue);
	color: var(--os-white);
}

/* Mřížka karet */

/*
 * Dvanáct sloupců místo tří. Umožní to poslednímu řádku poměr
 * pět ku sedmi jako v předloze, místo hrubého jedna ku dvěma.
 */

.onesafety-homepage .os-programs__grid {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(0.85rem, 1.8vw, 1.25rem);
}

.onesafety-homepage .os-programs__grid > .os-program {
	grid-column: span 4;
}

.onesafety-homepage .os-program {
	display: flex;
	flex-direction: column;
	padding: clamp(1.1rem, 2.2vw, 1.6rem);
	background: #f7f9fc;
	border: 1px solid #e6ecf4;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-program[hidden] {
	display: none;
}

/*
 * Dlaždice s logem. Pevný rozměr u všech karet, obrázek se do ní
 * vepisuje, takže velké i malé značky vycházejí stejně.
 */

/*
 * Logo je součástí karty, ne samostatný bílý box. V předloze kolem
 * něj žádný rámeček není, jen volné místo.
 */

.onesafety-homepage .os-program__logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 62px;
	margin-bottom: clamp(0.85rem, 1.6vw, 1.1rem);
	padding: 0;
	background: none;
	border: 0;
}

.onesafety-homepage .os-program__logo-image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 62px;
	object-fit: contain;
}

.onesafety-homepage .os-program__logo-text {
	color: var(--os-blue-ink);
	font-size: 0.82rem;
	font-weight: 800;
	text-align: center;
}

.onesafety-homepage .os-program__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.onesafety-homepage .os-program__label {
	margin: 0;
	color: var(--os-blue);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.09em;
}

.onesafety-homepage .os-program__title {
	margin: 0.5rem 0 0;
	font-size: clamp(1.3rem, 2.2vw, 1.7rem);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.onesafety-homepage .os-program__text {
	margin: 0.6rem 0 0;
	color: var(--os-blue-ink);
	font-size: 0.92rem;
	line-height: 1.55;
}

.onesafety-homepage .os-program__chips {
	margin: 0.75rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.onesafety-homepage .os-program__chip {
	padding: 0.28rem 0.65rem;
	background: #e8f1fd;
	border-radius: 6px;
	color: var(--os-blue-ink);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.06em;
}

.onesafety-homepage .os-program__actions,
.onesafety-homepage .os-program__note {
	margin: auto 0 0;
	padding-top: 1.1rem;
}

.onesafety-homepage .os-program__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 44px;
	color: var(--os-blue);
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
}

.onesafety-homepage .os-program__link:hover {
	text-decoration: underline;
}

.onesafety-homepage .os-program__arrow {
	transition: transform 0.24s ease;
}

.onesafety-homepage .os-program__link:hover .os-program__arrow {
	transform: translate(3px, -3px);
}

.onesafety-homepage .os-program__note {
	color: var(--os-muted);
	font-size: 0.82rem;
	font-style: italic;
}

.onesafety-homepage .os-programs__empty {
	margin: 1.25rem 0 0;
	color: var(--os-muted);
}

/*
 * Poslední dva programy jsou v předloze širší, protože zbývají
 * dvě karty na řádek. Mají logo vedle textu, ne nad ním.
 */

@media (min-width: 1024px) {
	.onesafety-homepage .os-programs__grid > .os-program:nth-child(4),
	.onesafety-homepage .os-programs__grid > .os-program:nth-child(5) {
		flex-direction: row;
		align-items: center;
		gap: clamp(1rem, 2.5vw, 2rem);
	}

	.onesafety-homepage .os-programs__grid > .os-program:nth-child(4) {
		grid-column: span 5;
	}

	.onesafety-homepage .os-programs__grid > .os-program:nth-child(5) {
		grid-column: span 7;
	}

	.onesafety-homepage .os-programs__grid > .os-program:nth-child(4) .os-program__logo,
	.onesafety-homepage .os-programs__grid > .os-program:nth-child(5) .os-program__logo {
		flex: 0 0 auto;
		width: 180px;
		margin-bottom: 0;
	}
}

/* Uzavírací pruh */

.onesafety-homepage .os-programs__note {
	margin-top: clamp(1rem, 2.5vw, 1.5rem);
	padding: clamp(1.1rem, 2.4vw, 1.6rem);
	background: #f7f9fc;
	border: 1px solid #e6ecf4;
	border-radius: var(--os-radius-md);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(1rem, 2.5vw, 1.75rem);
	align-items: center;
}

.onesafety-homepage .os-programs__note-symbol {
	display: inline-flex;
	width: clamp(48px, 6vw, 64px);
}

.onesafety-homepage .os-programs__note-icon {
	display: block;
	width: 100%;
	height: auto;
}

.onesafety-homepage .os-programs__note-title {
	margin: 0;
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	font-weight: 800;
	line-height: 1.4;
}

.onesafety-homepage .os-programs__note-text {
	margin: 0.4rem 0 0;
	color: var(--os-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.onesafety-homepage .os-programs__note-action {
	margin: 0;
}

.onesafety-homepage .os-programs__note-btn {
	min-height: 56px;
	padding-inline: clamp(1.1rem, 2vw, 1.75rem);
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-programs__grid > .os-program {
		grid-column: span 6;
	}

	.onesafety-homepage .os-programs__note {
		grid-template-columns: minmax(0, 1fr);
		text-align: left;
	}

	.onesafety-homepage .os-programs__note-btn {
		width: 100%;
		white-space: normal;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-programs__grid > .os-program {
		grid-column: span 12;
	}

	.onesafety-homepage .os-program__logo {
		max-width: none;
		height: 88px;
	}

	.onesafety-homepage .os-programs__filter {
		font-size: 0.72rem;
		padding-inline: 0.9rem;
	}
}

/* =========================================================================
 * HP-11 Odborné konzultace, přestavěno podle schválené předlohy
 *
 * Text vlevo, mřížka šesti log vpravo ve dvou sloupcích a třech
 * řadách. Loga jsou v dlaždicích se stejnou výškou, takže široké
 * i čtvercové značky vycházejí opticky stejně.
 * ========================================================================= */

@media (min-width: 1024px) {
	.onesafety-homepage .os-partners__inner {
		grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
		align-items: center;
		gap: clamp(2rem, 5vw, 4.5rem);
	}
}

.onesafety-homepage .os-partners__heading .os-line {
	display: block;
}

.onesafety-homepage .os-partners__lead {
	margin: 1.25rem 0 0;
	max-width: 34rem;
	color: var(--os-blue-ink);
	font-size: clamp(0.95rem, 1.3vw, 1.06rem);
	line-height: 1.7;
}

.onesafety-homepage .os-partners__grid {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.65rem, 1.4vw, 1rem);
}

.onesafety-homepage .os-partner {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: auto;
	height: clamp(130px, 15vw, 186px);
	padding: clamp(0.85rem, 1.8vw, 1.5rem);
	background: var(--os-white);
	border: 1px solid #e6ecf4;
	border-radius: var(--os-radius-md);
	overflow: hidden;
}

/*
 * Každý soubor má kolem kresby jinak velký průhledný okraj, proto
 * má obrázek pevnou šířku dopočítanou z hranic kresby. Optická
 * velikost pak vychází u všech šesti stejně.
 */

.onesafety-homepage .os-partner .os-partner__logo {
	transform: none;
	width: auto;
	max-width: none;
	max-height: none;
	height: auto;
	flex: 0 0 auto;
	min-width: 0;
}







.onesafety-homepage .os-partners__note {
	margin: clamp(0.85rem, 2vw, 1.15rem) 0 0;
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.6;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-partners__grid {
		margin-top: clamp(1.5rem, 4vw, 2rem);
	}
}

@media (max-width: 560px) {
	.onesafety-homepage .os-partners__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-partner {
		height: 116px;
	}






}

/* =========================================================================
 * Šířky a proporce podle schválených návrhů
 *
 * Obě sekce využívají téměř celou šířku okna. Návrh Národních programů
 * má okraj kolem 57 px při šířce 1536, návrh Odborných konzultací
 * začíná textem na 132 px při šířce 1717. Použit je proto širší
 * kontejner než u zbytku stránky.
 * ========================================================================= */

@media (min-width: 1200px) {
	.onesafety-homepage .os-partners .os-shell,
	.onesafety-homepage .os-programs .os-shell {
		max-width: 1620px;
		padding-inline: clamp(2rem, 4vw, 3.75rem);
	}
}

/* Sekce Odborné konzultace */

.onesafety-homepage .os-partners__heading {
	font-size: clamp(2rem, 3.6vw, 3.4rem);
	line-height: 1.12;
	letter-spacing: -0.025em;
}

.onesafety-homepage .os-partners__side {
	display: flex;
	flex-direction: column;
}

.onesafety-homepage .os-partner {
	height: clamp(140px, 11.5vw, 188px);
}

.onesafety-homepage .os-partners__note {
	margin-top: clamp(0.85rem, 1.6vw, 1.15rem);
}

/* Sekce Národní programy */

.onesafety-homepage .os-programs__heading {
	font-size: clamp(1.9rem, 3.3vw, 3.1rem);
	line-height: 1.12;
	letter-spacing: -0.025em;
}

.onesafety-homepage .os-program {
	padding: clamp(1rem, 1.8vw, 1.5rem);
}

.onesafety-homepage .os-program__title {
	margin-top: 0.35rem;
	font-size: clamp(1.25rem, 1.9vw, 1.6rem);
}

.onesafety-homepage .os-program__text {
	margin-top: 0.45rem;
	font-size: 0.9rem;
	line-height: 1.5;
}

.onesafety-homepage .os-program__actions,
.onesafety-homepage .os-program__note {
	padding-top: 0.85rem;
}

/* Šipky u odkazů mají všude stejnou velikost i odsazení. */

.onesafety-homepage .os-program__arrow {
	display: inline-block;
	font-size: 0.95em;
	line-height: 1;
}

/*
 * Kompaktnější svislé rozestupy u obou sekcí.
 *
 * Návrh Národních programů má celou sekci v 1024 px na výšku,
 * současné odsazení 104 px nahoře i dole ji zbytečně natahovalo.
 * Hodnoty jsou plynulé, takže na užších obrazovkách zůstane
 * dost prostoru a nic se neslepí.
 */

@media (min-width: 1024px) {
	.onesafety-homepage .os-programs,
	.onesafety-homepage .os-partners {
		padding-block: clamp(2.5rem, 4vw, 3.5rem);
	}

	.onesafety-homepage .os-programs__filters {
		margin-top: clamp(1rem, 1.8vw, 1.4rem);
	}

	.onesafety-homepage .os-programs__grid {
		margin-top: clamp(1rem, 1.8vw, 1.4rem);
	}

	.onesafety-homepage .os-programs__note {
		margin-top: clamp(0.85rem, 1.5vw, 1.15rem);
		padding: clamp(0.9rem, 1.6vw, 1.25rem) clamp(1.1rem, 2vw, 1.5rem);
	}

	.onesafety-homepage .os-programs__lead {
		margin-top: 0.75rem;
	}
}

/* =========================================================================
 * Velikost log, sjednoceno podle skutečné plochy kresby
 *
 * Hranice kresby a podíl neprůhledných bodů v každém souboru byly
 * změřeny rozborem obrázku, ne odhadem. Šířka obrázku je z nich
 * dopočítaná tak, aby odmocnina z plochy kresby vyšla u všech šesti
 * značek stejně. To odpovídá tomu, jak velikost vnímá oko, lépe než
 * srovnání podle šířky nebo výšky.
 *
 * Cílová optická velikost: 72 na desktopu, 65 na telefonu.
 * Průhledný okraj kolem kresby dlaždice ořízne, kresba se nikdy
 * neořezává.
 * ========================================================================= */

.onesafety-homepage .os-partner {
	overflow: hidden;
}

.onesafety-homepage .os-partner .os-partner__logo {
	transform: none;
	width: auto;
	max-width: none;
	max-height: none;
	height: auto;
	flex: 0 0 auto;
	min-width: 0;
	object-fit: contain;
}

.onesafety-homepage .os-partner.os-partner--msmt .os-partner__logo {
	width: 70%;
}

/*
 * Nové logo Ministerstva vnitra má jiný poměr stran i jiný podíl
 * kresby v ploše než předchozí soubor, proto vlastní hodnota.
 * Vypočítáno stejným postupem jako u ostatních značek.
 */

.onesafety-homepage .os-partner.os-partner--mvcr .os-partner__logo {
	width: 50%;
}

.onesafety-homepage .os-partner.os-partner--policie .os-partner__logo {
	width: 39%;
}

.onesafety-homepage .os-partner.os-partner--muni .os-partner__logo {
	width: 113%;
}

.onesafety-homepage .os-partner.os-partner--faceup .os-partner__logo {
	width: 146%;
}

.onesafety-homepage .os-partner.os-partner--zachranka .os-partner__logo {
	width: 85%;
}

/* Nejvyšší kresba je znak Policie, 130 px. Karta na to musí mít místo. */

/*
 * Poměr stran místo pevné výšky. Karta se pak zmenšuje spolu
 * se šířkou a nejvyšší kresba, znak Policie, se do ní vejde
 * na každé šířce.
 */

.onesafety-homepage .os-partner {
	height: auto;
	aspect-ratio: 2.12 / 1;
	min-height: 132px;
	padding: 4.6%;
}

@media (max-width: 560px) {
	.onesafety-homepage .os-partner {
		aspect-ratio: 2.3 / 1;
	}
}


/* Stejný postup pro loga u národních programů, jen menší cíl: 42. */

.onesafety-homepage .os-program__logo {
	height: 84px;
	overflow: hidden;
}

.onesafety-homepage .os-program__logo-image {
	width: auto;
	max-width: none;
	max-height: none;
	height: auto;
	flex: 0 0 auto;
	object-fit: contain;
}

.onesafety-homepage .os-program--logo-msmt .os-program__logo-image {
	width: 148px;
}

.onesafety-homepage .os-program--logo-mvcr .os-program__logo-image {
	width: 105px;
}

.onesafety-homepage .os-program--logo-policie .os-program__logo-image {
	width: 76px;
}

.onesafety-homepage .os-program--logo-muni .os-program__logo-image {
	width: 239px;
}

.onesafety-homepage .os-program--logo-faceup .os-program__logo-image {
	width: 308px;
}

.onesafety-homepage .os-program--logo-zachranka .os-program__logo-image {
	width: 180px;
}

/* =========================================================================
 * Stránka Kodex OneSafety
 * ========================================================================= */

.onesafety-homepage .os-codex__body {
	padding-block: clamp(1.75rem, 4vw, 3rem) clamp(2.5rem, 5vw, 4rem);
}

.onesafety-homepage .os-codex__inner {
	max-width: 68rem;
}

.onesafety-homepage .os-codex__head {
	text-align: center;
}

.onesafety-homepage .os-codex__heading {
	margin: 0;
	font-size: clamp(1.8rem, 4vw, 3.1rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -0.025em;
}

.onesafety-homepage .os-codex__heading .os-line {
	display: block;
}

.onesafety-homepage .os-codex__heading-accent {
	color: var(--os-blue);
}

/* Vodorovná linka s tečkou uprostřed, jako v předloze. */

.onesafety-homepage .os-codex__divider {
	position: relative;
	display: block;
	width: min(100%, 40rem);
	height: 1px;
	margin: clamp(1.25rem, 3vw, 2rem) auto;
	background: #c9dcf4;
}

.onesafety-homepage .os-codex__divider::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	background: var(--os-blue);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.onesafety-homepage .os-codex__intro {
	margin: 0 auto 1rem;
	max-width: 46rem;
	color: var(--os-ink);
	font-size: clamp(0.95rem, 1.35vw, 1.05rem);
	line-height: 1.65;
}

.onesafety-homepage .os-codex__claim {
	position: relative;
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	color: var(--os-blue-ink);
	font-size: clamp(0.82rem, 1.2vw, 0.95rem);
	font-weight: 800;
	letter-spacing: 0.04em;
}

/* Šest pilířů ve třech sloupcích. */

.onesafety-homepage .os-codex__pillars {
	margin: clamp(2rem, 5vw, 3.25rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-codex__pillar {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-inline: clamp(0.5rem, 1.5vw, 1.25rem);
	text-align: center;
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-codex__pillar:nth-child(3n + 1) {
	border-left: 0;
}

.onesafety-homepage .os-codex__pillar:nth-child(n + 4) {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	padding-top: clamp(1.5rem, 3vw, 2.25rem);
}

.onesafety-homepage .os-codex__pillar-icon {
	display: grid;
	place-items: center;
	width: clamp(64px, 6vw, 84px);
	height: clamp(64px, 6vw, 84px);
	margin-bottom: 1rem;
	padding: clamp(0.9rem, 1.4vw, 1.2rem);
	background: #eaf1fb;
	border-radius: 50%;
	color: var(--os-blue-ink);
}

.onesafety-homepage .os-codex__pillar-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-codex__pillar-title {
	margin: 0 0 0.85rem;
	color: var(--os-blue-ink);
	font-size: clamp(0.95rem, 1.4vw, 1.12rem);
	font-weight: 800;
	letter-spacing: 0.03em;
	line-height: 1.3;
}

.onesafety-homepage .os-codex__points {
	margin: 0;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-codex__point {
	position: relative;
	padding-top: 0.9rem;
	margin-top: 0.9rem;
	color: var(--os-ink);
	font-size: 0.88rem;
	line-height: 1.55;
}

/* Tečka jako oddělovač mezi body. */

.onesafety-homepage .os-codex__point::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 5px;
	height: 5px;
	background: var(--os-blue);
	border-radius: 50%;
	transform: translateX(-50%);
}

.onesafety-homepage .os-codex__point:first-child {
	margin-top: 0;
	padding-top: 0;
}

.onesafety-homepage .os-codex__point:first-child::before {
	display: none;
}

.onesafety-homepage .os-codex__pillar-lead,
.onesafety-homepage .os-codex__pillar-note {
	margin: 1rem 0 0;
	color: var(--os-blue-ink);
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.5;
}

.onesafety-homepage .os-codex__pillar-note {
	margin-top: auto;
	padding-top: 1rem;
}

/* Uzavírací pruh: osobní vyjádření a transparentní účet. */

.onesafety-homepage .os-codex__closing {
	margin-top: clamp(2rem, 5vw, 3.25rem);
	padding: clamp(1.25rem, 3vw, 2rem);
	background: #eaf1fb;
	border-radius: var(--os-radius-md);
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

.onesafety-homepage .os-codex__personal {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 2.5vw, 1.75rem);
	align-items: center;
}

.onesafety-homepage .os-codex__personal-photo {
	width: clamp(96px, 10vw, 148px);
}

.onesafety-homepage .os-codex__photo {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--os-radius-sm);
	filter: grayscale(1);
}

.onesafety-homepage .os-codex__quote-mark {
	display: block;
	width: 34px;
	height: 34px;
	margin-bottom: 0.35rem;
	color: var(--os-blue);
}

.onesafety-homepage .os-codex__quote-mark svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-codex__personal-title {
	margin: 0;
	color: var(--os-blue-ink);
	font-size: clamp(0.95rem, 1.4vw, 1.1rem);
	font-weight: 800;
	line-height: 1.35;
}

.onesafety-homepage .os-codex__personal-text {
	margin: 0.65rem 0 0;
	color: var(--os-ink);
	font-size: 0.85rem;
	line-height: 1.6;
}

.onesafety-homepage .os-codex__sign {
	margin: 0.85rem 0 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	font-style: italic;
}

.onesafety-homepage .os-codex__sign-role {
	margin: 0.1rem 0 0;
	color: var(--os-blue);
	font-size: 0.8rem;
	font-weight: 700;
}

.onesafety-homepage .os-codex__account {
	padding-left: clamp(1rem, 2.5vw, 2rem);
	border-left: 1px solid #c9dcf4;
	text-align: center;
}

.onesafety-homepage .os-codex__account-icon {
	display: block;
	width: 46px;
	height: 46px;
	margin: 0 auto 0.75rem;
	color: var(--os-blue-ink);
}

.onesafety-homepage .os-codex__account-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-codex__account-title {
	margin: 0;
	color: var(--os-blue-ink);
	font-size: clamp(0.95rem, 1.4vw, 1.1rem);
	font-weight: 800;
}

.onesafety-homepage .os-codex__account-text {
	margin: 0.6rem 0 0;
	color: var(--os-ink);
	font-size: 0.85rem;
	line-height: 1.6;
}

.onesafety-homepage .os-codex__account-note {
	margin: 0.85rem 0 0;
	color: var(--os-blue-ink);
	font-size: 0.9rem;
	font-weight: 800;
}

.onesafety-homepage .os-codex__account-link {
	color: inherit;
}

.onesafety-homepage .os-codex__foot-claim {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin: clamp(1.5rem, 3vw, 2rem) 0 0;
	padding-top: clamp(1rem, 2vw, 1.5rem);
	border-top: 1px solid var(--os-line);
	color: var(--os-blue-ink);
	font-size: clamp(0.95rem, 1.4vw, 1.15rem);
	font-weight: 800;
	text-align: center;
}

.onesafety-homepage .os-codex__foot-icon {
	display: block;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	color: var(--os-blue);
}

.onesafety-homepage .os-codex__foot-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-codex__pillars {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-codex__pillar:nth-child(3n + 1) {
		border-left: 1px solid var(--os-line);
	}

	.onesafety-homepage .os-codex__pillar:nth-child(2n + 1) {
		border-left: 0;
	}

	.onesafety-homepage .os-codex__pillar:nth-child(n + 3) {
		margin-top: clamp(1.5rem, 3vw, 2.25rem);
		padding-top: clamp(1.5rem, 3vw, 2.25rem);
	}

	.onesafety-homepage .os-codex__closing {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-codex__account {
		padding-left: 0;
		padding-top: clamp(1.25rem, 3vw, 1.75rem);
		border-left: 0;
		border-top: 1px solid #c9dcf4;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-codex__pillars {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-codex__pillar {
		border-left: 0;
	}

	.onesafety-homepage .os-codex__pillar:nth-child(n + 2) {
		margin-top: clamp(1.5rem, 4vw, 2rem);
		padding-top: clamp(1.5rem, 4vw, 2rem);
		border-top: 1px solid var(--os-line);
	}

	.onesafety-homepage .os-codex__personal {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		text-align: center;
	}

	.onesafety-homepage .os-codex__quote-mark {
		margin-inline: auto;
	}

	.onesafety-homepage .os-codex__foot-claim {
		flex-direction: column;
		gap: 0.5rem;
	}
}

/*
 * Karta provozovatele s odkazem je klikatelná celá.
 *
 * Odkaz zůstává v textu, jen se roztáhne přes celou kartu
 * neviditelnou vrstvou. Sémantika i ovládání klávesnicí tak
 * fungují dál a čtečka přečte popisek odkazu, ne celý blok.
 */

.onesafety-homepage .os-operator__card--link {
	position: relative;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.onesafety-homepage .os-operator__card--link:hover {
	border-color: rgba(255, 255, 255, 0.34);
	transform: translateY(-2px);
}

.onesafety-homepage .os-operator__card--link .os-operator__card-link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.onesafety-homepage .os-operator__card--link:focus-within {
	border-color: var(--os-blue-light);
}

.onesafety-homepage .os-operator__card--link .os-operator__arrow {
	display: inline-block;
	transition: transform 0.2s ease;
}

.onesafety-homepage .os-operator__card--link:hover .os-operator__arrow {
	transform: translateX(3px);
}

/* Odkaz zpět na konci kodexu a stránky Davida. */

.onesafety-homepage .os-codex__back-line {
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
}

.onesafety-homepage .os-david__back {
	padding-block: clamp(1.5rem, 3vw, 2.25rem);
}

.onesafety-homepage .os-david__back-line {
	margin: 0;
}

/* =========================================================================
 * Stránka Poslání projektu
 *
 * Sdílí většinu vzhledu se stránkou Kodex, proto tu jsou jen odchylky
 * a bloky, které kodex nemá.
 * ========================================================================= */

.onesafety-homepage .os-poslani__eyebrow {
	margin-bottom: 0.75rem;
	text-align: center;
}

/* Krátká linka mezi úvodními odstavci a spojující větou. */

.onesafety-homepage .os-poslani__rule {
	display: block;
	width: 74px;
	height: 1px;
	margin: clamp(1.25rem, 3vw, 1.75rem) auto;
	background: #c9dcf4;
}

/* Body v pilířích poslání jsou hutnější a bez teček mezi sebou. */

.onesafety-homepage .os-poslani__point {
	margin-top: 0.35rem;
	padding-top: 0;
	font-size: 0.86rem;
	line-height: 1.5;
}

.onesafety-homepage .os-poslani__point::before {
	display: none;
}

/* Naše dlouhodobá ambice */

.onesafety-homepage .os-poslani__ambition {
	margin-top: clamp(1.75rem, 4vw, 2.75rem);
	padding: clamp(1.25rem, 2.5vw, 1.85rem);
	background: #eff4fc;
	border-radius: var(--os-radius-md);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 2.5vw, 2rem);
	align-items: center;
}

.onesafety-homepage .os-poslani__ambition-icon {
	display: grid;
	place-items: center;
	width: clamp(64px, 6vw, 86px);
	height: clamp(64px, 6vw, 86px);
	padding: clamp(0.85rem, 1.4vw, 1.15rem);
	background: var(--os-white);
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-poslani__ambition-icon svg,
.onesafety-homepage .os-poslani__goal-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-poslani__ambition-title,
.onesafety-homepage .os-poslani__goal-title {
	margin: 0;
	color: var(--os-blue);
	font-size: clamp(0.92rem, 1.4vw, 1.08rem);
	font-weight: 800;
	letter-spacing: 0.05em;
}

.onesafety-homepage .os-poslani__ambition-text {
	margin: 0.6rem 0 0;
	color: var(--os-ink);
	font-size: 0.92rem;
	line-height: 1.65;
}

/* Čeho chceme dosáhnout */

.onesafety-homepage .os-poslani__goal {
	margin-top: clamp(1.75rem, 4vw, 2.75rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

.onesafety-homepage .os-poslani__goal-title {
	margin-bottom: 0.85rem;
}

.onesafety-homepage .os-poslani__goal-text {
	margin: 0 0 0.35rem;
	color: var(--os-ink);
	font-size: 0.9rem;
	line-height: 1.6;
}

.onesafety-homepage .os-poslani__goal-note {
	margin: 1rem 0 0;
	color: var(--os-blue-ink);
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.6;
}

.onesafety-homepage .os-poslani__goal-note .os-line {
	display: block;
}

.onesafety-homepage .os-poslani__goal-icon {
	display: block;
	width: clamp(110px, 12vw, 165px);
	height: auto;
	aspect-ratio: 1;
	color: var(--os-blue);
}

.onesafety-homepage .os-poslani__closing {
	grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 767px) {
	.onesafety-homepage .os-poslani__ambition,
	.onesafety-homepage .os-poslani__goal {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		text-align: center;
	}

	.onesafety-homepage .os-poslani__goal-icon {
		order: -1;
	}
}

/* =========================================================================
 * Kompaktnější dopadové stránky Kodex a Poslání
 *
 * Hlavička i patička byly zbytečně daleko od okrajů a piktogramy
 * plavaly v příliš velkém kroužku.
 * ========================================================================= */

.onesafety-homepage.os-codex .os-nav {
	padding-block: clamp(0.75rem, 1.6vw, 1.15rem);
}

.onesafety-homepage.os-codex .os-crumbs {
	padding-block: clamp(0.4rem, 1vw, 0.7rem);
}

.onesafety-homepage.os-codex .os-codex__body {
	padding-block: clamp(0.75rem, 2vw, 1.5rem) clamp(1.25rem, 2.5vw, 2rem);
}

.onesafety-homepage.os-codex .os-mini-footer {
	padding-block: clamp(1rem, 2vw, 1.5rem);
}

.onesafety-homepage.os-codex .os-codex__foot-claim {
	margin-top: clamp(1rem, 2vw, 1.5rem);
	padding-top: clamp(0.85rem, 1.6vw, 1.15rem);
}

.onesafety-homepage.os-codex .os-codex__back-line {
	margin-top: clamp(1rem, 2vw, 1.5rem);
}

/*
 * Piktogram vyplní kroužek podstatně víc. Dřív měl kroužek 84 px
 * a kresba v něm jen 46, takže působila ztracená.
 */

.onesafety-homepage .os-codex__pillar-icon {
	width: clamp(58px, 5vw, 72px);
	height: clamp(58px, 5vw, 72px);
	padding: clamp(0.6rem, 0.9vw, 0.78rem);
}

.onesafety-homepage .os-poslani__ambition-icon {
	width: clamp(58px, 5vw, 74px);
	height: clamp(58px, 5vw, 74px);
	padding: clamp(0.6rem, 0.9vw, 0.8rem);
}

/* =========================================================================
 * Dekorativní symbol O se nemá ořezávat
 *
 * Symboly byly umístěné se záporným odsazením, takže je rodičovská
 * sekce s overflow hidden usekla. Teď leží celé uvnitř sekce
 * s malým odstupem od okraje, na všech šířkách.
 * ========================================================================= */

.onesafety-homepage .os-steps__symbol,
.onesafety-homepage .os-partners__symbol,
.onesafety-homepage .os-offer__symbol {
	right: clamp(0.5rem, 2vw, 2rem);
	bottom: clamp(0.5rem, 2vw, 2rem);
	top: auto;
	left: auto;
	max-width: min(46vw, 100%);
}

/*
 * Šířka symbolu se odvíjí od šířky okna, aby zůstal uvnitř sekce
 * i na užších obrazovkách a nikde nevytvořil vodorovný posuv.
 */

.onesafety-homepage .os-steps__symbol {
	width: clamp(220px, 32vw, 460px);
}

.onesafety-homepage .os-partners__symbol {
	width: clamp(180px, 24vw, 360px);
}

.onesafety-homepage .os-offer__symbol {
	width: clamp(200px, 30vw, 460px);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-partners__symbol,
	.onesafety-homepage .os-offer__symbol {
		right: clamp(0.5rem, 3vw, 1.25rem);
		bottom: clamp(0.5rem, 3vw, 1.25rem);
	}
}

/* Vedlejší odkaz vedle hlavní výzvy v úvodu. */

.onesafety-homepage .os-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.5rem;
}

.onesafety-homepage .os-hero__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 44px;
	color: var(--os-white);
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
}

.onesafety-homepage .os-hero__link:hover,
.onesafety-homepage .os-hero__link:focus-visible {
	text-decoration: underline;
}

.onesafety-homepage .os-hero__arrow {
	transition: transform 0.2s ease;
}

.onesafety-homepage .os-hero__link:hover .os-hero__arrow {
	transform: translateX(3px);
}

/* =========================================================================
 * Osobní dopadové stránky, podle schválené předlohy
 *
 * Nadpisy jmen a odstavce jsou bezpatkové, souvětí a citáty patkové.
 * Tenhle kontrast je hlavní rys předlohy, proto je tu vlastní rodina.
 * ========================================================================= */

.onesafety-homepage.os-osoba {
	--os-serif: Georgia, "Times New Roman", "Iowan Old Style", serif;
}

.onesafety-homepage.os-osoba .os-nav {
	padding-block: clamp(0.85rem, 1.8vw, 1.35rem);
}

/* Úvod */

.onesafety-homepage .os-osoba__hero {
	position: relative;
	overflow: hidden;
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/*
 * Tři sloupce: text, fotografie, svislý seznam. Seznam má vlastní
 * místo, aby nikdy neležel přes fotku.
 */

.onesafety-homepage .os-osoba__hero-inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.85fr) auto;
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	align-items: start;
}

.onesafety-homepage .os-osoba__eyebrow {
	margin: 0;
	color: var(--os-ink);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
}

.onesafety-homepage .os-osoba__rule {
	display: block;
	width: 44px;
	height: 3px;
	margin: 0.75rem 0 1.25rem;
	background: var(--os-blue);
}

.onesafety-homepage .os-osoba__name {
	margin: 0;
	font-size: clamp(2.6rem, 6.4vw, 5.2rem);
	font-weight: 800;
	line-height: 0.96;
	letter-spacing: -0.035em;
}

.onesafety-homepage .os-osoba__name .os-line,
.onesafety-homepage .os-osoba__claim .os-line,
.onesafety-homepage .os-osoba__story-heading .os-line,
.onesafety-homepage .os-osoba__quote-text .os-line {
	display: block;
}

.onesafety-homepage .os-osoba__claim {
	margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
	font-family: var(--os-serif);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	font-weight: 400;
	line-height: 1.28;
}

.onesafety-homepage .os-osoba__perex {
	margin: clamp(1rem, 2vw, 1.5rem) 0 0;
	max-width: 34rem;
	color: #2a333d;
	font-size: 0.95rem;
	line-height: 1.65;
}

/* Fotografie vpravo, černobílá, s přesahem k okraji sekce. */

.onesafety-homepage .os-osoba__media {
	position: relative;
	align-self: stretch;
	min-height: clamp(280px, 34vw, 520px);
}

/*
 * Fotografie vyplní svůj sloupec a nikdy nepřeroste. Bez horní meze
 * by se při selhání stylů roztáhla na plnou velikost souboru.
 */

.onesafety-homepage .os-osoba__photo {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	filter: grayscale(1) contrast(1.05);
}

/* Svislý seznam vpravo nahoře. */

.onesafety-homepage .os-osoba__aside {
	margin: clamp(3rem, 6vw, 5rem) 0 0;
	padding: 0;
	list-style: none;
	align-self: start;
	color: var(--os-ink);
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.95;
	white-space: nowrap;
}

/* Blok s příběhem, světle modrý */

.onesafety-homepage .os-osoba__story {
	background: #eef5fd;
	padding-block: clamp(2rem, 4.5vw, 3.5rem);
}

.onesafety-homepage .os-osoba__story-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}

.onesafety-homepage .os-osoba__story-heading {
	margin: 0 0 1.25rem;
	font-family: var(--os-serif);
	font-size: clamp(1.5rem, 3vw, 2.3rem);
	font-weight: 400;
	line-height: 1.24;
}

.onesafety-homepage .os-osoba__text {
	margin: 0 0 1rem;
	color: var(--os-ink);
	font-size: 0.95rem;
	line-height: 1.7;
}

.onesafety-homepage .os-osoba__highlight {
	padding-left: clamp(1.5rem, 4vw, 3rem);
	border-left: 1px solid #c9dcf4;
}

.onesafety-homepage .os-osoba__highlight-text {
	margin: 0;
	font-family: var(--os-serif);
	font-size: clamp(1.4rem, 2.8vw, 2.1rem);
	font-style: italic;
	line-height: 1.32;
}

.onesafety-homepage .os-osoba__dot {
	display: block;
	width: 12px;
	height: 12px;
	margin-top: 1.5rem;
	background: var(--os-blue);
	border-radius: 50%;
}

.onesafety-homepage .os-osoba__dot--inline {
	display: inline-block;
	width: 9px;
	height: 9px;
	margin: 0 0 0 0.4rem;
	vertical-align: baseline;
}

/* Čtyři sloupce s piktogramy */

.onesafety-homepage .os-osoba__columns {
	padding-block: clamp(2rem, 4.5vw, 3.5rem);
}

.onesafety-homepage .os-osoba__columns-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-osoba__column {
	padding-left: clamp(1rem, 2vw, 1.75rem);
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-osoba__column:first-child {
	padding-left: 0;
	border-left: 0;
}

.onesafety-homepage .os-osoba__column-icon {
	display: block;
	width: clamp(38px, 3.4vw, 46px);
	height: clamp(38px, 3.4vw, 46px);
	margin-bottom: 1rem;
	color: var(--os-ink);
}

.onesafety-homepage .os-osoba__column-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-osoba__column-title {
	margin: 0 0 0.85rem;
	font-family: var(--os-serif);
	font-size: clamp(1.05rem, 1.6vw, 1.28rem);
	font-weight: 700;
	line-height: 1.25;
}

.onesafety-homepage .os-osoba__column-text {
	margin: 0 0 0.85rem;
	color: var(--os-ink);
	font-size: 0.85rem;
	line-height: 1.62;
}

.onesafety-homepage .os-osoba__column-lead {
	margin: 0 0 0.85rem;
	font-size: 0.85rem;
	font-weight: 800;
	line-height: 1.55;
}

/* Uzavírací pruh s citátem a podpisem */

.onesafety-homepage .os-osoba__closing {
	background: #eef5fd;
	padding-block: clamp(1.75rem, 3.5vw, 2.75rem);
}

.onesafety-homepage .os-osoba__closing-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: end;
}

.onesafety-homepage .os-osoba__quote .os-osoba__rule {
	margin-bottom: 1rem;
}

.onesafety-homepage .os-osoba__quote-text {
	margin: 0;
	font-family: var(--os-serif);
	font-size: clamp(1.1rem, 2vw, 1.5rem);
	font-style: italic;
	line-height: 1.4;
}

.onesafety-homepage .os-osoba__quote-author {
	margin: 0.85rem 0 0;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.06em;
}

.onesafety-homepage .os-osoba__quote-role {
	margin: 0.15rem 0 0;
	color: var(--os-muted);
	font-size: 0.8rem;
}

.onesafety-homepage .os-osoba__sign {
	text-align: right;
}

/*
 * Podpis. Patkové písmo v kurzívě se blíží rukopisu z předlohy
 * a nepotřebuje kvůli tomu další soubor s fontem.
 */

.onesafety-homepage .os-osoba__sign-hand {
	display: block;
	margin: 0 0 0.5rem auto;
	width: clamp(150px, 16vw, 220px);
}

.onesafety-homepage .os-osoba__sign-image {
	display: block;
	width: 100%;
	height: auto;
	max-height: 90px;
	object-fit: contain;
	object-position: right bottom;
}

.onesafety-homepage .os-osoba__sign-name {
	margin: 1.15rem 0 0;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.06em;
}

.onesafety-homepage .os-osoba__sign-role {
	margin: 0.15rem 0 0;
	color: var(--os-muted);
	font-size: 0.8rem;
}

/* Spodní pruh s logem */

.onesafety-homepage .os-osoba__bar {
	padding-block: clamp(1rem, 2vw, 1.5rem);
	border-top: 1px solid var(--os-line);
}

.onesafety-homepage .os-osoba__bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem clamp(1rem, 2.5vw, 2rem);
}

.onesafety-homepage .os-osoba__bar-logo-image {
	display: block;
	width: auto;
	max-width: 200px;
	height: clamp(24px, 2.4vw, 32px);
	object-fit: contain;
}

.onesafety-homepage .os-osoba__bar-claim {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
}

.onesafety-homepage .os-osoba__bar-links {
	margin: 0 0 0 auto;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	color: var(--os-muted);
	font-size: 0.72rem;
	letter-spacing: 0.06em;
}

.onesafety-homepage .os-osoba__bar-links li + li::before {
	content: "/";
	margin-right: 0.5rem;
	color: var(--os-line);
}

.onesafety-homepage .os-osoba__back {
	margin: 0;
	padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 4vw, 2.5rem);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-osoba__hero-inner,
	.onesafety-homepage .os-osoba__story-inner,
	.onesafety-homepage .os-osoba__closing-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-osoba__aside {
		display: none;
	}

	.onesafety-homepage .os-osoba__media {
		min-height: 0;
	}

	.onesafety-homepage .os-osoba__photo {
		position: static;
		height: auto;
		max-height: 60vh;
	}

	.onesafety-homepage .os-osoba__highlight {
		padding-left: 0;
		padding-top: 1.5rem;
		border-left: 0;
		border-top: 1px solid #c9dcf4;
	}

	.onesafety-homepage .os-osoba__columns-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-osoba__column:nth-child(3) {
		padding-left: 0;
		border-left: 0;
	}

	.onesafety-homepage .os-osoba__column:nth-child(n + 3) {
		margin-top: clamp(1.25rem, 3vw, 2rem);
	}

	.onesafety-homepage .os-osoba__sign {
		text-align: left;
	}

	.onesafety-homepage .os-osoba__sign-hand {
		margin-left: 0;
	}

	.onesafety-homepage .os-osoba__sign-image {
		object-position: left bottom;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-osoba__columns-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-osoba__column {
		padding-left: 0;
		border-left: 0;
	}

	.onesafety-homepage .os-osoba__column + .os-osoba__column {
		margin-top: 1.5rem;
		padding-top: 1.5rem;
		border-top: 1px solid var(--os-line);
	}

	.onesafety-homepage .os-osoba__bar-links {
		margin-left: 0;
	}
}

/*
 * Odkrývací animace na osobních stránkách. Sekce, které skript
 * neodkryl, zůstávaly neviditelné a stránka vypadala prázdná.
 * Tady jsou všechny sekce vidět hned, animace se týká jen karet.
 */

.onesafety-homepage.os-osoba.os-reveal [data-os-in],
.onesafety-homepage.os-osoba [data-os-in] {
	opacity: 1;
	transform: none;
}

/* Piktogramy ve sloupcích, o něco výraznější tah. */

/* Ikony z Lucide jsou kreslené pro tah 2, tak je vykreslíme tak, jak byly navržené. */

.onesafety-homepage .os-osoba__column-icon svg {
	stroke-width: 2;
}

/* =========================================================================
 * Stránka Podpořte OneSafety
 *
 * Rozvržení podle schválených masterů: vlevo text a interakce,
 * vpravo fotografie s modrým kruhem. Na telefonu jde text nad
 * modul a fotografie pod něj, ne zmenšený desktop.
 * ========================================================================= */

.onesafety-homepage .os-dar__eyebrow {
	margin: 0 0 0.85rem;
	color: var(--os-blue);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.onesafety-homepage .os-dar__label {
	margin: 0 0 0.75rem;
	color: var(--os-blue-ink);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.onesafety-homepage .os-dar__heading {
	margin: 0;
	font-size: clamp(2.2rem, 5vw, 3.6rem);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.03em;
}

.onesafety-homepage .os-dar__heading--small {
	font-size: clamp(1.9rem, 4vw, 3rem);
}

.onesafety-homepage .os-dar__subheading {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 3vw, 2.4rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-dar__heading .os-line,
.onesafety-homepage .os-dar__subheading .os-line,
.onesafety-homepage .os-dar__note .os-line,
.onesafety-homepage .os-dar__quote .os-line,
.onesafety-homepage .os-dar__tema-title .os-line,
.onesafety-homepage .os-dar__zpusob-title .os-line,
.onesafety-homepage .os-dar__pilir-label .os-line,
.onesafety-homepage .os-dar__bezpeci .os-line {
	display: block;
}

.onesafety-homepage .os-dar__lead {
	margin: 1.15rem 0 0;
	max-width: 34rem;
	color: var(--os-blue-ink);
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	line-height: 1.55;
}

.onesafety-homepage .os-dar__text {
	margin: 0 0 1rem;
	max-width: 36rem;
	color: var(--os-blue-ink);
	font-size: 0.98rem;
	line-height: 1.62;
}

.onesafety-homepage .os-dar__rule {
	display: block;
	width: 52px;
	height: 3px;
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 1.25rem;
	background: var(--os-blue);
}

/* Fotografie s modrým kruhem za ní. */

.onesafety-homepage .os-dar__media {
	position: relative;
	align-self: stretch;
	min-height: clamp(260px, 30vw, 520px);
}

/*
 * Dodané fotografie už obsahují modrý kruh i černobílou úpravu,
 * takže se tu nic nepřidává. Kdyby se fotky vyměnily za barevné
 * bez kruhu, patří úprava sem.
 */

.onesafety-homepage .os-dar__photo {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	border-radius: var(--os-radius-md);
}

/* Úvodní sekce */

.onesafety-homepage .os-dar__hero {
	padding-block: clamp(1.5rem, 3vw, 2.75rem);
}

.onesafety-homepage .os-dar__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}

/* Modul s výběrem částky */

.onesafety-homepage .os-dar__box {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	padding: clamp(1.15rem, 2.2vw, 1.75rem);
	background: var(--os-white);
	border: 1px solid #e6ecf4;
	border-radius: var(--os-radius-md);
	box-shadow: 0 12px 40px rgba(11, 28, 51, 0.07);
}

.onesafety-homepage .os-dar__rezim {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.35rem;
	padding: 0.3rem;
	background: #eef4fc;
	border-radius: 999px;
}

.onesafety-homepage .os-dar__rezim-btn {
	min-height: 46px;
	padding: 0.6rem 1rem;
	background: none;
	border: 0;
	border-radius: 999px;
	color: var(--os-blue);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.onesafety-homepage .os-dar__rezim-btn.is-active {
	background: var(--os-blue);
	color: var(--os-white);
}

.onesafety-homepage .os-dar__castky {
	margin-top: 0.85rem;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.5rem;
}

.onesafety-homepage .os-dar__castka {
	min-height: 52px;
	padding: 0.6rem 0.4rem;
	background: #f6f8fc;
	border: 2px solid transparent;
	border-radius: var(--os-radius-sm);
	color: var(--os-ink);
	font: inherit;
	font-weight: 700;
	font-size: 0.92rem;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.onesafety-homepage .os-dar__castka:hover {
	background: #eef4fc;
}

.onesafety-homepage .os-dar__castka.is-active {
	background: var(--os-white);
	border-color: var(--os-blue);
}

.onesafety-homepage .os-dar__jina-pole {
	margin: 0.6rem 0 0;
}

.onesafety-homepage .os-dar__input {
	width: 100%;
	min-height: 52px;
	padding: 0.7rem 0.9rem;
	background: var(--os-white);
	border: 1px solid #dde3ea;
	border-radius: var(--os-radius-sm);
	color: var(--os-ink);
	font: inherit;
	font-size: 1rem;
}

.onesafety-homepage .os-dar__input:focus-visible {
	border-color: var(--os-blue);
	outline: 2px solid rgba(1, 81, 240, 0.25);
	outline-offset: 1px;
}

.onesafety-homepage .os-dar__dopad {
	margin: 0.85rem 0 0;
	padding: 0.75rem 1rem;
	background: #eef4fc;
	border-radius: var(--os-radius-sm);
	color: var(--os-blue-ink);
	font-size: 0.92rem;
	line-height: 1.5;
}

.onesafety-homepage .os-dar__dopad strong {
	color: var(--os-blue);
}

.onesafety-homepage .os-dar__trvaly {
	margin: 0.6rem 0 0;
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.55;
}

.onesafety-homepage .os-dar__kdo {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.onesafety-homepage .os-dar__kdo-label {
	color: var(--os-ink);
	font-size: 0.92rem;
	font-weight: 600;
}

.onesafety-homepage .os-dar__kdo-volby {
	display: flex;
	flex: 1 1 260px;
	gap: 0.5rem;
}

.onesafety-homepage .os-dar__kdo-btn {
	flex: 1 1 0;
	min-height: 52px;
	padding: 0.6rem 0.9rem;
	background: var(--os-white);
	border: 2px solid #e6ecf4;
	border-radius: 999px;
	color: var(--os-blue-ink);
	font: inherit;
	font-weight: 700;
	font-size: 0.9rem;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.onesafety-homepage .os-dar__kdo-btn.is-active {
	border-color: var(--os-blue);
	background: #f3f8ff;
}

.onesafety-homepage .os-dar__akce {
	margin: 1rem 0 0;
}

.onesafety-homepage .os-dar__btn {
	width: 100%;
	min-height: 58px;
	font-size: 1rem;
}

.onesafety-homepage .os-dar__btn-ghost {
	min-height: 52px;
	padding-inline: 1.5rem;
	background: var(--os-white);
	border: 2px solid var(--os-blue);
	color: var(--os-blue);
}

.onesafety-homepage .os-dar__arrow {
	margin-left: 0.5rem;
}

.onesafety-homepage .os-dar__note {
	margin: 0.85rem 0 0;
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.55;
}

/* Platební krok */

.onesafety-homepage .os-dar__suma {
	margin: 0;
	color: var(--os-blue);
	font-size: clamp(2.2rem, 4.5vw, 3rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-dar__platba-grid {
	margin-top: 1.25rem;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 2.5vw, 1.75rem);
	align-items: start;
}

.onesafety-homepage .os-dar__qr-obraz {
	display: grid;
	place-items: center;
	width: clamp(150px, 20vw, 210px);
	aspect-ratio: 1;
	padding: 0.65rem;
	background: var(--os-white);
	border: 1px solid #e6ecf4;
	border-radius: var(--os-radius-sm);
	color: var(--os-muted);
	font-size: 0.8rem;
	text-align: center;
}

.onesafety-homepage .os-dar__qr-obraz svg {
	display: block;
	width: 100%;
	height: auto;
}

.onesafety-homepage .os-dar__qr-popis {
	margin: 0.5rem 0 0;
	color: var(--os-ink);
	font-size: 0.82rem;
	font-weight: 700;
	text-align: center;
}

.onesafety-homepage .os-dar__kroky {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: krok;
}

.onesafety-homepage .os-dar__krok-item {
	position: relative;
	counter-increment: krok;
	padding: 0 0 0.9rem 2.5rem;
	color: var(--os-blue-ink);
	font-size: 0.92rem;
	line-height: 1.5;
}

.onesafety-homepage .os-dar__krok-item::before {
	content: counter(krok);
	position: absolute;
	left: 0;
	top: -0.1rem;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	background: #eef4fc;
	border-radius: 50%;
	color: var(--os-blue);
	font-size: 0.8rem;
	font-weight: 800;
}

.onesafety-homepage .os-dar__nebo {
	margin: 1rem 0 0.6rem;
	color: var(--os-muted);
	font-size: 0.88rem;
}

.onesafety-homepage .os-dar__udaje {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6rem;
}

/*
 * Obě dlaždice s údaji mají stejnou stavbu na mřížce, aby popisek,
 * hodnota i tlačítko byly u obou ve stejné výšce. Na pružném
 * rozvržení se lámaly různě podle délky popisku.
 */

.onesafety-homepage .os-dar__udaj {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	gap: 0.35rem 0.75rem;
	align-items: center;
	padding: 0.85rem 0.9rem;
	background: #f6f8fc;
	border-radius: var(--os-radius-sm);
}

.onesafety-homepage .os-dar__udaj-label {
	grid-column: 1 / -1;
	color: var(--os-muted);
	font-size: 0.75rem;
	line-height: 1.3;
}

.onesafety-homepage .os-dar__udaj-value {
	color: var(--os-ink);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.onesafety-homepage .os-dar__kopie,
.onesafety-homepage .os-dar__modal-kopie {
	justify-self: end;
	min-height: 40px;
	padding: 0.4rem 0.8rem;
	background: var(--os-white);
	border: 1px solid #dde3ea;
	border-radius: var(--os-radius-sm);
	color: var(--os-blue);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 700;
	cursor: pointer;
}

.onesafety-homepage .os-dar__kopie:hover,
.onesafety-homepage .os-dar__modal-kopie:hover {
	border-color: var(--os-blue);
}

/* Formulář pro potvrzení o daru */

.onesafety-homepage .os-dar__potvrzeni {
	margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
	border-top: 1px solid var(--os-line);
}

.onesafety-homepage .os-dar__pole {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 0.85rem;
}

/*
 * Bez tohle by "hidden" atribut na přepínaném panelu (osoba/firma)
 * nic neudělal - vlastní display:grid z pravidla výše má přednost
 * před vestavěným stylem prohlížeče pro [hidden], takže by se
 * zobrazovaly oba panely najednou. Stejný vzor je už použitý
 * u okna s číslem účtu o pár řádků výš.
 */
.onesafety-homepage .os-dar__pole[hidden] {
	display: none;
}

.onesafety-homepage .os-dar__pole-item {
	margin: 0;
}

.onesafety-homepage .os-dar__pole-label {
	display: block;
	margin-bottom: 0.3rem;
	color: var(--os-ink);
	font-size: 0.85rem;
	font-weight: 600;
}

.onesafety-homepage .os-dar__pole-hint {
	display: block;
	margin-top: 0.3rem;
	color: var(--os-muted);
	font-size: 0.78rem;
	line-height: 1.45;
}

.onesafety-homepage .os-dar__souhlas {
	margin: 1rem 0 0;
}

.onesafety-homepage .os-dar__souhlas-label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	color: var(--os-blue-ink);
	font-size: 0.85rem;
	line-height: 1.55;
	cursor: pointer;
}

.onesafety-homepage .os-dar__souhlas-label input {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 0.15rem;
}

.onesafety-homepage .os-dar__chyba {
	margin: 0.75rem 0 0;
	padding: 0.7rem 0.9rem;
	background: #fdeceb;
	border-radius: var(--os-radius-sm);
	color: #8a1f16;
	font-size: 0.88rem;
}

.onesafety-homepage .os-dar__hotovo {
	margin-top: 0.85rem;
	padding: 1rem 1.15rem;
	background: #eef8f0;
	border-radius: var(--os-radius-sm);
}

.onesafety-homepage .os-dar__hotovo-title {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 800;
}

.onesafety-homepage .os-dar__hotovo-text {
	margin: 0.4rem 0 0;
	color: var(--os-blue-ink);
	font-size: 0.9rem;
	line-height: 1.55;
}

.onesafety-homepage .os-dar__dal {
	margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.85rem;
}

.onesafety-homepage .os-dar__dal-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
}

.onesafety-homepage .os-dar__dal-icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0.65rem;
	background: #eef4fc;
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-dar__dal-icon svg,
.onesafety-homepage .os-dar__pilir-icon svg,
.onesafety-homepage .os-dar__tema-icon svg,
.onesafety-homepage .os-dar__zpusob-icon svg,
.onesafety-homepage .os-dar__bezpeci-icon svg,
.onesafety-homepage .os-dar__modal-pilir-icon svg,
.onesafety-homepage .os-dar__modal-kopie-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-dar__dal-title {
	display: block;
	font-size: 0.95rem;
	font-weight: 800;
}

.onesafety-homepage .os-dar__dal-text {
	display: block;
	margin-top: 0.2rem;
	color: var(--os-blue-ink);
	font-size: 0.85rem;
	line-height: 1.55;
}

.onesafety-homepage .os-dar__zpet-radek {
	margin: 1.25rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	align-items: center;
	justify-content: space-between;
}

.onesafety-homepage .os-dar__zpet,
.onesafety-homepage .os-dar__dotaz {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 44px;
	padding: 0;
	background: none;
	border: 0;
	color: var(--os-blue);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.onesafety-homepage .os-dar__bezpeci {
	margin: 0.85rem 0 0;
	display: flex;
	gap: 0.65rem;
	align-items: center;
	color: var(--os-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.onesafety-homepage .os-dar__bezpeci-icon {
	display: block;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	color: var(--os-blue);
}

/* Tři pilíře pod úvodem */

.onesafety-homepage .os-dar__pilire {
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	padding: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
	border-top: 1px solid var(--os-line);
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
}

.onesafety-homepage .os-dar__pilir {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding-left: clamp(1rem, 2vw, 1.75rem);
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-dar__pilir:first-child {
	padding-left: 0;
	border-left: 0;
}

/*
 * Vlastní display, ne jen flex: 0 0 auto. Ikona je <span>, tedy
 * řádkový prvek, a šířka s výškou se na řádkové prvky neuplatní.
 * Beze display:block se ve flex rodiči neprojevilo, ale mimo něj
 * (sekce Otevřeně a odpovědně) SVG spadlo na výchozí velikost
 * prohlížeče 300×150 px. Přesně to hlásil David jako "obludně velké".
 */

.onesafety-homepage .os-dar__pilir-icon {
	display: block;
	flex: 0 0 auto;
	width: clamp(34px, 3vw, 44px);
	height: clamp(34px, 3vw, 44px);
	color: var(--os-blue);
}

.onesafety-homepage .os-dar__pilir-label {
	color: var(--os-ink);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.35;
}

/* Citát a čísla */

.onesafety-homepage .os-dar__cisla {
	background: #eef4fc;
	padding-block: clamp(1.75rem, 3.5vw, 2.75rem);
}

.onesafety-homepage .os-dar__cisla-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.onesafety-homepage .os-dar__quote {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	font-style: italic;
	line-height: 1.4;
}

.onesafety-homepage .os-dar__quote--small {
	font-size: clamp(1rem, 1.6vw, 1.2rem);
}

.onesafety-homepage .os-dar__quote-author {
	display: block;
	margin-top: 0.75rem;
	color: var(--os-ink);
	font-family: var(--os-font-family);
	font-size: 0.85rem;
	font-style: normal;
	font-weight: 700;
}

.onesafety-homepage .os-dar__cisla-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
}

.onesafety-homepage .os-dar__cislo {
	padding-left: clamp(0.85rem, 2vw, 1.5rem);
	border-left: 1px solid #c9dcf4;
}

.onesafety-homepage .os-dar__cislo:first-child {
	padding-left: 0;
	border-left: 0;
}

.onesafety-homepage .os-dar__cislo-value {
	display: block;
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-dar__cislo-text {
	display: block;
	margin-top: 0.35rem;
	color: var(--os-blue-ink);
	font-size: 0.85rem;
	line-height: 1.5;
}

/* Sekce co podporujete */

.onesafety-homepage .os-dar__co,
.onesafety-homepage .os-dar__temata,
.onesafety-homepage .os-dar__duvera,
.onesafety-homepage .os-dar__mecenas {
	padding-block: clamp(2rem, 4vw, 3.25rem);
}

.onesafety-homepage .os-dar__co-inner,
.onesafety-homepage .os-dar__temata-inner,
.onesafety-homepage .os-dar__duvera-inner,
.onesafety-homepage .os-dar__mecenas-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}

.onesafety-homepage .os-dar__skupiny {
	margin: 0 0 clamp(1rem, 2vw, 1.5rem);
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.85rem;
}

.onesafety-homepage .os-dar__skupina {
	padding-left: 0.85rem;
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-dar__skupina:first-child {
	padding-left: 0;
	border-left: 0;
}

.onesafety-homepage .os-dar__skupina-title {
	display: block;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.25;
}

.onesafety-homepage .os-dar__skupina-text {
	display: block;
	margin-top: 0.25rem;
	color: var(--os-muted);
	font-size: 0.8rem;
	line-height: 1.45;
}

/* Témata */

.onesafety-homepage .os-dar__temata-list {
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
}

.onesafety-homepage .os-dar__tema {
	padding-left: clamp(0.85rem, 1.6vw, 1.5rem);
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-dar__tema:first-child {
	padding-left: 0;
	border-left: 0;
}

.onesafety-homepage .os-dar__tema-icon {
	display: grid;
	place-items: center;
	width: clamp(46px, 4vw, 58px);
	height: clamp(46px, 4vw, 58px);
	margin-bottom: 0.85rem;
	padding: 0.75rem;
	background: #eef4fc;
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-dar__tema-title {
	margin: 0 0 0.5rem;
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.3;
}

.onesafety-homepage .os-dar__tema-text {
	margin: 0;
	color: var(--os-blue-ink);
	font-size: 0.85rem;
	line-height: 1.5;
}

.onesafety-homepage .os-dar__temata-zaver {
	margin-top: clamp(1.75rem, 3.5vw, 2.5rem);
	padding: clamp(1.25rem, 2.5vw, 2rem);
	background: #eef4fc;
	border-radius: var(--os-radius-md);
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

/* Sekce o hospodaření */

.onesafety-homepage .os-dar__duvera-pilire {
	margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
}

.onesafety-homepage .os-dar__duvera-pilir {
	padding-left: clamp(0.85rem, 1.6vw, 1.5rem);
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-dar__duvera-pilir:first-child {
	padding-left: 0;
	border-left: 0;
}

.onesafety-homepage .os-dar__duvera-title {
	display: block;
	margin: 0.85rem 0 0.4rem;
	font-size: 0.98rem;
	font-weight: 800;
}

.onesafety-homepage .os-dar__duvera-text-item {
	display: block;
	color: var(--os-blue-ink);
	font-size: 0.85rem;
	line-height: 1.5;
}

.onesafety-homepage .os-dar__ucet {
	margin-top: clamp(1.75rem, 3.5vw, 2.5rem);
	padding: clamp(1.25rem, 2.5vw, 2rem);
	background: #eef4fc;
	border-radius: var(--os-radius-md);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

.onesafety-homepage .os-dar__ucet-action {
	margin: 1.15rem 0 0;
}

.onesafety-homepage .os-dar__claim {
	margin: clamp(1rem, 2vw, 1.5rem) 0 0;
	padding-top: clamp(1rem, 2vw, 1.5rem);
	border-top: 1px solid #c9dcf4;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.05rem, 1.8vw, 1.35rem);
	font-style: italic;
}

/* Mecenášství */

.onesafety-homepage .os-dar__zpusoby {
	margin: clamp(1.5rem, 3vw, 2rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
}

.onesafety-homepage .os-dar__zpusob {
	padding-left: clamp(0.85rem, 1.6vw, 1.5rem);
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-dar__zpusob:first-child {
	padding-left: 0;
	border-left: 0;
}

.onesafety-homepage .os-dar__zpusob-icon {
	display: grid;
	place-items: center;
	width: clamp(46px, 4vw, 58px);
	height: clamp(46px, 4vw, 58px);
	margin-bottom: 0.85rem;
	padding: 0.75rem;
	background: #eef4fc;
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-dar__zpusob-title {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.3;
}

.onesafety-homepage .os-dar__zpusob-text {
	display: block;
	color: var(--os-blue-ink);
	font-size: 0.85rem;
	line-height: 1.5;
}

.onesafety-homepage .os-dar__mecenas-action {
	margin: clamp(1.5rem, 3vw, 2rem) 0 0;
	max-width: 26rem;
}

.onesafety-homepage .os-dar__mecenas-note {
	margin: 0.75rem 0 clamp(1.25rem, 2.5vw, 1.75rem);
	color: var(--os-muted);
	font-size: 0.88rem;
}

.onesafety-homepage .os-dar__osoba {
	margin: 0.85rem 0 0;
	text-align: right;
}

.onesafety-homepage .os-dar__osoba-name {
	display: block;
	font-size: 0.95rem;
	font-weight: 800;
}

.onesafety-homepage .os-dar__osoba-role {
	display: block;
	color: var(--os-muted);
	font-size: 0.85rem;
}

/* Okno s číslem účtu */

.onesafety-homepage .os-dar__modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: grid;
	place-items: center;
	padding: clamp(1rem, 4vw, 2rem);
}

.onesafety-homepage .os-dar__modal[hidden] {
	display: none;
}

.onesafety-homepage .os-dar__modal-pozadi {
	position: absolute;
	inset: 0;
	background: rgba(11, 28, 51, 0.55);
}

.onesafety-homepage .os-dar__modal-okno {
	position: relative;
	z-index: 1;
	width: min(100%, 34rem);
	max-height: 90vh;
	overflow-y: auto;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--os-white);
	border-radius: var(--os-radius-md);
	box-shadow: 0 24px 70px rgba(11, 28, 51, 0.28);
}

.onesafety-homepage .os-dar__modal-x {
	position: absolute;
	right: 0.85rem;
	top: 0.85rem;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	background: none;
	border: 0;
	color: var(--os-muted);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.onesafety-homepage .os-dar__modal-logo-image {
	display: block;
	width: auto;
	max-width: 190px;
	height: 30px;
	object-fit: contain;
}

.onesafety-homepage .os-dar__modal-nadpis {
	margin: 1.25rem 0 0;
	font-size: clamp(1.4rem, 2.6vw, 1.9rem);
	font-weight: 800;
	line-height: 1.16;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-dar__modal-nadpis .os-line {
	display: block;
}

.onesafety-homepage .os-dar__modal-text {
	margin: 0.75rem 0 0;
	color: var(--os-blue-ink);
	font-size: 0.95rem;
	line-height: 1.55;
}

.onesafety-homepage .os-dar__modal-ucet {
	margin-top: 1.25rem;
	padding: 1.15rem;
	background: #eef4fc;
	border-radius: var(--os-radius-sm);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem 1rem;
	align-items: center;
}

.onesafety-homepage .os-dar__modal-popisek {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--os-blue);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.onesafety-homepage .os-dar__modal-cislo {
	margin: 0;
	font-size: clamp(1.15rem, 2.4vw, 1.6rem);
	font-weight: 800;
	letter-spacing: 0.01em;
}

.onesafety-homepage .os-dar__modal-kopie {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
}

.onesafety-homepage .os-dar__modal-kopie-icon {
	display: block;
	width: 18px;
	height: 18px;
}

.onesafety-homepage .os-dar__modal-pilire {
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.onesafety-homepage .os-dar__modal-pilir {
	display: grid;
	gap: 0.5rem;
	color: var(--os-blue-ink);
	font-size: 0.78rem;
	line-height: 1.4;
}

.onesafety-homepage .os-dar__modal-pilir-icon {
	display: block;
	width: 24px;
	height: 24px;
	color: var(--os-blue);
}

.onesafety-homepage .os-dar__modal-akce {
	margin: 1.5rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: center;
	justify-content: space-between;
}

.onesafety-homepage .os-dar__modal-odkaz {
	color: var(--os-blue);
	font-size: 0.9rem;
	font-weight: 700;
}

.onesafety-homepage .os-dar__modal-btn {
	min-height: 48px;
	padding-inline: 1.75rem;
}

/* Tablet */

@media (max-width: 1023px) {
	.onesafety-homepage .os-dar__hero-inner,
	.onesafety-homepage .os-dar__co-inner,
	.onesafety-homepage .os-dar__temata-inner,
	.onesafety-homepage .os-dar__duvera-inner,
	.onesafety-homepage .os-dar__mecenas-inner,
	.onesafety-homepage .os-dar__cisla-inner,
	.onesafety-homepage .os-dar__temata-zaver,
	.onesafety-homepage .os-dar__ucet {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-dar__media {
		order: 3;
		min-height: 0;
	}

	.onesafety-homepage .os-dar__photo {
		height: auto;
		max-height: 58vh;
	}

	.onesafety-homepage .os-dar__temata-list,
	.onesafety-homepage .os-dar__skupiny {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-dar__tema:nth-child(odd),
	.onesafety-homepage .os-dar__skupina:nth-child(odd) {
		padding-left: 0;
		border-left: 0;
	}

	.onesafety-homepage .os-dar__tema:nth-child(n + 3),
	.onesafety-homepage .os-dar__skupina:nth-child(n + 3) {
		margin-top: 1.25rem;
	}

	.onesafety-homepage .os-dar__osoba {
		text-align: left;
	}
}

/* Telefon */

@media (max-width: 639px) {
	.onesafety-homepage .os-dar__castky {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-dar__castka--jina {
		grid-column: 1 / -1;
	}

	.onesafety-homepage .os-dar__platba-grid,
	.onesafety-homepage .os-dar__udaje,
	.onesafety-homepage .os-dar__pole,
	.onesafety-homepage .os-dar__pilire,
	.onesafety-homepage .os-dar__cisla-list,
	.onesafety-homepage .os-dar__temata-list,
	.onesafety-homepage .os-dar__skupiny,
	.onesafety-homepage .os-dar__duvera-pilire,
	.onesafety-homepage .os-dar__zpusoby {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-dar__qr-obraz {
		width: min(100%, 230px);
		margin-inline: auto;
	}

	.onesafety-homepage .os-dar__pilir,
	.onesafety-homepage .os-dar__cislo,
	.onesafety-homepage .os-dar__tema,
	.onesafety-homepage .os-dar__skupina,
	.onesafety-homepage .os-dar__duvera-pilir,
	.onesafety-homepage .os-dar__zpusob {
		padding-left: 0;
		border-left: 0;
	}

	.onesafety-homepage .os-dar__pilir + .os-dar__pilir,
	.onesafety-homepage .os-dar__cislo + .os-dar__cislo,
	.onesafety-homepage .os-dar__tema + .os-dar__tema,
	.onesafety-homepage .os-dar__duvera-pilir + .os-dar__duvera-pilir,
	.onesafety-homepage .os-dar__zpusob + .os-dar__zpusob {
		margin-top: 1.15rem;
		padding-top: 1.15rem;
		border-top: 1px solid var(--os-line);
	}

	/* Okno s číslem účtu na telefonu skoro přes celou obrazovku. */

	.onesafety-homepage .os-dar__modal {
		padding: 0;
		align-items: flex-end;
	}

	.onesafety-homepage .os-dar__modal-okno {
		width: 100%;
		max-height: 94vh;
		border-radius: var(--os-radius-md) var(--os-radius-md) 0 0;
	}

	.onesafety-homepage .os-dar__modal-pilire {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.6rem;
	}

	.onesafety-homepage .os-dar__modal-pilir {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
	}

	.onesafety-homepage .os-dar__modal-akce {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.onesafety-homepage .os-dar__modal-btn {
		width: 100%;
	}

	.onesafety-homepage .os-dar__modal-odkaz {
		text-align: center;
	}
}

/* =========================================================================
 * Vstupní karta podpory na úvodní stránce a zvýrazněné odkazy v menu
 * ========================================================================= */

.onesafety-homepage .os-support-card {
	padding-block: clamp(1.75rem, 3.5vw, 3rem);
}

.onesafety-homepage .os-support-card__box {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--os-white);
	border: 1px solid #e6ecf4;
	border-radius: var(--os-radius-md);
	box-shadow: 0 16px 50px rgba(11, 28, 51, 0.08);
}

.onesafety-homepage .os-support-card__eyebrow {
	display: inline-block;
	margin: 0 0 1rem;
	padding: 0.4rem 0.9rem;
	background: #e7f0fd;
	border-radius: 999px;
	color: var(--os-blue);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.onesafety-homepage .os-support-card__heading {
	margin: 0;
	font-size: clamp(1.8rem, 3.6vw, 2.8rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.onesafety-homepage .os-support-card__heading .os-line,
.onesafety-homepage .os-support-card__pilir-label .os-line {
	display: block;
}

.onesafety-homepage .os-support-card__text {
	margin: 1.15rem 0 0;
	max-width: 32rem;
	color: var(--os-blue-ink);
	font-size: 1rem;
	line-height: 1.6;
}

.onesafety-homepage .os-support-card__action {
	margin: clamp(1.25rem, 2.5vw, 1.85rem) 0 0;
}

.onesafety-homepage .os-support-card__btn {
	width: 100%;
	min-height: 60px;
	font-size: 1.05rem;
}

.onesafety-homepage .os-support-card__arrow {
	margin-left: 0.5rem;
}

.onesafety-homepage .os-support-card__pilire {
	margin: clamp(1.25rem, 2.5vw, 1.85rem) 0 0;
	padding: clamp(1.25rem, 2.5vw, 1.85rem) 0 0;
	border-top: 1px solid var(--os-line);
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.5rem);
}

.onesafety-homepage .os-support-card__pilir {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding-left: clamp(0.85rem, 1.6vw, 1.5rem);
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-support-card__pilir:first-child {
	padding-left: 0;
	border-left: 0;
}

.onesafety-homepage .os-support-card__pilir-icon {
	display: block;
	flex: 0 0 auto;
	width: clamp(30px, 2.6vw, 38px);
	height: clamp(30px, 2.6vw, 38px);
	color: var(--os-blue);
}

.onesafety-homepage .os-support-card__pilir-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-support-card__pilir-label {
	color: var(--os-ink);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.35;
}

.onesafety-homepage .os-support-card__media {
	position: relative;
	min-height: clamp(220px, 26vw, 400px);
}

/* Fotografie vstupní karty má modrý kruh v sobě. */

.onesafety-homepage .os-support-card__photo {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--os-radius-md);
}

/*
 * Odkazy na podporu v menu. Na širší obrazovce se skryjí, protože
 * tam už je hlavní tlačítko vpravo a menu by zbytečně zhoustlo.
 */

.onesafety-homepage .os-nav__link--zvyraznene {
	color: var(--os-blue);
	font-weight: 800;
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-nav__item--zvyraznene {
		display: none;
	}
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-nav__item--zvyraznene {
		margin-top: 0.35rem;
	}

	.onesafety-homepage .os-nav__link--zvyraznene {
		display: block;
		padding: 0.75rem 1rem;
		background: #eef4fc;
		border-radius: var(--os-radius-sm);
	}

	.onesafety-homepage .os-support-card__box {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-support-card__media {
		order: -1;
		min-height: 0;
	}

	.onesafety-homepage .os-support-card__photo {
		height: auto;
		max-height: 46vh;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-support-card__pilire {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.75rem;
	}

	.onesafety-homepage .os-support-card__pilir {
		padding-left: 0;
		border-left: 0;
	}
}

/* =========================================================================
 * Stránka OneHero a stránka mecenášství
 * ========================================================================= */

.onesafety-homepage .os-hero-page__vysvetleni,
.onesafety-homepage .os-hero-page__hranice,
.onesafety-homepage .os-hero-page__podpora {
	padding-block: clamp(1.75rem, 3.5vw, 3rem);
}

.onesafety-homepage .os-hero-page__vysvetleni-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}

.onesafety-homepage .os-hero-page__heading {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 3vw, 2.3rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-hero-page__heading .os-line {
	display: block;
}

.onesafety-homepage .os-hero-page__text {
	margin: 0 0 1rem;
	max-width: 36rem;
	color: var(--os-blue-ink);
	font-size: 0.98rem;
	line-height: 1.62;
}

.onesafety-homepage .os-hero-page__funkce {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 1rem;
}

.onesafety-homepage .os-hero-page__funkce-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.9rem;
	align-items: start;
	padding: 1rem 1.15rem;
	background: #f6f8fc;
	border-radius: var(--os-radius-sm);
}

.onesafety-homepage .os-hero-page__funkce-icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0.6rem;
	background: var(--os-white);
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-hero-page__funkce-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-hero-page__funkce-title {
	display: block;
	font-size: 0.98rem;
	font-weight: 800;
}

.onesafety-homepage .os-hero-page__funkce-text {
	display: block;
	margin-top: 0.25rem;
	color: var(--os-blue-ink);
	font-size: 0.88rem;
	line-height: 1.55;
}

.onesafety-homepage .os-hero-page__hranice-box {
	padding: clamp(1.25rem, 2.5vw, 2rem);
	background: #fff8e6;
	border: 1px solid #f0d488;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-hero-page__hranice-title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.15rem, 2.2vw, 1.5rem);
	font-weight: 800;
}

.onesafety-homepage .os-hero-page__podpora-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) auto;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	background: #eef4fc;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-hero-page__podpora-action {
	margin: 0;
}

.onesafety-homepage .os-hero-page__back {
	margin: 0;
	padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 4vw, 2.5rem);
}

/* Mecenášství */

.onesafety-homepage .os-mecenas__rozsah {
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.6rem;
}

.onesafety-homepage .os-mecenas__rozsah-btn {
	width: 100%;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	gap: 0.25rem 0.9rem;
	padding: 1rem 1.15rem;
	background: #f6f8fc;
	border: 2px solid transparent;
	border-radius: var(--os-radius-sm);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.onesafety-homepage .os-mecenas__rozsah-btn:hover {
	background: #eef4fc;
}

.onesafety-homepage .os-mecenas__rozsah-btn.is-active {
	background: var(--os-white);
	border-color: var(--os-blue);
}

.onesafety-homepage .os-mecenas__rozsah-icon {
	grid-row: 1 / 3;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0.6rem;
	background: var(--os-white);
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-mecenas__rozsah-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-mecenas__rozsah-title {
	font-size: 0.98rem;
	font-weight: 800;
}

.onesafety-homepage .os-mecenas__rozsah-text {
	color: var(--os-blue-ink);
	font-size: 0.86rem;
	line-height: 1.55;
}

.onesafety-homepage .os-mecenas__label-castky {
	margin-top: 0.5rem;
}

.onesafety-homepage .os-mecenas__castky {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.onesafety-homepage .os-mecenas__vybrano {
	margin: 0 0 1rem;
	padding: 0.7rem 1rem;
	background: #eef4fc;
	border-radius: var(--os-radius-sm);
	color: var(--os-blue-ink);
	font-size: 0.92rem;
}

.onesafety-homepage .os-mecenas__krok-title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.15rem, 2.2vw, 1.5rem);
	font-weight: 800;
}

.onesafety-homepage .os-mecenas__pole-siroke {
	grid-column: 1 / -1;
}

.onesafety-homepage .os-mecenas__bez {
	margin: 0.85rem 0 0;
	text-align: center;
}

.onesafety-homepage .os-mecenas__citat {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
	border-top: 1px solid var(--os-line);
}

.onesafety-homepage .os-mecenas__zpet {
	padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 4vw, 2.5rem);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-hero-page__vysvetleni-inner,
	.onesafety-homepage .os-hero-page__podpora-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-mecenas__castky {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-mecenas__castky {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-mecenas__rozsah-btn {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-mecenas__rozsah-icon {
		grid-row: auto;
		margin-bottom: 0.5rem;
	}
}

/*
 * Odkrývací animace na stránkách podpory. Sekce, které skript
 * neodkryl, by zůstaly neviditelné a stránka by vypadala prázdná.
 */

.onesafety-homepage.os-dar.os-reveal [data-os-in],
.onesafety-homepage.os-dar [data-os-in],
.onesafety-homepage.os-hero-page.os-reveal [data-os-in],
.onesafety-homepage.os-hero-page [data-os-in] {
	opacity: 1;
	transform: none;
}

/* Nápověda pod volbou soukromá osoba nebo firma. */

.onesafety-homepage .os-dar__kdo-napoveda {
	margin: 0.6rem 0 0;
	color: var(--os-muted);
	font-size: 0.84rem;
	line-height: 1.5;
}

/* =========================================================================
 * Stránka s poděkováním podporovatelům
 * ========================================================================= */

.onesafety-homepage .os-diky__hero {
	padding-block: clamp(1.5rem, 3vw, 2.75rem);
}

.onesafety-homepage .os-diky__eyebrow {
	margin: 0 0 0.85rem;
	color: var(--os-blue);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.onesafety-homepage .os-diky__heading {
	margin: 0;
	max-width: 22ch;
	font-size: clamp(2rem, 4.6vw, 3.4rem);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -0.03em;
}

.onesafety-homepage .os-diky__heading .os-line {
	display: block;
}

.onesafety-homepage .os-diky__lead {
	margin: 1.25rem 0 0;
	max-width: 46rem;
	color: var(--os-blue-ink);
	font-size: clamp(0.98rem, 1.4vw, 1.1rem);
	line-height: 1.6;
}

.onesafety-homepage .os-diky__seznam {
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-diky__seznam-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}

.onesafety-homepage .os-diky__skupina-title {
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--os-blue);
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
	font-weight: 800;
}

.onesafety-homepage .os-diky__jmena {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.15rem;
}

.onesafety-homepage .os-diky__jmeno {
	padding: 0.6rem 0.85rem;
	border-radius: var(--os-radius-sm);
	color: var(--os-ink);
	font-size: 0.98rem;
	line-height: 1.45;
}

.onesafety-homepage .os-diky__jmeno:nth-child(odd) {
	background: #f6f8fc;
}

.onesafety-homepage .os-diky__jmeno--firma {
	font-weight: 700;
}

.onesafety-homepage .os-diky__prazdno {
	margin: 0;
	padding: 1rem 0;
	color: var(--os-muted);
	font-size: 0.92rem;
}

.onesafety-homepage .os-diky__anonymni {
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
	border-top: 1px solid var(--os-line);
	color: var(--os-muted);
	font-size: 0.95rem;
	line-height: 1.6;
}

.onesafety-homepage .os-diky__cta {
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-diky__cta-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) auto;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
	padding: clamp(1.25rem, 2.5vw, 2rem);
	background: #eef4fc;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-diky__cta-title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	font-weight: 800;
}

.onesafety-homepage .os-diky__cta-text {
	margin: 0;
	color: var(--os-blue-ink);
	font-size: 0.95rem;
	line-height: 1.6;
}

.onesafety-homepage .os-diky__cta-action {
	margin: 0;
}

.onesafety-homepage .os-diky__zmena {
	margin: 0;
	color: var(--os-muted);
	font-size: 0.85rem;
	line-height: 1.6;
}

.onesafety-homepage .os-diky__back {
	margin: 0;
	padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 4vw, 2.5rem);
}

/* Volba zveřejnění ve formuláři daru. */

.onesafety-homepage .os-dar__verejne {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--os-line);
}

.onesafety-homepage .os-dar__verejne-label {
	display: block;
	margin-bottom: 0.6rem;
	color: var(--os-ink);
	font-size: 0.92rem;
	font-weight: 600;
}

.onesafety-homepage .os-dar__verejne-volby {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
}

.onesafety-homepage .os-dar__verejne-hint {
	display: block;
	margin-top: 0.5rem;
	color: var(--os-muted);
	font-size: 0.8rem;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.onesafety-homepage .os-diky__seznam-inner,
	.onesafety-homepage .os-diky__cta-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-diky__skupina + .os-diky__skupina {
		margin-top: 0.5rem;
	}

	.onesafety-homepage .os-dar__verejne-volby {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =========================================================================
 * Přestavěná stránka Staňte se mecenášem podle schválených obrazovek
 * ========================================================================= */

.onesafety-homepage.os-mecenas .os-dar__hero { display: none; }

.onesafety-homepage .os-mecenas__zpet-radek {
	padding-top: clamp(1rem, 2vw, 1.5rem);
}

.onesafety-homepage .os-mecenas__kroky-lista {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	padding-top: clamp(1rem, 2vw, 1.5rem);
	padding-bottom: clamp(1rem, 2vw, 1.5rem);
}

.onesafety-homepage .os-mecenas__krok-znacka {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--os-muted);
	font-size: 0.85rem;
	font-weight: 700;
}

.onesafety-homepage .os-mecenas__krok-cislo {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #eef4fc;
	color: var(--os-blue);
	font-size: 0.75rem;
}

.onesafety-homepage .os-mecenas__krok-znacka.is-active {
	color: var(--os-ink);
}

.onesafety-homepage .os-mecenas__krok-znacka.is-active .os-mecenas__krok-cislo,
.onesafety-homepage .os-mecenas__krok-znacka.is-done .os-mecenas__krok-cislo {
	background: var(--os-blue);
	color: var(--os-white);
}

.onesafety-homepage .os-mecenas__box {
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	max-width: none;
}

.onesafety-homepage .os-mecenas__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-mecenas__karty {
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}

.onesafety-homepage .os-mecenas__karta {
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: var(--os-white);
	border: 1px solid #e6ecf4;
	border-radius: var(--os-radius-md);
	display: flex;
	flex-direction: column;
}

.onesafety-homepage .os-mecenas__karta-icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 1rem;
	padding: 0.85rem;
	background: #eef4fc;
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-mecenas__karta-icon svg,
.onesafety-homepage .os-mecenas__banner-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-mecenas__karta-eyebrow {
	margin: 0 0 0.5rem;
	color: var(--os-blue);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.onesafety-homepage .os-mecenas__karta-title {
	margin: 0 0 0.6rem;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.25;
}

.onesafety-homepage .os-mecenas__karta-text {
	margin: 0 0 1.25rem;
	flex: 1 1 auto;
	color: var(--os-blue-ink);
	font-size: 0.9rem;
	line-height: 1.6;
}

.onesafety-homepage .os-mecenas__karta-akce {
	margin: 0;
}

.onesafety-homepage .os-mecenas__karta-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0;
	background: none;
	border: 0;
	color: var(--os-blue);
	font: inherit;
	font-weight: 700;
	font-size: 0.92rem;
	cursor: pointer;
}

.onesafety-homepage .os-mecenas__banner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(1rem, 2vw, 1.75rem);
	align-items: center;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: #eef4fc;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-mecenas__banner-icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0.85rem;
	background: var(--os-white);
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-mecenas__banner-title {
	margin: 0.3rem 0 0.4rem;
	font-size: 1.3rem;
	font-weight: 800;
}

.onesafety-homepage .os-mecenas__banner-akce {
	margin: 0;
}

.onesafety-homepage .os-mecenas__jina-pole {
	display: none;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.75rem;
	align-items: end;
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
}

.onesafety-homepage .os-mecenas__jina-pole:not([hidden]) {
	display: grid;
}

.onesafety-homepage .os-mecenas__jina-btn {
	min-height: 52px;
	white-space: nowrap;
}

.onesafety-homepage .os-mecenas__citat {
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: #f6f8fc;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-mecenas__citat-note {
	display: block;
	margin-top: 0.5rem;
	color: var(--os-muted);
	font-size: 0.82rem;
	font-style: normal;
}

.onesafety-homepage .os-mecenas__partnerstvi {
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
	padding: 1rem 1.25rem;
	background: var(--os-white);
	border: 1px dashed #c9dcf4;
	border-radius: var(--os-radius-sm);
	color: var(--os-blue-ink);
	font-size: 0.92rem;
	line-height: 1.6;
}

.onesafety-homepage .os-mecenas__partnerstvi a {
	margin-left: 0.4rem;
	color: var(--os-blue);
	font-weight: 700;
	white-space: nowrap;
}

/* Krok 2 - údaje, QR souhrn, kontakt na Davida */

.onesafety-homepage .os-mecenas__krok2-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
	padding-block: clamp(1rem, 2vw, 1.5rem);
}

.onesafety-homepage .os-mecenas__krok2-heading {
	margin: 0.5rem 0 1rem;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	line-height: 1.15;
}

.onesafety-homepage .os-mecenas__sekce-label {
	margin-top: 1.5rem;
}

.onesafety-homepage .os-mecenas__radio .os-dar__souhlas-label input {
	border-radius: 50%;
}

.onesafety-homepage .os-mecenas__jak-pole {
	margin: 0.6rem 0 0.6rem 2rem;
}

.onesafety-homepage .os-mecenas__krok2-vedlejsi {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	align-content: start;
}

.onesafety-homepage .os-mecenas__prispevek,
.onesafety-homepage .os-mecenas__co-dal,
.onesafety-homepage .os-mecenas__dotazy {
	padding: clamp(1.15rem, 2.2vw, 1.5rem);
	background: #f6f8fc;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-mecenas__prispevek-castka {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin: 0.5rem 0 1rem;
}

.onesafety-homepage .os-mecenas__prispevek-icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	background: #eef4fc;
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-mecenas__prispevek-icon svg {
	display: block;
	width: 22px;
	height: 22px;
}

.onesafety-homepage .os-mecenas__prispevek-popis {
	display: block;
	color: var(--os-muted);
	font-size: 0.8rem;
}

.onesafety-homepage .os-mecenas__prispevek-hodnota {
	display: block;
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--os-blue);
}

.onesafety-homepage .os-mecenas__qr {
	display: grid;
	place-items: center;
	min-height: 140px;
	padding: 0.75rem;
	margin-bottom: 1rem;
	background: var(--os-white);
	border-radius: var(--os-radius-sm);
	color: var(--os-muted);
	font-size: 0.85rem;
	text-align: center;
}

.onesafety-homepage .os-mecenas__qr svg {
	display: block;
	width: 100%;
	max-width: 200px;
	height: auto;
}

.onesafety-homepage .os-mecenas__prispevek-detail {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	padding-top: 0.85rem;
	border-top: 1px solid #dde5f0;
}

.onesafety-homepage .os-mecenas__prispevek-detail span {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.onesafety-homepage .os-mecenas__prispevek-label {
	color: var(--os-muted);
	font-size: 0.72rem;
}

.onesafety-homepage .os-mecenas__dotazy-osoba {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0.5rem 0 0.85rem;
}

.onesafety-homepage .os-mecenas__dotazy-foto {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
	filter: grayscale(1);
}

.onesafety-homepage .os-mecenas__dotazy-kontakt {
	margin: 0.3rem 0;
	font-size: 0.9rem;
}

.onesafety-homepage .os-mecenas__dotazy-kontakt a {
	color: var(--os-blue);
	font-weight: 600;
}

.onesafety-homepage .os-mecenas__dotazy-btn {
	width: 100%;
	margin-top: 0.6rem;
	text-align: center;
	justify-content: center;
}

.onesafety-homepage .os-mecenas__citat-vedlejsi {
	padding: clamp(1.1rem, 2.2vw, 1.4rem);
	background: #f6f8fc;
	border-radius: var(--os-radius-md);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-mecenas__hero-inner,
	.onesafety-homepage .os-mecenas__krok2-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-mecenas__hero-inner .os-dar__media {
		order: -1;
		min-height: 0;
	}

	.onesafety-homepage .os-mecenas__hero-inner .os-dar__photo {
		height: auto;
		max-height: 46vh;
	}

	.onesafety-homepage .os-mecenas__karty {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-mecenas__banner {
		grid-template-columns: minmax(0, 1fr);
		text-align: left;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-mecenas__karty {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-mecenas__kroky-lista {
		gap: 1rem;
	}

	.onesafety-homepage .os-mecenas__jina-pole {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =========================================================================
 * Stránka Zažijte OneSafety zblízka
 * ========================================================================= */

.onesafety-homepage.os-partnerstvi .os-nav__item--cta a::after { content: none; }

.onesafety-homepage .os-partnerstvi__karty-sekce {
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-partnerstvi__karty {
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-partnerstvi__karta {
	padding-left: clamp(1rem, 2vw, 1.5rem);
	border-left: 1px solid var(--os-line);
}

.onesafety-homepage .os-partnerstvi__karta:first-child {
	padding-left: 0;
	border-left: 0;
}

.onesafety-homepage .os-partnerstvi__karta-icon {
	display: grid;
	place-items: center;
	width: clamp(44px, 4vw, 54px);
	height: clamp(44px, 4vw, 54px);
	margin-bottom: 0.85rem;
	padding: 0.75rem;
	background: #eef4fc;
	border-radius: 50%;
	color: var(--os-blue);
}

.onesafety-homepage .os-partnerstvi__karta-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-partnerstvi__karta-title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 800;
}

.onesafety-homepage .os-partnerstvi__karta-text {
	margin: 0;
	color: var(--os-blue-ink);
	font-size: 0.9rem;
	line-height: 1.6;
}

.onesafety-homepage .os-partnerstvi__citat {
	padding: clamp(1.15rem, 2.2vw, 1.5rem);
	background: #eef4fc;
	border-radius: var(--os-radius-md);
}

.onesafety-homepage .os-partnerstvi__setkani {
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.onesafety-homepage .os-partnerstvi__setkani-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-partnerstvi__karty {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-partnerstvi__karta:nth-child(2) {
		padding-left: clamp(1rem, 2vw, 1.5rem);
		border-left: 1px solid var(--os-line);
	}

	.onesafety-homepage .os-partnerstvi__karta:nth-child(3) {
		padding-left: 0;
		border-left: 0;
		grid-column: 1 / -1;
		margin-top: 1.25rem;
		padding-top: 1.25rem;
		border-top: 1px solid var(--os-line);
	}

	.onesafety-homepage .os-partnerstvi__setkani-inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-partnerstvi__karty {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-partnerstvi__karta,
	.onesafety-homepage .os-partnerstvi__karta:nth-child(2),
	.onesafety-homepage .os-partnerstvi__karta:nth-child(3) {
		padding-left: 0;
		border-left: 0;
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}

	.onesafety-homepage .os-partnerstvi__karta + .os-partnerstvi__karta {
		margin-top: 1.15rem;
		padding-top: 1.15rem;
		border-top: 1px solid var(--os-line);
	}
}

/* =========================================================================
 * Odkaz na storyboard uvnitř existujících karet témat + lehký modal
 * ========================================================================= */

.onesafety-homepage button.os-video__link--storyboard {
	font: inherit;
	background: none;
	border: 0;
	cursor: pointer;
	color: var(--os-blue);
}

.onesafety-homepage .os-storyprev__modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: grid;
	place-items: center;
	padding: clamp(1rem, 4vw, 2rem);
}

.onesafety-homepage .os-storyprev__modal[hidden] {
	display: none;
}

.onesafety-homepage .os-storyprev__modal-pozadi {
	position: absolute;
	inset: 0;
	background: rgba(11, 28, 51, 0.72);
}

.onesafety-homepage .os-storyprev__modal-okno {
	position: relative;
	z-index: 1;
	width: min(100%, 60rem);
	max-height: 92vh;
	overflow-y: auto;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: var(--os-white);
	border-radius: var(--os-radius-md);
	box-shadow: 0 24px 70px rgba(11, 28, 51, 0.35);
}

.onesafety-homepage .os-storyprev__modal-x {
	position: absolute;
	right: 0.75rem;
	top: 0.75rem;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	background: var(--os-white);
	border: 0;
	border-radius: 50%;
	color: var(--os-ink);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(11, 28, 51, 0.15);
}

.onesafety-homepage .os-storyprev__modal-nazev {
	margin: 1rem 0 0;
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
	font-weight: 800;
}

.onesafety-homepage .os-storyprev__modal-obrazky {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.onesafety-homepage .os-storyprev__modal-figura {
	flex: 1 1 260px;
	margin: 0;
}

.onesafety-homepage .os-storyprev__modal-figura img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--os-radius-sm);
	background: #eef1f5;
}

.onesafety-homepage .os-storyprev__modal-figura figcaption {
	margin-top: 0.4rem;
	color: var(--os-blue-ink);
	font-size: 0.8rem;
	font-weight: 700;
}

@media (max-width: 639px) {
	.onesafety-homepage .os-storyprev__modal-okno {
		width: 100%;
		max-height: 94vh;
	}
}

/* Náhled tématu jako klikatelné tlačítko, když už máme reálné video. */
.onesafety-homepage button.os-video__thumb--hraje {
	display: block;
	padding: 0;
	border: 0;
	cursor: pointer;
	font: inherit;
}

.onesafety-homepage button.os-video__thumb--hraje:hover .os-video__play,
.onesafety-homepage button.os-video__thumb--hraje:focus-visible .os-video__play {
	transform: scale(1.08);
}

/* =========================================================================
 * Plná galerie storyboardů na stránce edukačních videí
 * ========================================================================= */

.onesafety-homepage .os-storyprev {
	padding-block: clamp(1.75rem, 3.5vw, 2.75rem);
	border-top: 1px solid var(--os-line);
}

.onesafety-homepage .os-storyprev__grid {
	margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}

.onesafety-homepage .os-storyprev__card {
	display: flex;
	flex-direction: column;
}

.onesafety-homepage .os-storyprev__thumb {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 0 0.85rem;
	padding: 0;
	background: #eef1f5;
	border: 0;
	border-radius: var(--os-radius-sm);
	overflow: hidden;
	cursor: pointer;
}

.onesafety-homepage .os-storyprev__thumb--staticky {
	cursor: default;
}

.onesafety-homepage .os-storyprev__thumb--prazdny {
	display: grid;
	place-items: center;
	padding: 0.75rem;
	color: var(--os-muted);
	font-size: 0.78rem;
	text-align: center;
	line-height: 1.4;
}

.onesafety-homepage .os-storyprev__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.onesafety-homepage .os-storyprev__zoom {
	position: absolute;
	right: 0.5rem;
	bottom: 0.5rem;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	background: rgba(16, 19, 23, 0.65);
	border-radius: 50%;
	color: var(--os-white);
	font-size: 0.95rem;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.onesafety-homepage .os-storyprev__thumb:hover .os-storyprev__zoom,
.onesafety-homepage .os-storyprev__thumb:focus-visible .os-storyprev__zoom {
	opacity: 1;
}

.onesafety-homepage .os-storyprev__badge {
	display: inline-block;
	align-self: flex-start;
	margin-bottom: 0.5rem;
	padding: 0.25rem 0.6rem;
	background: #eef4fc;
	border-radius: 999px;
	color: var(--os-blue);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.onesafety-homepage .os-storyprev__badge--pilot {
	background: #eaf7ee;
	color: #1d7a35;
}

.onesafety-homepage .os-storyprev__title {
	margin: 0 0 0.4rem;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.3;
}

.onesafety-homepage .os-storyprev__text {
	margin: 0;
	color: var(--os-blue-ink);
	font-size: 0.8rem;
	line-height: 1.5;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-storyprev__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-storyprev__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* =========================================================================
 * Verze 1.74.1 - ambasadoři (tlačítko přehrát), přehrávač videa,
 * karta Podpořte nás podle PDF, stránka mecenášství podle návrhu
 * ========================================================================= */

/*
 * Ambasadoři.
 *
 * Seznam vedle hlavní karty měl na mobilu tři sloupce vedle sebe
 * a tlačítka s white-space: nowrap přetékala mimo kartu. Teď je
 * seznam vždy pod sebou a každá karta je vodorovná - fotka vlevo,
 * text a tlačítko vpravo, stejně jako v návrhu.
 */

.onesafety-homepage .os-faces__list {
	grid-template-columns: minmax(0, 1fr);
}

.onesafety-homepage .os-faces__list .os-face {
	flex-direction: row;
	align-items: stretch;
}

.onesafety-homepage .os-faces__list .os-face__media {
	flex: 0 0 38%;
	max-width: 38%;
}

.onesafety-homepage .os-faces__list .os-face .os-face__image {
	height: 100%;
	min-height: 170px;
	aspect-ratio: auto;
	object-position: top center;
}

.onesafety-homepage .os-faces__list .os-face__body {
	flex: 1 1 auto;
	min-width: 0;
	justify-content: center;
	padding: clamp(1rem, 2.4vw, 1.75rem);
}

.onesafety-homepage .os-face__actions {
	margin-top: 0.85rem;
}

/* Tlačítko Přehrát vzkaz */

.onesafety-homepage .os-face__play {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.75rem;
	max-width: 100%;
	min-height: 56px;
	padding: 0.45rem 1.1rem 0.45rem 0.45rem;
	background: var(--os-white);
	border: 1.5px solid var(--os-blue);
	border-radius: 14px;
	color: var(--os-blue);
	font: inherit;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.onesafety-homepage .os-face__play:hover,
.onesafety-homepage .os-face__play:focus-visible {
	background: #f0f5ff;
	box-shadow: 0 6px 18px rgba(1, 81, 240, 0.14);
}

.onesafety-homepage .os-face__play:focus-visible {
	outline: 3px solid var(--os-blue);
	outline-offset: 3px;
}

.onesafety-homepage .os-face__play-ikona {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 9px 8px 9px 10px;
	background: var(--os-blue);
	border-radius: 50%;
	color: var(--os-white);
	transition: transform 0.2s ease;
}

.onesafety-homepage .os-face__play:hover .os-face__play-ikona {
	transform: scale(1.06);
}

.onesafety-homepage .os-face__play-ikona svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-face__play-text {
	min-width: 0;
}

.onesafety-homepage .os-face__play-cas {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--os-blue);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.onesafety-homepage .os-face__play-tecka {
	font-size: 0.8em;
}

.onesafety-homepage .os-face__play {
	flex-wrap: nowrap;
}

.onesafety-homepage .os-face__play-popis {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	min-width: 0;
}

/*
 * V úzké kartě (seznam vedle hlavní karty, mobil) jde délka pod text
 * a tečka se skryje - jinak by se zalomila na začátek řádku.
 */
.onesafety-homepage .os-face__body {
	container-type: inline-size;
}

@container (max-width: 319px) {
	.onesafety-homepage .os-face__play {
		padding-right: 0.9rem;
	}

	.onesafety-homepage .os-face__play-popis {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.1rem;
	}

	.onesafety-homepage .os-face__play-tecka {
		display: none;
	}

	.onesafety-homepage .os-face__play-cas {
		font-size: 0.88rem;
	}
}

@media (min-width: 480px) {
	.onesafety-homepage .os-faces__list .os-face__media {
		flex-basis: 34%;
		max-width: 34%;
	}

	.onesafety-homepage .os-faces__list .os-face__play {
		gap: 0.35rem 0.6rem;
		padding-right: 0.9rem;
		font-size: 0.95rem;
	}

	.onesafety-homepage .os-face__play-text,
	.onesafety-homepage .os-face__play-cas {
		white-space: nowrap;
	}
}

@media (max-width: 479px) {
	.onesafety-homepage .os-faces__list .os-face__media {
		flex-basis: 36%;
		max-width: 36%;
	}

	.onesafety-homepage .os-faces__list .os-face__play {
		font-size: 0.92rem;
	}

	.onesafety-homepage .os-faces__list .os-face__play-ikona {
		width: 38px;
		height: 38px;
		padding: 8px 7px 8px 9px;
	}
}

/*
 * Přehrávač videa (sdílený modal). Na webu dosud nebyl nastylovaný
 * vůbec - modal se po otevření vykreslil jako obyčejný prvek ve
 * stránce.
 */

.onesafety-homepage .os-video-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: clamp(0.75rem, 3vw, 2rem);
}

.onesafety-homepage .os-video-modal[hidden] {
	display: none;
}

.onesafety-homepage .os-video-modal__pozadi {
	position: absolute;
	inset: 0;
	background: rgba(6, 14, 28, 0.86);
}

.onesafety-homepage .os-video-modal__okno {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	max-width: 100%;
}

.onesafety-homepage .os-video-modal__nazev {
	margin: 0;
	padding-right: 3rem;
	color: var(--os-white);
	font-size: clamp(1rem, 2vw, 1.25rem);
	font-weight: 700;
	align-self: stretch;
}

.onesafety-homepage .os-video-modal__x {
	position: absolute;
	top: -0.35rem;
	right: 0;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: rgba(255, 255, 255, 0.14);
	border: 0;
	border-radius: 50%;
	color: var(--os-white);
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.onesafety-homepage .os-video-modal__x:hover,
.onesafety-homepage .os-video-modal__x:focus-visible {
	background: rgba(255, 255, 255, 0.26);
}

.onesafety-homepage .os-video-player {
	position: relative;
	max-width: 100%;
	border-radius: var(--os-radius-md);
	overflow: hidden;
	background: #000;
	line-height: 0;
}

.onesafety-homepage .os-video-player__el {
	display: block;
	width: auto;
	max-width: min(92vw, 1100px);
	height: auto;
	max-height: calc(100vh - 7rem);
	max-height: calc(100dvh - 7rem);
	background: #000;
}

.onesafety-homepage .os-video-player__playpause {
	position: absolute;
	inset: 0 0 56px 0;
	display: grid;
	place-items: center;
	width: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--os-white);
	cursor: pointer;
}

.onesafety-homepage .os-video-player__play-ikona,
.onesafety-homepage .os-video-player__pause-ikona {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--os-blue);
	font-size: 1.6rem;
	line-height: 1;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

.onesafety-homepage .os-video-player__play-ikona {
	padding-left: 5px;
}

.onesafety-homepage .os-video-player__pause-ikona {
	display: none;
	font-size: 1.1rem;
	letter-spacing: -0.1em;
}

/* Při přehrávání je střed čistý; pauza se ukáže jen při najetí. */
.onesafety-homepage .os-video-modal:not(.is-paused) .os-video-player__play-ikona {
	display: none;
}

.onesafety-homepage .os-video-modal:not(.is-paused) .os-video-player__playpause:focus-visible .os-video-player__pause-ikona {
	display: grid;
}

@media (hover: hover) {
	.onesafety-homepage .os-video-modal:not(.is-paused) .os-video-player__playpause:hover .os-video-player__pause-ikona {
		display: grid;
	}
}

.onesafety-homepage .os-video-player__ovladani {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	height: 56px;
	padding: 0 1rem;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0));
	color: var(--os-white);
	line-height: 1;
}

.onesafety-homepage .os-video-player__mute {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: rgba(255, 255, 255, 0.16);
	border: 0;
	border-radius: 50%;
	color: var(--os-white);
	font-size: 1.1rem;
	cursor: pointer;
}

.onesafety-homepage .os-video-player__zvuk-ztlumen,
.onesafety-homepage .os-video-modal.is-muted .os-video-player__zvuk-zapnut {
	display: none;
}

.onesafety-homepage .os-video-modal.is-muted .os-video-player__zvuk-ztlumen {
	display: inline;
}

.onesafety-homepage .os-video-player__posuvnik {
	flex: 1 1 auto;
	min-width: 0;
	height: 24px;
	margin: 0;
	accent-color: var(--os-blue);
	cursor: pointer;
}

.onesafety-homepage .os-video-player__cas {
	flex: 0 0 auto;
	min-width: 2.6rem;
	font-size: 0.85rem;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

/*
 * Karta Podpořte nás podle finálního zadání (PDF): text vlevo,
 * fotografie vpravo doléhá k okraji karty, trojice hodnot přes
 * celou šířku pod oběma sloupci.
 */

.onesafety-homepage .os-support-card__box {
	position: relative;
	overflow: hidden;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas:
		"body media"
		"pilire pilire";
	gap: 0 clamp(1.25rem, 3vw, 2.5rem);
	align-items: stretch;
	padding: 0;
}

.onesafety-homepage .os-support-card__body {
	grid-area: body;
	align-self: center;
	padding: clamp(1.5rem, 3.5vw, 3rem) 0 clamp(1.25rem, 2.5vw, 2rem) clamp(1.5rem, 3.5vw, 3rem);
}

.onesafety-homepage .os-support-card__heading {
	font-size: clamp(1.8rem, 3.2vw, 2.6rem);
}

.onesafety-homepage .os-support-card__media {
	grid-area: media;
	position: relative;
	min-height: 320px;
	overflow: hidden;
}

/* Výšku karty určuje text, fotografie jen vyplní svůj sloupec. */
.onesafety-homepage .os-support-card__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-height: none;
	border-radius: 0;
	object-fit: cover;
	object-position: 60% center;
}

.onesafety-homepage .os-support-card__pilire {
	grid-area: pilire;
	margin: 0 clamp(1.5rem, 3.5vw, 3rem);
	padding: clamp(1.1rem, 2.2vw, 1.6rem) 0 clamp(1.25rem, 2.5vw, 1.85rem);
}

/* Tři hodnoty přes celou šířku - popisky už se nelámou do tří řádků. */
.onesafety-homepage .os-support-card__pilir {
	justify-content: center;
}

.onesafety-homepage .os-support-card__pilir-label .os-line {
	display: inline;
}

.onesafety-homepage .os-support-card__pilir-label .os-line + .os-line::before {
	content: " ";
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-support-card__box {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"media"
			"body"
			"pilire";
	}

	.onesafety-homepage .os-support-card__body {
		padding: clamp(1.25rem, 4vw, 2rem) clamp(1.25rem, 4vw, 2rem) 0;
	}

	.onesafety-homepage .os-support-card__media {
		min-height: 0;
		aspect-ratio: 3 / 2;
		max-height: 46vh;
		width: 100%;
	}

	.onesafety-homepage .os-support-card__pilire {
		margin: clamp(1.25rem, 3vw, 1.75rem) clamp(1.25rem, 4vw, 2rem) 0;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-support-card__pilir {
		justify-content: flex-start;
	}
}

/*
 * Stránka mecenášství podle návrhu: ikona v kruhu, částka jako
 * modrý štítek, velký nadpis, textový odkaz se šipkou. Banner série
 * s ilustrací klapky a citát na konci ve dvou sloupcích.
 */

.onesafety-homepage.os-mecenas {
	background: #f5f8fd;
}

.onesafety-homepage .os-mecenas__karta {
	padding: clamp(1.4rem, 2.6vw, 2.25rem);
	border-color: #e3eaf5;
	border-radius: 18px;
	box-shadow: 0 6px 24px rgba(11, 28, 51, 0.04);
}

.onesafety-homepage .os-mecenas__karta-icon,
.onesafety-homepage .os-mecenas__banner-icon {
	width: 64px;
	height: 64px;
	padding: 1rem;
	background: #e7effc;
	color: var(--os-blue);
}

.onesafety-homepage .os-mecenas__stitek {
	display: inline-block;
	align-self: flex-start;
	margin: 0 0 1rem;
	padding: 0.4rem 1.1rem;
	background: #e3edfc;
	border-radius: 999px;
	color: var(--os-blue);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	font-variant-numeric: tabular-nums;
}

.onesafety-homepage .os-mecenas__stitek--velky {
	margin: 0.25rem 0 1rem;
	padding: 0.45rem 1.4rem;
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
	font-weight: 800;
}

.onesafety-homepage .os-mecenas__karta-title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.45rem, 2.2vw, 1.85rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
	max-width: 12ch;
}

.onesafety-homepage .os-mecenas__karta-text {
	color: var(--os-muted);
	font-size: 0.98rem;
	line-height: 1.6;
}

.onesafety-homepage .os-mecenas__karta-btn {
	gap: 0.6rem;
	font-size: 1.05rem;
}

.onesafety-homepage .os-mecenas__karta-btn .os-dar__arrow {
	font-size: 1.25em;
	transition: transform 0.2s ease;
}

.onesafety-homepage .os-mecenas__karta-btn:hover .os-dar__arrow,
.onesafety-homepage .os-mecenas__karta-btn:focus-visible .os-dar__arrow {
	transform: translateX(4px);
}

.onesafety-homepage .os-mecenas__banner {
	position: relative;
	grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(1rem, 2.5vw, 2rem);
	padding: clamp(1.4rem, 3vw, 2.5rem);
	background: #e9f0fc;
	border-radius: 18px;
	overflow: hidden;
}

.onesafety-homepage .os-mecenas__banner-icon {
	align-self: start;
	background: #d9e6fb;
}

.onesafety-homepage .os-mecenas__banner-eyebrow {
	margin: 0 0 0.35rem;
	color: var(--os-blue);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.onesafety-homepage .os-mecenas__banner-title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-mecenas__banner-text {
	margin: 0 0 1.25rem;
	max-width: 44rem;
	color: var(--os-muted);
	font-size: 0.98rem;
	line-height: 1.6;
}

.onesafety-homepage .os-mecenas__banner-btn {
	min-height: 52px;
	padding-inline: 1.6rem;
	font-size: 1.05rem;
}

.onesafety-homepage .os-mecenas__banner-art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
}

.onesafety-homepage .os-mecenas__klapka {
	display: block;
	width: min(100%, 300px);
	height: auto;
}

.onesafety-homepage .os-mecenas__poznamka {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	color: var(--os-blue);
	font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
	font-size: 1rem;
	font-style: italic;
	line-height: 1.35;
	transform: rotate(-8deg);
	text-align: left;
}

.onesafety-homepage .os-mecenas__poznamka .os-line {
	display: block;
}

.onesafety-homepage .os-mecenas__poznamka-sipka {
	display: block;
	width: 56px;
	height: 50px;
	margin: 0.35rem 0 0 -0.5rem;
}

/* Citát na konci - dva sloupce, oddělené linkou, bez podkladu. */
.onesafety-homepage .os-mecenas__citat {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem 2rem;
	align-items: center;
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
	padding: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
	background: none;
	border-top: 1px solid #dde5f0;
	border-radius: 0;
}

.onesafety-homepage .os-mecenas__citat-text {
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--os-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.1rem, 1.8vw, 1.35rem);
	font-style: italic;
	line-height: 1.45;
}

.onesafety-homepage .os-mecenas__citat-text .os-line {
	display: block;
}

.onesafety-homepage .os-mecenas__citat-podpis {
	position: relative;
	padding-left: 2.25rem;
}

.onesafety-homepage .os-mecenas__citat-podpis::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 1.1rem;
	border-top: 1.5px solid var(--os-ink);
}

.onesafety-homepage .os-mecenas__citat-author {
	display: block;
	font-weight: 700;
	font-size: 0.95rem;
}

.onesafety-homepage .os-mecenas__citat .os-mecenas__citat-note {
	margin-top: 0.2rem;
	font-size: 0.9rem;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-mecenas__banner {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.onesafety-homepage .os-mecenas__banner-art {
		grid-column: 1 / -1;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-mecenas__banner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-mecenas__banner-art {
		min-height: 170px;
		padding-top: 2.75rem;
	}

	.onesafety-homepage .os-mecenas__poznamka {
		font-size: 0.9rem;
	}

	.onesafety-homepage .os-mecenas__citat {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-mecenas__banner-btn {
		width: 100%;
	}
}

/*
 * Verze 1.74.2 - storyboardy už nejsou samostatná galerie pod videi,
 * ale odkaz přímo v kartě tématu vedle "Poznat přínos videa".
 */

.onesafety-homepage .os-video__link-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 1.5rem;
}

.onesafety-homepage button.os-video__link--storyboard {
	padding: 0;
	font-size: 0.82rem;
	font-weight: 700;
	gap: 0;
}

.onesafety-homepage button.os-video__link--storyboard:hover,
.onesafety-homepage button.os-video__link--storyboard:focus-visible {
	text-decoration: underline;
}

.onesafety-homepage .os-storyprev__modal-figura figcaption {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.6rem;
}

.onesafety-homepage .os-storyprev__modal-figura figcaption .os-storyprev__badge {
	margin: 0;
}

/* Název okna se storyboardy nahoře, obrázky pod ním. */
.onesafety-homepage .os-storyprev__modal-okno {
	display: flex;
	flex-direction: column;
}

.onesafety-homepage .os-storyprev__modal-nazev {
	order: -1;
	margin: 0 3.25rem 1rem 0;
}

.onesafety-homepage .os-storyprev__modal-obrazky {
	align-items: flex-start;
}

/*
 * Verze 1.74.3 - blok "OneSafety projekty nenahrazuje" a sekce
 * "Proč OneSafety vzniklo" podle návrhu: místo symbolu O čistá
 * modrá tečka #0151F0, bez gradientu a prstence.
 */

.onesafety-homepage .os-tecka {
	display: block;
	flex: 0 0 auto;
	border-radius: 50%;
	background: #0151F0;
}

/* Poznámka pod programy */

.onesafety-homepage .os-programs__note {
	background: #f7f9fd;
	border: 1px solid #e3e9f3;
	border-radius: 18px;
}

.onesafety-homepage .os-programs__note-symbol.os-tecka {
	width: clamp(56px, 6vw, 72px);
	height: clamp(56px, 6vw, 72px);
}

.onesafety-homepage .os-programs__note-title {
	color: #16243f;
	font-size: clamp(1.15rem, 1.8vw, 1.45rem);
	font-weight: 800;
	line-height: 1.25;
}

.onesafety-homepage .os-programs__note-text {
	color: var(--os-muted);
	font-size: clamp(1rem, 1.3vw, 1.1rem);
	line-height: 1.6;
}

.onesafety-homepage .os-programs__note-btn {
	letter-spacing: 0.08em;
	border-radius: 12px;
}

/* Proč OneSafety vzniklo */

.onesafety-homepage .os-story {
	background: #0b1120;
}

.onesafety-homepage .os-story__inner {
	position: relative;
	display: block;
}

.onesafety-homepage .os-story__tecka {
	position: absolute;
	top: 0;
	right: 0;
	width: clamp(52px, 6vw, 88px);
	height: clamp(52px, 6vw, 88px);
}

.onesafety-homepage .os-story__text {
	max-width: 68rem;
	padding-right: clamp(3.5rem, 9vw, 7rem);
}

.onesafety-homepage .os-story__heading {
	font-size: clamp(2rem, 5vw, 3.6rem);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.onesafety-homepage .os-story__accent {
	color: #0151F0;
}

/* Odstavec plyne přirozeně, pevné řádky se lámaly na mobilu. */
.onesafety-homepage .os-story__lead .os-line {
	display: inline;
}

.onesafety-homepage .os-story__lead .os-line + .os-line::before {
	content: " ";
}

.onesafety-homepage .os-story__lead {
	max-width: 40rem;
	color: #d6dce6;
	font-size: clamp(1.02rem, 1.4vw, 1.2rem);
	line-height: 1.6;
}

.onesafety-homepage .os-story__link {
	color: #0151F0;
}

@media (max-width: 639px) {
	.onesafety-homepage .os-story__text {
		padding-right: 0;
	}

	.onesafety-homepage .os-story__tecka {
		width: 48px;
		height: 48px;
	}

	.onesafety-homepage .os-story__text > .os-eyebrow {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding-right: 4rem;
	}
}

/*
 * Přehrávač drží formát na výšku (9:16) už před načtením videa,
 * aby se okno při otevření neukázalo jako úzký černý pruh.
 */
.onesafety-homepage .os-video-player {
	width: min(92vw, calc((100vh - 7rem) * 9 / 16));
	width: min(92vw, calc((100dvh - 7rem) * 9 / 16));
	aspect-ratio: 9 / 16;
}

.onesafety-homepage .os-video-player__el {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: contain;
	background: transparent;
}

.onesafety-homepage .os-video-player::before {
	content: "Načítám video…";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(50% + 52px);
	display: block;
	text-align: center;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.9rem;
	line-height: 1.4;
	pointer-events: none;
}

.onesafety-homepage .os-video-player__el {
	position: relative;
}

/* =========================================================================
 * Verze 1.75.0 - dopadová stránka Edukační videa (master 01-05)
 * ========================================================================= */

@font-face {
	font-family: "OS Caveat";
	src: url("../fonts/caveat-latin-500-normal.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	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: "OS Caveat";
	src: url("../fonts/caveat-latin-ext-500-normal.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	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;
}

.onesafety-homepage.os-ev {
	--ev-blue: #0151F0;
	--ev-ink: #0b1120;
	--ev-muted: #525c6b;
	--ev-soft: #eef3fd;
	--ev-card: #f7f9fd;
	--ev-line: #e3e9f3;
	background: #ffffff;
	color: var(--ev-ink);
}

.onesafety-homepage .os-ev__eyebrow {
	margin: 0 0 0.9rem;
	color: var(--ev-blue);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.onesafety-homepage .os-ev__h1,
.onesafety-homepage .os-ev__h2 {
	margin: 0 0 1.1rem;
	color: var(--ev-ink);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.02;
}

.onesafety-homepage .os-ev__h1 {
	font-size: clamp(2.6rem, 6.2vw, 5rem);
}

.onesafety-homepage .os-ev__h2 {
	font-size: clamp(2rem, 4.4vw, 3.6rem);
}

.onesafety-homepage .os-ev__h1 .os-line,
.onesafety-homepage .os-ev__h2 .os-line {
	display: block;
}

.onesafety-homepage .os-ev__lead,
.onesafety-homepage .os-ev__perex {
	margin: 0 0 1rem;
	max-width: 40rem;
	color: var(--ev-muted);
	font-size: clamp(1.02rem, 1.35vw, 1.18rem);
	line-height: 1.6;
}

.onesafety-homepage .os-ev__lead .os-line {
	display: block;
}

.onesafety-homepage .os-ev__lead strong {
	color: var(--ev-ink);
}

/* Tlačítka stránky - plná #0151F0 a obrysová varianta */

.onesafety-homepage .os-ev__akce {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin: 1.6rem 0 0;
}

.onesafety-homepage .os-ev__akce--pod-sebou {
	flex-direction: column;
	align-items: stretch;
	max-width: 26rem;
}

.onesafety-homepage .os-ev__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.9rem;
	min-height: 58px;
	padding: 0.9rem 1.8rem;
	border: 1.5px solid var(--ev-blue);
	border-radius: 12px;
	background: var(--ev-blue);
	color: #ffffff;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: normal;
	text-align: center;
}

.onesafety-homepage .os-ev__akce--pod-sebou .os-ev__btn {
	justify-content: space-between;
}

.onesafety-homepage .os-ev__btn:hover,
.onesafety-homepage .os-ev__btn:focus-visible {
	background: #0041c4;
	border-color: #0041c4;
	color: #ffffff;
}

.onesafety-homepage .os-ev__btn--ghost {
	background: #ffffff;
	color: var(--ev-blue);
}

.onesafety-homepage .os-ev__btn--ghost:hover,
.onesafety-homepage .os-ev__btn--ghost:focus-visible {
	background: var(--ev-soft);
	border-color: var(--ev-blue);
	color: var(--ev-blue);
}

.onesafety-homepage .os-ev__btn:focus-visible,
.onesafety-homepage .os-ev__filtr:focus-visible,
.onesafety-homepage .os-ev__vse:focus-visible,
.onesafety-homepage .os-ev__nahled:focus-visible,
.onesafety-homepage .os-ev__karta-cta:focus-visible {
	outline: 3px solid var(--ev-blue);
	outline-offset: 3px;
}

.onesafety-homepage .os-ev__sipka {
	font-size: 1.2em;
	line-height: 1;
}

/* Ručně psané poznámky (dekorativní, text je i v obsahu stránky) */

.onesafety-homepage .os-ev__rukou {
	position: relative;
	margin: 0;
	color: var(--ev-blue);
	font-family: "OS Caveat", "Segoe Print", "Bradley Hand", cursive;
	font-size: clamp(1.35rem, 2.1vw, 1.9rem);
	font-weight: 500;
	line-height: 1.12;
	transform: rotate(-8deg);
	pointer-events: none;
}

.onesafety-homepage .os-ev__rukou .os-line {
	display: block;
}

.onesafety-homepage .os-ev__rukou-cara {
	display: block;
	width: 7.5rem;
	height: 0.55rem;
	margin-top: 0.35rem;
	border-bottom: 2.5px solid var(--ev-blue);
	border-radius: 0 0 60% 40%;
	transform: rotate(-4deg);
}

.onesafety-homepage .os-ev__tecka {
	position: absolute;
	border-radius: 50%;
	background: #0151F0;
	pointer-events: none;
}

/* 01 HERO */

.onesafety-homepage .os-ev__hero {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.onesafety-homepage .os-ev__hero-media {
	position: absolute;
	inset: 0 0 0 auto;
	width: 55%;
	z-index: 0;
}

.onesafety-homepage .os-ev__hero-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 35% center;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%);
	mask-image: linear-gradient(90deg, transparent 0, #000 22%);
}

.onesafety-homepage .os-ev__tecka--hero {
	display: none;
}

.onesafety-homepage .os-ev__hero-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.onesafety-homepage .os-ev__hero-text {
	max-width: 44rem;
	padding: 1.2rem 1.4rem 1.2rem 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 70%, rgba(255, 255, 255, 0));
}

.onesafety-homepage .os-ev__cisla {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 1.6rem 0 1.2rem;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-ev__cislo {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0 2.2rem 0 0;
	margin-right: 2.2rem;
	border-right: 1px solid var(--ev-line);
}

.onesafety-homepage .os-ev__cislo:last-child {
	border-right: 0;
	margin-right: 0;
}

.onesafety-homepage .os-ev__cislo-hodnota {
	color: var(--ev-blue);
	font-size: clamp(2.2rem, 3.6vw, 3rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
}

.onesafety-homepage .os-ev__cislo-text {
	color: var(--ev-muted);
	font-size: 0.95rem;
	line-height: 1.35;
}

.onesafety-homepage .os-ev__cislo-text .os-line {
	display: block;
}

.onesafety-homepage .os-ev__rezie {
	margin: 0;
	max-width: 36rem;
	color: #2c3442;
	font-size: clamp(1.02rem, 1.3vw, 1.15rem);
	font-weight: 600;
	line-height: 1.45;
}

.onesafety-homepage .os-ev__duvera {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin: 1.6rem 0 0;
	color: var(--ev-muted);
	font-size: 0.98rem;
}

.onesafety-homepage .os-ev__duvera-icon {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	color: var(--ev-blue);
}

.onesafety-homepage .os-ev__duvera-icon svg,
.onesafety-homepage .os-ev__krok-icon svg,
.onesafety-homepage .os-ev__oblast-icon svg,
.onesafety-homepage .os-ev__honorar-icon svg,
.onesafety-homepage .os-ev__vse-icon svg,
.onesafety-homepage .os-ev__metodika-icon svg,
.onesafety-homepage .os-ev__nahled-ikona svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-ev__rukou--hero {
	position: absolute;
	left: 50%;
	top: 36%;
	z-index: 2;
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-ev__tecka--hero {
		display: block;
		left: 12%;
		top: 13%;
		width: clamp(120px, 11vw, 180px);
		aspect-ratio: 1;
	}
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-ev__hero {
		padding-top: 0;
	}

	.onesafety-homepage .os-ev__hero-media {
		position: relative;
		width: 100%;
		height: clamp(260px, 60vw, 460px);
	}

	.onesafety-homepage .os-ev__hero-img {
		-webkit-mask-image: none;
		mask-image: none;
		object-position: center 40%;
	}

	.onesafety-homepage .os-ev__hero-text {
		padding: 1.8rem 0 0;
		background: none;
	}

	.onesafety-homepage .os-ev__rukou--hero {
		position: absolute;
		left: auto;
		right: var(--os-shell-pad, 1rem);
		top: -4.2rem;
		font-size: 1.35rem;
		text-shadow: 0 0 6px #fff, 0 0 12px #fff;
	}

	.onesafety-homepage .os-ev__rukou--hero .os-ev__rukou-cara {
		display: none;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-ev__cislo {
		padding-right: 1rem;
		margin-right: 1rem;
	}

	.onesafety-homepage .os-ev__akce {
		flex-direction: column;
		align-items: stretch;
	}

	.onesafety-homepage .os-ev__btn {
		width: 100%;
	}
}

/* 02 KROKY */

.onesafety-homepage .os-ev__kroky {
	padding: clamp(3rem, 7vw, 6rem) 0;
	background: #ffffff;
}

.onesafety-homepage .os-ev__kroky-head {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
	gap: 1.5rem clamp(1.5rem, 4vw, 4rem);
	align-items: start;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.onesafety-homepage .os-ev__kroky-head .os-ev__lead {
	margin-top: 2.6rem;
}

.onesafety-homepage .os-ev__rukou--kroky {
	margin-top: 1.8rem;
	padding-right: 1rem;
}

.onesafety-homepage .os-ev__kroky-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.4rem, 3vw, 3rem);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.onesafety-homepage .os-ev__krok {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0.9rem 0.9rem 1.4rem;
	border: 1px solid #edf1f7;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(11, 17, 32, 0.05);
}

.onesafety-homepage .os-ev__krok + .os-ev__krok::before {
	content: "\2192";
	position: absolute;
	left: calc(-0.5 * clamp(1.4rem, 3vw, 3rem) - 0.55em);
	top: 38%;
	color: var(--ev-blue);
	font-size: 1.9rem;
	line-height: 1;
}

.onesafety-homepage .os-ev__krok-media {
	position: relative;
	margin-bottom: 2.4rem;
}

.onesafety-homepage .os-ev__krok-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 297 / 274;
	object-fit: cover;
	border-radius: 14px;
}

.onesafety-homepage .os-ev__krok-cislo {
	position: absolute;
	left: -1.4rem;
	top: -1.4rem;
	display: grid;
	place-items: center;
	width: 3.7rem;
	height: 3.7rem;
	border-radius: 50%;
	background: var(--ev-blue);
	color: #ffffff;
	font-size: 1.35rem;
	font-weight: 800;
	box-shadow: 0 0 0 5px #ffffff;
}

.onesafety-homepage .os-ev__krok-icon {
	position: absolute;
	left: 0.4rem;
	bottom: -2.2rem;
	width: 5.2rem;
	height: 5.2rem;
	padding: 1.25rem;
	border-radius: 50%;
	background: #ffffff;
	color: var(--ev-blue);
	box-shadow: 0 6px 18px rgba(11, 17, 32, 0.1);
}

.onesafety-homepage .os-ev__krok-title {
	margin: 0.4rem 0 0.6rem;
	padding-inline: 0.4rem;
	font-size: clamp(1.2rem, 1.6vw, 1.45rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-ev__krok-odkaz {
	color: inherit;
	text-decoration: none;
}

.onesafety-homepage .os-ev__krok-odkaz:hover,
.onesafety-homepage .os-ev__krok-odkaz:focus-visible {
	color: var(--ev-blue);
	text-decoration: underline;
}

.onesafety-homepage .os-ev__krok-text {
	margin: 0;
	padding-inline: 0.4rem;
	color: var(--ev-muted);
	font-size: 0.98rem;
	line-height: 1.55;
}

.onesafety-homepage .os-ev__osa {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-top: clamp(1.8rem, 4vw, 2.6rem);
	padding: clamp(1.1rem, 2.5vw, 1.6rem) clamp(1.2rem, 3vw, 2.2rem);
	border-radius: 18px;
	background: var(--ev-soft);
}

.onesafety-homepage .os-ev__osa-slova {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 1.4rem;
	margin: 0;
}

.onesafety-homepage .os-ev__osa-slovo {
	color: var(--ev-blue);
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-ev__osa-tecka {
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 50%;
	background: var(--ev-blue);
}

.onesafety-homepage .os-ev__rukou--osa {
	font-size: clamp(1.15rem, 1.7vw, 1.45rem);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-ev__kroky-head {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-ev__kroky-head .os-ev__lead {
		margin-top: 0;
	}

	.onesafety-homepage .os-ev__rukou--kroky {
		display: none;
	}

	.onesafety-homepage .os-ev__kroky-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 2.8rem;
	}

	.onesafety-homepage .os-ev__krok + .os-ev__krok::before {
		display: none;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-ev__kroky-list {
		grid-template-columns: minmax(0, 1fr);
		padding-left: 1rem;
	}

	.onesafety-homepage .os-ev__krok + .os-ev__krok::before {
		display: block;
		content: "\2193";
		left: 50%;
		top: -2.3rem;
		transform: translateX(-50%);
	}
}

/* 03 TÉMATA A STORYBOARDY */

.onesafety-homepage .os-ev__temata {
	padding: clamp(3rem, 7vw, 6rem) 0;
	background: #f8fafd;
	scroll-margin-top: 90px;
}

.onesafety-homepage .os-ev__temata-head {
	position: relative;
	margin-bottom: 1.6rem;
}

.onesafety-homepage .os-ev__rukou--temata {
	position: absolute;
	right: 0;
	top: 1rem;
}

.onesafety-homepage .os-ev__filtry {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 0 0 1.8rem;
}

.onesafety-homepage .os-ev__filtr {
	min-height: 48px;
	padding: 0.6rem 1.5rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: #e9eff8;
	color: #1c2433;
	font: inherit;
	font-size: 0.98rem;
	font-weight: 500;
	cursor: pointer;
}

.onesafety-homepage .os-ev__filtr:hover {
	border-color: var(--ev-blue);
}

.onesafety-homepage .os-ev__filtr.is-active {
	background: var(--ev-blue);
	color: #ffffff;
	font-weight: 700;
}

.onesafety-homepage .os-ev__karty {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.4vw, 1.8rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-ev__karta {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1rem, 2vw, 1.4rem);
	border: 1px solid var(--ev-line);
	border-radius: 18px;
	background: #ffffff;
	scroll-margin-top: 90px;
}

.onesafety-homepage .os-ev__karta[hidden] {
	display: none;
}

/* S JavaScriptem je katalog nejdřív sbalený; bez něj je vidět celý. */
.onesafety-homepage.os-ev--js .os-ev__karta.is-katalog {
	display: none;
}

.onesafety-homepage.os-ev--js.is-rozbaleno .os-ev__karta.is-katalog {
	display: flex;
}

.onesafety-homepage.os-ev--js .os-ev__karta.is-skryto {
	display: none !important;
}

.onesafety-homepage .os-ev__nahled {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	cursor: zoom-in;
	font: inherit;
}

.onesafety-homepage .os-ev__nahled--prazdny {
	cursor: default;
}

.onesafety-homepage .os-ev__stitek {
	display: inline-block;
	margin-bottom: 0.6rem;
	padding: 0.35rem 0.75rem;
	border-radius: 6px;
	background: #fbe8a6;
	color: #2b2512;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.onesafety-homepage .os-ev__stitek--pripravujeme {
	background: var(--ev-soft);
	color: var(--ev-blue);
}

.onesafety-homepage .os-ev__nahled-ram {
	display: grid;
	place-items: center;
	overflow: hidden;
	aspect-ratio: 16 / 7;
	border: 1px solid var(--ev-line);
	border-radius: 10px;
	background: #f4f1ea;
}

.onesafety-homepage .os-ev__nahled--prazdny .os-ev__nahled-ram {
	background: #f3f6fb;
	border-style: dashed;
}

.onesafety-homepage .os-ev__nahled-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 0.3s ease;
}

.onesafety-homepage .os-ev__nahled:hover .os-ev__nahled-img {
	transform: scale(1.03);
}

.onesafety-homepage .os-ev__nahled-ikona {
	width: 56px;
	height: 56px;
	color: #9fb3d6;
}

.onesafety-homepage .os-ev__nahled-pocet {
	position: absolute;
	right: 0.6rem;
	bottom: 0.6rem;
	padding: 0.3rem 0.65rem;
	border-radius: 999px;
	background: var(--ev-blue);
	color: #ffffff;
	font-size: 0.8rem;
	font-weight: 700;
}

.onesafety-homepage .os-ev__karta-dole {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.9rem 1.2rem;
	margin-top: auto;
}

.onesafety-homepage .os-ev__karta-text {
	min-width: 0;
	flex: 1 1 14rem;
}

.onesafety-homepage .os-ev__karta-nazev {
	margin: 0 0 0.25rem;
	font-size: clamp(1.3rem, 1.9vw, 1.7rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-ev__karta-claim {
	margin: 0;
	color: var(--ev-muted);
	font-size: 1rem;
}

.onesafety-homepage .os-ev__karta-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 48px;
	padding: 0.6rem 1.1rem;
	border: 1.5px solid var(--ev-blue);
	border-radius: 10px;
	background: #ffffff;
	color: var(--ev-blue);
	font-size: 0.98rem;
	font-weight: 600;
	text-decoration: none;
}

.onesafety-homepage .os-ev__karta-cta:hover,
.onesafety-homepage .os-ev__karta-cta:focus-visible {
	background: var(--ev-blue);
	color: #ffffff;
}

.onesafety-homepage .os-ev__prazdne {
	margin: 1rem 0 0;
	padding: 1rem 1.2rem;
	border-radius: 12px;
	background: var(--ev-soft);
	color: var(--ev-ink);
}

.onesafety-homepage .os-ev__temata-pata {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.2rem 2.4rem;
	margin-top: clamp(1.8rem, 4vw, 2.6rem);
}

.onesafety-homepage .os-ev__vse {
	display: inline-flex;
	align-items: center;
	gap: 1.1rem;
	min-height: 58px;
	padding: 0.8rem 2.4rem;
	border: 1.5px solid var(--ev-blue);
	border-radius: 999px;
	background: #ffffff;
	color: var(--ev-blue);
	font: inherit;
	font-size: 1.05rem;
	font-weight: 700;
	cursor: pointer;
}

.onesafety-homepage .os-ev__vse[hidden] {
	display: none;
}

.onesafety-homepage .os-ev__vse:hover {
	background: var(--ev-soft);
}

.onesafety-homepage .os-ev__vse-icon {
	width: 24px;
	height: 24px;
}

.onesafety-homepage .os-ev__metodika {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 30rem;
	margin: 0;
	padding-left: 2.4rem;
	border-left: 1px solid #c9d3e3;
	color: var(--ev-muted);
	font-size: 0.95rem;
	line-height: 1.5;
}

.onesafety-homepage .os-ev__metodika-icon {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	color: var(--ev-blue);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-ev__rukou--temata {
		display: none;
	}
}

@media (max-width: 767px) {
	.onesafety-homepage .os-ev__karty {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-ev__filtry {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: calc(var(--os-shell-pad, 1rem) * -1);
		padding: 0 var(--os-shell-pad, 1rem) 0.4rem;
		scrollbar-width: thin;
	}

	.onesafety-homepage .os-ev__filtr {
		flex: 0 0 auto;
	}

	.onesafety-homepage .os-ev__karta-cta {
		width: 100%;
		justify-content: space-between;
	}

	.onesafety-homepage .os-ev__vse {
		width: 100%;
		justify-content: center;
		padding-inline: 1.2rem;
	}

	.onesafety-homepage .os-ev__metodika {
		padding-left: 0;
		border-left: 0;
	}
}

/* Detail tématu (modal) */

.onesafety-homepage .os-ev__detail {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: clamp(0.75rem, 3vw, 2rem);
}

.onesafety-homepage .os-ev__detail[hidden] {
	display: none;
}

.onesafety-homepage .os-ev__detail-pozadi {
	position: absolute;
	inset: 0;
	background: rgba(6, 14, 28, 0.78);
}

.onesafety-homepage .os-ev__detail-okno {
	position: relative;
	z-index: 1;
	width: min(100%, 72rem);
	max-height: 92vh;
	max-height: 92dvh;
	overflow-y: auto;
	padding: clamp(1.2rem, 3vw, 2.2rem);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 24px 70px rgba(6, 14, 28, 0.35);
}

.onesafety-homepage .os-ev__detail-x {
	position: absolute;
	right: 0.8rem;
	top: 0.8rem;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ev-soft);
	color: var(--ev-ink);
	font-size: 1.7rem;
	line-height: 1;
	cursor: pointer;
}

.onesafety-homepage .os-ev__detail-nazev {
	margin: 0 3rem 0.5rem 0;
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-ev__detail-meta,
.onesafety-homepage .os-ev__detail-popis {
	margin: 0 0 0.6rem;
	max-width: 50rem;
	color: var(--ev-muted);
}

.onesafety-homepage .os-ev__detail-meta strong {
	color: var(--ev-ink);
}

.onesafety-homepage .os-ev__detail-listy {
	display: grid;
	gap: 1.2rem;
	margin: 1.2rem 0;
}

.onesafety-homepage .os-ev__detail-list {
	margin: 0;
}

.onesafety-homepage .os-ev__detail-list img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--ev-line);
	border-radius: 10px;
	background: #f4f1ea;
}

.onesafety-homepage .os-ev__detail-list figcaption {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.7rem;
	margin-top: 0.5rem;
	font-weight: 700;
}

.onesafety-homepage .os-ev__detail-akce {
	margin: 0;
}

/* 04 KAM JDE PODPORA */

.onesafety-homepage .os-ev__podpora {
	padding: clamp(3rem, 7vw, 6rem) 0;
	background: #ffffff;
}

.onesafety-homepage .os-ev__podpora-top {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	margin-bottom: clamp(1.6rem, 3vw, 2.2rem);
}

.onesafety-homepage .os-ev__podpora-media {
	position: relative;
}

.onesafety-homepage .os-ev__podpora-img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 18px;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18%);
	mask-image: linear-gradient(90deg, transparent 0, #000 18%);
}

.onesafety-homepage .os-ev__rukou--podpora {
	position: absolute;
	right: 4%;
	bottom: -1.6rem;
	color: #0151F0;
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.35);
}

.onesafety-homepage .os-ev__oblasti {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.8rem, 2vw, 1.4rem);
	margin: 0 0 1.4rem;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-ev__oblast {
	position: relative;
	padding: 1.3rem 1.3rem 1.5rem;
	border-radius: 16px;
	background: var(--ev-card);
	border: 1px solid #edf1f8;
}

.onesafety-homepage .os-ev__oblast-icon {
	display: block;
	width: 4.2rem;
	height: 4.2rem;
	margin-bottom: 1.1rem;
	padding: 1rem;
	border-radius: 50%;
	background: #e3ecfb;
	color: var(--ev-blue);
}

.onesafety-homepage .os-ev__oblast-cislo {
	position: absolute;
	right: 1.2rem;
	top: 1.2rem;
	padding: 0.2rem 0.5rem;
	border-radius: 6px;
	background: #e3ecfb;
	color: #0151F0;
	font-weight: 700;
	font-size: 0.95rem;
}

.onesafety-homepage .os-ev__oblast-title {
	margin: 0 0 0.6rem;
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.onesafety-homepage .os-ev__oblast-text {
	margin: 0;
	color: var(--ev-muted);
	font-size: 0.97rem;
	line-height: 1.5;
}

.onesafety-homepage .os-ev__honorar {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	padding: 1.1rem 1.4rem;
	border-radius: 16px;
	background: var(--ev-card);
	border: 1px solid #edf1f8;
}

.onesafety-homepage .os-ev__honorar-icon {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	color: var(--ev-blue);
}

.onesafety-homepage .os-ev__honorar p {
	margin: 0;
	color: var(--ev-muted);
	line-height: 1.45;
}

.onesafety-homepage .os-ev__honorar strong {
	display: block;
	color: var(--ev-ink);
	font-size: 1.05rem;
}

.onesafety-homepage .os-ev__pata {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 1.5rem clamp(1.5rem, 4vw, 3rem);
	margin-top: 1.6rem;
}

.onesafety-homepage .os-ev__pata .os-ev__akce {
	margin: 0;
}

.onesafety-homepage .os-ev__znacka {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
}

.onesafety-homepage .os-ev__logo img,
.onesafety-homepage .os-ev__logo-img {
	display: block;
	width: clamp(170px, 18vw, 240px);
	height: auto;
}

.onesafety-homepage .os-ev__slogan {
	color: var(--ev-ink);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	white-space: nowrap;
}

.onesafety-homepage .os-ev__rukou--podpis {
	font-size: clamp(1.25rem, 1.8vw, 1.6rem);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-ev__podpora-top {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-ev__podpora-img {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.onesafety-homepage .os-ev__oblasti {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-ev__pata {
		grid-template-columns: minmax(0, 1fr);
		justify-items: start;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-ev__oblasti {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-ev__rukou--podpora {
		position: static;
		margin-top: 0.8rem;
		color: var(--ev-blue);
		text-shadow: none;
		transform: rotate(-4deg);
	}

	.onesafety-homepage .os-ev__honorar {
		align-items: flex-start;
	}

	.onesafety-homepage .os-ev__pata .os-ev__akce {
		width: 100%;
	}

	.onesafety-homepage .os-ev__znacka {
		align-self: center;
		justify-self: center;
	}
}

/* 05 STAŇTE SE SOUČÁSTÍ */

.onesafety-homepage .os-ev__soucast {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 7vw, 6rem) 0 clamp(2.5rem, 5vw, 4rem);
	background: #ffffff;
}

.onesafety-homepage .os-ev__soucast-media {
	position: absolute;
	inset: 0 0 0 auto;
	width: 52%;
}

.onesafety-homepage .os-ev__soucast-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 25%, #000 80%, transparent 100%), linear-gradient(0deg, transparent 0, #000 25%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0, #000 25%), linear-gradient(0deg, transparent 0, #000 22%);
	mask-composite: intersect;
}

.onesafety-homepage .os-ev__soucast-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 2rem;
	align-items: end;
}

.onesafety-homepage .os-ev__soucast-text {
	max-width: 40rem;
}

.onesafety-homepage .os-ev__claim {
	margin: 1.6rem 0 0;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.onesafety-homepage .os-ev__dekujeme {
	margin: 2.2rem 0 0;
	padding-top: 1.2rem;
	max-width: 30rem;
	border-top: 2px solid #e1e6ee;
	color: var(--ev-muted);
	font-size: 0.95rem;
	line-height: 1.55;
}

.onesafety-homepage .os-ev__soucast-pata {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	padding-top: 2rem;
}

.onesafety-homepage .os-ev__rukou--soucast {
	font-size: clamp(1.4rem, 2.4vw, 2.1rem);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-ev__soucast {
		padding-top: 0;
	}

	.onesafety-homepage .os-ev__soucast-media {
		position: relative;
		width: 100%;
		height: clamp(260px, 62vw, 460px);
	}

	.onesafety-homepage .os-ev__soucast-img {
		-webkit-mask-image: linear-gradient(0deg, transparent 0, #000 25%);
		mask-image: linear-gradient(0deg, transparent 0, #000 25%);
		-webkit-mask-composite: source-over;
		mask-composite: add;
	}

	.onesafety-homepage .os-ev__soucast-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-ev__soucast-pata {
		flex-direction: column;
		align-items: center;
		padding-top: 1rem;
	}
}

/* Mobil: žádný vodorovný posun */
.onesafety-homepage.os-ev {
	overflow-x: clip;
}

.onesafety-homepage .os-ev__stitek--pilot {
	background: #e3f4e8;
	color: #1d6b34;
}

.onesafety-homepage .os-ev__detail-list figcaption .os-ev__stitek {
	margin: 0;
}

/*
 * Verze 1.75.0 - titulka podle FINAL MASTER: popisky konceptů,
 * proklikávací loga institucí, koláž segmentů s čistou tečkou.
 */

.onesafety-homepage .os-media-caption {
	margin: 0.6rem 0 0;
	color: var(--os-muted);
	font-size: 0.82rem;
	line-height: 1.4;
}

.onesafety-homepage .os-media-caption--ondark {
	color: rgba(255, 255, 255, 0.72);
}

.onesafety-homepage .os-partner__odkaz {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	color: inherit;
	text-decoration: none;
}

.onesafety-homepage .os-partner__odkaz:focus-visible {
	outline: 3px solid var(--os-blue);
	outline-offset: 4px;
}

.onesafety-homepage .os-partner:has(.os-partner__odkaz) {
	cursor: pointer;
}

.onesafety-homepage .os-kolaz {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 6px;
	aspect-ratio: 703 / 444;
	border-radius: var(--os-radius-md, 16px);
	overflow: hidden;
}

.onesafety-homepage .os-kolaz__foto {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.onesafety-homepage .os-kolaz__tecka {
	position: absolute;
	right: 4%;
	bottom: 6%;
	width: 17%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #0151F0;
	pointer-events: none;
}

/* Stepper mecenáše: číslo jen v kruhu, aktivní krok plný, budoucí obrys. */
.onesafety-homepage .os-mecenas__kroky-lista {
	flex-wrap: nowrap;
	gap: 1.2rem;
}

.onesafety-homepage .os-mecenas__krok-znacka {
	white-space: nowrap;
	font-size: 0.95rem;
}

.onesafety-homepage .os-mecenas__krok-cislo {
	width: 28px;
	height: 28px;
	border: 1.5px solid #0151F0;
	background: #ffffff;
	color: #0151F0;
	font-size: 0.85rem;
	font-weight: 800;
}

.onesafety-homepage .os-mecenas__krok-znacka.is-active .os-mecenas__krok-cislo,
.onesafety-homepage .os-mecenas__krok-znacka.is-done .os-mecenas__krok-cislo {
	background: #0151F0;
	border-color: #0151F0;
	color: #ffffff;
}


/* Pop-up podpory: číslo účtu + Zkopírovat | QR platba (druhá cesta ke stejné platbě) */
.onesafety-homepage .os-dar__modal-platba.has-qr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: stretch;
	margin-top: 1.25rem;
}

.onesafety-homepage .os-dar__modal-platba.has-qr .os-dar__modal-ucet {
	margin-top: 0;
}

.onesafety-homepage .os-dar__modal-qr {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0.6rem 0.7rem;
	border: 1px solid var(--os-line);
	border-radius: var(--os-radius-sm);
	background: #ffffff;
}

.onesafety-homepage .os-dar__modal-qr svg {
	display: block;
	width: 112px;
	height: 112px;
}

.onesafety-homepage .os-dar__modal-qr figcaption {
	color: var(--os-muted);
	font-size: 0.72rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
}

@media (max-width: 559px) {
	.onesafety-homepage .os-dar__modal-platba.has-qr {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-dar__modal-qr {
		flex-direction: row;
		gap: 0.9rem;
		justify-content: flex-start;
	}

	.onesafety-homepage .os-dar__modal-qr figcaption {
		text-align: left;
		font-size: 0.85rem;
	}
}

.onesafety-homepage .os-dar__ucel {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.2rem 0.5rem;
	margin: 0 0 1rem;
	padding: 0.8rem 1rem;
	border-left: 4px solid #0151F0;
	border-radius: 8px;
	background: #eef3fd;
	color: #0b1120;
}

.onesafety-homepage .os-dar__ucel-nazev {
	color: #0151F0;
}

.onesafety-homepage .os-dar__ucel-pozn {
	flex-basis: 100%;
	color: #525c6b;
	font-size: 0.85rem;
}

/* Náhled storyboardu: obrázek vyplní rám (grid s auto výškou jinak dává nulovou výšku). */
.onesafety-homepage .os-ev__nahled-ram {
	position: relative;
	display: block;
}

.onesafety-homepage .os-ev__nahled-img {
	position: absolute;
	inset: 0;
}

.onesafety-homepage .os-ev__nahled--prazdny .os-ev__nahled-ram {
	display: grid;
}

.onesafety-homepage .os-ev__temata-head .os-ev__lead {
	max-width: 52rem;
}

/* Blok 05: fotka končí nad podpisem a logem, text má víc místa. */
@media (min-width: 1024px) {
	.onesafety-homepage .os-ev__soucast-media {
		inset: 0 0 8.5rem auto;
		width: 50%;
	}

	.onesafety-homepage .os-ev__soucast-inner {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	}

	.onesafety-homepage .os-ev__soucast-text {
		max-width: 44rem;
	}

	.onesafety-homepage .os-ev__soucast .os-ev__h2 {
		font-size: clamp(2.2rem, 3.8vw, 3.4rem);
	}

	.onesafety-homepage .os-ev__soucast-pata {
		align-self: end;
		padding-top: 0;
	}
}

.onesafety-homepage .os-ev__rukou .os-line {
	white-space: nowrap;
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-ev__soucast-media {
		inset: 0 0 11rem auto;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-ev__rukou--hero {
		display: none;
	}

	.onesafety-homepage .os-ev__cisla {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.onesafety-homepage .os-ev__cislo {
		margin-right: 0;
		padding: 0 0.6rem;
	}

	.onesafety-homepage .os-ev__cislo:first-child {
		padding-left: 0;
	}

	.onesafety-homepage .os-ev__cislo-hodnota {
		font-size: 2rem;
	}

	.onesafety-homepage .os-ev__cislo-text {
		font-size: 0.82rem;
	}
}

/* Popisek pod vizualizací telefonu (média sekce videí jsou flex). */
.onesafety-homepage .os-videos__media {
	flex-direction: column;
}

.onesafety-homepage .os-videos__media .os-media-caption {
	flex: 0 0 auto;
	margin: 0;
	padding: 0.55rem var(--os-shell-pad, 1rem) 0.8rem;
	text-align: right;
}

.onesafety-homepage .os-videos__media .os-videos__image {
	flex: 1 1 auto;
	min-height: 0;
}

.onesafety-homepage .os-dar__modal-platba.has-qr .os-dar__modal-ucet {
	grid-template-columns: minmax(0, 1fr);
	align-content: center;
}

.onesafety-homepage .os-dar__modal-platba.has-qr .os-dar__modal-kopie {
	justify-self: start;
}

.onesafety-homepage .os-dar__modal-platba.has-qr .os-dar__modal-cislo {
	white-space: nowrap;
}

/* Štítky pilířů Tvoje cesta vedou na stránky jednotlivých pilířů Policie ČR. */
.onesafety-homepage a.os-program__chip--odkaz {
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.onesafety-homepage a.os-program__chip--odkaz:hover,
.onesafety-homepage a.os-program__chip--odkaz:focus-visible {
	background: #0151F0;
	border-color: #0151F0;
	color: #ffffff;
}

.onesafety-homepage a.os-program__chip--odkaz:focus-visible {
	outline: 3px solid #0151F0;
	outline-offset: 2px;
}

/*
 * Verze 1.75.0 - responzivita tlačítek na celém webu.
 * Tlačítko nikdy nepřeteče rodiče, na úzkých displejích se text
 * zalomí na střed a šipka zůstane vedle textu. Dotyková plocha
 * min. 44 px.
 */
.onesafety-homepage .os-btn {
	max-width: 100%;
	box-sizing: border-box;
}

@media (max-width: 479px) {
	.onesafety-homepage .os-btn {
		white-space: normal;
		text-align: center;
		line-height: 1.25;
		padding-inline: 1rem;
	}

	.onesafety-homepage .os-btn > [aria-hidden="true"] {
		flex: 0 0 auto;
	}
}

.onesafety-homepage .os-mecenas__karta-btn {
	min-height: 44px;
	padding-block: 0.4rem;
}

/* Filtry témat na mobilu: všechny viditelné, bez skrytého posunu do strany. */
@media (max-width: 767px) {
	.onesafety-homepage .os-ev__filtry {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
		margin-inline: 0;
		padding: 0;
		overflow: visible;
	}

	.onesafety-homepage .os-ev__filtr {
		min-height: 46px;
		padding: 0.5rem 0.6rem;
		font-size: 0.92rem;
		line-height: 1.2;
		white-space: normal;
		text-align: center;
	}

	.onesafety-homepage .os-ev__filtr[data-os-ev-filtr="vse"] {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.onesafety-homepage .os-ev__filtr:last-child {
		grid-column: 1 / -1;
	}
}

.onesafety-homepage .os-ev__stitek--koncept {
	background: #eef3fd;
	color: #0151F0;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
}

.onesafety-homepage.os-ev--js .os-ev__karta.is-katalog.is-vynuceno {
	display: flex;
}

/* =========================================================================
 * Verze 1.76.0 - homepage podle zadání v4 + doplňkové zadání
 * ========================================================================= */

/* 01 Nový hero: fotka přes celou šířku, text vlevo na světlé ploše */
.onesafety-homepage .os-hero--v4 {
	padding: 0;
	background: #ffffff;
}

.onesafety-homepage .os-hv4 {
	position: relative;
	overflow: hidden;
	min-height: clamp(560px, 50vw, 760px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.onesafety-homepage .os-hv4__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.onesafety-homepage .os-hv4__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% 30%;
}

.onesafety-homepage .os-hv4__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 30%, rgba(255, 255, 255, 0) 55%);
	pointer-events: none;
}

.onesafety-homepage .os-hv4__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	padding-block: clamp(3rem, 6vw, 5rem) clamp(5rem, 8vw, 6.5rem);
}

.onesafety-homepage .os-hv4__text {
	max-width: 34rem;
}

.onesafety-homepage .os-hv4__heading {
	margin: 0 0 1.3rem;
	color: #0b1437;
	font-size: clamp(2.8rem, 5.6vw, 4.9rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.onesafety-homepage .os-hv4__heading .os-line {
	display: block;
}

.onesafety-homepage .os-hv4__perex {
	margin: 0 0 1.8rem;
	max-width: 26rem;
	color: #1c2744;
	font-size: clamp(1.05rem, 1.45vw, 1.25rem);
	line-height: 1.55;
}

.onesafety-homepage .os-hv4__actions {
	margin: 0 0 1.6rem;
}

.onesafety-homepage .os-hv4__btn {
	display: inline-flex;
	align-items: center;
	gap: 1.4rem;
	min-height: 60px;
	padding: 0.9rem 1.8rem;
	border-radius: 12px;
	background: #0151F0;
	font-size: 1.1rem;
}

.onesafety-homepage .os-hv4__sipka {
	font-size: 1.35em;
	line-height: 1;
}

.onesafety-homepage .os-hv4__tagline {
	margin: 0;
	color: #1c2744;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.onesafety-homepage .os-hv4 {
		min-height: 0;
		display: block;
	}

	.onesafety-homepage .os-hv4__media {
		position: relative;
		height: clamp(240px, 68vw, 380px);
	}

	.onesafety-homepage .os-hv4__img {
		object-position: 58% 25%;
	}

	.onesafety-homepage .os-hv4__media::after {
		background: linear-gradient(0deg, #ffffff 0%, rgba(255, 255, 255, 0) 30%);
	}

	.onesafety-homepage .os-hv4__inner {
		padding-block: 1.2rem 1rem;
	}

	.onesafety-homepage .os-hv4__heading {
		font-size: clamp(2.35rem, 11vw, 3rem);
	}

	.onesafety-homepage .os-hv4__actions .os-hv4__btn {
		width: 100%;
		justify-content: space-between;
	}
}

/* Náhrada plovoucího kolečka: jemné navedení SCROLLUJTE DÁL (v toku stránky) */
.onesafety-homepage .os-scrollcue {
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0.4rem 0 1.4rem;
}

.onesafety-homepage .os-scrollcue__odkaz {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.8rem;
	color: #3a4150;
	text-decoration: none;
	border-radius: 10px;
}

.onesafety-homepage .os-scrollcue__odkaz:hover,
.onesafety-homepage .os-scrollcue__odkaz:focus-visible {
	color: #0151F0;
}

.onesafety-homepage .os-scrollcue__odkaz:focus-visible {
	outline: 3px solid #0151F0;
	outline-offset: 2px;
}

.onesafety-homepage .os-scrollcue__text {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.24em;
}

.onesafety-homepage .os-scrollcue__kolecko {
	animation: os-scrollcue 1.8s ease-in-out infinite;
}

@keyframes os-scrollcue {
	0%, 100% { transform: translateY(0); opacity: 1; }
	60% { transform: translateY(5px); opacity: 0.3; }
}

@media (prefers-reduced-motion: reduce) {
	.onesafety-homepage .os-scrollcue__kolecko {
		animation: none;
	}
}

.onesafety-homepage .os-scrollcue--hero {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.4rem;
	z-index: 1;
	padding: 0;
}

.onesafety-homepage .os-scrollcue--hero .os-scrollcue__odkaz {
	background: rgba(255, 255, 255, 0.72);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

@media (max-width: 767px) {
	.onesafety-homepage .os-scrollcue--hero {
		position: static;
		padding: 0 0 0.6rem;
	}

	.onesafety-homepage .os-scrollcue--hero .os-scrollcue__odkaz {
		background: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.onesafety-homepage .os-scrollcue__mys {
		width: 18px;
		height: 27px;
	}

	.onesafety-homepage .os-scrollcue__text {
		font-size: 0.68rem;
	}
}

.onesafety-homepage .os-scrollcue--ev {
	padding-top: 0;
}

/* 10 Sloučený institucionální blok */
.onesafety-homepage .os-instituce .os-instituce__cast + .os-instituce__cast {
	padding-top: 0;
}

.onesafety-homepage .os-instituce .os-partners {
	padding-bottom: clamp(2rem, 4vw, 3rem);
}

.onesafety-homepage .os-instituce .os-programs > .os-shell {
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid #e3e9f3;
}

.onesafety-homepage .os-programs--pozn {
	padding-top: 0;
}

/* Patička: one-o-one.cz jako odkaz */
.onesafety-homepage .os-footer__operator-link {
	color: inherit;
	text-decoration: none;
	border-radius: 4px;
}

.onesafety-homepage .os-footer__operator-link:hover,
.onesafety-homepage .os-footer__operator-link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.onesafety-homepage .os-footer__operator-link:focus-visible {
	outline: 2px solid #0151F0;
	outline-offset: 3px;
}

/* Edukační videa: blok 04 bez duplicitního loga */
.onesafety-homepage .os-ev__pata {
	grid-template-columns: minmax(0, 1fr) auto;
}

/* Hero v4: fotka v pravé části, učitelka a tečka mimo text (jako v návrhu). */
@media (min-width: 768px) {
	.onesafety-homepage .os-hv4__media {
		left: 24%;
	}

	.onesafety-homepage .os-hv4__img {
		object-position: 50% 30%;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%);
		mask-image: linear-gradient(90deg, transparent 0, #000 22%);
	}

	.onesafety-homepage .os-hv4__media::after {
		background: linear-gradient(90deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0) 20%);
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.onesafety-homepage .os-hv4__media {
		left: 34%;
	}

	.onesafety-homepage .os-hv4__text {
		max-width: 22rem;
	}

	.onesafety-homepage .os-hv4__heading {
		font-size: clamp(2.4rem, 5.4vw, 3.2rem);
	}
}

@media (max-width: 767px) {
	.onesafety-homepage .os-hv4__media {
		height: clamp(260px, 80vw, 420px);
	}

	.onesafety-homepage .os-hv4__img {
		object-position: 46% 18%;
	}
}

.onesafety-homepage .os-hv4__perex,
.onesafety-homepage .os-hv4__tagline {
	text-shadow: 0 0 12px rgba(255, 255, 255, 0.9), 0 0 3px rgba(255, 255, 255, 0.9);
}

/* Segmenty skryté, zůstává jen CTA „Připravíme obsah pro vaše prostředí“. */
.onesafety-homepage .os-segments.os-segments--jen-cta {
	padding-top: clamp(1rem, 2.5vw, 2rem);
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.onesafety-homepage .os-segments--jen-cta .os-segments__closing {
	margin-top: 0;
}

.onesafety-homepage .os-programs.os-programs--pozn {
	padding-bottom: clamp(1rem, 2.5vw, 2rem);
}

/* =========================================================================
 * Verze 1.77.0 - návrhy bloků 02, 06, 10 + mikroanimace SCROLLUJTE DÁL
 * ========================================================================= */

/* SCROLLUJTE DÁL: modré kolečko myši pomalu klesá, šipka navazuje.
   Bez blikání a bez výrazného bounce; text zůstává neutrální. */
.onesafety-homepage .os-scrollcue__mys {
	color: #3a4150;
}

.onesafety-homepage .os-scrollcue__kolecko {
	stroke: #0151F0;
	animation: os-cue-kolecko 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.onesafety-homepage .os-scrollcue__sipka {
	color: #0151F0;
	animation: os-cue-sipka 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
	transition: transform 0.35s ease;
}

.onesafety-homepage .os-scrollcue__text {
	color: #3a4150;
}

@keyframes os-cue-kolecko {
	0% { transform: translateY(0); }
	45% { transform: translateY(6px); }
	70%, 100% { transform: translateY(0); }
}

@keyframes os-cue-sipka {
	0%, 20% { transform: translateY(0); }
	60% { transform: translateY(4px); }
	85%, 100% { transform: translateY(0); }
}

.onesafety-homepage .os-scrollcue.is-reaguje .os-scrollcue__sipka {
	animation: none;
	transform: translateY(7px);
}

.onesafety-homepage .os-scrollcue.is-reaguje .os-scrollcue__kolecko {
	animation-duration: 1.3s;
}

.onesafety-homepage .os-scrollcue__odkaz:hover .os-scrollcue__text,
.onesafety-homepage .os-scrollcue__odkaz:focus-visible .os-scrollcue__text {
	color: #0151F0;
}

@media (prefers-reduced-motion: reduce) {
	.onesafety-homepage .os-scrollcue__kolecko,
	.onesafety-homepage .os-scrollcue__sipka {
		animation: none;
		transition: none;
	}

	.onesafety-homepage .os-scrollcue.is-reaguje .os-scrollcue__sipka {
		transform: none;
	}
}

/* Blok 02 – Národní platforma */
.onesafety-homepage .os-mission--v4 {
	position: relative;
	padding: clamp(3rem, 6vw, 5rem) 0 0;
	background: #ffffff;
	overflow: hidden;
}

.onesafety-homepage .os-mv4__inner {
	position: relative;
	z-index: 1;
}

.onesafety-homepage .os-mv4__text {
	max-width: 46rem;
}

.onesafety-homepage .os-mv4__heading {
	margin: 0 0 1.1rem;
	color: #0b1120;
	font-size: clamp(2.1rem, 4.6vw, 3.6rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.onesafety-homepage .os-mv4__heading .os-accent {
	color: #0151F0;
}

.onesafety-homepage .os-mv4__perex {
	margin: 0 0 1.6rem;
	max-width: 34rem;
	color: #6b7280;
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.55;
}

.onesafety-homepage .os-mv4__actions {
	margin: 0 0 1.6rem;
}

.onesafety-homepage .os-mv4__btn,
.onesafety-homepage .os-vv4__btn {
	display: inline-flex;
	align-items: center;
	gap: 1.4rem;
	min-height: 56px;
	padding: 0.85rem 2rem;
	border-radius: 999px;
	background: #0151F0;
	font-size: 1.08rem;
}

.onesafety-homepage .os-mv4__sipka,
.onesafety-homepage .os-vv4__sipka {
	font-size: 1.35em;
	line-height: 1;
}

.onesafety-homepage .os-mv4__pilire {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 30rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-mv4__pilir {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.45rem;
	padding: 0.2rem 0.5rem;
	text-align: center;
}

.onesafety-homepage .os-mv4__pilir + .os-mv4__pilir {
	border-left: 1px solid #dfe4ec;
}

.onesafety-homepage .os-mv4__pilir-icon {
	width: 40px;
	height: 40px;
	color: #0151F0;
}

.onesafety-homepage .os-mv4__pilir-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-mv4__pilir-text {
	color: #4a5160;
	font-size: 0.95rem;
	font-weight: 600;
}

.onesafety-homepage .os-mv4__media {
	position: relative;
	margin-top: clamp(-4rem, -4vw, -1rem);
}

.onesafety-homepage .os-mv4__img {
	display: block;
	width: 100%;
	height: clamp(320px, 42vw, 640px);
	object-fit: cover;
	object-position: 60% 35%;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 85%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 85%, transparent 100%);
}

.onesafety-homepage .os-scrollcue--foto {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.6rem;
	padding: 0;
}

@media (min-width: 1024px) {
	.onesafety-homepage .os-mission--v4 {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-mv4__media {
		margin-top: -9rem;
	}

	.onesafety-homepage .os-mv4__img {
		height: clamp(420px, 40vw, 620px);
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%), linear-gradient(180deg, transparent 0, #000 30%, #000 85%, transparent 100%);
		-webkit-mask-composite: source-in;
		mask-image: linear-gradient(90deg, transparent 0, #000 30%), linear-gradient(180deg, transparent 0, #000 30%, #000 85%, transparent 100%);
		mask-composite: intersect;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-mv4__btn {
		width: 100%;
		justify-content: space-between;
	}

	.onesafety-homepage .os-mv4__img {
		height: clamp(300px, 90vw, 420px);
		object-position: 62% 40%;
	}
}

/* Blok 06 – Nejdůležitější informace */
.onesafety-homepage .os-videos--v4 {
	padding: clamp(3rem, 6vw, 5rem) 0 0;
	overflow: hidden;
}

.onesafety-homepage .os-vv4__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 2rem clamp(1.5rem, 4vw, 3rem);
	align-items: end;
}

.onesafety-homepage .os-vv4__text {
	align-self: center;
	padding-bottom: clamp(2rem, 5vw, 4rem);
}

.onesafety-homepage .os-vv4__heading {
	margin: 0 0 1.2rem;
	color: #ffffff;
	font-size: clamp(2.3rem, 4.8vw, 4rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.onesafety-homepage .os-vv4__heading .os-line {
	display: block;
}

.onesafety-homepage .os-vv4__accent {
	color: #0151F0;
}

.onesafety-homepage .os-vv4__lead {
	margin: 0 0 1.8rem;
	max-width: 32rem;
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(1.05rem, 1.4vw, 1.25rem);
	line-height: 1.5;
}

.onesafety-homepage .os-vv4__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 30rem;
	margin: 0 0 1.9rem;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-vv4__meta-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	padding: 0 0.4rem;
	text-align: center;
	color: #ffffff;
	font-size: 0.98rem;
	line-height: 1.25;
}

.onesafety-homepage .os-vv4__meta-item + .os-vv4__meta-item {
	border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.onesafety-homepage .os-vv4__meta-icon {
	width: 44px;
	height: 44px;
	color: #0151F0;
}

.onesafety-homepage .os-vv4__meta-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	stroke-width: 2;
}

.onesafety-homepage .os-vv4__meta-text .os-line {
	display: block;
}

.onesafety-homepage .os-vv4__media {
	position: relative;
	align-self: end;
}

.onesafety-homepage .os-vv4__img {
	display: block;
	width: 100%;
	height: auto;
}

.onesafety-homepage .os-vv4__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.4rem;
	margin: 0;
	padding: 0 1rem;
	text-align: center;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}

.onesafety-homepage .os-vv4__rukou {
	position: absolute;
	right: 0;
	top: 8%;
	z-index: 1;
	margin: 0;
	color: #3b7bff;
	font-family: "OS Caveat", "Segoe Print", cursive;
	font-size: clamp(1.3rem, 2vw, 1.8rem);
	line-height: 1.1;
	transform: rotate(-12deg);
	pointer-events: none;
}

.onesafety-homepage .os-vv4__rukou .os-line {
	display: block;
	white-space: nowrap;
}

.onesafety-homepage .os-vv4__rukou-sipka {
	display: block;
	margin: 0.3rem 0 0 1.4rem;
	transform: scaleX(-1);
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-vv4__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-vv4__text {
		padding-bottom: 0;
	}

	.onesafety-homepage .os-vv4__media {
		max-width: 560px;
		width: 100%;
		margin: 0 auto;
	}
}

@media (max-width: 639px) {
	.onesafety-homepage .os-vv4__btn {
		width: 100%;
		justify-content: space-between;
	}

	.onesafety-homepage .os-vv4__rukou {
		top: 4%;
		font-size: 1.15rem;
	}

	.onesafety-homepage .os-vv4__rukou-sipka {
		width: 34px;
		height: 40px;
	}
}

/* Blok 10 – sloučený institucionální blok */
.onesafety-homepage .os-inst {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background: #ffffff;
}

.onesafety-homepage .os-inst__cast + .os-inst__cast {
	margin-top: clamp(2.2rem, 4vw, 3rem);
	padding-top: clamp(2.2rem, 4vw, 3rem);
	border-top: 1px solid #e3e8f0;
}

.onesafety-homepage .os-inst__heading {
	margin: 0 0 0.9rem;
	color: #0b1120;
	font-size: clamp(2rem, 4.2vw, 3.3rem);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -0.03em;
}

.onesafety-homepage .os-inst__heading .os-line {
	display: block;
}

.onesafety-homepage .os-inst__heading .os-accent {
	color: #0151F0;
}

.onesafety-homepage .os-inst__text {
	margin: 0 0 1.5rem;
	max-width: 48rem;
	color: #6b7280;
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.55;
}

.onesafety-homepage .os-inst__cast--dialog .os-inst__text {
	margin-bottom: 0;
}

.onesafety-homepage .os-inst__projekty,
.onesafety-homepage .os-inst__partneri {
	display: grid;
	gap: clamp(0.7rem, 1.6vw, 1.1rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-inst__projekty {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.onesafety-homepage .os-inst__partneri {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.onesafety-homepage .os-inst__karta {
	display: flex;
	align-items: center;
	gap: 1rem;
	height: 100%;
	min-height: 104px;
	padding: 1rem 1.1rem;
	border: 1px solid #e3e8f0;
	border-radius: 14px;
	background: #ffffff;
	color: #0b1120;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.onesafety-homepage .os-inst__karta:hover,
.onesafety-homepage .os-inst__karta:focus-visible {
	border-color: #0151F0;
	box-shadow: 0 10px 26px rgba(1, 81, 240, 0.1);
	transform: translateY(-2px);
}

.onesafety-homepage .os-inst__karta:focus-visible {
	outline: 3px solid #0151F0;
	outline-offset: 3px;
}

.onesafety-homepage .os-inst__znak {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 76px;
}

.onesafety-homepage .os-inst__znak-img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.onesafety-homepage .os-inst__znak--policie {
	width: 76px;
}

.onesafety-homepage .os-inst__popis {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.onesafety-homepage .os-inst__instituce {
	color: #1b2130;
	font-size: 0.95rem;
	line-height: 1.3;
}

.onesafety-homepage .os-inst__projekt-nazev {
	color: #0151F0;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.2;
}

.onesafety-homepage .os-inst__sipka {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 11px;
	border-radius: 50%;
	background: #e8effd;
	color: #0151F0;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.onesafety-homepage .os-inst__sipka svg {
	display: block;
	width: 100%;
	height: 100%;
	stroke-width: 2.2;
}

.onesafety-homepage .os-inst__karta:hover .os-inst__sipka,
.onesafety-homepage .os-inst__karta:focus-visible .os-inst__sipka {
	background: #0151F0;
	color: #ffffff;
}

.onesafety-homepage .os-inst__karta--partner {
	justify-content: space-between;
}

.onesafety-homepage .os-inst__partner-logo {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	height: 56px;
}

.onesafety-homepage .os-inst__partner-img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.onesafety-homepage .os-inst__partner-logo--muni {
	flex: 0 1 auto;
	height: 40px;
}

.onesafety-homepage .os-inst__partner-popisek {
	flex: 1 1 auto;
	color: #4a5160;
	font-size: 0.85rem;
	line-height: 1.2;
}

.onesafety-homepage .os-inst__partner-nazev {
	font-weight: 700;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-inst__projekty {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.onesafety-homepage .os-inst__partneri {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.onesafety-homepage .os-inst__projekty,
	.onesafety-homepage .os-inst__partneri {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-inst__znak {
		width: 52px;
		height: 64px;
	}
}

/* Blok 06: obrázek splyne s pozadím sekce, poznámka nad telefonem vpravo. */
.onesafety-homepage .os-vv4__img {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%), linear-gradient(180deg, transparent 0, #000 14%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%), linear-gradient(180deg, transparent 0, #000 14%);
	mask-composite: intersect;
}

.onesafety-homepage .os-vv4__rukou {
	top: -1.5rem;
	right: 2%;
}

@media (max-width: 639px) {
	.onesafety-homepage .os-vv4__media {
		margin-top: 1.5rem;
	}

	.onesafety-homepage .os-vv4__rukou {
		top: -1.2rem;
		right: 0;
	}
}

/*
 * Verze 1.77.1 - partnerská loga: stejná optická velikost, logo se
 * nikdy nezmenšuje (na 768 px se MUNI dřív stáhlo na 29 × 9 px),
 * popisek MUNI jde na užších kartách pod logo.
 */
.onesafety-homepage .os-inst__karta--partner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"logo sipka"
		"popisek sipka";
	align-items: center;
	column-gap: 1rem;
	row-gap: 0.25rem;
	min-height: 96px;
}

.onesafety-homepage .os-inst__karta--partner .os-inst__partner-logo {
	grid-area: logo;
	flex: none;
	height: auto;
	min-width: 0;
}

.onesafety-homepage .os-inst__karta--partner .os-inst__partner-popisek {
	grid-area: popisek;
}

.onesafety-homepage .os-inst__karta--partner .os-inst__sipka {
	grid-area: sipka;
}

.onesafety-homepage .os-inst__partner-img {
	width: auto;
	max-width: none;
	height: 38px;
	max-height: none;
}

.onesafety-homepage .os-inst__partner-logo--muni .os-inst__partner-img {
	height: 34px;
}

.onesafety-homepage .os-inst__partner-logo--faceup .os-inst__partner-img {
	height: 36px;
}

.onesafety-homepage .os-inst__partner-logo--zachranka .os-inst__partner-img {
	height: 48px;
}

.onesafety-homepage .os-inst__partner-logo--muni {
	height: auto;
}

@media (min-width: 1200px) {
	.onesafety-homepage .os-inst__karta--partner {
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: "logo popisek sipka";
	}
}

@media (max-width: 1023px) and (min-width: 768px) {
	.onesafety-homepage .os-inst__partner-img {
		height: 30px;
	}

	.onesafety-homepage .os-inst__partner-logo--muni .os-inst__partner-img {
		height: 28px;
	}

	.onesafety-homepage .os-inst__partner-logo--faceup .os-inst__partner-img {
		height: 31px;
	}

	.onesafety-homepage .os-inst__partner-logo--zachranka .os-inst__partner-img {
		height: 40px;
	}
}

.onesafety-homepage .os-inst__karta--bez-popisku {
	grid-template-areas: "logo sipka";
	grid-template-rows: 1fr;
}

@media (min-width: 1200px) {
	.onesafety-homepage .os-inst__karta--bez-popisku {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "logo sipka";
	}
}

/* =========================================================================
 * Verze 1.78.0 - dopadová stránka OneHero (návrh 17. 9. 2026)
 * ========================================================================= */

.onesafety-homepage.os-oh {
	--oh-blue: #0151F0;
	--oh-ink: #0b1437;
	--oh-muted: #5f6b80;
	--oh-soft: #eef3fd;
	--oh-line: #e2e8f2;
	background: linear-gradient(180deg, #f7f9fd 0%, #ffffff 40%);
	color: var(--oh-ink);
	overflow-x: clip;
}

.onesafety-homepage .os-oh__eyebrow {
	margin: 0 0 0.8rem;
	color: var(--oh-blue);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.onesafety-homepage .os-oh__eyebrow--ondark {
	color: #5b8cff;
}

.onesafety-homepage .os-oh__eyebrow--tmava {
	color: var(--oh-ink);
}

.onesafety-homepage .os-oh__accent {
	color: var(--oh-blue);
}

.onesafety-homepage .os-oh__h1,
.onesafety-homepage .os-oh__h2,
.onesafety-homepage .os-oh__h3 {
	margin: 0 0 1rem;
	color: var(--oh-ink);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.onesafety-homepage .os-oh__h1 {
	font-size: clamp(2.8rem, 6.4vw, 5.2rem);
}

.onesafety-homepage .os-oh__h2 {
	font-size: clamp(2.1rem, 4.6vw, 3.7rem);
}

.onesafety-homepage .os-oh__h2--velky {
	font-size: clamp(2.4rem, 5.4vw, 4.4rem);
}

.onesafety-homepage .os-oh__h3 {
	font-size: clamp(1.8rem, 3.4vw, 2.7rem);
}

.onesafety-homepage .os-oh__h1 .os-line,
.onesafety-homepage .os-oh__h2 .os-line,
.onesafety-homepage .os-oh__h3 .os-line {
	display: block;
}

.onesafety-homepage .os-oh__lead {
	margin: 0 0 1.2rem;
	max-width: 36rem;
	color: var(--oh-muted);
	font-size: clamp(1.02rem, 1.4vw, 1.2rem);
	line-height: 1.55;
}

.onesafety-homepage .os-oh__lead .os-line {
	display: block;
}

.onesafety-homepage .os-oh__btn {
	display: inline-flex;
	align-items: center;
	gap: 1.2rem;
	min-height: 56px;
	padding: 0.85rem 2rem;
	border-radius: 999px;
	background: var(--oh-blue);
	font-size: 1.05rem;
}

.onesafety-homepage .os-oh__sipka {
	font-size: 1.3em;
	line-height: 1;
}

/* Ručně psané poznámky */
.onesafety-homepage .os-oh__rukou {
	position: absolute;
	z-index: 2;
	margin: 0;
	color: var(--oh-blue);
	font-family: "OS Caveat", "Segoe Print", cursive;
	font-size: clamp(1.2rem, 1.9vw, 1.7rem);
	line-height: 1.12;
	transform: rotate(-8deg);
	pointer-events: none;
}

.onesafety-homepage .os-oh__rukou .os-line {
	display: block;
	white-space: nowrap;
}

.onesafety-homepage .os-oh__rukou-sipka {
	display: block;
	margin: 0.2rem 0 0 1.5rem;
	transform: scaleX(-1);
}

/* 1 Hero */
.onesafety-homepage .os-oh__hero {
	position: relative;
	padding: clamp(2rem, 5vw, 4rem) 0 0.5rem;
}

.onesafety-homepage .os-oh__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: 2rem;
	align-items: center;
}

.onesafety-homepage .os-oh__brand {
	margin: 0 0 0.8rem;
}

.onesafety-homepage .os-oh__brand img {
	display: block;
	width: clamp(150px, 16vw, 210px);
	height: auto;
}

.onesafety-homepage .os-oh__claim {
	margin: 0.6rem 0 0.8rem;
	max-width: 26rem;
	color: #56627a;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	font-weight: 700;
	line-height: 1.25;
}

.onesafety-homepage .os-oh__pilire {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.8rem;
	max-width: 36rem;
	margin: 1.6rem 0 0;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-oh__pilir {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	text-align: center;
	color: #3f4a5e;
	font-size: 0.9rem;
	line-height: 1.3;
}

.onesafety-homepage .os-oh__pilir-icon {
	width: 34px;
	height: 34px;
	color: var(--oh-blue);
}

.onesafety-homepage .os-oh__pilir-icon svg,
.onesafety-homepage .os-oh__karta-icon svg,
.onesafety-homepage .os-oh__kolecko svg,
.onesafety-homepage .os-oh__navrh-icon svg,
.onesafety-homepage .os-oh__volat svg,
.onesafety-homepage .os-oh__chat-odeslat svg {
	display: block;
	width: 100%;
	height: 100%;
}

.onesafety-homepage .os-oh__pilir-text .os-line {
	display: block;
}

.onesafety-homepage .os-oh__hero-media {
	position: relative;
	display: flex;
	justify-content: center;
}

.onesafety-homepage .os-oh__robot {
	display: block;
	width: min(100%, 460px);
	height: auto;
}

.onesafety-homepage .os-oh__rukou--hero {
	top: -1rem;
	right: 0;
}

.onesafety-homepage .os-scrollcue--oh {
	padding: 0.4rem 0 0.2rem;
}

.onesafety-homepage .os-scrollcue--oh .os-scrollcue__text {
	color: #7a8aa6;
}

/* Chat */
.onesafety-homepage .os-oh__chat.os-ask {
	padding: 0.5rem 0 clamp(3rem, 6vw, 5rem);
	background: transparent;
}

.onesafety-homepage .os-oh__chat-karta.os-ask__panel {
	max-width: 58rem;
	margin: 0 auto;
	padding: clamp(1.1rem, 3vw, 2rem);
	border: 1px solid var(--oh-line);
	border-radius: 22px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(11, 20, 55, 0.08);
}

.onesafety-homepage .os-oh__chat-hlava {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.6rem 0.9rem;
	margin-bottom: 1.2rem;
}

.onesafety-homepage .os-oh__chat-znacka img {
	display: block;
	width: 140px;
	height: auto;
}

.onesafety-homepage .os-oh__chat-badge {
	padding: 0.3rem 0.8rem;
	border-radius: 999px;
	background: var(--oh-soft);
	color: var(--oh-blue);
	font-size: 0.85rem;
	font-weight: 600;
}

.onesafety-homepage .os-oh__chat-online {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-left: auto;
	padding: 0.3rem 0.9rem;
	border-radius: 999px;
	background: #f3f6fb;
	color: #4a5568;
	font-size: 0.88rem;
}

.onesafety-homepage .os-oh__chat-tecka {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22b35e;
}

.onesafety-homepage .os-oh__chat-vlakno.os-ask__thread {
	max-height: 420px;
	margin-bottom: 1rem;
	gap: 0.8rem;
}

.onesafety-homepage .os-oh__chat .os-ask__msg {
	max-width: 44rem;
	padding: 0.9rem 1.1rem;
	border: 0;
	border-radius: 16px;
}

.onesafety-homepage .os-oh__chat .os-ask__msg--hero {
	background: #f1f4f9;
}

.onesafety-homepage .os-oh__chat .os-ask__msg--you {
	align-self: flex-end;
	background: var(--oh-blue);
}

.onesafety-homepage .os-oh__chat .os-ask__msg--you .os-ask__msg-text,
.onesafety-homepage .os-oh__chat .os-ask__msg--you .os-ask__msg-from {
	color: #ffffff;
}

.onesafety-homepage .os-oh__chat .os-ask__msg-text {
	font-size: 1rem;
	line-height: 1.55;
}

.onesafety-homepage .os-oh__zprava {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	align-self: flex-start;
	margin-left: 0;
}

.onesafety-homepage .os-oh__zprava .os-ask__msg-text .os-line {
	display: block;
}

.onesafety-homepage .os-oh__avatar {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 8px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 2px 8px rgba(11, 20, 55, 0.08);
}

.onesafety-homepage .os-oh__avatar img,
.onesafety-homepage .os-oh__symbol {
	display: block;
	width: 100%;
	height: auto;
}

.onesafety-homepage .os-oh__chat-form {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.4rem 0.4rem 0.4rem 1.2rem;
	border: 1px solid #d6deea;
	border-radius: 999px;
	background: #ffffff;
}

.onesafety-homepage .os-oh__chat-form:focus-within {
	border-color: var(--oh-blue);
	box-shadow: 0 0 0 3px rgba(1, 81, 240, 0.15);
}

.onesafety-homepage .os-oh__chat-input.os-ask__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--oh-ink);
	font: inherit;
	font-size: 1.02rem;
	resize: none;
	outline: none;
}

.onesafety-homepage .os-oh__chat-odeslat {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 13px;
	border: 0;
	border-radius: 50%;
	background: var(--oh-blue);
	color: #ffffff;
	cursor: pointer;
}

.onesafety-homepage .os-oh__chat-odeslat:hover,
.onesafety-homepage .os-oh__chat-odeslat:focus-visible {
	background: #0041c4;
}

.onesafety-homepage .os-oh__chat-odeslat:focus-visible,
.onesafety-homepage .os-oh__navrh:focus-visible,
.onesafety-homepage .os-oh__moznost:focus-visible,
.onesafety-homepage .os-oh__linka:focus-visible,
.onesafety-homepage .os-oh__volat:focus-visible {
	outline: 3px solid var(--oh-blue);
	outline-offset: 3px;
}

.onesafety-homepage .os-oh__chat-odeslat:disabled {
	opacity: 0.6;
	cursor: progress;
}

.onesafety-homepage .os-oh__navrhy {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-oh__navrh {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	width: 100%;
	min-height: 54px;
	padding: 0.6rem 1.1rem;
	border: 1px solid var(--oh-line);
	border-radius: 999px;
	background: #f7f9fc;
	color: var(--oh-ink);
	font: inherit;
	font-size: 0.98rem;
	text-align: left;
	cursor: pointer;
}

.onesafety-homepage .os-oh__navrh:hover {
	border-color: var(--oh-blue);
	background: var(--oh-soft);
}

.onesafety-homepage .os-oh__navrh-icon {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	color: var(--oh-blue);
}

.onesafety-homepage .os-oh__chat-pozn {
	margin: 0.9rem 0 0;
	color: #7a8499;
	font-size: 0.82rem;
	text-align: center;
}

/* 2 Jak OneHero pomáhá */
.onesafety-homepage .os-oh__jak {
	padding: clamp(3rem, 6vw, 5rem) 0;
}

.onesafety-homepage .os-oh__jak-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 2rem 3rem;
	align-items: center;
	margin-bottom: 2rem;
}

.onesafety-homepage .os-oh__schema {
	position: relative;
	padding-top: 3rem;
}

.onesafety-homepage .os-oh__rukou--schema {
	top: -0.5rem;
	left: 0;
}

.onesafety-homepage .os-oh__rukou--schema .os-oh__rukou-sipka {
	margin-left: 9rem;
	margin-top: -1.2rem;
	transform: rotate(-30deg) scaleX(-1);
}

.onesafety-homepage .os-oh__kruhy {
	display: flex;
	align-items: center;
	justify-content: center;
}

.onesafety-homepage .os-oh__kruh {
	position: relative;
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: clamp(108px, 13vw, 150px);
	aspect-ratio: 1;
	border-radius: 50%;
}

.onesafety-homepage .os-oh__kruh--foto {
	padding: clamp(10px, 1.4vw, 16px);
	background: rgba(1, 81, 240, 0.07);
}

.onesafety-homepage .os-oh__kruh-img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}

.onesafety-homepage .os-oh__kruh--stred {
	z-index: 1;
	margin: 0 clamp(-22px, -2vw, -12px);
	align-content: center;
	gap: 0.15rem;
	padding: 1rem;
	background: rgba(1, 81, 240, 0.09);
	box-shadow: 0 0 0 clamp(8px, 1.2vw, 14px) rgba(1, 81, 240, 0.05);
	text-align: center;
	font-size: clamp(0.78rem, 1vw, 0.95rem);
}

.onesafety-homepage .os-oh__kruh--stred strong {
	color: var(--oh-ink);
}

.onesafety-homepage .os-oh__kruh--stred span:last-child {
	color: var(--oh-muted);
}

.onesafety-homepage .os-oh__kruh-symbol {
	display: block;
	width: clamp(34px, 4vw, 48px);
	margin-bottom: 0.3rem;
}

.onesafety-homepage .os-oh__schema-popisky {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	align-items: start;
	gap: 0.4rem;
	margin: 0.8rem 0 0;
	padding: 0;
	list-style: none;
	text-align: center;
	color: var(--oh-muted);
	font-size: 0.9rem;
	line-height: 1.3;
}

.onesafety-homepage .os-oh__schema-popisky strong {
	display: block;
	color: var(--oh-ink);
}

.onesafety-homepage .os-oh__schema-popisky .os-line {
	display: block;
}

.onesafety-homepage .os-oh__schema-sipka {
	color: var(--oh-blue);
	font-size: 1.3rem;
}

.onesafety-homepage .os-oh__karty {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.8rem, 2vw, 1.3rem);
	margin: 0 0 clamp(2rem, 4vw, 3rem);
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-oh__karta {
	position: relative;
	padding: 1.3rem 1.4rem 1.5rem;
	border: 1px solid var(--oh-line);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(11, 20, 55, 0.05);
}

.onesafety-homepage .os-oh__karta-icon {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin-bottom: 1rem;
	padding: 15px;
	border-radius: 50%;
	background: var(--oh-soft);
	color: var(--oh-blue);
}

.onesafety-homepage .os-oh__karta-cislo {
	position: absolute;
	left: 6.2rem;
	top: 1.6rem;
	color: #9fb4dc;
	font-size: 1.1rem;
	font-weight: 700;
}

.onesafety-homepage .os-oh__karta-nazev {
	margin: 0 0 0.6rem;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.25;
}

.onesafety-homepage .os-oh__karta-text {
	margin: 0;
	color: var(--oh-muted);
	font-size: 0.98rem;
	line-height: 1.5;
}

.onesafety-homepage .os-oh__karta-text .os-line {
	display: block;
}

/* Ukázka tréninku */
.onesafety-homepage .os-oh__trenink {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.5rem clamp(1.5rem, 3vw, 2.5rem);
	padding: clamp(1.4rem, 3vw, 2.4rem);
	border-radius: 24px;
	background: linear-gradient(0deg, #0b1330, #0b1330);
	color: #ffffff;
}

.onesafety-homepage .os-oh__trenink-tecka {
	position: absolute;
	right: clamp(-1.2rem, -2vw, -0.6rem);
	top: clamp(-2rem, -3vw, -1rem);
	z-index: 0;
	width: clamp(70px, 9vw, 110px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--oh-blue);
}

.onesafety-homepage .os-oh__trenink-otazka,
.onesafety-homepage .os-oh__odpoved {
	position: relative;
	z-index: 1;
}

.onesafety-homepage .os-oh__stitky {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
}

.onesafety-homepage .os-oh__stitek {
	padding: 0.3rem 0.8rem;
	border-radius: 999px;
	color: #ffffff;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.onesafety-homepage .os-oh__stitek--svetly {
	background: #ffffff;
	color: var(--oh-ink);
}

.onesafety-homepage .os-oh__trenink-nazev {
	margin: 0 0 0.6rem;
	color: #ffffff;
	font-size: clamp(1.35rem, 2.3vw, 1.9rem);
	font-weight: 800;
	line-height: 1.2;
}

.onesafety-homepage .os-oh__trenink-dotaz {
	margin: 0 0 1rem;
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.05rem;
}

.onesafety-homepage .os-oh__moznosti {
	display: grid;
	gap: 0.6rem;
}

.onesafety-homepage .os-oh__moznost {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	width: 100%;
	min-height: 52px;
	padding: 0.45rem 1rem 0.45rem 0.5rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.04);
	color: #ffffff;
	font: inherit;
	font-size: 0.98rem;
	text-align: left;
	cursor: pointer;
}

.onesafety-homepage .os-oh__moznost:hover {
	border-color: rgba(255, 255, 255, 0.45);
}

.onesafety-homepage .os-oh__moznost-klic {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.1);
	font-weight: 700;
}

.onesafety-homepage .os-oh__moznost.is-vybrano {
	border-color: var(--oh-blue);
	background: var(--oh-blue);
}

.onesafety-homepage .os-oh__moznost.is-spatne {
	border-color: #e5484d;
	background: rgba(229, 72, 77, 0.2);
}

.onesafety-homepage .os-oh__trenink-akce {
	margin: 1.3rem 0 0;
}

.onesafety-homepage .os-oh__odpoved {
	padding: clamp(1.1rem, 2.4vw, 1.6rem);
	border-radius: 18px;
	background: #ffffff;
	color: var(--oh-ink);
	transition: opacity 0.25s ease;
}

.onesafety-homepage .os-oh__trenink.is-ceka .os-oh__odpoved {
	opacity: 0.35;
}

.onesafety-homepage .os-oh__trenink.is-ceka .os-oh__verdikt {
	visibility: hidden;
}

.onesafety-homepage .os-oh__odpoved-hlava {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 1rem;
	font-size: 1.05rem;
}

.onesafety-homepage .os-oh__odpoved-hlava .os-oh__avatar {
	width: 34px;
	height: 34px;
	padding: 5px;
}

.onesafety-homepage .os-oh__verdikt {
	margin-bottom: 1.1rem;
	padding: 0.9rem 1rem;
	border-radius: 12px;
	background: #f1f5fb;
}

.onesafety-homepage .os-oh__verdikt-stav {
	margin: 0 0 0.35rem;
	font-weight: 700;
}

.onesafety-homepage .os-oh__verdikt.is-spravne .os-oh__verdikt-stav {
	color: #17803d;
}

.onesafety-homepage .os-oh__verdikt.is-spravne .os-oh__verdikt-stav::before {
	content: "\2713";
	display: inline-grid;
	place-items: center;
	width: 1.2em;
	height: 1.2em;
	margin-right: 0.4rem;
	border-radius: 50%;
	background: #17803d;
	color: #ffffff;
	font-size: 0.8em;
}

.onesafety-homepage .os-oh__verdikt.is-spatne .os-oh__verdikt-stav {
	color: #c42c32;
}

.onesafety-homepage .os-oh__verdikt-text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
}

.onesafety-homepage .os-oh__dal-nazev {
	margin: 0 0 0.5rem;
	font-weight: 800;
}

.onesafety-homepage .os-oh__dal {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	counter-reset: dal;
}

.onesafety-homepage .os-oh__dal li {
	position: relative;
	margin-bottom: 0.4rem;
	padding-left: 2rem;
	color: #45506a;
	font-size: 0.93rem;
	line-height: 1.4;
	counter-increment: dal;
}

.onesafety-homepage .os-oh__dal li::before {
	content: counter(dal);
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 50%;
	background: var(--oh-soft);
	color: var(--oh-ink);
	font-size: 0.78rem;
	font-weight: 700;
}

.onesafety-homepage .os-oh__dalsi {
	margin: 0;
}

.onesafety-homepage .os-oh__dalsi-odkaz {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-height: 48px;
	border-radius: 12px;
	background: var(--oh-soft);
	color: var(--oh-blue);
	font-weight: 600;
	text-decoration: none;
}

.onesafety-homepage .os-oh__dalsi-odkaz:hover,
.onesafety-homepage .os-oh__dalsi-odkaz:focus-visible {
	background: var(--oh-blue);
	color: #ffffff;
}

.onesafety-homepage .os-oh__proc {
	position: relative;
	max-width: 48rem;
	margin: clamp(3rem, 6vw, 4.5rem) auto 0;
}

.onesafety-homepage .os-oh__rukou--proc {
	right: -14rem;
	top: 1.5rem;
}

/* 3 Člověk zůstává nejdůležitější */
.onesafety-homepage .os-oh__clovek {
	padding: clamp(2rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 5rem);
}

.onesafety-homepage .os-oh__clovek-top {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 2rem;
	align-items: center;
}

.onesafety-homepage .os-oh__ruka {
	position: relative;
}

.onesafety-homepage .os-oh__ruka-img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-mask-image: linear-gradient(180deg, #000 80%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 80%, transparent 100%);
	mix-blend-mode: multiply;
}

.onesafety-homepage .os-oh__rukou--ruka {
	top: 0.5rem;
	right: 0;
}

.onesafety-homepage .os-oh__rukou--ruka .os-oh__rukou-sipka {
	display: none;
}

.onesafety-homepage .os-oh__prinosy {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.5rem 0 2rem;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-oh__prinos {
	display: flex;
	align-items: center;
	gap: 1rem;
	line-height: 1.35;
}

.onesafety-homepage .os-oh__prinos strong {
	display: block;
	color: var(--oh-ink);
	font-size: 1.05rem;
}

.onesafety-homepage .os-oh__prinos strong + span {
	color: var(--oh-muted);
	font-size: 0.95rem;
}

.onesafety-homepage .os-oh__kolecko {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	padding: 17px;
	border-radius: 50%;
	background: var(--oh-soft);
	color: var(--oh-blue);
}

.onesafety-homepage .os-oh__kolecko--obrys {
	background: #ffffff;
	border: 1px solid var(--oh-line);
}

.onesafety-homepage .os-oh__box {
	position: relative;
	margin-bottom: 1.2rem;
	padding: clamp(1.3rem, 3vw, 2.2rem);
	border-radius: 22px;
	background: #f1f5fc;
}

.onesafety-homepage .os-oh__nestaci {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"hlava volat"
		"linky volat";
	gap: 1.3rem 2rem;
}

.onesafety-homepage .os-oh__nestaci-hlava {
	grid-area: hlava;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 1rem 2rem;
	align-items: start;
}

.onesafety-homepage .os-oh__nestaci-text {
	margin: 0.4rem 0 0;
	color: #3f4a5e;
	font-size: 0.98rem;
	line-height: 1.55;
}

.onesafety-homepage .os-oh__linky {
	grid-area: linky;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.onesafety-homepage .os-oh__linka {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	min-height: 44px;
	padding: 0.4rem 0.2rem;
	border-radius: 10px;
	color: var(--oh-blue);
	text-decoration: none;
}

.onesafety-homepage .os-oh__linka:hover {
	background: #ffffff;
}

.onesafety-homepage .os-oh__linka strong {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 800;
	line-height: 1;
}

.onesafety-homepage .os-oh__linka span {
	color: var(--oh-blue);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.onesafety-homepage .os-oh__nestaci-volat {
	grid-area: volat;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 0.8rem;
	min-width: 150px;
	padding-left: 1.6rem;
	border-left: 1px solid #d5deec;
}

.onesafety-homepage .os-oh__rukou--nestaci {
	position: static;
	transform: rotate(-6deg);
	font-size: clamp(1.1rem, 1.6vw, 1.4rem);
}

.onesafety-homepage .os-oh__volat {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	padding: 18px;
	border-radius: 50%;
	background: #e3ecfb;
	color: var(--oh-blue);
}

.onesafety-homepage .os-oh__volat:hover {
	background: var(--oh-blue);
	color: #ffffff;
}

.onesafety-homepage .os-oh__podpora {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 1.5rem 2.5rem;
	align-items: center;
}

.onesafety-homepage .os-oh__podpora-akce {
	margin: 0.4rem 0 0;
}

.onesafety-homepage .os-oh__podpora-body {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0 0 0 2rem;
	border-left: 1px solid #d5deec;
	list-style: none;
}

.onesafety-homepage .os-oh__rukou--podpora {
	right: 1.5rem;
	top: 1.5rem;
}

.onesafety-homepage .os-oh__rukou--podpora .os-oh__rukou-sipka {
	display: none;
}

.onesafety-homepage .os-oh__zaver {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	margin-top: clamp(2.5rem, 5vw, 4rem);
	text-align: center;
}

.onesafety-homepage .os-oh__zaver-tecka {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--oh-blue);
}

.onesafety-homepage .os-oh__zaver-nazev {
	margin: 0.4rem 0 0;
	color: var(--oh-ink);
	font-size: clamp(1.3rem, 2.4vw, 1.9rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.onesafety-homepage .os-oh__zaver-text {
	margin: 0;
	color: var(--oh-muted);
	font-size: 1.05rem;
}

/* Tablet */
@media (max-width: 1023px) {
	.onesafety-homepage .os-oh__hero-inner,
	.onesafety-homepage .os-oh__jak-top,
	.onesafety-homepage .os-oh__clovek-top,
	.onesafety-homepage .os-oh__trenink,
	.onesafety-homepage .os-oh__podpora {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-oh__hero-media {
		order: -1;
		max-width: 360px;
		margin: 0 auto;
	}

	.onesafety-homepage .os-oh__rukou--proc {
		display: none;
	}

	.onesafety-homepage .os-oh__karty,
	.onesafety-homepage .os-oh__prinosy {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-oh__nestaci {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"hlava"
			"linky"
			"volat";
	}

	.onesafety-homepage .os-oh__nestaci-hlava {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-oh__nestaci-volat {
		flex-direction: row;
		justify-content: flex-start;
		padding: 1rem 0 0;
		border-left: 0;
		border-top: 1px solid #d5deec;
	}

	.onesafety-homepage .os-oh__podpora-body {
		padding: 1.2rem 0 0;
		border-left: 0;
		border-top: 1px solid #d5deec;
	}

	.onesafety-homepage .os-oh__rukou--podpora {
		position: static;
		transform: rotate(-4deg);
		grid-row: 3;
	}
}

/* Mobil */
@media (max-width: 639px) {
	.onesafety-homepage .os-oh__pilire {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 1rem;
	}

	.onesafety-homepage .os-oh__rukou--hero {
		top: 0;
		right: -0.4rem;
		font-size: 1.05rem;
	}

	.onesafety-homepage .os-oh__rukou--hero .os-oh__rukou-sipka {
		width: 30px;
		height: 36px;
		margin-left: 1rem;
	}

	.onesafety-homepage .os-oh__hero-media {
		max-width: 280px;
	}

	.onesafety-homepage .os-oh__navrhy {
		grid-template-columns: minmax(0, 1fr);
	}

	.onesafety-homepage .os-oh__chat-online {
		margin-left: 0;
	}

	.onesafety-homepage .os-oh__chat-znacka img {
		width: 118px;
	}

	.onesafety-homepage .os-oh__zprava .os-oh__avatar {
		display: none;
	}

	.onesafety-homepage .os-oh__rukou--schema {
		position: static;
		margin-bottom: 0.6rem;
		transform: rotate(-4deg);
	}

	.onesafety-homepage .os-oh__rukou--schema .os-oh__rukou-sipka {
		display: none;
	}

	.onesafety-homepage .os-oh__schema {
		padding-top: 0;
	}

	.onesafety-homepage .os-oh__schema-popisky {
		font-size: 0.8rem;
	}

	.onesafety-homepage .os-oh__linky {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 1rem;
	}

	.onesafety-homepage .os-oh__btn {
		width: 100%;
		justify-content: space-between;
	}

	.onesafety-homepage .os-oh__rukou--ruka {
		top: -0.5rem;
		font-size: 1.05rem;
	}
}

/* OneHero: uvítací zpráva bez zalomení z kódu, šipka poznámky mimo kruhy */
.onesafety-homepage .os-oh__zprava .os-ask__msg-text {
	white-space: normal;
}

.onesafety-homepage .os-oh__zprava .os-ask__msg-text .os-line + .os-line {
	margin-top: 0.1rem;
}

.onesafety-homepage .os-oh__rukou--schema .os-oh__rukou-sipka {
	display: none;
}

.onesafety-homepage .os-oh__rukou--schema {
	top: -1.2rem;
	left: 0.5rem;
}

.onesafety-homepage .os-oh__schema {
	padding-top: 4.4rem;
}

.onesafety-homepage .os-oh__trenink-obal {
	position: relative;
	z-index: 0;
}

.onesafety-homepage .os-oh__trenink-obal .os-oh__trenink {
	z-index: 1;
}

.onesafety-homepage .os-oh__trenink-obal .os-oh__trenink-tecka {
	z-index: 0;
	right: clamp(-1.6rem, -2.4vw, -0.6rem);
	top: clamp(-2.2rem, -3.2vw, -1rem);
}

.onesafety-homepage .os-oh__ruka-img {
	-webkit-mask-image: radial-gradient(ellipse 72% 70% at 55% 48%, #000 62%, transparent 100%);
	mask-image: radial-gradient(ellipse 72% 70% at 55% 48%, #000 62%, transparent 100%);
}

@media (max-width: 639px) {
	.onesafety-homepage .os-oh__schema {
		padding-top: 0.5rem;
	}
}

/* =========================================================================
 * Verze 1.78.1 - hamburger bez podkladu, návrat nahoru podle předlohy,
 * sjednocený obrysový button v kontaktu
 * ========================================================================= */

/* Hamburger: jen čáry, bez šedého podkladu a rámečku */
.onesafety-homepage .os-nav__toggle {
	background: transparent;
	border: 0;
	border-radius: 10px;
	box-shadow: none;
}

.onesafety-homepage .os-nav__toggle:hover,
.onesafety-homepage .os-nav__toggle:active {
	background: transparent;
	border: 0;
}

.onesafety-homepage .os-nav__toggle:focus-visible {
	outline: 3px solid #0151F0;
	outline-offset: 2px;
}

/* Návrat nahoru: tečka #0151F0 48 px, bílá šipka, prstenec průchodu stránkou */
.onesafety-homepage.os-scrolltop-wrap {
	position: static;
	background: none;
}

.onesafety-homepage .os-scrolltop {
	--os-scrolltop-lift: 0px;
	position: fixed;
	right: max(16px, env(safe-area-inset-right));
	bottom: calc(max(20px, env(safe-area-inset-bottom)) + var(--os-scrolltop-lift));
	z-index: 9990;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transform: scale(0.8);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s, bottom 0.2s ease;
}

.onesafety-homepage .os-scrolltop.is-visible {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s, bottom 0.2s ease;
}

.onesafety-homepage .os-scrolltop__ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.onesafety-homepage .os-scrolltop__track {
	fill: rgba(255, 255, 255, 0.85);
	stroke: rgba(1, 81, 240, 0.14);
	stroke-width: 2;
}

.onesafety-homepage .os-scrolltop__progress {
	fill: none;
	stroke: #0151F0;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	transition: stroke-dashoffset 0.12s linear;
}

.onesafety-homepage .os-scrolltop__disc {
	position: relative;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #0151F0;
	color: #ffffff;
	box-shadow: 0 6px 18px rgba(1, 81, 240, 0.28);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.onesafety-homepage .os-scrolltop:hover .os-scrolltop__disc,
.onesafety-homepage .os-scrolltop:focus-visible .os-scrolltop__disc {
	background: #0041c4;
	transform: translateY(-2px);
}

.onesafety-homepage .os-scrolltop:focus-visible {
	outline: 3px solid #0151F0;
	outline-offset: 3px;
}

@media (max-width: 639px) {
	.onesafety-homepage .os-scrolltop {
		right: max(12px, env(safe-area-inset-right));
		bottom: calc(max(16px, env(safe-area-inset-bottom)) + var(--os-scrolltop-lift));
		width: 58px;
		height: 58px;
	}

	.onesafety-homepage .os-scrolltop__disc {
		width: 44px;
		height: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.onesafety-homepage .os-scrolltop,
	.onesafety-homepage .os-scrolltop.is-visible,
	.onesafety-homepage .os-scrolltop__progress,
	.onesafety-homepage .os-scrolltop__disc {
		transition: none;
	}
}

/* Starý plovoucí prvek skrytý pro jistotu, kdyby ho vracel filtr */
.onesafety-homepage .os-totop {
	display: none;
}

/* Kontakt: obrysové tlačítko stejné jako ostatní na webu */
.onesafety-homepage .os-contact__btn--ghost {
	border: 1.5px solid #0151F0;
	border-radius: var(--os-radius-sm);
	background: #ffffff;
	color: #0151F0;
	box-shadow: none;
}

.onesafety-homepage .os-contact__btn--ghost:hover,
.onesafety-homepage .os-contact__btn--ghost:focus-visible {
	background: #eef3fd;
	border-color: #0151F0;
	color: #0151F0;
}

/* Trvalý variabilní symbol dárce */
.onesafety-homepage .os-vs-zpet {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 0 0 1rem;
	padding: 0.8rem 1rem;
	border-left: 4px solid #0151F0;
	border-radius: 8px;
	background: #eef3fd;
}

.onesafety-homepage .os-vs-zpet[hidden] {
	display: none;
}

.onesafety-homepage .os-vs-zpet__text {
	margin: 0;
	color: #0b1120;
	line-height: 1.45;
}

.onesafety-homepage .os-vs-zpet__vs {
	color: #0151F0;
	letter-spacing: 0.04em;
}

.onesafety-homepage .os-vs-zpet__pozn {
	display: block;
	color: #525c6b;
	font-size: 0.85rem;
}

.onesafety-homepage .os-vs-zpet__novy {
	min-height: 40px;
	padding: 0.35rem 0.2rem;
	border: 0;
	background: none;
	color: #0151F0;
	font: inherit;
	font-size: 0.88rem;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.onesafety-homepage .os-vs-pozn {
	margin-top: 0.6rem;
}

.onesafety-homepage .os-mecenas__box > .os-vs-zpet {
	width: calc(100% - 2 * var(--os-shell-pad, 1rem));
	max-width: calc(var(--os-shell, 1200px) - 2 * var(--os-shell-pad, 1rem));
	margin: 1rem auto 0;
}

/* Varianta C: číslo dárce (specifický symbol) */
.onesafety-homepage .os-mecenas__ss {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin: 0.8rem 0 0;
}

.onesafety-homepage .os-mecenas__ss[hidden],
.onesafety-homepage [data-os-ss-radek][hidden],
.onesafety-homepage [data-os-ss-pozn][hidden],
.onesafety-homepage [data-os-vs-pozn][hidden] {
	display: none;
}

.onesafety-homepage .os-dar__email-podminka {
	margin: 0 0 0.8rem;
	font-weight: 600;
	color: #0b1120;
}

/* =========================================================================
 * Verze 1.79.1 - mobilní menu podle implementačního zadání
 * ========================================================================= */

.onesafety-homepage .os-nav__mobil {
	display: none;
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-nav__menu {
		padding: 0;
		background: #ffffff;
		overflow: hidden;
	}

	.onesafety-homepage .os-nav__menu .os-nav__list {
		display: none;
	}

	.onesafety-homepage .os-nav__menu.is-open .os-nav__mobil {
		display: flex;
		flex-direction: column;
		height: 100%;
		padding-top: env(safe-area-inset-top);
	}

	.onesafety-homepage .os-nav__mobil-hlava {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 1rem clamp(1.25rem, 5vw, 1.75rem) 0.5rem;
	}

	.onesafety-homepage .os-nav__mobil-logo img {
		display: block;
		width: clamp(150px, 46vw, 200px);
		height: auto;
	}

	.onesafety-homepage .os-nav__zavrit {
		display: grid;
		place-items: center;
		width: 48px;
		height: 48px;
		padding: 0;
		border: 0;
		background: none;
		color: #0151F0;
		cursor: pointer;
	}

	.onesafety-homepage .os-nav__zavrit:focus-visible {
		outline: 3px solid #0151F0;
		outline-offset: 2px;
		border-radius: 8px;
	}

	.onesafety-homepage .os-nav__mobil-obsah {
		flex: 1 1 auto;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: clamp(1.5rem, 6vw, 2.5rem) clamp(1.25rem, 5vw, 1.75rem) calc(2rem + env(safe-area-inset-bottom));
	}

	.onesafety-homepage .os-nav__mobil-kicker {
		margin: 0 0 0.6rem;
		color: #0151F0;
		font-size: 0.78rem;
		font-weight: 700;
		letter-spacing: 0.22em;
		text-transform: uppercase;
	}

	.onesafety-homepage .os-nav__mobil-kicker + .os-nav__mobil-list {
		margin-bottom: clamp(2rem, 7vw, 3rem);
	}

	.onesafety-homepage .os-nav__mobil-list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.onesafety-homepage .os-nav__mobil-item + .os-nav__mobil-item {
		border-top: 1px solid #e8ecf3;
	}

	.onesafety-homepage .os-nav__mobil-odkaz {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		min-height: 64px;
		padding: 0.6rem 0;
		color: #0b1437;
		font-size: clamp(1.45rem, 6vw, 1.85rem);
		font-weight: 800;
		letter-spacing: -0.02em;
		text-decoration: none;
	}

	.onesafety-homepage .os-nav__mobil-list--akce .os-nav__mobil-odkaz {
		color: #0151F0;
	}

	.onesafety-homepage .os-nav__mobil-sipka {
		flex: 0 0 auto;
		color: #0151F0;
	}

	.onesafety-homepage .os-nav__mobil-odkaz:focus-visible {
		outline: 3px solid #0151F0;
		outline-offset: 4px;
		border-radius: 6px;
	}

	.onesafety-homepage .os-nav__mobil-cta {
		margin: clamp(0.5rem, 3vw, 1.5rem) 0 0;
	}

	.onesafety-homepage .os-nav__mobil-btn {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 64px;
		padding: 1rem 1.6rem;
		border-radius: 14px;
		background: #0151F0;
		font-size: 1.15rem;
		font-weight: 700;
	}

	.onesafety-homepage .os-nav__mobil-pata {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 1rem;
		margin-top: clamp(2.5rem, 10vw, 4rem);
	}

	.onesafety-homepage .os-nav__mobil-podpis {
		margin: 0;
		color: #0151F0;
		font-family: "OS Caveat", "Segoe Print", cursive;
		font-size: clamp(1.25rem, 5vw, 1.6rem);
		line-height: 1.15;
		transform: rotate(-4deg);
	}

	.onesafety-homepage .os-nav__mobil-podpis .os-line {
		display: block;
	}

	.onesafety-homepage .os-nav__mobil-tecka {
		flex: 0 0 auto;
		width: 56px;
		height: 56px;
		border-radius: 50%;
		background: #0151F0;
	}
}

@media (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
	.onesafety-homepage .os-nav__menu.is-open .os-nav__mobil {
		animation: os-menu-in 0.22s ease-out;
	}

	@keyframes os-menu-in {
		from { opacity: 0; }
		to { opacity: 1; }
	}
}

@media (max-width: 1023px) {
	/* Při otevřeném menu nesvítí přes panel logo ani hamburger z hlavičky. */
	.onesafety-homepage.os-menu-open .os-nav__inner > .onesafety-logo,
	.onesafety-homepage.os-menu-open .os-nav__inner > .os-nav__toggle {
		opacity: 0;
		pointer-events: none;
	}
}

@media (max-width: 1023px) {
	.onesafety-homepage .os-nav__menu.is-open {
		padding-top: 0;
	}
}

@media (max-width: 1023px) {
	/* Panel menu se zaostřuje kvůli klávesnici, ale nekreslí rámeček. */
	.onesafety-homepage .os-nav__mobil:focus,
	.onesafety-homepage .os-nav__mobil:focus-visible {
		outline: none;
	}

	/* Křížek je jen čára, žádný rámeček ani podklad. */
	.onesafety-homepage .os-nav__zavrit,
	.onesafety-homepage .os-nav__zavrit:hover,
	.onesafety-homepage .os-nav__zavrit:focus {
		border: 0;
		outline: none;
		background: none;
		box-shadow: none;
	}

	.onesafety-homepage .os-nav__zavrit:focus-visible {
		outline: 2px solid #0151F0;
		outline-offset: 4px;
		border-radius: 10px;
	}
}

/* Obrysová tlačítka: jedna tenká linka na celém webu (dřív 1-2 px různě). */
.onesafety-homepage .os-btn--ghost,
.onesafety-homepage .os-tool__btn--ghost,
.onesafety-homepage .os-offer__btn--ghost,
.onesafety-homepage .os-contact__btn--ghost,
.onesafety-homepage .os-sp__btn--ghost,
.onesafety-homepage .os-ev__btn--ghost,
.onesafety-homepage .os-oh__btn--ghost,
.onesafety-homepage .os-dar__btn--ghost,
.onesafety-homepage .os-mecenas__btn--ghost {
	border-width: 1.5px;
	border-style: solid;
	border-radius: var(--os-radius-sm);
	box-shadow: none;
}

.onesafety-homepage .os-consent__btn--ghost,
.onesafety-homepage .os-vp__btn--ghost {
	border-width: 1.5px;
}

/* Logo OneSafety o 10 % větší (hlavička, mobilní menu, patička). */
.onesafety-homepage .onesafety-logo .onesafety-logo__image {
	height: clamp(33px, 3.3vw, 50.6px);
	max-width: min(66vw, 330px);
}

.onesafety-homepage .os-footer__logo {
	width: clamp(165px, 19.8vw, 231px);
}

/*
 * 21. 9. 2026: nové soubory loga (těsný ořez 1703 × 348) a celé logo
 * o dalších 10 % větší. Výšky jsou přepočtené na nový ořez tak, aby
 * viditelný nápis byl přesně 1,1× větší než předtím.
 */
.onesafety-homepage .onesafety-logo .onesafety-logo__image {
	height: clamp(30.6px, 3.06vw, 46.9px);
	max-width: min(72vw, 360px);
}

.onesafety-homepage .os-footer__logo {
	width: clamp(181.5px, 21.8vw, 254px);
}

.onesafety-homepage .os-dar__modal-logo-image {
	height: 27.8px;
	max-width: 220px;
}

.onesafety-homepage .os-ev__logo-img {
	width: clamp(187px, 19.8vw, 264px);
}

.onesafety-homepage .os-osoba__bar-logo-image {
	height: clamp(22.2px, 2.22vw, 29.7px);
	max-width: 240px;
}

/* 21. 9. 2026: hlavní logo (hlavička, mobilní menu) 2× o 10 % větší (1,21×). */
.onesafety-homepage .onesafety-logo .onesafety-logo__image {
	height: clamp(37px, 3.7vw, 56.75px);
	max-width: min(80vw, 420px);
}

/* Částky podpory: jemný štítek „Nejčastější volba“ (21. 9. 2026). */
.onesafety-homepage .os-dar__castky {
	padding-top: 0.55rem;
}

.onesafety-homepage .os-dar__castka[hidden] {
	display: none;
}

.onesafety-homepage .os-dar__castka--doporucena {
	position: relative;
	overflow: visible;
}

.onesafety-homepage .os-dar__castka-stitek {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -55%);
	padding: 0.1rem 0.45rem;
	border: 1px solid #c9d8f7;
	border-radius: 999px;
	background: #ffffff;
	color: #0151F0;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
}

.onesafety-homepage .os-dar__castka.is-active {
	border-color: #0151F0;
	background: #0151F0;
	color: #ffffff;
}

.onesafety-homepage .os-dar__castka-stitek {
	max-width: calc(100% - 6px);
	padding: 0.08rem 0.4rem;
	font-size: 0.55rem;
	letter-spacing: 0.03em;
	overflow: hidden;
	text-overflow: ellipsis;
}

.onesafety-homepage .os-dar__castka-stitek {
	font-size: 0.62rem;
	letter-spacing: 0;
	text-transform: none;
	text-overflow: clip;
}

.onesafety-homepage .os-dar__castka-stitek {
	max-width: none;
	overflow: visible;
}

@media (min-width: 1024px) and (max-width: 1279px) {
	.onesafety-homepage .os-dar__castka-stitek {
		font-size: 0.55rem;
		padding: 0.06rem 0.3rem;
	}
}

/*
 * Odkaz „Přeskočit na obsah“ z WordPressu: ukázat jen při ovládání
 * klávesnicí, ne po klepnutí nebo programovém zaměření (iPhone).
 */
.skip-link.screen-reader-text:focus:not(:focus-visible) {
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	margin: -1px !important;
}

/*
 * Patička: povinné firemní údaje a kontakt na lidi (David, Marek).
 * Plná šířka pod blokem provozovatele, aby se nerozbil jeho grid.
 */
.onesafety-homepage .os-footer__company,
.onesafety-homepage .os-footer__people {
	grid-column: 1 / -1;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.onesafety-homepage .os-footer__company-name {
	margin: 0.4rem 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 800;
}

.onesafety-homepage .os-footer__company-line {
	display: block;
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.8rem;
	line-height: 1.7;
}

.onesafety-homepage .os-footer__company-register {
	margin: 0.5rem 0 0;
}

.onesafety-homepage .os-footer__people {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2.5rem;
}

.onesafety-homepage .os-footer__people .os-footer__operator-eyebrow {
	flex: 1 1 100%;
	margin: 0;
}

.onesafety-homepage .os-footer__person {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 15rem;
}

.onesafety-homepage .os-footer__person-name {
	font-size: 0.92rem;
	font-weight: 800;
}

.onesafety-homepage .os-footer__person-role {
	color: rgba(255, 255, 255, 0.58);
	font-size: 0.78rem;
	margin-bottom: 0.25rem;
}

.onesafety-homepage .os-footer__people .os-footer__link,
.onesafety-homepage .os-footer__company-register .os-footer__link {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.82rem;
	text-decoration: none;
}

.onesafety-homepage .os-footer__people .os-footer__link:hover,
.onesafety-homepage .os-footer__company-register .os-footer__link:hover {
	color: #fff;
	text-decoration: underline;
}
