/* Tenant portal landing. All rules are owned by .ka-page or .ka-* components. */
.ka-page { --ka-ink:#282632; --ka-muted:#615e69; --ka-violet:#6045bd; --ka-paper:#f5f3ef; --ka-line:#dedbe5; background:#fff; }
.ka-page .modal .form-btn { display:flex; align-items:center; justify-content:center; gap:14px; }
.ka-page .modal .form-btn svg { flex:0 0 24px; width:24px; height:11px; margin:0; }
.ka-main, .ka-main *, .ka-main *::before, .ka-main *::after { box-sizing:border-box; }
.ka-main { color:var(--ka-ink); font-size:16px; line-height:1.65; }
.ka-shell { max-width:1290px; padding:0 30px; margin:auto; }
.ka-main h1,.ka-main h2,.ka-main h3,.ka-main h4,.ka-main p,.ka-main figure { margin:0; }
.ka-main h1,.ka-main h2 { letter-spacing:-.045em; font-weight:600; line-height:1.13; text-wrap:balance; }
.ka-main h1 { font-size:clamp(36px,4.2vw,60px); }
.ka-main h1 em { display:block; color:var(--ka-violet); font-style:normal; }
.ka-main h2 { font-size:clamp(29px,3.25vw,46px); }
.ka-main h3 { font-size:21px; line-height:1.35; font-weight:600; letter-spacing:-.02em; }
.ka-main h4 { font-size:16px; line-height:1.4; font-weight:600; }
.ka-main p { color:var(--ka-muted); }
.ka-main p+p { margin-top:16px; }
.ka-main a { color:inherit; }
.ka-main a:not([class]) { color:var(--ka-violet); text-decoration:underline; text-underline-offset:4px; }
.ka-main img { display:block; max-width:100%; height:auto; }
.ka-main [hidden] { display:none!important; }
.ka-main :is(a,button,summary):focus-visible { outline:3px solid var(--ka-violet); outline-offset:5px; }
.ka-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; padding:26px 0 34px; font-size:12px; line-height:1.4; color:var(--ka-muted); }
.ka-breadcrumb a { text-decoration:none; }
.ka-breadcrumb [aria-current] { color:var(--ka-violet); }
.ka-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:56px; padding-bottom:52px; }
.ka-kicker { font-size:12px; font-weight:700; letter-spacing:.095em; text-transform:uppercase; line-height:1.5; color:var(--ka-violet)!important; }
.ka-hero-copy > .ka-kicker { margin-bottom:20px; }
.ka-hero-copy > p:not(.ka-kicker) { margin-top:18px; }
.ka-hero-copy .ka-lead { color:var(--ka-ink); font-size:22px; line-height:1.45; font-weight:500; margin-top:25px; }
.ka-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:28px; }
.ka-button { display:inline-flex; justify-content:space-between; align-items:center; gap:20px; min-height:52px; max-width:100%; padding:15px 20px; border-radius:8px; background:var(--ka-violet); color:#fff!important; font-size:15px; font-weight:600; line-height:1.3; text-decoration:none; transition:background .2s; }
.ka-button:hover { background:#493492; }
.ka-button span { font-size:22px; line-height:1; }
.ka-text-link { display:inline-flex; align-items:center; gap:14px; min-height:44px; color:var(--ka-violet)!important; font-size:14px; line-height:1.5; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.ka-main .ka-prepare { font-size:14px; line-height:1.55; margin-top:12px!important; }
.ka-hero-proof { display:grid; grid-template-columns:1fr auto; gap:5px 12px; margin-top:26px; padding-top:20px; border-top:1px solid var(--ka-line); font-size:13px; line-height:1.5; text-decoration:none; }
.ka-hero-proof > span:first-child { grid-column:1/-1; color:var(--ka-muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.ka-hero-proof strong { font-weight:500; }
.ka-hero-art { position:relative; align-self:stretch; min-height:620px; border-radius:14px; overflow:hidden; background:var(--ka-paper); }
.ka-hero-art picture,.ka-hero-art img { height:100%; width:100%; }
.ka-hero-art img { object-fit:cover; object-position:48% 50%; }
.ka-art-label { position:absolute; left:24px; right:24px; bottom:52px; padding:22px; background:rgba(251,249,246,.94); border-radius:8px; color:var(--ka-ink); }
.ka-art-label span { display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:9px; }
.ka-art-label strong { font-weight:500; line-height:1.3; font-size:26px; letter-spacing:-.03em; }
.ka-hero-art figcaption { position:absolute; bottom:0; left:0; right:0; padding:10px 15px; color:#fff; background:#282632e8; font-size:12px; line-height:1.5; }
.ka-section-nav { display:flex; flex-wrap:wrap; gap:8px 30px; padding:20px 0; border-top:1px solid var(--ka-line); border-bottom:1px solid var(--ka-line); }
.ka-section-nav a { min-height:40px; display:flex; align-items:center; font-size:14px; font-weight:500; color:var(--ka-muted); text-decoration:none; }
.ka-section-nav a:hover { color:var(--ka-violet); }
.ka-section { padding:82px 0; scroll-margin-top:24px; }
.ka-section-head { max-width:820px; margin-bottom:36px; }
.ka-section-head .ka-kicker,.ka-split .ka-kicker,.ka-proof-copy .ka-kicker,.ka-launch .ka-kicker,.ka-faq-section .ka-kicker,.ka-final .ka-kicker { margin-bottom:18px; }
.ka-section-head > p:last-child { max-width:750px; margin-top:24px; }
.ka-demo { border:1px solid #d7d1e3; border-radius:16px; overflow:hidden; background:#fbfaff; }
.ka-demo-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 30px; border-bottom:1px solid var(--ka-line); }
.ka-tag { display:inline-block; font-size:12px; line-height:1.5; color:var(--ka-violet); font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.ka-demo-header h3 { margin-top:12px; font-size:26px; }
.ka-demo-header p { font-size:14px; margin-top:5px; }
.ka-role { font-size:12px; color:var(--ka-muted); border:1px solid var(--ka-line); padding:8px 12px; border-radius:30px; }
.ka-demo-actions { display:flex; flex-wrap:wrap; gap:8px; padding:24px 30px 0; }
.ka-demo-actions button { font:inherit; font-size:13px; font-weight:500; border:1px solid #d7d1e3; padding:12px 18px; min-height:46px; border-radius:6px; color:var(--ka-violet); background:#fff; cursor:pointer; }
.ka-demo-actions button[aria-pressed=true] { background:var(--ka-violet); color:#fff; border-color:var(--ka-violet); }
.ka-demo-panel { padding:24px 30px; }
.ka-demo-record { display:flex; align-items:center; gap:18px; padding:24px; border:1px solid var(--ka-line); border-radius:10px; background:#fff; }
.ka-record-icon { display:grid; place-items:center; flex-shrink:0; width:45px; height:55px; border-radius:6px; background:#ede8fb; color:var(--ka-violet); font-size:24px; }
.ka-demo-record .ka-kicker { font-size:12px; letter-spacing:.05em; }
.ka-demo-record h4 { margin-top:6px; }
.ka-demo-record p { font-size:14px; margin-top:5px; }
.ka-state { margin-left:auto; font-size:12px; color:#266746; background:#eef5f0; padding:6px 10px; border-radius:20px; white-space:nowrap; }
.ka-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; list-style:none; margin:30px 0 0; padding:0; }
.ka-flow li { position:relative; min-width:0; }
.ka-flow li > span { display:block; font-size:12px; color:var(--ka-violet); margin-bottom:12px; border-bottom:1px solid var(--ka-line); padding-bottom:10px; }
.ka-flow p { font-size:14px; line-height:1.65; margin-top:8px; }
.ka-demo-note { border-top:1px solid var(--ka-line); padding:18px 30px; font-size:14px; line-height:1.6; }
.ka-exchange { background:var(--ka-paper); border-radius:14px; padding:52px 40px; }
.ka-source-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.ka-source-grid article { min-width:0; }
.ka-source-number { display:block; font-size:13px; color:var(--ka-violet); margin-bottom:12px; }
.ka-source-grid p { font-size:14px; margin-top:12px; }
.ka-error-story { margin-top:40px; padding:26px 30px; background:#fff; border-radius:10px; border-left:3px solid var(--ka-violet); }
.ka-error-story h3 { margin:9px 0 15px; }
.ka-error-story p { font-size:14px; max-width:950px; }
.ka-split { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.ka-split h2 { margin-bottom:24px; }
.ka-access { background:#f5f2fc; border-radius:12px; padding:30px; }
.ka-access dl { margin:20px 0; }
.ka-access dl > div { padding:14px 0; border-bottom:1px solid var(--ka-line); }
.ka-access dt { font-size:14px; font-weight:600; }
.ka-access dd { margin:6px 0 0; font-size:13px; color:var(--ka-muted); line-height:1.6; }
.ka-access p { font-size:14px; }
.ka-boundaries { margin-top:36px; padding:24px 0 0; border-top:1px solid var(--ka-line); display:grid; grid-template-columns:1fr 2fr; gap:36px; }
.ka-boundaries p { font-size:14px; }
.ka-proof-section { display:grid; grid-template-columns:1fr 1fr; gap:40px 70px; border-top:1px solid var(--ka-line); border-bottom:1px solid var(--ka-line); }
.ka-proof-copy { align-self:center; }
.ka-proof-copy h3 { color:var(--ka-violet); margin:24px 0 12px; }
.ka-proof-copy .ka-text-link { margin-top:20px; }
.ka-proof-screens { display:grid; grid-template-columns:1fr 1fr; gap:18px; background:#f2eefb; border-radius:16px; padding:25px 30px 16px; }
.ka-proof-screens a { display:block; min-width:0; align-self:start; }
.ka-proof-screens img { max-height:470px; object-fit:contain; width:100%; }
.ka-proof-screens figcaption { grid-column:1/-1; font-size:12px; line-height:1.5; color:var(--ka-muted); }
.ka-adjacent { grid-column:1/-1; padding-top:28px; border-top:1px solid var(--ka-line); }
.ka-adjacent h3 { margin-bottom:16px; }
.ka-adjacent p { font-size:14px; max-width:990px; }
.ka-main .ka-small { font-size:14px; }
.ka-comparison { border:1px solid var(--ka-line); border-radius:10px; overflow:hidden; }
.ka-comparison table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; line-height:1.65; }
.ka-comparison caption { padding:16px 24px; text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--ka-muted); }
.ka-comparison th,.ka-comparison td { padding:22px 24px; vertical-align:top; border-top:1px solid var(--ka-line); }
.ka-comparison thead th { background:#f5f2fc; font-weight:600; font-size:12px; }
.ka-comparison tbody th { width:22%; font-weight:600; }
.ka-comparison td { width:39%; color:var(--ka-muted); }
.ka-estimate-detail { margin-top:32px; max-width:900px; }
.ka-estimate-detail h3 { margin-bottom:15px; }
.ka-estimate-detail .ka-text-link { margin-top:20px; }
.ka-launch { display:grid; grid-template-columns:1fr 1.2fr; gap:40px 70px; background:#f7f6fa; padding:50px 40px; border-radius:14px; }
.ka-launch-steps { list-style:none; padding:0; margin:0; }
.ka-launch-steps li { display:flex; gap:24px; padding:0 0 25px; }
.ka-launch-steps li+li { padding-top:24px; border-top:1px solid var(--ka-line); }
.ka-launch-steps li:last-child { padding-bottom:0; }
.ka-launch-steps span { color:var(--ka-violet); font-size:12px; padding-top:5px; }
.ka-launch-steps p { font-size:14px; margin-top:8px; }
.ka-acceptance { grid-column:1/-1; border-top:1px solid var(--ka-line); padding-top:30px; display:grid; grid-template-columns:1fr 2fr; gap:40px; }
.ka-acceptance ul { list-style:none; margin:0; padding:0; }
.ka-acceptance li { font-size:13px; line-height:1.65; position:relative; padding-left:24px; color:var(--ka-muted); }
.ka-acceptance li+li { margin-top:12px; }
.ka-acceptance li::before { content:'✓'; position:absolute; left:0; color:var(--ka-violet); }
.ka-faq-section { display:grid; grid-template-columns:1fr 1.2fr; gap:70px; }
.ka-faq { margin:0; width:100%; align-self:start; }
.ka-faq-section h2 { font-size:36px; }
.ka-faq .commercial-faq__question { font-size:14px; }
.ka-final { display:grid; grid-template-columns:1.8fr 1fr; gap:70px; align-items:center; margin-bottom:36px; padding:50px 45px; border-radius:14px; color:#fff; background:#332b50; }
.ka-final .ka-kicker { color:#d5c3ff!important; }
.ka-final h2 { color:#fff; }
.ka-final p { color:#e1dce9; margin-top:22px; font-size:15px; }
.ka-final .ka-button { background:#cab5ff; color:#2b2342!important; }
.ka-final .ka-button:hover { background:#dbcaff; }
.ka-final .ka-text-link { color:#e2d5ff!important; }
.ka-final aside { border-left:1px solid #645677; padding-left:30px; }
.ka-final aside > span { font-size:12px; text-transform:uppercase; letter-spacing:.07em; color:#d5c3ff; }
.ka-final ul { margin:20px 0 0; padding:0; list-style:none; }
.ka-final li { padding:12px 0; border-bottom:1px solid #645677; font-size:14px; }
.ka-main .ka-final-contact { font-size:14px; overflow-wrap:anywhere; }
.ka-main .ka-final-contact a { color:#e1dce9; }
.ka-related { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; padding:0 0 50px; font-size:14px; color:var(--ka-muted); }
.ka-related a { min-height:40px; display:flex; align-items:center; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:1100px) { .ka-hero { gap:28px; } .ka-hero-art { min-height:570px; } .ka-split,.ka-proof-section,.ka-launch,.ka-faq-section,.ka-final { gap:36px; } .ka-hero-copy .ka-lead { font-size:20px; } .ka-flow { gap:20px; } }
@media (max-width:850px) { .ka-hero { grid-template-columns:1fr; gap:32px; } .ka-hero-copy { max-width:680px; } .ka-main h1 { max-width:630px; } .ka-hero-art { min-height:0; height:420px; } .ka-hero-art img { object-position:50% 56%; } .ka-source-grid { gap:24px; } .ka-flow { grid-template-columns:repeat(2,1fr); } .ka-split,.ka-proof-section,.ka-launch,.ka-faq-section { grid-template-columns:1fr; } .ka-proof-screens { max-width:580px; width:100%; justify-self:center; } .ka-final { grid-template-columns:1fr; } .ka-final aside { border-left:0; border-top:1px solid #645677; padding:24px 0 0; } .ka-final ul { margin-top:12px; } .ka-final li { padding:8px 0; } .ka-boundaries,.ka-acceptance { grid-template-columns:1fr; gap:18px; } .ka-section { padding:58px 0; } .ka-exchange,.ka-launch { padding:40px 28px; } }
@media (max-width:600px) { .ka-shell { padding:0 20px; } .ka-main { font-size:15px; line-height:1.7; } .ka-breadcrumb { padding:20px 0 30px; font-size:12px; } .ka-main h1 { font-size:36px; line-height:1.12; } .ka-main h2,.ka-faq-section h2 { font-size:30px; } .ka-main h3 { font-size:20px; } .ka-hero-copy .ka-lead { font-size:20px; margin-top:20px; } .ka-hero { padding-bottom:30px; } .ka-hero-copy > .ka-kicker { font-size:12px; margin-bottom:16px; } .ka-actions { gap:12px 18px; margin-top:24px; } .ka-button { width:100%; font-size:15px; } .ka-hero-proof { margin-top:22px; } .ka-hero-art { height:340px; } .ka-art-label { left:16px; right:16px; bottom:48px; padding:18px; } .ka-art-label strong { font-size:23px; } .ka-section-nav { gap:4px 18px; } .ka-section-nav a { font-size:14px; } .ka-section { padding:48px 0; } .ka-section-head { margin-bottom:26px; } .ka-section-head > p:last-child { margin-top:18px; } .ka-demo-header { padding:20px; flex-direction:column; align-items:flex-start; gap:12px; } .ka-demo-header h3 { font-size:24px; } .ka-demo-header p { font-size:14px; } .ka-role { font-size:12px; } .ka-demo-actions { padding:20px 20px 0; } .ka-demo-actions button { width:100%; text-align:left; font-size:12px; } .ka-demo-panel { padding:20px; } .ka-demo-record { display:grid; grid-template-columns:32px 1fr; padding:16px; gap:12px; } .ka-record-icon { width:32px; height:42px; } .ka-demo-record h4 { font-size:14px; } .ka-state { grid-column:2; margin:0; justify-self:start; } .ka-flow { grid-template-columns:1fr; gap:24px; } .ka-flow li { display:grid; grid-template-columns:26px 1fr; gap:4px 12px; } .ka-flow li > span { grid-row:1/3; margin:0; padding:2px 0 0; border:0; } .ka-flow p { margin:2px 0 0; } .ka-demo-note { padding:16px 20px; font-size:14px; } .ka-exchange,.ka-launch { padding:28px 20px; } .ka-source-grid { grid-template-columns:1fr; gap:26px; } .ka-source-grid article+article { padding-top:24px; border-top:1px solid var(--ka-line); } .ka-error-story { margin-top:30px; padding:20px; } .ka-error-story p { font-size:14px; } .ka-access { padding:24px 20px; } .ka-proof-screens { padding:20px 16px 14px; gap:10px; } .ka-proof-screens img { max-height:none; } .ka-comparison { border:0; overflow:visible; } .ka-comparison table,.ka-comparison tbody,.ka-comparison tr,.ka-comparison th,.ka-comparison td { display:block; width:100%; } .ka-comparison caption { display:block; padding:0 0 14px; font-size:12px; } .ka-comparison thead { display:none; } .ka-comparison tbody tr { border:1px solid var(--ka-line); border-radius:10px; overflow:hidden; margin-bottom:12px; } .ka-comparison tbody th { width:100%; padding:16px 20px; border:0; background:#f5f2fc; } .ka-comparison td { padding:16px 20px; font-size:13px; } .ka-comparison td::before { content:attr(data-label); display:block; color:var(--ka-ink); font-size:12px; text-transform:uppercase; font-weight:600; letter-spacing:.06em; margin-bottom:6px; } .ka-comparison tr:last-child { margin-bottom:0; } .ka-estimate-detail p { font-size:14px; } .ka-launch-steps li { gap:16px; } .ka-acceptance { gap:20px; } .ka-final { padding:32px 22px; gap:28px; } .ka-final p { font-size:14px; } .ka-final .ka-final-contact { font-size:14px; } .ka-related { gap:10px; padding-bottom:35px; } .ka-related a { font-size:14px; } }
@media (max-width:359px) { .ka-shell { padding:0 16px; } .ka-main h1 { font-size:32px; } .ka-main h2,.ka-faq-section h2 { font-size:27px; } .ka-demo-header,.ka-demo-panel,.ka-demo-note { padding-left:16px; padding-right:16px; } .ka-demo-actions { padding-left:16px; padding-right:16px; } .ka-demo-record { grid-template-columns:1fr; } .ka-record-icon { display:none; } .ka-state { grid-column:1; } .ka-exchange,.ka-launch { padding-left:16px; padding-right:16px; } }
@media (prefers-reduced-motion:reduce) { .ka-main *, .ka-main *::before, .ka-main *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }


/* 2026-10-03: shared 13FOX spacing and readable UI refinement. */
.ka-page .ka-shell { box-sizing:border-box; width:100%; max-width:1320px; margin-inline:auto; padding-inline:15px; }
.commercial-page .ka-breadcrumb { gap:8px; font-size:16px; line-height:1.5; }
.commercial-page .ka-faq > details { border:1px solid var(--commercial-border); border-radius:18px; background:#fff; padding:0; }
.commercial-page .ka-faq > details > summary { font-size:17px; line-height:1.5; padding:20px 58px 20px 22px; }
.commercial-page .ka-faq > details > :not(summary) { padding-left:22px; padding-right:22px; }
@media(max-width:600px) {
 .commercial-page .ka-breadcrumb { font-size:15px; }
 .commercial-page .ka-faq > details > summary { font-size:16px; padding:18px 52px 18px 18px; }
 .commercial-page .ka-faq > details > :not(summary) { padding-left:18px; padding-right:18px; }
}
.commercial-page .ka-demo-record { border-radius:14px; }
.commercial-page.ka-page main .ka-button { border-radius:14px; }
