/* ==========================================================================
   Kristina Elphinstone — main stylesheet (v1.1)
   Obsidian + luminous champagne-gold editorial direct-response system,
   matched to the approved ChatGPT look-and-feel reference.
   Display: Bodoni Moda (never Cormorant Garamond). UI/body: Inter.
   ========================================================================== */

:root {
	/* Obsidian surfaces: near-true black, with barely-there tonal steps */
	--ke-obsidian: #060607;
	--ke-obsidian-2: #0A0A0C;
	--ke-charcoal: #0C0C0E;
	--ke-charcoal-2: #0F0F12;
	--ke-glass: rgba(255, 255, 255, .018);
	--ke-footer: #040405;

	/* Luminous champagne gold */
	--ke-gold-1: #E6CD8E;   /* luminous champagne: italic accents, numerals, links */
	--ke-gold-2: #D4B470;   /* hairline / dash */
	--ke-gold-3: #B8954A;   /* deep edge of the metal */
	--ke-champagne: #F0E6BF;/* proof numerals */
	--ke-gold-grad: linear-gradient(100deg, #D7B562 0%, #EDD9A0 16%, #FBF1CF 30%, #E4C985 48%, #F3E0A5 66%, #DDBE72 84%, #CFAA58 100%);
	--ke-gold-text: linear-gradient(100deg, #D2B163 0%, #F4E7BB 20%, #DABE73 40%, #EEDDA6 60%, #D9BE78 80%, #F2E3B0 100%);
	--ke-hair: rgba(226, 202, 148, .62);     /* the signature frame line */
	--ke-hair-soft: rgba(226, 202, 148, .2);
	--ke-hair-faint: rgba(226, 202, 148, .11);
	--ke-hair-neutral: rgba(240, 236, 226, .085);

	/* Type colours */
	--ke-ivory: #F6F3EC;
	--ke-stone: #BDBAB3;
	--ke-muted: #8E8B85;
	--ke-ink: #0B0B0C;
	--ke-paper: #F5F2EB;
	--ke-paper-ink: #1B1916;

	--ke-serif: "Bodoni Moda", "Bodoni 72", Didot, "Times New Roman", Georgia, serif;
	--ke-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--ke-gutter: clamp(20px, 6.1vw, 92px);
	--ke-max: 1240px;
	--ke-bleed: calc((100vw - min(var(--ke-max), 100vw - 2 * var(--ke-gutter))) / 2);
	--ke-header-h: clamp(76px, min(9.9vw, 14.4vh), 136px);
	--ke-frame-x: clamp(12px, 2.55vw, 40px);      /* distance of the gold frame from the viewport edge */
	--ke-radius-frame: clamp(22px, 3vw, 42px);
	--ke-radius-arc: clamp(60px, 7.5vw, 112px);
	--ke-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--ke-header-h) + 12px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body {
	margin: 0;
	background: var(--ke-obsidian);
	color: var(--ke-stone);
	font-family: var(--ke-sans);
	font-size: clamp(15.5px, 1.05vw, 17px);
	line-height: 1.7;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-optical-sizing: none;
	font-variation-settings: "opsz" 14;
	overflow-x: hidden;
}
img, svg, picture, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; transition: color .25s var(--ke-ease), border-color .25s var(--ke-ease), background .25s var(--ke-ease), opacity .25s; }
p { margin: 0 0 1.1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 { margin: 0; font-weight: 400; color: var(--ke-ivory); }
figure { margin: 0; }
blockquote { margin: 0; }
button { font: inherit; }
::selection { background: rgba(230, 205, 142, .35); color: #fff; }
:focus-visible { outline: 1px solid var(--ke-gold-1); 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: 12px; top: -60px; z-index: 100; background: var(--ke-gold-1); color: var(--ke-ink); padding: 10px 16px; font-size: 14px; }
.ke-skip:focus { top: 12px; }

.ke-wrap { width: min(var(--ke-max), calc(100% - 2 * var(--ke-gutter))); margin-inline: auto; position: relative; }
.ke-narrow { max-width: 780px; }
.ke-center { text-align: center; }
.ke-small { font-size: 13px; color: var(--ke-muted); margin-top: 18px; }
.ke-gold { color: var(--ke-gold-1); }

/* Gold italic emphasis: brushed, luminous champagne (the signature of the system) */
.ke-hero__title em, .ke-h2 em, .ke-h3 em, .ke-article-head__title em, .ke-welcome__task em {
	font-style: italic;
	font-weight: 400;
	color: var(--ke-gold-1);
	background: var(--ke-gold-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	padding-right: .08em;
	margin-right: -.04em;
}

/* ---------- Eyebrow ---------- */
.ke-eyebrow {
	display: flex; align-items: center; gap: 18px;
	margin: 0 0 clamp(22px, 2.3vw, 34px);
	font-size: clamp(10px, .76vw, 11.5px);
	font-weight: 500;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: #DCD6C7;
	line-height: 1.5;
}
.ke-eyebrow a:hover { color: var(--ke-gold-1); }
.ke-dash { flex: 0 0 auto; width: clamp(26px, 2.5vw, 36px); height: 1px; background: linear-gradient(90deg, var(--ke-gold-1), var(--ke-gold-2)); }
.ke-eyebrow--center { justify-content: center; }

/* ---------- Buttons ---------- */
.ke-btn {
	display: inline-flex; align-items: center; justify-content: space-between; gap: 26px;
	padding: 16px 22px;
	font-family: var(--ke-sans);
	font-size: 13.5px; font-weight: 600; letter-spacing: .005em; line-height: 1.2;
	border-radius: 2px;
	cursor: pointer;
	white-space: nowrap;
	transition: transform .3s var(--ke-ease), box-shadow .3s var(--ke-ease), background .3s, color .3s, border-color .3s, filter .3s;
}
.ke-btn .ke-arrow { flex: 0 0 auto; transition: transform .3s var(--ke-ease); }
.ke-btn:hover .ke-arrow, .ke-textlink:hover .ke-arrow, .ke-door__cta:hover .ke-arrow, .ke-card__link:hover .ke-arrow { transform: translate(2px, -2px); }
/* Brushed metallic champagne: multi-stop sheen, bright top bevel, deep lower edge */
.ke-btn--gold {
	position: relative; isolation: isolate;
	background: var(--ke-gold-grad);
	color: #0A0907;
	box-shadow:
		inset 0 1px 0 rgba(255, 252, 236, .85),
		inset 0 -1px 0 rgba(120, 86, 30, .45),
		inset 0 0 0 1px rgba(150, 115, 50, .25),
		0 14px 34px -18px rgba(230, 205, 142, .55);
}
.ke-btn--gold::before { /* faint horizontal brushing */
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
	background: repeating-linear-gradient(180deg, rgba(255,255,255,.05) 0 1px, rgba(0,0,0,.025) 1px 3px), linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 46%, rgba(0,0,0,.06) 100%);
	mix-blend-mode: soft-light;
}
.ke-btn--gold > * { position: relative; z-index: 1; }
.ke-btn--gold:hover { filter: brightness(1.05); transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 252, 236, .9), inset 0 -1px 0 rgba(120, 86, 30, .45), inset 0 0 0 1px rgba(150, 115, 50, .25), 0 20px 44px -18px rgba(230, 205, 142, .7); }
.ke-btn--lg { min-width: min(100%, 300px); padding: 20px 24px 20px 26px; font-size: 13.5px; }
.ke-btn--outline { border: 1px solid rgba(226, 202, 148, .42); color: var(--ke-ivory); background: transparent; font-weight: 500; }
.ke-btn--outline:hover { border-color: var(--ke-gold-1); background: rgba(230, 205, 142, .06); color: #fff; }
.ke-textlink { display: inline-flex; align-items: center; gap: 12px; font-size: 12.5px; color: #A9A59D; border-bottom: 1px solid transparent; padding-bottom: 2px; }
.ke-textlink:hover { color: var(--ke-gold-1); border-bottom-color: var(--ke-hair-soft); }

/* ==========================================================================
   Header
   ========================================================================== */
.ke-header { position: sticky; top: 0; z-index: 50; background: var(--ke-obsidian); transition: background .35s, backdrop-filter .35s; border-bottom: 1px solid rgba(214, 196, 150, .14); }
.ke-header.is-scrolled { background: rgba(6, 6, 7, .86); -webkit-backdrop-filter: blur(14px) saturate(120%); backdrop-filter: blur(14px) saturate(120%); }
.ke-header__in { display: flex; align-items: center; justify-content: space-between; gap: 32px; min-height: var(--ke-header-h); transition: min-height .35s var(--ke-ease); }
.ke-header.is-scrolled .ke-header__in { min-height: calc(var(--ke-header-h) * .66); }
.ke-brand { display: inline-flex; flex-direction: column; gap: 12px; color: var(--ke-ivory); }
.ke-brand__name { font-family: var(--ke-serif); font-size: clamp(22px, 2.2vw, 31px); line-height: .98; letter-spacing: 0; font-weight: 400; }
.ke-brand__sub { font-size: clamp(7.5px, .62vw, 9px); letter-spacing: .24em; text-transform: uppercase; color: #8C877B; font-weight: 500; }
.ke-brand__logo { max-height: 64px; width: auto; }
.ke-nav { display: flex; align-items: center; gap: clamp(28px, 2.6vw, 40px); }
.ke-nav__list { display: flex; gap: clamp(22px, 2.6vw, 38px); }
.ke-nav__list a { font-size: 12.5px; color: #A3A09A; letter-spacing: .015em; position: relative; padding: 6px 0; }
.ke-nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--ke-gold-2); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ke-ease); }
.ke-nav__list a:hover, .ke-nav__list .current-menu-item a { color: var(--ke-ivory); }
.ke-nav__list a:hover::after, .ke-nav__list .current-menu-item a::after { transform: scaleX(1); }
.ke-nav__cta { padding: 14px 18px 14px 20px; font-size: 12.5px; gap: 12px; border-color: rgba(212, 179, 108, .42); color: #EDE8DC; }
.ke-nav-toggle { display: none; }
.ke-header__back { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ke-muted); }
.ke-header__back:hover { color: var(--ke-gold-1); }

@media (max-width: 900px) {
	.ke-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 1px solid var(--ke-hair-soft); background: transparent; border-radius: 2px; cursor: pointer; position: relative; z-index: 60; }
	.ke-nav-toggle__bars, .ke-nav-toggle__bars::before { display: block; width: 18px; height: 1px; background: var(--ke-ivory); position: relative; transition: transform .3s var(--ke-ease); }
	.ke-nav-toggle__bars { transform: translateY(-3px); }
	.ke-nav-toggle__bars::before { content: ""; position: absolute; top: 6px; left: 0; }
	.ke-nav-toggle[aria-expanded="true"] .ke-nav-toggle__bars { transform: translateY(0) rotate(45deg); }
	.ke-nav-toggle[aria-expanded="true"] .ke-nav-toggle__bars::before { transform: translateY(-6px) rotate(-90deg); }
	.ke-nav { position: fixed; inset: 0; z-index: 55; flex-direction: column; align-items: flex-start; justify-content: center; gap: 44px; padding: 110px var(--ke-gutter) 48px; background: var(--ke-obsidian); opacity: 0; visibility: hidden; transition: opacity .35s var(--ke-ease), visibility .35s; }
	.ke-nav.is-open { opacity: 1; visibility: visible; }
	.ke-nav__list { flex-direction: column; gap: 6px; }
	.ke-nav__list a { font-family: var(--ke-serif); font-size: 40px; color: var(--ke-ivory); line-height: 1.25; }
	.ke-nav__list a::after { display: none; }
	.ke-header__back { font-size: 10.5px; }
	body.ke-nav-open { overflow: hidden; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.ke-hero { position: relative; z-index: 3; background: var(--ke-obsidian); overflow-x: clip; overflow-y: visible; isolation: isolate; }
.ke-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
	grid-template-areas: "copy portrait" "proof proof";
	column-gap: clamp(24px, 3vw, 48px);
	padding-top: clamp(32px, min(4.5vw, 6.4vh), 66px);
}
.ke-hero__copy { grid-area: copy; position: relative; z-index: 2; padding-bottom: clamp(28px, 3.2vw, 46px); align-self: start; max-width: 660px; }
.ke-hero__title {
	font-family: var(--ke-serif);
	font-weight: 400;
	font-size: clamp(44px, 6.3vw, 92px);
	line-height: 1;
	letter-spacing: -.022em;
	font-variation-settings: "opsz" 14;
	color: var(--ke-ivory);
	margin: 0 0 clamp(20px, 2.3vw, 34px);
	text-wrap: balance;
}
.ke-hero__title em { display: inline; }
/* Per-option sizing so each headline keeps the reference rhythm (big display, generous air) */
.ke-hero__title--a { font-size: clamp(32px, min(3.75vw, 5.45vh), 56px); line-height: 1.05; }
.ke-hero__title--a em { display: block; }
.ke-hero__title--b { font-size: clamp(36px, min(4.35vw, 6.3vh), 64px); line-height: 1.04; }
.ke-hero__title--c { font-size: clamp(44px, min(6.3vw, 9.1vh), 92px); }
.ke-hero__title--c em { display: block; }
.ke-hero__sub {
	font-family: var(--ke-serif);
	font-size: clamp(22px, min(2.75vw, 4vh), 40px);
	line-height: 1.2;
	color: var(--ke-ivory);
	margin: 0 0 clamp(16px, 1.7vw, 26px);
	max-width: 15em;
	text-wrap: balance;
}
.ke-hero__title--a + .ke-hero__sub { font-size: clamp(20px, min(2.05vw, 3vh), 30px); max-width: 17em; }
.ke-hero__title--b + .ke-hero__sub { font-size: clamp(21px, 2.3vw, 34px); max-width: 16em; }
.ke-hero__body { max-width: 31em; color: #BEBBB5; font-size: clamp(14px, 1.05vw, 15.5px); line-height: 1.8; margin-bottom: clamp(24px, 2.3vw, 34px); }
.ke-hero__ctas { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.ke-hero__note { margin-top: 18px; font-size: 13px; color: var(--ke-muted); }

/* Portrait: fills the right half from the header line to the viewport edge, melting into obsidian */
.ke-hero__portrait {
	grid-area: portrait;
	position: relative;
	z-index: 1;
	margin-right: calc(-1 * var(--ke-bleed));
	margin-left: clamp(-120px, -7vw, -24px);
	margin-top: calc(-1 * clamp(32px, min(4.5vw, 6.4vh), 66px));
	min-height: 100%;
	align-self: stretch;
	overflow: hidden;
}
.ke-hero__img, .ke-hero__img img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ke-hero__img img {
	object-fit: cover;
	object-position: 50% 8%;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 9%, rgba(0,0,0,.62) 20%, #000 36%), linear-gradient(0deg, transparent 0%, rgba(0,0,0,.35) 8%, rgba(0,0,0,.85) 22%, #000 34%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 9%, rgba(0,0,0,.62) 20%, #000 36%), linear-gradient(0deg, transparent 0%, rgba(0,0,0,.35) 8%, rgba(0,0,0,.85) 22%, #000 34%);
	mask-composite: intersect;
	filter: contrast(1.04) brightness(.97);
}
.ke-hero__portrait::after { /* moody studio falloff: deepen the room, keep the face lit */
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(6, 6, 7, .55) 0%, rgba(6, 6, 7, .2) 24%, rgba(6, 6, 7, 0) 44%),
		radial-gradient(60% 50% at 18% 12%, rgba(6, 6, 7, .5) 0%, rgba(6, 6, 7, 0) 100%),
		radial-gradient(48% 38% at 96% 96%, rgba(6, 6, 7, .55) 0%, rgba(6, 6, 7, 0) 100%),
		linear-gradient(0deg, rgba(6, 6, 7, .35) 0%, rgba(6, 6, 7, 0) 30%);
}
.ke-hero__inset { display: none; }
.ke-hero__caption {
	position: absolute; z-index: 3;
	right: calc(var(--ke-frame-x) + clamp(26px, 4.4vw, 66px));
	bottom: clamp(36px, 4.6vw, 68px);
	display: flex; flex-direction: column; align-items: flex-end; text-align: right;
	padding: 18px 0 0 40px;
	text-shadow: 0 1px 18px rgba(0, 0, 0, .45);
}
.ke-hero__caption::before { /* soft scrim so the lines read without looking pasted on */
	content: ""; position: absolute; z-index: -1; inset: -30% -40% -40% -30%; pointer-events: none;
	background: radial-gradient(closest-side, rgba(6, 6, 7, .38), rgba(6, 6, 7, 0));
}
.ke-hero__caption-name { font-size: clamp(8.5px, .62vw, 10px); letter-spacing: .24em; text-transform: uppercase; color: rgba(255, 248, 232, .72); margin-bottom: 12px; }
.ke-hero__caption-line { font-family: var(--ke-serif); font-size: clamp(17px, 1.78vw, 25px); line-height: 1.18; color: #fff; }

/* Proof strip: big champagne numerals with the label sitting beside them */
.ke-proof {
	grid-area: proof;
	position: relative; z-index: 2;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: clamp(16px, 2vw, 32px);
	border-top: 1px solid rgba(226, 214, 180, .16);
	padding: clamp(20px, 1.9vw, 28px) 0 clamp(30px, 3.4vw, 48px);
}
.ke-proof__item { display: flex; align-items: center; gap: clamp(12px, 1.2vw, 18px); }
.ke-proof__num { font-family: var(--ke-serif); font-variation-settings: "opsz" 14; font-size: clamp(32px, 3.75vw, 54px); line-height: 1; color: var(--ke-champagne); letter-spacing: -.01em; white-space: nowrap; }
.ke-proof__suffix { color: var(--ke-champagne); font-size: .78em; margin-left: .04em; vertical-align: .1em; font-variation-settings: "opsz" 8; font-weight: 500; }
.ke-proof__label { font-size: clamp(10px, .82vw, 12px); line-height: 1.45; color: #94938F; letter-spacing: .01em; }

/* The signature champagne hairline frame.
   Emerges from the header line with a wide arc at the top right, runs down the right edge,
   turns the bottom-right corner, runs under the proof strip, then curls down into the next section. */
.ke-hero__frame {
	position: absolute; z-index: 4; pointer-events: none;
	top: 0;
	right: var(--ke-frame-x);
	bottom: clamp(8px, 1.1vw, 16px);
	left: calc(var(--ke-frame-x) + var(--ke-radius-frame));
	border: 1px solid var(--ke-hair);
	border-left: 0;
	border-radius: 0 var(--ke-radius-arc) var(--ke-radius-frame) 0;
	/* top edge only shows where it peels away from the header line; right + bottom edges stay crisp */
	-webkit-mask-image: linear-gradient(to left, #000 0, #000 calc(var(--ke-radius-arc) * .9), transparent calc(var(--ke-radius-arc) * 2.4)), linear-gradient(to bottom, transparent 0, transparent 2px, #000 2px);
	mask-image: linear-gradient(to left, #000 0, #000 calc(var(--ke-radius-arc) * .9), transparent calc(var(--ke-radius-arc) * 2.4)), linear-gradient(to bottom, transparent 0, transparent 2px, #000 2px);
	-webkit-mask-composite: source-over;
	mask-composite: add;
	filter: drop-shadow(0 0 6px rgba(230, 205, 142, .18));
}
.ke-hero__frame::before { /* inner square corner, a fine echo just inside the arc */
	content: ""; position: absolute;
	top: clamp(14px, 1.7vw, 24px); right: 3px;
	width: clamp(90px, 10vw, 150px); height: 34%;
	border-top: 1px solid rgba(226, 202, 148, .38); border-right: 1px solid rgba(226, 202, 148, .38);
	-webkit-mask-image: linear-gradient(to left, #000 30%, transparent 100%), linear-gradient(to bottom, #000 0, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to left, #000 30%, transparent 100%), linear-gradient(to bottom, #000 0, transparent 100%);
	mask-composite: intersect;
}
/* The bottom-left curl that carries the frame line down into the next section (outside the frame's mask) */
.ke-hero::after {
	content: ""; position: absolute; z-index: 4; pointer-events: none;
	left: var(--ke-frame-x);
	top: calc(100% - clamp(8px, 1.1vw, 16px) - 1px);
	width: calc(var(--ke-radius-frame) + 1px);
	height: calc(var(--ke-radius-frame) + clamp(70px, 10vw, 160px));
	border-top: 1px solid var(--ke-hair); border-left: 1px solid var(--ke-hair);
	border-top-left-radius: var(--ke-radius-frame);
	-webkit-mask-image: linear-gradient(to bottom, #000 0, #000 28%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 0, #000 28%, transparent 100%);
	filter: drop-shadow(0 0 6px rgba(230, 205, 142, .18));
}

/* Inner-page hero variants */
.ke-hero--page .ke-hero__grid { grid-template-areas: "copy portrait"; padding-bottom: clamp(48px, 5.6vw, 90px); }
.ke-hero--page .ke-hero__title { font-size: clamp(38px, 4.6vw, 70px); line-height: 1.03; }
.ke-hero--page .ke-hero__copy { align-self: center; }
.ke-hero--page .ke-hero__sub { font-size: clamp(20px, min(2.05vw, 3vh), 30px); max-width: 19em; }
.ke-hero--page .ke-hero__portrait { min-height: clamp(380px, 42vw, 640px); }
.ke-hero--page .ke-hero__img img { -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.5) 14%, #000 34%), linear-gradient(0deg, transparent 0%, #000 26%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.5) 14%, #000 34%), linear-gradient(0deg, transparent 0%, #000 26%); }
.ke-hero--noimg .ke-wrap { padding-top: clamp(64px, 7vw, 120px); padding-bottom: clamp(80px, 8.6vw, 140px); }
.ke-hero--noimg .ke-hero__grid { display: block; padding: 0; }
.ke-hero--noimg .ke-hero__title { max-width: 16em; }
.ke-hero--noimg .ke-hero__copy { max-width: 820px; }
.ke-hero--compact .ke-wrap { padding-top: clamp(52px, 5.4vw, 92px); padding-bottom: clamp(64px, 6.4vw, 104px); }
.ke-hero--welcome .ke-prose--dark { margin-top: 10px; }

@media (max-width: 900px) {
	:root { --ke-header-h: 76px; --ke-frame-x: 10px; --ke-radius-arc: 44px; --ke-radius-frame: 20px; }
	.ke-hero__grid { grid-template-columns: 1fr; grid-template-areas: "portrait" "copy" "proof"; padding-top: 0; }
	.ke-hero__portrait { margin: 0 calc(-1 * var(--ke-gutter)); height: min(98vw, 440px); min-height: 0; }
	.ke-hero__img img {
		object-position: 58% 10%;
		-webkit-mask-image: linear-gradient(to top, transparent 0%, rgba(0,0,0,.6) 16%, #000 40%);
		mask-image: linear-gradient(to top, transparent 0%, rgba(0,0,0,.6) 16%, #000 40%);
		-webkit-mask-composite: source-over; mask-composite: add;
	}
	.ke-hero__portrait::after { background: linear-gradient(0deg, rgba(6,6,7,.4) 0%, rgba(6,6,7,0) 34%), radial-gradient(70% 50% at 10% 10%, rgba(6,6,7,.45), rgba(6,6,7,0)); }
	.ke-hero__caption { display: none; }
	.ke-hero__copy { margin-top: -54px; padding-bottom: 30px; max-width: none; }
	.ke-hero__title, .ke-hero__title--c { font-size: clamp(40px, 11.6vw, 54px); }
	.ke-hero__title--a { font-size: clamp(30px, 8.3vw, 40px); }
	.ke-hero__title--b { font-size: clamp(34px, 9.6vw, 46px); }
	.ke-hero__sub, .ke-hero__title--a + .ke-hero__sub, .ke-hero__title--b + .ke-hero__sub { font-size: clamp(20px, 5.6vw, 25px); }
	.ke-hero__body { font-size: 15px; line-height: 1.7; margin-bottom: 24px; }
	.ke-eyebrow { margin-bottom: 18px; }
	.ke-hero__ctas { align-items: stretch; }
	.ke-btn--lg { width: 100%; }
	.ke-proof { gap: 10px; padding: 22px 0 40px; }
	.ke-proof__item { flex-direction: column; align-items: flex-start; gap: 8px; }
	.ke-proof__num { font-size: clamp(26px, 7.6vw, 34px); }
	.ke-proof__label br { display: none; }
	.ke-hero--page .ke-hero__grid { grid-template-areas: "portrait" "copy"; }
	.ke-hero--page .ke-hero__portrait { height: min(96vw, 440px); min-height: 0; }
	.ke-hero__frame::before { display: none; }
}

/* ==========================================================================
   Sections
   ========================================================================== */
.ke-section { position: relative; padding: clamp(80px, 9.5vw, 150px) 0; background: var(--ke-obsidian); }
.ke-section--charcoal { background: linear-gradient(180deg, var(--ke-charcoal) 0%, var(--ke-charcoal-2) 100%); }
.ke-section + .ke-section::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(var(--ke-max), calc(100% - 2 * var(--ke-gutter))); height: 1px; background: linear-gradient(90deg, transparent, var(--ke-hair-soft) 20%, var(--ke-hair-soft) 80%, transparent); }
.ke-section__head { max-width: 860px; margin-bottom: clamp(44px, 5vw, 76px); }
.ke-section__head--center { margin-inline: auto; text-align: center; }
.ke-section__head--split { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.ke-h2 { font-family: var(--ke-serif); font-size: clamp(31px, 3.55vw, 56px); line-height: 1.1; letter-spacing: -.01em; color: var(--ke-ivory); margin: 0 0 clamp(20px, 2vw, 28px); text-wrap: balance; }
.ke-h2--xl { font-size: clamp(36px, 4.6vw, 74px); line-height: 1.04; }
.ke-h3 { font-family: var(--ke-serif); font-size: clamp(24px, 2.2vw, 34px); margin-bottom: 18px; color: var(--ke-ivory); }
.ke-lede { font-size: clamp(16px, 1.2vw, 19px); color: var(--ke-stone); max-width: 40em; }
.ke-section__head--center .ke-lede { margin-inline: auto; }
.ke-body-lg { font-size: clamp(16.5px, 1.2vw, 19px); line-height: 1.7; color: var(--ke-stone); }
.ke-pull { font-family: var(--ke-serif); font-style: italic; font-size: clamp(20px, 1.7vw, 26px); line-height: 1.4; color: var(--ke-ivory); border-left: 1px solid var(--ke-gold-2); padding-left: clamp(18px, 1.8vw, 28px); margin: clamp(26px, 2.6vw, 40px) 0; }
.ke-center-cta { text-align: center; margin: clamp(40px, 4vw, 64px) 0 0; }

.ke-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 110px); align-items: start; }

/* Ledger lists */
.ke-ledger { margin: 0 0 28px; border-top: 1px solid var(--ke-hair-neutral); }
.ke-ledger li { padding: 16px 0 16px 34px; border-bottom: 1px solid var(--ke-hair-neutral); position: relative; color: var(--ke-ivory); font-size: clamp(15.5px, 1.1vw, 17.5px); line-height: 1.5; }
.ke-ledger li::before { content: ""; position: absolute; left: 0; top: 50%; width: 16px; height: 1px; background: var(--ke-gold-2); }
.ke-ledger--check li::before { width: 9px; height: 5px; top: calc(50% - 4px); background: none; border-left: 1px solid var(--ke-gold-1); border-bottom: 1px solid var(--ke-gold-1); transform: rotate(-45deg); }
.ke-ledger--sm li { font-size: 14.5px; padding-block: 12px; color: var(--ke-stone); }
.ke-ledger a { color: var(--ke-gold-1); }

/* Problem */
.ke-problem__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: start; }
.ke-problem__kicker { font-family: var(--ke-serif); font-style: italic; font-size: clamp(19px, 1.5vw, 23px); color: var(--ke-gold-1); }
.ke-problem__turn { padding-top: clamp(0px, 4.2vw, 64px); }
.ke-voice { margin: clamp(26px, 3vw, 44px) 0; }
.ke-voice p { font-family: var(--ke-serif); font-size: clamp(28px, 2.8vw, 44px); line-height: 1.14; color: var(--ke-ivory); margin: 0 0 .32em; }
.ke-voice p:nth-child(2) { padding-left: .9em; }
.ke-voice p:nth-child(3) { padding-left: 1.8em; font-style: italic; background: var(--ke-gold-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ke-voice--sm p { font-size: clamp(22px, 2vw, 30px); padding-left: 0 !important; }
.ke-problem__close { font-size: 13px; text-transform: uppercase; letter-spacing: .18em; color: var(--ke-gold-1); margin-bottom: 30px; }

/* Doors */
.ke-doors { background: radial-gradient(90% 60% at 50% 0%, #121216 0%, var(--ke-obsidian) 70%); }
.ke-doors__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--ke-hair-soft); border-radius: 2px; }
.ke-door { position: relative; display: flex; flex-direction: column; padding: clamp(32px, 3.4vw, 54px) clamp(26px, 2.8vw, 46px) clamp(30px, 3vw, 44px); transition: background .4s var(--ke-ease); }
.ke-door + .ke-door { border-left: 1px solid var(--ke-hair-soft); }
.ke-door::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 1px; background: var(--ke-gold-grad); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ke-ease); }
.ke-door:hover { background: linear-gradient(180deg, rgba(223, 196, 132, .045), transparent 60%); }
.ke-door:hover::before { transform: scaleX(1); }
.ke-door__num { font-family: var(--ke-serif); font-style: italic; font-size: 22px; color: var(--ke-gold-1); margin-bottom: 26px; }
.ke-door__name { font-family: var(--ke-serif); font-size: clamp(34px, 3.2vw, 50px); line-height: 1; margin-bottom: 14px; }
.ke-door__verb { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ke-gold-2); margin-bottom: 26px; }
.ke-door__line { font-family: var(--ke-serif); font-style: italic; font-size: clamp(19px, 1.5vw, 23px); line-height: 1.35; color: var(--ke-ivory); }
.ke-door__body { font-size: 15px; color: var(--ke-stone); }
.ke-door__list { margin: 10px 0 34px; border-top: 1px solid var(--ke-hair-neutral); }
.ke-door__list li { padding: 11px 0; border-bottom: 1px solid var(--ke-hair-neutral); font-size: 14px; color: var(--ke-ivory); }
.ke-door__cta { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border: 1px solid var(--ke-hair); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--ke-ivory); }
.ke-door__cta:hover { border-color: var(--ke-gold-1); color: var(--ke-gold-1); background: rgba(223, 196, 132, .05); }
.ke-door--mission .ke-door__cta { border-style: dashed; }

/* About */
.ke-about__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 110px); align-items: center; }
.ke-about__portrait { position: relative; aspect-ratio: 970 / 941; }
.ke-about__portrait::before { content: ""; position: absolute; inset: -14px 14px 14px -14px; border: 1px solid var(--ke-hair-soft); border-radius: 0 var(--ke-radius-frame) 0 0; }
.ke-about__img img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; position: relative; -webkit-mask-image: linear-gradient(to top, transparent 0%, #000 22%); mask-image: linear-gradient(to top, transparent 0%, #000 22%); }
.ke-about__copy p { color: var(--ke-stone); }
.ke-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 36px; }
.ke-tags li { border: 1px solid var(--ke-hair-neutral); padding: 7px 12px; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ke-stone); border-radius: 1px; }

/* Testimonials */
.ke-testimonials__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
.ke-quote { position: relative; padding: clamp(34px, 3.4vw, 56px); border: 1px solid var(--ke-hair-soft); border-radius: 0 0 var(--ke-radius-frame) 0; background: linear-gradient(160deg, rgba(255,255,255,.018), transparent 50%); }
.ke-quote__mark { position: absolute; top: clamp(8px, 1vw, 14px); left: clamp(26px, 3vw, 48px); font-family: var(--ke-serif); font-size: 90px; line-height: 1; color: var(--ke-gold-2); opacity: .55; }
.ke-quote blockquote p { font-family: var(--ke-serif); font-size: clamp(18px, 1.45vw, 22px); line-height: 1.55; color: var(--ke-ivory); margin: 30px 0 30px; }
.ke-quote figcaption { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--ke-hair-neutral); padding-top: 18px; }
.ke-quote figcaption strong { font-weight: 500; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--ke-gold-1); }
.ke-quote figcaption span { font-size: 14px; color: var(--ke-muted); }

/* Writing / cards */
.ke-writing__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: 1px; background: var(--ke-hair-neutral); border: 1px solid var(--ke-hair-neutral); }
.ke-card { background: var(--ke-charcoal); }
.ke-card--featured { grid-row: span 2; }
.ke-card__link { display: flex; flex-direction: column; height: 100%; padding: clamp(26px, 2.6vw, 40px); }
.ke-card__link:hover { background: rgba(223, 196, 132, .035); }
.ke-card__media { display: block; margin: calc(-1 * clamp(26px, 2.6vw, 40px)) calc(-1 * clamp(26px, 2.6vw, 40px)) 28px; overflow: hidden; aspect-ratio: 16 / 10; }
.ke-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); transition: transform .8s var(--ke-ease); }
.ke-card__link:hover .ke-card__media img { transform: scale(1.03); }
.ke-card__meta { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ke-muted); margin-bottom: 14px; }
.ke-card__title { font-family: var(--ke-serif); font-size: clamp(20px, 1.6vw, 25px); line-height: 1.25; color: var(--ke-ivory); margin-bottom: 18px; }
.ke-card--featured .ke-card__title { font-size: clamp(26px, 2.3vw, 36px); }
.ke-card__excerpt { color: var(--ke-stone); font-size: 15.5px; }
.ke-card__more { margin-top: auto; display: inline-flex; align-items: center; gap: 10px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ke-gold-1); }
.ke-writing__grid--index { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ke-writing__grid--index .ke-card--featured { grid-column: span 2; grid-row: span 2; }
.ke-pagination { margin-top: 48px; display: flex; gap: 18px; justify-content: center; font-size: 14px; }
.ke-pagination .current { color: var(--ke-gold-1); }

/* Final CTA */
.ke-final { overflow: hidden; }
.ke-final__frame { position: absolute; inset: clamp(26px, 3vw, 48px) clamp(12px, 2.1vw, 32px) auto; height: 70%; border: 1px solid var(--ke-hair); border-bottom: 0; border-radius: var(--ke-radius-frame) var(--ke-radius-frame) 0 0; -webkit-mask-image: linear-gradient(to bottom, #000 0, transparent 85%); mask-image: linear-gradient(to bottom, #000 0, transparent 85%); pointer-events: none; }
.ke-final__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); align-items: stretch; }
.ke-choice { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(30px, 3vw, 46px); border: 1px solid var(--ke-hair-neutral); background: var(--ke-obsidian-2); }
.ke-choice--featured { border-color: var(--ke-hair); background: linear-gradient(180deg, #15130F 0%, var(--ke-obsidian-2) 70%); box-shadow: 0 30px 80px -40px rgba(201, 164, 92, .35); }
.ke-choice__tag { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ke-gold-1); }
.ke-choice__title { font-family: var(--ke-serif); font-size: clamp(22px, 1.9vw, 29px); line-height: 1.2; margin-bottom: 14px; }
.ke-choice__body { font-size: 15px; color: var(--ke-stone); margin-bottom: 30px; }
.ke-choice .ke-btn { margin-top: auto; width: 100%; }

/* ---------- Inner page components ---------- */
.ke-diffs { margin: 0; border-top: 1px solid var(--ke-hair-soft); }
.ke-diffs > div { padding: 24px 0; border-bottom: 1px solid var(--ke-hair-soft); }
.ke-diffs dt { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--ke-gold-1); margin-bottom: 8px; }
.ke-diffs dd { margin: 0; font-family: var(--ke-serif); font-size: clamp(19px, 1.5vw, 23px); line-height: 1.4; color: var(--ke-ivory); }

.ke-numbered { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--ke-hair-neutral); border: 1px solid var(--ke-hair-neutral); counter-reset: none; }
.ke-numbered li { background: var(--ke-charcoal); padding: clamp(28px, 2.8vw, 42px); }
.ke-section:not(.ke-section--charcoal) .ke-numbered li { background: var(--ke-obsidian); }
.ke-numbered__n { display: block; font-family: var(--ke-serif); font-style: italic; color: var(--ke-gold-1); font-size: 20px; margin-bottom: 20px; }
.ke-numbered h3 { font-family: var(--ke-serif); font-size: clamp(21px, 1.7vw, 26px); margin-bottom: 12px; }
.ke-numbered p { font-size: 15px; color: var(--ke-stone); margin: 0; }

.ke-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
.ke-timeline > li { border-top: 1px solid var(--ke-gold-2); padding-top: 26px; }
.ke-timeline__n { font-family: var(--ke-serif); font-style: italic; color: var(--ke-gold-1); font-size: 20px; margin-bottom: 10px; }
.ke-timeline h3 { font-family: var(--ke-serif); font-size: clamp(24px, 2.2vw, 34px); margin-bottom: 18px; }
.ke-timeline ul li { padding: 8px 0; color: var(--ke-stone); font-size: 15.5px; border-bottom: 1px solid var(--ke-hair-neutral); }

.ke-offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 26px); }
.ke-offer { display: flex; flex-direction: column; padding: clamp(28px, 2.8vw, 42px); border: 1px solid var(--ke-hair-neutral); background: var(--ke-obsidian-2); }
.ke-offer--featured { border-color: var(--ke-hair); box-shadow: 0 30px 80px -40px rgba(201, 164, 92, .35); background: linear-gradient(180deg, #15130F 0%, var(--ke-obsidian-2) 60%); }
.ke-offer__n { font-family: var(--ke-serif); font-style: italic; color: var(--ke-gold-1); font-size: 18px; }
.ke-offer__name { font-family: var(--ke-serif); font-size: clamp(22px, 1.9vw, 28px); line-height: 1.15; margin-bottom: 8px; }
.ke-offer__price { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ke-gold-1); margin-bottom: 18px; }
.ke-offer__for { font-family: var(--ke-serif); font-style: italic; color: var(--ke-ivory); font-size: 18px; line-height: 1.4; }
.ke-offer__body { font-size: 15px; color: var(--ke-stone); }
.ke-offer__list { margin: 4px 0 30px; border-top: 1px solid var(--ke-hair-neutral); }
.ke-offer__list li { padding: 10px 0 10px 22px; position: relative; border-bottom: 1px solid var(--ke-hair-neutral); font-size: 14px; color: var(--ke-ivory); }
.ke-offer__list li::before { content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 1px; background: var(--ke-gold-2); }
.ke-offer .ke-btn { margin-top: auto; }

.ke-quad { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 40px); }
.ke-quad__item { border-top: 1px solid var(--ke-gold-2); padding-top: 22px; }
.ke-quad__item span { font-family: var(--ke-serif); font-style: italic; color: var(--ke-gold-1); }
.ke-quad__item h3 { font-family: var(--ke-serif); font-size: clamp(20px, 1.7vw, 25px); margin: 10px 0 12px; }
.ke-quad__item p { font-size: 15px; color: var(--ke-stone); }
.ke-pricebar { margin-top: clamp(40px, 4vw, 64px); display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px clamp(24px, 3vw, 40px); border: 1px solid var(--ke-hair); border-radius: 0 0 var(--ke-radius-frame) 0; }
.ke-pricebar p { margin: 0; font-family: var(--ke-serif); font-size: clamp(20px, 1.8vw, 27px); color: var(--ke-ivory); }

.ke-book { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 110px); align-items: center; }
.ke-book__cover { max-width: 360px; justify-self: center; filter: drop-shadow(0 40px 60px rgba(0,0,0,.6)); }
.ke-book .ke-hero__sub { font-size: clamp(20px, 1.7vw, 26px); }

.ke-society { text-align: center; background: radial-gradient(70% 90% at 50% 100%, #17140E 0%, var(--ke-obsidian) 70%); }
.ke-society__in { max-width: 900px; }
.ke-society .ke-lede { margin-inline: auto; }

.ke-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 110px); }
.ke-faq .ke-section__head { margin: 0; }
.ke-faq__list { border-top: 1px solid var(--ke-hair-soft); }
.ke-faq__item { border-bottom: 1px solid var(--ke-hair-soft); }
.ke-faq__item summary { cursor: pointer; list-style: none; padding: 24px 40px 24px 0; position: relative; font-family: var(--ke-serif); font-size: clamp(19px, 1.5vw, 23px); color: var(--ke-ivory); }
.ke-faq__item summary::-webkit-details-marker { display: none; }
.ke-faq__item summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 12px; height: 12px; border-right: 1px solid var(--ke-gold-1); border-bottom: 1px solid var(--ke-gold-1); transform: translateY(-70%) rotate(45deg); transition: transform .3s var(--ke-ease); }
.ke-faq__item[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.ke-faq__item p { color: var(--ke-stone); padding-bottom: 26px; margin: 0; max-width: 46em; }

.ke-ladder { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 26px); align-items: stretch; margin-bottom: 30px; }
.ke-rung { display: flex; flex-direction: column; padding: clamp(30px, 3vw, 46px); border: 1px solid var(--ke-hair-neutral); background: var(--ke-obsidian-2); }
.ke-rung--featured { border-color: var(--ke-hair); transform: translateY(-14px); box-shadow: 0 30px 80px -40px rgba(201, 164, 92, .4); background: linear-gradient(180deg, #15130F 0%, var(--ke-obsidian-2) 60%); }
.ke-rung__tag { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ke-gold-1); }
.ke-rung__price { font-family: var(--ke-serif); font-size: clamp(48px, 4.4vw, 72px); line-height: 1; color: var(--ke-ivory); margin: 6px 0 18px; }
.ke-rung__name { font-family: var(--ke-serif); font-size: clamp(21px, 1.7vw, 26px); margin-bottom: 14px; }
.ke-rung__body { font-size: 15px; color: var(--ke-stone); margin-bottom: 30px; }
.ke-rung .ke-btn { margin-top: auto; }

.ke-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 40px); }
.ke-tier { border-top: 1px solid var(--ke-gold-2); padding-top: 24px; }
.ke-tier__n { font-family: var(--ke-serif); font-style: italic; color: var(--ke-gold-1); }
.ke-tier h3 { font-family: var(--ke-serif); font-size: clamp(22px, 1.9vw, 28px); margin-bottom: 6px; }
.ke-tier__price { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ke-gold-1); }
.ke-tier p:last-child { font-size: 15px; color: var(--ke-stone); }

.ke-os__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 6vw, 110px); align-items: center; }
.ke-os__copy p { color: var(--ke-stone); }

/* Forms / embeds: ivory card, the one bright surface, so the conversion point is unmistakable */
.ke-formcard { background: var(--ke-paper); color: var(--ke-paper-ink); padding: clamp(26px, 3vw, 44px); border-radius: 2px; box-shadow: 0 0 0 1px rgba(201, 164, 92, .5), 0 0 0 8px var(--ke-obsidian), 0 0 0 9px var(--ke-hair-soft), 0 40px 100px -40px rgba(0,0,0,.8); }
.ke-formcard__title { font-family: var(--ke-serif); font-size: clamp(22px, 1.9vw, 28px); color: var(--ke-paper-ink); margin-bottom: 8px; }
.ke-formcard__sub { color: #4A463F; font-size: 15px; }
.ke-formcard__legal { font-size: 12px; color: #6B665D; margin: 14px 0 0; }
.ke-formcard__legal a { color: var(--ke-gold-3); text-decoration: underline; text-underline-offset: 3px; }
.ke-formcard--center { max-width: 560px; margin: 44px auto 0; text-align: left; }
.ke-formcard--calendar { padding: clamp(10px, 1.4vw, 20px); }
.ke-embed iframe { width: 100%; background: transparent; }

.ke-book-call__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 5vw, 90px); align-items: start; }

/* Sealed Mystery School */
.ke-sealed__chamber { position: relative; min-height: calc(100vh - var(--ke-header-h)); display: flex; align-items: center; padding: clamp(70px, 8vw, 130px) 0; background: radial-gradient(60% 55% at 50% 38%, #141217 0%, var(--ke-obsidian) 72%); overflow: hidden; }
.ke-sealed__arch { position: absolute; left: 50%; top: clamp(36px, 4vw, 60px); bottom: -2px; width: min(760px, 88vw); transform: translateX(-50%); border: 1px solid var(--ke-hair); border-bottom: 0; border-radius: 380px 380px 0 0; -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 55%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0, #000 55%, transparent 100%); pointer-events: none; }
.ke-sealed__arch::after { content: ""; position: absolute; inset: 14px 14px 0; border: 1px solid var(--ke-hair-soft); border-bottom: 0; border-radius: 366px 366px 0 0; }
.ke-sealed .ke-wrap { position: relative; z-index: 1; }
.ke-sealed__num { font-family: var(--ke-serif); font-style: italic; color: var(--ke-gold-1); font-size: 26px; margin-bottom: 18px; }
.ke-sealed .ke-hero__title { font-size: clamp(36px, 4.4vw, 66px); margin-inline: auto; }
.ke-sealed .ke-hero__sub { margin-inline: auto; }
.ke-sealed__body { max-width: 34em; margin: 0 auto; color: var(--ke-stone); }

/* ---------- Article / paper ---------- */
.ke-article-head { position: relative; padding: clamp(64px, 7vw, 120px) 0 clamp(56px, 6vw, 96px); background: var(--ke-obsidian); overflow: hidden; }
.ke-article-head .ke-narrow { margin-inline: auto; }
.ke-article-head__title { font-family: var(--ke-serif); font-size: clamp(34px, 4vw, 60px); line-height: 1.1; letter-spacing: -.01em; text-wrap: balance; }
.ke-article-head__meta { margin-top: 22px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ke-muted); }
.ke-single__media { margin-top: -30px; margin-bottom: 0; position: relative; z-index: 1; }
.ke-single__media img { width: 100%; max-height: 620px; object-fit: cover; }
.ke-paper { background: var(--ke-paper); color: var(--ke-paper-ink); padding: clamp(56px, 6vw, 110px) var(--ke-gutter); }
.ke-prose { max-width: 720px; margin: 0 auto; font-size: clamp(17px, 1.2vw, 19px); line-height: 1.78; }
.ke-prose > * + * { margin-top: 1.1em; }
.ke-prose h1:empty, .ke-prose h2:empty, .ke-prose h3:empty, .ke-prose p:empty { display: none; }
.ke-prose h2, .ke-prose h3, .ke-prose h4 { font-family: var(--ke-serif); color: #121110; line-height: 1.2; margin-top: 2em; }
.ke-prose h1 { font-family: var(--ke-serif); font-size: 1.9em; color: #121110; line-height: 1.15; margin-top: 1.6em; }
.ke-prose h2 { font-size: 1.65em; }
.ke-prose h3 { font-size: 1.3em; }
.ke-prose h4 { font-size: 1.1em; }
.ke-prose p { margin-bottom: 0; }
.ke-prose a { color: #7E5F26; text-decoration: underline; text-decoration-color: rgba(168, 131, 66, .5); text-underline-offset: 3px; }
.ke-prose a:hover { color: #121110; }
.ke-prose strong { color: #121110; font-weight: 600; }
.ke-prose ul, .ke-prose ol { padding-left: 1.3em; }
.ke-prose ul { list-style: none; padding-left: 0; }
.ke-prose ul li { position: relative; padding-left: 1.5em; margin: .45em 0; }
.ke-prose ul li::before { content: ""; position: absolute; left: 0; top: .85em; width: .8em; height: 1px; background: var(--ke-gold-3); }
.ke-prose ol { list-style: decimal; }
.ke-prose ol li { margin: .45em 0; }
.ke-prose blockquote { border-left: 1px solid var(--ke-gold-3); padding: .2em 0 .2em 1.4em; font-family: var(--ke-serif); font-style: italic; font-size: 1.2em; color: #2B2823; }
.ke-prose hr { border: 0; height: 1px; background: rgba(168, 131, 66, .35); margin: 2.6em 0; }
.ke-prose img { margin: 2em auto; }
.ke-prose figure { margin: 2em 0; }
.ke-prose table { width: 100%; border-collapse: collapse; font-size: .9em; }
.ke-prose th, .ke-prose td { border-bottom: 1px solid rgba(0,0,0,.1); padding: .6em .5em; text-align: left; }
.ke-prose mark { background: #F3E3B5; color: #3a2d10; padding: 0 .25em; }
.ke-prose--dark { color: var(--ke-stone); max-width: 640px; margin: 0; }
.ke-prose--dark p { margin-bottom: 1em; }
.ke-welcome__task { font-family: var(--ke-serif); font-size: clamp(20px, 1.6vw, 24px); color: var(--ke-ivory); line-height: 1.45; border-left: 1px solid var(--ke-gold-2); padding-left: 24px; margin: 1.6em 0 !important; }
.ke-welcome__sig { font-family: var(--ke-serif); font-style: italic; font-size: 22px; color: var(--ke-gold-1); margin: 1.4em 0 2.2em !important; }

.ke-authorbox { max-width: 720px; margin: clamp(56px, 6vw, 90px) auto 0; display: grid; grid-template-columns: 96px 1fr; gap: 26px; padding-top: 34px; border-top: 1px solid rgba(168, 131, 66, .35); align-items: start; }
.ke-authorbox__img img { width: 96px; height: 96px; object-fit: cover; object-position: 55% 18%; border-radius: 50%; }
.ke-authorbox__name { font-family: var(--ke-serif); font-size: 22px; color: #121110; margin: 0 0 6px; }
.ke-authorbox p { font-size: 15.5px; color: #4A463F; }
.ke-postnav { display: flex; justify-content: space-between; gap: 24px; padding: 36px 0; font-family: var(--ke-serif); font-size: 17px; color: var(--ke-stone); }
.ke-postnav a:hover { color: var(--ke-gold-1); }

.ke-legal__body h1:first-child { display: none; }
.ke-draft-banner { background: #5A1717; color: #fff; text-align: center; font-size: 13.5px; padding: 12px 20px; letter-spacing: .01em; }

/* ---------- Footer ---------- */
.ke-footer { background: var(--ke-footer); color: var(--ke-muted); padding: clamp(64px, 7vw, 110px) 0 32px; font-size: 14.5px; border-top: 1px solid var(--ke-hair-soft); }
.ke-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: clamp(28px, 4vw, 64px); padding-bottom: clamp(44px, 5vw, 72px); }
.ke-brand--footer .ke-brand__name { font-size: 30px; }
.ke-footer__tag { margin: 20px 0 26px; max-width: 22em; color: var(--ke-stone); }
.ke-footer__h { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ke-gold-1); margin-bottom: 18px; }
.ke-footer ul li { margin: 0 0 11px; }
.ke-footer ul a:hover, .ke-footer__base a:hover { color: var(--ke-ivory); }
.ke-footer__disclaimer { font-size: 12px; line-height: 1.6; color: #6E6A62; max-width: 70em; border-top: 1px solid var(--ke-hair-neutral); padding-top: 26px; }
.ke-footer__base { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; border-top: 1px solid var(--ke-hair-neutral); padding-top: 22px; font-size: 12.5px; }
.ke-footer__base p { margin: 0; }
.ke-footer--sealed { padding-top: 28px; }
.ke-footer--sealed .ke-footer__base { border-top: 0; justify-content: center; text-align: center; }

/* ---------- Reveal on scroll (progressive enhancement) ---------- */
.ke-js .ke-reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ke-ease), transform .9s var(--ke-ease); }
.ke-js .ke-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.ke-offers, .ke-numbered { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ke-quad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ke-writing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ke-card--featured { grid-row: auto; grid-column: span 2; }
	.ke-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
	.ke-split, .ke-problem__grid, .ke-about__grid, .ke-book, .ke-faq, .ke-os__grid, .ke-book-call__grid { grid-template-columns: 1fr; }
	.ke-doors__grid, .ke-testimonials__grid, .ke-final__grid, .ke-ladder, .ke-tiers, .ke-timeline { grid-template-columns: 1fr; }
	.ke-door + .ke-door { border-left: 0; border-top: 1px solid var(--ke-hair-soft); }
	.ke-rung--featured { transform: none; }
	.ke-problem__turn { padding-top: 0; }
	.ke-section__head--split { flex-direction: column; align-items: flex-start; }
	.ke-pricebar { flex-direction: column; align-items: flex-start; }
	.ke-about__portrait { max-width: 520px; }
	.ke-book__cover { max-width: 240px; }
}
@media (max-width: 640px) {
	.ke-offers, .ke-numbered, .ke-quad, .ke-writing__grid, .ke-writing__grid--index { grid-template-columns: 1fr; }
	.ke-card--featured, .ke-writing__grid--index .ke-card--featured { grid-column: auto; }
	.ke-footer__grid { grid-template-columns: 1fr; }
	.ke-btn { white-space: normal; }
	.ke-voice p:nth-child(2), .ke-voice p:nth-child(3) { padding-left: 0; }
	.ke-authorbox { grid-template-columns: 1fr; }
}

/* Dark form card (for GHL forms whose own canvas is black, e.g. the Mystery School list) */
.ke-formcard--dark { background: rgba(9, 9, 11, .6); color: var(--ke-stone); box-shadow: 0 0 0 1px var(--ke-hair), 0 40px 100px -40px rgba(0,0,0,.8); padding: clamp(14px, 1.6vw, 22px); }
.ke-formcard--dark .ke-formcard__legal { color: var(--ke-muted); text-align: center; }
.ke-formcard--dark .ke-formcard__legal a { color: var(--ke-gold-1); }
.ke-book-call__grid .ke-hero__copy { grid-area: auto; padding-bottom: 0; align-self: start; }
.ke-book-call__grid .ke-ledger { margin: 6px 0 28px; }

/* ==========================================================================
   v1.1 — Below-the-fold refinement layer
   Carries the hero's language through the whole site: one obsidian field (no grey card
   slabs or banded section seams), architectural hairline grids, curved champagne corners
   that echo the hero frame, luminous gold italics, brushed gold only where action matters.
   ========================================================================== */

/* One continuous obsidian field; "charcoal" sections become a whisper of tonal lift, not a slab */
.ke-section { background: var(--ke-obsidian); padding: clamp(96px, 10.5vw, 168px) 0; }
.ke-section--charcoal { background: radial-gradient(70% 55% at 50% 0%, rgba(255, 255, 255, .022) 0%, rgba(255, 255, 255, 0) 100%), var(--ke-obsidian); }
.ke-section + .ke-section::before { background: linear-gradient(90deg, transparent, var(--ke-hair-faint) 18%, rgba(226, 202, 148, .2) 50%, var(--ke-hair-faint) 82%, transparent); }
.ke-hero + .ke-section::before { display: none; }

/* Display type: high-contrast Bodoni, tight optical spacing like the hero */
.ke-h2 { font-variation-settings: "opsz" 14; letter-spacing: -.02em; line-height: 1.06; font-size: clamp(32px, 3.7vw, 58px); }
.ke-h2--xl { font-size: clamp(38px, 4.9vw, 76px); line-height: 1.02; }
.ke-h3, .ke-door__name, .ke-choice__title, .ke-card__title, .ke-voice p, .ke-brand__name { font-variation-settings: "opsz" 14; letter-spacing: -.012em; }
.ke-pull, .ke-problem__kicker, .ke-door__line { font-variation-settings: "opsz" 14; }
.ke-eyebrow { color: #DCD6C7; }
.ke-lede { color: #B9B6AF; }

/* Ledger + italic gold lines use the luminous champagne */
.ke-ledger { border-top-color: var(--ke-hair-neutral); }
.ke-ledger li::before { background: linear-gradient(90deg, var(--ke-gold-1), var(--ke-gold-3)); }
.ke-problem__kicker { color: var(--ke-gold-1); }
.ke-voice p:nth-child(3) { background: var(--ke-gold-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ke-problem__close { color: var(--ke-gold-1); font-size: 11.5px; letter-spacing: .22em; }

/* ---- Three entrances: an open architectural triptych, not three boxes ---- */
.ke-doors { background: radial-gradient(60% 40% at 50% 0%, rgba(230, 205, 142, .05) 0%, rgba(230, 205, 142, 0) 100%), var(--ke-obsidian); }
.ke-doors__grid { border: 0; border-top: 1px solid var(--ke-hair-soft); border-bottom: 1px solid var(--ke-hair-faint); border-radius: 0; position: relative; }
.ke-doors__grid::before, .ke-doors__grid::after { /* curved champagne corners that echo the hero frame */
	content: ""; position: absolute; top: -1px; width: var(--ke-radius-frame); height: clamp(90px, 10vw, 160px); pointer-events: none;
	border-top: 1px solid var(--ke-hair);
	-webkit-mask-image: linear-gradient(to bottom, #000 30%, transparent); mask-image: linear-gradient(to bottom, #000 30%, transparent);
}
.ke-doors__grid::before { left: 0; border-left: 1px solid var(--ke-hair); border-top-left-radius: var(--ke-radius-frame); }
.ke-doors__grid::after { right: 0; border-right: 1px solid var(--ke-hair); border-top-right-radius: var(--ke-radius-frame); }
.ke-door { padding: clamp(40px, 4vw, 64px) clamp(26px, 3vw, 52px) clamp(40px, 3.6vw, 56px); background: transparent; }
.ke-door + .ke-door { border-left: 1px solid var(--ke-hair-faint); }
.ke-door:hover { background: linear-gradient(180deg, rgba(230, 205, 142, .04), rgba(230, 205, 142, 0) 55%); }
.ke-door__num { font-size: clamp(26px, 2.2vw, 34px); margin-bottom: clamp(28px, 3vw, 44px); background: var(--ke-gold-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; font-variation-settings: "opsz" 30; }
.ke-door__name { font-size: clamp(38px, 3.6vw, 58px); margin-bottom: 16px; }
.ke-door__verb { color: #A9A397; letter-spacing: .24em; font-size: 10.5px; }
.ke-door__line { color: var(--ke-ivory); }
.ke-door__body { font-size: 14.5px; color: #ADAAA3; }
.ke-door__list { border-top-color: var(--ke-hair-neutral); }
.ke-door__list li { border-bottom-color: var(--ke-hair-neutral); font-size: 13.5px; color: #E2DED5; padding: 12px 0; }
.ke-door__cta { padding: 0 0 12px; border: 0; border-bottom: 1px solid rgba(226, 202, 148, .45); font-size: 11px; letter-spacing: .22em; color: var(--ke-gold-1); }
.ke-door__cta:hover { background: none; border-bottom-color: var(--ke-gold-1); color: #fff; }
.ke-door--mission .ke-door__cta { border-style: solid; border-bottom-color: rgba(226, 202, 148, .25); }

/* ---- About: portrait melts into obsidian inside a curved hairline, no box seams ---- */
.ke-about__grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); align-items: center; }
.ke-about__portrait { aspect-ratio: 4 / 5; }
.ke-about__portrait::before { inset: -18px -18px auto auto; width: 62%; height: 72%; border: 1px solid var(--ke-hair); border-left: 0; border-bottom: 0; border-radius: 0 var(--ke-radius-arc) 0 0; -webkit-mask-image: linear-gradient(to left, #000 40%, transparent), linear-gradient(to bottom, #000 40%, transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(to left, #000 40%, transparent), linear-gradient(to bottom, #000 40%, transparent); mask-composite: intersect; z-index: 2; }
.ke-about__portrait::after { content: ""; position: absolute; left: 0; right: 30%; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, var(--ke-hair-soft)); }
.ke-about__img, .ke-about__img img { display: block; width: 100%; height: 100%; }
.ke-about__img img { object-fit: cover; object-position: 55% 20%; -webkit-mask-image: linear-gradient(to top, transparent 0%, #000 24%), linear-gradient(to right, transparent 0%, #000 18%); -webkit-mask-composite: source-in; mask-image: linear-gradient(to top, transparent 0%, #000 24%), linear-gradient(to right, transparent 0%, #000 18%); mask-composite: intersect; filter: contrast(1.03); }
.ke-pull { border-left: 1px solid var(--ke-gold-2); color: var(--ke-ivory); }
.ke-tags li { border-color: var(--ke-hair-neutral); font-size: 10.5px; letter-spacing: .14em; color: #A9A59D; padding: 8px 13px; }

/* ---- Testimonials: editorial pull quotes on hairlines, not cards ---- */
.ke-testimonials__grid { gap: clamp(32px, 5vw, 96px); }
.ke-quote { padding: clamp(40px, 3.6vw, 56px) 0 0; border: 0; border-top: 1px solid var(--ke-hair-soft); border-radius: 0; background: none; }
.ke-quote::before { content: ""; position: absolute; right: 0; top: -1px; width: var(--ke-radius-frame); height: var(--ke-radius-frame); border-top: 1px solid var(--ke-hair); border-right: 1px solid var(--ke-hair); border-top-right-radius: var(--ke-radius-frame); }
.ke-quote__mark { position: static; display: block; font-family: var(--ke-serif); font-style: italic; font-size: clamp(120px, 9vw, 150px); line-height: .78; height: .4em; margin: -6px 0 14px -4px; opacity: 1; color: var(--ke-gold-1); background: var(--ke-gold-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-variation-settings: "opsz" 60; }
.ke-quote blockquote p { font-size: clamp(20px, 1.75vw, 26px); line-height: 1.42; margin: 0 0 32px; font-variation-settings: "opsz" 14; letter-spacing: -.005em; }
.ke-quote figcaption { border-top: 0; padding-top: 0; flex-direction: row; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.ke-quote figcaption strong { font-size: 11px; letter-spacing: .24em; color: var(--ke-gold-1); }
.ke-quote figcaption span { font-size: 13px; color: var(--ke-muted); }
.ke-quote figcaption span::before { content: "— "; color: var(--ke-hair); }

/* ---- Writing: hairline index on obsidian ---- */
.ke-writing__grid { background: var(--ke-hair-neutral); border: 0; border-top: 1px solid var(--ke-hair-soft); border-bottom: 1px solid var(--ke-hair-neutral); gap: 1px; }
.ke-card { background: var(--ke-obsidian); }
.ke-card__link { padding: clamp(30px, 2.8vw, 44px) clamp(24px, 2.6vw, 40px); }
.ke-card__link:hover { background: linear-gradient(180deg, rgba(230, 205, 142, .04), rgba(230, 205, 142, 0) 70%); }
.ke-card__media { margin: calc(-1 * clamp(30px, 2.8vw, 44px)) calc(-1 * clamp(24px, 2.6vw, 40px)) 30px; }
.ke-card__media img { filter: saturate(.7) contrast(1.05) brightness(.92); }
.ke-card__meta { font-size: 10.5px; letter-spacing: .2em; color: #8A867E; }
.ke-card__title { font-size: clamp(21px, 1.7vw, 26px); line-height: 1.2; }
.ke-card--featured .ke-card__title { font-size: clamp(28px, 2.5vw, 38px); line-height: 1.12; }
.ke-card__more { font-size: 10.5px; letter-spacing: .22em; color: var(--ke-gold-1); }

/* ---- Final CTA: the frame returns; choices sit on hairlines, the call is the one gold action ---- */
.ke-final { background: radial-gradient(50% 45% at 50% 100%, rgba(230, 205, 142, .06) 0%, rgba(230, 205, 142, 0) 100%), var(--ke-obsidian); }
.ke-final__frame { inset: clamp(28px, 3vw, 48px) var(--ke-frame-x) auto; height: 78%; border-color: var(--ke-hair); border-radius: var(--ke-radius-arc) var(--ke-radius-arc) 0 0; filter: drop-shadow(0 0 6px rgba(230, 205, 142, .16)); }
.ke-final__grid { gap: 0; border-top: 1px solid var(--ke-hair-soft); border-bottom: 1px solid var(--ke-hair-faint); }
.ke-choice { border: 0; background: transparent; padding: clamp(36px, 3.4vw, 54px) clamp(24px, 2.8vw, 46px); }
.ke-choice + .ke-choice { border-left: 1px solid var(--ke-hair-faint); }
.ke-choice--featured { background: linear-gradient(180deg, rgba(230, 205, 142, .07) 0%, rgba(230, 205, 142, 0) 75%); box-shadow: inset 0 1px 0 var(--ke-gold-1); border-color: transparent; }
.ke-choice__tag { font-size: 10.5px; letter-spacing: .22em; color: var(--ke-gold-1); }
.ke-choice__title { font-size: clamp(24px, 2vw, 31px); }
.ke-choice__body { font-size: 14.5px; color: #ADAAA3; }

/* ---- Inner pages: same field, same hairlines ---- */
.ke-numbered li, .ke-section:not(.ke-section--charcoal) .ke-numbered li { background: var(--ke-obsidian); }
.ke-numbered { background: var(--ke-hair-neutral); border: 0; border-top: 1px solid var(--ke-hair-soft); border-bottom: 1px solid var(--ke-hair-neutral); }
.ke-numbered__n { background: var(--ke-gold-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }
.ke-offer, .ke-rung { background: linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(255, 255, 255, 0) 60%), var(--ke-obsidian); border-color: var(--ke-hair-neutral); border-radius: 0 0 var(--ke-radius-frame) 0; }
.ke-offer--featured, .ke-rung--featured { border-color: var(--ke-hair); background: linear-gradient(180deg, rgba(230, 205, 142, .07) 0%, rgba(230, 205, 142, 0) 70%), var(--ke-obsidian); box-shadow: 0 40px 90px -50px rgba(230, 205, 142, .4); }
.ke-tier { border-top-color: var(--ke-gold-2); }

/* ---- Footer ---- */
.ke-footer { background: var(--ke-footer); border-top: 1px solid rgba(214, 196, 150, .14); }
.ke-footer__h { color: var(--ke-gold-1); letter-spacing: .24em; font-size: 10.5px; }

@media (max-width: 900px) {
	.ke-door + .ke-door, .ke-choice + .ke-choice { border-left: 0; border-top: 1px solid var(--ke-hair-faint); }
	.ke-about__portrait { max-width: 560px; }
	.ke-quote figcaption { flex-direction: column; gap: 4px; }
	.ke-quote figcaption span::before { content: none; }
}
