/*
Theme Name: Mach Ubezpieczenia
Theme URI: https://mach-ubezpieczenia.pl
Author: SG Web Dev
Description: Motyw agencji ubezpieczeniowej Katarzyny Mach-Belgardt.
Version: 1.14.0
Requires at least: 6.4
Requires PHP: 8.2
Text Domain: mach-ubezpieczenia
*/

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/outfit-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/outfit-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/outfit-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/outfit-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/outfit-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/outfit-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/source-sans-400-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/source-sans-400-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/source-sans-400-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/source-sans-400-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--color-navy: #1b4f8a;
	--color-blue: #2e7fc1;
	--color-teal: #00c4a7;
	--color-ink: #1c2430;
	--color-muted: #526070;
	--color-line: #d5e0ea;
	--color-paper: #ffffff;
	--color-canvas: #f3f7fb;
	--color-error: #9d1c3d;
	--color-error-bg: #fdecef;
	--color-ok: #0d6b52;
	--color-ok-bg: #e7f8f4;
	--header-height: 5.75rem;
	--content-width: 68rem;
	--measure: 40rem;
	--space-page: 1.25rem;
	--font: "Source Sans 3", "Segoe UI", sans-serif;
	--font-display: "Outfit", "Segoe UI", sans-serif;
}

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

html {
	scroll-padding-top: calc(var(--header-height) + 1rem);
}

body {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-height: 100vh;
	color: var(--color-ink);
	background: var(--color-canvas);
	font-family: var(--font);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.65;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--color-blue);
}

a:hover {
	color: var(--color-navy);
}

.skip-link {
	position: absolute;
	left: 1rem;
	top: -4rem;
	z-index: 20;
	padding: 0.5rem 0.75rem;
	background: var(--color-paper);
	color: var(--color-navy);
	font-family: var(--font-display);
	font-weight: 600;
}

.skip-link:focus {
	top: 0.75rem;
}

.container {
	width: min(var(--content-width), calc(100% - 2 * var(--space-page)));
	margin-inline: auto;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 10;
	background: var(--color-paper);
	border-bottom: 3px solid var(--color-navy);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: var(--header-height);
}

.logo {
	display: flex;
	align-items: center;
	line-height: 0;
}

.logo img {
	width: auto;
	height: 3.6rem;
}

.nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	min-width: 3rem;
	min-height: 3rem;
	padding: 0.45rem 1rem;
	border: 2px solid var(--color-navy);
	border-radius: 999px;
	background: var(--color-paper);
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.site-nav .menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.site-nav a:hover {
	background: #e7f3fb;
	color: var(--color-blue);
	transform: translateY(-1px);
}

.nav-toggle:hover {
	transform: translateY(-1px);
}

.nav-toggle:active,
.site-nav a:active {
	transform: translateY(0) scale(0.98);
}

.site-nav .current-menu-item > a,
.site-nav .current_page_item > a {
	background: var(--color-navy);
	color: #fff;
}

.site-main {
	flex: 1;
	padding: 1.5rem 0 3rem;
}

.site-main .container {
	padding: 2rem 1.25rem 2.5rem;
	border-radius: 1.25rem;
	background: var(--color-paper);
}

.page-title {
	display: inline-block;
	max-width: var(--measure);
	margin: 0 0 1.5rem;
	padding-bottom: 0.7rem;
	border-bottom: 4px solid var(--color-teal);
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: clamp(2rem, 5vw, 2.75rem);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.entry-content {
	max-width: var(--measure);
	color: var(--color-ink);
}

.entry-content > *:first-child {
	margin-top: 0;
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.entry-content p,
.site-main p {
	margin: 0 0 1rem;
}

.entry-content h2,
.entry-content h3 {
	margin: 2rem 0 0.6rem;
	color: var(--color-navy);
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.entry-content h2 {
	font-size: 1.6rem;
}

.entry-content h3 {
	font-size: 1.3rem;
}

.entry-content ul,
.entry-content ol {
	margin: 0 0 1rem;
	padding-left: 1.2rem;
}

.entry-content li + li {
	margin-top: 0.35rem;
}

.site-footer {
	padding: 2rem 0 2.25rem;
	background: var(--color-navy);
	color: #fff;
}

.footer-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 2rem;
}

.footer-name {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: -0.01em;
}

.footer-name span {
	display: block;
	margin-top: 0.15rem;
	font-family: var(--font);
	font-size: 1rem;
	font-weight: 400;
	opacity: 0.88;
}

.footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: #fff;
	font-family: var(--font-display);
	font-weight: 600;
	text-decoration: none;
}

.footer-menu a:hover,
.footer-menu .current-menu-item > a {
	color: var(--color-teal);
}

.copyright {
	margin: 0;
	font-size: 0.95rem;
	opacity: 0.8;
}

.contact-layout {
	display: grid;
	gap: 2rem;
	margin-top: 1.75rem;
}

.contact-facts {
	margin: 0;
	padding: 1.5rem 1.4rem 1.65rem;
	border-radius: 1rem;
	background: var(--color-canvas);
}

.contact-facts div + div {
	margin-top: 1.5rem;
}

.contact-facts dt {
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.3;
}

.contact-facts dd {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	margin: 0.3rem 0 0;
}

.contact-facts a {
	display: inline-flex;
	align-items: center;
	min-height: 3rem;
	font-weight: 600;
	text-decoration: none;
}

.contact-form-wrap h2 {
	margin: 0;
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.contact-form {
	display: grid;
	gap: 1.35rem;
	max-width: 34rem;
	margin-top: 1rem;
}

.contact-form label {
	display: grid;
	gap: 0.4rem;
	font-weight: 600;
}

.contact-form input,
.contact-form textarea {
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--color-line);
	border-radius: 0.7rem;
	background: #f8fbfd;
	color: var(--color-ink);
	font: inherit;
	font-size: 1.0625rem;
}

.contact-form textarea {
	min-height: 9rem;
	resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus,
.nav-toggle:focus-visible,
.button:focus-visible,
a:focus-visible {
	outline: 3px solid var(--color-teal);
	outline-offset: 2px;
}

.consent {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-weight: 400;
	line-height: 1.45;
}

.consent input {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	min-height: 1.25rem;
	margin-top: 0.2rem;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	min-height: 3rem;
	padding: 0.7rem 1.4rem;
	border: 0;
	border-radius: 999px;
	background: var(--color-navy);
	color: #fff;
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

a.button,
a.button:hover {
	color: #fff;
}

.button:hover {
	background: var(--color-blue);
	transform: translateY(-2px);
	box-shadow: 0 0.55rem 1.15rem rgba(27, 79, 138, 0.16);
}

.button:active {
	transform: translateY(0) scale(0.98);
	box-shadow: none;
}

.notice {
	max-width: var(--measure);
	margin: 0 0 1.25rem;
	padding: 0.9rem 1rem;
	border-radius: 0.8rem;
}

.notice p {
	margin: 0;
}

.notice-ok {
	background: var(--color-ok-bg);
	color: var(--color-ok);
}

.notice-error {
	background: var(--color-error-bg);
	color: var(--color-error);
}

.notice-error ul {
	margin: 0.45rem 0 0;
	padding-left: 1.2rem;
}

.hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.empty-note {
	margin: 0;
	color: var(--color-muted);
}

@media (min-width: 761px) {
	:root {
		--space-page: 1.5rem;
	}

	.site-main {
		padding: 2.5rem 0 4rem;
	}

	.site-main .container {
		padding: 3rem 3.25rem 3.5rem;
	}
}

@media (max-width: 760px) {
	.nav-toggle {
		display: inline-flex;
	}

	.header-inner {
		flex-wrap: wrap;
		padding: 0.7rem 0;
	}

	.logo img {
		height: 2.8rem;
	}

	.site-nav {
		display: none;
		flex-basis: 100%;
		padding: 0.25rem 0 0.6rem;
	}

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

	.site-nav .menu {
		flex-direction: column;
		gap: 0.35rem;
	}

	.site-nav a {
		width: 100%;
		min-height: 3rem;
		padding: 0.55rem 0.9rem;
		border-radius: 0.8rem;
		font-size: 1.125rem;
	}

	.site-main .container {
		padding: 1.85rem 1.35rem 2.1rem;
		border-radius: 1rem;
	}

	.page-title {
		margin-bottom: 1.15rem;
	}

	.footer-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.75rem;
	}

	.footer-menu {
		flex-direction: column;
		gap: 0;
		width: 100%;
	}

	.footer-menu a {
		width: 100%;
		min-height: 2.75rem;
	}

	.contact-form .button,
	.site-main .button {
		width: 100%;
		justify-self: stretch;
	}
}

.page-about .team > p,
.page-about .company-ids {
	max-width: var(--measure);
}

.info-cards,
.team-list {
	display: grid;
	gap: 1.35rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
}

.info-card,
.team-list li {
	margin: 0;
	padding: 1.45rem 1.35rem 1.55rem;
	border-radius: 1rem;
	background: var(--color-canvas);
}

.info-card {
	border-top: 4px solid var(--color-teal);
}

.info-card:nth-child(2) {
	border-top-color: var(--color-blue);
}

.info-card:nth-child(3) {
	border-top-color: var(--color-navy);
}

.info-card h2,
.team h2 {
	margin: 0 0 0.55rem;
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.info-card p,
.team > p {
	margin: 0;
}

.info-card p + p {
	margin-top: 0.85rem;
}

.info-card-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.info-card-links a {
	font-family: var(--font-display);
	font-weight: 600;
	text-decoration: none;
}

.team {
	margin-top: 3.25rem;
}

.team-list {
	margin-top: 1.5rem;
}

.team-list li {
	color: var(--color-navy);
	font-family: var(--font-display);
	font-weight: 600;
}

.page-about .company-ids {
	margin: 2.5rem 0 0;
	color: var(--color-muted);
	font-size: 1rem;
}

a.about-action {
	position: relative;
	z-index: 1;
	margin-top: 2.25rem;
}

@media (min-width: 800px) {
	.info-cards,
	.team-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.contact-layout {
		grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
		align-items: start;
		gap: 2.5rem;
	}

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

.offer-groups {
	display: grid;
	gap: 1.5rem;
	margin-top: 1.75rem;
}

.offer-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	min-height: 4.75rem;
	margin: 0;
	padding: 1.2rem 1.4rem;
	border: 0;
	border-radius: 1rem;
	background: var(--color-canvas);
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-align: left;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.offer-group::after {
	content: "";
	flex: 0 0 auto;
	width: 0.55rem;
	height: 0.55rem;
	margin-right: 0.35rem;
	border-right: 2px solid var(--color-navy);
	border-top: 2px solid var(--color-navy);
	transform: rotate(45deg);
}

.offer-group:hover {
	color: var(--color-blue);
	transform: translateY(-2px);
	box-shadow: 0 0.5rem 1.1rem rgba(27, 79, 138, 0.08);
}

.offer-group:hover::after {
	border-color: var(--color-blue);
}

.offer-group:focus-visible {
	outline: 3px solid var(--color-teal);
	outline-offset: 2px;
}

.offer-group[aria-expanded="true"] {
	background: var(--color-navy);
	color: #fff;
}

.offer-group[aria-expanded="true"]::after {
	border-color: #fff;
}

.offer-drawer:not([open]) {
	display: none;
}

.offer-drawer {
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	width: min(32rem, 100%);
	height: 100%;
	max-width: 100%;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--color-paper);
	color: var(--color-ink);
	box-shadow: -1.25rem 0 3rem rgba(27, 79, 138, 0.18);
}

.offer-drawer::backdrop {
	background: rgba(28, 36, 48, 0.45);
}

.offer-drawer[open] {
	display: flex;
	flex-direction: column;
}

.offer-drawer-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 1.25rem 0.75rem;
	border-bottom: 3px solid var(--color-navy);
}

.offer-drawer-head h2 {
	margin: 0.35rem 0;
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.45rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.offer-drawer-close {
	flex: 0 0 auto;
	min-height: 3rem;
	margin: 0;
	padding: 0.4rem 0.9rem;
	border: 0;
	border-radius: 999px;
	background: var(--color-canvas);
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.offer-drawer-close:hover {
	background: var(--color-navy);
	color: #fff;
	transform: translateY(-1px);
}

.offer-group:active,
.offer-drawer-close:active {
	transform: translateY(0) scale(0.98);
}

.offer-drawer-close:focus-visible,
.offer-drawer-body :focus-visible {
	outline: 3px solid var(--color-teal);
	outline-offset: 2px;
}

.offer-drawer-body {
	flex: 1 1 auto;
	overflow: auto;
	padding: 0.5rem 1.25rem 1.5rem;
}

.offer-item {
	margin-top: 0.75rem;
	border-radius: 1rem;
	background: var(--color-canvas);
}

.offer-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.25rem;
	padding: 0.85rem 1.15rem;
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.3;
	list-style: none;
	cursor: pointer;
}

.offer-item:not([open]) > .offer-item-body {
	display: none;
}

.offer-item summary::-webkit-details-marker {
	display: none;
}

.offer-item summary::after {
	content: "";
	flex: 0 0 auto;
	width: 0.55rem;
	height: 0.55rem;
	margin-right: 0.2rem;
	border-right: 2px solid var(--color-navy);
	border-bottom: 2px solid var(--color-navy);
	transform: translateY(-0.15rem) rotate(45deg);
}

.offer-item[open] summary::after {
	transform: translateY(0.15rem) rotate(225deg);
}

.offer-item summary:hover {
	color: var(--color-blue);
}

.offer-item summary:hover::after {
	border-color: var(--color-blue);
}

.offer-item-body {
	padding: 0 1.15rem 1.15rem;
}

.offer-item p,
.offer-item li {
	max-width: 40rem;
}

.offer-item p {
	margin: 0 0 0.75rem;
}

.offer-item p:last-child,
.offer-item ul:last-child {
	margin-bottom: 0;
}

.offer-item ul {
	margin: 0.35rem 0 0;
	padding-left: 1.2rem;
}

.offer-names {
	margin: 0.25rem 0 0;
	padding: 0;
	list-style: none;
}

.offer-names li {
	margin: 0.75rem 0 0;
	padding: 0.85rem 1.15rem;
	border-radius: 1rem;
	background: var(--color-canvas);
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.3;
}

.offer-insurers h2 {
	margin: 0;
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.offer-insurers {
	margin-top: 3.5rem;
	min-width: 0;
}

.insurer-slider {
	overflow: hidden;
	max-width: 100%;
	margin-top: 1.5rem;
	contain: paint;
}

.insurer-track {
	display: flex;
	width: max-content;
	pointer-events: none;
	animation: insurer-scroll 58s linear infinite;
}

.insurer-slider:hover .insurer-track,
.insurer-slider:focus-within .insurer-track {
	animation-play-state: paused;
}

.offer-insurers ul {
	display: flex;
	gap: 0.75rem;
	margin: 0;
	padding: 0 0.75rem 0 0;
	list-style: none;
}

.offer-insurers li {
	display: flex;
	flex: 0 0 16rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	width: 16rem;
	min-height: 8.5rem;
	margin: 0;
	padding: 0.85rem 1rem;
	border-radius: 1rem;
	background: var(--color-canvas);
	color: var(--color-ink);
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}

.offer-insurers img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 5.5rem;
	object-fit: contain;
	object-position: center;
	border-radius: 0.45rem;
	background: #fff;
}

@keyframes insurer-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

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

	.insurer-slider {
		overflow-x: auto;
	}

	.insurer-track ul[aria-hidden="true"] {
		display: none;
	}
}

.doc-list {
	display: grid;
	gap: 1.1rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
}

.doc-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.6rem;
	padding: 1.05rem 1.3rem;
	border-radius: 1rem;
	background: var(--color-canvas);
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.doc-list a:hover {
	color: var(--color-blue);
	transform: translateX(0.3rem);
	box-shadow: 0 0.4rem 0.9rem rgba(27, 79, 138, 0.08);
}

.doc-list a:active {
	transform: translateX(0.1rem) scale(0.99);
}

.doc-type {
	flex: 0 0 auto;
	color: var(--color-muted);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.page-hero {
	width: min(var(--content-width), calc(100% - 2 * var(--space-page)));
	margin: 0 auto 2.25rem;
	padding: 1.85rem 1.5rem;
	overflow: hidden;
	border-radius: 1.25rem;
	background:
		radial-gradient(circle at 86% 18%, rgba(0, 196, 167, 0.34), transparent 26%),
		linear-gradient(145deg, #143864 0%, #1b4f8a 58%, #2e7fc1 100%);
	color: #fff;
}

.page-hero--offer {
	background:
		radial-gradient(circle at 12% 88%, rgba(0, 196, 167, 0.3), transparent 28%),
		linear-gradient(160deg, #1b4f8a 0%, #245f9e 100%);
}

.page-hero--documents {
	background:
		radial-gradient(circle at 80% 80%, rgba(0, 196, 167, 0.28), transparent 30%),
		linear-gradient(200deg, #163f72 0%, #1b4f8a 70%);
}

.page-hero--contact {
	background:
		radial-gradient(circle at 70% 30%, rgba(0, 196, 167, 0.32), transparent 24%),
		linear-gradient(135deg, #1b4f8a 0%, #2e7fc1 100%);
}

.page-hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 7.25rem;
	gap: 0.85rem 1rem;
	align-items: center;
}

.page-hero-kicker {
	margin: 0 0 0.4rem;
	color: var(--color-teal);
	font-family: var(--font-display);
	font-size: 0.95rem;
	font-weight: 600;
}

.page-hero h1 {
	margin: 0 0 0.55rem;
	color: #fff;
	font-family: var(--font-display);
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.page-hero p {
	margin: 0;
	max-width: 38rem;
	color: rgba(255, 255, 255, 0.92);
}

.page-hero-art {
	width: 7.25rem;
}

.page-hero-art svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.page-about .info-cards,
.page-offer .offer-groups,
.page-documents .doc-list,
.page-contact .contact-layout {
	margin-top: 0;
}

.hero-float,
.hero-tile,
.hero-sheet {
	transform-box: fill-box;
	transform-origin: center;
	animation: hero-float 5.5s ease-in-out infinite;
}

.hero-tile {
	animation-duration: 4.8s;
}

.hero-sheet {
	animation-duration: 6s;
}

.hero-d1 {
	animation-delay: 0.6s;
}

.hero-d2 {
	animation-delay: 1.2s;
}

.hero-d3 {
	animation-delay: 1.8s;
}

.hero-spin {
	transform-box: view-box;
	transform-origin: center;
	animation: hero-spin 22s linear infinite;
}

@keyframes hero-float {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-6px);
	}
}

@keyframes hero-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 699px) {
	.page-hero-inner {
		grid-template-columns: 1fr;
	}

	.page-hero-art {
		width: 9rem;
	}
}

@media (min-width: 800px) {
	.page-hero {
		padding: 2.2rem 3rem;
	}

	.page-hero-inner {
		grid-template-columns: minmax(0, 1.45fr) minmax(11rem, 16rem);
		gap: 2rem;
		min-height: 12.5rem;
	}

	.page-hero-art {
		width: min(100%, 16rem);
		justify-self: end;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-float,
	.hero-tile,
	.hero-sheet,
	.hero-spin,
	.rise-pop {
		animation: none;
	}

	html.js-motion :is(
		.page-hero,
		.info-card,
		.team > h2,
		.team > p,
		.team-list li,
		.company-ids,
		.about-action,
		.offer-group,
		.offer-insurers,
		.page-offer > .button,
		.doc-list li,
		.contact-facts > div,
		.contact-form-wrap,
		.page-title,
		.entry-content,
		.site-main .container > p
	) {
		opacity: 1;
		translate: none;
		transition: none;
	}

	.button:hover,
	.button:active,
	.offer-group:hover,
	.offer-group:active,
	.offer-drawer-close:hover,
	.offer-drawer-close:active,
	.nav-toggle:hover,
	.nav-toggle:active,
	.site-nav a:hover,
	.site-nav a:active,
	.doc-list a:hover,
	.doc-list a:active,
	.info-card:hover {
		transform: none;
		box-shadow: none;
	}
}

html.js-motion :is(
	.page-hero,
	.info-card,
	.team > h2,
	.team > p,
	.team-list li,
	.company-ids,
	.about-action,
	.offer-group,
	.offer-insurers,
	.page-offer > .button,
	.doc-list li,
	.contact-facts > div,
	.contact-form-wrap,
	.page-title,
	.entry-content,
	.site-main .container > p
) {
	opacity: 0;
	translate: 0 0.85rem;
	transition:
		opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
		translate 0.7s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease,
		color 0.2s ease;
	transition-delay: var(--d, 0ms), var(--d, 0ms), 0s, 0s, 0s, 0s;
}

html.js-motion :is(
	.page-hero,
	.info-card,
	.team > h2,
	.team > p,
	.team-list li,
	.company-ids,
	.about-action,
	.offer-group,
	.offer-insurers,
	.page-offer > .button,
	.doc-list li,
	.contact-facts > div,
	.contact-form-wrap,
	.page-title,
	.entry-content,
	.site-main .container > p
).is-in {
	opacity: 1;
	translate: 0 0;
}

html.js-motion :is(.info-card, .offer-group, .doc-list li, .team-list li, .contact-facts > div):nth-child(2) { --d: 70ms; }
html.js-motion :is(.info-card, .offer-group, .doc-list li, .team-list li, .contact-facts > div):nth-child(3) { --d: 140ms; }
html.js-motion :is(.info-card, .offer-group, .doc-list li, .team-list li, .contact-facts > div):nth-child(4) { --d: 210ms; }
html.js-motion :is(.info-card, .offer-group, .doc-list li, .team-list li, .contact-facts > div):nth-child(5) { --d: 280ms; }
html.js-motion :is(.info-card, .offer-group, .doc-list li, .team-list li, .contact-facts > div):nth-child(6) { --d: 350ms; }
html.js-motion :is(.info-card, .offer-group, .doc-list li, .team-list li, .contact-facts > div):nth-child(7) { --d: 420ms; }

html.js-motion .team > h2 { --d: 40ms; }
html.js-motion .team > p { --d: 110ms; }
html.js-motion .company-ids { --d: 70ms; }
html.js-motion .about-action,
html.js-motion .page-offer > .button { --d: 140ms; }
html.js-motion .contact-form-wrap,
html.js-motion .entry-content,
html.js-motion .site-main .container > p:nth-of-type(1) { --d: 80ms; }
html.js-motion .site-main .container > p:nth-of-type(2) { --d: 150ms; }

.info-card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.info-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 0.55rem 1.15rem rgba(27, 79, 138, 0.08);
}

@keyframes rise-pop {
	from {
		opacity: 0;
		translate: 0 0.65rem;
	}

	to {
		opacity: 1;
		translate: 0 0;
	}
}

.rise-pop {
	animation: rise-pop 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
	animation-delay: var(--d, 0ms);
}

