.home{--ground:#090b10;--surface:#10131b;--raised:#161a24;--field:#e6e8ec;--field-ink:#101218;--ink:#f4f5f7;--ink-soft:#b4bccb;--accent:#7c9fff;--size-display:clamp(3.4rem, 9.2vw, 9.5rem);--size-heading:clamp(2.6rem, 5.4vw, 5.75rem);--size-lead:clamp(1.25rem, 1.9vw, 1.75rem);--size-body:1.125rem;--size-small:.875rem;--margin:clamp(1.25rem, 4.5vw, 4rem);--gap:clamp(7.5rem, 12vw, 13rem);--primary:var(--accent);--background:var(--ground);--ring:var(--accent);isolation:isolate;background:var(--ground);min-height:100svh;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:var(--size-body);line-height:1.55;position:relative;overflow:clip}.home :is(h1,h2,h3,p){overflow-wrap:break-word;margin:0}.home :is(h1,h2,h3){letter-spacing:-.045em;font-weight:600;line-height:.98}.home h1{font-size:var(--size-display)}.home :is(h2,h3){font-size:var(--size-heading)}:is(.home a:focus-visible,.home button:focus-visible){outline:2px solid var(--accent);outline-offset:5px}.home>main,.home>.home-footer,.home>.home-header{z-index:1;position:relative}.home-header{padding:1.75rem var(--margin);justify-content:space-between;align-items:center;gap:2rem;display:flex}.home-wordmark{letter-spacing:-.02em;font-weight:600}.home-header nav{font-size:var(--size-small);gap:2rem;display:flex}.home-header nav a,.home-fields-nav a{transition:color .2s}.home-header nav a:hover,.home-fields-nav a:hover{color:var(--accent)}.home .v-motion{font-size:var(--size-small);cursor:pointer;align-items:center;gap:.7rem;display:flex}.home .particle-sculpture{z-index:0;width:86%;height:calc(100svh - 4rem);opacity:calc(.68 - min(var(--travel,0), 1) * .44);pointer-events:none;position:fixed;top:4rem;right:-10%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 28% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 28% 92%,#0000)}.home .particle-sculpture canvas{width:100%;height:100%;display:block}.home .particle-sculpture-fallback{display:none}.home-hero{min-height:calc(100svh - 6rem);padding:3rem var(--margin) 6rem;align-items:center;display:flex}.home-hero-copy{max-width:62rem}.home-lead{max-width:34ch;font-size:var(--size-lead);line-height:1.3;margin-top:2.25rem!important}.home-place{white-space:nowrap}.home-place img{vertical-align:-.3em;object-fit:contain;width:1.35em;height:1.35em;margin:0 .15em 0 .2em;display:inline-block}.home-hero-text{max-width:40ch;color:var(--ink-soft);margin-top:1rem!important}.home-button{background:var(--ink);color:var(--ground);margin-top:2.5rem;padding:1.05rem 1.6rem;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.home-button:hover{background:#c9d6ff}.home-button:active{transform:translateY(1px)}.home-ticker{background:var(--field);color:var(--field-ink);padding:1.4rem 0;overflow:hidden}.home-ticker>div{width:max-content;display:flex}.home-ticker span{font-size:var(--size-heading);letter-spacing:-.045em;white-space:nowrap;padding-right:3rem;font-weight:700;line-height:1}.home[data-moving=true] .home-ticker>div{animation:28s linear infinite home-flow}@keyframes home-flow{to{transform:translate(-50%)}}.home-fields{padding-top:var(--gap)}.home-fields-head{padding:0 var(--margin) 4rem;grid-template-columns:1.4fr 1fr;align-items:end;gap:4rem;display:grid}.home-fields-nav{color:var(--ink-soft);flex-wrap:wrap;justify-content:flex-end;gap:.5rem 2rem;display:flex}.home-field{padding:5.5rem var(--margin) 6rem;background:#0c0f16d9;grid-template-columns:1.15fr 1fr;align-items:start;gap:4rem;display:grid}.home-field-1{background:#141924e6}.home-field-2{background:var(--field);color:var(--field-ink)}.home-field-3{background:#10141ce6}.home-field-text{max-width:36rem}.home-field-label{font-size:var(--size-lead);letter-spacing:-.02em;font-weight:600;line-height:1.25;margin-bottom:.9rem!important}.home-field-2 .home-field-text p:not(.home-field-label){color:#2c3240}.home-skills{padding:var(--gap) var(--margin) 0}.home-skills-intro{grid-template-columns:1.4fr 1fr;align-items:end;gap:4rem;margin-bottom:3.5rem;display:grid}.kg-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.2rem;display:flex}.kg-hubs{flex-wrap:wrap;gap:.6rem;display:flex}.kg-hubs button,.kg-chips button{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:2rem;transition:background .2s,border-color .2s,color .2s,transform .2s}.kg-hubs button{font-size:var(--size-small);padding:.55rem 1.15rem}.kg-hubs button:hover{border-color:var(--accent)}.kg-hubs button:active,.kg-chips button:active{transform:translateY(1px)}.kg-hubs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ground)}.kg-meta{font-size:var(--size-small);color:var(--ink-soft)}.kg-stage{margin:0 calc(var(--margin) * -1);background:#0d1017;height:min(760px,88svh);min-height:560px;position:relative;overflow:hidden}.kg-canvas{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.kg-legend{left:var(--margin);font-size:var(--size-small);color:var(--ink-soft);pointer-events:none;gap:1.6rem;display:flex;position:absolute;bottom:1.4rem}.kg-legend span{align-items:center;gap:.55rem;display:inline-flex}.kg-legend i{display:block}.kg-legend-hub{background:var(--ink);border-radius:50%;width:10px;height:10px}.kg-legend-skill{background:#aeb6c6;border-radius:50%;width:6px;height:6px}.kg-legend-edge{background:#8b95a8;width:18px;height:1px}.kg-panel{z-index:1;top:1.5rem;right:var(--margin);background:var(--raised);flex-direction:column;gap:1rem;width:min(380px,32vw);padding:2rem;display:flex;position:absolute;bottom:1.5rem;overflow:auto}.kg-panel h3{letter-spacing:-.035em;font-size:2.25rem;line-height:1.05;margin:0!important}.kg-panel-body{align-content:start;gap:.9rem;display:grid}.kg-panel-links{gap:.7rem}.home[data-moving=true] .kg-panel-body{animation:.35s cubic-bezier(.2,.7,.2,1) both kg-in}@keyframes kg-in{0%{opacity:0;transform:translateY(6px)}}.kg-panel p{color:var(--ink-soft);font-size:1rem;line-height:1.55}.kg-panel .kg-panel-meta{font-size:var(--size-small);color:#a9bcff}.kg-panel-sub{font-size:var(--size-small);letter-spacing:0;color:var(--ink);margin:.8rem 0 0;font-weight:600;line-height:1.4}.kg-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.kg-chips button{font-size:var(--size-small);color:#dfe6ff;background:#7c9fff14;border-color:#7c9fff55;padding:.4rem .85rem}.kg-chips button:hover{background:#7c9fff33}.kg-chips button.is-hub{color:var(--ink);background:0 0;border-color:#f4f5f766}.kg-panel .kg-hint{font-size:var(--size-small);margin-top:auto;padding-top:1rem}.kg-list{margin-top:2.5rem}.kg-list summary{background:var(--surface);font-size:var(--size-small);cursor:pointer;padding:.7rem 1.15rem;transition:background .2s;display:inline-block}.kg-list summary:hover{background:var(--raised)}.kg-list:not([open]) ul{display:none}.kg-list ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 4rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.kg-list strong{font-weight:600;display:block}.kg-list strong+p{margin-top:.35rem}.kg-list-meta{color:var(--ink-soft)}.home-about{padding:var(--gap) var(--margin);grid-template-columns:1.15fr 1fr;align-items:end;gap:4rem;display:grid}.home-about-text{gap:1.25rem;max-width:36rem;display:grid}.home-footer{padding:4rem var(--margin) 2.5rem;background:var(--surface)}.home-footer-name{font-size:var(--size-display);letter-spacing:-.05em;font-weight:600;line-height:.95}.home-footer-meta{font-size:var(--size-small);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:1.5rem;margin-top:2.5rem;display:flex}.home-footer-meta a:hover{color:var(--ink)}.home[data-moving=true] .home-hero-copy>*{animation:.9s cubic-bezier(.2,.7,.2,1) both home-rise;animation-delay:calc(var(--i,0) * 90ms + .12s)}.home[data-moving=true] .rise{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 80ms);transform:translateY(24px)}.home[data-moving=true] .rise[data-visible=true]{opacity:1;transform:none}@keyframes home-rise{0%{opacity:0;transform:translateY(28px)}}@media (prefers-reduced-motion:reduce){.home *,.home .rise{transition:none!important;animation:none!important}.home .rise{opacity:1!important;transform:none!important}}@media (max-width:1050px){.home-header nav{display:none}.home .particle-sculpture{width:110%;right:-32%}}@media (max-width:900px){.home-fields-head,.home-field,.home-skills-intro,.home-about{grid-template-columns:1fr;gap:1.75rem}.home-fields-nav{justify-content:flex-start}.home-field{padding:4rem var(--margin) 4.5rem}.kg-stage{background:0 0;height:auto;min-height:0;overflow:visible}.kg-canvas{background:#0d1017;height:min(520px,72svh);position:relative}.kg-legend{display:none}.kg-panel{width:auto;padding:1.75rem var(--margin) 0;background:0 0;position:static;overflow:visible}.kg-list ul{grid-template-columns:1fr}}@media (max-width:700px){.home-hero{min-height:auto;padding:2.5rem var(--margin) 18rem;align-items:flex-start}.home .particle-sculpture{width:150%;height:58svh;opacity:calc(.5 - min(var(--travel,0), 1) * .34);top:42svh;right:-25%;-webkit-mask-image:linear-gradient(#0000,#000 28% 86%,#0000);mask-image:linear-gradient(#0000,#000 28% 86%,#0000)}.home-ticker span{font-size:2.2rem}.home-footer-meta{flex-direction:column}}.home-contact{padding:6rem var(--margin) 6.5rem;background:var(--field);color:var(--field-ink);grid-template-columns:1fr 1.05fr;align-items:start;gap:5rem;display:grid}.home-contact-main{justify-items:start;gap:1.75rem;max-width:36rem;display:grid}.home-contact-main p{color:#2c3240}.home-contact-facts{gap:1.5rem;margin:.5rem 0 0;display:grid}.home-contact-facts dt{font-size:var(--size-small);color:#4a5263}.home-contact-facts dd{font-size:var(--size-lead);letter-spacing:-.02em;overflow-wrap:anywhere;margin:.3rem 0 0;line-height:1.25}.home-contact-facts a{border-bottom:1px solid}.home-button-dark{background:var(--field-ink);color:var(--field);margin-top:0}.home-button-dark:hover{background:#2b3a66}.home-button-dark:disabled{opacity:.6;cursor:progress}.home-missing{color:#5a1a0a;font-size:var(--size-small);background:#ffd9cf;padding:.1rem .45rem;display:inline-block}.home-form{gap:1.25rem;display:grid}.home-form-field{gap:.45rem;display:grid}.home-form-field label{font-size:var(--size-small);color:#2c3240;font-weight:600}.home-form-field :is(input,textarea){width:100%;color:var(--field-ink);font:inherit;font-size:var(--size-body);background:#fff;border:1px solid #6b7385;border-radius:0;padding:.85rem 1rem;line-height:1.45;transition:border-color .2s}.home-form-field textarea{resize:vertical;min-height:10rem}.home-form-field :is(input,textarea):hover{border-color:#3e4555}.home-form-field :is(input,textarea):focus-visible{outline-offset:1px;border-color:#3a5fd9;outline:2px solid #3a5fd9}.home-form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.home-form-note{font-size:var(--size-small);color:#4a5263}.home-form-note a{border-bottom:1px solid}.home-form-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.home-form-status{font-size:var(--size-small);color:#2c3240}.home-form-status.is-sent{color:#1d6b3a;font-weight:600}.home-form-status.is-error{color:#a12a12;font-weight:600}.home-footer-meta nav{gap:1.5rem;display:flex}.home-legal-main{padding:4rem var(--margin) var(--gap);max-width:50rem}.home-legal-main h1{font-size:var(--size-heading);overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual}.home-legal-text{gap:1.1rem;margin-top:3rem;display:grid}.home-legal-text h2{font-size:var(--size-lead);letter-spacing:-.02em;margin-top:1.6rem;line-height:1.2}.home-legal-text a{border-bottom:1px solid}@media (max-width:900px){.home-contact{padding:4.5rem var(--margin);grid-template-columns:1fr;gap:3rem}.home-contact-main{max-width:none}}
