@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter/inter-latin-var-v20.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/inter/inter-latin-ext-var-v20.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter Fallback"; src: local("Arial"), local("ArialMT"); size-adjust: 107.6%; ascent-override: 90.03%; descent-override: 22.42%; line-gap-override: 0%; }
@font-face { font-family: "Inter Fallback"; font-weight: 500; src: local("Arial"), local("ArialMT"); size-adjust: 108.6%; ascent-override: 89.20%; descent-override: 22.21%; line-gap-override: 0%; }
@font-face { font-family: "Inter Fallback"; font-weight: 600; src: local("Arial Bold"), local("Arial-BoldMT"); size-adjust: 103.2%; ascent-override: 93.87%; descent-override: 23.37%; line-gap-override: 0%; }
@font-face { font-family: "Inter Fallback"; font-weight: 700 900; src: local("Arial Bold"), local("Arial-BoldMT"); size-adjust: 103.9%; ascent-override: 93.24%; descent-override: 23.21%; line-gap-override: 0%; }
@font-face { font-family: "Inter Fallback Android"; src: local("Roboto"), local("Roboto-Regular"); size-adjust: 108%; ascent-override: 89.70%; descent-override: 22.33%; line-gap-override: 0%; }
@font-face { font-family: "Inter Fallback Android"; font-weight: 500; src: local("Roboto Medium"), local("Roboto-Medium"), local("Roboto"); size-adjust: 108.3%; ascent-override: 89.45%; descent-override: 22.27%; line-gap-override: 0%; }
@font-face { font-family: "Inter Fallback Android"; font-weight: 600; src: local("Roboto Bold"), local("Roboto-Bold"), local("Roboto"); size-adjust: 108.5%; ascent-override: 89.29%; descent-override: 22.23%; line-gap-override: 0%; }
@font-face { font-family: "Inter Fallback Android"; font-weight: 700 900; src: local("Roboto Bold"), local("Roboto-Bold"), local("Roboto"); size-adjust: 111.4%; ascent-override: 86.96%; descent-override: 21.65%; line-gap-override: 0%; }
.navbar, .k-hero, .page-hero, .sc-hero { --sans: 'Inter', 'Inter Fallback', 'Inter Fallback Android', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --serif: var(--sans); font-family: var(--sans); }
:root {
--ink-900: #070B14;
--ink-800: #0B1220;
--ink-700: #111A2B;
--ink-600: #18243A;
--paper: #F3EEE4;
--paper-2: #D9D2C3;
--body: #C6CFDB;
--muted: #8593A6;
--line: rgba(243, 238, 228, 0.10);
--line-strong: rgba(243, 238, 228, 0.18);
--accent: #26C9A4;
--accent-deep: #0E7F67;
--accent-ink: #052018;
--gold: #E0B45A;
--danger: #E06A5A;
--serif: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
--radius: 10px;
--radius-sm: 6px;
--measure: 1180px;
--ease: cubic-bezier(.2,.7,.2,1);
--primary: var(--ink-800);
--primary-dark: var(--ink-900);
--secondary: var(--ink-600);
--accent-dark: var(--accent-deep);
--accent-glow: rgba(38, 201, 164, 0.14);
--text: var(--body);
--text-muted: var(--muted);
--card-bg: var(--ink-700);
--border: var(--line);
--white: var(--paper);
}
html { scroll-behavior: smooth; }
body {
font-family: var(--sans);
background: var(--ink-900);
color: var(--body);
line-height: 1.65;
font-size: 16px;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
.container { max-width: var(--measure); margin: 0 auto; padding: 0 28px; }
h1, h2, h3, .serif { font-family: var(--sans); font-weight: 600; color: var(--paper); letter-spacing: -0.025em; line-height: 1.1; }
h1 { font-size: clamp(36px, 4.6vw, 56px); }
h2 { font-size: clamp(28px, 3.1vw, 38px); }
h3 { font-size: 20px; letter-spacing: -0.015em; }
h1 em, h2 em { font-style: normal; font-weight: 600; color: var(--paper-2); }
p { margin: 0; }
a { color: var(--accent); }
::selection { background: rgba(38, 201, 164, 0.25); color: var(--paper); }
.cursor-glow, .cursor-dot, .hero-particles, .orbital-container, .scroll-hint, .section-divider,
.footer-constellation, .trust-row, .pulse-section { display: none !important; }
.k-eyebrow {
display: inline-flex; align-items: center; gap: 10px;
font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
color: var(--muted); margin-bottom: 18px;
}
.k-num { font-family: var(--sans); font-weight: 500; font-size: 44px; line-height: 1; color: var(--paper); letter-spacing: -0.03em; }
.k-rule { height: 1px; background: var(--line); border: 0; margin: 0; }
.k-lede { font-size: 19px; line-height: 1.6; color: var(--body); max-width: 37.86em; }
.k-muted { color: var(--muted); }
.k-small { font-size: 13.5px; color: var(--muted); line-height: 1.6; }
.navbar {
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
background: rgba(7, 11, 20, 0.72) !important;
backdrop-filter: blur(18px) saturate(140%);
-webkit-backdrop-filter: blur(18px) saturate(140%);
border-bottom: 1px solid var(--line);
transition: background .25s;
}
.navbar.scrolled { background: rgba(7, 11, 20, 0.9) !important; }
.nav-container { height: 68px; }
.logo-img { height: 30px; }
.nav-links { gap: 26px; }
.nav-links a { color: var(--body); font-size: 14px; font-weight: 500; letter-spacing: 0.01em; }
.nav-links a:hover, .nav-links a.active { color: var(--paper); }
.nav-links a.active { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--accent); }
.nav-links a.nav-product { border: 1px solid var(--accent); border-radius: 999px; padding: 5px 12px; color: var(--accent); font-weight: 600; white-space: nowrap; }
.nav-links a.nav-product:hover, .nav-links a.nav-product.active { background: var(--accent); color: var(--ink, #0b1620); }
.nav-search-btn {
display: inline-flex; align-items: center; gap: 7px;
background: transparent; border: 0; color: var(--body);
padding: 6px 4px; font: inherit; font-size: 14px; font-weight: 500; cursor: pointer;
}
.nav-search-btn:hover { color: var(--paper); }
.nav-search-btn kbd { display: none; }
.nav-links .btn { padding: 9px 16px; }
.nav-links a.btn-accent, .nav-links a.btn-accent:hover, .nav-links a.btn-accent:focus-visible { color: var(--accent-ink); }
.quick-search-modal { display: flex; flex-direction: column; max-height: calc(88vh - 24px); max-height: calc(88dvh - 24px); }
.quick-search-header, .quick-search-footer { flex-shrink: 0; }
.quick-search-results { min-height: 0; }
@media (max-width: 1100px) { .nav-links { gap: 18px; } .nav-search-label { display: none; } }
@media (max-width: 860px) {
.nav-links { display: none; position: absolute; top: 68px; left: 0; right: 0; bottom: auto; height: calc(100vh - 68px); height: calc(100dvh - 68px); flex-direction: column; align-items: flex-start; gap: 6px; padding: 22px 28px; padding-bottom: max(28px, env(safe-area-inset-bottom)); background: var(--ink-900); border-top: 1px solid var(--line); overflow: auto; overscroll-behavior: contain; }
.nav-links.mobile-open { display: flex; }
.nav-links a { font-size: 20px; padding: 10px 0; }
.nav-links .btn { margin-top: 12px; font-family: var(--sans); font-size: 15px; }
.nav-search-btn { margin-top: 8px; }
.mobile-toggle { display: block; min-width: 44px; min-height: 44px; }
.mobile-toggle span { background: var(--paper); }
.quick-search-close { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.quick-search-overlay { padding-top: 0; }
.quick-search-modal { height: 100vh !important; height: 100dvh !important; max-height: 100vh; max-height: 100dvh; }
body.menu-open { overflow: hidden; }
}
.btn {
display: inline-flex; align-items: center; justify-content: center; gap: 9px;
padding: 12px 22px; border-radius: var(--radius-sm); font-family: var(--sans); font-size: 14px; font-weight: 600;
letter-spacing: 0.01em; text-decoration: none; cursor: pointer; border: 1px solid transparent;
transition: transform .18s var(--ease), background .18s, border-color .18s, color .18s;
}
.btn:hover { transform: translateY(-1px); }
.btn-lg { padding: 15px 28px; font-size: 15px; }
.btn-sm { padding: 8px 16px; font-size: 13px; }
.btn-accent, .btn-primary { background: var(--accent); color: var(--accent-ink); }
.btn-accent:hover, .btn-primary:hover { background: #3FD6B3; }
.btn-outline, .btn-ghost { background: transparent; color: var(--paper); border-color: var(--line-strong); }
.btn-outline:hover, .btn-ghost:hover { border-color: var(--paper-2); background: rgba(243, 238, 228, 0.04); }
.btn-full { width: 100%; }
.k-link { color: var(--paper); text-decoration: none; font-weight: 500; border-bottom: 1px solid var(--line-strong); padding-bottom: 2px; transition: border-color .15s, color .15s; }
.k-link:hover { color: var(--accent); border-color: var(--accent); }
.k-link .arrow { display: inline-block; margin-left: 6px; transition: transform .18s var(--ease); }
.k-link:hover .arrow { transform: translateX(3px); }
.section { padding: 96px 0; }
.section-dark { background: var(--ink-800); }
.section-darker { background: var(--ink-900); }
.k-section { padding: 104px 0; border-top: 1px solid var(--line); }
.k-section-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: end; margin-bottom: 52px; }
.k-section-head p { color: var(--body); font-size: 17px; line-height: 1.65; }
.section-header { text-align: left; max-width: none; margin-bottom: 44px; }
.section-badge { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: 0.2em; color: var(--muted); }
.section-header h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -0.01em; color: var(--paper); }
.section-sub { font-size: 17px; color: var(--body); }
@media (max-width: 860px) { .k-section { padding: 72px 0; } .k-section-head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 34px; } }
.k-card {
background: linear-gradient(180deg, rgba(243, 238, 228, 0.035), rgba(243, 238, 228, 0.015));
border: 1px solid var(--line); border-radius: var(--radius); padding: 28px;
transition: border-color .2s, transform .2s var(--ease);
}
a.k-card { text-decoration: none; color: inherit; display: block; }
a.k-card:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.k-card h3 { margin-bottom: 10px; }
.k-card p { color: var(--body); font-size: 15px; line-height: 1.65; }
.archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.archive-card {
display: flex; flex-direction: column; position: relative;
background: linear-gradient(180deg, rgba(243, 238, 228, 0.035), rgba(243, 238, 228, 0.012));
border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 22px 18px;
text-decoration: none; color: inherit; overflow: hidden;
transition: border-color .2s, transform .2s var(--ease);
}
.archive-card:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.archive-card.has-cover { padding-top: 0; }
.archive-card-image { margin: 0 -22px 16px; width: calc(100% + 44px); height: auto; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink-700); border-radius: 0; }
.archive-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.archive-card-placeholder { display: flex; align-items: flex-end; padding: 16px 18px; background: linear-gradient(160deg, var(--ink-600), var(--ink-800)); background-size: cover; background-position: center; }
.archive-card-placeholder span { display: none; }
.archive-card-header { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.archive-type-badge { font-size: 10.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; border: 0 !important; color: var(--muted) !important; padding: 0; }
.archive-date { font-size: 12.5px; color: var(--muted); }
.archive-category { font-size: 12px; color: var(--accent); margin-bottom: 6px; }
.archive-title { font-family: var(--sans); font-weight: 600; font-size: 17px !important; line-height: 1.3; color: var(--paper); margin: 0 0 10px; letter-spacing: -0.01em; }
.archive-summary { font-size: 14px; color: var(--body); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.archive-footer { margin-top: auto; padding-top: 14px; display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; color: var(--muted); }
.archive-read-more { color: var(--paper); font-weight: 500; }
.format-badge { display: inline-block; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.new-badge { position: absolute; top: 14px; right: 14px; background: var(--gold); color: var(--ink-900); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; padding: 3px 8px; border-radius: 4px; z-index: 2; }
.archive-search-wrap { max-width: none; margin: 0 0 22px; display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.archive-search-box { display: flex; align-items: center; gap: 10px; flex: 1 1 360px; max-width: 560px; background: rgba(243, 238, 228, 0.03); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: 0 14px; color: var(--muted); }
.archive-search-box:focus-within { border-color: var(--accent); box-shadow: none; }
.archive-search-box input { flex: 1; width: 100%; background: transparent; border: 0; color: var(--paper); font: inherit; font-size: 15px; outline: none; padding: 12px 0; box-shadow: none; }
.archive-search-box input:focus { box-shadow: none; border: 0; }
.archive-count { font-size: 13px; color: var(--muted); }
.skeleton-card { background: rgba(243, 238, 228, 0.03); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; min-height: 160px; }
.page-hero { padding: 150px 0 56px; background: var(--ink-900); border-bottom: 1px solid var(--line); }
.page-hero h1 { margin: 8px 0 14px; }
.page-hero-sub { font-size: 18px; color: var(--body); max-width: 39.12em; line-height: 1.6; }
.page-hero-compact { padding: 130px 0 40px; }
input[type="text"], input[type="email"], select, textarea {
width: 100%; background: rgba(243, 238, 228, 0.04); border: 1px solid var(--line-strong); border-radius: 10px;
color: var(--paper); font: inherit; font-size: 15px; padding: 13px 14px; outline: none;
transition: border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(38, 201, 164, 0.15); }
select option { background: var(--ink-800); color: var(--paper); }
.form-row { display: flex; gap: 12px; margin-bottom: 12px; }
.subscribe-status { margin-top: 12px; font-size: 14px; line-height: 1.5; }
.subscribe-status.success { color: var(--accent); }
.subscribe-status.error { color: var(--danger); }
@media (max-width: 640px) { .form-row { flex-direction: column; } }
.footer { background: var(--ink-900); border-top: 1px solid var(--line); padding: 64px 0 28px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; gap: 36px; margin-bottom: 44px; }
.footer-brand p { color: var(--muted); font-size: 14px; max-width: 34ch; margin-top: 14px; line-height: 1.6; }
.footer-links h5, .footer-links .footer-title { margin: 0 0 14px; font-size: 11px; letter-spacing: 0.2em; color: var(--muted); font-weight: 600; margin-bottom: 14px; text-transform: uppercase; }
.footer-links a { display: block; font-size: 14px; color: var(--body); text-decoration: none; margin-bottom: 9px; }
.footer-links a:hover { color: var(--paper); }
.footer-bottom { padding-top: 24px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.footer-bottom p { font-size: 12.5px; color: var(--muted); text-align: left; }
.footer-bottom a { color: var(--muted); text-decoration: none; }
.footer-bottom a:hover { color: var(--paper); }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; } }
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }
.scroll-top-btn { background: var(--ink-700); border: 1px solid var(--line-strong); color: var(--paper); border-radius: var(--radius-sm); }
.reveal, .reveal.visible { opacity: 1; transform: none; transition: none; }
@media (prefers-reduced-motion: reduce) { .btn:hover, a.k-card:hover, .archive-card:hover { transform: none; } }
.k-hero { padding: 150px 0 90px; min-height: 78vh; display: flex; align-items: center; position: relative; overflow: hidden; background: var(--ink-900); }
.k-hero::before {
content: ""; position: absolute; inset: 0; pointer-events: none;
background:
radial-gradient(900px 420px at 12% -10%, rgba(38, 201, 164, 0.10), transparent 60%),
radial-gradient(700px 380px at 100% 0%, rgba(224, 180, 90, 0.06), transparent 60%);
}
.k-hero-grid { display: grid; grid-template-columns: minmax(0, 640px); gap: 0; align-items: start; position: relative; width: 100%; }
.k-hero h1 { margin: 0 0 22px; max-width: 7.92em; }
.k-hero .k-lede { margin-bottom: 30px; }
.k-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 40px; }
.k-proof { display: flex; gap: 32px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid var(--line); }
.k-proof div { min-width: 120px; }
.k-proof strong { display: block; font-family: var(--sans); font-weight: 600; font-size: 28px; color: var(--paper); line-height: 1; margin-bottom: 6px; letter-spacing: -0.03em; }
.k-proof span { font-size: 12.5px; color: var(--muted); letter-spacing: 0.04em; }
.k-hero-photo { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.k-hero-photo img, .k-hero-photo video { width: 100%; height: 100%; object-fit: cover; object-position: 78% 50%; opacity: 0.85; display: block; }
.k-hero-photo { background: var(--ink-900) url(/data/media/keep-hero-signal.jpg?v=2) center / cover no-repeat; }
@media (prefers-reduced-motion: reduce) { .k-hero-photo video { display: none; } }
.k-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ink-900) 0%, rgba(7,11,20,0.88) 28%, rgba(7,11,20,0.35) 50%, rgba(7,11,20,0) 68%), linear-gradient(180deg, rgba(7,11,20,0.45) 0%, rgba(7,11,20,0) 25%, rgba(7,11,20,0) 75%, var(--ink-900) 100%); }
.k-hero::before { z-index: 1; }
.k-hero .k-hero-grid { z-index: 2; }
@media (max-width: 960px) { .k-hero-photo img, .k-hero-photo video { opacity: 0.45; object-position: 60% 50%; } }
.k-latest { padding: 34px 0 44px; border-bottom: 1px solid var(--line); background: var(--ink-900); }
.k-latest-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 20px; flex-wrap: wrap; }
.k-latest-head strong { font-family: var(--sans); font-weight: 600; font-size: 15px; color: var(--paper); letter-spacing: -0.01em; }
.k-latest-head span { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
.k-latest-links { margin-left: auto; display: flex; gap: 22px; font-size: 13.5px; }
.k-latest .archive-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.k-latest .archive-card { padding: 0 0 18px; background: transparent; border: 0; border-radius: 0; transform: none; }
.k-latest .archive-card:hover { background: transparent; transform: none; }
.k-latest .archive-card-image { margin: 0 0 14px; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--radius-sm); border: 1px solid var(--line); }
.k-latest .archive-card .format-badge { display: none; }
.k-latest .archive-title { font-size: 17px !important; margin-bottom: 8px; }
.k-latest .archive-footer { padding-top: 6px; }
.k-latest .new-badge { top: 10px; left: 10px; right: auto; }
.k-latest .skeleton-card { border: 0; background: transparent; min-height: 200px; }
@media (max-width: 1100px) { .k-latest .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .k-latest .archive-grid { grid-template-columns: 1fr; } }
.k-about-photo { position: relative; }
.k-about-loop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
@media (prefers-reduced-motion: reduce) { .k-about-loop { display: none; } }
@media (max-width: 960px) { .k-hero { padding: 130px 0 60px; min-height: 0; } .k-hero-grid { grid-template-columns: 1fr; gap: 40px; } .k-hero h1 { max-width: none; } .k-hero-photo img, .k-hero-photo video { object-position: 60% 50%; } }
.k-formats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.k-format { padding: 30px 28px 26px; }
.k-format { padding-top: 0; overflow: hidden; display: flex; flex-direction: column; }
.k-format > .k-link { margin-top: auto; align-self: flex-start; }
.k-format-media { flex-shrink: 0; }
.k-format-media { margin: 0 -28px 24px; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink-700); border-bottom: 1px solid var(--line); }
.k-format-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); filter: saturate(0.88); }
.k-card.k-format:hover .k-format-media img { transform: scale(1.03); }
.k-format-media { position: relative; }
.k-format-loop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .k-format-loop { display: none; } }
.k-format .k-eyebrow { margin-bottom: 18px; }
.k-format h3 { font-size: 24px; margin-bottom: 12px; }
.k-format p { margin-bottom: 20px; }
.k-format .k-small { margin-bottom: 20px; }
@media (max-width: 900px) { .k-formats { grid-template-columns: 1fr; } }
.k-plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: stretch; }
.k-plan { display: flex; flex-direction: column; padding: 26px 24px; position: relative; }
.k-plan.featured { border-color: rgba(38, 201, 164, 0.45); background: linear-gradient(180deg, rgba(38, 201, 164, 0.09), rgba(38, 201, 164, 0.02)); }
.k-plan .tag { position: absolute; top: -11px; left: 22px; background: var(--accent); color: var(--accent-ink); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; padding: 4px 10px; border-radius: 4px; text-transform: uppercase; }
.k-plan h3 { font-size: 19px; margin-bottom: 14px; }
.k-plan .price { font-family: var(--sans); font-weight: 600; font-size: 38px; line-height: 1; color: var(--paper); letter-spacing: -0.03em; }
.k-plan .price small { font-family: var(--sans); font-size: 13px; color: var(--muted); letter-spacing: 0; margin-left: 4px; }
.k-plan ul { list-style: none; padding: 0; margin: 18px 0 22px; flex: 1; }
.k-plan li { font-size: 14px; color: var(--body); padding: 6px 0 6px 18px; position: relative; line-height: 1.5; border-top: 1px solid var(--line); }
.k-plan li:first-child { border-top: 0; }
.k-plan li::before { content: ""; position: absolute; left: 0; top: 14px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.k-plan .btn { width: 100%; }
.k-plan-free { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; margin-top: 18px; padding: 22px 26px; }
.k-plan-free h3 { font-size: 20px; margin-bottom: 4px; }
@media (max-width: 1080px) { .k-plans { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .k-plans { grid-template-columns: 1fr; } .k-plan-free { grid-template-columns: 1fr; } }
.k-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.k-step { padding: 34px 28px 34px 0; border-right: 1px solid var(--line); }
.k-step:last-child { border-right: 0; padding-right: 0; }
.k-step + .k-step { padding-left: 28px; }
.k-step .k-num { font-size: 40px; margin-bottom: 16px; color: var(--paper-2); }
.k-step h3 { font-size: 21px; margin-bottom: 10px; }
.k-step p { font-size: 15px; color: var(--body); }
.k-sources { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 28px; font-size: 13.5px; color: var(--muted); }
.k-sources { column-gap: 0; }
.k-sources span { white-space: nowrap; }
.k-sources span::after { content: "·"; margin: 0 11px; color: var(--line-strong); }
.k-sources span:last-child::after { content: none; margin: 0; }
@media (max-width: 900px) { .k-steps { grid-template-columns: 1fr; } .k-step { border-right: 0; border-bottom: 1px solid var(--line); padding: 26px 0; } .k-step + .k-step { padding-left: 0; } .k-step:last-child { border-bottom: 0; } }
.k-sectors { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.k-sector { background: var(--ink-800); padding: 24px 22px; text-decoration: none; color: inherit; display: block; transition: background .2s; min-height: 148px; }
.k-sector:hover { background: var(--ink-700); }
.k-sector small { display: block; font-family: var(--sans); font-size: 12px; color: var(--muted); margin-bottom: 14px; letter-spacing: 0.06em; }
.k-sector h4 { font-family: var(--sans); font-weight: 600; font-size: 17px; color: var(--paper); margin: 0 0 8px; line-height: 1.25; letter-spacing: -0.01em; }
.k-sector p { font-size: 13.5px; color: var(--muted); line-height: 1.5; }
@media (max-width: 1000px) { .k-sectors { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .k-sectors { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .k-sectors { grid-template-columns: 1fr; } }
.k-media { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 28px; align-items: start; }
.k-videos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
.k-videos h3 { font-size: 18px; margin: 14px 0 4px; }
.k-videos p { color: var(--muted); font-size: 13.5px; }
@media (max-width: 900px) { .k-videos { grid-template-columns: 1fr; } }
.k-podcast { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 28px; align-items: center; padding: 28px; }
.k-podcast img { width: 180px; height: 180px; border-radius: var(--radius-sm); display: block; }
.k-podcast .k-platforms { flex-direction: row; flex-wrap: wrap; margin-top: 14px; }
.k-podcast .k-platforms a { padding: 10px 14px; }
.k-scout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: 28px; }
.k-scout-shot img { width: 100%; height: auto; border-radius: var(--radius-sm); display: block; border: 1px solid var(--line, rgba(255,255,255,0.08)); }
@media (max-width: 800px) { .k-scout { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .k-scout .btn { padding-left: 16px; padding-right: 16px; } }
@media (max-width: 700px) { .k-podcast { grid-template-columns: 1fr; } }
.k-media-frame { border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; background: var(--ink-700); aspect-ratio: 16 / 9; }
.k-media-frame iframe { width: 100%; height: 100%; display: block; border: 0; }
.featured-video-container .featured-video-wrapper iframe { border-radius: var(--radius) !important; }
.featured-video-meta { margin-top: 14px; }
.featured-video-meta h3 { font-size: 20px; margin-bottom: 4px; }
.featured-video-meta span { color: var(--muted); font-size: 13px; }
.featured-video-placeholder { padding: 60px 20px; text-align: center; color: var(--muted); }
.k-platforms { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.k-platforms a { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border: 1px solid var(--line); border-radius: 10px; text-decoration: none; color: var(--paper); font-weight: 500; font-size: 14.5px; transition: border-color .15s, background .15s; }
.k-platforms a:hover { border-color: var(--line-strong); background: rgba(243, 238, 228, 0.03); }
.k-platforms a span { color: var(--muted); font-size: 12.5px; }
@media (max-width: 900px) { .k-media { grid-template-columns: 1fr; } }
.k-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.k-about p + p { margin-top: 16px; }
.k-about-photo { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); aspect-ratio: 16 / 10; margin-bottom: 14px; }
.k-about-photo img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(0.9); }
.k-people { display: grid; gap: 14px; }
.k-person { display: grid; grid-template-columns: 72px 1fr; gap: 18px; align-items: start; padding: 22px; }
.k-person .photo { width: 72px; height: 72px; border-radius: 50%; overflow: hidden; background: var(--ink-600); border: 1px solid var(--line-strong); }
.k-person .photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.k-person h3 { font-size: 20px; margin-bottom: 2px; }
.k-person .role { font-size: 12.5px; color: var(--accent); margin-bottom: 10px; letter-spacing: 0.02em; }
.k-person p { font-size: 14px; color: var(--body); line-height: 1.6; }
@media (max-width: 900px) { .k-about { grid-template-columns: 1fr; gap: 32px; } }
@media screen {
.capability-page .section > .container { max-width: 1180px !important; }
.capability-page .section { padding-top: 132px !important; }
.capability-page h2[id], .capability-page section[id] { scroll-margin-top: 100px; }
.cap-hero { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 64px; padding-bottom: 48px; }
.cap-hero h1 { font-size: 20px; margin: 0 0 22px; }
.cap-hero .cap-hero-title { font-size: clamp(32px, 3.5vw, 48px); font-weight: 600; line-height: 1.12; letter-spacing: -.035em; color: var(--paper); margin-bottom: 24px; }
.cap-hero-title span { color: var(--accent); }
.cap-hero-lede { max-width: 45ch; font-size: 17px; line-height: 1.7; }
.cap-identity { margin-top: 18px; color: var(--muted); font-size: 12px; }
.cap-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.cap-actions .btn { font-size: 13px; padding: 12px 17px; }
.cap-hero-proof { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--ink-800); }
.cap-hero-proof > img { display: block; width: 100%; height: 180px; object-fit: cover; }
.cap-proof-copy { padding: 26px; }
.cap-proof-copy .k-eyebrow { font-size: 10px; margin-bottom: 20px; }
.cap-proof-copy ol { list-style: none; margin: 0; padding: 0; }
.cap-proof-copy li { display: flex; gap: 18px; padding: 15px 0; border-top: 1px solid var(--line); }
.cap-proof-copy li > span { font: 12px var(--mono); color: var(--accent); padding-top: 4px; }
.cap-proof-copy strong { font-size: 14px; font-weight: 500; color: var(--paper); }
.cap-proof-copy li p { font-size: 12.5px; color: var(--muted); margin-top: 4px; }
.cap-jump { display: flex; flex-wrap: wrap; gap: 12px 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; margin-bottom: 34px; }
.cap-jump a { text-decoration: none; font-size: 13px; color: var(--body); }
.cap-jump a:hover { color: var(--accent); }
.capability-page .cap-metric { text-align: left; border-color: var(--line); background: transparent; padding: 16px 20px; }
.capability-page .cap-metric .n { font-weight: 500; color: var(--paper); }
.capability-page .cap-metric .l { font-size: 10px; line-height: 1.5; }
.capability-page .cap-section-title { font-size: clamp(24px, 3vw, 32px); padding-top: 28px; margin: 0 0 18px; }
.cap-section-intro { max-width: 72ch; margin: 0 0 26px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.capability-page .cap-services { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 32px; }
.capability-page .cap-card { min-width: 0; border-color: var(--line); }
.capability-page .cap-services .cap-card { padding: 27px; background: var(--ink-800); border-top: 2px solid var(--accent-deep); }
.cap-service-number { display: block; font-size: 10px; font-weight: 500; color: var(--muted); letter-spacing: .14em; margin-bottom: 20px; }
.capability-page .cap-services h3 { color: var(--paper); font-size: 18px; line-height: 1.3; letter-spacing: -.02em; margin-bottom: 12px; }
.capability-page .cap-services p { font-size: 13.5px; line-height: 1.75; }
.capability-page .cap-difference { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 32px; }
.cap-difference .cap-card { background: transparent; }
.cap-ecosystem { margin: 60px 0; padding: 40px 0; border-block: 1px solid var(--line-strong); }
.cap-ecosystem h2 { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.15; margin-bottom: 20px; }
.cap-media-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cap-media-card { display: block; overflow: hidden; text-decoration: none; border: 1px solid var(--line); border-radius: var(--radius); background: var(--ink-800); transition: border-color .2s; }
.cap-media-card:hover { border-color: var(--accent-deep); }
.cap-media-card > img { width: 100%; height: 190px; object-fit: cover; display: block; }
.cap-media-card > img.cap-podcast-art { object-fit: contain; background: #061321; }
.cap-media-card > div { padding: 24px; }
.cap-media-card .cap-service-number { margin-bottom: 10px; }
.cap-media-card h3 { display: flex; justify-content: space-between; gap: 12px; font-size: 19px; line-height: 1.35; margin: 0 0 10px; }
.cap-media-card h3 span { color: var(--accent); }
.cap-media-card p { color: var(--body); font-size: 14px; line-height: 1.7; }
.cap-ecosystem-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 24px; }
.cap-ecosystem-foot p { max-width: 55ch; font-size: 13px; color: var(--muted); }
.capability-page .cap-leadership { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cap-leadership .cap-card { padding: 28px; background: var(--ink-800); }
.cap-leadership .cap-card h3 { color: var(--paper); font-size: 21px; }
.capability-page .cap-dl dd { overflow-wrap: anywhere; }
.cap-contact { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 50px; padding: 36px; background: var(--ink-800); border: 1px solid var(--line-strong); border-radius: var(--radius); }
.cap-contact h2 { font-size: 30px; margin-bottom: 18px; line-height: 1.2; }
.cap-contact p { max-width: 57ch; color: var(--muted); font-size: 14px; }
.cap-contact .btn { flex-shrink: 0; }
.capability-page a:focus-visible, .capability-page button:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
}
#report-content { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.report-section, .error-section { padding-top: 100px !important; }
#report-content :is(.report-layout-table, table:not(:has(> caption, > thead > tr > th, > tbody > tr > th, > tfoot > tr > th, > tr > th)):is(:not(table table), [width*="100%"], [style*="100%"])) { width: 100% !important; max-width: 100% !important; table-layout: fixed; }
#report-content td[width="30"], #report-content td[width="45"], #report-content td[width="55"] { white-space: nowrap; }
#report-content table[role="presentation"] { margin: 0; }
#report-content table[role="presentation"] > tbody > tr > td { padding: 0; }
#report-content td:has(> table td[width="34"][height="34"]) { padding-right: 14px !important; }
#report-content td:has(> table td[width="34"][height="34"]) + td { padding-left: 0 !important; }
#report-content td[width="34"][height="34"] { border: 2px solid #26C9A4 !important; border-radius: 17px !important; color: #26C9A4 !important; width: 34px !important; height: 34px !important; padding: 0 !important; text-align: center; }
#report-content img, #report-content video, #report-content iframe { max-width: 100% !important; }
#report-content img { height: auto; }
#report-content svg { max-width: 100%; }
.report-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; margin: 16px 0; }
.report-table-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
#report-content .report-table-scroll table { width: 100%; min-width: 560px; }
@media screen and (max-width: 860px) {
#report-content { padding: 0; }
#report-content :is(.report-layout-table, table:not(:has(> caption, > thead > tr > th, > tbody > tr > th, > tfoot > tr > th, > tr > th)):is(:not(table table), [width*="100%"], [style*="100%"])) > tbody > tr > td { padding-left: 12px !important; padding-right: 12px !important; }
#report-content > :is(.report-layout-table, table:not(:has(> caption, > thead > tr > th, > tbody > tr > th, > tfoot > tr > th, > tr > th)):is(:not(table table), [width*="100%"], [style*="100%"])) > tbody > tr > td { padding-left: 0 !important; padding-right: 0 !important; }
#report-content :is(.report-stat-row, :is(.report-layout-table, table:not(:has(> caption, > thead > tr > th, > tbody > tr > th, > tfoot > tr > th, > tr > th)):is(:not(table table), [width*="100%"], [style*="100%"])) > * > tr:has(> :nth-child(3)):not(:has(> :not([width="25%"])))) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#report-content :is(.report-stat-row, :is(.report-layout-table, table:not(:has(> caption, > thead > tr > th, > tbody > tr > th, > tfoot > tr > th, > tr > th)):is(:not(table table), [width*="100%"], [style*="100%"])) > * > tr:has(> :nth-child(3)):not(:has(> :not([width="25%"])))) > td { width: auto !important; display: block; }
#report-content :is(.report-brand-row, :is(.report-layout-table, table:not(:has(> caption, > thead > tr > th, > tbody > tr > th, > tfoot > tr > th, > tr > th)):is(:not(table table), [width*="100%"], [style*="100%"])) > * > tr:has(> :nth-child(2)):not(:has(> :nth-child(3))):has(> :first-child :is(a svg, a img))) > td { display: block; width: 100% !important; text-align: left; }
#report-content :is(.report-brand-row, :is(.report-layout-table, table:not(:has(> caption, > thead > tr > th, > tbody > tr > th, > tfoot > tr > th, > tr > th)):is(:not(table table), [width*="100%"], [style*="100%"])) > * > tr:has(> :nth-child(2)):not(:has(> :nth-child(3))):has(> :first-child :is(a svg, a img))) > td + td { padding-top: 12px !important; }
input[type="text"], input[type="email"], input[type="search"], select, textarea { font-size: 16px !important; min-width: 0; }
}
@media print {
.report-table-scroll { overflow: visible; }
#report-content .report-table-scroll table { min-width: 0; }
}
@media screen and (max-width: 900px) {
.cap-hero { grid-template-columns: 1fr; gap: 30px; }
.cap-hero-proof { display: grid; grid-template-columns: 1fr 1.2fr; }
.cap-hero-proof > img { height: 100%; min-height: 290px; }
.capability-page .cap-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cap-contact { flex-direction: column; align-items: flex-start; }
}
@media screen and (max-width: 600px) {
.capability-page .section { padding-top: 108px !important; }
.cap-hero { gap: 28px; padding-bottom: 30px; }
.cap-hero-proof { display: block; }
.cap-hero-proof > img { min-height: 0; height: 160px; }
.cap-proof-copy { padding: 22px; }
.cap-jump { gap: 12px 22px; }
.capability-page .cap-services, .capability-page .cap-difference, .capability-page .cap-leadership, .cap-media-grid { grid-template-columns: minmax(0, 1fr); }
.capability-page .cap-dl { grid-template-columns: 1fr; gap: 3px; }
.capability-page .cap-dl dd { margin-bottom: 13px; }
.capability-page .cap-leadership .cap-card { padding: 22px; }
.cap-media-card > img { height: 170px; }
.cap-contact { padding: 24px; }
.cap-contact h2 { font-size: 26px; }
}
@media print {
.capability-page { --paper: #122333; --muted: #425466; --body: #122333; --accent: #087565; }
.capability-page .cap-service-number, .capability-page .scroll-top-btn { display: none !important; }
.capability-page .section { background: #fff !important; }
.capability-page .section h1 { color: #122333 !important; font-size: 22pt !important; }
.capability-page .section h2 { color: #122333 !important; font-size: 12pt !important; break-after: avoid; }
.capability-page .section h3 { font-size: 9pt !important; }
.capability-page .section p, .capability-page .section li, .capability-page .section dd, .capability-page .section dt { font-size: 8.3pt !important; line-height: 1.35 !important; }
.capability-page .section li { margin-bottom: 0 !important; }
.capability-page .cap-hero .k-eyebrow { margin-bottom: 6px; }
.capability-page .cap-hero-title { font-size: 11pt !important; font-weight: 600; }
.capability-page .cap-hero-title br { display: none; }
.capability-page .cap-hero-title span::before { content: ' '; }
.capability-page .cap-services { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 10px; }
.capability-page .cap-difference, .capability-page .cap-leadership { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 10px; }
.capability-page .cap-dl { margin: 0; }
.capability-page .cap-card { border-color: #ccd6db; }
}
.k-forms { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.k-form { padding: 32px; }
.k-form h2 { font-size: 30px; margin-bottom: 10px; }
.k-form > p { color: var(--body); margin-bottom: 22px; font-size: 15px; }
.k-form .btn-full { margin-top: 4px; }
.preview-btn { background: transparent; border: 0; color: var(--paper); font: inherit; font-size: 14px; cursor: pointer; padding: 0; border-bottom: 1px solid var(--line-strong); margin-bottom: 20px; }
.preview-btn:hover { color: var(--accent); border-color: var(--accent); }
@media (max-width: 900px) { .k-forms { grid-template-columns: minmax(0, 1fr); } }
.k-forms > * { min-width: 0; }
.k-form select, .k-form input, .k-form textarea { min-width: 0; max-width: 100%; }
.preview-modal { background: var(--ink-800); border: 1px solid var(--line-strong); border-radius: var(--radius); }
.preview-header h3 { font-size: 18px; }
.showcase-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.showcase-card { display:block;overflow:hidden;border:1px solid var(--line,#253545);border-radius:12px;background:var(--surface,#0b1220);text-decoration:none;color:var(--body); }
.showcase-card>img { width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block; }
.showcase-card>div { padding:24px; }
.showcase-card h3 { font-size:21px;line-height:1.35;color:var(--paper);margin:12px 0; }
.showcase-card p { font-size:14px;line-height:1.7;margin-bottom:20px; }
.archive-filters { display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:18px 0 8px; }
.archive-filters label { display:grid;gap:8px;font-size:13px;color:var(--paper); }
.archive-filters select { min-height:44px;max-width:100%;padding:10px 34px 10px 12px;background:#0b1220;color:#f3eee4;border:1px solid #526474;border-radius:6px;font:inherit; }
.archive-search-wrap { flex-wrap:wrap; }
.archive-filters { flex-basis:100%; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #26c9a4;outline-offset:4px; }
.archive-card-image img { aspect-ratio:16/9;object-fit:cover; }
.archive-card .archive-title { line-height:1.4; }
@media(max-width:800px){.showcase-grid{grid-template-columns:1fr}.archive-filters label{max-width:100%}.archive-filters select{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.k-hero-video,.k-format-loop,.k-about-loop{display:none!important}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.section-badge { display: inline-flex; align-items: center; gap: 10px; background: none; border: 0; padding: 0; backdrop-filter: none; -webkit-backdrop-filter: none; text-transform: uppercase; margin-bottom: 18px; color: var(--muted); font-size: 11px; letter-spacing: 0.2em; }
[data-kp-field] { position: relative; overflow: hidden; isolation: isolate; }
[data-kp-field] > .container { position: relative; z-index: 2; }
.kp-field { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; display: block; }
.page-hero[data-kp-field], .cap-hero[data-kp-field] { min-height: 500px; display: flex; align-items: center; }
.page-hero[data-kp-field] > .container { width: 100%; }
.page-hero[data-kp-field]::after { content: ""; position: absolute; inset: auto 0 0 0; height: 90px; background: linear-gradient(180deg, rgba(7,11,20,0), var(--ink-900)); z-index: 1; pointer-events: none; }
.page-hero .kp-field, .cap-hero .kp-field {
-webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 26%, #000 60%);
mask-image: linear-gradient(90deg, transparent 0%, transparent 26%, #000 60%);
}
.page-hero-compact[data-kp-field] { min-height: 420px; }
.page-hero h1, .k-hero h1, .k-section-head h2 { text-wrap: balance; }
.error-section .kp-field { -webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 72%); mask-image: linear-gradient(90deg, transparent 30%, #000 72%); opacity: .8; }
.k-hero .kp-field--ground { top: auto; bottom: 0; height: 52%; z-index: 1; opacity: 0.9;
-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 55%), linear-gradient(90deg, rgba(0,0,0,.3) 0%, #000 55%);
-webkit-mask-composite: source-in;
mask-image: linear-gradient(180deg, transparent 0%, #000 55%), linear-gradient(90deg, rgba(0,0,0,.3) 0%, #000 55%);
mask-composite: intersect; }
.kp-js .k-hero-photo video, .kp-js .k-hero-photo img { transform: translate3d(calc(var(--kp-px, 0) * -22px), calc(var(--kp-py, 0) * -14px), 0) scale(1.045); will-change: transform; }
.kp-band { position: relative; height: 250px; margin: 6px 0 30px; border-radius: var(--radius); overflow: hidden; background: radial-gradient(60% 90% at 50% 50%, rgba(38,201,164,.06), transparent 70%); }
.kp-band .kp-field { -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.kp-band-labels { position: absolute; inset: 16px 0 auto 0; text-shadow: 0 1px 8px var(--ink-900); display: flex; justify-content: space-between; padding: 0 6%; z-index: 1; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); pointer-events: none; }
.kp-band-labels span:nth-child(2) { color: var(--accent); }
.kp-band-labels span:nth-child(3) { color: var(--gold); }
@media (max-width: 900px) {
.page-hero[data-kp-field], .cap-hero[data-kp-field] { min-height: 0; }
.page-hero .kp-field, .cap-hero .kp-field { opacity: 0.5; -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.6) 45%, transparent 85%); mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.6) 45%, transparent 85%); }
.k-hero .kp-field--ground { height: 40%; opacity: 0.6; }
.kp-band { height: 190px; }
.kp-band-labels { font-size: 10px; letter-spacing: 0.12em; }
}
@media (max-width: 640px) {
.kp-band-labels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 12px; padding: 0 5%; line-height: 1.5; }
.kp-band-labels span:nth-child(2) { text-align: center; }
.kp-band-labels span:nth-child(3) { text-align: right; }
}
.kp-js :is(.archive-card, .k-plan, .k-format, .cap-card, .showcase-card, .stat-mini, [data-kp-tilt]) { position: relative; transition: transform .6s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
.kp-js .k-sector { position: relative; }
.kp-js .kp-tilt-on:not(.k-sector) { transition: transform .12s linear, box-shadow .3s var(--ease), border-color .3s var(--ease); box-shadow: 0 30px 60px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(38,201,164,.16); border-color: rgba(38,201,164,.34); }
.k-latest .kp-tilt-on { box-shadow: none !important; }
.kp-sheen { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .35s var(--ease); background: radial-gradient(460px circle at var(--kp-mx, 50%) var(--kp-my, 50%), rgba(38,201,164,.13), transparent 46%); mix-blend-mode: screen; z-index: 1; }
.kp-tilt-on > .kp-sheen { opacity: 1; }
.kp-sub-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 40px; align-items: center; }
.kp-report-wrap { position: relative; height: 430px; perspective: 1400px; }
.kp-report { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(var(--kp-rx, 6deg)) rotateY(var(--kp-ry, -16deg)) rotateZ(1deg); transition: transform .08s linear; }
.kp-page { position: absolute; top: 4%; width: 58%; aspect-ratio: 612 / 792; border-radius: 4px; overflow: hidden; background: #fff; box-shadow: 0 40px 80px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.05); backface-visibility: hidden; }
.kp-page img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kp-page--3 { left: 40%; transform: translateZ(-120px) rotateY(10deg) translateY(10px); filter: brightness(.55); }
.kp-page--2 { left: 26%; transform: translateZ(-50px) rotateY(4deg) translateY(4px); filter: brightness(.78); }
.kp-page--1 { left: 10%; transform: translateZ(30px); }
.kp-page--1::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 35%); pointer-events: none; }
.kp-report-cap { position: absolute; left: 10%; bottom: -6px; font-size: 12px; color: var(--muted); letter-spacing: .02em; }
.kp-report-cap a { color: var(--paper); }
@media (prefers-reduced-motion: no-preference) {
.kp-js .kp-report { animation: kp-float 7s ease-in-out infinite; }
}
@keyframes kp-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@media (max-width: 900px) {
.kp-sub-hero { grid-template-columns: 1fr; gap: 10px; }
.kp-report-wrap { height: 370px; max-width: 420px; }
.kp-page { width: 54%; }
}
@media (max-width: 480px) { .kp-report-wrap { height: 300px; } .kp-page { width: 50%; } }
@media (prefers-reduced-motion: reduce) {
.kp-js .k-hero-photo video, .kp-js .k-hero-photo img { transform: none; }
.kp-report { transform: rotateX(6deg) rotateY(-16deg) rotateZ(1deg); }
}
.sm-icon { color: var(--accent); display: flex; justify-content: center; margin-bottom: 8px; }
.qs-icon { font: 600 12px var(--mono); width: 30px; height: 30px; border: 1px solid var(--line-strong); border-radius: 6px; display: grid; place-items: center; color: var(--accent); }
.tl-row-type { font: 600 12px var(--mono); }
@media print { .kp-field, .kp-sheen, .kp-band, .kp-report-wrap { display: none !important; } .kp-js :is(.archive-card, .k-plan, .cap-card) { transform: none !important; box-shadow: none !important; } }
@media (min-width: 1281px) and (max-width: 1759px) {
.report-toc:not(:hover):not(:focus-within) { width: 34px; right: 0; padding: 12px 8px; top: 150px; border-radius: 8px 0 0 8px; overflow: hidden; }
.report-toc:not(:hover):not(:focus-within) .toc-links { max-height: 0; opacity: 0; overflow: hidden; pointer-events: none; }
.report-toc:not(:hover):not(:focus-within) .toc-header { margin-bottom: 0; display: block; }
.report-toc:not(:hover):not(:focus-within) .toc-header > :not(h5, .toc-title) { display: none; }
.report-toc:not(:hover):not(:focus-within) :is(h5, .toc-title) { font-size: 10px; color: var(--muted); writing-mode: vertical-rl; transform: rotate(180deg); margin: 0; white-space: nowrap; }
.report-toc:hover, .report-toc:focus-within { right: 0; border-radius: 14px 0 0 14px; box-shadow: 0 30px 70px -20px rgba(0,0,0,.8); }
}
.archive-search-wrap .archive-search-box { min-height: 50px; padding: 0 16px; gap: 12px; }
.archive-search-wrap .archive-search-box svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--muted); }
.archive-search-wrap .archive-search-box input[type="text"] { flex: 1 1 auto; min-width: 0; width: auto; height: 48px; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; outline: none; }
.archive-search-wrap .archive-search-box input[type="text"]:focus,
.archive-search-wrap .archive-search-box input[type="text"]:focus-visible { border: 0; box-shadow: none; outline: none; }
.archive-search-wrap .archive-search-box:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(38, 201, 164, 0.18); }
.archive-search-wrap .archive-search-box:focus-within svg { color: var(--accent); }
.kp-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.read-time::before { content: none !important; }
.kp-signup-form { display: flex; flex-direction: row; gap: 10px; flex-wrap: wrap; align-items: stretch; min-width: 0; }
.kp-signup-form input[type="email"] { flex: 1 1 220px; min-width: 0; width: auto; height: auto; }
.kp-signup-form .btn { flex: 0 0 auto; }
.kp-signup-form .subscribe-status { flex-basis: 100%; margin-top: 2px; min-height: 1.5em; }
.kp-signup-note { font-size: 12.5px; color: var(--muted); margin-top: 10px; }
.kp-signup { padding: 64px 0; border-top: 1px solid var(--line); background: radial-gradient(900px 300px at 85% 0%, rgba(38, 201, 164, 0.08), transparent 70%), var(--ink-800); }
.kp-signup-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.kp-signup h2 { font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 10px; }
.kp-signup p { color: var(--body); font-size: 15.5px; line-height: 1.65; max-width: 52ch; }
.kp-signup-links { margin-top: 14px; display: flex; gap: 20px; flex-wrap: wrap; font-size: 14px; }
@media (max-width: 860px) { .kp-signup { padding: 48px 0; } .kp-signup-inner { grid-template-columns: 1fr; gap: 22px; } }
.k-hero-signup { max-width: 540px; margin: 0 0 18px; }
.k-hero-signup .kp-signup-form input[type="email"] { background: rgba(7, 11, 20, 0.72); }
.k-hero-signup-label { display: block; font-size: 13px; font-weight: 600; letter-spacing: 0.02em; color: var(--paper); margin-bottom: 10px; }
.k-hero .k-hero-actions { margin-bottom: 34px; }
.page-hero .kp-hero-signup { max-width: 540px; margin-top: 24px; }
.archive-more { display: flex; justify-content: center; margin-top: 30px; }
.archive-more[hidden] { display: none; }
.archive-filters[hidden] { display: none; }
@media (scripting: none) { .archive-search-wrap { display: none; } }
.archive-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.kp-report-next { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin: 48px 0 24px; }
.kp-report-next > div { padding: 28px; border-radius: var(--radius); border: 1px solid var(--line-strong); background: linear-gradient(180deg, rgba(243, 238, 228, 0.035), rgba(243, 238, 228, 0.012)); display: flex; flex-direction: column; }
.kp-report-next .kp-report-paid { border-color: rgba(38, 201, 164, 0.45); background: linear-gradient(180deg, rgba(38, 201, 164, 0.10), rgba(38, 201, 164, 0.02)); }
.kp-report-next h3 { font-size: 21px; margin: 0 0 10px; }
.kp-report-next p { color: var(--body); font-size: 14.5px; line-height: 1.65; margin-bottom: 18px; }
.kp-report-next .kp-report-actions { margin-top: auto; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.kp-report-next .k-small { margin-top: 12px; }
.kp-report-after { text-align: center; font-size: 13.5px; color: var(--muted); margin: 0 0 24px; }
.kp-report-after a { color: var(--paper); }
@media (max-width: 860px) { .kp-report-next { grid-template-columns: 1fr; } .kp-report-next > div { padding: 22px; } }
.kp-yt { position: relative; display: block; width: 100%; height: 100%; background: var(--ink-700); }
.kp-yt img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.92; transition: opacity .2s; }
.kp-yt:hover img { opacity: 1; }
.kp-yt-play { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; margin: -24px 0 0 -34px; border-radius: 12px; background: rgba(7, 11, 20, 0.78); border: 1px solid var(--line-strong); transition: background .2s; }
.kp-yt-play::after { content: ""; position: absolute; left: 28px; top: 14px; border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent var(--paper); }
.kp-yt:hover .kp-yt-play, .kp-yt:focus-visible .kp-yt-play { background: var(--accent); }
.kp-yt:hover .kp-yt-play::after, .kp-yt:focus-visible .kp-yt-play::after { border-left-color: var(--accent-ink); }
.kp-yt-frame { width: 100%; height: 100%; display: block; border: 0; }
.kp-fb { min-height: 180px; background: radial-gradient(120% 90% at 50% 40%, var(--ink-600, #1a2233), var(--ink-700)); }
.kp-fb-note { position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; color: var(--muted); font-size: 13px; }
.featured-video-meta .k-link { display: inline-block; margin-top: 8px; font-size: 14px; }
.kp-roundup { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.kp-roundup[hidden] { display: none; }
.kp-roundup h2 { font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 12px; }
.kp-roundup-meta p { color: var(--body); font-size: 15.5px; line-height: 1.65; margin-bottom: 20px; }
.kp-roundup-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.kp-roundup-past { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.kp-roundup-past[hidden] { display: none; }
.kp-roundup-past h3 { font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; font-weight: 600; }
.kp-roundup-past ul { list-style: none; margin: 0; padding: 0; }
.kp-roundup-past li { padding: 8px 0; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.45; }
.kp-roundup-past li:first-child { border-top: 0; }
.kp-roundup-past a { color: var(--paper); text-decoration: none; }
.kp-roundup-past a:hover { color: var(--accent); }
.kp-roundup-past span { display: block; color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.kp-roundup-fallback { color: var(--muted); }
@media (max-width: 900px) { .kp-roundup { grid-template-columns: 1fr; gap: 22px; } }
.kp-roundup-slot[hidden] { display: none; }
.kp-roundup-strip { display: grid; grid-template-columns: 176px minmax(0, 1fr); gap: 18px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: inherit; background: rgba(243, 238, 228, 0.02); transition: border-color .2s; }
.kp-roundup-strip:hover { border-color: var(--line-strong); }
.kp-roundup-strip img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-sm); display: block; }
.kp-roundup-strip-copy { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kp-roundup-strip .k-eyebrow { margin: 0; }
.kp-roundup-strip strong { color: var(--paper); font-size: 16px; font-weight: 600; line-height: 1.35; }
.kp-roundup-strip .k-link { align-self: flex-start; font-size: 13.5px; }
.page-hero .kp-roundup-slot { margin-top: 26px; max-width: 640px; }
.k-latest .kp-roundup-slot { margin-top: 22px; }
@media (max-width: 520px) { .kp-roundup-strip { grid-template-columns: 112px minmax(0, 1fr); gap: 12px; } .kp-roundup-strip strong { font-size: 14.5px; } }
.related-card-cover { aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-sm); margin-bottom: 12px; background: var(--ink-700); }
.section-header .section-badge { display: flex; }
.category-hero .section-badge { display: flex; justify-content: center; }
.category-hero .page-hero-sub { margin-left: auto; margin-right: auto; }
.category-hero .category-bg-video { background: var(--ink-900) center / cover no-repeat; }
.km-page .k-section[id] { scroll-margin-top: 76px; }
.km-toc { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 28px; font-size: 13.5px; }
.km-toc a { color: var(--body); text-decoration: none; border-bottom: 1px solid var(--line-strong); padding-bottom: 2px; }
.km-toc a:hover { color: var(--accent); border-color: var(--accent); }
.km-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.km-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.km-sources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.km-sources .k-card h3, .km-trio .k-card h3, .km-pair .k-card h3 { font-size: 18px; }
.km-lenses { margin: 26px 0; }
.km-lenses .k-card { border-top: 2px solid var(--accent); }
.km-prose { max-width: 70ch; }
.km-prose p { color: var(--body); font-size: 16.5px; line-height: 1.7; margin-bottom: 16px; }
.km-prose p:last-child { margin-bottom: 0; }
.km-after { margin-top: 22px; }
.km-note { margin-top: 28px; max-width: 78ch; border-left: 3px solid var(--gold); background: rgba(224, 180, 90, 0.05); padding: 16px 20px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.km-note p { color: var(--body); font-size: 15px; line-height: 1.7; }
.km-note strong { color: var(--paper); }
.km-cadence { margin: 0; border-top: 1px solid var(--line); }
.km-cadence > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.km-cadence dt { font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); padding-top: 3px; }
.km-cadence dd { margin: 0; color: var(--body); font-size: 16px; line-height: 1.65; max-width: 72ch; }
.km-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 32px; counter-reset: km-step; }
.km-flow li { position: relative; padding: 30px 0 26px; border-top: 1px solid var(--line-strong); counter-increment: km-step; }
.km-flow li::before { content: counter(km-step, decimal-leading-zero); position: absolute; top: -12px; left: 0; padding-right: 12px; background: var(--ink-900); font: 600 13px var(--mono); color: var(--accent); letter-spacing: 0.08em; line-height: 24px; }
.km-flow li::after { content: ""; position: absolute; top: -5px; right: 0; border: 4.5px solid transparent; border-left: 7px solid var(--line-strong); border-right: 0; }
.km-stage { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.km-flow h3 { font-size: 19px; margin-bottom: 8px; }
.km-flow p { font-size: 15px; color: var(--body); line-height: 1.65; }
.km-limits { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.km-limits li { padding: 18px 0; border-top: 1px solid var(--line); color: var(--body); font-size: 15.5px; line-height: 1.7; }
.km-limits strong { color: var(--paper); }
.km-correct { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 32px; align-items: center; padding: 34px 36px; }
.km-correct h2 { margin-bottom: 14px; }
.km-correct p { max-width: 62ch; }
.km-correct-actions { display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 900px) {
.km-trio, .km-sources, .km-pair, .km-limits { grid-template-columns: 1fr; }
.km-flow { grid-template-columns: 1fr; gap: 6px; }
.km-flow li::after { display: none; }
.km-cadence > div { grid-template-columns: 1fr; gap: 6px; }
.km-correct { grid-template-columns: 1fr; padding: 26px 22px; }
.km-correct-actions { flex-direction: row; flex-wrap: wrap; }
}
.scout-wm { display: flex; width: fit-content; align-items: center; gap: 12px; white-space: nowrap; line-height: 1; margin: 0; }
.scout-wm img { width: 44px; height: 44px; flex: none; }
.scout-wm .kp { font: 800 30px/1 'Inter', sans-serif; letter-spacing: -0.035em; color: var(--paper); }
.scout-wm .sp { color: #00D4AA; }
.scout-wm .sc { font: italic 400 38px/1 'Instrument Serif', Georgia, serif; color: #8ADDE3; margin-left: 6px; letter-spacing: -0.01em; }
.scout-wm.lg img { width: 58px; height: 58px; }
.scout-wm.lg .kp { font-size: 40px; }
.scout-wm.lg .sc { font-size: 52px; }
.scout-wm .bot { font: normal 700 0.72em/1 'Inter', sans-serif; letter-spacing: 0.04em; color: #9BE7EC; margin-left: 0.06em; }
@media (max-width: 500px) { .scout-wm { gap: 1.9vw; } .scout-wm img { width: 7.3vw; height: 7.3vw; } .scout-wm .kp { font-size: 4.9vw; } .scout-wm .sc { font-size: 6.35vw; margin-left: 0.7vw; } }
@media (max-width: 600px) { .scout-wm.lg { gap: 2.2vw; } .scout-wm.lg img { width: min(9.6vw, 58px); height: min(9.6vw, 58px); } .scout-wm.lg .kp { font-size: min(6.3vw, 40px); } .scout-wm.lg .sc { font-size: min(8.3vw, 52px); margin-left: 1vw; } }
.nav-links a.nav-product img { width: 16px; height: 16px; vertical-align: -3px; margin-right: 6px; }
.nav-links a.nav-product:hover img, .nav-links a.nav-product.active img { filter: brightness(0.12); }
@media (max-width: 860px) { .nav-links a.nav-product { width: auto; align-self: flex-start; padding: 10px 18px !important; margin: 10px 0 4px; } }
@media (min-width: 861px) and (max-width: 1060px) { .nav-links a.nav-product .nav-product-ai { display: none; } }
@media (min-width: 861px) and (max-width: 1040px) {
.nav-links { gap: 12px; } .nav-links a, .nav-search-btn { font-size: 13px; } .logo-img { height: 26px; }
.nav-links .btn { padding: 8px 12px; } .nav-links a.nav-product { padding: 5px 10px; }
}
@media (min-width: 861px) and (max-width: 920px) { .nav-links { gap: 8px; } .nav-links a, .nav-search-btn { font-size: 12.5px; } }
.kp-skip { position: absolute; left: 12px; top: -64px; z-index: 10001; background: var(--accent); color: var(--accent-ink); padding: 10px 16px; border-radius: 6px; font-weight: 600; text-decoration: none; }
.kp-skip:focus { top: 12px; }
main#main:focus { outline: none; }
.kp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kp-ai-note { font-size: 12.5px; color: var(--muted); margin: 0 0 14px; }
.kp-ai-note a { color: var(--accent); }
.kp-yt-embed { position: relative; width: 100%; max-width: 800px; margin: 16px auto; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; }
.kp-yt-embed .kp-yt { height: 100%; }
:root {
--kp-ease-out: cubic-bezier(.23, 1, .32, 1);
--kp-t-ui: 180ms;
--kp-t-step: 560ms;
--kp-t-draw: 820ms;
--kp-t-mask: 760ms;
--kp-shift-s: 16px;
--kp-x: 24px;
--kp-y: 28px;
--kp-c-trace-rest: rgba(38, 201, 164, .5);
--kp-c-trace-idle: rgba(243, 238, 228, .12);
}
@media (min-width: 1280px) { :root { --kp-x: 48px; } }
.section { overflow: clip; display: flow-root; }
.k-section { overflow-x: clip; }
.k-sectors, .k-format, .k-format-media { overflow: clip; }
.k-formats > *, .k-format-media { min-width: 0; }
.k-format-media { min-height: 0; }
@media (max-width: 899.98px) { html, body { overflow-x: clip; } }
.new-badge { animation: none !important; }
.kp-motion-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 4px 12px; border: 1px solid var(--line-strong); border-radius: 999px; background: rgba(7, 11, 20, .55); color: var(--body); font: 500 12.5px var(--sans); letter-spacing: .02em; cursor: pointer; }
[data-kp-motion-toggle][hidden] { display: none; }
button.kp-skip { border: 0; font: 600 16px var(--sans); cursor: pointer; }
.kp-motion-toggle::before { content: ""; width: 8px; height: 8px; box-sizing: border-box; border-left: 2px solid currentColor; border-right: 2px solid currentColor; }
html[data-motion="off"] .kp-motion-toggle::before { width: 0; height: 0; border-style: solid; border-width: 4.5px 0 4.5px 8px; border-color: transparent transparent transparent currentColor; }
.kp-motion-toggle:hover { color: var(--paper); border-color: var(--paper-2); }
.footer .kp-motion-toggle { margin-top: 12px; }
.category-hero, .error-section { position: relative; }
.kp-motion-toggle--hero { position: absolute; top: 76px; right: max(28px, calc((100% - 1124px) / 2)); z-index: 3; }
@media (prefers-reduced-motion: reduce) { [data-kp-motion-toggle] { display: none; } }
html:is(:not(.kp-js), [data-motion="off"]) :is(.kp-report, .skeleton, .skeleton-line, .skeleton-badge, .pulse-dot, .pulse-indicator),
html:is(:not(.kp-js), [data-motion="off"]) .pulse-card::before,
html:is(:not(.kp-js), [data-motion="off"]) .section-header h2::after,
html:is(:not(.kp-js), [data-motion="off"]) .archive-card-image.shimmer::after { animation: none !important; }
html[data-motion="off"] :is(.kp-spy-mark, #scroll-cta-bar.kp-bar) { transition: none; }
html[data-motion="off"] { scroll-behavior: auto; }
.kp-mask { display: block; overflow: clip; padding-block: .12em .2em; margin-block: -.12em -.2em; }
.kp-mask > .kp-mask-in { display: block; }
@media (prefers-reduced-motion: no-preference) {
html:not([data-motion="off"]) .kp-mask.is-armed:not(.is-in) > .kp-mask-in { translate: 0 calc(100% + .34em); }
html:not([data-motion="off"]) .kp-mask.is-in > .kp-mask-in { transition: translate var(--kp-t-mask) var(--kp-ease-out); }
}
@keyframes kp-in-up    { from { translate: 0 var(--kp-y); } }
@keyframes kp-in-left  { from { translate: calc(var(--kp-x) * -1) 0; } }
@keyframes kp-in-right { from { translate: var(--kp-x) 0; } }
@keyframes kp-in-fig   { from { translate: 0 var(--kp-shift-s); scale: .985; } }
@keyframes kp-in-pop   { from { translate: 0 var(--kp-shift-s); scale: .96; } }
@keyframes kp-glow   { from { opacity: 0; } 60% { opacity: 1; } }
@keyframes kp-draw-x { from { scale: 0 1; } }
@keyframes kp-draw-y { from { scale: 1 0; } }
.kp-rest, .kp-rest::before, .kp-rest::after { animation: none !important; }
@supports (animation-timeline: view()) and (animation-range: entry 0% entry 160px) {
@media (prefers-reduced-motion: no-preference) {
html:not([data-motion="off"]) .kp-near :where([data-kp-in], .k-section-head > p, .k-sectors, .archive-grid:not(#latest-reports) > .archive-card, .km-trio, .km-sources, .km-pair > .k-card,
.sc-grid > .sc-card, .stats-strip > .stat-mini, .kp-sector-intro > div, .related-grid > .related-card),
html:not([data-motion="off"]) .kp-report-next.kp-near > div {
animation: kp-in-up linear; animation-timeline: view();
animation-range: entry 0% entry 100%;
animation-range: entry 0% entry min(100%, 200px);
}
html:not([data-motion="off"]) .kp-near :where([data-kp-in="left"]) { animation-name: kp-in-left; }
html:not([data-motion="off"]) .kp-near :where([data-kp-in="right"], .k-section-head > p) { animation-name: kp-in-right; }
html:not([data-motion="off"]) .kp-near :where([data-kp-in="fig"]) { animation-name: kp-in-fig; }
html:not([data-motion="off"]) .kp-near :where([data-kp-in="pop"]) { animation-name: kp-in-pop; }
html:not([data-motion="off"]) .kp-near :where(.archive-grid > .archive-card, .sc-grid > .sc-card, .related-grid > .related-card, .stats-strip > .stat-mini):nth-child(3n+2) { animation-timing-function: linear(0, 0 12%, 1); }
html:not([data-motion="off"]) .kp-near :where(.archive-grid > .archive-card, .sc-grid > .sc-card, .related-grid > .related-card, .stats-strip > .stat-mini):nth-child(3n+3) { animation-timing-function: linear(0, 0 22%, 1); }
html:not([data-motion="off"]) .kp-near .km-flow > li { view-timeline: --kp-step block; }
html:not([data-motion="off"]) .kp-near .km-flow .km-stage::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--accent); transform-origin: 0 50%; animation: kp-draw-x linear both; animation-timeline: --kp-step; animation-range: entry 40% cover 35%; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 901px) {
html:not([data-motion="off"]) .kp-near :where(.km-pair > .k-card:nth-child(odd), .kp-sector-intro > div:first-child),
html:not([data-motion="off"]) .kp-report-next.kp-near > div:first-child { animation-name: kp-in-left; }
html:not([data-motion="off"]) .kp-near :where(.km-pair > .k-card:nth-child(even), .kp-sector-intro > div:last-child),
html:not([data-motion="off"]) .kp-report-next.kp-near > div:last-child { animation-name: kp-in-right; }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 900px) {
html:not([data-motion="off"]) .kp-near :where(.archive-grid:not(#latest-reports) > .archive-card, .related-grid > .related-card, .sc-grid > .sc-card) { animation-name: kp-in-pop; }
}
}
.km-flow li::before { z-index: 1; }
.k-plan.featured::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; box-shadow: 0 0 0 1px rgba(38, 201, 164, .42), 0 30px 90px -36px rgba(38, 201, 164, .6); opacity: .5; }
@supports (animation-timeline: view()) and (animation-range: entry 0% entry 160px) {
@media (prefers-reduced-motion: no-preference) {
html:not([data-motion="off"]) .k-plan.featured::after { animation: kp-glow linear; animation-timeline: view(); animation-range: entry 30% cover 55%; }
}
}
@keyframes kp-read { from { scale: 0 1; } to { scale: 1 1; } }
#reading-progress { top: 68px; height: 2px; width: 100% !important; transform-origin: 0 50%; scale: var(--kp-read, 0) 1; transition: none !important; background: var(--accent); box-shadow: none; }
html:not(:has(#report-content)) #reading-progress { display: none; }
@supports (animation-timeline: scroll()) {
@media (prefers-reduced-motion: no-preference) {
html:not([data-motion="off"]) #reading-progress { animation: kp-read linear both; animation-timeline: scroll(root block); }
}
}
@media (scripting: enabled) { #report-header-meta, #report-header-meta #share-bar { display: flex !important; } }
@media (max-width: 520px) { #report-header-meta #share-bar { flex-basis: 100%; } }
.report-toc { max-height: calc(100vh - 240px); }
.report-toc .toc-title { font-size: 11px; color: var(--accent); text-transform: uppercase; letter-spacing: 1.5px; margin: 0; font-weight: 700; }
.report-toc.collapsed .toc-title { font-size: 10px; color: var(--muted); }
.report-toc.collapsed:hover .toc-title { color: var(--accent); }
.report-toc .toc-links { position: relative; }
.kp-spy-mark { position: absolute; left: -10px; top: 0; width: 2px; height: 1.6em; border-radius: 1px; background: var(--accent); pointer-events: none; opacity: 0; translate: 0 var(--kp-spy-y, 0px); transition: translate 420ms var(--kp-ease-out), opacity var(--kp-t-ui) linear; }
.kp-spy-mark.is-on { opacity: 1; }
.toc-links.kp-has-mark a.active, .toc-links.kp-has-mark a[aria-current="true"] { border-left-color: transparent; }
@media (prefers-reduced-motion: reduce) { .kp-spy-mark { transition: none; } }
.kps-figure :is(svg[aria-label*="Column chart"], svg[data-kp-chart="columns"], svg[aria-label*="Horizontal bar chart"], svg[data-kp-chart="bars"]) { view-timeline: --kp-fig block; }
.kps-figure :is(svg[aria-label*="Column chart"], svg[data-kp-chart="columns"]) path { transform-box: fill-box; transform-origin: 50% 100%; }
.kps-figure :is(svg[aria-label*="Horizontal bar chart"], svg[data-kp-chart="bars"]) path { transform-box: fill-box; transform-origin: 0 50%; }
@supports (animation-timeline: view()) and (animation-range: entry 0% entry 160px) {
@media (prefers-reduced-motion: no-preference) {
html:not([data-motion="off"]) .kps-figure :is(svg[aria-label*="Column chart"], svg[data-kp-chart="columns"]) path { animation: kp-draw-y linear; animation-timeline: --kp-fig; animation-range: entry 0% entry 60%; }
html:not([data-motion="off"]) .kps-figure :is(svg[aria-label*="Horizontal bar chart"], svg[data-kp-chart="bars"]) path { animation: kp-draw-x linear; animation-timeline: --kp-fig; animation-range: entry 0% entry 60%; }
html:not([data-motion="off"]) .kps-figure :is(svg[aria-label*="Horizontal bar chart"], svg[data-kp-chart="bars"]) path:nth-of-type(2) { animation-range: entry 0% entry 54%; }
html:not([data-motion="off"]) .kps-figure :is(svg[aria-label*="Horizontal bar chart"], svg[data-kp-chart="bars"]) path:nth-of-type(n+3) { animation-range: entry 0% entry 48%; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 900px) {
html:not([data-motion="off"]) .report-viewer .kps-figure.kp-near { animation: kp-in-fig linear; animation-timeline: view(); animation-range: entry 0% entry 100%; animation-range: entry 0% entry min(100%, 160px); }
}
}
#scroll-cta-bar.kp-bar { display: block !important; translate: 0 110%; visibility: hidden; transition: translate 420ms var(--kp-ease-out), visibility 0s linear 420ms; }
#scroll-cta-bar.kp-bar.is-on:not(.kp-foot) { translate: 0 0; visibility: visible; transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) { #scroll-cta-bar.kp-bar { transition: none; } }
html:has(#scroll-cta-bar.kp-bar.is-on:not(.kp-foot)) { scroll-padding-bottom: 120px; }
html:has(#scroll-cta-bar.kp-bar.is-on:not(.kp-foot)) .scroll-top-btn { bottom: 124px; }
@media (max-width: 520px) {
#scroll-cta-bar.kp-bar { padding: 10px 14px !important; }
#scroll-cta-bar .kp-bar-say { display: none; }
#scroll-cta-bar #sticky-subscribe-form { flex: 1 1 0; min-width: 0; flex-wrap: nowrap !important; }
#scroll-cta-bar #sticky-subscribe-email { flex: 1 1 0; min-width: 0 !important; width: auto; }
html:has(#scroll-cta-bar.kp-bar.is-on:not(.kp-foot)) .scroll-top-btn { bottom: 84px; }
}
.sector-bar-fill { animation: none; transform-origin: 0 50%; }
.sector-bar-row, .activity-col, .timeline-item-v2, .timeline-list-row { opacity: 1; animation: none; }
.timeline-item-v2 { transform: none; }
.activity-col { display: grid; grid-template-rows: minmax(0, 1fr) auto auto; justify-items: center; }
.activity-track { align-self: stretch; justify-self: stretch; min-height: 0; display: flex; align-items: flex-end; justify-content: center; }
.activity-bar { flex: none; min-height: 2px; transform-origin: 50% 100%; }
.activity-label { line-height: 1.3; min-height: 2.6em; }
.sector-bar-row { view-timeline: --kp-bar block; }
.recent-activity-grid { view-timeline: --kp-cols block; }
@media (min-width: 769px) { html:has(.timeline-controls-wrap.is-stuck) { scroll-padding-top: 330px; } }
@supports (animation-timeline: view()) and (animation-range: entry 0% entry 160px) {
@media (prefers-reduced-motion: no-preference) {
html:not([data-motion="off"]) .sector-bar-row .sector-bar-fill { animation: kp-draw-x linear; animation-timeline: --kp-bar; animation-range: entry 0% entry 100%; }
html:not([data-motion="off"]) .recent-activity-grid .activity-bar { animation: kp-draw-y linear; animation-timeline: --kp-cols; animation-range: entry 0% entry 100%; }
}
}
@media print {
[data-kp-motion-toggle], .kp-spy-mark { display: none !important; }
.kp-mask > .kp-mask-in { translate: none !important; }
.sh, .sh * { animation: none !important; translate: none !important; }
}
.kp-scene-track { position: relative; height: 340vh; margin: 8px 0 0; }
.kp-scene-stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: grid; grid-template-columns: minmax(0, .42fr) minmax(0, .58fr); align-items: center; }
.kp-scene-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.kp-scene-copy { position: relative; z-index: 1; min-height: 300px; }
.kp-scene .kp-scene-copy > .k-steps { display: block; border: 0; position: relative; min-height: 300px; }
.kp-scene .kp-scene-copy > .k-steps > .k-step, .kp-scene .kp-scene-copy > .k-steps > .k-step + .k-step { position: absolute; inset: 0 auto auto 0; width: 100%; border: 0; padding: 0; opacity: 0; translate: 0 18px; transition: opacity .35s ease, translate .35s ease; pointer-events: none; animation: none; }
.kp-scene .kp-scene-stage[data-step="1"] .k-step[data-kp-at="1"], .kp-scene .kp-scene-stage[data-step="2"] .k-step[data-kp-at="2"], .kp-scene .kp-scene-stage[data-step="3"] .k-step[data-kp-at="3"] { opacity: 1; translate: 0 0; pointer-events: auto; }
.kp-scene .kp-scene-copy .k-step .k-num { font-size: 13px; letter-spacing: .2em; color: var(--accent); margin: 0 0 14px; }
.kp-scene .kp-scene-copy .k-step h3 { font-size: clamp(28px, 3.2vw, 44px); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 16px; color: var(--paper); }
.kp-scene .kp-scene-copy .k-step p { font-size: 16.5px; line-height: 1.6; color: var(--paper-2); max-width: 40ch; margin: 0; }
.kp-scene-rail { position: absolute; left: 0; bottom: 9vh; display: flex; gap: 8px; z-index: 1; }
.kp-scene-rail i { width: 34px; height: 3px; border-radius: 2px; background: var(--line-strong); transition: background .3s ease, width .3s ease; }
.kp-scene-stage[data-step="1"] .kp-scene-rail i:nth-child(1), .kp-scene-stage[data-step="2"] .kp-scene-rail i:nth-child(2), .kp-scene-stage[data-step="3"] .kp-scene-rail i:nth-child(3) { background: var(--accent); width: 56px; }
.kp-scene-hint { position: absolute; left: 50%; bottom: 3.5vh; translate: -50% 0; font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); transition: opacity .3s ease; z-index: 1; }
.kp-scene-stage[data-hint="0"] .kp-scene-hint { opacity: 0; }
.kp-scene-hint::after { content: ""; display: block; width: 1px; height: 22px; margin: 8px auto 0; background: linear-gradient(var(--muted), transparent); }
@media (max-width: 759px) {
.kp-scene-track { height: 300vh; }
.kp-scene-stage { grid-template-columns: minmax(0, 1fr); align-items: end; padding-bottom: 12vh; }
.kp-scene-copy, .kp-scene .kp-scene-copy > .k-steps { min-height: 220px; }
.kp-scene .kp-scene-copy .k-step h3 { font-size: 26px; }
.kp-scene .kp-scene-copy .k-step p { font-size: 15px; }
.kp-scene-rail { bottom: 5vh; }
.kp-scene-hint { display: none; }
}
html[data-motion="off"] .kp-scene-track { height: auto; }
html[data-motion="off"] .kp-scene-stage { position: static; height: auto; display: block; overflow: visible; }
html[data-motion="off"] .kp-scene-canvas, html[data-motion="off"] .kp-scene-rail, html[data-motion="off"] .kp-scene-hint { display: none; }
html[data-motion="off"] .kp-scene .kp-scene-copy > .k-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px; min-height: 0; }
html[data-motion="off"] .kp-scene .kp-scene-copy > .k-steps > .k-step, html[data-motion="off"] .kp-scene .kp-scene-copy > .k-steps > .k-step + .k-step { position: static; opacity: 1; translate: none; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .kp-scene-track { height: auto; } .kp-scene-stage { position: static; height: auto; display: block; } .kp-scene-canvas, .kp-scene-rail, .kp-scene-hint { display: none; } }
