/*
 * Konark main stylesheet: design system v2.
 * Mobile-first: base styles are for phones; min-width media queries add
 * tablet (720px) and desktop (1080px) layouts.
 *
 * Contents
 *  1. Fonts + tokens     6. Page header, content   11. Homepage sections
 *  2. Base               7. Cards, areas, contact   12. CTA band, footer
 *  3. Buttons            8. Quote form              13. Mobile bar
 *  4. Header + nav       9. Area page, blog         14. Motion
 *  5. Placeholders      10. Homepage hero           15. Breakpoints
 */

/* ---------- 1. Fonts + tokens ---------- */
@font-face {
	font-family: "Plus Jakarta Sans";
	src: url("../fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--blue-950: #071d47;
	--blue-900: #0a2a66;
	--blue-700: #1449a8;
	--blue-500: #2f6fe0;
	--blue-100: #dde8fb;
	--blue-50: #eef4fd;
	--gold-500: #ffc21a;
	--gold-600: #f0ac00;
	--gold-100: #fff3cc;
	--wa-600: #128c4b;
	--wa-700: #0b6b38;
	--ink: #0e1a2b;
	--slate: #4a5a70;
	--line: #dce3ee;
	--paper: #f7f9fc;
	--ok: #157f3d;
	--err: #c62828;

	--font-head: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--fs-xs: 0.8125rem;
	--fs-sm: 0.875rem;
	--fs-base: 1rem;
	--fs-md: 1.125rem;
	--fs-h3: clamp(1.15rem, 1.05rem + 0.5vw, 1.375rem);
	--fs-h2: clamp(1.625rem, 1.2rem + 1.8vw, 2.5rem);
	--fs-h1: clamp(1.875rem, 1.25rem + 2.8vw, 3.25rem);

	--s-1: 4px;
	--s-2: 8px;
	--s-3: 12px;
	--s-4: 16px;
	--s-5: 24px;
	--s-6: 32px;
	--s-7: 48px;
	--s-8: 64px;
	--s-9: 96px;

	--r-sm: 8px;
	--r-md: 14px;
	--r-lg: 24px;
	--r-pill: 999px;

	--sh-sm: 0 1px 2px rgba(10, 42, 102, 0.06), 0 1px 3px rgba(10, 42, 102, 0.08);
	--sh-md: 0 10px 24px -10px rgba(10, 42, 102, 0.22);
	--sh-lg: 0 28px 56px -18px rgba(7, 29, 71, 0.45);

	--header-h: 68px;
	--mobile-bar: 64px;
	--section-y: var(--s-8);
}

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

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

body {
	margin: 0;
	background: #fff;
	color: var(--ink);
	font: 400 var(--fs-base) / 1.65 var(--font-body);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: var(--blue-700);
	text-underline-offset: 3px;
}

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

:focus-visible {
	outline: 3px solid var(--blue-500);
	outline-offset: 3px;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 var(--s-4);
	color: var(--blue-950);
	font-family: var(--font-head);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

h1 {
	font-size: var(--fs-h1);
	font-weight: 800;
}

h2 {
	font-size: var(--fs-h2);
	font-weight: 800;
}

h3 {
	font-size: var(--fs-h3);
	font-weight: 700;
	line-height: 1.25;
}

p,
ul,
ol,
table,
figure {
	margin: 0 0 var(--s-4);
}

address {
	font-style: normal;
}

.container {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: var(--s-4);
}

.k-narrow {
	max-width: 860px;
}

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

.skip-link:focus {
	position: fixed !important;
	top: 8px;
	left: 8px;
	z-index: 1000;
	width: auto;
	height: auto;
	padding: 10px 18px;
	margin: 0;
	clip: auto;
	background: #fff;
	color: var(--ink);
	white-space: normal;
}

.k-icon {
	flex: none;
	width: 1.2em;
	height: 1.2em;
}

/* ---------- 3. Buttons ---------- */
.k-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-3);
	margin: 0 0 var(--s-5);
}

.k-buttons--center {
	justify-content: center;
	margin: var(--s-6) 0 0;
}

.k-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 14px 26px;
	border: 2px solid transparent;
	border-radius: var(--r-pill);
	font: 700 var(--fs-base) / 1.15 var(--font-head);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s, box-shadow 0.15s, background-color 0.15s, color 0.15s, border-color 0.15s;
}

.k-btn:hover {
	transform: translateY(-1px);
}

.k-btn .k-icon {
	width: 20px;
	height: 20px;
}

.k-btn--sm {
	min-height: 44px;
	padding: 10px 20px;
	font-size: var(--fs-sm);
}

.k-btn--block {
	width: 100%;
}

.k-btn--cta {
	background: var(--gold-500);
	color: var(--blue-950);
	box-shadow: 0 10px 22px -10px rgba(240, 172, 0, 0.8);
}

.k-btn--cta:hover {
	background: var(--gold-600);
	color: var(--blue-950);
}

.k-btn--primary {
	background: var(--blue-700);
	color: #fff;
}

.k-btn--primary:hover {
	background: var(--blue-900);
	color: #fff;
}

.k-btn--whatsapp {
	background: var(--wa-600);
	color: #fff;
}

.k-btn--whatsapp:hover {
	background: var(--wa-700);
	color: #fff;
}

.k-btn--outline {
	border-color: var(--blue-700);
	background: transparent;
	color: var(--blue-700);
}

.k-btn--outline:hover {
	background: var(--blue-700);
	color: #fff;
}

.k-btn--ghost {
	border-color: rgba(255, 255, 255, 0.55);
	background: transparent;
	color: #fff;
}

.k-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.k-btn.is-placeholder {
	cursor: default;
	flex-wrap: wrap;
	transform: none;
}

.k-btn.is-placeholder:hover {
	background: transparent;
	color: var(--blue-700);
}

/* ---------- 4. Header + nav ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid transparent;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.site-header.is-scrolled {
	border-color: var(--line);
	box-shadow: 0 6px 20px -12px rgba(7, 29, 71, 0.25);
}

.admin-bar .site-header {
	top: 46px;
}

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

.site-branding {
	flex: none;
}

.site-branding img,
.custom-logo {
	display: block;
	width: auto;
	height: 52px;
}

.nav-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: var(--blue-50);
	cursor: pointer;
}

.nav-toggle__bars,
.nav-toggle__bars::before,
.nav-toggle__bars::after {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: var(--blue-950);
	transition: transform 0.2s, background-color 0.2s;
}

.nav-toggle__bars {
	position: relative;
}

.nav-toggle__bars::before,
.nav-toggle__bars::after {
	content: "";
	position: absolute;
	left: 0;
}

.nav-toggle__bars::before {
	top: -7px;
}

.nav-toggle__bars::after {
	top: 7px;
}

.nav-open .nav-toggle__bars {
	background: transparent;
}

.nav-open .nav-toggle__bars::before {
	transform: translateY(7px) rotate(45deg);
}

.nav-open .nav-toggle__bars::after {
	transform: translateY(-7px) rotate(-45deg);
}

.primary-nav {
	display: none;
	position: fixed;
	inset: var(--header-h) 0 0;
	z-index: 99;
	overflow-y: auto;
	padding: var(--s-4) var(--s-4) calc(var(--mobile-bar) + var(--s-6));
	background: #fff;
}

.admin-bar .primary-nav {
	top: calc(var(--header-h) + 46px);
}

.nav-open {
	overflow: hidden;
}

.nav-open .primary-nav {
	display: block;
}

.primary-menu,
.primary-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-menu > li {
	position: relative;
	border-bottom: 1px solid var(--line);
}

.primary-menu a {
	display: block;
	padding: 15px 52px 15px 0;
	color: var(--blue-950);
	font: 700 var(--fs-md) var(--font-head);
	text-decoration: none;
}

.primary-menu .current-menu-item > a,
.primary-menu a:hover {
	color: var(--blue-700);
}

.submenu-toggle {
	position: absolute;
	top: 6px;
	right: 0;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 10px;
	background: var(--blue-50);
	cursor: pointer;
}

.submenu-toggle::before {
	content: "";
	display: block;
	width: 9px;
	height: 9px;
	margin: -3px auto 0;
	border-right: 2px solid var(--blue-950);
	border-bottom: 2px solid var(--blue-950);
	transform: rotate(45deg);
	transition: transform 0.2s;
}

.is-open > .submenu-toggle::before {
	margin-top: 3px;
	transform: rotate(-135deg);
}

.primary-menu .sub-menu {
	display: none;
	padding: 0 0 var(--s-3) var(--s-3);
}

.primary-menu .is-open > .sub-menu {
	display: block;
}

.primary-menu .sub-menu a {
	padding: 9px 0;
	font: 500 var(--fs-base) var(--font-body);
	color: var(--slate);
}

.header-actions {
	display: none;
}

/* ---------- 5. Placeholders ([CONFIRM], photos, widgets) ---------- */
.k-confirm {
	padding: 1px 6px;
	border-radius: 4px;
	background: #ffe9a8;
	color: #6b4a00;
	font-size: 0.9em;
	font-weight: 600;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.k-photo-slot,
.k-widget-slot {
	display: grid;
	place-items: center;
	margin: 0;
	padding: var(--s-6);
	border: 2px dashed #b9c6da;
	border-radius: var(--r-md);
	background: repeating-linear-gradient(45deg, #f1f5fb 0 12px, #e8eef8 12px 24px);
	color: var(--slate);
	font-size: var(--fs-sm);
	text-align: center;
	aspect-ratio: 4 / 3;
}

.k-photo {
	margin: 0;
}

.k-photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--r-md);
	box-shadow: var(--sh-md);
}

.k-photo-slot--tall {
	aspect-ratio: 4 / 5;
}

.k-widget-slot {
	aspect-ratio: auto;
	min-height: 220px;
}

.k-photo-slot b,
.k-widget-slot b {
	display: block;
	margin-bottom: 4px;
	color: var(--err);
	font-family: var(--font-head);
	letter-spacing: 0.06em;
}

.k-photo-slot small,
.k-widget-slot small {
	display: block;
	margin-top: 6px;
	color: var(--slate);
	font-size: var(--fs-xs);
}

/* ---------- 6. Page header, content ---------- */
.page-header {
	position: relative;
	overflow: hidden;
	padding: var(--s-7) 0 var(--s-6);
	background: linear-gradient(135deg, var(--blue-950), var(--blue-900) 60%, var(--blue-700));
	color: #fff;
}

.page-header::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -120px;
	width: 360px;
	height: 360px;
	border: 2px dashed rgba(255, 194, 26, 0.35);
	border-radius: 50%;
}

.page-header .page-title {
	position: relative;
	margin: 0;
	color: #fff;
}

.page-header__intro {
	position: relative;
	max-width: 760px;
	margin: var(--s-3) 0 0;
	color: #c7d5ef;
	font-size: var(--fs-md);
}

.k-breadcrumbs {
	position: relative;
	margin-bottom: var(--s-3);
	color: #a9bde3;
	font-size: var(--fs-sm);
}

.k-breadcrumbs a {
	color: #dbe6fa;
}

.k-page-body {
	padding-top: var(--s-7);
	padding-bottom: var(--s-7);
}

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

.entry-content h2 {
	margin-top: var(--s-7);
}

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

.k-lead {
	color: var(--slate);
	font-size: var(--fs-md);
}

.k-note {
	color: var(--slate);
	font-size: var(--fs-sm);
}

.k-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: var(--s-3);
	color: var(--blue-700);
	font: 800 var(--fs-xs) / 1 var(--font-head);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.k-eyebrow::before {
	content: "";
	width: 22px;
	height: 3px;
	border-radius: 3px;
	background: var(--gold-500);
}

.k-check,
.kh-ticks {
	padding: 0;
	list-style: none;
}

.k-check li,
.kh-ticks li {
	position: relative;
	margin-bottom: var(--s-2);
	padding-left: 32px;
}

.k-check li::before,
.kh-ticks li::before {
	content: "";
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--blue-700) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.k-steps {
	padding: 0;
	list-style: none;
	counter-reset: step;
}

.k-steps li {
	position: relative;
	margin-bottom: var(--s-4);
	padding-left: 56px;
	counter-increment: step;
}

.k-steps li::before {
	content: counter(step);
	position: absolute;
	top: -2px;
	left: 0;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--blue-700);
	color: #fff;
	font: 800 var(--fs-base) var(--font-head);
}

.k-table-wrap {
	overflow-x: auto;
	margin-bottom: var(--s-4);
}

.k-table,
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
}

.k-table th,
.k-table td,
.entry-content th,
.entry-content td {
	padding: 12px 16px;
	border: 1px solid var(--line);
	text-align: left;
	vertical-align: top;
}

.k-table thead th,
.entry-content thead th {
	background: var(--blue-900);
	color: #fff;
	font-family: var(--font-head);
}

.k-faq,
.kh-acc {
	margin-bottom: var(--s-3);
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: #fff;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.k-faq summary,
.kh-acc summary {
	position: relative;
	padding: 20px 60px 20px 22px;
	color: var(--blue-950);
	font: 700 var(--fs-md) / 1.35 var(--font-head);
	list-style: none;
	cursor: pointer;
}

.kh-acc summary h3 {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: -0.01em;
}

.k-faq summary::-webkit-details-marker,
.kh-acc summary::-webkit-details-marker {
	display: none;
}

.k-faq summary::after,
.kh-acc summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	border-radius: 50%;
	background: var(--blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231449a8' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 16px no-repeat;
	transition: transform 0.2s;
}

.k-faq[open],
.kh-acc[open] {
	border-color: var(--blue-100);
	box-shadow: var(--sh-md);
}

.k-faq[open] summary::after,
.kh-acc[open] summary::after {
	transform: rotate(180deg);
}

.k-faq__answer,
.kh-acc > div {
	padding: 0 22px 18px;
	color: var(--slate);
}

.k-review {
	margin: 0;
	padding: var(--s-5);
	border-left: 4px solid var(--gold-500);
	border-radius: var(--r-md);
	background: var(--blue-50);
}

.k-review blockquote {
	margin: 0;
	font-size: var(--fs-md);
}

.k-review figcaption {
	color: var(--slate);
	font-weight: 600;
}

.k-block {
	margin-top: var(--s-7);
}

/* ---------- 7. Cards, areas, contact ---------- */
.k-grid {
	display: grid;
	gap: var(--s-5);
	margin-bottom: var(--s-5);
}

.k-card,
.post-card {
	display: flex;
	flex-direction: column;
	padding: var(--s-5);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: #fff;
	box-shadow: var(--sh-sm);
	transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.k-card:hover,
.post-card:hover {
	border-color: var(--blue-100);
	box-shadow: var(--sh-md);
	transform: translateY(-3px);
}

.k-card p {
	color: var(--slate);
}

.k-card__title {
	margin-bottom: var(--s-2);
}

.k-card__title a {
	color: var(--blue-950);
	text-decoration: none;
}

.k-card__link {
	margin-top: auto;
	font: 700 var(--fs-sm) var(--font-head);
	text-decoration: none;
}

.k-areas {
	display: grid;
	gap: var(--s-5);
	margin-bottom: var(--s-5);
}

.k-areas__title {
	font-size: var(--fs-h3);
}

.k-areas__list,
.kh-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 var(--s-5);
	padding: 0;
	list-style: none;
}

.k-areas__list a,
.kh-chips a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1px solid var(--line);
	border-radius: var(--r-pill);
	background: #fff;
	color: var(--blue-950);
	font: 600 var(--fs-sm) var(--font-head);
	text-decoration: none;
	transition: border-color 0.15s, background-color 0.15s, color 0.15s;
}

.k-areas__list a::before,
.kh-chips a::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gold-500);
}

.k-areas__list a:hover,
.kh-chips a:hover {
	border-color: var(--blue-700);
	background: var(--blue-50);
	color: var(--blue-700);
}

.k-areas--hub .k-areas__list {
	display: grid;
	gap: var(--s-3);
}

.k-areas--hub .k-areas__list a {
	border-radius: var(--r-md);
}

.k-areas__cluster {
	display: grid;
	gap: var(--s-2);
	padding: var(--s-3);
	border: 1px dashed var(--line);
	border-radius: var(--r-md);
}

.k-areas__cluster-name {
	color: var(--slate);
	font: 800 var(--fs-xs) var(--font-head);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.k-contact {
	display: grid;
	gap: var(--s-5);
}

.k-contact__details {
	padding: var(--s-5);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: #fff;
	box-shadow: var(--sh-sm);
}

.k-contact__name {
	color: var(--blue-950);
	font: 800 var(--fs-h3) var(--font-head);
}

.k-contact__list,
.footer-contact,
.kh-contact {
	margin: 0 0 var(--s-5);
	padding: 0;
	list-style: none;
}

.k-contact__list li,
.footer-contact li,
.kh-contact li {
	display: flex;
	gap: 12px;
	margin-bottom: 12px;
}

.k-contact__list .k-icon,
.kh-contact .k-icon {
	margin-top: 0.2em;
	color: var(--blue-700);
}

.k-contact__map iframe,
.kh-map-embed iframe {
	display: block;
	width: 100%;
	min-height: 320px;
	height: 100%;
	border: 0;
	border-radius: var(--r-md);
}

/* ---------- 8. Quote form ---------- */
.kq {
	position: relative;
	padding: var(--s-6) var(--s-5) var(--s-5);
	border-radius: var(--r-lg);
	background: #fff;
	color: var(--ink);
	box-shadow: var(--sh-lg);
}

.kq__badge {
	position: absolute;
	top: -13px;
	left: var(--s-5);
	margin: 0;
	padding: 6px 12px;
	border-radius: var(--r-pill);
	background: var(--gold-500);
	color: var(--blue-950);
	font: 800 var(--fs-xs) / 1 var(--font-head);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.kq__title {
	margin: 0 0 var(--s-4);
	color: var(--blue-950);
	font: 800 1.375rem / 1.2 var(--font-head);
	letter-spacing: -0.01em;
}

.kq__field {
	position: relative;
	margin-bottom: var(--s-3);
}

.kq__field input {
	width: 100%;
	height: 58px;
	padding: 24px 16px 8px;
	border: 1.5px solid var(--line);
	border-radius: var(--r-sm);
	background: var(--paper);
	color: var(--ink);
	font: 500 var(--fs-base) var(--font-body);
	transition: border-color 0.15s, background-color 0.15s, box-shadow 0.15s;
}

.kq__field label {
	position: absolute;
	top: 18px;
	left: 17px;
	color: var(--slate);
	pointer-events: none;
	transition: all 0.15s;
}

.kq__field input:focus {
	outline: 0;
	border-color: var(--blue-700);
	background: #fff;
	box-shadow: 0 0 0 4px var(--blue-50);
}

.kq__field input:focus + label,
.kq__field input:not(:placeholder-shown) + label {
	top: 8px;
	color: var(--blue-700);
	font-size: 12px;
	font-weight: 600;
}

.kq__field.has-error input {
	border-color: var(--err);
	background: #fff7f7;
}

.kq__field.has-error label {
	color: var(--err);
}

.kq__error {
	display: block;
	color: var(--err);
	font-size: var(--fs-xs);
	font-weight: 600;
}

.kq__error:not(:empty) {
	margin-top: 4px;
}

.kq__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.kq__alert {
	margin: 0 0 var(--s-3);
	padding: 10px 12px;
	border-radius: var(--r-sm);
	background: #fdecea;
	color: var(--err);
	font-size: var(--fs-sm);
	font-weight: 600;
}

.kq__submit {
	position: relative;
	margin-top: var(--s-1);
}

.kq__spinner {
	display: none;
	width: 20px;
	height: 20px;
	border: 3px solid rgba(7, 29, 71, 0.25);
	border-top-color: var(--blue-950);
	border-radius: 50%;
	animation: kq-spin 0.8s linear infinite;
}

.kq__submit.is-loading {
	cursor: progress;
	opacity: 0.85;
}

.kq__submit.is-loading .kq__spinner {
	display: inline-block;
}

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

.kq__note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: var(--s-3) 0 0;
	color: var(--slate);
	font-size: var(--fs-xs);
	text-align: center;
}

.kq__note .k-icon {
	color: var(--ok);
}

.kq__success {
	display: flex;
	align-items: center;
	gap: var(--s-3);
	padding: var(--s-5);
	border-radius: var(--r-md);
	background: #e9f7ef;
	color: var(--ok);
	font: 700 var(--fs-md) var(--font-head);
}

.kq__success .k-icon {
	width: 32px;
	height: 32px;
	padding: 6px;
	border-radius: 50%;
	background: var(--ok);
	color: #fff;
}

.kq__success p {
	margin: 0;
}

.search-form {
	display: flex;
	gap: var(--s-2);
	margin: var(--s-5) 0;
}

.search-form label {
	flex: 1;
}

.search-form input[type="search"],
.comment-form input,
.comment-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1.5px solid var(--line);
	border-radius: var(--r-sm);
	background: #fff;
	color: var(--ink);
	font: inherit;
}

.search-submit,
.comment-form .submit {
	min-height: 48px;
	padding: 10px 20px;
	border: 0;
	border-radius: var(--r-pill);
	background: var(--blue-700);
	color: #fff;
	font: 700 var(--fs-sm) var(--font-head);
	cursor: pointer;
}

/* ---------- 9. Area page, blog ---------- */
.area-layout {
	display: grid;
	gap: var(--s-6);
}

.area-facts {
	align-self: start;
	padding: var(--s-5);
	border-radius: var(--r-md);
	background: var(--blue-50);
}

.area-facts__distance {
	display: flex;
	gap: 8px;
	font-weight: 700;
}

.area-facts__distance .k-icon {
	color: var(--blue-700);
}

.area-facts__title {
	margin-top: var(--s-5);
	font-size: var(--fs-base);
}

.area-facts__list {
	padding-left: 1.2em;
}

.area-back {
	margin-top: var(--s-7);
	padding-top: var(--s-5);
	border-top: 1px solid var(--line);
}

.post-card {
	padding: 0;
	overflow: hidden;
}

.post-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--s-5);
}

.post-card__date,
.post-meta {
	margin-bottom: var(--s-2);
	color: var(--slate);
	font-size: var(--fs-sm);
}

.post-card__title {
	font-size: var(--fs-h3);
}

.post-card__title a {
	color: var(--blue-950);
	text-decoration: none;
}

.post-thumbnail img {
	display: block;
	border-radius: var(--r-md);
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--s-4);
	margin-top: var(--s-7);
}

.pagination .nav-links {
	justify-content: center;
}

.page-numbers {
	display: inline-block;
	min-width: 44px;
	padding: 10px 14px;
	border: 1px solid var(--line);
	border-radius: var(--r-sm);
	text-align: center;
	text-decoration: none;
}

.page-numbers.current {
	background: var(--blue-900);
	color: #fff;
}

.comments-area {
	margin-top: var(--s-7);
}

/* ---------- 10. Homepage hero ---------- */
.kh-hero {
	position: relative;
	overflow: hidden;
	padding: var(--s-6) 0 var(--s-7);
	background:
		radial-gradient(900px 480px at 90% -10%, rgba(47, 111, 224, 0.55), transparent 60%),
		linear-gradient(135deg, var(--blue-950) 0%, var(--blue-900) 55%, var(--blue-700) 100%);
	color: #dbe6fa;
}

.kh-hero__routes {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0.16;
	pointer-events: none;
}

.kh-hero__grid {
	position: relative;
	display: grid;
	grid-template-areas: "head" "form" "body";
	gap: var(--s-5);
}

.kh-hero__head {
	grid-area: head;
}

.kh-hero__body {
	grid-area: body;
}

.kh-hero__form {
	grid-area: form;
	scroll-margin-top: calc(var(--header-h) + 24px);
}

.kh-hero h1 {
	margin: 0;
	color: #fff;
}

.kh-hero__lead {
	color: #fff;
	font-size: var(--fs-md);
}

.kh-trust {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 16px;
	margin: var(--s-5) 0;
	padding: var(--s-4);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--r-md);
	background: rgba(255, 255, 255, 0.06);
	list-style: none;
	color: #fff;
	font: 700 var(--fs-sm) / 1.3 var(--font-head);
}

.kh-trust li {
	display: flex;
	align-items: center;
	gap: 8px;
}

.kh-trust .k-icon {
	color: var(--gold-500);
}

/* ---------- 11. Homepage sections ---------- */
.k-section {
	padding: var(--section-y) 0;
}

.k-section--tint {
	background: var(--blue-50);
}

.k-section--dark {
	background:
		radial-gradient(700px 400px at 0% 0%, rgba(47, 111, 224, 0.35), transparent 60%),
		var(--blue-950);
	color: #c7d5ef;
}

.k-section--dark h2,
.k-section--dark h3,
.k-section--dark strong {
	color: #fff;
}

.k-section--dark a:not(.k-btn) {
	color: var(--gold-500);
}

.k-section--dark .k-eyebrow {
	color: var(--gold-500);
}

.kh-head {
	max-width: 820px;
	margin-bottom: var(--s-6);
}

.kh-head > p:last-child {
	color: var(--slate);
	font-size: var(--fs-md);
}

.kh-head--light > p:last-child,
.k-section--dark .kh-head > p:last-child {
	color: #c7d5ef;
}

.kh-head--center {
	margin-inline: auto;
	text-align: center;
}

/* About */
.kh-split {
	display: grid;
	gap: var(--s-6);
	align-items: center;
}

.kh-split__media {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: var(--s-4);
	align-items: end;
}

.kh-creds-label {
	margin-bottom: var(--s-2);
}

.kh-creds {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 var(--s-5);
	padding: 0;
	list-style: none;
}

.kh-creds li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border-radius: var(--r-pill);
	background: var(--blue-50);
	color: var(--blue-950);
	font: 700 var(--fs-sm) var(--font-head);
}

.kh-creds .k-icon {
	color: var(--blue-700);
}

/* Services */
.kh-services__grid {
	display: grid;
	gap: var(--s-4);
}

.kh-service {
	position: relative;
	padding: var(--s-5);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: #fff;
	box-shadow: var(--sh-sm);
	transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.kh-service:hover {
	border-color: var(--blue-100);
	box-shadow: var(--sh-md);
	transform: translateY(-3px);
}

.kh-service p {
	color: var(--slate);
}

.kh-service p:last-child {
	margin-bottom: 0;
}

.kh-service__icon,
.kh-panel__icon,
.kh-tip__icon {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: var(--s-4);
	border-radius: 16px;
	background: var(--blue-50);
	color: var(--blue-700);
}

.kh-service__icon .k-icon,
.kh-panel__icon .k-icon,
.kh-tip__icon .k-icon {
	width: 28px;
	height: 28px;
}

.kh-service--wide {
	background: linear-gradient(160deg, #fff 60%, var(--gold-100));
}

/* Process timeline */
.kh-timeline {
	display: grid;
	gap: var(--s-5);
	margin: 0 0 var(--s-6);
	padding: 0;
	list-style: none;
	counter-reset: step;
}

.kh-timeline li {
	position: relative;
	padding-left: 72px;
	color: var(--slate);
	counter-increment: step;
}

.kh-timeline li::before {
	content: counter(step, decimal-leading-zero);
	position: absolute;
	top: -4px;
	left: 0;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--blue-700);
	color: #fff;
	font: 800 var(--fs-md) var(--font-head);
	box-shadow: 0 0 0 6px var(--blue-50);
}

.kh-timeline li::after {
	content: "";
	position: absolute;
	top: 56px;
	bottom: -20px;
	left: 25px;
	width: 2px;
	background: repeating-linear-gradient(180deg, var(--gold-500) 0 8px, transparent 8px 14px);
}

.kh-timeline li:last-child::after {
	display: none;
}

.kh-timeline strong {
	display: block;
	margin-bottom: 2px;
	color: var(--blue-950);
	font: 800 var(--fs-md) var(--font-head);
}

.kh-process__foot {
	display: grid;
	gap: var(--s-4);
	align-items: center;
	padding: var(--s-5);
	border-radius: var(--r-md);
	background: var(--gold-100);
}

.kh-process__foot p {
	margin: 0;
	color: var(--blue-950);
	font-weight: 500;
}

/* Charges */
.kh-prices {
	display: grid;
	gap: var(--s-6);
}

.kh-table {
	width: 100%;
	margin-bottom: var(--s-4);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border-radius: var(--r-md);
	background: #fff;
	box-shadow: var(--sh-sm);
}

.kh-table th,
.kh-table td {
	padding: 14px 18px;
	border-bottom: 1px solid var(--line);
	text-align: left;
}

.kh-table tbody tr:last-child > * {
	border-bottom: 0;
}

.kh-table thead th {
	background: var(--blue-900);
	color: #fff;
	font: 700 var(--fs-xs) / 1.3 var(--font-head);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.kh-table tbody th {
	color: var(--blue-950);
	font-family: var(--font-head);
}

.kh-table td {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.kh-table tbody tr:hover {
	background: var(--blue-50);
}

.kh-market-note {
	margin: 0 0 var(--s-7);
	padding: var(--s-4) var(--s-5);
	border-left: 4px solid var(--gold-500);
	border-radius: var(--r-sm);
	background: #fff;
	color: var(--blue-950);
	font-size: var(--fs-sm);
}

.kh-cost {
	display: grid;
	gap: var(--s-5);
}

.kh-cost__factors,
.kh-cost__quote {
	padding: var(--s-5);
	border-radius: var(--r-md);
	background: #fff;
	box-shadow: var(--sh-sm);
}

.kh-factors {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kh-factors li {
	padding: 12px 0;
	border-bottom: 1px dashed var(--line);
	color: var(--slate);
}

.kh-factors li:last-child {
	border: 0;
}

.kh-factors strong {
	color: var(--blue-950);
}

.kh-incl {
	margin-bottom: var(--s-3);
	padding: var(--s-4);
	border-radius: var(--r-sm);
}

.kh-incl p {
	margin: 0;
}

.kh-incl--yes {
	border: 1px solid #bfe5cf;
	background: #effaf3;
}

.kh-incl--extra {
	border: 1px solid #ffe08a;
	background: var(--gold-100);
}

/* How to choose */
.kh-checklist {
	display: grid;
	gap: var(--s-3);
	margin: 0 0 var(--s-5);
	padding: 0;
	list-style: none;
	counter-reset: c;
}

.kh-checklist li {
	position: relative;
	padding: var(--s-4) var(--s-4) var(--s-4) 72px;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: #fff;
	color: var(--slate);
	counter-increment: c;
}

.kh-checklist li::before {
	content: counter(c);
	position: absolute;
	top: var(--s-4);
	left: var(--s-4);
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--gold-100);
	color: var(--blue-950);
	font: 800 var(--fs-base) var(--font-head);
}

.kh-checklist strong {
	display: block;
	color: var(--blue-950);
	font-family: var(--font-head);
}

.kh-choose__foot {
	max-width: 820px;
	font-weight: 500;
}

/* Why Konark */
.kh-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--s-4);
	margin-bottom: var(--s-6);
}

.kh-stat {
	padding: var(--s-5) var(--s-4);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--r-md);
	background: rgba(255, 255, 255, 0.05);
	text-align: center;
}

.kh-stat b {
	display: block;
	color: var(--gold-500);
	font: 800 clamp(2.25rem, 1.6rem + 2vw, 3.25rem) / 1 var(--font-head);
	letter-spacing: -0.02em;
}

.kh-stat span {
	display: block;
	margin-top: 6px;
	color: #c7d5ef;
	font-size: var(--fs-sm);
}

.kh-why__list {
	display: grid;
	gap: var(--s-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.kh-why__list li {
	display: flex;
	gap: 12px;
	padding: var(--s-4);
	border-radius: var(--r-md);
	background: rgba(255, 255, 255, 0.05);
}

.kh-why__list .k-icon {
	width: 24px;
	height: 24px;
	padding: 4px;
	border-radius: 50%;
	background: var(--gold-500);
	color: var(--blue-950);
}

/* Protection */
.kh-protect__grid {
	display: grid;
	gap: var(--s-4);
}

.kh-panel {
	padding: var(--s-5);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: #fff;
	box-shadow: var(--sh-sm);
}

.kh-panel p,
.kh-panel li {
	color: var(--slate);
}

.kh-panel strong {
	color: var(--blue-950);
}

.kh-panel__icon--gap {
	margin-top: var(--s-4);
}

.kh-materials,
.kh-ins {
	margin: 0 0 var(--s-4);
	padding: 0;
	list-style: none;
}

.kh-materials li,
.kh-ins li {
	padding: 10px 0 10px 22px;
	border-bottom: 1px dashed var(--line);
	position: relative;
}

.kh-materials li::before,
.kh-ins li::before {
	content: "";
	position: absolute;
	top: 19px;
	left: 2px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gold-500);
}

.kh-materials li:last-child,
.kh-ins li:last-child {
	border: 0;
}

.kh-claim {
	padding: var(--s-4);
	border-radius: var(--r-sm);
	background: var(--blue-50);
}

/* Areas */
.kh-areas__layout {
	display: grid;
	gap: var(--s-6);
	align-items: center;
}

.kh-areas__text h3 {
	margin-top: var(--s-5);
	font-size: var(--fs-base);
	letter-spacing: 0;
}

.kh-areas__map {
	max-width: 420px;
	margin-inline: auto;
}

.kh-map {
	display: block;
	width: 100%;
	height: auto;
}

.kh-map__note {
	margin: 0;
	color: var(--slate);
	font-size: var(--fs-xs);
	text-align: center;
}

/* Tips */
.kh-tips__grid {
	display: grid;
	gap: var(--s-4);
}

.kh-tip {
	padding: var(--s-5);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: #fff;
}

.kh-tip p,
.kh-tip li {
	color: var(--slate);
}

.kh-tip ul {
	padding-left: 1.2em;
}

.kh-tip--checklist {
	border: 0;
	background: var(--blue-950);
}

.kh-tip--checklist h3 {
	color: #fff;
}

.kh-tip--checklist .kh-tip__icon {
	background: rgba(255, 255, 255, 0.1);
	color: var(--gold-500);
}

.kh-tip--checklist .kh-ticks {
	padding: 0;
}

.kh-tip--checklist .kh-ticks li {
	color: #dbe6fa;
}

.kh-tip--checklist .kh-ticks li::before {
	background-color: var(--gold-500);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071d47' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
}

/* FAQs */
.kh-faqs__layout {
	display: grid;
	gap: var(--s-5);
}

/* Closing CTA */
.kh-closing__grid {
	display: grid;
	gap: var(--s-6);
	align-items: start;
}

.kh-contact li {
	color: #c7d5ef;
}

.kh-contact .k-icon {
	color: var(--gold-500);
}

.kh-map-embed {
	margin-top: var(--s-7);
	overflow: hidden;
	border-radius: var(--r-lg);
}

.kh-map-embed iframe {
	min-height: 340px;
}

/* ---------- 12. CTA band, footer ---------- */
.k-cta-band {
	padding: var(--s-7) 0;
	background: var(--gold-500);
	color: var(--blue-950);
}

.k-cta-band__inner {
	display: grid;
	gap: var(--s-4);
}

.k-cta-band__title {
	margin-bottom: 4px;
	font: 800 var(--fs-h3) var(--font-head);
}

.k-cta-band__text {
	margin: 0;
}

.k-cta-band .k-buttons {
	margin: 0;
}

.k-cta-band .k-btn--cta {
	background: var(--blue-950);
	color: #fff;
	box-shadow: none;
}

.site-footer {
	padding-top: var(--s-8);
	background: var(--blue-950);
	color: #b9c8e4;
	font-size: var(--fs-sm);
}

.site-footer a {
	color: #fff;
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--gold-500);
}

.site-footer__grid {
	display: grid;
	gap: var(--s-6);
}

.footer-logo {
	display: inline-block;
	margin-bottom: var(--s-5);
	padding: 10px 16px;
	border-radius: var(--r-md);
	background: #fff;
}

.footer-logo img {
	display: block;
	width: auto;
	height: 64px;
}

.footer-office {
	margin-bottom: var(--s-4);
}

.footer-office__label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	color: #fff;
	font: 700 var(--fs-sm) var(--font-head);
}

.footer-office__label .k-icon,
.footer-contact .k-icon {
	color: var(--gold-500);
}

.footer-title {
	margin-bottom: var(--s-4);
	color: #fff;
	font: 800 var(--fs-xs) var(--font-head);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.footer-menu,
.footer-social {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu li {
	margin-bottom: 10px;
}

.footer-menu a {
	color: #b9c8e4;
}

.footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.footer-social a {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--r-pill);
}

.site-footer__bottom {
	margin-top: var(--s-7);
	padding: var(--s-5) 0 calc(var(--mobile-bar) + var(--s-5));
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__bottom p {
	margin: 0;
}

/* ---------- 13. Mobile bar ---------- */
.mobile-bar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 120;
	display: flex;
	height: calc(var(--mobile-bar) + env(safe-area-inset-bottom));
	padding-bottom: env(safe-area-inset-bottom);
	background: #fff;
	box-shadow: 0 -4px 18px rgba(7, 29, 71, 0.18);
}

.mobile-bar__item {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	color: #fff;
	font: 700 var(--fs-xs) var(--font-head);
	text-decoration: none;
}

.mobile-bar__item:hover {
	color: #fff;
}

.mobile-bar__item .k-icon {
	width: 22px;
	height: 22px;
}

.mobile-bar__item--call {
	background: var(--blue-700);
}

.mobile-bar__item--whatsapp {
	background: var(--wa-600);
}

.mobile-bar__item--quote,
.mobile-bar__item--quote:hover {
	background: var(--gold-500);
	color: var(--blue-950);
}

/* ---------- 14. Motion ---------- */
.js [data-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.js [data-reveal].is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}

	.js [data-reveal] {
		opacity: 1;
		transform: none;
	}
}

/* ---------- 15. Breakpoints ---------- */

/* Small phones: stack intercity price rows into cards. */
@media (max-width: 719px) {
	.kh-table--stack thead {
		display: none;
	}

	.kh-table--stack,
	.kh-table--stack tbody,
	.kh-table--stack tr,
	.kh-table--stack th,
	.kh-table--stack td {
		display: block;
		width: 100%;
	}

	.kh-table--stack {
		overflow: visible;
		background: none;
		box-shadow: none;
	}

	.kh-table--stack tr {
		margin-bottom: var(--s-3);
		padding: var(--s-2) 0;
		border-radius: var(--r-md);
		background: #fff;
		box-shadow: var(--sh-sm);
	}

	.kh-table--stack th,
	.kh-table--stack td {
		padding: 8px 18px;
		border: 0;
	}

	.kh-table--stack td {
		display: flex;
		justify-content: space-between;
		gap: var(--s-3);
	}

	.kh-table--stack td::before {
		content: attr(data-label);
		color: var(--slate);
		font-weight: 500;
	}

	.kh-table:not(.kh-table--stack) td {
		white-space: normal;
	}
}

@media (min-width: 600px) {
	.k-grid--3,
	.k-areas--hub .k-areas__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 720px) {
	:root {
		--section-y: var(--s-9);
	}

	.kh-trust {
		grid-template-columns: repeat(3, auto);
		justify-content: start;
	}

	.kh-services__grid,
	.kh-checklist,
	.kh-why__list,
	.kh-protect__grid,
	.kh-tips__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.kh-service--wide,
	.kh-panel--wide,
	.kh-tip--checklist {
		grid-column: 1 / -1;
	}

	.kh-tip--checklist .kh-ticks {
		columns: 2;
		column-gap: var(--s-6);
	}

	.kh-tip--checklist .kh-ticks li {
		break-inside: avoid;
	}

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

	.kh-process__foot {
		grid-template-columns: 1fr auto;
	}

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

	.k-cta-band__inner {
		grid-template-columns: 1fr auto;
		align-items: center;
	}
}

@media (min-width: 783px) {
	.admin-bar .site-header {
		top: 32px;
	}

	.admin-bar .primary-nav {
		top: calc(var(--header-h) + 32px);
	}
}

@media (min-width: 1080px) {
	:root {
		--header-h: 84px;
		--mobile-bar: 0px;
	}

	.mobile-bar,
	.nav-toggle,
	.submenu-toggle {
		display: none;
	}

	.site-branding img,
	.custom-logo {
		height: 64px;
	}

	.primary-nav {
		position: static;
		display: block;
		flex: 1;
		overflow: visible;
		padding: 0;
		background: none;
	}

	.primary-menu {
		display: flex;
		justify-content: center;
		gap: 2px;
	}

	.primary-menu > li {
		border: 0;
	}

	.primary-menu > li > a {
		padding: 30px 14px;
		font-size: var(--fs-base);
	}

	.primary-menu > li > a::before {
		content: "";
		position: absolute;
		right: 14px;
		bottom: 22px;
		left: 14px;
		height: 3px;
		border-radius: 3px;
		background: var(--gold-500);
		transform: scaleX(0);
		transition: transform 0.2s;
	}

	.primary-menu > li:hover > a::before,
	.primary-menu > .current-menu-item > a::before {
		transform: scaleX(1);
	}

	.primary-menu > .menu-item-has-children > a::after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		margin-left: 8px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-3px) rotate(45deg);
	}

	.primary-menu .sub-menu {
		position: absolute;
		top: calc(100% - 8px);
		left: 0;
		display: block;
		visibility: hidden;
		min-width: 250px;
		padding: var(--s-2);
		border: 1px solid var(--line);
		border-radius: var(--r-md);
		background: #fff;
		box-shadow: var(--sh-md);
		opacity: 0;
		transform: translateY(8px);
		transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
	}

	.primary-menu li:hover > .sub-menu,
	.primary-menu li:focus-within > .sub-menu {
		visibility: visible;
		opacity: 1;
		transform: none;
	}

	.primary-menu .sub-menu a {
		padding: 9px 14px;
		border-radius: var(--r-sm);
		color: var(--blue-950);
		font-size: var(--fs-sm);
	}

	.primary-menu .sub-menu a:hover {
		background: var(--blue-50);
		color: var(--blue-700);
	}

	.primary-menu .k-mega > .sub-menu {
		width: 460px;
		columns: 2;
		column-gap: 4px;
	}

	.primary-menu .k-mega > .sub-menu li {
		break-inside: avoid;
	}

	.header-actions {
		display: flex;
		flex: none;
		align-items: center;
		gap: var(--s-4);
	}

	.header-call {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		color: var(--blue-950);
		font: 800 var(--fs-sm) / 1.2 var(--font-head);
		text-decoration: none;
	}

	.header-call__icon {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		border-radius: 50%;
		background: var(--blue-50);
		color: var(--blue-700);
	}

	.header-call__text small {
		display: block;
		color: var(--slate);
		font: 600 11px var(--font-body);
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	.kh-hero {
		padding: var(--s-8) 0 var(--s-9);
	}

	.kh-hero__grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
		grid-template-areas: "head form" "body form";
		column-gap: var(--s-8);
		row-gap: var(--s-5);
		align-items: start;
	}

	.kh-hero__form {
		position: sticky;
		top: calc(var(--header-h) + 24px);
	}

	.kh-split {
		grid-template-columns: 1.1fr 0.9fr;
		gap: var(--s-8);
	}

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

	.kh-service--wide {
		grid-column: span 2;
	}

	.kh-timeline {
		grid-template-columns: repeat(3, 1fr);
		column-gap: var(--s-6);
		row-gap: var(--s-6);
	}

	.kh-timeline li {
		padding: 72px 0 0;
	}

	.kh-timeline li::after {
		top: 25px;
		right: -24px;
		bottom: auto;
		left: 68px;
		width: auto;
		height: 2px;
		background: repeating-linear-gradient(90deg, var(--gold-500) 0 8px, transparent 8px 14px);
	}

	.kh-timeline li:nth-child(3)::after {
		display: none;
	}

	.kh-prices {
		grid-template-columns: 0.8fr 1.2fr;
		align-items: start;
	}

	.kh-cost {
		grid-template-columns: 1.1fr 0.9fr;
		align-items: start;
	}

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

	.kh-areas__layout {
		grid-template-columns: 1.3fr 0.7fr;
		gap: var(--s-8);
	}

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

	.kh-faqs__layout {
		grid-template-columns: 0.75fr 1.25fr;
		gap: var(--s-8);
		align-items: start;
	}

	.kh-faqs__intro {
		position: sticky;
		top: calc(var(--header-h) + 32px);
	}

	.kh-closing__grid {
		grid-template-columns: 1.15fr 0.85fr;
		gap: var(--s-8);
	}

	.k-grid--3,
	.k-areas--hub .k-areas__list {
		grid-template-columns: repeat(3, 1fr);
	}

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

	.k-contact--map {
		grid-template-columns: 1fr 1.3fr;
	}

	.area-layout {
		grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
	}

	.site-footer__grid {
		grid-template-columns: 1.5fr repeat(4, 1fr);
	}
}

@media (min-width: 1280px) {
	.kh-timeline {
		grid-template-columns: repeat(6, 1fr);
		column-gap: var(--s-5);
	}

	.kh-timeline li:nth-child(3)::after {
		display: block;
	}

	.kh-timeline li:last-child::after {
		display: none;
	}
}

/* ---------- Elementor ---------- */
.site-main--full > .entry-content--full > .elementor {
	width: 100%;
}
