:root {
  color-scheme: light;
  --ink: var(--kr-color-brand-ink);
  --brand: var(--kr-color-brand-primary);
  --brand-hover: var(--kr-color-brand-primary-hover);
  --brand-soft: var(--kr-color-brand-soft);
  --brand-pale: var(--kr-color-brand-pale);
  --brand-pressed: var(--kr-color-brand-primary-pressed);
  --brand-on-dark: var(--kr-color-dark-primary);
  --up: var(--kr-color-delta-up);
  --down: var(--kr-color-delta-down);
  --fog: var(--kr-color-neutral-canvas);
  --white: var(--kr-color-neutral-surface);
  --steel: var(--kr-color-neutral-text-muted);
  --line: var(--kr-color-neutral-line);
  --line-dark: var(--kr-color-brand-ink);
  --success: var(--kr-color-semantic-positive);
  --data-positive: var(--kr-color-data-positive);
  --data-critical: var(--kr-color-data-critical);
  --data-line: var(--kr-color-data-secondary);
  --max: 1180px;
  --shadow: var(--kr-shadow-panel);
  --shadow-soft: var(--kr-shadow-quiet);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--fog); }
body { margin: 0; color: var(--ink); background: var(--fog); font-family: var(--kr-type-family-body); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
p { margin: 0; color: var(--steel); font-size: 17px; line-height: 1.68; }
h1, h2, h3 { margin: 0; }
/* Source Serif 4 carries h1, h2 and hero figures only; h3 and everything denser stays in Inter. */
h1, h2 { font-family: var(--kr-type-family-display); font-optical-sizing: auto; letter-spacing: var(--kr-type-tracking-display); }
h3 { letter-spacing: -0.015em; }
h1 { font-size: clamp(3.35rem, 6vw, 6.65rem); font-weight: 600; line-height: 0.94; }
h2 { font-size: clamp(2.25rem, 4.1vw, 4rem); font-weight: 600; line-height: 1.03; }
h3 { font-size: 1.35rem; font-weight: 600; line-height: 1.22; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 10px 14px; border-radius: 4px; color: white; background: var(--ink); text-decoration: none; transition: top .18s ease; }
.skip-link:focus { top: 16px; }
.mono { font-family: var(--kr-type-family-data); font-variant-numeric: tabular-nums; letter-spacing: .055em; }
.section-shell { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
.eyebrow { margin-bottom: 20px; color: var(--steel); font-family: var(--kr-type-family-body); font-size: 12px; font-weight: 500; letter-spacing: var(--kr-type-tracking-eyebrow); line-height: 1.4; text-transform: uppercase; }

.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(226,221,213,.85); background: rgba(250,247,242,.94); backdrop-filter: blur(16px); }
.nav-shell { width: min(var(--max), calc(100% - 48px)); min-height: 78px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand-lockup { display: inline-flex; align-items: center; text-decoration: none; }
.brand-lockup img { display: block; width: 186px; height: auto; }
.primary-nav { display: flex; align-items: center; gap: 30px; }
.nav-links { display: flex; align-items: center; gap: 27px; }
.nav-links a { position: relative; color: var(--steel); font-size: 14px; font-weight: 500; text-decoration: none; }
.nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -10px; height: 2px; background: var(--brand); transition: right .18s ease; }
.nav-links a:hover, .nav-links a:focus-visible, .nav-links a[aria-current="page"] { color: var(--ink); }
.nav-links a:hover::after, .nav-links a:focus-visible::after, .nav-links a[aria-current="page"]::after { right: 0; }
.nav-cta { display: inline-flex; min-height: 42px; align-items: center; border: 1px solid var(--brand); border-radius: 5px; padding: 0 15px; color: var(--white); background: var(--brand); font-size: 14px; font-weight: 600; text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.nav-cta:hover, .nav-cta:focus-visible { border-color: var(--brand-hover); background: var(--brand-hover); transform: translateY(-1px); }
.nav-cta:active, .button.primary:active, .mp-root .mp-primary:active { border-color: var(--brand-pressed); background: var(--brand-pressed); }
.nav-toggle { display: none; }

.button-row { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 31px; }
.button { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 5px; padding: 0 19px; font-size: 15px; font-weight: 600; text-decoration: none; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button.primary { border-color: var(--brand); color: var(--white); background: var(--brand); }
.button.primary:hover, .button.primary:focus-visible { border-color: var(--brand-hover); background: var(--brand-hover); }
.button.secondary { border-color: var(--line); color: var(--ink); background: var(--white); }
.button.secondary:hover, .button.secondary:focus-visible { border-color: var(--ink); }
.button.on-dark { margin-top: 30px; border-color: rgba(255,255,255,.25); color: var(--white); background: transparent; }
.button.on-dark:hover, .button.on-dark:focus-visible { border-color: var(--white); background: var(--white); color: var(--ink); }
.text-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; color: var(--ink); font-weight: 600; text-decoration: none; }
.text-link span { color: var(--brand); transition: transform .18s ease; }
.text-link:hover span, .text-link:focus-visible span { transform: translateX(4px); }
.company-hero .page-hero-copy > p a { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); text-underline-offset: 3px; }
.company-hero .page-hero-copy > p a:hover { color: var(--brand); text-decoration-color: currentColor; }
.status-chip { display: inline-flex; min-height: 27px; align-items: center; border: 1px solid #A9CDBB; border-radius: 99px; padding: 0 9px; color: #1B6B4A; background: #E8F2EC; font-size: 11px; font-weight: 600; white-space: nowrap; }

.split-intro { display: grid; grid-template-columns: 1fr .82fr; gap: 90px; align-items: start; padding: 126px 0 84px; }
.split-intro h2 { max-width: 700px; }
.split-intro > div:last-child { display: grid; gap: 19px; padding-top: 33px; }

.section-heading { max-width: 760px; margin-bottom: 48px; }.section-heading.compact { max-width: 820px; }.section-heading p:not(.eyebrow) { margin-top: 23px; }
.check-list { display: grid; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 22px; color: var(--steel); font-size: 14px; line-height: 1.5; }
.check-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 4px; border-left: 1.5px solid var(--brand); border-bottom: 1.5px solid var(--brand); transform: rotate(-45deg); }

.dark-section { color: var(--white); background: var(--ink); }
.dark-section .eyebrow { color: var(--brand-soft); }
.dark-grid { display: grid; grid-template-columns: .9fr 1fr; gap: 100px; align-items: center; padding: 120px 0; }
.section-heading.light { margin: 0; }.section-heading.light h2 { color: var(--white); }.section-heading.light p:not(.eyebrow) { color: #B8C0CA; }
.boundary-list { border-top: 1px solid var(--line-dark); }
.boundary-list div { min-height: 94px; display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: center; border-bottom: 1px solid var(--line-dark); }
.boundary-list span { color: #9CA6B2; font-family: var(--kr-type-family-data); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.boundary-list strong { font-size: 16px; font-weight: 500; line-height: 1.4; }


.faq-section { padding: 15px 0 125px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; font-size: 18px; font-weight: 500; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { color: var(--brand); font-size: 26px; font-weight: 400; transition: transform .18s ease; }.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 820px; padding: 0 40px 27px 0; }
/* Where a note answers the question at length, the answer tightens up and the link takes the space
   below it. Without :has the answer keeps its full padding and the link simply sits further down,
   which is a spacing difference rather than a broken layout. */
.faq-list details p:has(+ .faq-note-link) { padding-bottom: 12px; }
.faq-list .faq-note-link { margin-top: 0; margin-bottom: 27px; font-size: 15px; }

.closing-cta { display: grid; grid-template-columns: 1fr .8fr; gap: 90px; align-items: end; margin-bottom: 125px; border: 1px solid var(--line); border-radius: 8px; padding: 50px; background: var(--brand-pale); }
.closing-cta h2 { font-size: clamp(2rem, 3.4vw, 3.3rem); }.closing-cta p { margin-bottom: 24px; }.closing-cta .button-row { margin-top: 0; }

/* The homepage stays product-first, but a small current-content rail shows that the public
   explanations are an active part of the product story rather than a detached blog. */
.latest-resources { padding: 108px 0 118px; }
.latest-resources-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.latest-resources-heading > div { max-width: 760px; }
.latest-resources-heading .text-link { flex: 0 0 auto; margin-bottom: 8px; }
.latest-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.latest-resource-grid article { min-height: 310px; display: flex; flex-direction: column; align-items: flex-start; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 28px; background: var(--white); transition: transform .18s ease, box-shadow .18s ease; }
.latest-resource-grid article:hover { position: relative; z-index: 1; transform: translateY(-3px); box-shadow: var(--shadow-soft); }
.latest-resource-grid .mono { color: var(--brand); font-size: 9px; text-transform: uppercase; }
.latest-resource-grid h3 { margin: 42px 0 13px; font-size: 21px; }
.latest-resource-grid h3 a { text-decoration: none; }
.latest-resource-grid p { font-size: 14px; }
.latest-resource-grid .text-link { margin-top: auto; padding-top: 24px; font-size: 14px; }

.page-hero { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; padding: 72px 0 78px; }
.page-hero:has(> :only-child) { display: block; padding-top: 66px; padding-bottom: 54px; }
.page-hero:has(> :only-child) .page-hero-copy { max-width: 850px; }
.page-hero-copy h1 { font-size: clamp(3rem, 4.25vw, 4.5rem); }.page-hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 24px 0 27px; font-size: 18px; }

.capability-section { padding: 95px 0 130px; }.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.capability-grid article { min-height: 260px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 28px; }.capability-grid .mono { color: var(--brand); font-size: 10px; }.capability-grid h3 { margin-top: 48px; }.capability-grid p { margin-top: 13px; font-size: 14px; }
.tour-index-list { padding-top: 48px; }
.tour-index-list .capability-grid article { min-height: 230px; }
.tour-index-list .capability-grid h3 { margin-top: 30px; }
.pale-section { background: var(--fog); }
.two-column-boundary { display: grid; grid-template-columns: .9fr 1fr; gap: 100px; padding: 125px 0; }.plain-list { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }.plain-list li { display: grid; gap: 7px; border-bottom: 1px solid var(--line); padding: 22px 0; }.plain-list strong { font-size: 16px; }.plain-list span { color: var(--steel); font-size: 14px; line-height: 1.55; }




.company-founder-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--white); box-shadow: var(--shadow-soft); }.company-founder-card img { display: block; width: 100%; height: auto; }.company-founder-card figcaption { display: grid; gap: 10px; padding: 27px 30px 30px; }.company-founder-card .mono { color: var(--brand); font-size: 10px; letter-spacing: .08em; }.company-founder-card strong { color: var(--ink); font-size: 24px; }.company-founder-card p { font-size: 14px; }.company-founder-card .text-link { justify-self: start; margin-top: 3px; }
.principles-section { padding: 115px 0; }.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.principle-grid article { min-height: 250px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 27px; background: rgba(255,255,255,.4); }.principle-grid article > span { color: var(--brand); font-family: var(--kr-type-family-data); font-size: 10px; }.principle-grid h3 { margin-top: 55px; }.principle-grid p { margin-top: 11px; font-size: 14px; }
.partner-section { display: grid; grid-template-columns: .85fr 1fr; gap: 100px; padding: 130px 0; }.partner-section > div:first-child > p:not(.eyebrow) { margin-top: 22px; }.partner-gates { border-top: 1px solid var(--line); }.partner-gates div { min-height: 76px; display: grid; grid-template-columns: 50px 1fr; gap: 15px; align-items: center; border-bottom: 1px solid var(--line); }.partner-gates .mono { color: var(--brand); font-size: 10px; }.partner-gates strong { font-size: 15px; font-weight: 500; }
.founding-hero { min-height: 720px; }.availability-note { display: flex; align-items: center; gap: 10px; margin-top: 24px !important; color: var(--steel); font-size: 12px !important; }.availability-note span { width: 24px; height: 2px; flex: 0 0 24px; background: var(--brand); }.email-fallback { margin-top: 10px !important; font-size: 12px !important; }.email-fallback a { color: var(--brand-hover); text-underline-offset: 3px; }
.program-card { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: var(--shadow); }.program-card-head { min-height: 65px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); padding: 0 21px; background: var(--fog); }.program-card-head .mono { color: var(--steel); font-size: 9px; }.program-line { min-height: 93px; display: grid; grid-template-columns: 28px 1fr; gap: 13px; align-items: center; border-bottom: 1px solid var(--line); padding: 13px 22px; }.program-line:last-child { border-bottom: 0; }.program-line > .mono { color: var(--brand); font-size: 9px; }.program-line div { display: grid; gap: 6px; }.program-line strong { font-size: 14px; }.program-line small { color: var(--steel); font-size: 11px; line-height: 1.45; }
.exchange-section { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 80px 0 95px; }.exchange-intro { grid-column: 1 / -1; max-width: 850px; margin-bottom: 24px; }.exchange-intro > p:last-child { margin-top: 14px; }.exchange-card { min-height: 560px; border: 1px solid var(--line); border-radius: 8px; padding: 37px; background: var(--fog); }.exchange-card.blue-card { color: var(--white); border-color: var(--brand); background: var(--brand); }.exchange-card > .mono { color: var(--brand); font-size: 10px; }.exchange-card.blue-card > .mono { color: var(--white); }.exchange-card h2 { max-width: 440px; margin-top: 90px; font-size: clamp(2rem, 3vw, 3rem); }.plain-checks { display: grid; gap: 15px; margin: 31px 0 0; padding: 0; list-style: none; }.plain-checks li { position: relative; border-top: 1px solid var(--line); padding: 14px 0 0 22px; color: var(--steel); font-size: 14px; line-height: 1.45; }.plain-checks li::before { content: ""; position: absolute; left: 0; top: 19px; width: 8px; height: 4px; border-left: 1.5px solid var(--brand); border-bottom: 1.5px solid var(--brand); transform: rotate(-45deg); }.blue-card .plain-checks li { border-color: rgba(255,255,255,.22); color: var(--white); }.blue-card .plain-checks li::before { border-color: var(--white); }

.partner-scope-note { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 25px 0; }.partner-scope-note p { max-width: 950px; font-size: 15px; }.partner-scope-note strong { color: var(--ink); }.partner-scope-note a { color: var(--brand-hover); }
.legal-page { padding: 105px 0 130px; }.legal-page > header { max-width: 1000px; padding-bottom: 85px; }.legal-page h1 { max-width: 960px; font-size: clamp(3.1rem, 5.7vw, 5.8rem); }.legal-page > header > p:last-child { margin-top: 25px; font-family: var(--kr-type-family-data); font-size: 10px; letter-spacing: .04em; }.legal-layout { display: grid; grid-template-columns: .62fr 1.38fr; gap: 90px; align-items: start; border-top: 1px solid var(--line); padding-top: 60px; }.legal-layout aside { position: sticky; top: 110px; display: grid; gap: 19px; border: 1px solid var(--line); border-radius: var(--kr-radius-surface); padding: 27px; background: var(--fog); }.legal-layout aside .mono { color: var(--brand-on-dark); font-size: 9px; }.legal-layout aside strong { font-size: 20px; line-height: 1.4; }.legal-layout aside p { font-size: 13px; }.legal-copy { display: grid; }.legal-copy section { border-bottom: 1px solid var(--line); padding: 0 0 42px; margin-bottom: 42px; }.legal-copy section:last-child { margin-bottom: 0; }.legal-copy h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }.legal-copy p { margin-top: 17px; font-size: 15px; }.legal-copy a { color: var(--brand-hover); font-weight: 600; text-underline-offset: 3px; }
.not-found { min-height: 650px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }.not-found h1 { max-width: 950px; font-size: clamp(3rem, 6vw, 6rem); }.not-found p:not(.eyebrow) { margin: 25px 0; }

.site-footer { border-top: 1px solid var(--line); padding: 64px 0 25px; background: var(--fog); }
.footer-grid, .footer-base { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }.footer-grid { display: grid; grid-template-columns: 1.5fr .75fr .75fr .75fr 1fr; gap: 55px; padding-bottom: 60px; }.footer-brand img { width: 166px; }.footer-brand p { max-width: 310px; margin-top: 18px; font-size: 14px; }.footer-grid h2 { margin: 0 0 17px; color: var(--steel); font-family: var(--kr-type-family-data); font-size: 9px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; }.footer-grid a { margin-bottom: 10px; color: var(--ink); font-size: 13px; text-decoration: none; }.footer-grid a:hover, .footer-grid a:focus-visible { color: var(--brand); }.footer-contact button { border: 0; padding: 0; color: var(--ink); background: none; cursor: pointer; font-size: 13px; text-align: left; }.footer-contact button:hover { color: var(--brand); }.footer-contact span { min-height: 18px; margin-top: 8px; color: var(--steel); font-size: 11px; }.footer-base { display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); padding-top: 22px; color: var(--steel); font-size: 11px; }

.reveal { animation: rise-in .55s cubic-bezier(.2,.7,.3,1) both; }.delay-1 { animation-delay: .1s; }
@keyframes rise-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1020px) {
  .nav-links { gap: 17px; }.primary-nav { gap: 20px; } .page-hero { grid-template-columns: 1fr; min-height: auto; gap: 58px; }
  .split-intro, .dark-grid, .two-column-boundary, .partner-section { grid-template-columns: 1fr; gap: 45px; }
  .capability-grid, .principle-grid { grid-template-columns: 1fr 1fr; }
  .exchange-section { grid-template-columns: 1fr; }.exchange-card { min-height: auto; }.exchange-card h2 { margin-top: 55px; }
  .footer-grid { grid-template-columns: 1.4fr .7fr .7fr .7fr; }.footer-contact { grid-column: 1 / -1; }
}

@media (max-width: 940px) {
  .section-shell, .nav-shell, .footer-grid, .footer-base { width: min(100% - 30px, var(--max)); }
  h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .nav-shell { min-height: 68px; }.brand-lockup img { width: 160px; }
  .nav-toggle { width: 42px; height: 42px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 4px; background: var(--fog); cursor: pointer; }.nav-toggle span:not(.sr-only) { width: 18px; height: 1.5px; background: var(--ink); transition: transform .18s ease; }.nav-toggle[aria-expanded="true"] span:nth-last-child(2) { transform: translateY(3.75px) rotate(45deg); }.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .primary-nav { position: absolute; left: 0; right: 0; top: 68px; display: none; align-items: stretch; border-bottom: 1px solid var(--line); padding: 20px 15px 24px; background: var(--white); box-shadow: var(--shadow-soft); }.primary-nav.open { display: flex; flex-direction: column; }.nav-links { display: flex; flex-direction: column; align-items: stretch; gap: 0; }.nav-links a { padding: 14px 4px; border-bottom: 1px solid var(--line); }.nav-links a::after { display: none; }.nav-cta { justify-content: center; margin-top: 12px; } .page-hero-copy > p:not(.eyebrow) { font-size: 18px; }
  .split-intro { padding: 88px 0 55px; }.split-intro > div:last-child { padding: 0; }
  .capability-section, .principles-section { padding: 85px 0; }.capability-grid, .principle-grid { grid-template-columns: 1fr; }.capability-grid article, .principle-grid article { min-height: 220px; }.capability-grid h3, .principle-grid h3 { margin-top: 38px; }
  .dark-grid { padding: 85px 0; }.boundary-list div { grid-template-columns: 100px 1fr; }
  .faq-section { padding-bottom: 90px; }.faq-list summary { min-height: 78px; font-size: 16px; }
  .closing-cta { grid-template-columns: 1fr; gap: 30px; margin-bottom: 85px; padding: 30px; }
  .page-hero { gap: 45px; padding: 60px 0 75px; }
  .founding-hero { min-height: auto; }.exchange-section { padding-bottom: 85px; }.exchange-card { padding: 26px; }
  .legal-page { padding: 70px 0 90px; }.legal-page > header { padding-bottom: 60px; }.legal-layout { grid-template-columns: 1fr; gap: 45px; padding-top: 45px; }.legal-layout aside { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px; }.footer-brand, .footer-contact { grid-column: 1 / -1; }.footer-base { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { animation: none; }.button, .nav-cta, .text-link span, .faq-list summary span { transition: none; } }

/* Premium marketing pass: one coherent operating instrument. */
:where(a, button, summary):focus-visible { outline: 3px solid rgba(19,42,70,.45); outline: 3px solid color-mix(in srgb, var(--brand) 45%, transparent); outline-offset: 3px; }
@keyframes story-panel-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.split-intro { padding-top: 140px; }

.program-card, .company-founder-card { border-radius: 11px; }









/* Full-site refinement: precision, depth, and progressive motion. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: kr-page-out .16s ease both; }
::view-transition-new(root) { animation: kr-page-in .28s ease both; }
@keyframes kr-page-out { to { opacity: .82; transform: translateY(-2px); } }
@keyframes kr-page-in { from { opacity: .76; transform: translateY(5px); } }

.site-header { background: rgba(250,247,242,.9); box-shadow: 0 1px 0 rgba(24,28,32,.07); backdrop-filter: blur(18px) saturate(135%); }
.primary-nav a { position: relative; }
/* Desktop links carry no padding, so the rule sits below the baseline with clear space; the mobile
   menu's padded rows keep it inside their own bottom padding. */
.nav-links a::after { content: ""; position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: var(--brand); transform: scaleX(0); transform-origin: right; transition: transform .22s ease; }
@media (max-width: 940px) { .nav-links a::after { right: 4px; bottom: 9px; left: 4px; } }
.nav-links a:hover::after, .nav-links a:focus-visible::after, .nav-links a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.button, .nav-cta { position: relative; isolation: isolate; overflow: hidden; box-shadow: 0 8px 18px rgba(24,28,32,.08); }
.button::after, .nav-cta::after { content: ""; position: absolute; z-index: -1; top: -35%; bottom: -35%; left: -30px; width: 18px; background: rgba(255,255,255,.28); filter: blur(1px); transform: skewX(-17deg); transition: left .45s cubic-bezier(.2,.7,.2,1); }
.button:hover::after, .button:focus-visible::after, .nav-cta:hover::after, .nav-cta:focus-visible::after { left: calc(100% + 30px); }

.page-hero { position: relative; border-bottom: 1px solid var(--line); }
.page-hero::before { content: ""; position: absolute; top: 44px; right: 0; width: 52px; height: 52px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); pointer-events: none; }
.page-hero-copy { position: relative; z-index: 1; }
.page-hero-copy h1, .legal-page h1 { letter-spacing: var(--kr-type-tracking-display); line-height: .96; }
.page-hero-copy .eyebrow { display: inline-flex; align-items: center; gap: 12px; }
.page-hero-copy .eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--brand); }
.program-card, .company-founder-card { position: relative; isolation: isolate; overflow: hidden; box-shadow: 0 28px 70px rgba(24,28,32,.12), 0 1px 0 rgba(255,255,255,.8) inset; }
.program-card::after, .company-founder-card::after { content: ""; position: absolute; z-index: 3; top: 0; right: 14%; left: 14%; height: 1px; background: rgba(255,255,255,.9); pointer-events: none; }

.how-hero { grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 50px; }
.system-scene { position: relative; overflow: hidden; border: 1px solid #2C3540; border-radius: 12px; color: var(--white); background: #12161B; box-shadow: 0 34px 82px rgba(24,28,32,.22), 0 1px 0 rgba(255,255,255,.08) inset; }
.system-scene::before { content: ""; position: absolute; z-index: 2; top: 45px; bottom: 46px; left: 50%; width: 1px; background: rgba(127,168,217,.32); box-shadow: -190px 0 rgba(255,255,255,.055), 190px 0 rgba(255,255,255,.055); pointer-events: none; }
.system-scene-bar { position: relative; z-index: 3; min-height: 46px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid #2C3540; padding: 0 16px; color: #9CA6B2; background: #0E1115; }
.system-scene-bar > span { display: flex; gap: 6px; }.system-scene-bar i { width: 5px; height: 5px; border-radius: 50%; background: #4A5562; }
.system-scene-bar strong { font-size: 8px; font-weight: 500; }.system-scene-bar em { justify-self: end; font-size: 8px; font-style: normal; }
.system-scene-stage { position: relative; z-index: 3; min-height: 480px; display: grid; grid-template-columns: minmax(130px,.8fr) minmax(160px,1fr) minmax(145px,.8fr); gap: 22px; align-items: center; padding: 31px 24px; }
.system-source-rail, .system-output-rail { display: grid; gap: 10px; }
.system-source-rail > .mono, .system-output-rail > .mono { margin-bottom: 4px; color: #9CA6B2; font-size: 8px; }
.system-source-rail > div, .system-output-rail > div { min-height: 74px; display: grid; grid-template-columns: 32px 1fr; gap: 1px 10px; align-content: center; border: 1px solid #2C3540; border-radius: 6px; padding: 11px 12px; background: #1A2028; }
.system-source-rail .source-glyph { grid-row: 1 / 3; align-self: center; width: 29px; height: 29px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #3A4552; border-radius: 4px; color: #B8C0CA; background: #12161B; font-size: 8px; font-style: normal; }
.system-source-rail strong, .system-output-rail strong { font-size: 11px; font-weight: 500; }.system-source-rail small, .system-output-rail small { color: #9CA6B2; font-size: 8px; }
.system-output-rail > div { grid-template-columns: 1fr; border-left: 2px solid var(--brand-on-dark); }.system-output-rail .team-output { color: var(--ink); border-color: #fff; background: #EBF0F5; }.system-output-rail .team-output small { color: var(--steel); }
.system-output-rail .system-return { position: relative; grid-template-columns: 23px 1fr; border-left-color: #6B7682; }.system-return > span { grid-row: 1 / 3; align-self: center; color: #B8C0CA; font-size: 16px; }.system-return small { grid-column: 2; }
.system-core { position: relative; min-height: 202px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #3A4552; border-radius: 50%; padding: 24px; text-align: center; background: #212832; box-shadow: 0 0 0 12px #12161B, 0 0 0 13px #2C3540, 0 22px 46px rgba(0,0,0,.24); }
.system-core .mono { color: #9CA6B2; font-size: 8px; }.system-core strong { max-width: 150px; margin-top: 13px; font-size: 17px; line-height: 1.25; }.system-core small { max-width: 150px; margin-top: 9px; color: #B8C0CA; font-size: 9px; line-height: 1.45; }
.core-pulse { position: absolute; top: 25px; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-on-dark); box-shadow: 0 0 0 6px rgba(127,168,217,.13), 0 0 22px 7px rgba(127,168,217,.28); animation: core-pulse 2.6s ease-in-out infinite; }
@keyframes core-pulse { 50% { box-shadow: 0 0 0 10px rgba(127,168,217,.05), 0 0 30px 10px rgba(127,168,217,.35); } }
.system-scene-note { position: relative; z-index: 3; min-height: 46px; display: flex; align-items: center; gap: 9px; border-top: 1px solid #2C3540; padding: 0 18px; color: #9CA6B2; background: #0E1115; font-size: 8px; }
.system-scene-note span { width: 6px; height: 6px; border-radius: 50%; background: var(--kr-color-semantic-positive); box-shadow: 0 0 13px rgba(52,199,139,.55); }





 .capability-grid article, .principle-grid article { transition: background .22s ease, transform .22s ease, box-shadow .22s ease; }
.capability-grid article:hover, .principle-grid article:hover { position: relative; z-index: 1; background: var(--white); transform: translateY(-3px); box-shadow: 0 16px 34px rgba(24,28,32,.08); }
.principle-grid article > span { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid #C5D1DE; border-radius: 50%; background: var(--white); }

.program-card { border-color: #D3CCC2; box-shadow: 0 32px 78px rgba(24,28,32,.14); }
.program-card-head { color: var(--white); border-color: #2C3540; background: #12161B; }.program-card-head .mono { color: #B8C0CA; }
.program-line { position: relative; padding-left: 26px; transition: background .2s ease; }.program-line:hover { background: var(--brand-pale); }.program-line::before { content: ""; position: absolute; top: 50%; left: 0; width: 3px; height: 0; background: var(--brand); transition: height .2s ease, top .2s ease; }.program-line:hover::before { top: 17%; height: 66%; }
.exchange-card { transition: transform .25s ease, box-shadow .25s ease; }.exchange-card:hover { transform: translateY(-5px); box-shadow: 0 25px 56px rgba(24,28,32,.12); }
.legal-layout aside { overflow: hidden; color: var(--white); border-color: #2C3540; background: #12161B; box-shadow: 0 24px 56px rgba(24,28,32,.14); }.legal-layout aside::before { content: ""; width: 42px; height: 3px; background: var(--brand-on-dark); }.legal-layout aside .mono { color: #7FA8D9; }.legal-layout aside p { color: #B8C0CA; }
.legal-copy section { position: relative; padding-left: 30px; }.legal-copy section::before { content: ""; position: absolute; top: 7px; left: 0; width: 8px; height: 8px; border: 1px solid var(--brand); border-radius: 50%; }
.closing-cta { position: relative; isolation: isolate; overflow: hidden; box-shadow: 0 28px 60px rgba(24,28,32,.09); }.closing-cta::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 0; width: 6px; background: var(--brand); }

/* Motion is progressive enhancement: content is static and visible until the shared script has
   successfully initialized an observer. Each section and data path resolves once, then stays put. */
.story-motion-ready [data-story-reveal] { opacity: 0; transform: translateY(14px); }
.story-motion-ready [data-story-reveal].is-story-visible { animation: story-section-in .52s cubic-bezier(.2,.7,.3,1) forwards; }
@keyframes story-section-in { to { opacity: 1; transform: translateY(0); } }
.story-motion-ready [data-story-reveal].is-story-visible .latest-resource-grid > article,
.story-motion-ready [data-story-reveal].is-story-visible .boundary-list > div,
.story-motion-ready [data-story-reveal].is-story-visible :is(.capability-grid, .principle-grid, .tour-answer-grid) > article,
.story-motion-ready [data-story-reveal].is-story-visible .partner-gates > div { animation: story-item-in .42s cubic-bezier(.2,.7,.3,1) both; }
.story-motion-ready [data-story-reveal].is-story-visible .latest-resource-grid > article:nth-child(2),
.story-motion-ready [data-story-reveal].is-story-visible .boundary-list > div:nth-child(2) { animation-delay: .07s; }
.story-motion-ready [data-story-reveal].is-story-visible .latest-resource-grid > article:nth-child(3),
.story-motion-ready [data-story-reveal].is-story-visible .boundary-list > div:nth-child(3) { animation-delay: .14s; }
.story-motion-ready [data-story-reveal].is-story-visible .latest-resource-grid > article:nth-child(4),
.story-motion-ready [data-story-reveal].is-story-visible .boundary-list > div:nth-child(4) { animation-delay: .21s; }
.story-motion-ready [data-story-reveal].is-story-visible :is(.capability-grid, .principle-grid, .tour-answer-grid, .partner-gates) > :nth-child(2) { animation-delay: .06s; }
.story-motion-ready [data-story-reveal].is-story-visible :is(.capability-grid, .principle-grid, .tour-answer-grid, .partner-gates) > :nth-child(3) { animation-delay: .12s; }
.story-motion-ready [data-story-reveal].is-story-visible :is(.capability-grid, .principle-grid, .tour-answer-grid, .partner-gates) > :nth-child(4) { animation-delay: .18s; }
.story-motion-ready [data-story-reveal].is-story-visible :is(.capability-grid, .principle-grid, .tour-answer-grid, .partner-gates) > :nth-child(n+5) { animation-delay: .24s; }
@keyframes story-item-in { from { opacity: .35; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1100px) {
  .how-hero { grid-template-columns: 1fr; }
  .system-scene { width: min(760px,100%); }
}

@media (max-width: 740px) {
  .page-hero::before { top: 25px; width: 34px; height: 34px; }
  .system-scene-stage { min-height: 0; grid-template-columns: 1fr; gap: 26px; padding: 25px 18px; }
  .system-scene::before { top: 50%; right: 18px; bottom: auto; left: 18px; width: auto; height: 1px; box-shadow: none; }
  .system-core { width: 210px; min-height: 210px; justify-self: center; }
  .system-scene-bar { grid-template-columns: 1fr auto; }.system-scene-bar > strong { display: none; }
  .legal-copy section { padding-left: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root), .core-pulse { animation: none; }
  .nav-links a::after, .button::after, .nav-cta::after, .capability-grid article, .principle-grid article, .program-line, .program-line::before, .exchange-card { transition: none; }
  .story-motion-ready [data-story-reveal] { opacity: 1; transform: none; }
  .story-motion-ready [data-story-reveal].is-story-visible,
  .story-motion-ready [data-story-reveal].is-story-visible * { animation: none; }
}

/* Portal visual-language synchronization: merged default theme + premium Home. */
.system-scene { border-radius: var(--kr-product-shape-panel-radius); }
.system-source-rail > div, .system-output-rail > div { border-radius: var(--kr-product-shape-card-radius); }
.system-scene-bar { min-height: 54px; }.system-scene-bar strong, .system-scene-bar em { font-size: 10px; }
.system-source-rail > .mono, .system-output-rail > .mono { font-size: 10px; }.system-source-rail strong, .system-output-rail strong { font-size: 12px; }.system-source-rail small, .system-output-rail small { font-size: 10px; }

/* Notes — long-form articles. A constrained measure for reading, and an index that stays
   scannable as the list grows. Reuses the existing scene, faq and cta blocks below the body. */
.note-list-section { margin-bottom: 100px; }
.note-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.note-card { border-bottom: 1px solid var(--line); padding: 38px 0; }
.note-card h2 { margin: 10px 0 14px; font-size: clamp(1.5rem, 2.4vw, 2.1rem); }
.note-card h2 a { color: var(--ink); text-decoration: none; }
.note-card h2 a:hover, .note-card h2 a:focus-visible { color: var(--brand); }
.note-card > p { max-width: 760px; margin-bottom: 18px; color: var(--steel); }

.note-article { padding-top: 74px; }
.note-header { max-width: 820px; padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.note-header h1 { margin: 12px 0 24px; font-size: clamp(2.3rem, 4.2vw, 3.7rem); }
.note-answer-label { display: block; margin-bottom: 9px; color: var(--brand); font-size: 10px; text-transform: uppercase; }
.note-answer { font-size: 21px; line-height: 1.55; color: var(--ink); }
.note-author { display: flex; align-items: center; gap: 13px; margin-top: 28px; }
.note-author img { width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; object-fit: cover; }
.note-author p { display: grid; gap: 1px; margin: 0; }
.note-author strong { color: var(--ink); font-size: 14px; }
.note-author span { color: var(--steel); font-size: 12px; }
.note-author small { color: var(--steel); font-size: 10px; }

.note-body { max-width: 760px; padding: 44px 0 96px; }
.note-body h2 { margin: 46px 0 16px; font-size: clamp(1.4rem, 2.2vw, 1.9rem); }
.note-body h2:first-child { margin-top: 0; }
.note-body p { margin-bottom: 18px; }
.note-body .check-list { margin: 22px 0 8px; }
.note-body .check-list li { margin-bottom: 14px; }
.note-table-wrap { margin: 28px 0 12px; overflow-x: auto; border: 1px solid var(--line); border-radius: 7px; }
.note-table { width: 100%; min-width: 680px; border-collapse: collapse; background: var(--white); font-size: 14px; line-height: 1.5; }
.note-table th, .note-table td { padding: 15px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.note-table thead th { color: var(--steel); background: var(--fog); font-family: var(--kr-type-family-data); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.note-table tbody th { width: 28%; color: var(--ink); font-weight: 600; }
.note-table tbody td { color: var(--steel); }
.note-table tbody tr:last-child > * { border-bottom: 0; }
.note-sources { display: grid; gap: 18px; margin-top: 22px; padding: 0; list-style: none; }
.note-sources li { padding-left: 18px; border-left: 2px solid var(--ridge-blue); }
.note-sources a { display: inline-block; color: var(--brand); font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.note-sources span { display: block; margin-top: 5px; color: var(--steel); font-size: 13px; line-height: 1.55; }

/* One focused finder replaces two primary-navigation categories now that the site has enough
   public material to warrant discovery. The links remain ordinary static HTML for crawlers and
   no-JS visitors; the small script only narrows what is already present. */
.resource-hero { min-height: 0; display: block; padding-top: 66px; padding-bottom: 48px; }
.resource-hero .page-hero-copy { max-width: 900px; }
.resource-library { margin-bottom: 104px; }
.resource-finder { margin-bottom: 36px; border: 1px solid var(--line); border-radius: 9px; padding: 28px; background: var(--fog); }
.resource-finder label { display: grid; gap: 5px; margin-bottom: 17px; }
.resource-finder label span { color: var(--brand); font-size: 9px; }
.resource-finder label strong { font-size: 20px; }
.resource-search-control { min-height: 58px; display: grid; grid-template-columns: 36px 1fr; align-items: center; border: 1px solid var(--line); border-radius: 6px; padding: 0 15px; background: var(--white); box-shadow: var(--shadow-soft); }
.resource-search-icon { position: relative; width: 14px; height: 14px; border: 2px solid var(--brand); border-radius: 50%; }
.resource-search-icon::after { content: ""; position: absolute; width: 7px; height: 2px; right: -6px; bottom: -3px; background: var(--brand); transform: rotate(45deg); transform-origin: left center; }
.resource-search-control input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 16px; }
.resource-search-control input::placeholder { color: #677079; }
.resource-search-control:focus-within { border-color: var(--brand); box-shadow: var(--kr-shadow-focus); }
.resource-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }
.resource-filter-row button { min-height: 35px; border: 1px solid var(--line); border-radius: 99px; padding: 0 13px; color: var(--steel); background: var(--white); font-size: 12px; font-weight: 600; cursor: pointer; }
.resource-filter-row button:hover, .resource-filter-row button:focus-visible { border-color: var(--ink); color: var(--ink); }
.resource-filter-row button[aria-pressed="true"] { border-color: var(--ink); color: var(--white); background: var(--ink); }
.resource-filter-row > span { margin-left: auto; color: var(--steel); font-size: 12px; }
.resource-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.resource-card { min-height: 310px; display: flex; flex-direction: column; align-items: flex-start; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 30px; background: var(--white); }
.resource-card[hidden] { display: none; }
.resource-card > .mono { color: var(--brand); font-size: 9px; text-transform: uppercase; }
.resource-card h2 { margin: 42px 0 13px; font-size: clamp(1.45rem, 2.2vw, 2rem); }
.resource-card h2 a { text-decoration: none; }
.resource-card h2 a:hover, .resource-card h2 a:focus-visible { color: var(--brand); }
.resource-card p { font-size: 15px; }
.resource-card .text-link { margin-top: auto; padding-top: 25px; font-size: 14px; }
.resource-empty { border: 1px dashed var(--line); padding: 45px; text-align: center; }
.resource-empty h2 { margin-bottom: 12px; font-size: 28px; }

/* A public security page earns trust by naming the current controls and the missing
   certifications with equal prominence. It intentionally shares the site's existing evidence cards. */
.security-hero .page-hero-copy { max-width: 900px; }
.security-posture { padding-bottom: 118px; }
.security-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.security-grid article { min-height: 285px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 30px; }
.security-grid .mono { color: var(--brand); font-size: 9px; }
.security-grid h3 { margin: 52px 0 12px; font-size: 22px; }
.security-grid p { font-size: 15px; }
.demo-boundary-section { margin-bottom: 112px; }
.security-limits { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; margin-bottom: 112px; }
.security-limits h2 { max-width: 560px; }



@media (max-width: 900px) {
  .latest-resource-grid { grid-template-columns: 1fr; }
  .latest-resource-grid article { min-height: 0; }
  .resource-grid, .security-grid { grid-template-columns: 1fr; }
  .resource-card, .security-grid article { min-height: 0; }
  .security-limits { grid-template-columns: 1fr; gap: 26px; }
}

@media (max-width: 620px) {
  .latest-resources-heading { align-items: start; flex-direction: column; gap: 0; }
  .latest-resources-heading .text-link { margin-top: 18px; }
  .latest-resource-grid article, .resource-card, .security-grid article { padding: 24px; }
  .resource-finder { padding: 19px; }
  .resource-filter-row > span { width: 100%; margin: 7px 0 0; }
  .resource-search-control input { font-size: 16px; }
}
@media (max-width: 740px) {
  .note-article { padding-top: 48px; }
  .note-body { padding: 32px 0 64px; }
  .note-answer { font-size: 19px; }
}

/* Live-demo visuals. Captures are refreshed on demand from the isolated fictional agency; the
   role chip and link destination come from the same manifest entry as the image. */
.demo-visual { min-width: 0; margin: 0; }
.demo-visual-frame { position: relative; display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--fog); box-shadow: var(--shadow-soft); text-decoration: none; }
.demo-visual-frame img { width: 100%; height: auto; display: block; transition: transform .24s ease; }
.demo-visual-frame:hover img, .demo-visual-frame:focus-visible img { transform: scale(1.008); }
.demo-visual-action { position: absolute; right: 14px; bottom: 14px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(255,255,255,.28); border-radius: 6px; padding: 9px 12px; color: var(--white); background: rgba(18,22,27,.9); box-shadow: 0 8px 24px rgba(18,22,27,.22); backdrop-filter: blur(8px); font-size: 11px; }
.demo-visual-action b { font-weight: 600; }
.demo-visual-action em { color: #E4DFD8; font-style: normal; }
.demo-visual figcaption { padding: 13px 2px 0; color: var(--steel); font-size: 13px; line-height: 1.55; }
.demo-visual figcaption span { color: var(--ink); font-weight: 600; }
.demo-visual-page-hero .demo-visual-frame { aspect-ratio: 3 / 2; }
.demo-visual-page-hero .demo-visual-frame img { height: 100%; object-fit: cover; object-position: left top; }
.note-demo-visual { margin: 34px 0 12px; }
.note-demo-visual > h3 { margin-bottom: 18px; font-size: clamp(1.45rem, 2.4vw, 2rem); }
.demo-visual-note figcaption { padding-inline: 0; }
.note-demo-caption { margin-top: 12px; color: var(--steel); font-size: 13px; line-height: 1.55; }

@media (max-width: 620px) {
  .demo-visual-action { left: 9px; right: 9px; bottom: 9px; justify-content: space-between; padding: 8px 9px; }
  .demo-visual-action em { font-size: 10px; }
}
/* Public calculators. The form and the results sit side by side on desktop so a figure and its
   consequence are visible at once; stacking them would hide the point of the tools. */
.calc-section { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; margin-bottom: 90px; }
.calc-heading { font-family: var(--kr-type-family-body); letter-spacing: .04em; font-size: 15px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--steel); margin-bottom: 24px; }
.calc-source-guide { border-left: 3px solid var(--brand); padding: 2px 0 2px 18px; margin: 0 0 22px; }
.calc-source-guide summary, .calc-privacy summary { color: var(--ink); font-size: 14px; font-weight: 600; cursor: pointer; }
.calc-source-guide p { color: var(--steel); font-size: 14px; margin: 10px 0 0; max-width: 52ch; }
.calc-group { border: 0; border-top: 1px solid var(--line); padding: 22px 0 4px; margin: 0; }
.calc-group legend { padding: 0 10px 0 0; font-weight: 600; font-size: 17px; }
.calc-note { color: var(--steel); font-size: 14px; margin: 0 0 16px; max-width: 46ch; }
.calc-row { display: grid; grid-template-columns: 1fr 130px; gap: 16px; align-items: center; margin-bottom: 12px; }
.calc-row label { font-size: 15px; }
.calc-row input { font-family: var(--kr-type-family-data); font-size: 15px; text-align: right; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--white); color: var(--ink); width: 100%; }
.calc-row input:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.calc-row input[aria-invalid="true"] { border-color: var(--data-critical); background: color-mix(in srgb, var(--data-critical) 5%, var(--white)); }
.calc-controls { display: flex; flex-wrap: wrap; gap: 20px; align-items: baseline; }
.calc-example { appearance: none; border: 0; border-bottom: 1px solid currentColor; padding: 0 0 2px; margin-top: 18px; background: transparent; color: var(--brand); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.calc-example:hover { color: var(--ink); }
.calc-example:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
.calc-clear { color: var(--steel); }
.calc-error { min-height: 21px; margin: 12px 0 0; color: var(--data-critical); font-size: 14px; }
.calc-privacy { margin-top: 18px; font-size: 14px; color: var(--steel); max-width: 52ch; }
.calc-privacy p { margin-top: 8px; font-size: 13px; }
.calc-results { position: sticky; top: 28px; border: 1px solid var(--line); border-radius: 8px; padding: 32px; background: var(--brand-pale); }
.calc-figures { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.calc-figures article { display: flex; flex-direction: column; gap: 4px; }
.calc-figures span { font-size: 13px; color: var(--steel); }
.calc-figures strong { font-size: 30px; font-weight: 500; font-variant-numeric: tabular-nums; }
.calc-figures small { font-size: 12px; color: var(--steel); }
.calc-gap strong { color: var(--brand); }
.calc-reading { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 15px; max-width: 50ch; }
.calc-product-handoff { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.calc-product-handoff > .mono { color: var(--brand); font-size: 10px; letter-spacing: .1em; }
.calc-product-handoff h3 { margin: 8px 0; font-size: 19px; }
.calc-product-handoff p { margin: 0; color: var(--steel); font-size: 14px; line-height: 1.6; }
.calc-product-handoff .button-row { align-items: center; margin-top: 18px; }
.calc-product-handoff .button { padding: 11px 14px; font-size: 13px; }
.calc-product-handoff .text-link { font-size: 13px; }
.calc-method { margin-bottom: 90px; }
.calc-method-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px; margin-bottom: 46px; }
.calc-method-grid h3 { font-size: 17px; margin-bottom: 8px; }
.calc-method-grid .mono { font-size: 13px; color: var(--brand); margin-bottom: 10px; }
.calc-limits { border-top: 1px solid var(--line); padding-top: 30px; }
.calc-limits h3 { font-size: 17px; margin-bottom: 16px; }
.movement-equation { border-top: 1px solid var(--line); }
.movement-row { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
.movement-row div { display: flex; flex-direction: column; gap: 3px; }
.movement-row strong { font-size: 15px; }
.movement-row small { color: var(--steel); font-size: 12px; }
.movement-row output { font-family: var(--kr-type-family-data); font-size: 17px; font-weight: 500; font-variant-numeric: tabular-nums; text-align: right; }
.movement-operator { color: var(--steel); font-family: var(--kr-type-family-data); font-size: 17px; }
/* A signed change always pairs its colour with a triangle: green ▲ up, terracotta ▼ down. The
   triangle is drawn with clip-path, so it needs no glyph outside the self-hosted font subsets. */
.movement-row[data-state="negative"] output, .calc-delta[data-state="negative"] { color: var(--down); }
.movement-row[data-state="positive"] output, .calc-delta[data-state="positive"] { color: var(--up); }
.movement-row[data-state="positive"] output::before, .movement-row[data-state="negative"] output::before, .calc-delta[data-state="positive"]::before, .calc-delta[data-state="negative"]::before { content: ""; display: inline-block; width: .62em; height: .54em; margin-right: .3em; background: currentColor; vertical-align: .04em; }
.movement-row[data-state="positive"] output::before, .calc-delta[data-state="positive"]::before { clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.movement-row[data-state="negative"] output::before, .calc-delta[data-state="negative"]::before { clip-path: polygon(0 0, 100% 0, 50% 100%); }
.calc-delta { font-weight: 600; font-variant-numeric: tabular-nums; }
.movement-derived { margin: 0 -12px; padding-right: 12px; padding-left: 12px; background: rgba(255,255,255,.5); }
.movement-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.movement-summary article { display: flex; flex-direction: column; gap: 3px; }
.movement-summary span, .movement-summary small { color: var(--steel); font-size: 12px; }
.movement-summary strong { font-size: 22px; font-weight: 500; font-variant-numeric: tabular-nums; }

/* Organic growth calculator: four income-statement numbers, then the Book premium bridge beneath it. */
.calc-check { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 22px; font-size: 15px; }
.calc-check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--brand); cursor: pointer; }
.calc-check label { cursor: pointer; }
.calc-peers { margin: 22px 0 0; }
.calc-peers .calc-row { margin-top: 16px; }
.calc-peers .calc-note { margin: 0; }
.organic-headline { display: flex; flex-direction: column; gap: 4px; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.organic-headline span, .organic-headline small { color: var(--steel); font-size: 13px; }
.organic-headline strong { color: var(--brand); font-size: clamp(2.6rem, 5vw, 3.5rem); font-weight: 500; line-height: 1.05; font-variant-numeric: tabular-nums; }
.organic-line { margin: 18px 0 0; color: var(--steel); font-size: 14px; }
.organic-line strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.organic-benchmarks { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--steel); font-size: 13px; line-height: 1.6; }
.organic-bridge { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 90px; }
.organic-bridge > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: center; padding: 34px 0; cursor: pointer; list-style: none; }
.organic-bridge > summary::-webkit-details-marker { display: none; }
.organic-bridge > summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
.organic-bridge > summary .eyebrow { grid-column: 1; margin: 0; }
.organic-bridge > summary h2 { grid-column: 1; margin: 0; font-size: clamp(1.6rem, 2.6vw, 2.4rem); }
.organic-bridge-toggle { grid-column: 2; grid-row: 1 / span 2; color: var(--brand); font-size: 34px; line-height: 1; transition: transform .18s ease; }
.organic-bridge[open] .organic-bridge-toggle { transform: rotate(45deg); }
.organic-bridge-lede { max-width: 62ch; margin: 0 0 40px; color: var(--steel); }
.organic-bridge .calc-section { margin-bottom: 64px; }
@media (prefers-reduced-motion: reduce) { .organic-bridge-toggle { transition: none; } }

@media (max-width: 900px) {
  .calc-section { grid-template-columns: 1fr; gap: 40px; }
  .calc-results { position: static; }
  .calc-method-grid { grid-template-columns: 1fr; gap: 26px; }
  .calc-figures { grid-template-columns: 1fr 1fr; gap: 18px; }
  /* iOS zooms the viewport when a focused input is under 16px, which throws away the layout. */
  .calc-row input { font-size: 16px; }
}

@media (max-width: 520px) {
  .calc-figures, .movement-summary { grid-template-columns: 1fr; }
  .movement-row { grid-template-columns: 18px minmax(0, 1fr); gap: 10px; }
  .movement-row output { grid-column: 2; text-align: left; }
}

/* Canonical metric reference. This page is deliberately structured as definitions, equations and
   source requirements rather than another essay, so each claim remains legible in isolation. */
.metric-reference-hero { padding-bottom: 58px; }
.metric-reference-hero .page-hero-copy { max-width: 900px; }
.metric-reference [id] { scroll-margin-top: var(--kr-space-30); }
.reference-scope-note { max-width: 760px; display: grid; gap: 5px; margin-top: 28px; border-left: 3px solid var(--brand); padding: 4px 0 4px 18px; }
.reference-scope-note strong { color: var(--ink); font-size: 15px; }
.reference-scope-note span { color: var(--steel); font-size: 14px; }
.reference-updated { margin-top: 25px; color: var(--steel); font-size: 10px !important; letter-spacing: .08em; }
.reference-answer { display: grid; grid-template-columns: minmax(170px, .7fr) 2fr; column-gap: 48px; row-gap: 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-top: 36px; padding-bottom: 42px; margin-bottom: 96px; }
.reference-answer .eyebrow { grid-row: 1 / span 2; }
.reference-answer h2 { max-width: 840px; font-size: clamp(1.65rem, 3vw, 2.65rem); }
.reference-answer > p:last-child { max-width: 790px; color: var(--steel); font-size: 17px; line-height: 1.7; }
.reference-capability-section { margin-bottom: 112px; }
.metric-reference .reference-capability-section .capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.reference-capability-section .capability-grid h3 { margin-top: 34px; }
.reference-capability-section .capability-grid article { min-height: 285px; }
.reference-capability-links { display: flex; flex-wrap: wrap; gap: 25px; margin-top: 28px; }
.reference-section { margin-bottom: 104px; }
.metric-definition-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.metric-definition-grid article { min-height: 270px; display: flex; flex-direction: column; align-items: flex-start; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 30px; }
.metric-definition-grid h3 { margin-bottom: 13px; font-size: 21px; }
.metric-definition-grid p:not(.reference-formula) { max-width: 55ch; color: var(--steel); }
.metric-definition-grid a { margin-top: auto; padding-top: 22px; color: var(--brand); font-size: 14px; font-weight: 600; }
.reference-formula { width: 100%; margin-bottom: 17px; border-radius: 4px; padding: 11px 12px; color: var(--brand-hover); background: var(--brand-pale); font-size: 12px; line-height: 1.45; }
.reference-movement-section { padding-top: 92px; padding-bottom: 96px; margin-bottom: 102px; }
.reference-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.15fr auto 1fr auto 1fr; align-items: stretch; gap: 12px; margin: 38px 0 30px; }
.reference-equation span { min-height: 112px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--line); border-radius: 6px; padding: 18px; background: var(--white); }
.reference-equation small { margin-bottom: 7px; color: var(--steel); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.reference-equation strong { font-size: 16px; line-height: 1.3; }
.reference-equation b { align-self: center; color: var(--brand); font-family: var(--kr-type-family-data); font-size: 22px; font-weight: 500; }
.reference-component-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.reference-component-grid article { border-top: 2px solid var(--brand); padding-top: 17px; }
.reference-component-grid h3 { margin-bottom: 8px; font-size: 17px; }
.reference-component-grid p { color: var(--steel); font-size: 14px; }
.reference-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 38px; }
.reference-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 7px; }
.reference-table { width: 100%; border-collapse: collapse; background: var(--white); }
.reference-table th, .reference-table td { min-width: 210px; border-bottom: 1px solid var(--line); padding: 20px; text-align: left; vertical-align: top; font-size: 14px; line-height: 1.55; }
.reference-table thead th { min-width: 180px; color: var(--steel); background: var(--fog); font-family: var(--kr-type-family-data); font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.reference-table tbody th { width: 25%; color: var(--ink); font-size: 15px; }
.reference-table tbody td { color: var(--steel); }
.reference-table tr:last-child th, .reference-table tr:last-child td { border-bottom: 0; }
.reference-followup { margin-top: 24px; }
.reference-sources-section { padding-top: 92px; padding-bottom: 96px; margin-bottom: 100px; }
.reference-source-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 40px; background: #2C3540; }
.reference-source-grid article { min-height: 280px; padding: 28px; background: #12161B; }
.reference-source-grid span { color: #9CA6B2; font-size: 9px; letter-spacing: .09em; }
.reference-source-grid h3 { margin: 48px 0 12px; color: var(--white); font-size: 21px; }
.reference-source-grid p { color: #B8C0CA; font-size: 14px; }
.reference-automation { display: grid; grid-template-columns: .85fr 1.55fr; gap: 70px; margin-bottom: 104px; }
.reference-automation > div:first-child h2 { max-width: 430px; font-size: clamp(2rem, 3.5vw, 3.15rem); }
.reference-automation-grid { display: grid; gap: 18px; }
.reference-automation-grid article { border: 1px solid var(--line); border-radius: 7px; padding: 27px; }
.reference-automation-grid span { color: var(--steel); font-size: 9px; letter-spacing: .09em; }
.reference-automation-grid h3 { margin: 11px 0 10px; font-size: 20px; }
.reference-automation-grid p { color: var(--steel); }
.reference-product-card { border-color: var(--brand) !important; background: var(--brand-pale); }
.reference-product-card .check-list { margin-top: 20px; }

@media (max-width: 940px) {
  .reference-answer, .reference-automation { grid-template-columns: 1fr; gap: 22px; }
  .reference-answer .eyebrow { grid-row: auto; }
  .reference-equation { grid-template-columns: 1fr; gap: 8px; }
  .reference-equation span { min-height: 0; }
  .reference-equation b { transform: rotate(90deg); }
  .reference-source-grid { grid-template-columns: 1fr; }
  .reference-source-grid article { min-height: 0; }
  .reference-source-grid h3 { margin-top: 26px; }
}

@media (max-width: 680px) {
  .metric-reference .reference-capability-section .capability-grid { grid-template-columns: 1fr; }
  .metric-definition-grid, .reference-component-grid { grid-template-columns: 1fr; }
  .metric-definition-grid article { min-height: 0; }
  .metric-definition-grid a { margin-top: 0; }
  .reference-answer { margin-bottom: 70px; }
  .reference-capability-section { margin-bottom: 82px; }
  .reference-capability-section .capability-grid article { min-height: 0; }
  .reference-section { margin-bottom: 76px; }
  .reference-movement-section, .reference-sources-section { padding-top: 70px; padding-bottom: 72px; margin-bottom: 74px; }
  .reference-automation { margin-bottom: 76px; }
  .reference-table-wrap { overflow: visible; border: 0; }
  .reference-table, .reference-table tbody, .reference-table tr, .reference-table th, .reference-table td { display: block; width: 100%; }
  .reference-table thead { display: none; }
  .reference-table tr { margin-bottom: 14px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
  .reference-table th, .reference-table td { min-width: 0; border-bottom: 0; padding: 18px; }
  .reference-table tbody th { width: 100%; border-bottom: 1px solid var(--line); background: var(--fog); }
  .reference-table td::before { content: attr(data-label); display: block; margin-bottom: 6px; color: var(--brand-hover); font-family: var(--kr-type-family-data); font-size: 9px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
}

/* Indexed guided tours. These pages answer the search question in static text, then let a reader
   continue into the matching fictional role and route in the live demo. */
.tour-page { scroll-behavior: smooth; }
.tour-hero { min-height: 0; display: grid; grid-template-columns: 1.02fr .98fr; gap: 52px; align-items: center; padding-top: 66px; padding-bottom: 72px; border-bottom: 1px solid var(--line); }
.tour-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; color: var(--steel); font-size: 12px; }
.tour-breadcrumb a { color: var(--brand); text-decoration: none; }
.tour-breadcrumb a:hover, .tour-breadcrumb a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.tour-hero-copy h1 { max-width: 800px; margin: 15px 0 23px; font-size: clamp(2.65rem, 3.8vw, 3.8rem); letter-spacing: var(--kr-type-tracking-display); line-height: 1; }
.tour-dek { max-width: 720px; color: var(--steel); font-size: 17px; line-height: 1.55; }
.tour-freshness { margin-top: 25px; color: var(--steel); font-size: 12px; }
.tour-freshness .mono { margin-right: 6px; color: var(--ink); font-size: 9px; letter-spacing: .08em; }
.tour-answer > .section-shell { padding-top: 88px; padding-bottom: 92px; }
.tour-answer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 38px; background: var(--line); border: 1px solid var(--line); }
.tour-answer-grid article { min-height: 275px; padding: 28px; background: var(--white); }
.tour-answer-grid .mono { color: var(--brand); font-size: 9px; letter-spacing: .09em; }
.tour-answer-grid h3 { margin: 48px 0 12px; font-size: 20px; }
.tour-answer-grid p { color: var(--steel); font-size: 14px; }
.tour-rail { position: sticky; z-index: 5; top: 0; display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 22px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.tour-rail a { min-width: 0; display: flex; gap: 8px; align-items: center; border-right: 1px solid var(--line); padding: 17px 14px; color: var(--steel); text-decoration: none; font-size: 12px; }
.tour-rail a:last-child { border-right: 0; }
.tour-rail a:hover, .tour-rail a:focus-visible { color: var(--brand); background: var(--brand-pale); }
.tour-rail span { color: var(--brand); font-family: var(--kr-type-family-data); font-size: 9px; }
.tour-step { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: center; padding-top: 88px; padding-bottom: 100px; scroll-margin-top: 68px; border-bottom: 1px solid var(--line); }
.tour-step.reverse { grid-template-columns: 1.28fr .72fr; }
.tour-step.reverse .tour-step-copy { order: 2; }
.tour-step.reverse .demo-visual { order: 1; }
.tour-number { display: block; margin-bottom: 19px; color: var(--brand); font-size: 9px; letter-spacing: .1em; }
.tour-step-copy h2 { margin-bottom: 20px; font-size: clamp(2rem, 3.25vw, 3rem); }
.tour-step-copy p { margin-bottom: 17px; color: var(--steel); }
.tour-step-copy .text-link { display: inline-flex; margin-top: 8px; }
.demo-visual-tour .demo-visual-frame { aspect-ratio: 3 / 2; }
.demo-visual-tour .demo-visual-frame img { height: 100%; object-fit: cover; object-position: left top; }
.tour-rhythm { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px 78px; padding-top: 100px; padding-bottom: 104px; scroll-margin-top: 68px; }
.tour-rhythm h2 { max-width: 520px; color: var(--white); font-size: clamp(2.2rem, 3.6vw, 3.5rem); }
.tour-rhythm .tour-number { color: var(--brand-soft); }
.tour-rhythm-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 10px; }
.tour-rhythm-flow span { min-height: 150px; display: flex; flex-direction: column; border: 1px solid #3A4552; border-radius: 6px; padding: 20px; background: #12161B; }
.tour-rhythm-flow b { width: 25px; height: 25px; display: grid; place-items: center; margin-bottom: auto; border: 1px solid #4A5562; border-radius: 50%; color: var(--brand-soft); font-family: var(--kr-type-family-data); font-size: 10px; font-weight: 500; }
.tour-rhythm-flow strong { margin: 25px 0 7px; color: var(--white); font-size: 15px; }
.tour-rhythm-flow small { color: #B8C0CA; font-size: 11px; line-height: 1.45; }
.tour-rhythm-flow i { color: var(--brand-soft); font-style: normal; }
.tour-rhythm-copy { grid-column: 2; }
.tour-rhythm-copy p { max-width: 790px; margin-bottom: 20px; color: #C8CED6; }
.text-link.light { color: var(--brand-soft); }
.tour-boundaries { margin-top: 105px; }
.tour-closing { margin-top: 105px; }

@media (max-width: 1000px) {
  .tour-hero, .tour-step, .tour-step.reverse { grid-template-columns: 1fr; gap: 48px; }
  .tour-step.reverse .tour-step-copy, .tour-step.reverse .demo-visual { order: initial; }
  .tour-rail { position: static; grid-template-columns: repeat(3, 1fr); }
  .tour-rail a:nth-child(3) { border-right: 0; }
  .tour-rhythm { grid-template-columns: 1fr; }
  .tour-rhythm-copy { grid-column: 1; }
}

@media (max-width: 720px) {
  .tour-hero { min-height: 0; padding-top: 56px; padding-bottom: 70px; }
  .tour-answer > .section-shell { padding-top: 68px; padding-bottom: 70px; }
  .tour-answer-grid { grid-template-columns: 1fr; }
  .tour-answer-grid article { min-height: 0; }
  .tour-answer-grid h3 { margin-top: 26px; }
  .tour-rail { grid-template-columns: 1fr 1fr; }
  .tour-rail a, .tour-rail a:nth-child(3) { border-right: 1px solid var(--line); }
  .tour-rail a:nth-child(2n) { border-right: 0; }
  .tour-step { padding-top: 68px; padding-bottom: 74px; scroll-margin-top: 12px; }
  .tour-rhythm { padding-top: 74px; padding-bottom: 78px; }
  .tour-rhythm-flow { grid-template-columns: 1fr; }
  .tour-rhythm-flow span { min-height: 0; }
  .tour-rhythm-flow i { justify-self: center; transform: rotate(90deg); }
  .tour-boundaries, .tour-closing { margin-top: 74px; }
}

/* Interaction consistency pass. Values come from the root design contract through generated tokens. */
.button,
.nav-cta,
.nav-toggle,
.resource-filter-row button,
.calc-example,
.footer-contact button {
  min-height: var(--kr-target-interactive);
}

.button,
.nav-cta,
.nav-toggle,
.resource-filter-row button,
.calc-example,
.footer-contact button,
.calc-row input {
  transition-duration: var(--kr-motion-fast);
  transition-timing-function: var(--kr-motion-ease);
}

.button:active,
.nav-cta:active {
  transform: translateY(1px);
  box-shadow: none;
}

.nav-toggle:hover,
.nav-toggle:focus-visible,
.nav-toggle:active {
  background: var(--brand-pale);
}

.resource-filter-row button:active {
  border-color: var(--brand);
  color: var(--brand-hover);
  background: var(--brand-pale);
}

.calc-example:active,
.footer-contact button:active {
  color: var(--ink);
  transform: translateY(1px);
}

.button:disabled,
button:disabled,
[aria-disabled="true"] {
  border-color: var(--line);
  color: var(--kr-color-neutral-text-quiet);
  background: var(--fog);
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

.button:disabled::after,
button:disabled::after,
[aria-disabled="true"]::after {
  display: none;
}

.text-link:hover,
.text-link:focus-visible,
.footer-contact button:hover,
.footer-contact button:focus-visible {
  color: var(--brand-hover);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: var(--kr-space-1);
}

.resource-card,
.latest-resource-grid article {
  transition: border-color var(--kr-motion-fast) var(--kr-motion-ease),
    box-shadow var(--kr-motion-fast) var(--kr-motion-ease),
    transform var(--kr-motion-fast) var(--kr-motion-ease);
}

.resource-card:hover,
.resource-card:has(a:focus-visible),
.latest-resource-grid article:hover,
.latest-resource-grid article:has(a:focus-visible) {
  position: relative;
  z-index: 1;
  border-color: var(--kr-color-neutral-line-strong);
  box-shadow: var(--shadow-soft);
  transform: translateY(-2px);
}

.calc-input-wrap {
  width: 100%;
  display: grid;
  gap: var(--kr-space-1);
}

.calc-field-error {
  min-height: var(--kr-space-4);
  color: var(--data-critical);
  font-size: var(--kr-type-size-label);
  line-height: var(--kr-type-line-height-label);
  text-align: left;
}

.calc-row {
  align-items: start;
}

.calc-row > label {
  padding-top: var(--kr-space-3);
}

.calc-row input:hover:not(:disabled) {
  border-color: var(--kr-color-neutral-line-strong);
}

.calc-row input:disabled {
  color: var(--kr-color-neutral-text-quiet);
  background: var(--fog);
  cursor: not-allowed;
}

.resource-empty .button {
  margin-top: var(--kr-space-5);
}

.faq-list details[open] > p,
.faq-list details[open] > .faq-note-link {
  animation: disclosure-in var(--kr-motion-standard) var(--kr-motion-ease) both;
}

@keyframes disclosure-in {
  from { opacity: 0; transform: translateY(calc(var(--kr-space-2) * -1)); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 940px) {
  .nav-toggle {
    width: var(--kr-target-interactive);
    height: var(--kr-target-interactive);
  }

  .primary-nav {
    display: flex;
    flex-direction: column;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(var(--kr-space-2) * -1));
    transition: visibility 0s linear var(--kr-motion-standard),
      opacity var(--kr-motion-standard) var(--kr-motion-ease),
      transform var(--kr-motion-standard) var(--kr-motion-ease);
  }

  .primary-nav.open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }

  .nav-links a,
  .nav-cta {
    min-height: var(--kr-target-interactive);
  }
}

@media (prefers-reduced-motion: reduce) {
  .primary-nav,
  .faq-list details[open] > p,
  .faq-list details[open] > .faq-note-link,
  .resource-card,
  .latest-resource-grid article {
    animation: none;
    transition: none;
  }
}

/* Owner management journey — approved October 15 composition, scoped from site chrome. */
.mp-root {  --ink:var(--kr-color-brand-ink); --brand:var(--kr-color-brand-primary); --muted:var(--kr-color-neutral-text-muted); --line:var(--kr-color-neutral-line); --paper:var(--kr-color-neutral-surface); --pale:var(--kr-color-brand-pale); --canvas:var(--kr-color-neutral-canvas);  }
.mp-root * {  box-sizing:border-box;  }
.mp-root {  margin:0; background:var(--canvas); color:var(--ink); font-family:var(--kr-type-family-body); font-size:var(--kr-type-size-body); line-height:1.65; letter-spacing:var(--kr-type-tracking-body);  }
.mp-root button {  font:inherit;  }
.mp-root a {  color:inherit; text-underline-offset:var(--kr-space-1);  }
.mp-root a:hover {  color:var(--brand);  }
.mp-root button, .mp-root a, .mp-root summary {  -webkit-tap-highlight-color:transparent;  }
.mp-root :focus-visible {  outline:3px solid var(--brand); outline-offset:var(--kr-space-1);  }
.mp-root button {  cursor:pointer;  }
.mp-root img {  display:block; max-width:100%;  }
.mp-root h1, .mp-root h2, .mp-root h3, .mp-root p, .mp-root figure {  margin:0;  }
.mp-root h1, .mp-root h2, .mp-root h3 {  font-weight:600; letter-spacing:var(--kr-type-tracking-display);  }
.mp-root h1 {  font-size:clamp(var(--kr-space-10),4.5vw,var(--kr-space-16)); line-height:1.02;  }
.mp-root h2 {  font-size:clamp(28px,3vw,36px); line-height:1.14;  }
.mp-root h3 {  font-size:var(--kr-type-size-card-title); line-height:1.3;  }
.mp-root p {  color:var(--muted);  }
.mp-root .mp-shell {  width:min(1240px,calc(100% - var(--kr-space-16))); margin-inline:auto;  }
.mp-root .mp-mono, .mp-root .mp-eyebrow {  font-family:var(--kr-type-family-data); font-size:var(--kr-type-size-label); letter-spacing:.045em;  }
.mp-root .mp-eyebrow {  color:var(--brand); text-transform:uppercase; margin-bottom:var(--kr-space-5);  }
.mp-root .mp-lead {  font-size:var(--kr-type-size-lead); line-height:1.55;  }
.mp-root .mp-small {  font-size:var(--kr-type-size-small); line-height:1.55;  }
.mp-root .mp-actions {  display:flex; flex-wrap:wrap; align-items:center; gap:var(--kr-space-3); margin-top:var(--kr-space-6);  }
.mp-root .mp-button {  display:inline-flex; align-items:center; justify-content:center; min-height:var(--kr-space-12); padding:var(--kr-space-3) var(--kr-space-5); border:1px solid var(--line); border-radius:var(--kr-radius-control); background:var(--paper); color:var(--ink); font-size:var(--kr-type-size-small); font-weight:500; text-decoration:none;  }
.mp-root .mp-button:hover {  border-color:var(--brand); background:var(--pale);  }
.mp-root .mp-primary {  color:var(--paper); background:var(--brand); border-color:var(--brand);  }
.mp-root .mp-primary:hover {  color:var(--paper); background:var(--kr-color-brand-primary-hover);  }
.mp-root .mp-text-link {  color:var(--brand); display:inline-flex; align-items:center; min-height:44px; font-size:var(--kr-type-size-small); font-weight:500; text-decoration:none; gap:var(--kr-space-3);  }
.mp-root .mp-offer-line {  margin-top:var(--kr-space-3); max-width:44ch;  }
.mp-root .mp-text-link:hover {  text-decoration:underline;  }
.mp-root .mp-proof {  border:1px solid var(--line); border-radius:var(--kr-radius-panel); background:var(--canvas); overflow:hidden; box-shadow:var(--kr-shadow-quiet); min-width:0;  }
.mp-root .mp-proof-top {  display:flex; align-items:center; justify-content:space-between; padding:var(--kr-space-4) var(--kr-space-5); gap:var(--kr-space-4); background:var(--paper); border-bottom:1px solid var(--line);  }
.mp-root .mp-proof-top .mp-mono {  color:var(--muted);  }
.mp-root .mp-tabs {  display:flex; gap:var(--kr-space-2); padding:var(--kr-space-3) var(--kr-space-5);  }
.mp-root .mp-tabs button {  flex:1; min-height:44px; border:1px solid transparent; border-radius:var(--kr-radius-control); background:transparent; color:var(--muted); font-size:var(--kr-type-size-small); font-weight:500;  }
.mp-root .mp-tabs button[aria-selected="true"] {  background:var(--paper); color:var(--brand); border-color:var(--line);  }
.mp-root .mp-tabs button:hover {  background:var(--paper);  }
.mp-root .mp-proof-body {  padding:0 var(--kr-space-4);  }
.mp-root .mp-proof-scroll {  overflow-x:auto; border-radius:var(--kr-radius-surface); border:1px solid var(--line); background:var(--paper);  }
.mp-root .mp-proof-scroll img {  width:100%; height:auto; max-width:none;  }
.mp-root .mp-proof-note {  padding:var(--kr-space-4) var(--kr-space-5) var(--kr-space-5); font-size:var(--kr-type-size-small);  }
.mp-root .mp-proof-note p {  min-height:44px;  }
.mp-root .mp-proof-note a {  margin-top:var(--kr-space-1);  }
.mp-root .mp-swipe {  display:none; font-size:var(--kr-type-size-label); color:var(--muted); padding:var(--kr-space-2) 0;  }
.mp-root .mp-section {  padding-block:var(--kr-space-20);  }
.mp-root .mp-section-head {  display:flex; justify-content:space-between; align-items:end; gap:var(--kr-space-12); margin-bottom:var(--kr-space-10);  }
.mp-root .mp-section-head h2 {  max-width:560px;  }
.mp-root .mp-section-head > p {  max-width:400px;  }
.mp-root .mp-investigate {  background:var(--ink); color:var(--paper);  }
.mp-root .mp-investigate .mp-eyebrow {  color:var(--kr-color-brand-soft);  }
.mp-root .mp-investigate p {  color:var(--kr-color-neutral-line-strong);  }
.mp-root .mp-assistant-grid {  display:grid; grid-template-columns:.8fr 1.2fr; gap:var(--kr-space-16); align-items:start;  }
.mp-root .mp-assistant-copy h2 {  font-size:clamp(28px,3.5vw,var(--kr-space-12)); line-height:1.08; max-width:400px;  }
.mp-root .mp-assistant-copy .mp-lead {  margin-top:var(--kr-space-6);  }
.mp-root .mp-assistant-copy .mp-text-link {  color:var(--paper); margin-top:var(--kr-space-6);  }
.mp-root .mp-assistant-points {  margin:var(--kr-space-8) 0 0; padding:0; list-style:none; border-top:1px solid var(--muted);  }
.mp-root .mp-assistant-points li {  padding-block:var(--kr-space-4); border-bottom:1px solid var(--muted); font-size:var(--kr-type-size-small);  }
.mp-root .mp-assistant-points strong {  display:block; margin-bottom:var(--kr-space-1); font-weight:500;  }
.mp-root .mp-assistant-points span {  color:var(--kr-color-neutral-line-strong);  }
.mp-root .mp-answer {  background:var(--paper); color:var(--ink); border-radius:var(--kr-radius-panel); overflow:hidden;  }
.mp-root .mp-answer-top {  padding:var(--kr-space-4) var(--kr-space-6); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:var(--kr-space-4);  }
.mp-root .mp-answer-top span {  color:var(--muted);  }
.mp-root .mp-answer-question {  padding:var(--kr-space-6); background:var(--pale); border-bottom:1px solid var(--line); font-size:var(--kr-type-size-lead); line-height:1.55; font-weight:500;  }
.mp-root .mp-answer-content {  padding:var(--kr-space-6);  }
.mp-root .mp-answer p {  color:var(--ink);  }
.mp-root .mp-answer-content > p {  margin-bottom:var(--kr-space-4);  }
.mp-root .mp-answer-content ul {  padding-left:var(--kr-space-5); margin:0;  }
.mp-root .mp-answer-content li {  margin-block:var(--kr-space-3);  }
.mp-root .mp-answer-source {  margin-top:var(--kr-space-6); padding-top:var(--kr-space-4); border-top:1px solid var(--line);  }
.mp-root .mp-answer-source .mp-mono {  color:var(--muted);  }
.mp-root .mp-answer-source a {  color:var(--brand);  }
.mp-root .mp-answer-label {  margin-top:var(--kr-space-3); font-size:var(--kr-type-size-label); line-height:1.65;  }
.mp-root .mp-answer-label a {  color:var(--paper);  }
.mp-root .mp-systems {  background:var(--paper);  }
.mp-root .mp-system-grid {  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--kr-space-10); margin-top:var(--kr-space-10);  }
.mp-root .mp-system-grid article {  border-top:1px solid var(--line); padding-top:var(--kr-space-6);  }
.mp-root .mp-system-grid h3 {  margin-bottom:var(--kr-space-4);  }
.mp-root .mp-system-grid .mp-mono {  display:block; color:var(--brand); margin-bottom:var(--kr-space-4);  }
.mp-root .mp-trust-line {  margin-top:var(--kr-space-10); padding-top:var(--kr-space-6); border-top:1px solid var(--line); display:flex; align-items:center; gap:var(--kr-space-6);  }
.mp-root .mp-trust-line p {  max-width:780px; margin-right:auto;  }
.mp-root .mp-closing {  display:grid; grid-template-columns:1fr 1fr; gap:var(--kr-space-16); align-items:center;  }
.mp-root .mp-closing h2 {  max-width:480px;  }
.mp-root .mp-closing p {  max-width:480px;  }
.mp-root .mp-product-hero {  padding-block:var(--kr-space-12); display:grid; grid-template-columns:1fr 1fr; gap:var(--kr-space-16);  }
.mp-root .mp-product-hero h1 {  font-size:clamp(36px,4vw,var(--kr-space-12)); line-height:1.08; max-width:560px;  }
.mp-root .mp-product-hero .mp-lead {  margin-bottom:var(--kr-space-6);  }
.mp-root .mp-journey {  background:var(--pale); border-block:1px solid var(--line);  }
.mp-root .mp-journey .mp-shell {  display:flex; flex-wrap:wrap; align-items:center; gap:var(--kr-space-6); padding-block:var(--kr-space-6); font-size:var(--kr-type-size-small);  }
.mp-root .mp-journey b {  color:var(--brand); font-family:var(--kr-type-family-data); font-weight:400; margin-right:var(--kr-space-2);  }
.mp-root .mp-journey i {  color:var(--muted); font-style:normal;  }
.mp-root .mp-product-section {  display:grid; grid-template-columns:.75fr 1.25fr; gap:var(--kr-space-12); align-items:center; border-bottom:1px solid var(--line);  }
.mp-root .mp-product-copy h2 {  margin-bottom:var(--kr-space-6);  }
.mp-root .mp-product-copy ul {  padding-left:var(--kr-space-5); color:var(--muted); margin-block:var(--kr-space-5);  }
.mp-root .mp-product-copy li {  margin-block:var(--kr-space-2);  }
.mp-root .mp-product-copy .mp-small {  margin-top:var(--kr-space-4);  }
.mp-root .mp-capture {  min-width:0; margin:0;  }
.mp-root .mp-capture figcaption {  color:var(--muted); font-size:var(--kr-type-size-label); padding-top:var(--kr-space-3);  }
.mp-root .mp-capture figcaption a {  color:var(--brand); min-height:44px; display:inline-flex; align-items:center;  }
.mp-root .mp-scope-grid {  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--kr-space-10);  }
.mp-root .mp-scope-grid h3 {  margin-block:var(--kr-space-4);  }
.mp-root .mp-scope-grid article {  border-top:1px solid var(--line); padding-top:var(--kr-space-6);  }
.mp-root .mp-scope-grid .mp-mono {  color:var(--brand);  }
.mp-root [hidden] {  display:none !important;  }
@media(max-width:1000px) {
.mp-root .mp-assistant-grid {  gap:var(--kr-space-10); grid-template-columns:1fr 1.2fr;  }
.mp-root .mp-product-section {  grid-template-columns:1fr; gap:var(--kr-space-8);  }
.mp-root .mp-product-copy {  max-width:720px;  }
  }
@media(max-width:700px) { .mp-root .mp-shell {  width:calc(100% - var(--kr-space-10));  }
.mp-root .mp-lead {  font-size:18px;  }
.mp-root .mp-actions {  gap:var(--kr-space-2); margin-top:var(--kr-space-5);  }
.mp-root .mp-button {  padding-inline:var(--kr-space-4);  }
.mp-root .mp-proof-top {  padding:var(--kr-space-3); gap:var(--kr-space-2); flex-wrap:wrap;  }
.mp-root .mp-proof-top .mp-mono {  font-size:var(--kr-type-size-label);  }
.mp-root .mp-tabs {  padding:var(--kr-space-2); gap:var(--kr-space-1);  }
.mp-root .mp-tabs button {  font-size:var(--kr-type-size-small);  }
.mp-root .mp-proof-body {  padding:0 var(--kr-space-2);  }
.mp-root .mp-proof-scroll img {  min-width:720px;  }
.mp-root .mp-proof-scroll img.mp-table {  min-width:920px;  }
.mp-root .mp-swipe {  display:block;  }
.mp-root .mp-proof-note {  padding:var(--kr-space-3);  }
.mp-root .mp-section {  padding-block:var(--kr-space-12);  }
.mp-root .mp-section-head {  display:block; margin-bottom:var(--kr-space-6);  }
.mp-root .mp-section-head > p {  margin-top:var(--kr-space-5);  }
.mp-root .mp-assistant-grid, .mp-root .mp-closing, .mp-root .mp-product-hero {  grid-template-columns:1fr; gap:var(--kr-space-8);  }
.mp-root .mp-assistant-copy h2 {  max-width:none;  }
.mp-root .mp-assistant-points {  margin-top:var(--kr-space-6);  }
.mp-root .mp-answer-top, .mp-root .mp-answer-content, .mp-root .mp-answer-question {  padding:var(--kr-space-5);  }
.mp-root .mp-answer-top {  flex-wrap:wrap; gap:var(--kr-space-2);  }
.mp-root .mp-answer-question {  font-size:18px;  }
.mp-root .mp-system-grid, .mp-root .mp-scope-grid {  grid-template-columns:1fr; gap:var(--kr-space-6);  }
.mp-root .mp-trust-line {  display:block; margin-top:var(--kr-space-6);  }
.mp-root .mp-trust-line a {  margin-top:var(--kr-space-4);  }
.mp-root .mp-product-hero {  padding-block:var(--kr-space-8);  }
.mp-root .mp-journey .mp-shell {  gap:var(--kr-space-3); align-items:start; flex-direction:column;  }
.mp-root .mp-journey i {  display:none;  }

 }

.mp-root .mp-product-hero .mp-lead {  margin-top:var(--kr-space-6); max-width:560px;  }
.mp-root .mp-product-hero .mp-capture {  align-self:center;  }
@media(max-width:1000px) { .mp-root .mp-product-hero {  grid-template-columns:1fr; gap:var(--kr-space-8);  }
  }


.mp-root .mp-mt-20 { margin-top: var(--kr-space-5); }
.mp-root .mp-mt-16 { margin-top: var(--kr-space-4); }
.mp-root .mp-product-section { position: relative; }
.mp-root :is(section, article, #agency-performance) { scroll-margin-top: var(--kr-space-30); }

.mp-root .mp-mt-8 { margin-top: var(--kr-space-2); }
/* How It Works — local W3 editorial review, scoped to this route. */
.how-page .how-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--kr-space-12); padding-block: var(--kr-space-12) var(--kr-space-16); }
.how-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.how-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.how-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.how-page .page-hero-copy > p:not(.eyebrow) { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); margin-block: var(--kr-space-6); }
.how-page .page-hero-copy > p.how-hero-context { font-size: var(--kr-type-size-body); margin-block: var(--kr-space-4) 0; }
.how-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.how-page .how-hero-proof .demo-visual-frame img { width: 100%; height: auto; }






.how-page .how-roles { padding-block: var(--kr-space-16); }
.how-page .how-roles .capability-grid h3 { margin-top: var(--kr-space-6); }
.how-page .how-roles .capability-grid article { min-height: 0; padding: var(--kr-space-6); }
.how-page .how-roles .text-link { margin-top: var(--kr-space-4); }
.how-page .how-role-note { margin-top: var(--kr-space-6); font-size: var(--kr-type-size-small); }
.how-page .how-sources { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--kr-space-12); align-items: center; padding-block: var(--kr-space-20); }
.how-page .how-sources p:not(.eyebrow) { margin-top: var(--kr-space-6); }
.how-page .how-setup { padding-block: var(--kr-space-16); gap: var(--kr-space-12); }
.how-page .how-setup > div:first-child > p:last-child { margin-top: var(--kr-space-6); }
.how-page .faq-section { padding-block: var(--kr-space-16); }
.how-page .closing-cta { padding-block: var(--kr-space-16); }
.how-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
@media (max-width:1020px) {
  .how-page .how-hero, .how-page .how-sources { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
  .how-page .how-hero .page-hero-copy { max-width: 720px; }
}
@media (max-width:620px) {
  .how-page .how-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .how-page .page-hero-copy > p:not(.eyebrow) { font-size: var(--kr-type-size-body); }
  .how-page .how-roles, .how-page .how-sources, .how-page .how-setup, .how-page .faq-section, .how-page .closing-cta { padding-block: var(--kr-space-12); }
}

.how-page .how-hero-proof .demo-visual-action { position: static; border: 0; border-top: 1px solid var(--kr-color-neutral-line); border-radius: 0; padding: var(--kr-space-3) var(--kr-space-4); background: var(--kr-color-neutral-canvas); color: var(--kr-color-brand-ink); box-shadow: none; backdrop-filter: none; flex-wrap: wrap; }
.how-page .how-hero-proof .demo-visual-action em { color: var(--kr-color-brand-primary); }
/* Keep the review sequence editorial and compact rather than inheriting setup-card heights. */





/* Design partners — local W3 editorial review, scoped to this route. */
.partner-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.partner-page .founding-hero { min-height: 0; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--kr-space-12); padding-block: var(--kr-space-12) var(--kr-space-16); }
.partner-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.partner-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.partner-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.partner-page .page-hero-copy > p:not(.eyebrow):not(.availability-note):not(.email-fallback) { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); margin-block: var(--kr-space-6); }
.partner-page .page-hero-copy > p.partner-hero-context:not(.eyebrow) { font-size: var(--kr-type-size-body); margin-block: var(--kr-space-4); }
.partner-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.partner-page .program-card-head { min-height: var(--kr-space-16); padding: var(--kr-space-4) var(--kr-space-6); flex-wrap: wrap; }
.partner-page .program-card-head .mono { font-size: var(--kr-type-size-label); }
.partner-page .program-line { min-height: 0; padding: var(--kr-space-5) var(--kr-space-6); gap: var(--kr-space-4); }
.partner-page .program-line strong { font-size: var(--kr-type-size-body); }
.partner-page .program-line small { margin-top: var(--kr-space-2); font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }
.partner-page .partner-term-note { padding: var(--kr-space-6); border-top: 1px solid var(--kr-color-neutral-line); font-size: var(--kr-type-size-small); }
.partner-page .partner-term-note strong { display: block; margin-bottom: var(--kr-space-2); color: var(--kr-color-brand-ink); }
 .partner-page .exchange-section, .partner-page .partner-cycle, .partner-page .faq-section, .partner-page .closing-cta { padding-block: var(--kr-space-16); }


.partner-page .plain-list span, .partner-page .plain-checks li { font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.partner-page .exchange-section { gap: var(--kr-space-6); }
.partner-page .exchange-intro { margin-bottom: var(--kr-space-4); }
.partner-page .exchange-card { min-height: 0; padding: var(--kr-space-8); box-shadow: none; }
.partner-page .exchange-card:hover { transform: none; box-shadow: none; }
.partner-page .exchange-card h3 { margin-top: var(--kr-space-6); }
.partner-page .exchange-card > .mono { font-size: var(--kr-type-size-label); }
.partner-page .plain-checks { gap: var(--kr-space-4); margin-top: var(--kr-space-6); }
.partner-page .partner-agreement-note { grid-column: 1 / -1; font-size: var(--kr-type-size-small); }
.partner-page .partner-cycle-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--kr-space-8); padding: 0; margin: 0; list-style: none; }
.partner-page .partner-join-list { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media (max-width: 1100px) { .partner-page .partner-join-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.partner-page .partner-cycle-list li { border-top: 1px solid var(--kr-color-neutral-line-strong); padding-top: var(--kr-space-6); }
.partner-page .partner-cycle-list .mono { color: var(--kr-color-brand-primary); font-size: var(--kr-type-size-label); }
.partner-page .partner-cycle-list h3 { margin-block: var(--kr-space-4); }
.partner-page .partner-scope-note { padding-block: var(--kr-space-8); }
.partner-page .partner-scope-note p { font-size: var(--kr-type-size-body); }




.partner-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
@media (max-width:1020px) {
  .partner-page .founding-hero { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
  .partner-page .page-hero-copy { max-width: 720px; }
}
@media (max-width:620px) {
  .partner-page .founding-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .partner-page .page-hero-copy > p:not(.eyebrow):not(.availability-note):not(.email-fallback) { font-size: var(--kr-type-size-body); }
   .partner-page .exchange-section, .partner-page .partner-cycle, .partner-page .faq-section, .partner-page .closing-cta { padding-block: var(--kr-space-12); }
   .partner-page .partner-cycle-list { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
  .partner-page .exchange-card { padding: var(--kr-space-6); }
}

/* Company — local W3 editorial review, scoped to this route. */
.company-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.company-page .company-hero { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: var(--kr-space-16); padding-block: var(--kr-space-12) var(--kr-space-16); }
.company-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.company-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.company-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.company-page .page-hero-copy > p:not(.eyebrow) { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); margin-block: var(--kr-space-6); }
.company-page .page-hero-copy > p.company-origin:not(.eyebrow) { font-size: var(--kr-type-size-body); margin-block: var(--kr-space-4); }
.company-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.company-page .company-founder-card { margin: 0; width: 100%; max-width: calc(var(--kr-space-24) * 4); justify-self: end; border-radius: var(--kr-radius-surface); box-shadow: var(--kr-shadow-quiet); }
.company-page .company-founder-card::after { content: none; }
.company-page .company-founder-card figcaption { padding: var(--kr-space-6); gap: var(--kr-space-3); }
.company-page .company-founder-card .mono { font-size: var(--kr-type-size-label); }
.company-page .company-founder-card strong { font-size: var(--kr-type-size-card-title); }
.company-page .company-founder-card p { font-size: var(--kr-type-size-body); }
.company-page .company-founder-card .text-link { min-height: var(--kr-space-12); font-size: var(--kr-type-size-small); margin-top: 0; }
.company-page .split-intro, .company-page .principles-section, .company-page .partner-section, .company-page .closing-cta { padding-block: var(--kr-space-16); }
.company-page .split-intro, .company-page .partner-section, .company-page .closing-cta { gap: var(--kr-space-12); }
.company-page .split-intro > div:last-child { padding-top: 0; gap: var(--kr-space-5); }
.company-page .principle-grid article { min-height: 0; padding: var(--kr-space-6); }
.company-page .principle-grid article:hover { transform: none; box-shadow: none; background: var(--kr-color-neutral-surface); }
.company-page .principle-grid article > span { font-size: var(--kr-type-size-label); }
.company-page .principle-grid h3 { margin-top: var(--kr-space-6); }
.company-page .principle-grid p { margin-top: var(--kr-space-4); font-size: var(--kr-type-size-body); }
.company-page .company-systems-note { margin-top: var(--kr-space-6); }
.company-page .partner-gates .mono { font-size: var(--kr-type-size-label); }
.company-page .partner-gates strong { font-size: var(--kr-type-size-body); }
.company-page .partner-gates > div { grid-template-columns: var(--kr-space-10) minmax(0,1fr); gap: var(--kr-space-4); padding-block: var(--kr-space-5); }
.company-page .company-follow { min-height: var(--kr-space-12); font-size: var(--kr-type-size-small); margin-top: var(--kr-space-4); }
.company-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
@media (max-width:1020px) {
  .company-page .company-hero { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
  .company-page .company-founder-card { max-width: none; justify-self: start; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; }
}
@media (max-width:620px) {
  .company-page .company-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .company-page .page-hero-copy > p:not(.eyebrow) { font-size: var(--kr-type-size-body); }
  .company-page .company-founder-card { display: block; max-width: calc(var(--kr-space-24) * 4); }
  .company-page .split-intro, .company-page .principles-section, .company-page .partner-section, .company-page .closing-cta { padding-block: var(--kr-space-12); gap: var(--kr-space-8); }
  .company-page .principle-grid { grid-template-columns: minmax(0,1fr); }
}

/* Financial tour — W3 owner-review draft. */
.financial-tour-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.financial-tour-page .tour-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--kr-space-12); padding-block: var(--kr-space-12) var(--kr-space-16); }
.financial-tour-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.financial-tour-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.financial-tour-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.financial-tour-page .tour-dek { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); }
.financial-tour-page .tour-breadcrumb, .financial-tour-page .tour-answer-grid .mono, .financial-tour-page .tour-number { font-size: var(--kr-type-size-label); }
.financial-tour-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.financial-tour-page .tour-answer > .section-shell, .financial-tour-page .tour-step, .financial-tour-page .tour-rhythm, .financial-tour-page .tour-boundaries, .financial-tour-page .faq-section, .financial-tour-page .closing-cta { padding-block: var(--kr-space-16); }
.financial-tour-page .tour-answer-grid article { min-height: 0; padding: var(--kr-space-6); }
.financial-tour-page .tour-answer-grid h3 { margin-top: var(--kr-space-6); }
.financial-tour-page .tour-answer-grid p, .financial-tour-page .plain-list span { font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.financial-tour-page .tour-rail { top: var(--kr-space-20); }
.financial-tour-page .tour-rail a { min-height: var(--kr-space-12); }
@media (min-width: 1001px) { .financial-tour-page .tour-rail { grid-template-columns: repeat(6, 1fr); } }
.financial-tour-page .tour-step { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--kr-space-12); align-items: start; }
.financial-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.financial-tour-page .tour-step-copy .text-link { display: flex; min-height: var(--kr-space-12); }
.financial-tour-page .financial-question { padding-top: var(--kr-space-5); border-top: 1px solid var(--kr-color-neutral-line); }
.financial-tour-page .financial-question strong { display: block; margin-bottom: var(--kr-space-2); color: var(--kr-color-brand-ink); }
.financial-tour-page .demo-visual-frame { aspect-ratio: auto; }
.financial-tour-page .demo-visual-frame img { height: auto; object-fit: contain; }
.financial-tour-page .demo-visual-frame:hover img, .financial-tour-page .demo-visual-frame:focus-visible img { transform: none; }
.financial-tour-page .demo-visual-action { position: static; border: 0; border-top: 1px solid var(--kr-color-neutral-line); border-radius: 0; padding: var(--kr-space-3) var(--kr-space-4); background: var(--kr-color-neutral-canvas); color: var(--kr-color-brand-ink); box-shadow: none; backdrop-filter: none; flex-wrap: wrap; }
.financial-tour-page .demo-visual-action em { color: var(--kr-color-brand-primary); }
.financial-tour-page .tour-rhythm { gap: var(--kr-space-12); }
.financial-tour-page .tour-rhythm-flow small { font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }
.financial-tour-page .tour-rhythm-flow strong { font-size: var(--kr-type-size-body); }
.financial-tour-page .tour-boundaries { gap: var(--kr-space-12); }
.financial-tour-page :is(section, article) { scroll-margin-top: calc(var(--kr-space-20) + var(--kr-space-16)); }
@media (max-width:1020px) {
  .financial-tour-page .tour-hero, .financial-tour-page .tour-step, .financial-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
}
@media (max-width:620px) {
  .financial-tour-page .tour-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .financial-tour-page .tour-dek { font-size: var(--kr-type-size-body); }
  .financial-tour-page .tour-answer > .section-shell, .financial-tour-page .tour-step, .financial-tour-page .tour-rhythm, .financial-tour-page .tour-boundaries, .financial-tour-page .faq-section, .financial-tour-page .closing-cta { padding-block: var(--kr-space-12); }
  .financial-tour-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
}

/* Account-team tour — W3 owner-review draft. */
.account-team-tour-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.account-team-tour-page .tour-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--kr-space-12); padding-block: var(--kr-space-12) var(--kr-space-16); }
.account-team-tour-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.account-team-tour-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.account-team-tour-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.account-team-tour-page .tour-dek { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); }
.account-team-tour-page .tour-breadcrumb, .account-team-tour-page .tour-answer-grid .mono, .account-team-tour-page .tour-number { font-size: var(--kr-type-size-label); }
.account-team-tour-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.account-team-tour-page .tour-answer > .section-shell, .account-team-tour-page .tour-step, .account-team-tour-page .tour-rhythm, .account-team-tour-page .tour-boundaries, .account-team-tour-page .faq-section, .account-team-tour-page .closing-cta { padding-block: var(--kr-space-16); }
.account-team-tour-page .tour-answer-grid article { min-height: 0; padding: var(--kr-space-6); }
.account-team-tour-page .tour-answer-grid h3 { margin-top: var(--kr-space-6); }
.account-team-tour-page .tour-answer-grid p, .account-team-tour-page .plain-list span { font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.account-team-tour-page .tour-rail { top: var(--kr-space-20); }
.account-team-tour-page .tour-rail a { min-height: var(--kr-space-12); }
.account-team-tour-page .tour-step { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--kr-space-12); align-items: start; }
.account-team-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.account-team-tour-page .tour-step-copy .text-link { display: flex; min-height: var(--kr-space-12); }
.account-team-tour-page .team-investigation { padding-top: var(--kr-space-5); border-top: 1px solid var(--kr-color-neutral-line); }
.account-team-tour-page .team-investigation strong { display: block; margin-bottom: var(--kr-space-2); color: var(--kr-color-brand-ink); }
.account-team-tour-page .demo-visual-frame { aspect-ratio: auto; }
.account-team-tour-page .demo-visual-frame img { height: auto; object-fit: contain; }
.account-team-tour-page .demo-visual-frame:hover img, .account-team-tour-page .demo-visual-frame:focus-visible img { transform: none; }
.account-team-tour-page .demo-visual-action { position: static; border: 0; border-top: 1px solid var(--kr-color-neutral-line); border-radius: 0; padding: var(--kr-space-3) var(--kr-space-4); background: var(--kr-color-neutral-canvas); color: var(--kr-color-brand-ink); box-shadow: none; backdrop-filter: none; flex-wrap: wrap; }
.account-team-tour-page .demo-visual-action em { color: var(--kr-color-brand-primary); }
.account-team-tour-page .tour-rhythm { gap: var(--kr-space-12); }
.account-team-tour-page .tour-rhythm-flow small { font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }
.account-team-tour-page .tour-rhythm-flow strong { font-size: var(--kr-type-size-body); }
.account-team-tour-page .tour-boundaries { gap: var(--kr-space-12); }
.account-team-tour-page :is(section, article) { scroll-margin-top: calc(var(--kr-space-20) + var(--kr-space-16)); }
@media (max-width:1020px) {
  .account-team-tour-page .tour-hero, .account-team-tour-page .tour-step, .account-team-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
}
@media (max-width:620px) {
  .account-team-tour-page .tour-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .account-team-tour-page .tour-dek { font-size: var(--kr-type-size-body); }
  .account-team-tour-page .tour-answer > .section-shell, .account-team-tour-page .tour-step, .account-team-tour-page .tour-rhythm, .account-team-tour-page .tour-boundaries, .account-team-tour-page .faq-section, .account-team-tour-page .closing-cta { padding-block: var(--kr-space-12); }
  .account-team-tour-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
}

/* Retention tour — W3 owner-review draft. */
.retention-tour-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.retention-tour-page .tour-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--kr-space-12); padding-block: var(--kr-space-12) var(--kr-space-16); }
.retention-tour-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.retention-tour-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.retention-tour-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.retention-tour-page .tour-dek { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); }
.retention-tour-page .tour-breadcrumb, .retention-tour-page .tour-answer-grid .mono, .retention-tour-page .tour-number { font-size: var(--kr-type-size-label); }
.retention-tour-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.retention-tour-page .tour-answer > .section-shell, .retention-tour-page .tour-step, .retention-tour-page .tour-rhythm, .retention-tour-page .tour-boundaries, .retention-tour-page .faq-section, .retention-tour-page .closing-cta { padding-block: var(--kr-space-16); }
.retention-tour-page .tour-answer-grid article { min-height: 0; padding: var(--kr-space-6); }
.retention-tour-page .tour-answer-grid h3 { margin-top: var(--kr-space-6); }
.retention-tour-page .tour-answer-grid p, .retention-tour-page .plain-list span { font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.retention-tour-page .tour-rail { top: var(--kr-space-20); }
.retention-tour-page .tour-rail a { min-height: var(--kr-space-12); }
.retention-tour-page .tour-step { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--kr-space-12); align-items: start; }
.retention-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.retention-tour-page .tour-step-copy .text-link { display: flex; min-height: var(--kr-space-12); }
.retention-tour-page .retention-investigation { padding-top: var(--kr-space-5); border-top: 1px solid var(--kr-color-neutral-line); }
.retention-tour-page .retention-investigation strong { display: block; margin-bottom: var(--kr-space-2); color: var(--kr-color-brand-ink); }
.retention-tour-page .demo-visual-frame { aspect-ratio: auto; }
.retention-tour-page .demo-visual-frame img { height: auto; object-fit: contain; }
.retention-tour-page .demo-visual-frame:hover img, .retention-tour-page .demo-visual-frame:focus-visible img { transform: none; }
.retention-tour-page .demo-visual-action { position: static; border: 0; border-top: 1px solid var(--kr-color-neutral-line); border-radius: 0; padding: var(--kr-space-3) var(--kr-space-4); background: var(--kr-color-neutral-canvas); color: var(--kr-color-brand-ink); box-shadow: none; backdrop-filter: none; flex-wrap: wrap; }
.retention-tour-page .demo-visual-action em { color: var(--kr-color-brand-primary); }
.retention-tour-page .tour-rhythm { gap: var(--kr-space-12); }
.retention-tour-page .tour-rhythm-flow small { font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }
.retention-tour-page .tour-rhythm-flow strong { font-size: var(--kr-type-size-body); }
.retention-tour-page .tour-boundaries { gap: var(--kr-space-12); }
.retention-tour-page :is(section, article) { scroll-margin-top: calc(var(--kr-space-20) + var(--kr-space-16)); }
@media (max-width:1020px) {
  .retention-tour-page .tour-hero, .retention-tour-page .tour-step, .retention-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
}
@media (max-width:620px) {
  .retention-tour-page .tour-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .retention-tour-page .tour-dek { font-size: var(--kr-type-size-body); }
  .retention-tour-page .tour-answer > .section-shell, .retention-tour-page .tour-step, .retention-tour-page .tour-rhythm, .retention-tour-page .tour-boundaries, .retention-tour-page .faq-section, .retention-tour-page .closing-cta { padding-block: var(--kr-space-12); }
  .retention-tour-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
}

/* Renewal tour — W3 owner-review draft. */
.renewal-tour-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.renewal-tour-page .tour-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--kr-space-12); padding-block: var(--kr-space-12) var(--kr-space-16); }
.renewal-tour-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.renewal-tour-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.renewal-tour-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.renewal-tour-page .tour-dek { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); }
.renewal-tour-page .tour-breadcrumb, .renewal-tour-page .tour-answer-grid .mono, .renewal-tour-page .tour-number { font-size: var(--kr-type-size-label); }
.renewal-tour-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.renewal-tour-page .tour-answer > .section-shell, .renewal-tour-page .tour-step, .renewal-tour-page .tour-rhythm, .renewal-tour-page .tour-boundaries, .renewal-tour-page .faq-section, .renewal-tour-page .closing-cta { padding-block: var(--kr-space-16); }
.renewal-tour-page .tour-answer-grid article { min-height: 0; padding: var(--kr-space-6); }
.renewal-tour-page .tour-answer-grid h3 { margin-top: var(--kr-space-6); }
.renewal-tour-page .tour-answer-grid p, .renewal-tour-page .plain-list span { font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.renewal-tour-page .tour-rail { top: var(--kr-space-20); }
.renewal-tour-page .tour-rail a { min-height: var(--kr-space-12); }
.renewal-tour-page .tour-step { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--kr-space-12); align-items: start; }
.renewal-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.renewal-tour-page .tour-step-copy .text-link { display: flex; min-height: var(--kr-space-12); }
.renewal-tour-page .retention-investigation { padding-top: var(--kr-space-5); border-top: 1px solid var(--kr-color-neutral-line); }
.renewal-tour-page .retention-investigation strong { display: block; margin-bottom: var(--kr-space-2); color: var(--kr-color-brand-ink); }
.renewal-tour-page .demo-visual-frame { aspect-ratio: auto; }
.renewal-tour-page .demo-visual-frame img { height: auto; object-fit: contain; }
.renewal-tour-page .demo-visual-frame:hover img, .renewal-tour-page .demo-visual-frame:focus-visible img { transform: none; }
.renewal-tour-page .demo-visual-action { position: static; border: 0; border-top: 1px solid var(--kr-color-neutral-line); border-radius: 0; padding: var(--kr-space-3) var(--kr-space-4); background: var(--kr-color-neutral-canvas); color: var(--kr-color-brand-ink); box-shadow: none; backdrop-filter: none; flex-wrap: wrap; }
.renewal-tour-page .demo-visual-action em { color: var(--kr-color-brand-primary); }
.renewal-tour-page .tour-rhythm { gap: var(--kr-space-12); }
.renewal-tour-page .tour-rhythm-flow small { font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }
.renewal-tour-page .tour-rhythm-flow strong { font-size: var(--kr-type-size-body); }
.renewal-tour-page .tour-boundaries { gap: var(--kr-space-12); }
.renewal-tour-page :is(section, article) { scroll-margin-top: calc(var(--kr-space-20) + var(--kr-space-16)); }
@media (max-width:1020px) {
  .renewal-tour-page .tour-hero, .renewal-tour-page .tour-step, .renewal-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
}
@media (max-width:620px) {
  .renewal-tour-page .tour-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .renewal-tour-page .tour-dek { font-size: var(--kr-type-size-body); }
  .renewal-tour-page .tour-answer > .section-shell, .renewal-tour-page .tour-step, .renewal-tour-page .tour-rhythm, .renewal-tour-page .tour-boundaries, .renewal-tour-page .faq-section, .renewal-tour-page .closing-cta { padding-block: var(--kr-space-12); }
  .renewal-tour-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
}

/* New-business tour — W3 owner-review draft. */
.new-business-tour-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.new-business-tour-page .tour-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--kr-space-12); padding-block: var(--kr-space-12) var(--kr-space-16); }
.new-business-tour-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.new-business-tour-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.new-business-tour-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.new-business-tour-page .tour-dek { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); }
.new-business-tour-page .tour-breadcrumb, .new-business-tour-page .tour-answer-grid .mono, .new-business-tour-page .tour-number { font-size: var(--kr-type-size-label); }
.new-business-tour-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.new-business-tour-page .tour-answer > .section-shell, .new-business-tour-page .tour-step, .new-business-tour-page .tour-rhythm, .new-business-tour-page .tour-boundaries, .new-business-tour-page .faq-section, .new-business-tour-page .closing-cta { padding-block: var(--kr-space-16); }
.new-business-tour-page .tour-answer-grid article { min-height: 0; padding: var(--kr-space-6); }
.new-business-tour-page .tour-answer-grid h3 { margin-top: var(--kr-space-6); }
.new-business-tour-page .tour-answer-grid p, .new-business-tour-page .plain-list span { font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.new-business-tour-page .tour-rail { top: var(--kr-space-20); }
.new-business-tour-page .tour-rail a { min-height: var(--kr-space-12); }
.new-business-tour-page .tour-step { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--kr-space-12); align-items: start; }
.new-business-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.new-business-tour-page .tour-step-copy .text-link { display: flex; min-height: var(--kr-space-12); }
.new-business-tour-page .retention-investigation { padding-top: var(--kr-space-5); border-top: 1px solid var(--kr-color-neutral-line); }
.new-business-tour-page .retention-investigation strong { display: block; margin-bottom: var(--kr-space-2); color: var(--kr-color-brand-ink); }
.new-business-tour-page .demo-visual-frame { aspect-ratio: auto; }
.new-business-tour-page .demo-visual-frame img { height: auto; object-fit: contain; }
.new-business-tour-page .demo-visual-frame:hover img, .new-business-tour-page .demo-visual-frame:focus-visible img { transform: none; }
.new-business-tour-page .demo-visual-action { position: static; border: 0; border-top: 1px solid var(--kr-color-neutral-line); border-radius: 0; padding: var(--kr-space-3) var(--kr-space-4); background: var(--kr-color-neutral-canvas); color: var(--kr-color-brand-ink); box-shadow: none; backdrop-filter: none; flex-wrap: wrap; }
.new-business-tour-page .demo-visual-action em { color: var(--kr-color-brand-primary); }
.new-business-tour-page .tour-rhythm { gap: var(--kr-space-12); }
.new-business-tour-page .tour-rhythm-flow small { font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }
.new-business-tour-page .tour-rhythm-flow strong { font-size: var(--kr-type-size-body); }
.new-business-tour-page .tour-boundaries { gap: var(--kr-space-12); }
.new-business-tour-page :is(section, article) { scroll-margin-top: calc(var(--kr-space-20) + var(--kr-space-16)); }
@media (max-width:1020px) {
  .new-business-tour-page .tour-hero, .new-business-tour-page .tour-step, .new-business-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
}
@media (max-width:620px) {
  .new-business-tour-page .tour-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .new-business-tour-page .tour-dek { font-size: var(--kr-type-size-body); }
  .new-business-tour-page .tour-answer > .section-shell, .new-business-tour-page .tour-step, .new-business-tour-page .tour-rhythm, .new-business-tour-page .tour-boundaries, .new-business-tour-page .faq-section, .new-business-tour-page .closing-cta { padding-block: var(--kr-space-12); }
  .new-business-tour-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
}

/* Reconciliation tour — W3 owner-review draft. */
.reconciliation-tour-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.reconciliation-tour-page .tour-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--kr-space-12); padding-block: var(--kr-space-12) var(--kr-space-16); }
.reconciliation-tour-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.reconciliation-tour-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.reconciliation-tour-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.reconciliation-tour-page .tour-dek { font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); }
.reconciliation-tour-page .tour-breadcrumb, .reconciliation-tour-page .tour-answer-grid .mono, .reconciliation-tour-page .tour-number { font-size: var(--kr-type-size-label); }
.reconciliation-tour-page .button-row { margin-top: var(--kr-space-6); gap: var(--kr-space-3); }
.reconciliation-tour-page .tour-answer > .section-shell, .reconciliation-tour-page .tour-step, .reconciliation-tour-page .tour-rhythm, .reconciliation-tour-page .tour-boundaries, .reconciliation-tour-page .faq-section, .reconciliation-tour-page .closing-cta { padding-block: var(--kr-space-16); }
.reconciliation-tour-page .tour-answer-grid article { min-height: 0; padding: var(--kr-space-6); }
.reconciliation-tour-page .tour-answer-grid h3 { margin-top: var(--kr-space-6); }
.reconciliation-tour-page .tour-answer-grid p, .reconciliation-tour-page .plain-list span { font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.reconciliation-tour-page .tour-rail { top: var(--kr-space-20); }
.reconciliation-tour-page .tour-rail a { min-height: var(--kr-space-12); }
.reconciliation-tour-page .tour-step { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--kr-space-12); align-items: start; }
.reconciliation-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.reconciliation-tour-page .tour-step-copy .text-link { display: flex; min-height: var(--kr-space-12); }
.reconciliation-tour-page .reconciliation-investigation { padding-top: var(--kr-space-5); border-top: 1px solid var(--kr-color-neutral-line); }
.reconciliation-tour-page .reconciliation-investigation strong { display: block; margin-bottom: var(--kr-space-2); color: var(--kr-color-brand-ink); }
.reconciliation-tour-page .demo-visual-frame { aspect-ratio: auto; }
.reconciliation-tour-page .demo-visual-frame img { height: auto; object-fit: contain; }
.reconciliation-tour-page .demo-visual-frame:hover img, .reconciliation-tour-page .demo-visual-frame:focus-visible img { transform: none; }
.reconciliation-tour-page .demo-visual-action { position: static; border: 0; border-top: 1px solid var(--kr-color-neutral-line); border-radius: 0; padding: var(--kr-space-3) var(--kr-space-4); background: var(--kr-color-neutral-canvas); color: var(--kr-color-brand-ink); box-shadow: none; backdrop-filter: none; flex-wrap: wrap; }
.reconciliation-tour-page .demo-visual-action em { color: var(--kr-color-brand-primary); }
.reconciliation-tour-page .tour-rhythm { gap: var(--kr-space-12); }
.reconciliation-tour-page .tour-rhythm-flow small { font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }
.reconciliation-tour-page .tour-rhythm-flow strong { font-size: var(--kr-type-size-body); }
.reconciliation-tour-page .tour-boundaries { gap: var(--kr-space-12); }
.reconciliation-tour-page :is(section, article) { scroll-margin-top: calc(var(--kr-space-20) + var(--kr-space-16)); }
@media (max-width:1020px) {
  .reconciliation-tour-page .tour-hero, .reconciliation-tour-page .tour-step, .reconciliation-tour-page .tour-step.reverse { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
}
@media (max-width:620px) {
  .reconciliation-tour-page .tour-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .reconciliation-tour-page .tour-dek { font-size: var(--kr-type-size-body); }
  .reconciliation-tour-page .tour-answer > .section-shell, .reconciliation-tour-page .tour-step, .reconciliation-tour-page .tour-rhythm, .reconciliation-tour-page .tour-boundaries, .reconciliation-tour-page .faq-section, .reconciliation-tour-page .closing-cta { padding-block: var(--kr-space-12); }
  .reconciliation-tour-page :is(section, article) { scroll-margin-top: var(--kr-space-30); }
}

/* Security — W3 owner-review draft. */
.security-page .section-shell { width: min(1180px,calc(100% - var(--kr-space-8))); }
.security-page .security-hero { padding-block: var(--kr-space-12) var(--kr-space-16); }
.security-page h1 { font-size: clamp(var(--kr-type-size-section-title),4vw,var(--kr-type-size-page-title)); line-height: var(--kr-type-line-height-page-title); }
.security-page h2 { font-size: clamp(calc(var(--kr-type-size-lead) * 1.4),3vw,var(--kr-type-size-section-title)); line-height: var(--kr-type-line-height-section-title); }
.security-page h3 { font-size: var(--kr-type-size-card-title); line-height: var(--kr-type-line-height-card-title); }
.security-page .page-hero-copy > p:not(.eyebrow):not(.security-reviewed) { max-width: 850px; font-size: var(--kr-type-size-lead); line-height: var(--kr-type-line-height-lead); }
.security-page .page-hero-copy > .security-reviewed { margin-top: var(--kr-space-6); font-size: var(--kr-type-size-label); line-height: var(--kr-type-line-height-small); color: var(--kr-color-neutral-text); }
.security-page .button-row { gap: var(--kr-space-3); }
.security-page .security-posture, .security-page .faq-section, .security-page .closing-cta { padding-block: var(--kr-space-16); }
.security-page .security-grid article { min-height: 0; padding: var(--kr-space-6); }
.security-page .security-grid .mono { font-size: var(--kr-type-size-label); }
.security-page .security-grid h3 { margin-top: var(--kr-space-6); }
.security-page .security-grid p, .security-page .plain-list span { font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.security-page .dark-grid { gap: var(--kr-space-12); padding-block: var(--kr-space-16); }
.security-page .boundary-list div { grid-template-columns: var(--kr-space-30) minmax(0,1fr); gap: var(--kr-space-5); }
.security-page .demo-boundary-section { margin-bottom: 0; }
.security-page .security-limits { gap: var(--kr-space-12); padding-block: var(--kr-space-16); margin-bottom: 0; }
.security-page .closing-cta .text-link { display: inline-flex; margin-top: var(--kr-space-5); min-height: var(--kr-space-12); align-items: center; }
.security-page section { scroll-margin-top: var(--kr-space-30); }
@media (max-width:900px) {
  .security-page .dark-grid, .security-page .security-limits { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-8); }
}
@media (max-width:620px) {
  .security-page .security-hero { padding-block: var(--kr-space-8) var(--kr-space-12); }
  .security-page .page-hero-copy > p:not(.eyebrow):not(.security-reviewed) { font-size: var(--kr-type-size-body); }
  .security-page .security-posture, .security-page .dark-grid, .security-page .security-limits, .security-page .faq-section, .security-page .closing-cta { padding-block: var(--kr-space-12); }
  .security-page .boundary-list div { grid-template-columns: minmax(0,1fr); gap: var(--kr-space-2); padding-block: var(--kr-space-5); }
}

/* ==========================================================================
   MK5 redesign (2026-11-12, bench/site-mk5). Brief §3–§4: category headline, one primary action
   repeated, named proof, the scroll story on native scrolling, phone-first. Tokens only; motion is
   opacity and small transforms, all of it switched off under prefers-reduced-motion.
   ========================================================================== */

/* Header: six destinations + the action. The menu collapses earlier than the old four-item bar. */
.nav-links { gap: 22px; }
.nav-links a { white-space: nowrap; }
@media (max-width: 1120px) {
  .nav-shell { min-height: 68px; }
  .brand-lockup img { width: 160px; }
  .nav-toggle { width: 44px; height: 44px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: var(--kr-radius-control); background: var(--fog); cursor: pointer; }
  .nav-toggle span:not(.sr-only) { width: 18px; height: 1.5px; background: var(--ink); transition: transform 140ms ease; }
  .nav-toggle[aria-expanded="true"] span:nth-last-child(2) { transform: translateY(3.75px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .primary-nav { position: absolute; left: 0; right: 0; top: 68px; display: none; align-items: stretch; max-height: calc(100svh - 68px); overflow-y: auto; border-bottom: 1px solid var(--line); padding: 12px 16px 24px; background: var(--white); box-shadow: var(--shadow-soft); }
  .primary-nav.open { display: flex; flex-direction: column; }
  .nav-links { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links a { padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: 16px; }
  .nav-links a::after { display: none; }
  .nav-links a[aria-current] { color: var(--brand); font-weight: 600; }
  .nav-cta { justify-content: center; min-height: 48px; margin-top: 16px; font-size: 15px; }
}

.k5 { --k5-gutter: 16px; overflow-x: clip; }
.k5 .k5-shell { width: min(1180px, calc(100% - 2 * var(--k5-gutter))); margin-inline: auto; }
.k5 .k5-eyebrow { margin: 0 0 var(--kr-space-4); color: var(--brand); font-size: var(--kr-type-size-label); font-weight: 500; letter-spacing: var(--kr-type-tracking-eyebrow); line-height: 1.4; text-transform: uppercase; }
.k5 h1, .k5 h2 { font-family: var(--kr-type-family-display); font-optical-sizing: auto; font-weight: 600; letter-spacing: var(--kr-type-tracking-display); color: var(--ink); }
.k5 h1 { font-size: clamp(36px, 8.4vw, 60px); line-height: 1.05; text-wrap: balance; }
.k5 h2 { font-size: clamp(28px, 5.6vw, 40px); line-height: 1.12; text-wrap: balance; }
.k5 h3 { font-family: var(--kr-type-family-body); font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -0.012em; color: var(--ink); }
.k5 p { color: var(--muted); font-size: var(--kr-type-size-body); line-height: var(--kr-type-line-height-body); }
.k5 .k5-lead { font-size: 18px; line-height: var(--kr-type-line-height-lead); max-width: 58ch; }
.k5 .k5-num { display: block; color: var(--brand); font-size: var(--kr-type-size-label); font-weight: 500; letter-spacing: var(--kr-type-tracking-eyebrow); text-transform: uppercase; }
.k5 .k5-section-head { max-width: 760px; margin-bottom: var(--kr-space-10); }

.k5 .k5-actions { display: flex; flex-wrap: wrap; gap: var(--kr-space-3); margin-top: var(--kr-space-8); }
.k5 .k5-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 var(--kr-space-5); border: 1px solid var(--line); border-radius: var(--kr-radius-control); background: var(--paper); color: var(--ink); font-size: 15px; font-weight: 600; text-decoration: none; transition: background 140ms cubic-bezier(.2,.7,.3,1), border-color 140ms cubic-bezier(.2,.7,.3,1), transform 140ms cubic-bezier(.2,.7,.3,1); }
.k5 .k5-button:hover { border-color: var(--kr-color-neutral-line-strong); color: var(--ink); transform: translateY(-1px); }
.k5 .k5-primary { border-color: var(--brand); background: var(--brand); color: var(--paper); }
.k5 .k5-primary:hover { border-color: var(--kr-color-brand-primary-hover); background: var(--kr-color-brand-primary-hover); color: var(--paper); }
.k5 .k5-link { display: inline-flex; align-items: center; gap: var(--kr-space-2); min-height: 44px; color: var(--brand); font-size: 15px; font-weight: 600; text-decoration: none; }
.k5 .k5-link span { transition: transform 140ms cubic-bezier(.2,.7,.3,1); }
.k5 .k5-link:hover { color: var(--kr-color-brand-primary-hover); text-decoration: underline; text-underline-offset: 4px; }
.k5 .k5-link:hover span { transform: translateX(3px); }
.k5 .k5-link-quiet { color: var(--muted); font-weight: 500; }
.k5 .k5-offer { margin-top: var(--kr-space-4); max-width: 46ch; font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }

/* Product shot: a white sheet with a quiet label bar. On a phone, a cropped detail (see k5Shot). */
.k5 .k5-shot { overflow: hidden; border: 1px solid var(--line); border-radius: var(--kr-radius-panel); background: var(--paper); box-shadow: var(--kr-shadow-quiet); }
.k5 .k5-shot-bar { display: flex; justify-content: space-between; gap: var(--kr-space-3); padding: 10px var(--kr-space-4); border-bottom: 1px solid var(--line); color: var(--muted); font-size: var(--kr-type-size-label); font-weight: 500; letter-spacing: .02em; }
.k5 .k5-shot-bar span:first-child { color: var(--ink); }
.k5 .k5-shot-media { position: relative; }
.k5 .k5-shot-media img { display: block; width: 100%; height: auto; }
.k5 figcaption { margin-top: var(--kr-space-3); color: var(--muted); font-size: var(--kr-type-size-small); line-height: var(--kr-type-line-height-small); }
.k5 figcaption a { color: var(--brand); font-weight: 500; }
.k5 .k5-callouts { position: absolute; inset: 0; pointer-events: none; display: none; }
.k5 .k5-callout { position: absolute; left: var(--x); top: var(--y); display: inline-flex; align-items: center; gap: 8px; transform: translate(-6px, -50%); padding: 6px 10px 6px 8px; border: 1px solid var(--brand); border-radius: var(--kr-radius-round); background: var(--paper); box-shadow: var(--kr-shadow-quiet); color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.k5 .k5-callout i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px var(--kr-color-brand-soft); }

@media (max-width: 860px) {
  .k5 .k5-crop .k5-shot-media { height: 260px; overflow: hidden; }
  .k5 .k5-crop .k5-shot-media img { position: absolute; left: 50%; top: 50%; width: var(--pw); max-width: none; transform: translate(calc(var(--cx) * -100%), calc(var(--cy) * -100%)); }
}

/* Hero */
.k5 .k5-hero { padding: var(--kr-space-10) 0 var(--kr-space-12); }
.k5 .k5-hero-grid { display: grid; gap: var(--kr-space-10); }
.k5 .k5-promise { margin-top: var(--kr-space-4); color: var(--ink); font-family: var(--kr-type-family-display); font-size: clamp(22px, 4.6vw, 28px); font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; }
.k5 .k5-hero-copy .k5-lead { margin-top: var(--kr-space-5); }
.k5 .k5-hero-shot { margin: 0; min-width: 0; }
.k5 .k5-proof { display: grid; gap: 0; margin: var(--kr-space-12) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.k5 .k5-proof li { display: grid; gap: 2px; padding: var(--kr-space-4) 0; border-bottom: 1px solid var(--line); }
.k5 .k5-proof strong { color: var(--ink); font-size: 15px; font-weight: 600; }
.k5 .k5-proof span { color: var(--muted); font-size: var(--kr-type-size-small); }

/* Pain */
.k5 .k5-pain { padding: var(--kr-space-16) 0; border-top: 1px solid var(--line); background: var(--paper); }
.k5 .k5-pain-grid { display: grid; gap: var(--kr-space-6); }
.k5 .k5-pain-copy { display: grid; gap: var(--kr-space-4); align-content: start; }

/* Scroll story. Default (no script, reduced motion): stacked cards with their own image. */
.k5 .k5-story { padding: var(--kr-space-16) 0 var(--kr-space-12); }
.k5 .k5-story-head { margin-bottom: var(--kr-space-8); }
.k5 .k5-story-head h2 { max-width: 760px; }
.k5 .k5-skip { position: absolute; left: -9999px; }
.k5 .k5-skip:focus { position: static; display: inline-flex; margin-top: var(--kr-space-4); color: var(--brand); font-weight: 600; }
.k5 .k5-story-frame { display: none; }
.k5 .k5-story-steps { display: grid; gap: var(--kr-space-6); margin: 0; padding: 0; list-style: none; }
.k5 .k5-step { padding: var(--kr-space-6) 0; border-top: 1px solid var(--line); }
.k5 .k5-step-n { display: block; margin-bottom: var(--kr-space-3); color: var(--brand); font-size: var(--kr-type-size-label); font-weight: 500; letter-spacing: var(--kr-type-tracking-eyebrow); text-transform: uppercase; }
.k5 .k5-step h3 { font-family: var(--kr-type-family-display); font-size: clamp(24px, 5vw, 32px); font-weight: 600; line-height: 1.15; letter-spacing: var(--kr-type-tracking-display); }
.k5 .k5-step p { margin-top: var(--kr-space-3); max-width: 52ch; }
.k5 .k5-step-figure { margin: var(--kr-space-5) 0 0; }
.k5 .k5-step-links { display: flex; flex-wrap: wrap; column-gap: var(--kr-space-5); margin-top: var(--kr-space-2); }
.k5 #after-story { scroll-margin-top: 80px; }
.k5 #after-story:focus { outline: none; }

/* Enhanced: a sticky product frame switches per step. Phone: the frame sits at the top of the
   screen (svh, so the iOS address bar cannot make it jump) and the copy scrolls beneath it. */
.k5 .k5-story.is-enhanced .k5-story-frame { display: block; position: sticky; top: 68px; z-index: 2; margin: 0 calc(-1 * var(--k5-gutter)); padding: var(--kr-space-2) var(--k5-gutter) var(--kr-space-3); background: linear-gradient(var(--canvas) 88%, transparent); }
.k5 .k5-story.is-enhanced .k5-frame-stack { display: grid; }
.k5 .k5-story.is-enhanced .k5-frame { grid-area: 1 / 1; opacity: 0; transform: translateY(8px) scale(.985); transition: opacity 420ms cubic-bezier(.2,.7,.3,1), transform 420ms cubic-bezier(.2,.7,.3,1), visibility 0s linear 420ms; visibility: hidden; }
.k5 .k5-story.is-enhanced .k5-frame.is-active { opacity: 1; transform: none; visibility: visible; transition-delay: 0s; }
.k5 .k5-story.is-enhanced .k5-frame .k5-shot-media { height: calc(42svh - 40px); min-height: 200px; }
.k5 .k5-frame-dots { display: flex; gap: 6px; margin: var(--kr-space-2) 0 0; padding: 0; list-style: none; }
.k5 .k5-frame-dots li { width: 18px; height: 3px; border-radius: 2px; background: var(--line); transition: background 220ms ease, width 220ms ease; }
.k5 .k5-frame-dots li.is-active { width: 34px; background: var(--brand); }
.k5 .k5-story.is-enhanced .k5-step { min-height: 58svh; display: flex; flex-direction: column; justify-content: center; border-top: 0; opacity: .38; transition: opacity 420ms cubic-bezier(.2,.7,.3,1); }
.k5 .k5-story.is-enhanced .k5-step.is-active { opacity: 1; }
.k5 .k5-story.is-enhanced .k5-step-figure { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }

/* Assistant (shared mp section) sits in the story's rhythm. */
.k5 .mp-investigate { padding-block: var(--kr-space-16); }

/* Trust, roles, tools */
.k5 .k5-trust, .k5 .k5-roles, .k5 .k5-tools, .k5 .k5-moments { padding: var(--kr-space-16) 0; }
.k5 .k5-roles, .k5 .k5-moments { border-top: 1px solid var(--line); }
.k5 .k5-trust-grid { display: grid; gap: var(--kr-space-3); margin-bottom: var(--kr-space-4); }
.k5 .k5-trust-grid article { padding: var(--kr-space-6); border: 1px solid var(--line); border-radius: var(--kr-radius-surface); background: var(--paper); }
.k5 .k5-trust-grid h3 { margin-top: var(--kr-space-6); }
.k5 .k5-trust-grid p { margin-top: var(--kr-space-2); font-size: 15px; }
.k5 .k5-role-grid { display: grid; gap: var(--kr-space-3); }
.k5 .k5-role { display: grid; gap: var(--kr-space-2); padding: var(--kr-space-6); border: 1px solid var(--line); border-radius: var(--kr-radius-surface); background: var(--paper); color: var(--ink); text-decoration: none; transition: border-color 140ms ease, transform 220ms cubic-bezier(.2,.7,.3,1), box-shadow 220ms ease; }
.k5 .k5-role:hover { border-color: var(--brand); color: var(--ink); transform: translateY(-2px); box-shadow: var(--kr-shadow-quiet); }
.k5 .k5-role strong { margin-top: var(--kr-space-4); font-size: 20px; line-height: 1.3; }
.k5 .k5-role > span:not(.k5-num) { color: var(--muted); font-size: 15px; line-height: 1.55; }
.k5 .k5-role em { margin-top: var(--kr-space-3); color: var(--brand); font-size: 15px; font-style: normal; font-weight: 600; }
.k5 .k5-tools { border-top: 1px solid var(--line); background: var(--paper); }
.k5 .k5-tools-grid { display: grid; gap: var(--kr-space-8); }
.k5 .k5-tools-grid p { margin-top: var(--kr-space-4); }
.k5 .k5-tool-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.k5 .k5-tool-list a { display: grid; gap: 2px; min-height: 64px; padding: var(--kr-space-4) var(--kr-space-8) var(--kr-space-4) 0; border-bottom: 1px solid var(--line); position: relative; text-decoration: none; }
.k5 .k5-tool-list a::after { content: "\2192"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); color: var(--brand); transition: transform 140ms ease; }
.k5 .k5-tool-list a:hover::after { transform: translate(3px, -50%); }
.k5 .k5-tool-list strong { color: var(--ink); font-size: 16px; }
.k5 .k5-tool-list span { color: var(--muted); font-size: var(--kr-type-size-small); }

/* Closing: the navy sheet, one action. */
.k5 .k5-close { padding: var(--kr-space-12) 0 var(--kr-space-16); }
.k5 .k5-close-card { display: grid; gap: var(--kr-space-10); padding: var(--kr-space-8) var(--kr-space-6); border-radius: var(--kr-radius-panel); background: var(--brand); color: var(--paper); }
.k5 .k5-close-card h2 { color: var(--paper); }
.k5 .k5-close-card .k5-eyebrow { color: var(--kr-color-dark-primary); }
.k5 .k5-close-card p { color: var(--kr-color-dark-text); }
.k5 .k5-close-copy > p { margin-top: var(--kr-space-4); max-width: 54ch; }
.k5 .k5-close-card a:not(.k5-button) { color: var(--paper); }
.k5 .k5-on-dark { border-color: var(--paper); background: var(--paper); color: var(--brand); }
.k5 .k5-on-dark:hover { border-color: var(--kr-color-brand-soft); background: var(--kr-color-brand-soft); color: var(--brand); }
.k5 .k5-ghost { border-color: rgba(255,255,255,.38); background: transparent; color: var(--paper); }
.k5 .k5-ghost:hover { border-color: var(--paper); background: transparent; color: var(--paper); }
.k5 .k5-close-steps { display: grid; align-content: start; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.22); }
.k5 .k5-close-steps li { display: grid; grid-template-columns: 36px 1fr; column-gap: var(--kr-space-3); padding: var(--kr-space-4) 0; border-bottom: 1px solid rgba(255,255,255,.22); }
.k5 .k5-close-steps span { grid-row: span 2; color: var(--kr-color-dark-primary); font-size: var(--kr-type-size-label); font-weight: 600; letter-spacing: .06em; padding-top: 3px; }
.k5 .k5-close-steps strong { color: var(--paper); font-size: 16px; }
.k5 .k5-close-steps small { color: var(--kr-color-dark-text); font-size: var(--kr-type-size-small); line-height: 1.5; }
.k5 .k5-close-proof { align-self: end; color: var(--kr-color-dark-text); font-family: var(--kr-type-family-display); font-size: 22px; line-height: 1.35; }

/* Inner pages: Use cases, Systems */
.k5 .k5-page-hero { padding: var(--kr-space-10) 0 var(--kr-space-12); }
.k5 .k5-page-hero-grid { display: grid; gap: var(--kr-space-10); align-items: center; }
.k5 .k5-page-hero-grid > div > .k5-lead { margin-top: var(--kr-space-5); }
.k5 .k5-page-hero figure { margin: 0; min-width: 0; }
.k5 .k5-jump { display: flex; flex-wrap: wrap; gap: var(--kr-space-2); margin-top: var(--kr-space-6); }
.k5 .k5-jump a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 var(--kr-space-4); border: 1px solid var(--line); border-radius: var(--kr-radius-round); background: var(--paper); color: var(--ink); font-size: var(--kr-type-size-small); font-weight: 500; text-decoration: none; }
.k5 .k5-jump a:hover { border-color: var(--brand); color: var(--brand); }
.k5 .k5-cases { padding: var(--kr-space-16) 0; border-top: 1px solid var(--line); scroll-margin-top: 68px; }
.k5 .k5-cases-alt { background: var(--paper); }
.k5 .k5-cases-grid { display: grid; gap: var(--kr-space-8); }
.k5 .k5-cases-head p { margin-top: var(--kr-space-4); }
.k5 .k5-cases-head .k5-shot { margin-top: var(--kr-space-6); }
.k5 .k5-case-list { display: grid; border-top: 1px solid var(--line); }
.k5 .k5-case { padding: var(--kr-space-6) 0; border-bottom: 1px solid var(--line); }
.k5 .k5-case p { margin-top: var(--kr-space-2); }
.k5 .k5-case .k5-link { margin-top: var(--kr-space-1); }

/* Entrance: once, on load; scroll-driven reveals only where the browser supports them. */
@media (prefers-reduced-motion: no-preference) {
  .k5 .k5-rise { animation: k5-rise 600ms cubic-bezier(.2,.7,.3,1) both; }
  .k5 .k5-rise:nth-child(2) { animation-delay: 60ms; }
  .k5 .k5-rise:nth-child(3) { animation-delay: 120ms; }
  .k5 .k5-rise:nth-child(4) { animation-delay: 180ms; }
  .k5 .k5-rise:nth-child(5) { animation-delay: 240ms; }
  .k5 .k5-hero-shot.k5-rise { animation-delay: 200ms; }
  @supports (animation-timeline: view()) {
    .k5 .k5-section-head, .k5 .k5-trust-grid > *, .k5 .k5-role, .k5 .k5-case, .k5 .k5-close-card, .k5 .k5-pain-grid > *, .k5 .k5-tool-list li {
      animation: k5-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 32%;
    }
  }
  .k5 .k5-story.is-enhanced .k5-frame.is-active .k5-callout { animation: k5-pop 420ms cubic-bezier(.2,.7,.3,1) both; animation-delay: calc(260ms + var(--i) * 140ms); }
}
@keyframes k5-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes k5-pop { from { opacity: 0; transform: translate(-6px, -30%); } to { opacity: 1; transform: translate(-6px, -50%); } }
@media (prefers-reduced-motion: reduce) {
  .k5 *, .k5 *::before, .k5 *::after { transition: none !important; animation: none !important; }
}

/* Tablet and up */
@media (min-width: 700px) {
  .k5 { --k5-gutter: 32px; }
  .k5 .k5-proof { grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
  .k5 .k5-proof li { padding: var(--kr-space-5) var(--kr-space-6) var(--kr-space-5) 0; border-bottom: 0; }
  .k5 .k5-proof li + li { padding-left: var(--kr-space-6); border-left: 1px solid var(--line); }
  .k5 .k5-trust-grid, .k5 .k5-role-grid { grid-template-columns: repeat(3, 1fr); }
  .k5 .k5-close-card { padding: var(--kr-space-12); }
}

/* Desktop: two-column hero; story with the sticky frame on the right. */
@media (min-width: 861px) {
  .k5 .k5-callouts { display: block; }
  .k5 .k5-hero { padding: var(--kr-space-16) 0; }
  .k5 .k5-hero-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: var(--kr-space-12); }
  .k5 .k5-hero-copy .k5-lead { max-width: 48ch; }
  .k5 .k5-pain { padding: var(--kr-space-24) 0; }
  .k5 .k5-pain-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--kr-space-16); }
  .k5 .k5-story { padding: var(--kr-space-24) 0 var(--kr-space-16); }
  .k5 .k5-story.is-enhanced .k5-story-body { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--kr-space-16); }
  .k5 .k5-story.is-enhanced .k5-story-frame { grid-column: 2; grid-row: 1; align-self: start; top: 112px; margin: 0; padding: 0; background: none; }
  .k5 .k5-story.is-enhanced .k5-story-steps { grid-column: 1; grid-row: 1; gap: 0; }
  .k5 .k5-story.is-enhanced .k5-step { min-height: 78vh; }
  .k5 .k5-story.is-enhanced .k5-step:first-child { min-height: 64vh; justify-content: flex-start; padding-top: var(--kr-space-12); }
  .k5 .k5-story.is-enhanced .k5-frame .k5-shot-media { height: auto; min-height: 0; }
  .k5 .k5-story.is-enhanced .k5-frame-dots { margin-top: var(--kr-space-4); }
  .k5 .k5-story:not(.is-enhanced) .k5-step { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--kr-space-12); }
  .k5 .k5-story:not(.is-enhanced) .k5-step > :not(.k5-step-figure) { grid-column: 1; }
  .k5 .k5-story:not(.is-enhanced) .k5-step-figure { grid-column: 2; grid-row: 1 / span 4; margin: 0; }
  .k5 .mp-investigate { padding-block: var(--kr-space-24); }
  .k5 .k5-trust, .k5 .k5-roles, .k5 .k5-tools, .k5 .k5-moments { padding: var(--kr-space-24) 0; }
  .k5 .k5-tools-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--kr-space-16); }
  .k5 .k5-close-card { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--kr-space-16); padding: var(--kr-space-16); }
  .k5 .k5-page-hero { padding: var(--kr-space-16) 0; }
  .k5 .k5-page-hero-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--kr-space-12); }
  .k5 .k5-cases { padding: var(--kr-space-24) 0; }
  .k5 .k5-cases-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--kr-space-16); align-items: start; }
  .k5 .k5-cases-head { position: sticky; top: 112px; }
  .k5 h1 { font-size: clamp(44px, 4.6vw, 60px); }
}

/* MK5 polish after the first screenshot pass. */
.k5 .k5-callout-left { flex-direction: row-reverse; padding: 6px 8px 6px 10px; transform: translate(calc(-100% + 6px), -50%); }
.k5 .k5-shot-bar span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@keyframes k5-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .k5 .k5-story.is-enhanced .k5-frame.is-active .k5-callout { animation-name: k5-fade; }
}
@media (min-width: 861px) {
  .k5 .k5-hero-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
  .k5 .k5-hero h1 { font-size: clamp(40px, 3.7vw, 52px); }
}

/* MK5 review fixes (independent review 2026-11-12). */
.k5 .mp-investigate h2 { color: var(--paper); }
.k5 .k5-step { scroll-margin-top: 84px; }
.k5 .k5-story.is-enhanced .k5-step { scroll-margin-top: calc(68px + 42svh + 24px); }
.k5 .k5-story-frame { flex-direction: column; }
.k5 .k5-story.is-enhanced .k5-story-frame { display: flex; }
.k5 .k5-story.is-enhanced .k5-frame-dots { order: -1; margin: 0 0 var(--kr-space-2); }
@media (min-width: 861px) {
  .k5 .k5-story.is-enhanced .k5-step { scroll-margin-top: 0; }
  .k5 .k5-story.is-enhanced .k5-frame-dots { margin: 0 0 var(--kr-space-3); }
  .k5 .k5-story:not(.is-enhanced) .k5-step { grid-template-rows: auto auto auto 1fr; }
  .k5 h1 { font-size: clamp(40px, 3.7vw, 52px); }
}

/* MK5 owner review (2026-11-12): the data band is one compact row; the roles show the product. */
.k5 .k5-trust { padding: var(--kr-space-12) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }
.k5 .k5-trust-band { display: grid; gap: var(--kr-space-6); }
.k5 .k5-trust-head h2 { font-size: clamp(24px, 4.4vw, 30px); }
.k5 .k5-trust-head .k5-link { margin-top: var(--kr-space-3); }
.k5 .k5-trust-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.k5 .k5-trust-list li { display: grid; gap: 2px; padding: var(--kr-space-4) 0; border-bottom: 1px solid var(--line); }
.k5 .k5-trust-list strong { color: var(--ink); font-size: 16px; font-weight: 600; line-height: 1.4; }
.k5 .k5-trust-list span { color: var(--muted); font-size: 15px; line-height: 1.55; }
.k5 .k5-roles { border-top: 0; }
.k5 .k5-role-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--kr-space-4); }
.k5 .k5-role { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; border-radius: var(--kr-radius-panel); }
.k5 .k5-role > span.k5-role-copy { color: var(--ink); }
.k5 .k5-role-copy { display: grid; gap: var(--kr-space-2); padding: var(--kr-space-6); }
.k5 .k5-role strong { margin-top: var(--kr-space-2); }
.k5 .k5-role .k5-role-line { color: var(--muted); font-size: 15px; line-height: 1.55; }
.k5 .k5-role em { margin-top: var(--kr-space-1); }
.k5 .k5-role-shot { display: flex; flex: 1; flex-direction: column; margin: 0 var(--kr-space-6); border: 1px solid var(--line); border-bottom: 0; border-radius: var(--kr-radius-surface) var(--kr-radius-surface) 0 0; background: var(--paper); overflow: hidden; }
.k5 .k5-role-media { position: relative; display: block; flex: 1; aspect-ratio: 16 / 9; overflow: hidden; background: var(--canvas); }
.k5 .k5-role-media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--mx) var(--my); transform: scale(var(--mz)); transform-origin: var(--mx) var(--my); transition: transform 320ms cubic-bezier(.2,.7,.3,1); }
.k5 .k5-role:hover .k5-role-media img { transform: scale(calc(var(--mz) * 1.03)); }
.k5 .k5-role:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
@media (min-width: 600px) and (max-width: 860px) {
  .k5 .k5-role-media { aspect-ratio: 5 / 2; }
  .k5 .k5-role-media img { object-position: var(--fx) var(--fy); transform: scale(var(--z)); transform-origin: var(--fx) var(--fy); }
  .k5 .k5-role:hover .k5-role-media img { transform: scale(calc(var(--z) * 1.03)); }
}
@media (min-width: 861px) {
  .k5 .k5-trust { padding: var(--kr-space-16) 0; }
  .k5 .k5-trust-band { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--kr-space-16); align-items: center; }
  .k5 .k5-trust-list li { grid-template-columns: 220px minmax(0, 1fr); column-gap: var(--kr-space-6); align-items: baseline; }
  .k5 .k5-role-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto; }
  .k5 .k5-role-lead { grid-row: span 2; }
  .k5 .k5-role-copy { padding: var(--kr-space-8); }
  .k5 .k5-role-shot { margin-inline: var(--kr-space-8); }
  .k5 .k5-role-lead .k5-role-media { aspect-ratio: auto; min-height: 320px; }
  .k5 .k5-role:not(.k5-role-lead) .k5-role-media { aspect-ratio: auto; min-height: 150px; }
  .k5 .k5-role-media img { object-position: var(--fx) var(--fy); transform: scale(var(--z)); transform-origin: var(--fx) var(--fy); }
  .k5 .k5-role:hover .k5-role-media img { transform: scale(calc(var(--z) * 1.03)); }
}
.how-page .how-source-list { margin-top: var(--kr-space-8); }
.how-page .how-source-list li { padding: var(--kr-space-4) 0; }
.how-page .how-sources p.how-source-note { margin-top: var(--kr-space-4); font-size: var(--kr-type-size-small); }
.security-page .security-ai { border-top: 1px solid var(--line); }

/* MK5 pass 2 (2026-11-12): the Monthly brief band and the Planning band, shared by Home and Product. */
.k5.k5-embed { overflow-x: clip; }
.mp-root:not(.k5) .k5-embed .k5-shell { width: min(1240px, calc(100% - var(--kr-space-16))); }
@media (max-width: 700px) { .mp-root:not(.k5) .k5-embed .k5-shell { width: calc(100% - var(--kr-space-10)); } }
/* MK5 pass 3 (2026-11-12): on the MK5 pages the Assistant band sits on the same column as every other
   section (1180px, 16px gutters), not the wider management-review shell it shares with Product. */
.mp-root.k5 .mp-investigate .mp-shell { width: min(1180px, calc(100% - 2 * var(--k5-gutter))); }
.k5 .k5-brief, .k5 .k5-plan { padding: var(--kr-space-16) 0; border-top: 1px solid var(--line); }
.k5 .k5-brief { background: var(--paper); }
.k5 .k5-brief-grid { display: grid; gap: var(--kr-space-8); }
.k5 .k5-brief-copy > p { margin-top: var(--kr-space-4); max-width: 52ch; }
.k5 .k5-brief-points { display: grid; margin: var(--kr-space-6) 0 var(--kr-space-2); padding: 0; list-style: none; border-top: 1px solid var(--line); }
.k5 .k5-brief-points li { display: grid; gap: 2px; padding: var(--kr-space-4) 0; border-bottom: 1px solid var(--line); }
.k5 .k5-brief-points strong { color: var(--ink); font-size: 16px; font-weight: 600; }
.k5 .k5-brief-points span { color: var(--muted); font-size: 15px; line-height: 1.55; }
.k5 .k5-brief-figure { margin: 0; min-width: 0; }
.k5 .k5-plan-grid { display: grid; gap: var(--kr-space-4); }
.k5 .k5-plan-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--kr-radius-panel); background: var(--paper); }
.k5 .k5-plan-card .k5-plan-shot { margin: var(--kr-space-4) var(--kr-space-4) 0; border-bottom: 0; border-radius: var(--kr-radius-surface) var(--kr-radius-surface) 0 0; box-shadow: none; }
.k5 .k5-plan-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--canvas); }
.k5 .k5-plan-media img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--fx) var(--fy); transform: scale(var(--z, 1)); transform-origin: var(--fx) var(--fy); }
.k5 .k5-plan-measures { overflow: visible; display: flex; flex-direction: column; justify-content: center; gap: var(--kr-space-4); padding: var(--kr-space-5); background: var(--kr-color-brand-soft); }
.k5 .k5-plan-measures ul { display: flex; flex-wrap: wrap; gap: var(--kr-space-2); margin: 0; padding: 0; list-style: none; }
.k5 .k5-plan-measures li { padding: 6px 12px; border: 1px solid var(--line); border-radius: var(--kr-radius-round); background: var(--paper); color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1.3; }
.k5 .k5-plan-measures p { margin: 0; color: var(--ink); font-size: var(--kr-type-size-small); line-height: 1.45; }
.k5 .k5-plan-copy { display: flex; flex: 1; flex-direction: column; gap: var(--kr-space-2); padding: var(--kr-space-5) var(--kr-space-6) var(--kr-space-4); border-top: 1px solid var(--line); }
.k5 .k5-plan-copy p { font-size: 15px; }
.k5 .k5-plan-copy .k5-link { margin-top: auto; }
.k5 .k5-case-group { margin: 0; padding: var(--kr-space-6) 0 0; color: var(--brand); font-size: var(--kr-type-size-label); font-weight: 600; letter-spacing: var(--kr-type-tracking-eyebrow); text-transform: uppercase; }
.k5 .k5-case-group + .k5-case { padding-top: var(--kr-space-3); }
.k5 .k5-case-list > .k5-case-group:first-child { padding-top: var(--kr-space-4); }
.k5 .k5-case-shot { margin: var(--kr-space-4) 0 var(--kr-space-2); max-width: 560px; }
.k5 .k5-case-shot .k5-plan-media { aspect-ratio: 2 / 1; }
.mp-root .mp-system-grid.mp-system-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1000px) { .mp-root .mp-system-grid.mp-system-grid-2 { grid-template-columns: 1fr; } }
@media (min-width: 700px) {
  .k5 .k5-plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .k5 .k5-trust-grid.k5-trust-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 700px) and (max-width: 1000px) {
  .k5 .k5-plan-grid { grid-template-columns: minmax(0, 1fr); }
  .k5 .k5-plan-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .k5 .k5-plan-card .k5-plan-shot { margin: var(--kr-space-4); border-bottom: 1px solid var(--line); border-radius: var(--kr-radius-surface); }
  .k5 .k5-plan-copy { border-top: 0; }
}
@media (min-width: 861px) {
  .k5 .k5-brief, .k5 .k5-plan { padding: var(--kr-space-24) 0; }
  .k5 .k5-brief-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--kr-space-16); align-items: center; }
}
