@layer base{*{box-sizing:border-box;margin:0;padding:0}}@layer legacy{:root{--line-dark:var(--color-line-dark);--max:var(--container-measure);--ease:var(--ease-editorial)}:root[data-theme=cerulean]{--bg:var(--color-bg);--surface:var(--color-surface);--sand:var(--color-sand);--cream:var(--color-cream);--navy:var(--color-navy);--navy-deep:var(--color-navy-deep);--ink:var(--color-ink);--gray:var(--color-gray);--line:var(--color-line);--accent:var(--color-cerulean);--accent-dark:var(--color-sky);--band-muted:var(--color-band-muted);--band-label:var(--color-band-label)}html{scroll-behavior:smooth}body{font-family:var(--font-body,system-ui, sans-serif);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:16.5px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:3px}.on-dark :focus-visible,.on-dark:focus-visible{outline-color:var(--accent-dark)}.lockup{--mk-ink:var(--ink);--mk-node:var(--accent);--kn-mark-h:1.62em;align-items:center;display:inline-flex}.lockup .kn-mark{height:var(--kn-mark-h);width:auto;margin-right:.16em;display:block;transform:translateY(-.1em)}.lockup .kn-mark .mk-ink{fill:var(--mk-ink)}.lockup .kn-mark .mk-node{fill:var(--mk-node)}.lockup.on-dark,.on-dark .lockup{--mk-ink:#e4f1f6;--mk-node:var(--accent-dark)}.lockup{transform-origin:50%}.lockup .kn-mark,.lockup .nav-draw-mark{transform-box:border-box;transform-origin:50%}.lockup:hover .kn-mark,.lockup:hover .nav-draw-mark{animation:.55s cubic-bezier(.2,1.4,.35,1) knMarkHover}.lockup:hover .kn-mark .mk-node,.lockup:hover .nav-draw-mark .draw-node{animation:.55s cubic-bezier(.2,1.6,.35,1) knNodePop}@keyframes knMarkHover{0%{transform:translateY(0)scale(1)}45%{transform:translateY(-3px)scale(1.09)}to{transform:translateY(0)scale(1)}}@keyframes knNodePop{0%{transform:scale(1)}45%{transform:scale(1.35)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.lockup:hover .kn-mark,.lockup:hover .nav-draw-mark,.lockup:hover .kn-mark .mk-node,.lockup:hover .nav-draw-mark .draw-node{animation:none}}.btn{background:var(--ink);color:#fff;cursor:pointer;transition:transform .2s var(--ease), background .2s, box-shadow .2s;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px 26px;font-size:.95rem;font-weight:500;display:inline-flex}.btn:hover{background:var(--navy);transform:translateY(-1px);box-shadow:0 14px 30px -18px #13243c8c}.btn:active{transform:scale(.98)}.btn.accent{background:var(--accent-dark);color:var(--navy-deep)}.btn.accent:hover{background:#3d9fe0}footer{border-top:1px solid var(--line);color:var(--gray);padding:44px 0;font-size:.88rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}}
@layer legacy{.split .word{vertical-align:top;display:inline-block;overflow:hidden}.split .word>span{transition:transform .8s var(--ease-spring);transition-delay:calc(var(--i) * 70ms);display:inline-block;transform:translateY(110%)}.in .split .word>span{transform:none}.rise{opacity:0;transition:opacity .7s ease, transform .7s var(--ease-spring);transition-delay:calc(.25s + var(--i,0) * 90ms);transform:translateY(22px)}.in .rise{opacity:1;transform:none}.rv{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(18px)}.rv.in{opacity:1;transform:none}@media print{.split .word>span,.rise,.rv{opacity:1!important;transition:none!important;transform:none!important}}@media (prefers-reduced-motion:reduce){.split .word>span,.rise,.rv{opacity:1;transition:none;transform:none}}}
@layer legacy{.foot-draw .draw-k{stroke:var(--mk-ink);stroke-width:14px;stroke-linejoin:round;stroke-linecap:round;fill:var(--mk-ink);stroke-dasharray:1;stroke-dashoffset:1px;fill-opacity:0}.foot-draw .draw-node{fill:var(--mk-node);transform-box:fill-box;transform-origin:50%;opacity:0;transform:scale(0)}.foot-mark .kn-mark.in .draw-k{animation:1.7s cubic-bezier(.45,.05,.2,1) forwards kDraw}.foot-mark .kn-mark.in .draw-node{animation:.62s cubic-bezier(.2,1.5,.3,1) 1.55s forwards kNode}@keyframes kDraw{0%{stroke-dashoffset:1px;fill-opacity:0}55%{stroke-dashoffset:0;fill-opacity:0}to{stroke-dashoffset:0;fill-opacity:1}}@keyframes kNode{0%{opacity:0;transform:scale(0)}70%{opacity:1}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.foot-mark .kn-mark.in .draw-k,.foot-mark .kn-mark.in .draw-node,.nav-draw-mark .draw-k,.nav-draw-mark .draw-node{animation:none}.foot-draw .draw-k{stroke-dashoffset:0;fill-opacity:1}.foot-draw .draw-node{opacity:1;transform:none}}}
@layer legacy{header{z-index:90;position:sticky;top:0}header nav{justify-content:space-between;align-items:center;gap:24px;height:74px;display:flex}.nav-links{align-items:center;gap:8px;margin-left:auto;font-size:1.18rem;font-weight:700;display:flex;position:relative}.nav-links a{z-index:1;border-radius:99px;padding:10px 19px;transition:color .25s;position:relative}.nav-pill{opacity:0;z-index:0;pointer-events:none;width:0;height:0;transition:left .32s var(--ease-spring), width .32s var(--ease-spring), top .32s ease, height .32s ease, opacity .2s ease;border-radius:99px;position:absolute;top:0;left:0}.lockup-stacked{font-size:1.4rem}.lockup-stacked .kn-mark{z-index:2;width:auto;position:relative;transform:none}@keyframes logoMark{0%{opacity:0;transform:translateY(-7px)scale(.55)rotate(-10deg)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.lockup-stacked .kn-mark{animation:none}}.nav-m{align-items:center;gap:10px;margin-left:auto;display:none}.m-menu{display:none}@media (max-width:720px){.nav-links{display:none}.nav-m{display:flex}.nav-cta{border-radius:99px;align-items:center;padding:8px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.nav-burger{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 10px;display:inline-flex}.nav-burger span{height:2px;transition:transform .2s var(--ease,ease), opacity .2s;border-radius:2px;display:block}body.m-open .nav-burger span:first-child{transform:translateY(7px)rotate(45deg)}body.m-open .nav-burger span:nth-child(2){opacity:0}body.m-open .nav-burger span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}body.m-open .m-menu{z-index:90;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;gap:2px;padding:14px 24px 22px;display:flex;position:fixed;top:74px;left:0;right:0}.m-menu a{padding:13px 4px;font-size:1.15rem;font-weight:500}.m-menu a:last-child{border-bottom:0}}}
@layer legacy{.mega{position:static}.mega-trigger{z-index:1;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:99px;align-items:center;gap:6px;padding:10px 19px;transition:color .25s,background .2s;display:inline-flex;position:relative}.mega-trigger svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px;transition:transform .25s var(--ease,ease)}.mega[data-mega].open .mega-trigger:not([aria-current=page]){background:color-mix(in srgb, currentColor 11%, transparent)}.mega[data-mega].open .mega-trigger svg{transform:rotate(180deg)}.mega-panel{--mm-surface:var(--color-surface);--mm-line:var(--color-line);--mm-ink:var(--color-ink);--mm-muted:var(--color-gray);--mm-accent:var(--color-cerulean);--mm-tile:var(--color-bg);--mm-hover:var(--color-sand);--mm-foot:var(--color-sand);--mm-shadow:#0c2a4c47;z-index:89;opacity:0;width:max-content;max-width:min(1180px,100vw - 32px);max-height:calc(100vh - 86px);transition:opacity .18s ease, transform .22s var(--ease,ease);flex-direction:column;padding-top:8px;display:flex;position:fixed;top:74px;left:0;transform:translateY(-6px)}body.on-dark:not([data-entry=light]) .mega-panel,body[data-entry=light].dark-active .mega-panel,body[data-route=about] .mega-panel{--mm-surface:var(--color-navy-deep);--mm-line:var(--color-line-dark);--mm-ink:#f3eedf;--mm-muted:var(--color-band-muted);--mm-accent:var(--color-sky);--mm-tile:#ffffff0d;--mm-hover:#ffffff12;--mm-foot:#ffffff0a;--mm-shadow:#00000080}.mega-panel[hidden]{display:none}.mega[data-mega].open .mega-panel{opacity:1;transform:none}.mega-panel .mega-card{background:var(--mm-surface);border:1px solid var(--mm-line);min-height:0;box-shadow:0 1px 2px #0c2a4c0f, 0 24px 56px -24px var(--mm-shadow);color:var(--mm-ink);border-radius:16px;flex-direction:column;flex:auto;display:flex;overflow:hidden}.mega-panel .mega-groups{gap:0;min-height:0;padding:22px 10px;display:grid;overflow-y:auto}.mega-panel .mega-groups[data-cols="1"]{grid-template-columns:minmax(0,1fr)}.mega-panel .mega-groups[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.mega-panel .mega-groups[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.mega-panel .mega-groups[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.mega-panel .mega-group{min-width:258px}.mega-panel .mega-group+.mega-group{border-left:1px solid var(--mm-line)}.mega-panel .mega-group{padding:0 14px}.mega-panel .mega-group ul{margin:0;padding:0;list-style:none}.mega-panel .mega-group-title{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--mm-muted);margin:0 0 8px 10px;font-size:.66rem;font-weight:400}.mega-panel .mega-card .mega-item{color:var(--mm-ink);border-radius:10px;align-items:flex-start;gap:11px;padding:9px 10px;transition:background .16s;display:flex}.mega-panel .mega-card .mega-item:hover{background:var(--mm-hover)}.mega-panel .mega-icon{border:1px solid var(--mm-line);background:var(--mm-tile);border-radius:9px;flex:none;place-items:center;width:34px;height:34px;transition:border-color .16s,background .16s;display:grid}.mega-panel .mega-icon svg{fill:none;width:17px;height:17px;stroke:var(--mm-accent);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.mega-panel .mega-card .mega-item:hover .mega-icon{border-color:color-mix(in srgb, var(--mm-accent) 38%, var(--mm-line));background:color-mix(in srgb, var(--mm-accent) 8%, var(--mm-tile))}.mega-panel .mega-item-text{min-width:0;display:block}.mega-panel .mega-item-label{color:var(--mm-ink);font-size:.92rem;font-weight:600;line-height:1.3;display:block}.mega-panel .mega-item-desc{color:var(--mm-muted);margin-top:2px;font-size:.79rem;line-height:1.4;display:block}.mega-panel .mega-foot{border-top:1px solid var(--mm-line);background:var(--mm-foot);flex:none;justify-content:space-between;align-items:center;gap:24px;padding:14px 24px;display:flex}.mega-panel .mega-foot-title{color:var(--mm-ink);margin:0;font-size:.88rem;font-weight:600}.mega-panel .mega-foot-sub{color:var(--mm-muted);margin:2px 0 0;font-size:.8rem}.mega-panel .mega-card .mega-foot-cta{color:var(--mm-accent);flex:none;align-items:center;gap:7px;font-size:.85rem;font-weight:600;transition:gap .16s;display:inline-flex}.mega-panel .mega-card .mega-foot-cta svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.mega-panel .mega-card .mega-foot-cta:hover{color:var(--mm-accent);gap:11px}@media (max-width:1220px){.mega-panel .mega-groups[data-cols="3"],.mega-panel .mega-groups[data-cols="4"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}.mega-panel .mega-groups[data-cols="3"] .mega-group:nth-child(odd),.mega-panel .mega-groups[data-cols="4"] .mega-group:nth-child(odd){border-left:0}}@media (prefers-reduced-motion:reduce){.mega-panel,.mega-trigger,.mega-trigger svg,.mega-panel .mega-item,.mega-panel .mega-icon,.mega-panel .mega-foot-cta{transition:none}}@media (max-width:720px){.mega{display:none}.m-group summary{cursor:pointer;justify-content:space-between;align-items:center;padding:13px 4px;font-size:1.15rem;font-weight:500;list-style:none;display:flex}.m-group summary::-webkit-details-marker{display:none}.m-group summary svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;transition:transform .2s var(--ease,ease)}.m-group[open] summary svg{transform:rotate(180deg)}.m-group-items{flex-direction:column;padding:2px 0 10px 14px;display:flex}.m-group-items a{opacity:.86;padding:9px 4px;font-size:1rem}@media (prefers-reduced-motion:reduce){.m-group summary svg{transition:none}}}}
