.section[data-astro-cid-w6ymvdtg]{max-width:var(--container-max);--pad-top:var(--section-pad);padding:var(--pad-top) var(--gutter) 0;scroll-margin-top:calc(48px - var(--pad-top));margin:0 auto;position:relative}.first[data-astro-cid-w6ymvdtg]{--pad-top:var(--space-11)}@media (width<=760px){.first[data-astro-cid-w6ymvdtg]{--pad-top:var(--section-pad)}}.row[data-astro-cid-pb4nux2a]{align-items:center;gap:var(--space-5);display:flex}.rule[data-astro-cid-pb4nux2a]{background:var(--line-hairline);flex:1;height:1px}.sublabel[data-astro-cid-pb4nux2a]{font-size:var(--fs-eyebrow)}h2[data-astro-cid-pb4nux2a]{margin-top:var(--space-7);max-width:760px;font-size:var(--fs-heading-xl);letter-spacing:-.02em;line-height:1.12}.grid[data-astro-cid-oxgmilyn]{margin-top:var(--space-9);gap:var(--space-10);grid-template-columns:3fr 2fr;align-items:start;display:grid}.bio[data-astro-cid-oxgmilyn]{gap:var(--space-5);max-width:640px;font-size:var(--fs-body);color:var(--ink-body);display:grid}.personal[data-astro-cid-oxgmilyn]{margin-top:var(--space-6);max-width:640px;color:var(--ink-soft)}.stats[data-astro-cid-oxgmilyn]{margin:var(--space-9) 0 0;border-block:1px solid var(--line-hairline);flex-wrap:wrap;display:flex}.stat[data-astro-cid-oxgmilyn]{padding:var(--space-6) var(--space-6) var(--space-6) 0;flex:140px}.stat[data-astro-cid-oxgmilyn]+.stat[data-astro-cid-oxgmilyn]{padding-left:var(--space-6);border-left:1px solid var(--line-hairline)}.stat[data-astro-cid-oxgmilyn] dd[data-astro-cid-oxgmilyn]{font-size:var(--fs-stat);color:var(--ink-strong);margin:0;font-weight:300;line-height:1.1}.stat[data-astro-cid-oxgmilyn] dt[data-astro-cid-oxgmilyn]{margin-top:var(--space-2);color:var(--ink-muted);order:2}.stat[data-astro-cid-oxgmilyn]{flex-direction:column;display:flex}.stat[data-astro-cid-oxgmilyn] dd[data-astro-cid-oxgmilyn]{order:1}.groups[data-astro-cid-oxgmilyn]{margin-top:var(--space-8);gap:var(--space-6);display:grid}.chips[data-astro-cid-oxgmilyn]{margin:var(--space-3) 0 0;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.chips[data-astro-cid-oxgmilyn] li[data-astro-cid-oxgmilyn]{padding:var(--space-1) var(--space-3);border:1px solid var(--chip-border);border-radius:var(--radius-pill);background:var(--accent-wash);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-chip)}.portrait[data-astro-cid-oxgmilyn]{margin:0}.photo[data-astro-cid-oxgmilyn]{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-xl);width:100%;height:auto}.placeholder[data-astro-cid-oxgmilyn]{border:1px solid var(--line-hairline);background:var(--surface-frame);place-items:center;display:grid}figcaption[data-astro-cid-oxgmilyn]{margin-top:var(--space-3);color:var(--ink-muted)}@media (width<=760px){.grid[data-astro-cid-oxgmilyn]{gap:var(--space-9);grid-template-columns:1fr}}.lead[data-astro-cid-he3spzz3]{margin-top:var(--space-7);max-width:560px;font-size:var(--fs-body-lg);color:var(--ink-soft)}.socials[data-astro-cid-he3spzz3]{margin:var(--space-9) 0 0;gap:var(--space-4) var(--space-9);flex-wrap:wrap;padding:0;list-style:none;display:flex}.socials[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]{min-height:var(--touch-target);align-content:center;gap:var(--space-1);color:var(--ink);display:grid}.socials[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]:hover{color:var(--accent)}.split[data-astro-cid-bl6cniha]{margin-top:var(--space-9);gap:var(--space-10);grid-template-columns:2fr 3fr;align-items:start;display:grid}.aside[data-astro-cid-bl6cniha]{align-self:stretch}.sticky[data-astro-cid-bl6cniha]{top:var(--timeline-sticky-top);position:sticky}.constellation[data-astro-cid-bl6cniha]{width:100%;max-width:300px;overflow:visible}.path[data-astro-cid-bl6cniha]{fill:none;stroke:var(--line-constellation);stroke-width:1px;stroke-dasharray:3 5}.trace[data-astro-cid-bl6cniha]{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .7s}.node[data-astro-cid-bl6cniha]{cursor:pointer;outline:none}.hit[data-astro-cid-bl6cniha]{fill:#0000;stroke:#0000}.node[data-astro-cid-bl6cniha]:focus-visible .hit[data-astro-cid-bl6cniha]{stroke:var(--accent);stroke-width:1.5px}.dot[data-astro-cid-bl6cniha]{fill:var(--ink-muted)}.star[data-astro-cid-bl6cniha]{fill:var(--accent);opacity:0;filter:drop-shadow(0 0 6px var(--accent));transition:opacity .4s}.node[data-astro-cid-bl6cniha].active .star[data-astro-cid-bl6cniha]{opacity:1}.node[data-astro-cid-bl6cniha].active .dot[data-astro-cid-bl6cniha]{opacity:0}.years[data-astro-cid-bl6cniha]{fill:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.14em;font-size:10px}.company[data-astro-cid-bl6cniha]{fill:var(--ink);font-size:14px}.cue[data-astro-cid-bl6cniha]{margin-top:var(--space-6)}.entries[data-astro-cid-bl6cniha]{margin:0;padding:0;list-style:none}.entry[data-astro-cid-bl6cniha]{min-height:420px;padding-bottom:var(--space-9)}.entry[data-astro-cid-bl6cniha] h3[data-astro-cid-bl6cniha]{margin-top:var(--space-3);font-size:var(--fs-heading-md);line-height:1.2}.where[data-astro-cid-bl6cniha]{margin-top:var(--space-2);color:var(--ink-muted)}.desc[data-astro-cid-bl6cniha]{margin-top:var(--space-5);max-width:560px;color:var(--ink-body);font-size:17px}.clients[data-astro-cid-bl6cniha]{margin-top:var(--space-5)}.mini[data-astro-cid-bl6cniha]{width:14px;height:14px;margin-bottom:var(--space-2);fill:var(--accent);display:none}@media (width>=761px) and (prefers-reduced-motion:no-preference){[data-timeline-ready] .entry[data-astro-cid-bl6cniha]{opacity:.28;transition:opacity .7s,transform .7s}[data-timeline-ready] .entry[data-astro-cid-bl6cniha][data-state=before]{transform:translateY(-16px)}[data-timeline-ready] .entry[data-astro-cid-bl6cniha][data-state=after]{transform:translateY(16px)}[data-timeline-ready] .entry[data-astro-cid-bl6cniha][data-state=active]{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.trace[data-astro-cid-bl6cniha],.star[data-astro-cid-bl6cniha]{transition:none}}@media (width<=760px){.split[data-astro-cid-bl6cniha]{grid-template-columns:1fr}.aside[data-astro-cid-bl6cniha]{display:none}.mini[data-astro-cid-bl6cniha]{display:block}.entry[data-astro-cid-bl6cniha]{min-height:0}}.footer[data-astro-cid-jo6i4kqk]{max-width:var(--container-max);margin:var(--space-12) auto 0;padding:var(--space-6) var(--gutter) var(--space-8);justify-content:space-between;gap:var(--space-3) var(--space-6);border-top:1px solid var(--line-hairline);flex-wrap:wrap;display:flex}.footer[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0}.shooting-stars[data-astro-cid-vkfodsxc]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.shooting-stars[data-astro-cid-vkfodsxc] .shooting-star{background:linear-gradient(to right, var(--star), transparent);opacity:0;will-change:transform, opacity;border-radius:1px;height:1.5px;position:absolute}.clouds[data-astro-cid-bv7u2bze]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.layer[data-astro-cid-bv7u2bze]{opacity:calc(var(--alpha) * var(--cloud-alpha,.55));position:absolute;inset:0}.track[data-astro-cid-bv7u2bze]{will-change:transform;width:200%;height:100%;animation:drift calc(var(--drift,120s) * var(--speed)) linear infinite;animation-direction:var(--drift-dir,normal);display:flex}.strip[data-astro-cid-bv7u2bze]{flex:0 0 50%;height:100%;position:relative}.cloud[data-astro-cid-bv7u2bze]{width:max(150px, var(--w));aspect-ratio:2.6;opacity:0;transition:opacity 1.6s;position:absolute}.cloud[data-astro-cid-bv7u2bze].on{opacity:1}.veil[data-astro-cid-bv7u2bze]{background:radial-gradient(ellipse 150% 200% at var(--veil-x,70%) var(--veil-y,25%), var(--cloud-core), var(--cloud-edge) 100%);opacity:calc(var(--veil,0) * var(--cloud-alpha,.55));transition:opacity 1.6s;position:absolute;inset:0}@keyframes drift{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.clouds[data-astro-cid-bv7u2bze]{display:none}}.weather[data-astro-cid-7cis4iw3]{pointer-events:none;--slant:.2;position:absolute;inset:0;overflow:hidden}.fog[data-astro-cid-7cis4iw3],.fog-veil[data-astro-cid-7cis4iw3]{opacity:0;transition:opacity 1.6s;position:absolute;inset:0}.fog-veil[data-astro-cid-7cis4iw3]{background:var(--sky-100)}.fog[data-astro-cid-7cis4iw3]{background:linear-gradient(to bottom, transparent 0, color-mix(in srgb, var(--fog-color) 55%, transparent) 55%, color-mix(in srgb, var(--fog-color) 85%, transparent) 100%);height:clamp(180px,55%,420px);top:auto}[data-astro-cid-7cis4iw3][data-state=fog] .fog[data-astro-cid-7cis4iw3]{opacity:var(--fog,.75)}[data-astro-cid-7cis4iw3][data-state=fog] .fog-veil[data-astro-cid-7cis4iw3]{opacity:calc(var(--fog,.75) * .45)}.layer[data-astro-cid-7cis4iw3]{opacity:0;visibility:hidden;transition:opacity 1.6s,visibility 0s 1.6s;position:absolute;inset:0}[data-astro-cid-7cis4iw3][data-state=drizzle] .rain[data-astro-cid-7cis4iw3],[data-astro-cid-7cis4iw3][data-state=rain] .rain[data-astro-cid-7cis4iw3],[data-astro-cid-7cis4iw3][data-state=storm] .rain[data-astro-cid-7cis4iw3],[data-astro-cid-7cis4iw3][data-state=snow] .snow[data-astro-cid-7cis4iw3]{opacity:1;visibility:visible;transition:opacity 1.6s}[data-astro-cid-7cis4iw3][data-state=drizzle] .rain[data-astro-cid-7cis4iw3]{--weight:.6}.p[data-astro-cid-7cis4iw3]{opacity:0;visibility:hidden;width:2px;height:124%;animation:fall var(--dur) linear var(--delay) infinite;transition:opacity 1.6s,visibility 0s 1.6s;position:absolute;top:-12%}.p[data-astro-cid-7cis4iw3].on{opacity:calc(var(--a) * var(--weight,1));visibility:visible;transition:opacity 1.6s}.p[data-astro-cid-7cis4iw3]:before{content:"";position:absolute;top:0;left:0}.rain[data-astro-cid-7cis4iw3] .p[data-astro-cid-7cis4iw3]:before{width:1px;height:var(--len);background:var(--rain-color);transform-origin:top;transform:rotate(calc(var(--slant) * -14deg));transition:background-color 1.2s}.snow[data-astro-cid-7cis4iw3] .p[data-astro-cid-7cis4iw3]{animation-name:fall-snow}.snow[data-astro-cid-7cis4iw3] .p[data-astro-cid-7cis4iw3]:before{width:var(--len);aspect-ratio:1;background:var(--snow-color);animation:sway 3.4s ease-in-out var(--delay) infinite alternate;border-radius:50%;transition:background-color 1.2s}.flash[data-astro-cid-7cis4iw3]{background:radial-gradient(ellipse closest-side, var(--flash-color), transparent);opacity:0;width:60%;height:45%;position:absolute;top:20%;left:50%;translate:-50% -50%}@keyframes fall{0%{transform:translate(0,0)}to{transform:translate3d(calc(var(--slant) * 12vw), 100%, 0)}}@keyframes fall-snow{0%{transform:translate(0,0)}to{transform:translate3d(calc(var(--slant) * 4vw), 100%, 0)}}@keyframes sway{0%{transform:translate(-10px)}to{transform:translate(10px)}}@media (prefers-reduced-motion:reduce){.layer[data-astro-cid-7cis4iw3],.flash[data-astro-cid-7cis4iw3]{display:none}}.hero[data-astro-cid-ge2uvauf]{min-height:var(--hero-min);padding:clamp(80px, 12vh, 160px) var(--gutter);--sun-size:clamp(64px, 8vw, 110px);--sun-left:var(--sun-x,82%);--crest:.75;--sun-bottom:calc(clamp(120px, 22vw, 220px) * var(--crest) - var(--sun-size) * .65 + var(--sun-lift,0) * var(--sun-size) * .15);--veil-x:calc(76% - clamp(56px, 6vw, 88px) / 2);--veil-y:calc(19% + clamp(56px, 6vw, 88px) / 2);justify-content:flex-start;align-items:center;display:flex;position:relative;overflow:hidden}:root:is([data-theme=sunrise],[data-theme=golden]) .hero[data-astro-cid-ge2uvauf]{--veil-x:var(--sun-left);--veil-y:calc(100% - var(--sun-bottom) - var(--sun-size) / 2)}.moon[data-astro-cid-ge2uvauf]{aspect-ratio:1;--moon-k:1;width:clamp(56px,6vw,88px);opacity:var(--moon-opacity);transition:opacity 1.2s;position:absolute;top:19%;right:24%}.sun-day[data-astro-cid-ge2uvauf]{aspect-ratio:1;--glow:255, 238, 175;width:clamp(64px,7vw,100px);opacity:var(--sun-day-opacity);pointer-events:none;transition:opacity 1.2s;position:absolute;top:18%;right:24%}.stack[data-astro-cid-ge2uvauf] h1[data-astro-cid-ge2uvauf],.stack[data-astro-cid-ge2uvauf] .intro[data-astro-cid-ge2uvauf],.stack[data-astro-cid-ge2uvauf] .role[data-astro-cid-ge2uvauf],.log[data-astro-cid-ge2uvauf],.btn[data-astro-cid-ge2uvauf]{text-shadow:var(--text-halo)}.sun[data-astro-cid-ge2uvauf]{--glow-color:var(--sun-core);left:var(--sun-left);bottom:var(--sun-bottom);width:var(--sun-size);aspect-ratio:1;opacity:var(--sun-opacity);pointer-events:none;transition:opacity 1.2s;position:absolute;translate:-50%}.sun-day[data-astro-cid-ge2uvauf]{--glow:255, 238, 175}.sun[data-astro-cid-ge2uvauf]:after,.sun-day[data-astro-cid-ge2uvauf]:after{content:"";border-radius:50%;position:absolute;inset:0}.sun[data-astro-cid-ge2uvauf]:after{background:var(--sun-core)}.sun-day[data-astro-cid-ge2uvauf]:after{background:radial-gradient(circle at 40% 40%,#fffbe6,#ffe9a0 70%)}.sun[data-astro-cid-ge2uvauf]:before,.sun-day[data-astro-cid-ge2uvauf]:before{content:"";border-radius:50%;position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 55%);mask-image:linear-gradient(90deg,#0000 0,#000 55%)}.sun[data-astro-cid-ge2uvauf]:before{opacity:.7;background:radial-gradient(circle closest-side, color-mix(in srgb, var(--glow-color) 70%, transparent) 0, color-mix(in srgb, var(--glow-color) 52%, transparent) 14%, color-mix(in srgb, var(--glow-color) 33%, transparent) 26%, color-mix(in srgb, var(--glow-color) 19%, transparent) 40%, color-mix(in srgb, var(--glow-color) 8%, transparent) 55%, color-mix(in srgb, var(--glow-color) 2.5%, transparent) 72%, color-mix(in srgb, var(--glow-color) 0.6%, transparent) 88%, transparent 100%);inset:-85%}.sun-day[data-astro-cid-ge2uvauf]:before{background:radial-gradient(circle closest-side, rgba(var(--glow), .3) 0, rgba(var(--glow), .24) 16%, rgba(var(--glow), .15) 30%, rgba(var(--glow), .08) 46%, rgba(var(--glow), .03) 64%, rgba(var(--glow), .008) 84%, rgba(var(--glow), 0) 100%);inset:-150%}@media (width<=1000px){.hero[data-astro-cid-ge2uvauf]{--sun-left:76%;--crest:.72}.sun[data-astro-cid-ge2uvauf]:before{-webkit-mask-image:linear-gradient(#0000 0%,#000 55%);mask-image:linear-gradient(#0000 0%,#000 55%)}.sun-day[data-astro-cid-ge2uvauf]:before{-webkit-mask-image:linear-gradient(#000 45%,#0000 100%);mask-image:linear-gradient(#000 45%,#0000 100%)}}.moon[data-astro-cid-ge2uvauf] svg[data-astro-cid-ge2uvauf]{width:100%;height:100%;display:block;overflow:visible}.moon[data-astro-cid-ge2uvauf]:before{content:"";box-shadow:var(--glow-moon);opacity:calc(.04 + .96 * var(--moon-k));border-radius:50%;position:absolute;inset:0}.earthshine[data-astro-cid-ge2uvauf]{fill:color-mix(in srgb, var(--moon-mid) 7%, transparent)}.hills[data-astro-cid-ge2uvauf]{pointer-events:none;width:100%;height:clamp(120px,22vw,220px);position:absolute;inset:auto 0 0}.hill-back[data-astro-cid-ge2uvauf]{fill:var(--horizon-back)}.hill-front[data-astro-cid-ge2uvauf]{fill:var(--horizon-front)}.stack[data-astro-cid-ge2uvauf]{z-index:1;width:100%;max-width:var(--container-max);text-align:left;margin:0 auto;position:relative}.role[data-astro-cid-ge2uvauf]{color:var(--accent-ink)}h1[data-astro-cid-ge2uvauf]{margin-top:var(--space-5);font-size:min(var(--fs-display-xl), 9vh);letter-spacing:-.03em;line-height:1}.intro[data-astro-cid-ge2uvauf]{margin:var(--space-7) 0 0;max-width:620px;font-size:var(--fs-body-lg);color:var(--ink-soft)}.actions[data-astro-cid-ge2uvauf]{margin-top:var(--space-8);justify-content:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.btn[data-astro-cid-ge2uvauf]{min-height:var(--touch-target);padding:0 var(--space-6);border-radius:var(--radius-pill);border:1px solid var(--chip-border);background-color:var(--text-back);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-chip);letter-spacing:.1em;text-transform:uppercase;align-items:center;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.primary[data-astro-cid-ge2uvauf]{border:1px solid var(--accent);background-image:linear-gradient(var(--accent-wash), var(--accent-wash));color:var(--accent-ink)}.primary[data-astro-cid-ge2uvauf]:hover{background-image:linear-gradient(color-mix(in srgb, var(--accent) 24%, transparent), color-mix(in srgb, var(--accent) 24%, transparent));color:var(--ink-strong)}.btn[data-astro-cid-ge2uvauf]:not(.primary):hover{color:var(--accent)}.log[data-astro-cid-ge2uvauf]{z-index:2;color:var(--hud-ink);flex-direction:column;align-items:flex-start;gap:0;display:flex;position:absolute}.tl[data-astro-cid-ge2uvauf],.tr[data-astro-cid-ge2uvauf]{--btn-h:32px;top:32px}.tl[data-astro-cid-ge2uvauf]{left:48px}.tr[data-astro-cid-ge2uvauf]{align-items:flex-end;right:48px}.sky[data-astro-cid-ge2uvauf]{min-height:var(--btn-h);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0}.tl[data-astro-cid-ge2uvauf],.tr[data-astro-cid-ge2uvauf]{font-size:11px}.tl[data-astro-cid-ge2uvauf]>span[data-astro-cid-ge2uvauf]{line-height:var(--readout-h,22px)}.sky[data-astro-cid-ge2uvauf]:hover,.sky[data-astro-cid-ge2uvauf]:focus-visible{color:var(--accent)}.auto-icon[data-astro-cid-ge2uvauf],.row-icon[data-astro-cid-ge2uvauf]{vertical-align:-.15em;display:none}@media (prefers-reduced-motion:reduce){.clouds-toggle[data-astro-cid-ge2uvauf],.weather-toggle[data-astro-cid-ge2uvauf]{display:none}.weather-readout[data-astro-cid-ge2uvauf]:not([hidden]){align-items:center;display:inline-flex}}.weather-readout[data-astro-cid-ge2uvauf]{cursor:default;display:none}.scroll[data-astro-cid-ge2uvauf]{z-index:2;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}@media (width<=760px){.hero[data-astro-cid-ge2uvauf]{--veil-x:calc(88% - clamp(56px, 6vw, 88px) / 2);--veil-y:calc(max(12%, 114px) + clamp(56px, 6vw, 88px) / 2);padding-block:clamp(72px,11vh,140px)}.moon[data-astro-cid-ge2uvauf],.sun-day[data-astro-cid-ge2uvauf]{top:max(12%,114px);right:12%}.log[data-astro-cid-ge2uvauf],.scroll[data-astro-cid-ge2uvauf]{font-size:10px}.tl[data-astro-cid-ge2uvauf],.tr[data-astro-cid-ge2uvauf]{--btn-h:26px}.row-label[data-astro-cid-ge2uvauf]{display:none}.row-icon[data-astro-cid-ge2uvauf]{vertical-align:-.15em;display:inline-block}.tl[data-astro-cid-ge2uvauf]{--readout-h:16px}.sky[data-astro-cid-ge2uvauf]{position:relative}.sky[data-astro-cid-ge2uvauf]:after{content:"";position:absolute;inset:-9px -6px}.tl[data-astro-cid-ge2uvauf]{left:20px}.tr[data-astro-cid-ge2uvauf]{right:20px}.tl[data-astro-cid-ge2uvauf],.tr[data-astro-cid-ge2uvauf]{top:20px}.scroll[data-astro-cid-ge2uvauf]{bottom:56px}}@media (width<=480px){[data-astro-cid-ge2uvauf][data-auto] .auto-label[data-astro-cid-ge2uvauf]{display:none}[data-astro-cid-ge2uvauf][data-auto] .auto-icon[data-astro-cid-ge2uvauf]{display:inline-block}}.tile[data-astro-cid-robgbdtc]{width:100%;margin:0 0 var(--space-5);border-radius:var(--radius-md);background:var(--surface-frame);cursor:pointer;break-inside:avoid;border:0;padding:0;display:block;position:relative;overflow:hidden}.img[data-astro-cid-robgbdtc]{width:100%;height:auto;transition:filter .4s}.caption[data-astro-cid-robgbdtc]{padding:var(--space-6) var(--space-3) var(--space-3);color:var(--ink-strong);text-align:left;background:linear-gradient(#0000,#050710bf);flex-direction:column;gap:2px;display:flex;position:absolute;inset:auto 0 0}.detail[data-astro-cid-robgbdtc]{opacity:0;transition:opacity .35s}.tile[data-astro-cid-robgbdtc]:hover .img[data-astro-cid-robgbdtc],.tile[data-astro-cid-robgbdtc]:focus-visible .img[data-astro-cid-robgbdtc]{filter:brightness(1.12)}.tile[data-astro-cid-robgbdtc]:hover .detail[data-astro-cid-robgbdtc],.tile[data-astro-cid-robgbdtc]:focus-visible .detail[data-astro-cid-robgbdtc]{opacity:1}@media (width<=760px){.tile[data-astro-cid-robgbdtc]{margin-bottom:12px}}@media (prefers-reduced-motion:reduce){.img[data-astro-cid-robgbdtc],.detail[data-astro-cid-robgbdtc]{transition:none}.tile[data-astro-cid-robgbdtc]:hover .img[data-astro-cid-robgbdtc],.tile[data-astro-cid-robgbdtc]:focus-visible .img[data-astro-cid-robgbdtc]{filter:none}}.grid[data-astro-cid-iue3olht]{margin-top:var(--space-9);columns:3 280px;column-gap:var(--space-5)}.lightbox[data-astro-cid-iue3olht]{width:100vw;max-width:none;height:100vh;max-height:none;color:var(--ink-soft);background:0 0;border:0;margin:0;padding:0}.lightbox[data-astro-cid-iue3olht]::backdrop{background:var(--scrim)}.lightbox[data-astro-cid-iue3olht][open]{place-items:center;animation:.2s fade;display:grid}figure[data-astro-cid-iue3olht]{justify-items:center;gap:var(--space-4);max-width:92vw;margin:0;display:grid}.full[data-astro-cid-iue3olht]{border-radius:var(--radius-md);width:auto;max-width:92vw;height:auto;max-height:calc(100vh - 140px);box-shadow:var(--shadow-lightbox)}figcaption[data-astro-cid-iue3olht]{color:var(--ink-soft);text-align:center}.ctrl[data-astro-cid-iue3olht]{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--line-hairline);background:var(--surface-frame);color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.ctrl[data-astro-cid-iue3olht]:hover{color:var(--accent)}.ctrl[data-astro-cid-iue3olht] svg[data-astro-cid-iue3olht]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.close[data-astro-cid-iue3olht]{top:var(--space-5);right:var(--space-5)}.prev[data-astro-cid-iue3olht],.next[data-astro-cid-iue3olht]{top:50%;transform:translateY(-50%)}.prev[data-astro-cid-iue3olht]{left:var(--space-5)}.next[data-astro-cid-iue3olht]{right:var(--space-5)}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.lightbox[data-astro-cid-iue3olht][open]{animation:none}}@media (width<=760px){.prev[data-astro-cid-iue3olht],.next[data-astro-cid-iue3olht]{top:auto;bottom:var(--space-5);transform:none}.full[data-astro-cid-iue3olht]{max-height:calc(100vh - 200px)}.grid[data-astro-cid-iue3olht]{columns:2;column-gap:12px}}.star-nav[data-astro-cid-7mfhffdh]{--progress:0;--pill-bg:color-mix(in srgb, var(--sky-300) 72%, transparent)}ul[data-astro-cid-7mfhffdh]{z-index:1;margin:0;padding:0;list-style:none;position:relative}a[data-astro-cid-7mfhffdh]{width:var(--touch-target);height:var(--touch-target);color:var(--ink-muted);justify-content:center;align-items:center;display:flex;position:relative}.mark[data-astro-cid-7mfhffdh]{width:18px;height:18px;overflow:visible}.dot[data-astro-cid-7mfhffdh]{fill:currentColor;opacity:.6}.star[data-astro-cid-7mfhffdh]{fill:var(--accent);opacity:0;filter:drop-shadow(0 0 5px var(--accent));transform-origin:50%;transition:opacity .3s,transform .3s;transform:scale(.5)}a[data-astro-cid-7mfhffdh][aria-current=true] .dot[data-astro-cid-7mfhffdh]{opacity:0}a[data-astro-cid-7mfhffdh][aria-current=true] .star[data-astro-cid-7mfhffdh]{opacity:1;transform:scale(1)}a[data-astro-cid-7mfhffdh]:hover{color:var(--ink)}.line[data-astro-cid-7mfhffdh]{position:absolute}.fill[data-astro-cid-7mfhffdh]{background:var(--accent);opacity:.35;width:100%;height:100%;transition:transform .4s;display:block}.rail[data-astro-cid-7mfhffdh]{z-index:10;position:fixed;top:50%;right:12px;transform:translateY(-50%)}.rail[data-astro-cid-7mfhffdh] .line[data-astro-cid-7mfhffdh]{left:50%;top:calc(var(--touch-target) / 2);bottom:calc(var(--touch-target) / 2);width:1px}.rail[data-astro-cid-7mfhffdh] .fill[data-astro-cid-7mfhffdh]{transform-origin:top;transform:scaleY(var(--progress))}.rail[data-astro-cid-7mfhffdh] .label[data-astro-cid-7mfhffdh]{margin-right:var(--space-2);background:var(--pill-bg);backdrop-filter:blur(10px);white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:4px 10px;transition:opacity .3s;position:absolute;right:100%}.rail[data-astro-cid-7mfhffdh] a[data-astro-cid-7mfhffdh]:hover .label[data-astro-cid-7mfhffdh],.rail[data-astro-cid-7mfhffdh] a[data-astro-cid-7mfhffdh]:focus-visible .label[data-astro-cid-7mfhffdh]{opacity:1}.dock[data-astro-cid-7mfhffdh]{display:none}.dock-label[data-astro-cid-7mfhffdh]{margin:0}@media (width<=760px){.rail[data-astro-cid-7mfhffdh]{display:none}.dock[data-astro-cid-7mfhffdh]{z-index:10;box-sizing:border-box;height:calc(var(--dock-height) + env(safe-area-inset-bottom,0px));padding:0 var(--gutter) env(safe-area-inset-bottom,0px);background:var(--pill-bg);backdrop-filter:blur(12px);border-top:1px solid var(--line-hairline);visibility:hidden;flex-direction:column;justify-content:flex-end;align-items:center;transition:transform .3s,visibility 0s .3s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.dock[data-astro-cid-7mfhffdh][data-visible]{visibility:visible;transition:transform .3s;transform:none}.dock[data-astro-cid-7mfhffdh] ul[data-astro-cid-7mfhffdh]{order:2;width:100%;max-width:420px;display:flex}.dock[data-astro-cid-7mfhffdh] li[data-astro-cid-7mfhffdh]{min-width:var(--touch-target);flex:1}.dock[data-astro-cid-7mfhffdh] a[data-astro-cid-7mfhffdh]{width:100%}.dock[data-astro-cid-7mfhffdh] .label[data-astro-cid-7mfhffdh]{display:none}.dock-label[data-astro-cid-7mfhffdh]{color:var(--ink);order:1;padding-bottom:2px;line-height:1}.dock[data-astro-cid-7mfhffdh] .line[data-astro-cid-7mfhffdh]{width:calc(min(100% - 2 * var(--gutter), 420px) * (var(--count) - 1) / var(--count));height:1px;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + var(--touch-target) / 2);order:3;translate:-50%}.dock[data-astro-cid-7mfhffdh] .fill[data-astro-cid-7mfhffdh]{transform-origin:0;transform:scaleX(var(--progress))}}@media (prefers-reduced-motion:reduce){.fill[data-astro-cid-7mfhffdh],.star[data-astro-cid-7mfhffdh],.rail[data-astro-cid-7mfhffdh] .label[data-astro-cid-7mfhffdh],.dock[data-astro-cid-7mfhffdh],.dock[data-astro-cid-7mfhffdh][data-visible]{transition:none}}.card[data-astro-cid-y2vllrex]{position:relative}.frame[data-astro-cid-y2vllrex]{border-radius:var(--radius-lg);background:var(--surface-frame);box-shadow:var(--shadow-frame);transition:transform .5s,box-shadow .5s;overflow:hidden}.card[data-astro-cid-y2vllrex]:hover .frame[data-astro-cid-y2vllrex],.card[data-astro-cid-y2vllrex]:focus-within .frame[data-astro-cid-y2vllrex]{box-shadow:var(--shadow-frame-hover);transform:translateY(-6px)}.viewport[data-astro-cid-y2vllrex]{position:relative}.hover[data-astro-cid-y2vllrex]{opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.hover[data-astro-cid-y2vllrex].on{opacity:1}.hover[data-astro-cid-y2vllrex] img{width:100%;height:auto;display:block;transform:none}.hover[data-astro-cid-y2vllrex].scrolling img{transform:translateY(calc(var(--scroll-dist) * -1));transition:transform var(--scroll-dur) linear}.bar[data-astro-cid-y2vllrex]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-frame-bar);display:flex;position:relative}.card[data-astro-cid-y2vllrex][data-loading] .bar[data-astro-cid-y2vllrex]:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);background-repeat:no-repeat;background-size:40% 100%;height:2px;animation:1.1s ease-in-out infinite hover-loading;position:absolute;bottom:0;left:0;right:0}@keyframes hover-loading{0%{background-position:-40% 0}to{background-position:140% 0}}.dots[data-astro-cid-y2vllrex]{gap:6px;display:flex}.dots[data-astro-cid-y2vllrex] i[data-astro-cid-y2vllrex]{background:var(--line-hairline);border-radius:50%;width:8px;height:8px}.pill[data-astro-cid-y2vllrex]{min-width:0;padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--accent-wash);text-overflow:ellipsis;text-transform:none;white-space:nowrap;flex:1;overflow:hidden}.shot[data-astro-cid-y2vllrex]{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}.meta[data-astro-cid-y2vllrex]{margin-top:var(--space-5)}.row[data-astro-cid-y2vllrex]{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}h3[data-astro-cid-y2vllrex]{font-size:var(--fs-heading-sm);line-height:1.2}.open[data-astro-cid-y2vllrex]{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.open[data-astro-cid-y2vllrex]:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.open[data-astro-cid-y2vllrex]:focus-visible{outline:none}.open[data-astro-cid-y2vllrex]:focus-visible:after{outline:2px solid var(--accent);outline-offset:6px}.details[data-astro-cid-y2vllrex]{color:var(--accent);flex:none}.years[data-astro-cid-y2vllrex]{margin-top:var(--space-1);font-size:var(--fs-body-sm);color:var(--ink-muted)}.tech[data-astro-cid-y2vllrex]{margin-top:var(--space-3);color:var(--accent)}.mini[data-astro-cid-y2vllrex]:hover .frame[data-astro-cid-y2vllrex],.mini[data-astro-cid-y2vllrex]:focus-within .frame[data-astro-cid-y2vllrex]{transform:translateY(-4px)}.mini[data-astro-cid-y2vllrex] .bar[data-astro-cid-y2vllrex]{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.mini[data-astro-cid-y2vllrex] .dots[data-astro-cid-y2vllrex]{gap:4px}.mini[data-astro-cid-y2vllrex] .dots[data-astro-cid-y2vllrex] i[data-astro-cid-y2vllrex]{width:6px;height:6px}.mini[data-astro-cid-y2vllrex] .pill[data-astro-cid-y2vllrex]{padding:1px var(--space-2);font-size:.625rem}.mini[data-astro-cid-y2vllrex] .meta[data-astro-cid-y2vllrex]{margin-top:var(--space-4)}.mini[data-astro-cid-y2vllrex] h3[data-astro-cid-y2vllrex]{font-size:var(--fs-body)}@media (prefers-reduced-motion:reduce){.frame[data-astro-cid-y2vllrex]{transition:none}.card[data-astro-cid-y2vllrex]:hover .frame[data-astro-cid-y2vllrex],.card[data-astro-cid-y2vllrex]:focus-within .frame[data-astro-cid-y2vllrex],.mini[data-astro-cid-y2vllrex]:hover .frame[data-astro-cid-y2vllrex],.mini[data-astro-cid-y2vllrex]:focus-within .frame[data-astro-cid-y2vllrex]{transform:none}}.project[data-astro-cid-ooln6e6q]{width:100vw;max-width:none;height:100vh;max-height:none;color:var(--ink);opacity:0;transition:opacity .2s ease, display .2s allow-discrete, overlay .2s allow-discrete;background:0 0;border:0;margin:0;padding:0}.project[data-astro-cid-ooln6e6q][open]{opacity:1;place-items:center;display:grid}@starting-style{.project[data-astro-cid-ooln6e6q][open]{opacity:0}}.project[data-astro-cid-ooln6e6q]::backdrop{background:var(--scrim);opacity:0;transition:opacity .2s ease, display .2s allow-discrete, overlay .2s allow-discrete}.project[data-astro-cid-ooln6e6q][open]::backdrop{opacity:1}@starting-style{.project[data-astro-cid-ooln6e6q][open]::backdrop{opacity:0}}.panel[data-astro-cid-ooln6e6q]{gap:var(--space-8);width:min(1200px, calc(100vw - var(--space-9)));height:min(80vh,760px);padding:var(--space-8);border:1px solid var(--line-hairline);border-radius:var(--radius-xl);background:var(--surface-frame);box-shadow:var(--shadow-lightbox);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid;position:relative}.close[data-astro-cid-ooln6e6q]{top:var(--space-4);right:var(--space-4);z-index:1;width:var(--touch-target);height:var(--touch-target);border:1px solid var(--line-hairline);background:var(--surface-frame);color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.close[data-astro-cid-ooln6e6q]:hover{color:var(--accent)}.close[data-astro-cid-ooln6e6q] svg[data-astro-cid-ooln6e6q]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.frame[data-astro-cid-ooln6e6q]{border-radius:var(--radius-lg);background:var(--surface-frame-bar);min-height:0;box-shadow:var(--shadow-frame);flex-direction:column;display:flex;overflow:hidden}.bar[data-astro-cid-ooln6e6q]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-frame-bar);flex:none;display:flex}.dots[data-astro-cid-ooln6e6q]{gap:6px;display:flex}.dots[data-astro-cid-ooln6e6q] i[data-astro-cid-ooln6e6q]{background:var(--line-hairline);border-radius:50%;width:8px;height:8px}.pill[data-astro-cid-ooln6e6q]{min-width:0;padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--accent-wash);text-overflow:ellipsis;text-transform:none;white-space:nowrap;flex:1;overflow:hidden}.scroll[data-astro-cid-ooln6e6q]{background:var(--surface-frame);flex:1;min-height:0;overflow-y:auto}.shot[data-astro-cid-ooln6e6q]{width:100%;height:auto;transition:opacity .15s}.shot[data-astro-cid-ooln6e6q].fading{opacity:0}.pager[data-astro-cid-ooln6e6q]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-frame-bar);flex:none;display:flex}.step[data-astro-cid-ooln6e6q]{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.25rem;line-height:1;display:grid}.step[data-astro-cid-ooln6e6q]:hover:not(:disabled){color:var(--accent)}.step[data-astro-cid-ooln6e6q]:disabled{opacity:.35;cursor:default}.pips[data-astro-cid-ooln6e6q]{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.pip[data-astro-cid-ooln6e6q]{cursor:pointer;background:0 0;border:0;width:18px;height:24px;padding:0;position:relative}.pip[data-astro-cid-ooln6e6q]:before{content:"";background:var(--line-hairline);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;transition:background .15s;position:absolute;inset:50% auto auto 50%}.pip[data-astro-cid-ooln6e6q]:hover:before{background:var(--ink-muted)}.pip[data-astro-cid-ooln6e6q][aria-current=true]:before{background:var(--accent)}.count[data-astro-cid-ooln6e6q]{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:4.5ch}.info[data-astro-cid-ooln6e6q]{min-height:0;padding-right:var(--space-2);overflow-y:auto}h3[data-astro-cid-ooln6e6q]{padding-right:var(--space-9);font-size:var(--fs-heading-sm);line-height:1.2}.years[data-astro-cid-ooln6e6q]{margin-top:var(--space-1);font-size:var(--fs-body-sm);color:var(--ink-muted)}.tech[data-astro-cid-ooln6e6q]{margin-top:var(--space-3);color:var(--accent)}.body[data-astro-cid-ooln6e6q]{margin-top:var(--space-6);font-size:var(--fs-body-sm)}.body[data-astro-cid-ooln6e6q] h2{margin:var(--space-5) 0 var(--space-2);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:400}.body[data-astro-cid-ooln6e6q] h2:first-child{margin-top:0}.body[data-astro-cid-ooln6e6q] ul{margin:0;padding-left:1.25em}.body[data-astro-cid-ooln6e6q] li+li{margin-top:var(--space-1)}.visit[data-astro-cid-ooln6e6q]{margin-top:var(--space-6);color:var(--accent);display:inline-block}@media (width<=760px){.project[data-astro-cid-ooln6e6q][open]{display:block}.panel[data-astro-cid-ooln6e6q]{width:100%;height:100%;padding:var(--space-4);padding-top:var(--space-10);border:0;border-radius:0;display:block;overflow-y:auto}.close[data-astro-cid-ooln6e6q]{position:fixed}.frame[data-astro-cid-ooln6e6q]{height:56vh}.info[data-astro-cid-ooln6e6q]{margin-top:var(--space-6);padding:0 0 var(--space-8);overflow:visible}}@media (prefers-reduced-motion:reduce){.project[data-astro-cid-ooln6e6q],.project[data-astro-cid-ooln6e6q]::backdrop,.shot[data-astro-cid-ooln6e6q]{transition:none}}.cards[data-astro-cid-t3eiqlen]{margin-top:var(--space-9);gap:var(--space-10) var(--space-8);grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));display:grid}.minis[data-astro-cid-t3eiqlen]{margin-top:var(--space-9);gap:var(--space-8) var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=1024px){.minis[data-astro-cid-t3eiqlen]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.minis[data-astro-cid-t3eiqlen]{grid-template-columns:minmax(0,1fr)}}.starfield[data-astro-cid-dac3vbt4]{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.star[data-astro-cid-dac3vbt4]{background:var(--star);--k:1;opacity:calc(var(--o) * var(--star-visibility,1) * var(--k));border-radius:50%;transition:opacity 1.2s;position:absolute}.hero-star[data-astro-cid-dac3vbt4]{--k:var(--cloud-star,1)}.twinkle[data-astro-cid-dac3vbt4]{animation:twinkle 4.5s ease-in-out var(--d) infinite}@keyframes twinkle{0%,to{opacity:calc(.2 * var(--k))}50%{opacity:calc(.95 * var(--k))}}@media (prefers-reduced-motion:reduce){.twinkle[data-astro-cid-dac3vbt4]{animation:none!important}}:root{--sky-000:#070a17;--sky-100:#0c1130;--sky-200:#121839;--sky-300:#0b1026;--sky-400:#141a36;--horizon-back:#10163a;--horizon-front:#0b0f27;--surface-frame:#11162e;--surface-frame-bar:#141a36;--ink-strong:#eef0fa;--ink:#d8dcef;--ink-soft:#c3c8e3;--ink-body:#b4bad8;--ink-muted:#8f98bf;--hud-ink:#a3abd0;--accent:#8fb3ff;--accent-lavender:#b9a3ff;--accent-amber:#f2c38f;--signal-available:#9fe0c0;--accent-ink:var(--accent);--accent-wash:color-mix(in srgb, var(--accent) 10%, transparent);--accent-border:color-mix(in srgb, var(--accent) 50%, transparent);--chip-border:color-mix(in srgb, var(--accent) 25%, transparent);--line-constellation:color-mix(in srgb, var(--accent) 32%, transparent);--star:#e8ebff;--moon-light:#f6f7ff;--moon-mid:#d3d7ee;--moon-shadow:#a7add0;--cloud-core:#5c6a96;--cloud-alpha:.55;--cloud-edge:#5c6a9600;--sun-core:#ffd39a;--rain-color:#b0c4f08c;--snow-color:#eef2ffd9;--fog-color:var(--cloud-core);--flash-color:#d6e0ff47;--sun-opacity:0;--sun-day-opacity:0;--moon-opacity:1;--text-halo:0 1px 12px #05081880;--text-back:#0b102680;--line-hairline:#d8dcef1f;--scrim:#050710f0;--font-sans:var(--font-manrope), system-ui, sans-serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, monospace;--fs-display-xl:clamp(54px, 9vw, 132px);--fs-heading-xl:clamp(32px, 4vw, 52px);--fs-heading-md:clamp(26px, 2.6vw, 34px);--fs-heading-sm:24px;--fs-stat:40px;--fs-body-lg:clamp(17px, 1.6vw, 21px);--fs-body:18px;--fs-body-sm:15px;--fs-eyebrow:12px;--fs-hud:12px;--fs-label:11px;--fs-chip:12px;--fs-caption:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:40px;--space-9:56px;--space-10:64px;--space-11:140px;--space-12:160px;--radius-xs:2px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--shadow-frame:0 30px 60px -30px #000000d9;--shadow-frame-hover:0 40px 80px -30px #000000e6, 0 0 40px -10px color-mix(in srgb, var(--accent) 25%, transparent);--glow-moon:0 0 50px 14px #cdd6ff2e, 0 0 180px 70px #8fb3ff14;--glow-available:0 0 10px var(--signal-available);--shadow-lightbox:0 40px 120px -20px #000000e6;--container-max:1200px;--gutter:clamp(20px, 5vw, 48px);--hero-min:clamp(600px, 100svh, 900px);--timeline-sticky-top:140px;--touch-target:44px;--dock-height:0px;--section-pad:var(--space-12);color-scheme:dark}:root:is([data-theme=dawn],[data-theme=twilight]){--ink-muted:#b3b9dc;--hud-ink:#dfe2f5;--ink-soft:#e6e9f7;--ink:#eef0fa;--accent-ink:#d0defe;--star-visibility:.7;--cloud-alpha:.6}:root[data-theme=dawn]{--sky-000:#111a3a;--sky-100:#24396a;--sky-200:#3f557c;--horizon-back:#1a2a4e;--horizon-front:#101c3a;--cloud-core:#7896c4;--cloud-edge:#7896c400;--rain-color:#bed2f58c}:root[data-theme=twilight]{--sky-000:#121637;--sky-100:#262a5e;--sky-200:#4a3d72;--horizon-back:#1d2048;--horizon-front:#121536;--cloud-core:#7e76b8;--cloud-edge:#7e76b800;--rain-color:#c8c4f08c}:root:is([data-theme=sunrise],[data-theme=golden]){--text-back:#0b102699;--cloud-alpha:.6;--sun-opacity:1;--ink-soft:#f6f1fa;--ink:#f6f1fa;--accent-ink:var(--ink-strong);--ink-body:#e6dff0;--ink-muted:#d9d0e6;--hud-ink:#f6f1fa}:root[data-theme=sunrise]{--sky-000:#283262;--sky-100:#494f88;--sky-200:#7d6089;--horizon-back:#2a2c56;--horizon-front:#1a1b40;--star-visibility:.3;--cloud-core:#eeb2aa;--cloud-edge:#eeb2aa00;--sun-core:#ffe2b8;--rain-color:#ecd6e68c}:root[data-theme=golden]{--sky-000:#2a2552;--sky-100:#523f6c;--sky-200:#80506e;--horizon-back:#2d2348;--horizon-front:#1c1636;--star-visibility:.25;--cloud-core:#e0a48c;--cloud-edge:#e0a48c00;--rain-color:#f0d2c88c}:root[data-theme=day]{--text-back:#0b102666;--sky-000:#15458c;--sky-100:#2a64b0;--sky-200:#336db8;--sky-300:#10153a;--sky-400:#1a1f3d;--horizon-back:#1f4f8c;--horizon-front:#12315c;--surface-frame:#161b44;--surface-frame-bar:#1d2352;--ink-strong:#fff;--ink:#fff;--ink-soft:#fff;--ink-body:#fff;--ink-muted:#f2f7fd;--hud-ink:#fff;--star-visibility:.4;--cloud-core:#507ab8;--cloud-alpha:.8;--cloud-edge:#507ab800;--rain-color:#d6e6ff99;--flash-color:#ebf2ff38;--accent-ink:#fff;--sun-day-opacity:1;--moon-opacity:0;--text-halo:0 1px 14px #081c468c}@media (width<=760px){:root{--hero-min:clamp(560px, 100svh, 720px);--section-pad:96px;--dock-height:72px}}*,:before,:after{box-sizing:border-box}@property --sky-000{syntax:"<color>";inherits:true;initial-value:#070a17}@property --sky-100{syntax:"<color>";inherits:true;initial-value:#0c1130}@property --sky-200{syntax:"<color>";inherits:true;initial-value:#121839}@property --sky-300{syntax:"<color>";inherits:true;initial-value:#0b1026}@property --sky-400{syntax:"<color>";inherits:true;initial-value:#141a36}@property --horizon-back{syntax:"<color>";inherits:true;initial-value:#10163a}@property --horizon-front{syntax:"<color>";inherits:true;initial-value:#0b0f27}@property --cloud-core{syntax:"<color>";inherits:true;initial-value:#5c6a96}@property --cloud-edge{syntax:"<color>";inherits:true;initial-value:#5c6a9600}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;min-height:100%;transition:--sky-000 1.2s,--sky-100 1.2s,--sky-200 1.2s,--sky-300 1.2s,--sky-400 1.2s,--cloud-core 1.2s,--cloud-edge 1.2s,--horizon-back 1.2s,--horizon-front 1.2s}body{background-color:var(--sky-000);background-image:linear-gradient(to bottom, var(--sky-000) 0, var(--sky-100) calc(var(--hero-min) * .5), var(--sky-200) var(--hero-min), var(--sky-300) calc(var(--hero-min) + 240px), var(--sky-300) calc(100% - 640px), var(--sky-400) 100%);min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--dock-height) + env(safe-area-inset-bottom,0px));margin:0;line-height:1.75;position:relative}main{z-index:1;position:relative}h1,h2,h3,h4,p{margin:0}h1,h2,h3{color:var(--ink-strong);font-weight:300}img,svg{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{color:var(--ink)}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent-wash);color:var(--ink-strong)}.t-eyebrow,.t-hud,.t-label,.t-caption{font-family:var(--font-mono);text-transform:uppercase;font-weight:400}.t-eyebrow{font-size:var(--fs-eyebrow);letter-spacing:.22em;color:var(--accent);line-height:1.4}.t-hud{font-size:var(--fs-hud);letter-spacing:.14em;color:var(--hud-ink);line-height:1.9}.t-label{font-size:var(--fs-label);letter-spacing:.16em;color:var(--ink-muted);line-height:1.4}.t-caption{font-size:var(--fs-caption);letter-spacing:.16em;color:var(--ink);line-height:1.4}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html:has(dialog[open]){overflow:hidden}@keyframes reveal-in{0%{opacity:0;filter:blur(4px);transform:translateY(20px)}}[data-reveal-ready] [data-reveal]:not(.is-revealed){opacity:0}[data-reveal].is-revealed{animation:reveal-in .7s ease-out var(--reveal-delay,0s) backwards}
