/* ==========================================================================
   KES Advanced SEO Page Builder — frontend styles
   Scoped to .kes-page. Uses the Astra brand tokens found on kes.lt as
   defaults; every token is overridable from the widget Style tab.
   ========================================================================== */

.kes-page {
	--kes-primary: #8c4d20;
	--kes-accent: #c48d4d;
	--kes-dark: #3a3a3a;
	--kes-text: #2b2b2b;
	--kes-muted: #5c6068;
	--kes-surface: #f2f5f7;
	--kes-bg: #ffffff;
	--kes-line: rgba(0, 0, 0, 0.1);
	--kes-gap: 88px;
	--kes-radius: 4px;
	--kes-container: 1140px;
	--kes-gutter: 16px;
	--kes-obj-pos: center center;
	--kes-shadow: 0 10px 30px rgba(20, 20, 20, 0.08);
	color: var(--kes-text);
	background: var(--kes-bg);
	font-size: 1rem;
	line-height: 1.6;
	overflow-x: clip;
}
.kes-page *, .kes-page *::before, .kes-page *::after { box-sizing: border-box; }
.kes-width--narrow { --kes-container: 760px; }
.kes-width--wide { --kes-container: 1320px; }

@media (max-width: 1024px) { .kes-page { --kes-gap: 64px; } }
@media (max-width: 767px)  { .kes-page { --kes-gap: 48px; } }

/* Layout ------------------------------------------------------------------ */
.kes-container {
	width: 100%;
	max-width: var(--kes-container);
	margin-inline: auto;
	padding-inline: var(--kes-gutter);
}
.kes-container--wide { max-width: 1400px; }
.kes-sec { padding-block: calc(var(--kes-gap) / 2); }
.kes-sec--breadcrumbs { padding-block: 16px 0; }
.kes-sec--hero { padding-top: 24px; }
.kes-sec--cta { padding-block: 0; margin-top: calc(var(--kes-gap) / 2); }
.kes-sec--cta + .kes-sec { margin-top: 0; }

/* Typography -------------------------------------------------------------- */
.kes-page h1, .kes-page h2, .kes-page h3, .kes-page h4 {
	font-family: "Roboto Condensed", "Roboto", system-ui, sans-serif;
	color: var(--kes-dark);
	line-height: 1.15;
	margin: 0 0 0.5em;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-wrap: balance;
}
.kes-page h1 { font-size: clamp(2rem, 1.2rem + 2.6vw, 3.4rem); }
.kes-page h2 { font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.4rem); }
.kes-page h3 { font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem); }
.kes-page p { margin: 0 0 1em; }
.kes-heading { margin-bottom: 28px; max-width: 760px; }
.kes-eyebrow {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--kes-primary);
	margin-bottom: 10px;
}
.kes-eyebrow::before {
	content: "";
	display: inline-block;
	width: 26px;
	height: 2px;
	background: var(--kes-accent);
	vertical-align: middle;
	margin-right: 10px;
}
.kes-lead { font-size: 1.1rem; color: var(--kes-muted); max-width: 720px; margin-top: -12px; margin-bottom: 32px; }
.kes-rich { max-width: 74ch; }
.kes-rich--lead { font-size: 1.12rem; }
.kes-rich a { color: var(--kes-primary); text-decoration: underline; text-underline-offset: 3px; }
.kes-rich a:hover { color: var(--kes-accent); }
.kes-rich ul, .kes-rich ol { padding-left: 1.3em; }
.kes-footnote { font-size: 0.85rem; color: var(--kes-muted); margin-top: 16px; }
.kes-footnote--top { margin-top: 0; margin-bottom: 16px; }
.kes-empty-note {
	border: 1px dashed var(--kes-accent);
	background: #fff8ef;
	padding: 12px 16px;
	margin: 8px auto;
	max-width: var(--kes-container);
	font-size: 0.9rem;
	color: var(--kes-primary);
}

/* Buttons ----------------------------------------------------------------- */
.kes-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 26px;
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--kes-radius);
	border: 2px solid transparent;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s;
	min-height: 48px;
	line-height: 1.1;
}
.kes-btn:focus-visible { outline: 3px solid var(--kes-accent); outline-offset: 3px; }
.kes-btn--primary { background: var(--kes-primary); color: #fff; }
.kes-btn--primary:hover { background: var(--kes-accent); color: #fff; }
.kes-btn--ghost { background: transparent; color: var(--kes-dark); border-color: var(--kes-dark); }
.kes-btn--ghost:hover { background: var(--kes-dark); color: #fff; }
.kes-btn--light { background: #fff; color: var(--kes-primary); }
.kes-btn--light:hover { background: var(--kes-accent); color: #fff; }
.kes-tone--dark .kes-btn--ghost, .kes-cta--dark .kes-btn--ghost { color: #fff; border-color: rgba(255,255,255,.7); }
.kes-cta--dark .kes-btn--ghost:hover { background: #fff; color: var(--kes-dark); }

/* Images ------------------------------------------------------------------ */
.kes-figure { margin: 0; position: relative; overflow: hidden; border-radius: var(--kes-radius); background: var(--kes-surface); }
.kes-figure .kes-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--kes-obj-pos); }
.kes-fit-contain .kes-img { object-fit: contain; }
.kes-ratio-16-9 { aspect-ratio: 16 / 9; }
.kes-ratio-4-3 { aspect-ratio: 4 / 3; }
.kes-ratio-3-2 { aspect-ratio: 3 / 2; }
.kes-ratio-1-1 { aspect-ratio: 1 / 1; }
.kes-ratio-3-4 { aspect-ratio: 3 / 4; }
.kes-ratio-21-9 { aspect-ratio: 21 / 9; }
.kes-ratio-auto .kes-img { height: auto; }
.kes-figure__caption {
	position: absolute; inset: auto 0 0 0;
	padding: 10px 14px; font-size: 0.8rem; color: #fff;
	background: linear-gradient(to top, rgba(0,0,0,.65), transparent);
}
@media (max-width: 767px) {
	.kes-ratio-16-9, .kes-ratio-21-9, .kes-ratio-3-2 { aspect-ratio: 4 / 3; }
}

/* Breadcrumbs ------------------------------------------------------------- */
.kes-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 0.85rem; color: var(--kes-muted); }
.kes-breadcrumbs li + li::before { content: "›"; margin-right: 6px; opacity: .6; }
.kes-breadcrumbs a { color: var(--kes-muted); text-decoration: none; }
.kes-breadcrumbs a:hover { color: var(--kes-primary); text-decoration: underline; }
.kes-breadcrumbs--pill ol { gap: 8px; }
.kes-breadcrumbs--pill li { background: var(--kes-surface); padding: 4px 12px; border-radius: 999px; }
.kes-breadcrumbs--pill li + li::before { content: none; }
.kes-breadcrumbs--pill li[aria-current] { background: var(--kes-dark); color: #fff; }

/* Hero -------------------------------------------------------------------- */
.kes-hero__title { margin-bottom: 0.4em; }
.kes-hero__sub { font-size: 1.15rem; color: var(--kes-muted); max-width: 60ch; }
.kes-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.kes-stats { display: flex; flex-wrap: wrap; gap: 28px; margin: 32px 0 0; padding: 0; }
.kes-stats__item dt { font-family: "Roboto Condensed", sans-serif; font-size: 1.9rem; font-weight: 700; color: var(--kes-primary); line-height: 1; }
.kes-stats__item dd { margin: 4px 0 0; font-size: 0.85rem; color: var(--kes-muted); text-transform: uppercase; letter-spacing: .06em; }

/* split */
.kes-hero--split { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; }
.kes-hero--split.kes-hero--img-left .kes-hero__media { order: -1; }
.kes-hero--split .kes-hero__media .kes-figure { box-shadow: var(--kes-shadow); }

/* full-width architectural */
.kes-hero--full { position: relative; min-height: clamp(420px, 62vh, 680px); display: flex; align-items: flex-end; color: #fff; background: var(--kes-dark); border-radius: var(--kes-radius); overflow: hidden; }
.kes-hero--full .kes-hero__bg { position: absolute; inset: 0; border-radius: 0; }
.kes-hero--full .kes-hero__bg .kes-img { height: 100%; }
.kes-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,20,.15) 0%, rgba(20,20,20,.75) 100%); }
.kes-hero--full .kes-hero__inner { position: relative; padding-block: 56px 48px; }
.kes-hero--full h1, .kes-hero--full .kes-hero__sub, .kes-hero--full .kes-stats__item dd { color: #fff; }
.kes-hero--full .kes-stats__item dt { color: var(--kes-accent); }
.kes-hero--full .kes-eyebrow { color: var(--kes-accent); }
.kes-hero--full .kes-btn--ghost { color: #fff; border-color: #fff; }
.kes-hero--full .kes-hero__text { max-width: 760px; }

/* asymmetrical overlap */
.kes-hero--asym { display: grid; grid-template-columns: 5fr 7fr; align-items: center; position: relative; }
.kes-hero--asym .kes-hero__text { position: relative; z-index: 2; background: var(--kes-bg); padding: 40px 40px 40px 0; margin-right: -80px; }
.kes-hero--asym.kes-hero--img-left .kes-hero__media { order: -1; }
.kes-hero--asym.kes-hero--img-left .kes-hero__text { padding: 40px 0 40px 40px; margin-right: 0; margin-left: -80px; }
.kes-hero--asym .kes-hero__media .kes-figure { border-radius: 0; }
.kes-hero--asym::after { content: ""; position: absolute; left: -10vw; bottom: -24px; width: 40%; height: 8px; background: var(--kes-accent); }

/* editorial */
.kes-hero--editorial .kes-hero__text { max-width: 820px; margin-bottom: 40px; }
.kes-hero--editorial .kes-hero__media .kes-figure { border-radius: 0; }

@media (max-width: 1024px) {
	.kes-hero--split, .kes-hero--asym { grid-template-columns: 1fr; gap: 28px; }
	.kes-hero--asym .kes-hero__text, .kes-hero--asym.kes-hero--img-left .kes-hero__text { margin: 0; padding: 0; }
	.kes-hero--asym::after { display: none; }
	.kes-hero--split.kes-hero--img-left .kes-hero__media, .kes-hero--asym.kes-hero--img-left .kes-hero__media { order: 0; }
	.kes-hero--full { min-height: 380px; }
}

/* Intro ------------------------------------------------------------------- */
.kes-intro--side, .kes-intro--facts { display: grid; grid-template-columns: 3fr 2fr; gap: 56px; align-items: start; }
.kes-intro--editorial { max-width: 820px; }
.kes-intro__rail { border-left: 3px solid var(--kes-accent); padding-left: 24px; position: sticky; top: 100px; }
.kes-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.kes-facts__value { display: block; font-family: "Roboto Condensed", sans-serif; font-size: 1.6rem; font-weight: 700; color: var(--kes-dark); line-height: 1.1; }
.kes-facts__label { font-size: 0.85rem; color: var(--kes-muted); }
.kes-facts--inline { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--kes-line); }
.kes-facts--rail { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); background: var(--kes-surface); padding: 24px 28px; border-radius: var(--kes-radius); }
.kes-facts--rail dt { font-size: 0.8rem; color: var(--kes-muted); text-transform: uppercase; letter-spacing: .06em; }
.kes-facts--rail dd { margin: 4px 0 0; font-weight: 700; color: var(--kes-dark); font-size: 1.1rem; }
.kes-facts-wrap--side .kes-facts--rail { position: sticky; top: 100px; grid-template-columns: 1fr; max-width: 320px; }
@media (max-width: 1024px) { .kes-intro--side, .kes-intro--facts { grid-template-columns: 1fr; gap: 32px; } .kes-intro__rail { position: static; } }

/* Cards (benefits, applications, materials, local, why) ------------------- */
.kes-cards { display: grid; gap: 24px; }
.kes-cardx {
	display: flex; flex-direction: column; background: var(--kes-bg);
	border: 1px solid var(--kes-line); border-radius: var(--kes-radius); overflow: hidden;
	color: inherit; text-decoration: none; transition: transform .25s, box-shadow .25s;
}
a.kes-cardx:hover { transform: translateY(-3px); box-shadow: var(--kes-shadow); }
.kes-cardx__body { padding: 26px 26px 28px; display: flex; flex-direction: column; gap: 8px; }
.kes-cardx__title { margin: 0; }
.kes-cardx__text { color: var(--kes-muted); font-size: 0.97rem; }
.kes-cardx__text p:last-child { margin-bottom: 0; }
.kes-cardx__meta { font-size: 0.8rem; color: var(--kes-primary); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.kes-cardx__num { font-family: "Roboto Condensed", sans-serif; font-size: 2.2rem; font-weight: 700; color: var(--kes-accent); line-height: 1; }
.kes-icon { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: var(--kes-radius); background: var(--kes-surface); color: var(--kes-primary); font-size: 1.4rem; margin-bottom: 6px; }
.kes-icon svg { width: 1.4em; height: 1.4em; fill: currentColor; }
.kes-badge { align-self: flex-start; font-size: 0.72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.kes-badge--verified { background: var(--kes-primary); color: #fff; }
.kes-badge--example { background: var(--kes-surface); color: var(--kes-muted); }

/* grid */
.kes-cards--grid { grid-template-columns: repeat(3, 1fr); }
/* bento */
.kes-cards--bento { grid-template-columns: repeat(6, 1fr); grid-auto-flow: dense; }
.kes-cards--bento .kes-cardx { grid-column: span 2; }
.kes-cards--bento .kes-cardx:nth-child(1) { grid-column: span 4; }
.kes-cards--bento .kes-cardx:nth-child(4) { grid-column: span 3; }
.kes-cards--bento .kes-cardx:nth-child(5) { grid-column: span 3; }
.kes-cards--bento .kes-cardx:nth-child(1).has-img { flex-direction: row; }
.kes-cards--bento .kes-cardx:nth-child(1).has-img .kes-cardx__media { flex: 0 0 48%; }
.kes-cards--bento .kes-cardx:nth-child(1).has-img .kes-cardx__media .kes-figure { height: 100%; aspect-ratio: auto; border-radius: 0; }
.kes-cards--bento .kes-cardx:not(:nth-child(1)) .kes-cardx__media { display: none; }
.kes-cards--bento .kes-cardx:nth-child(3n+2) { background: var(--kes-surface); border-color: transparent; }
/* alternating rows */
.kes-cards--alt { gap: 48px; }
.kes-cards--alt .kes-cardx { display: grid; grid-template-columns: 1fr 1fr; border: 0; background: transparent; gap: 40px; align-items: center; overflow: visible; }
.kes-cards--alt .kes-cardx:nth-child(even) .kes-cardx__media { order: 2; }
.kes-cards--alt .kes-cardx__body { padding: 0; }
.kes-cards--alt .kes-cardx__media .kes-figure { box-shadow: var(--kes-shadow); }
.kes-cards--alt .kes-cardx:not(.has-img) { grid-template-columns: 1fr; }
/* numbered list */
.kes-cards--list { gap: 0; }
.kes-cards--list .kes-cardx { border: 0; border-top: 1px solid var(--kes-line); border-radius: 0; background: transparent; }
.kes-cards--list .kes-cardx:last-child { border-bottom: 1px solid var(--kes-line); }
.kes-cards--list .kes-cardx__body { display: grid; grid-template-columns: 72px 1fr; grid-template-areas: "num title" "num text"; column-gap: 20px; padding: 24px 0; align-items: start; }
.kes-cards--list .kes-cardx__num, .kes-cards--list .kes-icon { grid-area: num; margin: 0; }
.kes-cards--list .kes-cardx__title { grid-area: title; }
.kes-cards--list .kes-cardx__text { grid-area: text; }
/* image tiles */
.kes-cards--tiles { grid-template-columns: repeat(3, 1fr); }
.kes-cards--tiles .kes-cardx { border: 0; position: relative; color: #fff; background: var(--kes-dark); min-height: 320px; justify-content: flex-end; }
.kes-cards--tiles .kes-cardx__media { position: absolute; inset: 0; }
.kes-cards--tiles .kes-cardx__media .kes-figure { height: 100%; aspect-ratio: auto; border-radius: 0; }
.kes-cards--tiles .kes-cardx__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,15,15,.85) 0%, rgba(15,15,15,.1) 60%); }
.kes-cards--tiles .kes-cardx__body { position: relative; z-index: 1; }
.kes-cards--tiles .kes-cardx__title, .kes-cards--tiles .kes-cardx__text { color: #fff; }
.kes-cards--tiles .kes-icon { background: rgba(255,255,255,.15); color: #fff; }
/* text columns */
.kes-cards--columns { grid-template-columns: repeat(2, 1fr); gap: 40px 56px; }
.kes-cards--columns .kes-cardx { border: 0; background: transparent; border-left: 3px solid var(--kes-accent); border-radius: 0; }
.kes-cards--columns .kes-cardx__body { padding: 4px 0 4px 22px; }
.kes-cards--columns .kes-cardx__media { display: none; }
/* card variant used by process cards */
.kes-cards--cards { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 1024px) {
	.kes-cards--grid, .kes-cards--tiles, .kes-cards--cards { grid-template-columns: repeat(2, 1fr); }
	.kes-cards--bento { grid-template-columns: repeat(2, 1fr); }
	.kes-cards--bento .kes-cardx, .kes-cards--bento .kes-cardx:nth-child(n) { grid-column: span 1; }
	.kes-cards--bento .kes-cardx:nth-child(1) { grid-column: span 2; }
}
@media (max-width: 767px) {
	.kes-cards--grid, .kes-cards--tiles, .kes-cards--cards, .kes-cards--columns, .kes-cards--bento { grid-template-columns: 1fr; }
	.kes-cards--bento .kes-cardx:nth-child(1) { grid-column: span 1; }
	.kes-cards--bento .kes-cardx:nth-child(1).has-img { flex-direction: column; }
	.kes-cards--bento .kes-cardx:nth-child(1).has-img .kes-cardx__media .kes-figure { aspect-ratio: 16 / 9; }
	.kes-cards--alt .kes-cardx { grid-template-columns: 1fr; gap: 20px; }
	.kes-cards--alt .kes-cardx:nth-child(even) .kes-cardx__media { order: 0; }
	.kes-cards--list .kes-cardx__body { grid-template-columns: 52px 1fr; }
	.kes-cards--tiles .kes-cardx { min-height: 260px; }
}

/* Specs ------------------------------------------------------------------- */
.kes-specs { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin: 0; }
.kes-specs__item { background: var(--kes-surface); border-radius: var(--kes-radius); padding: 20px 22px; border-top: 3px solid var(--kes-primary); }
.kes-specs__item dt { font-size: 0.8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--kes-muted); }
.kes-specs__item dd { margin: 6px 0 0; font-family: "Roboto Condensed", sans-serif; font-size: 1.35rem; font-weight: 700; color: var(--kes-dark); }
.kes-specs__item dd small { display: block; font-family: inherit; font-size: 0.8rem; font-weight: 400; color: var(--kes-muted); margin-top: 4px; }
.kes-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.kes-specs-table, .kes-compare-table { width: 100%; border-collapse: collapse; font-size: 0.97rem; }
.kes-specs-table th, .kes-specs-table td, .kes-compare-table th, .kes-compare-table td { padding: 14px 16px; border-bottom: 1px solid var(--kes-line); text-align: left; vertical-align: top; }
.kes-specs-table th { width: 38%; color: var(--kes-dark); background: var(--kes-surface); }
.kes-specs-table small { color: var(--kes-muted); }

/* Process timeline -------------------------------------------------------- */
.kes-timeline { list-style: none; margin: 0; padding: 0; }
.kes-timeline__num { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 50%; background: var(--kes-primary); color: #fff; font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 1.1rem; flex: 0 0 44px; }
.kes-timeline__meta { display: block; font-size: 0.8rem; color: var(--kes-primary); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.kes-timeline--v { position: relative; display: grid; gap: 36px; }
.kes-timeline--v::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; width: 2px; background: var(--kes-line); }
.kes-timeline--v .kes-timeline__step { display: grid; grid-template-columns: 44px 1fr; gap: 24px; position: relative; }
.kes-timeline--v .kes-timeline__body .kes-figure { margin-top: 16px; max-width: 460px; }
.kes-timeline--h { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; position: relative; }
.kes-timeline--h::before { content: ""; position: absolute; left: 22px; right: 22px; top: 21px; height: 2px; background: var(--kes-line); }
.kes-timeline--h .kes-timeline__step { position: relative; padding-top: 0; }
.kes-timeline--h .kes-timeline__num { position: relative; background: var(--kes-primary); box-shadow: 0 0 0 6px var(--kes-bg); }
.kes-timeline--h .kes-timeline__body { padding-top: 16px; }
@media (max-width: 767px) {
	.kes-timeline--h { grid-template-columns: 1fr; }
	.kes-timeline--h::before { display: none; }
}

/* Gallery ----------------------------------------------------------------- */
.kes-gallery { --kes-cols: 3; display: grid; grid-template-columns: repeat(var(--kes-cols), 1fr); gap: 16px; }
.kes-gallery--masonry { display: block; columns: var(--kes-cols); column-gap: 16px; }
.kes-gallery--masonry .kes-figure { break-inside: avoid; margin-bottom: 16px; }
.kes-gallery--strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; padding-bottom: 8px; scrollbar-width: thin; }
.kes-gallery--strip .kes-figure { flex: 0 0 min(72vw, 420px); scroll-snap-align: start; }
@media (max-width: 1024px) { .kes-gallery { --kes-cols: 2; } }
@media (max-width: 767px)  { .kes-gallery { --kes-cols: 1; } .kes-gallery--masonry { columns: 1; } }

/* FAQ --------------------------------------------------------------------- */
.kes-faq--split { display: grid; grid-template-columns: 1fr 2fr; gap: 48px; align-items: start; }
.kes-faq--split .kes-faq__head { position: sticky; top: 100px; }
.kes-faq__item { border-top: 1px solid var(--kes-line); }
.kes-faq__item:last-child { border-bottom: 1px solid var(--kes-line); }
.kes-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; }
.kes-faq__item summary::-webkit-details-marker { display: none; }
.kes-faq__item summary:focus-visible { outline: 3px solid var(--kes-accent); outline-offset: 2px; }
.kes-faq__item summary h3 { margin: 0; font-size: 1.05rem; }
.kes-faq__icon { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--kes-primary); position: relative; }
.kes-faq__icon::before, .kes-faq__icon::after { content: ""; position: absolute; background: var(--kes-primary); left: 50%; top: 50%; transform: translate(-50%, -50%); transition: transform .2s; }
.kes-faq__icon::before { width: 12px; height: 2px; }
.kes-faq__icon::after { width: 2px; height: 12px; }
.kes-faq__item[open] .kes-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.kes-faq__answer { padding: 0 0 20px; color: var(--kes-muted); }
@media (max-width: 1024px) { .kes-faq--split { grid-template-columns: 1fr; gap: 12px; } .kes-faq--split .kes-faq__head { position: static; } }

/* Related cards / chips / lists ------------------------------------------- */
.kes-cardgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.kes-cardgrid--row { grid-template-columns: 1fr; gap: 0; }
.kes-cardgrid--bento { grid-template-columns: repeat(6, 1fr); }
.kes-cardgrid--bento .kes-card { grid-column: span 2; }
.kes-cardgrid--bento .kes-card:nth-child(1), .kes-cardgrid--bento .kes-card:nth-child(2) { grid-column: span 3; }
.kes-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; background: var(--kes-bg); border: 1px solid var(--kes-line); border-radius: var(--kes-radius); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.kes-card:hover { transform: translateY(-3px); box-shadow: var(--kes-shadow); }
.kes-card:focus-visible { outline: 3px solid var(--kes-accent); outline-offset: 2px; }
.kes-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 6px; }
.kes-card__title { font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 1.15rem; color: var(--kes-dark); }
.kes-card__text { color: var(--kes-muted); font-size: 0.93rem; }
.kes-card__arrow { color: var(--kes-primary); font-weight: 700; margin-top: 6px; transition: transform .2s; }
.kes-card:hover .kes-card__arrow { transform: translateX(4px); }
.kes-card--tile { background: var(--kes-surface); border: 0; }
.kes-card--list { flex-direction: row; align-items: center; border: 0; border-top: 1px solid var(--kes-line); border-radius: 0; }
.kes-card--list:last-child { border-bottom: 1px solid var(--kes-line); }
.kes-card--list .kes-figure { flex: 0 0 160px; aspect-ratio: 4 / 3; }
.kes-card--list:hover { transform: none; box-shadow: none; background: var(--kes-surface); }
.kes-card--list .kes-card__body { flex-direction: row; align-items: center; gap: 16px; flex: 1; }
.kes-card--list .kes-card__title { flex: 0 0 34%; }
.kes-card--list .kes-card__arrow { margin: 0 0 0 auto; }
.kes-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.kes-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 16px; border-radius: 999px; background: var(--kes-surface); color: var(--kes-dark); text-decoration: none; font-weight: 500; border: 1px solid transparent; transition: .2s; }
.kes-chip:hover { border-color: var(--kes-primary); color: var(--kes-primary); }
.kes-chip:focus-visible { outline: 3px solid var(--kes-accent); outline-offset: 2px; }
.kes-linklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.kes-linklist li { padding-left: 22px; position: relative; }
.kes-linklist li::before { content: ""; position: absolute; left: 0; top: .6em; width: 12px; height: 2px; background: var(--kes-accent); }
.kes-linklist a { color: var(--kes-primary); font-weight: 700; text-decoration: none; }
.kes-linklist a:hover { text-decoration: underline; }
.kes-linklist span { color: var(--kes-muted); }
@media (max-width: 1024px) { .kes-cardgrid, .kes-cardgrid--bento { grid-template-columns: repeat(2, 1fr); } .kes-cardgrid--bento .kes-card:nth-child(n) { grid-column: span 1; } }
@media (max-width: 767px) {
	.kes-cardgrid, .kes-cardgrid--bento { grid-template-columns: 1fr; }
	.kes-card--list { flex-direction: column; align-items: stretch; }
	.kes-card--list .kes-figure { flex-basis: auto; }
	.kes-card--list .kes-card__body { flex-direction: column; align-items: flex-start; }
	.kes-card--list .kes-card__title { flex-basis: auto; }
}

/* Local + map ------------------------------------------------------------- */
.kes-local--cols { display: grid; grid-template-columns: 3fr 2fr; gap: 48px; align-items: start; }
.kes-checklist { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 14px; }
.kes-checklist li { padding-left: 34px; position: relative; }
.kes-checklist li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--kes-primary); color: #fff; font-size: 0.8rem; display: flex; align-items: center; justify-content: center; }
.kes-checklist .kes-rich { color: var(--kes-muted); font-size: 0.95rem; }
.kes-map--side { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; align-items: center; }
.kes-map__frame { border-radius: var(--kes-radius); overflow: hidden; background: var(--kes-surface); }
.kes-map__frame iframe { width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 1024px) { .kes-local--cols, .kes-map--side { grid-template-columns: 1fr; gap: 28px; } }

/* Comparison -------------------------------------------------------------- */
.kes-compare-table thead th { background: var(--kes-dark); color: #fff; }
.kes-compare-table td.is-hl { background: #fbf3ea; font-weight: 600; }
.kes-compare-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.kes-compare-col { background: var(--kes-surface); border-radius: var(--kes-radius); padding: 24px; }
.kes-compare-col h3 { margin-top: 18px; }
.kes-compare-col dl { margin: 0; }
.kes-compare-col dl > div { padding: 12px 0; border-top: 1px solid var(--kes-line); }
.kes-compare-col dl > div.is-hl { background: #fbf3ea; margin-inline: -12px; padding-inline: 12px; }
.kes-compare-col dt { font-size: 0.8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--kes-muted); }
.kes-compare-col dd { margin: 4px 0 0; }
@media (max-width: 767px) { .kes-compare-cols { grid-template-columns: 1fr; } }

/* Case study story -------------------------------------------------------- */
.kes-story--steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.kes-story--editorial { display: grid; gap: 48px; max-width: 820px; }
.kes-story__block { display: flex; flex-direction: column; gap: 10px; }
.kes-story__block .kes-figure { margin-top: 8px; }
@media (max-width: 1024px) { .kes-story--steps { grid-template-columns: 1fr; } }

/* CTA --------------------------------------------------------------------- */
.kes-cta { position: relative; overflow: hidden; }
.kes-cta__inner { display: grid; gap: 40px; align-items: center; padding-block: 64px; position: relative; }
.kes-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.kes-cta__contacts { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 24px; font-weight: 700; }
.kes-cta__contacts a { color: inherit; text-decoration: none; }
.kes-cta__contacts a:hover { text-decoration: underline; }
.kes-cta--dark { background: var(--kes-dark); color: #fff; }
.kes-cta--dark h2 { color: #fff; }
.kes-cta--dark .kes-eyebrow { color: var(--kes-accent); }
.kes-cta--dark .kes-cta__bg { position: absolute; inset: 0; border-radius: 0; }
.kes-cta--dark .kes-cta__bg .kes-img { height: 100%; }
.kes-cta__overlay { position: absolute; inset: 0; background: rgba(30, 30, 30, .78); }
.kes-cta--dark .kes-cta__text { max-width: 720px; }
.kes-cta--light .kes-cta__inner { padding-block: 0; }
.kes-cta--light .kes-cta__text { background: var(--kes-surface); border-left: 6px solid var(--kes-primary); padding: 40px 44px; border-radius: var(--kes-radius); }
.kes-cta--split .kes-cta__inner { grid-template-columns: 1fr 1fr; }
.kes-cta--split .kes-cta__text { padding: 8px 0; }
@media (max-width: 1024px) { .kes-cta--split .kes-cta__inner { grid-template-columns: 1fr; } .kes-cta__inner { padding-block: 48px; } }
@media (max-width: 767px) { .kes-cta--light .kes-cta__text { padding: 28px 22px; } }

/* Reveal animation (lightweight, opt-in, honours reduced motion) ---------- */
.kes-anim .kes-sec { opacity: 0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease; }
.kes-anim .kes-sec.is-visible { opacity: 1; transform: none; }
.kes-anim .kes-sec--hero, .kes-anim .kes-sec--breadcrumbs { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.kes-anim .kes-sec { opacity: 1; transform: none; transition: none; }
	.kes-page * { transition: none !important; }
}
/* No-JS fallback */
.no-js .kes-anim .kes-sec, .elementor-editor-active .kes-anim .kes-sec { opacity: 1; transform: none; }

/* Screen-reader helper */
.kes-page .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* ==========================================================================
   v1.1 additions: image radius/overlay tokens, mobile hero image, visibility,
   industrial cards, projects feature, pros/cons, CTA links, hub grid
   ========================================================================== */
.kes-page { --kes-img-radius: 4px; --kes-overlay: rgba(20, 20, 20, 0.62); }
.kes-figure { border-radius: var(--kes-img-radius); }
.kes-hero__overlay { background: linear-gradient(180deg, transparent 0%, var(--kes-overlay) 100%); }
.kes-cta__overlay { background: var(--kes-overlay); }

/* Mobile hero image swap */
.kes-hero__media--mobile { display: none; }
@media (max-width: 767px) {
	.kes-hero.has-mobile-img .kes-hero__media:not(.kes-hero__media--mobile),
	.kes-hero--full.has-mobile-img .kes-hero__bg { display: none; }
	.kes-hero.has-mobile-img .kes-hero__media--mobile { display: block; }
	.kes-hero--full.has-mobile-img .kes-hero__media--mobile { position: absolute; inset: 0; }
	.kes-hero--full.has-mobile-img .kes-hero__media--mobile .kes-figure { height: 100%; aspect-ratio: auto; border-radius: 0; }
	.kes-hero--full.has-mobile-img .kes-hero__media--mobile .kes-img { height: 100%; }
}

/* Visibility switches (prefix_class on the widget wrapper) */
@media (max-width: 767px) {
	.kes-hide-m-breadcrumbs-yes .kes-sec--breadcrumbs,
	.kes-hide-m-hero_media-yes .kes-hero__media,
	.kes-hide-m-hero_media-yes .kes-hero__bg,
	.kes-hide-m-stats-yes .kes-stats,
	.kes-hide-m-gallery-yes .kes-sec--gallery,
	.kes-hide-m-map-yes .kes-sec--map { display: none !important; }
}

/* Industrial service cards: dark plate, gold rule, kicker label */
.kes-cardgrid--industrial { gap: 2px; background: var(--kes-line); border: 1px solid var(--kes-line); }
.kes-card--industrial { border: 0; border-radius: 0; background: var(--kes-bg); position: relative; }
.kes-card--industrial .kes-figure { border-radius: 0; aspect-ratio: 3 / 2; filter: saturate(.9); transition: filter .3s; }
.kes-card--industrial:hover { transform: none; box-shadow: none; background: var(--kes-surface); }
.kes-card--industrial:hover .kes-figure { filter: saturate(1.1); }
.kes-card--industrial .kes-card__body { padding: 22px 24px 26px; border-top: 3px solid var(--kes-accent); }
.kes-card__kicker { font-size: 0.72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--kes-primary); }
.kes-card--industrial .kes-card__title { font-size: 1.25rem; }

/* Projects: one featured + grid */
.kes-projects-feature { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 24px; }
.kes-card--feature { grid-column: span 1; grid-row: span 2; }
.kes-card--feature .kes-card__title { font-size: 1.5rem; }
@media (max-width: 1024px) { .kes-projects-feature { grid-template-columns: 1fr 1fr; } .kes-card--feature { grid-column: span 2; grid-row: auto; } }
@media (max-width: 767px)  { .kes-projects-feature { grid-template-columns: 1fr; } .kes-card--feature { grid-column: span 1; } }

/* Pros / cons */
.kes-proscons--columns { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.kes-proscons__col { border-radius: var(--kes-radius); padding: 28px 30px; background: var(--kes-surface); }
.kes-proscons__col--pros { border-top: 4px solid var(--kes-primary); }
.kes-proscons__col--cons { border-top: 4px solid var(--kes-muted); }
.kes-proscons__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.kes-proscons__col li { padding-left: 30px; position: relative; }
.kes-proscons__col li span { display: block; color: var(--kes-muted); font-size: 0.93rem; }
.kes-proscons__col--pros li::before { content: "+"; position: absolute; left: 0; top: -2px; font-weight: 700; font-size: 1.3rem; color: var(--kes-primary); }
.kes-proscons__col--cons li::before { content: "–"; position: absolute; left: 0; top: -2px; font-weight: 700; font-size: 1.3rem; color: var(--kes-muted); }
@media (max-width: 767px) { .kes-proscons--columns { grid-template-columns: 1fr; } }

/* CTA links list (H) */
.kes-cta__links { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); }
.kes-cta--light .kes-cta__links, .kes-cta--split .kes-cta__links { border-top-color: var(--kes-line); }
.kes-cta__links-label { display: block; font-size: 0.78rem; letter-spacing: .1em; text-transform: uppercase; opacity: .75; margin-bottom: 8px; }
.kes-cta__links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.kes-cta__links a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.kes-cta__links a:hover { color: var(--kes-accent); }

/* Hub pages: larger hero spacing + section rhythm */
.kes-page--service_hub .kes-sec--hub_grid, .kes-page--location_hub .kes-sec--hub_grid { padding-top: 0; }

/* ==========================================================================
   v1.2: KES site-style variants (match existing kes.lt pages) + no-image fallbacks
   ========================================================================== */
/* Icon boxes on a light band, brown icons, centred — like the existing "Kam tinka" cards */
.kes-sec--benefits:has(.kes-cards--iconbox) { background: var(--kes-surface); }
.kes-cards--iconbox { grid-template-columns: repeat(3, 1fr); gap: 18px; }
.kes-cards--iconbox .kes-cardx { text-align: center; border: 0; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
.kes-cards--iconbox .kes-cardx__body { align-items: center; padding: 30px 26px 32px; }
.kes-cards--iconbox .kes-icon { background: transparent; color: var(--kes-primary); font-size: 2rem; width: auto; height: auto; }
.kes-cards--iconbox .kes-cardx__title { color: var(--kes-primary); }
.kes-cards--iconbox .kes-cardx__media { display: none; }
@media (max-width: 1024px) { .kes-cards--iconbox { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px)  { .kes-cards--iconbox { grid-template-columns: 1fr; } }

/* Brown → gold gradient FAQ block — like the existing DUK section */
.kes-faq--brand .kes-faq__list { background: linear-gradient(135deg, var(--kes-primary) 0%, var(--kes-accent) 100%); padding: 10px 28px; border-radius: var(--kes-radius); color: #fff; }
.kes-faq--brand .kes-faq__item { border-color: rgba(255,255,255,.25); }
.kes-faq--brand .kes-faq__item summary h3, .kes-faq--brand .kes-faq__answer { color: #fff; }
.kes-faq--brand .kes-faq__icon { border-color: #fff; }
.kes-faq--brand .kes-faq__icon::before, .kes-faq--brand .kes-faq__icon::after { background: #fff; }
.kes-faq--brand .kes-faq__answer a { color: #fff; text-decoration: underline; }

/* Hero without an image: still a strong, balanced block */
.kes-hero--split.no-media, .kes-hero--asym.no-media { grid-template-columns: 1fr; }
.kes-hero--split.no-media .kes-hero__text, .kes-hero--asym.no-media .kes-hero__text { max-width: 820px; padding: 0; margin: 0; }
.kes-hero--asym.no-media::after { display: none; }
.kes-hero--full.no-media { background: linear-gradient(135deg, var(--kes-dark) 0%, #1f1f1f 100%); min-height: 360px; }
.kes-hero--full.no-media .kes-hero__overlay { background: repeating-linear-gradient(90deg, transparent 0 46px, rgba(255,255,255,.04) 46px 48px); }
.kes-hero--editorial.no-media .kes-hero__text { border-left: 6px solid var(--kes-primary); padding-left: 28px; }

/* Intro/local/CTA with no image collapse to one column automatically via :has */
.kes-intro--side:not(:has(.kes-intro__media)), .kes-local--cols:not(:has(.kes-local__media)) { grid-template-columns: 1fr; }
.kes-cta--split .kes-cta__inner:not(:has(.kes-cta__media)) { grid-template-columns: 1fr; }

/* Copy-to-clipboard helper in the editor SEO panel is styled in kes-editor.css */

/* ==========================================================================
   v1.3: image display modes, service-areas cards, planning, coverage, location nav,
   alternate backgrounds, card shadows, CTA form
   ========================================================================== */
/* Display modes */
.kes-display-natural { aspect-ratio: auto; }
.kes-display-natural .kes-img { height: auto; }
.kes-display-fixed .kes-img { height: 100%; }
.kes-display-fullwidth { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); border-radius: 0; }
.kes-align-left { margin-right: auto; } .kes-align-right { margin-left: auto; } .kes-align-center { margin-inline: auto; }
.kes-figure.is-placeholder { background: var(--kes-surface); }
.kes-figure.is-placeholder .kes-img { opacity: .92; }

/* Alternate section backgrounds + card shadows (widget wrapper prefix classes) */
.kes-altbg-yes .kes-page > .kes-sec:nth-child(even):not(.kes-sec--cta):not(.kes-sec--hero) { background: var(--kes-surface); }
.kes-shadow-soft .kes-card, .kes-shadow-soft .kes-cardx, .kes-shadow-soft .kes-area { box-shadow: 0 6px 18px rgba(20,20,20,.06); }
.kes-shadow-strong .kes-card, .kes-shadow-strong .kes-cardx, .kes-shadow-strong .kes-area { box-shadow: 0 14px 40px rgba(20,20,20,.14); }

/* Service Areas cards */
.kes-areas { --kes-cols: 3; display: grid; grid-template-columns: repeat(var(--kes-cols), 1fr); gap: 24px; }
.kes-area { display: flex; flex-direction: column; text-decoration: none; color: inherit; background: var(--kes-bg); border: 1px solid var(--kes-line); border-radius: var(--kes-radius); overflow: hidden; position: relative; transition: transform .25s, box-shadow .25s; }
a.kes-area:hover { transform: translateY(-4px); box-shadow: var(--kes-shadow); }
a.kes-area:focus-visible { outline: 3px solid var(--kes-accent); outline-offset: 2px; }
.kes-area__media { position: relative; }
.kes-area__media .kes-figure { border-radius: 0; transition: transform .4s; }
a.kes-area:hover .kes-area__media .kes-img { transform: scale(1.03); }
.kes-area__media .kes-img { transition: transform .4s; }
.kes-area__badge { position: absolute; top: 12px; left: 12px; background: var(--kes-primary); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }
.kes-area__body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.kes-area__title { margin: 0; font-size: 1.35rem; }
.kes-area__text { margin: 0; color: var(--kes-muted); font-size: .97rem; }
.kes-area__coverage { margin: 4px 0 0; font-size: .85rem; color: var(--kes-primary); font-weight: 600; }
.kes-area__btn { margin-top: auto; align-self: flex-start; }
.kes-area.is-unlinked { opacity: .85; }
/* industrial plate variant */
.kes-areas--industrial { gap: 2px; background: var(--kes-line); border: 1px solid var(--kes-line); }
.kes-areas--industrial .kes-area { border: 0; border-radius: 0; }
.kes-areas--industrial .kes-area__body { border-top: 3px solid var(--kes-accent); }
.kes-areas--industrial a.kes-area:hover { transform: none; box-shadow: none; background: var(--kes-surface); }
/* overlay variant */
.kes-areas--overlay .kes-area { min-height: 420px; color: #fff; background: var(--kes-dark); }
.kes-areas--overlay .kes-area__media { position: absolute; inset: 0; }
.kes-areas--overlay .kes-area__media .kes-figure { height: 100%; aspect-ratio: auto; }
.kes-areas--overlay .kes-area__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,15,15,.9) 0%, rgba(15,15,15,.2) 60%); }
.kes-areas--overlay .kes-area__body { position: relative; z-index: 1; margin-top: auto; }
.kes-areas--overlay .kes-area__title, .kes-areas--overlay .kes-area__text { color: #fff; }
.kes-areas--overlay .kes-area__coverage { color: var(--kes-accent); }
.kes-areas--overlay .kes-icon { background: rgba(255,255,255,.15); color: #fff; }
@media (max-width: 1024px) { .kes-areas { --kes-cols: 2; } }
@media (max-width: 767px)  { .kes-areas { --kes-cols: 1; } .kes-areas--overlay .kes-area { min-height: 320px; } }

/* Planning */
.kes-planning--split { display: grid; grid-template-columns: 3fr 2fr; gap: 48px; align-items: center; }
.kes-planning--split:not(:has(.kes-planning__media)) { grid-template-columns: 1fr; }
.kes-planning--band { background: var(--kes-surface); border-top: 4px solid var(--kes-primary); }
.kes-planning__inner { display: grid; grid-template-columns: 3fr 2fr; gap: 48px; padding-block: 48px; align-items: start; }
.kes-checklist__note { display: block; color: var(--kes-muted); font-size: .93rem; font-weight: 400; }
@media (max-width: 1024px) { .kes-planning--split, .kes-planning__inner { grid-template-columns: 1fr; gap: 28px; } }

/* Coverage */
.kes-coverage--split { display: grid; grid-template-columns: 3fr 2fr; gap: 48px; align-items: center; }
.kes-coverage--split:not(:has(.kes-coverage__media .kes-figure)) { grid-template-columns: 1fr; }
.kes-coverage--band { background: var(--kes-dark); color: #fff; }
.kes-coverage--band h2 { color: #fff; }
.kes-coverage--band .kes-rich { color: rgba(255,255,255,.85); }
.kes-coverage--band .kes-facts--rail { background: rgba(255,255,255,.08); }
.kes-coverage--band .kes-facts--rail dd { color: #fff; }
.kes-coverage--band .kes-facts--rail dt { color: var(--kes-accent); }
.kes-coverage__inner { display: grid; grid-template-columns: 3fr 2fr; gap: 48px; padding-block: 56px; align-items: center; }
@media (max-width: 1024px) { .kes-coverage--split, .kes-coverage__inner { grid-template-columns: 1fr; gap: 28px; } }

/* Previous / next location */
.kes-locnav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border-top: 1px solid var(--kes-line); border-bottom: 1px solid var(--kes-line); padding: 20px 0; }
.kes-locnav__item { display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: var(--kes-dark); padding: 6px 0; }
.kes-locnav__item--next { text-align: right; align-items: flex-end; }
.kes-locnav__label { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--kes-muted); }
.kes-locnav__title { font-family: "Roboto Condensed", sans-serif; font-weight: 700; font-size: 1.15rem; }
.kes-locnav__item:hover .kes-locnav__title { color: var(--kes-primary); }
.kes-locnav__item:focus-visible { outline: 3px solid var(--kes-accent); outline-offset: 2px; }
@media (max-width: 767px) { .kes-locnav { grid-template-columns: 1fr; } .kes-locnav__item--next { text-align: left; align-items: flex-start; } }

/* CTA with embedded form */
.kes-cta__form { background: #fff; color: var(--kes-text); padding: 28px; border-radius: var(--kes-radius); box-shadow: var(--kes-shadow); }
.kes-cta__form form { margin: 0; }
.kes-cta--dark .kes-cta__inner:has(.kes-cta__form), .kes-cta--split .kes-cta__inner:has(.kes-cta__form) { grid-template-columns: 1fr 1fr; }
@media (max-width: 1024px) { .kes-cta__inner:has(.kes-cta__form) { grid-template-columns: 1fr !important; } }
