.portfolio-cursor{z-index:90;pointer-events:none;user-select:none;width:0;height:0;transition:none;position:fixed;top:0;left:0}.portfolio-cursor[hidden],.portfolio-cursor [hidden]{display:none}.portfolio-cursor__dot,.portfolio-cursor__ring{box-sizing:border-box;pointer-events:none;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.portfolio-cursor__dot{background:var(--color-pacific,#227c96);border:1px solid #fff;width:6px;height:6px;box-shadow:0 0 0 1px #0a0e27b3}.portfolio-cursor__ring{border:1px solid var(--color-pacific,#227c96);background:0 0;width:30px;height:30px;transition:width .14s,height .14s,background-color .14s;box-shadow:0 0 0 1px #fffc,inset 0 0 0 1px #0a0e272e}.portfolio-cursor[data-mode=interactive] .portfolio-cursor__ring{background:color-mix(in srgb, var(--color-pacific,#227c96) 10%, transparent);width:44px;height:44px}.portfolio-cursor[data-mode=drag] .portfolio-cursor__ring{background:color-mix(in srgb, var(--color-pacific,#227c96) 14%, transparent);width:52px;height:52px}.portfolio-cursor__label{border:1px solid color-mix(in srgb, var(--color-pacific,#227c96) 65%, transparent);background:var(--color-base,white);color:var(--color-navy,#0a0e27);font-family:var(--font-display,sans-serif);white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:600;line-height:1.2;position:absolute;top:20px;left:20px;box-shadow:0 0 0 1px #fff9}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.portfolio-cursor-active,html.portfolio-cursor-active *{cursor:none!important}}@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.portfolio-cursor{display:none!important}}.home-prototype .prototype-project-link{font-family:var(--font-display);align-items:center;gap:.45em;font-weight:600;display:inline-flex}.home-prototype .prototype-project-link:hover,.home-prototype .prototype-project-link:focus-visible{text-underline-offset:.25em;text-decoration:underline 1px}.home-prototype [data-header-dropdown][data-prototype-nav]>a{font-family:var(--font-display);align-items:center;gap:.45em;font-weight:600;display:flex}.home-prototype .prototype-main{--prototype-gutter:max(1.5rem, calc((100vw - 72rem) / 2));--prototype-rule:color-mix(in srgb, var(--color-navy) 20%, transparent);z-index:10;isolation:isolate;background:var(--color-base);padding:0 var(--prototype-gutter) 1.5rem;position:relative;overflow:clip}.home-prototype .prototype-main:before{content:"";z-index:-2;pointer-events:none;filter:invert();mix-blend-mode:multiply;opacity:.36;background:url(/_astro/portfolio-ink-soft.CDeMMufy.webp) top/1024px;position:absolute;inset:0}.home-prototype .prototype-main .text-pacific{color:#186477}.dark .home-prototype .prototype-main .text-pacific{color:var(--color-pacific)}.dark .home-prototype .prototype-main:before{filter:none;mix-blend-mode:screen;opacity:.3}.home-prototype .prototype-about{padding-block:clamp(5.5rem,9vw,8rem) 4rem;position:relative}.home-prototype .prototype-about>section{max-width:min(62%,39rem);margin-inline:0}.home-prototype .prototype-about h2{max-width:18ch}.home-prototype .prototype-skills{border-top:1px solid var(--prototype-rule);padding-top:2.5rem;position:relative}.home-prototype .prototype-experience{border-top:1px solid var(--prototype-rule);padding-block:2.5rem 4rem;position:relative}.home-prototype .prototype-experience-title{font-family:var(--font-display);color:var(--color-navy);margin-top:1.25rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.2}.home-prototype .prototype-experience-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 4rem;margin-top:2rem;padding:0;list-style:none;display:grid}.home-prototype .prototype-experience-period{color:var(--color-ink);font-size:.75rem;font-weight:500}.home-prototype .prototype-experience-roles h3{font-family:var(--font-display);color:var(--color-navy);margin-top:.5rem;font-size:1.25rem;font-weight:600;line-height:1.3}.home-prototype .prototype-experience-detail{color:var(--color-ink);margin-top:.5rem;font-size:.9375rem;line-height:1.5}.home-prototype .prototype-section-heading{display:block}.home-prototype .prototype-skills-title{font-family:var(--font-display);color:var(--color-navy);margin-top:1.25rem;font-size:clamp(1.875rem,3vw,2.25rem);font-weight:700;line-height:1.2}.home-prototype .prototype-skills-groups{border-top:1px solid var(--prototype-rule);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2.5rem;display:grid}.home-prototype .prototype-skill-group{--skill-accent:var(--color-lavender);border-bottom:1px solid var(--prototype-rule);grid-template-columns:minmax(0,1fr) clamp(6rem,10vw,9rem);align-items:start;column-gap:1rem;min-height:15rem;padding:2rem 2.5rem 2rem 0;display:grid;position:relative}.home-prototype .prototype-skill-group:nth-child(2n){border-left:1px solid var(--prototype-rule);padding-left:2.5rem;padding-right:0}.home-prototype .prototype-skill-group[data-skill-group="1"]{--skill-accent:var(--color-sky-blue)}.home-prototype .prototype-skill-group[data-skill-group="2"]{--skill-accent:var(--color-soft-blossom)}.home-prototype .prototype-skill-group[data-skill-group="3"]{--skill-accent:var(--color-powder-blue)}.home-prototype .prototype-skill-group h3{color:var(--color-navy);font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.3}.home-prototype .prototype-skill-group ul{color:var(--color-ink);gap:.2rem;margin-top:1rem;padding:0;font-size:.9375rem;line-height:1.5;list-style:none;display:grid}.home-prototype .prototype-skill-diagram{width:100%;height:auto;color:var(--color-navy);opacity:.8;align-self:center;transition:opacity .2s}.home-prototype .prototype-skill-group:hover .prototype-skill-diagram{opacity:1}.home-prototype .prototype-contact{--contact-font-size:clamp(1rem, 2.5vw, 2rem);padding:3.5rem 0}.home-prototype .prototype-contact-heading{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.home-prototype .prototype-contact-links{min-width:0;font-family:var(--font-display);font-size:var(--contact-font-size);color:var(--color-navy);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem 2rem;font-weight:600;line-height:1.35;display:grid}.home-prototype .prototype-email{align-items:center;gap:.75rem;width:fit-content;max-width:100%;min-height:44px;display:flex}.home-prototype .prototype-email>span:first-child{background-image:linear-gradient(var(--color-sky-blue), var(--color-sky-blue));background-position:0 100%;background-repeat:no-repeat;background-size:0% .15em;transition:background-size .2s}.home-prototype .prototype-contact-arrow{transition:transform .2s}.home-prototype .prototype-email:hover>span:first-child,.home-prototype .prototype-email:focus-visible>span:first-child{background-size:100% .15em}.home-prototype .prototype-email:hover .prototype-contact-arrow,.home-prototype .prototype-email:focus-visible .prototype-contact-arrow,.home-prototype .prototype-socials a:hover .prototype-contact-arrow,.home-prototype .prototype-socials a:focus-visible .prototype-contact-arrow{transform:translate(4px,-4px)}.home-prototype .prototype-socials{gap:.5rem;display:grid}.home-prototype .prototype-socials a{justify-content:space-between;align-items:center;gap:1.5rem;min-height:44px;display:flex}.home-prototype .prototype-socials a:hover{color:var(--color-pacific)}.home-prototype .prototype-signature{font-family:var(--font-display);letter-spacing:-.065em;color:var(--color-navy);user-select:none;padding:.5rem 0 2rem;font-size:clamp(3.75rem,14.6vw,11.5rem);font-weight:700;line-height:1}.home-prototype .prototype-signature-defs{position:absolute}.home-prototype .prototype-signature-text{filter:url(#prototype-wordmark-outline);opacity:.28;display:inline-block}.home-prototype .prototype-footer{border-top:1px solid var(--prototype-rule);color:var(--color-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;font-size:.75rem;display:flex}.home-prototype .prototype-footer a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}@media (width<=900px){.home-prototype .prototype-skill-group{grid-template-columns:minmax(0,1fr) 6rem;padding-right:1.5rem}.home-prototype .prototype-skill-group:nth-child(2n){padding-left:1.5rem}}@media (width<=720px){.home-prototype .prototype-about{padding-block:5.5rem 3rem}.home-prototype .prototype-about>section{max-width:100%}.home-prototype .prototype-about h2{max-width:none}.home-prototype .prototype-experience{padding-bottom:3rem}.home-prototype .prototype-experience-roles{grid-template-columns:1fr}.home-prototype .prototype-skill-group{grid-template-columns:minmax(0,1fr) 7rem;min-height:13rem;padding:1.75rem 0}.home-prototype .prototype-skill-group:nth-child(2n){border-left:0;padding-left:0}.home-prototype .prototype-skills-groups{grid-template-columns:1fr}}@media (width<=639px){.home-prototype .prototype-main{--prototype-gutter:1.25rem}.home-prototype .prototype-contact{padding-block:2.5rem}.home-prototype .prototype-email{gap:.5rem}.home-prototype .prototype-contact-links{column-gap:1rem}.home-prototype .prototype-socials a{gap:.5rem}}@media (width<=374px){.home-prototype .prototype-signature{font-size:min(3.75rem,17.5vw)}.home-prototype .prototype-contact{--contact-font-size:.875rem}.home-prototype .prototype-skill-group{grid-template-columns:minmax(0,1fr) 5rem}}@media (prefers-reduced-motion:reduce){.home-prototype .prototype-contact-arrow,.home-prototype .prototype-skill-diagram,.home-prototype .prototype-email>span:first-child{transition:none}}.home-prototype .home-prompt{color:#186477;font:500 .875rem/1.4 ui-monospace,SF Mono,Menlo,Consolas,monospace}.dark .home-prototype .home-prompt{color:var(--color-pacific)}.home-prototype .home-section-title{font-family:var(--font-display);color:var(--color-navy);margin-top:.85rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;line-height:1.2}.home-prototype .home-exhibits{--evidence-yellow:#f2c230;border-top:1px solid var(--prototype-rule);padding-block:2.5rem 4.5rem;position:relative}.home-prototype .home-exhibit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem);margin-top:2.5rem;display:grid}.home-prototype .home-exhibit{align-content:start;gap:1.5rem;display:grid}.home-prototype .home-exhibit-plate{aspect-ratio:5/4;isolation:isolate;background:radial-gradient(at 50% 45%,#121a42 0%,#080c22 70%),#080c22;border-radius:6px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff12,0 24px 40px -28px #0a0e27b3}.home-prototype .home-exhibit-plate:before{content:"";z-index:-1;mix-blend-mode:screen;opacity:.35;background:url(/_astro/portfolio-ink-soft.CDeMMufy.webp) 50%/560px;position:absolute;inset:0}.home-prototype .home-exhibit-plate:focus-visible{outline:2px solid var(--evidence-yellow);outline-offset:4px}.home-prototype .home-exhibit-globe{width:auto;height:88%}.home-prototype .home-live-print-id{z-index:2;font:600 .875rem var(--font-display);color:#fff;gap:.15rem;display:grid;position:absolute;top:.9rem;left:1rem}.home-prototype .home-live-print-id code{color:var(--evidence-yellow);margin-left:.3em;font:500 .8125rem ui-monospace,SF Mono,Menlo,monospace}.home-prototype .home-live-print-id small{font:400 .75rem var(--font-sans);color:#ffffffbf}.home-prototype .home-exhibit-marker{z-index:2;filter:drop-shadow(0 6px 6px #00000073);width:3rem;height:auto;position:absolute;bottom:1rem;left:1.1rem}.home-prototype .tent-face{fill:var(--evidence-yellow)}.home-prototype .tent-side{fill:#b48c12}.home-prototype .home-exhibit-marker text{font:800 19px var(--font-display);text-anchor:middle;fill:#0a0e27}.home-prototype .home-exhibit-copy h3{font-family:var(--font-display);color:var(--color-navy);font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;line-height:1.25}.home-prototype .home-exhibit-copy>p:first-of-type{max-width:34rem;color:var(--color-ink);margin-top:.6rem;font-size:1rem;line-height:1.6}.home-prototype .home-exhibit-link,.home-prototype .home-skill-seen{min-height:44px;font-family:var(--font-display);color:var(--color-navy);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-navy) 30%, transparent);text-underline-offset:.3em;align-items:center;margin-top:.5rem;font-weight:600;text-decoration-thickness:1px;display:inline-flex}.home-prototype .home-exhibit-link:hover,.home-prototype .home-exhibit-link:focus-visible,.home-prototype .home-skill-seen:hover,.home-prototype .home-skill-seen:focus-visible{text-decoration-color:var(--evidence-yellow,#f2c230);text-decoration-thickness:2px}.home-prototype .home-skill-seen{min-height:2.5rem;margin-top:.6rem;font-size:.875rem}.home-prototype .home-exhibit-credit{color:color-mix(in srgb, var(--color-ink) 75%, transparent);margin-top:.25rem;font-size:.75rem}.home-prototype .home-exhibit-credit a{text-underline-offset:2px;text-decoration:underline}@media (width<=820px){.home-prototype .home-exhibit-grid{grid-template-columns:1fr;gap:3rem}}.home-prototype .prototype-main:after{--dusk:#050614;content:"";z-index:-2;pointer-events:none;background:linear-gradient(var(--dusk) 0%, color-mix(in srgb, var(--dusk) 84%, transparent) 12%, color-mix(in srgb, var(--dusk) 62%, transparent) 26%, color-mix(in srgb, var(--dusk) 40%, transparent) 42%, color-mix(in srgb, var(--dusk) 21%, transparent) 60%, color-mix(in srgb, var(--dusk) 8%, transparent) 78%, transparent 100%);height:clamp(9rem,16vw,14rem);position:absolute;inset:0 0 auto}.home-prototype .prototype-science-background{z-index:-1;pointer-events:none;color:var(--color-navy);position:absolute;inset:0}.home-prototype .prototype-atom{opacity:.07;width:clamp(24rem,37vw,34rem);position:absolute;top:7rem;right:-7rem;transform:rotate(-22deg)}.home-prototype .prototype-atom svg,.home-prototype .prototype-space-motif svg{width:100%;height:auto;display:block}.home-prototype .prototype-space-motif{opacity:.1;position:absolute}.home-prototype .prototype-starfield{opacity:.2;position:absolute;inset:0}.home-prototype .prototype-star{left:var(--star-x);top:var(--star-y);width:var(--star-size);height:var(--star-size);position:absolute}.home-prototype .prototype-star svg{width:100%;height:100%;display:block}.home-prototype .prototype-space-motif--crescent{opacity:.12;width:10rem;top:2.5rem;right:22%;transform:rotate(12deg)}.home-prototype .prototype-space-motif--cookie{opacity:.12;width:12rem;top:9%;left:-2.5rem;transform:rotate(-8deg)}.home-prototype .prototype-space-motif--lock{width:15rem;top:20%;right:-4rem;transform:rotate(10deg)}.home-prototype .prototype-space-motif--probe{width:16rem;top:27%;left:-3rem;transform:rotate(18deg)}.home-prototype .prototype-space-motif--planet{opacity:.12;width:28rem;top:38%;left:-8.5rem;transform:rotate(-18deg);mask-image:linear-gradient(90deg,#000 35%,#0000 95%)}.home-prototype .prototype-space-motif--gas-planet{opacity:.12;width:17rem;top:41%;right:-5rem;transform:rotate(-16deg)}.home-prototype .prototype-space-motif--vault{opacity:.09;width:14rem;top:53%;left:-3.5rem;transform:rotate(-6deg)}.home-prototype .prototype-space-motif--satellite{width:23rem;top:66%;right:-6rem;transform:rotate(14deg);mask-image:linear-gradient(270deg,#000 25%,#0000 98%)}.home-prototype .prototype-space-motif--key{opacity:.11;width:16rem;top:77%;left:1%}.home-prototype .prototype-space-motif--outpost{opacity:.07;width:29rem;bottom:6rem;right:1.5rem}@media (width<=720px){.home-prototype .prototype-atom{opacity:.05;width:26rem;top:8rem;right:-14rem}.home-prototype .prototype-space-motif{opacity:.06}.home-prototype .prototype-space-motif--crescent{width:7rem;top:1.5rem;right:1rem}.home-prototype .prototype-space-motif--probe{display:none}.home-prototype .prototype-space-motif--cookie{width:9.5rem;left:-4.5rem}.home-prototype .prototype-space-motif--lock{width:12rem;right:-6rem}.home-prototype .prototype-space-motif--planet{width:25rem;top:40%;left:-14rem}.home-prototype .prototype-space-motif--gas-planet{width:16rem;top:47%;right:-8rem}.home-prototype .prototype-space-motif--vault{width:11rem;left:-6rem}.home-prototype .prototype-space-motif--satellite{width:20rem;top:73%;right:-9rem}.home-prototype .prototype-space-motif--key{width:13rem;left:-5rem}.home-prototype .prototype-space-motif--outpost{opacity:.045;width:22rem;bottom:8rem;right:-4rem}.home-prototype .prototype-starfield{opacity:.14}}.home-prototype .home-globe-live{grid-template:100%/100%;place-items:center;display:grid;position:absolute;inset:0}.home-prototype .home-globe-static,.home-prototype .home-globe-canvas{aspect-ratio:1;grid-area:1/1;height:88%}.home-prototype .home-globe-static{place-items:center;display:grid}.home-prototype .home-globe-static .home-exhibit-globe{height:100%}.home-prototype .home-globe-canvas{cursor:pointer;touch-action:pan-y;opacity:0;border-radius:50%;width:auto;max-width:100%}.home-prototype .home-globe-canvas:active{cursor:grabbing}.home-prototype .home-globe-canvas:focus-visible{outline:2px solid var(--evidence-yellow);outline-offset:4px}.home-prototype .home-globe-live[data-ready] .home-globe-canvas{opacity:1}.home-prototype .home-globe-live[data-ready] .home-globe-static{visibility:hidden}
