/* ==========================================================================
   Kampra Life theme
   Calm · Trustworthy · Lively. Colours and fonts are mapped to the
   Site Editor (Appearance → Editor → Styles), so changing them there
   updates every component below.
   ========================================================================== */

:root {
	--kl-blue: var(--wp--preset--color--primary, #3e95cc);
	--kl-blue-700: var(--wp--preset--color--primary-dark, #1d6295);
	--kl-violet: var(--wp--preset--color--secondary, #766db2);
	--kl-violet-600: var(--wp--preset--color--secondary-dark, #5f569f);
	--kl-ink: var(--wp--preset--color--ink, #10213a);
	--kl-ink-2: var(--wp--preset--color--body, #34445d);
	--kl-muted: var(--wp--preset--color--muted, #5f6f86);
	--kl-line: var(--wp--preset--color--line, #e2e9f2);
	--kl-line-2: #d2dceb;
	--kl-bg: var(--wp--preset--color--background, #f6f9fc);
	--kl-surface: var(--wp--preset--color--surface, #fff);
	--kl-mist: var(--wp--preset--color--mist, #eaf4fb);
	--kl-lilac: var(--wp--preset--color--lilac, #f0eef9);
	--kl-mint: var(--wp--preset--color--mint, #e7f6ee);
	--kl-cream: var(--wp--preset--color--cream, #fbf7f0);
	--kl-amber: var(--wp--preset--color--amber, #a8560a);
	--kl-amber-bg: var(--wp--preset--color--amber-soft, #fef6e7);
	--kl-amber-line: #f3d9a4;
	--kl-red: var(--wp--preset--color--red, #b42318);
	--kl-green: var(--wp--preset--color--green, #15803d);
	--kl-green-700: #116a32;
	--kl-wa: var(--wp--preset--color--whatsapp, #25d366);
	--kl-gold: var(--wp--preset--color--gold, #f2b233);
	--kl-grad: var(--wp--preset--gradient--brand, linear-gradient(135deg, #3e95cc 0%, #766db2 100%));
	--kl-grad-soft: var(--wp--preset--gradient--soft, linear-gradient(135deg, #eaf4fb 0%, #f0eef9 100%));
	--kl-serif: var(--wp--preset--font-family--heading, 'Fraunces', Georgia, serif);
	--kl-sans: var(--wp--preset--font-family--body, 'Plus Jakarta Sans', system-ui, sans-serif);
	--kl-r-xs: 10px; --kl-r-sm: 14px; --kl-r: 22px; --kl-r-lg: 32px; --kl-r-pill: 999px;
	--kl-shadow-xs: var(--wp--preset--shadow--xs, 0 1px 2px rgba(16,33,58,.06));
	--kl-shadow-sm: var(--wp--preset--shadow--sm, 0 4px 14px -4px rgba(16,33,58,.10));
	--kl-shadow: var(--wp--preset--shadow--md, 0 16px 40px -18px rgba(29,98,149,.30));
	--kl-shadow-lg: var(--wp--preset--shadow--lg, 0 34px 70px -28px rgba(52,60,130,.38));
	--kl-ease: cubic-bezier(.22, 1, .36, 1);
	--kl-ease-spring: cubic-bezier(.34, 1.56, .64, 1);
	--kl-section: clamp(72px, 9vw, 124px);
	--kl-topbar-h: 40px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }
.kl-main { overflow-x: clip; }
::selection { background: rgba(62, 149, 204, .22); }
:where(.kampralife) :focus-visible { outline: 3px solid rgba(62, 149, 204, .55); outline-offset: 3px; border-radius: 8px; }
:where(.kampralife) h1, :where(.kampralife) h2, :where(.kampralife) h3 { text-wrap: balance; }
.kl-hide-sm { display: inline; }
[id] { scroll-margin-top: 110px; }

/* ---------- Icon classes on core blocks (kli-*) ---------- */
:is([class^="kli-"], [class*=" kli-"]):not(.wp-block-button):not(.wp-block-group)::before,
.wp-block-group:is([class^="kli-"], [class*=" kli-"]).kl-callout::before,
.wp-block-group:is([class^="kli-"], [class*=" kli-"]).kl-footer__disclaimer::before,
.wp-block-button:is([class^="kli-"], [class*=" kli-"]) > .wp-block-button__link::before,
.wp-block-button.is-style-whatsapp > .wp-block-button__link::before,
.wp-block-button.is-style-whatsapp-light > .wp-block-button__link::before {
	content: ''; display: inline-block; flex: none; width: 1.2em; height: 1.2em; vertical-align: -.22em; margin-right: .5em;
	background-color: currentColor;
	-webkit-mask: var(--kl-i) center / contain no-repeat; mask: var(--kl-i) center / contain no-repeat;
}
.wp-block-button:is(.is-style-whatsapp, .is-style-whatsapp-light):not([class*="kli-"]) { --kl-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413Z'/%3E%3C/svg%3E"); }
/* Icon after the text instead of before (add class kl-icon-after) */
.wp-block-button.kl-icon-after > .wp-block-button__link { flex-direction: row-reverse; }
.wp-block-button.kl-icon-after > .wp-block-button__link::before { margin: 0 0 0 .5em; }
.kl-ic--wa::before { color: var(--kl-wa) !important; }
.kl-ic--gold::before { color: var(--kl-gold) !important; }
.kl-ic--green::before { color: var(--kl-green) !important; }
.kl-ic--blue::before { color: var(--kl-blue) !important; }
.kl-ic--violet::before { color: var(--kl-violet) !important; }
.kl-ic--ink::before { color: var(--kl-ink) !important; }

/* ---------- Text helpers ---------- */
.kl-grad-text { background: var(--kl-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
em.kl-grad-text { font-style: italic; padding-right: .06em; }
.kl-mark { position: relative; display: inline; white-space: nowrap; background: linear-gradient(90deg, var(--kl-blue), var(--kl-violet)) no-repeat 0 92% / 0% .12em; transition: background-size 1.4s var(--kl-ease) .5s; padding-bottom: .04em; }
.is-in .kl-mark, .kl-mark.is-in, :not(.kl-js) .kl-mark { background-size: 100% .12em; }
.kl-stars { color: var(--kl-gold); letter-spacing: .08em; }
.kl-avatars span, .kl-stars { font-style: normal; }

/* Eyebrow (small pill label above titles) */
.kl-eyebrow, p.is-style-eyebrow {
	display: inline-flex; align-items: center; gap: 8px; width: fit-content;
	padding: 7px 14px 7px 10px; border-radius: var(--kl-r-pill);
	background: var(--kl-surface); border: 1px solid var(--kl-line); box-shadow: var(--kl-shadow-xs);
	font-family: var(--kl-sans); font-size: 13px; font-weight: 600; letter-spacing: .02em; line-height: 1.4; color: var(--kl-blue-700);
}
.kl-eyebrow::before, p.is-style-eyebrow::before { margin-right: 0 !important; width: 16px !important; height: 16px !important; color: var(--kl-violet); }
.kl-eyebrow--live::before { content: '' !important; width: 8px !important; height: 8px !important; border-radius: 50%; background: var(--kl-wa) !important; -webkit-mask: none !important; mask: none !important; box-shadow: 0 0 0 0 rgba(37, 211, 102, .45); animation: kl-pulse 2s var(--kl-ease) infinite; margin: 0 2px 0 4px !important; }
.kl-eyebrow--amber::before { color: var(--kl-amber) !important; }
.kl-head--center .kl-eyebrow { margin-inline: auto; }

/* Chips as paragraphs */
p.kl-chip, p.is-style-chip { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 6px 12px; border-radius: var(--kl-r-pill); font-size: 13px; font-weight: 600; line-height: 1.3; background: var(--kl-mist); color: var(--kl-blue-700); margin: 0; }
p.kl-chip::before { margin-right: 0 !important; width: 15px !important; height: 15px !important; }
p.kl-chip--white { background: #fff; color: var(--kl-ink); box-shadow: var(--kl-shadow-xs); }
p.kl-chip--live::before { content: '' !important; width: 8px !important; height: 8px !important; border-radius: 50%; background: var(--kl-wa) !important; -webkit-mask: none !important; mask: none !important; animation: kl-pulse 2s var(--kl-ease) infinite; }
p.is-style-lead { font-size: var(--wp--preset--font-size--large); color: var(--kl-muted); }

/* Section heading */
:root .kl-head { margin-bottom: clamp(36px, 5vw, 56px); }
.kl-head:not(.kl-head--center):not(.kl-head--row) > * { max-width: 680px; }
.kl-head--center { text-align: center; }
.kl-head--center > * { margin-inline: auto; }
:root .kl-head > * + * { margin-block-start: 0; }
:root .kl-head__title, :root .kl-head .kl-head__title { margin-top: 16px; font-size: clamp(2rem, 4.2vw, 3.15rem); }
:root .kl-head__lead { margin-top: 14px; font-size: clamp(1rem, 1.4vw, 1.1rem); color: var(--kl-muted); }
:root .kl-head--row { gap: 24px; }
.kl-head--row > * { margin: 0 !important; }
.kl-head--row .kl-head__title { margin-top: 16px; }
h2.is-style-eyebrow-title { font-size: clamp(2rem, 4.2vw, 3.15rem); }

/* ---------- Buttons (block styles) ---------- */
.wp-block-button__link { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0; min-height: 52px; padding: 0 26px; text-decoration: none !important; transition: transform .35s var(--kl-ease), box-shadow .35s var(--kl-ease), background-color .25s, color .25s, border-color .25s, background-position .8s var(--kl-ease), translate .3s var(--kl-ease); white-space: nowrap; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button__link:active { transform: translateY(0) scale(.98); }
.kl-btn-lg > .wp-block-button__link { min-height: 60px; padding: 0 32px; font-size: 16px; }
.kl-btn-sm > .wp-block-button__link { min-height: 42px; padding: 0 18px; font-size: 14px; }
.kl-btn-block, .kl-btn-block > .wp-block-button__link { width: 100%; }
.wp-block-button[class*="is-style-"] > .wp-block-button__link { background-size: 250% 100%, 100% 100%; background-position: 160% 0, 0 0; }
.wp-block-button[class*="is-style-"] > .wp-block-button__link:hover { background-position: -60% 0, 0 0; }
.wp-block-button.is-style-primary > .wp-block-button__link { color: #fff; background-image: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.4) 50%, transparent 70%), var(--kl-grad); box-shadow: 0 12px 28px -12px rgba(62,149,204,.75); }
.wp-block-button.is-style-primary > .wp-block-button__link:hover { box-shadow: 0 18px 36px -12px rgba(118,109,178,.7); }
.wp-block-button.is-style-primary > .wp-block-button__link::after { content: ''; width: 20px; height: 20px; margin-left: 10px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .35s var(--kl-ease); }
.wp-block-button.is-style-primary[class*="kli-"] > .wp-block-button__link::after, .wp-block-button.is-style-primary.kl-noarrow > .wp-block-button__link::after { display: none; }
.wp-block-button.is-style-primary > .wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.is-style-whatsapp > .wp-block-button__link { color: #fff; background-color: var(--kl-green); background-image: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); box-shadow: 0 12px 26px -12px rgba(21,128,61,.7); }
.wp-block-button.is-style-whatsapp > .wp-block-button__link:hover { background-color: var(--kl-green-700); color: #fff; }
.wp-block-button.is-style-ghost > .wp-block-button__link { color: var(--kl-ink); background: var(--kl-surface); border: 1.5px solid var(--kl-line-2); }
.wp-block-button.is-style-ghost > .wp-block-button__link:hover { color: var(--kl-blue-700); border-color: var(--kl-blue); box-shadow: var(--kl-shadow-sm); }
.wp-block-button.is-style-light > .wp-block-button__link { color: var(--kl-ink); background-color: #fff; background-image: linear-gradient(110deg, transparent 30%, rgba(62,149,204,.18) 50%, transparent 70%); }
.wp-block-button.is-style-light > .wp-block-button__link::after { content: '→'; margin-left: 10px; transition: transform .35s var(--kl-ease); }
.wp-block-button.is-style-light > .wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.is-style-whatsapp-light > .wp-block-button__link { color: var(--kl-green); background-color: #fff; background-image: linear-gradient(110deg, transparent 30%, rgba(21,128,61,.12) 50%, transparent 70%); }
.wp-block-button.is-style-whatsapp-light > .wp-block-button__link:hover { color: var(--kl-green-700); background-color: #f1fff6; }
.wp-block-button.is-style-outline-light > .wp-block-button__link { color: #fff; background: transparent; border: 1.5px solid rgba(255,255,255,.5); }
.wp-block-button.is-style-outline-light > .wp-block-button__link:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.wp-block-button.is-style-text-link > .wp-block-button__link { min-height: 0; padding: 0; background: none; color: var(--kl-blue-700); }
.wp-block-button.is-style-text-link > .wp-block-button__link::after { content: '→'; margin-left: 8px; transition: transform .35s var(--kl-ease); }
.wp-block-button.is-style-text-link > .wp-block-button__link:hover { transform: none; }
.wp-block-button.is-style-text-link > .wp-block-button__link:hover::after { transform: translateX(5px); }
:root .wp-block-buttons { gap: 12px; }
.kl-center { justify-content: center; }

/* ---------- Group styles ---------- */
.wp-block-group.is-style-card { padding: clamp(24px, 3vw, 32px); border-radius: var(--kl-r); background: var(--kl-surface); border: 1px solid var(--kl-line); }
.wp-block-group.is-style-soft { padding: clamp(24px, 3vw, 32px); border-radius: var(--kl-r); background: var(--kl-grad-soft); }
.wp-block-group.is-style-dark { position: relative; isolation: isolate; overflow: hidden; padding: clamp(24px, 3vw, 32px); border-radius: var(--kl-r-lg); background: var(--kl-ink); color: #cfdbea; }
.wp-block-group.is-style-dark::after { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 100% 0%, rgba(118,109,178,.55), transparent 55%), radial-gradient(circle at 0% 100%, rgba(62,149,204,.45), transparent 55%); pointer-events: none; }
.wp-block-group.is-style-dark :is(h1, h2, h3, h4, strong) { color: #fff; }
.wp-block-group.is-style-gradient { position: relative; padding: clamp(22px, 3vw, 32px); border-radius: var(--kl-r); background: var(--kl-grad); color: #fff; }
.wp-block-group.is-style-gradient :is(h1, h2, h3, h4, a:not(.wp-block-button__link)) { color: #fff; }
.wp-block-group.is-style-caution, .kl-callout { display: flex; gap: 12px; align-items: flex-start; flex-wrap: wrap; padding: 18px 20px; border-radius: var(--kl-r); background: var(--kl-amber-bg); border: 1px solid var(--kl-amber-line); color: #6b4a1a; }
.wp-block-group.kl-callout::before { width: 22px !important; height: 22px !important; color: var(--kl-amber); margin: 2px 0 0 !important; }
.kl-callout > * { margin: 0 !important; flex: 1 1 calc(100% - 40px); }
.kl-callout > * + * { margin-left: 34px !important; margin-top: -8px !important; }
.kl-callout__title strong { color: #4a3210; font-size: 15.5px; }
.kl-callout p:not(.kl-callout__title) { font-size: 14px; font-weight: 600; color: var(--kl-amber); }
:root .kl-callout.alignwide { margin-top: clamp(40px, 5vw, 56px); }
.kl-callout--sm { padding: 16px 18px; }

/* ---------- List styles ---------- */
:root .wp-block-list.is-style-checks { list-style: none; padding: 0; display: grid; gap: 14px; margin-block: 26px; }
.wp-block-list.is-style-checks > li { position: relative; padding-left: 42px; margin: 0; color: var(--kl-muted); font-size: 14.5px; line-height: 1.55; }
.wp-block-list.is-style-checks > li::before { content: ''; position: absolute; left: 0; top: -1px; width: 28px; height: 28px; border-radius: 50%; background: var(--kl-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 15px no-repeat; }
.wp-block-list.is-style-checks > li strong { display: block; color: var(--kl-ink); font-size: 16px; }
.wp-block-list.is-style-checks > li strong + br { display: none; }
.kl-checks--sm > li { padding-left: 38px; font-size: 14px; color: var(--kl-ink-2); }
:root .kl-checks--sm { margin-block: 4px 0; gap: 12px; }
.kl-checks--sm > li::before { width: 26px; height: 26px; }
.wp-block-list.is-style-bullets { list-style: none; padding: 0; display: grid; gap: 9px; }
.wp-block-list.is-style-bullets > li { position: relative; padding-left: 22px; }
.wp-block-list.is-style-bullets > li::before { content: ''; position: absolute; left: 4px; top: .65em; width: 7px; height: 7px; border-radius: 50%; background: var(--kl-blue); }
.wp-block-list.is-style-chips, ul.kl-certrow { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.wp-block-list.is-style-chips > li, ul.kl-certrow > li { margin: 0; display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: var(--kl-r-pill); background: var(--kl-bg); border: 1px solid var(--kl-line); font-size: 12.5px; font-weight: 700; color: var(--kl-ink); }
ul.kl-certrow > li::before { width: 15px !important; height: 15px !important; margin-right: 0 !important; color: var(--kl-blue-700); }

/* ---------- Images ---------- */
.wp-block-image.is-style-soft-rounded img { border-radius: var(--kl-r-lg); box-shadow: var(--kl-shadow-lg); }
.wp-block-image.is-style-framed img { border-radius: var(--kl-r); border: 6px solid #fff; box-shadow: var(--kl-shadow-lg); }

/* ---------- Quote card ---------- */
.wp-block-quote.is-style-card { margin: 16px 0 0; padding: 0; border: 0; font-family: var(--kl-serif); font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.45; color: var(--kl-ink); }
.wp-block-quote.is-style-card p { margin: 0 0 26px; }
.wp-block-quote.is-style-card cite { display: flex; align-items: center; gap: 14px; font-family: var(--kl-sans); font-size: 14px; font-style: normal; color: var(--kl-muted); }
.wp-block-quote.is-style-card cite::before { content: ''; width: 58px; height: 58px; border-radius: 50%; flex: none; background: var(--kl-grad) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center / 26px no-repeat; }
.wp-block-quote.is-style-card cite strong { color: var(--kl-ink); font-size: 16px; }

/* ---------- FAQ (details) ---------- */
.kl-faq { display: grid; gap: 12px; }
:root .kl-faq > * { margin: 0; }
.kl-faq .wp-block-details, .wp-block-details.is-style-card { border-radius: var(--kl-r); background: var(--kl-surface); border: 1px solid var(--kl-line); transition: border-color .3s, box-shadow .3s; }
.kl-faq .wp-block-details[open], .wp-block-details.is-style-card[open] { border-color: rgba(62,149,204,.45); box-shadow: var(--kl-shadow-sm); }
.kl-faq .wp-block-details > summary, .wp-block-details.is-style-card > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; cursor: pointer; font-size: 16.5px; font-weight: 700; color: var(--kl-ink); line-height: 1.4; }
.kl-faq .wp-block-details > summary::-webkit-details-marker, .wp-block-details.is-style-card > summary::-webkit-details-marker { display: none; }
.kl-faq .wp-block-details > summary::after, .wp-block-details.is-style-card > summary::after { content: ''; width: 34px; height: 34px; border-radius: 50%; flex: none; background: var(--kl-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d6295' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") center / 18px no-repeat; transition: transform .5s var(--kl-ease), background-color .3s; }
.kl-faq .wp-block-details[open] > summary::after, .wp-block-details.is-style-card[open] > summary::after { transform: rotate(135deg); background-color: var(--kl-mist); }
:root .kl-faq .wp-block-details > :not(summary), :root .wp-block-details.is-style-card > :not(summary) { margin: 0; padding: 0 22px 22px; color: var(--kl-muted); font-size: 15px; }
.kl-faq .wp-block-details[open] > :not(summary) { animation: kl-fade-up .45s var(--kl-ease) both; }

/* ---------- Sections ---------- */
:root .kl-section { position: relative; padding-block: var(--kl-section); }
:root .kl-section--tight { padding-block: clamp(48px, 6vw, 80px); }
:root .kl-section--flush-top { padding-top: clamp(24px, 3vw, 40px); }
.kl-section--clip { overflow: hidden; }
:root .kl-section + .kl-section { margin-block-start: 0; }
:root .kl-content-full > .kl-section:first-child, :root .kl-content-full > .kl-hero:first-child { margin-block-start: 0; }
:root .kl-main, :root .kl-main > * { margin-block: 0; }
.kl-narrow { max-width: 900px !important; }
:root .kl-decor + * { margin-block-start: 0; }

/* ---------- Header ---------- */
.kl-site-header { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--kl-topbar-h)); z-index: 60; }
:root .kl-site-header > * { margin: 0; }
.kl-topbar { position: relative; z-index: 2; background: var(--kl-ink); color: #dbe6f3; font-size: 13px; }
:root .kl-topbar__inner { height: var(--kl-topbar-h); gap: 16px; }
.kl-topbar a { color: inherit; text-decoration: none; }
.kl-topbar p { margin: 0; }
.kl-ticker { position: relative; height: var(--kl-topbar-h); overflow: hidden; flex: 1; min-width: 0; }
:root .kl-ticker > .kl-ticker__item { position: absolute; inset: 0; margin: 0; display: flex; align-items: center; gap: 8px; opacity: 0; transform: translateY(100%); transition: transform .7s var(--kl-ease), opacity .7s var(--kl-ease); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; }
.kl-ticker__item::before { color: #8fc8ec; width: 16px !important; height: 16px !important; margin-right: 0 !important; }
.kl-ticker__item strong { color: #fff; font-weight: 600; }
.kl-ticker > .kl-ticker__item:first-child, .kl-ticker > .kl-ticker__item.is-active { opacity: 1; transform: none; }
.kl-ticker.is-ready > .kl-ticker__item:first-child:not(.is-active) { opacity: 0; transform: translateY(100%); }
.kl-ticker > .kl-ticker__item.is-out { opacity: 0; transform: translateY(-100%); }
:root .kl-topbar__right { gap: 18px; flex: none; }
.kl-topbar__right p { display: inline-flex; align-items: center; opacity: .85; transition: opacity .2s; }
.kl-topbar__right p:hover { opacity: 1; }
.kl-topbar__right p::before { width: 15px !important; height: 15px !important; margin-right: 6px !important; }
.kl-topbar__social { padding-left: 18px !important; border-left: 1px solid rgba(255,255,255,.15); gap: 12px !important; }
.kl-topbar__social .wp-social-link { color: #dbe6f3 !important; }
.kl-topbar__social .wp-social-link svg { width: 15px; height: 15px; }

.kl-header { position: relative; z-index: 1; border-bottom: 1px solid transparent; transition: box-shadow .4s var(--kl-ease), border-color .4s; }
.kl-header::before { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.8); -webkit-backdrop-filter: saturate(160%) blur(16px); backdrop-filter: saturate(160%) blur(16px); transition: background-color .4s; }
.is-scrolled .kl-header { box-shadow: 0 10px 30px -18px rgba(16,33,58,.25); border-color: var(--kl-line); }
.is-scrolled .kl-header::before { background: rgba(255,255,255,.92); }
:root .kl-header__inner { min-height: 78px; gap: 28px; transition: min-height .4s var(--kl-ease); }
.is-scrolled .kl-header__inner { min-height: 66px; }
:root .kl-logo { gap: 10px; flex: none; }
.kl-logo .wp-block-site-logo img { width: 30px; height: auto; transition: transform .6s var(--kl-ease-spring); }
.kl-logo:hover .wp-block-site-logo img { transform: rotate(-8deg) scale(1.08); }
:root .kl-logo__word { display: flex; flex-direction: column; line-height: 1; }
:root .kl-logo__word > * { margin: 0; }
.kl-logo__name { font-family: var(--kl-serif); font-size: 23px; font-weight: 600; letter-spacing: -.02em; line-height: 1; }
.kl-logo__name a { color: var(--kl-ink); text-decoration: none !important; }
.kl-logo__name span { background: var(--kl-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kl-logo__tag { font-size: 10.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--kl-muted); margin-top: 4px !important; line-height: 1.2; }
.kl-logo--light .kl-logo__name a { color: #fff; }
.kl-logo--light .kl-logo__tag { color: #7f91a9; }

/* Navigation */
.kl-nav { margin-left: auto; }
.kl-nav .wp-block-navigation__container { gap: 4px; }
.kl-nav .wp-block-navigation-item__content { position: relative; display: inline-flex; align-items: center; padding: 10px 14px !important; border-radius: var(--kl-r-pill); color: var(--kl-ink-2); text-decoration: none !important; transition: color .25s; }
.kl-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: 2px; background: var(--kl-grad); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--kl-ease); }
.kl-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after, .kl-nav .wp-block-navigation-item.is-current > .wp-block-navigation-item__content::after { transform: scaleX(1) !important; }
.kl-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content, .kl-nav .is-current > .wp-block-navigation-item__content { color: var(--kl-ink); }
.kl-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content { padding-right: 4px !important; }
.kl-nav .wp-block-navigation__submenu-icon { width: 16px; height: 16px; margin-left: 2px; transition: transform .35s var(--kl-ease); }
.kl-nav .has-child:hover > .wp-block-navigation__submenu-icon { transform: rotate(180deg); }
/* Products dropdown as a card */
.kl-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	display: grid !important; grid-template-columns: 1fr 1fr; gap: 6px; width: min(560px, 92vw) !important; padding: 12px !important; left: 50% !important; top: calc(100% + 12px) !important;
	border: 1px solid var(--kl-line) !important; border-radius: var(--kl-r-lg); background: var(--kl-surface) !important; box-shadow: var(--kl-shadow-lg);
	transform: translate(-50%, 10px); transition: opacity .35s var(--kl-ease), transform .45s var(--kl-ease), visibility .35s !important;
}
.kl-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container::before { content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.kl-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:hover > .wp-block-navigation__submenu-container,
.kl-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:focus-within > .wp-block-navigation__submenu-container { transform: translate(-50%, 0); }
.kl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.kl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; padding: 12px 14px !important; border-radius: 16px; transition: background-color .25s; }
.kl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--kl-bg); }
.kl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-weight: 700; color: var(--kl-ink); }
.kl-nav .wp-block-navigation-item__description { display: block; font-size: 12.5px; font-weight: 500; color: var(--kl-muted); }
.kl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child .wp-block-navigation-item__content { background: var(--kl-grad-soft); }
.kl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child .wp-block-navigation-item__label::after { content: 'New'; margin-left: 6px; padding: 1px 7px; border-radius: var(--kl-r-pill); background: var(--kl-lilac); color: var(--kl-violet-600); font-size: 10.5px; font-weight: 700; vertical-align: 1px; }
/* Mobile menu: slide-in drawer */
.kl-nav .wp-block-navigation__responsive-container-open, .kl-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; border-radius: 50%; place-items: center; background: var(--kl-mist); color: var(--kl-ink); }
.kl-nav .wp-block-navigation__responsive-container-close { display: grid; }
.kl-nav .wp-block-navigation__responsive-container.is-menu-open {
	inset: 0 0 0 auto !important; left: auto !important; width: min(380px, 88vw); padding: 20px !important; background: var(--kl-surface) !important;
	box-shadow: 0 0 0 100vmax rgba(16,33,58,.45); animation: kl-drawer .55s var(--kl-ease) both !important;
}
.kl-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px !important; align-items: stretch !important; }
.kl-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.kl-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--kl-line); align-items: stretch !important; }
.kl-nav .is-menu-open .wp-block-navigation-item__content { width: 100%; padding: 14px 4px !important; font-size: 17px; color: var(--kl-ink); justify-content: space-between; border-radius: 0; }
.kl-nav .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 10px 12px !important; gap: 0 !important; }
.kl-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.kl-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 15px; padding: 8px 4px !important; }
.kl-nav .is-menu-open .wp-block-navigation-item__description { display: none; }
:root .kl-header__actions { gap: 10px; flex: none; }
.kl-header__cta { margin: 0 !important; }

/* ---------- Hero ---------- */
.kl-hero { overflow: hidden; isolation: isolate; }
:root .kl-hero { padding-block: clamp(40px, 6vw, 80px) clamp(64px, 8vw, 110px); }
:root .kl-hero__grid, :root .kl-split { grid-template-columns: 1.02fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
:root .kl-hero__copy > * { margin-block: 0; }
:root .kl-hero__title { margin: 22px 0 !important; font-size: clamp(2.65rem, 5.7vw, 4.7rem); line-height: 1.03; letter-spacing: -.025em; font-weight: 450; }
:root .kl-hero__title--md { font-size: clamp(2.5rem, 5vw, 4.1rem); }
.kl-hero__title em { font-weight: 500; }
:root .kl-hero__lead { font-size: clamp(1.02rem, 1.4vw, 1.15rem); max-width: 540px; color: var(--kl-muted); }
:root .kl-hero__ctas { margin-top: 32px !important; }
:root .kl-hero__proof { margin-top: 34px !important; gap: 18px; align-items: center; }
.kl-hero__proof p { margin: 0; }
.kl-avatars { display: flex; }
.kl-avatars span { width: 40px; height: 40px; border-radius: 50%; border: 3px solid var(--kl-bg); margin-left: -10px; display: grid; place-items: center; font-size: 13px; font-weight: 700; color: #fff; }
.kl-avatars span:first-child { margin-left: 0; }
.kl-avatars span:nth-child(1) { background: linear-gradient(135deg, #5cb8ea, #2b7db5); }
.kl-avatars span:nth-child(2) { background: linear-gradient(135deg, #a69de0, #766db2); }
.kl-avatars span:nth-child(3) { background: linear-gradient(135deg, #f19ab9, #c2577f); }
.kl-avatars span:nth-child(4) { background: linear-gradient(135deg, #6fd3a6, #2e9b6e); }
.kl-proof { font-size: 14px; line-height: 1.4; }
.kl-proof strong { color: var(--kl-ink); }
:root .kl-hero__badges { list-style: none; padding: 24px 0 0; margin-top: 28px !important; display: flex; flex-wrap: wrap; gap: 10px 22px; border-top: 1px solid var(--kl-line); }
.kl-hero__badges li { display: flex; align-items: center; font-size: 14px; font-weight: 600; color: var(--kl-ink); margin: 0; }
.kl-hero__badges li::before { color: var(--kl-green); }
/* Split-line title reveal */
.kl-line { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.kl-line > span { display: inline-block; transform: translateY(105%); transition: transform 1.1s var(--kl-ease); }
.is-loaded .kl-line > span, .kl-line.is-in > span { transform: none; }
.is-loaded .kl-line:nth-child(2) > span { transition-delay: .12s; }
.is-loaded .kl-line:nth-child(3) > span { transition-delay: .24s; }

/* ---------- Inner page hero ---------- */
.kl-phero { overflow: hidden; isolation: isolate; }
:root .kl-phero { padding-block: clamp(48px, 7vw, 96px) clamp(48px, 6vw, 80px); }
:root .kl-phero--compact { padding-block: clamp(40px, 6vw, 72px) clamp(32px, 4vw, 48px); }
:root .kl-phero__inner > * { margin-block: 0; }
:root .kl-phero__title { margin: 18px 0 14px !important; font-size: clamp(2.4rem, 5vw, 4rem); letter-spacing: -.025em; max-width: 900px; }
:root .kl-phero__lead { font-size: 1.1rem; color: var(--kl-muted); max-width: 620px; }
.kl-phero__meta { color: var(--kl-muted); font-size: 14px; }
:root .kl-minitrust { gap: 10px; margin-top: 26px !important; }
.kl-minitrust .kl-chip { margin: 0; }

/* ---------- Trust band ---------- */
.kl-trustband { position: relative; padding-block: 22px; color: #fff; background: var(--kl-ink); overflow: hidden; }
.kl-trustband::before { content: ''; position: absolute; inset: 0; background: var(--kl-grad); opacity: .92; }
.kl-marquee { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
:root .kl-trustband .kl-marquee { flex-wrap: nowrap; gap: 0; }
.kl-marquee > .kl-marquee__track { display: flex; flex: none; animation: kl-marquee 40s linear infinite; }
.kl-marquee:hover > .kl-marquee__track { animation-play-state: paused; }
.kl-trustband__item { display: flex; align-items: center; flex: none; gap: 0; margin: 0 !important; padding-inline: 28px; font-weight: 600; font-size: 16px; white-space: nowrap; }
.kl-trustband__item::before { width: 22px !important; height: 22px !important; margin-right: 12px !important; }
.kl-trustband__item::after { content: ''; width: 18px; height: 18px; margin-left: 56px; margin-right: -28px; opacity: .6; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- Stats ---------- */
.kl-stats { border-radius: var(--kl-r-lg); background: var(--kl-surface); border: 1px solid var(--kl-line); box-shadow: var(--kl-shadow-sm); overflow: hidden; }
:root .kl-stats { gap: 0; }
:root .kl-stats--spaced { margin-top: clamp(40px, 5vw, 64px); }
:root .kl-stat { padding: clamp(24px, 3vw, 36px); gap: 16px; }
.kl-stat + .kl-stat { border-left: 1px solid var(--kl-line); }
:root .kl-stat__text > * { margin: 0; }
.kl-stat__num { font-family: var(--kl-serif); font-size: clamp(2rem, 3.4vw, 2.7rem); line-height: 1; font-weight: 500; letter-spacing: -.02em; background: var(--kl-grad); -webkit-background-clip: text; background-clip: text; color: transparent; width: fit-content; }
:root .kl-stat__label { font-size: 14px; color: var(--kl-muted); margin-top: 6px; line-height: 1.35; }
.kl-stat__title strong { color: var(--kl-ink); }
:root .kl-stats--strip { margin-top: clamp(48px, 6vw, 72px); }
:root .kl-stats--strip .kl-stat__label { margin-top: 2px; }

/* ---------- Kampra Life range ---------- */
:root .kl-range { grid-template-columns: 360px minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: stretch; }
.kl-range__intro { position: relative; padding: 32px; border-radius: var(--kl-r-lg); background: var(--kl-ink); color: #cfdbea; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; }
.kl-range__intro::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 100% 0%, rgba(118,109,178,.65), transparent 55%), radial-gradient(circle at 0% 100%, rgba(62,149,204,.5), transparent 55%); }
:root .kl-range__intro > * { margin-block: 0; }
:root .kl-range__title { color: #fff; font-size: clamp(1.9rem, 3vw, 2.5rem); margin: 16px 0 12px !important; }
.kl-range__intro p { font-size: 15px; }
:root .kl-range__intro .kl-certrow { margin: 22px 0 26px !important; }
.kl-range__intro .kl-certrow > li { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); color: #fff; }
.kl-range__intro .kl-certrow > li::before { color: #8fc8ec; }
.kl-range__intro .wp-block-buttons { margin-top: auto !important; }
:root .kl-range__maker { margin-top: 18px !important; font-size: 12.5px !important; opacity: .75; }

/* ---------- How to order ---------- */
:root .kl-order { grid-template-columns: 1.05fr .95fr; gap: clamp(36px, 6vw, 90px); align-items: center; }
:root .kl-order__copy > * { margin-block: 0; }
:root .kl-order .kl-head { margin-bottom: 28px; }
.kl-steps { position: relative; display: grid; gap: 14px; margin: 8px 0 28px !important; }
.kl-steps::before, .kl-steps::after { content: ''; position: absolute; left: 31px; top: 34px; bottom: 34px; width: 2px; border-radius: 2px; background: var(--kl-line); }
.kl-steps::after { background: var(--kl-grad); transform-origin: top; transform: scaleY(0); transition: transform 1.8s var(--kl-ease) .3s; }
.kl-steps.is-in::after, :not(.kl-js) .kl-steps::after { transform: scaleY(1); }
:root .kl-steps > * { margin: 0; }
:root .kl-step { position: relative; gap: 20px; padding: 16px 18px 16px 0; }
:root .kl-step__text > * { margin: 0; }
.kl-step h3 { font-family: var(--kl-sans); font-size: 18px; font-weight: 700; margin: 6px 0 4px !important; letter-spacing: 0; }
.kl-step p { font-size: 15px; color: var(--kl-muted); }
.kl-step .kl-ico { position: relative; z-index: 1; }
.kl-step:hover .kl-ico--step, .kl-step:hover .kl-ico--step-wa { background: var(--kl-grad); color: #fff; border-color: transparent; transform: rotate(-6deg) scale(1.05); }
.kl-ico--step-wa { width: 64px; height: 64px; border-radius: 20px; background: #fff; border: 1px solid var(--kl-line); box-shadow: var(--kl-shadow-sm); color: var(--kl-green); transition: all .45s var(--kl-ease); }
.kl-ico--step-wa > .kl-icon { width: 26px; height: 26px; }

/* ---------- Buy safely ---------- */
:root .kl-safety { grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.kl-safety__intro { position: sticky; top: 120px; }
:root .kl-safety__intro > * { margin-block: 0; }
:root .kl-safety__card { margin-top: 26px !important; padding: 24px; }
:root .kl-safety__card > * { margin: 0; }
.kl-safety__title { display: flex; align-items: center; font-size: 16px; margin-bottom: 6px !important; }
.kl-safety__title::before { width: 22px !important; height: 22px !important; color: #8fc8ec; }
.kl-safety__card p { font-size: 14.5px; }
.kl-safety__card .wp-block-buttons { margin-top: 16px !important; }
:root .kl-tips { gap: 16px; }
.kl-tip { position: relative; padding: 24px; border-radius: var(--kl-r); background: var(--kl-surface); border: 1px solid var(--kl-line); transition: transform .45s var(--kl-ease), box-shadow .45s; counter-increment: kltip; }
.kl-tips { counter-reset: kltip; }
.kl-tip::after { content: counter(kltip, decimal-leading-zero); position: absolute; right: 20px; top: 16px; font-family: var(--kl-serif); font-size: 34px; color: var(--kl-line); line-height: 1; }
.kl-tip:hover { transform: translateY(-4px); box-shadow: var(--kl-shadow); }
:root .kl-tip > * { margin: 0; }
.kl-tip .kl-ico { margin-bottom: 16px; }
.kl-tip:hover .kl-ico { transform: rotate(-8deg) scale(1.08); }
.kl-tip h3 { font-family: var(--kl-sans); font-size: 17px; font-weight: 700; margin-bottom: 6px !important; letter-spacing: 0; }
.kl-tip p { font-size: 14.5px; color: var(--kl-muted); }

/* ---------- Pillars & certifications ---------- */
:root .kl-pillars { gap: 20px; }
.kl-pillar { position: relative; padding: 30px 28px; border-radius: var(--kl-r); background: var(--kl-surface); border: 1px solid var(--kl-line); overflow: hidden; transition: transform .5s var(--kl-ease), box-shadow .5s var(--kl-ease); isolation: isolate; counter-increment: klpillar; }
.kl-pillars { counter-reset: klpillar; }
.kl-pillar::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--kl-grad-soft); opacity: 0; transition: opacity .5s var(--kl-ease); }
.kl-pillar::after { content: counter(klpillar, decimal-leading-zero); position: absolute; right: 22px; top: 18px; font-family: var(--kl-serif); font-size: 46px; line-height: 1; color: var(--kl-line); font-weight: 600; }
.kl-pillar:hover { transform: translateY(-4px); box-shadow: var(--kl-shadow); }
.kl-pillar:hover::before { opacity: 1; }
:root .kl-pillar > * { margin: 0; }
.kl-pillar .kl-ico { margin-bottom: 20px; --kl-ico: 27px; width: 58px; height: 58px; border-radius: 18px; }
.kl-pillar:hover .kl-ico { transform: translateY(-4px) rotate(-8deg); }
.kl-pillar h3 { font-family: var(--kl-sans); font-size: 18.5px; font-weight: 700; margin-bottom: 8px !important; letter-spacing: 0; }
.kl-pillar p { font-size: 15px; color: var(--kl-muted); }
.kl-certs { position: relative; padding: 30px clamp(20px, 4vw, 48px); border-radius: var(--kl-r-lg); background: var(--kl-bg); border: 1px solid var(--kl-line); }
:root .kl-certs { margin-top: clamp(48px, 6vw, 72px); gap: clamp(18px, 3vw, 40px); align-items: center; }
.kl-certs__label { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); margin: 0 !important; padding: 6px 16px; border-radius: var(--kl-r-pill); background: var(--kl-ink); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.kl-cert { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; width: 120px; }
:root .kl-cert > * { margin: 0; }
.kl-cert p { font-size: 13px; font-weight: 700; color: var(--kl-ink); line-height: 1.3; }
.kl-cert:nth-child(odd) .kl-ico__ring circle:first-child { fill: var(--kl-lilac); }
.kl-cert:nth-child(4n) .kl-ico__ring circle:first-child { fill: var(--kl-mint); }

/* Reseller note */
.kl-reseller { display: block; width: fit-content; max-width: 100%; margin: 28px auto 0 !important; padding: 14px 24px; border-radius: 28px; background: var(--kl-surface); border: 1px solid var(--kl-line); font-size: 14.5px; text-align: center; }
.kl-reseller::before { color: var(--kl-green); width: 19px !important; height: 19px !important; margin-right: 10px !important; vertical-align: -.28em !important; }

/* ---------- Spotlight ---------- */
:root .kl-spot { grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 90px); align-items: center; }
.kl-spot__media { position: relative; aspect-ratio: 1; }
:root .kl-spot__media > * { margin: 0; }
.kl-spot__main { position: absolute; inset: 0 14% 14% 0; border-radius: var(--kl-r-lg); overflow: hidden; box-shadow: var(--kl-shadow-lg); }
.kl-spot__main a, .kl-spot__main img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kl-spot__main img { transition: transform 1s var(--kl-ease); }
.kl-spot__main:hover img { transform: scale(1.05); }
.kl-spot__quality { position: absolute !important; width: 58%; right: 0; bottom: 0; z-index: 2; padding: 20px 22px; border-radius: var(--kl-r); background: #fff; box-shadow: var(--kl-shadow-lg); }
:root .kl-spot__quality > * { margin: 0; }
.kl-spot__quality-title { display: flex; align-items: center; color: var(--kl-ink); font-size: 15px; margin-bottom: 4px !important; }
.kl-spot__quality-title::before { color: var(--kl-green); width: 20px !important; height: 20px !important; }
.kl-spot__quality p:not(.kl-spot__quality-title) { font-size: 13px; color: var(--kl-muted); margin-bottom: 12px !important; }
.kl-spot__quality .kl-certrow > li { font-size: 11.5px; padding: 5px 9px; }
:root .kl-spot__copy > * { margin-block: 0; }
:root .kl-spot__copy .kl-head__title { margin-top: 16px; }
:root .kl-spot__copy .kl-callout { margin: 0 0 26px; }

/* ---------- Reviews head ---------- */
.kl-rating { gap: 18px !important; align-items: center !important; padding: 16px 22px; border-radius: var(--kl-r); background: var(--kl-surface); border: 1px solid var(--kl-line); box-shadow: var(--kl-shadow-xs); }
.kl-rating > * { margin: 0 !important; }
.kl-rating__num { font-family: var(--kl-serif); font-size: 44px; line-height: 1; color: var(--kl-ink); }
.kl-rating__text { font-size: 13px; color: var(--kl-muted); line-height: 1.5; }

/* ---------- FAQ + help ---------- */
:root .kl-faq-wrap { grid-template-columns: 1.4fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
:root .kl-faq-col > * { margin-block: 0; }
.kl-help { position: sticky; top: 120px; }
:root .kl-help > * { margin: 0; }
:root .kl-help h3 { color: #fff; font-size: 1.7rem; margin: 14px 0 10px; }
.kl-help > p { font-size: 15px; }
:root .kl-help .kl-help__list { margin: 22px 0; }
.kl-help .wp-block-buttons { width: 100%; }

/* ---------- Instagram ---------- */
:root .kl-insta { gap: 14px; }
.kl-insta__item { position: relative; margin: 0 !important; border-radius: var(--kl-r); overflow: hidden; aspect-ratio: 1; }
.kl-insta__item a { display: block; height: 100%; }
.kl-insta__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--kl-ease); }
.kl-insta__item a::after { content: ''; position: absolute; inset: 0; background: var(--kl-grad); opacity: 0; transition: opacity .4s; }
.kl-insta__item a::before { content: ''; position: absolute; z-index: 1; left: 50%; top: 50%; width: 32px; height: 32px; margin: -16px 0 0 -16px; background: #fff; -webkit-mask: var(--kl-insta-i) center / contain no-repeat; mask: var(--kl-insta-i) center / contain no-repeat; opacity: 0; transform: scale(.6); transition: all .45s var(--kl-ease-spring); }
.kl-insta { --kl-insta-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cpath d='M17.5 6.5h.01'/%3E%3C/svg%3E"); }
.kl-insta__item:hover img { transform: scale(1.1); }
.kl-insta__item:hover a::after { opacity: .7; }
.kl-insta__item:hover a::before { opacity: 1; transform: none; }

/* ---------- CTA ---------- */
:root .kl-cta-part { margin: clamp(24px, 4vw, 48px) 0 0; }
body:has(.kl-contact-page) .kl-cta-part { display: none; }
.kl-cta { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--kl-r-lg); color: #fff; padding: clamp(40px, 6vw, 80px) !important; }
:root .kl-cta { grid-template-columns: 1.3fr 1fr; gap: 32px; align-items: center; }
:root .kl-cta__copy > * { margin: 0; }
:root .kl-cta__title { color: #fff; font-size: clamp(2rem, 4vw, 3.1rem); margin-top: 18px !important; }
.kl-cta__copy > p:last-child { margin-top: 14px; font-size: 1.08rem; opacity: .92; max-width: 520px; }
.kl-cta__actions { display: flex; flex-direction: column; gap: 12px; max-width: 360px; justify-self: end; width: 100%; }
:root .kl-cta__actions > * { margin: 0; }
.kl-cta__actions .wp-block-buttons { flex-direction: column; align-items: stretch; }
.kl-cta__actions .wp-block-button, .kl-cta__actions .wp-block-button__link { width: 100%; }
.kl-cta__note { display: flex; align-items: center; justify-content: center; font-size: 13px; opacity: .85; text-align: center; }
.kl-cta__note::before { width: 15px !important; height: 15px !important; }

/* ---------- Footer ---------- */
:root .kl-site-footer { margin-top: clamp(72px, 9vw, 120px); }
.kl-footer { position: relative; isolation: isolate; overflow: hidden; background: var(--kl-ink); color: #a9b8cc; padding-top: clamp(56px, 7vw, 90px); }
.kl-footer a { color: inherit; text-decoration: none; }
.kl-footer .kl-decor--faint { color: #fff; }
.kl-footer .kl-decor--faint .kl-mtn { opacity: .045; }
:root .kl-footer > * { margin-block: 0; }
:root .kl-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 40px; padding-bottom: 48px; }
:root .kl-footer__grid > * > * { margin-block: 0; }
.kl-footer h4 { font-family: var(--kl-sans); color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .02em; margin-bottom: 18px !important; }
:root .kl-footer__about { margin: 18px 0 22px !important; font-size: 14.5px; max-width: 340px; }
.kl-footer__links { list-style: none; padding: 0; display: grid; gap: 10px; font-size: 14.5px; }
.kl-footer__links li { margin: 0; }
.kl-footer__links a { display: inline-flex; transition: color .25s, transform .3s var(--kl-ease); }
.kl-footer__links a:hover { color: #fff; transform: translateX(4px); text-decoration: none; }
.kl-social { gap: 10px !important; }
.kl-social .wp-social-link { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.07) !important; color: #fff !important; transition: all .35s var(--kl-ease); }
.kl-social .wp-social-link a { padding: 0 !important; display: grid; place-items: center; width: 100%; height: 100%; }
.kl-social .wp-social-link svg { width: 18px; height: 18px; }
.kl-social .wp-social-link:hover { background: var(--kl-grad) !important; transform: translateY(-3px); }
.kl-footer__trust { border-top: 1px solid rgba(255,255,255,.08); padding: 22px 0; }
:root .kl-footer__trust { gap: 18px; align-items: center; }
.kl-footer__seals { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: 13.5px; margin: 0 !important; }
.kl-footer__seals li { margin: 0; display: inline-flex; align-items: center; color: #dbe6f3; font-weight: 600; }
.kl-footer__seals li::before { color: #6fd3a6; width: 18px !important; height: 18px !important; }
.kl-footer__disclaimer { display: grid; grid-template-columns: auto 1fr; gap: 0 12px; font-size: 12.5px; line-height: 1.6; padding: 18px 20px; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06); margin-bottom: 22px !important; }
.kl-footer__disclaimer::before { grid-row: span 2; width: 18px !important; height: 18px !important; color: #8fc8ec; margin: 2px 0 0 !important; }
:root .kl-footer__disclaimer > * { margin: 0; }
.kl-footer__disclaimer > p + p { margin-top: 12px; }
.kl-footer__disclaimer strong { color: #fff; }
.kl-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 22px 0 28px; font-size: 13.5px; }
:root .kl-footer__bottom { gap: 12px; }
.kl-footer__bottom > * { margin: 0 !important; }
.kl-footer__legal { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 18px; }
.kl-footer__legal li { margin: 0; }
.kl-footer__legal a:hover { color: #fff; }

/* ---------- About ---------- */
:root .kl-split--top { align-items: start; }
.kl-collage { position: relative; aspect-ratio: 1 / 1.05; }
:root .kl-collage > * { margin: 0; }
.kl-collage .wp-block-image { position: absolute; border-radius: var(--kl-r-lg); overflow: hidden; box-shadow: var(--kl-shadow-lg); }
.kl-collage .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.kl-collage__a { inset: 0 30% 30% 0; }
.kl-collage__b { width: 46%; aspect-ratio: 1; right: 0; top: 16%; border: 6px solid #fff; }
.kl-collage__c { width: 40%; aspect-ratio: 1; left: 22%; bottom: 0; border: 6px solid #fff; }
p.kl-tchip { position: absolute; z-index: 3; display: flex; align-items: center; gap: 0; margin: 0; padding: 9px 16px 9px 9px; background: #fff; border-radius: var(--kl-r-pill); box-shadow: var(--kl-shadow); font-size: 11px; font-weight: 600; line-height: 1.25; color: var(--kl-muted); animation: kl-bob 7s ease-in-out infinite; }
p.kl-tchip strong { font-size: 13.5px; color: var(--kl-ink); }
p.kl-tchip::before { width: 32px !important; height: 32px !important; margin-right: 10px !important; border-radius: 50%; background: var(--kl-green) !important; -webkit-mask: none !important; mask: none !important; }
p.kl-tchip::after { content: ''; position: absolute; left: 17px; top: 50%; width: 17px; height: 17px; margin-top: -8.5px; background: #fff; -webkit-mask: var(--kl-i) center / contain no-repeat; mask: var(--kl-i) center / contain no-repeat; }
p.kl-tchip--a { left: -2%; bottom: 30%; }
p.kl-tchip--b { right: -2%; bottom: 6%; animation-delay: -3s; }
p.kl-tchip--b::before { background: var(--kl-violet) !important; }
:root .kl-prose--muted { margin-top: 20px !important; color: var(--kl-muted); }
.kl-quote { position: relative; padding: clamp(32px, 5vw, 56px); border-radius: var(--kl-r-lg); background: var(--kl-surface); border: 1px solid var(--kl-line); box-shadow: var(--kl-shadow-sm); }
.kl-quote::after { content: '“'; position: absolute; right: 28px; top: 10px; font-family: var(--kl-serif); font-size: 120px; line-height: 1; color: var(--kl-violet); opacity: .18; }
:root .kl-quote > * { margin: 0; }
:root .kl-mvv { gap: 20px; }
.kl-mvv__item { transition: transform .8s var(--kl-ease), box-shadow .5s; }
:root .kl-mvv__item > * { margin: 0; }
.kl-mvv__item .kl-ico { --kl-ico: 27px; width: 58px; height: 58px; border-radius: 18px; }
:root .kl-mvv__item h3 { font-size: 1.6rem; margin: 18px 0 10px; }
.kl-mvv__item p { color: var(--kl-muted); font-size: 15px; }
.kl-mvv__item p strong { color: var(--kl-ink); }
.kl-timeline { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.kl-timeline--4 { grid-template-columns: repeat(4, 1fr); }
.kl-timeline::before, .kl-timeline::after { content: ''; position: absolute; left: 10%; right: 10%; top: 35px; height: 2px; background: var(--kl-line); }
.kl-timeline--4::before, .kl-timeline--4::after { left: 12.5%; right: 12.5%; }
.kl-timeline::after { background: var(--kl-grad); transform-origin: left; transform: scaleX(0); transition: transform 2s var(--kl-ease) .2s; }
.kl-timeline.is-in::after, :not(.kl-js) .kl-timeline::after { transform: scaleX(1); }
:root .kl-timeline > * { margin: 0; }
.kl-tl { position: relative; text-align: center; padding: 0 6px; }
:root .kl-tl > * { margin: 0; }
.kl-tl .kl-ico { margin: 0 auto 18px; position: relative; z-index: 1; }
.kl-tl:hover .kl-ico { background: var(--kl-grad); color: #fff; transform: scale(1.08); }
:root .kl-tl__text > * { margin: 0; }
.kl-tl h3 { font-family: var(--kl-sans); font-size: 16px; font-weight: 700; margin-bottom: 6px !important; letter-spacing: 0; }
.kl-tl p { font-size: 14px; color: var(--kl-muted); }

/* ---------- Contact ---------- */
:root .kl-contact-cards { margin-top: -8px; position: relative; z-index: 1; }
:root .kl-split--form { grid-template-columns: 1.25fr 1fr; align-items: stretch; }
.kl-form { padding: clamp(26px, 4vw, 44px); border-radius: var(--kl-r-lg); background: var(--kl-surface); border: 1px solid var(--kl-line); box-shadow: var(--kl-shadow-sm); }
:root .kl-form > * { margin-block: 0; }
:root .kl-form__title { font-size: clamp(1.8rem, 3vw, 2.4rem); margin-top: 16px !important; }
:root .kl-form .kl-head__lead { margin-top: 8px !important; }
.kl-coverage { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; height: 100%; padding: clamp(26px, 4vw, 40px); border-radius: var(--kl-r-lg); background: var(--kl-ink); color: #cfdbea; }
.kl-coverage::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 100% 0%, rgba(118,109,178,.5), transparent 55%), radial-gradient(circle at 0% 100%, rgba(62,149,204,.4), transparent 55%); }
:root .kl-coverage > * { margin-block: 0; }
:root .kl-coverage h3 { color: #fff; font-size: 1.8rem; margin: 14px 0 10px; }
.kl-provinces { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 22px 0 !important; }
.kl-provinces li { margin: 0; display: flex; align-items: center; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.06); font-size: 14px; color: #fff; font-weight: 600; }
.kl-provinces li::before { color: #6fd3a6; width: 16px !important; height: 16px !important; }
.kl-provinces__bulk { background: rgba(111,211,166,.15) !important; }
:root .kl-coverage__times { gap: 10px; margin-bottom: 24px !important; }
.kl-coverage__times > div { padding: 16px; border-radius: 16px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); }
:root .kl-coverage__times > div > * { margin: 0; font-size: 13px; }
.kl-coverage__times strong { display: block; font-family: var(--kl-serif); font-weight: 500; font-size: 1.6rem; line-height: 1.1; color: #fff; }
.kl-coverage__note { font-size: 13.5px; margin-bottom: 20px !important; }
.kl-coverage .kl-decor { top: auto; height: 40%; color: #8fc8ec; }
.kl-coverage .kl-mtn { max-height: none; opacity: .25; }

/* ---------- Bulk ---------- */
:root .kl-who { gap: 16px; }
:root .kl-who__item { gap: 16px; padding: 22px; border-radius: var(--kl-r); background: var(--kl-surface); border: 1px solid var(--kl-line); transition: transform .45s var(--kl-ease), box-shadow .45s; }
.kl-who__item:hover { transform: translateY(-4px); box-shadow: var(--kl-shadow); }
:root .kl-who__item > div > * { margin: 0; }
.kl-who__item .kl-ico { --kl-ico: 24px; width: 50px; height: 50px; border-radius: 16px; }
.kl-who__item h3 { font-family: var(--kl-sans); font-size: 16.5px; font-weight: 700; margin-bottom: 4px !important; letter-spacing: 0; }
.kl-who__item p { font-size: 14.5px; color: var(--kl-muted); }
.kl-spaced { margin-top: clamp(40px, 5vw, 56px) !important; }

/* ---------- Shop / product templates ---------- */
:root .kl-shop-section > .kl-shop { margin-block-start: 0; }
.kl-filters .kl-fbox > * { margin-block: 0; }
.kl-filters .kl-fbox .wp-block-heading { margin-bottom: 12px !important; }
.kl-fhelp h4 { font-family: var(--kl-serif); text-transform: none; letter-spacing: -.01em; color: #fff; font-size: 20px; font-weight: 500; margin: 0 0 6px !important; }
.kl-fhelp p { font-size: 14px; opacity: .9; margin: 0 0 16px !important; }
:root .kl-fhelp > * { margin-block: 0; }
.kl-pd-section { overflow: clip; isolation: isolate; }
:root .kl-pd-section { padding-top: clamp(24px, 3vw, 40px); }
:root .kl-pd-wrap > * { margin-block: 0; }
:root .kl-pd-wrap > .kl-crumbs { margin-bottom: 26px; }
:root .kl-pd { grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: start; }

/* ---------- Posts & prose ---------- */
.kl-prose, .kl-policy { font-size: 16px; }
:root .kl-policy > * + * { margin-top: 1em; }
.kl-policy h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-top: 1.6em !important; }
.kl-policy ul { padding-left: 1.2em; }
.kl-postcard { height: 100%; border-radius: var(--kl-r); overflow: hidden; background: var(--kl-surface); border: 1px solid var(--kl-line); transition: transform .5s var(--kl-ease), box-shadow .5s; }
.kl-postcard:hover { transform: translateY(-6px); box-shadow: var(--kl-shadow-lg); }
:root .kl-postcard > * { margin: 0; }
.kl-postcard__body { padding: 18px 20px 22px; }
:root .kl-postcard__body > * + * { margin-top: 8px; }
.kl-postcard__date { font-size: 13px; color: var(--kl-muted); }
.kl-postcard .wp-block-post-title { font-size: 1.3rem; }
.kl-postcard .wp-block-post-title a { color: var(--kl-ink); text-decoration: none; }
.kl-single__image img { border-radius: var(--kl-r-lg); }
.kl-empty-note { text-align: center; padding: 48px 20px; border: 1.5px dashed var(--kl-line-2); border-radius: var(--kl-r); }

/* ==========================================================================
   Animation system: add these classes to any block (Gutenberg or Kadence)
   kl-reveal / -up / -down / -left / -right / -zoom / -blur
   kl-delay-100 … -800, kl-stagger (parent), kl-tilt, kl-magnetic,
   kl-parallax (+ --slow / --fast), kl-float, kl-count, kl-lines
   ========================================================================== */
.kl-js :is(.kl-reveal, .kl-reveal-up, .kl-reveal-down, .kl-reveal-left, .kl-reveal-right, .kl-reveal-zoom, .kl-reveal-blur):not(.is-in),
.kl-js .kl-stagger > :not(.is-in):not([class*="kl-reveal"]):not(.kl-certs__label) { opacity: 0; }
.kl-js :is(.kl-reveal, .kl-reveal-up, .kl-reveal-down, .kl-reveal-left, .kl-reveal-right, .kl-reveal-zoom, .kl-reveal-blur):not(.is-revealed), .kl-js .kl-stagger > :not(.is-revealed) { transition: opacity .9s var(--kl-ease), transform 1s var(--kl-ease), filter .9s var(--kl-ease), box-shadow .5s var(--kl-ease), border-color .4s; transition-delay: var(--d, 0ms); }
.kl-js :is(.kl-reveal, .kl-reveal-up):not(.is-in), .kl-js .kl-stagger > :not(.is-in):not([class*="kl-reveal"]):not(.kl-certs__label) { transform: translateY(36px); }
.kl-js .kl-reveal-down:not(.is-in) { transform: translateY(-30px); }
.kl-js .kl-reveal-left:not(.is-in) { transform: translateX(-46px); }
.kl-js .kl-reveal-right:not(.is-in) { transform: translateX(46px); }
.kl-js .kl-reveal-zoom:not(.is-in) { transform: scale(.92); }
.kl-js .kl-reveal-blur:not(.is-in) { filter: blur(12px); transform: translateY(16px); }
.kl-delay-100 { --d: 100ms; } .kl-delay-200 { --d: 200ms; } .kl-delay-300 { --d: 300ms; } .kl-delay-400 { --d: 400ms; }
.kl-delay-500 { --d: 500ms; } .kl-delay-600 { --d: 600ms; } .kl-delay-700 { --d: 700ms; } .kl-delay-800 { --d: 800ms; }
.kl-float { animation: kl-bob 7s ease-in-out infinite; }
.kl-tilt { transform-style: preserve-3d; will-change: transform; }

@keyframes kl-pulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.5); } 100% { box-shadow: 0 0 0 8px rgba(37,211,102,0); } }
@keyframes kl-drawer { from { transform: translateX(100%); } to { transform: none; } }
@keyframes kl-drop { from { transform: translateY(-100%); opacity: 0; } to { transform: none; opacity: 1; } }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	/* Hamburger menu from 1100px down (core switches at 600px). */
	.kl-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid !important; }
	.kl-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.kl-header__cta { display: none !important; }
	:root .kl-header__inner { justify-content: flex-start; }
	.kl-header__actions { order: 1; margin-left: auto; }
	.kl-nav { order: 2; margin-left: 0 !important; flex: none; }
	:root .kl-footer__grid { grid-template-columns: 1fr 1fr; }
	:root .kl-range { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
	:root .kl-hero__grid, :root .kl-split, :root .kl-split--form, :root .kl-order, :root .kl-spot, :root .kl-faq-wrap, :root .kl-pd, :root .kl-cta, :root .kl-safety { grid-template-columns: 1fr; }
	:root .kl-pillars, :root .kl-mvv, :root .kl-who { grid-template-columns: 1fr 1fr; }
	:root .kl-stats { grid-template-columns: 1fr 1fr; }
	.kl-stat:nth-child(3) { border-left: 0; }
	.kl-stat:nth-child(n+3) { border-top: 1px solid var(--kl-line); }
	.kl-help, .kl-safety__intro { position: static; }
	.kl-cta__actions { justify-self: start; }
	.kl-hero__visual { max-width: 500px; }
	.kl-timeline, .kl-timeline--4 { grid-template-columns: 1fr; gap: 10px; }
	.kl-timeline::before, .kl-timeline::after, .kl-timeline--4::before, .kl-timeline--4::after { left: 35px; right: auto; top: 20px; bottom: 20px; width: 2px; height: auto; }
	.kl-timeline::after { transform-origin: top; transform: scaleY(0); }
	.kl-timeline.is-in::after { transform: scaleY(1); }
	.kl-tl { display: flex; text-align: left; gap: 18px; align-items: center; padding: 0; }
	.kl-tl .kl-ico { margin: 0; flex: none; }
	.kl-topbar__hours { display: none !important; }
}
@media (max-width: 720px) {
	:root { --kl-topbar-h: 38px; }
	.kl-hide-sm { display: none; }
	.kl-js .kl-reveal-left:not(.is-in), .kl-js .kl-reveal-right:not(.is-in) { transform: translateY(30px); }
	.kl-topbar__right { display: none !important; }
	.kl-ticker > .kl-ticker__item { justify-content: center; font-size: 12.5px; }
	:root .kl-pillars, :root .kl-mvv, :root .kl-who, :root .kl-tips, :root .kl-insta, :root .kl-footer__grid { grid-template-columns: 1fr; }
	:root .kl-insta { grid-template-columns: 1fr 1fr; }
	:root .kl-footer__grid { gap: 32px; }
	.kl-head--row { align-items: flex-start !important; }
	.kl-provinces { grid-template-columns: 1fr; }
	.kl-spot__media { aspect-ratio: auto; }
	.kl-spot__main { position: relative; inset: auto; aspect-ratio: 1; }
	.kl-spot__quality { position: relative !important; width: auto; margin: -40px 12px 0 !important; }
	.kl-logo__name { font-size: 21px; }
	.kl-logo__tag { display: none; }
	:root .kl-header__inner { gap: 12px; min-height: 66px; }
	.kl-certs { padding-top: 40px; }
	.kl-cert { width: 44%; }
	.kl-hero__badges { gap: 10px 16px; }
	p.kl-tchip { font-size: 0; padding: 7px 12px 7px 7px; }
	p.kl-tchip strong { font-size: 12px; }
	p.kl-tchip::before { width: 26px !important; height: 26px !important; }
	p.kl-tchip::after { left: 13px; width: 14px; height: 14px; margin-top: -7px; }
}
@media (max-width: 420px) {
	.kl-hero__ctas .wp-block-button, .kl-hero__ctas .wp-block-button__link { width: 100%; }
	:root .kl-stats { grid-template-columns: 1fr; }
	.kl-stat + .kl-stat { border-left: 0; border-top: 1px solid var(--kl-line); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.kl-js [class*="kl-reveal"], .kl-js .kl-stagger > * { opacity: 1 !important; transform: none !important; filter: none !important; }
	.kl-line > span { transform: none !important; }
	.kl-marquee > .kl-marquee__track, p.kl-tchip, .kl-float, .kl-eyebrow--live::before { animation: none !important; }
}
