.ka .top-end{align-items:center;gap:10px;display:flex}.ka .menubtn{all:unset;box-sizing:border-box;border:1px solid var(--line-strong);width:42px;height:42px;color:var(--ink);cursor:pointer;transition:background-color .16s,transform .16s var(--out);border-radius:999px;place-items:center;display:none}.ka .menubtn:active{transform:scale(.95)}.ka .menubtn:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}.ka .menupanel{z-index:20;border-bottom:1px solid var(--line);background:var(--bg);position:absolute;top:100%;left:0;right:0;box-shadow:0 24px 40px -24px #1e2a6e40}.ka .top .menupanel .wrap{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;height:auto;padding-block:8px 24px;display:flex}.ka .menupanel a:not(.btn){border-bottom:1px solid var(--line);letter-spacing:-.01em;padding:16px 0;font-size:19px;font-weight:600}.ka .menupanel .btn{justify-content:center;margin-top:20px}.ka .menupanel[hidden]{display:none}@media (max-width:820px){.ka .menubtn{display:grid}}@media (min-width:821px){.ka .menupanel{display:none}}@media (max-width:420px){.ka .top-end .btn.dark{display:none}}.ka .phead{border-bottom:1px solid var(--line);padding-block:48px 88px}.ka .crumbs ol{color:var(--soft);flex-wrap:wrap;gap:8px;margin:0 0 40px;padding:0;font-size:14px;list-style:none;display:flex}.ka .crumbs li+li:before{content:"/";color:var(--faint);margin-right:8px}.ka .crumbs [aria-current]{color:var(--ink)}@media (hover:hover) and (pointer:fine){.ka .crumbs a:hover{color:var(--cobalt)}}.ka .crumbs a:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:4px}.ka .phead-g{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:40px 64px;display:grid}.ka .phead h1{letter-spacing:-.04em;max-width:15ch;font-size:clamp(40px,5.4vw,70px);font-weight:700;line-height:1.02}.ka .phead .lede{max-width:46ch;color:var(--muted);text-wrap:pretty;font-size:clamp(17px,1.5vw,18.5px)}.ka .phead .actions{justify-content:flex-start;margin-top:28px}.ka .phead.solo .phead-g{grid-template-columns:minmax(0,1fr)}.ka .phead.solo h1{max-width:20ch}.ka .phead.solo .lede{max-width:60ch}.ka .sec{padding-block:112px}.ka .sec.alt{background:var(--surface)}.ka .sec+.sec{border-top:1px solid var(--line)}.ka .sec.alt+.sec,.ka .sec+.sec.alt{border-top:0}.ka .sec-h.wide{max-width:760px;margin-bottom:56px}.ka .copy{color:var(--muted);text-wrap:pretty;flex-direction:column;gap:18px;max-width:62ch;font-size:18px;display:flex}.ka .copy strong{color:var(--ink);font-weight:600}.ka .more{color:var(--ink);align-items:center;gap:8px;font-weight:600;display:inline-flex}.ka .more svg{transition:transform .3s var(--out)}@media (hover:hover) and (pointer:fine){.ka .more:hover{color:var(--cobalt)}.ka .more:hover svg{transform:translate(4px)}}.ka .more:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:6px}.ka .ticks{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.ka .ticks li{border-bottom:1px solid var(--line);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:14px;padding:16px 0;font-size:17px;display:grid}.ka .ticks svg{color:var(--cobalt);margin-top:4px}.ka .ticks .t{flex-direction:column;gap:2px;display:flex}.ka .ticks .t b{font-weight:600}.ka .ticks .t span{color:var(--muted);font-size:15.5px}.ka .g-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin:0;padding:0;list-style:none;display:grid}.ka .g-items.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ka .g-items li{border-top:1px solid var(--line-strong);flex-direction:column;gap:8px;padding:26px 0 30px;display:flex}.ka .g-items b{letter-spacing:-.02em;font-size:20px;font-weight:650;line-height:1.25}.ka .g-items span{color:var(--muted);text-wrap:pretty}.ka .g-items small{font:400 13px/1 var(--font-mono);letter-spacing:0;color:var(--faint);margin-left:6px}.ka .g-items.warn li{border-top:2px solid var(--orange)}.ka .proof{color:var(--soft);flex-wrap:wrap;gap:8px 22px;margin:24px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.ka .proof li{align-items:center;gap:6px;display:inline-flex}.ka .proof svg{color:var(--cobalt)}.ka .g-split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:48px 72px;display:grid}.ka .box{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:20px;padding:28px}.ka .box h3{letter-spacing:0;color:var(--soft);margin-bottom:6px;font-size:15px;font-weight:600}.ka .box .note{color:var(--soft);text-wrap:pretty;margin-top:18px;font-size:13px}.ka .kv{margin:0}.ka .kv>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;display:flex}.ka .kv>div:last-child{border-bottom:0}.ka .kv dt{flex-direction:column;gap:2px;min-width:0;display:flex}.ka .kv dt b{font-weight:600}.ka .kv dt span{color:var(--muted);font-size:14px}.ka .kv dd{white-space:nowrap;margin:0;font-weight:600}.ka .label{margin:36px 0 14px;font-size:14px;font-weight:600}.ka .chiplist{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ka .chiplist li{border:1px solid var(--line-strong);color:#3b404a;background:var(--card);border-radius:999px;padding:7px 13px;font-size:14px}.ka .chapters{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.ka .chapters li{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr);gap:12px;padding:24px 0;display:grid}.ka .chapters .n{color:var(--cobalt);font-variant-numeric:tabular-nums;padding-top:3px;font-size:15px;font-weight:600}.ka .chapters p{text-wrap:pretty;font-size:18px;line-height:1.6}.ka .chapters.small p{font-size:16.5px}.ka .proj{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:40px 64px;display:grid}.ka .proj.flip>.proj-shot{order:2}.ka .proj-shot{aspect-ratio:16/10;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;display:block;position:relative;overflow:hidden}.ka .proj-shot img{object-fit:cover;object-position:top}.ka .proj-text{flex-direction:column;gap:18px;display:flex}.ka .proj-text h2{font-size:clamp(28px,3vw,38px);font-weight:700}.ka .proj-text .who{color:var(--soft);font-size:15px}.ka .proj-text .who b{color:var(--ink);font-weight:600}.ka .proj-text>p{color:var(--muted);text-wrap:pretty;font-size:17px}.ka .proj-text>p.label{color:var(--ink);margin:10px 0 0}.ka .proj-text .ticks{border-top-color:var(--line-strong)}.ka .proj-text .ticks li{padding:12px 0;font-size:16px}.ka .thumbs{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:40px 0 0;padding:0;list-style:none;display:grid}.ka .thumbs li{aspect-ratio:3/4;border:1px solid var(--line);background:var(--surface);border-radius:12px;position:relative;overflow:hidden}.ka .thumbs img{object-fit:cover;object-position:top}.ka .phead+.contact{padding-top:64px}.ka .sec-h+.kv{margin-top:28px}.ka .label.first{margin-top:0}.ka .chapters+.more{margin-top:24px}.ka .g-contact .intro p.note{color:#a3a9b5;font-size:13px}.ka .g-contact .note a{text-underline-offset:3px;text-decoration:underline}.ka .g-posts{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 28px;display:grid}.ka .post{flex-direction:column;gap:12px;display:flex}.ka .post .shot{aspect-ratio:16/10;border:1px solid var(--line);background:var(--surface);border-radius:14px;display:block;position:relative;overflow:hidden}.ka .post .shot img{object-fit:cover;transition:transform .7s var(--out)}.ka .post .meta{color:var(--soft);margin-top:6px;font-size:13.5px}.ka .post h2,.ka .post h3{letter-spacing:-.02em;text-wrap:balance;font-size:20px;font-weight:650;line-height:1.25}.ka .post p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:15.5px;display:-webkit-box;overflow:hidden}.ka .post:focus-visible{outline:2px solid var(--cobalt);outline-offset:6px;border-radius:14px}@media (hover:hover) and (pointer:fine){.ka .post:hover h2,.ka .post:hover h3{color:var(--cobalt)}.ka .post:hover .shot img{transform:scale(1.025)}}.ka .post.lead{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-content:center;align-items:center;gap:16px 56px;margin-bottom:80px;display:grid}.ka .post.lead .shot{border-radius:18px;grid-row:1/5}.ka .post.lead h2{letter-spacing:-.03em;font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.1}.ka .post.lead p{-webkit-line-clamp:4;font-size:17px}.ka .refs-h h2{font-size:clamp(28px,3.4vw,40px);font-weight:700}.ka .art-head{padding-top:48px}.ka .art-head .meta{color:var(--soft);flex-wrap:wrap;gap:6px 18px;margin-bottom:20px;font-size:14px;display:flex}.ka .art-head .meta b{color:var(--ink);font-weight:600}.ka .art-head h1,.ka .phead h1,.ka .prose h2{overflow-wrap:break-word}.ka .art-head h1{letter-spacing:-.035em;max-width:22ch;font-size:clamp(36px,4.6vw,58px);font-weight:700;line-height:1.05}.ka .art-head .lede{max-width:62ch;color:var(--muted);text-wrap:pretty;margin-top:22px;font-size:clamp(17px,1.6vw,19.5px)}.ka .art-cover{aspect-ratio:2;border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:48px;position:relative;overflow:hidden}.ka .art-cover img{object-fit:cover}.ka .prose{color:#2a2e36;max-width:720px;margin-inline:auto;padding-block:40px 112px;font-size:18px;line-height:1.7}.ka .prose h2{letter-spacing:-.02em;color:var(--ink);margin:56px 0 16px;font-size:clamp(24px,2.4vw,30px);font-weight:700;line-height:1.2}.ka .prose>section:first-child>h2:first-child{margin-top:16px}.ka .prose p+p{margin-top:18px}.ka .prose ul{margin:18px 0 0;padding:0;list-style:none}.ka .prose li{padding-left:24px;position:relative}.ka .prose li+li{margin-top:10px}.ka .prose li:before{content:"";background:var(--cobalt);border-radius:50%;width:6px;height:6px;position:absolute;top:.72em;left:4px}.ka .prose a{color:var(--link);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.ka .prose strong{color:var(--ink);font-weight:600}.ka .terms>section{border-top:1px solid var(--line);padding-top:40px}.ka .terms>section+section{margin-top:40px}.ka .terms h2{align-items:baseline;gap:16px;margin:0 0 14px;display:flex}.ka .terms h2 .n{color:var(--cobalt);font-variant-numeric:tabular-nums;flex:none;font-size:15px;font-weight:600}.ka .lost{align-content:center;min-height:62vh;padding-block:96px;display:grid}.ka .lost>.wrap{width:100%}.ka .lost .code{color:var(--cobalt);font-size:15px;font-weight:600}.ka .lost h1{letter-spacing:-.04em;max-width:16ch;margin-top:18px;font-size:clamp(40px,5.4vw,70px);font-weight:700;line-height:1.02}.ka .lost p.lede{max-width:52ch;color:var(--muted);margin-top:22px;font-size:18px}.ka .lost .actions{justify-content:flex-start;margin-top:32px}.ka button.btn{cursor:pointer;font:inherit;border:0;font-weight:600}.ka .stepl{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px;margin:0;padding:0;list-style:none;display:grid}.ka .stepl li{border-top:1px solid var(--ink);flex-direction:column;gap:10px;padding-top:22px;display:flex}.ka .stepl .n{color:var(--cobalt);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.ka .stepl b{letter-spacing:-.02em;font-size:20px;font-weight:650;line-height:1.25}.ka .stepl span:not(.n){color:var(--muted);text-wrap:pretty;font-size:15.5px}.ka .faq{border-top:1px solid var(--ink)}.ka .faq details{border-bottom:1px solid var(--line)}.ka .faq summary{letter-spacing:-.01em;cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:19px;font-weight:600;list-style:none;display:flex}.ka .faq summary::-webkit-details-marker{display:none}.ka .faq summary:focus-visible{outline:2px solid var(--cobalt);outline-offset:4px;border-radius:6px}.ka .faq summary svg{color:var(--soft);transition:transform .3s var(--out);flex:none}.ka .faq details[open] summary svg{color:var(--ink);transform:rotate(45deg)}@media (hover:hover) and (pointer:fine){.ka .faq summary:hover{color:var(--cobalt)}}.ka .faq .ans{color:var(--muted);text-wrap:pretty;max-width:70ch;padding:0 48px 26px 0;font-size:16.5px}.ka .cta{padding-block:112px}.ka .sec:not(.alt)+.cta,.ka .cta+.sec:not(.alt){padding-top:0}.ka .cta-card{background:var(--ink);color:#fff;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px 64px;padding:56px;display:grid}.ka .cta-card h2{max-width:18ch;font-size:clamp(32px,4vw,46px);font-weight:700}.ka .cta-card p{color:#c3c8d2;text-wrap:pretty;max-width:50ch;margin-top:18px;font-size:17px}.ka .cta-card .side{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.ka .cta-card .reach{color:#c3c8d2;flex-direction:column;gap:6px;font-size:15px;display:flex}@media (hover:hover) and (pointer:fine){.ka .cta-card .reach a:hover{color:#fff}}@media (max-width:900px){.ka .phead{padding-block:32px 64px}.ka .crumbs ol{margin-bottom:28px}.ka .phead-g,.ka .g-split{grid-template-columns:minmax(0,1fr)}.ka .phead-g{gap:24px}.ka .sec,.ka .cta{padding-block:80px}.ka .g-items,.ka .stepl{grid-template-columns:repeat(2,minmax(0,1fr))}.ka .proj{grid-template-columns:minmax(0,1fr)}.ka .proj.flip>.proj-shot{order:0}.ka .thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.ka .g-posts{grid-template-columns:repeat(2,minmax(0,1fr))}.ka .post.lead{grid-template-columns:minmax(0,1fr);margin-bottom:56px}.ka .post.lead .shot{grid-row:auto}.ka .prose{padding-block:32px 80px}.ka .cta-card{grid-template-columns:minmax(0,1fr);padding:36px 24px}}@media (max-width:560px){.ka .g-items,.ka .g-items.two,.ka .stepl{grid-template-columns:minmax(0,1fr)}.ka .faq summary{font-size:17px}.ka .faq .ans{padding-right:0}.ka .box{padding:22px 20px}.ka .kv.stack>div{flex-direction:column;gap:4px}.ka .chapters li{grid-template-columns:36px minmax(0,1fr)}.ka .chapters p{font-size:17px}.ka .thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px}.ka .g-posts{grid-template-columns:minmax(0,1fr);gap:28px}.ka .g-posts .post{grid-template-columns:104px minmax(0,1fr);align-content:start;gap:4px 16px;display:grid}.ka .g-posts .post .shot{aspect-ratio:1;border-radius:12px;grid-row:1/3}.ka .g-posts .post .meta{margin-top:0}.ka .g-posts .post h3{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:17px}.ka .g-posts .post p{display:none}.ka .prose{font-size:17px}.ka .art-head h1,.ka .phead h1,.ka .prose h2{-webkit-hyphens:auto;hyphens:auto}.ka .art-cover{aspect-ratio:16/10;margin-top:32px}}.ka .sec[id]{scroll-margin-top:96px}
