/* ==========================================================================
   Kristina Elphinstone: home v3 (14 Nov 2026)
   Editorial hub. Type swapped in v3.1: Literata 700-900 headlines, Archivo body/labels.
   Gold is a hairline, a label rule and the engraved merkaba, never a gradient.
   One dark band only (authority). Self-contained: front page loads only this + fonts.css.
   ========================================================================== */

:root {
	--kv-paper: #FAF8F3;
	--kv-white: #FFFFFF;
	--kv-ink: #16130F;
	--kv-ink-2: #37322B;
	--kv-muted: #6B645A;
	--kv-gold: #A07A35;        /* hairlines, rules, marks */
	--kv-gold-ink: #85662C;    /* gold used as text on white (AA at label sizes) */
	--kv-gold-soft: #C9AA6A;   /* gold on the dark band */
	--kv-hair: rgba(160, 122, 53, .42);
	--kv-rule: rgba(22, 19, 15, .13);
	--kv-night: #100F0D;
	--kv-display: "Literata", Georgia, "Times New Roman", serif;
	--kv-text: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--kv-ui: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--kv-gutter: clamp(20px, 5.4vw, 84px);
	--kv-max: 1280px;
	--kv-band: clamp(72px, 9vw, 140px);
	--kv-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
body.ke-v3 {
	margin: 0; background: var(--kv-paper); color: var(--kv-ink-2);
	font-family: var(--kv-text); font-size: clamp(16px, 1.12vw, 17.5px); line-height: 1.66;
	-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
	font-feature-settings: "kern", "liga", "onum";
	overflow-x: clip;
}
.ke-v3 img, .ke-v3 svg { display: block; max-width: 100%; }
.ke-v3 img { height: auto; }
.ke-v3 picture { display: block; }
:where(.ke-v3) a { color: inherit; text-decoration: none; }
:where(.ke-v3) :where(h1, h2, h3, p, figure, blockquote, ul) { margin: 0; }
:where(.ke-v3) ul { padding: 0; list-style: none; }
:where(.ke-v3) em { font-family: var(--kv-text); font-style: italic; }
.ke-v3 ::selection { background: #E9DDC3; color: var(--kv-ink); }
.ke-v3 :focus-visible { outline: 1px solid var(--kv-gold); outline-offset: 4px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ke-skip { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--kv-ink); color: var(--kv-paper); padding: 12px 18px; font-family: var(--kv-ui); font-size: 13px; }
.ke-skip:focus { left: 12px; top: 12px; }
.ke-wrap, .kv-wrap { width: min(var(--kv-max), 100% - 2 * var(--kv-gutter)); margin-inline: auto; }
.kv-band { position: relative; padding: var(--kv-band) 0; }

/* ---------- Type ---------- */
.kv-label { display: flex; align-items: center; gap: 14px; margin: 0 0 clamp(20px, 2vw, 30px); font-family: var(--kv-ui); font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--kv-ink); line-height: 1.4; }
.kv-label__rule { flex: 0 0 auto; width: 34px; height: 1px; background: var(--kv-gold); }
.kv-label--light { color: #EDE7DA; }
.kv-label--light .kv-label__rule { background: var(--kv-gold-soft); }
.kv-h2 { font-family: var(--kv-display); font-weight: 400; font-size: clamp(36px, 4.1vw, 62px); line-height: 1.04; letter-spacing: -.012em; color: var(--kv-ink); text-wrap: balance; }
.kv-h2 em { letter-spacing: -.02em; }
.kv-lede { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.6; color: var(--kv-ink-2); max-width: 36em; }

.kv-head { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: end; gap: 32px clamp(32px, 5vw, 96px); padding-bottom: clamp(28px, 3vw, 44px); margin-bottom: clamp(40px, 4.4vw, 68px); border-bottom: 1px solid var(--kv-rule); }
.kv-head__aside { font-style: italic; font-size: clamp(16px, 1.2vw, 18.5px); line-height: 1.55; color: var(--kv-muted); max-width: 25em; justify-self: end; }

/* ---------- Buttons ---------- */
.kv-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; padding: 17px 22px 17px 24px; font-family: var(--kv-ui); font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; line-height: 1.2; border: 1px solid var(--kv-ink); border-radius: 0; white-space: nowrap; transition: background .3s var(--kv-ease), color .3s, border-color .3s; }
.kv-btn__arrow { flex: 0 0 auto; transition: transform .35s var(--kv-ease); }
.kv-btn:hover .kv-btn__arrow { transform: translateX(4px); }
.kv-btn--down .kv-btn__arrow { transform: rotate(90deg); }
.kv-btn--down:hover .kv-btn__arrow { transform: rotate(90deg) translateX(3px); }
.kv-btn--ink { background: var(--kv-ink); color: var(--kv-paper); }
.kv-btn--ink:hover { background: #2E2922; border-color: #2E2922; }
.kv-btn--line { background: transparent; color: var(--kv-ink); }
.kv-btn--line:hover { background: var(--kv-ink); color: var(--kv-paper); }
.kv-btn--ivory { background: var(--kv-paper); border-color: var(--kv-paper); color: var(--kv-ink); }
.kv-btn--ivory:hover { background: #fff; }
.kv-btn--text { border: 0; padding: 6px 0; gap: 14px; border-bottom: 1px solid var(--kv-hair); }
.kv-btn--text:hover { border-bottom-color: var(--kv-ink); }

/* ==========================================================================
   Header (front page)
   ========================================================================== */
.ke-v3 .ke-header { position: sticky; top: 0; z-index: 50; background: rgba(250, 248, 243, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--kv-rule); }
.ke-v3 .ke-header__in { display: flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 84px; transition: min-height .35s var(--kv-ease); }
.ke-v3 .ke-header.is-scrolled .ke-header__in { min-height: 66px; }
.ke-v3 .ke-brand { display: inline-flex; flex-direction: column; gap: 5px; color: var(--kv-ink); }
.ke-v3 .ke-brand__name { font-family: var(--kv-display); font-size: clamp(20px, 1.7vw, 24px); line-height: 1; letter-spacing: .005em; white-space: nowrap; }
.ke-v3 .ke-brand__name br { display: none; }
.ke-v3 .ke-brand__sub { font-family: var(--kv-ui); font-size: 9.5px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--kv-gold-ink); }
.ke-v3 .ke-brand__logo { max-height: 56px; width: auto; }
.ke-v3 .ke-nav { display: flex; align-items: center; gap: clamp(24px, 2.6vw, 44px); }
.ke-v3 .ke-nav__list { display: flex; gap: clamp(22px, 2.6vw, 40px); margin: 0; padding: 0; list-style: none; }
.ke-v3 .ke-nav__list a { position: relative; padding: 6px 0; font-family: var(--kv-ui); font-size: 11.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--kv-ink-2); }
.ke-v3 .ke-nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--kv-gold); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--kv-ease); }
.ke-v3 .ke-nav__list a:hover { color: var(--kv-ink); }
.ke-v3 .ke-nav__list a:hover::after { transform: scaleX(1); }
.ke-v3 .ke-nav__cta { display: inline-flex; align-items: center; gap: 12px; padding: 12px 16px 12px 18px; font-family: var(--kv-ui); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--kv-ink); border: 1px solid var(--kv-ink); transition: background .3s, color .3s; }
.ke-v3 .ke-nav__cta:hover { background: var(--kv-ink); color: var(--kv-paper); }
.ke-v3 .ke-nav-toggle { display: none; }

@media (max-width: 900px) {
	/* backdrop-filter would make the header the containing block of the fixed overlay nav */
	.ke-v3 .ke-header { background: var(--kv-paper); -webkit-backdrop-filter: none; backdrop-filter: none; }
	.ke-v3 .ke-header__in { min-height: 68px; }
	.ke-v3 .ke-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--kv-rule); background: transparent; cursor: pointer; position: relative; z-index: 60; }
	.ke-v3 .ke-nav-toggle__bars, .ke-v3 .ke-nav-toggle__bars::before { display: block; width: 18px; height: 1px; background: var(--kv-ink); position: relative; transition: transform .3s var(--kv-ease); }
	.ke-v3 .ke-nav-toggle__bars { transform: translateY(-3px); }
	.ke-v3 .ke-nav-toggle__bars::before { content: ""; position: absolute; top: 6px; left: 0; }
	.ke-v3 .ke-nav-toggle[aria-expanded="true"] .ke-nav-toggle__bars { transform: translateY(0) rotate(45deg); }
	.ke-v3 .ke-nav-toggle[aria-expanded="true"] .ke-nav-toggle__bars::before { transform: translateY(-6px) rotate(-90deg); }
	.ke-v3 .ke-nav { position: fixed; inset: 0; z-index: 55; flex-direction: column; align-items: flex-start; justify-content: center; gap: 40px; padding: 100px var(--kv-gutter) 48px; background: var(--kv-paper); opacity: 0; visibility: hidden; transition: opacity .35s var(--kv-ease), visibility .35s; }
	.ke-v3 .ke-nav.is-open { opacity: 1; visibility: visible; }
	.ke-v3 .ke-nav__list { flex-direction: column; gap: 4px; }
	.ke-v3 .ke-nav__list a { font-family: var(--kv-display); font-size: 40px; letter-spacing: 0; text-transform: none; color: var(--kv-ink); line-height: 1.25; }
	.ke-v3 .ke-nav__list a::after { display: none; }
	body.ke-v3.ke-nav-open { overflow: hidden; }
}

/* ==========================================================================
   Hero + merkaba watermark
   ========================================================================== */
.kv-hero { position: relative; overflow: hidden; isolation: isolate; background: var(--kv-paper); padding: clamp(48px, 6vw, 96px) 0 clamp(64px, 7vw, 112px); border-bottom: 1px solid var(--kv-rule); }
.ke-merkaba { width: 100%; height: auto; }
.kv-hero__mark { position: absolute; z-index: -1; top: 52%; right: calc(max(var(--kv-gutter), (100vw - var(--kv-max)) / 2) + min(520px, 36vw) - 40px); width: clamp(640px, 76vw, 1120px); transform: translate(50%, -50%); opacity: .26; pointer-events: none; }
.kv-hero__grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); align-items: center; gap: clamp(40px, 5vw, 96px); }
.kv-hero__title { font-family: var(--kv-display); font-weight: 400; font-size: clamp(46px, 6.2vw, 96px); line-height: .98; letter-spacing: -.02em; color: var(--kv-ink); }
.kv-hero__title em { display: block; margin-top: .34em; font-size: .5em; line-height: 1.15; letter-spacing: -.01em; color: var(--kv-ink-2); padding-top: .55em; border-top: 1px solid var(--kv-hair); max-width: 15em; }
.kv-hero__sub { margin-top: clamp(26px, 2.6vw, 38px); font-size: clamp(17px, 1.3vw, 20px); line-height: 1.6; color: var(--kv-ink-2); max-width: 33em; }
.kv-hero__body { margin-top: 14px; font-style: italic; font-size: clamp(17px, 1.3vw, 20px); color: var(--kv-ink); }
.kv-hero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 34px; margin-top: clamp(30px, 3vw, 44px); }
.kv-hero__portrait { position: relative; justify-self: end; width: min(100%, 520px); }
.kv-hero__plate { position: relative; }
.kv-hero__plate::before { content: ""; position: absolute; inset: -16px 16px 16px -16px; border: 1px solid var(--kv-gold); pointer-events: none; }
.kv-hero__plate::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(22, 19, 15, .06); pointer-events: none; }
.kv-hero__img img { position: relative; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; background: #E9E3D7; }
.kv-hero__caption { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--kv-rule); font-family: var(--kv-ui); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--kv-muted); }
.kv-hero__name { color: var(--kv-ink); font-weight: 600; white-space: nowrap; }
.kv-hero__roles { text-align: right; }

/* ==========================================================================
   Three doors
   ========================================================================== */
.kv-doors { background: var(--kv-white); }
.kv-doors__grid, .kv-optins__grid { --kv-col-gap: clamp(40px, 5.2vw, 88px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--kv-col-gap); }
.kv-door + .kv-door::before, .kv-optin + .kv-optin::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--kv-col-gap) / -2); width: 1px; background: var(--kv-rule); }
.kv-door { position: relative; display: flex; flex-direction: column; }
.kv-door__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 26px; color: var(--kv-gold); }
.kv-icon { width: 54px; height: 54px; }
.kv-door__num { font-family: var(--kv-text); font-style: italic; font-size: 15px; color: var(--kv-muted); letter-spacing: .04em; }
.kv-door__name { font-family: var(--kv-display); font-weight: 400; font-size: clamp(36px, 3.3vw, 50px); line-height: 1; letter-spacing: -.01em; color: var(--kv-ink); }
.kv-door__name a:hover { color: var(--kv-gold-ink); }
.kv-door__label { margin-top: 12px; font-family: var(--kv-ui); font-size: 10.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--kv-gold-ink); }
.kv-door__photo { display: block; position: relative; margin: 26px 0 24px; overflow: hidden; background: #EEE9DF; }
.kv-door__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: saturate(.78) contrast(1.03); transition: transform 1.2s var(--kv-ease), filter .6s; }
.kv-door--identity .kv-door__img img { object-position: 46% 50%; }
.kv-door--mission .kv-door__img img { object-position: 50% 60%; }
.kv-door__photo:hover img, .kv-door:hover .kv-door__img img { transform: scale(1.025); filter: saturate(.92) contrast(1.03); }
.kv-door__line { font-style: italic; font-size: clamp(18px, 1.35vw, 20.5px); line-height: 1.4; color: var(--kv-ink); }
.kv-door__for { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--kv-muted); flex: 1 0 auto; }
.kv-door__btn { margin-top: 26px; align-self: flex-start; }

/* ==========================================================================
   Proof
   ========================================================================== */
.kv-proof { background: var(--kv-paper); padding-top: clamp(64px, 7vw, 110px); }
.kv-proof__nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--kv-ink); }
.kv-proof__item { display: flex; flex-direction: column; gap: 10px; padding: clamp(26px, 2.6vw, 40px) clamp(16px, 2.4vw, 40px) 0; border-left: 1px solid var(--kv-rule); }
.kv-proof__item:first-child { border-left: 0; padding-left: 0; }
.kv-proof__num { font-family: var(--kv-display); font-size: clamp(54px, 6.4vw, 104px); line-height: .95; letter-spacing: -.025em; color: var(--kv-ink); white-space: nowrap; font-feature-settings: "lnum"; }
.kv-proof__suffix { font-size: .42em; vertical-align: .95em; margin-left: .06em; color: var(--kv-gold); }
.kv-proof__label { font-family: var(--kv-ui); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--kv-muted); }
.kv-quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 6vw, 110px); margin-top: clamp(64px, 6.4vw, 100px); }
.kv-quote { position: relative; padding-top: 34px; border-top: 1px solid var(--kv-hair); }
.kv-quote::before { content: "\201C"; position: absolute; top: 12px; left: -2px; font-family: var(--kv-display); font-size: 64px; line-height: 1; color: var(--kv-gold); }
.kv-quote blockquote p { padding-top: 22px; font-size: clamp(17px, 1.28vw, 19.5px); line-height: 1.62; color: var(--kv-ink); }
.kv-quote figcaption { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 22px; font-family: var(--kv-ui); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--kv-muted); }
.kv-quote figcaption strong { color: var(--kv-ink); font-weight: 600; }

/* ==========================================================================
   Book opt-in
   ========================================================================== */
.kv-book { background: var(--kv-white); }
.kv-book__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(40px, 7vw, 120px); }
.kv-book__cover { position: relative; display: flex; justify-content: center; padding: clamp(36px, 4.4vw, 70px) 0; background: var(--kv-paper); }
.kv-book__cover::before { content: ""; position: absolute; inset: 14px; border: 1px solid var(--kv-hair); pointer-events: none; }
.kv-book__img img { width: clamp(180px, 19vw, 290px); height: auto; filter: drop-shadow(0 28px 30px rgba(22, 19, 15, .2)) drop-shadow(0 4px 6px rgba(22, 19, 15, .12)); }
.kv-book__copy .kv-lede { margin-top: clamp(20px, 2vw, 28px); }
.kv-book__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: clamp(28px, 2.8vw, 40px); }
.kv-book__sub { margin-top: 22px; }

/* ==========================================================================
   Authority: the one dark band
   ========================================================================== */
.kv-authority { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--kv-night); color: #D9D3C6; }
.kv-authority__photo { position: relative; min-height: clamp(520px, 50vw, 760px); }
.kv-authority__img, .kv-authority__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.kv-authority__img img { object-fit: cover; object-position: 76% 30%; }
.kv-authority__mark { position: absolute; z-index: -1; right: -12%; top: 50%; width: min(860px, 62vw); transform: translateY(-50%); opacity: .14; pointer-events: none; }
.kv-authority__copy { align-self: center; padding: var(--kv-band) max(var(--kv-gutter), calc((100vw - var(--kv-max)) / 2)) var(--kv-band) clamp(40px, 6vw, 110px); }
.kv-authority__quote { font-family: var(--kv-display); font-weight: 400; font-size: clamp(32px, 3.3vw, 52px); line-height: 1.1; letter-spacing: -.012em; color: #F6F2EA; text-wrap: balance; max-width: 14em; }
.kv-authority__quote em { color: var(--kv-gold-soft); }
.kv-authority__body { margin-top: clamp(24px, 2.4vw, 34px); font-size: clamp(16.5px, 1.2vw, 18.5px); line-height: 1.66; color: #CFC8BA; max-width: 32em; }
.kv-authority__voice { margin-top: 28px; padding-left: 22px; border-left: 1px solid var(--kv-gold-soft); }
.kv-authority__voice li { font-style: italic; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.5; color: #F1ECE2; }
.kv-authority__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; margin-top: clamp(32px, 3vw, 44px); }
.kv-authority .kv-btn--text { color: #F1ECE2; border-bottom-color: rgba(201, 170, 106, .55); }
.kv-authority .kv-btn--text:hover { border-bottom-color: #F1ECE2; }

/* ==========================================================================
   Three free opt-ins
   ========================================================================== */
.kv-optins { background: var(--kv-white); }
.kv-optin { position: relative; display: flex; flex-direction: column; }
.kv-optin__tag { font-family: var(--kv-ui); font-size: 10.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--kv-gold-ink); }
.kv-optin__title { margin-top: 16px; font-family: var(--kv-display); font-weight: 400; font-size: clamp(26px, 2.2vw, 34px); line-height: 1.08; color: var(--kv-ink); }
.kv-optin__body { margin-top: 16px; font-size: 16px; line-height: 1.62; color: var(--kv-ink-2); flex: 1 0 auto; }
.kv-optin__note { margin-top: 18px; font-style: italic; font-size: 15px; color: var(--kv-muted); }
.kv-optin__btn { margin-top: 22px; align-self: flex-start; }

/* ==========================================================================
   Books
   ========================================================================== */
.kv-books { background: var(--kv-paper); }
.kv-books__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 4.6vw, 80px); align-items: start; }
.kv-books__intro .kv-lede { margin: 20px 0 24px; }
.kv-bookcard { display: flex; flex-direction: column; padding-left: clamp(24px, 3vw, 48px); border-left: 1px solid var(--kv-rule); }
.kv-bookcard__cover { display: block; align-self: flex-start; }
.kv-bookcard__img img { height: clamp(220px, 19vw, 290px); width: auto; mix-blend-mode: multiply; transition: transform .6s var(--kv-ease); }
.kv-bookcard__cover:hover img { transform: translateY(-4px); }
.kv-bookcard__copy { margin-top: 28px; }
.kv-bookcard__title { margin-top: 12px; font-family: var(--kv-display); font-weight: 400; font-size: clamp(24px, 2vw, 30px); line-height: 1.1; color: var(--kv-ink); }
.kv-bookcard__body { margin: 12px 0 22px; font-size: 15.5px; line-height: 1.6; color: var(--kv-muted); }

/* ==========================================================================
   Final call
   ========================================================================== */
.kv-final { overflow: hidden; isolation: isolate; background: var(--kv-white); border-top: 1px solid var(--kv-rule); }
.kv-final__mark { position: absolute; z-index: -1; top: 50%; right: -6%; width: clamp(480px, 46vw, 760px); transform: translateY(-50%); opacity: .26; pointer-events: none; }
.kv-final__title { font-family: var(--kv-display); font-weight: 400; font-size: clamp(42px, 5.2vw, 82px); line-height: 1; letter-spacing: -.02em; color: var(--kv-ink); max-width: 11em; text-wrap: balance; }
.kv-final .kv-lede { margin-top: clamp(22px, 2.2vw, 30px); max-width: 30em; }
.kv-final__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 34px; margin-top: clamp(32px, 3vw, 44px); }

/* ==========================================================================
   Footer (front page)
   ========================================================================== */
.ke-v3 .kx-footer { background: var(--kv-paper); border-top: 1px solid var(--kv-ink); padding: clamp(40px, 4vw, 60px) 0 28px; color: var(--kv-muted); }
.ke-v3 .kx-footer__top { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-bottom: clamp(26px, 2.6vw, 38px); }
.ke-v3 .kx-footer__nav { display: flex; flex-wrap: wrap; align-items: center; gap: 14px clamp(20px, 2.4vw, 36px); font-family: var(--kv-ui); font-size: 11.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--kv-ink-2); }
.ke-v3 .kx-footer__nav a:hover { color: var(--kv-gold-ink); }
.ke-v3 .kx-footer__touch { display: inline-flex; align-items: center; gap: 8px; }
.ke-v3 .ke-arrow { width: 10px; height: 10px; }
.ke-v3 .kx-footer__base { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding-top: 20px; border-top: 1px solid var(--kv-rule); font-family: var(--kv-ui); font-size: 12px; }
.ke-v3 .kx-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.ke-v3 .kx-footer__legal a:hover { color: var(--kv-ink); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.kv-books__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kv-books__intro { grid-column: 1 / -1; }
	.kv-bookcard:nth-child(2) { padding-left: 0; border-left: 0; }
}
@media (max-width: 900px) {
	:root { --kv-band: clamp(64px, 14vw, 96px); }
	.kv-hero { padding-top: 36px; }
	.kv-hero__grid { grid-template-columns: 1fr; gap: 56px; }
	.kv-hero__portrait { justify-self: start; width: calc(100% - 16px); margin-left: 16px; max-width: 480px; }
	.kv-hero__mark { top: auto; bottom: -4%; right: 50%; width: 150vw; transform: translate(50%, 0); opacity: .26; }
	.kv-head { grid-template-columns: 1fr; }
	.kv-head__aside { justify-self: start; }
	.kv-doors__grid, .kv-optins__grid { grid-template-columns: 1fr; }
	.kv-door + .kv-door::before, .kv-optin + .kv-optin::before { display: none; }
	.kv-door, .kv-optin { padding: 40px 0 0; border-top: 1px solid var(--kv-rule); }
	.kv-door + .kv-door, .kv-optin + .kv-optin { margin-top: 48px; }
	.kv-door:first-child, .kv-optin:first-child { padding-top: 0; border-top: 0; }
	.kv-door__photo { margin: 22px 0 20px; }
	.kv-door__img img { aspect-ratio: 5 / 4; }
	.kv-door--influence .kv-door__img img { object-position: 50% 28%; }
	.kv-proof__nums { grid-template-columns: 1fr; }
	.kv-proof__item, .kv-proof__item:first-child { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 16px; padding: 22px 0; border-left: 0; border-bottom: 1px solid var(--kv-rule); }
	.kv-proof__label { text-align: right; max-width: 14em; }
	.kv-quotes { grid-template-columns: 1fr; gap: 48px; }
	.kv-book__grid { grid-template-columns: 1fr; }
	.kv-authority { grid-template-columns: 1fr; }
	.kv-authority__photo { min-height: 0; aspect-ratio: 4 / 3; }
	.kv-authority__img img { object-position: 82% 25%; }
	.kv-authority__copy { padding: 64px var(--kv-gutter) 72px; }
	.kv-authority__mark { width: 140vw; right: -50%; top: 70%; }
	.kv-final__mark { width: 130vw; right: -60%; opacity: .2; }
	.ke-v3 .kx-footer__top { flex-direction: column; align-items: flex-start; }
	.ke-v3 .kx-footer__base { flex-direction: column; }
}
@media (max-width: 600px) {
	.kv-books__grid { grid-template-columns: 1fr; }
	.kv-bookcard, .kv-bookcard:nth-child(2) { padding: 36px 0 0; border-left: 0; border-top: 1px solid var(--kv-rule); }
	.kv-bookcard { flex-direction: row; gap: 22px; align-items: flex-start; }
	.kv-bookcard__cover { flex: 0 0 112px; }
	.kv-bookcard__img img { height: auto; width: 112px; }
	.kv-bookcard__copy { margin-top: 0; min-width: 0; }
	.kv-btn { white-space: normal; gap: 16px; letter-spacing: .13em; }
	.kv-btn:not(.kv-btn--text) { padding: 16px 18px 16px 20px; }
	.kv-hero__ctas .kv-btn--ink, .kv-book__actions .kv-btn, .kv-final__ctas .kv-btn--ink, .kv-authority__ctas .kv-btn--ivory { width: 100%; }
	.kv-hero__caption { flex-direction: column; gap: 6px; }
	.kv-hero__roles { text-align: left; }
	.kv-proof__num { font-size: 52px; }
	.ke-v3 .ke-brand__name { font-size: 19px; }
	.ke-v3 .ke-brand__sub { font-size: 8.5px; letter-spacing: .22em; }
}
