@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.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}.skip{z-index:100;background:var(--action);color:var(--on-action);border-radius:0 0 var(--r-btn) 0;font-family:var(--font-mono);padding:.75rem 1.25rem;font-size:.875rem;position:absolute;top:0;left:-9999px}.skip:focus{left:0}#top-sentinel{width:1px;height:1px;position:absolute;top:0}.site-head{z-index:50;transition:background-color var(--d-enter) var(--e-out), border-color var(--d-enter) var(--e-out);background:0 0;border-bottom:1px solid #0000;position:sticky;top:0}.site-head.is-stuck,.site-head.is-open{background:color-mix(in oklch, var(--paper) 96%, transparent);border-bottom-color:var(--line-hair)}.site-head:after{content:"";pointer-events:none;background:linear-gradient(90deg, color-mix(in oklch, var(--action) 60%, transparent), color-mix(in oklch, var(--brand-500) 28%, transparent) 45%, transparent 85%);opacity:0;height:1px;transition:opacity var(--d-enter) var(--e-out);position:absolute;bottom:-1px;left:0;right:0}.site-head.is-stuck:after,.site-head.is-open:after{opacity:1}.head-inner{justify-content:space-between;align-items:center;gap:var(--s-05);padding-block:var(--s-05);display:flex}.brand{font-family:var(--font-display);font-size:var(--step-1);color:var(--content-main);letter-spacing:-.01em;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.brand-mark{width:26px;height:26px;transition:transform var(--d-enter) var(--e-out);border-radius:50%;flex:none}.brand:hover .brand-mark{transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.brand:hover .brand-mark{transform:none}}.head-nav{align-items:center;gap:var(--s-06);display:flex}.theme-toggle{border:1px solid var(--line-hair);width:44px;height:44px;color:var(--content-soft);cursor:pointer;transition:color var(--d-micro) var(--e-out), border-color var(--d-micro) var(--e-out);background:0 0;border-radius:999px;flex:none;place-items:center;padding:0;display:inline-grid}.theme-toggle:hover{color:var(--action);border-color:var(--action)}.theme-toggle svg{width:18px;height:18px}.ico-sun{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ico-sun{display:block}:root:not([data-theme=light]) .ico-moon{display:none}}:root[data-theme=dark] .ico-sun{display:block}:root[data-theme=dark] .ico-moon{display:none}.head-link{font-size:var(--step-0);color:var(--content-soft);transition:color var(--d-micro) var(--e-out);text-decoration:none;position:relative}.head-link:after{content:"";background:linear-gradient(90deg, var(--action), var(--brand-500));transform-origin:0;height:2px;transition:transform var(--d-enter) var(--e-out);border-radius:2px;position:absolute;bottom:-.4em;left:0;right:0;transform:scaleX(0)}.head-link:hover,.head-link[aria-current=page]{color:var(--content-main)}.head-link:hover:after,.head-link[aria-current=page]:after{transform:scaleX(1)}.btn-sm{min-height:44px;padding:.6rem 1.15rem;font-size:.875rem}@media (width<=63.9375rem){.head-nav .btn-sm{min-height:40px;padding:.45rem .9rem;font-size:.8125rem}}.nav-toggle{border-radius:var(--r-btn);cursor:pointer;width:44px;height:44px;color:var(--content-main);background:0 0;border:0;margin-right:-.5rem;display:none;position:relative}.nav-toggle-bar{width:20px;height:2px;transition:transform var(--d-enter) var(--e-out), top var(--d-enter) var(--e-out);background:currentColor;border-radius:2px;position:absolute;left:12px}.nav-toggle-bar:nth-child(3){top:17px}.nav-toggle-bar:nth-child(4){top:25px}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(3){top:21px;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:nth-child(4){top:21px;transform:rotate(-45deg)}.mobile-nav{border-top:1px solid var(--line-hair)}.mobile-nav-inner{padding-block:var(--s-04) var(--s-06);flex-direction:column;display:flex}.mobile-link{padding:var(--s-05) 0;font-size:var(--step-1);color:var(--content-main);border-bottom:1px solid var(--line-hair);text-decoration:none}.mobile-link:last-child{border-bottom:0}@media (width<=40rem){.head-link{display:none}.nav-toggle{display:inline-block}}@media (width>=40.01rem){.mobile-nav{display:none!important}}.site-foot{margin-top:var(--sec-generous);padding-block:var(--sec-default) calc(var(--s-09) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-hair);background:var(--surface-2)}.foot-grid{gap:var(--s-09);grid-template-columns:1fr;display:grid}@media (width>=48rem){.foot-grid{gap:var(--s-10);grid-template-columns:2fr 1fr 1fr}}.foot-line{margin-top:var(--s-05);color:var(--content-soft);max-width:34ch}.foot-contact{margin-top:var(--s-06);font-style:normal;font-size:var(--step--1);color:var(--content-soft);flex-direction:column;gap:.35rem;display:flex}.foot-contact a{color:var(--content-sub);text-underline-offset:3px;text-decoration:underline}.foot-social{align-items:center;gap:var(--s-05);margin-top:var(--s-06);display:flex}.foot-social-l{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--content-note);padding-right:var(--s-05);border-right:1px solid var(--line-hair);font-size:.6875rem}.ig{border:1px solid var(--action);width:44px;height:44px;color:var(--action);transition:background-color var(--d-micro) var(--e-out), color var(--d-micro) var(--e-out), transform var(--d-micro) var(--e-out);border-radius:999px;place-items:center;display:inline-grid}.ig:hover{background:var(--action);color:var(--paper);transform:translateY(-1px)}.ig:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.head-nav .head-ig{border-color:var(--line-hair);color:var(--content-soft)}.head-nav .head-ig:hover{border-color:var(--action);color:var(--action);background:0 0;transform:none}.mobile-ig{align-items:center;gap:.6rem;display:inline-flex}@media (width<=40rem){.head-nav .head-ig{display:none}}@media (width>=40.01rem){.mobile-ig{display:none}}.foot-col{flex-direction:column;gap:.6rem;display:flex}.foot-h{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--content-note);margin:0 0 .3rem;font-weight:500}.foot-col a{font-size:var(--step-0);color:var(--content-soft);transition:color var(--d-micro) var(--e-out);text-decoration:none}.foot-col a:hover{color:var(--action)}@media (width<=63.9375rem){.foot-col{gap:.2rem}.foot-col a{padding-block:.55rem}}.foot-fine{margin-top:var(--s-10);padding-top:var(--s-06);border-top:1px solid var(--line-hair);font-size:var(--step--1);color:var(--content-note)}@media (width<=63.9375rem){.head-inner{padding-block:.6rem}.head-inner .head-nav{gap:.6rem}.head-nav .theme-toggle{order:-1;width:40px;height:40px}.head-nav .head-ig{width:40px;height:40px}.head-nav .btn-sm,.head-inner .brand{white-space:nowrap}}@media (width<=24.9375rem){.head-inner .brand{gap:.45rem;font-size:1.1rem}.head-inner .head-nav{gap:.4rem}.head-nav .theme-toggle{width:36px;height:36px}.head-nav .theme-toggle svg{width:16px;height:16px}.head-nav .btn-sm{min-height:38px;padding:.4rem .7rem;font-size:.75rem}}.btn-primary{isolation:isolate;position:relative;overflow:hidden}.btn-primary:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(100deg,#0000,oklch(100% 0 0/.38),#0000);width:38%;position:absolute;top:0;bottom:0;left:0;transform:translate(-160%)skew(-18deg)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.btn-primary:hover:after{transition:transform .72s var(--e-out);transform:translate(360%)skew(-18deg)}}@media (width>=64rem) and (prefers-reduced-motion:no-preference){.btn-sheen:after{animation-name:sheen;animation-duration:9s;animation-iteration-count:infinite;animation-delay:2s;animation-timing-function:var(--e-out)}}@keyframes sheen{0%,76%{transform:translate(-160%)skew(-18deg)}to{transform:translate(360%)skew(-18deg)}}:root{--comet-hi:oklch(50% .18 288);--comet-fill:#fff;--comet-mid:oklch(62% .16 288);--comet-shadow:oklch(62% .16 288/.55);--sky-horizon:oklch(96.5% .02 288);--sky-glow:oklch(62% .16 288/.2);--runway-line:oklch(55% .16 288/.24);--horizon-line:oklch(55% .16 288/.3);--horizon-glow:oklch(62% .16 288/.2);--hero-ink:var(--content-main)}@media (prefers-color-scheme:dark){html:root:not([data-theme=light]){--paper:oklch(10.5% .022 288);--surface:oklch(14% .026 288);--surface-2:oklch(17% .03 288);--sky-horizon:oklch(10.5% .022 288);--runway-line:oklch(70% .14 288/.3);--horizon-line:oklch(78% .11 288/.36);--sky-glow:oklch(55% .17 288/.12);--horizon-glow:oklch(55% .17 288/.38);--hero-ink:oklch(76% .16 288);--comet-hi:#f6f3ff;--comet-fill:oklch(10.5% .022 288);--comet-mid:oklch(78% .12 288);--comet-shadow:oklch(72% .16 288/.9)}}html:root[data-theme=dark]{--paper:oklch(10.5% .022 288);--surface:oklch(14% .026 288);--surface-2:oklch(17% .03 288);--sky-horizon:oklch(10.5% .022 288);--runway-line:oklch(70% .14 288/.3);--horizon-line:oklch(78% .11 288/.36);--sky-glow:oklch(55% .17 288/.12);--horizon-glow:oklch(55% .17 288/.38);--hero-ink:oklch(76% .16 288);--comet-hi:#f6f3ff;--comet-fill:oklch(10.5% .022 288);--comet-mid:oklch(78% .12 288);--comet-shadow:oklch(72% .16 288/.9)}@media (prefers-color-scheme:dark){html:root:not([data-theme=light]) body{background-image:radial-gradient(72vw 70vh at 100% 0,oklch(30% .11 288/.55),#0000 70%),radial-gradient(56vw 56vh at 0 100%,oklch(25% .1 288/.45),#0000 70%);background-repeat:no-repeat}}html:root[data-theme=dark] body{background-image:radial-gradient(72vw 70vh at 100% 0,oklch(30% .11 288/.55),#0000 70%),radial-gradient(56vw 56vh at 0 100%,oklch(25% .1 288/.45),#0000 70%);background-repeat:no-repeat}html:root[data-theme=light] body{background-image:none}@media (hover:hover) and (pointer:fine){html,html :is(a,button,summary,label,select,.btn,[role=button]){cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M10.5 13.5 3 12l18-9-9 18-1.5-7.5Z' transform='matrix(-1 0 0 1 25 1)' fill='%231a1530' stroke='%231a1530' stroke-width='3.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cpath d='M10.5 13.5 3 12l18-9-9 18-1.5-7.5Z' transform='matrix(-1 0 0 1 25 1)' fill='none' stroke='%23f6f3ff' stroke-width='1.9' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cg transform='translate(4 4) rotate(45)'%3E%3Crect x='-3' y='23' width='6' height='6' rx='1.2' fill='%239b82f4'/%3E%3Crect x='-2.1' y='31' width='4.2' height='4.2' rx='.9' fill='%237f68d0'/%3E%3Crect x='-1.4' y='37' width='2.8' height='2.8' rx='.6' fill='%236d5ab8'/%3E%3C/g%3E%3C/svg%3E") 4 4,auto}html :is(input:not([type=checkbox],[type=radio],[type=button],[type=submit],[type=range]),textarea,[contenteditable=true]){cursor:text}html.pp-cur-on,html.pp-cur-on *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M10.5 13.5 3 12l18-9-9 18-1.5-7.5Z' transform='matrix(-1 0 0 1 25 1)' fill='%231a1530' stroke='%231a1530' stroke-width='3.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cpath d='M10.5 13.5 3 12l18-9-9 18-1.5-7.5Z' transform='matrix(-1 0 0 1 25 1)' fill='none' stroke='%23f6f3ff' stroke-width='1.9' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") 4 4,auto!important}html.pp-cur-on :is(a,button,summary,label,select,.btn,[role=button]),html.pp-cur-on :is(a,button,summary,label,select,.btn,[role=button]) *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath d='M10.5 13.5 3 12l18-9-9 18-1.5-7.5Z' transform='matrix(-1.18 0 0 1.18 29.5 1)' fill='%231a1530' stroke='%231a1530' stroke-width='3.8' stroke-linejoin='round' stroke-linecap='round'/%3E%3Cpath d='M10.5 13.5 3 12l18-9-9 18-1.5-7.5Z' transform='matrix(-1.18 0 0 1.18 29.5 1)' fill='none' stroke='%23f6f3ff' stroke-width='1.9' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") 5 5,pointer!important}html.pp-cur-on :is(input:not([type=checkbox],[type=radio],[type=button],[type=submit],[type=range]),textarea,[contenteditable=true]){cursor:text!important}.pp-cur{z-index:9999;pointer-events:none;opacity:0;transition:opacity .16s var(--e-out);position:fixed;top:0;left:0}.pp-cur.is-on{opacity:1}.pp-cur.is-txt{opacity:0}.pp-cur-seg{will-change:transform;background:var(--action);border-radius:24%;position:absolute;top:0;left:0}.pp-cur-seg:nth-child(2){opacity:.74}.pp-cur-seg:nth-child(3){opacity:.5}}
